Blinking Cubes: Polygon-Based Scene Reconstruction

Binary Occupancy Volume

The algorithm maintains a binary occupancy volume that represents the current estimation of object shape. Each voxel in this space can be tested to determine if the object can be better represented with this region in space filled or vacant. The order for visiting this binary space can be the same as the original voxel-coloring algorithm or more sophisticated methods such as stochastic sampling can be employed.


Surface Tessellation

A surface tessellation of the binary occupancy volume is computed via the Marching Cubes algorithm. The resultant set of polygons are projected to each image (using the occlusion information available via the current model) and colored with the average color sampled in all images. As an unexplored alternative, polygons could be assigned associated texture maps for higher detail.


Differential Geometry

Testing a particular voxel in the binary occupancy volume implies an addition (and/or deletion) of new geometry. This differential geometry itself is projected to each source image, using the current model to provide accurate occlusion information. A simple measurement can be made to determine if the additional (or subtracted) geometry leads to an improved representation of the scene relative to the images captured of the scene. This information is used to accept or reject changes to the binary occupancy volume. Shown below are two images of a surface tessellation of the binary volume diagramed below left. Note the differential geometry has been highlighted.


Layered Depth Image

Note that a single evaluation of a voxel involves rendering the entire representation of the scene with and without the current voxel being tested. This is due to the fact that the occlusion information given by the current representation of the scene must be incorporated to determine which image pixels "see" the differential geometry. We can avoid a brute force implementation of this using a layered depth image per source image [Gortler, He, Cohen 97]. As shown in the accompanying figure this representation maintains depth and polygon ID information at each pixel, even for polygons that are not visible. In this manner, we need only update the layered depth image with the differential geometry being evaluated in each step.


Blinking Cube Results

Reconstruction from images supplied by Steve Seitz.

Back to top.