# Efficient ICP Using K-D Tree

Document Sample

```					Optimization of ICP
Using K-D Tree

Baochun Bai
Instructor: Prof. Boulanger
Outline

n An  Introduction to ICP
n Algorithm Steps
n KD-Tree
n Method to compute rotation and
translation matrix
n Results
Overview of ICP Algorithm
nA popular algorithm to register a data
shape to a model shape
– Data shape point set P{pi} with Np points
– Model shape point set X{xi} with Nx points
– Find the optimal rotation R and translation
matrix T to transform P to X
– Minimize the mean square error
Algorithm Steps of ICP

P0 = P, R0 = I, T0 = (0, 0, 0)
n Initialize
n For each iteration k,
– Find the closest points Yk = C(Pk, X) based
on Euclidean distance
– Compute the registration and find rotation
matrix Rk and translation matrix Tk
– Apply the registration, Pk+1 = Rk(Pk) + Tk
– Stop if mean square error is less than a
threshold
Nearest Neighbor Search
Algorithms
n Performance  bottleneck of the algorithm
n Straightforward Approach
– Sequential Search
– O(NpNx), Np <= Nx, O(N2)
n K-D   Tree
– A binary search tree
– O(logN)
K-D Tree

nA balanced binary search tree for k-
dimensional data
– Root node: entire space
– Leaf node: a mutually exclusive subspace
– Intermediate node: key to partition the
space, key is one of k dimensions
An Example of K-D Tree
X

Y
Algorithm to Compute Rotation
and Translation Matrix
n Compute   the cross-covariance matrix of
P and X

n Compute   the 4x4 symmetric matrix Q
Algorithm to Compute Rotation
and Translation Matrix
n Get  the unit eigenvector qR of Q, which
is corresponding to the maximum
eigenvalue of Q
n Compute the rotation matrix R from qR
n Compute the translation matrix T based
on R
– T = ux - Rup
Results

n RunningTime
n Bunny Model
– 31000 points
– 601MHZ, 128Mb Memory

Sequential Search   K-D Tree

16 seconds          9300 seconds
Convergence of Mean Square
Error

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 2 posted: 7/13/2013 language: Unknown pages: 22