Target Tracking
Abstract
The Circulant Matrix (CM) tracker is very efficient finding a translated copy of the target template.
However, the code provided by the authors of the CM tracker does not check for occlusion.
In this project we improve the tracker by implementing the occlusion detection. When occlusion is detected, the improved tracker will use the previous measurements of the target to predict where the target is now. In this way, rather than giving up, the tracker can attempt to find the target at this predicted location.
Algorithm Design
- The Circulant Matrix (CM) tracker is very efficient finding a translated copy of the target template (from the previous frame) by computing many convolutions in a single shot. This is accomplished by finding the peak response of a filter applied to a region of the current frame that is expected to include the target. This filter changes from frame to frame and it is computed based on the FFT of a larger region which contains the target in the current frame. (Efficiency is obtained by applying this filter in the frequency domain).
- Occlusion Detection:
we include a test that measures the response of the filter against the rest of the search window through the use of the Peak to Sidelobe Ratio (PSR). We split the response of the filter into the maximum value and the "sidelobe" consisting of the rest of the pixels in the region, excluding a small window (i.e. 11x11) around the peak. Then the PSR is defined as: gmax-μ⁄σ, where gmax is the value of the peak, and and are the mean value and the standard deviation of the sidelobe, respectively. A low PSR indicates a poor match and a possible occlusion. - Recover from occlusion:
When occlusion is detected, the tracker could use the locations of the target in the past to predict where the target is now (even if it is behind some occluding object) and predict where it should be in the next frame. In this way, rather than giving up, the tracker can attempt to find the target in the next frame at this predicted location. The prediction of the location of the target based on previous measurements can be done by using the Hankel matrix of the target locations.
Analysis
The Hankel matrix can be used to predict future measurements without assuming dynamics. The rank of the Hankel matrix measures the complexity of the underlying dynamics and it will not increase after enough measurements. Therefore, by minimizing the rank with respect to the noise, the prediction can be obtained by a linear combination of the previous measurements. The result shows my improved CM tracker really does a good job.
Reference
J. F. Henriques, R. Caseiro, P. Martins, J. Batista: Exploiting the Circulant Structure of Tracking-by-detection with Kernels. In: ECCV, 2012