Skip to content

A clean PyTorch implementation of SiamFC tracking/training, evaluated on 7 datasets.

License

Notifications You must be signed in to change notification settings

chenxlin222/siamfc-pytorch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SiamFC - PyTorch

Highlights of this update:

  • Higher scores with more stable training performance.
  • Faster training (~11 minutes to train one epoch on GOT-10k on a single GPU).
  • Added MIT LICENSE.
  • Organized code.
  • Uploaded pretrained weights. (Google Drive or Baidu Yun (password: wbek))

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

Dataset AO SR0.50 SR0.75
GOT-10k 0.355 0.390 0.118

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

OTB / UAV123 / DTB70 / TColor128 / NfS

Dataset Success Score Precision Score
OTB2013 0.589 0.781
OTB2015 0.578 0.765
UAV123 0.523 0.731
UAV20L 0.423 0.572
DTB70 0.493 0.731
TColor128 0.510 0.691
NfS (30 fps) - -
NfS (240 fps) 0.520 0.624

VOT2018

Dataset Accuracy Robustness (unnormalized)
VOT2018 0.502 37.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

About

A clean PyTorch implementation of SiamFC tracking/training, evaluated on 7 datasets.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%