is assigned 1 if the
-th point of
describes the
same point in space as the
-th point of
. Otherwise
is 0. Two things have to be calculated: First, the
corresponding points, and second, the transformation (
,
) that minimizes
on the base of the
corresponding points.
The ICP algorithm calculates iteratively the point
correspondences. In each iteration step, the algorithm selects
the closest points as correspondences and calculates the
transformation (
) for minimizing equation
(1). The assumption is that in the last iteration step
the point correspondences are correct. Besl et al. prove that
the method terminates in a minimum [4]. However,
this theorem does not hold in our case, since we use a maximum
tolerable distance
max for associating the scan
data. Such a threshold is required though, given that 3D scans
overlap only partially.
In every iteration, the optimal transformation (,
)
has to be computed. Eq. (1) can be reduced to
with
, since the
correspondence matrix can be represented by a vector containing
the point pairs.
Four direct methods are known to minimize eq. (2)
[14]. In earlier work
[19,24,25] we used a quaternion based
method [4], but the following one, based on singular
value decomposition (SVD), is robust and easy to implement, thus
we give a brief overview of the SVD-based algorithm. It was first
published by Arun, Huang and Blostein [2]. The
difficulty of this minimization problem is to enforce the
orthonormality of the matrix . The first step of the
computation is to decouple the calculation of the rotation
from the translation
using the centroids of the points
belonging to the matching, i.e.,
The registration calculates the optimal rotation by
. Hereby, the matrices
and
are derived by the
singular value decomposition
of a
correlation matrix
. This
matrix
is
given by
We have proposed and evaluated algorithms to accelerate ICP, namely
point reduction and approximate d-trees
[19,24,25]. They are used here, too.