Worst-case and Smoothed Analysis of the ICP Algorithm, with an Application to the k-means Method
2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS'06)
We show a worst-case lower bound and a smoothed upper bound on the number of iterations performed by the Iterative Closest Point (ICP) algorithm. First proposed by Besl and McKay, the algorithm is widely used in computational geometry where it is known for its simplicity and its observed speed. The theoretical study of ICP was initiated by Ezra, Sharir and Efrat, who bounded its worst-case running time between Ω(n log n) and O(n 2 d) d . We substantially tighten this gap by improving the lower
... mproving the lower bound to Ω(n/d) d+1 . To help reconcile this bound with the algorithm's observed speed, we also show the smoothed complexity of ICP is polynomial, independent of the dimensionality of the data. Using similar methods, we improve the best known smoothed upper bound for the popular k-means method to n O(k) , once again independent of the dimension. The ICP algorithm An important problem in computational geometry is comparing patterns and shapes that may be viewed with different coordinates. Applications include object recognition and image alignment -for example, arranging overlapping satellite images. Typically, the problem reduces to translating (and possibly rotating or scaling) a given point set A until it is as close as possible to another given point set B. One standard metric for this comparison is the average squared distance from each point in A to its closest point in B. Besl and McKay  proposed ICP as a local search solution to this problem. It is simple but generally fast, which has made it a standard tool in practice  . ICP has several variants, but following , we focus on one that allows only translations of A. For each point a ∈ A, the algorithm begins by computing the point's nearest neighbor N B (a) in B. The algorithm then fixes N B and translates A so as to minimize φ = a a − N B (a) 2 . These two steps are repeated until the nearest neighbor assignment stabilizes. Each step decreases φ and there are only a finite number of possible nearest neighbor assignments (namely |B| |A| ), so ICP is guaranteed to eventually terminate. The algorithm's efficiency has been well studied empirically [8, 15, 16] , but the theoretical running time has proven more elusive. Recently, Ezra, Sharir, and Efrat  achieved a worst-case lower bound of Ω(n log n) iterations in one dimension, and an upper bound of O(n 2d ) iterations in d dimensions (where n = |A| + |B|). Our first result is an an exponential lower bound that tightens this gap considerably. Theorem 1.1 (ICP lower bound). There exist point sets A and B in R d for which the ICP algorithm requires Ω(n/d) d+1 iterations. This lower-bound construction relies on a precise placement of points in order to achieve exponential growth. Such situations are unlikely to arise in practice, and we use smoothed analysis to help show this formally.