PySiamTracking is an open source toolbox that supports a series of siamese-network-based tracking methods like SiamFC / SiamRPN / SPM. It's built based on PyTorch.
We follow the modular design in mmdetection. The components in a typical siamese-network-based tracker (e.g. backbone, fusion module, post head, loss functions, ...) are decomposed so that it is easy to verify the effectiveness of each component. One can also easily replace some components with the customized modules. We hope this project can help to the research in visual object tracking.
We provide dozens of models trained on 4 datasets: COCO, TrackingNet, LaSOT-train, GOT10K. For more information, please visit to Model Zoo.
- Linux (Ubuntu 16.04 is tested)
- Python > 3.5 (Python 3.6 is tested)
- CUDA >= 9.0 (CUDA 9.0 & 10.0 are tested)
- (Recommend) Create a new virtual environment and install PyTorch >= 1.0.
conda create -n siamtracking python=3.6 -y
conda activate siamtracking
# please select a suitable version for your device
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
- Clone this repository.
- Install some necessary python packages
pip install --upgrade pip
pip install -r requirements.txt
- Compile some custom operations.
bash ./compile.sh
The pre-trained models can be downloaded from Model Zoo. See INFERENCE.md for more detailed instruction.
Please see TRAIN.md for more details about training.
- Fully-Convolutional Siamese Networks for Object Tracking, Luca Bertinetto , Jack Valmadre, João F. Henriques, Andrea Vedaldi, Philip H.S. Torr, ECCVW 2016.
- A Twofold Siamese Network for Real-Time Object Tracking, Anfeng He, Chong Luo, Xinmei Tian, Wenjun Zeng, CVPR 2018
- High Performance Visual Tracking with Siamese Region Proposal Network, Bo Li, Junjie Yan, Wei Wu, Zheng Zhu, Xiaolin Hu, CVPR 2018
- SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks, Bo Li, Wei Wu, Qiang Wang, Fangyi Zhang, Junliang Xing, Junjie Yan, CVPR 2019
- SPM-Tracker: Series-Parallel Matching for Real-Time Visual Object Tracking, Guangting Wang, Chong Luo, Zhiwei Xiong, Wenjun Zeng, CVPR 2019
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.