One-Line Summary: Multi-view geometry provides the mathematical framework for relating 2D image observations from multiple cameras to 3D scene structure, grounded in epipolar geometry, the fundamental matrix, and triangulation.

Prerequisites: Linear algebra (SVD, eigenvalues), projective geometry basics, camera intrinsic and extrinsic parameters, homogeneous coordinates

What Is Multi-View Geometry?

Imagine two people standing at different positions photographing the same building. Each photograph is a 2D projection of the same 3D structure, but from a different viewpoint. Multi-view geometry is the mathematics that connects these views: given a point in one image, it constrains where that point can appear in the other image (a line, not an arbitrary location). Given correspondences across views, it recovers 3D structure and camera motion. This is the theoretical backbone of structure-from-motion, stereo vision, visual SLAM, and every system that reconstructs 3D from multiple 2D observations.

How It Works

Camera Model

A pinhole camera projects a 3D world point (homogeneous) to a 2D image point via:

where is the intrinsic matrix (focal lengths , principal point ), is the rotation, is the translation, and is the projection matrix. The scalar is the projective depth.

Epipolar Geometry

For two cameras observing the same scene, epipolar geometry constrains the relationship between corresponding points. If and are corresponding points in images 1 and 2:

where is the fundamental matrix (rank 2, 7 degrees of freedom). This equation states that must lie on the epipolar line in the second image. This reduces correspondence search from 2D to 1D.

The essential matrix is the calibrated version:

has 5 degrees of freedom and encodes the relative rotation and translation direction (up to scale) between cameras:

where is the skew-symmetric cross-product matrix of .

The 8-Point Algorithm

The fundamental matrix is estimated from point correspondences using the 8-point algorithm (Longuet-Higgins, 1981; Hartley's normalized version, 1997):

  1. Normalize: Translate and scale points so their centroid is at the origin and average distance from origin is . This conditioning is essential for numerical stability.
  2. Build system: Each correspondence gives one equation. Stack correspondences into matrix where each row is .
  3. Solve: (vectorized) is the right singular vector of corresponding to the smallest singular value (SVD of ).
  4. Enforce rank-2: Compute SVD of , set the smallest singular value to zero: .
  5. Denormalize: where are the normalization transforms.

In practice, RANSAC wraps the 8-point algorithm: sample 8 correspondences, estimate , count inliers (points satisfying , typically -- pixels), and repeat for ~1000 iterations.

Triangulation

Given correspondences and known cameras , triangulation recovers the 3D point. Each correspondence provides two equations per view. For point :

This gives a linear system (DLT triangulation) solved via SVD. In practice, nonlinear refinement (minimizing reprojection error) improves accuracy:

Structure from Motion (SfM)

SfM recovers both 3D structure and camera poses from unordered images:

  1. Extract and match features (SIFT, SuperPoint + SuperGlue).
  2. Estimate pairwise or matrices with RANSAC.
  3. Initialize with a two-view reconstruction (decompose to get , triangulate).
  4. Incrementally add cameras via PnP (Perspective-n-Point) and triangulate new points.
  5. Bundle adjustment: Jointly optimize all camera parameters and 3D points to minimize total reprojection error. This is a large sparse nonlinear least-squares problem, solved with Levenberg-Marquardt (implemented in Ceres Solver, g2o).

COLMAP (Schonberger & Frahm, 2016) is the standard SfM pipeline, handling thousands of images with robust feature matching, geometric verification, and bundle adjustment.

Homography

When all points lie on a plane (or the camera undergoes pure rotation), the mapping between views is a homography (a invertible matrix with 8 DoF):

Estimated from 4+ correspondences via DLT. Used in panorama stitching, planar AR, and as a degeneracy check in SfM.

Why It Matters

  1. Foundation of 3D vision: Every system that reconstructs 3D from 2D images relies on multi-view geometry -- SfM, SLAM, stereo matching, NeRF pose estimation.
  2. Autonomous driving: Camera-based perception systems use multi-view geometry to calibrate surround-view cameras and estimate ego-motion.
  3. Augmented reality: AR systems track the camera relative to the environment using PnP and bundle adjustment.
  4. Photogrammetry: Surveying, mapping, and heritage preservation depend on SfM and MVS pipelines built on these principles.
  5. Feature matching validation: Epipolar geometry provides a geometric consistency check to filter incorrect feature matches.

Key Technical Details

  • The fundamental matrix has 7 DoF (9 entries - 1 scale - 1 rank constraint). The essential matrix has 5 DoF.
  • RANSAC for F estimation with 50% outlier rate needs ~590 iterations (8-point) at 99% confidence. The 5-point algorithm (Nister, 2004) for E requires only ~150 iterations.
  • Bundle adjustment for 1000 images and 500K 3D points has millions of parameters but exploits the sparse Jacobian structure (each point appears in few images) for efficient solving.
  • COLMAP achieves sub-pixel reprojection error (mean ~0.5 px) on well-textured scenes.
  • Triangulation accuracy degrades with small baselines (intersection angle). A baseline-to-depth ratio of 0.1--0.5 is recommended.
  • The 5-point algorithm (Nister, 2004) solves for E from 5 correspondences and returns up to 10 solutions, making it more efficient with RANSAC than the 8-point method.

Common Misconceptions

  • "The fundamental matrix gives you 3D structure." encodes the geometric relationship between two views but does not directly give 3D points. You need plus correspondences plus triangulation to recover 3D.
  • "More correspondences always help." Outlier correspondences degrade the estimate catastrophically. Robust estimation (RANSAC) is essential, and quality matters far more than quantity.
  • "Epipolar geometry fails for pure rotation." Correct -- with pure rotation and no translation, all epipoles are at infinity and is undefined. This is a degenerate configuration handled by detecting the homography model instead.
  • "Bundle adjustment is optional." Without bundle adjustment, accumulated drift makes large reconstructions unusable. BA is the single most important step for accurate SfM.

Connections to Other Concepts

  • depth-estimation.md: Stereo depth estimation is a direct application of epipolar geometry with rectified images.
  • slam.md: Visual SLAM systems use multi-view geometry for tracking (PnP), mapping (triangulation), and optimization (bundle adjustment).
  • neural-radiance-fields.md: NeRF and 3DGS require accurate camera poses, typically obtained via SfM (COLMAP).
  • 3d-reconstruction.md: Multi-view stereo extends pairwise geometry to dense reconstruction from many views.
  • feature-extraction-and-transformation.md: SIFT, SuperPoint, and other feature detectors provide the correspondences that multi-view geometry algorithms consume.

Further Reading

  • Hartley & Zisserman, "Multiple View Geometry in Computer Vision" (2003) -- The definitive textbook on the subject.
  • Longuet-Higgins, "A Computer Algorithm for Reconstructing a Scene from Two Projections" (1981) -- Origin of the 8-point algorithm.
  • Nister, "An Efficient Solution to the Five-Point Relative Pose Problem" (2004) -- The 5-point algorithm for calibrated cameras.
  • Schonberger & Frahm, "Structure-from-Motion Revisited" (CVPR 2016) -- COLMAP: the standard SfM pipeline.
  • Sarlin et al., "SuperGlue: Learning Feature Matching with Graph Neural Networks" (CVPR 2020) -- Learned feature matching that dramatically improves SfM robustness.