|
The Stanford 3D Scanning Repository |
In recent years, the number of range scanners and surface reconstruction algorithms has been growing rapidly. Many researchers, however, do not have access to scanning facilities or dense polygonal models. The purpose of this repository is to make some range data and detailed reconstructions available to the public. Here's how the models in this repository were created:
The first set of models below, called "The Stanford Models", were scanned with a Cyberware 3030 MS scanner, with the exception of Lucy, who was scanned with the Stanford Large Statue Scanner, designed for the Digital Michelangelo Project. Both scanners are swept-stripe, laser triangulation range scanners. The triangulation calculations all the Stanford models except the Happy Buddha and Dragon were performed in hardware by the Cyberware scanner(s). These last two models were acquired using Brian Curless's spacetime analysis. Each scan takes the form of a range image, described in the local coordinate system of the scanner. To merge these range images, we must first align them together. For all the Stanford models, alignment was done using a modified ICP algorithm, as described in this paper. These alignments are stored in ".conf" files, which list each range image in the model along with a translation and a quaternion rotation. Finally, the aligned range images are combined to produce a single triangle mesh (a process sometimes called surface reconstruction) using either zippering or volumetric merging, two methods developed at Stanford. The entry for each model indicates which method was used. Implementations of both methods are currently available for download, respectively, at ZipPack and VripPack. The second method is the surface reconstruction method invoked by the Scanalyze software package used in the Digital Michelangelo Project. Another software package that might be of interest is Volfill, our diffusion-based hole filler for large polygon meshes.
The second set of models below were acquired at a XY scan resolution of 100 microns using the XYZ RGB auto-synchronized camera, which is based on technology developed in the Visual Information Technology group of the Canadian National Research Council (NRC). This camera has an accuracy (3 Sigma) of ± 0.025mm (±0.001"), and X, Y, and Z-axis resolutions of 0.1mm (0.004"), 0.002mm (0.00008"), and 0.003mm (0.0001"), respectively, as determined using a DEA Scirocco coordinate measuring machine. All post-processing, including alignment, merging, editing, and polygon reduction, were done using Innovmetric's Polyworks software. These models come to us courtesy of Helmut Kungl.
Unless otherwise noted, the range data and reconstructed models in this repository are stored in PLY files. This format was developed at Stanford University, and the source code is available for download. For convenience, we have represented most of these PLY files in their ASCII formats. Choosing ASCII makes it possible for someone unfamiliar with it to get a feel for the file format, and it avoids the problem of using the correct big-endian vs. little-endian byte orders. To view PLY files, you can download our Scanalyze software package. For converting PLY files to other formats, here are some converters we have or know about:
The models in this archive are fairly widely used in the graphics, visualization, and vision communities. Things people have done with these models include simplification, multi-resolution representation, curved surface fitting, compression, texture mapping, modeling, deformation, animation, physically-based simulation, texture synthesis, and rendering. The Stanford Bunny is particularly widely used, as surveyed by Greg Turk on this entertaining web page.
One use people have made of these models is as input for surface reconstruction algorithms, typically by stripping away the mesh connectivity and treating the vertices as an unorganized point cloud. We caution against this approach. Our zippering and volumetric range image merging methods produce smooth, (usually) manifold surfaces. More specifically, they eliminate outliers in the range data, reduce noise, mask misalignments between range images, and generally hide many of the errors that arise naturally during 3D scanning. In this sense, our reconstructed models do not constitute realistic input data for a surface reconstruction algorithm.
If you want to experiment with a new reconstruction algorithm, and especially if you want to compare its performance against existing methods, then you should start with real range data. For many of the models in this archive, we have made this raw data available. For larger datasets, see the Stanford Digital Michelangelo Project Archive.
Even if you start with real range data, if your goal is surface reconstruction,
you should think twice about stripping away the mesh connectivity and treating
the vertices as an unorganized point cloud. While this strategy may be
appropriate for the data produced by some 3D capture technologies - such as
time-of-flight scanners, it may be inappropriate for others - such as
swept-plane laser triangulation systems. In these systems, the scanner
typically examines a high-resolution image of the reflected laser line,
deciding from its profile in this image whether two adjacent vertices should be
connected by a surface or not. Cyberware laser scanners do this. Thus, if you
discard mesh connectivity, you are discarding real and possibly useful
information about the underlying surface.
-Notes by Marc Levoy
For questions and comments about our archive, send mail to:
scanrep-question at graphics dot stanford dot eduTo subscribe to the 3D Scanning Repository's email list, send mail to:
majordomo@lists.stanford.eduwith the message body:
subscribe graphics-scanrep-announce
Please be sure to acknowledge the source of the data and models you take from this repository. In each of the listings below, we have cited the source of the range data and reconstructed models. You are welcome to use the data and models for research purposes. You are also welcome to mirror or redistribute them for free. Finally, you may publish images made using these models, or the images on this web site, in a scholarly article or book - as long as credit is given to the Stanford Computer Graphics Laboratory. However, such models or images are not to be used for commercial purposes, nor should they appear in a product for sale (with the exception of scholarly journals or books), without our permission.
As you browse this repository and think about how you might use our 3D models and range datasets, please remember that several of these artifacts have religious or cultural significance. Aside from the buddha, which is a religious symbol revered by hundreds of millions of people, the dragon is a symbol of Chinese culture, the Thai statue contains elements of religious significance to Hindus, and Lucy is a Christian angel; statues like her are commonly seen in Italian churches. Keep your renderings and other uses of these particular models in good taste. Don't animate or morph them, don't apply Boolean operators to them, and don't simulate nasty things happening to them (like breaking, exploding, melting, etc.). Choose another model for these sorts of experiments. (You can do anything you want to the Stanford bunny or the armadillo.)
Range data + zippered reconstruction:
Inventor and VRML versions of this model are available from
Georgia Tech's
large models archive.
A QSplat version of this model is available in the
QSplat models archive.
Believe it or not, we also have a
CT scan of the bunny. Check it out!
If you want to fly around the bunny, but don't need the model, try ScanView, our client / server rendering system.
We have also captured a
light field of the bunny,
using a gantry made from
Lego Mindstorm.
This dataset was scanned in 1994 using the zippering technique described in
[Turk94].
Here is longer, illustrated
history of the Stanford bunny, from
Greg Turk's
web pages at Georgia Tech.
Note about the bunny photograph:
The bunny was bought and scanned in 1993-94. The color photograph (above) was
taken on April 1, 2003. The bits of gray plaster on the sides of the bunny's
feet somehow appeared since the bunny was scanned; they are not present in the
3D model. The chip on his left ear, however, is present in the model as well,
although degraded in resolution.
See also this article
about the
origin of the Stanford Bunny
from the Stanford School of Engineering.
Range data + zippered and vripped reconstructions:
This dataset first appeared in [Curless96].
Range data:
Inventor and VRML versions of this model are available from
Georgia Tech's
large models archive.
A QSplat version of this model is available in the
QSplat models archive.
A voxel array representation
of this model (i.e. a Stanford VRI file) is available on the web page of our
Volfill software package.
If you want to fly around the buddha, but don't need the model, try ScanView, our client / server rendering system.
This dataset first appeared in [Curless96].
Using the buddha model: Please remember that the buddha is a religious symbol. See our reminder above about inappropriate uses of this model.
Range data:
Inventor and VRML versions of this model are available from
Georgia Tech's
large models archive.
A QSplat version of this model is available in the
QSplat models archive.
Light fields made from renderings of this model are available in the
Stanford Light Fields Archive.
This dataset first appeared in [Curless96].
Using the dragon: Please remember that the dragon is a symbol of Chinese culture. See our reminder above about inappropriate uses of this model.
Range data:
This dataset first appeared in [Krishnamurthy96].
Range data:
Note about this range dataset: Lucy was scanned on two separate occasions. The raw range data (lucy_scans.tar.gz) and the VRIPped reconstruction (lucy.tar.gz) unfortunately do not correspond to the same scan of the statue. Moreover, the raw range data was never aligned, so the *.xf transform files in lucy_scans.tar.gz (as well as those in lucysd.tar.gz in the same directory) do not register the scans together.
Vripped reconstruction:
A QSplat version of this model is available in the QSplat models archive.
Using Lucy:
Please remember that Lucy is a Christian angel. See our reminder above about
inappropriate uses of this model.
Feel free, however, to build a
lego replica of Lucy, as David Winkler has done.
Check out his explanation of the
conversion process. You can also download the
plans
and build it yourself.
Scan data of a dragon sculpture constructed from wood pulp resin. Approx.
20cm x 8cm x 9cm.
Source: XYZ RGB Inc.
Scanner: XYZ RGB
Number of scans: 18
Scan Resolution: 100 um
Total size of scans: 6,300,000 points (about 12,600,000 triangles)
Size of merged model: 3,609,455 vertices, 7,218,906 triangles
Comments: watertight & uncompressed
Reconstructed model:
Using the dragon: Please remember that the dragon is a symbol of Chinese culture. See our reminder above about inappropriate uses of this model.
Reconstructed model:
This illuminated manuscript is a page in Latin from the Book of Hours, Rouen, c. 1460. The scan was made for the paper [Gardner03].
Scan data of a resin statue. Approx. 40cm x 8cm x 8cm.
Source: XYZ RGB Inc.
Scanner: XYZ RGB
Number of scans: 36
Scan Resolution: 100 um
Total Size of scans: 34,500,000 points (about 69,000,000 triangles)
Size of merged model: 19,400,000 vertices (38,800,000 triangles)
Size of model provided: 5,000,000 vertices (10,000,000 triangles)
Comments: This model is provided in its decimated form of 10 million polygons
Reconstructed model:
Using this model: This statue includes elements of Hindu religious significance. See our reminder above about inappropriate uses of this model.
[Curless96] A Volumetric Method for Building Complex Models from Range Images
Brian Curless and Marc Levoy
Computer Graphics (SIGGRAPH 1996 Proceedings)[Gardner03] Linear Light Source Reflectometry
Andrew Gardner, Chris Tchou, Tim Hawkins, Paul Debevec
Computer Graphics (SIGGRAPH 2003 Proceedings)[Krishnamurthy96] Fitting Smooth Surfaces to Dense Polygon Meshes
Venkat Krishnamurthy and Marc Levoy
Computer Graphics (SIGGRAPH 1996 Proceedings)[Turk94] Zippered Polygon Meshes from Range Images
Greg Turk and Marc Levoy
Computer Graphics (SIGGRAPH 1996 Proceedings)