结合帧差法的尺度自适应核相关滤波跟踪

2021-03-08 01:06:22刘志峰陈姚节
计算机技术与发展 2021年2期
关键词:差法尺度矩阵

刘志峰,陈姚节,2,3,程 杰

(1.武汉科技大学 计算机科学与技术学院,湖北 武汉 430065;2.智能信息处理与实时工业系统湖北省重点实验室,湖北 武汉 430065;3.冶金工业过程国家级虚拟仿真实验教学中心,湖北 武汉 430065)

0 引 言

现如今,在计算机视觉领域里,越来越多的人开始关注目标跟踪[1]这样一个热门问题。目标跟踪在人机交互、自动驾驶以及智能视频监控领域有着十分广泛的应用[2-4]。目标跟踪任务指的是在给定视频序列初始帧目标位置以及大小的条件下,对后续视频帧目标位置以及大小进行预测。然而,在实际跟踪场景中,目标跟踪算法往往存在诸如遮挡、尺度变化以及快速运动等问题,因此,采取何种方式来实现目标的鲁棒跟踪以及快速跟踪仍是一项极具挑战性的任务。

近年来,以相关滤波[5]为基础的一些方法因为鲁棒性强、速度快且精度高等特点,已成为了当前的研究热点。Bolme等人研究出MOSSE(minimum output sum of squared error filter)[6]跟踪算法,首次将相关滤波应用到目标跟踪领域并取得了很好效果。Henriques等人则针对MOSSE算法涉及的核函数进行了优化和改善,进而提出了以循环为基础(circulant structure kernel,CSK)[7]的跟踪算法,借助循环矩阵性质最终实现了密集采样,解决了训练样本不足的问题。在此之后,Henriques等人又提出(kernel correlation filter,KCF)[8]跟踪算法,在岭回归中引入核函数,将单通道灰度特征用HOG特征来替代,提高了跟踪的精度。Danelljan等人借助颜色属性特征来针对CSK算法进行拓展[9],此算法主要借助主成分分析的方法来针对11维颜色特征进行降维处理,最终达到2维层级,提升了跟踪的精度,即便是处于运动模糊或者目标变形等状态下依然能够得到良好的跟踪效果。针对目标跟踪过程中尺度变化的问题,文献[10]结合尺度金字塔与相关滤波,对不同尺度的图像块进行检测,解决了目标尺度变化的问题。

尽管上述跟踪算法对跟踪领域做出了巨大改进,但是它们大多针对某一个方面去完善,在跟踪鲁棒性以及跟踪成功率方面仍然存在较大的提升空间。该文在位置预测、尺度估计和模型更新三个方面改进KCF跟踪算法,具体的研究工作包括:在跟踪过程中的目标检测阶段,利用帧差法对图像进行处理,预测目标位置,扩充算法的检测区域,在目标处于快速运动状态时,能够准确跟踪目标;针对KCF跟踪算法无法适应目标尺度变化的问题,通过尺度池建立多尺度待检测图像块集,实现跟踪框自适应目标尺度变化;将APCE作为目标跟踪置信度指标,用来判断跟踪结果是否可靠,当结果不可靠时,不进行模型更新,有效减缓了模型退化。

1 核相关滤波跟踪

KCF跟踪算法通过循环矩阵对样本进行密集采样,然后使用脊回归来针对滤波器进行训练,对于循环矩阵而言,它能够在傅里叶空间里实现对角化,根据此特点将矩阵的运算转化为元素的点乘,故而能够在很大程度上降低计算量,从而达到快速跟踪的目的。

1.1 循环矩阵

对训练样本x循环移位,得到的正、负样本组成矩阵X:

(1)

经过傅里叶变换的任意循环矩阵均能够转变成为对角矩阵,X可以用如下公式来表示:

(2)

1.2 训练滤波器

KCF跟踪算法以脊回归方式训练滤波器,假设训练样本集为(xi,yi),那么存在相应的线性回归函数f(xi)=wTxi,其中w代表的是权重系数,通过最小二乘法能够将其求解,即:

(3)

其中,λ的主要作用是对系统结构复杂性进行控制,由式(3)求解得到权重系数:

w=(XHX+λI)-1XHY

(4)

a=(K+λI)-1Y

(5)

其中,I代表的是单位矩阵,K代表的是核矩阵,可以表示为:Kij=k(xi,xj)=〈φT(xi),φ(xj)〉,〈,〉代表的是点积运算,k为核函数。通过傅里叶变换可得:

(6)

1.3 目标检测及参数更新

将尺寸大于目标且包含上一帧目标的图像块作为搜索窗口,并且针对此搜索窗口进行循环移位,最终得到待检测图像块,利用滤波器求得待检测图像块的响应,可表示为f(z)=wTz,z指的是待检测图像块,借助核函数来针对其开展映射,得到方程:

(7)

其中,xi为训练样本,为简化计算过程提升效率,针对式(7),将其对角化得:

(8)

其中,·代表的是矩阵点乘,x属于先前帧学习过程中获得的目标模型。利用离散傅里叶变换对式(8)进行逆运算,最终获得待检测图像块z的响应矩阵,其中最大响应的图像位置即为目标的预测位置。

(9)

(10)

2 改进算法

2.1 结合帧差法的跟踪机制

KCF跟踪算法在检测目标时,待检测样本集由上一帧的跟踪结果作为基样本进行循环移位得到,构成的区域为检测区域。参照检测区域里目标所处的具体位置存在如下四种情况:

(1)假如目标处于中心点位置附近,那么检测准确率将很高。

(2)假如目标所处位置处于边界附近,但是并没有超过边界范围,那么增加余弦窗之后,部分目标像素会被过滤,那么便无法保证此时获得的响应为全局范围内的最大响应,则很可能检测失败。

(3)目标部分超过检测区域,仅存的目标像素将会被过滤,那么检测将会失效。

(4)如若目标当前已经完全处于检测区域范围外,检测失败。

当视频帧率较低,或者目标处于较快运动状态时,相邻两帧目标中心会相距很大,目标会偏离检测区域中心过远,检测将会失败,误差将不断积累进而使得算法跟踪失效。

帧差法是对视频序列中连续的两帧图像或三帧做差分运算,借助对比阈值的方式获取运动目标位置。定义ft-1(x,y)和ft(x,y)为连续的两帧图像,两帧差分规则如下:

(11)

其中,T代表的是事先设定的阈值,dt代表的是经过差分以后获得的二值图像,其中像素值为0的点属于背景点,像素值为255的点属于前景点,前景点组成的区域即为预测的目标所在位置。

帧差法能分析目标的运动信息,预测目标的位置[11]。但帧差法存在一定的误差,而且当目标不动时,检测不到目标,当背景也在改变时,就会检测出错误的目标。因此,该文将帧差法和KCF跟踪算法相结合,在跟踪算法的目标检测阶段,将帧差法预测的目标位置所在图像块也作为搜索窗口,并用滤波器求得该搜索窗口循环移位得到的待检测图像块的响应,这样就扩大了检测区域。当目标快速运动或者视频帧率低时,扩大了的检测区域也会很好地包含目标,跟踪器便能够十分准确地将目标检测出来。当帧差法误差较大时,帧差法预测的目标位置构成的检测区域的滤波器响应也会很低,因此不会增加KCF跟踪算法的误差。

2.2 尺度估计

KCF跟踪算法在跟踪过程中算法预测的目标框的大小是固定的,假如跟踪目标存在缩小情况时,那么滤波器将对大量背景信息进行学习,当跟踪目标变大时,目标局部信息将容易丢失,上述两种状况均可能导致非预期结果的出现,进而导致跟踪出现漂移或者失败。该文利用运用尺度池建立多尺度待检测图像块集来解决目标尺度变化问题。定义尺度池为S={s1,s2,…,sL},其中si(i=1,2,…,L)表示尺度因子,L为尺度变化数目,设模板尺寸为rT,候选目标图像尺寸为r,利用尺度池得到的多尺度待检测图像块集为:

Zk=Sr=sir(k,i=1,2,…,L)

(12)

其中,si>1表示放大候选目标图像,si<1表示缩小候选目标图像。然后求取各个尺度待检测图像块的响应值,在求响应值时将候选目标图像尺寸归一化为rT,借助式(13)计算出最大响应值对应的尺度,即可计算出目标最佳尺寸。

(13)

2.3 模型更新

在跟踪过程中,目标形状、角度和尺度可能会发生改变,KCF跟踪算法采用线性插值法更新模型参数来适应目标的变化。然而当某一帧跟踪效果不准确,甚至是被遮挡或出视野的情况时,如果此时继续更新模型,就会导致跟踪器学习到大量非目标特征信息,例如遮挡物和杂乱背景,这时误差会被逐渐累积,模型被逐渐污染,最终导致跟踪失败。

该文利用平均峰值相关能量(average peak-to correlation energy,APCE)作为跟踪置信度指标,APCE的定义为:

(14)

其中,Fmax、Fmin分别表示响应图中的最大值、最小值,Fw,h表示位置对应的响应值。APCE的值越大,表示此时的跟踪结果置信度越大。目标在被遮挡的情况下,Fmax值和APCE值会显著下降,但是当模型持续的错误更新直至被严重污染时,Fmax值和APCE值会逐渐提高,虽然APCE值很高,但由于模型已经错误,所以跟踪结果是不正确的。有且仅当Fmax值和APCE值均以一定比例ρ1、ρ2同时超过其历史均值时,才认为此时的跟踪结果是准确的,并对模型进行更新,反之,只要其中有一个低于历史均值,就不对模型进行更新。这样有效减缓了模型退化,除此之外模型更新的次数也得到了减少,在很大程度上提高了目标跟踪效率。

3 实验结果与分析

为了进一步验证所提跟踪算法的性能,在OTB100数据集[12]上与KCF、SAMF[13]、DSST[14]、CSK、Staple[15]、SRDCF[16]等算法进行了对比实验。OTB100数据集里包含的测试视频序列有100个,涉及了目标跟踪领域中各种常见的难点问题,例如快速运动、背景干扰、尺度变化、目标旋转、低分辨率、目标遮挡等。

3.1 实验环境配置和评价指标

实验硬件配置为Intel i5-6300HQ CPU,主频2.30 GHz,8 GB内存,Windows 10操作系统。编程平台为MATLAB R2018b。文中算法部分参数设置为:学习率η=0.015,尺度池S={0.94,0.97,1,1.03,1.06},搜索框padding=2,ρ1=0.5,ρ2=0.35。

3.2 定量分析

在进行定量分析时,主要运用OPE(one pass evaluation)评估方式来完成。OPE指根据第一帧中对目标的标注位置进行初始化,然后在该序列中运行算法直至结束的一种方式。利用距离精度和成功率来评价算法的性能。距离精度指中心位置误差小于某个阈值的帧数占视频总帧数的百分比,距离精度越高代表跟踪效果越好。中心位置误差指跟踪算法预测的目标中心坐标与实际目标中心的欧氏距离,即:

(15)

其中,(xi,yi)指跟踪算法预测的目标中心点位置,而实际中心位置是(xj,yj)。VCLE的值越低代表跟踪效果越好。成功率指跟踪算法预测的目标框与真实标注的目标框的交并比(IOU)大于某个阈值的帧数占视频总帧数的百分比。IOU的计算公式为:

(16)

其中,BT指算法预测的目标框,BG表示真实标注的目标框。一般将算法的成功率图的曲线下面积作为评分,曲线下面积越大代表跟踪效果越好。

图1为七种跟踪算法对应的距离精度曲线,OURS曲线为文中所提算法。图中标签栏内的数字代表中心位置误差小于20像素的帧数占视频总帧数的百分比,从图中可以看出文中算法排名第一,比基准算法KCF高出12.0个百分点。图2为七种跟踪算法对应的成功率曲线,图中标签栏内的数字代表该算法曲线下的面积,从图中可以看出文中算法排名也是第一,相比基准算法KCF高出了21.7个百分点。这说明文中算法具有较好的跟踪性能。

图1 距离精度曲线

图2 成功率曲线

3.3 定性分析

为了更直观地展示文中算法相对于KCF跟踪算法的改进效果,选取部分序列用文中算法和KCF跟踪算法进行了对比跟踪测试。图3为跟踪结果。

图3(a)为BlurOwl序列19帧到411帧的跟踪结果。在BlurOwl序列中,由于摄像头的剧烈抖动,目标在画面中快速运动,相邻帧的目标中心位置相距比较大,KCF跟踪算法的检测区域不能完整地包含目标,导致逐渐跟踪失败。而文中算法始终正确跟踪目标,说明了该算法能有效应对快速运动的场景。

图3(b)为carScale序列20帧到226帧的跟踪结果。在carScale序列中,小汽车由远及近开过来,画面中的小汽车越来越大,KCF跟踪算法目标框的大小是固定的,导致跟踪失败。而文中算法则较好地适应了目标的尺度变化。

图3 两种算法的跟踪结果

图3(c)为Human4序列35帧到370帧的跟踪结果。在Human4序列中,行人在335帧左右被交通灯遮挡,在被遮挡的过程中,KCF跟踪算法持续更新模型,跟踪器学习了大量交通灯的特征信息,模型被污染,导致跟踪失败。文中算法通过高置信度更新避免了模型被污染,实现了对目标的准确跟踪。

4 结束语

提出了一种结合帧差法的多尺度核相关滤波跟踪算法。在位置预测、尺度估计和模型更新三个方面改进了KCF跟踪算法:在跟踪过程中的目标检测阶段,利用帧差法处理图像,获得目标的预测位置,扩充算法的检测区域;通过尺度池建立多尺度待检测图像块集,实现跟踪框自适应目标尺度变化;利用APCE实现模型可靠性更新,有效减缓了模型退化。在OTB100数据库上与其他已有的若干视觉跟踪算法进行了对比实验,实验结果表明,该算法在目标快速运动、尺度变化、遮挡等复杂情况下,均具有较强的精确性和鲁棒性。但是该算法仅利用了HOG特征,无法很好地应对目标的颜色变化,有待进一步研究。

猜你喜欢
差法尺度矩阵
点差法的七个作用
高中数理化(2023年7期)2023-08-31 16:35:00
例谈“定比点差法”在解几问题中的应用
财产的五大尺度和五重应对
基于动态差法的交通量监测技术应用
宇宙的尺度
太空探索(2016年5期)2016-07-12 15:17:55
初等行变换与初等列变换并用求逆矩阵
“闹”中取静点差法
矩阵
南都周刊(2015年4期)2015-09-10 07:22:44
矩阵
南都周刊(2015年3期)2015-09-10 07:22:44
矩阵
南都周刊(2015年1期)2015-09-10 07:22:44