point set processing and surface reconstruction () nader salman, inria in collaboration with pierre...
TRANSCRIPT
![Page 1: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/1.jpg)
Point Set Processing and Surface Point Set Processing and Surface ReconstructionReconstruction
(www.cgal.org)(www.cgal.org)
Nader Salman, INRIAIn collaboration withIn collaboration withPierre Alliez, INRIA
Laurent Saboret, INRIAGaël Guennebaud, INRIA Bordeaux
9th ACCV Xi’an China, Sep 25-27 2009
![Page 2: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/2.jpg)
OutlineOutline
• Common pipeline
• Structure
• Documentation
• Demo
• Roadmap
![Page 3: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/3.jpg)
Common PipelineCommon Pipeline
DigitalDigital
GeometryGeometry
PhysicalPhysical• AcquisitionAcquisition
• RegistrationRegistration
• Pre-processingPre-processing
• ReconstructionReconstruction
![Page 4: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/4.jpg)
Example Pipeline Example Pipeline (1)(1)
laser range datalaser range data
Acquisition Registration Pre-processing
(simplification, denoising, smoothing, …) Reconstruction
![Page 5: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/5.jpg)
Example Pipeline Example Pipeline (2)(2)
multi-view passive stereomulti-view passive stereo
Acquisition
& calibration
Point cloud generation
Pre-processing
(simplification, denoising, smoothing, …)
Reconstruction
![Page 6: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/6.jpg)
Structure Structure (pipeline-oriented)(pipeline-oriented)
Analysis Processing Normals Reconstruction Contouring
• Bounding box
• Bounding sphere
• Centroid
• Average spacing
• Surface mesh generator
• Poisson
• Algebraic point set surfaces
• Estimation
• Orientation
• Simplification
• Outlier removal
• Smoothing
Point set
(grayed out = in other CGAL packages)
![Page 7: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/7.jpg)
Entering the Pipeline…Entering the Pipeline…
Analysis Processing Normals Reconstruction Contouring
• Bounding box
• Bounding sphere
• Centroid
• Average spacing
• Surface mesh generator
• Poisson
• Algebraic point set surfaces
• Estimation
• Orientation
• Simplification
• Outlier removal
• Smoothing
Clean point set
Points with unoriented normals
Point set Clean points with oriented normals
(grayed out = in other CGAL packages)
![Page 8: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/8.jpg)
Output…Output…
Analysis Processing Normals Reconstruction Contouring
• Bounding box
• Bounding sphere
• Centroid
• Average spacing
• Surface mesh generator
• Poisson
• Algebraic point set surfaces
• Estimation
• Orientation
• Simplification
• Outlier removal
• Smoothing
Point set
Implicitfunction
Surfacetriangle mesh
Clean points withoriented normals(grayed out = in other CGAL packages)
![Page 9: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/9.jpg)
Right: point set cleaned and simplified to 17K points
Left: 275k points sampled on an elephant (Minolta laser scanner)
Point_set_processing_3 Point_set_processing_3 IntroductionIntroduction
![Page 10: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/10.jpg)
AnalysisAnalysis
• 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
![Page 11: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/11.jpg)
ProcessingProcessing
• 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
![Page 12: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/12.jpg)
from 100K to 50k points by random simplificationfrom 100K to 50k points by random simplification
Example SimplificationExample Simplification
![Page 13: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/13.jpg)
from 100K to 50k points by clusteringfrom 100K to 50k points by clustering
Example SimplificationExample Simplification
![Page 14: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/14.jpg)
Example Outlier RemovalExample Outlier Removal
(a lion and a bunch of outliers)
![Page 15: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/15.jpg)
Example SmoothingExample SmoothingFor each point
• find KNN
• fit jet (smooth parametric surface)
• project onto jet
(noisy point set) (smoothed point set)
![Page 16: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/16.jpg)
NormalsNormals
• Estimation (no orientation)– KNN + PCA (fit a plane)– KNN + jet fitting (better for noisy data)
• Orientation– KNN + BGL MST (Minimum Spanning Tree)
[Hoppe 92]
![Page 17: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/17.jpg)
Example Normal EstimationExample Normal Estimation
Normals estimation through PCA (7 KNN)Normals estimation through PCA (7 KNN)Orientation through MST (7 KNN)Orientation through MST (7 KNN)
![Page 18: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/18.jpg)
Example Normal OrientationExample Normal Orientation
Normal Orientation through MSTNormal Orientation through MST
![Page 19: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/19.jpg)
Surface_reconstruction_points_3Surface_reconstruction_points_3IntroductionIntroduction
reconstructed surface using Poisson
17K points sampled on an elephant (Minolta
laser scanner)
reconstructed surface using APSS (in progress)
![Page 20: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/20.jpg)
Reconstruction Reconstruction (1)(1)
• Poisson surface reconstruction [Kazhdan-Bolitho-Hoppe, SGP 2006]– Solves for an implicit function (~indicator
function)– Isosurface extracted by CGAL surface
mesh generator
![Page 21: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/21.jpg)
Poisson Surface ReconstructionPoisson Surface Reconstruction
• Reconstruct the surface of the model by solving for the indicator function of the shape.
Mp
MppM if0
if1
MIndicator function
01
0
00
0
1
1
![Page 22: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/22.jpg)
Poisson Surface ReconstructionPoisson Surface Reconstruction
There is a relationship between the normal field and gradient of indicator function
M
Indicator gradient
0 0
0
0
0
0
points + oriented normals
![Page 23: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/23.jpg)
Poisson Surface ReconstructionPoisson 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:
V
V
min
VV
V
![Page 24: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/24.jpg)
Poisson Surface ReconstructionPoisson Surface Reconstruction
• We solve for the Poisson equation onto the vertices of a (refined) 3D Delaunay triangulation [TAUCS linear solver]
![Page 25: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/25.jpg)
Example PoissonExample Poisson
![Page 26: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/26.jpg)
Right: reconstructed surfaceLeft: 120K points sampled on child statue (Minolta laser scanner)
Example PoissonExample Poisson
![Page 27: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/27.jpg)
Right: reconstructed surfaceLeft: 120K points sampled on a statue (Minolta laser scanner)
Example PoissonExample Poisson
![Page 28: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/28.jpg)
Example PoissonExample Poisson
![Page 29: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/29.jpg)
Right: reconstructed surfaceLeft: 70K points with (emphasized) outliers
Example PoissonExample Poisson
![Page 30: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/30.jpg)
Right: Bimba 120K reconstructed with distance = 0.15*average spacing
Left: Bimba 120K reconstructed with distance = 0.25*average spacing
Example PoissonExample Poisson
![Page 31: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/31.jpg)
Right: reconstructed surfaceLeft: 65K points sampled on a hand with no data at the wrist base (Kreon laser scanner)
Example PoissonExample Poisson
![Page 32: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/32.jpg)
Example PoissonExample Poisson
![Page 33: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/33.jpg)
Right: point set simplified to 1K then reconstructed
Left: 50K points sampled on Neptune trident
Example PoissonExample Poisson
![Page 34: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/34.jpg)
Right: reconstructed surfaceLeft: points sampled on a sphere with flipped normals
Example PoissonExample Poisson
![Page 35: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/35.jpg)
Right: reconstructed surfaceLeft: 4K points sampled on a mechanical piece with sharp edges
Example PoissonExample Poisson
![Page 36: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/36.jpg)
Poisson duration wrt #input pointsPoisson duration wrt #input points
![Page 37: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/37.jpg)
Surface meshing duration and Surface meshing duration and error wrt approximation distanceerror wrt approximation distance
![Page 38: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/38.jpg)
Memory wrt #input pointsMemory wrt #input points
![Page 39: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/39.jpg)
Reconstruction error wrt #input Reconstruction error wrt #input pointspoints
![Page 40: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/40.jpg)
Reconstruction Reconstruction (2)(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
![Page 41: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/41.jpg)
APSSAPSS
• Based on Moving Least Squares fitting on algebraic spheres
![Page 42: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/42.jpg)
APSSAPSS
• Point projection
![Page 43: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/43.jpg)
APSSAPSS
![Page 44: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/44.jpg)
APSSAPSS
can evaluate an implicit function at any point
![Page 45: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/45.jpg)
APSSAPSS
![Page 46: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/46.jpg)
Poisson vs APSS?Poisson vs APSS?
INPUT = 275K points sampled on an elephant (minolta laser scanner)
![Page 47: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/47.jpg)
PoissonPoisson APSSAPSS
Approximation error in surface mesh generator: 0.004
![Page 48: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/48.jpg)
PoissonPoisson APSSAPSS
Approximation error in surface mesh generator: 0.002
![Page 49: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/49.jpg)
PoissonPoisson APSSAPSS
Approximation error in surface mesh generator: 0.001
always a bit smoother
one extra component
![Page 50: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/50.jpg)
DocumentationDocumentation
• Current: 98 pages
• Reference manual available online
• User manual available online
DemoDemo
• Current: 3D point set demo (QT4 + QGLViewer)
![Page 51: Point Set Processing and Surface Reconstruction () Nader Salman, INRIA In collaboration with Pierre Alliez, INRIA Laurent Saboret, INRIA Gaël](https://reader034.vdocuments.us/reader034/viewer/2022051217/56649eab5503460f94bb16b8/html5/thumbnails/51.jpg)
The EndThe End