Академический Документы
Профессиональный Документы
Культура Документы
5, SEPTEMBER 1987
V. Cappellini and A. G. Constantinides, Eds. Amsterdam, The An iterative algorithm for finding the solution was described in
Netherlands: Elsevier, pp. 770-775. Huang, Blostein, and Margerum [3]; a noniterative algorithm based
[3] J. O'Rourke, "Motion detection using Hough techniques," in Proc. on quaternions in Faugeras and Hebert [4]. In this correspondence,
Conf. Pattern Recognition and Image Processing, Dallas, TX, 1981, we describe a new noniterative algorithm which involves the sin-
p. 737. gular value decomposition (SVD) of a 3 x 3 matrix. The computer
[4] T. M. Silberberg, L. Davis, and D. Harwood, "An iterative Hough
time requirements of the three algorithms are compared.
procedure for three-dimensional object recognition," Pattern Rec-
ognition, vol. 17, no. 6, pp. 621-629, 1984. After the submission of our correspondence, it was brought to
[5] H. Li, M. A. Lavin, and R. J. LeMaster, "Fast Hough Transform," our attention that an algorithm similar to ours had been developed
in Proc. 3rd Workshop Computer Vision: Representation and Con- independently by Professor B. K. P. Horn, M.I.T., but not pub-
trol, Bellair, MI, 1985, pp. 75-83. lished.
[6] H. Li and M. A. Lavin, "Fast Hough Transform based on Bintree
data structure," in Proc. Conf. Computer Vision and Pattern Rec- II. DECOUPLING TRANSLATION AND ROTATION
ognition, Miami Beach, FL, 1986, pp. 640-642. It was shown in [3] that: If the least-squares solution to (1) is R
[7] R. Lumia, L. Shapiro, and 0. Zuniga, "A new connected compo-
nents algorithm for virtual memory computers," Comput. Graphics and T, then { p' ) and { pi - Rp, - T } have the same centroid,
Image Processing, vol. 22, pp. 287-300, 1983. i. e.,
[8] A. Bowyer and J. Woodwark, A programmers geometry. London:
Butterworth, 1983. p I= p ,, (3)
[9] M. Cohen and G. T. Toussaint, "On the detection of structures in
noisy pictures," Pattern Recognition, vol. 9, pp. 95-98, 1977. where
[10] T. M. Van Veen and F. C. A. Groen, "Discretization errors in the N
Hough Transform," Pattern Recognition, vol. 14, pp. 137- 145, 198 1. 1=Al- z P; (4)
[11] R. Lumia, "A new three-dimensional connected components algo-
rithm," Comput. Vision, Graphics, Image Processing, vol. 23, pp. --- ZN P;'-i~
N i=1
207-217, 1983. "t E " =RR
i-Ni= l
N (5)
A= I N
Authorized licensed use limited to: Princeton University. Downloaded on January 30, 2010 at 19:45 from IEEE Xplore. Restrictions apply.
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. PAMI-9, NO. 5, SEPTEMBER 1987 699
B. Derivation Therefore, the SVD algorithm may give either. We shall see pres-
Expanding the right-hand side of (9), ently that this situation can be easily resolved.
N
3) {qi ) are colinear-There are infinitely many rotations and
reflections which will make E2 = 0.
2= Z (q -Rqi)t (q; -
Rqi) Now we come back to the coplanar case. From examining the
N elements of the 3 x 3 matrix H, it can readily be shown that the
points { qi } are coplanar, if and only if one of the three singular
= Z
i=
(q'ttq' + q$RtRqj - qtRqj - qR'q'R )
values of H is zero. Let the three singular values be XI > X2 > X3
N = 0. Then
= ZLl (qitqi + qqi - 2qtRqj). H = X1u1v'j + X2U2V2 + 0 * U3V (17)
Therefore, minimizing E2 is equivalent to maximizing where ui and vi are columns of U and V, respectively. Note that
N
changing the sign of U3 or V3 will not change H. Therefore, if X =
F= qi Rqi VU' minimizes E2, so does X ' = V 'U' where
V = [V1, V2, -V3]. (18)
= Trace ( Rqiq!t) - Trace (RH) (14) If X is a reflection, then X' is a rotation, and vice versa. Thus, if
the SVD algorithm gives a solution X with det (X) =-1, we form
where X' = V U' which is the desired rotation.
N We mention, in passing, that the points { qi } are colinear, if and
H Z q.qit (11) only if, two of the three singular values of H are equal.
i =I V. DEGENERACY: NOISY CASE
Lemma: For any positive definite matrix AA', and any ortho-
normal matrix B, If either { qi } or { q!' } are coplanar, then it can readily be shown
that the discussion on the coplanar case in Section IV is still valid,
Trace (A4At) 2 Trace (BAAt). except of course now the minimum of E2 is no longer zero. Hence,
if the SVD algorithm gives a reflection X = VU', we can form the
Proof of Lemma: Let ai be the ith column of A. Then desired rotation X' = V 'U'. A special case of interest is when N
Trace (BAAt) = Trace (A'BA) - 3. Then both { qi } and { q! } are coplanar point sets.
The situation we cannot handle is when the SVD algorithm gives
=Za'(Bai). a solution X with det (X) = -1, and none of the singular values
of H is zero. This means that neither { qi } nor { q' } are coplanar;
But, by the Schwarz inequality, yet there is no rotation which yields a smaller E2 then the reflection
at (Bai) s V(ata )(atBtBa ) = atai. x. This can happen only when the noise Ni are very large. In that
case, the least-squares solution is probably useless anyway. A bet-
Hence, Trace (BAAt) . Ei aai = Trace (AAt). Q.E.D. ter approach would be to use a RANSAC-like technique (using 3
Let the SVD of H be: points at a time) to combat against outliers [5].
H = UAVt (12) VI. SUMMARY OF ALGORITHM
where U and V are 3 x 3 orthonormal matrices, and A is a 3 x 3 Using the procedure of Section III-A, we obtain
diagonal matrix with nonnegative elements. Now let
X = VU'.
X = VU' (which is orthonormal). (13)
1) If det (X) = + 1, then X is a rotation which is the desired
We have solution.
XH = VUtUAV' 2) If det (X) = -1, then X is a reflection.
a) one of the singular values ( X3, say) of H is zero. Then, the
= VAV1 (15) desired rotation is found by forming
which is symmetrical and positive definite. Therefore, from xi = V'Ut
Lemma, for any 3 x 3 orthonormal matrix B, where V' is obtained from V by changing the sign of the 3rd col-
Trace (XH) 2 Trace (BXH) (16) umn.
b) None of the singular values of H is zero. Then, conven-
Thus, among all 3 x 3 orthonormal matrices, X maximizes F of tional least-squares solution is probably not appropriate. We go to
(14). And if det (X) = + 1, X is a rotation, which is what we want. a RANSAC-like technique.
However, if det (X) = 1, X is a reflection, which is not what
-
we want. Fortunately, this degenerate case usually does not occur. VII. COMPUTER TIME REQUIREMENTS
We shall discuss the situation in some detail in the next two sec- Computer simulations have been carried out on a VAX 11/780
tions. to compare the three algorithms (SVD, quaternion, iterative) with
respect to time requirements. In each simulation, a set of 3-D points
IV. DEGENERACY: NOISELESS CASE { pi } were generated. They are randomly distributed in a cube of
Assume Ni = 0 in (1) for all i. Then, obviously there is a solu- size 6 x 6 x 6 with center at (0, 0, 0). Then { p! } were calculated
tion R (which is a rotation, i.e., det (R) = +1) for which {q' } by rotating { pi } by an angle of 750 around an axis through the
and { Rqi } are congruent and hence E2 = 0. From geometrical origin with direction cosines (0.6, 0.7, 0.39) followed by a trans-
considerations, it is easy to see that there are three possibilities. lation of (80, 60, 70), and finally by adding to each coordinate of
1) {qi } are not coplanar-Then, the rotation solution is unique. the resulting points Gaussian random noise with mean zero and
Furthermore, there is no reflection X which can make E2 = 0. standard deviation 0.5. Then the algorithms were used to estimate
Therefore, the SVD algorithm will give the desired solution. R and T. The CPU times used are listed in Table I. For the iterative
2) [qi ) are coplanar but not colinear-There is a unique ro- algorithm, the numbers of iterations are given in parentheses. The
tation as well as a unique reflection which will make E2 = 0. programs were written in C. The IMSL subroutine package was
Authorized licensed use limited to: Princeton University. Downloaded on January 30, 2010 at 19:45 from IEEE Xplore. Restrictions apply.
700 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. PAMI-9, NO. 5, SEPTEMBER 1987
TABLE I cusses an extension of the method to cover both translational and ro-
VAX 11/780 CPU TIME PER RUN IN ms tational movements.
Method Used Index Terms-Digital image processing, fast Fourier transform, im-
Number of Point age registration, image sequence analysis, motion estimation.
Correspondences SVD Quaternion Iterative
Authorized licensed use limited to: Princeton University. Downloaded on January 30, 2010 at 19:45 from IEEE Xplore. Restrictions apply.