Could someone, in plain english, explain the distinction between the fundamental matrix and the essential matrix in multi-view computer vision?
How are they different, and how can each be used in computing the 3D position of a point imaged from multiple views?
Asked By : s-low
Answered By : Dima
Both matrices relate corresponding points in two images. The difference is that in the case of the Fundamental matrix, the points are in pixel coordinates, while in the case of the Essential matrix, the points are in "normalized image coordinates". Normalized image coordinates have the origin at the optical center of the image, and the x and y coordinates are normalized by Fx and Fy respectively, so that they are dimensionless.
The two matrices are related as follows: E = K' * F * K, where K is the intrinsic matrix of the camera.
F has 7 degrees of freedom, while E has 5 degrees of freedom, because it takes the camera parameters into account. That's why there is an 8-point algorithm for computing the fundamental matrix and a 5-point algorithm for computing the essential matrix.
One way to get a 3D position from a pair of matching points from two images is to take the fundamental matrix, compute the essential matrix, and then to get the rotation and translation between the cameras from the essential matrix. This, of course, assumes that you know the intrinsics of your camera. Also, this would give you up-to-scale reconstruction, with the translation being a unit vector.
Best Answer from StackOverflow
Question Source : http://cs.stackexchange.com/questions/41327
0 comments:
Post a Comment
Let us know your responses and feedback