• Stars
    star
    436
  • Rank 99,877 (Top 2 %)
  • Language
    Python
  • Created over 5 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simplified PyTorch implementation of Siamese networks for tracking: SiamFC, SiamRPN, SiamRPN++, SiamVGG, SiamDW, SiamRPN-VGG.

SiameseX.PyTorch

A simplified PyTorch implementation of Siamese networks for tracking: SiamFC, SiamVGG, SiamDW, SiamRPN, SiamRPN++.

Warning: It is still in development, some files are just for the integrity of the project.

Dependencies

  • python2.7
  • pytorch == 0.4.0
  • opencv
  • mmcv

Currently supported models

Backbones

  • AlexNet
  • VGG
  • ResNet22
  • Incep22
  • ResNeXt22
  • ResNet50

Demo

  • Try SiamFC:

Clone this repo and run

python demo.py --model SiamFC

You can change --mdoel to other models like

python demo.py --model SiamFCNext22
  • Try SiamRPN:

Download the pretrained model and put it in ./cp folder.

python demo_rpn.py --model SiamRPNResNeXt22
  • Try SiamRPN++:

Download the pretrained model and put it in ./cp folder.

python demo_rpn.py --model SiamRPNPPRes50
  • You'll see the following:

Training

  • download VID dataset (I did not use Youtube-bb because of limited resources).
  • download label files from here and run label_preprocess.py --file --output_file --path to replace my file path by yours, these three arguments should be treated carefully.
  • train SiamFCNext22 tracker
python train.py --gpu 0 --config configs/SiamFC.py
  • just replace --config argument and you can train other models
python train.py --gpu 0 --config configs/SiamRPN.py

TODO

We have accumulated the following to-do list, which we hope to complete in the near future

  • Still to come:
    • Add testing code on common datasets
    • Add SiamRPN(AlexNet as backbone)
    • Add SiamRPN(VGG as backbone)
    • Add SiamRPN(ResNet, ResNext, Inception as backbone)

Citation

@inproceedings{bertinetto2016fully,
  title={Fully-convolutional siamese networks for object tracking},
  author={Bertinetto, Luca and Valmadre, Jack and Henriques, Joao F and Vedaldi, Andrea and Torr, Philip HS},
  booktitle={European conference on computer vision},
  pages={850--865},
  year={2016},
  organization={Springer}
}

@inproceedings{Li2019SiamVGGVT,
  title={SiamVGG: Visual Tracking using Deeper Siamese Networks},
  author={Yuhong Li and Xiaofan Zhang},
  year={2019}
}

@inproceedings{SiamDW_2019_CVPR,
    author={Zhang, Zhipeng and Peng, Houwen},
    title={Deeper and Wider Siamese Networks for Real-Time Visual Tracking},
    booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
    year = {2019}

@article{li2018siamrpn++,
  title={SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks},
  author={Li, Bo and Wu, Wei and Wang, Qiang and Zhang, Fangyi and Xing, Junliang and Yan, Junjie},
  journal={arXiv preprint arXiv:1812.11703},
  year={2018}
}
}

References