The proposed ICP variant uses exact closest point search. In contrast to the previously discussed approximate k-d tree search for ICP algorithms [10,17], registration inaccuracies or errors due to approximation cannot occur.
Friedman et al. prove that searching for closest points using
k-d trees needs logarithmic time [7], i.e., the
amount of backtracking is independent of the number of stored
points in the tree. Since the ICP algorithm iterates the closest
point search, the performance derives to
,
with
the number of iterations. Note: Brute-force ICP
algorithms have a performance of
.
The proposed cached k-d tree search needs
time in the best case. This performance is reached if constant
time is needed for backtracking, resulting in
time for
constructing the tree, and
for searching in case no
backtracking is necessary. Obviously the backtracking time depends on
the computed ICP transformation (
). For small
transformations the time is nearly constant.
Cached k-d tree search needs
extra memory for the vector
, i.e., for storing the pointers to the tree leaves. Furthermore,
additional
memory is needed for storing the
backwards pointers in the k-d tree.