(Exploiting the Circulant Structure of Tracking-by-detection with Kernels)Csk算法通过使用高斯核计算相邻两帧之间的相关性,取响应最大的点为预测的目标中心。该算法是固定目标大小的,对发生尺度变化的目标不鲁棒。
论文中涉及到很多公式的推导。对于一个线性的分类器,需要解决的问题就是:
其中的为损失函数,作者使用的是
。在简化计算二次规划中间的一步内积计算中,作者使用了核函数的方法。
。后面还有一系列的公式推导,最后得到重要的3个。
1.通过输入图片与目标区域,由公式得到核矩阵k。
2.通过k的值更新alphaf,由公式得到。
3.通过k和alphaf计算响应值,即目标的中心,公式。
接下来简单谈一下代码。其中choose_video.m,load_video_info.m为一些基础读取图片和groundtruth的操作。然后作者get_subwindow提取图片中的目标两倍大小的区域,同时cos_window点乘。我认为这就是作者的采样。接下来进行dense_gauss_kernel(dgk)操作,也就是论文中公式16的实现,计算k矩阵。最后通过
response = real(ifft2(alphaf .* fft2(k))); %(Eq. 9)
[row, col] = find(response == max(response(:)), 1);
pos = pos - floor(sz/2) + [row, col];
得到目标。代码比较简单就不赘述了。