Feature Sensitive Surface Extraction from Volume Data

advertisement
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
uniform 65×65×65 grid
Standard MC
Standard MC +
Enhanced distance field
Extended MC
Extended MC +
Enhanced distance field
• The above figures show reconstructions of the
well-known “fandisk” dataset.
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
x2+y2+z2-R2=0
– 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.
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 S  3 , a volume representation
consists of a scalar valued function f : 3   such
that
[ x, y , z ]  S  f ( x, y , z )  0
• Signed distance field function
f ( x, y, z ) : dist ([ x, y, z ], S )
> 0 outside the surface
< 0 inside the surface
= 0 on the surface
Operation
U
A
B
[ x, y, z ]  S1  S2  max{ f1 ( x, y, z), f 2 ( x, y, z)}  0
[ x, y, z ]  S1  S2  min{ f1 ( x, y, z), f 2 ( x, y, z)}  0
A-B
[ x, y, z]  S1  S2  max{ f1 ( x, y, z), f 2 ( x, y, z)}  0
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
these 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.
 dist x 
d i , j ,k dist y 


 dist z 
> 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)
s  (1 | di , j ,k [ x ] | / h) gi , j ,k  (| di , j ,k [ x ] | / h) gi 1, j ,k
• It is valid if d i , j ,k [ x ] and di1, j ,k [ x ] have opposite signs.
h
gi,j,k
S
gi+,j,k
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
Y
D2Y > 0
X
Surface
Exact intersection
point
D1Y < 0
D3X > 0
D1X < 0
Extended marching cubes
tangent element
normal
Reconstructed
surface
normal
tangent element
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
feature. (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
129129129
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)
Download