多粒度相关滤波视频跟踪方法
2020-05-20沈泽君丁飞飞杨文元
沈泽君,丁飞飞,杨文元,b
(闽南师范大学 a.福建省粒计算及其应用重点实验室; b.计算机学院,福建 漳州 363000)
0 概述
视频跟踪技术是计算机视觉领域的一个重要研究方向,其目的是在连续的图像序列中建立一个可更新跟踪目标的动态表观模型[1]。跟踪技术广泛应用于自动驾驶、医学图像跟踪分析、安防监控、军事侦察等领域[2]。虽然在过去几十年中视频跟踪技术得到了快速的发展[3-5],但其还面临一定挑战,目标外观变化或目标模糊等不确定因素均给跟踪过程增加了难度。
近年来,基于生成学习类算法和判别学习类算法的跟踪技术相继被提出,如文献[6]提出的自适应局部结构稀疏表观模型和文献[7]提出的利用稀疏协同模型引入判别信息的稀疏表观模型。虽然上述模型提高了目标跟踪的精准度,但未解决如何降低复杂度、提高鲁棒性的问题。判别式相关滤波(DCF)跟踪算法在平衡跟踪精度和速度之间取得了较好效果。DCF跟踪算法通过傅里叶变换将卷积计算转换为点乘计算,使其具有较高的计算效率,有效地降低了算法的复杂度。但是,该算法对样本的数量有较高要求。为解决该问题,文献[8]提出一种最小均方误差输出总和滤波器(MOSSE)。在MOSSE的基础上,研究人员提出了大量的改进算法[1],如文献[9]提出的基于循环矩阵结构核相关滤波跟踪算法(CSK)。为了进一步提高对尺度变化的处理效果,文献[10]提出具有特征融合的尺度自适应核相关滤波跟踪器(SAMF)。近几年,基于结构相关滤波器[11]、基于长时域跟踪相关滤波器[12-14]、基于端到端相关滤波器[15-16]、基于核相关滤波器[17-18]和基于过滤式相关滤波器[19-21]相继被提出。其中,将DCF和深度卷积神经网络(CNN)特征相结合,可以得到较好的效果[22]。但是,在已有的相关滤波器跟踪算法中,通过分析各特征之间的粒度关系来提高算法精准度和时间效率的研究较少[23-24],并且多数跟踪算法只考虑单一特征的提取或者只对不同特征进行简单结合。
粒计算思维通过划分不同的粒度来求解问题[25]。粒子是粒计算模型的最小单位,一个较小的特征可以构成一个粒子,一个覆盖面较广的特征可以构成一个较大的粒子。不同粒子可能位于不同的粒层,不同的粒化标准对同一个跟踪算法生成的粒度也不同[26]。粒计算主要考虑3个问题,一是如何选取合适的粒化标准来确定粒层,二是如何在不同粒层上求解问题,三是如何在各个粒层间相互置换和融合[25]。
本文提出一种基于粒计算思维的多粒度相关滤波视频跟踪算法(MGCF)。MGCF算法对输入的视频图像中每一帧进行基础特征提取,组成一个基础特征池,通过选取特征池中不同的基础特征构造出不同粒度的特征序列,根据特征序列构成不同粒度的相关滤波器。对该帧进行各粒度跟踪,依据对比评估和自我评估来计算各粒度下输出结果的稳健性评估得分,根据评估得分的高低选择最优的粒度,该粒度的跟踪结果即为该帧的输出,系统累计各帧的输出并作为最终的跟踪结果。
1 相关工作
1.1 滤波视频跟踪算法
DCF跟踪算法的计算效率较高,其利用傅里叶变换将传统的卷积运算转化成点乘运算。设输入的特征为x,g为相关滤波器,根据卷积理论可得:
(1)
(2)
训练后的卷积核为:
(3)
根据上述方法可以在对图像进行循环卷积操作时大幅降低算法的复杂度。对一个n×n的图像分别进行传统的卷积操作和利用傅里叶变换进行点乘运算,其算法复杂度分别为O(n4)和O(n2lgn)。
利用卷积的性质,可以通过第i个输入快速找到其对应的标签yi[27]。将相关滤波器当成一个分类器,假设存在关系f(xi)=yi,则可以将训练过程等价于优化以下的目标函数:
(4)
其中,δ为模型参数,λ为防止过拟合的正则项系数,G为损失函数,具体如下:
G(f(δ,xi),yi)=(yi-f(δ,xi))2
(5)
函数f(xi)的表现形式多样,在式(5)中可表示为线性操作,如f(xi)=〈δ,xi〉+b。其中,〈〉为点积,b为常数偏值。在此线性定义下,可以利用二次误差的正则最小二乘法进行优化,得到如下闭合解:
δ=(XTX+λI)-1XTy
(6)
其中,X矩阵的行向量表示训练样本,y向量为对应的标签信息,I为单位矩阵。
可以通过引入核函数来提高算法性能。例如,利用β(x)将输入值x映射到一个非线性的特征空间并汇总,使得参数δ可以用一个线性组合类来表示:
(7)
根据文献[28]的研究结果,最终的函数f(xi)如式(8)所示:
(8)
其中,κ(xi,xj)=〈β(xi),β(xj)〉,核矩阵k中对应的元素kij=κ(xi,xj),则求解的优化问题可以转变为:
α=(K+λI)-1y
(9)
跟踪的过程就是利用一个已训练好的参数和一个基于样本所构成的模型来检测待测区域。当待测区域出现时,最终的响应可以由式(10)得到:
(10)
1.2 粒计算的粒度理论
(11)
B的粒度反映其分辨能力[29]。GD(B)表示在U中随机挑选2个对象的B-不可分辨的可能性的大小,其值越大表示分辨能力越弱。
2 多粒度相关滤波器
如图1所示,MGCF算法对输入的图像提取基础特征构成一个特征池,通过对特征池中的基础特征进行组合,构成不同粒度下的相关滤波器,然后根据其稳健性评估得分的高低选择最优结果,粒度的跟踪输出就作为该帧的结果。
图1 MGCF算法的系统流程
2.1 基础特征池与粒度池
MGCF算法有一个粒度池用以收纳各粒度下的相关滤波器,其相关滤波器是由基础特征池中的4组基础特征组合形成。第一组基础特征为文献[30]中使用的方向梯度直方图(HOG)特征,记为C1,余下3组使用文献[31]提出的HOG特征版本,第二组使用其1维~18维,第三组使用其19维~27维,第四组使用其28维~31维,分别记为C2、C3、C4。综上,基础特征池为{C1,C2,C3,C4},并组合形成14个相关滤波器,记为Gi。各粒度下的相关滤波器对应的特征组合如表1所示。
表1 各粒度相关滤波器对应的特征组合
Table 1 Characteristic combination corresponding to each granularity of correlation filter
相关滤波器特征组合相关滤波器特征组合G1{C1}G8{C2,C3}G2{C2}G9{C2,C4}G3{C3}G10{C3,C4}G4{C4}G11{C1,C2,C3}G5{C1,C2}G12{C1,C2,C4}G6{C1,C3}G13{C2,C3,C4}G7{C1,C4}G14{C1,C2,C3,C4}
虽然与G11~G14相比,G1~G4的特征较少,但是它们为跟踪结果提供了多样性,这对于整个跟踪系统的判断是必不可少的。
2.2 多粒度相关跟踪器
本文MGCF算法是可多线程并行的跟踪算法,并且可以基于各粒度下的跟踪判断综合评价出一个最优解给每一帧。如图2所示,节点为各粒度下的预测结果,通过对比评估和自我评估可得出每个粒度的稳健性评估得分。
图2 评估过程示意图
2.2.1 对比评估
(12)
(13)
(14)
(15)
(16)
2.2.2 自我评估
(17)
2.2.3 各粒度的稳健性评估与筛选
(18)
其中,μ为参数。在各帧下,系统根据各粒度的稳健性评估得分来筛选出最优粒度,以此作为当前的跟踪结果。
2.3 MGCF算法模型
如图3所示(彩色效果见《计算机工程》官网电子版),多粒度相关滤波跟踪算法共有14个粒度滤波器对图像进行跟踪,在每一帧中,选择稳健性评估得分最高的粒度作为该帧的结果,如MGCF算法在第32帧中选择粒度13、在第142帧中选择粒度7、在第206帧中选择粒度6。MGCF算法模型如图4所示。
图3 MGCF算法的粒度选择过程
图4 MGCF算法模型
MGCF算法步骤具体如下:
算法1MGCF算法
输入视频序列X={x1,x2,…,xn},第一帧的初始位置
1.对第i帧的图像数据进行基础特征提取
2.由基础特征组合各粒度的相关滤波器
4.进入下一帧,返回步骤1,直到n
3 实验结果与分析
在OTB-2013和OTB-2015 2个公开数据集上,将本文MGCF算法与SRDCF、C-COT、SAMF、Staple、KCF和DCFNet 6个视频跟踪算法进行比较与分析。
3.1 实验设置
实验使用CPU为Intel(R)Core(TM)i7-6500U、GPU为GeForce 920MX、内存为8 GB的电脑,MATLAB使用2018b版本。式(18)中的μ设置为0.1,实验过程中的其他参数如表2所示。
表2 实验参数设置
3.2 结果分析
在实验中,使用鲁棒性作为定量分析标准,将文本算法与SRDCF、C-COT、SAMF、Staple、KCF和DCFNet 6个算法进行像素误差和重叠率比较。像素误差是预测位置与实际位置的像素位移差,重叠率是重叠区域除以2个矩形总面积的比值。鲁棒性评估分为空间鲁棒性(SRE)和时间鲁棒性(TRE)2种,MGCF算法在空间鲁棒性中能获得较高的性能,但是在时间鲁棒性上表现不足。
3.2.1 像素误差性能分析
如图5(a)~图5(e)所示(中括号内数字为精准度平均值),MGCF算法在快速运动、平面内外旋转和尺度变化这4种情况下能取得最佳效果,精准度分别为91.7%、93.1%、91.3%和90.9%,比性能第2的算法分别高出1.3%、2.3%、2.7%和1.7%。但是,在遮挡情况下MGCF算法表现不佳,精准度只有93.3%,比SAMF算法低1.4%。
图5 7种算法的像素误差性能分析
3.2.2 重叠率性能分析
如图6(a)~图6(e)所示(中括号内数字为成功率平均值),MGCF算法在快速运动、平面内外旋转和尺度变化4种情况下均能取得最佳性能,成功率分别为86.1%、85.4%、82.2%和83.9%,比性能第2的算法分别高出2.4%、4.3%、5.8%和1.0%。但是,在遮挡情况下MGCF算法表现不佳,成功率只有74.6%,比Staple算法低5.3%。
图6 7种算法的重叠率性能分析
3.2.3 综合比较
如图7所示,MGCF算法在空间鲁棒性下的像素误差和重叠率分别为94.2%和87.0%,C-COT、Staple、SRDCF的精准度分别为87.8%、78.9%、74.8%,成功率分别为75.6%、70.4%、67%。MGCF相对C-COT、Staple、SRDCF的精准度分别提高6.4%、15.3%、19.4%,成功率分别提高11.4%、16.6%、20%。
图7 7种算法的精准度和成功率对比
3.2.4 运算时效性分析
本实验采用CPU为Intel(R)Core(TM)i7-6500U的计算机进行运算,各算法运行速度如表3所示,MGCF算法速度为7.8 FPS,该算法使用4组基础特征构造出14个粒度相关滤波器,对每一帧的图像进行自我评估和对比评估,并据此得出最终的稳健性评估值。由于MGCF算法根据稳健性评估值的高低排序来筛选最后的跟踪结果,需要分别用各个粒度特征来更新滤波模板,然后对每一帧进行跟踪评估,其运算量较大,导致运算时效性不高。
表3 各算法运行速度比较
4 结束语
本文结合粒计算思维提出一种多粒度相关滤波跟踪算法MGCF,该算法在多个相关滤波器中提出了粒度的概念,从粒度角度将分散的多线程跟踪进行有效地结合,解决了传统视频跟踪算法的特征单一性问题。实验结果表明,MGCF算法具有较好的视频跟踪性能,成功率较高,但在时间鲁棒性实验中,存在多个干扰因素时其性能不佳,精准度较低。下一步将结合深度特征和迁移学习等技术解决MGCF算法在时间鲁棒性实验中精准度不高的问题。