huanglianghua / GlobalTrack

Official PyTorch implementation of "GlobalTrack: A Simple and Strong Baseline for Long-term Tracking" @ AAAI2020.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GlobalTrack

UPDATES:

  • [2020.03.19] Tracking results of GlobalTrack on OTB, UAV123/20L, TLP, LaSOT, DTB70, TColor128, and VisDrone can be downloaded from Google Drive or Baidu Yun (password: iry1)!
  • [2020.03.02] Update training scripts to match the settings in the paper (12 epochs on COCO and another 12 epochs on COCO + GOT + LaSOT)!
  • [2020.02.19] Both training and evaluation code are available!
  • [2020.02.19] Initial and pretrained weights are provided!
  • [2020.02.19] A demo tracking video of GlobalTrack is available here!

Official implementation of our AAAI2020 paper: GlobalTrack: A Simple and Strong Baseline for Long-term Tracking. The first tracker with NO cumulative errors.

figure2

Extremely simple tracking process, with NO motion model, NO online learning, NO punishment on position or scale changes, NO scale smoothing and NO trajectory refinement.

Outperforms SPLT (ICCV19), SiamRPN, ATOM and MBMD on TLP benchmark (avg. 13,529 frames per video) by MORE THAN 11% (absolute gain).

Outperforms SPLT, SiamRPN++, ATOM and DaSiamLT on LaSOT benchmark.

Tracking results of GlobalTrack on diverse benchmarks can be downloaded from:

Paper on arXiv: 1912.08531.

Demo video: YouTube, YouKu.

Installation

To reproduce our Python environment, you'll need to create a conda environment from environment.yml and compile the Cpp/CUDA extensions (we use CUDA toolkit 9.0):

git clone https://github.com/huanglianghua/GlobalTrack.git
cd GlobalTrack

conda env create -f environment.yml
conda activate GlobalTrack

cd _submodules/mmdetection
python setup.py develop

Alternatively, you can also install PyTorch==1.1.0, torchvision, shapely and scipy manually, then compile the Cpp/CUDA extensions by running python setup.py develop under _submodules/mmdetection.

Run Training

(Assuming all datasets are stored in ~/data) Distributed training:

sh tools/dist_train_qg_rcnn.sh

Non-distributed training:

python tools/train_qg_rcnn.py --config configs/qg_rcnn_r50_fpn.py --load_from checkpoints/qg_rcnn_r50_fpn_2x_20181010-443129e1.pth --gpus 1

Before train, you'll need to download the initial weights transferred from FasterRCNN (provided by mmdetection, pretrained on COCO) to start.

Change the arguments in dist_train_qg_rcnn.sh or append them to python tools/train_qg_rcnn.py for your need. See train_qg_rcnn.py for details.

Run Tracking

(Assuming all datasets are stored in ~/data).

python tools/test_global_track.py

Change the parameters, such as cfg_file, ckp_file and evaluators in test_global_track.py for your need.

Pretrained Weights

By defaults, all pretrained weights are saved at checkpoints.

Issues

Please report issues in this repo if you have any problems.

About

Official PyTorch implementation of "GlobalTrack: A Simple and Strong Baseline for Long-term Tracking" @ AAAI2020.


Languages

Language:Python 61.3%Language:Jupyter Notebook 34.2%Language:Cuda 3.0%Language:C++ 1.5%Language:Shell 0.1%Language:Dockerfile 0.0%