fontan commited on
Commit
94eb0bb
·
1 Parent(s): bf8363f

vslamlab integration

Browse files
Files changed (2) hide show
  1. glomap_mapper.sh +19 -4
  2. glomap_reconstruction.sh +6 -5
glomap_mapper.sh CHANGED
@@ -6,13 +6,14 @@ exp_folder="$2"
6
  exp_id="$3"
7
  settings_yaml="$4"
8
  calibration_yaml="$5"
9
- rgb_txt="$6"
10
 
11
 
12
  exp_folder_colmap="${exp_folder}/colmap_${exp_id}"
13
- rgb_path="${sequence_path}/$(awk '{print $2}' "${rgb_txt}" | awk -F'/' 'NR==1 {print $1}')"
 
14
 
15
- calibration_model=$(grep -oP '(?<=Camera\.model:\s)[\w]+' "$calibration_yaml")
16
  echo " camera model : $calibration_model"
17
  optimize_intrinsics="0"
18
  skip_view_graph_calibration="1"
@@ -74,7 +75,6 @@ Thresholds_max_rotation_error=$(yq '.Thresholds.max_rotation_error // 10.0' $set
74
  echo " glomap mapper ..."
75
  database="${exp_folder_colmap}/colmap_database.db"
76
 
77
-
78
  glomap mapper \
79
  --database_path "${database}" \
80
  --image_path "${rgb_path}" \
@@ -119,6 +119,21 @@ glomap mapper \
119
  --Thresholds.min_inlier_ratio "${Thresholds_min_inlier_ratio}" \
120
  --Thresholds.max_rotation_error "${Thresholds_max_rotation_error}"
121
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  echo " colmap model_converter ..."
123
  colmap model_converter \
124
  --input_path ${exp_folder_colmap}/0 --output_path ${exp_folder_colmap} --output_type TXT
 
6
  exp_id="$3"
7
  settings_yaml="$4"
8
  calibration_yaml="$5"
9
+ rgb_csv="$6"
10
 
11
 
12
  exp_folder_colmap="${exp_folder}/colmap_${exp_id}"
13
+ rgb_dir=$(awk -F, 'NR==2 { split($2,a,"/"); print a[1]; exit }' "$rgb_csv")
14
+ rgb_path="${sequence_path}/${rgb_dir}"
15
 
16
+ calibration_model=$(grep -oP '(?<=Camera0\.model:\s)[\w]+' "$calibration_yaml")
17
  echo " camera model : $calibration_model"
18
  optimize_intrinsics="0"
19
  skip_view_graph_calibration="1"
 
75
  echo " glomap mapper ..."
76
  database="${exp_folder_colmap}/colmap_database.db"
77
 
 
78
  glomap mapper \
79
  --database_path "${database}" \
80
  --image_path "${rgb_path}" \
 
119
  --Thresholds.min_inlier_ratio "${Thresholds_min_inlier_ratio}" \
120
  --Thresholds.max_rotation_error "${Thresholds_max_rotation_error}"
121
 
122
+ # colmap image_undistorter \
123
+ # --image_path "${rgb_path}" \
124
+ # --input_path "${exp_folder_colmap}/0" \
125
+ # --output_path "${exp_folder_colmap}" \
126
+ # --output_type COLMAP \
127
+ # --max_image_size 2000
128
+
129
+ # colmap patch_match_stereo \
130
+ # --workspace_path "${exp_folder_colmap}" \
131
+ # --workspace_format COLMAP \
132
+ # --PatchMatchStereo.cache_size 64 \
133
+ # --PatchMatchStereo.filter true \
134
+ # --PatchMatchStereo.window_step 2 \
135
+ # --PatchMatchStereo.geom_consistency true
136
+
137
  echo " colmap model_converter ..."
138
  colmap model_converter \
139
  --input_path ${exp_folder_colmap}/0 --output_path ${exp_folder_colmap} --output_type TXT
glomap_reconstruction.sh CHANGED
@@ -9,7 +9,7 @@ sequence_path=""
9
  exp_folder=""
10
  exp_id=""
11
  calibration_yaml=""
12
- rgb_txt=""
13
 
14
  # Function to split key-value pairs and assign them to variables
15
  split_and_assign() {
@@ -35,7 +35,7 @@ echo " Matcher Type : $matcher_type"
35
  echo " Use GPU : $use_gpu"
36
  echo " Settings YAML : $settings_yaml"
37
  echo " Calibration YAML : $calibration_yaml"
38
- echo " RGB TXT : $rgb_txt"
39
  echo "============================================================"
40
 
41
  # Create folder to save colmap files
@@ -45,17 +45,18 @@ mkdir "$exp_folder_colmap"
45
 
46
  # Run COLMAP scripts for matching and mapping
47
  export QT_QPA_PLATFORM_PLUGIN_PATH="$CONDA_PREFIX/plugins/platforms"
48
- colmap_args="$sequence_path $exp_folder $exp_id $settings_yaml $calibration_yaml $rgb_txt"
49
  ./Baselines/colmap/colmap_matcher.sh $colmap_args $matcher_type $use_gpu
50
  ./Baselines/glomap/glomap_mapper.sh $colmap_args
51
 
52
  # Convert COLMAP outputs to a format suitable for VSLAM-LAB
53
- python Baselines/colmap/colmap_to_vslamlab.py $sequence_path $exp_folder $exp_id $verbose $rgb_txt
54
 
55
  # Visualization with colmap gui
56
  if [ "$verbose" -eq 1 ]; then
57
  exp_folder_colmap="${exp_folder}/colmap_${exp_id}"
58
- rgb_path="${sequence_path}/$(awk '{print $2}' "${rgb_txt}" | awk -F'/' 'NR==1 {print $1}')"
 
59
  database="${exp_folder_colmap}/colmap_database.db"
60
  colmap gui --import_path "${exp_folder_colmap}/0" --database_path ${database} --image_path ${rgb_path}
61
  fi
 
9
  exp_folder=""
10
  exp_id=""
11
  calibration_yaml=""
12
+ rgb_csv=""
13
 
14
  # Function to split key-value pairs and assign them to variables
15
  split_and_assign() {
 
35
  echo " Use GPU : $use_gpu"
36
  echo " Settings YAML : $settings_yaml"
37
  echo " Calibration YAML : $calibration_yaml"
38
+ echo " RGB CSV : $rgb_csv"
39
  echo "============================================================"
40
 
41
  # Create folder to save colmap files
 
45
 
46
  # Run COLMAP scripts for matching and mapping
47
  export QT_QPA_PLATFORM_PLUGIN_PATH="$CONDA_PREFIX/plugins/platforms"
48
+ colmap_args="$sequence_path $exp_folder $exp_id $settings_yaml $calibration_yaml $rgb_csv"
49
  ./Baselines/colmap/colmap_matcher.sh $colmap_args $matcher_type $use_gpu
50
  ./Baselines/glomap/glomap_mapper.sh $colmap_args
51
 
52
  # Convert COLMAP outputs to a format suitable for VSLAM-LAB
53
+ python Baselines/colmap/colmap_to_vslamlab.py $sequence_path $exp_folder $exp_id $verbose $rgb_csv
54
 
55
  # Visualization with colmap gui
56
  if [ "$verbose" -eq 1 ]; then
57
  exp_folder_colmap="${exp_folder}/colmap_${exp_id}"
58
+ rgb_dir=$(awk -F, 'NR==2 { split($2,a,"/"); print a[1]; exit }' "$rgb_csv")
59
+ rgb_path="${sequence_path}/${rgb_dir}"
60
  database="${exp_folder_colmap}/colmap_database.db"
61
  colmap gui --import_path "${exp_folder_colmap}/0" --database_path ${database} --image_path ${rgb_path}
62
  fi