Correlation Filter Tracking
By Žan Pušenjak
Advanced Computer Vision Methods, FRI, University of Ljubljana
computer-vision object-tracking
Correlation filter based tracker
We implemented a correlation filter based tracker and tried to make improvements. Further we tried to find the best set of tracker parameters to obtain the best possible performance.
We used the sequences from the VOT challenges1 more specifically the VOT14 set of challenges that include of twenty five videos hand picked to test the reliability of trackers alongside with a simplified version of the VOT evaluation toolkit2.
Basic implementation
We first implemented the most basic version of Correlation tracker that generates a filter from initially selected target region and then uses correlation score to find the best suitable location in the new frame. Each frame the correlation filter gets updated with the currently found template. Parameters of the basic implementation were:
- since we used a Gaussian peak filter we needed to determine its parameter.
- the rate of filter update on each frame.
Improvements
We tried to extend the implementation and improve the results of our tracker in two ways.
Template size
To improve the tracker we introduced a parameter that controls the size of the patch that gets filtered. This is necessary because the cosine window will remove the information on the edge of the patches so a larger patch could potentially capture more of the target while still getting rid of the background.
Parameter tuning
We used grid search to try and find the best possible set of parameters for our dataset. Because of computational reasons we used a limited set for possible values for each of the parameters. The results can be seen on Figure 6 and 3.
First commenting on the FPS rates. Figure 3 shows that predictably the main reason for a lower FPS is a larger patch size. As the increases the FPS drops. Although the drops are not very significant as even with the largest the FPS stays way beyond the required value for smooth tracking. Other parameter values
Observing Figure 6 we can conclude the set of parameters with the least fails. Looking at Figure 4 an optimal can be found. At all the different parameter settings the minimal number of fails is achieved with and . Note that if is set to it becomes adaptive and is dynamically set according to formula where and are the width and height of the image. We already used this approach in optical flow computation and it again turned out to be a good parameter value that adapts to the input allowing user not to worry about finding an optimal parameter.
Additionally a bigger patch size increases the performance of the tracker as a larger patch outperforms smaller patches at almost every parameter. That can clearly be seen in both Figure 4 and Figure 5.
| 1-4 Failures | |||
|---|---|---|---|
| 64 | adaptive | 0.2 | 1.05 |
| 64 | 2 | 0.3 | 1.1 |
After all the tests video sequences two sets of parameter combinations achieved 64 failures. The parameter values are listed in Table 1. We can observe that both combinations are very similar.
Final evaluation
We evaluated the the final set of parameters with the toolkit. For some reason the sets of best parameters in Table 1 performed worse with the toolkit tester so we took into account the uncertainty of the parameter scores and came up with a new set of parameters , , that performed the best and achieved results seen in 2.
| 1-3 Avg. overlap | Failures | FPS |
|---|---|---|
| 0.48 | 74 | 1259 |