Iterative Closest Point (ICP) Algorithm. L 1 solution... Yaroslav Halchenko CS @ NJIT Iterative Closest Point (ICP) Algorithm. – p. 1
Registration Max= 250 Min= 0 Max= 254 Min= 0 250 250 50 50 200 200 100 100 150 150 0.1 150 150 100 100 200 200 50 50 0.05 250 250 0 0 50 100 150 200 250 50 100 150 200 250 0 Max= 254 Min= 0 250 50 200 0.05 0.1 100 150 0.05 150 0 100 0 200 50 −0.05 250 −0.05 0 50 100 150 200 250 Iterative Closest Point (ICP) Algorithm. – p. 2
Registration 0.1 0.05 0 0.05 0.1 0.05 0 0 −0.05 −0.05 Iterative Closest Point (ICP) Algorithm. – p. 3
Iterative Closest Point ICP is a straightforward method [Besl 1992] to align two free-form shapes (model X , object P ): Initial transformation Iterative procedure to converge to local minima 1. ∀ p ∈ P find closest point x ∈ X 2. Transform P k +1 ← Q ( P k ) to minimize distances between each p and x 3. Terminate when change in the error falls below a preset threshold Choose the best among found solutions for different initial positions Iterative Closest Point (ICP) Algorithm. – p. 4
Specifics of Original ICP Converges to local minima Based on minimizing squared-error Suggests ‘Accelerated ICP’ Iterative Closest Point (ICP) Algorithm. – p. 5
ICP Refinements Different methods/strategies to speed-up closest point selection K-d trees, dynamic caching sampling of model and object points to avoid local minima removal of outliers stochastic ICP, simulated annealing, weighting use other metrics (point-to-surface vs -point) use additional information besides geometry (color, curvature) Iterative Closest Point (ICP) Algorithm. – p. 6
ICP Refinements Different methods/strategies to speed-up closest point selection K-d trees, dynamic caching sampling of model and object points to avoid local minima removal of outliers stochastic ICP, simulated annealing, weighting use other metrics (point-to-surface vs -point) use additional information besides geometry (color, curvature) All closed-form solutions are for squared-error on distances Iterative Closest Point (ICP) Algorithm. – p. 6
Found on the Web Tons of papers/reviews/articles No publicly available Matlab code Registration Magic Toolkit (http://asad.ods.org/RegMagicTKDoc) - full featured registration toolkit with modified ICP Iterative Closest Point (ICP) Algorithm. – p. 7
Implemented in This Work Original ICP Method [Besl 1992] Choice for caching of computed distances Iterative Closest Point (ICP) Algorithm. – p. 8
Absolute Distances or L 1 norm Why bother? More stable to presence of outliers Better statistical estimator in case of non-gaussian noise (sparse, high-kurtosis) might help to avoid local minima’s Iterative Closest Point (ICP) Algorithm. – p. 9
Absolute Distances or L 1 norm Why bother? More stable to presence of outliers Better statistical estimator in case of non-gaussian noise (sparse, high-kurtosis) might help to avoid local minima’s How? use some parametric approximation for y = | x | and do non-linear optimization present this as a convex linear programming problem Iterative Closest Point (ICP) Algorithm. – p. 9
LP: Formulation Absolute Values y = | x | x ≤ y and − x ≤ y while minimizing y � Euclidean Distance � � v � = v 2 x + v 2 y | r x � v | ≤ � � v � , | r y � v | ≤ � � v � 1.34 × × 0.00 4.82 × 4.82 3.54 × 3.54 × � v 4.58 2.00 × × × × × × × 5.00 × 0.00 1.34 3.54 Iterative Closest Point (ICP) Algorithm. – p. 10
LP: Rigid Transformation Arguments: rotation matrix R and translation vector � t Rigid Transformation: � p + � p = R� ˙ t Iterative Closest Point (ICP) Algorithm. – p. 11
LP: Rigid Transformation Arguments: rotation matrix R and translation vector � t Rigid Transformation: � p + � p = R� ˙ t Problem: How to ensure that R is rotation matrix? “Solution”: Take a set of “support” vectors in object space and specify their length explicitly. � � p j − � ˙ p k � − � � ˙ p j − � p k � = 0 p j ∈ P � p i , � Iterative Closest Point (ICP) Algorithm. – p. 11
LP � p + � p = R� ˙ t � � p i − � ˙ x i � − d i = 0 ∀ i , s.t. � p i ∈ P,� x i ∈ X � � p j − � ˙ p k � − � � ˙ p j − � p k � = 0 p j ∈ P � p i , � Objective: minimize C = � i d i Iterative Closest Point (ICP) Algorithm. – p. 12
LP: Problems Contraction (shrinking): � � p j − � ˙ p k � − � � ˙ p j − � p k � = 0 is actually � � p j − � ˙ p k � − � � ˙ p j − � p k � ≤ 0 R matrix needs to be “normalized” to the nearest orthonormal matrix due to our � x � LP approximation even if no contraction occurred. Iterative Closest Point (ICP) Algorithm. – p. 13
LP: Results 1 0.8 0.6 0.4 0.2 0 1 0.5 1 0.5 0 0 −0.5 −0.5 −1 −1 Iterative Closest Point (ICP) Algorithm. – p. 14
LP: Results 0.25 0.2 Rotation (R) 0.15 0.1 0.05 0 0 100 200 300 400 500 600 # of outliers 2 nd norm 1 st norm 0.4 0.3 Translation (t) 0.2 0.1 0 100 200 300 400 500 600 # of outliers Iterative Closest Point (ICP) Algorithm. – p. 15
LP: Conclusions Presented problem is suitable to minimize L 1 error instead of L 2 error commonly used. Using L 1 norm improved solution in the presence of strong outliers. Iterative Closest Point (ICP) Algorithm. – p. 16
Recommend
More recommend