MKCF:新的尺度估计方法

简介


说新其实也不新,这篇论文Multi-kernel Correlation Filter for Visual Tracking来自15年的ICCV,从论文题目来看,作者想强调的工作是多核相关滤波器,不过这篇论文吸引我的地方不在于多核相关滤波器,而在于他的尺度估计方法。现在看来,未能解决边界效应的KCF准确度是比较差的,MKCF其实也没能解决边界效应,所以准确度其实也不算很高。

该文提出了基于0.618方法(也叫黄金分割方法、二分法)的尺度估计方法。

与DSST对比


目前相关滤波方向的尺度估计方法多是使用DSST方法,DSST是取由N组不同尺度的patch组成的金字塔模型,与滤波器相关后求response map的能量,选取能量高的尺度因子作为当前尺度因子。

MKCF使用的是更加连续的二分法确定尺度因子,MKCF在[0.9,1.1]的范围中使用二分法确定尺度因子的值。以此降低计算量,获得更好的效果;二分法的复杂度为O(log(N)),而DSST的穷举式的复杂度为O(N)。以下是与DSST的对比:

NxTId.png

优化尺度因子


MKCF使用的目标函数如下:
\rho (s) \equiv PSR(y(R(D(\iota(I),s),s_{\overline x})))

D(\iota(I),s)代表以I中最高点\iota为中心尺度为s采样的patch,R(D,s)代表对D进行重新采样。而y(z)代表响应图。

注意到MKCF采用了PSR(peak to sidelobe ratio)主峰旁瓣比套在response map的外层,而不是直接使用response map的能量作为目标函数,原因是增加了PSR后,目标函数能够更凸,能够更好得进行优化。在 论文中,经过作者的实验,若直接采用response map作为目标函数会使得跟踪效果下降至少1%。

对于优化s:
s^* = \arg \max_s \rho(s)
直接采用二分法即可。

更快的重新采用


二分法可以在连续的区间类找到合适的尺度因子,固然很好,但每次二分后,都需要重新采样,这样会降低跟踪帧率。

于是考虑使用新的重新采用策略。根据 Dollár’s power law(来自 Fast feature pyramids for object detection):
R(D,s_1) \approx R(D,s_2) (\frac{s_1}{s_2})^{-\lambda_m}
\lambda_m是由不同特征决定的,在Fast feature pyramids for object detection论文中,作者测试出了各种特征的\lambda值:

NxVlH.png

注意到,在更新模型的时候不能忘了做尺度重采样。
x_{new} = (1 – \eta )R(D,s_{max})(\frac{s_1}{s_{max}})^{-\lambda_m}+\eta D(\iota(I),s)

IMPLEMENTATION


根据Dollár’s power law,我对原始图先进行了特征提取,然后再进行重采样。如下图所示:

Yqdeg.png

重采样过程如下:先按尺度因子对特征进行裁剪,裁剪完后再上采样到50\times50的尺寸,代码如下:

Xmin = round(50 * (1 - scale) / 2);
xt_crop(:,:,:) = xt_hc_raw(Xmin+1:50-Xmin,Xmin+1:50-Xmin,:); 
xt_hc = imresize(xt_crop,[50,50], 'bilinear') * scale^(-0.078);

得到了新尺度下的特征后,便可以计算response_map了,接着再对其做PSR。之后我采用了三分法求最大的PSR值,可是最后的效果却不理想。

为了找出错误,我在dragonbaby序列下测试,绘制出了0.95~1.05尺度下的各个PSR值,所得到的PSR-尺度图与MKCF论文中的PSR-尺度图对比,第一,没有那么连续,第二,我得到的图是单调的,而MKCF中的是凸的。之后我才用了其它方法选择最佳尺度,比如APCE、能量谱。得到的图都是单调的。

下图为MKCF中的图

Yq2G3.md.png

下图为我得到的图

YqsAK.png

在上图中,正确的尺度应该是0.99左右,所以在0.99处得到的值应该是最大的,但实际上并不是如此。于是我怀疑是不是Dollár’s power law运用的不对。

我更换了下面的插值方式,’nearest’, ‘bicubic’都试过,结果均不行。

xt_hc = imresize(xt_crop,[50,50], 'bilinear') * scale^(-0.078);

我重新看了 Fast feature pyramids for object detection以及这篇论文之前的工作The fastest pedestrian detector in the west。这两篇论文都是关于目标检测领域的,论文确实提出了一种快速的计算多尺度金字塔的方式,但是该多尺度金字塔不同于目标跟踪下的多尺度金字塔,Fast feature pyramids for object detection中提出的是不同采样率(或者说分辨率)下的金字塔,而目标跟踪下的金字塔应该是不同尺寸组成的金字塔。两者不是同一个概念,很怀疑Multi-kernel Correlation Filter for Visual Tracking中的尺度估计是怎么做的。

于是我去搜了下Multi-kernel Correlation Filter for Visual Tracking的代码,只发现了该作者在2018提出的MKCFup,其中的尺度估计部分已经换成DSST了。所以,关于MKCF中提到的关于二分法确定最佳尺度因子的方法只好作罢。