Presentation is loading. Please wait.

Presentation is loading. Please wait.

Point Set Processing and Surface Reconstruction (www.cgal.org)

Similar presentations


Presentation on theme: "Point Set Processing and Surface Reconstruction (www.cgal.org)"— Presentation transcript:

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

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 Simplification Outlier removal Smoothing Estimation Orientation Poisson Algebraic point set surfaces Surface mesh generator (grayed out = in other CGAL packages)

7 Entering the Pipeline…
Point set Clean point set Clean points with oriented normals Analysis Processing Normals Reconstruction Contouring We can enter the pipeline later if we have a clean point set, or points with oriented normals, or points with unoriented normals, etc. Bounding box Bounding sphere Centroid Average spacing Simplification Outlier removal Smoothing Estimation Orientation Poisson Algebraic point set surfaces Surface mesh generator Points with unoriented normals (grayed out = in other CGAL packages)

8 Clean points with oriented normals
Output… Point set Analysis Processing Normals Reconstruction Contouring Bounding box Bounding sphere Centroid Average spacing Simplification Outlier removal Smoothing Estimation Orientation Poisson Algebraic point set surfaces Surface mesh generator Clean points with oriented normals Implicit function Surface triangle mesh (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 Average spacing Bounding box Bounding sphere Centroid
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 Outlier removal Smoothing
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) 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_3 Introduction
reconstructed surface using Poisson 17K points sampled on an elephant (Minolta laser scanner) reconstructed surface using APSS (in progress)

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

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

22 Poisson Surface Reconstruction
There is a relationship between the normal field and gradient of indicator function M Indicator gradient 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 Right: reconstructed surface
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 APSS Based on Moving Least Squares fitting on algebraic spheres

42 APSS Point projection

43 APSS

44 APSS can evaluate an implicit function at any point

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 Demo Current: 98 pages Reference manual available online
User manual available online Demo Current: 3D point set demo (QT4 + QGLViewer)

51 The End


Download ppt "Point Set Processing and Surface Reconstruction (www.cgal.org)"

Similar presentations


Ads by Google