Parameters

System

Name

Description

map_format

msgpack or sqlite3

min_num_shared_lms

minimum number of shared landmarks for covisibility graph connection. Keyframes that exceed the threshold are considered to share a sufficient number of landmarks and are used for local BA, loop detection and graph optimization.

Camera

Name

Description

name

It is used by the camera database to identify the camera.

setup

monocular, stereo, RGBD

model

perspective, fisheye, equirectangular, radial_division (note: If you want to use stereo_rectifier, you need to specify perspective.)

fx, fy

Focal length (pixel)

cx, cy

Principal point (pixel)

k1, k2, p1, p2, k3

Distortion parameters for perspective camera. When using StereoRectifier, there is no distortion after stereo rectification.

k1, k2, k3, k4

Distortion parameters for fisheye camera

distortion

Distortion parameters for radial_division camera

fps

Framerate of input images

cols, rows

Resolution (pixel)

color_order

Gray, RGB, RGBA, BGR, BGRA

focal_x_baseline

For stereo cameras, it is the value of the baseline between the left and right cameras multiplied by the focal length fx. For RGBD cameras, if the measurement method is stereo, set it based on its baseline. If the measurement method is other than that, set the appropriate value based on the relationship between depth accuracy and baseline.

depth_threshold

The ratio used to determine the depth threshold.

Feature

Name

Description

name

name of ORB feature extraction model (id for saving)

scale_factor

Scale of the image pyramid

num_levels

Number of levels of in the image pyramid

ini_fast_threshold

FAST threshold for try first

min_fast_threshold

FAST threshold for try second time

Preprocessing

Name

Description

min_size

Size of node occupied by one feature point. The larger this value, the fewer feature points are extracted.

depthmap_factor

The ratio used to convert depth image pixel values to distance.

Tracking

Name

Description

reloc_distance_threshold

Maximum distance threshold (in meters) where close keyframes could be found when doing a relocalization by pose.

reloc_angle_threshold

Maximum angle threshold (in radians) between given pose and close keyframes when doing a relocalization by pose.

enable_auto_relocalization

If true, automatically try to relocalize when lost.

use_robust_matcher_for_relocalization_request

If true, use robust_matcher for relocalization request.

max_num_local_keyfrms

Max number of local keyframes for tracking.

backend

g2o or gtsam

init_retry_threshold_time

If tracking is failed within init_retry_threshold_time sec after initialization, reset the system

enable_temporal_keyframe_only_tracking

If true, tracking with only temporal keyframes will not be treated as Lost

Mapping

Name

Description

baseline_dist_thr_ratio

For two frames of baseline below the threshold, no triangulation will be performed. In the monocular case, the scale is indefinite, so relative values are recommended. Either baseline_dist_thr or this one should be specified. If not specified, baseline_dist_thr_ratio will be used.

baseline_dist_thr

For two frames of baseline below the threshold, no triangulation will be performed.

redundant_obs_ratio_thr

observed_ratio_thr

num_reliable_keyfrms

enable_interruption_of_landmark_generation

If true, enable interruption of landmark generation

enable_interruption_before_local_BA

If true, enable interruption before local BA

backend

g2o or gtsam

erase_temporal_keyframes

If true, remove keyframes past num_temporal_keyframes

num_temporal_keyframes

Number of temporal keyframes

residual_deg_thr

It is used to check epipolar constraints. The default inlier threshold value is 0.2 degree (e.g. for the camera with width of 900-pixel and 90-degree FOV, 0.2 degree is equivalent to 2 pixel in the horizontal direction)

StereoRectifier

Name

Description

model

camera model type before rectification. The option is perspective or fisheye. (note: If you want to use fisheye model for stereo_rectifier, you need to specify Camera::model to perspective.)

K_left, K_right

Intrinsic parameters. The 3x3 matrix are written in row-major order.

D_left, D_right

Distortion parameters. The 5 parameters are k1, k2, p1, p2, k3.

R_left, R_right

Stereo-recitification parameters. The 3x3 matrix are written in row-major order.

Initializer

Name

Description

num_ransac_iterations

max number of iterations of RANSAC (only for monocular initializer)

min_num_valid_pts

min number of valid pts (It should be greater than or equal to min_num_triangulated_)

min_num_triangulated_pts

Minimum number of triangulated points

parallax_deg_threshold

min parallax (only for monocular initializer)

reprojection_error_threshold

reprojection error threshold (only for monocular initializer)

num_ba_iterations

max number of iterations of BA (only for monocular initializer)

scaling_factor

initial scaling factor (only for monocular initializer)

use_fixed_seed

Use fixed random seed for RANSAC if true

Relocalizer

Name

Description

bow_match_lowe_ratio

proj_match_lowe_ratio

min_num_bow_matches

minimum threshold of the number of BoW matches

min_num_valid_obs

minimum threshold of the number of valid (= inlier after pose optimization) matches

use_fixed_seed

Use fixed random seed for RANSAC if true

search_neighbor

If true, points used by the PnP solver are searched not only from candidate keyframes, but also from neighbor keyframes

top_n_covisibilities_to_search

number of neighbor keyframes

num_common_words_thr_ratio

max_num_ransac_iter

max_num_local_keyfrms

KeyframeInserter

Name

Description

max_interval

max interval to insert keyframe

min_interval

max_distance

min_distance

enough_lms_thr

lms_ratio_thr_almost_all_lms_are_tracked

Threshold at which we consider that we are tracking almost all landmarks. Ratio-threshold of “the number of 3D points observed in the current frame” / “that of 3D points observed in the last keyframe”

lms_ratio_thr_view_changed

Threshold at which we consider the view to have changed. Ratio-threshold of “the number of 3D points observed in the current frame” / “that of 3D points observed in the last keyframe”

wait_for_local_bundle_adjustment

If true, wait for the inserted keyframe to be processed. It cannot be processed in real time, but reproducibility and accuracy will be improved.

PangolinViewer

Name

Description

keyframe_size

keyframe_line_width

graph_line_width

point_size

camera_size

camera_line_width

menu_width

viewpoint_x, viewpoint_y, viewpoint_z, viewpoint_f

SocketPublisher

Name

Description

emitting_interval

image_quality

server_uri

max_num_keyframes

Limit the number of keyframes transferred at one time. This avoids disconnections when loading large maps.

max_num_landmarks

Limit the number of landmarks transferred at one time. This avoids disconnections when loading large maps.

publish_points

If true, pointcloud transfer is enabled. The default is true. Pointcloud transfer is slow, so disabling pointcloud transfer may be useful to improve performance of SocketViewer.

LoopDetector

Name

Description

enabled

flag which indicates the loop detector is enabled or not

num_final_matches_threshold

the threshold of the number of mutual matches after the Sim3 estimation

min_continuity

the threshold of the continuity of continuously detected keyframe set

reject_by_graph_distance

If true, reject by distance on essential graph

loop_min_distance_on_graph

Minimum distance to allow for loop candidates

top_n_covisibilities_to_search

Top n covisibilities to search (0 means disabled)

num_matches_thr

Minimum number of matches to allow for loop candidates

num_matches_thr_brute_force

Minimum number of matches to allow for loop candidates after brute force matching. (0 means disabled)

num_optimized_inliers_thr

Minimum number of matches to allow for loop candidates after optimization by transform_optimizer

backend

g2o or gtsam

GlobalOptimizer

Name

Description

thr_neighbor_keyframes

Keyframes exceeding the threshold are treated as neighbors

GraphOptimizer

Name

Description

min_num_shared_lms

Add constraints between keyframes that exceed thresholds

MarkerModel

Name

Description

type

Only “aruco” is a valid value

width

Physical size of marker

marker_size

4, 5, 6, 7. See https://docs.opencv.org/4.x/d5/dae/tutorial_aruco_detection.html.

max_markers

50, 100, 250, 1000. See https://docs.opencv.org/4.x/d5/dae/tutorial_aruco_detection.html.