1 / 57

Rigid-Body Alignment

Rigid-Body Alignment. 3D Scan Matching and Registration, Part II ICCV 2005 Short Course Szymon Rusinkiewicz Princeton University. Pairwise Rigid Registration Goal. Align two partially- overlapping meshes given initial guess for relative transform. Outline. ICP: Iterative Closest Points

oma
Télécharger la présentation

Rigid-Body Alignment

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. Rigid-Body Alignment 3D Scan Matching and Registration, Part II ICCV 2005 Short Course Szymon Rusinkiewicz Princeton University

  2. Pairwise Rigid Registration Goal Align two partially-overlapping meshesgiven initial guessfor relative transform

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

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

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

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

  7. Basic ICP • Select e.g. 1000 random points • Match each to closest point on other scan,using data structure such as k-d tree • Reject pairs with distance > k times median • Construct error function: • Minimize (closed form solution in [Horn 87])

  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. 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

  11. 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]

  12. Point-to-Plane Error Metric • Error function:where R is a rotation matrix, t is translation vector • Linearize (i.e. assume that sin  , cos  1): • Result: overconstrained linear system

  13. Point-to-Plane Error Metric • Overconstrained linear system • Solve using least squares

  14. Improving ICP Stability • Closest compatible point • Stable sampling

  15. 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

  16. 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

  17. 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

  18. Selecting Source Points • Use all points • Uniform subsampling • Random sampling • Stable sampling [Gelfand et al. 2003] • Select samples that constrain all degrees of freedomof the rigid-body transformation

  19. Stable Sampling Uniform Sampling Stable Sampling

  20. Covariance Matrix • Aligning transform is given by ATAx = ATb, where • Covariance matrix C = ATA determines the change in error when surfaces are moved from optimal alignment

  21. Sliding Directions • Eigenvectors of C with small eigenvalues correspond to sliding transformations 3 small eigenvalues 2 translation 1 rotation 2 small eigenvalues 1 translation 1 rotation 3 small eigenvalues 3 rotation 1 small eigenvalue 1 translation 1 small eigenvalue 1 rotation [Gelfand]

  22. Stability Analysis Key: 3 DOFs stable 5 DOFs stable 4 DOFs stable 6 DOFs stable

  23. Sample Selection • Select points to prevent small eigenvalues • Based on C obtained from sparse sampling • Simpler variant: normal-space sampling • Select points with uniform distribution of normals • Pro: faster, does not require eigenanalysis • Con: only constrains translation

  24. Result Stability-based or normal-space sampling important for smooth areas with small features Random sampling Normal-space sampling

  25. 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

  26. Improving ICP Speed Projection-based matching • 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

  27. Finding Corresponding Points • Finding closest point is most expensive stageof the ICP algorithm • Brute force search – O(n) • Spatial data structure (e.g., k-d tree) – O(log n)

  28. Projection to Find Correspondences • Idea: use a simpler algorithm to find correspondences • For range images, can simply project point [Blais 95] • Constant-time • Does not require precomputing a spatial data structure

  29. 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

  30. 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

  31. Scanner Layout

  32. Photograph

  33. Real-Time Result

  34. 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?

  35. f(x) 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 on an approximation of the distance function

  36. 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 on an approximation of the distance function f’(x)

  37. 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 on an approximation of the distance function • ICP variants affect shape ofglobal error function orlocal approximation

  38. Point-to-Surface Distance

  39. Point-to-Point Distance

  40. Point-to-Plane Distance

  41. Point-to-Multiple-Point Distance

  42. Point-to-Multiple-Point Distance

  43. 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(good description in [Chui 03])

  44. 2D 3D [Mitra et al. 2004] Mitra et al.’s Optimization • Precompute piecewise-quadratic approximation to distance field throughout space • Store in “d2tree” data structure

  45. Mitra et al.’s Optimization • Precompute piecewise-quadratic approximation to distance field throughout space • Store in “d2tree” data structure • At run time, look up quadratic approximants and optimize using Newton’s method • More robust, wider basin of convergence • Often fewer iterations, but more precomputation

  46. Global Registration Goal • Given: n scans around an object • Goal: align them all • First attempt: ICP each scan to one other

  47. Global Registration Goal • Want method for distributing accumulated error among all scans

  48. Approach #1: Avoid the Problem • In some cases, have 1 (possibly low-resolution) scan that covers most of surface • Align all other scans to this “anchor” [Turk 94] • Disadvantage: not always practical to obtain anchor scan

  49. Approach #2: The Greedy Solution • Align each new scan to all previous scans [Masuda 96] • Disadvantages: • Order dependent • Doesn’t spread out error

  50. Approach #3: The Brute-Force Solution • While not converged: • For each scan: • For each point: • For every other scan • Find closest point • Minimize error w.r.t. transforms of all scans • Disadvantage: • Solve (6n)(6n) matrix equation,where n is number of scans

More Related