This visual object tracker (KCFDPT) enhances KCFDP with "background suppression".
KCFDP is presented in:
[1] "Enable Scale and Aspect Ratio Adaptability in Visual Tracking with Detection Proposals", BMVC, 2015,
Dafei Huang, Lei Luo, Mei Wen, Zhaoyun Chen and Chunyuan Zhang.
The implementation is built upon:
Color-name feature integration and model updating scheme:
[2] "Adaptive Color Attributes for Real-Time Visual Tracking", CVPR, 2014,
Martin Danelljan, Fahad Shahbaz Khan, Michael Felsberg and Joost van de Weijer.
[3] "Learning color names for real-world applications", TIP, 18(7):1512-1524, 2009,
J. van de Weijer, C. Schmid, J. J. Verbeek and D. Larlus.
Original CSK and KCF tracking framework:
[4] "Exploiting the circulant structure of tracking-by-detection with kernels", ECCV, 2012,
J. F. Henriques, R. Caseiro, P. Martins and J. Batista.
[5] "High-Speed Tracking with Kernelized Correlation Filters", TPAMI, 2015,
J. F. Henriques, R. Caseiro, P. Martins and J. Batista.
http://www.isr.uc.pt/~henriques/circulant/
Structured Forests edge detector and Edge Boxes detection proposal generator:
[6] "Structured Forests for Fast Edge Detection", ICCV, 2013,
P. Dollar and C. Zitnick.
[7] "Edge Boxes: Locating Object Proposals from Edges", ECCV, 2014,
C. Zitnick and P. Dollar.
The IoU calculation code and example sequence along with annotations:
[8] "Online Object Tracking: A Benchmark", CVPR, 2013,
Y. Wu, J. Lim and M.-H. Yang.
http://visual-tracking.net/
Additional tools needed when running the code:
[9] "Piotr's Image and Video Matlab Toolbox (PMT)",
P. Dollar.
http://vision.ucsd.edu/~pdollar/toolbox/doc/index.html
Codes above are integrated and modified by Dafei Huang.
Quick Start Guide:
Running the code directly on Skating1[8] sequence:
- Download and compile PMT[9];
- Modify the path string in Line 61 of run_tracker.m to your PMT path;
- Go to the root directory of this code and run "run_tracker" in Matlab.
Integrating the code into OTB[8] tracking benchmark suite:
- Download and prepare your environment according to [8];
- Download and compile PMT[9];
- Modify the path string in Line 60 of run_KCFDPT.m to your PMT path;
- Copy the whole directory of this code into OTB_ROOT_PATH/tackers/;
- Add a new line "struct('name','KCFDPT','namePaper','KCFDPT'),..." into
the "trackers1" array in OTB_ROOT_PATH/util/configTrackers.m; - Run the OTB benchmark suite according to [8].
Finding out and annotating sequences with scale or aspect ratio variation in OTB[8]:
- Download and prepare your environment according to [8];
- Copy all the files in ./anno_tool/ to OTB_ROOT_PATH/;
- Go to OTB_ROOT_PATH/, and run the copied files in Matlab according to the comments within each file.
NOTE:
- For your convenience we have generated the binary files of [6] and [7] for 64-bit MAC OS, Windows, and Linux.
edgeBoxesTrackParamMex.cpp (modified version of edgeBoxesMex.cpp) is only compiled for MAC OS and Linux,
because compilation under Windows with VC compiler will result in inconsistent tracking performance.
Please recompile the codes in ./private/ if needed. - The following files are part of Structured Forests[6] and Edge Boxes[7], and provided for convenience only:
edgesChns.m, edgesDetect.m, modelBsds.mat,
edgesDetectMex.cpp, edgesNmsMex.cpp, and their relevant binary files.
These files are under the license specified in license_Structured_Forests_and_Edge_Boxes.txt. - The following files are part of ACT[2], and are provided for convenience only:
im2c.m, get_feature_map.m, w2crs.mat.
Please refer to readme_ACT.txt for the authorship information. - The tracking framework utilized here is from KCF[5] under the license specified in:
license_KCF.txt. - calcRectInt.m and the example sequence along with annotations are from OTB[8] under the GNU-GPL license.
- The rest parts of KCFDPT are distributed under the BSD license.
Contact:
Dafei Huang
huangdafei1012@163.com