#!/bin/bash # Set to 0 if you do not have a GPU. USE_GPU=0 # Path to a directory `base/` with images in `base/images/`. DATASET_PATH=$1 # Recommended CAMERA values: OPENCV for perspective, OPENCV_FISHEYE for fisheye. CAMERA=${2:-OPENCV} # Run COLMAP. ### Feature extraction colmap feature_extractor \ --database_path "$DATASET_PATH"/database.db \ --image_path "$DATASET_PATH"/images \ --ImageReader.single_camera 1 \ --ImageReader.camera_model "$CAMERA" \ --SiftExtraction.use_gpu "$USE_GPU" ### Feature matching colmap exhaustive_matcher \ --database_path "$DATASET_PATH"/database.db \ --SiftMatching.use_gpu "$USE_GPU" ## Use if your scene has > 500 images ## Replace this path with your own local copy of the file. ## Download from: https://demuc.de/colmap/#download # VOCABTREE_PATH=/usr/local/google/home/bmild/vocab_tree_flickr100K_words32K.bin # colmap vocab_tree_matcher \ # --database_path "$DATASET_PATH"/database.db \ # --VocabTreeMatching.vocab_tree_path $VOCABTREE_PATH \ # --SiftMatching.use_gpu "$USE_GPU" ### Bundle adjustment # The default Mapper tolerance is unnecessarily large, # decreasing it speeds up bundle adjustment steps. mkdir -p "$DATASET_PATH"/sparse colmap mapper \ --database_path "$DATASET_PATH"/database.db \ --image_path "$DATASET_PATH"/images \ --output_path "$DATASET_PATH"/sparse \ --Mapper.ba_global_function_tolerance=0.000001 ### Image undistortion ## Use this if you want to undistort your images into ideal pinhole intrinsics. # mkdir -p "$DATASET_PATH"/dense # colmap image_undistorter \ # --image_path "$DATASET_PATH"/images \ # --input_path "$DATASET_PATH"/sparse/0 \ # --output_path "$DATASET_PATH"/dense \ # --output_type COLMAP # Resize images. cp -r "$DATASET_PATH"/images "$DATASET_PATH"/images_2 pushd "$DATASET_PATH"/images_2 ls | xargs -P 8 -I {} mogrify -resize 50% {} popd cp -r "$DATASET_PATH"/images "$DATASET_PATH"/images_4 pushd "$DATASET_PATH"/images_4 ls | xargs -P 8 -I {} mogrify -resize 25% {} popd cp -r "$DATASET_PATH"/images "$DATASET_PATH"/images_8 pushd "$DATASET_PATH"/images_8 ls | xargs -P 8 -I {} mogrify -resize 12.5% {} popd