dynamic geometry processing
play

Dynamic Geometry Processing EG 2012 Tutorial Local, Rigid, - PowerPoint PPT Presentation

Dynamic Geometry Processing EG 2012 Tutorial Local, Rigid, Pairwise The ICP algorithm and its extensions Niloy J. Mitra University College London Eurographics 2012, Cagliari, Italy Geometric


  1. Dynamic Geometry Processing EG 2012 Tutorial Local, ¡Rigid, ¡Pairwise The ¡ICP ¡algorithm ¡and ¡its ¡extensions Niloy ¡J. ¡Mitra University ¡College ¡London

  2. Eurographics 2012, Cagliari, Italy Geometric Matching M 1 M 2 M 1 ≈ T ( M 2 ) 2

  3. Eurographics 2012, Cagliari, Italy Matching with Translation M 1 M 2 M 1 ≈ T ( M 2 ) T : translation 3

  4. Eurographics 2012, Cagliari, Italy Matching with Rigid Transforms M 1 M 2 M 1 ≈ T ( M 2 ) T : translation + rotation 4

  5. Eurographics 2012, Cagliari, Italy Partial Matching M 1 M 2 M 1 ≈ T ( M 2 ) T : translation + rotation 5

  6. Eurographics 2012, Cagliari, Italy Local vs. Global Matching global ¡registra1on local ¡registra1on any ¡rigid ¡transform nearly ¡aligned Given M 1 , . . . , M n , find T 2 , . . . , T n such that M 1 ≈ T 2 ( M 2 ) · · · ≈ T n ( M n ) 6

  7. Eurographics 2012, Cagliari, Italy ICP: Local, partial, rigid transforms How many point-pairs are needed to uniquely de fi ne a rigid transform? p 1 → q 1 p 2 → q 2 p 3 → q 3 R p i + t ≈ q i ? p i → q j Correspondence ¡problem: 7

  8. Eurographics 2012, Cagliari, Italy Pairwise Rigid Registration Goal Align two partially-overlapping meshes, given initial guess for relative transform

  9. Eurographics 2012, Cagliari, Italy Outline ICP: Iterative Closest Points Classi fi cation of ICP variants • Faster alignment • Better robustness ICP as function minimization Thin-plate spline (non-rigid ICP)

  10. Eurographics 2012, Cagliari, Italy Aligning 3D Data If correct correspondences are known, can fi nd correct relative rotation/translation

  11. Eurographics 2012, Cagliari, Italy Aligning 3D Data How to fi nd correspondences: User input? Feature detection? Signatures?

  12. Eurographics 2012, Cagliari, Italy Aligning 3D Data Assume: Closest points as corresponding p i → C ( p i )

  13. Eurographics 2012, Cagliari, Italy Aligning 3D Data ... and iterate to fi nd alignment Iterative Closest Points (ICP) [Besl and McKay 92] Converges if starting poses are close enough

  14. Eurographics 2012, Cagliari, Italy 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: X ( R p i + t − q i ) 2 E := i Minimize (closed form solution in [Horn 87] )

  15. Eurographics 2012, Cagliari, Italy ICP Variants Variants of basic ICP 1. Selec=ng ¡source ¡points ¡(from ¡one ¡or ¡both ¡meshes) 2. Matching ¡to ¡points ¡in ¡the ¡other ¡mesh 3. Weigh=ng ¡the ¡correspondences 4. Rejec=ng ¡certain ¡(outlier) ¡point ¡pairs 5. Assigning ¡an ¡error ¡metric ¡to ¡the ¡current ¡transform 6. Minimizing ¡the ¡error ¡metric ¡w.r.t. ¡transforma=on

  16. Eurographics 2012, Cagliari, Italy Performance of Variants Can analyze various aspects of performance: • Speed • Stability • Tolerance of noise and/or outliers • Maximum initial misalignment Comparisons of many variants of ICP [Rusinkiewicz & Levoy, 3DIM 2001]

  17. Eurographics 2012, Cagliari, Italy ICP Variants 1. Selec=ng ¡source ¡points ¡(from ¡one ¡or ¡both ¡meshes) 2. Matching ¡to ¡points ¡in ¡the ¡other ¡mesh 3. Weigh=ng ¡the ¡correspondences 4. Rejec=ng ¡certain ¡(outlier) ¡point ¡pairs 5. Assigning ¡an ¡error ¡metric ¡to ¡the ¡current ¡transform 6. Minimizing ¡the ¡error ¡metric ¡w.r.t. ¡transforma=on

  18. Eurographics 2012, Cagliari, Italy Point-to-Plane Error Metric Using point-to-plane distance instead of point-to-point allows fl at regions slide along each other [Chen and Medioni 91] C ( p ) n M 2 ( q ) q p

  19. Eurographics 2012, Cagliari, Italy Point-to-Plane Error Metric point-­‑to-­‑point point-­‑to-­‑plane 19

  20. Eurographics 2012, Cagliari, Italy Point-to-Plane Error Metric Error function: X (( R p i + t − q i ) · n i ) 2 E := i where R is a rotation matrix, t is translation vector Linearize (i.e., assume that sin θ ≈ θ , cos θ ≈ 1):   r x X (( p i − q i ) · n i + r · ( p i × n i ) + t · n i ) 2 with r = E ≈ r y   r z i Result: overconstrained linear system p i → R p i + t p i → ¯ c + p i × c

  21. Eurographics 2012, Cagliari, Italy Point-to-Plane Error Metric Overconstrained linear system Solve using least squares A T A x = A T b x = ( A T A ) − 1 A T b

  22. Eurographics 2012, Cagliari, Italy Improving ICP Stability Closest compatible point Stable sampling

  23. Eurographics 2012, Cagliari, Italy ICP Variants 1. Selec=ng ¡source ¡points ¡(from ¡one ¡or ¡both ¡meshes) 2. Matching ¡to ¡points ¡in ¡the ¡other ¡mesh 3. Weigh=ng ¡the ¡correspondences 4. Rejec=ng ¡certain ¡(outlier) ¡point ¡pairs 5. Assigning ¡an ¡error ¡metric ¡to ¡the ¡current ¡transform 6. Minimizing ¡the ¡error ¡metric ¡w.r.t. ¡transforma=on

  24. Eurographics 2012, Cagliari, Italy Closest Compatible Point Closest points are often bad as corresponding points Can improve matching e ff ectiveness 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

  25. Eurographics 2012, Cagliari, Italy ICP Variants 1. Selec=ng ¡source ¡points ¡(from ¡one ¡or ¡both ¡meshes) 2. Matching ¡to ¡points ¡in ¡the ¡other ¡mesh 3. Weigh=ng ¡the ¡correspondences 4. Rejec=ng ¡certain ¡(outlier) ¡point ¡pairs 5. Assigning ¡an ¡error ¡metric ¡to ¡the ¡current ¡transform 6. Minimizing ¡the ¡error ¡metric ¡w.r.t. ¡transforma=on

  26. Eurographics 2012, Cagliari, Italy Selecting Source Points Use all points Uniform subsampling Random sampling Stable sampling [Gelfand et al. 2003] • Select samples that constrain all degrees of freedom of the rigid-body transformation

  27. Eurographics 2012, Cagliari, Italy Stable Sampling Uniform ¡Sampling Stable ¡Sampling

  28. Eurographics 2012, Cagliari, Italy Covariance Matrix Aligning transform is given by A T A x = A T b , where Covariance matrix C = A T A determines the change in error when surfaces are moved from optimal alignment

  29. Eurographics 2012, Cagliari, Italy Sliding Directions Eigenvectors of C with small eigenvalues correspond to sliding transformations 3 ¡small ¡eigenvalues 3 ¡small ¡eigenvalues 2 ¡small ¡eigenvalues 2 ¡transla0on 3 ¡rota0on 1 ¡transla0on 1 ¡rota0on 1 ¡rota0on 1 ¡small ¡eigenvalue 1 ¡small ¡eigenvalue 1 ¡transla0on 1 ¡rota0on [Gelfand ¡et ¡al. ¡‘04]

  30. Eurographics 2012, Cagliari, Italy Stability Analysis Key: 3 ¡DOFs ¡stable 5 ¡DOFs ¡stable 4 ¡DOFs ¡stable 6 ¡DOFs ¡stable

  31. Eurographics 2012, Cagliari, Italy 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

  32. Eurographics 2012, Cagliari, Italy Result Stability-based or normal-space sampling important for smooth areas with small features Random ¡sampling Normal-­‑space ¡sampling

  33. Eurographics 2012, Cagliari, Italy Selection vs. Weighting Could achieve same e ff ect 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 tradeo ff

  34. Eurographics 2012, Cagliari, Italy Improving ICP Speed Projection-based matching 1. Selec=ng ¡source ¡points ¡(from ¡one ¡or ¡both ¡meshes) 2. Matching ¡to ¡points ¡in ¡the ¡other ¡mesh 3. Weigh=ng ¡the ¡correspondences 4. Rejec=ng ¡certain ¡(outlier) ¡point ¡pairs 5. Assigning ¡an ¡error ¡metric ¡to ¡the ¡current ¡transform 6. Minimizing ¡the ¡error ¡metric ¡w.r.t. ¡transforma=on

  35. Eurographics 2012, Cagliari, Italy Finding Corresponding Points Finding closest point is most expensive stage of the ICP algorithm • Brute force search – O(n) • Spatial data structure (e.g., k-d tree) – O(log n)

  36. Eurographics 2012, Cagliari, Italy Projection to Find Correspondences Idea: use a simpler algorithm to fi nd correspondences For range images, can simply project point [Blais 95] • Constant-time • Does not require precomputing a spatial data structure

  37. Eurographics 2012, Cagliari, Italy Projection-Based Matching Slightly worse performance per iteration Each 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 seconds

  38. Eurographics 2012, Cagliari, Italy 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 fi ll holes while scanning

  39. Eurographics 2012, Cagliari, Italy Scanner Layout

  40. Eurographics 2012, Cagliari, Italy Photograph

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend