Skip to content

fadli0029/OrientationTracker

Repository files navigation

Robust Orientation Tracking for Panoramic Stitching: Projected Gradient Descent vs. Extended Kalman Filters

PGD EKF4 EKF7 VICON

Basic commands to run the program (Quick Start)

  1. 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
  1. 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
  1. 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

Using a different tracker

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).

Optional command line arguments for train mode

  1. --datasets (only for training mode): List of datasets to train on.
  • Default: All datasets (1 to 9).
  1. --plot_folder: Folder to save the plots.
  • Default: see config.yaml file.
  1. --panorama_folder: Folder to save the generated panorama image.
  • Default: see config.yaml file.
  1. --no_force_train (only for training mode with pgd 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 the results folder (you can change this in config.yaml). Then it will use these saved np.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
  1. --use_vicon (only for training mode): If this is passed as argument in the command line, then the program will use vicon dataset to generate panorama images.
  • Default: False

About config.yaml file

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages