Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University."— Presentation transcript:

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

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

3 Problem Align two partially- overlapping meshes given initial guess for relative transformAlign two partially- overlapping meshes given initial guess for relative transform

4 Outline 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

5 Aligning 3D Data If correct correspondences are known, can find correct relative rotation/translationIf correct correspondences are known, can find correct relative rotation/translation

6 Aligning 3D Data How to find correspondences: User input? Feature detection? Signatures?How to find correspondences: User input? Feature detection? Signatures? Alternative: assume closest points correspondAlternative: assume closest points correspond

7 Aligning 3D Data … and iterate to find alignment… and iterate to find alignment – Iterative Closest Points (ICP) [Besl & McKay 92] Converges if starting position “close enough“Converges if starting position “close enough“

8 ICP Variants Variants on the following stages of ICP have been proposed:Variants on the following stages of ICP have been proposed: 1.Selecting source points (from one or both meshes) 2.Matching to points in the other mesh 3.Weighting the correspondences 4.Rejecting certain (outlier) point pairs 5.Assigning an error metric to the current transform 6.Minimizing the error metric w.r.t. transformation

9 Performance of Variants Can analyze various aspects of performance:Can analyze various aspects of performance: – Speed – Stability – Tolerance of noise and/or outliers – Maximum initial misalignment Comparisons of many variants in [Rusinkiewicz & Levoy, 3DIM 2001]Comparisons of many variants in [Rusinkiewicz & Levoy, 3DIM 2001]

10 Outline 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

11 ICP Variants 1.Selecting source points (from one or both meshes) 2.Matching to points in the other mesh 3.Weighting the correspondences 4.Rejecting certain (outlier) point pairs 5.Assigning an error metric to the current transform 6.Minimizing the error metric w.r.t. transformation

12 Closest Compatible Point Closest point often a bad approximation to corresponding pointClosest point often a bad approximation to corresponding point Can improve matching effectiveness by restricting match to compatible pointsCan improve matching effectiveness by restricting match to compatible points – Compatibility of colors [Godin et al. 94] – Compatibility of normals [Pulli 99] – Other possibilities: curvatures, higher-order derivatives, and other local features

13 ICP Variants 1.Selecting source points (from one or both meshes) 2.Matching to points in the other mesh 3.Weighting the correspondences 4.Rejecting certain (outlier) point pairs 5.Assigning an error metric to the current transform 6.Minimizing the error metric w.r.t. transformation

14 Selecting Source Points Use all pointsUse all points Uniform subsamplingUniform subsampling Random samplingRandom sampling Normal-space samplingNormal-space sampling – Ensure that samples have normals distributed as uniformly as possible

15 Normal-Space Sampling Uniform Sampling Normal-Space Sampling

16 Result Conclusion: normal-space sampling better for mostly-smooth areas with sparse featuresConclusion: normal-space sampling better for mostly-smooth areas with sparse features Random sampling Normal-space sampling

17 Selection vs. Weighting Could achieve same effect with weightingCould achieve same effect with weighting Hard to ensure enough samples in features except at high sampling ratesHard to ensure enough samples in features except at high sampling rates However, have to build special data structureHowever, have to build special data structure Preprocessing / run-time cost tradeoffPreprocessing / run-time cost tradeoff

18 Outline 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

19 ICP Variants 1.Selecting source points (from one or both meshes) 2.Matching to points in the other mesh 3.Weighting the correspondences 4.Rejecting certain (outlier) point pairs 5.Assigning an error metric to the current transform 6.Minimizing the error metric w.r.t. transformation

20 Point-to-Plane Error Metric Using point-to-plane distance instead of point-to-point lets flat regions slide along each other [Chen & Medioni 91]Using point-to-plane distance instead of point-to-point lets flat regions slide along each other [Chen & Medioni 91]

21 ICP Variants 1.Selecting source points (from one or both meshes) 2.Matching to points in the other mesh 3.Weighting the correspondences 4.Rejecting certain (outlier) point pairs 5.Assigning an error metric to the current transform 6.Minimizing the error metric w.r.t. transformation

22 Projection to Find Correspondences Finding closest point is most expensive stage of the ICP algorithmFinding closest point is most expensive stage of the ICP algorithm Idea: use a simpler algorithm to find correspondencesIdea: use a simpler algorithm to find correspondences For range images, can simply project point [Blais 95]For range images, can simply project point [Blais 95]

23 Projection-Based Matching Slightly worse performance per iterationSlightly worse performance per iteration Each iteration is one to two orders of magnitude faster than closest-pointEach iteration is one to two orders of magnitude faster than closest-point Result: can align two range images in a few milliseconds, vs. a few secondsResult: can align two range images in a few milliseconds, vs. a few seconds

24 Application Given:Given: – A scanner that returns range images in real time – Fast ICP – Real-time merging and rendering Result: 3D model acquisitionResult: 3D model acquisition – Tight feedback loop with user – Can see and fill holes while scanning

25 Our Implementation Real-time structured-light range scanner [Hall-Holt & Rusinkiewicz, ICCV01]Real-time structured-light range scanner [Hall-Holt & Rusinkiewicz, ICCV01] Off-the-shelf camera and DLP projectorOff-the-shelf camera and DLP projector Range images at 60 Hz.Range images at 60 Hz.

26 Scanner Layout

27 Photograph

28 Real-Time Result

29 Theoretical Analysis of ICP Variants One way of studying performance is via empirical tests on various scenesOne way of studying performance is via empirical tests on various scenes How to analyze performance analytically?How to analyze performance analytically? For example, when does point-to-plane help? Under what conditions does projection-based matching work?For example, when does point-to-plane help? Under what conditions does projection-based matching work?

30 What Does ICP Do? Two ways of thinking about ICP:Two ways of thinking about ICP: – Solving the correspondence problem – Minimizing point-to-surface squared distance ICP is like Newton’s methodICP is like Newton’s method – Computing local “derivative” to obtain next step

31 What Does ICP Do? Two ways of thinking about ICP:Two ways of thinking about ICP: – Solving the correspondence problem – Minimizing point-to-surface squared distance ICP is like Newton’s methodICP is like Newton’s method – Computing local “derivative” to obtain next step

32 What Does ICP Do? Two ways of thinking about ICP:Two ways of thinking about ICP: – Solving the correspondence problem – Minimizing point-to-surface squared distance ICP is like Newton’s methodICP is like Newton’s method – Computing local “derivative” to obtain next step – ICP variants affect shape of global error function or local approximation

33 Point-to-Surface Distance

34 Point-to-Point Distance

35 Point-to-Plane Distance

36 Point-to-Multiple-Point Distance

37

38 Soft Matching and Distance Functions Soft matching equivalent to standard ICP on (some) filtered surfaceSoft matching equivalent to standard ICP on (some) filtered surface Produces filtered version of distance function  fewer local minimaProduces filtered version of distance function  fewer local minima Multiresolution minimization [Turk & Levoy 94] or softassign with simulated annealing [Gold et al. 98]Multiresolution minimization [Turk & Levoy 94] or softassign with simulated annealing [Gold et al. 98]

39 Summary Classified and compared variants of ICPClassified and compared variants of ICP Normal-space sampling for smooth meshes with sparse featuresNormal-space sampling for smooth meshes with sparse features Particular combination of variants can align two range images in a few tens of ms.Particular combination of variants can align two range images in a few tens of ms. – Real-time range scanning – Model-based tracking

40 Future Work Continuum between ICP with fancy selection (or weighting) and feature matchingContinuum between ICP with fancy selection (or weighting) and feature matching Better approximations to distance functions:Better approximations to distance functions: – Switch between point-to-point and point-to-plane depending on curvature – Elliptical approximations – Higher-order approximations

41 For More Information http://www.cs.princeton.edu/~smr/


Download ppt "Speed and Robustness in 3D Model Registration Szymon Rusinkiewicz Princeton University."

Similar presentations


Ads by Google