Structure from Motion (SfM)

Oso WA SlideHillshade model of the Oso, Washington landslide. Image Credit: USGS

Structure from Motion (SfM) is a technique which utilizes a series of 2-dimensional images to reconstruct the 3-dimensional structure of a scene or object. SfM can produce point cloud based 3-D models similar to LiDAR. This technique can be used to create high resolution digital surface models (including digital elevation models) and models of objects with consumer grade digital cameras. The relatively new technique has been made possible by advances in computers, digital cameras and unmanned aerial systems (UAS). Together, these advances have now made it feasible for a wide range of users to be able to generate 3-D models without extensive expertise or expensive equipment.


SfM is based on the same principles as stereoscopic photogrammetry.  In stereophogrammetry, triangulation is used to calculate the relative 3-D positions (x,y,z,) of objects from stereo pairs.  Traditionally these techniques require expensive specialized equipment and software.

Common points (P and Q) are identified in each image. A line of sight or ray can be constructed from the camera location to the point on the object. It is the intersection of these rays (triangulation) that determines the three-dimensional location of the point.

To create a 3-d reconstruction one simply needs many images of an area or an object with a high degree overlap, taken from different angles. The camera doesn’t need to be specialized, standard consumer-grade cameras work well for SfM methods. The images are often be taken from a moving sensor (UAVs for example), but can also be taken by a person or multiple people are different locations and angles.

Structure from Motion Diagram

Specialized software packages can automatically identify matching features in multiple images. These distinctive features are often corners or line segments. These features are tracked from image to image and are used to produce estimates of the camera positions and orientations and the coordinates of the features. This produces a point cloud of  x,y,z, coordinates for features.

SfM SCreenshotScreenshot from Pix4D software showing the identification of the same feature in multiple images. The software tracks and uses these features to estimate the photo position and build the 3-d point cloud. The images of the upper Eel River, CA were obtained via UAS. Image Credit: James Graham.


While the minimum requirement is generally for features to be visible in a minimum of three images, obtaining as many images for SfM input as possible (within in reason and feasibility) is recommended. For the fastest processing and model quality, all of the images should be taken at the same time with the same camera, but this is not a requirement. SfM methods have been employed using crowd-sourced images to create 3-Dd models of historical building and other monuments. The 3-d point clouds are often generated in a relative ‘image-space’ coordinate system but can be aligned to a real world coordinates system using ground-control points (GCPs) and georeferenced imagery.


There are many applications for SfM methods. SfM to can be used to create orthophotograph mosaics,3-D point clouds, and digital elevation models. Orthophoto mosaics have many applications in mapping and photogrammetry. 3-D point clouds have been used to determine tree biomass, analyze geology. Digital elevation models created from  SfM processing are generally high resolution and can be used to detect topographic changes to monitor glacial, fluvial, coastal, hillslope environments. In addition to natural resource and geospatial applications, SfM is also used extensively in robotics and self-driving vehicles.

UAV Forestry - Inventory of Forest Properties from Stefano Puliti on Vimeo

Identifying Salmonid Habitat Units on the Upper Eel River Using SfM

This project examined the effectiveness of UAS collected data to identify stream habitats in the Eel River. UAS was flown to obtain high resolution aerial imagery and to create elevation models using the SfM technique. A total of 204 aerial images were collected with approximately 3cm spatial resolution. These images were used to create a high resolution orthomosaic image of the river during the dry season. This data was also used to create a high resolution digital elevation model of the regions. The SfM generate DEM was comparable to DEMs generated using other methods, including LiDAR.

UAS derived DEM Left: Orthophoto mosaic of the upper Eel River created from a series of photos collected via UAS and processed using SfM software. Right: Digital Elevation Model of the same stretch of the Eel River created using SfM Software. Image Credit: James Graham

Modeling Trees

SfM has also been used to model tree structure. By creating high resolution models tree metrics such as diameter at breast height (dbh) was be accurately measured. This data can be used to estimate the total biomass of large, old growth trees using allometric models. In the example shown below, nearly 400 hundred overlapping photos were taken around a large old growth redwood tree. The redwood had a large fire cave, which made it difficult to accurately measure the diameter. The final product was a 3-D model of the tree with sub-centimeter resolution that could be used to accurately determine the diameter at various heights.

Redwood tree model from SfM
3-D model of the tree shown in the top right of the image and models depicting cross sections of the old growth redwood tree at various heights. Image Credit: Robert Van Pelt


← Back

Next →

Module Home