Skip to content

COLMAP

COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with several features for the reconstruction of ordered and unordered image collections.

COLMAP is available as a module which wraps an Apptainer container on Apocrita.

Usage

GUI support via OnDemand

To use the COLMAP GUI, launch the software via the OnDemand COLMAP interactive app.

To run the default version of COLMAP, simply load the colmap module:

$ module load colmap
$ colmap --help

Usage:
  colmap [command] [options]

Documentation:
  https://colmap.github.io/

Example usage:
  colmap help [ -h, --help ]
  colmap automatic_reconstructor -h [ --help ]
  colmap automatic_reconstructor --image_path IMAGES --workspace_path WORKSPACE
  colmap feature_extractor --image_path IMAGES --database_path DATABASE
  colmap exhaustive_matcher --database_path DATABASE
  colmap mapper --image_path IMAGES --database_path DATABASE --output_path MODEL
  ...

Example job

CPU and GPU utilisation

To ensure your job uses the requested cores and GPU, add the --num_threads $NSLOTS and --gpu_index 0 parameters to your job script, as shown below. Failure to add these parameters will result in your job only using one core, significantly increasing the execution time for your job.

GPU job

Here is an example job running on 1 GPU:

#!/bin/bash
#$ -cwd
#$ -j y
#$ -pe smp 8
#$ -l h_rt=240:0:0
#$ -l h_vmem=11G
#$ -l gpu=1

module load colmap

# Set the path to your dataset
export DATASET_PATH=/path/to/dataset

colmap automatic_reconstructor \
  --workspace_path "${DATASET_PATH}" \
  --image_path "${DATASET_PATH}/images" \
  --num_threads "${NSLOTS}" \
  --gpu_index 0

References