Hartley & Zisserman, Chapter 9

Epipolar Geometry & the Fundamental Matrix

The geometry of two views. Epipoles, epipolar lines, the fundamental matrix F, the essential matrix E, and how they constrain point correspondences between two images.

Prerequisites: Chapter 6 (Camera Models) + Chapter 8 (Single View Geometry).
10
Chapters
5+
Simulations

Chapter 0: Why Epipolar Geometry?

Suppose you see a point x in one image. Where can its correspondence x' appear in a second image? Without any knowledge of the 3D point, x' could be anywhere in the second image — or could it?

No. The point x back-projects to a ray through the first camera centre. The second camera sees this ray as a line in its image. The correspondence x' must lie on this line. This line is the epipolar line of x.

The epipolar constraint: Given a point in one image, its correspondence in the other image is constrained to lie on a single line — the epipolar line. This reduces the search for correspondences from a 2D problem to a 1D problem. The matrix that encodes this constraint is the fundamental matrix F.
Epipolar Geometry

A point in the left image constrains its match to an epipolar line in the right image. All epipolar lines pass through the epipole.

Given a point x in one image, where is its correspondence x' constrained to lie in the second image?

Chapter 1: Epipolar Geometry

The geometry is defined by the two camera centres C and C', and a 3D point X. These three points define a plane called the epipolar plane.

EntityDefinition
Epipolar planeThe plane through C, C', and X
BaselineThe line joining C and C'
Epipole eImage of C' in the first camera (where the baseline pierces the first image plane)
Epipole e'Image of C in the second camera
Epipolar line lIntersection of epipolar plane with first image plane
Epipolar line l'Intersection of epipolar plane with second image plane
Key property: As X varies, the epipolar plane rotates around the baseline. This sweeps out a pencil of epipolar lines in each image, all passing through the respective epipole. The epipoles are the fixed points of this pencil.

The correspondence between epipolar lines l ↔ l' is a 1D projective transformation (a homography of the pencil) with 3 degrees of freedom.

What is the epipole e in the first image?

Chapter 2: The Fundamental Matrix F

The fundamental matrix F is a 3×3 matrix of rank 2 that algebraically encodes the epipolar geometry. For any pair of corresponding points x ↔ x':

x'T F x = 0

This is the correspondence condition. It says that x' lies on the epipolar line l' = Fx, and equivalently that x lies on l = FTx'.

Deriving F from a homography: Pick any plane in the scene. It induces a homography H mapping points in the first image to the second. For any corresponding pair, x' lies on the line through Hx and e'. Therefore: F = [e']× H. The fundamental matrix is the product of a cross-product matrix (encoding the epipole) and a homography.

F maps points to lines: x → l' = Fx. This makes it a correlation (not a full projective transformation), which is why it has rank 2, not 3.

The fundamental matrix F has what rank?

Chapter 3: Properties of F

PropertyFormula
Correspondence conditionx'T F x = 0
Epipolar line from xl' = Fx
Epipolar line from x'l = FTx'
Epipole e' (left null-vector)e'TF = 0
Epipole e (right null-vector)Fe = 0
Transpose symmetryF for (P, P') ⇒ FT for (P', P)
Degrees of freedom7 (9 entries − 1 scale − 1 for det F = 0)
Counting DOF: F has 7 DOF. Alternatively: 2 for e, 2 for e', and 3 for the 1D homography mapping the pencil of epipolar lines between the two images. Total: 2 + 2 + 3 = 7.

F is not invertible (rank 2), so it defines a mapping from points to lines but not from points to points. It is not a projective transformation.

How many degrees of freedom does the fundamental matrix F have?

Chapter 4: F from Camera Matrices

Given two camera matrices P and P', the fundamental matrix is:

F = [e']× P' P+

where P+ is the pseudo-inverse of P (PP+ = I) and e' = P'C is the epipole (the image of the first camera centre C in the second camera).

For canonical cameras: If P = [I | 0] and P' = [M | m], then:
F = [e']× M = [m]× M
where e' = m. This is because the first camera centre is the origin, and its image through P' is P'(0,0,0,1)T = m.

For a calibrated stereo rig P = K[I | 0] and P' = K'[R | t]:

F = K'−T [t]× R K−1

Note: F is defined only when the camera centres are distinct. If C = C', then e' = P'C = 0 and F = 0 (the zero matrix).

For canonical cameras P = [I|0] and P' = [M|m], what is the epipole e'?

Chapter 5: Cameras from F

Given only F (computed from image correspondences), we can recover a pair of camera matrices up to a projective ambiguity. Set P = [I | 0], then:

P' = [[e']× F + e' vT | λ e']

for arbitrary vector v and scalar λ. In the simplest form (v = 0, λ = 1): P' = [[e']× F | e'].

Projective ambiguity: From F alone, we can only recover cameras and structure up to a 4×4 projective transformation. We cannot determine the true Euclidean reconstruction without additional information (calibration, scene constraints, etc.).

Any matrix F of rank 2 is the fundamental matrix of some pair of cameras. This means F defines a valid two-view geometry, and camera matrices can always be extracted.

From F alone, to what level of ambiguity can we recover cameras and structure?

Chapter 6: The Essential Matrix

The essential matrix E is the specialization of F to calibrated cameras. If normalized image coordinates x̂ = K−1x are used:

E = K'T F K   ⇒   x̂'T E x̂ = 0

E has the form E = [t]× R, where R is the rotation and t is the translation between cameras. It has only 5 DOF (3 for R + 2 for the direction of t, since overall scale is unrecoverable).

The essential matrix constraint: E's two non-zero singular values are equal. This is the additional constraint beyond det E = 0 that distinguishes E from a general F. So E satisfies 2 constraints (det = 0 and equal singular values), leaving 5 DOF from the original 8 of a 3×3 homogeneous matrix.

From E, the rotation R and translation direction t can be extracted (up to a 4-fold ambiguity). The chirality constraint (all points must have positive depth in both cameras) selects the unique correct solution.

How many degrees of freedom does the essential matrix E have?

Chapter 7: Pure Translation

When the camera undergoes a pure translation (no rotation, no change in K), the fundamental matrix takes a special form: F = [e]×, which is skew-symmetric and has only 2 DOF.

In this case e = e' = v, where v is the vanishing point of the translation direction (the Focus of Expansion). All epipolar lines radiate from v. Points appear to "flow" outward from v, and closer points move faster than distant ones.

Auto-epipolar property: For pure translation, each point x lies on its own epipolar line (since x, x', and e = e' are collinear). This is because the apparent motion of each point is along the line from x to the vanishing point. Motion parallax (closer objects move more) is the cue used by biological vision for depth perception.

If the translation is along the x-axis, e = (1, 0, 0)T and the epipolar lines are horizontal scan lines: y' = y. This is the ideal configuration for stereo matching.

For pure translational camera motion, the fundamental matrix is:

Chapter 8: Planar Motion

Planar motion occurs when the rotation axis is perpendicular to the translation direction (e.g., a car moving forward while turning). This imposes an extra constraint: the symmetric part of F has rank 2 (det Fs = 0).

Why it matters: Planar motion arises in many practical settings — ground vehicles, turntables, and robots moving on a floor. The reduced DOF (6 instead of 7) means fewer correspondences are needed, and the special structure can be exploited for more robust estimation.

The fundamental matrix for planar motion can be parameterized as F = [e']× [ls]× [e]×, which automatically satisfies both the rank-2 constraint on F and the rank-2 constraint on Fs.

General camera motion can be decomposed as: first apply a correction H = K'RK−1 (the infinite homography) to undo rotation and calibration differences, then the residual is a pure translation. So F = [e']× H.

What additional constraint does planar motion impose on F?

Chapter 9: Connections

The fundamental matrix is the most important multi-view geometric object in this book. Everything in Part II flows from it.

ChapterHow F connects
Ch 10: ReconstructionF determines cameras (up to projective ambiguity) ⇒ enables 3D reconstruction
Ch 11: Computing FPractical algorithms: 8-point, normalized, RANSAC
Ch 12: TriangulationF provides the epipolar constraint; triangulation finds 3D points
Ch 13: HomographiesF = [e']× H relates homographies and the fundamental matrix
Ch 15: Trifocal TensorThree-view generalization: the trifocal tensor encodes what F does for two views
"The fundamental matrix is the algebraic representation of epipolar geometry."
— Hartley & Zisserman, Chapter 9
What is the key relationship between F and a plane-induced homography H?
← Chapter 8 Chapter 10: Reconstruction →