In every iteration the optimal transformation (, )
has to be computed. Eq. () can be reduced to

with , since the correspondence matrix can be represented by a vector containing the point pairs.

In earlier work [10] we used a quaternion based method
[3], 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 algorithms. It was first published by
Arun, Huang and Blostein [2]. The difficulty of this
minimization problem is to enforce the orthonormality of 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 replacing (), () and () in the error function, eq. () becomes:

In order to minimize the sum above, all terms have to be minimized. The second sum () is zero, since all values refer to centroid. The third part () has its minimum for or

Therefore the algorithm has to minimize only the first term, and the error function is expressed in terms of the rotation only:

*Theorem:* The optimal rotation is calculated
by
. Herby the matrices and are
derived by the singular value decomposition
of a correlation matrix . This
matrix
is given by

with . The analogous algorithm is derived directly from this theorem.

Finally, the optimal translation is calculated using eq. ) (see also ()).