针对快速运动和运动模糊的核化相关滤波算法
文献发布时间:2023-06-19 11:19:16
技术领域
本发明属于图形图像处理的技术领域,尤其涉及一种针对快速运动和运动模糊的核化相关滤波算法。
背景技术
视觉目标跟踪是计算机视觉的一个重要分支,在视频智能交通监控、机器人、监控、人机交互等领域得到了广泛的应用。根据目标外观模型将目标跟踪算法分为生成式算法与判别式跟踪算法。近年来,随着机器学习的兴起,判别式跟踪方法由于能同时利用目标信息和目标周围背景信息并具有良好的跟踪新能而逐渐占据了主导地位。
判别式跟踪方法通过训练数据学习到一个分类模型来区分前景和背景。以目标所在区域为正样本,背景区域为负样本,进行分类器的训练,分类器预测的最高分数所在位置就是目标所在的位置,这种方法也称为检测跟踪方法,其中代表性的算法有基于分类跟踪的深度学习方法和基于支持向量机的跟踪算法等。核相关滤波目标跟踪就是基于支持向量机跟踪算法的一种。
信号的相关性是信号学用来描述两个信号的相似程度,一般情况下,相关性计算可以通过卷积来实现。相关性计算方式与卷积很相似,但也有区别。计算图像某一区域与滤波器的相关性,就是计算将滤波器顺时针旋转180度后与该区域的卷积。
Bolme等人在2010年首次将相关滤波应用于目标跟踪领域,利用快速傅里叶变换和卷积定理在频域中最小化期望响应和滤波器与目标区域的循环相关之间的均方误差和,得到最小平方和误差滤波器(MOSSE)。MOSSE作为相关滤波跟踪算法的开山鼻祖,将目标跟踪跟与以往经典的目标跟踪算法划分开来,其跟踪速度高达每秒600多帧,虽然跟踪精度不太理想,但与传统的跟踪算法相比大大提高了跟踪算法的实时性。
在MOOSE算法的基础上,出现了许多改进的相关滤波算法。Henriques等人将循环矩阵及核技巧引入MOOSE算法,利用灰度特征构建循环结构检测跟踪算法(CSK),提高了MOOSE算法的跟踪精度。此外,Danelljan等人利用颜色属性表示输入数据,自适应选择鲁棒颜色特征进行跟踪(CN);Henriques等人提出了核化相关滤波器(KCF)算法,扩充了CSK,在其中引入不同的核方法以及方向梯度直方图(HOG)特征,提高了相关滤波视频目标跟踪算法的精度。Chen等将模糊逻辑系统(TSK-FLS)引入经典KCF算法提出了MFKCF(Multi fuzzykernel correlation filter),该算法针对目标快速运动的跟踪精度有明显提升。
以上方法在目标快速移动和运动模糊时,会丢失目标或者影响跟踪精度。
发明内容
基于以上现有技术的不足,本发明所解决的技术问题在于提供一种针对快速运动和运动模糊的核化相关滤波算法。
为了解决上述技术问题,本发明通过以下技术方案来实现:
本发明提供的针对快速运动和运动模糊的核化相关滤波算法,包括以下步骤:
步骤1:在KCF的框架中建立一个检测器,检测器检测到两帧之间跟踪失败,停止更新滤波器模板,抛掉当前预测位置,扩大目标寻找范围;
步骤2:以上一帧目标框为中心扩大当前帧目标寻找范围内用相关滤波器模板以滑动窗口的方式快速检测N个目标候选中心点,对N个点进行K-means聚类,聚成M类;
步骤3:以M类的簇心为中心进行相关滤波定位再次进行快速检测,得到M个当前帧跟踪结果候选点,最后通过计分法选出最佳跟踪结果;
可选的,KCF跟踪算法的基础上利用滑窗聚类(Sliding window Clustering)在图像上进行位置分区,提高目标真实位置的查全率,再通过多特征计分(Multi-featureScoring)确定最佳目标位置。
本发明提出了针对快速运动和运动模糊的核化相关滤波算法,适用于运动状态下的目标跟踪问题。本发明具有以下有益效果:
1、能够对快速运动和运动模糊的目标进行跟踪。
2、距离精度、重叠精度、中心位置误差优于传统算法。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下结合优选实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍。
图1为本发明的针对快速运动和运动模糊的核化相关滤波算法的流程图。
图2为本发明的跟踪目标分层图。
图3为本发明的滑窗示意图。
图4为五种算法在BlurBody、Couple和Jumping案例上的跟踪效果图,其中(a)为BlurBody案例,(b)为Couple案例,(c)为Jumping案例。
具体实施方式
下面结合附图详细说明本发明的具体实施方式,其作为本说明书的一部分,通过实施例来说明本发明的原理,本发明的其他方面、特征及其优点通过该详细说明将会变得一目了然。在所参照的附图中,不同的图中相同或相似的部件使用相同的附图标号来表示。
KCF跟踪算法:KCF(Kernelized Correlation Filter)目标跟踪算法是一种判别式跟踪算法。算法在第一帧目标所在区域训练一个目标检测器(相关滤波器模板),用于预测下一帧目标所在位置,再由新的预测结果更新目标检测器。在训练滤波器模板时选取目标区域为正样本,对目标区域进行循环移位获得负样本,构造出循环矩阵,利用傅里叶变换与循环矩阵相关性质,大大缩短了训练滤波器所需的时间。
(1)岭回归
KCF在这里使用岭回归训练分类器,因为它包含一个简单的闭式解,并且可以实现与支持向量机(Support Vector Machine)等更复杂的方法相近的性能。
训练分类器的目的是为了找到一个形如f(X)=w
其中w表示系数向量,x
其中X表示样本集合,Y表示样本类别向量。对w进行求导并令其为零,得w闭式解
w=(X
其中I是X
w=(X
其中X
(2)循环移位
KCF算法对目标框提取特征转化为特征向量,再对特征向量进行循环移位构造循环矩阵获得训练集。KCF中所有的训练样本都是通过对目标样本的特征向量进行循环移位获得,列向量的循环可由左乘初等矩阵得到。例如,要将x=[x
这样就使得x在垂直方向上偏移了一个元素,最终的循环矩阵为
X=[x,Px,P
所有的循环矩阵通过离散傅里叶变换形成了对角阵,且与基样本x无关,故X可以表示为
其中,F为不依赖于x的常矩阵,
其中,
(3)核技巧及快速检测
KCF算法将核技巧引入目标检测器的训练,避免了因样本当前维线性不可分无法训练出好的目标检测器的问题,提高了算法的鲁棒性。它利用核方法将线性问题的输入x映射到非线性特征空间Φ(x),其过程分为如下两步:
1)将解w表示为样本的线性组合:
其中,α
2)以点积的形式写入核方法:
该方法用核函数k来计算,所有样本对之间的点积保存于一个n×n的核矩阵K中,元素值为
K
为快速检测到感兴趣的目标,KCF在若干图像位置上评估f(z),这些图像块可用循环移位来建模。再用K
K
其中,C(·)表示对·的循环移位函数,k
f(z)=(K
本发明在KCF跟踪算法的基础上利用滑窗聚类(Sliding window Clustering)在图像上进行位置分区,提高目标真实位置的查全率,再通过多特征计分(Multi-featureScoring)确定最佳目标位置,故算法命名为区域多特征计分(Regional Multi-featureScoring)核相关滤波算法,简记为RMS。
RMS程序流程如图1所示,虚线部分为在KCF基础上提出的本发明算法工作流程。RMS算法描述:在KCF的框架中建立一个检测器,检测器检测到两帧之间跟踪失败,停止更新滤波器模板,抛掉当前预测位置,扩大目标寻找范围,范围内用相关滤波器模板以滑动窗口的方式快速检测N个目标候选中心点,对N个点进行K-means聚类,聚成M类,以M类的簇心为中心再次进行快速检测,得到M个当前帧跟踪结果候选点,最后通过计分法选出最佳跟踪结果。(为了方便后续说明,暂取M=4。)
目标分层图如图2所示,对目标框内的每一种灰度值做直方图统计。为了减小边缘背景灰度对统计的影响,以及目标应该位于跟踪框中心位置,故采取中心加权的方式统计。本发明算法中把目标框分为三层,中心层权重值为1,中间层权重值为0.5,边缘层权重值为0.1,权重的设计应遵循目标框中心到边缘统计权重逐渐减小的基本原则,权重梯度应该适当大,要有区分度。
检测器用来检测相邻两帧之间跟踪是否成功,其原理是通过计算上一帧与当前帧跟踪框的相同灰度值统计量的方差和,在能够检测当前帧跟踪是否成功的同时保持了KCF算法的实时性和鲁棒性。为了保持监测器的稳定性,使其能够应对复杂多变的环境,只对两帧跟踪框内部分灰度值求其统计量的方差和。本发明的算法提取了上一帧跟踪框非零统计量中大小位于前百分之四十的灰度值,在当前帧只统计这些提取出来的灰度值,将前一帧与后一帧相同灰度值的统计量求方差,最后将所有灰度值统计量的方差加起来得到跟踪误差GE(Gray Error)。GE的计算方法为
其中,m表示上一帧的灰度统计向量,n表示当前帧的灰度统计向量,Z(·)表示将向量·中的负数置零,
跟踪误差GE若是超过阈值T
若检测器检测到当前帧跟踪失败,扩大目标寻找范围,在范围内使用滑窗法检测目标所在的位置。
滑窗法如图3所示,用滤波器模板在目标搜索框中以固定的间隔(pading)进行滑动检测,检测出数个目标位置。实验中,pading的设置为3(相邻像素点之间的距离为1),滤波器横向可以滑动21次,纵向可以滑动21次,共计441个响应坐标。对这441个响应坐标使用K-means聚类,将其聚成四类。聚类的目的有三个:一是缩小目标找寻范围,将搜索框划分为四块区域,对区域进行快速检测,得出四个目标候选中心,将441个点缩小至4个点。二是为特征的并行融合提供前置条件,三是根据这些数据点集的分布可以更加精确的找到目标位置。
前面的工作筛选出了四个候选跟踪结果,现在需要对这四个目标位置进行打分,选取分数最高的目标跟踪结果为最终跟踪结果。算法最为关键的部分就是计分器,计分器的好坏直接影响着算法的跟踪性能。计分器考量了HOG特征的区域平均峰值响应、区域CN响应和区域灰度误差(GE),这种计分式的考量方法可以视为特征的并行融合,特征模板之间不相互关联,并行工作,这样保证特征的独立性,不会出现把特征串行融和在一起时在其独有的优势领域性能均降低的情况。另外计分器有很强的可扩展性,横向可以增加计分向量S的个数,除了CN、HOG和Gray等特征外可以进一步考量深度特征。纵向可以对计分向量进行加权以更加适应复杂多变的跟踪情景。优化计分器还可以减轻检测器的压力,使得检测器可以适当放宽松TGE,充分发挥KCF的速度和其他方面的优势。
实验中,评分属性有区域平均HOG峰值响应,区域CN峰值响应,跟踪误差GE三个标准。为了方便描述,四种类别所分布的区域分别记为A、B、C、D。以A区域为例,区域平均HOG峰值响应的计分方法为
其中,R表示A区域中所有响应峰值组成的响应向量,DS(·)表示对向量·进行降序排序,分子表示对向量DS(R)求前m项元素和。区域CN峰值响应计分方法为
V
其中,RA表示区域A的响应矩阵,max(·)表示对矩阵·找元素最大值。
跟踪误差GE计分方法为
V
其中,GE表示当前帧与前一帧目标框的灰度误差。评分向量S可以表示为
S=N(S
其中,
SHOG=[VA(HOG),VB(HOG),VC(HOG),VD(HOG)]SCN=[VA(CN),VB(CN),VC(CN),VD(CN)]SGE=[VA(GE),VB(GE),VC(GE),VD(GE)]
均为1×4的计分向量,N(·)表示对向量·做归一化处理,max(·)表示对向量·取元素最大值。最后,选择评分向量S中分值最高的元素所对应区域的目标中心位置作为最佳跟踪位置。
实验的硬件环境为Inter(R)Core(TM)i5-7500 CPU,主频3.40GHz,8GB RAM;操作系统为Windows10的64位操作系统;软件环境为MATLAB R2016a。为找出最佳参数先做调参实验,实验结果见表1。
表1本发明算法在OTB100上的不同参数的平均距离精度
注:加粗字体为每列最优值,阈值Tc=20pixel。
从表1数据可知,当聚类数M=4,TGE=0.2MGE时,算法精度最高。故实验最终将M设置为4,TGE设置为0.2MGE。
理论上当检测器阈值越低,检测越严格,相邻帧跟踪失败的查全率越高,在校正算法优于KCF算法的情况下精度会得到不断提升,表1数据不仅在实验最低阈值处取得了最好跟踪效果,而且相比于其他阈值其列平均距离精度均处于最高值,在没有对比实验的情况下说明了本发明算法在KCF算法基础上的提高。
假设RMS在OTB-2015数据集上的跟踪效果不如KCF算法,那么平均距离精度完全会因为相邻帧跟踪失误的查全率的提高而下降。举个极限的例子,令GE=0,也就是说所有序列帧均由RMS完成,得到的平均距离精度值假设为X,GE=MGE时,所有视频帧的跟踪将由KCF算法跟踪完成,得到的平均距离精度假设为Y,由前提可知X 为了验证RMS和评估方法的有效性,分别在数据集OTB-2015上对整体98个数据集和标签带有FM的39个数据集上与MFKCF、KCF、CSK和CN进行对比实验。OTB-2015整体数据集上的对比试验目的是为了说明RMS在KCF的基础上加入快速运动处理机制后是否会影响对非快速运动问题域的处理性能。OTB-2015的FM数据集上的对比实验目的是检验RMS是否真实达到了处理快速运动的预期效果。 表2对比算法在OTB100整体数据集上的一次实验结果
在表1当中RMS在OTB-2015全集上平均DP为0.727,表2中平均DP为0.725。两次实验结果不相同是因为在用K-means聚类的过程中,由于每次聚类的初始簇心是根据数据点分布情况随机选取的,如果滑窗得出的一些响应点数据分布较为密集,那么就会存在一些类别模糊的点既可以被分到A区域也可以被分到B区域,也就是说在重复实验的过程中如果响应点数据分布不够健壮,就会造成每一次聚类结果都会有微小出入,导致跟踪结果不唯一,平均DP会有些许波动。为了保证实验数据的可靠性,此后所有有关本算法的实验数据均由RMS取十次平均值。 表3对比算法在OTB100整体数据集上的十次实验结果
如表3所示,在OTB-2015整体数据上,RMS平均DP比KCF高出1.8%,平均OP比KCF高0.5%,中心位置误差降低了1.013pixel,速度下降了170.67帧/秒。相比于MFKCF平均DP提高了1.2%,平均OP提高了0.3%,平均FPS下降了144.34帧/秒。相比于CN平均DP提高了11.8%,平均OP提高了8.3%,平均CLE降低了36.561pixel,平均FPS下降了157.9帧/秒。 虽然RMS在算法速度上有明显降低,但其他各方面的性能均优于MFKCF、KCF和CN,而且速度仍然满足实时要求。接下来的实验将会对比RMS在FM数据集上的表现,通过公式22计算出非FM数据集的精度,以此度量RMS在非快速运动问题域的处理性能。 表4对比算法在OTB100 FM数据集上的十次实验结果
从表4可以看出,在OTB-2015FM数据上,RMS平均DP比KCF高出7.1%,平均OP比KCF高4.2%,中心位置误差降低了2.324pixel,速度下降了171.37帧/秒。相比于MFKCF平均DP提高了3.6%,平均OP提高了1.5%,平均FPS下降了128.21帧/秒。相比于CN平均DP提高了19.9%,平均OP提高了14.2%,平均CLE降低了31.58pixel,平均FPS下降了112.71帧/秒。 相比于整体数据集来说,RMS在FM数据集上表现得更加优秀,记OTB-2015整体数据集除开FM的数据集合为ALL-FM,若记算法在FM上的实验提高的DP为α=7.1%,在ALL上的实验提高的DP为β=1.8%,在ALL-FM上的实验提高的DP精度为λ(λ可为负数),则λ的计算公式为:
其中,m表示OTB-2015总体数据集(ALL)元素个数,n表示FM数据集元素个数,计算出λ=-1.7%,说明RMS在处理目标快速运动以外的视频序列精度稍有降低,但不明显几乎可以忽略不计。 在RMS所针对的目标快速运动和运动模糊的问题领域上,RMS展现出了良好的跟踪性能,相比于MFKCF、KCF、CN、CSK,DP和OP有了显著性的提高。在Tc=20pixel,RMS相比于KCF提高了7.1%,OP基本也是如此。 下面展示7组样例的具体跟踪结果,为了更加直观的展示RMS在快速运动和运动模糊上的抗性,先观察七组样例的描述标签,见表5。 表5七组样例的描述标签
注:加粗字体为出现频率最高的标签。 由表5可知,快速运动(FM)出现了7次,运动模糊(MB)出现了5次,FM和MB同时出现5次,其余标签则出现了4次或4次以下。7组样例的具体跟踪结果见表6。 表6对比算法在FM上七组实验结果
注:加粗字体为每行最优值,Tc=20pixel。 从表6可以看出,相比于KCF,DP平均高出50%以上,在7组样例的跟踪结果上相比于其他算法都展现出良好的跟踪性能。 对照表5可总结出:在FM和MB为主要问题域的视频上,RMS都表现出了良好的跟踪效果。如BlurBody,虽然它还有其它标签,但主要问题领域还是FM和MB,其它的诸如尺度变化(SV)、非刚性形变(DEF)、旋转(IPR)等影响程度比较低,所以RMS跟踪得非常成功,DP达到了94.6%比KCF高出了37.1%。ClifBar虽然有轻微的遮挡(OCC)、尺度变化(SV)以及旋转(IPR)等问题,但主要问题还是FM和MB,RMS在该样例跟踪结果仍然非常成功,DP达到了86.2%,比KCF高出了41.9%。如果说前面两个案例还有其他标签的干扰,那么只含有FM和MB的Jumping则是最能体现RMS性能的核心案例,RMS在Jumping上跟踪的DP为100%,比KCF高出了66.1%,比MFKCF高出了36.2%。 五种算法在BlurBody、Couple和Jumping的跟踪效果如图4所示,图4a跟踪目标是一个穿黑色上衣蓝色牛仔裤的人,由于未出现快速运动、遮挡、尺度变化等问题,视频37帧中所有算法均能准确跟踪目标,110帧由于出现了轻微快速运动及运动模糊导致KCF跟踪失败,302帧由于目标的快速运动和运动模糊加剧,导致除RMS外的其他算法跟踪失败。图4c跟踪目标为一对行人,由于快速运动始终贯穿整个视频,其间还有背景相似干扰,导致除RMS算法以外的其他算法跟踪效果均不理想,CSK和CN算法跟踪框甚至一度飞出图像外。图4b跟踪目标是一个跳绳男子的头部,由于跳绳所产生的快速运动及运动模糊导致KCF在第40帧跟踪彻底失败、CN和CSK算法从一开始就跟踪失败,MFKCF第40帧的时候偏离跟踪对象,第159帧的找回跟踪目标,又于217帧偏离跟踪目标,最终丢失目标。 在OTB-2015数据集上与相关滤波的五种算法做了对比,在整体数据集上距离精度相比于KCF提高了1.9%,重叠精度提高了0.5%,中心位置误差减小了1.013。在快速运动样例集合中距离精度相比于KCF提高了7.1%,重叠精度提高了4.2%,中心位置误差减小了2.324。本发明在保证实时性的情况下提高了KCF算法对目标快速运动和运动模糊的鲁棒性,并为多特征融合提供一种新的思路。 以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。
- 针对快速运动和运动模糊的核化相关滤波算法
- 针对运动模糊图像复原的模糊核计算方法