Iterative closest point algorithms Tutorial 4 © Maks Ovsjanikov tosca.cs.technion.ac.il/book Numerical geometry of non-rigid shapes Stanford University, Winter 2009 1
Outline Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987 Problem Formulation. Intuition. Some Math. Robust Global Registration Gelfand N., Mitra N., Guibas L., Pottmann H., Proceedings of SGP, 2005 Formulation. Problem and Motivation. Multi-Scale point descriptors. Global Matching – Branch and Bound. Results.
Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987 Problem Formulation: Given two sets points: in . Find the rigid transform: and that minimizes:
Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987 Problem Formulation: Given two sets points: in . Find the rigid transform: and that minimizes:
Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987 Problem Formulation: Given two sets points: in . Find the rigid transform: and that minimizes: In practice, have many points. Perform this step many times. Want a fast way to get an exact solution. Representation is important.
Given two sets points: in . Find the rigid transform: and that minimizes: Finding the translation part . 1. Let and : the centroids of and and let and . Then . 2. where: minimized if
Given two sets points: in . Find the rigid transform: and that minimizes: Need to find the rotation . 1. Several ways to represent rotation: Orthonormal matrix, Euler angle, Gibbs vector, quaternions, etc. Which one is most useful in this case? 2. Plan of action: Want to minimize Since rotation preserves lengths. Need to maximize: Question: What unit vector maximizes if is symmetric? Answer: Eigenvector corresponding to the maximum eigenvalue of .
Given two sets points: in . Find the rigid transform: and that minimizes: Need to find the rotation . 2. Plan of action: Need to maximize: 3. If represent using orthonormal matrices, then get: Would prefer: , where is a vector and - matrices Quaternions allow us to express rotation in such form.
Quaternions (two slides intro). 1. Vectors with 4 components, 3 of which are imaginary: 2. Multiplication is defined using the rules: from which follows: In matrix form: 3. Dot product: Matrices associated with unit quaternions are orthonormal.
Quaternions (two slides intro). 4. Conjugation: . Matrix corresponding to the conjugate is the transpose of the original. 5. Regular vectors can be represented with purely imaginary quaternions: 6. Rotation can be represented with composite product by a unit quaternion : where . Conversely, every unit quaternion corresponds to a rotation.
Back to Alignment. 1. Want to maximize: 2. In quaternion form: 3. The optimal rotation quaternion is the eigenvector corresponding to the maximum eigenvalue of:
Summary Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987 Efficient algorithm to find the optimal translation and rotation in the rigid alignment, provided that the correspondences are known. Uniform scaling can be found similarly: Quaternions provide a simple and efficient way to represent rotations. Other methods: SVD, Orthogonal Matrices, Dual Quaternions Estimating 3-D rigid body transformations: a comparison of four major algorithms. Eggert et al., Machine Vision and Applications, Vol. 9 1997
Outline Closed-form solution of absolute orientation using unit quaternions. Horn, B. K. P., Journal of the Optical Society of America, Vol. 4 1987 Problem Formulation. Intuition. Some Math. Robust Global Registration Gelfand N., Mitra N., Guibas L., Pottmann H., Proceedings of SGP, 2005 Formulation. Problem and Motivation. Multi-Scale point descriptors. Global Matching – Branch and Bound. Results. Images by N. Gelfand
Problem: Robust Global Registration Gelfand, Mitra, Guibas, Pottmann, Proceedings of SGP, 2005 Problem: Given: Two shapes P and Q which partially overlap. Goal: Using only rigid transforms, register Q against P by minimizing the squared distance between them. No assumptions about initial positions!
Approaches Rigid transform can be specified with small number of parameters Try all possible transform bases Find the one that aligns the most points Guaranteed to find the correct transform But can be costly
Approaches Use neighborhood geometric information Descriptors should be Invariant under transform Local Cheap Improves correspondence search or used for feature extraction [Mokh 01, Huber 03, Li 05]
We only need to align a few points correctly. Registration Problem Why it’s hard Unknown areas of overlap Have to solve the correspondence problem Why it’s easy Rigid transform is specified by small number of points Prominent features are easy to identify We only need to align a few points correctly.
Method Overview Use descriptors to identify features Integral volume descriptor Build correspondence search space Few correspondences for each feature Efficiently explore search space Distance error metric Pruning algorithms
Integral Descriptors Multiscale Inherent smoothing f(x) [Manay 04] Br(p) p
Integral Volume Descriptor Related to mean curvature. Provably robust to noise. 0.20
Descriptor Computation Approximate using a voxel grid Convolution of occupancy grid with ball
Feature Identification Pick as features points with rare descriptor values Rare in the data [ rare in the model [ few correspondences Works for any descriptor Features
Multiscale Algorithm Features should be persistent over scale change Y N
Correspondence Space Search the whole model for correspondences Range query for descriptor values Cluster and pick representatives Q P
Evaluating Correspondences Coordinate root mean squared distance Requires best aligning transform Looks at correspondences individually
Rigidity Constraint Pair-wise distances between features and correspondences should be the same Q P
Rigidity Constraint Pair-wise distances between features and correspondences should be the same Q P
Evaluating Correspondences Distance root mean squared distance Depends only on internal distances
Search Algorithm Few features, each with few potential correspondences Minimize dRMS Exhaustive search still too expensive P Q
Branch and Bound. Find global minimum of a function. Search Space:
Branch and Bound. Find global minimum of a function. Search Space: Split (Branch). Bound. Prune: If min2 > max1, can remove branch 2. min2 max2 min1 max1
Search Algorithm Branch and bound Initial bound using greedy assignment Discard partial correspondences that fail thresholding test Prune if partial correspondence exceeds bound Spaced out features make incorrect correspondences fail quickly Since we explore the entire search space, we are guaranteed to find optimal alignment Up to cluster size Rc qi pi pj qj
Search Algorithm Branch and bound Initial bound using greedy assignment Discard partial correspondences that fail thresholding test Prune if partial correspondence exceeds bound Spaced out features make incorrect correspondences fail quickly Since we explore the entire search space, we are guaranteed to find optimal alignment Up to cluster size
Greedy Initialization Good initial bound is essential Build up correspondence set hierarchically …
Greedy Initialization Good initial bound is essential Build up correspondence set hierarchically … …
Greedy Initialization Good initial bound is essential Build up correspondence set hierarchically …
Partial Alignment Allow null correspondences, while maximizing the number of matches points
Alignment Results Input: 2 scans Alignment Refined by ICP
Alignment Results Alignment Refined by ICP Input: 10 scans