Ask Your Question

Good Calibration for Essential matrix estimation

asked 2013-05-17 08:39:08 -0600

diego gravatar image


I think I'm having some problems with camera calibration. I'm using the sample calibration program provided with several (20) images taken with an iPhone. I get the camera intrinsic matrix K and the distortion coefficients R. I then load such matrices into another program. This program allows the user to select matching features in 2 different undistorted images from which I can take the Fundamental Matrix F and using K I can get the Essential matrix E = K.t() * F * K.

Afterwards, I test both F and E to check for the epipolar constraint, i.e.: x'Fx=0 or x'Ex= where x and x' are the corresponding the user selected. For every matching point, the test for the fundamental matrix yields values very close to 0, while the one for the essential matrix returns values that are as large as 2694990. This is obviously wrong.

From this I can conclude that I must be doing something wrong. I believe the computation for E is right, so that must leave the calibration. What do I need to do for a good calibration?


edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2013-05-17 11:14:47 -0600

RaulPL gravatar image

Hi, the epipolar constrain (as you mentioned) is x2'Fx1=0 where x2' is the coordinate of the point in the second image and x1 is the coordinate of the point in the first image.

If you use the essential matrix the epipolar constrain is X2'EX1=0 where X2' is the normalized coordinate of the point in the second image and X1 is the normalized coordinate of the point in the first image.

You obtain the normalized coordinate with this:

 X = inverse(K)*x

That's why I think you are getting a big number using the essential matrix.

edit flag offensive delete link more

Question Tools


Asked: 2013-05-17 08:39:08 -0600

Seen: 831 times

Last updated: May 17 '13