statistical geometry processing
play

Statistical Geometry Processing Winter Semester 2011/2012 - PowerPoint PPT Presentation

Statistical Geometry Processing Winter Semester 2011/2012 (Deformable) Shape Matching Rigid Shape Matching Iterated Closest Points (ICP) Part B (moves, rotation & translation) Part A (stays fixed) The main idea: Pairwise matching


  1. Statistical Geometry Processing Winter Semester 2011/2012 (Deformable) Shape Matching

  2. Rigid Shape Matching

  3. Iterated Closest Points (ICP) Part B (moves, rotation & translation) Part A (stays fixed) The main idea: • Pairwise matching technique  Registers two scans  Multi-part matching is a different story (more on this later) • We want to minimize the distance between the two parts  We set up a variational problem  Minimize distance “energy” by rigid motion of one part 3

  4. Iterated Closest Points (ICP) Problem: • How to compute the distance • This is simple if we know the corresponding points .  Of course, we have in general no idea of what corresponds... • ICP-idea: set closest point as corresponding point • Full algorithm:  Compute closest point points  Minimize distance to these closest points by a rigid motion  Recompute new closest points and iterate 4

  5. Closest Points Distances: Part B (moves, rotation & translation) Part A (stays fixed) Closest points distances: Part B (moves, rotation & translation) Part A (stays fixed) 5

  6. Iteration Part B Part A Part B Part A Part B Part A final result 6

  7. Variational Formulation Variational Formulation:   n  2  2 ( A ) ( B )     arg min dist ( Rx t , A ) d x arg min Rp t p i nearest ( i ) R  SO ( 3 ),  R SO ( 3 ), i  1 B 3 3     t t Variables: Orthogonal matrix R , translation vector t 7

  8. Numerical Solution Question: How to minimize this energy? • The energy is quadratic • There is only one problem...  Constraint optimization  We have to use an orthogonal matrix... • This problem can (still) be solved exactly. 8

  9. Solution First step: computing the translation • Easy to see: average translation is optimal (c.f. total least squares) 1 n  ( A ) ( B )   t p p • i nearest ( i ) n  i 1 • This is independent of the rotation Second step: compute the rotation • (2a) Compute optimal linear map • (2b) Orthogonalize 9

  10. Optimal Linear Map First: ~ ( A ) = p i ( A ) – t • Subtract translation from points p i • Then: Solve an unconstrained least-squares problem ~   ( A )  ( B ) i 1 .. n : M p p unknowns i nearest ( i ) (9 variables)   m m m   1 , 1 2 , 1 3 , 1 ~ ( A ) ( B )    i 1 .. n :  m m m  p p 1 , 2 2 , 2 3 , 2 i nearest ( i )   m m m   1 , 3 2 , 3 3 , 3 • Finally: compute the orthogonal matrix R that is closest to M . 10

  11. Least-Squares Optimal Rotation How to compute a least-squares (Frobenius norm) orthogonal matrix that fits a general matrix: • Compute the SVD: M = UDV T • The least-squares orthogonal fit is: R = UV T (just set all singular values to one) • We can compute this in one step:  Solve the least-squares matrix fitting problem using SVD  Omit the diagonal matrix straight ahead 11

  12. Generalizations Convergence speed: • Convergence of basic “ point-to-point ” ICP is not so great  Typically: 20-50 iterations for simple examples  Problem: Zero-th order method (flip point correspondences in each step) • Improvement: “ point-to-plane ” ICP  First order approximation  Match points to tangential planes rather than points  Converges much faster (3-5 iterations for similar examples) 12

  13. Implementation Part B Part A 2    arg min Rx t nearest ( A ), n ( nearest ( A )) d x R  SO ( 3 ), B 3 t   n 2  ( A ) ( B ) ( B )    arg min Rp t p , n i nearest ( i ) nearest ( i )  R SO ( 3 ), i  1 3   t 13

  14. Implementation Part B Part A Implementation: • We need normals for each point (unoriented)  kNN+PCA • Compute closest point, project distance vector to its normal • Minimize the sum of all such distances: n 2  ( A )   ( B ) ( B ) arg min Rp t p , n i nearest ( i ) nearest ( i ) R  SO ( 3 ),  i 1 3   t 14

  15. Comparison Point-to-point: 19 iterations Point-to-plane: 3 iterations (accuracy problems) (much more accurate result) 15

  16. Implementation Problem: • No closed form solution for the optimal rotation with point-to-plane correspondences Solution: • Numerical solution • Setup non-linear optimization problem (rotation, translation = 6 parameters) • Use non-linear optimization technique • Remaining problem: Parametrization of the rotations  Trouble with singularities (spherical topology) 16

  17. Local Linearization Standard technique: local linearization • Transformation: T ( x ) = Rx + t • Linearize rotations:      cos( ) sin( ) 0   cos( ) 0 sin( )   1 0 0              T sin( ) cos( ) 0 0 1 0 0 cos( ) sin( )        ,  ,              0 0 1 sin( ) 0 cos( ) 0 sin( ) cos( )          0         T 0      , ,      y 0         0                T ( x ) x T x 0 I x         , , , ,        y 1     17

  18. Local Linearization Standard technique: local linearization • Numerical solution: iterative solver • We have a current rotation R ( i – 1) from the last iteration: • Taylor expension at R ( i – 1) :      0      ( i ) ( i  1 )        T ( x ) 0 I R x      , ,        y 1     • Solve for t ,  ,  ,  (linear expressison  quadratic opt.) n 2  ( i ) ( A )   ( B ) ( B ) arg min R p t p , n j nearest ( j ) nearest ( j )  ,  ,     j 1 3 t   18

  19. Local Linearization Then: • Project R ( i ) back on the manifold of orthogonal matrices. (for example using the SVD-based algorithm discussed before) • Then iterate, until convergence. Why does this work? • The parametrization is non-degenerate  For large  ,  ,  , the norm of the matrix increases arbitrarily (i.e.: the object size increases, away from the data)  Therefore, the least-squares optimization will perform a number of small steps rather than collapse. 19

  20. More Tricks & Tweaks ICP Problems: • Partial matching might lead to distortions / bias  Remove outliers (M- estimator, delete “far away points”, e.g. 20% percentile in point-to-point distance)  Remove normal outliers (if connection direction deviates from normal direction) • Sampling problems  Problem: for example flat surface with engraved letters  No convergence in that case  Improvement: Sample correspondence points with distribution to cover unit sphere of normal directions as uniformly as possible 20

  21. Deformable Shape Matching

  22. Example ? What are the Correspondences? 22

  23. What are we looking for? Problem Statement: ? f Given: S 2 • Two surfaces S 1 , S 2  ℝ 3 S 1 We are looking for: • A reasonable deformation function f : S 1  ℝ 3 that brings S 1 close to S 2 23

  24. Example ? Correspondences? no shape match too much deformation optimum 24

  25. This is a Trade-Off Deformable Shape Matching is a Trade-Off: • We can match any two shapes using a weird deformation field • We need to trade-off:  Shape matching (close to data)  Regularity of the deformation field (reasonable match) 25

  26. Variational Model Components: Matching Distance: Deformation / rigidity: 26

  27. Variational Model Variational Problem: • Formulate as an energy minimization problem:   ( ) ( ) match regularize r ( ) ( ) ( ) E f E f E f 27

  28. Part 1: Shape Matching Assume: • Objective Function: S 2   E match ( )  ( f ) dist f ( S ), S 1 , 2 1 2 f ( S 1 ) • Example: least squares distance   ( ) 2 match ( ) ( , ) E f dist S d x x 1 2 1  x S 1 1 • Other distance measures: Hausdorf distance, L p -distances, etc. • L 2 measure is frequently used (models Gaussian noise) 28

  29. Point Cloud Matching Implementation example: Scan matching • Given: S 1 , S 2 as point clouds (1) , …, s n (1) }  S 1 = { s 1 (2) s i (2) , …, s m (2) }  S 2 = { s 1 • Energy function: f i ( S 1 )   m | | S  2  ( ) ( 2 ) match 1 ( ) , E f dist S s 1 i m  1 i   • How to measure ? , dist S x 1  Estimate distance to a point sampled surface 29

  30. Surface approximation (2) s i f ( S 1 ) Solution #1: Closest point matching • “Point -to- point” energy   m | | S  2  ( ) ( 2 ) ( 2 ) match 1 ( ) , ( ) E f dist s NN s i in S i m 1  1 i 30

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