APP下载

融合深度特征和尺度自适应的目标跟踪算法

2022-04-21石浩德李红文谢金轩

无线电工程 2022年4期
关键词:滤波器尺度卷积

石浩德,侯 劲,2*,李红文,2,谢金轩,移 洁

(1.四川轻化工大学 自动化与信息工程学院,四川 宜宾 644002;2.四川轻化工大学 人工智能四川省重点实验室,四川 宜宾644002)

0 引言

目标跟踪作为计算机视觉领域重要的研究方向之一,在智慧交通监测、行人异常行为检测、虚拟现实、无人驾驶等领域都有着广泛的应用需求。目前,运动目标跟踪领域仍然面临着很大的挑战,如目标遮挡、尺度变化、外观形变以及相似物体干扰等复杂因素影响。

近年来,目标跟踪[1]领域取得了突破性进展,其主要理论方法是将通信领域的相关滤波引入到目标跟踪当中。2010年,Bolme等[2]首次将信号相关滤波引入了跟踪任务,提出了MOSSE目标跟踪算法。在MOSSE的基础上,Henriques等[3]提出了CSK目标跟踪算法且证明了可以用循环位移代替随机采样进而实现密集采样,并推导了不同核函数的封闭解;随后,又将多通道的HOG[4]特征融入CSK框架中,提出了核相关滤波器(Kernel Correlation Filter,KCF)算法和对偶相关滤波器(Dual Correlation Filter,DCF)算法[5]。为了克服KCF算法边界效应影响,SRDCF算法[6]提出加入空域正则化以惩罚的形式对边界信息进行筛选。BACF算法[7]提出将整幅图像的正负样本全部用于滤波器的训练,实现跟踪器密集采样过程。STRCF算法[8]通过在SRDCF的基础上加入时间正则项,将时间正则化引入到单个样本的SRDCF中,以此来防止模型腐败。后来,随着深度学习在目标跟踪任务中的应用,极大地改变了跟踪器的性能,传统手工提取特征方式逐渐被深度特征取代,DeepSRDCF算法[9]在SRDCF基础上将HOG特征替换为单层深度卷积特征,取得了较好的效果。MDnet算法[10]提出了基于卷积神经网络的多域学习模型,采用视频跟踪数据集训练得到特征提取网络。CF2算法[11]在KCF算法的基础上将HOG特征替换为VGGNet19[12]中提取出的深度特征,整体精度也得到了提升,但缺点是未进行尺度估计以及模型更新策略不够完善。

目前,深度学习在跟踪领域的应用主要分为端到端的目标跟踪模型和结合相关滤波的跟踪模型。前者鲁棒性和准确度都较高,但网络模型结构设计复杂,训练数据需求量大。因此,为了解决传统KCF算法存在的缺陷,本文采用相关滤波与深度学习结合的方式来构建跟踪模型框架,以KCF算法为基线提出了一种融合深度特征和尺度自适应的目标跟踪算法。

1 核相关滤波器跟踪算法

KCF算法是通过循环矩阵构建样本集,然后采用基于核函数的岭回归方法训练滤波器,通过训练好的滤波器对候选区域图像块进行相关性计算,最后计算相关性响应最大的位置即可得到目标的估计位置。为了简化训练模型的运算量,KCF算法将大量时域的卷积运算通过傅里叶变换转换到频域进行乘积运算,从而避免了矩阵的逆运算和卷积运算等复杂的计算过程,同时采用核函数将得到的低维特征映射到高维特征空间,从而提高了特征的表达能力。KCF算法执行过程可以分为3个流程:模型训练、目标检测、模型更新。

① 模型训练

设训练的目标函数为:

f(xi)=wTxi,

(1)

式中,xi为训练样本;w为训练样本xi的权重;wT为w的转置。

由此可构造目标损失函数为:

(2)

式中,yi为样本xi的期望输出;λ是为了防止过拟合的正则化惩罚项参数。通过最小二乘法求解式(2),从而找到最优的w,当导数为0时,求得w为:

w=(XTX+λI)-1XTy,

(3)

式中,X=[x1,x2,x3,…,xn],每一列代表一个样本的特征向量;y为列向量,每个元素代表一个样本标签;I为单位矩阵。

转换到频域后,w可以表示为:

(4)

引入核函数,将原始空间中不可分的非线性分类问题,通过特征的非线性映射到高维空间后,可以推出映射后的特征空间满足线性关系,由此可以通过岭回归求得最优解。因此可将式(1)表示为:

(5)

通过非线性函数映射,将原始损失函数中求解w的问题转换为求解a的问题,并利用循环矩阵的性质优化a,求得最终的a为:

(6)

② 目标检测

当分类器训练完成后,将新输入图像帧z作为输入并描述其对应的相关响应,通过进行离散傅里叶变换后得到:

(7)

最后由傅里叶反变换求得在时域中的峰值响应为:

(8)

③ 模型更新

当完成新的目标区域检测后,需要对当前位置进行重新采样并训练新的模板,更新模板系数,用来检测下一帧图像:

at=(1-κ)×at-1+κ×a,

(9)

xt=(1-κ)×xt-1+κ×x,

(10)

式中,κ为学习速率;at为当前帧需要更新的滤波器系数;at-1为上一帧更新后的滤波器系数;a为当前帧的滤波器系数;xt为当前帧需要更新的目标观测模型;xt-1为上一帧更新后的目标观测模型;x为当前帧的目标观测模型。

2 改进后的目标跟踪算法

2.1 深度特征提取

在传统目标跟踪算法中,主要以手工特征如HOG特征、CN特征、LBP[13]特征作为目标进行特征提取,在面对一些复杂的跟踪环境下准确性较低,遭遇严重的外观变化时容易导致跟踪器漂移的问题。本文替换传统手工特征而采用深度学习神经网络提取的深度特征,VGGNet19是一种功能十分强大的分类卷积神经网络,网络本身共有16层卷积层、3层全连接层、5层池化层以及3层Softmax层,其网络结构如图1所示。

图1 VGGNet19 网络模型结构

在VGGNet19深度卷积网络模型中,每个卷积层提取出的特征对目标的表达能力不同。一般底层卷积特征包含了目标特征的许多纹理和边缘信息,且空间分辨率高,在跟踪过程中可以准确定位目标的位置,但底层特征因缺少目标的语义信息,在跟踪目标发生非刚性形变或者平面旋转时,容易导致目标跟踪失败。而高层卷积特征一般包含了丰富的语义信息,在目标发生严重的外观变化或者平面旋转时有较强的适应能力,但由于从输入目标信息到最后的高层卷积特征输出,VGGNet19深度卷积网络共经历了16层卷积和5层池化,这些传输过程使得输出的高层特征分辨率很低,当目标在快速移动或者发生遮挡时容易造成跟踪模型的漂移,最终导致跟踪失败。因此,为了更好地适应实际跟踪环境下的复杂因素,本文通过将底层卷积特征和高层卷积特征进行特征融合实现特征的提取,通过借鉴文献[14]的特征提取方式并加以改进,最终选取Conv1_2,Conv3_4,Conv4_4,Conv5_4共4层卷积层的输出作为最终的特征提取层,将以上层卷积输出可视化如图2所示。可以直观地看出,底层特征纹理和边缘信息丰富,空间分辨率高,而高层特征包含更多的语义信息。

图2 VGGNet19 不同卷积层输出结果可视化

类似于KCF算法中的处理流程,为了避免最终得到的响应图边界的不连续性,本文在采样窗口进行特征提取前对每个Patch窗引入余弦窗来降低边界效应的影响,同时利用双线性插值方法将卷积网络输出层的特征图进行归一化操作,得到尺寸相同的特征图,当每层的特征提取出来后,让每一层学习一个相关滤波器。通过每层相关滤波器输出的最大响应可以得到每层的目标估计位置,同时对每层的响应值进行不同权重的加权融合,得到最终的目标估计位置,最后在目标估计位置上建立尺度金字塔进行尺度估计,并进行遮挡检测以及模型更新处理。本文最终设计的跟踪算法框架如图3所示。

图3 本文设计的跟踪算法框架

2.2 尺度变换

在目标跟踪过程中,由于目标运动引起的目标尺度变化是不可避免的,因此尺度变换是目标跟踪中必需解决的问题。在目标跟踪过程中,若不能及时更新跟踪目标的尺度大小,将会产生以下影响:第一,当跟踪的目标尺度变大时,若外观模型中进行特征采样的目标框比例不能及时随着跟踪目标变大,将会导致跟踪模型在当前帧只能提取跟踪目标的部分特征;第二,当目标尺度变小时,若外观模型中进行特征采样的目标框比例不能及时随着跟踪目标变小,会导致跟踪模型在当前帧将跟踪目标外的很多背景信息当作目标特征,引入了背景噪声。显然以上2种情况都会导致目标跟踪的精确度降低。为了解决上述因尺度变化引起的目标跟踪失败问题,本文改进的算法通过融合Discriminative Scale Space Tracking(DSST)目标跟踪算法[15]中的尺度滤波器来实现目标尺度的估计。

在目标跟踪尺度自适应过程中,通过在目标估计位置进行不同比例的尺度缩放,得到不同的尺度样本,然后将得到的不同尺度样本送入尺度滤波器并从中找出响应最大的尺度因子,并将此尺度因子作为最终的输出尺度,其中尺度金字塔的构建如图4所示。

图4 尺度金字塔的构建

假设滤波器大小为W×H×S,其中W和H分别代表滤波器的宽和高,S代表尺度。在位置滤波器得到目标估计位置后,通过S个不同尺度对目标进行尺度缩放,组成一个W×H×S的尺度金字塔。设x为从上一帧中心区域提取的尺度金字塔样本,h为跟踪模型每次迭代更新后的尺度滤波器,g为输入样本经过尺度滤波器后的输出响应。对于跟踪序列中新一帧的跟踪目标,将x与h进行卷积后,得到的最大响应值g的尺度因子就是新一帧的目标尺度,其参考模型如图5所示[16]。

图5 尺度相关滤波器模型

设训练样本为x1,x2,…,xk,每个样本对应的输出为g1,g2,…,gk,每个样本对应的滤波器为hj,理想输出记为gj,根据滤波器的输出与期望响应值构造目标损失函数为:

(11)

式中,*表示卷积;λ是为了防止过拟合的正则化惩罚项参数。

根据帕萨瓦尔定理,将式(11)转到频域中得到:

(12)

求解上式得到尺度滤波器为:

(13)

为了简化运算,将上式中的分子与分母分别记为Aj和Bj,然后利用下式对Aj和Bj分别进行更新:

(14)

(15)

式中,κ为学习率;Aj-1为上一帧滤波器的分子。

对于第t帧输入样本z,得到最大尺度响应yt为:

(16)

式中,Z表示输入样本z离散傅里叶变换。

2.3 遮挡检测和模型更新

在目标跟踪过程中,当目标被正常跟踪时,相关滤波器得到的响应值较大;而发生遮挡时,得到的响应值会变小。同时,如果背景中存在与跟踪目标相似的干扰物时,也可能产生伪峰值。在原始的KCF算法中,跟踪算法会对每一帧都进行模型更新,导致目标跟踪出现跟踪误差后,核相关滤波器持续地累积误差,而一旦目标出现遮挡或者跟丢时,如果不停止模型更新,采样窗口将会把背景信息当作目标外观模型进行采样,很容易导致跟踪模型发生漂移。通过上述研究分析结果,当判断目标是否被遮挡或者要进行模型更新时不能仅仅根据峰值响应的大小来判断,为此本文引入了最大响应历史均值和平均峰值相关能量(Average Peak to Correlation Energy,APEC)来检测目标受遮挡程度以及模型更新的条件[17]。

首先是最大响应的历史均值,假设当前帧目标响应峰值的最大值为Pimax(i=1,2,3,…,n),当检测到第n帧时前所有帧的最大响应历史均值为:

(17)

其次是APEC,假设当前帧的位置目标响应峰值的最小值为Pmin,目标响应峰值的最大值为Pmax,Pi,j为采样窗口每一个点的响应值,S是当前采样窗口的面积,因此得到的当前跟踪模型的APEC为:

(18)

根据实验分析可知,当检测的目标响应峰值很尖锐且噪声特别少时,APEC非常大,同时检测到的峰值响应也会特别大;当目标被遮挡或者产生较大形变时,APEC会急剧下降,同时峰值响应也会降低。如果单从APEC一个值来判断目标是否被遮挡或是否进行模型更新容易产生错误判断,特别是当出现背景干扰时,为了避免这种情况的出现,本文通过设定2个阈值θ1和θ2,并执行判断以下条件:

Pimax>(θ1×Pmean),

(19)

PiAPEC>(θ2×mean(APEC)),

(20)

式中,mean表示求均值。

① 当式(19)成立且式(20)成立时继续目标跟踪,并且进行模型更新;

② 当式(19)不成立或式(20)不成立时停止目标跟踪,不进行模型更新。扩大采样窗口的搜索范围,直到再次检测到式(19)成立或式(20)成立时停止搜索,然后在重新检测到的目标估计位置进行尺度更新,最后再次初始化采样窗口的大小。

最终,通过多次实验验证和分析,当阈值θ1=0.7,θ2=0.45时目标跟踪效果最优。

3 实验结果与分析

3.1 实验环境及参数设置

本文实验结果是在Matlab-R2019a仿真平台运行,操作系统为Windows10 64位,处理器为Intel(R)Core(TM)i5-10400F CPU @ 2.90 GHz,运行内存为16 GB,其中深度特征采用MatConvNet[18]工具箱并由已经训练好的VGGNet19深度学习网络进行提取,改进算法中的学习率与正则化等参数设置与原始KCF算法、DSST算法保持一致。

实验采用OTB100[19]中的100个标准数据集进行测试,为了验证本文改进后算法的有效性,与其他7种经典的目标跟踪算法(CF2,BACF,SRDCF,LMCF[17],KCF,DSST,CSK)进行对比。

3.2 定量分析

本实验进行分析时,采用One Pass Evaluation(OPE)评估方式来完成。在OTB100测评标准中,OPE是指根据视频序列的第一帧对要跟踪的目标对象进行初始化操作,标定初始位置,然后运行跟踪算法直至视频序列结束,最终得到该视频序列所有帧的估计位置,并利用距离准确度和重叠成功率作为评价标准。

距离准确度是跟踪算法估计的目标位置的中心点与人工标注的中心点之间的欧式距离小于给定的阈值视频帧占所有视频帧的百分比,其欧式距离计算方式如下:

(21)

式中,E为中心误差;(xd,yd)为跟踪算法得到的目标中心位置;(x0,y0)为数据集中人工标注的真实目标坐标位置。在实验中,设置不同的参考阈值所得到的距离准确度也就不一样,通常设置参考阈值为20个像素点。

成功率是指跟踪算法预测的目标框与人工真实标注的目标框的交集与并集的比值,通常也称该比值为重叠率(OR),当该比值大于一定阈值时,则代表该帧跟踪成功,否则表示跟踪失败。实验中,通常设置阈值为0.5。最后,通过计算该视频序列中跟踪成功的帧数与视频序列的总帧数得到此次跟踪的成功率,其中OR的计算如下:

(22)

式中,Sr为跟踪算法跟踪得到的目标框;Sp为人工标注的正确目标框。

表1和图6是8种算法在OTB100数据集的测试结果。从测试结果可以看出,在OTB100数据集中无论是在距离精确度还是在重叠成功率上本文算法都比其他7种算法表现更优,这也证明本文算法改进的有效性。

表1 本文算法与其他7种算法在OTB100数据集上的距离精度和重叠成功率

(a)距离精度

表2和图7是8种算法在OTB100数据集上遮挡(OCC)属性的测试结果。由表2和图7可以看出,本文算法在数据集遮挡属性的视频序列中也取得了较好的效果,在对比的8种算法成功率和精确度中属于优胜地位。

表2 本文算法与其他7种算法在OTB100数据集上遮挡(OCC)属性的距离精度和重叠成功率

(a)距离精度

能取得以上效果的主要原因是:首先,本文将KCF中的HOG特征替换为表达能力更强的深度特征,同时将VGGNet19深度网络提取出的深度特征进行分层加权融合,充分利用了不同层间的优良特性,最终建立了比较好的外观模型。其次,本文在原始KCF的基础上考虑了目标尺度变化,将DSST算法中尺度检测滤波器融入到本文算法中,因此在跟踪过程中遇到尺度变化时仍能够很好地跟踪目标。最后,当目标跟踪中出现遮挡因素时,本文融入了抗遮挡检测机制,当跟踪模型检测到目标被遮挡时,通过自动调整抗遮挡搜索机制,有效降低了出现遮挡时目标跟丢的风险。同时,本文算法较CF2算法也有提高,这说明通过融合多层深度特征和抗遮挡检测策略,可以更好地提高目标跟踪的精确度和成功率。

3.3 定性分析

为了更好地直观展示本文算法相对于其他几种算法跟踪性能的优势,本文选取了OTB100数据集中所测视频序列中的部分视频序列进行定性对比跟踪实验,通过用不同颜色的矩形跟踪框在视频序列帧中对跟踪目标进行标注显示,以此来分析和展示本文算法与其他几种对比算法的跟踪效果。

如图8所示从上到下的视频序列依次是Soccer,Sylvester,Trellis,CarScale,从抽样结果来看,在Soccer视频序列中本文算法和CF2算法均能够正确跟踪到目标位置,但本文算法跟踪的位置更准确,这是因为CF2算法仅仅采用高层特征进行特征提取,缺少底层的特征信息,当遇到快速形变和背景混乱的复杂场景时容易导致目标跟踪失败。同时可以看出BACF算法最终也跟踪失败,这是由于BACF算法虽然解决了KCF算法中的边界效应问题,但是遇到背景混乱的场景时由于不能够正确地分辨出正负样本,误把背景信息当成是正样本进行跟踪。其次,KCF算法虽然能够大概地跟踪到目标的位置,但是由于缺少尺度变换,导致跟踪过程始终为固定的跟踪框。

图8 Soccer,Sylvester,Trellis,CarScale视频序列抽样跟踪结果展示

Sylvester属于平面内旋转序列,同时也是长时间跟踪的视频列,本文算法在整个Sylvester视频序列中都表现较好,而LMCF算法最终跟踪失败,这是由于LMCF算法虽然采用了多峰前向检测,能够解决相似物体干扰的问题,但由于在模型更新策略上只是简单地采用APEC更新策略,导致跟踪模型在目标跟丢后仍然更新模型,最终跟踪失败。

Trellis属于光照变化序列,本文算法和CF2算法采用深度特征明显比采用传统特征的跟踪器更具鲁棒性,在遭遇严重的外观变化时仍能抑制跟踪器漂移的现象,达到较好的跟踪效果。

CarScale属于尺度变化序列,可以看出DSST算法、BACF算法和SRDCF算法以及本文算法均可以适应序列的尺度变化,而且本文算法更为接近目标中心,这说明本文算法跟踪的目标位置更为准确。

视频序列抽样跟踪结果展示如图9所示,从上到下的视频序列依次是Girl2,Jogging-1,Human3,Box。

图9 Girl2,Jogging-1,Human3,Box视频序列抽样跟踪结果展示

为了更好地体现本文算法抗遮挡的特性,图9所示的视频序列全都采用含有遮挡属性的视频序列,从Girl2视频序列和Box视频序列可以看出,到最后一帧时只有本文算法和LMCF算法能够准确地跟踪到目标位置,而其他算法都跟踪失败。在Human3视频序列中,在第63帧出现遮挡后,虽然在LMCF算法中采用了多峰值检测,但由于LMCF算法出现遮挡后未采用抗遮挡搜索机制,导致目标出现遮挡后未重新找回丢失的目标,最终跟踪失败。而本文算法在出现遮挡后,及时采用目标重新找回的策略,再次定位到目标位置,最后仍能准确地跟踪到目标的位置。

3.4 消融实验

为了验证本文算法在特征融合上的有效性,对算法的深度特征提取层进行消融实验对比,本文算法在基准数据集OTB100上进行对比实验。表3 和图10展示了不同层特征进行融合后,对算法性能的影响。

表3 不同层特征组合在OTB100数据集上的实验对比

(a)距离精度

从上面的结果可以看出,无论是在距离精确度还是在重叠成功率上,本文算法所采用的特征融合Conv(1,3,4,5)在OTB100上的表现都是最优的;同时也可以看出,融合底层特征和高层特征的组合Conv(1,4,5)和Conv(1,3,5)都比只有高层特征的Conv(3,4,5)算法要好,这是因为底层特征的纹理和边缘信息都比较丰富,适合目标精确定位。其次,未叠加高层特征的Conv(1,3,4)明显低于其他融合了高层特征的组合,这是因为高层特征包含很多语义信息,缺少高层特征的跟踪器在快速移动或者发生遮挡时容易造成模型漂移。

4 结束语

本文提出了一种融合深度特征和尺度自适应的抗遮挡目标跟踪算法,通过深度特征分层融合、尺度自适应以及抗遮挡检测和模型更新3个方面的改进,有效地提高了目标跟踪算法在复杂环境下的成功率和准确度。实验通过在OTB100标准数据集上的视频序列与几种经典的算法进行对比实验,其结果也验证了本文改进后算法的有效性。但本文算法通过实验分析也发现存在一些不足,由于采用了多层深度特征融合导致本文算法实时性显著降低;其次,在尺度自适应方面,当目标帧间产生严重的形变和外观变化时,本文算法中的尺度金字塔不能准确适应目标尺度变化;最后,在跟踪失败后重新找回策略上,本文算法虽能够找回目标,但算法复杂度较高。

目前,通过全卷积孪生网络构建的目标跟踪算法因其跟踪速度快和跟踪精度高,在OTB100数据集上取得了较好的表现,通过孪生网络构建的目标跟踪器灵活度高,可以与不同的骨干网络进行组合,也可以与不同的搜索策略和学习方式进行互补,通过在大量数据集上进行训练从而得到较优的实验结果。但孪生网络的缺陷在于没有在线更新策略以及采用AlexNet网络使得目标特征不够具体,而本文算法设计的网络能够很好地提取目标特征以及拥有在线更新策略。因此,下一步工作是结合孪生网络和相关滤波的方法对本文算法进行改进和提高。

猜你喜欢

滤波器尺度卷积
基于全卷积神经网络的猪背膘厚快速准确测定
浅谈有源滤波器分析及仿真
基于多模谐振器的超宽带滤波器设计
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
论社会进步的评价尺度
一款用于无线通信系统的小型滤波器天线
宇宙的尺度
9