File size: 2,193 Bytes
a5f2fdf 744b072 a5f2fdf 744b072 d7e30ae e8ace62 a5f2fdf 744b072 a5f2fdf 744b072 a5f2fdf 744b072 d7e30ae e8ace62 744b072 a5f2fdf 744b072 a5f2fdf 744b072 d7e30ae e8ace62 a5f2fdf 744b072 e8ace62 a5f2fdf 744b072 a5f2fdf d7e30ae a5f2fdf 744b072 a5f2fdf |
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
#!/bin/bash
# Default values
matcher_type="exhaustive"
use_gpu="1"
verbose="0"
settings_yaml=""
sequence_path=""
exp_folder=""
exp_id=""
calibration_yaml=""
rgb_csv=""
camera_name="rgb_0"
# Function to split key-value pairs and assign them to variables
split_and_assign() {
local input=$1
local key=$(echo $input | cut -d':' -f1)
local value=$(echo $input | cut -d':' -f2-)
eval $key=$value
}
# Read Inputs
for ((i=1; i<=$#; i++)); do
split_and_assign "${!i}"
done
exp_id=$(printf "%05d" ${exp_id})
echo -e "\n================= Experiment Configuration ================="
echo " Sequence Path : $sequence_path"
echo " Experiment Folder : $exp_folder"
echo " Experiment ID : $exp_id"
echo " Verbose : $verbose"
echo " Matcher Type : $matcher_type"
echo " Use GPU : $use_gpu"
echo " Settings YAML : $settings_yaml"
echo " Calibration YAML : $calibration_yaml"
echo " RGB CSV : $rgb_csv"
echo " Camera Name : $camera_name"
echo "============================================================"
# Create folder to save colmap files
exp_folder_colmap="${exp_folder}/colmap_${exp_id}"
rm -rf "$exp_folder_colmap"
mkdir "$exp_folder_colmap"
# Run COLMAP scripts for matching and mapping
export QT_QPA_PLATFORM_PLUGIN_PATH="$CONDA_PREFIX/plugins/platforms"
colmap_args="$sequence_path $exp_folder $exp_id $settings_yaml $calibration_yaml $rgb_csv"
./Baselines/colmap/colmap_matcher.sh $colmap_args $matcher_type $use_gpu $camera_name
./Baselines/colmap/colmap_mapper.sh $colmap_args $camera_name
# Convert COLMAP outputs to a format suitable for VSLAM-LAB
python Baselines/colmap/colmap_to_vslamlab.py $sequence_path $exp_folder $exp_id $verbose $rgb_csv $camera_name
# Visualization with colmap gui
if [ "$verbose" -eq 1 ]; then
exp_folder_colmap="${exp_folder}/colmap_${exp_id}"
rgb_dir=$(awk -F, 'NR==2 { split($2,a,"/"); print a[1]; exit }' "$rgb_csv")
rgb_path="${sequence_path}/${rgb_dir}"
database="${exp_folder_colmap}/colmap_database.db"
colmap gui --import_path "${exp_folder_colmap}/0" --database_path ${database} --image_path ${rgb_path}
fi
# # Remove colmap data
# rm -rf ${exp_folder_colmap}
|