This code has been tested on Ubuntu 16.04, Python 3.5, Pytorch 1.2.0, CUDA 9.0. Please install related libraries before running this code:
pip install -r requirements.txt
Dataset | SiamGAT | SiamGAT* | SiamGAT Model Link | SiamGAT* Model Link | |
GOT10k | AO | 63.1 | 67.1 |
Google Driver/ BaiduYun(zktx) |
Google Driver/ BaiduYun(d74o) |
SR0.5 | 74.6 | 78.7 | |||
SR0.75 | 50.4 | 58.9 | |||
TrackingNet | Success | 75.3 | 76.9 |
Google Driver/ BaiduYun(n2sm) |
Google Driver/ BaiduYun(fxo2) |
Norm precision | 80.7 | 82.4 | |||
Precision | 69.8 | 71.9 | |||
LaSOT | Success | 53.9 | 59.5 |
Google Driver/ BaiduYun(dilp) |
|
Norm precision | 63.3 | 69.0 | |||
Precision | 53.0 | 61.2 | |||
VOT2020 | EAO | - | 0.453 | - | |
A | - | 0.756 | |||
R | - | 0.729 | |||
OTB100 | Success | 71.0 | 71.5 |
Google Driver/ BaiduYun(w1rs) |
Google Driver/ BaiduYun(c6c5) |
Precision | 91.7 | 93.0 | |||
UAV123 | Success | 64.6 | - | - | |
Precision | 84.3 | - |
Download testing datasets and put them into test_dataset
directory. Jsons of commonly used datasets can be downloaded from BaiduYun. If you want to test the tracker on a new dataset, please refer to pysot-toolkit to set test_dataset.
python testTracker.py \
--config ../experiments/siamgat_googlenet_ct_alldataset/config.yaml \ # siamgat_xx_xx for SiamGAT, siamgat_ct_xx_xx for SiamGAT*
--dataset OTB100 \ # dataset_name: GOT-10k, LaSOT, TrackingNet, OTB100, UAV123
--snapshot snapshot/otb_uav_model.pth # tracker_name
The testing result will be saved in the results/dataset_name/tracker_name
directory.
Download the datasets:
Note: training_dataset/dataset_name/readme.md
has listed detailed operations about how to generate training datasets.
Download pretrained backbones from link and put them into pretrained_models
directory.
To train the SiamGAT model, run train.py
with the desired configs:
cd tools
python train.py
--cfg ../experiments/siamgat_googlenet/config.yaml # siamgat_xx_xx for SiamGAT, siamgat_ct_xx_xx for SiamGAT*
We provide tracking results for comparison:
- SiamGAT: BaiduYun (extract code: 8nox) or GoogleDriver.
- SiamGAT*: BaiduYun (extract code: kjym) or GoogleDriver.
If you want to evaluate the tracker on OTB100, UAV123 and LaSOT, please put those results into results
directory and then run eval.py
.
Evaluate GOT-10k on Server. Evaluate TrackingNet on Server.
python eval.py \
--tracker_path ./results \ # result path
--dataset OTB100 \ # dataset_name
--tracker_prefix 'otb_uav_model' # tracker_name
The code is implemented based on pysot and SiamCAR. We would like to express our sincere thanks to the contributors.
If you use SiamGAT in your work please cite our papers:
@article{cui2022joint,
title={Joint Classification and Regression for Visual Tracking with Fully Convolutional Siamese Networks},
author={Cui, Ying and Guo, Dongyan and Shao, Yanyan and Wang, Zhenhua and Shen, Chunhua and Zhang, Liyan and Chen, Shengyong},
journal={International Journal of Computer Vision},
year={2022},
publisher={Springer},
doi = {10.1007/s11263-021-01559-4}
}
@InProceedings{Guo_2021_CVPR,
author = {Guo, Dongyan and Shao, Yanyan and Cui, Ying and Wang, Zhenhua and Zhang, Liyan and Shen, Chunhua},
title = {Graph Attention Tracking},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2021}
}
@InProceedings{Guo_2020_CVPR,
author = {Guo, Dongyan and Wang, Jun and Cui, Ying and Wang, Zhenhua and Chen, Shengyong},
title = {SiamCAR: Siamese Fully Convolutional Classification and Regression for Visual Tracking},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2020}
}