Reconstructing three-dimensional models from line drawings
Authors: Bruce Gooch
Venue:  (2007)

Constructing 3D objects from 2D images has been an active research area for decades. Given captured 2D information from various devices, different techniques were developed to assign 3D positions to the target object. However, methods for reconstructing a 3D model from a single 2D image remain largely manual and labor-intensive. Considering the capability of the human visual system to interpret 3D model structure based on a single 2D drawing, the algorithms for reconstructing a 3D model from a single 2D line drawing have significant room for improvement in the context of enhancing the level of automation. This thesis presents a semi-automatic framework for the construction of curved and polygonal 3D models from 2D line drawings. By combining a novel line detection algorithm with a plane hinging approach, I only require the user to annotate the source image with a drawn cube for calibrating the camera. The completely automatic 3D modeling process has five general steps: (1) camera calibration for arbitrary camera settings in the drawing, (2) line detection for noisy input in the scanned image, (3) line labeling to calculate polygon adjacencies, (4) incremental reconstruction using local hinging-angle optimization, and (5) model refinement using global optimization. I also show techniques for handling non-adjacent polygons, constructing curved surfaces, and modeling via sketch-based interface. The success of my system depends on two distinguishing features. One is polygon-based application of various perceptual constraints. In order to find the 3D model, I examine the applicability of various perceptual constraints to each polygon area in the drawing. The polygon for which various constraints agree well on a single 3D plane has a higher priority of being constructed first in 3D space. The key difference between my approach and previous vertex-based methods is that I consider polygons as the basic geometric entity for reconstruction, which drastically simplifies the cost function for minimization and achieves more robust application of perceptual constraints. The other feature of my system is a two-staged optimization algorithm; an incremental local hinging-angle step followed by a global optimization step. In the local hinging-angle optimization step, I grow a set of constructed polygons by hinging an adjacent polygon along an edge shared with a polygon in the constructed 3D model. Given a set of multiple polygons adjacent to the current 3D model, I use new criteria to determine the best next polygon based on perceptual constraints, which eventually completes the entire construction sequence. In the global optimization step, the system refines the 3D model by adjusting all polygons simultaneously. Because I use the incremental step, I gain more control over the reconstruction process, and overcome the scalability issue of previous approaches which are based on single-step optimization. Also, I achieve faster simulation because I use a single parameter per polygon, which drastically reduces the dimensionality of the optimization problem space, and because many polygons are constructed without computational cost based on more than one neighboring 3D polygons. Lastly, I present an algorithm for handling curved surfaces. The resulting polyhedral model from two-staged optimization provides boundary 3D locations to the curved model. I construct a grid texture on the target curved surface and apply two conditions to find 3D positions at grid points: each cell in the grid should be a parallelogram, and adjacent cells should have similar lengths and directions. For future work, I suggest a line detection algorithm for textured/photo images, and a polyhedral-based approach for completing hidden geometry.