Recent years have witnessed a rise in the availability of fast, accurate range scanners. These range scanners have provided data for applications such as medicine, reverse engineering, and digital film-making. Many of these devices generate range images; i.e., they produce depth values on a regular sampling lattice. Figure 1 illustrates how an optical triangulation scanner can be used to acquire a range image. By connecting nearest neighbors with triangular elements, one can construct a range surface as shown in Figure 1d. Range images are typically formed by sweeping a 1D or 2D sensor linearly across an object or circularly around it, and generally do not contain enough information to reconstruct the entire object being scanned. Accordingly, we require algorithms that can merge multiple range images into a single description of the surface. A set of desirable properties for such a surface reconstruction algorithm includes:
Utilization of all range data, including redundant observations of each object surface. If properly used, this redundancy can reduce sensor noise.
Incremental and order independent updating. Incremental updates allow us to obtain a reconstruction after each scan or small set of scans and allow us to choose the next best orientation for scanning. Order independence is desirable to ensure that results are not biased by earlier scans. Together, they allow for straightforward parallelization.
Time and space efficiency. Complex objects may require many range images in order to build a detailed model. The range images and the model must be represented efficiently and processed quickly to make the algorithm practical.
Robustness. Outliers and systematic range distortions can create challenging situations for reconstruction algorithms. A robust algorithm needs to handle these situations without catastrophic failures such as holes in surfaces and self-intersecting surfaces.
No restrictions on topological type. The algorithm should not assume that the object is of a particular genus. Simplifying assumptions such as ``the object is homeomorphic to a sphere'' yield useful results in only a restricted class of problems.
Ability to fill holes in the reconstruction. Given a set of range images that do not completely cover the object, the surface reconstruction will necessarily be incomplete. For some objects, no amount of scanning would completely cover the object, because some surfaces may be inaccessible to the sensor. In these cases, we desire an algorithm that can automatically fill these holes with plausible surfaces, yielding a model that is both ``watertight'' and esthetically pleasing.
In this paper, we present a volumetric method for integrating range images that possesses all of these properties. In the next section, we review some previous work in the area of surface reconstruction. In section 3, we describe the core of our volumetric algorithm. In section 4, we show how this algorithm can be used to fill gaps in the reconstruction using knowledge about the emptiness of space. Next, in section 5, we describe how we implemented our volumetric approach so as to keep time and space costs reasonable. In section 6, we show the results of surface reconstruction from many range images of complex objects. Finally, in section 7 we conclude and discuss limitations and future directions.
Figure 1:
From optical triangulation to a range surface. (a) In 2D, a narrow
laser beam illuminates a surface, and a linear sensor images the
reflection from an object. The center of the image pulse maps to the
center of the laser, yielding a range value. The uncertainty,
, in determining the center of the pulse results in range
uncertainty, along the laser's line of sight. When using
the spacetime analysis for optical triangulation
[6], the uncertainties run along
the lines of sight of the CCD. (b) In 3D, a laser stripe triangulation
scanner first spreads the laser beam into a sheet of light with a
cylindrical lens. The CCD observes the reflected stripe from which a
depth profile is computed. The object sweeps through the field of
view, yielding a range image. Other scanner configurations rotate the
object to obtain a cylindrical scan or sweep a laser beam or stripe
over a stationary object. (c) A range image obtained from the scanner
in (b) is a collection of points with regular spacing. (d) By
connecting nearest neighbors with triangles, we create a piecewise
linear range surface.