Automatical modeling can help to obtain complexe objects in few seconds. But 3D acquisition devices have a lack of precision (noise), and can only produce depth grids from various points of view, usually put together in a non-uniform point cloud. Surface reconstruction and Point-based graphics techniques have been developped to create tools that fit these constraints, with or without the help of the user.
The usual stream is made of a 3D scanner, a workstation and a tool for handling the different scans, and creating a model (usually a mesh).
This last step is the most difficult, since noise can make very hard the alignement of scans.
Our hardware pipeline:
Scanner. Our 3D scanner is a Minolta Vivid VI 300. It is a Laser Range Scanner, which produces a 400x400 color resolution, and 200x200 depth resolution. Its main advantage is its mobility and its main drawback is its lack of precision (e.g., noise). Our approach is to directly work on point sets generated by aligning several scans (registerind scan sheets). In fact, the topology providen by the scanner is a simple view-dependant 4-connexity, wihch can induced many artefact when considered as valid. So, we discard any topology information, and just convert the scans toward a point set by changing the local frame of the scans (each pixel of the scan sheet can be considered as a 3D point with (x,y) its coordinates in the depth image and (z) the value of the pixel). Of course, a complete topology (a 2-manifold mesh) is necessary in a large variety of applications, but we try to maintain topology-free models during the whole processing pipeline, generating a surface only at the end, once the model is considered as valid. For this, we use different texturing/filtering tools, visualization systems and reconstruction algorithms that all work with generic unorganised point clouds.
Rotating table. We use a rotating table to obtain 360 scans (actually done with 6 (resp. 8) scans by 60 (reps. 45) degrees step). This table can support the weight of an adult, which makes easier the acquisition of human faces.
Chart. This simple chart is used after the last scan : this additionnal capture helps to estimate a rotation axis.
Workstation. The acquisition task is performed on an AMD Athlon XP2000+, with 1GB of main memory, an nVidia GeForce Ti 4600, 60 GO HD, and an SCSI card. Some interactive operations, such as manual alignement of scans, require a powerful workstation. We convert scans in point sets and export them toward Osiris and PointShop 3D for processing and visualization. We use to work on a per-scan basis, since the Polygon Editing Tool provided by Minolta is quiet unstable, and regulary crashes for too complexe objects (more than 8 scans).
For remaining compatible with most of the existing 3D softwares, the object has to be converted from its point-based representation to a polygonal mesh. While in our pipeline we use our Osiris software, several alternatives exists for this task:
The Powercrust as well as the variant of Cocone are based on the Delaunay triangulation and suited in the case of clean point clouds (without too much noise) and small-scalle object (too slow for multi-million samples). These softwares handle point-sets without the normal information.
The MPU software is based on implicit surface fitting and can handle large objects as well as noisy data. It is fast and use a simple file format (PWN) but, sometimes, produces degenerated surfaces.
VRip and VolFill are proposed by the University of Stanford for merging and filling holes of objects acquired with 3D scanners.
This pipeline is very efficient for automatic modeling and reverse engineering of objects. As an example, we briefly describe in this section the process for a small carved piece of lava.
(a) The original real object. (b) Point cloud generated by the 3D scanner. (c) Real-time visualization with Osiris. (d) Interactive texturing directly on the point cloud with CoTeX. (e) High quality rendering with Blender, from the model reconstructed with Osiris (the texture has been acquired separately). Other examples are presented in this preliminary document.