Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from...

Preview:

Citation preview

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

Recommended