5 1 surface registration
play

5.1 Surface Registration Hao Li http://cs599.hao-li.com 1 - PowerPoint PPT Presentation

Spring 2015 CSCI 599: Digital Geometry Processing 5.1 Surface Registration Hao Li http://cs599.hao-li.com 1 Administrative Next Thursday, lets capture some stuff, bring yourself or an object of your choice. 2 Acknowledgement Images and


  1. Spring 2015 CSCI 599: Digital Geometry Processing 5.1 Surface Registration Hao Li http://cs599.hao-li.com 1

  2. Administrative • Next Thursday, let’s capture some stuff, bring yourself or an object of your choice. 2

  3. Acknowledgement Images and Slides are courtesy of � • Prof. Szymon Rusinkiewicz, Princeton University • ICCV Course 2005: http://www.cis.upenn.edu/~bjbrown/ iccv05_course/ 3

  4. Surface Registration Align two partially-overlapping � meshes given initial guess for � relative transform 4

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

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

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

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

  9. 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 k Rp i + t � q i k 2 E = � • Minimize (closed form solution in [Horn 87]) 9

  10. Shape Matching: Translation • Define bary-centered point sets m m � 1 1 � � ¯ := ¯ := p p i q q i m m � i =1 i =1 ˆ p i − ¯ ˆ q i − ¯ := := p i p q i q � � • Optimal translation vector maps barycenters onto each t other t = ¯ p − R ¯ q 10

  11. Shape Matching: Rotation • Approximate nonlinear rotation by general matrix � q i ⇤ 2 q i ⇤ 2 � � ⇤ ˆ p i � R ˆ ⇥ ⇤ ˆ p i � A ˆ min min R A � i i • The least squares linear transformation is � � m � m ⇥ − 1 ⇥ ⇤ ⇤ q T q T R 3 × 3 A = p i ˆ ˆ q i ˆ ˆ ∈ I � · i i i =1 i =1 � • SVD & Polar decomposition extracts rotation from A A = U Σ V T R = UV T → 11

  12. ICP Variants 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 (outliers) point pairs 5. Assigning an error metric to the current transform 6. Minimizing the error metric w.r.t. transformation 12

  13. ICP 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] 13

  14. 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 (outliers) point pairs 5. Assigning an error metric to the current transform � 6. Minimizing the error metric w.r.t. transformation 14

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

  16. Point-to-Plane Error Metric • Error function: � � 2 X � ( Rp i + t − q i ) > n i E = � where is a rotation matrix, is a translation vector R t • Linearize (i.e. assume that , ): sin θ ≈ θ cos θ ≈ 1 �   r x � 2 + r > ( p i × n i ) + t > n i ) 2 X � ( p i − q i ) > n i � E ≈ r = r y   r z � • Result: overconstrained linear system 16

  17. Point-to-Plane Error Metric • Overconstrained linear system � Ax = b   � r x   − ( p 1 − q 1 ) > n 1   p 1 × n 1 n 1 r y ← → ← →     � − ( p 2 − q 2 ) > n 2 r z p 2 × n 1 n 2 ← → ← →   b = A =     x =   . t x       . . . .   . . � t y . .   t z � • Solve using least squares A > Ax = A > b x = ( A > A ) � 1 A > b 17

  18. Improving ICP Stabilitiy • Closest compatible point • Stable sampling

  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 (outliers) point pairs 5. Assining an error metric to the current transform 6. Minimizing the error metric w.r.t. transformation 19

  20. Closest Point Search • Find closest point of a query point • Brute force: O ( n ) complexity � • Use Hierarchical BSP tree • Binary space partitioning tree (general kD-tree) • Recursively partition 3D space by planes • Tree should be balanced, put plane at median • log( n ) tree levels, complexity O ( n log n ) 20

  21. BSP Closest Point Search A P A D F B C D E F G P B P C E G 21

  22. BSP Closest Point Search A P A D F B C D E F G P B P C E G 22

  23. BSP Closest Point Search A P A D F B C D E F G P B P C E G 23

  24. BSP Closest Point Search A P A D F B C D E F G P B P C E G 24

  25. BSP Closest Point Search A P A D F B C D E F G P B P C E G 25

  26. BSP Closest Point Search BSPNode::dist(Point x, Scalar& dmin) � { � if (leaf_node()) � for each sample point p[i] � dmin = min(dmin, dist(x, p[i])); � � else � { � d = dist_to_plane(x); � if (d < 0) � { � left_child->dist(x, dmin); � if (|d| < dmin) right_child->dist(x, dmin); � } � else � { � right_child->dist(x, dmin); � if (|d| < dmin) left_child->dist(x, dmin); � } � } � } 26

  27. 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: curvature, higher-order derivatives, and other local features (remember: data is noisy) 27

  28. 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 (outliers) point pairs 5. Assining an error metric to the current transform 6. Minimizing the error metric w.r.t. transformation 28

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

  30. Stable Sampling Uniform Sampling Stable Sampling 30

  31. Covariance Matrix A > Ax = A > b • Aligning transform is given by , where �   r x   − ( p 1 − q 1 ) > n 1 �   p 1 × n 1 n 1 r y ← → ← →     − ( p 2 − q 2 ) > n 2 r z p 2 × n 1 n 2 ← → ← →   b = A =     x =   . t x   �     . . . .   . . t y . .   t z � C = A > A • Covariance matrix determines the change in error when surfaces are moved from optimal alignment 31

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

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

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

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

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

  37. Improving ICP Speed Projection-based matching 1. Selecting source points (from one or both meshes) 2. Matching to points in the other mesh � 3. Weighting the correspondences 4. Rejecting certain (outliers) point pairs 5. Assining an error metric to the current transform 6. Minimizing the error metric w.r.t. transformation 37

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

  39. Projection to Find Correspondence • 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 39

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

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