Skip to content

A Pytorch Implementation of CVPR2019 tracker SiamDW with train code.

Notifications You must be signed in to change notification settings

hawking-npu/SiamDW-Pytorch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SiamDW-Pytorch

This is a Pytorch implementation of SiamDW with train codes, which is mainly based on deeper_wider_siamese_trackers and Siamese-RPN. I re-format my code with reference to the author's official code SiamDW.

For more details about the CIR tracker please refer to the paper: Deeper and Wider Siamese Networks for Real-Time Visual Tracking by Zhipeng Zhang and Houwen Peng.

NOTE: The author proposed CIR/CIR-D unit into both SiamFC and SiamRPN, repectively denoted as SiamFC+ and SiamRPN+. Currently this repo only contained that of SiamFC+ and SiamRPN+ with backbone ResNet22 and others will be listed into future work.

The repo is still under development.

Requirements

  • python == 3.6
  • pytorch == 0.3.1
  • numpy == 1.12.1
  • opencv == 3.1.0

Training

  • data preparation

    1. Follow the instructions in Siamese-RPN to curate the VID and YTB dataset. If you also want to use GOT10K, follow the same instructions as above or download the curated data by author.

    2. Create the soft links data_curated and data_curated.lmdb to folder dataset.

  • download pretrained model

    1. Download pretrained model from OneDrive, GoogleDrive or BaiduDrive. Extracted code for BaiduDrive is 7rfu.

    2. Put them to models/pretrain directory.

  • chosse the training dataset by set the parameters in lib/utils/config.py.

    For example, if you would like to use both VID and YTB dataset to train SiamRPN+, then just simply set both VID_used and YTB_used into True.

  • choose the model to be trained by modifying train.sh, e.g, to train SiamFC+ using command

    CUDA_VISIBLE_DEVICES=0 python bin/train_siamfc.py --arch SiamFC_Res22 --resume ./models/SiamFC_Res22_mine.pth
    

    or to train SiamRPN+ by

    CUDA_VISIBLE_DEVICES=0 python bin/train_siamrpn.py --arch SiamRPN_Res22 --resume ./models/SiamRPN_Res22_mine.pth
    

Tracking

  • data preparation

    1. Create the soft link OTB2015 to folder dataset
  • start tracking by modifying test.sh as above

Benchmark result

  • OTB2015

These experiments currently are not conducted yet. I'll keep updating the result once they're done.

Models Training data
VID GOT10K VID+GOT10K VID+YTB GOT10K+YTB VID+GOT10K+YTB
SiamRPN_Alex AUC 0.626(0.637) -(-)
Prec. -(-) -(-)
SiamFC_Res22 AUC 0.632(0.639) -(0.654)
Prec. 0.831(0.839) -(-)
SiamRPN_Res22 AUC -(0.662)
Prec. -(0.872)

Future work

  • Further performance improvement of SiamFC+ and SiamRPN+. Welcome to any advice and suggestions. My email address is jensen.zhoujh@qq.com.

Reference

[1] Zhipeng Zhang, Houwen Peng. Deeper and Wider Siamese Networks for Real-Time Visual Tracking. Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019.

About

A Pytorch Implementation of CVPR2019 tracker SiamDW with train code.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.8%
  • Shell 0.2%