colmap
by
colmap

Description: COLMAP - Structure-from-Motion and Multi-View Stereo

View colmap/colmap on GitHub ↗

Summary Information

Updated 24 minutes ago
Added to GitGenius on August 14th, 2025
Created on August 16th, 2014
Open Issues/Pull Requests: 655 (+2)
Number of forks: 1,956
Total Stargazers: 11,318 (+0)
Total Subscribers: 173 (+0)

Detailed Description

COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a strong focus on robustness and scalability. Developed primarily by Johannes L. Schönberger and collaborators at the Visual Computing Lab of the University of Zurich, it’s a widely used open-source project for 3D reconstruction from unordered image collections. The repository on GitHub (https://github.com/colmap/colmap) contains the source code, pre-built binaries, example datasets, and documentation for the entire system.

At its core, COLMAP tackles the problem of creating a dense 3D model of a scene given a set of 2D images. It operates in several distinct stages. First, *feature extraction* identifies keypoints and computes descriptors within each image. These descriptors are then used for *feature matching* across images, finding corresponding points that represent the same 3D location. The crucial SfM stage then estimates the camera poses (position and orientation) and a sparse 3D point cloud by triangulating these matched features. COLMAP employs a robust estimation framework, including automatic outlier rejection, to handle noisy matches and ensure accurate reconstruction. This initial sparse reconstruction serves as the foundation for the subsequent MVS stage.

The MVS pipeline takes the sparse point cloud and camera poses and generates a dense 3D model. COLMAP offers several MVS algorithms, including Patch-Based Multi-View Stereo (PMVS) and COLMAP’s own custom MVS implementation. These algorithms leverage the estimated camera parameters and image data to estimate depth for each pixel, resulting in a detailed 3D surface. The repository includes tools for refining the dense reconstruction, such as depth map filtering and meshing, to create a clean and visually appealing 3D model. A key strength of COLMAP’s MVS is its ability to handle large-scale scenes and datasets efficiently.

The GitHub repository is structured to support both command-line usage and integration into larger software systems. It provides pre-built executables for various platforms (Windows, Linux, macOS) simplifying the process of getting started. The `colmap` command-line tool is the primary interface for running the pipeline, allowing users to specify input images, configure reconstruction parameters, and control the different stages of the process. Furthermore, COLMAP offers a Python API, enabling developers to integrate its functionality into custom applications and workflows. This API allows programmatic access to the reconstruction pipeline, enabling automated processing and analysis.

Beyond the core reconstruction pipeline, the repository also includes tools for database management, visualization, and model export. COLMAP uses a SQLite database to store reconstruction data, including image metadata, features, matches, camera poses, and 3D points. The `colmap viewer` provides an interactive interface for visualizing the reconstructed scene, inspecting camera poses, and exploring the 3D model. Finally, COLMAP supports exporting the reconstructed model in various standard formats, such as OBJ, PLY, and COLMAP’s own native format, facilitating integration with other 3D modeling and rendering software. The comprehensive documentation and active community support further contribute to COLMAP’s popularity and usability.

colmap
by
colmapcolmap/colmap

Repository Details

Fetching additional details & charts...