Alpha-Refine
This is the official implementation of Alpha-Refine: Boosting Tracking Performance by Precise Bounding Box Estimation .
News
-
⚠️ We provide a concise script demo.py as an example of applying alpha refine to dimp. We recommend taking this script as the starting point of exploring our project. -
A TensorRT optimized version of AlphaRefine is available here.
-
The code for CVPR2021 is updated. The old version is still available by
git clone -b vot2020 https://github.com/MasterBin-IIAU/AlphaRefine.git
-
AlphaRefine is accepted by the CVPR2021
-
🏆 Alpha-Refine wins VOT2020 Real-Time Challenge with EAOMultistart 0.499! -
VOT2020 winner presentation slide has been uploaded.
Setup Alpha-Refine
- Install AlphaRefine
git clone https://github.com/MasterBin-IIAU/AlphaRefine.git
cd AlphaRefine
Run the installation script to install all the dependencies. You need to provide the ${conda_install_path}
(e.g. ~/anaconda3
) and the name ${env_name}
for the created conda environment (e.g. alpha
).
# install dependencies
bash install.sh ${conda_install_path} ${env_name}
conda activate alpha
python setup.py develop
- Download AlphaRefine Models
We provide the models of AlphaRefine here. The AUC and Latency are tested with SiamRPN++ as the base tracker on LaSOT dataset, using a RTX 2080Ti GPU.
We recommend download the model into ltr/checkpoints/ltr/SEx_beta
.
Tracker | Backbone | Latency | AUC(%) | Model |
---|---|---|---|---|
AR34c+m | ResNet34 | 5.1ms | 55.9 | google/baidu[key:jl1m] |
AR18c+m | ResNet18 | 4.2ms | 55.0 | google/baidu[key:83ef] |
When combined with more powerful base trackers, AlphaRefine leads to very competitive tracking systems (e.g. ARDiMP). Following are some of the best performed trackers on LaSOT. Results are present in Performance
- Demo
We provide a concise demo.py as an example for applying alpha refine to dimp. We recommend you should take this script as the starting point of exploring our project. You may need doc/Reproduce.md for setting up the base trackers of our experiments.
How to apply Alpha-Refine to Your Own Tracker
We provide a concise demo.py as an example for applying alpha refine to dimp.
How to Train Alpha-Refine
Please refer to doc/TRAIN.md for the guidance of training Alpha-Refine.
After training, you can refer to doc/Reproduce.md for reproducing our experiment result.
Performance
When combined with more powerful base trackers, AlphaRefine leads to very competitive tracking systems (e.g. ARDiMP). For more performance reports, please refer to our paper. You can refer to doc/Reproduce.md for reproducing our result.
-
LaSOT
Tracker Success Score Speed (fps) Paper/Code ARDiMP (ours) 0.654 32 (RTX 2080Ti) Paper/Result Siam R-CNN (CVPR20) 0.648 5 (Tesla V100) Paper/Code DimpSuper 0.631 39 (RTX 2080Ti) Paper/Code ARDiMP50 (ours) 0.602 46 (RTX 2080Ti) Paper/Result PrDiMP50 (CVPR20) 0.598 30 (Unkown GPU) Paper/Code LTMU (CVPR20) 0.572 13 (RTX 2080Ti) Paper/Code DiMP50 (ICCV19) 0.568 59 (RTX 2080Ti) Paper/Code Ocean (ECCV20) 0.560 25 (Tesla V100) Paper/Code ARSiamRPN (ours) 0.560 50 (RTX 2080Ti) Paper/Result SiamAttn (CVPR20) 0.560 45 (RTX 2080Ti) Paper/Code SiamFC++GoogLeNet (AAAI20) 0.544 90 (RTX 2080Ti) Paper/Code MAML-FCOS (CVPR20) 0.523 42 (NVIDIA P100) Paper/Code GlobalTrack (AAAI20) 0.521 6 (GTX TitanX) Paper/Code ATOM (CVPR19) 0.515 30 (GTX 1080) Paper/Code
Acknowledgments
- This repo is based on Pytracking which is an exellent work.
- Thanks for pysot and RTMDNet from which we borrow the code as base trackers.