/PySiamTracking

PySiamTracking project provides a flexible and effective framework that supports mainstream siamese-network-based trackers.

Primary LanguagePythonMIT LicenseMIT

PySiamTracking

Introduction

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.

Benchmark and Model Zoo

We provide dozens of models trained on 4 datasets: COCO, TrackingNet, LaSOT-train, GOT10K. For more information, please visit to Model Zoo.

Getting Started

Requirement

  • Linux (Ubuntu 16.04 is tested)
  • Python > 3.5 (Python 3.6 is tested)
  • CUDA >= 9.0 (CUDA 9.0 & 10.0 are tested)

Installation

  1. (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
  1. Clone this repository.
  2. Install some necessary python packages
pip install --upgrade pip
pip install -r requirements.txt
  1. Compile some custom operations.
bash ./compile.sh

Play with pre-trained models

The pre-trained models can be downloaded from Model Zoo. See INFERENCE.md for more detailed instruction.

Training models

Please see TRAIN.md for more details about training.

Reference


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.