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.