This is an example code for the paper "Intuitive and Efficient Roof Modeling for Reconstruction and Synthesis", by Jing Ren, Biao Zhang, Bojian Wu, Jianqiang Huang, Lubin Fan, Maks Ovsjanikov, and Peter Wonka.
In this project, we propose a novel and flexible roof modeling approach that can be used for constructing planar 3D polygon roof meshes. Our method uses a graph structure to encode roof topology and enforces the roof validity by optimizing a simple planarity metric we propose. We showcase two applications: (1) an interactive roof editing framework that can be used for roof design or roof reconstruction from aerial images. (2) a generative model to synthesize new roof meshes from scratch.
You can find more details at: [paper] | [suppl. video] | [slides] | [presentation video]
-
UIs for Image Annotation: We provide two web-based UIs, which can be used for specifying roof topology in the uploaded images/drawings.
-
Roof Optimization: From the input (or automatically generated) roof graph, we optimize for a valid 3D embedding of the roof such that each 3D roof face is planar. In this step we can also incorporate different regularizers or aesthetic constraints into the optimization formulation.
-
Roof Dataset: We created a building-image paired dataset that contains more than 3K samples using our roof modeling tools.
-
Application 01 - Roof Interactive Editing: Our optimization-based roof modeling formulation is compatible with different edits, including moving edges/vertices, snapping an edge, merging faces etc.
-
Application 02 - Roof Synthesis from Scratch: We also propose a generative model for roof synthesis from scratch.
- The authors thank the anonymous reviewers for their valuable comments.
- Parts of this work were supported by the KAUST OSR Award No. CRG-2017-3426, the ERC Starting Grant No. 758800 (EXPROTEA), the ANR AI Chair AIGRETTE, and Alibaba Innovative Research (AIR) Program.
- We would like to thank Guangfan Pan and Jiacheng Ren for helping modeling roofs in 3ds Max and SketchUp, Jialin Zhu for helping designing the web-based roof annotation UIs, Jianhua Guo and Tom Kelly for helping with the comparison to the weighted straight skeleton. We thank Muxingzi Li for helping editing the supplementary video. We also thank Chuyi Qiu, Tianyu He, and Ran Yi for their valuable suggestions and comments.
- Please let us know (jing.ren@kaust.edu.sa, biao.zhang@kaust.edu.sa) if you have any question regarding the algorithms/paper or you find any bugs in the code ԅ(¯﹃¯ԅ)
- This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. For any commercial uses or derivatives, please contact us (jing.ren@kaust.edu.sa, peter.wonka@kaust.edu.sa, maks@lix.polytechnique.fr).