Robust Orientation Tracking for Panoramic Stitching: Projected Gradient Descent vs. Extended Kalman Filters
PGD | EKF4 | EKF7 | VICON |
- The command below will run on test mode, i.e: find the optimal quaternions on datasets 10 and 11, save the results, plot the results, and build panorama images.
python main.py test
- The command below will train the quaternions on all 9 datasets, save the results, plot the results, and build panorama images.
python main.py train
- The command below will train the quaternions on the specified datasets (dataset 1, 2, & 3 in this example), save the results, plot the results, and build panorama images.
python main.py train --datasets 1 2 3
To use a different tracker, you can run the following command:
python main.py train --tracker <tracker_name>
where <tracker_name>
is one of pgd
(default, projected gradient descent), ekf7
(7-state EKF), or ekf4
(4-state EKF).
--datasets
(only for training mode): List of datasets to train on.
- Default: All datasets (1 to 9).
--plot_folder
: Folder to save the plots.
- Default: see
config.yaml
file.
--panorama_folder
: Folder to save the generated panorama image.
- Default: see
config.yaml
file.
--no_force_train
(only for training mode withpgd
as the tracker): If this is passed as argument in the command line, then the program will try to find saved results (optimized quaternions, acceleration, etc) in theresults
folder (you can change this inconfig.yaml
). Then it will use these savednp.ndarray
to plot the results and generate panorama images. If the saved results are not found, then the program will train the quaternions.
- Default:
False
--use_vicon
(only for training mode): If this is passed as argument in the command line, then the program will usevicon
dataset to generate panorama images.
- Default:
False
This is to be used by someone developing the program. The command line arguments should be sufficient for users to see results. The names of each config is self explanatory.