############### Input/Output ############### # Input/output files. # Set these if a matches file is not present. Images should be a filepath with a # wildcard e.g., /home/my_username/my_images/*.jpg --1dsfm_dataset_directory= --output_reconstruction= ############### Multithreading ############### # Set to the number of threads you want to use. --num_threads=16 ############### General SfM Options ############### --reconstruction_estimator=GLOBAL --min_num_inliers_for_valid_match=30 --min_track_length=3 --max_track_length=50 --reconstruct_largest_connected_component=true # If set to true, only views with known calibration are reconstructed. --only_calibrated_views=false ############### Global SfM Options ############### --global_position_estimator=LEAST_UNSQUARED_DEVIATION --global_rotation_estimator=ROBUST_L1L2 --post_rotation_filtering_degrees=15.0 # This refinement is very unstable for rotation-only motions so # it is advised that this is set to false for these motions. --refine_relative_translations_after_rotation_estimation=true # If true, only cameras that are well-conditioned for position estimation will # be used for global position estimation --extract_maximal_rigid_subgraph=false # Filter the relative translations with the 1DSfM filter to remove potential # outliers in the relative pose measurements. --filter_relative_translations_with_1dsfm=true # Nonlinear position estimation options --position_estimation_min_num_tracks_per_view=0 --position_estimation_robust_loss_width=0.1 # If true, perform a single iteration of bundle adjustment only on the camera # positions and 3D points (rotation and camera intrinsics are held # constant). This helps often to constrain inaccurate intrinsics. --refine_camera_positions_and_points_after_position_estimation=false # After estimating camera poses, we perform trianguation, then BA, # then filter out bad points. This controls how many times we repeat # this process. --num_retriangulation_iterations=1 ############### Incremental SfM Options ############### # NOTE: This threshold is relative to an image with a width of 1024 pixels. It # will be scaled appropriately based on the image resolutions. This allows a # single threshold to be used for images with different resolutions. --absolute_pose_reprojection_error_threshold=4 --partial_bundle_adjustment_num_views=20 --full_bundle_adjustment_growth_percent=5 --min_num_absolute_pose_inliers=30 ############### Bundle Adjustment Options ############### # Set this parameter to a value other than NONE if you want to utilize a robust # cost function during bundle adjustment. This can increase robustness to outliers # during the optimization. --bundle_adjustment_robust_loss_function=CAUCHY # Set this value to the determine the reprojection error in pixelst at which # robustness begins (if a robust cost function is being used). --bundle_adjustment_robust_loss_width=10.0 # Set this parameter to change which camera intrinsics should be # optimized. Valid options are NONE, ALL, FOCAL_LENGTH, PRINCIPAL_POINTS, # RADIAL_DISTORTION, ASPECT_RATIO, and SKEW. This parameter can be set using a # bitmask e.g., FOCAL_LENGTH|RADIAL_DISTORTION --intrinsics_to_optimize=NONE # After BA, remove any points that have a reprojection error greater # than this. --max_reprojection_error_pixels=6.0 ############### Triangulation Options ############### --min_triangulation_angle_degrees=3.0 --triangulation_reprojection_error_pixels=12.0 --bundle_adjust_tracks=true ############### Logging Options ############### # Logging verbosity. --logtostderr # Increase this number to get more verbose logging. --v=1