Essential matrix explained
In computer vision, the essential matrix is a
matrix,
that relates
corresponding points in
stereo images assuming that the cameras satisfy the
pinhole camera model.
Function
More specifically, if
and
are homogeneous
normalized image coordinates in image 1 and 2, respectively, then
if
and
correspond to the same 3D point in the scene (not an "if and only if" due to the fact that points that lie on the same epipolar line in the first image will get mapped to the same epipolar line in the second image).
The above relation which defines the essential matrix was published in 1981 by H. Christopher Longuet-Higgins, introducing the concept to the computer vision community. Richard Hartley and Andrew Zisserman's book reports that an analogous matrix appeared in photogrammetry long before that. Longuet-Higgins' paper includes an algorithm for estimating
from a set of corresponding normalized image coordinates as well as an algorithm for determining the relative position and orientation of the two cameras given that
is known. Finally, it shows how the 3D coordinates of the image points can be determined with the aid of the essential matrix.
Use
The essential matrix can be seen as a precursor to the fundamental matrix,
. Both matrices can be used for establishing constraints between matching image points, but the fundamental matrix can only be used in relation to calibrated cameras since the inner camera parameters (matrices
and
) must be known in order to achieve the normalization. If, however, the cameras are calibrated the essential matrix can be useful for determining both the relative position and orientation between the cameras and the 3D position of corresponding image points. The essential matrix is related to the fundamental matrix with
Derivation and definition
This derivation follows the paper by Longuet-Higgins.
Two normalized cameras project the 3D world onto their respective image planes. Let the 3D coordinates of a point P be
and
relative to each camera's coordinate system. Since the cameras are normalized, the corresponding image coordinates are
\begin{pmatrix}y1\ y2\end{pmatrix}=
\begin{pmatrix}x1\ x2\end{pmatrix}
and
\begin{pmatrix}y'1\ y'2\end{pmatrix}=
\begin{pmatrix}x'1\ x'2\end{pmatrix}
A homogeneous representation of the two image coordinates is then given by
\begin{pmatrix}y1\ y2\ 1\end{pmatrix}=
\begin{pmatrix}x1\ x2\ x3\end{pmatrix}
and
\begin{pmatrix}y'1\ y'2\ 1\end{pmatrix}=
\begin{pmatrix}x'1\ x'2\ x'3\end{pmatrix}
which also can be written more compactly as
} and
}'
where
and
are homogeneous representations of the 2D image coordinates and
} and
}' are proper 3D coordinates but in two different coordinate systems.
Another consequence of the normalized cameras is that their respective coordinate systems are related by means of a translation and rotation. This implies that the two sets of 3D coordinates are related as
}' = \mathbf \, (\tilde - \mathbf)
where
is a
rotation matrix and
is a 3-dimensional translation vector.
The essential matrix is then defined as:
where
is the matrix representation of the cross product with
.Note: Here, the transformation
will transform points in the 2nd view to the 1st view.
For the definition of
we are only interested in the orientations of the normalized image coordinates
[1] (See also:
Triple product).As such we don't need the translational component when substituting image coordinates into the essential equation.To see that this definition of
describes a constraint on corresponding image coordinates multiply
from left and right with the 3D coordinates of point
P in the two different coordinate systems:
}'^ \, \mathbf \, \tilde \, \stackrel \,\tilde^ \, \mathbf^ \, \mathbf \, [\mathbf{t}]_ \, \tilde \, \stackrel \, \tilde^ \, [\mathbf{t}]_ \, \tilde \, \stackrel \, 0
- Insert the above relations between
}' and
} and the definition of
in terms of
and
.
since
is a rotation matrix.
- Properties of the matrix representation of the cross product.
Finally, it can be assumed that both
and
are > 0, otherwise they are not visible in both cameras. This gives
}')^ \, \mathbf \, \tilde = \frac (\tilde')^ \, \mathbf \, \frac \tilde = (\mathbf')^ \, \mathbf \, \mathbf
which is the constraint that the essential matrix defines between corresponding image points.
Properties
Not every arbitrary
matrix can be an essential matrix for some stereo cameras. To see this notice that it is defined as the matrix product of one
rotation matrix and one
skew-symmetric matrix, both
. The skew-symmetric matrix must have two
singular values which are equal and another which is zero. The multiplication of the rotation matrix does not change the singular values which means that also the essential matrix has two singular values which are equal and one which is zero. The properties described here are sometimes referred to as
internal constraints of the essential matrix.
If the essential matrix
is multiplied by a non-zero scalar, the result is again an essential matrix which defines exactly the same constraint as
does. This means that
can be seen as an element of a
projective space, that is, two such matrices are considered equivalent if one is a non-zero scalar multiplication of the other. This is a relevant position, for example, if
is estimated from image data. However, it is also possible to take the position that
is defined as
}]_ \, \mathbf
where
} = -\mathbf\mathbf , and then
has a well-defined "scaling". It depends on the application which position is the more relevant.
The constraints can also be expressed as
and
2EETE-\operatorname{tr}(EET)E=0.
Here, the last equation is a matrix constraint, which can be seen as 9 constraints, one for each matrix element. These constraints are often used for determining the essential matrix from five corresponding point pairs.
The essential matrix has five or six degrees of freedom, depending on whether or not it is seen as a projective element. The rotation matrix
and the translation vector
have three degrees of freedom each, in total six. If the essential matrix is considered as a projective element, however, one degree of freedom related to scalar multiplication must be subtracted leaving five degrees of freedom in total.
Estimation
Given a set of corresponding image points it is possible to estimate an essential matrix which satisfies the defining epipolar constraint for all the points in the set. However, if the image points are subject to noise, which is the common case in any practical situation, it is not possible to find an essential matrix which satisfies all constraints exactly.
Depending on how the error related to each constraint is measured, it is possible to determine or estimate an essential matrix which optimally satisfies the constraints for a given set of corresponding image points. The most straightforward approach is to set up a total least squares problem, commonly known as the eight-point algorithm.
Extracting rotation and translation
Given that the essential matrix has been determined for a stereo camera pair -- for example, using the estimation method above -- this information can be used for determining also the rotation
and translation
(up to a scaling) between the two camera's coordinate systems. In these derivations
is seen as a projective element rather than having a well-determined scaling.
Finding one solution
The following method for determining
and
is based on performing a
SVD of
, see Hartley & Zisserman's book.
[2] It is also possible to determine
and
without an SVD, for example, following Longuet-Higgins' paper.
An SVD of
gives
where
and
are orthogonal
matrices and
is a
diagonal matrix with
\Sigma=\begin{pmatrix}s&0&0\ 0&s&0\ 0&0&0\end{pmatrix}
The diagonal entries of
are the singular values of
which, according to the internal constraints of the essential matrix, must consist of two identical and one zero value. Define
W=\begin{pmatrix}0&-1&0\ 1&0&0\ 0&0&1\end{pmatrix}
with
W-1=WT=\begin{pmatrix}0&1&0\ -1&0&0\ 0&0&1\end{pmatrix}
and make the following ansatz
Since
may not completely fulfill the constraints when dealing with real world data (f.e. camera images), the alternative
with
Z=\begin{pmatrix}0&1&0\ -1&0&0\ 0&0&0\end{pmatrix}
may help.
Proof
First, these expressions for
and
do satisfy the defining equation for the essential matrix
[t] x R=UW\SigmaUTUW-1VT=U\SigmaVT=E
Second, it must be shown that this
is a matrix representation of the cross product for some
. Since
W\Sigma=\begin{pmatrix}0&-s&0\ s&0&0\ 0&0&0\end{pmatrix}
it is the case that
is skew-symmetric, i.e.,
. This is also the case for our
, since
([t] x )T=U(W\Sigma)TUT=-UW\SigmaUT=-[t] x
According to the general properties of the matrix representation of the cross product it then follows that
must be the cross product operator of exactly one vector
.
Third, it must also need to be shown that the above expression for
is a rotation matrix. It is the product of three matrices which all are orthogonal which means that
, too, is orthogonal or
. To be a proper rotation matrix it must also satisfy
. Since, in this case,
is seen as a projective element this can be accomplished by reversing the sign of
if necessary.
Finding all solutions
So far one possible solution for
and
has been established given
. It is, however, not the only possible solution and it may not even be a valid solution from a practical point of view. To begin with, since the scaling of
is undefined, the scaling of
is also undefined. It must lie in the
null space of
since
For the subsequent analysis of the solutions, however, the exact scaling of
is not so important as its "sign", i.e., in which direction it points. Let
} be normalized vector in the null space of
. It is then the case that both
} and
} are valid translation vectors relative
. It is also possible to change
into
in the derivations of
and
above. For the translation vector this only causes a change of sign, which has already been described as a possibility. For the rotation, on the other hand, this will produce a different transformation, at least in the general case.
To summarize, given
there are two opposite directions which are possible for
and two different rotations which are compatible with this essential matrix. In total this gives four classes of solutions for the rotation and translation between the two camera coordinate systems. On top of that, there is also an unknown scaling
for the chosen translation direction.
It turns out, however, that only one of the four classes of solutions can be realized in practice. Given a pair of corresponding image coordinates, three of the solutions will always produce a 3D point which lies behind at least one of the two cameras and therefore cannot be seen. Only one of the four classes will consistently produce 3D points which are in front of both cameras. This must then be the correct solution. Still, however, it has an undetermined positive scaling related to the translation component.
The above determination of
and
assumes that
satisfy the internal constraints of the essential matrix. If this is not the case which, for example, typically is the case if
has been estimated from real (and noisy) image data, it has to be assumed that it approximately satisfy the internal constraints. The vector
} is then chosen as right singular vector of
corresponding to the smallest singular value.
3D points from corresponding image points
See main article: Triangulation (computer vision). Many methods exist for computing
given corresponding normalized image coordinates
and
, if the essential matrix is known and the corresponding rotation and translation transformations have been determined.
See also
Toolboxes
External links
References
- An efficient solution to the five-point relative pose problem . David Nistér. IEEE Transactions on Pattern Analysis and Machine Intelligence. June 2004. 26. 6. 756–777. 10.1109/TPAMI.2004.17 . 18579936. 886598.
- Recent Developments on Direct Relative Orientation . H. Stewénius and C. Engels and D. Nistér. ISPRS Journal of Photogrammetry and Remote Sensing. June 2006. 60. 4. 284–294. 10.1016/j.isprsjprs.2006.03.005 . 2006JPRS...60..284S. 10.1.1.61.9329.
- A computer algorithm for reconstructing a scene from two projections . H. Christopher Longuet-Higgins . Nature . September 1981 . 293 . 133–135 . 10.1038/293133a0. 1981Natur.293..133L . 5828. 4327732 .
- Book: Richard Hartley and Andrew Zisserman . Multiple View Geometry in computer vision . Cambridge University Press. 2003 . 978-0-521-54051-3.
- Book: Yi Ma . Stefano Soatto. Stefano Soatto . Jana Košecká. Jana Košecká . S. Shankar Sastry. S. Shankar Sastry . An Invitation to 3-D Vision . Springer . 2004 . 978-0-387-00893-6.
- Book: Gang Xu and Zhengyou Zhang . Epipolar geometry in Stereo, Motion and Object Recognition . Kluwer Academic Publishers . 1996 . 978-0-7923-4199-4.
- Book: Förstner, Wolfgang and Wrobel, Bernhard P. . Photogrammetric Computer Vision: Statistics, Geometry, Orientation and Reconstruction . 2016 . 978-3319115498 . Springer Publishing Company, Incorporated . 1st.
Notes and References
- Book: Photogrammetric Computer Vision: Statistics, Geometry, Orientation and Reconstruction . 1st .
- Book: Hartley, Richard . Multiple view geometry in computer vision. 2004. Andrew Zisserman. 978-0-511-18711-7. 2nd . Cambridge, UK. 171123855.