1 / 40

Speed and Robustness in 3D Model Registration

Speed and Robustness in 3D Model Registration. Szymon Rusinkiewicz Princeton University. No corpora callosa were harmed in the making of this talk. Problem. Align two partially- overlapping meshes given initial guess for relative transform. Outline. ICP: Iterative Closest Points

sef
Télécharger la présentation

Speed and Robustness in 3D Model Registration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Speed and Robustness in3D Model Registration Szymon Rusinkiewicz Princeton University

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

  3. Problem • Align two partially-overlapping meshesgiven initial guessfor relative transform

  4. Outline • ICP: Iterative Closest Points • Classification of ICP variants • Better robustness • Faster alignment • ICP as function minimization • Looking ahead

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

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

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

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

  9. Performance of Variants • 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]

  10. Outline • ICP: Iterative Closest Points • Classification of ICP variants • Better robustness • Faster alignment • ICP as function minimization • Looking ahead

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

  12. Closest Compatible Point • Closest point often a bad approximation to corresponding point • Can 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 • Selecting source points (from one or both meshes) • Matching to points in the other mesh • Weighting the correspondences • Rejecting certain (outlier) point pairs • Assigning an error metric to the current transform • Minimizing the error metric w.r.t. transformation

  14. Selecting Source Points • Use all points • Uniform subsampling • Random sampling • Normal-space sampling • Ensure that samples have normals distributedas 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 features Random sampling Normal-space sampling

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

  18. Outline • ICP: Iterative Closest Points • Classification of ICP variants • Better robustness • Faster alignment • ICP as function minimization • Looking ahead

  19. ICP Variants • Selecting source points (from one or both meshes) • Matching to points in the other mesh • Weighting the correspondences • Rejecting certain (outlier) point pairs • Assigning an error metric to the current transform • 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]

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

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

  23. Projection-Based Matching • Slightly worse performance per iteration • Each iteration is one to two orders of magnitude faster than closest-point • Result: can aligntwo range imagesin a few milliseconds,vs. a few seconds

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

  25. Scanner Layout

  26. Photograph

  27. Real-Time Result

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

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

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

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

  32. Point-to-Surface Distance

  33. Point-to-Point Distance

  34. Point-to-Plane Distance

  35. Point-to-Multiple-Point Distance

  36. Point-to-Multiple-Point Distance

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

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

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

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

More Related