spacer back contents
ERCIM News No.50, July 2002

An End-to-End Software Suite for 3D Scanning

by Marco Callieri, Paolo Cignoni and Paolo Pingi

The Visual Computing Group of IEI-CNR, Pisa, has developed a suite of software procedures for the processing of 3D scanning data. The software package can be used for the automatic acquisition of 3D Cultural Heritage and for the creation of realistic 3D digital models.

3D scanning is a rapidly developing activity: every year a number of new, more efficient and cheaper scanner devices become available. Huge 3D datasets — so large that they must be processed before they can be efficiently used — are thus now easily produced. The acquisition phase is just the beginning of the whole scanning pipeline.

Our research group has been working in the field of 3D scanning for the last five years. One of our first studies resulted in the design and implementation of a cheap 3D scanner based on structured light (see our Web site); recent efforts have been focused on the development of software able to work efficiently with the huge amount of data produced by 3D scanners.
We have developed a standard software package. The scanning pipeline can be summarized in five steps:

Acquisition: the first step is to capture geometric data with the scanner hardware. Depending on the type of the scanner employed, the execution of this phase can vary considerably. Whatever the approach used, eventually we have a series of partial scans, called range maps, each of them covering a part of the object. This is because a number of scans from different positions are needed to entirely capture the geometry of an object. We wrote a program that tailored the functioning of our current (commercial) 3D scanner to our needs: the program manages a rotary stage and a lighting system.

Alignment: range maps taken from different viewpoints have to be aligned. This process can be completely automatic if the exact position of the scanner during each acquisition is known. Otherwise, manual intervention is needed to obtain the initial placement, then refined automatically. This manual intervention is the most time-consuming phase of the whole process. In our package, a graphic program is used to obtain the first user-driven placement of the range maps. Then an automatic iterative process, based on the ICP algorithm, determines the best alignment .

Fusion: once aligned, the partial scans are merged into a single 3D model. A careful use of resources is important in this stage since the data dimensions can easily exceed the capacity of a standard PC. A variation of the Marching Cubes algorithm which uses less memory and a hierarchical approach has been adopted to compute precise and hole-filling fusions.

Decimation: 3D scanners provide a huge amount of data. For an effective use of the model we have to reduce the size of the geometric information acquired, especially with respect to the less significant parts of the object (a sample rate of 0.25 mm can be useful for very complex sections, but not on flat surfaces). Our decimation software is based on edge collapsing and error driven simplification. For very complex 3D models (more than 6 million faces), an new algorithm that works with secondary memory has been designed to overcome memory shortage. In this way, we were able to build the official simplified models of the David (56M faces) and the San Matteo (300M faces) produced by the Digital Michelangelo Project.

Texturing: for certain applications (eg reverse engineering) information on colour is not needed. On the contrary, for a wide class of objects, additional information about the real appearance of the object must be provided. This is mostly done by texturing the final model, using photos taken during acquisition. Our texturing procedure is performed in two steps: the photos are first aligned to the geometry (manually or automatically) and then mapped to the model. Alignment of the images and production of the textures correspond to two distinct procedures in our package.

Part of the Graphical User Interface of the scanning tools and the results.
Part of the Graphical User Interface of the scanning tools and the results.

In addition to the above package, we have developed a number of converters from/to the most used 3D file formats and some utilities to clean unnecessary data, fill holes, smooth data, geometry and topology correction.-

It should be noted that the processing of 3D data does not depend on the 3D scanner used. Different scanning technologies obviously produce different results in terms of precision, size of captured object, types of data acquired, but the required processing pipeline remains unchanged.

We obtained good results working on data coming from different 3D devices: triangulation laser scanners, structured light scanners and time-of-flight scanners. Our software package is currently used for the automatic acquisition of 3D small to medium size objects (vases, statues, jewels) within several national and international projects for the preservation of cultural heritage. The 3D digital models obtained can be used in many ways, ranging from the cataloguing of 3D cultural objects to the construction of virtual museums, from the planning of the restoration process to the production of replicas.


Please Contact:
Paolo Cignoni, IEI-CNR
Tel: +39 050 315 2927