# Why do we need 4 points for homography but 7/8 points for fundamental matrix calculation?

Sorry if this is a trivial question but I could not find a suitable answer elsewhere.

I recently learned about homography and fundamental matrices in a CV class. I understand how these matrices are calculated and how the the formulae are derived. I also understand that both homography and fundamental matrices have 8 degrees of freedom.

But I'm unable to understand why we need 4 point correspondences for finding the homography while 8 points for calculating the fundamental matrix.

Shouldn't the number of correspondences needed be same intuitively?

It is because in the case of fundamental matrix, each correspondence point relates to only one constraint(i.e it maps a point to a line in other image). Hence 8 correspondence points are required.

But in the case of homography, each correspondence solves two constraints. Hence only 4 correspondence points are sufficient.

• Great answer! And solving this constraints is visible in the derivation of the two matrices. I was just wondering would it be possible to – Monster Apr 19 '17 at 17:04
• possible to what ? – harshkn Apr 20 '17 at 3:57
• oh looks like I posted my comment before I was done. As I said, great answer. The planar assumption explains each corresponding solving two constraints. I was just wondering what constraints are relaxed because of the planar assumption in homography. I guess you made a typo in the last sentence, eight point algorithm is used for estimating fundamental matrix and it indeed requires eight correspondences. Thanks for the answer! – Monster Apr 20 '17 at 5:47
• Thanks for letting me know of the mistake. If you think this is an answer, please vote this as an answer. About what planar assumption are relaxed in homography, better approach to understand that would be to check epipolar lines. It is more of Fundamental matrix computation has more constraints due to epipolar lines as there is an ambuiguity. So I would suggest you check that once. If I have time, I will definitely update this answer :) – harshkn Apr 20 '17 at 5:51

consider the number of DOFs and number of constraints.

On the one hand, the matrix H contains 9 entries, but is defined only up to scale. Thus, the total number of degrees of freedom in a 2D projective transformation is 8.

On the other hand, each point-to-point correspondence accounts for two constraints, since for each point x_i in the first image the two DOFs of the point in the second image must correspond to the mapped point H*x_i. A 2D point has two DOFs to (x,y) components, each of which may be specified separately.

Alternatively, the point is specified as a homogeneous 3-vector, which also has 2 DOFs since scale is arbitrary. As a consequence, it is necessary to specify four point correspondences in order to constrain H fully.

# Rule of Thumb

• Number of constraints must equal or exceed the number of DOFs of the transformation.

# Example

In 2D each corresponding point or line generates two constraints on H, in 3D each corresponding point or plane generates three constraints.

Thus in 2D the correspondence of four points or four lines is sufficient to compute H, since 4×2=8 , with 8 the number of DOFs of the homography. In 3D a homography has 15 DOFs, and five points or five planes are required. For a planar affine transformation (6 DOFs) only three corresponding points or lines are required, and so on.