Surface Reconstruction and Mesh Generation Nina Amenta University of California at Davis
Singer/Songwriters Joni Mitchell
Singer/Songwriters and Funk Bands Joni Mitchell
Other secondary sources • Jonathan Shewchuk lecture notes on mesh generation. • Surface reconstruction survey by Cazals and Giesen. • Chapter on meshing surfaces by Boissonnat, Cohen-Steiner, Mourrain, Rote, and Vegter.
Surface Reconstruction Input: Samples from object surface. Output: Polygonal model.
Laser Range Scanners Minolta; NextEngine Use triangulation on a stripe of laser light.
Structured Light Breuckmann white-light scanner. Projects patterns on object, correlates images seen by several cameras.
Other ways to get points • Stereo/photogrammetry • LiDAR Tend to be messier, CG methods not as appropriate.
Commercial Applications Reverse engineering, metrology Customization Delcam scanner and software
Academic Applications Levoy et al, Stanford Amenta/Delson, UC/CUNY Allen, Curless, Popovic, U Wash.
Mesh Generation Fill in object with well-shaped triangles or tetrahedra (or other elements). Goal: minimum angles bounded away from zero. aCute, Alper Ungor
Application Simulate physical properties on or around complex objects. heat, strain Mike Hohmeyer Christof Garth, UCD fluid flow
Finite Element/Volume Methods Numerically solve PDE for physical quantity over space, on triangle/tet mesh. Finite Element: Linearly interpolate vertex data over elements. Finite Volume: Edges represent fluxes across dual Voronoi faces.
Attack of the Computational Geometers • Define problems • Voronoi/Delaunay constructions • Provably correct algorithms, constants, running times… • Plenty of structural geometric theory
Alpha-shapes Edelsbrunner, Kirkpatrick, Seidel, 83 Union of balls -> restricted weighed Voronoi diagram -> weighted Delaunay faces (skeleton)
Alpha-shape reconstruction Edelsbrunner & Muecke, 94: 3D surface reconstruction
Difficulty Usually no ideal choice of radius.
Ball-pivoting Bernardini et al, IBM Fixed-radius ball “rolling” over points selects subset of alpha-shape.
Voronoi Diagram Approximates Medial Axis For dense surface samples in 2D, all Voronoi vertices lie near medial axis. Figure out which are inside and which are outside… Ogniewicz, 92
2D Medial Reconstruction Pink Voronoi edges approximate medial axis.
2D Curve Reconstruction Blue Delaunay edges reconstruct the curve, pink triangulate interior/exterior. Many algorithms, with proofs.
Sliver tetrahedra In 3D, some Voronoi vertices are not near medial axis …
Sliver tetrahedra …. even when samples are arbitrarily dense. Interior Voronoi balls
Poles Subset of Voronoi vertices, thepoles, approximate medial axis. Amenta & Bern, 98 “Crust” papers Interior polar balls
Sampling Requirement e-sample: distance from any surface point to nearest sample is at most small constant e times distance to medial axis. Zero at sharp corners – uh-oh.
Sampling Requirement Intuition: dense sampling where curvature is high or near features.
Kinds of Results • Assuming input sampling is dense enough, then output triangulation will be homeomorphic to, and close to, the original surface. • Usually also demonstrate robustness by implementation.
Algorithms and Software • Examine Delaunay triangles • Amenta and Bern, Crust • Amenta, Choi, Dey and Leekha, Cocone • Dey & Goswami, (water)-Tight Cocone • Dey & Giesen, undersampling errors • Inside/Outside • Boissonnat, sculpting • Boissonnat and Cazals, Natural neighbor • Amenta, Choi and Kolluri, Power crust • Kolluri, Shewchuk, O’Brien, Spectral
Distance function Giesen and John, 01,02 Distance from nearest sample.
Distance function flow Consdier uphill flow …. Idea: interior is part that flows to interior maxima.
Distance function Compute flow combinatorially using Delaunay/Voronoi Max and (some) saddle points.
Distance Functions are Pretty Stable • Distance functions of similar (Hausdorff) sets are similar • Maxima lie near near-maxima (points with small generalized gradient)
Gradient Flow Algorithms • Giesen and John • Edelsbrunner Wrap….
Geomagic Founded by Herbert Edelsbrunner. Leading system on the market.
Other Companies • Dessault – Catia – Andrei Liutier as “resident genius”, includes Nearest-neighbor reconstruction? • Imageware, RapidForm, ScanTo3D. • Bottom line - They all know we’re out here, but we are not integral to their business.
What’s really used in graphics… Poisson algorithm - Kazhdan, Bolitho, Hoppe ‘06. Define gradient at boundaries, solve PDE on octree to fill space, take level-set of implicit function.
“This CGAL component implements a state-of-the-art surface reconstruction method: Poisson Surface Reconstruction.”
Why? Noise • Noisy data sources are increasingly important. • Computing DT of whole point cloud is overkill. • Persistence is really not the answer. • Averaging in 3D is faster and better. • Distance-like functions (Chazal talk)?
Why? Delaunay bottleneck • 3D Delaunay triangulation O(n2), O(n) in practice, but still slow. • Attali, Boissonnat, Lieutier ‘03 O(n lg n) DT complxity • Funke & Ramos, ‘02, Funke & Milosavljevic ‘07, O(n lg n) thinning and then reconstructing. • Cheng, Jin, Lau, this conference. More practical O(n lg n).
For comparison… • Delaunay of 1 million 3D points ~ 1 minute. • GPU octree: 18 milliseconds • GPU k-NN: answer 1 million 50-NN queries/second (based on Bern, Chan reduction to sorting) A., Li, Simons, Parkaravor, Abbasinejad, Owens
What to work on? • Fast octree-based algorithms with proofs -> surface meshing algorithms. • Prove results about what people already do in practice. • Work on other problems related to building objects from data! • Eg, alignment (= matching)
Medial axis approximation Amenta, Choi, Kolluri, 01 Dey & Zhao, 02 Attali & Montanvert, 97 Amenta & Kolluri, 01
Medial Axis Simplification Miklos, Giesen, Pauly, SIGGRAPH 2010 Look out for…Chambers, Letscher & Ju, 2D-soon-to-be-3D line-skeleton algorithm.
Mesh generation ….like I know….
Quad/Octree algorithms Shewchuk notes Bern, Eppstein, Gilbert ‘90 – first guaranteed quality mesh generator!
Delaunay refinement All triangle angles > k (here 25o). Forces grading from small to larger. Equivalent to upper bound on circumcircle/shortest edge.
Delaunay refinement Insert circumcenters of badly-shaped triangles
Handling boundaries If circumcenter lies across a boundary edge, divide edge instead.