周经纬,韩立新,李晓双
(河海大学计算机与信息学院,江苏 南京 211100)
目标跟踪是计算机视觉中一个重要的研究方向,其目的是在给定某视频序列初始帧的目标大小与位置的情况下,预测后续每一帧中目标的大小与位置。它有着广泛的应用场景,如智能视频监控、无人驾驶和医疗诊断等。但同时目标跟踪面临着几大难点,常见的难点包括光照变换、背景复杂、尺寸变化、快速运动、遮挡等[1-2]。一个出众的跟踪系统应该能在复杂场景中识别并跟踪不断变化的目标,这就需要算法在跟踪过程中有稳定的适应机制。因此设计一个兼顾精确性、实时性和鲁棒性的跟踪系统一直是计算机视觉领域中的热点和前沿。
目标跟踪技术主要分为生成式模型和判别式模型这2种[3]。当前,判别式方法中的相关滤波类方法因其速度优势而备受推崇。
相关滤波类跟踪方法的核心思想是学习一个滤波器,让下一帧的图像与滤波器做卷积操作,得到响应最大的像素点为预测目标的中心。Bolme等[4]首次在目标跟踪领域中引入相关滤波的概念,提出了最小输出平方误差(Minimum Output Sum of Square Error, MOSSE)滤波器。Henriques等[5]提出了核相关滤波算法(Kernel Correlation Filter, KCF),该算法基于梯度直方图(Hisogram of Oriented Gradient, HOG)[6]特征,使用循环矩阵采样,在频域中计算相关性,提高了跟踪速度。Danelljan等[7]在单通道灰度特征的基础上扩展了多通道颜色特征(Color Name, CN)。由于HOG特征强调的是梯度信息,而CN特征强调的是颜色信息,所以HOG+CN成为近年来相关滤波算法的常用特征组合。随着深度学习的发展,手工特征的弊端日益显现,手工特征无法适应目标的快速形变、遮挡等因素,因此,相关滤波类跟踪算法中C-COT[8]、ECO[9]等算法就利用了深度学习强大的特征表达能力。
目标跟踪技术不断发展,大多数研究者将目标跟踪的重点放在基于RGB视频序列上,但是相机将3D场景拍摄成2D图像的过程中会造成诸如空间位置等信息的丢失,提取的特征很容易受到光照、复杂背景的影响。因此,越来越多的学者将多模态[10]技术引入到目标跟踪当中。Arca等[11]2012年提出了结合音频、视频的行人跟踪算法,通过模态融合,跟踪效果有了很大提升。Zhang等[12]提出了DSiamMF模型,该方法使用可见光图像序列和红外热图像序列,解决了单模态RGB图像因照明条件差等导致的不可靠的问题。Xue等[13]提出了基于可见光和深度图像(RGB-D)的行人跟踪算法,深度信息可以提供足够空间信息,使得行人跟踪与分割更加方便。由此可见,单一模态在目标跟踪领域中的弊端日益凸显,多模态信息之间的互补能够大大提高跟踪模型的鲁棒性[14]。
本文提出一种基于多模态数据的目标跟踪算法,该算法结合并改进了传统KCF和CN算法。首先,针对单模态图像信息量少的问题,本文将RGB图像与深度图像进行针对图像的像素级模态融合[15],使模态之间信息互补。其次,为了增强模型鲁棒性,提出响应图的决策级模态融合[15],减轻因为单个模型漂移导致的跟踪失败的问题。此外,在跟踪过程中,添加遮挡检测以及遮挡处理模块,使模型在目标遮挡出现时进行针对性处理。实验结果显示,该算法在目标遮挡、背景斑驳等难点出现时,表现出良好的跟踪效果。
KCF与CN是在CSK算法[16]基础上作出的改进,CSK是一种简单高效的目标跟踪算法,该算法采用岭回归的方式来训练跟踪器,目标函数为:
(1)
其中,xi为输入图像,yi为响应图,f(xi)为滤波模板与图像特征的相关操作,L(·)为损失函数,w为滤波模板,λ为正则化系数。由于大部分数据是线性不可分的,所以需要进行维度提升,在高维空间中,滤波器可以表示为样本的线性组合,则线性分类器可表示为式(2):
(2)
其中,κ(xi,xj)为核函数,αj为第j个样本对应的权重,原目标函数转换为:
min [(Y-Kα)T(Y-Kα)]+λαTKα
(3)
其中,K为核相关矩阵,α为样本权重向量,Y为样本总体相应图矩阵。最后通过正则最小二乘法求出解,形如式(4):
α=(K+λI)-1Y
(4)
其中,I是单位矩阵。最终,根据卷积定理,利用以上封闭解可以在频域快速得到滤波器w的参量α,形如式(5):
α=C(F-1(1/(F(k)+λ)))Y
(5)
其中,k是循环核矩阵K的基向量,F(·)表示傅里叶变换,F-1(·)表示傅里叶逆变换。在跟踪过程中,通过式(6)得到响应图,将响应最大的像素点作为目标区域中心。
Y=F-1(F(α)⊙F(kxz))
(6)
其中,kxz为上一帧样本x和检测样本z核矩阵的基向量。
模态融合指机器从文本、图像、语音、视频等多个领域获取信息,实现信息转换和融合,从而提升模型性能的技术[17]。模态融合一般分为3个层次,即前端融合、中间融合和后端融合。针对图像而言,前端融合又称像素级融合,是指将2个不同来源的图像直接进行融合,融合后的结果一般会出现很多冗余的信息。中间融合又称特征级融合,该方法可以通过调整融合的位置提高性能,因此该方法具备很好的灵活性。后端融合又称决策级融合,以集成学习[18]为代表,该类方法对不同模态或者不同模型输出的结果打分,根据得分情况进行融合,由于其各个模型相对独立,互不影响,一般鲁棒性较好。
本文提出一种基于多模态数据的目标跟踪算法,并对数据进行2个层次的模态融合,多模态数据由RGB图像序列与深度图像序列组成。该算法通过上一帧跟踪结果以及深度图像计算出目标平均深度,根据平均深度,对RGB图像与深度图像进行像素级融合。得到融合图之后,分别提取HOG特征以及CN特征,将2种经过不同滤波得到的响应图进行决策级融合。在此基础上,本文增加了遮挡检测模块,通过深度直方图,判断是否出现了遮挡,以便模型能够在遮挡出现的时候进行针对性处理。
针对图像融合的问题,刘新卉[19]采用了分层的思想,先将深度图像聚类,再根据不同类别的平均深度进行分层,构建出简化的三维空间模型,但该方法计算量大,且聚类的类簇个数及范围对跟踪结果影响较大。基于此,本文提出一种简单高效的融合策略,融合流程如图1所示。
图1 融合流程
图2 图像融合结果
图3 下采样结果
下采样结束后,对r1与r2进行加权融合,权重的取值根据跟踪的置信度自适应调整,本文将最大响应值作为跟踪的置信度,由此,融合后的响应图(见图4)可以表示成公式(7):
(7)
图4 响应图融合
图4(c)展现了融合后的结果,经过融合,图4(b)中较为分散的响应峰值转变为集中于2个算法都有较大响应的区域。可见,该方法可以防止因单个模型漂移导致跟踪失败的问题。
目标遮挡一直是跟踪领域的难点,本文使用的RGBD数据,能够反映物体空间信息,在处理遮挡上有一定的优势。丁萍等[20]提出了一种基于RGBD数据的遮挡检测以及恢复方法。该方法使用深度直方图,直方图在通过遮挡物时会出现新的峰值。因此,根据目标深度原始峰值与遮挡物峰值的比值来判定遮挡程度。但是,在直方图中准确找到新出现的遮挡物并得到遮挡物部分的峰值很困难,存在噪声点时,模型容易出现误判。此外,该方法通过形态学分割的方法进行遮挡恢复,计算量很大。相比之下,本文提出的方法更加简单高效。每一帧跟踪结束后,可以得到目标区域的深度直方图。若当前帧未发生遮挡,去除离散点后,该直方图为单峰直方图,如图5所示;若发生遮挡,则为多峰直方图,且新出现的峰在目标的左侧,直方图如图6所示。
图5 遮挡未出现时的深度分布
图6 遮挡出现时的深度分布
从图5、图6可以看出未发生遮挡时,数据分布较为集中,标准差较小。当遮挡发生时,数据分布较为分散,标准差较大。所以,本文提出直接对标准差使用阈值的方法来判定是否发生遮挡。通过大量数据集以及实验,本文将标准差阈值设置为50。在遮挡发生时,为了防止滤波器学习到遮挡物的信息,滤波模板只用来检测物体是否重新出现,不进行更新,目标深度也保持不变。即遮挡恢复以后,还在原来的目标层进行RGB图像与深度图像的融合。
此外,对于完全遮挡的情况,目标框会计算遮挡物的深度分布,导致标准差很小,如果仅仅依靠标准差判断遮挡会导致模型的漂移。对于该情况,需要结合跟踪结果的置信度进行评判。本文采用最大响应作为置信度评判标准,若最大响应值超过0.5,则认为目标重新出现,继续跟踪任务。图7反映了完全遮挡时的深度分布。
图7 完全遮挡时的深度分布
为了评价本文提出的跟踪算法,实验在普林斯顿跟踪基准[21]上进行。该数据集包括5个验证序列以及95个测试序列。每个序列包括一组RGBD文件和depth文件,这2种形式的图像序列由同一台微软Kinect1.0所采集。数据集中还包含存储摄像机的固有参数信息的frame.json文件以及存储目标初始位置的init.txt文件。5个验证图像序列都配备人工标注的txt文件,记录了目标中心以及目标大小。数据集每个序列都包含很多在跟踪中具有挑战性的因素,比如部分或完全遮挡、背景复杂、快速运动等。因此,该数据集能够对模型进行很好的评估。
本文使用距离准确率和重合成功率来对跟踪算法进行评价。距离准确率为跟踪算法估计目标位置的中心点与人工标注目标的中心点距离小于给定阈值的视频帧百分比。距离的计算公式如式(8):
(8)
其中,(x1,y1)和(x2,y2)分别表示目标位置的中心点和人工标准目标位置的中心点坐标,一般距离阈值设定为20个像素点。重合成功率为当某一帧的重合率大于设定的阈值视频帧占所有帧的百分比。重合率计算公式如式(9):
(9)
其中,a表示追踪算法得到的目标区域,b表示人工标注给出的目标区域,|·|表示区域中的像素数目,一般重合率阈值设定为0.5。
本文提出的基于多模态数据的目标跟踪算法特征提取部分采用了HOG+CN的特征组合,HOG特征的通道数为31,CN特征的通道数为11,经过降维变成2。搜索区域为目标区域的2.5倍,正则项因子λ为0.001,学习率设置为0.0075,CN中压缩学习率为0.15。此外图像融合中的目标活动范围设置为1 m,遮挡检测中的标准差阈值设置为50。实验平台为MATLAB 2017b,运行CPU为Intel Core i7-7700CPU,以及16 GB内存。
为了验证本文算法的有效性,将该算法与其他不同算法进行比较,包括相关滤波算法:KCF、CN、SAMF[22]、FDSST[23]、BACF[24],深度学习算法:SiamFC[25]以及相关滤波与深度学习结合的方法ECO[9]。本文算法是基于RGBD多模态数据,其余所有算法使用的是RGB单模态数据,这样可以对多模态数据在跟踪中的有效性进行验证。
本文从3个方面分析实验结果,首先定性分析本文算法在难点视频上的跟踪结果,其次定量分析各个算法在32个遮挡视频上的表现,最后对各个算法的跟踪速度进行比较。
从普林斯顿RGBD数据集中挑选出3个难点视频,对它们进行算法结果的对比展示以及定性分析,所选的3个视频分别为toy_mo_occ、cf_occ3和bear。为了避免跟踪框过多影响结果分析,选取KCF算法、CN算法与本文算法进行定性分析。其中,KCF算法基于RGB图像序列和HOG特征,CN算法基于RGB图像序列和CN特征,这2种方法均没有使用到多模态数据。图8~图10展示了各个算法在3个难点视频上面的跟踪结果。其中,实线、虚线以及点线分别对应本文算法、KCF算法以及CN算法。
如图8所示,视频toy_mo_occ难点在于目标在摇摆时左右遮挡多次,目标颜色不显著。可以看到,第27帧~第38帧遮挡出现或目标被完全遮挡时,跟踪结果没有发生改变,模板未更新,但是会在检测区域继续进行相关性计算,直至目标重新在第58帧中出现。而KCF算法与CN算法学习到了左边熊的信息。所以,当目标再次出现时,滤波模板已经“不认识”目标。由此可见,本文提出的遮挡检测模块在实际跟踪中效果显著,能够在遮挡出现时进行针对性处理,防止模型的漂移。
图8 toy_mo_occ视频跟踪结果
如图9所示,视频cf_occ3难点在于杂乱的背景、光照偏暗和部分或完全遮挡。由跟踪结果可以看出,KCF在复杂背景的干扰下,模型漂移,但CN特征对本视频目标的颜色表达出色。响应图融合之后,CN算法出众的表现减轻了KCF算法对跟踪结果的影响。由此可见,响应图融合在单个模型漂移或跟踪失败时,能够取长补短,最终取得较好的跟踪效果。
图9 cf_occ3视频跟踪结果
如图10所示,视频bear难点在于背景与图像相似、被重复遮挡很多次、尺度变化等。由图可见,KCF由于遮挡学习到了遮挡物的信息发生漂移,而CN算法因为背景颜色类似,跟踪到了背景上,目标在视频中帧与帧之间运动区域变化不大。所以本文提出的图像融合在这一步中去掉了容易干扰的背景,融合后的图像仅仅剩下目标以及遮挡物,KCF和CN在融合后的图像上发挥了各自的优势,从而解决了遮挡问题。
图10 bear视频跟踪结果
在普林斯顿RGBD数据集中,对32个所有具有遮挡挑战的视频进行人工标注,这些视频同时也包含背景复杂、光照偏暗等挑战,对主流的滤波跟踪算法在遮挡类视频上进行分析。
图11是各个算法的平均准确率曲线,横坐标表示距离阈值,纵坐标表示准确率大小,平均准确率曲线上每一点表示在该距离阈值下,所有遮挡类视频的准确率均值,一般取阈值20对准确率进行分析。由图11可知,KCF、CN、SAMF、FDSST、SiamFC、BACF以及ECO算法的准确率分别为40.72%、39.3%、51.02%、42.82%、54.48%、55.74%、68.03%,本文算法的准确率为64.16%。图12是各个算法在遮挡类数据集上的平均成功率曲线,横坐标表示重叠阈值,纵坐标表示成功率大小,平均成功率曲线上每一点表示在该重叠阈值下,所有遮挡类视频的成功率均值,一般取阈值为0.5对结果进行分析。由图12可知,KCF、CN、SAMF、FDSST、SiamFC、BACF以及ECO算法的准确率分别为34.25%、35.20%、44.48%、37.58%、48.38%、47.49%、61.21%,本文算法的成功率为50.83%。
图11 距离准确率曲线
与相关滤波类算法相比,本文算法效果较好,对于目标遮挡类视频在准确率上提升了8.4个百分点,成功率上提升了3.3个百分点。与深度学习类方法SiamFC算法相比,准确率提升了9.7个百分点,成功率提升了2.5个百分点。但与ECO算法相比,还有一定的差距。经过分析,ECO算法采用的是深度学习进行特征提取,深度学习提取的特征对目标形变、遮挡等均有良好的适应效果,但是在预训练特征提取的模型时会花费一定的时间。总体来说,本文算法符合最初解决遮挡问题的预想,并且验证了多模态数据在目标跟踪中的有效性。
图12 重合成功率曲线
(a) 问题一 (b) 问题二
如图13所示,该算法在部分视频上效果不太理想,图13(a)来源于bdog_occ2视频,由于目标框较小,该帧检测到遮挡,但是在遮挡期间目标“跑出”了本文设定的虚线的检测范围,导致模型后期跟踪失败。图13(b)来源于dog_occ_3视频,由于目标发生了形变或者尺度发生了变化,目标框大小保持不变,导致目标框框到了其他物体,使滤波模板遭到污染,导致跟踪失败。
以bear视频为基准,分析各个算法的跟踪速度。由表1可以看出,KCF跟踪速度最快,达到131帧/s。但是KCF没有解决边界效应、尺度变化等问题,导致其效果较差。SAMF跟踪速度较慢,仅有7.69帧/s,因为该算法引入尺度池,计算不同尺度的响应花费了很多时间。同样解决边界效应的FDSST因为使用了降维所以速度得到了提升。此外,ECO算法以及SiamFC用到了深度网络,在进行前向计算的时候会花费一定的时间。本文算法提取了HOG特征以及CN特征,并且对每一帧进行遮挡检测,相比于KCF与CN速度有所下降,但与SiamFC、BACF和ECO处于同一水平,且不需要提前预训练,基本满足实时跟踪的要求。
表1 算法速度表
本文提出的基于多模态数据的目标跟踪算法,通过图像融合减轻前景、背景对目标的干扰,引入遮挡检测模块处理遮挡问题,此外,为了综合多个模型的结果,将响应图进行融合。在普林斯顿数据集上的性能测试表明,本文算法可以在一定程度上解决遮挡问题,提高滤波器的鲁棒性。但是本文提出图像融合的前提是目标不会发生快速移动,目标发生尺度变化也会给平均深度的计算带来误差。此外,如何准确高效地通过深度图整体的深度分布自适应地调整目标活动范围和遮挡检测阈值也是后续工作的重点。