多模糊核融合的单目标跟踪算法*
2020-05-13邓赵红高艳丽王士同
陈 晨,邓赵红+,高艳丽,王士同
1.江南大学 数字媒体学院,江苏 无锡 214122
2.江南计算技术研究所,江苏 无锡 214083
1 引言
目标跟踪[1-2]作为计算机视觉领域中的重要研究内容之一,其应用已经遍布了生活中的各个方面,例如视频监控、运动分析、行为识别等。近年,视频目标跟踪技术的研究取得了许多不错的成绩,诸多先进的跟踪算法已经出现,但仍然面临一些挑战,如目标消失、遮挡、剧烈运动等因素往往导致目标跟踪不准确。当今许多跟踪算法的出发点是判别式跟踪方法,它结合机器学习的思想将目标跟踪抽象为二分类问题,即训练好的分类器将视频帧中待跟踪的目标与周围的背景分离,最后检测到最大响应值的位置是目标中心。现有的跟踪算法主要分为三类。
(1)基于相关滤波器[3-5]的跟踪算法
该类算法首先给定包含跟踪目标的初始图像块,并学习判别分类器以区分待跟踪目标的外观和周围环境。Kalal 等将传统的跟踪算法和传统的检测算法相结合,在2011 年提出了一种单目标长时间的TLD(tracking-learning-detection)跟踪算法[6-7]。在此基础上,张晶等在2018 年将传统TLD 算法结合时空背景相似性(spatio-temporal context similarity,STCS)方法提出了一种基于时空上下文相似性的TLD[8]算法,主要目的是解决跟踪过程中的快速移动和运动模糊的问题。Henriques等在2014 年将循环矩阵的傅里叶变换与KCF(kernel correlation filter algorithm)算法结合提出了高帧速核化相关滤波的KCF 算法[9]。该算法与传统核相关滤波器算法相比不仅提高了跟踪精度,而且在跟踪速度方面有了极大的提升。在此基础上,为了改善尺度变化的问题,孙健等在KCF中增加了一个尺度滤波器[10]来改进尺度变化的问题。为了应对跟踪目标丢失的问题,刘延飞等在2018 年利用峰值数据的均值和标准差[11]对每帧的响应峰值进行比较来改善KCF 中跟踪目标丢失的问题。
(2)基于深度学习的追踪算法
该类算法主要基于深度神经网络[12-13]框架进行学习。深度神经网络由于其在图像特征提取方面具有强大的学习功能,因此被广泛应用于视频跟踪中。例如文献[14]中提出了一种基于卷积神经网络的目标跟踪方法,该网络是基于VGG-M 网络的改进版,将其作为特征提取的工具,并且离线预先训练大量图像数据。文献[15]中提出了一种利用VGGNET16[16]提取图片特征,之后加入单层残差神经网络,并且同时考虑了时域残差和空间残差的跟踪方法。文献[17]中提出了一种基于深度学习,Faster R-CNN[18]的检测方法,并且结合了Camshift 和Kalman 的目标跟踪算法。但是目前使用CNN 通常会面临一些严峻的挑战,例如具有庞大的网络规模和训练数据的缺乏导致它在实时性方面表现不佳,对设备有较高要求而无法实现通用性。
(3)基于模糊系统[19-20]的跟踪算法
模糊系统由于其具有可解释性好的特性,并且采用高斯模糊隶属度函数,其具有精准的优点,在计算机视觉(computer vision,CV)领域也有较为广泛的应用,例如Zhang 等在2015 年[21]提出了一种新型的模糊跟踪器框架,该框架将跟踪看作模糊分类问题,通过为其分配不同的成员关系来测量训练样本的重要性,最后以模糊最小二乘支持向量机(fuzzy least squares-support vector machine,FLS-SVM)分类器实现一个具体的跟踪器。Wang 等在2017 年[22]提出了一种基于粒子滤波框架中双模糊低秩逼近的跟踪方法,对由光照、遮挡、姿态变化和运动模糊引起的跟踪过程中的目标丢失问题有了良好的改进。Chen 等在2018 年 将TSK-FLS(Takagi-Sugeno-Kang fuzzy logic system)引入经典KCF算法,提出一种FKCF(fuzzy kernel correlation filter)[23]算法,该算法针对目标剧烈运动的跟踪精度有明显提升。
上述三类算法均在跟踪方面获得了较大的成果,但是要想设计一个强大的跟踪器还存在一些巨大的挑战,如何更加有效地提高目标跟踪的鲁棒性具有较大的研究意义。
在本文中,考虑到核相关滤波器(KCF)算法虽然具有高速的特点,但是在处理核技巧的方法上仍具有一些挑战,因为单纯使用核技巧来对模板帧与后续帧进行相关性计算,可能在精度方面达不到更好的效果,导致在某些视频数据上的跟踪效果表现不佳。针对上述问题提出一种改进算法,主要工作是利用FKCF 中核函数模糊化的思想把经典KCF 中的核函数进行相应处理。为了进一步提高跟踪算法的精度与普适性,并且为了结合各种核方法的优势,在上述基础上将多种模糊化的核融合成一个鲁棒性更强的核,从而来构造一种多模糊核融合的相关滤波跟踪方法。该方法比普通的核方法更加稳定,而且具有更高的跟踪精度与适应性,同时也继承了KCF高运算速度与FKCF 算法高跟踪精度的特点。本文的实验结果也表明,本文所提出的算法较之KCF、FKCF 算法不仅在背景模糊、快速移动、移动模糊影响因素下的跟踪效果有明显的提升,而且在其他影响因素下的跟踪效果也有稳定的提升。
本文的主要贡献如下:
(1)利用FKCF 算法的思想将原始简单的核相关滤波器改进为模糊核相关滤波器,本文主要运用上述方法对多项式核进行改进。
(2)考虑到改进后的多种模糊核具有不同的映射空间,将它们融合形成新的组合空间。得到鲁棒性更强的多模糊核融合滤波器。
2 相关工作
2.1 模糊核相关
本节主要介绍FKCF算法的理论知识与改进策略。
为充分利用模板帧所能提供的先验知识,FKCF采用TSK 模糊系统前件映射替代经典KCF 算法中的核映射。考虑到高斯函数的普适性,本文采用高斯函数作为隶属度函数,函数形式如下:
结合式(1),本文从模糊隶属度函数的角度定义了两个任意向量的相关性。
由于模糊隶属度函数是高斯型的,因此与径向基函数类似,可以推出如下形式,对于函数h的元素如下:
由Parseval 定理[24]可知,Pi-1不会影响x的范数。由于是常数,因此上式的矢量形式为:
2.2 后件参数引入
FKCF 通过在算法中加入TSK-FLS 的后件参数来改进算法,使算法精确度提高且在录制设备晃动幅度大的情况下标记更加稳定。该算法所采用的后件参数结合最小二乘法的思想,所有的前件参数事先给定,只有后件的系数需要调整,规则的数目M在上文设定为1,最小二乘法的出发点是:
其中,fi(x)是规则的点火强度,定义为:
其中,T表示t-范数,通常取最小或者乘积,在式(1)和式(2)中,xk表示应用于一型TSK-FLS 的一个特定的输入。可以将式(6)重新表示为:
由于M为1,将式(8)优化为:
式中,i=1,2,…,M,M=1,j=0,1,…,θ,因此方程(9)可以表示为:
在实际图像中第一项是不存在的,因此g(x)与p是θ×M×1 维向量,它们的元素由式(9)可知(注:去除g1
0(x)p10)。对训练集合中N个元素的每一个运用式(11),即:
联立N个方程,它们可以用向量-矩阵的形式表示为:
这里N是之前式(5)得到的θ个元素的隶属度矩阵,并且根据式(10)可知:
为方便计算,将p的最小二乘设计pLS通过最小化关于p的下式而获得:
这个最优化问题的解可以表示为:
化简后可得到:
式(17)中,Y是对G的约束项,应当充分考虑当前帧与模板帧的关系,同时为了控制Y值的变化加入参数β,根据上述条件推得下式:
其中,x*表示训练图像块(由上一帧得出)的复共轭,z表示测试图像块(由当前帧得出)。结合式(14)、式(17)和式(18),最终的核化版本是:
3 MFKCF 详细算法
经典的KCF 算法采用高斯核函数与傅里叶变换相结合将样本映射到高维空间来提高跟踪器的精度与速度,而FKCF 算法以KCF 算法为基础,将TSKFLS 引入核函数部分,将普通的核函数模糊化,从而使跟踪精度进一步提高,但是其共同的挑战在于单个核函数很难满足一些特殊的跟踪情况,使得跟踪器的鲁棒性表现不理想。针对此问题,本章提出改进算法,首先将多种核方法进行模糊化处理,然后将其做融合,提出了基于多模糊核融合思想的MFKCF(multi-fuzzy kernel correlation filter)算法。具体如下。
3.1 多核融合概述
3.1.1 多核融合方法分析
一般来说,若想形成组合特征空间,就需要把多种核函数都映射到高维空间,然后将它们组合。由此可看出组合形成的空间可以结合每种子空间的映射水平。在处理不同结构的数据时,可以做到核函数尽可能处理与其适合相关的特征分量,使得被处理的数据在新的组合空间中可以表示得更加合理和精准,在分类和预测的准确度上进一步提高。多核学习思想[25]的不同的分类方式是依据不同的分类标准而形成的,根据多核函数的结构特点和构成法式的不同,可把多核学习方法具体规划为三个类别:合成核方法[26-27]、多尺度核方法[28]与无限核方法。
合成核方法是较为经典的多核融合学习的方法之一,其中包括四部分,分别为多核线性组合、多核扩展合成、非平稳多核学习和局部多核学习。在数据计算量较大且考虑到目标跟踪算法涉及到实时性的情况下,由于多核线性组合方法与其他方法所达到的效果在一般情况下是相似的,并且其便于计算的原因,使其成为了较为通用的方法。后面将着重说明该方法的具体知识。
多尺度核方法的基础思想与合成核方法有相似性,同样是将若干核函数进行叠加操作,但是与合成核方法不同的是,多尺度核方法强调每个核函数的表示能力,即需要为每个核函数去专门训练其带宽值(通常为σ),当其值较小时,核函数用于一些变化较为剧烈的样本,当其值较大时用于一些变化较为平缓的样本。虽然相比合成核方法拥有略微的精度优势,但其运算复杂度相比前者较高,在实时的目标跟踪算法中导致了普适性较低。
无限核方法与上述两类方法不同的地方在于处理数据量大的问题时,有限个核的多核融合处理方法可能无法达到预期效果,因此有了无限核方法。但是由于可用核资源少,而且目前有限核合成方法已经能够很好地处理多数目标跟踪问题的原因,导致其运用场景较少。
3.1.2 合成核方法
把许多含有不同特点的核函数采用合成操作,会得出以每个单核函数特点为总体的新函数,即为多核函数。多核函数的构造策略让自身拥有更精确、更健壮的映射功效和分类功效,尤其是针对真实情况中样本数据存在着相对复杂的情况,例如在学习问题中针对分布结构杂乱的分类和回归。多核学习的优良性能变得尤为凸显。
将多个内核函数与不同特征相结合,可以生成包含每个单核函数的整体特征的多核函数。多核功能本身的形成方式使得多核功能具有更加准确和强大的映射效率和分类效率,特别是对于实际应用中的样本数据复杂的情况。例如,学习问题如分类和回归分布结构复杂,多核学习的优势非常明显。
假设变量x,z∈X,X属于R(n)空间,非线性函数ϕ能够实现从输入空间X到特征空间F的映射,其中F∈R(m),m>>n。假设已知的基本核函数为k(x,z),那么多核函数便可运用下面的方式进行线性组合获取:
直接求和核:
加权求和核:
其中,ki(x,z)表示第i个核函数,βi是第i个核函数的权值,,βi≥0。
3.2 模糊化核函数
本节主要说明如何利用文献[23]中的模糊化核方法优化高斯核与多项式核[29]。
3.2.1 模糊化多项式核
首先,已知的高斯核函数与多项式核函数的一般形式如下:
当定义两个任意向量的相关性时,两类核函数先分别写为:
其中,x′与x分别代表在目标跟踪情况下的当前帧模板块与前一帧模板块中的值所构成的向量,Pi-1范数的引入对结果不造成影响,h为同一的相关性函数。然后,将具体的高斯核函数与多项式核函数代入式(24)、式(25)转化为两帧之间的具体表达式为:
最后,根据前文中的FKCF 算法中式(17)、式(18)将式(28)、式(29)优化为模糊化高斯核与模糊化多项式核的形式:
上述两种模糊核函数具有较好的通用性与稳定性,两者都实现了将数据更加精确地从低维空间映射到高维空间的功能,在一般情况下,通常选用普适性较好的模糊高斯核函数。但两种模糊核函数也存在参数调优方面的挑战,为了克服这一挑战,同时使本文所提算法与对比算法具有可比较性,参数根据基础KCF 算法[9]来设定。
3.2.2 核融合算法
本小节主要将多核融合理论与所得的两种模糊化核函数相结合来进行多模糊核融合操作。提出两种基本的多核融合理论,分别是直接求和核与加权求和核。若后者采用给定权值或者训练较优权值的方法与直接求和方法在当前情况的差异性很小,则采用直接求和核来实现核融合算法,根据式(20)变换可确定基础目标函数为:
其中,ki(x,z)为模糊化的核函数,由上小节中的式(30)、式(31)可知,在本小节中n为2,分别是模糊高斯核与模糊多项式核,即k1(x,z)、k2(x,z)分别为、。结合式(32)可得到目标函数为:
3.3 合理性理论分析
本文主要从两方面对经典的KCF 算法进行了提升,分别为利用FKCF 算法中的模糊化核函数的方法将两种原始核方法模糊化,以及利用模糊化后的核函数进行融合操作让算法性能得以提升。
一方面,由于FKCF 算法相比KCF 算法在跟踪精度方面有较高提升,并且跟踪速度方面与KCF 算法持平,因此本文引用FKCF 算法中的模糊化核函数的方法来对传统的核方法进行模糊化改进。其合理性在于先对传统核方法进行优化可以提高单个核函数的映射精度,从而提高跟踪精度,具体的实验结果将在4.2 节中的表1 至表4 展示,证明了模糊化核函数相比普通的核函数(高斯核与多项式核)在处理跟踪情况时具有更高的准确性。
另一方面,由于不同的核函数在不同的跟踪环境下所表现出来的特点及精度也有所不同,为了应对较为复杂的跟踪环境,本文提出将上述模糊化后的核方法进行简单的相加融合来处理复杂的跟踪问题。其合理性在于组合特征空间通常需要把多种核函数都映射到高维空间,然后将它们组合。因此新形成的组合空间可以结合每种子空间的映射水平,在分类和预测的准确度上进一步提高。在处理相同结构的数据时,不同的核函数对其的处理结果也是不同的。针对这些差异,本文利用多核融合的思想将不同的核函数结合组成融合核函数,让其拥有更精确、更健壮的映射功效和分类功效,尤其是针对真实情况中样本数据存在着相对复杂的情况,多核学习的优良性能变得尤为凸显。
3.4 MFKCF 伪代码
输入:x,训练图像块,m×n×c;y,高斯型回归目标,m×n;z,测试图像块,m×n×c(m代表图像块的长,n代表图像块的宽度,c代表图像块的通道数)。
利用式(18)计算约束项Y。
根据m_α与核求出预测矩阵responses来得到目标中心点的值。
利用式(18)计算约束项Y。
将高斯型标签yg,正则化项λ,运用计算出α的值。
更新α及模板x。
输出:responses中的预测中心点。
4 实验部分
4.1 实验设置
为对本文所提模糊核融合算法性能进行验证,本节将所提算法与经典KCF 算法与其改进后的FKCF 算法进行了实验比较。
4.1.1 实验数据集
本文采用了Benchmark[30]中的4 个数据集进行了实验,分别从OTB50、OTB100、OTB2013、OTB2015中随机挑选视频序列进行实验。所选数据集中标明了属性,这些属性描述了跟踪器在每个序列中将面临的挑战。所选数据集间主要区别为:待跟踪目标在不同场景下经历了多个不同的属性变化。所选数据集属性变化均为跟踪器在实际应用中常见变化,分别有:背景模糊、形态变化、速度变化、光照变化、低分辨率、抖动、遮挡、旋转、目标消失、规格变化。
4.1.2 实验平台及评价标准
实验平台:(1)CPU,Intel®CoreTMi7-7700 k;(2)主频,4.20 GHz;(3)内存,32 GB;(4)操作系统,Win10 64位操作系统;(5)编程环境,Matlab(R2016a)。
评价指标:对于性能指标,评判方法没有选择平均位置误差或者其他平均帧数的测量方法,而是通过预测准确帧数与总帧数的比值作为评判标准,具体将在下文进行说明。
4.2 真实数据集实验
本文将所提MFKCF 算法分别与KCF(高斯核gaussian、多项式核poly)、FKCF(模糊化高斯核Fgaussian,模糊化多项式核Fpoly)经典视频跟踪算法进行了比较,这两类方法分别为基于传统核方法的KCF,以及引入TSK-FLS 作为改进的FKCF 算法。考虑到方向梯度直方图(histogram of oriented gradient,HOG)[31]特征提取方法以及高斯核函数具有较为广泛的适用性,本次实验中MKCF(multi-kernel correlation filter)、KCF 与FKCF(fuzzy kernel correlation filter)算法均采用HOG 特征提取方法。
Table 1 Tracking accuracy of algorithms on OTB50 dataset表1 算法在OTB50 数据集上的跟踪精度
本文所提算法与对比算法在4 个数据集上针对不同属性视频的跟踪精度如表1 至表4 所示。跟踪精度计算方式为预测目标中心距实际目标中心的偏移量不超过设定阈值(20 个像素)的帧数与总帧数的比值,本文所选阈值依据文献[9]设定。
通过观察表1 至表4,可得如下结论:
(1)本文所提算法相比KCF、FKCF 两类对比算法在10 个常见情况上中大部分情况下的跟踪精度均有提升。通过平均精度可知,MFKCF 相比于经典KCF 算法中的高斯核和多项式核,平均精度提升了6.86 个百分点和6.78 个百分点,相比于FKCF 算法中的模糊化高斯核和模糊化多项式核,平均精度提升了2.67 个百分点和2.65 个百分点,说明MFKCF 算法具有较好的跟踪效果。
Table 2 Tracking accuracy of algorithms on OTB100 dataset表2 算法在OTB100 数据集上的跟踪精度
Table 3 Tracking accuracy of algorithms on OTB2013 dataset表3 算法在OTB2013 数据集上的跟踪精度
Table 4 Tracking accuracy of algorithms on OTB2015 dataset表4 算法在OTB2015数据集上的跟踪精度
(2)对比表1、表4 和表2、表3 可看出,本文算法针对OTB50 和OTB2015 数据集提升效果更为明显,而这两个数据集中所选取的视频序列所处的跟踪环境相比OTB100 和OTB2013 数据集较为复杂,存在多种跟踪难题,由此可以得出本文所提算法对复杂情况下的目标跟踪有较强的适应性。
具体的跟踪情况将在图1 中展示,其中每幅图中分别有3 种颜色的跟踪框代表图例的3 种算法的实时跟踪效果。按横向排列,1~3 取自OTB50 数据集,4~6 取自OTB100 数据集,7~9 取自OTB2013 数据集,10~12 取自OTB2015 数据集。
为了进一步印证上述本文所提算法针对复杂场景具有更好的鲁棒性,本文在不同属性上,对每个算法在不同偏移像素距离下的跟踪精度进行了对比,实验结果如图2~图11 所示,横坐标代表预测中心与实际中心偏移的实际距离;纵坐标代表对应偏移距离为阈值时的跟踪精度,即在当前偏移距离下,预测中心与实际中心偏差不超过对应距离的帧数与视频总帧数的比值;图上部是对应属性以及对应实验视频数量;在图的右下角给出了应偏移距离的阈值设为20 的对应平均跟踪精度。
观察实验结果图2 至图11,得到如下结论:
(1)本文所提算法相比KCF(包括高斯核、多项式核)算法和FKCF(包括模糊化高斯核、模糊化多项式核)算法,在阈值较小情况下即可达到较高的跟踪精度,说明了该算法的高效性。
(2)在背景模糊、快速移动、移动模糊这几个属性上,本文所提算法所得曲线与对比算法所得曲线差距较大;在其余7 个属性上,差距也较为明显,因此这在一定程度上说明本文所提算法在面对错综复杂跟踪环境时具有更好的鲁棒性。
(3)本文所提MFKCF 算法相比于经典KCF(高斯核、多项式核)算法间距较大,其主要原因是MFKCF 算法不仅结合了FKCF 算法中利用TSK-FLS模糊化多种单核函数的思想,而且还通过多模糊核融合的思想将若干单核融合成一个具有强鲁棒性的核方法,从而在处理大多数视频时会产生较对比算法更好的结果。由于每幅曲线图中的曲线是根据多个视频实验得出的,而实验中的每个视频又包含多种属性,本本所提出的算法针对这些属性的精度都有一定的提升,因此在图2 至图11 中,MFKCF 的曲线与对比算法的曲线有一定的差距。
Fig.1 Physical tracking map in real dataset图1 真实数据集中的实物跟踪图
Fig.2 Background clutter图2 背景模糊
Fig.3 Deformation图3 形态变化
Fig.4 Fast motion图4 快速移动
Fig.5 Illumination variation图5 光照变化
Fig.6 Low resolution图6 低分辨率
Fig.7 Motion blur图7 移动模糊
Fig.8 Occlusion图8 遮挡变化
Fig.9 Out-of-plane rotation图9 旋转变化
Fig.10 Out of view图10 目标消失
综上所述,本文算法相比于其他的算法对复杂环境下的单目标跟踪具有更好的普适性。
4.3 算法性能分析
在上一节中,通过实验证明了本文所提的MFKCF算法相比FKCF、KCF 算法拥有更高的跟踪精度,而在速度性能方面还没有具体阐述,因此本节将着重分析上述5 种算法的速度性能。数据集选取方案为:上文所选数据集中的20 个视频序列。
Fig.11 Scale variation图11 规格变化
Fig.12 Frame rate comparison chart of algorithms图12 算法帧率对比图
图12 展示了本文所提的MFKCF 与基础算法(FKCF、KCF)的帧率对比结果,折线图的绘制步骤如下:(1)将所选的20 个视频序列分别在每种算法的情况下各自运行15 轮,计算每个视频序列在每轮得到的帧率值,并且计算每轮的帧率均值(注:帧率为帧数与程序运行时间的比值,具体时间范围是从处理第一帧开始到最后一帧处理完成结束)。(2)将上述帧率均值排序,去掉值最高的5 个和最低的5 个,最后将剩下5 轮的每个相同视频序列求均值,便得到上面的折线图(这样处理数据的原因是计算机运行时在各个时间内的资源分配有所不同,为了得到较为精确的结果,本节采取去掉较高与较低的值的方法)。其中左上角的图例由折线图中每个算法的节点值求均值得到。
由图12 可知,实验所选的5 种算法按帧率由低到高的排序依次为:MFKCF、FKCF_gaussian、FKCF_poly、KCF_gaussian、KCF_poly,同时也说明5 种算法的运算复杂度是由高到低的。原因如下:(1)高斯核函数比多项式核函数运算复杂;(2)模糊化的核函数相比普通的核函数多了优化计算;(3)在FKCF 基础上进行的核融合操作使得运算量提升。由上述三点原因可以得出帧率排序应当符合图12 的结果。综上所述,在跟踪精度方面,MFKCF 相比FKCF 与KCF 有明显提升;在速度性能方面,MFKCF 略低于FKCF 与KCF,但是这并不影响实际跟踪的效果且帧率下降幅度在可接受范围,因此MKCF 是一种有较强鲁棒性的算法。
5 结束语
本文首先运用FKCF 跟踪算法的理论知识将多项式核函数进行模糊化处理,然后将多核融合的思想引入其中,把模糊高斯核与模糊多项式核融合,提出了一种多模糊核融合的跟踪算法(MFKCF)。由于多种核函数的融合形成的组合空间比单核函数的个体空间拥有较好的映射效果,从而提升了跟踪算法的精度。大量的实验表明,相比于经典KCF、FKCF算法,MFKCF 算法虽然帧率有略微下降,但在跟踪精度这一指标上有较大的提高,总体来说是一种具有强鲁棒性的跟踪算法。怎样通过控制每个核的权重比例来达到最优跟踪以及探索更多适合跟踪的核函数是下一步将要研究的目标。