Surface Reconstruction Some figures by Turk, Curless, Amenta, et al.

Post on 20-Dec-2015

218 views 1 download

Tags:

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