Structure from Motion
The incremental SfM pipeline: two-view initialization, PnP, triangulation, and bundle adjustment, with the metric ambiguity.
Key Terms
Python Tools
Textbook Reference
Topics Covered
- 1Feature tracks and the correspondence graph
- 2Two-view initialization and incremental camera registration by PnP
- 3Triangulating new structure and filtering by reprojection error
- 4Bundle adjustment: the cost, Jacobian sparsity, and Levenberg-Marquardt
- 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 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.
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
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.