47
Surface Reconstruction from 3D Volume Data

Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

  • View
    229

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Surface Reconstructionfrom

3D Volume Data

Page 2: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Problem Definition

• Construct polyhedral surfaces from regularly-sampled 3D digital volumes.

Page 3: Surface Reconstruction from 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

Page 4: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes
Page 5: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes
Page 6: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes
Page 7: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes
Page 8: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 9: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 10: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Example of iso-surface extraction

Page 11: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 12: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 13: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

2D-Based Reconstruction1. 2D contours extraction.

– boundary following (left hand on the wall).– sequential scanning.

2. Surface tiling – establish correspondences between points

Page 14: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 15: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

• 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)

Page 16: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

3D Based Reconstruction• Define 3D elements as VOXELS and the

connectivity between them. Two representations:

Boundary element as a face

Boundary elementas a vertex

Page 17: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Block and beveled form duality

Page 18: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 19: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

The Marching Cube

Page 20: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Cube representation

Page 21: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Surface topology within a cube

Page 22: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 23: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Instances of the same case

Page 24: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

14 cases of surface topologies

Page 25: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes
Page 26: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 27: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 28: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 29: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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.

Page 30: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 31: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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.

Page 32: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Coherence

Page 33: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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

Page 34: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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.

Page 35: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Sampling at a higher rate

5mm between slices

1mm between slices

Page 36: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Face ambiguities

a b ce f g

d

Page 37: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Holes

Page 38: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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.

Page 39: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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.

Page 40: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

18 - adjacencies

26 - adjacencies

6 - adjacencies

Page 41: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

• 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

Page 42: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Dealing with ambiguity (3)

• Use tetrahedra and not cubes to decide where the surface intersects.

• Decompose each cube to 5 tetrahedra with 4 voxels.

Page 43: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes
Page 44: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

• 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

Page 45: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

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.

Page 46: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Single surface surrounding

all the “on” voxels -

many disjoint surfaces -

Example : 3D - checker board

Page 47: Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes

Conclusions

• Wildly used in today’s applications.

• Problems: ambiguity, self intersection

• construct high number of triangles.

• Recommended - surface simplification as post-processing step