Learning Epipolar Geometry

The Java code for this page was created by Sylvain Bougnoux.
For any comments or suggestions mail him

Drag the mouse above the applet to move around the world ...
And click any key to toggle the state of the applet and drag the point M around ...

One View

The model for a single camera is pretty simple. For a pinhole camera centered at C, looking at a point M, the projection m is the intersection of the line (C,M) with the retinal plane.

Two Views

Things become interesting with a second viewpoint. If we know m the projection of a point M onto a camera, its corresponding point in the other camera is contrained to lie on a line. This line is called the epipolar line, and the correspondence between m and this line is described by the Fundamental matrix.
The epipolar lines are the trace of the plane (C1,C2,M) in the retinal planes.
Notice that the points e-c1c2 and e-c2c1 don't move as you drag M arround. They are called the epipoles. It is where one camera is seen from the other camera.



Three Views

Lets consider a third camera. In each camera, the epipolar lines related to the 2 others cameras are now crossing at a point. If a point M is registered within two images, its projection in the third one is uniquely defined, through the Trifocal tensor . Notice how the two epipolar lines merge into one when the point M approches the plane (C1,C2,C3) called the trifocal plane.




Back to Tuan's research page