View
217
Download
1
Embed Size (px)
Citation preview
Feature Sensitive Surface Extraction from Volume Data
Leif P. Kobbelt
Mario Botsch
Ulrich Schwanecke
Hans-Peter Seidel
Computer Graphics Group, RWTH-Aachen
Computer Graphics Group, MPI Saarbrucken
Proc. Of ACM SIGGRAPH 2001 , page 57 66
Abstract
• A new technique to extract high quality triangle meshes from volume data.
• The main two contributions are:– Enhanced distance field representation
– Extended Marching Cubes (EMC)
• About Standard Marching Cubes (MC)
Abstract
• The above figures show reconstructions of the well-known “fandisk” dataset.
Standard MC Standard MC +
Enhanced distance field
Extended MC Extended MC +
Enhanced distance field
uniform 65×65×65 grid
About Standard Marching Cubes
Introduction
• The volume data is usually sampled on a regular grid with a given step width.
• We often observe severe alias artifacts at sharp features on the extracted surfaces.
– Reduce these alias effect– Keep the simple algorithmic structure of the standard
MC algorithm
Alias artifacts
• The Marching-Cubes-type algorithm process discrete volume data.
• The sampling of the implicit surface f(x,y,z)=0 is performed on the basis of a uniform spatial grid.
Parametric surfaces v.s. Implicit surfaces
• Parametric surfaces– A mapping from R2(u,v) to R3(x,y,z)– Parametrized by u and v.
x=f(u,v) y=g(u,v) z=h(u,v)
– Allows easy enumeration of points. Just plug in values for u and v.
Parametric surfaces v.s. Implicit surfaces
• Implicit surfaces– Defined by f(x,y,z)=0
• Advantages– Easy to check whether a point is “inside” and “outside”
– Inside: f(x,y,z) < 0
• Disadvantages– One cannot easily enumerate points on the surface.
x2+y2+z2-R2=0
Introduction
• The central contributions of this paper are:– Enhanced representation of the distance field
• This allows us to find more accurate surface.
• Store directed distance in x, y, and z directions.
– Extended Marching Cubes algorithm• Reduce alias
(converge to the original surface’s normals.)
Distance field representation• For a given surface , a volume representation
consists of a scalar valued function such that
• Signed distance field function
3S3:f
0),,(],,[ zyxfSzyx
)],,,([:),,( Szyxdistzyxf
> 0 outside the surface< 0 inside the surface= 0 on the surface
Operation
A B
U21],,[ SSzyx 0)},,(),,,(max{ 21 zyxfzyxf
21],,[ SSzyx 0)},,(),,,(min{ 21 zyxfzyxf
21],,[ SSzyx 0)},,(),,,(max{ 21 zyxfzyxf
21],,[ SSzyx 0)},,(),,,(max{ 21 zyxfzyxfA - B
Distance field representation
• The standard way to sample f on a uniform spatial grid gi,j,k = [ ih, jh, kh ].
• The sampled distances di,j,k = f ( ih, jh, kh )
can be interpolated on each grid cell.
Ci,j,k (h) = [ ih, (i+1)h ] × [ jh, (j+1)h ] × [ kh, (k+1)h ]
Distance field representation
• The major limitation of this technique is that the samples on S* are not necessarily close to S in the vicinity of sharp features.
S
S*
Distance field representation
• To improve the approximation one could refine the discretization grid h h’ < h or switch to higher order polynomial interpolants within each cell Ci,j,k (h).
• First case: – output a larger number of triangles.
• Second case: – local computations are getting more complicated.
Distance field representation• Therefore we suggest a third alternative to avoid t
hese difficulties by using the directed distance field.
• We store at each grid point gi,j,k three directed distances in x, y, and z direction.
z
y
x
kji
dist
dist
dist
d ,,
> 0 outside the surface< 0 inside the surface= 0 on the surface
The three directed distances at one grid point always have the same sign.
( inside / outside status )
Distance field representation
• The intersection point (Interpolation)
• It is valid if and have opposite signs.
kjikjikjikji ghxdghxds ,,1,,,,,, )/|][(|)/|][|1(
][,, xd kji ][,,1 xd kji
gi,j,k gi+,j,kS
h
Distance field representation
Standard MC Standard MC +
Enhanced distance field
Extended marching cubes• Marching cubes in general cannot reconstruct very
sharp features and result in aliasing artifacts.– Problem : normals don’t converge
– Alias errors in surfaces generated by the MC algorithm.– By decreasing the grid size, the effect becomes less and
less visible.
Extended marching cubes• What we can do
– By using point and normal information on both sides of the sharp feature one can find a good estimate for the feature point at the intersection of the tangent elements.
Extended marching cubes
D2Y > 0
X
Y
D1X < 0D3X > 0
D1Y < 0
Surface
Exact intersectionpoint
Extended marching cubes
normal
tangent element
normal
tangent element
Reconstructedsurface
Extended marching cubes
• This works only if there is at most one sharp feature.
• Just like the standard MC, the extended algorithm processes each cell Ci,j,k (h) separately.
• If the cell does not contain a sharp feature– by using the standard Marching Cubes table.
• If a feature is present– We compute one new sample point close to the expected f
eature. (generate a triangle fan)
Extended marching cubes
• For each cell we first have to check if a feature is present and if yes, which type of feature.
Extended marching cubes
• Postprocessing step– Left : the cells/patches that contain a feature are identified.
– Center : one new sample is included per cell.
– Right : by using edge flipping to reconstruct the feature edges.
Extended marching cubes
Extended MC Extended MC +
Enhanced distance field
Result
– The execution times include only the running times for standard and extended MC, respectively.
– The (directed) distance fields and gradients have been generated in a pre-process.
Result - CSG
Result – Fan Disk
Standard MC Standard MC +
Enhanced distance field
Extended MC Extended MC +
Enhanced distance field
Result – Max Planck
Low pass filter
Result – CAD
129129129
Application – Milling simulation
Application – Surface reconstruction
– The original dataset consists 200K scattered points
Application - Remeshing
• Polygonal meshes that are generated at some intermediate stage of an industrial CAD process often have a bad quality.
– Convert a CAD model into a volume representation by sampling its distance field on a uniform grid.
– Apply the extended Marching Cubes algorithm to this volume gives a remeshed version.
Conclusions and future directions
• Adaptively refined octrees.– The problem is to fix the gaps
(different refinement levels meet)
• Parallelization– The algorithm processes each cell individually.
(like the standard Marching Cubes)