A reconstruction you can orbit

The sparse cloud produced by the structure-from-motion post, in the browser, with the camera poses drawn in. Points are in creation order, so you can scrub the reconstruction as it was built, image by image.

Try this

Scrub back to the first few images and watch how little of the object exists before the fourth camera is registered.

Try it: orbit the reconstruction
Sparse cloud + camera poses drag to orbit · scroll to zoom · right-drag to pan
Loading reconstruction…

Where this lab comes from

Structure from Motion, from Scratch: 47 Photos to a 3-D Temple in ~800 Lines of Python

How overlapping 2-D photos become 3-D points and camera poses: SIFT matching, the essential matrix, triangulation, PnP growth, and sparse bundle adjustment, built from scratch with OpenCV + SciPy. The pipeline registers all 47 Middlebury temple views at 0.25 px mean reprojection error, next to COLMAP's 0.30 px on the same images. Worked examples, three interactive labs, and the reconstruction growing image by image.

More in cameras and geometry