Code for the tracker described in the CVPR16 paper "Staple: Complementary Learners for Real-Time Tracking"
Matlab C++
Switch branches/tags
Nothing to show
Clone or download
Latest commit 7b6b5b5 Apr 26, 2017
Permalink
Failed to load latest commit information.
vot15_ball1 uploaded sample sequences that better reflects average speed of the t… Aug 30, 2016
.gitignore added bibtex to README Apr 15, 2016
LICENSE Big commit with all the code Apr 10, 2016
README.md added cfnet link Apr 25, 2017
TODO.txt Big commit with all the code Apr 10, 2016
computeHistogram.m Big commit with all the code Apr 10, 2016
cropFilterResponse.m Big commit with all the code Apr 10, 2016
fhog.m Big commit with all the code Apr 10, 2016
freezeColors.m Big commit with all the code Apr 10, 2016
gaussianResponse.m Big commit with all the code Apr 10, 2016
getAxisAlignedBB.m Big commit with all the code Apr 10, 2016
getCenterLikelihood.m Big commit with all the code Apr 10, 2016
getColourMap.m Big commit with all the code Apr 10, 2016
getFeatureMap.m Big commit with all the code Apr 10, 2016
getP.m Big commit with all the code Apr 10, 2016
getScaleSubwindow.m Big commit with all the code Apr 10, 2016
getSubwindow.m Big commit with all the code Apr 10, 2016
gradientMex.cpp Big commit with all the code Apr 10, 2016
gradientMex.mexa64 Big commit with all the code Apr 10, 2016
gradientMex.mexmaci64 feat: Add macOS precompiled mexResize and gradientMex Feb 27, 2017
gradientMex.mexw64 Big commit with all the code Apr 10, 2016
initTracker_webcam.m Big commit with all the code Apr 10, 2016
initializeAllAreas.m Big commit with all the code Apr 10, 2016
isToolboxAvailable.m Big commit with all the code Apr 10, 2016
libopencv_core.a Big commit with all the code Apr 10, 2016
libopencv_core.so Big commit with all the code Apr 10, 2016
libopencv_imgproc.a Big commit with all the code Apr 10, 2016
libopencv_imgproc.so Big commit with all the code Apr 10, 2016
mergeResponses.m Big commit with all the code Apr 10, 2016
mexResize.mexa64 Big commit with all the code Apr 10, 2016
mexResize.mexmaci64 feat: Add macOS precompiled mexResize and gradientMex Feb 27, 2017
mexResize.mexw64 Big commit with all the code Apr 10, 2016
mySubplot.m Big commit with all the code Apr 10, 2016
opencv_core242.dll Big commit with all the code Apr 10, 2016
opencv_imgproc242.dll Big commit with all the code Apr 10, 2016
params.txt added test sequence Apr 11, 2016
readParams.m Big commit with all the code Apr 10, 2016
runAll_vot14.m Big commit with all the code Apr 10, 2016
runAll_vot15.m Big commit with all the code Apr 10, 2016
runTracker.m Big commit with all the code Apr 10, 2016
runTracker_VOT.m Big commit with all the code Apr 10, 2016
runTracker_webcam.m Big commit with all the code Apr 10, 2016
run_Staple.m Big commit with all the code Apr 10, 2016
trackerMain.m Big commit with all the code Apr 10, 2016
unfreezeColors.m Big commit with all the code Apr 10, 2016
updateHistModel.m Big commit with all the code Apr 10, 2016
updateTracker_webcam.m Big commit with all the code Apr 10, 2016

README.md

NEWS! Check out our CVPR'17 paper+code: training a Correlation Filter end-to-end allows super lightweight networks of 2 layers (600 kB) to achieve state-of-the-art performance at high-speed.

Staple tracker

Code for the method described in the paper Staple: Complementary Learners for Real-Time Tracking, by Luca Bertinetto, Jack Valmadre, Stuart Golodetz, Ondrej Miksik and Philip Torr (University of Oxford) - appeared at CVPR 2016.

Contacts

For questions about the code or the paper, feel free contact us. You can find more info at the project page: http://robots.ox.ac.uk/~luca/staple.html

Please cite


@InProceedings{Bertinetto_2016_CVPR,
author = {Bertinetto, Luca and Valmadre, Jack and Golodetz, Stuart and Miksik, Ondrej and Torr, Philip H. S.},
title = {Staple: Complementary Learners for Real-Time Tracking},
booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2016}
}

Prerequisites

Modes

  • runTracker(sequence, start_frame) runs the tracker on sequence from start_frame onwards.
  • runTracker_webcam starts an interactive webcam demo.
  • runTracker_VOT and run_Staple run the tracker within the benchmarks VOT and OTB respectively.

Format

For runTracker(sequence, start_frame), make sure the directory tree looks like the following:

- staple/
    - runTracker.m
    - thisTracker.m
    - ... 

- Sequences/
    - ball/
    - bicycle/
    - (any other sequence with the specified format)

Each sequence folder should have the following structure

  • <sequence_name>/
    • imgs/
      • 00000000.jpg (must be 8digit, any img format allowed)
      • 00000001.jpg
      • ...
    • groundtruth.txt
    • <sequence_name>_frames.txt
  • <sequence_name>_frames.txt contains the interval of frames to track
  • groundtruth.txt contains the per frame annotation. The ground truth bounding box can be expressed as a polygon, i.e. <x1>,<y1>,<x2>,<y2>,<x3>,<y3>,<x4>,<y4>, or as an axis-aligned bounding box, i.e.<top-x>,<top-y>,<width>,<height>

F.A.Q.

How can I compile mexResize ? gradientMex and mexResize have been compiled and tested for Ubuntu, Windows 8 (64 bit) and macOS(Sierra). You can easily recompile the sources in case of need. I have compiled mexResize following the instructions in Martin's old code for DSST. You can find it here http://www.cvl.isy.liu.se/research/objrec/visualtracking/scalvistrack/index.html - just open the archive and run compilemex.m or compilemex_win.m

How can I reproduce the exact same results of the paper?

Checkout the code at the commit tagged cvpr16_results, other commits and future versions might perform differently. As it is stated in the paper, the performance have been obtained using the last commit of the VOT toolkit available at the time of the paper submission (d3b2b1d).