Learning to Infer and Execute 3D Shape Programs

Yonglong Tian   Andrew Luo   Xingyuan Sun   Kevin Ellis   William T. Freeman   Joshua B. Tenenbaum   Jiajun Wu



Figure 1: A 3D shape can be represented by a program via a program generator. This program can beexecuted by a neural program executor to produce the corresponding 3D shape.


Human perception of 3D shapes goes beyond reconstructing them as a set of points or a composition of geometric primitives: we also effortlessly understand higher-level shape structure such as the repetition and reflective symmetry of object parts. In contrast, recent advances in 3D shape sensing focus more on low-level geometry but less on these higher-level relationships. In this paper, we propose 3D shape programs, integrating bottom-up recognition systems with top-down, symbolic program structure to capture both low-level geometry and high-level structural priors for 3D shapes. Because there are no annotations of shape programs for real shapes, we develop neural modules that not only learn to infer 3D shape programs from raw, unannotated shapes, but also to execute these programs for shape reconstruction. After initial bootstrapping, our end-to-end differentiable model learns 3D shape programs by reconstructing shapes in a self-supervised manner. Experiments demonstrate that our model accurately infers and executes 3D shape programs for highly complex shapes from various categories. It can also be integrated with an image-to-shape module to infer 3D shape programs directly from an RGB image, leading to 3D shape reconstructions that are both more accurate and more physically plausible.




Figure 2: Induced programs and visualization of reconstruction, with or without guided adaptation


Figure 3: Model trained on Chairs and Tables, can be unsupervisedly adapted to novel furniture classes

Related Publications