Alpha-Refine

July 28, 2021 ยท View on GitHub

This is the official implementation of Alpha-Refine: Boosting Tracking Performance by Precise Bounding Box Estimation . Architecture

News

  • :warning: 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

  • :trophy: 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.

TrackerBackboneLatencyAUC(%)Model
AR34c+mResNet345.1ms55.9google/baidu[key:jl1m]
AR18c+mResNet184.2ms55.0google/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

    TrackerSuccess ScoreSpeed (fps)Paper/Code
    ARDiMP (ours)0.65432 (RTX 2080Ti)Paper/Result
    Siam R-CNN (CVPR20)0.6485 (Tesla V100)Paper/Code
    DimpSuper0.63139 (RTX 2080Ti)Paper/Code
    ARDiMP50 (ours)0.60246 (RTX 2080Ti)Paper/Result
    PrDiMP50 (CVPR20)0.59830 (Unkown GPU)Paper/Code
    LTMU (CVPR20)0.57213 (RTX 2080Ti)Paper/Code
    DiMP50 (ICCV19)0.56859 (RTX 2080Ti)Paper/Code
    Ocean (ECCV20)0.56025 (Tesla V100)Paper/Code
    ARSiamRPN (ours)0.56050 (RTX 2080Ti)Paper/Result
    SiamAttn (CVPR20)0.56045 (RTX 2080Ti)Paper/Code
    SiamFC++GoogLeNet (AAAI20)0.54490 (RTX 2080Ti)Paper/Code
    MAML-FCOS (CVPR20)0.52342 (NVIDIA P100)Paper/Code
    GlobalTrack (AAAI20)0.5216 (GTX TitanX)Paper/Code
    ATOM (CVPR19)0.51530 (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.