speed and robustness in 3d model registration szymon rusinkiewicz princeton university

40
Speed and Robustness Speed and Robustness in in 3D Model Registration 3D Model Registration Szymon Rusinkiewicz Szymon Rusinkiewicz Princeton University Princeton University

Post on 19-Dec-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Speed and Robustness Speed and Robustness inin

3D Model Registration3D Model Registration

Szymon RusinkiewiczSzymon Rusinkiewicz

Princeton UniversityPrinceton University

Page 2: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

No corpora callosa were harmed in the making of this talk.

Page 3: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

ProblemProblem

• Align two partially-Align two partially-

overlapping meshesoverlapping meshes

given initial guessgiven initial guess

for relative transformfor relative transform

Page 4: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

OutlineOutline

• ICP: Iterative Closest PointsICP: Iterative Closest Points

• Classification of ICP variantsClassification of ICP variants

• Better robustnessBetter robustness

• Faster alignmentFaster alignment

• ICP as function minimizationICP as function minimization

• Looking aheadLooking ahead

Page 5: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Aligning 3D DataAligning 3D Data

• If correct correspondences are If correct correspondences are known, can find correct relative known, can find correct relative rotation/translationrotation/translation

Page 6: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Aligning 3D DataAligning 3D Data

• How to find correspondences: User How to find correspondences: User input? Feature detection? input? Feature detection? Signatures?Signatures?

• Alternative: assume Alternative: assume closestclosest points points correspondcorrespond

Page 7: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Aligning 3D DataAligning 3D Data

• … … and iterate to find alignmentand iterate to find alignment– Iterative Closest Points (ICP) [Besl & Iterative Closest Points (ICP) [Besl &

McKay 92]McKay 92]

• Converges if starting position “close Converges if starting position “close enough“enough“

Page 8: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

ICP VariantsICP Variants

• Variants on the following stages of Variants on the following stages of ICPICPhave 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 9: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

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 10: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

OutlineOutline

• ICP: Iterative Closest PointsICP: Iterative Closest Points

• Classification of ICP variantsClassification of ICP variants

• Better robustnessBetter robustness

• Faster alignmentFaster alignment

• ICP as function minimizationICP as function minimization

• Looking aheadLooking ahead

Page 11: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

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 12: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

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-Other possibilities: curvatures, higher-

order derivatives, and other local featuresorder derivatives, and other local features

Page 13: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

ICP VariantsICP Variants

1.1. SelectingSelecting source points (from one or both meshes) 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 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 14: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Selecting Source PointsSelecting Source Points

• Use all pointsUse all points

• Uniform subsamplingUniform subsampling

• Random samplingRandom sampling

• Normal-space samplingNormal-space sampling– Ensure that samples have normals Ensure that samples have normals

distributeddistributedas uniformly as possibleas uniformly as possible

Page 15: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Normal-Space SamplingNormal-Space Sampling

Uniform SamplingUniform Sampling Normal-Space SamplingNormal-Space Sampling

Page 16: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

ResultResult

• Conclusion: normal-space sampling Conclusion: normal-space sampling better for mostly-smooth areas with better for mostly-smooth areas with sparse featuressparse features

Random samplingRandom sampling Normal-space samplingNormal-space sampling

Page 17: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Selection vs. WeightingSelection vs. Weighting

• Could achieve same effect with Could achieve same effect with weightingweighting

• Hard to ensure enough samples in Hard to ensure enough samples in features except at high sampling ratesfeatures except at high sampling rates

• However, have to build special data However, have to build special data structurestructure

• Preprocessing / run-time cost tradeoffPreprocessing / run-time cost tradeoff

Page 18: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

OutlineOutline

• ICP: Iterative Closest PointsICP: Iterative Closest Points

• Classification of ICP variantsClassification of ICP variants

• Better robustnessBetter robustness

• Faster alignmentFaster alignment

• ICP as function minimizationICP as function minimization

• Looking aheadLooking ahead

Page 19: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

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 20: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Point-to-Plane Error MetricPoint-to-Plane Error Metric

• Using point-to-plane distance instead Using point-to-plane distance instead of point-to-point lets flat regions slide of point-to-point lets flat regions slide along each other [Chen & Medioni along each other [Chen & Medioni 91]91]

Page 21: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

ICP VariantsICP Variants

1.1. Selecting source points (from one or both meshes)Selecting 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 22: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Projection to Find Projection to Find CorrespondencesCorrespondences

• Finding closest point is most expensive stage Finding closest point is most expensive stage ofofthe ICP algorithmthe ICP algorithm

• Idea: use a simpler algorithm to find Idea: use a simpler algorithm to find correspondencescorrespondences

• For range images, can simply project point For range images, can simply project point [Blais 95][Blais 95]

Page 23: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Projection-Based MatchingProjection-Based Matching

• Slightly worse performance per Slightly worse performance per iterationiteration

• Each iteration is one to two orders of Each iteration is one to two orders of magnitude faster than closest-pointmagnitude faster than closest-point

• Result: can alignResult: can aligntwo range imagestwo range imagesin a few milliseconds,in a few milliseconds,vs. a few secondsvs. a few seconds

Page 24: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

ApplicationApplication

• Given:Given:– A scanner that returns range images in A scanner that returns range images in

real timereal time– Fast ICPFast ICP– Real-time merging and renderingReal-time merging and rendering

• Result: 3D model acquisitionResult: 3D model acquisition– Tight feedback loop with userTight feedback loop with user– Can see and fill holes while scanningCan see and fill holes while scanning

Page 25: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Scanner LayoutScanner Layout

Page 26: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

PhotographPhotograph

Page 27: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Real-Time ResultReal-Time Result

Page 28: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Theoretical Analysis of ICP Theoretical Analysis of ICP VariantsVariants

• One way of studying performance is One way of studying performance is via empirical tests on various scenesvia empirical tests on various scenes

• How to analyze performance How to analyze performance analytically?analytically?

• For example, when does point-to-For example, when does point-to-plane help? Under what conditions plane help? Under what conditions does projection-based matching does projection-based matching work?work?

Page 29: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

What Does ICP Do?What Does ICP Do?

• Two ways of thinking about ICP:Two ways of thinking about ICP:– Solving the correspondence problemSolving the correspondence problem– Minimizing point-to-surface squared Minimizing point-to-surface squared

distancedistance

• ICP is like Newton’s methodICP is like Newton’s method– Computing local “derivative” to obtain Computing local “derivative” to obtain

next stepnext step

Page 30: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

What Does ICP Do?What Does ICP Do?

• Two ways of thinking about ICP:Two ways of thinking about ICP:– Solving the correspondence problemSolving the correspondence problem– Minimizing point-to-surface squared Minimizing point-to-surface squared

distancedistance

• ICP is like Newton’s methodICP is like Newton’s method– Computing local “derivative” to obtain Computing local “derivative” to obtain

next stepnext step

Page 31: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

What Does ICP Do?What Does ICP Do?

• Two ways of thinking about ICP:Two ways of thinking about ICP:– Solving the correspondence problemSolving the correspondence problem– Minimizing point-to-surface squared Minimizing point-to-surface squared

distancedistance

• ICP is like Newton’s methodICP is like Newton’s method– Computing local “derivative” to obtain next Computing local “derivative” to obtain next

stepstep– ICP variants affect shape ofICP variants affect shape of

global error function global error function ororlocal approximationlocal approximation

Page 32: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Point-to-Surface DistancePoint-to-Surface Distance

Page 33: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Point-to-Point DistancePoint-to-Point Distance

Page 34: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Point-to-Plane DistancePoint-to-Plane Distance

Page 35: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Point-to-Multiple-Point Point-to-Multiple-Point DistanceDistance

Page 36: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Point-to-Multiple-Point Point-to-Multiple-Point DistanceDistance

Page 37: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Soft Matching and Distance Soft Matching and Distance FunctionsFunctions

• Soft matching equivalent to standard ICP Soft matching equivalent to standard ICP on (some) filtered surfaceon (some) filtered surface

• Produces filtered version of distance Produces filtered version of distance functionfunction fewer local minima fewer local minima

• Multiresolution minimization [Turk & Multiresolution minimization [Turk & Levoy 94] or softassign with simulated Levoy 94] or softassign with simulated annealing [Gold et al. 98]annealing [Gold et al. 98]

Page 38: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

SummarySummary

• Classified and compared variants of Classified and compared variants of ICPICP

• Normal-space sampling for smooth Normal-space sampling for smooth meshes with sparse featuresmeshes with sparse features

• Particular combination of variants Particular combination of variants can align two range images in a few can align two range images in a few tens of ms.tens of ms.– Real-time range scanningReal-time range scanning– Model-based trackingModel-based tracking

Page 39: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

Future WorkFuture Work

• Continuum between ICP with fancy Continuum between ICP with fancy selectionselection(or weighting) and feature matching(or weighting) and feature matching

• Better approximations to distance Better approximations to distance functions:functions:– Switch between point-to-point andSwitch between point-to-point and

point-to-plane depending on curvaturepoint-to-plane depending on curvature– Elliptical approximationsElliptical approximations– Higher-order approximationsHigher-order approximations

Page 40: Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University

For More InformationFor More Information

http://www.cs.princeton.edu/~smr/