A Survey of Geometric Vision 22
-11
where ⊗is the Kronecker product between two matrices. It can be shown that P
i
has rank 11 if n ≥ 6 points
in general positions are present. Therefore the solution of [R
i
, T
i
] will be unique up to a scale for n ≥6.
Obviously, if no noise is present on the images, the recovered motion and structure will be the same with
what can be recovered from the two-view eight-point algorithm. However, in the presence of noise, it is
desired to use the data from all the images. In order to use the data simultaneously, a reasonable approach
is to iterate between reconstructions of motion and structure, i.e., initializing the structure or motions,
then alternating between Equation (22.14) and Equation (22.15) until the structure and motion converge.
Motions [R
i
, T
i
] can then be estimated up to a scale by performing SVD on P
i
as in (22.15).
4
Denote
˜
R
i
and
˜
T
i
to be the estimates from the eigenvector of P
T
i
P
i
associated to the smallest eigenvalue. Let
˜
R
i
=U
i
S
i
V
T
i
be the SVD of
˜
R
i
. Then R
i
∈SO(3) and T
i
are given by
R
i
= sign
det
U
i
V
T
i
U
i
V
T
i
∈ SO(3) and T
i
=
sign
det
U
i
V
T
i
(det(S
i
))
1
3
∈ R
3
(22.16)
In this algorithm, the initialization can be done using the eight-point algorithm for two views. The initial
estimate on the motion of second frame [R
2
, T
2
] can be obtained using the standard two-view eight-point
algorithm. Initial estimate of the point depth is then
α
j
=−
x
j
2
T
2
T
x
j
2
R
2
x
j
1
x
j
2
T
2
2
, j = 1, ..., n (22.17)
Inthe multiple-view case, the least squareestimates of point depths α
j
=1/λ
j
1
, j =1, ..., n can be obtained
from Equation (22.14) as
α
j
=−
m
i=2
x
j
i
T
i
T
x
j
i
R
i
x
j
1
m
i=2
x
j
i
T
i
2
, j = 1, ..., n (22.18)
By iterating between the motion estimation and structure estimation, we expect that the estimates on
structure and motion converge. The convergence criteria may vary for different situations. In practice we
choose the reprojected images error as the convergence criteria. For the jth 3-D point, the estimate of its
3-D location can be obtained as λ
j
1
x
j
1
, and the reprojection on the ith image is obtained
˜
x
i
j
∼ λ
j
1
R
i
x
j
1
+T
i
.
Its reprojection error is then
m
i =2
x
j
i
−
˜
x
i
j
2
. So the algorithm keep iterating until the summation of
reprojection errors over all points are below some threshold .
The algorithm is summarized below:
Algorithm 22.2 (A factorization algorithm for multiple-view reconstruction.) Given m(≥3)
images x
j
1
, x
j
2
, ..., x
j
m
, j = 1, 2, ..., n of n(≥8) points, the motions [R
i
, T
i
], i =2, ..., m and the structure
of the points with respect to the first camera frame α
j
, j =1, 2, ..., n can be recovered as follows:
1. Set the counter k =0. Compute [R
2
, T
2
] using the eight-point algorithm, then get an initial estimate
of α
j
from Equation (22.17) for each j =1, 2, ..., n. Normalize α
j
← α
j
/α
1
for j =1, 2, ..., n.
2. Compute [
˜
R
i
,
˜
T
i
]fromtheeigenvectorofP
T
i
P
i
corresponding to its smallest eigenvalue for
i =2, ..., m.
3. Compute [R
i
, T
i
] from Equation (22.16) for i =2, 3, ..., m.
4. Compute α
j
k+1
using Equation (22.18) for each j =1, 2, ..., n. Normalize so that α
j
←α
j
/α
1
and
T
i
←α
1
k+1
T
i
. Use the newly recovered α
j
’s and motion [R
i
, T
i
]’s to compute the reprojected image
˜
x for each point in all views.
5. If the reprojection error
x −
˜
x
2
> for some threshold >0, then k ← k + 1 and go to
step 2, otherwise stop.
4
Now we assume that the cameras are all calibrated, which is the case of Euclidean reconstruction. This algorithm
also works for uncalibrated case.