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.