万文明,路 红,秦彬鑫,邱 春
(南京工程学院自动化学院, 江苏 南京 211167)
随着信息技术和视觉技术的不断发展,运动目标检测和跟踪得到广泛应用[1]:在社会管理上,用于车辆交通监控系统、人流量检测等;在生活中,用于人脸、指纹识别等;在军事领域中,用于精密定位、军事侦察等[2-4].运动目标跟踪在这些领域都已经取得了很大的成就,但是依旧存在许多困难没有被解决[5].
目标识别和跟踪即在图像集的第一帧中确定所要跟踪的目标,在之后的每一帧中都能动态跟踪到所需要识别的目标,并能将识别对象框出来[6].一个优秀的目标跟踪算法应具有较高的鲁棒性、适用性和实时性,能够很好地跟踪到目标的运动轨迹.
基于相关滤波器的目标跟踪(discriminative scale space tracking,DSST)算法得到快速发展[7].文献[8]提出采用单通道灰度特征的最小输出平方和误差(minimum output sum of squared error filter,MOSSE)算法;文献[9]在MOSSE算法基础上引入循环矩阵和核的概念,提出基于核循环结构跟踪(exploiting the circulant structure of tracking-by-detection with kernels,CSK)算法,将单通道转化为多通道,采用方向梯度直方图(histogram of oriented gradients,HOG)特征,提出核相关滤波器(kernelized correlation filters, KCF)目标跟踪算法,提高了跟踪精度和实时性;文献[10]提出联合全局上下文(context aware correlation filter tracking,CACF)算法进行背景训练.
本文提出一种基于上下文感知的自适应目标跟踪算法,提高尺度自适应的能力,能够更好地在复杂环境下跟踪目标,主要技术思路:1) 在滤波器训练时,将目标运动方向上的背景信息作为先验信息,对运动状态上的目标样本训练时降低非运动方向上背景样本的权重,增加运动方向上背景样本的权重,增强上下文的作用;2) 融合目标跟踪算法到CACF中,设计一个提取训练集的模块,根据上一帧图像确定的目标尺度大小,实现目标尺度自适应;3) 在模型进行更新时引入平均峰值相关能量(average peak correlation energy,APCE)作为遮挡判据指标,当响应峰值和APCE数值同时满足条件时,再进行目标模型更新,防止在跟踪结果不准的情况下更新模型.
CACF算法是一种对背景训练的相关滤波算法,把选取目标的背景区域加入到滤波器中进行背景模板训练.该算法不但充分利用了背景信息,而且不影响跟踪的其他性能,解决了搜索区域和余弦窗的限制.CACF算法在传统相关滤波算法目标函数的基础上增加了一个背景惩罚项,使要训练的模板和背景在进行相关运算时响应尽量小,并且使新的目标函数能够求得封闭解,解决了传统相关滤波在模板学习时无法学习到太多背景信息、跟踪目标受到复杂背景环境干扰时容易导致目标跟丢的问题.
DSST算法提出一种三维尺度相关滤波器.利用位置滤波器确定跟踪目标的位置,利用尺度滤波器得到最大响应值的尺度,调整跟踪框的比例,实现尺度自适应.该算法的优势是能方便地将尺度估计与其他算法相结合.
本文基于上下文感知的自适应目标跟踪算法的整体流程为:选择跟踪目标,确定候选区,提取HOG特征;利用卡尔曼滤波器估计目标运动,预测下一帧位置;在滤波器训练时,将目标运动方向上的背景信息作为先验信息,在对目标运动方向上的目标样本进行训练时降低非运动方向上背景样本的权重,增加运动方向上背景样本的权重;以上一帧确定的目标位置为中心,通过计算得到最大响应值,当前帧的目标尺度就是响应值对应的尺度;通过平均峰值相关能量对模型进行遮挡判别,确定目标的位置和尺度.
通过循环位移产生更多的样本,在目标上下左右各采集一个上下文区域,将中间的A0标记为正样本,将附近的Ai标记为负样本,充分利用背景信息,以便于更好区分跟踪目标与背景信息.
CACF算法通过循环位移构建卡尔曼滤波器的训练样本集和相对应的标签.构建训练器的最小代价函数为:
(1)
式中:y为回归标签,表示高斯分布的矢量化图像;λ1为正则化权重参数,防止过拟合;w为训练的相关滤波器.
对视频序列每一帧中的目标图像a0∈Rn进行硬阴性采样策略,即对跟踪目标周围添加k个上下文片段ai∈Rn,所构成的循环矩阵分别记为A0∈Rn×n和Ai∈Rn×n.这些样本包含了诸多干扰元素的背景环境.联合全局上下文跟踪器的目的是使它对目标有很高的响应.目标训练得到一个滤波器w∈Rn,对上下文局部块的响应很小或者接近于0.将上下文作为正则化项添加到式(1)中,得到:
(2)
式中,λ1和λ2为正则化参数,λ1防止过拟合,λ2用于控制响应为0的上下文图像块.
计算出最大响应值,确定目标位置.利用循环矩阵的对角化性质,转化到傅里叶域中得到w的闭式解:
(3)
式中:a0为循环矩阵B的第一行;ai为循环矩阵B的第i行,i从1开始; ^ 表示傅里叶变换;*表示共轭;k为选取背景区域的数量,本文选取4块背景区域样本.
特征尺度估计的目的是为了得到最佳尺度相关滤波器,通过最小二乘法求解滤波器:
(4)
式中:λ为正则化参数,防止过拟合;g为响应输出;l为特征维数;h为尺度滤波器;f为当前帧的特征图.
将式(4)转换成在傅里叶域:
(5)
为了获得更好的跟踪效果,减小跟踪过程中的误差累积,滤波器的更新模型为:
(6)
式中,η表示学习率.
在新的一帧中,尺度滤波器的响应求解公式为:
(7)
在目标定位时,通过相关计算得到的最大值就是目标的当前帧位置:
(8)
在模型更新时,利用遮挡判据APCE[11]对模型执行更新:
(9)
式中:Lmax为响应峰值;Lmin为响应谷值;Lm,n为在位置(m,n)的响应值.
APCE判据反映出响应图的振荡程度,结合平均峰值相关能量与相应峰值对模型进行遮挡判别.
本文试验的电脑配置为3.5 GHz CPU PC,Windows 10操作系统;运用Matlab R2019a软件进行仿真试验.为验证本文算法的鲁棒性,选取的视频集为OTB100,选取的算法为CSK、DCF _ CA、KCF、SAMF[12]、MOSSE_CA、DSST算法.通过多个算法的对比试验来验证本文算法的跟踪情况.本文算法的参数为: 正则化系数λ1=10-4,λ2=25,λ3=5,学习率η=0.015,搜索框padding=2,γ1=0.5,γ2=0.35.
图 1 和图2分别为7种跟踪算法在数据集OTB100上的成功率曲线和精确率曲线.由图1和图2可见,本文算法成功率和精确率高于其他算法,分别为0.714和0.784.
图1 7种跟踪算法成功率图
图2 7种跟踪算法精准率图
图3为本文算法其他属性的跟踪性能,包括快速移动、背景杂波、运动模糊、变形、光照变化、平面内旋转、低分辨率、遮挡、平面外旋转视线之外、尺度变化等性能.通过多种跟踪性能进行比较,能够更好体现本文算法的跟踪能力.
(a) 尺度变化成功率图
根据试验结果,本文算法除了平面内外旋转的精准率和成功率低于SAMF算法,其他属性的跟踪性能总体上都优于另外6种算法,特别在尺度变化、遮挡和背景杂波有较大的提升,充分体现了本文算法的鲁棒性.
选取多个不同环境下的视频序列进行对比,图4为随机选取的视频序列,其包含多种不同属性特征.
(a) Car 1
在Car1视频序列中,目标大小出现改变,从初始帧到第10帧所有算法都能够很好地跟踪目标小车;到第300帧时,部分算法开始产生偏移,核相关滤波和上下文感知算法虽然能够追踪到目标,但无法做到尺度自适应,本文算法能够做到尺度自适应;到第762帧时,核相关滤波和上下文感知算法开始有所偏移,把周围环境也当成跟踪目标的一部分,导致跟踪框开始偏移,无法完全跟踪目标,而本文算法达到自适应并且能够持续地跟踪目标.
在Skter2视频序列中,目标出现快速移动、形变、扭转等情况.在第10帧时部分算法已经不能很好地追踪目标,开始出现偏移;到第357帧时,跟踪目标出现旋转,部分算法漂移严重或只能跟踪到目标的一部分;到第405帧时,跟踪目标产生形变和扭转,部分算法已经不能跟踪到目标,本文算法跟踪效果最好.
在Matrix视频序列中,在跟踪目标过程中出现了光照,扭转等情况.在第10帧时,所有算法都能够跟踪目标;在第52帧时,目标快速移动,除本文算法外,其他算法无法跟踪到目标;在第88帧时,受光照等背景的影响,本文算法依然可以很好地跟踪目标,部分算法已经偏移严重.通过对比,充分证明了本文算法具有较高的鲁棒性.
在Tiger2视频序列中,在跟踪目标过程中出现了遮挡、扭转、形变等情况.从初始帧到第10帧,所有算法都可以良好地跟踪;到第279帧时,跟踪目标出现了扭转和遮挡,本文算法和KCF算法能够良好地跟踪,部分算法出现跟踪失败,产生偏移;在第355帧时,目标出现遮挡情况,对比算法或多或少都产生了偏移,本文算法能够持续跟踪.
本文提出一种基于上下文感知的自适应目标跟踪算法,在训练滤波器时通过降低非运动方向上背景样板的权重、增加运动方向上背景样本的权重提高了相关滤波器的鲁棒性.在CACF算法中融合DSST算法,提高算法的定位精度和尺度自适应能力.通过引入APCE对模型进行遮挡判别,解决了目标遮挡的问题.试验结果表明,本文算法跟踪目标的成功率和精确率分别为 0.714和0.784,能够在复杂环境下更好地跟踪目标.