Interactive Sketching of Urban Procedural Models

Gen Nishida1    Ignacio Garcia-Dorado1    Daniel G. Aliaga1    Bedrich Benes1    Adrien Bousseau2

1Purdue University   2Inria

ACM Transactions on Graphics (SIGGRAPH) 2016

Teaser image


3D modeling remains a notoriously difficult task for novices de- spite significant research effort to provide intuitive and automated systems. We tackle this problem by combining the strengths of two popular domains: sketch-based modeling and procedural model- ing. On the one hand, sketch-based modeling exploits our ability to draw but requires detailed, unambiguous drawings to achieve com- plex models. On the otherhand, procedural modeling automates the creation of precise and detailed geometry but requires the tedious definition and parameterization of procedural models. Our system uses a collection of simple procedural grammars, called snippets, as building blocks to turn sketches into realistic 3D models. We use a machine learning approach to solve the inverse problem of finding the procedural model that best explains a user sketch. We use non- photorealistic rendering to generate artificial data for training con- volutional neural networks capable of quickly recognizing the pro- cedural rule intended by a sketch and estimating its parameters. We integrate our algorithm in a coarse-to-fine urban modeling system that allows users to create rich buildings by successively sketch- ing the building mass, roof, facades, windows, and ornaments. A user study shows that by using our approach non-expert users can generate complex buildings in just a few minutes.

PDF Video

Images & Video


Gen Nishida, Ignacio Garcia-Dorado, Daniel Aliaga, Bedrich Benes, and Adrien Bousseau. 2016. Interactive Sketching of Urban Procedural Models. ACM Trans. Graph., 11 pages.

 author = {Nishida, Gen and Garcia-Dorado, Ignacio and Aliaga, Daniel G. and Benes, Bedrich and Bousseau, Adrien},
 title = {Interactive Sketching of Urban Procedural Models},
 journal = {ACM Trans. Graph.},
 issue_date = {July 2016},
 volume = {35},
 number = {4},
 month = jul,
 year = {2016},
 issn = {0730-0301},
 pages = {130:1--130:11},
 articleno = {130},
 numpages = {11},
 url = {},
 doi = {10.1145/2897824.2925951},
 acmid = {2925951},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {inverse procedural modeling, machine learning, sketching},