一种基于核相关滤波的目标跟踪算法

2019-03-04 10:56丁健伟
现代计算机 2019年36期
关键词:响应值滤波器滤波

丁健伟

(四川大学计算机学院,成都610065)

0 引言

随着视频监控设备地发展,目标跟踪正逐步应用于各个领域,但在实际跟踪场景中,目标会受到外观和尺寸变化、运动状态变化、背景干扰、遮挡及消失等情况的影响,造成跟踪精度和成功率不高,不能做到有效地长期跟踪,使其应用受到限制。因此,在复杂情况下,提高目标跟踪的精度和成功率则是当下研究的重要方向。

在2010 年Bolme 等人提出基于相关滤波的目标跟踪算法(MOSSE)[1],算法在训练相关滤波器时采用对目标框进行仿射变换,增加训练样本数量,并采用实际相关输出和期望相关输出之间的平方误差总和的方法训练相关滤波器。在2012 年Henriques 等人提出循环矩阵和岭回归方法训练相关滤波器(Circulant Structure Kernel,CSK)[2]相比MOSSE 算法,使用循环矩阵的方法,增加了样本数量,并训练相关滤波时引入岭回归方法,减少了计算量并且跟踪效果更优。在2015 年Henriques 等人在CSK 算法的基础上引入HOG 多通道特征训练相关滤波器(Kernelized Correlation Filters,KCF)[3]MOSSE 算法和CSK 算法都是采用的是原始图像的灰度像素值作为特征,特征相对单一,影响了跟踪器的性能,使得跟踪效果不理想。KCF 算法是采用多通道HOG 特征,将不同通道得到的图像边缘梯度信息向量相加,跟踪性能得到了提升。在2012 年,Zdenek 等人提出TLD(Tracking Learning Detection)算法,利用在线学习机制解决了长期跟踪的稳定性问题[4]。算法的关键点在于跟踪和检测同时进行,相互配合,从而可以减少了跟踪失败的情况出现,但应对复杂情况下的跟踪的精度和成功率仍有待提高。由此可见,要想提高目标跟踪的精度和成功率,需要对滤波器的特征表达、训练方法,以及如何应对长期跟踪过程中的目标变化等因素进行研究。

本文算法对相关滤波的特征表达、训练方法进行改进,并将相关滤波和粒子滤波相融合作为跟踪器。同时设计跟踪状态判断模块,对跟踪预测框进行状态判断,若判断跟踪失败,则对跟踪目标的进行重定位,确保了跟踪算法的鲁棒性。

图1 本文算法框架

1 改进的核相关滤波跟踪算法

1.1 特征表达与训练方法

本文算法对相关滤波器的特征表达和训练方法进行改进,由于快速方向梯度直方图(FHOG)特征对目标形变具有较强的鲁棒性,颜色(CN)特征对跟踪过程中颜色变化具有较强的鲁棒性,故首先采用FHOG 特征和CN 特征融合为多通道特征作为样本的特征表达,然后采用通道权重自适应方法训练相关滤波器。

传统的多通道特征是将每一维的特征简单相加得到,对每个通道的特征等同对待,在相关滤波器计算相关响应时,会使得具有较高分辨能力的通道特征容易受到分辨力率低的特征影响,从而影响目标整体的特征表达。因此,若想更加准备表观目标特征,需要对每维特征通道进行全局权重占比分析,若通过计算分析,该通道具备较高分辨能力的话,则赋予较高权重,否则,赋予较低权重,其中分辨能力是指是否可以明显地区分目标与背景区域,在相关滤波中,每个通道的滤波器在不同区域的响应值差距大小,可直观反映该通道特征的分辨能力。

每个通道的辨别能力反映在其各个主区块的响应值上,采用一个通道中主区块的第二大响应值与最大响应值的比率表示一个通道的重要程度,若比值较小说明该通道具有较高的分辨能力,权重应增大,否则,权重应减小。权重指标的计算方法为:

其中,wk是指计算得到第k 个通道的权重,k 表示通道数量,第二大响应值与最大响应值的比率,‘1/2’是指为了在多个相似物体出现在目标周围时,使得通道具有正确判断目标的能力的人工预设阈值。

采用自适应多通道相关滤波器的最小化式进行训练并更新[5]:

其中,xk∈RD和hk∈RD表示的是第k 个通道的循环位移矩阵和滤波器,k 表示滤波器的数量,y ∈RD是最大相关响应,∗代表的是空域中的相关操作。此处为防止过拟合,使用正则化方法,λ 是正则项。

为了使得计算效率提高,可采用傅里叶变换,使其在频域中表示为:

其中,h∧=是每个通道的傅里叶变换的K×D 维矢量,可简化为:

求解可得:

其中:

1.2 相关粒子滤波

为了提高在长期跟踪过程中,对跟踪目标尺度变化的抗干扰性。本文提出将改进相关滤波器和粒子滤波器相融合作为跟踪模块。粒子滤波的理论基础是序列重要性采样,在状态空间中释放大量和当前目标状态有关的带权离散随机粒子,将每个粒子的状态和当前目标的状态相比较,给予相似度高的粒子更大的权重,将权重最大的粒子定义为下一时刻的目标,重新释放粒子,不断重复此过程。利用粒子滤波对目标周围进行重要性采样,通过计算粒子与相关滤波器的相关响应值,找到最大相关响应所对应的粒子位置,即为预测框,并对粒子进行重采样,不断重复此过程,达到跟踪的目的。滤波融合的具体步骤为:

步骤一:初始化每个粒子的状态和权重。

步骤二:对每个粒子,将其坐标使用高斯随机分布计算出某个新位置,将粒子转移到该新位置。

步骤三:对于新位置的粒子,对其进行前文所述的多通道特征提取,作为其表观模型y。

步骤四:计算每个粒子与相关滤波器的相关响应值,其计算公式为:

其中,Rn为第n 个粒子的相关响应值,hk为第k个相关滤波器,yn为第n 个的表观模型,xˉ为跟踪目标的表观模型。

步骤五:找到相关响应值最大的粒子所对应的位置,即为跟踪预测框。

步骤六:将N 个粒子的相关响应值进行归一化,使其和为1,也就是转化为每个粒子的权重。

步骤七:对粒子进行重采样,剔除权重较小的粒子,更新粒子的权重。

步骤八:重复步骤二到步骤七。

1.3 重定位

本文算法设计跟踪目标重定位模块,当发生目标跟踪丢失,能快速重定位跟踪目标。在跟踪过程中,采用跟踪相应指标对跟踪器得出的预测目标进行状态判断。跟踪响应指标APCE(Average Peak-to Correlation Energy,平均峰值震荡程度)[5],当跟踪正常时,相关滤波器中噪声较少,相关响应图中呈波峰尖锐、波谷平坦状,且极大值与极小值相差较大,而当跟踪异常时,干扰较多,响应极值的差较小。APCE 计算方法如下所示:

其中Rmax代表最大相关响应值,Rmin代表最小相关响应值,R(w,h)代表在( )

w,h 位置上的相关响应值。

当APCE 值在一定阈值范围内时,表示跟踪成功,输出跟踪结果,否则,将当前帧定义为关键帧,对跟踪目标进行重定位。首先采用尺寸为w×h×s 的搜索框,对当前帧进行从左到右,从上到下地扫描,其中,w,h为上一帧目标框的长和宽,s 为缩放因子,s=1.1a,a=( - 10:1:10 ),横向扫描步长为,纵向扫描步长为,再扫描完成后,调整缩放因子大小,重复进行扫描,得到不同位置和不同尺寸的候选图像块集。将之前保存跟踪成功目标框的图像块集作为训练集,同时将候选图像块集与训练图像块集的尺度统一到最近跟踪成功目标框的尺度,并进行归一化。利用KNN(K-最近邻分类算法),找出最相似目标的图像块作为当前帧跟踪目标框。

1.4 算法具体步骤

本文提出的算法步骤如下,算法流程如图2 所示。

图2 本文算法流程图

步骤一:初始化视频流,人工标定第一帧图像的目标框,利用此目标框初始化跟踪模块中的相关滤波器和粒子滤波器。

步骤二:在跟踪模块中,将相关滤波器和粒子滤波器融合,计算粒子的相关响应值,找到最大相关响应值所对应的粒子,即预测框。

步骤三:在状态判断模块中,计算其预测框的跟踪响应指标值,来指示跟踪状态。若跟踪成功,执行步骤四,五,若跟踪失败,执行步骤六,七,八。

步骤四:则将当前预测框作为目标框输出,并用于更新跟踪模块中的相关粒子滤波器和存入目标图像的训练图像块集,以备进行重定位。

步骤五:将当前帧进行不同尺度、不同位置地采集图像块,作为候选图像块集。

步骤六:将训练图像块集与候选图像块集的图像块尺度大小统一到同一尺度并做归一化操作。

步骤七:利用机器学习KNN 算法与训练图像块集找出候选图像块集中最相似目标的图像块作为当前帧的跟踪目标框。

步骤八:重复步骤二到步骤八。

2 实验结果与分析

实验硬件环境为Intel i5-6400 CPU,主频为2.7GHz,内存为16G 的计算机,算法开发平台为MATLAB R2016a。实验采用OTB[6]数据集进行实验,数据集中有不同场景的视频序列,其包含运动模糊、光照变化、目标形变、背景干扰、局部遮挡、目标消失、尺寸变化等场景,并使用跟踪精度和跟踪成功率两个指标对跟踪结果进行评价。

本文算法在OTB 数据集上与经典的相关滤波跟踪算法KCF、SRDCF[7]、MEEM[8]、CSRDCF[9]、Staple[10]算法进行对比实验,其跟踪精度和跟踪成功率如表1 所示。

实验结果表明本文算法的跟踪精度达到了82.7%,跟踪成功率达到了62.3%,相比与其他经典的基于相关滤波目标跟踪算法,文本算法具备较为优异的跟踪精度和跟踪成功率。

为了对比算法性能,文本算法与经典的长期跟踪算法TLD 和LCT[11]算法进行对比实验,其跟踪精度和跟踪成功率如表2 所示,LCT 是在TLD 算法上进行的改进,相比TLD 来说,其长期跟踪性能更为优异。

表2

实验结果表明,本文算法在跟踪精度上,比TLD 算法高出21.9%,在跟踪成功率上比比TLD 算法高出18.6%,总体来说跟踪性能优异。在OTB 数据集中的视频序列中,本文算法能更有效地在目标信息出现干扰时,长期准确地跟踪目标。

3 结语

本文提出一种改进核相关滤波的目标跟踪算法,该算法对滤波器的特征表达和训练方法进行改进,并针对跟踪目标尺度变化时,跟踪性能较差的情况,将相关滤波和粒子滤波融合作为跟踪器,提高了滤波器的跟踪性能,引入跟踪状态判断机制,能有效并及时地反馈跟踪状态,并且在跟踪目标失败时,能够对目标进行重定位。实验结果表明,本文提出的算法在跟踪精度和成功率上具有较高水平。另外,需进一步研究如何降低计算成本问题,以提高跟踪的实时性。

表1

猜你喜欢
响应值滤波器滤波
紫外荧光法测定醇基液体燃料中的总硫含量
基于HP滤波与ARIMA-GARCH模型的柱塞泵泄漏量预测
浅谈有源滤波器分析及仿真
基于多模谐振器的超宽带滤波器设计
基于程序性知识学习的项目状态转移函数与多分知识结构
气相色谱法测定蔬菜中常见有机磷农药响应值变化规律
一款用于无线通信系统的小型滤波器天线
一种考虑GPS信号中断的导航滤波算法
提高环境监测数据准确性初探
基于多窗口中值滤波和迭代高斯滤波的去除图像椒盐噪声的方法