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
-
Setup the training dataset in
tools/train.py
. Default is the GOT-10k dataset located at~/data/GOT-10k
. -
Run:
python tools/train.py
Evaluate the tracker
-
Setup the tracking dataset in
tools/test.py
. Default is the OTB dataset located at~/data/OTB
. -
Setup the checkpoint path of your pretrained model. Default is
pretrained/siamfc_alexnet_e50.pth
. -
Run:
python tools/test.py
Running the demo
-
Setup the sequence path in
tools/demo.py
. Default is~/data/OTB/Crossing
. -
Setup the checkpoint path of your pretrained model. Default is
pretrained/siamfc_alexnet_e50.pth
. -
Run:
python tools/demo.py