❗Disclaimer: Zhang bundle adjustment is still a work in progress. Don't expect these methods to work yet!
--input
or-i "/path/to/input/directory"
--output
or-o "/path/to/output/directory"
--output_format
or-g "OUTPUT_FORMAT"
. The point cloud and cameras positions will be written to a .ply file by default, but additional output formats can be specified. Allowed values arePLY_POINT_CLOUD
PLY_CAMERAS
PCD_POINT_CLOUD
VTK_MESH
TXT_REPORT
--calibration
or-c "/path/to/calibration/directory"
. If used, the camera is calibrated from images in this directory, and the following assumptions are made: the images in the input and calibration directories were all taken with the same camera, and thus have the same dimensions, focal length and distortion. If not used, the intrinsic camera matrix is initialised with a default focal length and the camera centre adjusted to the size of each image.--baseline
or-b "IMAGE_INDEX"
. The pair of images to be used as the baseline of the reconstruction.--detector
or-d "DETECTOR_TYPE"
. The type of feature detector used. Allowed values areSIFT
ORB
--triangulator
or-t "TRIANGULATOR_TYPE"
. The triangulation method used. Allowed values areLINEAR
MIDPOINT
--bundle_adjuster
or-a "BUNDLE_ADJUSTER_TYPE"
. The bundle adjustment method used. Allowed values areOFF
: no bundle adjustment is applied.BASIC
: bundle adjustment minimises the overall reprojection error.ZHANG
: bundle adjustment minimises the error as defined by Zhang et al. in [1].
--filter
or-f "FILTER_TYPE"
. A filter to be applied upon registering each image. Each filter removes certain outliers. Allowed values areSTATISTICAL
RADIAL
--loss
or-l "LOSS_TYPE"
. Changes the loss function used during bundle adjustment. Allowed values areNULL
. The default loss function is used. This is just the squared norm of the residuals.HUBER
. See Ceres Solver docs.SOFTLONE
. See Ceres Solver docs.CAUCHY
. See Ceres Solver docs.
[1] J. Zhang, M. Boutin, and D. G. Aliaga, “Robust bundle adjustment for structure from motion,” in 2006 International Conference on Image Processing, pp. 2185–2188, IEEE, 2006.