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

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

Four methods are known to minimize eq. ()
[17]. In earlier work [20,27] we
used a quaternion based method [7], 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.

*Proof:* Since rotation is length preserving, i.e.,
the error function () is expanded

The rotation affects only the middle term, thus it is sufficient to maximize

Using the trace of a matrix, () can be rewritten to obtain

With defined as in (). Now we have to find the matrix that maximizes .

Assume that the singular value decomposition of is

with and orthonormal matrices and a diagonal matrix without negative elements. Suppose

is orthonormal and

is a symmetric, positive definite matrix. Arun, Huang and Blostein provide a lemma to show that

for any orthonormal matrix . Therefore the matrix is optimal. Prooving the lemma is straightforward using the Cauchy-Schwarz [2]. Finally, the optimal translation is calculated as (cf. eq. () and ())