-
Notifications
You must be signed in to change notification settings - Fork 1
/
config_video_stream.yaml
194 lines (165 loc) · 13.6 KB
/
config_video_stream.yaml
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# OpenSfM will use the default parameters from opensfm/config.py
# Set here any parameter that you want to override for this dataset
# # Metadata
# use_exif_size: yes
# unknown_camera_models_are_different: no # Treat images from unknown camera models as comming from different cameras
# default_focal_prior: 0.85
# # Params for features
# feature_type: HAHOG # Feature type (AKAZE, SURF, SIFT, HAHOG, ORB)
# feature_root: 1 # If 1, apply square root mapping to features
# feature_min_frames: 4000 # If fewer frames are detected, sift_peak_threshold/surf_hessian_threshold is reduced.
# feature_min_frames_panorama: 16000 # Same as above but for panorama images
# feature_process_size: 2048 # Resize the image if its size is larger than specified. Set to -1 for original size
# feature_process_size_panorama: 4096 # Same as above but for panorama images
# feature_use_adaptive_suppression: no
# features_bake_segmentation: no # Bake segmentation info (class and instance) in the feature data. Thus it is done once for all at extraction time.
# # Params for SIFT
# sift_peak_threshold: 0.1 # Smaller value -> more features
# sift_edge_threshold: 10 # See OpenCV doc
# # Params for SURF
# surf_hessian_threshold: 3000 # Smaller value -> more features
# surf_n_octaves: 4 # See OpenCV doc
# surf_n_octavelayers: 2 # See OpenCV doc
# surf_upright: 0 # See OpenCV doc
# # Params for AKAZE (See details in lib/src/third_party/akaze/AKAZEConfig.h)
# akaze_omax: 4 # Maximum octave evolution of the image 2^sigma (coarsest scale sigma units)
# akaze_dthreshold: 0.001 # Detector response threshold to accept point
# akaze_descriptor: MSURF # Feature type
# akaze_descriptor_size: 0 # Size of the descriptor in bits. 0->Full size
# akaze_descriptor_channels: 3 # Number of feature channels (1,2,3)
# akaze_kcontrast_percentile: 0.7
# akaze_use_isotropic_diffusion: no
# # Params for HAHOG
# hahog_peak_threshold: 0.00001
# hahog_edge_threshold: 10
# hahog_normalize_to_uchar: yes
# # Params for general matching
# lowes_ratio: 0.8 # Ratio test for matches
# matcher_type: FLANN # FLANN, BRUTEFORCE, or WORDS
# symmetric_matching: yes # Match symmetricly or one-way
# # Params for FLANN matching
# flann_algorithm: KMEANS # Algorithm type (KMEANS, KDTREE)
# flann_branching: 8 # See OpenCV doc
# flann_iterations: 10 # See OpenCV doc
# flann_tree: 8 # See OpenCV doc
# flann_checks: 20 # Smaller -> Faster (but might lose good matches)
# # Params for BoW matching
# bow_file: bow_hahog_root_uchar_10000.npz
# bow_words_to_match: 50 # Number of words to explore per feature.
# bow_num_checks: 20 # Number of matching features to check.
# bow_matcher_type: FLANN # Matcher type to assign words to features
# # Params for VLAD matching
# vlad_file: bow_hahog_root_uchar_64.npz
# # Params for matching
# matching_gps_distance: 150 # Maximum gps distance between two images for matching
# matching_gps_neighbors: 0 # Number of images to match selected by GPS distance. Set to 0 to use no limit (or disable if matching_gps_distance is also 0)
# matching_time_neighbors: 0 # Number of images to match selected by time taken. Set to 0 to disable
# matching_order_neighbors: 0 # Number of images to match selected by image name. Set to 0 to disable
# matching_bow_neighbors: 0 # Number of images to match selected by BoW distance. Set to 0 to disable
# matching_bow_gps_distance: 0 # Maximum GPS distance for preempting images before using selection by BoW distance. Set to 0 to disable
# matching_bow_gps_neighbors: 0 # Number of images (selected by GPS distance) to preempt before using selection by BoW distance. Set to 0 to use no limit (or disable if matching_bow_gps_distance is also 0)
# matching_bow_other_cameras: False # If True, BoW image selection will use N neighbors from the same camera + N neighbors from any different camera. If False, the selection will take the nearest neighbors from all cameras.
# matching_vlad_neighbors: 0 # Number of images to match selected by VLAD distance. Set to 0 to disable
# matching_vlad_gps_distance: 0 # Maximum GPS distance for preempting images before using selection by VLAD distance. Set to 0 to disable
# matching_vlad_gps_neighbors: 0 # Number of images (selected by GPS distance) to preempt before using selection by VLAD distance. Set to 0 to use no limit (or disable if matching_vlad_gps_distance is also 0)
# matching_vlad_other_cameras: False # If True, VLAD image selection will use N neighbors from the same camera + N neighbors from any different camera. If False, the selection will take the nearest neighbors from all cameras.
# matching_graph_rounds: 0 # Number of rounds to run when running triangulation-based pair selection
# matching_use_filters: False # If True, removes static matches using ad-hoc heuristics
# matching_use_segmentation: no # Use segmentation information (if available) to improve matching
# # Params for geometric estimation
# robust_matching_threshold: 0.004 # Outlier threshold for fundamental matrix estimation as portion of image width
# robust_matching_calib_threshold: 0.004 # Outlier threshold for essential matrix estimation during matching in radians
# robust_matching_min_match: 20 # Minimum number of matches to accept matches between two images
# five_point_algo_threshold: 0.004 # Outlier threshold for essential matrix estimation during incremental reconstruction in radians
# five_point_algo_min_inliers: 20 # Minimum number of inliers for considering a two view reconstruction valid
# five_point_refine_match_iterations: 10 # Number of LM iterations to run when refining relative pose during matching
# five_point_refine_rec_iterations: 1000 # Number of LM iterations to run when refining relative pose during reconstruction
# triangulation_threshold: 0.006 # Outlier threshold for accepting a triangulated point in radians
# triangulation_min_ray_angle: 1.0 # Minimum angle between views to accept a triangulated point
# triangulation_type: FULL # Triangulation type : either considering all rays (FULL), or sing a RANSAC variant (ROBUST)
# resection_threshold: 0.004 # Outlier threshold for resection in radians
# resection_min_inliers: 10 # Minimum number of resection inliers to accept it
# # Params for track creation
# min_track_length: 2 # Minimum number of features/images per track
# # Params for bundle adjustment
# loss_function: SoftLOneLoss # Loss function for the ceres problem (see: http://ceres-solver.org/modeling.html#lossfunction)
# loss_function_threshold: 1 # Threshold on the squared residuals. Usually cost is quadratic for smaller residuals and sub-quadratic above.
# reprojection_error_sd: 0.004 # The standard deviation of the reprojection error
# exif_focal_sd: 0.01 # The standard deviation of the exif focal length in log-scale
# principal_point_sd: 0.01 # The standard deviation of the principal point coordinates
# radial_distortion_k1_sd: 0.01 # The standard deviation of the first radial distortion parameter
# radial_distortion_k2_sd: 0.01 # The standard deviation of the second radial distortion parameter
# radial_distortion_k3_sd: 0.01 # The standard deviation of the third radial distortion parameter
# radial_distortion_k4_sd: 0.01 # The standard deviation of the fourth radial distortion parameter
# tangential_distortion_p1_sd: 0.01 # The standard deviation of the first tangential distortion parameter
# tangential_distortion_p2_sd: 0.01 # The standard deviation of the second tangential distortion parameter
# gcp_horizontal_sd: 0.01 # The default horizontal standard deviation of the GCPs (in meters)
# gcp_vertical_sd: 0.1 # The default vertical standard deviation of the GCPs (in meters)
# rig_translation_sd: 0.1 # The standard deviation of the rig translation
# rig_rotation_sd: 0.1 # The standard deviation of the rig rotation
# bundle_outlier_filtering_type: FIXED # Type of threshold for filtering outlier : either fixed value (FIXED) or based on actual distribution (AUTO)
# bundle_outlier_auto_ratio: 3.0 # For AUTO filtering type, projections with larger reprojection than ratio-times-mean, are removed
# bundle_outlier_fixed_threshold: 0.006 # For FIXED filtering type, projections with larger reprojection error after bundle adjustment are removed
# optimize_camera_parameters: yes # Optimize internal camera parameters during bundle
# bundle_max_iterations: 100 # Maximum optimizer iterations.
# retriangulation: yes # Retriangulate all points from time to time
# retriangulation_ratio: 1.2 # Retriangulate when the number of points grows by this ratio
# bundle_analytic_derivatives: yes # Use analytic derivatives or auto-differentiated ones during bundle adjustment
# bundle_interval: 999999 # Bundle after adding 'bundle_interval' cameras
# bundle_new_points_ratio: 1.2 # Bundle when the number of points grows by this ratio
# local_bundle_radius: 3 # Max image graph distance for images to be included in local bundle adjustment
# local_bundle_min_common_points: 20 # Minimum number of common points betwenn images to be considered neighbors
# local_bundle_max_shots: 30 # Max number of shots to optimize during local bundle adjustment
# save_partial_reconstructions: no # Save reconstructions at every iteration
# # Params for GPS alignment
# use_altitude_tag: no # Use or ignore EXIF altitude tag
# align_method: auto # orientation_prior or naive
# align_orientation_prior: horizontal # horizontal, vertical or no_roll
# bundle_use_gps: yes # Enforce GPS position in bundle adjustment
# bundle_use_gcp: no # Enforce Ground Control Point position in bundle adjustment
# bundle_compensate_gps_bias: no # Compensate GPS with a per-camera similarity transform
# # Params for rigs
# rig_calibration_subset_size: 15 # Number of rig instances to use when calibration rigs
# rig_calibration_completeness: 0.85 # Ratio of reconstructed images needed to consider a reconstruction for rig calibration
# rig_calibration_max_rounds: 10 # Number of SfM tentatives to run until we get a satisfying reconstruction
# # Params for image undistortion
# undistorted_image_format: jpg # Format in which to save the undistorted images
# undistorted_image_max_size: 100000 # Max width and height of the undistorted image
# # Params for depth estimation
# depthmap_method: PATCH_MATCH_SAMPLE # Raw depthmap computation algorithm (PATCH_MATCH, BRUTE_FORCE, PATCH_MATCH_SAMPLE)
# depthmap_resolution: 640 # Resolution of the depth maps
# depthmap_num_neighbors: 10 # Number of neighboring views
# depthmap_num_matching_views: 6 # Number of neighboring views used for each depthmaps
# depthmap_min_depth: 0 # Minimum depth in meters. Set to 0 to auto-infer from the reconstruction.
# depthmap_max_depth: 0 # Maximum depth in meters. Set to 0 to auto-infer from the reconstruction.
# depthmap_patchmatch_iterations: 3 # Number of PatchMatch iterations to run
# depthmap_patch_size: 7 # Size of the correlation patch
# depthmap_min_patch_sd: 1.0 # Patches with lower standard deviation are ignored
# depthmap_min_correlation_score: 0.1 # Minimum correlation score to accept a depth value
# depthmap_same_depth_threshold: 0.01 # Threshold to measure depth closeness
# depthmap_min_consistent_views: 3 # Min number of views that should reconstruct a point for it to be valid
# depthmap_save_debug_files: no # Save debug files with partial reconstruction results
# # Other params
# processes: 1 # Number of threads to use
# read_processes: 4 # When processes > 1, number of threads used for reading images
# # Params for submodel split and merge
# submodel_size: 80 # Average number of images per submodel
# submodel_overlap: 30.0 # Radius of the overlapping region between submodels
# submodels_relpath: "submodels" # Relative path to the submodels directory
# submodel_relpath_template: "submodels/submodel_%04d" # Template to generate the relative path to a submodel directory
# submodel_images_relpath_template: "submodels/submodel_%04d/images" # Template to generate the relative path to a submodel images directory
# """
# For example:
processes: 8 # Number of threads to use
depthmap_min_consistent_views: 2 # Min number of views that should reconstruct a point for it to be valid
depthmap_save_debug_files: no # Save debug files with partial reconstruction results
# consecutive picture for a neighbor range
# matching_gps_neighbors: 4 # Number of images to match selected
matching_order_neighbors: 10
# provide for consistent images such as video frames
# local_bundle_radius: 1
# bundle_interval: 0 # bundle adjustment after adding 'bundle_interval' cameras
# bundle_new_points_ratio: 1.2 # bundle when (new points) / (bundled points) > bundle_outlier_threshold
# bundle_outlier_threshold: 0.006
feature_process_size: 1024
bundle_use_gcp: yes