Surface Reconstruction Some figures by Turk, Curless, Amenta, et al. Two Related Problems • Given a point cloud, construct a surface • Given several aligned scans (range images), construct a surface Surface Reconstruction from Point Clouds • Most techniques figure out how to connect up “nearby” points • Need sufficiently dense sampling, little noise • Delaunay triangulation: connect nearest points – Officially, a triangle is in the Delaunay triangulation iff its circumcircle does not contain any points The “Crust” Algorithm • Amenta et al., 1998 • Medial axis: set of points equidistant from 2 original points • In 2D: Medial Axes in 3D • May contain surfaces as well as edges and vertices Voronoi Diagrams • Partitioning of plane according to closest point (in a discrete point set) • A subset of Voronoi vertices is an approximation to medial axis The “Crust” Algorithm • Compute Voronoi diagram • Compute Delaunay triangulation of original points + Voronoi vertices Voronoi Cells in 3D • Some Voronoi vertices lie neither near the surface nor near the medial axis • Keep the “poles” Crust Results • 36K vertices • 23 minutes (1998) Crust Problems • Problems with sharp corners – Medial axis touches surface – Theoretically need infinitely high sampling – In practice, heuristics to choose poles • Topological problems The Ball Pivoting Algorithm • Bernardini et al., 1999 • Roll ball around surface, connect what it hits Alpha Shapes Problems With Reconstruction from Point Clouds Surface Reconstruction from Range Images • Often an easier problem than reconstruction from arbitrary point clouds – Implicit information about adjacency, connectivity – Roughly uniform spacing Surface Reconstruction From Range Images • First, construct surface from each range image • Then, merge resulting surfaces – Obtain average surface in overlapping regions – Control point density Range Image Tesselation • Given a range image, connect up the neighbors Range Image Tesselation • Caveat #1: can’t be too aggressive – Introduce distance threshold for tesselation Range Image Tesselation • Caveat #2: Which way to triangulate? • Possible heuristics: – – – – Shorter diagonal Dihedral angle closer to 180 Maximize smallest angle in both triangles Always the same way (best triangle strips) Scan Merging Using Zippering • Turk & Levoy, 1994 • Erode geometry in overlapping areas • Stitch scans together along seam • Re-introduce all data – Weighted average Zippering Point Weighting • Higher weights to points facing the camera – Favor higher sampling rates Point Weighting • Lower weights (tapering to 0) near boundaries – Smooth blends between views Point Weighting Consensus Geometry Zippering Example Zippering Example