The Convoluted Topology of the Average Teapot Poses a Serious Challenge to 3D Scanners

But - Six Years After Martin Newell's Introduction of the Famous Computer Graphics Teapot Cyberware Is Equal to the Challenge.

We recently scanned a leading-edge teapot from several perspectives using Cyberware's new leading-edge software tool CyZip to assemble the pieces into a complete model. The difficult parts of the process are automatic, and the results are spectacular.

The Tea Party That Was No Picnic

Although a teapot might not seem like a difficult subject for 3D scanners, several features make it formidable. Both the spout and handle cause problems for the scanning process when their shadows fall upon the teapot body. The body returns the insult by shadowing the inside of the handle and spout. Even ignoring the inside of the teapot, you can completely digitize the pot only by making numerous scans-at least 12, each from a different angle.

The lid is best scanned separately. It can then be animated independently of the pot.

CyZip takes each of the teapot scans and fits them together to your desired level of accuracy. Then it cleans up the results to produce a nearly perfect model of the actual object.

Why Not Make Scanners More Flexible Instead?

If the goal is to obtain complete scans of complex objects, why not just build a scanner that can capture all the details? To help answer this question, we took a simple cylindrical scan of the teapot, which gives the basic surface model you can see in the first screen image. The inside of the handle and spout connect to the body in odd ways, and false surfaces replace the correct inner surfaces.

Some scanners available today scan interior surfaces such as these by adding more axes of freedom to the motion platform. While solving some of the shadowing problems, the hardware for the additional axes is amazingly expensive. Controlling multiple axes is also a big problem for the operator and the software.

CyZip avoids the expense and problems of the complex hardware solution by moving the complexity to the software. The hardware can then remain as simple as possible, which permits a great deal of flexibility. The combination of CyZip and a relatively simple Cyberware scanner can accommodate a huge variety of object sizes and topologies.

Tea Times

Be forewarned that zipping up multiple scans is not fast. Even on a high-performance workstation such as a Silicon Graphics Indigo2 with a MIPS R4400 processor, a detailed model can consume hours of compute time. The good news is that the software is more frugal with the user's time, so you might plan on long coffee breaks or overnight compute runs. Simple CyZip work, on the other hand, can be done in a few minutes to an hour.

In the teapot example, the pot's lid required 4 scans. Each scan takes only a minute to set up and complete on the Cyberware 3030/MM scanner. Subsequent processing in CyZip on a Silicon Graphics R4000SC Indy with 96Mb of RAM took 1 hour of user time and 3 hours of computing.

The teapot's body required 17 scans. We could have used fewer scans, but the scanner that was nearest to hand was a HIREZ model with a 150-mm (6-inch) vertical field of view. The upper and lower halves of the teapot thus had to be scanned separately. When it was time to put the scans together with CyZip, our intrepid summer intern and his computer were busy for about 8 hours, but the intern got more coffee breaks than the computer.

Echo 3.1, For All the Scans of China

To use CyZip, you'll also need a new release of Cyberware's Echo scanning software. (See the article on Echo 3.1 in this issue.) Previous Echo versions added some artifacts to the range images during processing. While not normally a problem, these artifacts can confuse the CyZip algorithms.

We've created a new output file type to move range scan data between Echo and CyZip. The common Cyberware range map files are still available, but you will probably never use them while modeling with CyZip.

An Enormous Amount of Tea

Before embarking on a complex scanning project, you will probably want to move your previous projects onto off-line media. Although your final model might occupy only 1 or 2Mb of disk space, you will use considerably more in using CyZip.

To zip the teapot together, we consumed just under 100 MB of disk capacity. You can immediately archive or delete most of this data when the model is complete.

CyZip also needs a lot of swap space. Merging the 17 teapot scans pushed the swap space demand on the Indy to over 128mb. Because Silicon Graphic ships most systems with far less than this, you will want to allocate more. Under IRIX 5.1 (and up), you can temporarily allocate swap space in a regular file. For more information, consult the IRIX manual entries for "swap" and "mkfile."

Right-Sizing a Strategic Paradigm

Before making multiple scans of a complex object, it's a good idea to develop a scanning strategy. You need to study the object's topology and understand the limitations of a simple rectangular scan. Each scan should overlap its neighbors. More overlap gives CyZip a larger area of congruent surfaces to compare, although excessive overlap increases the demands on compute resources.

Roughly cylindrical objects such as the teapot are often scanned with six to eight scans around the cylindrical axis and a few more for the top, bottom, and complex details. The main six to eight scans should be spaced at 45- or 60-degree increments.

You don't have to remember the exact position of each scan. You can use either the MM platform's precision rotary table to rotate the object between scans, or you can pick up the object and move it by hand. CyZip will later determine exactly how to align the results of the scans.

We scanned the teapot at 45-degree increments around its vertical axis. Because the teapot is taller than the 3030/HIREZ's field of view, it took 15 scans to capture most of the surface. Several other scans captured additional details. For example, the teapot was tilted back slightly to better scan a region under the spout and laid on its side to scan the top and bottom.

This approach cannot be used to scan the inside of the pot. If your modeling process requires a fully closed surface, you need to build surfaces inside the top opening and spout opening. This might be trivial or difficult, depending on the modeling software you use. Some modeling packages can automatically create the proper offset surface to represent the interior.

What if you make all the scans you think you need, then find in using CyZip that you missed part of the surface? No worries: You can add additional scans without retracing your steps.

A Teapot Anchor

The easiest way to use CyZip is to start with an "anchor" scan of the entire object. All the other scans can then be built up on this foundation.

For most objects, the anchor scan is a simple cylindrical scan that includes as much of the surface as possible. The data from this scan will not be included in the final model, but the anchor provides an easy basis on which you and CyZip can make initial alignments. Otherwise, many of your partial scans might not have enough obvious features to get the alignment off to a healthy start.

Decorate the Anchor With Potsherds

To start aligning your scans, you read one in at a time and use the mouse to rotate and translate each scan into approximate position relative to the anchor. For the teapot, we found that initial alignments within a few centimeters of distance and about 15 degrees of angle were close enough for CyZip to make a good start. It's fairly easy to roughly align each of your scans visually with the familiar features of the anchor scan. As each scan is aligned, you save its alignment coordinates, and then remove it.

Each image can be read in and roughly aligned by hand in under one minute. CyZip may take a few more minutes to find a more precise alignment, although these initial alignments are processed at low resolution. Processing is therefore fast, but accuracy remains low at this stage. If you wish, you can increase the resolution by clicking on a button and directing CyZip to make a more precise alignment.

Toward a More Perfect Union

When you get all your partial scans aligned with the anchor scan, you can toss out the anchor. The final alignment uses only the surfaces of the partial scans.

To accomplish the final alignment, read in each partial scan and set it to the initial alignment coordinates determined earlier. Then CyZip further aligns each scan with its neighbors. CyZip may repeat some alignments during this process as more scans are added. The process is somewhat like putting together a jigsaw puzzle: adding one piece sometimes allows you to adjust the accuracy of adjacent pieces.

When this process is complete, the partial scans are all in place, and you can see the entire model. This is the time to check for any missing pieces. You can then scan those parts and align them into the model.

Delete the Overlap

At this point, the model's surface has the proper shape, and the individual scans are positioned next to each other. But, because the scans overlap rather than joining into one continuous surface, redundant triangles cover most of the model's surface.

A process called merging combines the overlapping scans into a single surface. As in the alignment process, merging starts with one piece and merges a neighbor into it. Then this larger piece is merged with another neighbor, and so on, until all the pieces are merged.

In merging, CyZip deletes, or "eats" the overlapping portions of the pieces involved so that the edges of the pieces abut. The eat algorithm removes the less-accurate portions of the surface.

The eating process generally creates small islands in the model where the surface between pieces is eaten away. CyZip joins these islands by adding triangles between then. After this step, you have a single triangle-mesh surface. This surface might not be a closed one. On the teapot, for instance, the spout and top opening are not filled with triangles.

Because the preceding steps may have adjusted the alignments slightly, you again write the alignment coordinates to a file. This file will be used in the next step and might also be useful if you ever want to repeat part of the process.

Even with the partial scans joined into one surface and rendered, you may observe small errors in the surface where the scans meet. These discontinuities arise from scanner measurement errors in the original data, as well as errors during CyZip alignment. A Cyberware 3030 scanner has an accuracy of plus or minus 0.2mm (0.008 inch) under good conditions. If the surface is somewhat oblique to the scanner's point of view, or surface quality is less than ideal, the error might reach plus or minus 1.0 mm (0.04 inch). CyZip includes a clever way to correct these errors.

Using the original scans, CyZip can make small adjustments to the surface to reach a consensus on where each vertex might best be placed. The earlier alignment steps moved each scan into position by moving the entire scan surface as a unit; CyZip did not bend, squeeze, hammer or warp surfaces to make them fit.

The consensus process works in the opposite way: It does not adjust he piece alignment, but it does bend surfaces to make them fit. By analyzing the overlapping regions of the original scans, CyZip adjusts each surface vertex to a position that seems to represent the correct surface. As with any consensus there can be errors, but the changes are slight and almost always for the better.

To run the consensus process, you edit a script file that is largely created for you by CyZip. The script reads in the original scans, aligns them and compares them with the merged model. In most cases, the consensus completely removes any surface discontinuities caused by scanning errors.

Now That You've Experienced the Revolution

The automatic alignment of your model is now complete. If you want to close any remaining openings or alter any areas that have not been scanned or merged properly, you can take advantage of the surface-editing tools available in CyZip.

The complete model is saved to a polygon file. Because CyZip makes no attempt to reduce the model's polygon count beyond those eliminated in the eating process, your final model probably contains over one hundred thousand polygons. Cyberware's Cymage polygon reduction tool is a perfect way to reduce the polygon count dramatically.

Although the file format created by CyZip is unique, because no suitable open industry standard is available to fit the need, the surface from both CyZip and Cymage can be output in many different file formats. You can also process the surface into a parametric form using a product such as Surfacer from Imageware. This set of tools read the polygon mesh surface and helps you fit a NURBS surface to it.

Whatever your requirements, CyZip forms the basis for extraordinarily versatile 3D color scanning. Instead of throwing your money into fabulously expensive (and ultimately limited) scanning hardware, you get even greater flexibility through the CyZip software.

The Future of 3D Scanning Comes to SIGGRAPH

To make even the simplest 3D scanner perfectly versatile, you can now turn to Cyberware's CyZip software. It zips together partial scans of an object into a complete 3D model, doing all the tedious work automatically. No matter how complex an object you want to scan, CyZip can probably assemble it for you from multiple scans.

Why not simply scan an entire object in one pass? There are always some spots you miss. Rotational scanners cover all sides of an object, but they don't get the tops of the object and might mis-scan some surface intricacies. A linear scan captures only one side of the object. In short, getting a full-object model has always required users to piece together different pieces of the model manually, slowly, and often inaccurately. Until CyZip.

Working with Cyberware, Stanford University professor Marc Levoy and post-doctoral researcher Greg Turk have spent the past year developing CyZip. With a few minutes of user interaction and a few hours of compute time, CyZip connects separate polygonal meshes to form a complete 3D model.

CyZip does this by:

Turk sees a variety of applications for models create using CyZip. They can be used in animation and for visual simulation applications such as flight and vehicle simulators. Human anatomy can be used in surgical planning or remote consultation. Models of delicate archaeological artifacts can server for measurement and comparison with similar pieces. Models of damaged machine parts can be used to create replacement parts.

According to Turk, zippering together meshes is just one part of capturing the complete appearance of an object. Other ongoing work is exploring the creation of a more compact surface representation.

CyZip will be available this fall from Cyberware.

If you're going to SIGGRAPH, be sure to meet the authors of CyZip. See the SIGGRAPH information below for details.

SIGGRAPH Events

Attending SIGGRAPH? You'll want to schedule several Cyberware-related stops in your itinerary.

New Echo Release, Echo Release, Echo Release

The 3.1 version of Cyberware's Echo scanning software for Silicon Graphics Workstations has begun shipping to existing users and new purchasers of Cyberware scanners. In addition to exterminating some bugs, the software provides a new graphical surface editing tool, a new real-time viewer and several handy new commands.

The surface editing tool allows you to select arbitrary regions of a scan with the mouse. Similar to common mouse-directed painting programs, Echo offers several different "brush" sizes. You can select single points, or entire regions, and you can delete the selected areas. A new filling option is handy for removing the occasional noise spike in models.

The new real-time viewer makes it easier to verify that your scanner is operating correctly. The viewer allows you to see texture maps-a feature that has been missing from the SCSI-based software. The viewer also takes advantage of the high-performance frame buffers in recent Silicon Graphics workstations.

A useful new Echo command called "resize" allows you to adjust a range map to any size. By shrinking a model to its actual size, resize saves disk space and can make processing much faster. By enlarging images, resize makes it easier to paste in multiple scans to cover a large object.

The most recent Cyberware advertisement "Supermodel" contains scans of an outrageous mask, which takes advantage of all of the new Echo tools.

Who's Where in 3D Scanning

Cyberware 3D scanners are everywhere. Almost. So far, we've got scanners in 21 countries, including 12 European nations and five Pacific Rim countries.

Among those are numerous scanners at colleges and universities in 10 countries. Many scanners are at U.S. government installations that range from NASA to VA hospitals.

Cyberware scanners are finding their ways to computer graphics researchers and commercial animators in industries and locations all over the world.

Info Exchange

Cyberware invites you to submit news and announcements about your use of our scanners and software. We'll publish them from time to time in this newsletter in a new section called The Software Developer's Information Exchange. Share your experiences! Send news to David Addleman: david@cyberware.com

Return to the Newsletter Listing