您的位置:首页 > Web前端

Hierarchical convolutional Features for visual tracking

2016-03-08 14:34 387 查看

Hierarchical convolutional Features for visual tracking

算法概要

这篇文章所提出的算法在本质上还是cf那一套框架,作者着重改变的是目标的特征描述。在以往的cf中,大家用的都是常用的物体特征描述,比如HOG,但是这种特征毕竟是manual的,当目标本身的appearance发生较大的改变时,manual型的特征不能很好的适应。注意到在物体检测识别领域中,采用CNN提取的物体特征,具有很好的鲁棒性。因此将CNN引入到tracking领域中。

算法总体流程:

1、在第t帧目标中心位置(xt−1,yt−1)附近确定searching window,用CNN获取searching window的特征,用双线性插值算法对特征进行upsample。

2、对用到的CNN的3、4、5层,都构造一个cf,由后向前,将每一层的特征与对应的cf进行卷积,计算confidence scorefl,确定new center position(xt,yt)。

3、在新的中心位置周围提取CNN特征,用以跟新cf参数。

算法实现细节

一、用CNN提取convolutional features

作者采用已经用CNN训练好的卷积特征图(convolutional feature map),来对目标的appearance进行编码。其使用的CNN框架是目前效果很好的


随着CNN的前向传播,不同物体的semantic区别就会越明显,但同时会造成空间分辨率的降低和空间位置的模糊,如图:



这幅图指示了CNN层数与semantic和spatial detail的关系。可看出,在靠前的layer中,图像的空间信息有较好的保留,但是semantic却比较少,这有点类似于对图像进行Gabor滤波;在靠后的layer中,图像的语义信息较为丰富,但是空间信息却又缺失了很多。

在跟踪中,我们既希望特征能够有很好的semantic表达,又能保留准确的空间信息,因此作者想了个折衷的办法,即在用CNN提取目标特征时,不仅保留其最后一层输出结果,同时中间层的输出也保留下来,作者具体保留的是3、4、5三个layer。至于三种特征的使用,其实结合CF进去的,后面会再做介绍。

二、双线性插值进行upsample

在CNN中,由于pooling operation的存在,使得随着layer深度的增加,特征的spatial resolution(空间分辨率)会逐渐减小。比如,对于size为224x224的图像,在VGG-Net的第五层,其输出size只有7x7。这样的特征图太小,没法对目标进行精确的定位,因此需要对特征进行升采样,升采样的方式为:

xi=∑kαikhk

这里x代表升采样后的特征图,h代表升采样前的特征图,i代表位置(location),k代表k领域的特征向量。α是插值的权值。

三、构造correlation filte

对于每一层的输出特征,(其size为M×N×D,M,N代表图像特征的width和height,D代表特征的channel,注意这里的channel不是咱们普通意义上的图像通道,这指的是特征的通道数,特征的通道数可以有很多,未必是1或者3)作者均构造了CF,构造CF的目标函数为:

w∗=argminw∑m,n||w⋅xm,n−y(m,n)||2+λ||w||2

上式中,y(m,n)代表在(m,n)处像素的标签,标签并不是二类标签,而是符合二维高斯分布:

y(m,n)=exp(−(m−M/2)2+(n−N/2)22σ2)

将目标函数用FFT变换转换到频域,可以得到目标函数的最优解为:

Wd=Y⊙X¯¯¯d∑Di=1Xi⊙X¯¯¯i+λ

其中Y是y的傅里叶变换,⊙代表Hadamard Product。

当给定下一帧图像的searching region后,提取区域的特征(M×N×D),则相关性滤波的响应图为:

f=f−1(∑d=1DWd⊙Z¯¯¯d)

相关性滤波器的跟新策略:

Adt=(1−η)Adt−1+ηY⊙X¯¯¯dt

Bdt=(1−η)Bdt−1+η∑i=1DXit⊙X¯¯¯it

Wdt=AdtBdt+λ

四、coarse-to-fine translation estimation

上文说过CNN提取的特征,随着深度的增加,特征的语义信息增强,空间信息减少。所以作者采用CNN的3、4、5层的输出作为特征,并对每各层的输出均构造一个独立的CF:



由上图可知,首先求出第五层的最高响应位置:

(m^,n^)=argmaxm,nfl(m,n)

然后根据下列关系求出前一层的最高响应位置:

argmaxm,ns.t.fl−1(m,n)+γfl(m,n)|m−m^|+|n−n^|≤r

即后一层的response影响前一层的response,并且其影响的范围是在后一层最高响应点的附近。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CF 相关性滤波