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 and Benes, Bedric, and Bousseau, Adrien},
	title = {Interactive Sketching of Urban Procedural Models},
	journal = {ACM Trans. Graph.},
	year = {2016},
	publisher = {ACM},
	address = {New York, NY, USA},
	keywords = {Displays, deconvolution, high contrast, image correction, sharpness, total variation}