1 / 51

Point Set Processing and Surface Reconstruction (cgal)

Point Set Processing and Surface Reconstruction (www.cgal.org). Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël Guennebaud, INRIA Bordeaux 9th ACCV Xi’an China, Sep 25-27 2009. Outline. Common pipeline Structure Documentation Demo Roadmap.

adelio
Télécharger la présentation

Point Set Processing and Surface Reconstruction (cgal)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Point Set Processing and Surface Reconstruction(www.cgal.org) Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël Guennebaud, INRIA Bordeaux 9th ACCV Xi’an China, Sep 25-27 2009

  2. Outline • Common pipeline • Structure • Documentation • Demo • Roadmap

  3. Common Pipeline Physical • Acquisition • Registration • Pre-processing • Reconstruction Digital Geometry

  4. Example Pipeline (1)laser range data Acquisition Registration Pre-processing (simplification, denoising, smoothing, …) Reconstruction

  5. Example Pipeline (2)multi-view passive stereo Acquisition & calibration Point cloud generation Pre-processing (simplification, denoising, smoothing, …) Reconstruction

  6. Structure (pipeline-oriented) Point set Analysis Processing Normals Reconstruction Contouring • Bounding box • Bounding sphere • Centroid • Average spacing • Poisson • Algebraic point set surfaces • Surface mesh generator • Simplification • Outlier removal • Smoothing • Estimation • Orientation (grayed out = in other CGAL packages)

  7. Entering the Pipeline… Clean points with oriented normals Clean point set Point set Analysis Processing Normals Reconstruction Contouring • Bounding box • Bounding sphere • Centroid • Average spacing • Poisson • Algebraic point set surfaces • Surface mesh generator • Simplification • Outlier removal • Smoothing • Estimation • Orientation Points with unoriented normals (grayed out = in other CGAL packages)

  8. Output… Point set Analysis Processing Normals Reconstruction Contouring • Bounding box • Bounding sphere • Centroid • Average spacing • Poisson • Algebraic point set surfaces • Surface mesh generator • Simplification • Outlier removal • Smoothing • Estimation • Orientation Implicitfunction Surfacetriangle mesh Clean points withoriented normals (grayed out = in other CGAL packages)

  9. Point_set_processing_3 Introduction Left: 275k points sampled on an elephant (Minolta laser scanner) Right: point set cleaned and simplified to 17K points

  10. Analysis • Bounding box • Bounding sphere • Centroid • Average spacing • reuse orthogonal search for K nearest neighbors • used by reconstruction / contouring algorithms • takes an iterator range of 3D points and parameter K

  11. Processing • Simplification • by random selection • by clustering (regular grid) • Outlier removal • sort w.r.t. sum of squared distances to KNN and cut at specified percentile. • Smoothing • jet fitting + projection

  12. Example Simplification from 100K to 50k points by random simplification

  13. Example Simplification from 100K to 50k points by clustering

  14. Example Outlier Removal (a lion and a bunch of outliers)

  15. Example Smoothing • For each point • find KNN • fit jet (smooth parametric surface) • project onto jet (noisy point set) (smoothed point set)

  16. Normals • Estimation (no orientation) • KNN + PCA (fit a plane) • KNN+jet fitting (better for noisy data) • Orientation • KNN + BGL MST (Minimum Spanning Tree)[Hoppe 92]

  17. Example Normal Estimation Normals estimation through PCA (7 KNN) Orientation through MST (7 KNN)

  18. Example Normal Orientation Normal Orientation through MST

  19. Surface_reconstruction_points_3Introduction reconstructed surface using Poisson 17K points sampled on an elephant (Minolta laser scanner) reconstructed surface using APSS (in progress)

  20. Reconstruction (1) • Poissonsurface reconstruction [Kazhdan-Bolitho-Hoppe, SGP 2006] • Solves for an implicit function (~indicator function) • Isosurface extracted by CGAL surface mesh generator

  21. Indicator function M Poisson Surface Reconstruction • Reconstruct the surface of the model by solving for the indicator function of the shape. 0 0 1 1 0 0 1 0

  22. 0 0 0 0 0 0 Indicator gradient M Poisson Surface Reconstruction • There is a relationship between the normal field and gradient of indicator function points + oriented normals

  23. Poisson Surface Reconstruction • Represent the points by a vector field • Find the function whose gradient best approximates : • Applying the divergence operator, we can transform this into a Poisson problem: 

  24. Poisson Surface Reconstruction • We solve for the Poisson equation onto the vertices of a (refined) 3D Delaunay triangulation [TAUCS linear solver]

  25. Example Poisson

  26. Example Poisson Left: 120K points sampled on child statue (Minolta laser scanner) Right: reconstructed surface

  27. Example Poisson Left: 120K points sampled on a statue (Minolta laser scanner) Right: reconstructed surface

  28. Example Poisson

  29. Example Poisson Left: 70K points with (emphasized) outliers Right: reconstructed surface

  30. Example Poisson Left: Bimba 120K reconstructed with distance = 0.25*average spacing Right: Bimba 120K reconstructed with distance = 0.15*average spacing

  31. Example Poisson Left: 65K points sampled on a hand with no data at the wrist base (Kreon laser scanner) Right: reconstructed surface

  32. Example Poisson

  33. Example Poisson Left: 50K points sampled on Neptune trident Right: point set simplified to 1K then reconstructed

  34. Example Poisson Left: points sampled on a sphere with flipped normals Right: reconstructed surface

  35. Example Poisson Left: 4K points sampled on a mechanical piece with sharp edges Right: reconstructed surface

  36. Poisson duration wrt #input points

  37. Surface meshing duration and error wrt approximation distance

  38. Memory wrt #input points

  39. Reconstruction error wrt #input points

  40. Reconstruction (2) • Algebraic point set surfaces (APSS) [Guennebaud, SIGGRAPH 2007] • Evaluates an implicit function on the fly (~signed distance function) • Isosurface extracted by CGAL surface mesh generator

  41. Based on Moving Least Squares fitting on algebraic spheres APSS

  42. Point projection APSS

  43. APSS

  44. can evaluate an implicit function at any point APSS

  45. APSS

  46. Poisson vs APSS? INPUT = 275K points sampled on an elephant (minolta laser scanner)

  47. Poisson APSS Approximation error in surface mesh generator: 0.004

  48. Poisson APSS Approximation error in surface mesh generator: 0.002

  49. Poisson APSS Approximation error in surface mesh generator: 0.001 always a bit smoother one extra component

  50. Documentation • Current: 98 pages • Reference manual available online • User manual available online Demo • Current: 3D point set demo (QT4 + QGLViewer)

More Related