Date post: | 26-May-2018 |
Category: | Documents |
View: | 212 times |
Download: | 0 times |
Iterative Closest Point (ICP)Algorithm.L1 solution. . .
Yaroslav Halchenko
CS @ NJIT
Iterative Closest Point (ICP) Algorithm. p. 1
file:[email protected]
Registration
0
50
100
150
200
250Max= 250 Min= 0
50 100 150 200 250
50
100
150
200
250 0
50
100
150
200
250Max= 254 Min= 0
50 100 150 200 250
50
100
150
200
250
0
50
100
150
200
250Max= 254 Min= 0
50 100 150 200 250
50
100
150
200
250 0.05
0
0.05
0.1
0.05
0
0.05
0
0.05
0.1
Iterative Closest Point (ICP) Algorithm. p. 2
Registration
0.05
0
0.05
0.1
0.05
0
0.05
0
0.05
0.1
Iterative Closest Point (ICP) Algorithm. p. 3
Iterative Closest Point
ICP is a straightforward method [Besl 1992] to align twofree-form shapes (model X , object P ):
Initial transformation
Iterative procedure to converge to local minima1. p P find closest point x X2. Transform Pk+1 Q(Pk) to minimize distances
between each p and x3. Terminate when change in the error falls below a
preset threshold
Choose the best among found solutions for differentinitial 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 selectionK-d trees, dynamic cachingsampling of model and object points
to avoid local minimaremoval of outliersstochastic ICP, simulated annealing, weightinguse 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 selectionK-d trees, dynamic cachingsampling of model and object points
to avoid local minimaremoval of outliersstochastic ICP, simulated annealing, weightinguse other metrics (point-to-surface vs -point)use additional information besides geometry(color, curvature)
All closed-form solutions are for squared-error ondistances
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) - fullfeatured 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 L1 norm
Why bother?
More stable to presence of outliers
Better statistical estimator in case of non-gaussiannoise (sparse, high-kurtosis)
might help to avoid local minimas
Iterative Closest Point (ICP) Algorithm. p. 9
Absolute Distances or L1 norm
Why bother?
More stable to presence of outliers
Better statistical estimator in case of non-gaussiannoise (sparse, high-kurtosis)
might help to avoid local minimas
How?
use some parametric approximation for y = |x| anddo 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 =
v2x + v2y
3.543.54
0.00
4.582.00
1.344.82
5.003.541.34
0.004.82
~v
|rx~v| ~v, |ry~v| ~v
Iterative Closest Point (ICP) Algorithm. p. 10
LP: Rigid Transformation
Arguments: rotation matrix R and translation vector ~tRigid Transformation:
~p = R~p + ~t
Iterative Closest Point (ICP) Algorithm. p. 11
LP: Rigid Transformation
Arguments: rotation matrix R and translation vector ~tRigid Transformation:
~p = R~p + ~t
Problem: How to ensure that R is rotation matrix?Solution: Take a set of support vectors in objectspace and specify their length explicitly.
~pj ~pk ~pj ~pk = 0 ~pi, ~pj P
Iterative Closest Point (ICP) Algorithm. p. 11
LP
~p = R~p + ~t
~pi ~xi di = 0 i, s.t. ~pi P, ~xi X
~pj ~pk ~pj ~pk = 0 ~pi, ~pj P
Objective: minimize C =
i di
Iterative Closest Point (ICP) Algorithm. p. 12
LP: Problems
Contraction (shrinking):
~pj ~pk ~pj ~pk = 0
is actually
~pj ~pk ~pj ~pk 0
R matrix needs to be normalized to the nearestorthonormal matrix due to our x LPapproximation even if no contraction occurred.
Iterative Closest Point (ICP) Algorithm. p. 13
LP: Results
1
0.5
0
0.5
1
1
0.5
0
0.5
10
0.2
0.4
0.6
0.8
1
Iterative Closest Point (ICP) Algorithm. p. 14
LP: Results
0 100 200 300 400 500 6000
0.05
0.1
0.15
0.2
0.25
Rot
atio
n (R
)
# of outliers
0 100 200 300 400 500 600
0.1
0.2
0.3
0.4
Tra
nsla
tion
(t)
# of outliers
2nd norm1st norm
Iterative Closest Point (ICP) Algorithm. p. 15
LP: Conclusions
Presented problem is suitable to minimize L1 errorinstead of L2 error commonly used.
Using L1 norm improved solution in the presence ofstrong outliers.
Iterative Closest Point (ICP) Algorithm. p. 16
RegistrationRegistrationIterative Closest PointSpecifics of Original ICPICP RefinementsICP Refinements
Found on the WebImplemented in This WorkAbsolute Distances or $L_1$ normAbsolute Distances or $L_1$ norm
LP: FormulationLP: Rigid TransformationLP: Rigid Transformation
LPLP: ProblemsLP: ResultsLP: ResultsLP: Conclusions
Click here to load reader