Fish skull: color-coded neomerinthe hemingwayi. Fish skull: color-coded neomerinthe hemingwayi.

Integrating Range Data from Multiple Viewpoints

Multi-Viewpoint Integration

Work is underway to register range maps scanned from different viewpoints into a single 3-D model. A human observer selects landmark points commonly visible from pairs of viewpoints (see the page on range map analysis for an overview of the software involved). The 3-D locations of those landmarks are used to transform one range map so that its landmarks are coincident with the corresponding landmarks in a second range map.

In a bit more detail, you start with two range maps for the same specimen, gathered from different viewpoints or with the specimen oriented differently. The user selects a set of landmarks from viewpoint #1, and assigns them labels. The user then selects a set of landmarks from viewpoint #2, and assigns them labels such that if the same landmark appeared in both range maps, it is given the same label. The system then uses the commonly-visible subset of landmark positions to find a transform that translates and rotates the second range map so that the commonly visible landmarks are coincident. Well, really so that they are maximally coincident, or so that the average error is minimized. Sensor resolution, sensing error, and landmark selection error will combine to guarantee that no two sets of landmarks can ever be transformed to be precisely coincident. Work that remains in this area includes:

The above describes how to register two range maps. Once you can register two together, you can register any number — just register the n'th to the composite of the previous (n-1). Below are initial results for merging three range maps of a Neomerinthe hemingwayi skull, then raytracing them with a Silicon Graphics workstation. In the first image, the facets were texture-mapped with color to indicate the scan from which they originated. Green regions came from the dorsal view, blue regions from the lateral view, and purple regions from the ventral view.

Fish skull: color-coded neomerinthe hemingwayi.

Color-coded combination of three Neomerinthe hemingwayi range maps

Fish skull: neomerinthe hemingwayi.

Uniformly colored combination of three Neomerinthe hemingwayi range maps

Of course, all facets can be given more realistic reflectance models, as in the second image.

Current work raytraces the data using the POV-Ray (tm) package running on an Intel or Alpha platform running Linux. The image quality is excellent, and POV-Ray provides a portable solution not tied to SGI hardware. Another alternative would be to use the OpenGL raytracing libraries, although they need specialized video hardware acceleration to realize the full benefit. We want to make our system as portable as possible, with a eye to low-cost solutions.