The code in this repository enables you to reproduce the experiments of our paper. It can be used in two ways: (1) tracking only and (2) training and tracking.
Project page: http://www.robots.ox.ac.uk/~luca/siamese-fc.html
If you find our work and/or curated dataset useful, please cite:
@inproceedings{bertinetto2016fully,
title={Fully-Convolutional Siamese Networks for Object Tracking},
author={Bertinetto, Luca and Valmadre, Jack and Henriques, Jo{\~a}o F and Vedaldi, Andrea and Torr, Philip H S},
booktitle={ECCV 2016 Workshops},
pages={850--865},
year={2016}
}
[ Tracking only ] If you don't care much about training, simply plug one of our pretrained networks to our basic tracker and see it in action.
- Prerequisites: GPU, CUDA drivers, cuDNN, Matlab (we used 2015b), MatConvNet (we used
v1.0-beta20
). - Clone the repository.
- Download one of the pretrained networks from http://www.robots.ox.ac.uk/~luca/siamese-fc.html
- Go to
siam-fc/tracking/
and remove the trailing.example
fromenv_paths_tracking.m.example
,startup.m.example
andrun_tracking.m.example
, editing the files as appropriate. - Be sure to have at least one video sequence in the appropriate format. You can find an example here in the repository (
siam-fc/demo-sequences/vot15_bag
). siam-fc/tracking/run_tracking.m
is the entry point to execute the tracker, have fun!
[ Training and tracking ] Well, if you prefer to train your own network, the process is slightly more involved (but also more fun).
- Prerequisites: GPU, CUDA drivers, cuDNN, Matlab (we used 2015b), MatConvNet (we used
v1.0-beta20
). - Clone the repository.
- Follow these step-by-step instructions, which will help you generating a curated dataset compatible with the rest of the code.
- If you did not generate your own, download the imdb_video.mat (6.7GB) with all the metadata and the dataset stats.
- Go to
siam-fc/training/
and remove the trailing.example
fromenv_paths.m.example
,startup.m.example
andrun_experiment.m.example
editing the files as appropriate. siam-fc/training/run_experiment.m
is the entry point to start training. Default hyper-params are at the start ofexperiment.m
and can be overwritten by custom ones specified inrun_experiment.m
.- By default, training plots are saved in
siam-fc/training/data/
. When you are happy, grab a network snapshot (net-epoch-X.mat
) and save it somewhere convenient to use it for tracking. - Go to point
4.
of Tracking only and enjoy the result of the labour of your own GPUs!