Several techniques are available for obtaining an optimal estimate of the rigid rotation and translation transformation between points belonging to the same space.
An optimal estimate means a maximum-likelihood estimate, where the observation noise is fully additive in the space
in which the points lie.
Consider, therefore, two sets of points
and
related by
To solve the optimal problem
that transforms all points from
to
, a least-squares criterion is required to optimize a cost function of the form
A notable result concerning the translation vector is obtained by applying the usual derivatives
to equation (1.105), which vanishes at
| (1.106) |
The optimal rotation must therefore minimize
One technique for computing the rotation uses principal components (see Section 2.9.1).
The principal components extracted from each point set separately form a basis of the space.
A rotation that aligns these bases can be determined: once the column eigenvector matrices and
have been computed,
follows directly.
However, multiple solutions may exist, each of which should be checked, and noise can make the estimation of the axes through PCA extremely unreliable (for example, if the distribution is circular, any estimate becomes impossible).
The best way to minimize (1.107) is to minimize, or rather maximize,
| (1.108) |
| (1.109) |
| (1.110) |
This solution, which is much more stable than the PCA-based solution and is always valid for , requires special attention only in the two- and three-dimensional cases to handle possible reflections (in that case, the determinant of the resulting matrix may in fact be negative).
The “disadvantage” of the SVD-based technique compared with the PCA-based technique is that the correspondences between points in the two distributions must be correct.
Combining the two techniques with an iterative approach yields the Iterative Closest Point (ICP) algorithm.
Paolo medici