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

Slides:



Advertisements
Similar presentations
An Architecture for Real-Time Vertebrae Drilling Simulation.
Advertisements

Lecture 5 3D Scalar Visualization Part One: Isosurfacing
Reconstruction from Voxels (GATE-540)
Advanced Iso-Surfacing Algorithms Jian Huang, CS594, Spring 2002 This set of slides are developed and used by Prof. Han-Wei Shen at Ohio State University.
3D Head Mesh Data Stereo Vision Active Stereo 3D Reconstruction 3dMD System 1.
電腦視覺 Computer and Robot Vision I
Surface Reconstruction From Unorganized Point Sets
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Extended Gaussian Images
Computer Vision Lecture 16: Texture
Isocontour/surface Extractions 2D Isocontour 3D Isosurface.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
December 5, 2013Computer Vision Lecture 20: Hidden Markov Models/Depth 1 Stereo Vision Due to the limited resolution of images, increasing the baseline.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
lecture 4 : Isosurface Extraction
Advanced Iso- Surfacing Algorithms Mengxia Zhu, Fall 2007.
Segmentation Divide the image into segments. Each segment:
Medical Image Analysis
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
Feature Sensitive Surface Extraction from Volume Data Leif P. Kobbelt Mario Botsch Ulrich Schwanecke Hans-Peter Seidel Computer Graphics Group, RWTH-Aachen.
Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005.
Fluid Surface Rendering in CUDA Andrei Monteiro Marcelo Gattass Assignment 4 June 2010.
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
Marching Cubes A High Resolution 3D Surface Construction Algorithm.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm
Volumetric and Blobby Objects Lecture 8 (Modelling)
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
1 SEGMENTATION OF BREAST TUMOR IN THREE- DIMENSIONAL ULTRASOUND IMAGES USING THREE- DIMENSIONAL DISCRETE ACTIVE CONTOUR MODEL Ultrasound in Med. & Biol.,
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Chapter 9.  Mathematical morphology: ◦ A useful tool for extracting image components in the representation of region shape.  Boundaries, skeletons,
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
University of Coimbra Reconstruction of Voxels from Sensor Data Ricardo Martins Coimbra, 19 th January 2010 Doctoral Programme in Electrical Engineering.
Surface Modeling Visualization using BrainVISA Bill Rogers UTHSCSA – Research Imaging Center.
Sparse Shape Representation using the Laplace-Beltrami Eigenfunctions and Its Application to Modeling Subcortical Structures Xuejiao Chen.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
December 4, 2014Computer Vision Lecture 22: Depth 1 Stereo Vision Comparing the similar triangles PMC l and p l LC l, we get: Similarly, for PNC r and.
Digital Image Processing CCS331 Relationships of Pixel 1.
Chapter 10, Part II Edge Linking and Boundary Detection The methods discussed in the previous section yield pixels lying only on edges. This section.
Segmentation & Modeling ImagesSegmented Images Models.
CMSC 635 Volume Rendering. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Volume Rendering CMSC 491/635. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Volume and Solid Modeling
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Solid Modeling Dr. Scott Schaefer.
Reducing Artifacts in Surface Meshes Extracted from Binary Volumes R. Bade, O. Konrad and B. Preim efficient smoothing of iso-surface meshes Plzen - WSCG.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
POLYGON MESH Advance Computer Graphics
3D Object Representations
CSc4730/6730 Scientific Visualization
3D Head Mesh Data Stereo Vision Active Stereo 3D Reconstruction
Computer Vision Lecture 5: Binary Image Processing
3D Rendering Pipeline Hidden Surface Removal 3D Primitives
Domain-Modeling Techniques
Craig Schroeder October 26, 2004
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Iso-Surface extraction from red and green samples on a regular lattice
Presentation transcript:

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

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 Reconstruction 1. 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 element as 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 2 8 = 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 The Range : 310 < I <

Surface normals (1) Calculate unit normal for each triangle vertex (for shading calculations). The gradient Vector g, is the derivative of the density function

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

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) Calculate index Read 4 slices into memory look at table Form a cube from 2 slices Interpolate normals use densities find intersection Output : triangle vertices & normals Calculate a unit normals

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 point X = 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 c efg 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 of polyhedral 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