/SiamMask

[CVPR2019] Fast Online Object Tracking and Segmentation: A Unifying Approach

Primary LanguagePythonMIT LicenseMIT

SiamMask

This is the official inference code for SiamMask (CVPR2019). For technical details, please refer to:

Fast Online Object Tracking and Segmentation: A Unifying Approach
Qiang Wang*, Li Zhang*, Luca Bertinetto*, Weiming Hu, Philip H.S. Torr (* denotes equal contribution)
CVPR2019
[Paper] [Video] [Project Page]

Contents

  1. Environment Setup
  2. Demo
  3. Testing Models

Environment Setup

All the code has been tested on Ubuntu 16.04, Python 3.6, Pytorch 0.4.1, CUDA 9.2, GTX 2080 GPUs

  • Clone the repository
git clone https://github.com/foolwood/SiamMask.git && cd SiamMask
export SiamMask=$PWD
  • Setup python environment
conda create -n siammask python=3.6
source activate siammask
pip install -r requirements.txt
bash make.sh
  • Add the project to PYTHONPATH
export PYTHONPATH=$PWD:$PYTHONPATH

Demo

  • Setup your environment
  • Download the SiamMask model
cd $SiamMask/experiments/siammask
wget -q http://www.robots.ox.ac.uk/~qwang/SiamMask_VOT.pth
wget -q http://www.robots.ox.ac.uk/~qwang/SiamMask_DAVIS.pth
  • Run demo.py
cd $SiamMask/experiments/siammask
export PYTHONPATH=$PWD:$PYTHONPATH
python ../../tools/demo.py --resume SiamMask_DAVIS.pth --config config_davis.json

Testing Models

  • Setup your environment
  • Download test data
cd $SiamMask/data
bash get_test_data.sh
  • Download pretrained models
cd $SiamMask/experiments/siammask
wget -q http://www.robots.ox.ac.uk/~qwang/SiamMask_VOT.pth
wget -q http://www.robots.ox.ac.uk/~qwang/SiamMask_DAVIS.pth
  • Evaluate performance on VOT
bash test_mask_refine.sh config_vot.json SiamMask_VOT.pth VOT2016 0
bash test_mask_refine.sh config_vot.json SiamMask_VOT.pth VOT2018 0
python ../../tools/eval.py --dataset VOT2016 --tracker_prefix Cus  --result_dir ./test/VOT2016
python ../../tools/eval.py --dataset VOT2018 --tracker_prefix Cus  --result_dir ./test/VOT2018
  • Evaluate performance on DAVIS (less than 50s)
bash test_mask_refine.sh config_davis.json SiamMask_DAVIS.pth DAVIS2016 0
bash test_mask_refine.sh config_davis.json SiamMask_DAVIS.pth DAVIS2017 0
bash test_mask_refine.sh config_davis.json SiamMask_DAVIS.pth ytb_vos 0

Results

These are the reproduction results from this repository. All results can be downloaded from our project page.

Tracker VOT2016
EAO / A / R
VOT2018
EAO / A / R
DAVIS2016
J / F
DAVIS2017
J / F
Youtube-VOS
J_s / J_u / F_s / F_u
Speed
SiamMask w/o Mask 0.412 / 0.623 / 0.233 0.363 / 0.584 / 0.300 - / - - / - - / - / - / - 76.95 FPS
SiamMask 0.433 / 0.639 / 0.214 0.380 / 0.609 / 0.276 0.713 / 0.674 0.543 / 0.585 0.602 / 0.451 / 0.582 / 0.477 56.23 FPS

Note: Speed are tested on a GTX 2080

License

Licensed under an MIT license.

Citing SiamMask

If you use this code, please cite:

@article{Wang2019SiamMask,
    title={Fast Online Object Tracking and Segmentation: A Unifying Approach},
    author={Wang, Qiang and Zhang, Li and Bertinetto, Luca and Hu, Weiming and Torr, Philip HS},
    journal={The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
    year={2019}
}