Awesome
`Skimming-Perusal' Tracking: A Framework for Real-Time and Robust Long-term Tracking
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
inRPN_Verifier_Skim_top3.py
- add
set_global_variable('python', 'env -i <path/to/anaconda/envs/SPLT/bin/python>');
toconfiguration.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