Skip to content

6. ⚙️ Configuration

Yuhao Zhang edited this page Jul 7, 2026 · 1 revision

System Configuration

Main configs live in config/scarf_slam/:

  • ori_insta_offline.yaml: offline reconstruction with an externally provided trajectory.
  • ori_insta_mono.yaml: reconstruction with a non-metric trajectory.
  • ori_insta_slam.yaml: online reconstruction with SLAM.

Important fields:

  • use_slam: false for offline fixed-trajectory reconstruction, true for SLAM-backed reconstruction.
  • slam_odometry_topic: odometry data topic name, required for online reconstruction.
  • slam_trajectory_topic: trajectory snapshot topic name, required for online reconstruction.
  • slam_final_trajectory_topic: final trajectory data topic name, required for offline reconstruction.
  • slam_image_topic: image data topic name.
  • is_mono: enables monocular-only, non-metric trajectory handling. ⚠️ Due to the limited precision of the deep learning model, the trajectory scale should not be excessively small. The system rescales the mean translation magnitude of the first batch to 0.5, stores the resulting scale factor, and applies it consistently to all subsequent input poses.
  • trajectory: output subfolder name under recon/.
  • sec_skip: minimum time gap, in seconds, between selected mapping keyframes.
  • kf_distance: translation threshold, in meters, for keyframe selection. A frame is selected when its odometry motion from the previous selected keyframe exceeds this distance. Disabled for non-metric input trajectory.
  • kf_distance_large: alternative translation threshold used after an open-space batch is detected, reducing how densely keyframes are selected in open areas.
  • kf_angle_deg: viewing-angle threshold, in degrees, for keyframe selection.
  • max_distance: maximum range filtering. Set this to 0 to compute a dynamic value from the current batch trajectory.
  • pinhole_intrinsics/resolution: camera model used by the depth prediction model.
  • fisheye_cam*: optional fisheye camera calibration and extrinsics if input images are distorted.
  • publish_ros2*: optional ROS2 visualization publishers.

Output Configuration

--slam_folder specifies the output directory used to store the following data:

  • poses_<model_name>.csv: camera-to-world poses for each mapped keyframe.
  • poses_<model_name>_ts.csv: timestamps for each mapped keyframe.
  • recon/<trajectory>/pts_global*.pcd: final reconstruction in the world coordinate frame.
  • recon/<trajectory>/pts_local*/: per-keyframe point clouds in their local coordinate frames, required for chunk-wise evaluation.
  • recon/<trajectory>/opt_graph*/: saved mapping-session state used to resume or extend reconstruction in multi-session mapping.

Clone this wiki locally