SiamFC - TensorFlow

TensorFlow port of the tracking method described in the paper Fully-Convolutional Siamese nets for object tracking.

In particular, it is the improved version presented as baseline in End-to-end representation learning for Correlation Filter based tracking, which achieves state-of-the-art performance at high framerate. The other methods presented in the paper (similar performance, shallower network) haven't been ported yet.

Settings things up with virtualenv

  1. Get virtualenv if you don't have it already pip install virtualenv
  2. Create new virtualenv with Python 2.7 virtualenv --python=/usr/bin/python2.7 ve-tracking
  3. Activate the virtualenv source ~/tracking-ve/bin/activate
  4. Clone the repository git clone https://github.com/torrvision/siamfc-tf.git
  5. cd siamfc-tf
  6. Install the required packages sudo pip install -r requirements.txt
  7. mkdir pretrained data
  8. Download the pretrained networks in pretrained and unzip the archive (we will only use baseline-conv5_e55.mat)
  9. Download video sequences in data and unzip the archive.

Running the tracker

  1. Set video from parameters.evaluation to "all" or to a specific sequence (e.g. "vot2016_ball1")
  2. See if you are happy with the default parameters in parameters/hyperparameters.json
  3. Optionally enable visualization in parameters/run.json
  4. Call the main script (within an active virtualenv session) python run_tracker_evaluation.py