Home

Awesome

SiamFC - PyTorch

Highlights of this update:

A clean PyTorch implementation of SiamFC tracker described in paper Fully-Convolutional Siamese Networks for Object Tracking. The code is evaluated on 7 tracking datasets (OTB (2013/2015), VOT (2018), DTB70, TColor128, NfS and UAV123), using the GOT-10k toolkit.

Performance (the scores are not updated yet)

GOT-10k

DatasetAOSR<sub>0.50</sub>SR<sub>0.75</sub>
GOT-10k0.3550.3900.118

The scores are comparable with state-of-the-art results on GOT-10k leaderboard.

OTB / UAV123 / DTB70 / TColor128 / NfS

DatasetSuccess ScorePrecision Score
OTB20130.5890.781
OTB20150.5780.765
UAV1230.5230.731
UAV20L0.4230.572
DTB700.4930.731
TColor1280.5100.691
NfS (30 fps)--
NfS (240 fps)0.5200.624

VOT2018

DatasetAccuracyRobustness (unnormalized)
VOT20180.50237.25

Installation

Install Anaconda, then install dependencies:

# install PyTorch >= 1.0
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
# intall OpenCV using menpo channel (otherwise the read data could be inaccurate)
conda install -c menpo opencv
# install GOT-10k toolkit
pip install got10k

GOT-10k toolkit is a visual tracking toolkit that implements evaluation metrics and tracking pipelines for 9 popular tracking datasets.

Training the tracker

  1. Setup the training dataset in tools/train.py. Default is the GOT-10k dataset located at ~/data/GOT-10k.

  2. Run:

python tools/train.py

Evaluate the tracker

  1. Setup the tracking dataset in tools/test.py. Default is the OTB dataset located at ~/data/OTB.

  2. Setup the checkpoint path of your pretrained model. Default is pretrained/siamfc_alexnet_e50.pth.

  3. Run:

python tools/test.py

Running the demo

  1. Setup the sequence path in tools/demo.py. Default is ~/data/OTB/Crossing.

  2. Setup the checkpoint path of your pretrained model. Default is pretrained/siamfc_alexnet_e50.pth.

  3. Run:

python tools/demo.py