A popular way to create detailed yet easily controllable 3D shapes is via procedural modeling, i.e. generating geometry using programs. Such programs consist of a series of instructions along with their associated parameter values. To fully realize the benefits of this representation, a shape program should be compact and only expose degrees of freedom that allow for meaningful manipulation of output geometry. One way to achieve this goal is to design higher-level macro operators that, when executed, expand into a series of commands from the base shape modeling language. However, manually authoring such macros, much like shape programs themselves, is difficult and largely restricted to domain experts. In this paper, we present ShapeMOD, an algorithm for automatically discovering macros that are useful across large datasets of 3D shape programs. ShapeMOD operates on shape programs expressed in an imperative, statement-based language. It is designed to discover macros that make programs more compact by minimizing the number of function calls and free parameters required to represent an input shape collection. We run ShapeMOD on multiple collections of programs expressed in a domain-specific language for 3D shape structures. We show that it automatically discovers a concise set of macros that abstract out common structural and parametric patterns that generalize over large shape collections. We also demonstrate that the macros found by ShapeMOD improve performance on downstream tasks including shape generative modeling and inferring programs from point clouds. Finally, we conduct a user study that indicates that ShapeMOD's discovered macros make interactive shape editing more efficient.
翻译:创建详细且易于控制的 3D 形状的流行方式是通过程序建模, 即利用程序生成几何测量。 这种程序由一系列指令及其相关参数值组成。 要完全实现这个表达式的好处, 形状程序应该是紧凑的, 只能暴露自由度, 以便有意义地操纵输出的几何。 实现这一目标的方法之一是设计高层次的宏观操作员, 当执行时, 扩展成一系列来自基本形状模型语言的指令。 但是, 手动生成这些交互式宏( 类似于程序本身的形状) 难度很大, 并且主要局限于域内专家。 在本文中, 我们展示了“ 形状” 的形状, 一个用于自动发现3D 形状大数据集中有用的宏的算法。 形状程序运行在以绝对性、 语制语言表达的形状上, 设计高层次的宏观操作员, 目的是通过最小化的功能调和自由的模型来让程序更加紧凑。 我们运行着“ 形状” 显示一个以域内语言显示3D 形状结构结构结构结构结构结构结构结构结构的多集。 我们显示它通过大型的模型的模型分析过程, 显示, 也通过大型的模型分析过程显示一个比一般的模型的模型的模型的模型化过程更精确化过程, 。