Ask Your Question

Good Calibration for Essential matrix estimation

Hello,

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?

Thanks

edit retag close merge delete

1 answer

Sort by » oldest newest most voted

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.

more

Stats

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

Seen: 539 times

Last updated: May 17 '13