next up previous
Next: Results Up: Model Generation from Multiple Previous: Previous Work

Dual SurfaceNets

Dual SurfaceNets extend the original SurfaceNet approach by combining information from two orthogonal volume image scans. The use of Dual SurfaceNets requires a number of preprocessing steps [3]. First, the object of interest is segmented or extracted from each of the scans. The scans are then registered into a common coordinate frame by finding the pose that minimizes the sum of squared differences of the smoothed segmented images.

Once segmentation and registration are performed, a SurfaceNet is initialized for each of the models. The first step in generating a SurfaceNet is to locate cells that contain surface nodes. A cell is defined by 8 neighboring voxels in the binary segmented data, 4 voxels each from 2 adjacent planes. If at least one of the voxels has a binary value that is different from its neighbors, then the cell is a surface cell. The net is initialized by placing a node at the center of each surface cell and linking nodes that lie in adjacent surface cells. Fig. 1c illustrates the creation of a net from a binary image.

Once defined, the SurfaceNet can be relaxed to reduce terracing artifacts while remaining faithful to the input segmentation [2]. To relax the net, each node is repositioned to reduce an energy measure in the links. In the examples presented here, SurfaceNets were relaxed iteratively by considering each node, , in sequence and moving that node towards the midpoint of its linked neighbors.

where is the set of linked neighbors of point i. Defining the relaxation in this manner without constraints will cause the net to shrink to a single point. To remain faithful to the original segmentation, each node is constrained to lie inside its original surface cell. This constraint favors the original segmentation over smoothness and forces the surface to retain thin structures and cracks.

Relaxing a single SurfaceNet of an object significantly reduces the artifacts contained in the model. However, if the resolution in the scan is low in one direction, there may not be enough information in one scan to fully constrain the model and remove the terraces. We therefore consider using two scans, where one has higher resolution along the direction where the other has lower resolution, as illustrated in Fig. 1d. To relax two models of an object together, the individual SurfaceNets are built as described above. The two SurfaceNets, once aligned in the same coordinate frame, are iteratively relaxed towards one another with the constraint that each node much lie within its surface cell. In one relaxation step, each point in the first net is updated by taking an average (weighted by distance) of the points in the other net.

 

The point could violate its constraint by lying outside its cell, . The new position of the point, is if it lies inside the cell and the closest point on the cell boundary if lies outside the cell. In the next iteration, the second net is relaxed towards the first. After each full dual relaxation step, the nets are each relaxed individually for one iteration. The individual relaxation keeps each net smooth as they merge. The iteration progresses until the positions of some user-defined fraction of the nodes have converged, at which time one of the two nets is chosen to generate the final triangle model.

If the segmentation and registration were ideal, then the true surface would always lie in the intersection of the surface cells of the two images. In this case, the two nets would converge on the identical surface with all surface cell constraints satisfied. Fig. 1d shows a 2D example of a surface passing through the surface cells of two nets. In general, the surface cells of the two scans do not overlap perfectly due to imaging, segmentation, and registration errors. We therefore provide a means of relaxing the constraints to allow the nets to merge more closely. After a few iterations, any point that is pulled outside its constraining cell cannot meet a corresponding point in the other net. This signifies discrepancies between the two models. In these instances, the constraining cell of every such point is dilated (preserving aspect ratio) by a small amount at the end of the iteration, allowing those points to move closer to the other net in the next iteration. Although the resultant net can move more than one voxel from the segmentations, the final model is guaranteed to be between the two initial models.



next up previous
Next: Results Up: Model Generation from Multiple Previous: Previous Work



Michael E. Leventon
Fri Oct 8 13:10:43 EDT 1999