[Eyeball Unsmoothed][Eyeball Smoothed]

Experiments with Smoothing

------------------

Contents:

- Introduction
- Results
- Segmented Medical Data
- Thresholded Medical Data
- Cyberware Scans
- Implicit Models
- CAD Models
- References
------------------

Introduction

There are many occasions when we obtain or create models that need some smoothing. If the data is acquired, there may be some noise. Sampling artifacts are another problem with acquired data. In computed tomography or magnetic resonance imaging, large pixel sizes and, more often, large spacing between slices can result in step artifacts. Of course the correct way to solve this problem is a close to the source as possible. Better detectors, gradients, and reconstruction algorithms can alleviate the problem in medical imaging equipment. More sophisticated processing of raw range data like Curless' space time analysis can produce better data.

Image processing techniques can be used on image and volume data after acquisition. Techniques such as edge preserving diffusion filters can smooth the original volume while retaining features in areas of high detail. But approaches like this treat all tissues within the volume equally.

But, what if we have a polygonal model that we want to smooth. I have been thinking about this problem on and off for a few years. My motivation was the "chunky" 3D models we create when we work with segmented MRI and CT data. I looked at several geometric solutions including moving the vertices of my chunky models along the gradient of the original grey scale data and snapping them to the surface. The results were unsatisfactory.

I have also taken the polygonal surface, created a distance field around the polygons and extracted an offset surface. Yes, that's right, extract an isosurface from a volume, create a volume from the isosurface and extract another isosurface from the volume. The results were OK, but there is certainly little justification for the amount of processing.

Then, this summer at Siggraph, I attended the Isosurface session and saw Gabriel Taubin's talk on Fair Surface Design. This excellent talk described a simple, elegant approach to surface smoothing that immediately rang a bell. I had used similar techniques to generate finite element meshes [6]. (in a former life).

This report contains experimental results for my implementation of Taubin's approach.

------------------

Results

All of these results were created with the decimate script. A new lymb class called smooth_filter implemented the algorithm described in [1].

------------------

Segmented MRI

The isosurface of the eyeball was created from a labeled voxel dataset developed at Brigham and Women's Hospital Surgical Planning Lab. The eyeball is one of over 125 structures that have been labeled in their Brain Atlas. Once they have labeled the voxels for a given structure, we generate an isosurface by creating a new volume that has an intensity of 1500 everywhere the structure exists. Since we use the marching cubes algorithm [3], we need a greyscale dataset. To obtain this greyscale data, we blur the mask with a 3D diffusion filter. Then we extract an isosurface at a level of 750. The resulting surfaces suffer from aliasing, appearing as steps. These are especially noticeable when we look along the slice acquisition direction (in this case, front-to-back). In the images below, we further exaggerated the stepping by flat shading the objects.

These step artifacts are not limited to segmented data. Large pixel sizes or slice spacing during acquisition can also contribute.

Normally, we use gouraud shading when we render. We also use normals calculated from the gradient of the acquisition or segmented volume. This helps to "hide" the steps, but they are still there.

This experiment shows the effects of geometric smoothing on segmented MRI data.

-Full eyeball -Full, smoothed
-Decimated -Decimated, smoothed
-Composite

Here is the pons.
-Pons, flat shaded: No smoothing (left), smoothing (right)
-Gouraud shaded
Wireframe, decimated, no smoothing (left), smoothed (right)
- -
-

Segmented CT

The isosurfaces of the spleen, liver, kidneys and tumors were created from a labeled voxel dataset developed at Brigham and Women's Hospital Surgical Planning Lab.

-No smoothing -Smoothed (50 iterations)

------------------

Thresholded MRI

Here's Gordon Stoll's MRI. Only 56 slices cover the head. Decimated (25310 triangles) and smoothed on the left of each image, full resolution (77310) on the right.
- - -

------------------

Cyberware Portrait

This dataset is a Cyberware scan of yours truly. The data has been reduced using the clipping feature of Cyberware's echo software.
Parameters
Smoothing
Decimation

-Full bill -Full, smoothed
-Decimated -Decimated, smoothed
-Composite
In my implementation, I do not move the texture coordinates; each texture coordinate remains associated with the vertex it started with. This produces undesirable effects around the eyes and lips in the following:
-Decimated -Decimated, smoothed

------------------

Cyberware Portrait

Matt's Cyberware

This Cyberware study is a full dataset of over 440,000 triangles.

Parameters
Smoothing
Decimation

-Decimated Matt -Decimated, smoothed
-Composite

------------------

Implicit Model

We created an implicit model of the characters v, t, k by:
  1. Transforming the polygonal geometry of the characters using transform_filter.
  2. Combining the transformed geometry with append_filter.
  3. Triangulating any quadrilaterals with triangle_filter.
  4. Calculating a distance field with implicit_modeller.
  5. Extracting an isosurface with data_iso_surface.
Using flat shading to show the facets, we produced
-

Then we ran the extracted model through smooth_filter producing
-

To compare the two results, we rendered them together. White is unsmoothed.
- - -

Finally we looked at a closeup of the letter k.
- -

------------------

Cad Model

This is a hand-crafted model of Beethoven.
Parameters
Smoothing

-Beethoven -Smoothed
-Beethoven -Smoothed

------------------

References

  1. Taubin, G., "Curve and Surface Smoothing without Shrinkage," IBM Research Report RC-19536, September, 1994.
  2. Taubin, G., "A Signal Processing Approach to Fair Surface Design," Computer Graphics Proceedings, pp. 351-358, August 1995.
  3. Lorensen, W. E. and H. E. Cline, "Marching Cubes: A High Resolution 3D Surface Construction Algorithm," Computer Graphics, vol. 21, no. 3, pp. 163-169, July 1987.
  4. Cline, H. E., W. E. Lorensen, R. Kikinis, and F. Jolesz, "Three-Dimensional Segmentation of MR Images of the Head Using Probability and Connectivity," Journal of Computer Assisted Tomography, vol. 14, no. 6, pp. 1037-1045, November/December 1990.
  5. Schroeder, W., J. Zarge, and W. Lorensen, "Decimation of Triangle Meshes," Computer Graphics, vol. 26, no. 2, pp. 65-70, August 1992.
  6. Lorensen, W. E., "Grid Generation Tools for the Finite Element Analyst," in First Chautauqua on Finite Element Modeling, ed. J. H. Conway, pp. 119-136, Harwichport, MA, 1980.

Questions / Comments

James Miller (millerjv@crd.ge.com)

Last Updated:

GE Home Page | GE Global Research