############################################################################## ## Base config that ends up in basalt_config.json ## These values are overwritten by the named config elements below. ############################################################################## # config read by Basalt [value0] "config.optical_flow_type" = "frame_to_frame" "config.optical_flow_detection_grid_size" = 50 "config.optical_flow_max_recovered_dist2" = 0.04 "config.optical_flow_pattern" = 51 "config.optical_flow_max_iterations" = 5 "config.optical_flow_epipolar_error" = 0.005 "config.optical_flow_levels" = 3 "config.optical_flow_skip_frames" = 1 "config.optical_flow_matching_guess_type" = "SAME_PIXEL" "config.optical_flow_matching_default_depth" = 2.0 "config.vio_linearization_type" = "ABS_QR" "config.vio_sqrt_marg" = true "config.vio_max_states" = 3 "config.vio_max_kfs" = 7 "config.vio_min_frames_after_kf" = 5 "config.vio_new_kf_keypoints_thresh" = 0.7 "config.vio_debug" = false "config.vio_extended_logging" = false "config.vio_obs_std_dev" = 0.5 "config.vio_obs_huber_thresh" = 1.0 "config.vio_min_triangulation_dist" = 0.05 "config.vio_outlier_threshold" = 3.0 "config.vio_filter_iteration" = 4 "config.vio_max_iterations" = 7 "config.vio_enforce_realtime" = false "config.vio_use_lm" = true "config.vio_lm_lambda_initial" = 1e-4 "config.vio_lm_lambda_min" = 1e-7 "config.vio_lm_lambda_max" = 1e2 "config.vio_lm_landmark_damping_variant" = 1 "config.vio_lm_pose_damping_variant" = 1 "config.vio_scale_jacobian" = false "config.vio_init_pose_weight" = 1e8 "config.vio_init_ba_weight" = 1e1 "config.vio_init_bg_weight" = 1e2 "config.vio_marg_lost_landmarks" = true "config.vio_kf_marg_feature_ratio" = 0.1 "config.mapper_obs_std_dev" = 0.25 "config.mapper_obs_huber_thresh" = 1.5 "config.mapper_detection_num_points" = 800 "config.mapper_num_frames_to_match" = 30 "config.mapper_frames_to_match_threshold" = 0.04 "config.mapper_min_matches" = 20 "config.mapper_ransac_threshold" = 5e-5 "config.mapper_min_track_length" = 5 "config.mapper_max_hamming_distance" = 70 "config.mapper_second_best_test_ratio" = 1.2 "config.mapper_bow_num_bits" = 16 "config.mapper_min_triangulation_dist" = 0.07 "config.mapper_no_factor_weights" = false "config.mapper_use_factors" = true "config.mapper_use_lm" = true "config.mapper_lm_lambda_min" = 1e-32 "config.mapper_lm_lambda_max" = 1e3 # which executable to run [batch_run] executable = "basalt_vio" # environment variables set for the executable [batch_run.env] OPENBLAS_NUM_THREADS = 1 OMP_NUM_THREADS = 1 # command line arguments to the executable ("--" is prepended) [batch_run.args] "config-path" = "basalt_config.json" "show-gui" = "0" "step-by-step" = "false" #"max-frames" = "1000" "use-imu" = "false" "use-double" = "false" "num-threads" = "0" ############################################################################## ## Named config elements to overwrite the base config: batch run script options ############################################################################## [_batch.config.vio] batch_run.args."use-imu" = "true" [_batch.config.vo] batch_run.args."use-imu" = "false" [_batch.config.double] batch_run.args."use-double" = "true" [_batch.config.float] batch_run.args."use-double" = "false" [_batch.config.threads0] batch_run.args."num-threads" = "0" [_batch.config.threads1] batch_run.args."num-threads" = "1" [_batch.config.savetum] batch_run.args."save-trajectory" = "tum" # saving gt produces quite large output, but is needed for trajectory plots [_batch.config.savetumgt] batch_run.args."save-trajectory" = "tum" batch_run.args."save-groundtruth" = "1" # run each experiment twice to make sure file system caches are hot [_batch.config.runtwice] batch_run.num_runs = 2 ############################################################################## ## Named config elements to overwrite the base config: datasets ############################################################################## # NOTE: Replace the absolute paths in "dataset-path" entries with the # path to your download of EuRoC, TUMVI, Kitti. The "cam-calib" paths # are relative and point to locations in the basalt repository. This # assumes a folder setup like: # # parent-folder/ # ├─ basalt/ # │ ├─ data/ # │ │ ├─ euroc_ds_calib.json # │ │ ├─ ... # │ ├─ ... # ├─ experiments/ # │ ├─ iccv_tutorial/ # │ │ ├─ basalt_batch_config.toml # │ │ ├─ ... # # The calibration for Kitti is expected in basalt format (you can use the # basalt_convert_kitti_calib.py script) [_batch.config.eurocMH01] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/euroc/MH_01_easy" batch_run.args."cam-calib" = "../../../../../../basalt/data/euroc_ds_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.eurocMH02] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/euroc/MH_02_easy" batch_run.args."cam-calib" = "../../../../../../basalt/data/euroc_ds_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.eurocMH03] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/euroc/MH_03_medium" batch_run.args."cam-calib" = "../../../../../../basalt/data/euroc_ds_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.eurocMH04] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/euroc/MH_04_difficult" batch_run.args."cam-calib" = "../../../../../../basalt/data/euroc_ds_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.eurocMH05] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/euroc/MH_05_difficult" batch_run.args."cam-calib" = "../../../../../../basalt/data/euroc_ds_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.eurocV101] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/euroc/V1_01_easy" batch_run.args."cam-calib" = "../../../../../../basalt/data/euroc_ds_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.eurocV102] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/euroc/V1_02_medium" batch_run.args."cam-calib" = "../../../../../../basalt/data/euroc_ds_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.eurocV103] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/euroc/V1_03_difficult" batch_run.args."cam-calib" = "../../../../../../basalt/data/euroc_ds_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.eurocV201] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/euroc/V2_01_easy" batch_run.args."cam-calib" = "../../../../../../basalt/data/euroc_ds_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.eurocV202] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/euroc/V2_02_medium" batch_run.args."cam-calib" = "../../../../../../basalt/data/euroc_ds_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.eurocV203] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/euroc/V2_03_difficult" batch_run.args."cam-calib" = "../../../../../../basalt/data/euroc_ds_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-corridor1] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-corridor1_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-corridor2] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-corridor2_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-corridor3] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-corridor3_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-corridor4] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-corridor4_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-corridor5] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-corridor5_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-magistrale1] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-magistrale1_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-magistrale2] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-magistrale2_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-magistrale3] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-magistrale3_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-magistrale4] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-magistrale4_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-magistrale5] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-magistrale5_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-magistrale6] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-magistrale6_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-room1] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-room1_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-room2] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-room2_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-room3] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-room3_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-room4] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-room4_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-room5] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-room5_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-room6] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-room6_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-slides1] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-slides1_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-slides2] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-slides2_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.tumvi-slides3] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/tumvi/512_16/dataset-slides3_512_16" batch_run.args."cam-calib" = "../../../../../../basalt/data/tumvi_512_eucm_calib.json" batch_run.args."dataset-type" = "euroc" [_batch.config.kitti00] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/00" batch_run.args."cam-calib" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/00/basalt_calib.json" batch_run.args."dataset-type" = "kitti" [_batch.config.kitti01] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/01" batch_run.args."cam-calib" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/01/basalt_calib.json" batch_run.args."dataset-type" = "kitti" [_batch.config.kitti02] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/02" batch_run.args."cam-calib" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/02/basalt_calib.json" batch_run.args."dataset-type" = "kitti" [_batch.config.kitti03] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/03" batch_run.args."cam-calib" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/03/basalt_calib.json" batch_run.args."dataset-type" = "kitti" [_batch.config.kitti04] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/04" batch_run.args."cam-calib" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/04/basalt_calib.json" batch_run.args."dataset-type" = "kitti" [_batch.config.kitti05] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/05" batch_run.args."cam-calib" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/05/basalt_calib.json" batch_run.args."dataset-type" = "kitti" [_batch.config.kitti06] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/06" batch_run.args."cam-calib" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/06/basalt_calib.json" batch_run.args."dataset-type" = "kitti" [_batch.config.kitti07] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/07" batch_run.args."cam-calib" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/07/basalt_calib.json" batch_run.args."dataset-type" = "kitti" [_batch.config.kitti08] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/08" batch_run.args."cam-calib" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/08/basalt_calib.json" batch_run.args."dataset-type" = "kitti" [_batch.config.kitti09] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/09" batch_run.args."cam-calib" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/09/basalt_calib.json" batch_run.args."dataset-type" = "kitti" [_batch.config.kitti10] batch_run.args."dataset-path" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/10" batch_run.args."cam-calib" = "/storage/local/ssd/demmeln/tsm-exclude/kitti_odom_grey/sequences/10/basalt_calib.json" batch_run.args."dataset-type" = "kitti" ############################################################################## ## Named config elements to overwrite the base config: basalt config ############################################################################## [_batch.config.debug] value0."config.vio_debug" = true value0."config.vio_extended_logging" = true [_batch.config.nodebug] value0."config.vio_debug" = false value0."config.vio_extended_logging" = false [_batch.config.extlog] value0."config.vio_extended_logging" = true [_batch.config.noextlog] value0."config.vio_extended_logging" = false [_batch.config.eurocvo] value0."config.optical_flow_detection_grid_size" = 40 value0."config.vio_min_frames_after_kf" = 1 value0."config.vio_new_kf_keypoints_thresh" = 0.8 value0."config.vio_kf_marg_feature_ratio" = 0.2 [_batch.config.tumvivio] value0."config.optical_flow_detection_grid_size" = 40 [_batch.config.kittivo] value0."config.optical_flow_detection_grid_size" = 30 value0."config.optical_flow_epipolar_error" = 0.001 value0."config.optical_flow_levels" = 4 value0."config.vio_min_frames_after_kf" = 1 [_batch.config.sq-sc-sc] value0."config.vio_sqrt_marg" = false value0."config.vio_linearization_type" = "ABS_SC" [_batch.config.sqrt-sc-sc] value0."config.vio_sqrt_marg" = true value0."config.vio_linearization_type" = "ABS_SC" [_batch.config.sqrt-nsllt-qr] value0."config.vio_sqrt_marg" = true value0."config.vio_linearization_type" = "ABS_QR" ############################################################################## ## Named alternatives, which generate a different experiment for each entry ("or" relation) ############################################################################## [_batch.alternatives] all_euroc = ["eurocMH01", "eurocMH02", "eurocMH03", "eurocMH04", "eurocMH05", "eurocV101", "eurocV102", "eurocV103", "eurocV201", "eurocV202"] some_euroc = ["eurocMH01", "eurocMH02", "eurocV101", "eurocV103", "eurocV201", "eurocV202"] some_tumvi = ["tumvi-corridor1", "tumvi-magistrale1", "tumvi-room1", "tumvi-slides1"] more_tumvi = ["tumvi-corridor1", "tumvi-corridor2", "tumvi-magistrale1", "tumvi-magistrale2", "tumvi-room1", "tumvi-room2", "tumvi-slides1", "tumvi-slides2"] some_more_tumvi = ["tumvi-corridor1", "tumvi-corridor2", "tumvi-corridor3", "tumvi-corridor4", "tumvi-corridor5", "tumvi-magistrale1", "tumvi-magistrale2", "tumvi-magistrale3", "tumvi-magistrale4", "tumvi-magistrale5", "tumvi-magistrale6", "tumvi-room1", "tumvi-room2", "tumvi-room3", "tumvi-room4", "tumvi-room5", "tumvi-room6", "tumvi-slides1", "tumvi-slides2", "tumvi-slides3"] all_kitti = ["kitti00", "kitti01", "kitti02", "kitti03", "kitti04", "kitti05", "kitti06", "kitti07", "kitti08", "kitti09", "kitti10"] all_imu = ["vio", "vo"] all_double = ["double", "float"] all_meth = ["sq-sc-sc", "sqrt-sc-sc", "sqrt-nsllt-qr"] ############################################################################## ## Config combinations, which composing named configs and alternatives ("and" relation) ############################################################################## [_batch.combinations] vio_euroc = ["vio", "savetumgt", "extlog", "runtwice", "all_meth", "all_double", "all_euroc"] vio_tumvi = ["vio", "tumvivio", "savetumgt", "extlog", "runtwice", "all_meth", "all_double", "more_tumvi"] vo_kitti = ["vo", "kittivo", "savetumgt", "extlog", "runtwice", "all_meth", "all_double", "all_kitti"] #vio_euroc = ["vio", "runtwice", "all_meth", "all_double", "all_euroc"] #vio_tumvi = ["vio", "tumvivio", "runtwice", "all_meth", "all_double", "more_tumvi"] #vo_kitti = ["vo", "kittivo", "runtwice", "all_meth", "all_double", "all_kitti"] ############################################################################## ## Revision is the primary subfolder name where generated configs are placed ############################################################################## [_batch] revision = "01_iccv_all" #revision = "02_iccv_runtime"