Photogrammetry

Photogrammetry reconstructs measurements, surfaces, camera positions, and three-dimensional geometry from overlapping photographs. Software identifies features visible in multiple images, estimates the cameras that recorded them, and calculates where those features exist in 3D space.

A typical object-capture workflow includes:

  1. photographing the subject from many overlapping viewpoints;
  2. solving the camera positions;
  3. generating a sparse and then dense point cloud;
  4. constructing a polygon mesh;
  5. projecting photographic texture onto the mesh;
  6. cleaning, scaling, and exporting the resulting model.

Photogrammetry is used for cultural heritage, visual effects, surveying, forensics, product capture, digital humans, immersive media, and spatial display content. Results depend on image coverage, sharpness, lighting, surface texture, reflections, subject movement, and calibration.

1 How the reconstruction works

The central idea is Structure from Motion (SfM): if the same visible point can be identified in several photographs, its changing position in the images contains information about both the camera movement and the point’s location in space.

The software first detects distinctive local features, such as corners, texture changes, or small patterns that remain recognizable when viewed from a different angle or distance. It then compares the feature descriptions and builds matches between photographs. Incorrect matches are rejected using geometric tests.

From a reliable starting pair, SfM estimates the relative camera positions and triangulates matched features into an initial sparse 3D point cloud. More photographs are added incrementally. A process called bundle adjustment then refines all camera positions, camera parameters, and 3D points together. It minimizes reprojection error: the distance between an observed feature in a photograph and the position where the current 3D reconstruction predicts that feature should appear.

The sparse SfM result describes the camera motion and the basic structure of the scene. A later multi-view stereo stage compares image regions more densely to produce a dense point cloud. This can then become a polygon mesh with textures projected from the original photographs.

2 VisualSFM: a pioneering practical system

VisualSFM by Changchang Wu was one of the pioneering tools that made a complete, visual Structure-from-Motion workflow accessible outside a small group of computer-vision researchers. Its graphical interface allowed users to load photographs, inspect feature matches, watch an incremental reconstruction develop, and export the recovered cameras and 3D points.

VisualSFM combined several important research components:

  • SiftGPU accelerated feature detection and matching on the graphics processor;
  • incremental SfM recovered cameras and sparse scene structure;
  • Multicore Bundle Adjustment refined large reconstructions efficiently across CPU cores and GPUs;
  • CMVS/PMVS integration supported dense multi-view reconstruction.

This combination of a usable interface and hardware-accelerated algorithms was particularly influential in the early 2010s, when large image-based reconstructions were still difficult to run on an ordinary workstation. VisualSFM helped demonstrate the practical potential of SfM photogrammetry and informed many research, cultural-heritage, mapping, and visual-effects workflows that followed.

The VisualSFM documentation describes its feature matching, sparse reconstruction, bundle adjustment, dense reconstruction, camera model, and NVM output format. The underlying algorithm is discussed in Wu’s paper Towards Linear-time Incremental Structure from Motion.

TipWhy overlap matters

The software needs to recognize the same features in several photographs. Large gaps, motion, blur, or shiny featureless surfaces make reconstruction more difficult.

View the photogrammetry self-portrait light field example

Read the full guide to SIFT, the fundamental matrix, VisualSFM, and RealityKit Object Capture