Fully-Convolutional Siamese Networks for Object Tracking
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:
@article{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},
journal={arXiv preprint arXiv:1606.09549},
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 1.iv. and enjoy the result of the labour of your own GPUs!