Top Banner
On the ICP Algorithm On the ICP Algorithm Esther Ezra, Micha Sharir Esther Ezra, Micha Sharir Alon Efrat Alon Efrat
38

On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

On the ICP AlgorithmOn the ICP Algorithm

Esther Ezra, Micha SharirEsther Ezra, Micha Sharir

Alon EfratAlon Efrat

Page 2: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The problem: Pattern MatchingThe problem: Pattern Matching

Input:

A = {a1, …, am}, B = {b1, …, bn} A,B Rd

Goal:

Translate A by a vector t Rd s.t. (A+t,B) is minimized.

The (1-directional) cost function:

22

1( , ) || ( ) ||Ba AA t B a t N a t

m

The cost function (measures

resemblance).

The nearest neighbor of a in B.

A , B

( , ) max || ( ) ||a A BA t B a t N a t

Page 3: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The algorithm [Besl & Mckay 92]The algorithm [Besl & Mckay 92]

Use local improvements:

Repeat: At each iteration i, with cumulative translation ti-1

• Assign each point a+ti-1 A+ti-1 to its NN b = NB(a+ti-1)

• Compute the relative translation ti that minimizes with respect to this fixed (frozen) NN-assignment.

Translate the points of A by ti (to be aligned to B). ti ti-1 + ti .

• Stop when the value of does not decrease.

The overall translation vector previously computed. t0 = 0 .

Some of the points of A may acquire

new NN in B.

Page 4: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The algorithm: Convergence

[Besl & Mckay 92].

1. The value of =2 decreases at each iteration.

2. The algorithm monotonically converges to a local minimum.

This applies for = as well.a1 a2 a3

b1 b2 b3 b4

A local minimum of the ICP algorithm.

The global minimum is attained when a1, a2, a3 are aligned on top of b2,

b3, b4 .

Page 5: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

NN and Voronoi diagramsNN and Voronoi diagrams

Each NN-assignment can be interpreted by the Voronoi diagram V(B) of B.

b is the NN of a

a is contained in the Voronoi cell V(b) of V(B).

Page 6: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The problem under the RMS The problem under the RMS measuremeasure

22

1( , ) || ( ) ||Ba AA t B a t N a t

m

Page 7: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The algorithm: An example in The algorithm: An example in RR11

(A+t,B) = RMS(t) =

Iteration 1:

Aa B taNtam

2||)(||1

b1 = 0 b2 = 4

a3 = 1 a4 = 3a1 = -3-

)()(

111 i

AaiBi tataN

mt

t1 1

m=4, n=2.

(b1+b2)/2 = 2

a2 = -1

(A,B) 3

Solving the equation: RMS’(t)=0

Page 8: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

An example in An example in RR11:: Cont.Cont.Iteration 2:

b1 = 0 b2 = 4

a4+ t1

t2 = 1(b1+b2)/2 = 2

a3+ t1 a2+ t1 a1+t1

Iteration 3:

b1 = 0 b2 = 4

NN-assignment does not change. t3 = 0 (b1+b2)/2 = 2

a1+ t1 + t2 a2+ t1 + t2 a3+ t1 + t2 a4+ t1 + t2

(A+t1,B) 2

(A+t1+t2,B) 1

Page 9: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

Number of iterations: Number of iterations: An upper boundAn upper bound

The value of is reduced at each iteration, since

1. The relative translation t minimizes with respect to the frozen NN-assignment.

2. The value of can only decrease with respect to the new NN-assignment (after translating by t).

No NN-assignment arises more than once!

#iterations = #NN-assignments (that the algorithm reaches)

Page 10: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

Number of iterations: Number of iterations: A quadratic upper bound in A quadratic upper bound in RR11

Critical event: The NN of some point ai is changed.

Two “consecutive” NN-assignments differ by one pair (ai,bj) .

#NN-assignments |{(ai,bj) | ai A, bj B}| = nm.

b1

a2ama1

b2 bn

ai

bj bj+1

tai crosses into a new

Voronoi cell.

Page 11: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The bound in The bound in RR11

Is the quadratic upper bound tight???

A linear lower bound construction (n=2): (m)

b1 = 0

am-1 = 2k-1 am = 2k+1a1 = -2k-1

(b1+b2)/2 = 2k

Tight! (when n=2) .

b2 = 4k

a2 = -2k+1

Using induction on i=1,…, k/2 . 1

22

k

ti

m=2k+2, n=2

Page 12: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

Structural properties in Structural properties in RR11

Lemma:At each iteration i2 of the algorithm

Corollary (Monotonicity):The ICP algorithm always moves A in the same (left or

right) direction.

Either ti 0 for each i0, or ti 0 for each i0.

)()(1

21

iBAa

iBi taNtaNm

t

j

k kj tt1

Use induction on i.

Page 13: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

A super-linear lower bound A super-linear lower bound construction in construction in RR11..

2

1 1

2a

n 1 ( 1)a n n

b1 = 0 b2 = 1

1 1

2na n

m=n1

On

The construction (m=n):

a1 = -n - (n-1), ai = (i-1)/n -1/2 + , bi = i-1, for i=1, …, n.

Theorem:

The number of iterations of the ICP algorithm under the above construction is (n log n).

1 = 1/2

Page 14: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

2

1 1

2a

n

3 1

2na n

1 1t

1 1 ( 1)a n n

b2 = 1 b3= 2

2

1nt

n

b3 = 2 b4= 3b2 = 1 2

n

1

n

3

1nt

n

1

n

Iteration 2:

Iteration 3:2a na

At iteration 4, the NN of a2 remains unchanged (b3):

Only n-2 points of A cross into V(b4).

Page 15: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The lower bound construction in The lower bound construction in RR11

Round j: n-1 right pts of A assigned to bn-j+1 and bn-j+2

Consists of steps where pts of A cross the bisector

n-j+1 = (bn-j+1 + bn-j+2) / 2

Then at each such step i,

# pts of A that cross n-j+1 is exactly j

(except for the last step).

At the last such step, # pts of A that cross n-j+1 or n-j+2 is exactly j-1.

i

jt

n

# steps in the round n/j .

At the next round, # steps in the

round n/(j-1) .

Page 16: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The lower bound construction in The lower bound construction in RR11

The overall number of steps:

1

( log )n

j

nn n

j

Page 17: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The lower bound construction in The lower bound construction in RR11::Proof of the claimProof of the claim

Induction on j:

Consider the last step i of round j :

( 2)n j la

bn-j+2 bn-j+3bn-j+1 2l

n

2a na1la

i

jt

n

The points a2, …, al+1 cross n-j+1, and an-(j-l-2), …, an cross n-j+2 .

Overall number of crossing points = l + j - l -1 = j - 1.

Black pts still remain in V(bn-j+2).

1n j 2n j

l< j pts have not yet crossed n-j+1

QED

Page 18: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

General structural properties in General structural properties in RRdd

Theorem:

Let A = {a1, …, am}, B = {b1, …, bn} be two point sets in Rd.

Then the overall number of NN-assignments, over all translated copies of A, is O(mdnd). Worst-case tight.

Proof:

Critical event: The NN of ai+t changes from b to b’

t lies on the common boundary of V(b–ai) and

V(b’–ai)

Voronoi cells of the shifted diagram

V(B-ai) .

tb - ai b’ - ai

b’’ - ai

Page 19: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

# #NN Assignments in RNN Assignments in Rdd

Critical translations t for a fixed ai

= Cell boundaries in V(B-ai) .

All critical translations = Union of all Voronoi edges = Cell boundaries in the overlay M(A,B)

of V(B-a1),…, V(B-am).

# NN-assignments = # cells in M(A,B)

Each cell of M(A,B) consists of translations

with a common NN-assignment

Page 20: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

# NN Assignments in R# NN Assignments in Rdd

Claim:

The overall number of cells of M(A,B) is O(mdnd).

Proof:• Charge each cell of M(A,B) to some vertex v of it

(v is charged at most 2d times).

• v arises as the vertex in the overlay Md of only d diagrams.

• The complexity of Md is O(nd) [Koltun & Sharir 05].

• There are d-tuples of diagrams V(B-a1),…, V(B-ad).

( )dm

O md

QED

Page 21: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

Lower bound construction for M(A,B)Lower bound construction for M(A,B)

B

d=2

A

1/m

1

Horizontal cells: Minkowski sums of horizontal cells of

V(B) and (reflected) vertical points of A .

Vertical cells: Minkowski sums of vertical cells of V(B)

and (reflected) horizontal points of A .

M(A,B) contains (nm) horizontal cells that intersect (nm)

vertical cells:

(n2m2) cells.

Page 22: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

# NN Assignments in R# NN Assignments in Rdd

Lower bound construction can be extended to any dimension d

Open problem:

Does the ICP algorithm can step through all (many) NN-assignments in a single execution?

d=1:

Upper bound: O(n2).

Lower bound: (n log n).

Probably no.

Page 23: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

MonotonicityMonotonicity

d=1:

The ICP algorithm always moves A in the same (left or right) direction.

Generalization to d2:

= connected path obtained by concatenating the ICP relative translations t. ( starts at the origin)

Monotonicity: does not intersect itself.

Page 24: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

MonotonicityMonotonicity

Theorem:

Let t be a move of the ICP algorithm from translation t0 to t0+ t . Then RMS(t0+ t) is a strictly decreasing function of .

does not intersect itself.

Cost function monotone

decreasing along t.

t

Page 25: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

Proof of the theoremProof of the theorem

SB-a(t) = minbB ||a+t-b||2 = minbB (||t||2 + 2t·(a-b) + ||a-b||2)

RMS(t) =

SB-a(t) - ||t||2 is the lower envelope of n hyperplanes

SB-a(t) - ||t||2 is the boundary of a concave polyhedron.

Q(t) = RMS(t) - ||t||2 is the average of {SB-a(t) - ||t||2}aA

Q(t) is the boundary of a concave polyhedron.

Aa B taNtam

2||)(||1

The Voronoi surface, whose minimization diagram is V(B-a).

The average of m Voronoi surfaces

S(B-a).

Page 26: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

Proof of the theoremProof of the theoremNN-assignment at t0 defines a facet f(t) of Q(t), which contains the point (t0,Q(t0)).

Replace f(t) by the hyperplane h(t) containing it.h(t) corresponds to the frozen

NN-assignment.

The value of h(t)+||t2|| along t is monotone

decreasingSince Q(t) is concave, and h(t) is tangent to Q(t) at t0, the value of Q(t)+||t2|| along

t decreases faster than the value of h(t)+||t2|| .

QED

t0

t

Page 27: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

More structural properties of More structural properties of

Corollary:

The angle between any two consecutive edges of is obtuse.

Proof:

Let tk, tk+1 be two consecutive edges of .

Claim:

tk+1 tk 0

1 1

1( ) ( )k B k B k

a A

t N a t N a tm

1( ) ( ) 0B k B k kN a t N a t t b’ = NB(a+tk)

a

b = NB(a+tk-1)

tka must cross the bisector

of b, b’. b’ lies further aheadQED

Page 28: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

Cauchy-Schwarz

inequality

More structural properties: More structural properties: PotentialPotential

Lemma:

At each iteration i1 of the algorithm,

(i)

(ii)

Corollary:

Let t1, …, tk be the relative translations computed by the algorithm. Then

21( ) ( ) || ||i i iRMS t RMS t t

2 21 1(0) ( ) || || || ||i i iRMS RMS t t t

2

2 2 21 1

1 1

1|| || || || (0) ( ) || || || ||

k k

i i k k ki i

t t RMS RMS t t tk

Due to (i) Due to (ii)

Page 29: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

More structural properties: More structural properties: PotentialPotential

Corollary:

d=1:

Trivial

d2:

Given that ||ti|| , for each i1, then

2 2

1

|| || || ||k

i ki

t t

|| ||kk t

Since

1

| | | |k

k ii

t t

tk

does not get too close

to itself.

Page 30: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The problem under the Hausdorf The problem under the Hausdorf measuremeasure

( , ) max || ( ) ||a A BA t B a t N a t

Page 31: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The relative translationThe relative translation

Lemma:

Let Di-1 be the smallest enclosing ball of {a+ti-1 – NB(a+ti-1) | a A}. Then ti moves the center of Di-1 to the origin.

Proof:

t

o

a1

b1

a2b2

a3

b3

a4

b4

a1-b1

a2-b2

a4-b4

a3-b3

a1-b1+t

a2-b2+t

a4-b4+t

a3-b3+t

o

The radius of D determines the (frozen) cost after the

translation.

Any infinitesimal move of D

increases the (frozen) cost.

DD

QED

Page 32: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

No monotonicity (No monotonicity (d 2)Lemma:

In dimension d2 the cost function does not necessarily decrease along t .

Proof:

a1

a2

a3

b

b’

t

r

c

ta2+t

a3+t

a1+t

b

b’

Initially, ||a1-b|| = max ||ai-b|| > r ,

i=1,2,3 .

Final distances:||a2+t-b|| = ||a3+t-b|| = r ,

|| a1+t-b’ || < r .

The distances of a2, a3 from b start increasing

Distance of a1 from its NN always decreases. QED

Page 33: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The one-dimensional problemThe one-dimensional problemLemma (Monotonicity):

The algorithm always moves A in the same (left or right) direction.

Proof:

Let |a*-b*|=maxaA |NB(a)-a| .

Suppose a* < b*.

a*-b* is the left endpoint

of D0; its center c < 0.

t1 > 0, |t1| < |a*-b*| .

a*+t1 < b*, so b* is still the

NN of a*+t1 .

|a*+t1-b*|=maxaA |a+t1-NB(a)|> |a+t1-NB(a+t1)|

a*+t1-b* is the left endpoint of D1.

The lemma follows by induction.

a*-b*

tD0

0ca–NB(a)

Initial minimum enclosing “ball”.

0a*+t1-b* a+t1–NB(a)

a*, b* still determine the next relative translation.

QED

Page 34: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

Number of iterations: Number of iterations: An upper boundAn upper bound

Theorem:

Let B be the spread of B.

Then the number of iterations that the ICP algorithm executes is O((m+n) log B / log n).

Corollary:

The number of iterations is O(m+n) when B is

polynomial in n

Ratio between the diameter of B and the distance between its

closest pair.

Page 35: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The upper bound: Proof sketchThe upper bound: Proof sketch

Use: the pair a*, b* that satisfies |a*-b*|=maxaA |NB(a)-a| always determines the left endpoint of Di.

Put Ik = |b*-(a*+tk)| .

Classify each relative translation tk

• Short if

• Long – otherwise.Overall: O(n log B / log n).

nn

It kk log/2|| 1

Easy

1|**|

k k bat

Page 36: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

The upper bound: Proof sketchThe upper bound: Proof sketch

Short relative translations:

a A involved in a short relative translation at the k-th iteration,

|a+tk-1 – NB(a+tk-1)| is large.

a A involved in an additional short relative translation

a has to be moved further by |a+tk-1 – NB(a+tk-1)| .

Ik = b*-(a*+tk) must decrease significantly.

b1 bj bj+1

a

tk

Ik-1a1

Page 37: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

Number of iterations: Number of iterations: A lower bound constructionA lower bound construction

2

0 2

1n

j jn

At the i-th iteration:

1. ti = 1/2i , for i=1,…,n-2 .

2. Only ai+1 crosses into the next cell V(bi+2).

The overall translation length is < 1.

Theorem:

The number of iterations of the ICP algorithm under the following construction (m=n) is (n).

a1a2an

b1b2bn

nn-1

2

0 2

1i

j jn

ai

1

11

2

1

2

i

j jii

i

bba

bi

Page 38: On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.

Many open problems:

• Bounds on # iterations• How many local minima?• Other cost functions• More structural properties• Analyze / improve running time, vs. running time of directly computing minimizing translation And so on…