This repository contains implementation of some major correlation filter based trackers cloned from pyCFTrackers repo and some deep learning trackers taken from pytracking. Modifications of their algorithms are made so that they can be benefit from camera state measurements. The algorithms are evaluated on a custom dataset named VIOT-2 dataset.
- Link to VIOT-2 dataset
- This dataset was generated with ground_truth_generation repository
- Sample images from our VIOT-2 dataset
- Gradient-descent-optimization-based Correction of robot’s visual odometry drift utilizing ArUco markers placed in the field.
- Tracker precision comparison over Mixformer and KYS trackers for pure trackers, trackers enhanced with VIOT, and trackers enhanced with our extension
A best experience is to run the code on a cloab notebook. For running the codes please use the Google Colab notebook found here.
To run the code in a local host, first clone the repository:
Tested on the following platform:
ubuntu 20.04
pytorch 1.13.1
cuda 11.7
Having Anaconda installed, try creating a new conda environment:
conda create --name pt python=3.7.2
Activate the environment before the rest of package installations and also run the codes with the environment activated.
Do in order:
pip install torch==1.13.1 torchvision
pip install matplotlib
pip install utm
pip install visdom
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-11.7/bin:$PATH
export TORCH_CUDA_ARCH_LIST="3.5;5.0;6.0;6.1;7.0;7.5;8.0;8.6+PTX"
pip install spatial-correlation-sampler
sudo apt-get install ninja-build
pip install jpeg4py
pip install timm
pip install einops
pip install lmdb
pip install opencv-python
pip install --upgrade scikit-image
pip install easydict
pip install tensorboardX
-
Download and unzip content of this link and this link into
dataset/
-
Download and import the content of this link and this link into
trackers/MixFormer/models/
-
Download and import the content of this link and this link and this link and this link into
trackers/pytracking/pytracking/networks/
To run a single config:
#root
python launch/track/run_tracker_single.py
To run a set of configs on a set of sequences:
#root
python launch/track/run_tracker_multi.py