Surface Reconstruction Some figures by Turk, Curless, Amenta, et al.
-
date post
20-Dec-2015 -
Category
Documents
-
view
218 -
download
1
Transcript of Surface Reconstruction Some figures by Turk, Curless, Amenta, et al.
Surface ReconstructionSurface Reconstruction
Some figures by Turk, Curless, Amenta, et al.Some figures by Turk, Curless, Amenta, et al.
Two Related ProblemsTwo Related Problems
• Given a point cloud, construct a surfaceGiven a point cloud, construct a surface
• Given several aligned scans (range Given several aligned scans (range images), construct a surfaceimages), construct a surface
Surface Reconstruction from Surface Reconstruction from Point CloudsPoint Clouds
• Most techniques figure out how to connect up Most techniques figure out how to connect up “nearby” points“nearby” points
• Need sufficiently dense sampling, little noiseNeed sufficiently dense sampling, little noise
• Delaunay triangulation: connect nearest Delaunay triangulation: connect nearest pointspoints– Officially, a triangle is in the Delaunay triangulation Officially, a triangle is in the Delaunay triangulation
iff its circumcircle does not contain any pointsiff its circumcircle does not contain any points
The “Crust” AlgorithmThe “Crust” Algorithm
• Amenta et al., 1998Amenta et al., 1998
• Medial axis: set of points equidistant Medial axis: set of points equidistant from 2 original pointsfrom 2 original points
• In 2D:In 2D:
Medial Axes in 3DMedial Axes in 3D
• May contain surfaces as well as edges May contain surfaces as well as edges and verticesand vertices
Voronoi DiagramsVoronoi Diagrams
• Partitioning of plane according to Partitioning of plane according to closest point (in a discrete point set)closest point (in a discrete point set)
• A subset of Voronoi vertices is an A subset of Voronoi vertices is an approximation to medial axisapproximation to medial axis
The “Crust” AlgorithmThe “Crust” Algorithm
• Compute Voronoi Compute Voronoi diagramdiagram
• Compute Delaunay Compute Delaunay triangulation of triangulation of original points + original points + Voronoi verticesVoronoi vertices
Voronoi Cells in 3DVoronoi Cells in 3D
• Some Voronoi vertices lie neither near Some Voronoi vertices lie neither near the surface nor near the medial axisthe surface nor near the medial axis
• Keep the “poles”Keep the “poles”
Crust ResultsCrust Results
• 36K vertices36K vertices
• 23 minutes (1998)23 minutes (1998)
Crust ProblemsCrust Problems
• Problems with sharp cornersProblems with sharp corners– Medial axis touches surfaceMedial axis touches surface
– Theoretically need infinitely high samplingTheoretically need infinitely high sampling
– In practice, heuristics to choose polesIn practice, heuristics to choose poles
• Topological problemsTopological problems
The Ball Pivoting AlgorithmThe Ball Pivoting Algorithm
• Bernardini et al., 1999Bernardini et al., 1999
• Roll ball around surface, connect what it Roll ball around surface, connect what it hitshits
Alpha ShapesAlpha Shapes
Problems With Reconstruction Problems With Reconstruction fromfrom
Point CloudsPoint Clouds
Surface Reconstruction from Surface Reconstruction from Range ImagesRange Images
• Often an easier problem than Often an easier problem than reconstruction from arbitrary point reconstruction from arbitrary point cloudsclouds– Implicit information about adjacency, Implicit information about adjacency,
connectivityconnectivity
– Roughly uniform spacingRoughly uniform spacing
Surface Reconstruction From Surface Reconstruction From Range ImagesRange Images
• First, construct surface from each range First, construct surface from each range imageimage
• Then, merge resulting surfacesThen, merge resulting surfaces– Obtain average surface in overlapping Obtain average surface in overlapping
regionsregions
– Control point densityControl point density
Range Image TesselationRange Image Tesselation
• Given a range image, connect up the Given a range image, connect up the neighborsneighbors
Range Image TesselationRange Image Tesselation
• Caveat #1: can’t be too aggressiveCaveat #1: can’t be too aggressive– Introduce distance threshold for tesselationIntroduce distance threshold for tesselation
• Caveat #2: Which way to triangulate?Caveat #2: Which way to triangulate?
• Possible heuristics:Possible heuristics:– Shorter diagonalShorter diagonal
– Dihedral angle closer to 180Dihedral angle closer to 180
– Maximize smallest angle in both trianglesMaximize smallest angle in both triangles
– Always the same way (best triangle strips)Always the same way (best triangle strips)
Range Image TesselationRange Image Tesselation
Scan Merging Using ZipperingScan Merging Using Zippering
• Turk & Levoy, 1994Turk & Levoy, 1994
• Erode geometry in overlapping areasErode geometry in overlapping areas
• Stitch scans together along seamStitch scans together along seam
• Re-introduce all dataRe-introduce all data– Weighted averageWeighted average
ZipperingZippering
Point WeightingPoint Weighting
• Higher weights to points facing the Higher weights to points facing the cameracamera– Favor higher sampling ratesFavor higher sampling rates
Point WeightingPoint Weighting
• Lower weightsLower weights(tapering to 0)(tapering to 0)near boundariesnear boundaries– Smooth blendsSmooth blends
between viewsbetween views
Point WeightingPoint Weighting
Consensus GeometryConsensus Geometry
Zippering ExampleZippering Example
Zippering ExampleZippering Example