Introduction

Photogrammetry — the science of extracting 3D geometry from 2D photographs — has evolved from an expensive industrial niche into an accessible open-source discipline. Whether you’re scanning historical artifacts, creating game assets, surveying construction sites, or building digital twins, self-hosted photogrammetry pipelines give you full control over your data, unlimited processing capacity, and zero per-model licensing fees.

In this guide, we compare three leading open-source photogrammetry frameworks — Meshroom (AliceVision), COLMAP, and OpenMVS — across reconstruction quality, ease of deployment, GPU acceleration, and self-hosting suitability.

Why Self-Host Your Photogrammetry Pipeline?

Cloud-based photogrammetry services like RealityCapture, Agisoft Metashape, and Pix4D charge per-project or per-image fees that scale poorly for high-volume work. A single archaeological survey can generate 5,000+ images, making cloud costs prohibitive. Self-hosting eliminates per-image pricing entirely — you pay only for your hardware.

Data sovereignty is equally critical. Cultural heritage institutions, defense contractors, and engineering firms cannot upload sensitive 3D scans to third-party servers. A self-hosted pipeline keeps your source images, sparse point clouds, dense reconstructions, and textured meshes entirely within your infrastructure.

Open-source photogrammetry tools have matured dramatically. Meshroom (from the AliceVision framework) offers a node-based visual pipeline editor, COLMAP provides industry-standard Structure-from-Motion (SfM) with robust camera calibration, and OpenMVS delivers dense multi-view stereo reconstruction that rivals commercial tools. All three run on Linux servers with NVIDIA GPU acceleration.

If you’re already managing media assets, see our self-hosted image gallery guide for organizing your reconstruction outputs. For automated image preprocessing, our image optimization guide covers batch workflows. If you’re working with telescope imagery, our astrophotography automation guide explores similar computational photography pipelines.

Comparison Table

FeatureMeshroom (AliceVision)COLMAPOpenMVS
Stars12,77711,8674,010
LanguageC++ / PythonC++ / CUDAC++
LicenseMPL-2.0BSD-3-ClauseAGPL-3.0
GUINode-based visual editor (Qt)GUI + CLICLI only
SfMFull pipeline (AliceVision)Gold standard SfMExternal (COLMAP input)
MVSDepth map fusionPatch-match stereoFull MVS pipeline
GPUCUDA requiredCUDA recommendedCUDA + OpenCL
DockerOfficial image (alicevision/meshroom)Community imagesCommunity images
TexturingYes (built-in)NoYes (built-in)
API/HeadlessYes (command line)Yes (command line)Yes (command line)
Last UpdatedJune 2026June 2026June 2026

Self-Hosted Deployment

Meshroom with Docker

Meshroom provides an official Docker image that bundles the full AliceVision pipeline with CUDA support. Deploy on any Linux server with an NVIDIA GPU:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# docker-compose.yml for Meshroom
version: "3.8"
services:
  meshroom:
    image: alicevision/meshroom:latest
    runtime: nvidia
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
      - DISPLAY=:99
    volumes:
      - ./input:/data/input
      - ./output:/data/output
      - ./cache:/data/cache
    command: >
      meshroom_batch
      --input /data/input
      --output /data/output
      --cache /data/cache
      --pipeline photogrammetry
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

Start processing:

1
2
docker compose up -d
docker compose logs -f

COLMAP Server Deployment

COLMAP runs natively on Linux with CUDA acceleration. For headless server deployment, use the automatic reconstruction pipeline:

1
2
3
4
5
6
7
8
9
# Install COLMAP on Ubuntu 24.04
sudo apt-get update
sudo apt-get install -y colmap

# Automatic reconstruction pipeline
colmap automatic_reconstructor   --workspace_path /data/workspace   --image_path /data/images   --quality high   --camera_model OPENCV   --gpu_index 0

# Export to OpenMVS format
colmap model_converter   --input_path /data/workspace/sparse/0   --output_path /data/workspace/model.nvm   --output_type NVM

OpenMVS Processing Pipeline

OpenMVS takes COLMAP output and performs dense reconstruction, meshing, and texturing:

1
2
3
4
# Docker deployment for OpenMVS
docker run --rm --gpus all   -v /data/workspace:/workspace   openmvs/openmvs:latest   /bin/bash -c "
    InterfaceCOLMAP       -i /workspace       -o /workspace/scene.mvs       --image-folder /workspace/images &&     DensifyPointCloud       -i /workspace/scene.mvs       -o /workspace/scene_dense.mvs &&     ReconstructMesh       -i /workspace/scene_dense.mvs       -o /workspace/scene_mesh.mvs &&     RefineMesh       -i /workspace/scene_mesh.mvs       -o /workspace/scene_refined.mvs &&     TextureMesh       -i /workspace/scene_refined.mvs       -o /workspace/scene_textured.mvs
  "

Pipeline Architecture: Meshroom → COLMAP → OpenMVS

For production-quality reconstructions, chain the three tools in sequence:

  1. COLMAP performs camera calibration and sparse reconstruction (SfM) — the gold standard for accurate camera poses
  2. Export COLMAP’s sparse model to OpenMVS format
  3. OpenMVS handles dense point cloud generation, mesh reconstruction, mesh refinement, and texturing
  4. Meshroom can serve as an alternative frontend with its visual node editor for pipeline customization
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash
# Production photogrammetry pipeline
set -e

WORKSPACE="/data/photogrammetry/project_001"
IMAGES="$WORKSPACE/images"

# Step 1: COLMAP SfM
colmap feature_extractor   --database_path $WORKSPACE/database.db   --image_path $IMAGES   --SiftExtraction.use_gpu 1

colmap exhaustive_matcher   --database_path $WORKSPACE/database.db   --SiftMatching.use_gpu 1

mkdir -p $WORKSPACE/sparse
colmap mapper   --database_path $WORKSPACE/database.db   --image_path $IMAGES   --output_path $WORKSPACE/sparse

# Step 2: Export to OpenMVS
colmap model_converter   --input_path $WORKSPACE/sparse/0   --output_path $WORKSPACE/model.nvm   --output_type NVM

# Step 3: OpenMVS dense reconstruction
InterfaceCOLMAP -i $WORKSPACE -o $WORKSPACE/scene.mvs
DensifyPointCloud -i $WORKSPACE/scene.mvs -o $WORKSPACE/scene_dense.mvs
ReconstructMesh -i $WORKSPACE/scene_dense.mvs -o $WORKSPACE/scene_mesh.mvs
RefineMesh -i $WORKSPACE/scene_mesh.mvs -o $WORKSPACE/scene_refined.mvs
TextureMesh -i $WORKSPACE/scene_refined.mvs -o $WORKSPACE/scene_textured.mvs

echo "Pipeline complete! Output: $WORKSPACE/scene_textured.mvs"

Choosing the Right Tool

Choose Meshroom if you need a visual pipeline editor and want a single integrated solution. The node-based interface makes it easy to experiment with different reconstruction parameters without writing code. Meshroom is ideal for artists, archaeologists, and educators who prefer a GUI-driven workflow.

Choose COLMAP if reconstruction accuracy is your top priority. COLMAP’s SfM implementation is the academic gold standard and produces the most reliable camera poses. It excels in challenging conditions: varying lighting, reflective surfaces, and texture-poor regions. Most research papers in computer vision benchmark against COLMAP.

Choose OpenMVS if you need production-grade dense reconstruction with mesh refinement and texturing. OpenMVS integrates cleanly with COLMAP output and produces watertight meshes suitable for 3D printing, game engine import, and architectural visualization.

For production pipelines, use all three: COLMAP for SfM → OpenMVS for dense reconstruction + mesh → Meshroom for pipeline orchestration and quality control.

Hardware Requirements

Photogrammetry is computationally intensive. Budget for these minimums:

ScaleImagesGPU VRAMSystem RAMStorageProcessing Time
Small< 2008 GB32 GB50 GB1-3 hours
Medium200-100016 GB64 GB200 GB3-12 hours
Large1000-500024 GB128 GB1 TB12-48 hours
Enterprise5000+48 GB+256 GB+2 TB+48+ hours

For self-hosted deployments, an RTX 4090 (24 GB VRAM) handles medium-scale projects comfortably. Scale horizontally with multiple GPUs using CUDA-aware job scheduling.

FAQ

Which tool produces the best quality 3D models?

COLMAP+OpenMVS paired together produces the highest quality reconstructions in open-source photogrammetry. COLMAP’s camera calibration is unmatched, and OpenMVS’s dense reconstruction with mesh refinement produces watertight, textured models that rival commercial tools. For absolute maximum quality, run COLMAP at “high” quality with full GPU acceleration, then process through OpenMVS with mesh refinement enabled.

Can I run photogrammetry on a CPU-only server?

Yes, but expect 10-50x slower processing. COLMAP and OpenMVS both support CPU-only operation. For small projects (< 100 images), CPU processing is viable. For anything larger, GPU acceleration is effectively required — even a mid-range NVIDIA GPU (RTX 3060, 12 GB) dramatically outperforms a 64-core CPU server.

How do I handle large image datasets efficiently?

Split processing into stages: (1) pre-select high-quality images (remove blurry, overexposed shots), (2) run feature extraction in parallel across multiple GPUs if available, (3) use COLMAP’s vocabulary tree matching for datasets > 1000 images, (4) set an appropriate cache directory on NVMe storage. For massive datasets (10,000+ images), consider splitting into geographic sub-regions and merging reconstructions afterward.

Is there a web interface for self-hosted photogrammetry?

Meshroom provides the most complete GUI with its node-based pipeline editor, but it’s a Qt desktop application rather than a web interface. For web-based access, you can: (1) run Meshroom via VNC/noVNC in Docker, (2) use WebODM (focused on drone imagery), or (3) build a custom web frontend that triggers CLI pipelines and serves results. COLMAP and OpenMVS are primarily CLI tools designed for server automation.

How do I back up and version my photogrammetry projects?

Store SfM databases (.db), sparse models, and dense reconstructions in version-controlled storage. Use Git LFS for small projects or dedicated artifact storage (MinIO, S3-compatible) for larger ones. The COLMAP database file contains all feature matches and is the most critical artifact — back it up before running expensive dense reconstruction stages.

Can I integrate photogrammetry into a CI/CD pipeline?

Yes. Run COLMAP + OpenMVS as headless jobs triggered by git commits containing new images. Use containerized workers with GPU access. Store reconstruction artifacts as pipeline outputs. This pattern works well for digital twin maintenance, where 3D models must be updated whenever the physical environment changes.


💰 想测试你的市场判断力?我用 Polymarket 做预测市场交易——这是全球最大的预测市场平台,从大选结果到技术监管时间线,什么都可以押注。和赌博不同,这是真正的信息市场:你懂的信息越多,胜率越高。我靠预测技术相关事件的走向已经赚了不少。用我的邀请链接注册:Polymarket.com