Home | Research Overview | Results | Resume | Publications | Hall of Shame

Recovering surface constraints
To construct our models, we first place an object of desire on a turntable (with a calibration chart in the background) and take several photos of the object rotated to different angles. If needed, we can move the camera to different vantage points and repeat the process to obtain a more complete set of photos.

When the 3D location of several image points are known, it is possible to determine the position, orientation, and intrinsic parameters of a camera directly from a photo. We recover these parameters once for each vantage point used by matching points on our calibration chart with their known locations.

After calibrating the camera for each photo, we extract the object's silhouette. Note: usually this would be done by backlighting the shape, but in these experiments we have outlined the silhouette by hand. One key to our method is that a silhouette point in a calibrated image corresponds to a ray in space; the ray starts at the camera's focal point, passes through the silhouette point in the image plane, then continues into space. We know these silhouette rays are tangent to the object, and we even know the surface's normal at the point of tangency (what we don't know is where this tangency occurs). If we collect this information across many images, we can bound the object's shape.








Constructing the spline surface
By approximating each silhouette as a polygon (possibly with holes), we create a set of polyhedral "view cones" which extend into space. Intersecting these cones creates a polyhedron that roughly contains the object.

For many applications, working directly with this polyhedron would be enough. But for our purposes, we would like a smooth surface, so we manipulate the polyhedron to create a spline control mesh.

The raw polyhedron is often very irregular, so we first triangulate it, then simplify the triangulation to eliminate small edges and angles. This gives us an initial spline control mesh.

To get G1 continuous surfaces, we construct three patches over each triangle. First, we determine the control points around each vertex (using a theorem presented by Loop at Siggraph 94), then we use Chiyokura & Kimura's approach for cross-boundary continuity and Sherman & Sequin's method for continuity among each set of three patches. This particular construction interpolates the vertices, and it's local and linear in the vertex positions, allowing for easy manipulation of the surface and easy computation of derivatives.


Improving the model
Once we have an initial surface that captures the object's rough shape and topology, we improve the model by minimizing the distance from each of the silhouette rays to the surface. Unlike many other approaches, we compute both the true distance to the surface and the actual derivatives, then use a gradient descent algorithm to improve the fit. At left are a fitted spline surface and its underlying mesh.

After fitting, we can project the original calibrated photographs back onto the model for texturing. Modeling and calibration inaccuracies can introduce error, but initial experiments look promising.





Spline Models
Each icon below links to our latest results for automatic spline surface modeling. While this is still work in progress, you can see what kind of results we are working toward. VRML models of the objects are available on each page, along with .OFF files which can be viewed with Geomview or imported into CAD programs.



Mesh models
The icons below link to experiments with triangular mesh models. These are more preliminary than the above, but they indicate the complexity of shape we hope to recover with our approach

Home | Research Overview | Results | Resume | Publications | Hall of Shame