On the ICP Algorithm

427 Views

Download Presentation
## On the ICP Algorithm

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**On the ICP Algorithm**Esther Ezra, Micha Sharir Alon Efrat**The problem: Pattern Matching**Input: A = {a1, …, am}, B = {b1, …, bn} A,B Rd Goal: TranslateAby a vectort Rds.t.(A+t,B)is minimized. The (1-directional) cost function: The cost function (measures resemblance). The nearest neighbor of ainB. A , B**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-1to its NN b = NB(a+ti-1) • Compute the relative translationti 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.**The algorithm: Convergence**[Besl & Mckay 92]. • The value of=2decreases at each iteration. • The algorithm monotonically converges to a local minimum. This applies for =as well. A local minimum of the ICP algorithm. a1 a2 a3 b1 b2 b3 b4 The global minimum is attained when a1, a2, a3 are aligned on top of b2, b3, b4 .**NN 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).**The algorithm: An example in R1**(A+t,B) = RMS(t) = Iteration 1: Solving the equation: RMS’(t)=0 (A,B) 3 m=4, n=2. a1 = -3- a2 = -1 a3 = 1 a4 = 3 b1 = 0 b2 = 4 t1 1 (b1+b2)/2 = 2**An example in R1:Cont.**Iteration 2: (A+t1,B) 2 a1+t1 a4+ t1 a2+ t1 a3+ t1 b1 = 0 b2 = 4 t2 = 1 (b1+b2)/2 = 2 Iteration 3: (A+t1+t2,B) 1 a1+ t1 + t2 a2+ t1 + t2 a3+ t1 + t2 a4+ t1 + t2 b1 = 0 b2 = 4 NN-assignment does not change.t3 = 0 (b1+b2)/2 = 2**Number of iterations: An upper bound**The value of is reduced at each iteration, since • The relative translation t minimizes with respect to the frozen NN-assignment. • 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)**Number of iterations: A quadratic upper bound in R1**am a1 a2 ai 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 b2 bj bj+1 bn t aicrosses into a new Voronoi cell.**The bound in R1**Is the quadratic upper bound tight??? A linear lower bound construction (n=2): (m) m=2k+2, n=2 a2 = -2k+1 a1 = -2k-1 am-1 = 2k-1 am = 2k+1 b1 = 0 b2 = 4k Using induction on i=1,…, k/2 . (b1+b2)/2 = 2k Tight! (when n=2) .**Structural properties in R1**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 0for eachi0, orti 0for eachi0. Use induction on i.**A super-linear lower bound construction in R1.**The construction (m=n): a1 = -n - (n-1), ai = (i-1)/n -1/2 + , bi = i-1, for i=1, …, n. m=n b1 = 0 b2 = 1 1 = 1/2 Theorem: The number of iterations of the ICP algorithm under the above construction is (n log n).**Iteration 2:**b2 = 1 b3= 2 Iteration 3: b3 = 2 b2 = 1 b4= 3 At iteration 4, the NN of a2 remains unchanged (b3): Only n-2 points of A cross into V(b4).**The lower bound construction in R1**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+1is exactly j (except for the last step). At the last such step, # pts of A that cross n-j+1or n-j+2is exactly j-1. # steps in the round n/j . At the next round, # steps in the round n/(j-1) .**The lower bound construction in R1**The overall number of steps:**The lower bound construction in R1:Proof of the claim**Induction on j: Consider the last step i of round j : l< j pts have not yet crossed n-j+1 Black pts still remain in V(bn-j+2). bn-j+2 bn-j+1 bn-j+3 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. QED**General structural properties in Rd**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) t b - ai b’ - ai Voronoi cells of the shifted diagram V(B-ai) . b’’ - ai**# NN Assignments in Rd**Critical translations t for a fixedai = Cell boundaries in V(B-ai) . All critical translations = Union of all Voronoi edges = Cell boundaries in the overlayM(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**# NN Assignments in Rd**Claim: The overall number of cells of M(A,B) is O(mdnd). Proof: • Charge each cell ofM(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 Mdis O(nd) [Koltun & Sharir 05]. • There are d-tuples of diagrams V(B-a1),…, V(B-ad). QED**Lower bound construction for M(A,B)**1/m d=2 A Vertical cells: Minkowski sums of vertical cells of V(B) and (reflected) horizontal points of A . 1 B M(A,B) contains (nm) horizontal cells that intersect (nm) vertical cells: (n2m2) cells. Horizontal cells: Minkowski sums of horizontal cells of V(B) and (reflected) vertical points of A .**# NN Assignments in Rd**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.**Monotonicity**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. **Monotonicity**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**Proof of the theorem**The Voronoi surface, whose minimization diagram is V(B-a). SB-a(t) = minbB||a+t-b||2 = minbB (||t||2 + 2t·(a-b) + ||a-b||2) RMS(t) = SB-a(t) - ||t||2is the lower envelope of n hyperplanes SB-a(t) - ||t||2is the boundary of a concave polyhedron. Q(t) = RMS(t) - ||t||2is the average of {SB-a(t) - ||t||2}aA Q(t) is the boundary of a concave polyhedron. The average of m Voronoi surfaces S(B-a).**Proof of the theorem**Replace f(t) by the hyperplane h(t) containing it. h(t) corresponds to the frozen NN-assignment. NN-assignment at t0 defines a facet f(t) of Q(t), which contains the point (t0,Q(t0)). t0 t The value of h(t)+||t2|| along t is monotone decreasing Since Q(t) is concave, and h(t) is tangent to Q(t) at t0, the value of Q(t)+||t2||along tdecreases faster than the value of h(t)+||t2|| . QED**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 b’ = NB(a+tk) a tk a must cross the bisector of b, b’. b’ lies further ahead b = NB(a+tk-1) QED**More structural properties: Potential**Lemma: At each iteration i1 of the algorithm, (i) (ii) Corollary: Let t1, …,tk be the relative translations computed by the algorithm. Then Due to (i) Due to (ii) Cauchy-Schwarz inequality**More structural properties: Potential**Corollary: d=1: Trivial d2: Given that ||ti|| , for each i1, then tk Since does not get too close to itself.**The 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: Any infinitesimal move of D increases the (frozen) cost. The radius of D determines the (frozen) costafter the translation. a3 a2 a3-b3 a3-b3+t a2-b2 a2-b2+t b2 b3 o o D b1 t b4 D a4-b4+t a4-b4 a4 QED a1-b1 a1 a1-b1+t**No monotonicity (d 2)**Lemma: In dimension d2 the cost function does not necessarily decrease along t . Proof: Final distances: ||a2+t-b|| = ||a3+t-b|| = r , || a1+t-b’ || < r . Initially, ||a1-b|| = max ||ai-b|| > r , i=1,2,3 . The distances of a2, a3 from b start increasing t a2 a2+t r b a3 t c a3+t b a1 a1+t b’ Distance of a1 from itsNN always decreases. b’ QED**The one-dimensional problem**Lemma (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. Initial minimum enclosing “ball”. t D0 c 0 a–NB(a) a*-b* a*, b* still determine the next relative translation. 0 a*+t1-b* a+t1–NB(a) QED**Number of iterations: An upper bound**Ratio between the diameter of B and the distance between its closest pair. 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**The 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). Easy**The 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 Ik-1 a1 a tk**Number of iterations: A lower bound construction**Theorem: The number of iterations of the ICP algorithm under the following construction (m=n) is (n). • At the i-th iteration: • ti = 1/2i, fori=1,…,n-2 . • Only ai+1crosses into the next cell V(bi+2). • The overall translation length is< 1. b2 b1 bn bi n-1 n an ai a2 a1**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…