Multiple 3D scans are necessary to digitalize environments without occlusions. To create a correct and consistent model, the scans have to be merged into one coordinate system. This process is called registration. If the robot carrying the 3D scanner were precisely localized, the registration could be done directly based on the robot pose. However, due to the unprecise robot sensors, self localization is erroneous, so the geometric structure of overlapping 3D scans has to be considered for registration. As a by-product, successful registration of 3D scans relocalizes the robot in 6D, by providing the transformation to be applied to the robot pose estimation at the recent scan point.
The following method registers point sets in a common coordinate
system. It is called Iterative Closest Points (ICP)
algorithm [4]. Given two independently acquired sets
of 3D points, (model set) and
(data set) which correspond
to a single shape, we aim to find the transformation consisting
of a rotation
and a translation
which minimizes the
following cost function:
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)
[17]. In earlier work
[19,23,24] 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.,
and
After substituting (3) and (4) into the error function,
eq. (2) becomes:
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
with
[2].
We proposed and evaluated algorithms to accelerate ICP, namely
point reduction and approximate d-trees
[19,23,24]. They are used here, too.