Professional Documents
Culture Documents
2
coefficients matrix C with respect to the other two vari- Once all x, y, z have been solved, one can find the essen-
ables x, y. The monomials we obtain span a vector space of: tial matrix E. And the motion parameters can be extracted
easily using method reported elsewhere [1].
X = [x3 , y 3 , x2 y, xy 2 , x2 , y 2 , xy, x, y, 1]T . (6)
6.1 Algorithm Outlines
Note its dimensionality is only ten.
Combining these nine equations with the singularity con-
1. Write down the five epipolar equations of the five points.
dition (eq.2), we now have totally ten equations in the above
ten-dimensional monomial vector. Then we have a general- 2. Compute the null-space of the essential matrix.
ized linear matrix equation: 3. Compute the symbolic determinant of the coefficient matrix
C(z). Solving the determinant equation, one then find the
C(z)X(x, y) = 0. solution z.
4. Back-substitute the real roots of z. Compute the null-space
Note that we have explicitly included the dependent vari- of C(z) and extract x, y from the null-space.
able z in the coefficient matrix and the monomial vector.
5. Recover the essential matrix, and extract the motion vectors.
Recall that this matric equation will have non-trivial so-
lutions if and only if the determinant of the coefficient ma-
trix vanishes. That is: 7. Experiment Validation
7.1 Synthetic Data
det(C(z)) = 0. (7)
This determinant is better known as a hidden-variable resul- We generate synthetic image and essential matrix using
tant, which is an univariate polynomial of the hidden vari- Torrs Matlab SFM Toolbox [15]. To resemble the real situ-
able. ation, the synthetic image size is set to be 512 512. Cam-
Inspecting the hidden-variable-resultant closely and era motions between two views are randomly drawn from a
carefully, one will (excitingly) find that terms whose degree uniform distribution. No special attention has been paid to
is greater than ten have been precisely cancelled-out, and a avoid the degenerate motion. The 3D points are located in
precisely tenth-degree polynomial is left. As a result, we general positions (though can be on a single plane).
will obtain at most ten solutions to the five-point problem. In section 5.2, we have shown theoretically the determi-
This result accords precisely with previous result, but we nant of C(z) is a 10-th degree polynomial in z. Now Our
achieve this via an easier and more straightforward way. first experiment is used to validate this result.
From five corresponding points, after applying the pro-
There are many methods to solve the univariate resultant
posed five-point algorithm, we obtain for example the fol-
equation, for example, the companion matrix method, or lowing 10-th degree determinant equation:
Sturms bracketing method. In our experiments we simply
use the first one, for it is easy to implement. det(C(z)) = .2996e5 z 10 .3233e4 z 9
3
Linear Estimation (log10 Error) Linear Estimation (log10 Error)
2 2
1.5 1.5
freq x100
freq x100
1 1
0.5 0.5
0 0
14.8 14.6 14.4 14.2 14 13.8 13.6 13.4 13.2 2.6 2.4 2.2 2 1.8 1.6 1.4 1.2
1 freq x100 1
Linear 8pt
1.6
1.4
Linear 8pt
New 5pt
implement. We believe that the simplicity suggests more
0.35
0.3
New 5pt
1.2
deeper understandings to the essential-matrix. In addition,
Error in EM estimation
Error in EM estimation
0.25 1
we wish the new five-point algorithm, combining with the
0.8
0.2
0.15 0.6
powerful RANSAC scheme, will become a practical tool in
0.1 0.4 structure and motion computation.
0.05 0.2
ACK: NICTA is funded through the Australian Governments
0 0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0.1 0.2 0.3 0.4 0.5 0.6 0.7
noise level (in pixels/512 image)
0.8 0.9 1
noise level (in pixels/512 image) Backing Australias Ability Initiative, in part through the ARC.