CSE445Computer Vision
ModulesMulti-View & MotionStructure from Motion

Structure from Motion

The incremental SfM pipeline: two-view initialization, PnP, triangulation, and bundle adjustment, with the metric ambiguity.

Key Terms

Incremental SfMPnPTriangulationBundle AdjustmentProjective vs. MetricJacobian Sparsity

Python Tools

OpenCVNumPyOpen3DMatplotlib

Textbook Reference

Szeliski Ch.11Hartley & Zisserman Ch.18

Topics Covered

  1. 1Feature tracks and the correspondence graph
  2. 2Two-view initialization and incremental camera registration by PnP
  3. 3Triangulating new structure and filtering by reprojection error
  4. 4Bundle adjustment: the cost, Jacobian sparsity, and Levenberg-Marquardt
  5. 5Projective versus metric reconstruction and the upgrade via calibration

Learning Outcomes

  • Describe the incremental structure-from-motion pipeline end to end
  • Explain the role of PnP and bundle adjustment in the loop
  • Distinguish projective, affine, and metric reconstructions

3D reconstruction walkthrough

Depth Estimation & Introductory Structure from Motion

Three connected ideas, one step at a time: how two cameras turn a pixel shift into a distance, how two views triangulate a single point, and how many views recover structure and motion together.

Step 1 / 8
LEFT IMAGE
RIGHT IMAGE

Step 1 of 8 · Two cameras

Two cameras, one rigid offset

A rectified stereo rig is two identical cameras side by side, looking the same way. The distance between their centres is the baseline B — the only thing that makes depth recoverable at all.

B=∥CR−CL∥B = \lVert \mathbf{C}_R - \mathbf{C}_L \rVert

Look for

In the 3D view, the amber bar between Cᴸ and Cᴿ is the baseline.

xL

452.0 px

xR

360.1 px

disparity d

91.92 px

estimated Z

4.525 m

true Z

4.500 m

depth error

0.025 m

uncertainty ±

0.039 m

baseline B

0.80 m

Try it

cyan = viewing raysgreen = acceptedred = rejected / invalid

Lecture PDFs

Structure from Motion

The embedded PDF preview is disabled to reduce Vercel bandwidth usage. Open the lecture file directly in Google Drive for viewing, downloading, or presenting.