This code is for testing the performance of the Tracking API introduced in OpenCV.
- OpenCV 3.0
- Visual C++ 2013
- Windows
- Visual Tracker Benchmark
- matlab
You can easily understand the performance test results with this code from the video.
[YouTube] OpenCV 3.0 Tracking API Results
I described the performance test in the following blog in more detail.
[Blog] About the OpenCV Tracking API (Japanese)
Evaluation was performed using 51 sequences from Visual Tracker Benchmark. Since tracking results depend on the initial rectangular area, 20 sub-sequences with different tracking start times were generated for each of the 51 sequences according to the evaluation method of the Visual Tracker Benchmark, and 51 x 20 = 1020 sequences were used to track more than 300,000 frames. The tracking was performed for more than 300,000 frames using 51 sequences.
-
Success plot (region overlap)
Define the overlap score as${S = \frac{|r_t \cap r_a |}{|r_t \cup r_a|} }$ , where${r_t}$ is the bounding box of the tracking result and${r_a}$ is the correct bounding box. Success plot is a plot of the percentage of tracked results whose overlap score was higher than a certain threshold$S > \theta$ out of the total number of frames in all tested sequences. -
Precision plot (center position error)
It is an evaluation using the region's center position error. It plots the percentage of center position errors between the tracking bounding box and the correct bounding box that are smaller than a threshold value. -
Processing Speed (fps)
Average fps when tracked on a PC with Intel Core i7-5820K CPU (3.30 GHz), 32GB RAM.
KCF performs well in terms of both tracking accuracy and processing speed.
Boosting | MIL | TLD | MedianFlow | KCF |
---|---|---|---|---|
27.6763 | 16.8790 | 9.7450 | 134.3183 | 80.5531 |