What Is Photogrammetry? A Plain Guide to SfM
What is photogrammetry? A plain guide to structure from motion, dense reconstruction and meshing, plus free and paid photogrammetry apps and their limits.
What is photogrammetry?
Photogrammetry is the practice of working out shape and position from photographs. The USDA's agricultural thesaurus defines it in one line: the science of deducing precise measurements from photographs. In everyday use today, the word usually means something more specific: taking many overlapping photos of an object or place and letting software turn them into a 3D model.
The idea behind it is the same one your two eyes use. A point seen from two different positions appears in slightly different places, and that difference tells you how far away it is. Photogrammetry software does this with dozens or hundreds of photos at once, for thousands of points.
The core technique that makes this work from ordinary, unordered photos is called structure from motion, often shortened to SfM. The rest of this guide explains what it does, what comes after it, which photogrammetry apps exist, and where the method runs out.
Structure from motion: finding where the cameras were
Structure from motion answers two questions at the same time: where was the camera for each photo, and where are the points it saw? The documentation of COLMAP, an open-source pipeline, splits the process into three stages.
- Feature detection and extraction. The software looks for distinctive small spots in each image, such as corners and specks of texture, and stores a numerical description of each one. A classic example of such features is SIFT, from David Lowe's 2004 paper "Distinctive image features from scale-invariant keypoints".
- Feature matching and geometric verification. Descriptions are compared between images to find the same spot seen in different photos. Matches that do not fit a consistent camera geometry are thrown out.
- Structure and motion reconstruction. The scene is extended step by step by registering new images and triangulating new points.
The result is a set of camera poses (position and direction for every photo), the camera's internal parameters such as focal length, and a sparse point cloud: a thin scattering of 3D points that were matched reliably. It looks like a ghostly outline of the scene. It is not yet a model, but everything after depends on it. If this step fails or drifts, nothing downstream can repair it.
From sparse points to a model: dense reconstruction, meshing, texturing
Once the cameras are known, the software can do far more detailed work, because it now knows exactly how each photo relates to the others.
- Dense reconstruction. A step called multi-view stereo takes the SfM output and computes depth for every pixel of every image, not just the distinctive spots. Fusing these depth maps produces a dense point cloud, far more detailed than the sparse one.
- Meshing. A surface is estimated from the dense point cloud, connecting it into triangles. COLMAP, for example, offers Poisson and Delaunay meshing for this.
- Texturing. The original photos are projected back onto the triangles and packed into a texture image, so the mesh carries the real colors of the subject.
What comes out at the end is a textured mesh, the kind of file that 3D editors, game engines, AR viewers and (after some cleanup) 3D printers work with. Mapping-oriented tools can also produce flat outputs from the same data, such as georeferenced maps and elevation models.
What photogrammetry is used for
Because it only needs a camera, photogrammetry shows up in many fields. Examples that the tools themselves list:
- Mapping and surveying from drones. WebODM describes generating georeferenced maps, point clouds, elevation models and textured 3D models from aerial images.
- Heritage and archaeology. Agisoft lists archaeological sites, artifacts and buildings among the subjects for 3D model generation in Metashape.
- Measurement. Metashape Professional includes tools for measuring distances, areas and volumes.
- Games, film and AR. Apple presents Object Capture as a way to create lifelike 3D models of real objects that can be viewed in AR, and Epic presents RealityScan as a way to turn surroundings into digital assets.
For hobbyists, the common uses are simpler: scanning an object to print a copy, keeping a 3D record of something you made, or building assets for a personal project.
What you need to get started
The entry requirements are modest.
- A camera. A phone is enough to begin with. Sharp, well-exposed photos matter more than megapixels.
- A suitable subject. It needs visible surface texture and must hold still.
- Enough photos with enough overlap. COLMAP's guidance is that every part should be seen in at least three images, taken from different positions and not by rotating on one spot. Apple suggests 20 to 200 close-up images for a single object.
- Steady light. Similar illumination across the set, without harsh contrast or glare.
- A computer with a capable graphics card. The heavy steps are GPU work, and some tools are tied to specific hardware. COLMAP's documentation states that without a CUDA-enabled GPU you can use everything except its dense reconstruction, and Apple's API runs on macOS.
- Patience. Processing ranges from minutes to hours depending on photo count and settings.
Photogrammetry apps: free and paid options
Photogrammetry software falls into a few groups. The facts below are from each project's own pages; check them before you commit, since terms change.
Free and open source:
- COLMAP. A general-purpose SfM and multi-view stereo pipeline with a graphical interface and a command line, under the new BSD license.
- Meshroom. A free, open-source 3D reconstruction program based on the AliceVision framework, released under MPLv2. Its pipeline is laid out as a graph of nodes.
- WebODM. Open-source software (AGPL v3) aimed at drone imagery and mapping outputs.
Free for many users, paid for larger businesses:
- RealityScan from Epic Games. Its license page says it is free for individuals and small businesses with under US$1 million in revenue in the past 12 months, and for students and educational institutions; larger companies pay per seat. There is also a free RealityScan Mobile app for phones.
Commercial:
- Agisoft Metashape. Sold in Standard and Professional editions, with a demo mode and a 30-day trial. The Professional edition adds surveying features such as elevation models, orthomosaics, ground control points and measurements.
Built into a platform:
- Apple Object Capture. A photogrammetry API on macOS that outputs a mesh with material maps, typically as a USDZ file. It is a building block for apps, not an app in itself.
So if you are searching for free photogrammetry software, there are real options. The trade-off is usually convenience: open-source tools ask more of you in setup and learning.
The limits of photogrammetry
Photogrammetry depends on finding the same point in several photos. Anything that breaks that assumption causes trouble.
- Plain surfaces. A white wall or an empty desk gives the software nothing to match.
- Shiny and transparent materials. Highlights and reflections move as the camera moves, so they do not behave like fixed points. COLMAP's guidance says to avoid specularities on shiny surfaces.
- Movement. People, pets, leaves in wind and changing shadows all produce inconsistent photos.
- Thin and fuzzy things. Hair, fur, foliage and wire are hard to turn into a clean triangle surface.
- Gaps. What was never photographed is simply missing, or comes out as a rough bridge between known areas.
- Real-world size. A model built from photos alone has no built-in scale. Tools that are used for measurement provide scale bars or ground control points to set it.
None of this is a software bug. These are consequences of the method, and careful capture is the main way to work around them.
How Gaussian splatting reuses the same camera solve
Gaussian splatting is a newer way to build a 3D scene from photos, and it does not replace structure from motion. It starts from it. The original 2023 paper, "3D Gaussian Splatting for Real-Time Radiance Field Rendering", describes starting from the sparse points produced during camera calibration. In practice that means the same feature matching and camera solving described above. Brush, an open-source splatting engine, states that it takes COLMAP data as input.
The paths split after that. Photogrammetry goes on to dense points, a mesh and a texture. Gaussian splatting instead represents the scene with a large number of small colored 3D Gaussians and adjusts them until rendered views match the photos. There is no surface, which is why splat scenes handle soft and fine detail well and why they cannot be used directly where a mesh is required.
Both inherit the same weakness: if the camera solve fails because of poor overlap or featureless photos, neither method has anything to build on.
Where SplatLoom fits
SplatLoom is not a photogrammetry app in the mesh-making sense, and it does not export meshes or take measurements. If you need a printable model or a survey, use one of the tools above.
It uses the same first step for a different result. SplatLoom bundles COLMAP for the camera solve and Brush for Gaussian splat training, and runs them on your own Mac (Apple Silicon, macOS 15 or later) or Windows 10/11 PC without Python, a command line, an upload or an account. You pick overlapping photos or a video, press Generate, tidy the scene, and export a Gaussian PLY, a PNG still, an MP4 orbit video or an offline HTML viewer. It costs US$19.90 once. If what you want from your photos is a realistic view to look around and share, and not a mesh, that is where it fits.
Frequently asked questions
Is photogrammetry the same as structure from motion?
Not quite. Structure from motion is the step that works out camera positions and a sparse set of 3D points from overlapping photos. Photogrammetry in the usual modern sense is the whole pipeline: structure from motion, then dense reconstruction, meshing and texturing.
Is there free photogrammetry software?
Yes. COLMAP, Meshroom and WebODM are open source. RealityScan is free for individuals and small businesses under US$1 million in yearly revenue, according to Epic's license page. Agisoft Metashape is commercial but has a 30-day trial.
Can I do photogrammetry with a phone?
Yes for capture. A phone camera is enough if the photos are sharp, well lit and overlapping. Processing is usually done on a computer. There are also phone apps for scanning, such as Epic's free RealityScan Mobile.
Why did my photogrammetry scan fail or come out with holes?
Usually because of the photos. Too little overlap, plain or shiny surfaces, movement in the scene or areas that were never photographed all prevent the software from matching points. Reshooting with more overlap from more positions fixes most cases.
Is Gaussian splatting a kind of photogrammetry?
It shares the first half. Both use structure from motion to find the camera positions. After that, photogrammetry builds a mesh, while Gaussian splatting builds a scene out of many small colored Gaussians meant for realistic viewing.
Sources: https://lod.nal.usda.gov/nalt/57942 · https://colmap.github.io/ · https://colmap.github.io/tutorial.html · https://colmap.github.io/faq.html · https://colmap.github.io/license.html · https://www.cs.ubc.ca/~lowe/keypoints/ · https://github.com/alicevision/Meshroom · https://meshroom-manual.readthedocs.io/en/latest/ · https://github.com/OpenDroneMap/WebODM · https://www.realityscan.com/en-US · https://www.realityscan.com/en-US/license · https://www.agisoft.com/features/standard-edition/ · https://www.agisoft.com/features/professional-edition/ · https://developer.apple.com/videos/play/wwdc2021/10076/ · https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/ · https://github.com/ArthurBrussee/brush
Try it in SplatLoom