Ph.D. Dissertation, Stanford University
The digitization of the 3D shape of real objects is a rapidly expanding field, with applications in entertainment, design, and manufacturing. In order for 3D scanning to become more commonplace, methods are needed for quickly and robustly acquiring full geometric models of complex objects. This dissertation describes a scanning system that allows a user to rotate an object by hand and see a continuously-updated model as the object is scanned. This allows the user to see and fill holes in the model, and determine when the object has been completely covered.
The system consists of three components. First, it incorporates a new design for a structured-light range scanner capable of returning the shape of a moving object, as seen from one viewpoint, at a rate of 60 Hz. Next, the range images returned by this scanner are continuously aligned to each other using a variant of the Iterated Closest Points (ICP) algorithm. An analysis of the stages of the ICP pipeline suggests that a combination of variants, including projection-based matching and point-to-plane minimization, is suitable for real-time use. Finally, the aligned range data is merged into a discretized voxel grid, and point (splat) rendering is used to provide a real-time display of the partial 3D model.
Given the increasing capabilities of range scanning systems such as the above, traditional algorithms for display, simplification, and progressive transmission of meshes are too slow to be practical. QSplat is a multiresolution point rendering system capable of displaying scanned meshes containing hundreds of millions of range samples at interactive rates. It uses a single bounding sphere data structure for view frustum culling, backface culling, level-of-detail control, and splat rendering. The system may also be extended to progressive view-dependent transmission of large 3D models across a network of limited bandwidth.
Full thesis as PDF, 12539216 bytes.
Defense slides, as PPT.
A video clip demonstrating the real-time range scanner is here.