Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from...
-
date post
19-Dec-2015 -
Category
Documents
-
view
234 -
download
0
Transcript of Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from...
Surface Reconstructionfrom
3D Volume Data
Problem Definition
• Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
Medical data sources• CT (Computed Tomography)
• MRI (Magnetic Resonance Imaging)
• SPECT (Single Photon Emission Computed Tomography)
• Parallel slices at intervals of 1 to 5mm
• Gray-level images with 8 or 12 bits
• Usually 128x128 to 512 x 512 pixel images
Assumptions• Structured data
– Slices are parallel and along Z axis – The XY plane is sampled uniformly– The sampling is dense and uniform
• Spatial coherence
• Curvature
Boundary segmentation
• Gray levels correspond to different bone and tissue densities (Hounsfield units)
• Segmentation of different types of organs based on predetermined gray values
• Extraction of iso-surfaces: surfaces whose pixels are within predetermined range
Example of iso-surface extraction
Desired properties of the reconstruction
• Agree with the data – should not create new features– should contain all existing features
• Correct topology
• Position and rotation invariance
• Surface continuity
Reconstruction methods• 2D methods (contour matching)
extract contours in each image separately and then try to connect them to form the surface
• 3D methods (Marching cubes)
work on consequent images, constructing pieces of the surface connecting them
2D-Based Reconstruction1. 2D contours extraction.
– boundary following (left hand on the wall).– sequential scanning.
2. Surface tiling – establish correspondences between points
2D Reconstruction: problems• How to match the points?
– individual 2D contour sampling does not necessarily make points correspond
– closest point matching + manual corrections– smoothing contours to reduce number of points
• Topological problems – self intersection– inconsistent topology
• Inherent asymmetry: – the XY plane is treated differently than the
other planes.– This cause the algorithm to be dependent of the
object’s orientation.
2D-based reconstruction: problems (2)
3D Based Reconstruction• Define 3D elements as VOXELS and the
connectivity between them. Two representations:
Boundary element as a face
Boundary elementas a vertex
Block and beveled form duality
Marching cubes algorithm
• Look at eight pixels in two consecutive slices
• Determine if a surface goes through according to the values at its edges
• If a surface goes through, construct the surface elements and “march on” to adjacent voxels
The Marching Cube
Cube representation
Surface topology within a cube
Surface topologies: cases• A cube with 8 vertices, each is either 1
(inside object) or 0 (outside)
• Total of 28 = 256 cases to examine(one bit to each vertex).
• The 8 bits form an 8 bit index to a 256-entries edge table.
• Reduce number of entries by symmetry
Instances of the same case
14 cases of surface topologies
Positioning the Surface• Find the exact location of the surface’s
vertices on the voxel’s edges.
• The original vertices gray levels are linearly interpolated.
• Higher order interpolation can be used but experiments show little improvement.
240
180
The Range :310 < I < 200
200
Surface normals (1)
• Calculate unit normal for each triangle vertex (for shading calculations).
• The gradient Vector g, is the derivative of the density function
),,(),,( zyxfzyxg
Surface normals (2)• Estimate the gradient vector at the cube
vertices.• For each vertex :
D(i,j,k) - density at pixel(i,j) in slice k, length of the cube edges. slices distance
z
kjiDkjiDkji
y
kjiDkjiDkji
x
kjiDkjiDkji
G
G
G
z
y
z
)1,,()1,,(),,(
),1,(),1,(),,(
),,1(),,1(),,(
yx, z
Surface normals (3)• Linearly interpolate the gradient at the point
of intersection.
• Dividing the gradient by it’s length produce the unit normal at the vertex.
• On a surface the direction of the gradient vector is the normal to this surface.
• Keep only 4 slices in memory in order to calculate at all vertices of the cube.
Marching Cubes Algorithm(Lorenson , Cline 1987)
Calculateindex
Read 4 slicesinto memory
look at table
Form a cubefrom 2 slices
Interpolate normals
use densitiesfind intersection
Output : trianglevertices & normals
Calculate a unitnormals
Efficiency Enhancement• Take advances of pixels, lines and slice
coherence.
• 3 new edges need to be interpolated for each cube (for interior cubes) instead of 12.
• Decrease the number of triangles by reducing the slice resolution - averaging 4 pixels into one.
Coherence
Desired properties of the reconstruction
• Agree with the data – should not create new features– should contain all existing features
• Correct topology
• Position and rotation invariance
• Surface continuity
constructed model
original surface
outside point
inside pointX = 0.5mm
Z = 5mm
Surface quality • Non uniform sampling in the X-Y and Z
planes causes “steps” results.
Sampling at a higher rate
5mm between slices
1mm between slices
Face ambiguities
a b ce f g
d
Holes
Dealing with ambiguity (1)
• Supersampling - interpolate to obtain new values which are used to disambiguate.
1. calculate each face separately
2. disambiguate by calculating the value of the center of face.
Dealing with ambiguity (2)
• Voxel Topology - evaluate vertex adjacencies and check consistency in order to disambiguate.The surface should separate not only “on”-”off” voxels but also “on” voxels that are not locally adjacent.
18 - adjacencies
26 - adjacencies
6 - adjacencies
• Create objects that are connected according to pre-defined adjacency
• Resolve face ambiguity and objects can be unambiguously recover from it’s surface.
• Advantage : No need to hold actual data values (gray levels), but binary data.No need to interpolate Faster
Dealing with ambiguity (3)
• Use tetrahedra and not cubes to decide where the surface intersects.
• Decompose each cube to 5 tetrahedra with 4 voxels.
• No ambiguous cases.
• 14 ways that surface can pass through tetrahedron reduced by rotation and complementary symmetry to 2 cases :
• disadvantage :higher number ofpolyhedral faces
• recommended :preprocessing merging procedure
Tetrahedra - problems
• Non uniform topology on the voxels. 2 voxels are adjacent iff they lay in the same tetrahedron : T-adjacency.
• Result : Not translation invariant - the surface construction depends also on the position of the objects
ambiguous surface construction.
Single surface surrounding
all the “on” voxels -
many disjoint surfaces -
Example : 3D - checker board
Conclusions
• Wildly used in today’s applications.
• Problems: ambiguity, self intersection
• construct high number of triangles.
• Recommended - surface simplification as post-processing step