一种改进的背景感知相关滤波跟踪算法*
2021-01-26王明铭李晓艳杨永侠
王明铭,王 鹏,李晓艳,杨永侠,郭 嘉
(西安工业大学,陕西 西安 710000)
0 引言
视觉目标跟踪是计算机视觉领域中具有挑战性的一项课题,主要目的是估计目标在整个视频序列中的位置及大小信息。随着现代化的发展,视觉目标跟踪得到了广泛应用,如人机交互[1]、视频监控[2]、机器人技术[3]以及医疗诊断技术[4]等。但是,由于目标在运动过程中可能会存在光照变化、形体变化、部分遮挡以及完全遮挡等问题,为实现精确的目标跟踪带来了较大挑战。
近年来,由于基于相关滤波的目标跟踪算法在运算速度和鲁棒性上具有更大的优势,因此相关滤波算法在目标跟踪领域受到了广泛关注。2013年,Henriques[5]等人提出了循环结构的核跟踪检测算法(Exploiting the Circulant Structure of Trackingby-detection with Kernels,CSK),通过循环矩阵扩展了样本数量并用于分类器的训练;2014 年,Danelljan[6]等人提出了基于颜色属性的目标跟踪器(Color Names,CN),并通过使用颜色属性特征提升了算法的分辨力;2015 年,Henriques[7]等人提出了核相关滤波器(Kernel Correlation Filter,KCF),通过将CSK 扩展为多通道方向梯度直方图(Histogram of Oriented Gradient,HOG),提高了目标定位精度;同年,Galoogahai[8]等人提出了限制边界的相关滤波器(Correlation Filters with Limited Boundaries,CFLB),采用较大的图像块与较小的滤波器进行目标检测,可有效解决边界效应问题;2017 年,Galoogahai[9]等人提出了背景感知的相关滤波算法BACF,在CFLB 的基础上将其扩展为多通道HOG 特征,从而提升了算法的准确率。但是,上述相关滤波算法使用的特征均较为单一,导致在面对复杂变化的场景进行跟踪时,算法的跟踪能力受限,分辨能力不强,且尺度更新能力一般。
因此,本文在BACF 算法的基础上提出了一种多特征的背景感知相关滤波跟踪算法。通过在被检测图像中提取HOG 与CN 特征,增加滤波器的判别能力;将训练好的滤波器与检测图像块进行卷积,以获得目标位置;对图片中的特征响应进行多峰检测,进行模型更新;最后通过构建尺度滤波器,利用不同尺度上提取的特征进行尺度更新,从而解决目标跟踪在运动模糊、形变、背景干扰以及遮挡等复杂条件下产生的问题。
1 基于BACF 的改进多特征背景感知相关滤波跟踪算法
1.1 BACF 简介
BACF 算法于2017 年发表在ICCV17 上,由Galoogahai 等人提出。该算法的主要贡献是通过扩大循环矩阵采样的区域和通过在每个样本上裁剪出有用的样本区域,增大了样本数量,提高了样本质量,故训练的相关滤波器效果更好,且可以保证以较快的运算速率用于目标跟踪。
在BACF 算法中,假设目标初始大小为M×N,然后将目标区域扩大5 倍并转换为正方形区域,以方便算法的后续计算,公式表达为设样本x的大小为T×T;位置滤波器设为h,大小为D×D,其中l为特征采样率;设P为二值矩阵,大小为D×T;y为样本标签函数,大小为T×T。
在BACF算法中,滤波器h可由式(1)求解获得:
式中,K为特征通道数量。在原本的BACF 算法中采用了31 维的HOG 特征,因此K=31。
由于式(1)中的二值矩阵P可以通过预计算获取,因此将P与xk合并,直接写为XK,表示裁剪过后的样本,并将式(1)转换至频域,得:
通过交替方向乘子法(Alternating Direction Method of Multipliers,ADMM)将问题换分为两个子问题进行迭代求解。通过求解获得的滤波器h,将其与检测目标块进行卷积,寻找响应值最大值位置,即为目标估计位置:
将S^ 做逆傅里叶变换(Inverse Fast Fourier Transform,IFFT)后得到最终响应图,寻找响应值最大值位置作为目标估计位置。
1.2 BACFDSST 改进算法
本文算法在BACF 的基础上,提出了结合多特征尺度估计的改进背景感知跟踪算法。首先,在目标区域提取梯度直方图(Histogram of Oriented Gradient,HOG)和颜色属性(Color Names,CN)两种特征作为样本;其次,在循环采样的基础上进行裁剪;再次,通过加入空间约束的目标函数计算滤波器系数,并采用多峰检测的模型更新策略抑制相似特征;最后,在下一帧图像输入时,提取不同尺度的目标特征,并与滤波器系数做相关运算计算响应图,以此获取目标估计位置及尺度估计。本文所提跟踪算法整体框架如图1 所示。
图1 算法原理
1.2.1 颜色属性提取
在BACF 原算法中,特征提取只是仅在目标区域内提取了31 维的HOG 特征。然而,在实际跟踪环境中,在面对光照变化等情况时,HOG 特征具有良好的跟踪性能,但当因形变或其他原因出现与目标形状相近的物体时,以及跟踪期间出现遮挡等问题时,会对跟踪结果产生较大影响,可能会导致跟踪失败。因此,为进一步提高算法的分辨能力,本文在BACF 的HOG 特征基础上又加入了颜色属性。
CN 是将RGB 空间的颜色信息投影至11 维的颜色空间上,其中11种颜色分别是黑、蓝、棕、灰、绿、橙、粉、紫、红、白以及黄。但是,在跟踪领域中,为增加循环矩阵带来的正样本数量,需要对颜色属性进行规范化操作,将11 维颜色空间降低为10 维颜色空间,但10 维的颜色属性并没有全部在本次跟踪中起到作用,即部分颜色属性并未提供有用的目标信息。因此,本文通过PCA 降维的方式将10维颜色属性降低至2 维,减少不必要的运算,以提高算法的运行速率。
设在目标区域提取的CN 特征为xCN,其傅里叶变换为为降低特征维度,需要构建降维矩阵Bp(下角标p是指第p帧图像),使得其中为降维后的CN 特征。降维矩阵Bp可通过求解式(4)获得:
式中,αp和αj为权重系数,ηdata则可表示为:
式中,是指第p帧图像提取到的CN 特征进行傅里叶变换的结果。ηdata仅利用当前帧即第p帧图像求解降维矩阵Bp,但由ηdata学习到的降维矩阵对特征进行降维会降低目标模型判别能力,因此需要加入前几帧图像进行训练即ηjsmooth(上角标j代表第j帧图像),可由式(6)获得:
式中,Q表示基向量总数,通过加入平滑项使得获取到的降维矩阵Bp更具鲁棒性。
通过在目标区域提取到的HOG 及降维后的CN特征按照第三维度结合起来当作目标样本。目标样本更新方式如下:
式中,xp是指由式(2)求解的滤波器表示最终的滤波器模型,σ为学习率参数。通过在本帧求解获得的滤波器模型加入历史帧滤波器模型的方式,提升算法的鲁棒性,最终将目标区域与滤波器模型进行卷积以此获取目标位置。
1.2.2 模型更新的多峰检测
在视觉目标跟踪中,得到的滤波器响应往往存在多峰响应,往往是因为在图像的搜索区域中出现了若干与目标相似的特征。当干扰特征的响应大于目标特征响应时,多峰响应会导致跟踪模型出现漂移而导致跟踪失败[10]。因此,本文为解决目标跟踪中多峰响应问题,提出了一种多峰检测更新的方法。首先将提取最大的目标响应S,通过设置一个小于1 的阈值η,再将搜索域中所有大于η·S的响应的坐标映射在二维掩码矩阵中,其中符合条件的设为1,其余为0,然后求解其在X和Y方向的方差:
式中,N为在X轴方向中掩码为1 的像素点的数量,M为在Y轴方向中掩码为1 的像素点的数量,Xi为掩码为1 的像素点的X方向坐标,Yi为掩码为1 的像素点的Y方向坐标。当出现多峰响应的时候,在X与Y方向上的方差会较无多峰响应的情况更大,故提出参数W表示此时刻的多峰参数:
联立模型更新式(7),当W<γ时,即可进行模型更新;当W≥γ,则视为出现多峰响应情况,即停止模型更新。在多次仿真实验后,γ取值在2~3较为合适,本文取2.5。
1.2.3 添加尺度变换
原本的BACF 算法并未考虑到被追踪目标在运动过程中因为离镜头远近而引起的尺度变化,所以本文单独训练尺度滤波器来进行尺度估计。设F为尺度滤波器,在不同尺度上提取HOG 特征作为样本xscale,滤波器求解如下:
式中,g为尺度滤波样本标签函数。通过求解式(10),可获得尺度滤波器F。
尺度估计方式与位置滤波相同,计算不同尺度对应的尺度响应值,响应值最大的值即为目标估计尺度。响应值计算如下:
式中,λ为控制正则项的参数,A、B为中间变量,具体为:
式中,ρ为尺度滤波学习参数,D表示尺度数目,本文设置为33 个尺度。参数更新方式同样采用考虑历史帧参数的方式,可增强尺度滤波器的鲁棒性。
2 实验与分析
2.1 实验环境
本文在Window 10操作系统、Intel(R) Core(TM)CPU i7-4710HQ 12 GB 内存电脑平台上采用Matlab 2016a 软件进行仿真实验。为进一步体现算法的优越性,选取BACF 算法以及KCF、CSK、DFT、CT 共5 种算法进行对比。它们均在相同环境下运行。
OTB 数据集[10]是目前视觉目标跟踪领域公认的测试数据集之一,其中不同的数据集还标有不同的属性,可以代表目标跟踪领域的常见难点。例如,IV(Illumination Variation)表示光照变化,SV(Scale Variation)表示尺度变化,OCC(Occlusion)表示遮挡,DEF(Deformation)表示变形,MB(Motion Blur)表示运动模糊,FM(Fast Motion)表示快速移动,IPR(In-Plane Rotation)表示平面内旋转,OPR(Out-of-Plane Rotation)表示平面外旋转,OV(Out-of-View)表示离开视野,BC(Background Clutters)表示相似的背景,LR(Low Resolution)表示低的分辨率[11],OPE(One-Pass Evaluation)表示平均精度与成功率。
2.2 性能评估
本文利用OTB-100 测试集提出的评估方法,对本文提出的算法、BACF 算法、KCF 算法、CT 算法、DFT 算法以及CSK 算法在OTB-100 测试集的所有序列上进行了测试,并利用OTB 测试集对5 个算法在不同环境下的跟踪精准度与成功率进行比较。实验表明,本文所提算法优于BACF 算法以及其他算法。
在所有测试序列获得的整体准确率和成功率得出的结果如图2 所示。可以看出,本文所提算法整体精确率和成功率都排名第一。
在准确率上,如图2(a)所示,本文所提算法达到86.2%,BACF 算法为84.9%,提升了1.3%。其中,KCF 算法为74.0%,CSK 为54.5%,DFT 为49.6%,CT 为40.1%。
图2 在OTB 测试集下算法的准确率与成功率对比
在成功率上,如图2(b)所示,本文算法达到80.9%,BACF 算法为79.5%,提升了1.4%。其中,KCF 算法为60.8%,DFT 为44.3%,CSK 为43.9%,CT 为25.0%。
除此之外,在对OTB-100 的所有序列测试实验中,本算法在针对运动模糊、形变、背景干扰以及遮挡等情况的视频序列,相比BACF 算法以及其他算法在精准度和成功率上提升显著,如图3所示。
在背景干扰条件下,本算法的跟踪精准率为82.6%,BACF 算法为79.2%,提升了3.4%;本算法的跟踪成功率为76.4%,BACF 算法为75.0%,提升了1.4%。
图3 在不同属性场景下算法的准确率与成功率对比
在运动模糊条件下,本算法的跟踪精准率为78.6%,BACF 算法为74.6%,提升了4.0%;本算法的跟踪成功率为77.8%,BACF 算法为74.9%提升了2.9%。在目标形变条件下,本算法的跟踪精准率为85.7%,BACF 算法为81.4%,提升了4.3%;本算法的跟踪成功率为79.3%,BACF 算法为78.7%,提升了0.6%。
在目标被遮挡情况下,本算法的跟踪精准率为84.2%,BACF 算法为82.3%,提升了1.9%;本算法的跟踪成功率为79.6%,BACF 算法为79.6%。
由实验可得,本文所提算法较原算法在跟踪效果的精确率和成功率提升较明显,较其他相关滤波跟踪算法更优秀。相较于全部数据集测试结果的提升效果而言,本文算法在运动模糊、形变、背景干扰以及遮挡等情况的视频序列中提升效果更明显,同时也证明了本文算法在对目标跟踪的运动模糊、形变、背景干扰以及遮挡情况处理的有效性。
2.3 定性分析
本文在OTB-100 数据集中选取了5 个视频序列对6 个算法进行测试。这5 个视频序列包含了多种不同场景要素,主要针对算法在背景干扰、运动模糊、目标形变以及遮挡情况下进行定性分析,其视频序列的不同属性如表1 所示。本文在5 个典型视频序列上进行分析,以测试算法性能。6 种算法在5 个序列下的跟踪结果如图4 所示。
表1 选取的视频序列
图4 6 种算法在5 个序列下的跟踪结果
可以看到,在Soccer 序列中,6 种算法同时进行跟踪,第90 帧开始,视频序列出现背景干扰,KCF、CT、DFT、CSK 算法跟踪开始出现跟踪丢失,本文算法与BACF 算法则可以保持跟踪;第251 帧时,目标出现较为快速的尺度变换,BACF 算法与其他算法跟踪出现并不能很好地适应尺度变换,BACF 算法开始出现跟踪丢失;本文算法得益于尺度估计的设计,通过单独的尺度滤波能够很好地应对目标的尺度变换,保证对目标的准确跟踪。
在Ironman 序列中,第47 帧开始,背景干扰严重,目标开始剧烈运动模糊,BACF 算法、KCF算法与CT 算法开始出现丢失,DFT 算法出现完全丢失跟踪目标,并未再重新跟踪上,本文算法以及CSK 则可以保持对目标的跟踪;在74 帧,因目标脸部遮挡较多时且背景相似物较多时跟踪出现偏差,但当遮挡物减少后可以快速重新定位目标位置,后重新跟上;在111 帧,目标出现较大形变,CSK 算法丢失跟踪目标,本文算法得益于利用了多特征融合的方法,提高了算法的辨别力,在目标周围出现相似目标能够实现准确跟踪,保证了对目标的跟踪。
在Jogging-2 序列中,在目标被全部遮挡出现的第51 帧,除本文算法与BACF 算法以外,其余跟踪算法出现跟踪丢失。遮挡结束的第61 帧开始,BACF 算法丢失目标,跟踪失败,本文算法则因采用较大的搜索域重新定位目标。由于在大区域内训练滤波器学习到了较多的背景信息,可以实现目标在遮挡时的精确定位,并长时保持跟踪。
在序列CarScale 中,第162 帧目标被遮挡;第169 帧时,CT、DFT、CSK 算法跟踪失败。该视频序列整体尺度变化较为缓慢,本文算法、BACF 以及KCF 算法都保持全程跟踪,但是本文算法的尺度估计更为精确,表明本算法在缓慢的尺度变化下可准确跟踪。在序列Trellis 中,目标光照变化频繁,尺度变化也较为缓慢,背景相似度干扰大,在212帧CSK 算法出现跟踪丢失,在第383 帧CT 与KCF算法也出现跟踪丢失,第505 帧DFT 出现目标丢失,本文算法则可保持长时间跟踪。
由定性实验可得,本文所提算法较其他相关滤波算法在OTB-100 数据集的视频序列中跟踪成功效果更优秀。在目标相似物较多、发生较大形变以及目标被完全遮挡后,本文算法可迅速重新定位目标,保持对目标跟踪,并对目标大小进行尺度估计。
2.4 定量分析
本文将从中心位置误差、重叠率以及运算帧率3 个指标对6 个算法进行评估。
2.4.1 中心位置误差
中心位置误差计算公式为[11]:
式中,O表示由算法估计获得的目标中心位置,Ot为数据集人工标定的真实目标中心位置。中心位置误差单位为像素,表示两个中心点之间像素点的个数。中心位置误差越小,表示算法越好。计算结果如图5 所示。
图5 5 个视频序列的中心位置误差对比
可以看出,本文算法在各序列中误差均处于较低水平。为使结果呈现更加直观,各个视频序列下各个算法的平均中心误差值如表2 所示。除了在序列Soccer 中的中心误差,本文算法较KCF 算法相比误差较高,约14.64 个像素点,但较基础算法BACF 仍有提高;全部视频序列中,本文算法较BACF 在中心位置误差上平均降低67.23 个像素点。
表2 平均中心位置误差对比表
2.4.2 重叠率
重叠率计算公式为[12]:
式中,S-表示算法估计的目标覆盖范围,S表示由数据集人工标定的目标真是覆盖范围。算法目标尺度估计越准确,重叠率越高。计算结果如图6 所示。
图6 5 个视频序列的重叠率对比
从图6 可以看出,在5 个视频序列中,本文算法在大部分时间内的重叠率均高于其他5 种算法。为更直观地呈现,本文计算了6 种算法在5 个视频序列下的平均重叠率,如表3 所示。
表3 平均重叠率对比
从表3 可得,本文算法获得了最高平均重叠率,较BACF 平均提高16.1%,重叠率仅在CarScale 序列中较基础BACF 算法低0.05;在遮挡严重的序列Jogging-2 中,本文算法的平均重叠率最高,较基础算法BACF 提升0.64。
2.4.3 运算帧率
运算帧率公式如下[13]:
式中,St表示的是视频的总帧数,Tt表示的是算法在该视频序列上花费的总时间。运算帧率的计算数据如表4 所示。
表4 运算帧率对比
由表4 可得,CSK 算法在全部视频序列中运行速率最高。本文所提算法在BACF 算法基础上牺牲了一定运算速率,平均运算帧率可达到10.09 帧/s。
由定量实验可得,本文所提算法在实验中的平均中心位置误差值较其他算法更低,而跟踪过程中的平均重叠率较其他算法更高,并同时可以保证算法在运行时进行跟踪的实时性。
3 结语
为解决目标跟踪中遮挡、运动模糊、形变以及背景干扰问题,本文提出了结合多特征尺度估计的改进背景感知跟踪算法。
(1)在HOG 特征基础上加入包括CN 等多种特征,增加了算法在复杂条件下的辨别能力,以解决在背景干扰条件下的跟踪问题;
(2)在大区域内训练滤波器,使滤波器学习到了背景信息,解决了在遮挡条件下的跟踪问题;
(3)采用多峰检测的模型更新策略抑制相似特征,解决了相似目标干扰问题;
(4)通过训练单独的尺度滤波器,解决了在跟踪中的尺度变换问题。
实验结果表明,本算法对比BACF 算法以及其他经典的相关滤波算法,跟踪准确率和成功率有一定提升。特别是在面对运动模糊、形变、背景干扰研究遮挡等情况,本算法的提升效果更显著,可有效解决在目标跟踪中的运动模糊、形变、背景干扰以及遮挡等问题,提升了复杂背景环境下目标跟踪准确率,具有较高的理论价值和工程应用价值。