Iterative Closest Point (ICP) Algorithm. L 1 solution... Yaroslav - - PowerPoint PPT Presentation

iterative closest point icp algorithm
SMART_READER_LITE
LIVE PREVIEW

Iterative Closest Point (ICP) Algorithm. L 1 solution... Yaroslav - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Iterative Closest Point (ICP) Algorithm.

L1 solution...

Yaroslav Halchenko CS @ NJIT

Iterative Closest Point (ICP) Algorithm. – p. 1

slide-2
SLIDE 2

Registration

50 100 150 200 250 Max= 250 Min= 0 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 Max= 254 Min= 0 50 100 150 200 250 50 100 150 200 250 50 100 150 200 250 Max= 254 Min= 0 50 100 150 200 250 50 100 150 200 250

−0.05 0.05 0.1 −0.05 0.05 0.05 0.1

Iterative Closest Point (ICP) Algorithm. – p. 2

slide-3
SLIDE 3

Registration

−0.05 0.05 0.1 −0.05 0.05 0.05 0.1

Iterative Closest Point (ICP) Algorithm. – p. 3

slide-4
SLIDE 4

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 Pk+1 ← Q(Pk) 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

slide-5
SLIDE 5

Specifics of Original ICP

Converges to local minima Based on minimizing squared-error Suggests ‘Accelerated ICP’

Iterative Closest Point (ICP) Algorithm. – p. 5

slide-6
SLIDE 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)

Iterative Closest Point (ICP) Algorithm. – p. 6

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

Implemented in This Work

Original ICP Method [Besl 1992] Choice for caching of computed distances

Iterative Closest Point (ICP) Algorithm. – p. 8

slide-10
SLIDE 10

Absolute Distances or L1 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

slide-11
SLIDE 11

Absolute Distances or L1 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

slide-12
SLIDE 12

LP: Formulation

Absolute Values y = |x|

x ≤ y and −x ≤ y while minimizing y

Euclidean Distance v =

  • v2

x + v2 y

× × × ×

× × ×

3.54 3.54 0.00

×

4.58 2.00 1.34 4.82

× ×

5.00 3.54 1.34

× × ×0.00

4.82

  • v

|rx v| ≤ v, |ry v| ≤ v

Iterative Closest Point (ICP) Algorithm. – p. 10

slide-13
SLIDE 13

LP: Rigid Transformation

Arguments: rotation matrix R and translation vector t Rigid Transformation:

  • ˙

p = R p + t

Iterative Closest Point (ICP) Algorithm. – p. 11

slide-14
SLIDE 14

LP: Rigid Transformation

Arguments: rotation matrix R and translation vector t Rigid Transformation:

  • ˙

p = R p + 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.

  • ˙

pj − ˙ pk − pj − pk = 0

  • pi,

pj ∈ P

Iterative Closest Point (ICP) Algorithm. – p. 11

slide-15
SLIDE 15

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

slide-16
SLIDE 16

LP: Problems

Contraction (shrinking):

  • ˙

pj − ˙ pk − pj − pk = 0 is actually

  • ˙

pj − ˙ pk − pj − pk ≤ 0 R matrix needs to be “normalized” to the nearest

  • rthonormal matrix due to our x LP

approximation even if no contraction occurred.

Iterative Closest Point (ICP) Algorithm. – p. 13

slide-17
SLIDE 17

LP: Results

−1 −0.5 0.5 1 −1 −0.5 0.5 1 0.2 0.4 0.6 0.8 1

Iterative Closest Point (ICP) Algorithm. – p. 14

slide-18
SLIDE 18

LP: Results

100 200 300 400 500 600 0.05 0.1 0.15 0.2 0.25 Rotation (R) # of outliers 100 200 300 400 500 600 0.1 0.2 0.3 0.4 Translation (t) # of outliers 2nd norm 1st norm

Iterative Closest Point (ICP) Algorithm. – p. 15

slide-19
SLIDE 19

LP: Conclusions

Presented problem is suitable to minimize L1 error instead of L2 error commonly used. Using L1 norm improved solution in the presence of strong outliers.

Iterative Closest Point (ICP) Algorithm. – p. 16