5
$\begingroup$

Homograpies have 8 degrees of freedom.
Fundamental matrices have 7.
Essential matrices have 5.

To the best I could find, all those matrices are obtained by using the 8 point algorithm.

I don't see why the fundamental and essential matrices can't make do with less points.

Please enlighten me

$\endgroup$

3 Answers 3

1
$\begingroup$

Hum, no

  • A homography can be exactly fit to 4 point such that no three of them are collinear (example implementation in OpenCv).
  • An essential matrix can be fit to the image of 5 non-coplanar points (implementation).
  • A fundamental matrix can be fit to 7 points (implementation)
$\endgroup$
1
$\begingroup$

They can. As Francesco mentioned, these problems can be solved with less correspondences. What makes the difference is how we formulate the problem.

If we like a fast linear solution, then 8-points are required. For formulations using less number of points, the constraints are non-linear and typically involve either determinants or systems of polynomial equations that are solved with some form of Gröbner basis methods. These methods are typically known under the name minimal problems in computer vision and are investigated heavily by Zuzana Kukelova. For a set of related problems and proposed solutions refer to the website: http://aag.ciirc.cvut.cz/minimal/.

For the particular case of 8-point algorithm: In the 8-point algorithm we solve (in a linear fashion) for the elements of a matrix that is not necessarily a fundamental/essential matrix. In a subsequent step, we then project this matrix onto the manifold of essential matrices. This is how we obtain the end result. That stage ensures two non-linear constraints: $$ \begin{align} \det\mathbf{E} &= 0\\ 2\mathbf{E}\mathbf{E}^{\top}\mathbf{E}-\text{tr}(\mathbf{E}\mathbf{E}^{\top})\mathbf{E} &= 0 \end{align} $$ So not every matrix is an essential matrix and we cannot simply have $0$s for certain terms.

You see here that the solution to the initial linear system is subject to a different constraint which can yield a linear system. If we like to bake the actual non-linear constraints in, we can reduce the number of points to 5 (for essential) at the cost of increased complexity.

$\endgroup$
9
  • $\begingroup$ Thanks! Why don't less points firmulate just tge same linear equations? Why aren't less than 8 enough? $\endgroup$
    – Gulzar
    Commented Mar 21, 2020 at 9:11
  • $\begingroup$ Updated my reply. $\endgroup$ Commented Mar 21, 2020 at 9:59
  • $\begingroup$ Sorry I don't get it. In the 8 point algorithm, we are solving for [a,b,c,d,e,f,g,h,1], so why not for example just solve the same way for [a,b,c,0,e,f,0,0,1] (matrices in vec form)? $\endgroup$
    – Gulzar
    Commented Mar 21, 2020 at 13:12
  • $\begingroup$ I think this just creates more numerical problems. Because we then need to project the final E onto the essential manifold, but having 0s there creates a quite far matrix. The projection is not very meaningful then, right? $\endgroup$ Commented Mar 23, 2020 at 7:03
  • 1
    $\begingroup$ The link don't work here $\endgroup$
    – Bob
    Commented Aug 16, 2021 at 16:51
-1
$\begingroup$

F has seven degrees of freedom: a 3×3 homogeneous matrix has eight independent ratios (there are nine elements, and the common scaling is not signifificant); however, F also satisfifies the constraint det F = 0 which removes one degree of freedom ---- From Multiple View Geometry in Computer Vision (Second Edition, P 246)

There exists a algorithm for computing F from 7 points - but it is quite a bit more complex that the one for 8 points. Thus, the 8-point algorithm is a good and common baseline for computing F. Explanations From here https://www.youtube.com/watch?v=z92eUJjIJeY&lc=UgxEqBefD5oDdDFxzVt4AaABAg.9f_s5HWZe3r9fav49ZOwqR

$\endgroup$
4
  • $\begingroup$ This doesn't answer the question $\endgroup$
    – Gulzar
    Commented Sep 6, 2022 at 11:15
  • $\begingroup$ Lake_Lagunita: Please elaborate on why you think this answer's @Gulzar's question. $\endgroup$
    – Peter K.
    Commented Sep 6, 2022 at 12:42
  • $\begingroup$ There exists a algorithm for computing F from 7 points - but it is quite a bit more complex that the one for 8 points. Thus, the 8-point algorithm is a good and common baseline for computing F. Explanations From here youtube.com/… $\endgroup$ Commented Sep 6, 2022 at 15:50
  • $\begingroup$ Please edit your answer to add this extra info. $\endgroup$
    – Peter K.
    Commented Sep 6, 2022 at 21:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.