基于外观相似性更新的相关滤波跟踪算法
2022-02-16姬菁颖宋玉蒙梁斐菲罗志伟
方 澄, 路 稳, 姬菁颖, 宋玉蒙, 梁斐菲, 罗志伟
(中国民航大学电子信息与自动化学院, 天津 300300)
0 引 言
视觉目标跟踪是计算机视觉中非常重要的任务之一,广泛地应用于智能视频监控、人机交互、智能导航、医疗诊断、雷达目标跟踪等方面。目标跟踪的任务是在给定目标初始位置与尺寸信息的情况下,预测后续目标的状态。而由于在真实目标跟踪场景中常存在多种复杂问题,比如:① 目标遮挡、背景杂波、光照变化等环境变化影响;② 目标本身的快速运动、形变、旋转、尺度等目标变化影响;③ 视频采集时低分辨率、相机快速运动、目标超出视野等采集设备影响,因此设计一个在真实应用环境下鲁棒且准确的跟踪算法仍然具有很高的挑战性。
相关滤波思想的引入,使得视觉目标跟踪的实时性和准确性得到了明显提高。最初的相关滤波算法使用灰度特征进行目标外观表达,使用循环矩阵提取样本,并将时域的计算转换到频域,提高了跟踪的效率。但是,灰度特征远远不能准确地表达目标,研究人员开始将颜色特征、梯度方向直方图(histogram of oriented gridients,HOG)特征、深度特征加入到目标跟踪中。王乃岩等人通过实验分析了目标外观表达对目标跟踪具有明显的影响。基于此项研究,后续的一些研究工作在算法设计上将不同的特征组合进行融合,将融合后的特征用于外观建模。不同于这些特征级的融合算法,Staple分别提取颜色特征和HOG特征建立不同的目标模型,并考虑决策级的加权融合。而人工设计的特征不能很好地表达目标的特点,一些算法开始探索使用神经网络提取目标的深度特征。依靠深度学习算法对于目标特征的强大提取能力,研究者们设计出来多种目标跟踪的深度学习网络模型,而孪生网络利用提取的深度特征进行模型间的匹配,也成为了目前目标跟踪最为主流的网络框架。但深度学习网络模型在训练时需要大量的线下训练,而且模型计算复杂度高,实时性表现差。同时由于深度网络跟踪算法通常包括模型训练和在线跟踪两个阶段,在模型训练时需要对算法进行预先的跟踪训练,而训练得到的深度特征通道在目标在线跟踪时可能存在冗余,因此需要对特征通道进行选择并且对特征空间进行压缩,才能达到实际应用的实时性需求。
无论是相关滤波算法还是深度学习算法都是主要从目标的特征表达方面进行考虑,对跟踪算法性能进行了极大的改善,但是当目标发生遮挡、变形、模糊时,特征表达将发生畸变,使得目标跟踪容易产生漂移现象,目前仍没有针对漂移的有效的解决方法,特别是传统相关滤波算法的无差别更新使得遮挡、形变时的干扰特征持续保存到目标模型中,造成跟踪模型的退化,目标更容易发生漂移或者丢失。
因此,本文提出基于核相关滤波(kernel correlation filter, KCF)的自适应更新的目标跟踪算法(adaptive updating target tracking algorithm based on KCF,AUKCF)算法,能够有效地减少模型退化和目标漂移,提高目标跟踪的稳定性和准确性。该算法使用多峰响应检测对容易发生漂移的场景进行判断,并使用显著性检测对目标位置进行修正,考虑到显著性检测方法可能存在的检测误差,算法提出一种针对显著性检测位置和多峰位置的重检测策略,提高了对目标漂移进行重新定位的准确性。同时,考虑到在遮挡、变形时模型的无差别更新造成保存的干扰特征引起模型退化的问题,创新性地提出一种基于斯皮尔曼相关性判断的自适应更新策略,当斯皮尔曼相关性小于阈值时,将当前帧目标判别为干扰目标,不对算法模型进行更新,从而保持模型的健壮,降低模型退化的影响。
本文所提AUKCF算法主要的贡献包括:第一,提出一种针对多峰响应的显著性检测定位的方法;第二,为了对显著性检测的准确性进行判别,算法提出使用重检测的策略对显著性检测的位置及多峰响应的位置进行重检测;第三,针对模型的无差别更新,提出将斯皮尔曼相关性判断应用于跟踪算法的新型、通用自适应更新策略。在OTB2015和VOT2018上的评测结果显示,AUKCF算法达到了最优的性能,并且特别需要指出AUKCF算法在使用少量训练样本条件下,不论算法精度还是成功率,均超过了评测中使用的流行深度学习方法。
1 相关工作
1.1 显著性检测跟踪
视觉显著性是根据人的视觉系统的注意力总是集中于场景中的突出物体的特性设计的,目的是检测场景中最引人注目的物体。目标跟踪算法中通常使用显著性检测来进行跟踪结果的校正。使用平均峰值相关能量(average peak-to-correlation energy, APCE)作为跟踪结果的置信度进行判断,当低于置信度时仅使用显著性检测的结果作为目标的判别定位,而当高于置信度时则用原跟踪器进行目标跟踪定位。这种方式一定程度上减少了漂移对跟踪算法的影响,但由于缺乏对显著性定位的结果判断,当显著性检测定位出现偏差时,跟踪定位结果,因此也会出现漂移。而将显著性检测进行跟踪的结果与相关滤波算法跟踪结果进行融合加权一定程度上减少了显著性检测偏差的影响,提高了跟踪的准确性。这些算法直接使用显著性检测的结果进行定位判断,一旦显著性检测的结果不准确,跟踪结果也会产生一定的漂移。因此本文将对上述方法进行改进,提出了一种针对显著性检测结果的重检测方法,在一定程度上减少了显著性检测结果偏差带来跟踪漂移的可能性。在此基础上,算法使用响应的多峰结果选择性进行显著性检测,缩小了目标检测的范围,缩短了每帧进行显著性检测的时间,提高了跟踪算法的速度。
1.2 模型退化
模型随着时间的推移可能产生变化,尤其是在相关滤波类算法中,采用线性插值进行更新的方式,更容易叠加干扰噪声,引起模型退化。因此,根据目标检测中跟踪响应结果的反馈,来决定是否更新模型就很有必要。Wang等人利用目标检测响应的APCE作为评价指标来设计跟踪置信度判定策略,处于高置信度时进行更新,反之则不进行更新。还有一些方法采用正则化的算法,在进行模型学习的同时进行模型更新,优化模型的同时进一步防止了模型的退化,空间正规划判别相关滤波器(spatially regularized discriminative correlation filters,SRDCF)算法根据目标的位置特点加入了空间正则化,减轻了模型的边界效应,在此基础上,Li等人提出加入了时间正则化,在保证模型与历史模型相似的前提下防止模型的退化。AutoTrack算法使用局部响应和全局响应的特点分别作为时间和空间的正则化条件,跟踪精度得到进一步提高。而本文提出了一种新的模型更新方式,将斯皮尔曼相似性判断引入目标跟踪算法,检测判断目标遮挡、形变等情况,当相似性条件低于某一阈值时,当前模型不需要进行更新;当斯皮尔曼相似性大于某一阈值时,当前模型存在干扰的可能性较低,进行模型保存并更新。
2 AUKCF算法
本文提出的AUKCF算法是基于KCF算法提出的显著性重检测定位以及斯皮尔曼相关性判别的自适应更新方式,算法框架如图1所示。
图1 AUKCF算法总框架Fig.1 Overall procedure of AUKCF algorithm
图1中,① 表示算法首先使用相关滤波算法得到目标响应。② 表示当响应为正常的单峰情况时,根据响应图的最大值位置定位为目标位置。③ 表示传统相关滤波算法在复杂环境下响应图容易出现多峰现象,当出现多峰状态时,使用显著性方法进行检测,得到被检测区域的显著性位置。④ 表示对显著性检测的位置和响应图中最高峰和次高峰的位置进行响应的重新计算判断目标位置。⑤ 表示提取当前目标位置的灰度特征并与第1帧目标的灰度特征计算斯皮尔曼相似性。⑥ 表示通过自适应的方式更新滤波器模型和目标模型。本节首先介绍基本的KCF算法,然后介绍本文提出的显著性检测及其重检测方法,最后介绍提出的自适应更新方法。
2.1 KCF算法
KCF算法主要分为模型训练、目标定位和模型更新3部分。
(1) 模型训练
KCF算法中滤波器的训练可以看作是求解岭回归的问题:
(1)
式中:为循环移位采样的第个训练样本;为第个训练样本对应的高斯标签;是列向量,表示权重系数;为正则化系数,模型训练的过程就可以看作是求解的过程。
在线性空间中,()=,将式(1)写成矩阵形式为
(2)
式中:=[,,…,],的每一行表示一个向量。是列向量,第个元素对应,每一个元素表示一个样本标签。
为了使得映射后的样本在高维空间中线性可分,算法中引入非线性映射函数(·)将特征空间映射到更高维空间,使得可以表示为
(3)
式中:为权重系数。
因此,的求解可以转换成对的求解,为的向量形式,式(2)可以写成
(4)
式中:()=[(),(),…,()]。
令导数为0,可以求得
=(()()+λ)
(5)
式中:为表示核空间中的权重系数的列向量。
令=()()表示核空间的核矩阵,则
(6)
经过快速傅里叶变换,可将式(6)变换为
(7)
通过上述步骤就可以通过对所有训练样本进行岭回归训练得到滤波器模型。
(2) 目标定位
用前一帧得到的目标位置为中心,使用25倍目标大小的区域,作为当前帧的候选测试区域,从中提取测试样本,并对目标进行检测,将当前帧的测试样本和训练得到的滤波器计算相关性响应,响应最大的位置判断为当前目标的位置。定义核空间中的测试样本和训练样本的核矩阵=()(),则测试样本的响应为
(8)
式中:是的第一列。
(3) 模型更新
(9)
(10)
2.2 基于显著性的目标重检测
在KCF通过式(8)获得目标响应之后,本文对响应图进行多峰响应的检测,文献[11]中提出了有关多峰响应的概念,当采样范围内存在相似物体或者背景噪声时响应图可能存在多个峰值接近的情况,响应图的其他峰值和最高峰值的比例超过一定阈值则认为是多峰响应状态。在多峰响应状态时,本文对当前采样范围进行显著性检测,得到显著性目标位置,然后保存多峰响应中的最高峰和次高峰的位置,针对显著性目标位置、最高峰位置、次高峰位置分别进行响应重计算,重新确定目标位置。
显著性重检测首先检测响应图中所有像素邻域范围内最高点即峰值的位置,对于输入的响应图,峰值位置的计算可以表示为
(11)
对峰值大小进行排序,由于次高峰和主高峰对目标位置的判断影响最大,所以本文中仅对最高峰和次高峰进行计算,响应状态判断如下:
(12)
式中:为返回响应峰值的位置;为次高峰对应的响应大小;为最高峰对应的响应;为判断阈值。()表示最高峰对应的位置;(,)表示次高峰位置和最高峰位置的集合。当次高峰与最高峰比值大于时,认为次高峰有可能是目标的正确位置,同时将次高峰和最高峰的位置输出。次高峰与最高峰比值小于等于时,认为次高峰是正确位置的可能性不大,最高峰所在的位置即为当前目标的位置。
当次高峰与最高峰比值大于时,对目标区域进行显著性检测,使用基于图形的视觉显著性(graph-based visual saliency,GBVS)算法进行显著性目标位置定位。显著性检测使用颜色、亮度、方向特征构造区域特征图×,把每个像素作为图的节点,根据像素的特征差异性构造图模型,节点(,)和(,)的特征差异性为
(13)
式中:((,)||(,))表示节点(,)和(,)比值的对数距离。
对于有向图,节点(,)到节点(,)有向边可以表示为权值:
((,),(,))=((,)||(,))(-,-)
(14)
其中,
(15)
式(15)定义了距离权重,距离越远对结果影响越小。最后构造二维图像的马尔可夫链并计算均衡分布,最后的均衡分布即为显著性图。显著图的75%显著性区域的中心即为显著性目标的位置。将显著性检测得到的位置以及多峰的位置分别与目标模型重新计算响应,则可以表示为
(16)
由式(16)得到3个响应图,将3个响应图中最大响应进行排序,响应值最大的位置作为目标重检测的最终位置。
通过将多峰位置与显著性检测的位置进行重检测可以提高目标定位的准确性。而当目标周围存在干扰,采用KCF中的更新方式会通过式(9)和式(10)的更新将干扰保存到模型,容易引起模型退化,产生目标漂移。因此,本文在显著性重检测之后采用基于外观相似性的自适应模型更新方式。
2.3 基于外观相似性的更新方式
针对KCF算法传统更新方式在目标出现干扰时引起模型退化的问题,本文提出基于外观相似性的更新方式,判断当前模型是否适合进行更新。这里采用的是斯皮尔曼相关性系数来判断外观的相似性,斯皮尔曼相关性系数通常也叫斯皮尔曼等级相关系数或者斯皮尔曼秩相关系数,常用于判断数据的相关性。在目标跟踪算法中,对给定的初始帧的目标,提取目标灰度特征作为数据集X,后续的预测目标提取的灰度特征数据作为数据集,假设和的数据长度是,集合中任意一个元素值表示为、(1≤≤),对数据集、中的所有元素同时进行升降排序,分别得到进行数值重新升降排序后的新集合′、′,其中元素′为′中的第个元素,′为′中的第个元素,将集合′、′中的相应位置元素相减得到一个排行差分集合,其中=-,∈,1≤≤,则图像和图像之间的斯皮尔曼等级相关系数的计算公式为
(17)
以OTB2015中的Basketball视频序列为例,通过计算当前目标和初始目标的灰度特征的斯皮尔曼相似性,可以得到变化规律如图2所示。图中红色线条为算法选定阈值,从图2中可以看出斯皮尔曼相似性低于阈值时,目标出现严重形变或者目标受到严重的遮挡、背景杂波等干扰的情形。如果目标过多的保存到这些干扰,模型就会发生退化,引起跟踪漂移。因此,值不能过大,否则会将一定程度范围的遮挡、形变、背景杂波等保留到模型中,降低模型的鲁棒性;而值过小,则会保留过多的干扰信息,模型产生退化。斯皮尔曼相关系数的阈值是根据实验效果不断调试的结果,但不是固定的参数,只是相似性判断的依据,经过大量实验观测,在02至04范围之间进行取值都可以获得比较好的性能结果。当斯皮尔曼相似性低于时不进行当前模型的更新,从而可以进一步提高目标模型的稳健性,减少模型退化的影响。
图2 斯皮尔曼相似性Fig.2 Spearman correlation
AUKCF算法在传统的KCF算法的基础上将显著性检测融入到跟踪过程中,可以对目标跟踪结果进行调整。同时,AUKCF算法改进了KCF算法的更新方式,使用外观相似性的自适应更新方法提高模型的稳健性,进一步减少目标漂移。
3 实验及分析
3.1 实验环境与参数设置
本实验环境配置为Intel Xeon W-2235 CPU(主频为3.80 GHz),RAM为64 GB的计算机,测试平台为Windows10+Matlab R2014b。本文采用公开数据集OTB2015和VOT2018对AUKCF算法进行验证分析,为了评测的公平性,在所有的测试中使用作者提供的源码并使用默认参数值。本文中=07,=0.25。AUKCF算法速度可以达到93.84 fps,完全可以满足实际应用的实时性需要。
3.2 实验数据集及实验指标介绍
3.3 消融实验
本节中对AUKCF算法的每一个组成部分进行分析,主要包括显著性检测调节部分和模型的自适应更新部分。算法沿用了KCF的特征和核函数以及更新时的参数,为了说明每一个部分的作用,本节进行了消融实验分析,每一个实验设置如表1所示。
表1 消融实验设置
如表1所示,KCF为基准的实验算法,本文的算法在KCF算法上进行改进,KCFup算法在KCF的基础上加入自适应更新模块,为了和本文效果进行比较,更新的阈值=0.25。KCFsd算法在KCF算法的基础上加入显著性检测用以对响应的结果进行响应状态判断并进行重检测定位目标的位置。而本文提出的AUKCF算法则是将二者进行结合,即使用显著性检测对目标的跟踪结果进行修正,又使用自适应更新模块对模型进行选择性的更新。
为了验证各部分的有效性,在OTB2015中选择了部分存在遮挡问题和形变挑战的视频进行消融实验,结果如图3所示。从图3中可以看出,在一次通过评估(one-pass evalution, OPE)的精度图和成功率图中,在KCF中只加入自适应更新方法后的KCFup相比KCF提高1.9%和2.3%,在KCF中只加入显著性重检测方法后的KCFsd相比于KCF提高5.8%和3.2%。而将自适应更新和显著性检测都用于目标跟踪时的AUKCF平均跟踪精度、平均跟踪成功率比原始的KCF分别提高了14%和11.8%,目标跟踪的效果得到更明显的提高。但是与同时使用显著性和自适应更新的AUKCF算法相比,仅使用显著性检测或者自适应更新的方法相对原始KCF的性能提升要小得多,这是因为在复杂场景下出现各种干扰时,显著性检测会对目标位置进行检测,如果目标响应异常,则使用重检测进行修正,减少目标漂移的可能。同时,使用了自适应更新策略可以在目标发生干扰时选择性地对目标模型进行更新,这样就可以在目标恢复正常状态时使用显著性检测快速定位到目标。因此,在复杂场景中,AUKCF算法中的显著性检测和自适应更新策略会起到相互补充的检测效果,有一定的相互促进作用,进一步提高了跟踪的准确性。
图3 消融实验精度图和成功率图Fig.3 Precision plot and success plot of ablation experiment
3.4 模型对比
本节将AUKCF算法同CSK算法、DSST算法、KCF算法、SAMF算法、LDES算法、AutoTrack算法6个相关滤波类算法以及SiamTri算法、ACFN算法、UDT算法、GradeNet算法4个深度学习算法进行比较,使用OTB2015数据集进行定性和定量分析。
3.4.1 定性分析
本节选取Football、Jogging-1、Singer2、Jump、Basketball、Deer 6个视频对11个算法进行定性分析,涵盖目标跟踪中常见的复杂场景,视频序列跟踪结果如图4所示。
图4 部分视频序列跟踪结果Fig.4 Tracking results of partial video sequences
(1) 遮挡
遮挡始终是跟踪领域最艰难的挑战,遮挡后目标的动向和大小未知,而且遮挡时目标的部分或全部特征消失,此时将模型进行保存更新会加剧模型退化,在Football视频中发生了不同程度的遮挡,在285帧时目标部分遮挡,可以看出所有算法都可以正确跟踪目标,在287帧的时候目标已经全部被遮挡,可以看出所有的算法都只定位到目标消失的地方,而在290帧目标重新出现时大多数的算法定位出现漂移,而本文提出的AUKCF算法在遮挡消失目标重新出现之后能立即跟踪到正确目标。在Jogging-1视频的66帧时跟踪的行人被部分遮挡,这时多数的算法都可以正确定位,目标在72帧时完全被路边的设施遮挡,在80帧时重新出现,此时多数算法丢失目标,只有本文算法和少数几个算法能重新检测到目标的位置。通过以Football和Jogging-1为例的不同遮挡程度下的跟踪效果可以看出,本文算法在目标的不同遮挡场景下依然可以准确跟踪,这是因为AUKCF算法在目标严重遮挡时不进行目标模型的更新,保持模型的鲁棒性,并且在目标重新出现之后使用显著性进行重检测定位,可以重新获取目标完成跟踪。
(2) 形变
在Singer2视频中,可以看出在13帧到17帧之间,歌手有了形态上的变化,多数算法跟踪位置产生漂移,只有少数算法可以准确跟踪,从17帧到28帧之间,歌手的形态有了更大的变化,可以看出多数算法已经丢失目标。在Jump视频中,在11帧到20帧之间随着跳高运动员起跳过程中的不同程度的姿势变化,多数跟踪算法丢失目标,而只有本文算法和ACFN算法在不同程度的形态变化后仍然可以准确检测目标的位置。当目标外形发生变化时,对于形变程度小的目标,本文算法依旧可以根据更新阈值的限制对目标模型进行保留更新,而当目标形变过大时,此时的模型不进行更新,但是如果目标定位出现漂移会使用显著性检测进行目标的重定位识别,进而跟踪到目标的准确位置。
(3) 光照
在Basketball视频中,可以看出在649帧时目标处在正常的光照条件下,而在650帧时目标产生剧烈的光照变化,可以看出,受到光照变化的干扰,部分算法开始跟踪目标旁边的相似的干扰,产生漂移,直至丢失目标。本文算法不受光照条件的影响仍然可以准确跟踪,一方面是因为原有的KCF算法使用的HOG特征本身就对光照变化不敏感。另一方面,本文算法使用显著性检测的方法对响应的结果进行修正,可以不受相似干扰的影响,进而保持准确跟踪。
(4) 运动模糊、快速运动、背景杂波
运动模糊通常和快速运动挑战同时产生,而在Deer视频中还受到背景杂波的影响。可以看出在24帧时,目标发生模糊,25帧时出现快速运动,同时存在相似背景的干扰,导致部分算法漂移,在26帧时,漂移算法进而丢失原有目标。本文算法之所以能继续准确地跟踪目标,一方面是因为使用显著性检测可以在快速运动和背景杂波时准确跟踪目标。另一方面,当目标受到严重干扰时,自适应更新策略会选择性地对目标模型进行更新,保持了模型的鲁棒性,在目标正常时就可以继续完成目标跟踪。
综上所述,通过定性分析AUKCF算法在目标出现遮挡、目标形变、光照、快速运动、运动模糊、背景杂波时都可以保持准确鲁棒的跟踪。尤其是目标遮挡情况下,算法表现出了优越的跟踪性能。
3.4.2 定量分析
本文使用VOT2018数据集对算法进行评测。VOT2018数据集可以分为相机抖动、超出视野、光照变化、快速运动、遮挡、尺度变化6种挑战。通过对不同挑战视频进行评测,来说明本文算法在复杂场景下的性能。为了更好地评测本文算法的效果,使用准确率均值、准确率加权平均、准确率合并方差和EAO(expected average overlap)对算法性能进行测试,实验结果如表2所示(表中加粗表示最优)。
表2 VOT2018实验结果
从表中可以看出,本文算法在相机抖动、目标快速运动、遮挡、尺度变化时均能保持最优的性能,而且在目标超出视野以及光照变化时也有不错的表现。这是因为本文算法使用显著性检测可以对快速运动、光照变化、尺度变化、相机抖动场景中的目标进行快速的检测定位,在遮挡中同样可以在目标受到遮挡重新出现、以及从视野消失又出现之后对目标进行检测,找到目标的准确位置。同时由于自适应更新可以选择性的对目标进行更新,避免了模型退化,也增加了目标受到剧烈干扰之后能快速识别检测目标,提高跟踪的准确性。
综上所述,AUKCF算法在复杂场景中仍然具有较高的跟踪精度,并且算法实时性很高,可以满足实际应用的需求。
4 结 论
本文对目标跟踪的检测阶段进行调节,提出一种显著性检测的重检测目标定位方法,显著性检测独立于跟踪过程,不受跟踪漂移影响,而采用重检测策略,又可以对显著性检测结果进行校准。同时针对环境干扰提出一种斯皮尔曼相似性模型更新的方法,相似性判断的方法可以有效检测干扰,检测到干扰时不进行模型更新,减少了模型退化,提高了目标跟踪的准确性。本文算法可为模型更新策略提供思路,即采用和目标相似性有关的判别方法实现自适应模型更新。本文算法也可以提供一种漂移检测和模型更新的思路,进一步的研究可以使用相似性判断的思想实现正则化约束。后续研究将对独立的显著性检测和相似性检测方法进行模块化,应用于在线的深度学习目标追踪算法中,实现目标检测精度的进一步提升。