hqucv / siamban

Siamese Box Adaptive Network for Visual Tracking
Apache License 2.0
276 stars 53 forks source link

SiamBAN

This project hosts the code for implementing the SiamBAN algorithm for visual tracking, as presented in our paper:

@inproceedings{siamban,
  title={Siamese Box Adaptive Network for Visual Tracking},
  author={Chen, Zedu and Zhong, Bineng and Li, Guorong and Zhang, Shengping and Ji, Rongrong},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={6668--6677},
  year={2020}
}

The full paper is available here. The raw results are here or here, extraction code: um9k. The code based on the PySOT.

Examples of SiamBAN outputs. The green boxes are the ground-truth bounding boxes of VOT2018, the yellow boxes are results yielded by SiamBAN.

Installation

Please find installation instructions in INSTALL.md.

Quick Start: Using SiamBAN

Add SiamBAN to your PYTHONPATH

export PYTHONPATH=/path/to/siamban:$PYTHONPATH

Download models

Download models in Model Zoo and put the model.pth in the correct directory in experiments

Webcam demo

python tools/demo.py \
    --config experiments/siamban_r50_l234/config.yaml \
    --snapshot experiments/siamban_r50_l234/model.pth
    # --video demo/bag.avi # (in case you don't have webcam)

Download testing datasets

Download datasets and put them into testing_dataset directory. Jsons of commonly used datasets can be downloaded from here or here, extraction code: 8fju. If you want to test tracker on new dataset, please refer to pysot-toolkit to setting testing_dataset.

Test tracker

cd experiments/siamban_r50_l234
python -u ../../tools/test.py   \
    --snapshot model.pth    \ # model path
    --dataset VOT2018   \ # dataset name
    --config config.yaml      # config file

The testing results will in the current directory(results/dataset/model_name/)

Eval tracker

assume still in experiments/siamban_r50_l234

python ../../tools/eval.py   \
    --tracker_path ./results \ # result path
    --dataset VOT2018        \ # dataset name
    --num 1          \ # number thread to eval
    --tracker_prefix 'model'   # tracker_name

Training :wrench:

See TRAIN.md for detailed instruction.

License

This project is released under the Apache 2.0 license.