Previous | Next --- Slide 100 of 112
Back to Lecture Thumbnails
nssampat

Is there a short(-er than reading a chapter in the textbook) explanation for why we want the rank of F to be 2? Also, if F should be rank 2, why not just make the last row of F be all 0s and just have 6 unknowns instead of 9 unknowns? What's special about the process of decomposing F, changing one of its singular values to 0, and re-multiplying the SVD to get F?

motoole2

If $F$ were not rank 2, then this would mean that there is no non-trivial point $e$ where $e^T F = 0$. In other words, there would be no epipole! And therefore $F$ would not a valid fundamental matrix (based on our understanding of epipolar geometry).

Note that when running the 8-point algorithm with more than 8 points, we will in general get a fundamental matrix $F'$ that has rank 3 (due to noise in the correspondences). The process of setting the smallest singular value to 0 produces the closest rank 2 (valid) matrix $F$, where "closest" means that the Euclidean or the Frobenius distance between the two matrices $F$ and $F'$ is minimized (see this slide for more details).

nssampat

Could you elaborate a little more on the first statement "if $F$ were not rank 2, then this would mean that there is no non-trivial point $e$ where $e^T F = 0$"? Why is this true? Is it because of the rank-nullity theorem?

motoole2

To be clear, I meant to say "if $F$ were rank 3"---and not "if $F$ were not rank 2".

If $F$ is rank 3 and given that $F$ is a $3\times 3$ matrix, the null space contains precisely one element (according to the rank-nullity theorem): the vector $0$. That is, the only vector $e$ where $e^T F = 0$ is $e = 0$.