Visual tracking algorithms in Matlab
This repository contains Matlab code for several visual trackers. As you might imagine the code is mostly used for academic and research purposes, to facilitate experiment repeatability and extensions.
Release log (major changes)
- 23-02-2016 - Initial public release, ANT and LGT trackers
- 28-10-2016 - Adding adapted original implementation of the IVT tracker
- 03-11-2016 - Adding adapted original implementation of the MEEM and L1-APG trackers as well as some fixes
Citing and license
Instructions on citing the code in research publicatons are available in subfolders of individual trackers. Other than that the code is available under BSD license unless stated otherwise in the file (some files are imported from other projects).
Reporting problems and contact
If you notice a bug please open an issue on Github. If you have any other questions or problems contact me via email.
Compiling and running
Disclaimer: the code was developed and tested on Linux-based systems.
You will need need OpenCV installed (at the moment it works with version 3.1, but also with version 2.4 with some minor modifications) and the mexopencv bindings for Matlab compiled and added to Matlab path. The code was tested with Matlab versions 2015a. It probably does not work in Octave, but could perhaps be adapted to do so.
First run the compile_native script in Matlab to compile the native components. If everything works correctly you should now have compiled Mex files available for your platform.
You can run trackers by using
run_* wrappers available in the root directory
as an example. The scripts accept one argument, a path to a VOT-compatible
TraX protocol and VOT toolkit
To run the trackers in the VOT toolkit you can use the TraX wrapper that is
supplied in the repository. You will need traxserver (part of the TraX reference
implementation) Mex file visible in the
Matlab path. The TraX mode can be accessed by running the
run_* wrappers without
the sequence path argument.