/SPLT

`Skimming-Perusal' Tracking: A Framework for Real-Time and Robust Long-term Tracking

Primary LanguagePython

`Skimming-Perusal' Tracking: A Framework for Real-Time and Robust Long-term Tracking

splt

GOOD NEWS ! ! ! Our code has supported python3.6

Welcome to try(checkout to py36 branch) if you want to run our tracker with python3.6.

This is the official code for the ICCV 2019 paper[arxiv]. This code has been tested on

  • RTX 2080Ti
  • CUDA 10.0 + cuDNN 7.6 / CUDA 9.0 + cuDNN 7.1.2
  • Python 2.7
  • Ubuntu 18.04.2 LTS

Please cite our paper if you find it useful for your research.

@inproceedings{ iccv19_SPLT,
    title={`Skimming-Perusal' Tracking: A Framework for Real-Time and Robust Long-term Tracking},
    author={Yan, Bin and Zhao, Haojie and Wang, Dong and Lu, Huchuan and Yang, Xiaoyun},
    booktitle={IEEE International Conference on Computer Vision (ICCV)},
    year={2019}
}

Installation

  • Create anaconda environment:
conda create -n SPLT python=2.7
conda activate SPLT
  • Clone the repo and install requirements:
git clone https://github.com/iiau-tracker/SPLT.git
cd <path/to/SPLT>
pip install -r requirements.txt
  • CUDA and cuDNN:
conda install cudatoolkit=10.0
conda install cudnn=7.6.0

# or CUDA 9.0 + cuDNN 7.1.2 for TensorFlow  < 1.13.0
conda install cudatoolkit=9.0
conda install cudnn=7.1.2

Models

Model Size Google Drive Baidu
SiamRPN 215 MB model.ckpt-470277 Mirror
Verifier 178 MB V_resnet50_VID_N-65624 Mirror
Skimming 24 MB Skim Mirror
  • extract model.ckpt-470277 to ./RPN
  • extract V_resnet50_VID_N-65624 to ./Verifier
  • extract Skim to ./Skim

Demo

# modify 'PROJECT_PATH' in 'demo.py' 
python demo.py

Evaluation on VOT

start from RPN_Verifier_Skim_top3.py

  • modify PROJECT_PATH in RPN_Verifier_Skim_top3.py
  • add set_global_variable('python', 'env -i <path/to/anaconda/envs/SPLT/bin/python>'); to configuration.m

raw resluts (vot-toolkt version 6.0.3)

Train

Train the Verifier(optional)

Download ResNet50 model pretrained on IMAGENET.Then put extracted ckpt file in train_Verifier/lib

cd train_Verifier/experiments
# modify paths in classify.py
python classify.py
# modify paths in triplet_pairs.py
python triplet_pairs.py
# modify paths in train_multi_gpu.py
python train_multi_gpu.py

Train the Skimming(optional)

cd train_Skim
# modify paths in classify.py
python classify.py
# modify paths in skim_data.py
python skim_data.py
# modify paths in train_skim.py
python train_skim.py