3d scan alignment using icp
DESCRIPTION
3D Scan Alignment Using ICP. Problem. Align two partially- overlapping meshes given initial guess for relative transform. Aligning 3D Data. If correct correspondences are known, can find correct relative rotation/translation. Aligning 3D Data. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/1.jpg)
3D Scan Alignment Using ICP3D Scan Alignment Using ICP
![Page 2: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/2.jpg)
ProblemProblem
• Align two partially-Align two partially-
overlapping meshesoverlapping meshes
given initial guessgiven initial guess
for relative transformfor relative transform
![Page 3: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/3.jpg)
Aligning 3D DataAligning 3D Data
• If correct correspondences are known, If correct correspondences are known, can find correct relative can find correct relative rotation/translationrotation/translation
![Page 4: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/4.jpg)
Aligning 3D DataAligning 3D Data
• How to find correspondences: User How to find correspondences: User input? Feature detection? Signatures?input? Feature detection? Signatures?
• Alternative: assume Alternative: assume closestclosest points points correspondcorrespond
![Page 5: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/5.jpg)
Aligning 3D DataAligning 3D Data
• … … and iterate to find alignmentand iterate to find alignment– Iterative Closest Points (ICP) [Besl & McKay Iterative Closest Points (ICP) [Besl & McKay
92]92]
• Converges if starting position “close Converges if starting position “close enough“enough“
![Page 6: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/6.jpg)
ICP VariantsICP Variants
• Variants on the following stages of ICPVariants on the following stages of ICPhave been proposed:have been proposed:
1.1. SelectingSelecting source points (from one or both meshes) source points (from one or both meshes)2.2. MatchingMatching to points in the other mesh to points in the other mesh3.3. WeightingWeighting the correspondences the correspondences4.4. RejectingRejecting certain (outlier) point pairs certain (outlier) point pairs5.5. Assigning an Assigning an error metricerror metric to the current transform to the current transform6.6. MinimizingMinimizing the error metric w.r.t. transformation the error metric w.r.t. transformation
![Page 7: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/7.jpg)
Performance of VariantsPerformance of Variants
• Can analyze various aspects of Can analyze various aspects of performance:performance:– SpeedSpeed
– StabilityStability
– Tolerance of noise and/or outliersTolerance of noise and/or outliers
– Maximum initial misalignmentMaximum initial misalignment
• Comparisons of many variants inComparisons of many variants in[Rusinkiewicz & Levoy, 3DIM 2001][Rusinkiewicz & Levoy, 3DIM 2001]
![Page 8: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/8.jpg)
ICP VariantsICP Variants
1.1. Selecting source points (from one or both meshesSelecting source points (from one or both meshes))2.2. MatchingMatching to points in the other mesh to points in the other mesh3.3. Weighting the correspondencesWeighting the correspondences4.4. Rejecting certain (outlier) point pairsRejecting certain (outlier) point pairs5.5. Assigning an error metric to the current transformAssigning an error metric to the current transform6.6. Minimizing the error metric w.r.t. transformationMinimizing the error metric w.r.t. transformation
![Page 9: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/9.jpg)
Closest Compatible PointClosest Compatible Point
• Closest point often a bad approximation Closest point often a bad approximation to corresponding pointto corresponding point
• Can improve matching effectiveness by Can improve matching effectiveness by restricting match to restricting match to compatiblecompatible points points– Compatibility of colors [Godin et al. 94]Compatibility of colors [Godin et al. 94]
– Compatibility of normals [Pulli 99]Compatibility of normals [Pulli 99]
– Other possibilities: curvatures, higher-order Other possibilities: curvatures, higher-order derivatives, and other local featuresderivatives, and other local features
![Page 10: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/10.jpg)
ICP VariantsICP Variants
1.1. Selecting source points (from one or both meshes)Selecting source points (from one or both meshes)2.2. Matching to points in the other meshMatching to points in the other mesh3.3. Weighting the correspondencesWeighting the correspondences4.4. Rejecting certain (outlier) point pairsRejecting certain (outlier) point pairs5.5. Assigning an Assigning an error metricerror metric to the current transform to the current transform6.6. Minimizing the error metric w.r.t. transformationMinimizing the error metric w.r.t. transformation
![Page 11: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/11.jpg)
Point-to-Plane Error MetricPoint-to-Plane Error Metric
• Using point-to-plane distance instead of Using point-to-plane distance instead of point-to-point lets flat regions slide point-to-point lets flat regions slide along each other [Chen & Medioni 91]along each other [Chen & Medioni 91]
![Page 12: 3D Scan Alignment Using ICP](https://reader035.vdocuments.us/reader035/viewer/2022062806/56814f34550346895dbccbd6/html5/thumbnails/12.jpg)
DemoDemo