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.