Graphics Reference
In-Depth Information
involving the camera parameters and the scene points. That is, it has the form
J PP
b P
b X
δ P
δ X
J PX
=
(6.68)
J PX
J XX
From Figure 6.14 b, we know that J PP and J XX are both block-diagonal matrices; that
is, each dark square in J PP isa10
10matrix involving second derivatives with respect
to the parameters of a single camera, while each dark square in J XX isa3
×
3 matrix
involving second derivatives with respect to the parameters of a single scene point.
Since a bundle adjustment problem usually involves many more scene points than
cameras, we assume that J XX is larger than J PP .
Now we apply a trick based on the Schur complement of J XX ; we multiply both
sides of Equation ( 6.68 )by
×
I
J PX J 1
XX
(6.69)
0
I
where I and 0 are appropriately sized identity and zero matrices, respectively. The
result is:
J PP
b P
J PX J 1
J PX J 1
XX J PX
δ P
δ
0
XX b X
=
(6.70)
J PX
J XX
b X
X
The top half of these equations corresponds to:
J PX J 1
XX J PX
J PX J 1
(
J PP
=
b P
XX b X
(6.71)
P
which is a relatively small, easily solved linear system for the camera update
δ
P . Once
we have obtained
δ
P , we plug it into the bottom half of Equation ( 6.70 ) to obtain:
J PX δ P
J XX δ X =
b X
(6.72)
which is also easily solved since J XX is block diagonal with small blocks.
This approach is the basis of the sparse Levenberg-Marquardt bundle adjustment
algorithm proposed by Lourakis and Argyros [ 305 ], which is widely used. However,
the same authors [ 303 ] also observed that a sparse implementation of Powell's dog-
leg algorithm might be an even more efficient optimization algorithm for bundle
adjustment. Recently, Agarwal et al. [ 4 ] advocated the use of a preconditioned con-
jugate gradient algorithm for efficiently solving Equation ( 6.67 ), instead of using the
Schur complement approach. This method is especially useful for the extensions in
Section 6.6.2 , where the matrix on the left-hand side of Equation ( 6.71 ) may be diffi-
cult to construct and not sparse. Steedly et al. [ 468 ] also discussed related issues for
solving Equation ( 6.71 ), as well as methods for efficient incremental bundle adjust-
ment as new information becomes available [ 467 ]. Triggs et al. [ 500 ] discuss further
practical optimization issues for bundle adjustment.
6.5.4
An Example Result
Now, we illustrate an example matchmoving result on a real video sequence.
Figure 6.15 illustrates several images from the sequence, which was obtained using
by moving a handheld camera approximately 180 around a building. The video
sequence was 383 frames long.
Search WWH ::




Custom Search