COLMAP#
General-purpose Structure-from-Motion & Multi-View Stereo
COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface. It offers a wide range of features for reconstruction of ordered and unordered image collections, and is free and open source.
Sparse model of central Rome using 21K photos produced by COLMAP’s SfM pipeline.#
Install COLMAP#
Select your platform below to get the recommended install command or download.
For all installation options and build-from-source instructions, see the installation guide.
Features#
Robust incremental SfM to recover camera poses and sparse 3D structure from ordered or unordered image collections.
Dense reconstruction with PatchMatch stereo and stereo fusion to produce detailed dense point clouds and meshes.
A full-featured GUI for interactive reconstruction plus a scriptable command-line interface for automated pipelines.
Python bindings exposing most of COLMAP’s functionality, from the reconstruction pipeline to robust geometric estimators.
A wide range of camera models and multi-camera rig support for diverse capture setups.
Ready-to-use sample datasets and well-documented input/output formats for easy integration.
Getting Started#
Install COLMAP using the selector above, download the pre-built binaries, or build from source (see Installation).
Download one of the provided datasets (see Datasets) or use your own images.
Use the automatic reconstruction to easily build models with a single click (see Quickstart).
Support#
Please, use GitHub Discussions for questions and the GitHub issue tracker for bug reports, feature requests/additions, etc.
Citation#
If you use this project for your research, please cite:
@inproceedings{schoenberger2016sfm,
author={Sch\"{o}nberger, Johannes Lutz and Frahm, Jan-Michael},
title={Structure-from-Motion Revisited},
booktitle={Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2016},
}
@inproceedings{schoenberger2016mvs,
author={Sch\"{o}nberger, Johannes Lutz and Zheng, Enliang and Pollefeys, Marc and Frahm, Jan-Michael},
title={Pixelwise View Selection for Unstructured Multi-View Stereo},
booktitle={European Conference on Computer Vision (ECCV)},
year={2016},
}
If you use the global SfM pipeline (GLOMAP), please cite:
@inproceedings{pan2024glomap,
author={Pan, Linfei and Barath, Daniel and Pollefeys, Marc and Sch\"{o}nberger, Johannes Lutz},
title={{Global Structure-from-Motion Revisited}},
booktitle={European Conference on Computer Vision (ECCV)},
year={2024},
}
If you use the image retrieval / vocabulary tree engine, please cite:
@inproceedings{schoenberger2016vote,
author={Sch\"{o}nberger, Johannes Lutz and Price, True and Sattler, Torsten and Frahm, Jan-Michael and Pollefeys, Marc},
title={A Vote-and-Verify Strategy for Fast Spatial Verification in Image Retrieval},
booktitle={Asian Conference on Computer Vision (ACCV)},
year={2016},
}
Acknowledgments#
COLMAP was originally written by Johannes Schönberger with funding provided by his PhD advisors Jan-Michael Frahm and Marc Pollefeys. The team of core project maintainers currently includes Johannes Schönberger, Paul-Edouard Sarlin, and Shaohui Liu.
The Python bindings in PyCOLMAP were originally added by Mihai Dusmanu, Philipp Lindenberger, and Paul-Edouard Sarlin.
The project has also benefitted from countless community contributions, including bug fixes, improvements, new features, third-party tooling, and community support (special credits to Torsten Sattler).