16.45. parallel_bundle_adjustΒΆ
The parallel_bundle_adjust
program is a modification of
bundle_adjust
(Section 16.5) designed to distribute
some of the preprocessing steps over multiple processes and multiple
computing nodes. It uses GNU Parallel to manage the jobs in the same
manner as parallel_stereo
. For information on how to set up and
use the node list see Section 16.47.
The parallel_bundle_adjust
tool has three processing steps:
statistics, matching, and optimization. Only the first two steps can
be done in parallel, and in fact after you have run steps 0 and 1 in a
folder with parallel_bundle_adjust
, you could just call regular
bundle_adjust
to complete processing in the folder. Steps 0 and 1
produce the *-stats.tif
and *.match
files that are used in the last
step.
In particular, if you would like to repeat bundle adjustment, regular
bundle_adjust
would suffice as well, since the supporting data are
already created. If you would like to do some other experiments with
the cameras or the options of the tools, in a different output folder,
you can first copy there the existing content of an existing run, and
as before, call bundle_adjust
, rather than its parallel version.
(Also consider using --force-reuse-match-files
and
--skip-matching
, to prevent bundle_adjust
to try again to
compute match files if the cameras are too new or if some match file
computation failed before and if it is likely to fail again if
re-attempted.)
The match files created by this tool can be used by
bundle_adjust
and parallel_stereo
via the options
--match-files-prefix
and --clean-match-files-prefix
.
Command-line options for parallel_bundle_adjust
:
- --nodes-list <filename>
The list of computing nodes, one per line. If not provided, run on the local machine.
- -e, --entry-point <integer (default: 0)>
Bundle adjustment entry point (start at this stage). Options: statistics = 0, matching = 1, optimization = 2.
- --stop-point <integer(default: 3)>
Bundle adjustment stop point (stop before this stage). Options: statistics = 0, matching = 1, optimization = 2, all = 3.
- --verbose
Display the commands being executed.
- --processes <integer>
The number of processes to use per node. The default is to use as many processes as cores.
- --threads <integer>
The number of threads to use.
- --cache-size-mb <integer (default = 1024)>
Set the system cache size, in MB, for each process.
- -v, --version
Display the version of software.
- -h, --help
Display the help message.