Feature Sensitive Surface Extraction from Volume Data

Download Report

Transcript Feature Sensitive Surface Extraction from Volume Data

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)