System and method for constructing a 3D model of an object based on a
series of silhouette and texture map images. In the exemplary embodiment
an object is placed on a rotating turntable and a camera, which is
stationary, captures images of the object as it rotates on the turntable.
In one pass, the system captures a number of photographic images that
will be processed into image silhouettes. In a second pass, the system
gathers texture data. After a calibration procedure (used to determine
the camera's focal length and the turntable's axis of rotation), a
silhouette processing module determines a set of two-dimensional polygon
shapes (silhouette contour polygons) that describe the contours of the
object. The system uses the silhouette contour polygons to create a 3D
polygonal mesh model of the object. The system determines the shape of
the 3D model analytically-by finding the areas of intersection between
the edges of the model faces and the edges of the silhouette contour
polygons. The system creates an initial, (rough) model of the 3D object
from one of the silhouette contour polygons, then executes an overlaying
procedure to process each of the remaining silhouette contour polygons.
In the overlaying process, the system processes the silhouette contour
polygons collected from each silhouette image, projecting each face of
the (rough) 3D model onto the image plane of the silhouette contour
polygons. The overlaying of each face of the (rough) 3D model onto the 2D
plane of the silhouette contour polygons enables the present invention to
determine those areas that are extraneous and should be removed from the
(rough) 3D model. As the system processes the silhouette contour polygons
in each image it removes the extraneous spaces from the initial object
model and creates new faces to patch "holes." The polygonal mesh model,
once completed, can be transformed into a triangulated mesh model. In a
subsequent step, the system uses a deterministic procedure to map texture
from the texture images onto the triangles of the 3D mesh model, locating
that area in the various texture map images that is "best" for each mesh
triangle.