TSK模糊逻辑系统相关滤波器跟踪算法*
2020-02-20高艳丽邓赵红王士同
陈 晨,高艳丽,邓赵红+,王士同
1.江南大学 数字媒体学院,江苏 无锡 214122
2.江南计算技术研究所,江苏 无锡 214083
1 引言
视频目标跟踪[1-2]作为计算机视觉中的重要研究领域之一,它被广泛用于运动分析、行为识别、视频监控及人机交互等方面。近年,目标跟踪技术的研究取得了很大进步,涌现出了诸多跟踪算法,但仍面临一系列挑战,如光照变化、遮挡、画面抖动等因素常导致目标跟踪不准确。近年研究的热点是判别式跟踪方法,它将机器学习引入到目标跟踪,将目标跟踪看作二分类问题,即通过分类器将视频中的待跟踪目标和周围背景区分开,最终得到使分类器置信度最大的位置就是目标中心位置。
现有的跟踪算法主要分为两大类:
(1)基于深度学习的跟踪算法
该类算法主要基于深度神经网络[3-5]框架进行学习。深度神经网络由于其在图像特征提取方面具有强大的学习功能,因此被应用于视频跟踪中。例如文献[6]中提出了一种基于全卷积神经网络的目标跟踪方法,不仅仅将卷积神经网络作为特征提取的工具,而且离线预先训练大量图像数据;文献[7]中提出了一种利用VGGNET16提取图片特征,之后加入单层残差神经网络,并且同时考虑了时域残差和空间残差的跟踪方法;文献[8]中提出了利用分层卷积网络构建多个相关滤波器产生多极相关响应图来精确预测目标位置,一定程度上提高了跟踪精度。但是目前深度学习的跟踪算法因为具有庞大的网络规模和训练数据的缺乏导致它在实时性方面表现不佳,因此不适用于对实时性有要求的视觉跟踪。
(2)基于相关滤波器[9-10]的跟踪算法
该类算法首先给定一个包含跟踪目标的初始图像块,通过学习一个判别分类器来区分对待跟踪目标和周围环境。Bolme等在2010年首次将相关滤波用在了追踪领域,并且提出了MOSSE(minimum output sum of squared error filter)相关滤波器[11-12];为解决被跟踪过程中发生的形变、部分遮挡问题,Kalal等将传统的跟踪算法和传统的检测算法相结合,在2011年提出了一种单目标长时间的TLD(trackinglearning-detection)跟踪算法[13-15]。在此基础上,为了改进快速移动和运动模糊的问题,张晶等将传统TLD算法结合时空背景相似性(spatio-temporal context similarity,STCS)方法提出了一种基于时空上下文相似性的TLD[16]算法。在视频追踪实时性方面,Henriques等在2014年提出了高速KCF(kernel correlation filter)算法及其改进的DCF(discriminant correlation filter)算法[17]。孙健等在KCF中增加了一个尺度滤波器[18]来改进尺度变化的问题。刘延飞等利用峰值数据的均值和标准差[19]对每帧的响应峰值进行比较来改善KCF中跟踪目标丢失的问题。
模糊系统[20-21]由于其具有可解释性以及良好的非线性学习等优点,在计算机视觉(computer vision,CV)领域也得到了有效应用。例如Angelov等以经典Takagi-Sugeno神经模糊系统为基础,提出了一种使用柯西类型内核的递归密度估计的视频追踪算法[22];Zhang等提出了一种新的模糊跟踪框架,该框架将跟踪作为模糊分类问题,通过为其分配不同的成员关系来测量训练样本的重要性,最后以模糊最小二乘支持向量机(fuzzy least squares-support vector machine,FLS-SVM)分类器实现一个具体的跟踪器[23]。但目前与模糊理论相关的跟踪工作还相对较少,因此将模糊逻辑系统应用于视频跟踪领域具有较大的研究意义。
上述三类算法均在跟踪方面获得了一定的有效性,但也都面临一些局限性,需要进一步改进和研究。例如,滤波器KCF跟踪算法具有高速的特点,但是在核技巧的处理上仍具有一些挑战。因为其只是单纯使用核技巧来对模板帧与后续帧进行相关性计算,在精度方面没有较强的鲁棒性,导致在某些视频数据上的跟踪效果表现不佳。基于上述挑战,本文提出了一种改进算法,主要工作就是将TSK-FLS(Takagi-Sugeno-Kang fuzzy logic system)[24]中利用最小二乘所求的后件参数与核相关滤波器相结合,来构造一种模糊核相关滤波器(fuzzy kernel correlation filter,FKCF)的跟踪方法。本文提出的模糊核方法比之前最先进的核方法更加稳定,而且具有更高的鲁棒性,同时也继承了KCF高速计算的特点。实验结果也表明,较之KCF算法,本文所提出的FKCF算法不仅在快速移动、背景杂波、规格变化等影响因素下的跟踪效果有明显的提升,而且在其他影响因素下的跟踪效果也有稳定的提升。
本文的主要贡献如下:
(1)将TSK-FLS与核相关滤波器算法(KCF)相结合,将KCF算法中简单的核技巧替换为TSK-FLS来进行运算。
(2)在替换的过程中,考虑到计算时间及精度的原因,将传统的TSK-FLS进行改进,根据其求解后件参数的最小二乘方法来对KCF算法进行优化。
2 相关工作
本章首先介绍TSK模糊逻辑系统[24-25]的基本概念,其次简单介绍下KCF算法。
2.1 TSK-FLS相关介绍
FLS有三大类:TSK模型[26]、Mamdani模型[27]和广义模糊模型[28]。其中,TSK模型由于其简单性和灵活性而具有较为广泛的应用,本文亦采用TSK模型作为基础模型。
TSK模糊逻辑系统采用如下If-then规则:
其中,i=1,2,…,M,M表示规则数目,是后件参数,x=[x1,x2,…,xθ]T是输入向量,yi(x)是第i条规则的输出,是第i条规则的第k个输入域中的模糊集合。∧是联合运算符。
当使用t范数和重心去模糊化时,经典TSK-FLS的最终输出被计算为:
其中可以使用不同的方法来估计参数,例如模糊C均值聚类(fuzzy C-means,FCM)[29]:
其中,ujk表示FCM在训练数据集上获得的第k个模糊分区中样本xj的隶属度,并且h是可以手动设置或通过交叉验证(cross-validation,CV)确定的缩放参数。
当模糊规则中的前件参数固定时,TSK-FLS可以重新表示为新特征空间的线性模型[28,30-31]。令:
然后,y0变为:
其中,xg∈RM(d+1)是新特征空间中的一个数据向量,它是从原始特征空间中的数据向量x∈Rd通过模糊规则前件映射而来的,而pg是所有模糊规则的后件参数的组合,其中k=1,2,…,θ,i=1,2,…,M。
2.2 KCF算法介绍
2.2.1 判别分类器
KCF算法的主要思想是使用给出的样本去训练一个判别分类器,判断跟踪到的是目标还是周围的背景信息,使用循环矩阵[32]对样本进行采集,使用快速傅里叶变换[33]对算法进行加速计算,并且在像素矩阵处理时引入了核技巧来增加判别分类器的精度从而提高跟踪精度。
在KCF跟踪器中,分类器f(x)=<w,φ(x)>它通过对目标周围大小为m×n的图像块x训练获得。分类器不通过传统的移动窗口获得样本xi,而是通过利用循环位移获得样本xi,其中i∈{0,1,…,m-1}×{0,1,…,n-1} 分类器通过最小正则化风险函数式(13)进行训练。
其中,φ表示映射到Hilbert特征空间,使用的核函数k(x,x')=<φ(x),φ(x')>;yi为样本xi期望输出;λ为一个固定的正则化参数。那么式(13)的解可以表示为输入的线性组合[34],即:
系数向量为α根据文献[17]可以得到α的解为:
其中,K为核矩阵,其元素Kij=k(xi,xj);I为单位矩阵;向量y的元素为yi;系数向量α的元素为αi。
2.2.2 循环矩阵
假设C(x)是一个n×n的循环矩阵,则它可以通过一个1×n的向量x的循环位移获得,则有:
其中,C(x)的第一行是向量x的转置,第2行是向量x向右循环移动一位元素转置后的结果,依次类推可以得到C(x)所有行。
对于一个n×1的向量u,则C(x) 与u的乘积p=C(x)u就是向量x和u的卷积。假设一个向量的离散傅里叶变换(DFT)用“^”标记,如,其中F表示DFT,那么在频域下就有:
其中,*表示复数共轭运算;⊙表示按像素乘法操作。
2.2.3 目标位置检测
依据文献[17],如果核函数是酋不变的,则有核矩阵K为循环矩阵,因此式(15)可以根据循环矩阵的性质得到在频域下的解:
其中,K=C(h),h的元素hi=k(x,xi)。若对于具有C个通道特征的图像数据,对特征向量x=[x1,x2,…,xc]和进行分析,使用高斯核计算h,高斯核为,则可得到:
其中,F-1表示逆DFT。
假设通过获取新的一帧中感兴趣图像块z检测目标的位置,由前面可知,分类器的输出响应为:
其中,hi=k(x,zi),zi为从图像块z提取的训练样本;x为从上一帧学习获得的目标模型。则y就是h乘以学习系数α的线性组合,本质上就是一个滤波操作,h就是KCF,分类器的响应y就是h的输出响应。KCF的输出响应为,则有:
其中,b为学习因子;αt、αt-1分别表示当前帧和上一帧更新获得的系数向量;xt、xt-1分别表示当前帧和上一帧更新获得的模型x。
3 基于TSK-FLS的KCF算法
经典KCF算法采用高斯核函数将样本映射到高维空间,该方法虽然一定程度会提高算法的鲁棒性,但是高斯核函数对参数较为敏感,经典KCF算法对高斯函数参数,即核函数中心与核带宽,采用的方式是人为赋值的方式,这样的方式存在一定的盲目性。针对此,本文将TSK-FLS引入KCF中,提出了基于TSK-FLS的KCF算法FKCF。具体如下。
3.1 快速模糊核相关
为充分利用上一帧所能提供的先验知识,本文采用TSK-FLS前件映射替代经典KCF算法中的核映射。考虑到高斯函数的普适性,本文采用高斯函数作为隶属度函数,函数形式如下:
结合模糊隶属度函数的公式,本文从模糊隶属度函数的角度重新定义了两个任意向量的相关性。
由于模糊隶属度函数是高斯型的,因此与径向基函数类似,可以推出如下形式。对于一些函数h,的元素如下:
由于Parseval定理[35],Pi-1不会影响x的范数。由于是常数,因此上式的矢量形式为:
将函数h转化为模糊隶属度函数,可得:
3.2 后件参数引入
本节主要说明如何在算法中加入TSK-FLS的后件参数来改进算法,使算法精确度提高且在录制设备晃动幅度大的情况下标记更佳稳定。FKCF所采用的后件参数结合最小二乘法的思想,所有的前件参数事先给定,只有后件的系数需要调整,规则的数目M已经指定为1,最小二乘法的出发点是:
其中,f i(x)是规则的点火水平(强度),定义为:
其中,T表示t范数,通常取最小或者乘积,在式(24)和式(25)中,x表示应用于一型TSK-FLS的一个特定的输入。
在这里可以将式(30)重新表示为:
由于M的值为1,将式(32)优化为:
i=1,2,…,M,M=1,j=0,1,…,θ,因此方程(33)可以表示为:
在实际图像中第一项是不存在的,因此g(x)与p是θ×M×1维向量,它们的元素由式(33)可知(注:去除。
对训练集合中N元素的每一个运用式(35),即:
联立N个方程,可以用向量-矩阵的形式表示为:
这里G是之前式(29)得到的θ个元素的隶属度矩阵,并且根据式(34)可知:
为方便计算,将p的最小二乘设计pLS通过最小化关于p的下式而获得:
这个最优化问题的解可以表示为:
化简后可得到:
式(41)中,Y是对G的约束项,应当充分考虑当前帧与模板帧的关系。同时为了控制Y值的变化,加入参数β(1×10-6~1×10-3)进行小范围寻优,根据上述条件推得下式:
其中,x*表示训练图像块(由上一帧得出)的复共轭,z表示测试图像块(由当前帧得出)。结合式(38)、式(41)和式(42),最终的核化版本是:
3.3 合理性理论分析
本文主要从两方面对经典KCF算法进行了提升,分别为用可解释性更好的模糊映射替代原始核映射,以及引入模糊后件参数提升算法性能。
一方面,本文利用可解释性更好的TSK-FLS前件映射代替KCF算法中的核映射,其合理性在于两者的运算目的是相同的。核映射在原算法中的目的是计算两帧之间的相关性;而利用模糊逻辑系统中的前件映射,仍然可以达到相同的目的。式(24)中xk为当前帧中的每个值,为上一帧中的每个值,由于需要对上述两帧进行相关性计算,结合模糊隶属度函数的概念可知,xk中每个元素需要与对应的隶属度中心计算得到隶属度值。所得的隶属度值即为两帧的相关性结果,xk对的隶属度越高,则相关性越高。该算法在确定目标中心后,一般选取当前中心点构造patch,同时为计算方便,且不影响精度,M取值通常为patch的数量。
另一方面,前件映射实现了KCF算法与TSKFLS的结合,据此可进一步有效利用TSK-FLS后件参数。通过前件参数来计算所得的后件参数是性能提升的关键所在,其将原先的高斯核通过后件参数改为模糊化的核函数。该模糊核函数以式(42)的Y为约束项。该约束项应充分考虑当前帧与模板帧的关系,为此将Y与上述模糊隶属度函数中的数据进行运算,得到最终的结果。如果对进行对应的控制可以有效地改进跟踪效果。原算法中由于G(即为,由式(38)可知)中最大响应点在其第一行第一列的位置,值为1,其余的点都小于1,经过快速傅里叶变换后,其左上角为矩阵中最大的值,而其他位置的值都很相似并且都是很小的(趋近于0)。而本文的算法通过约束项Y对隶属度矩阵G进行处理之后,再对pLS进行快速傅里叶变换,矩阵G左上角依旧是峰值,而其他位置的值相对于左上角的值有了更大的差异,即具有了更高的区分度。同时通过控制Y值的变化,本文算法比原算法更容易让峰值,即目标中心突出显示,特别是在剧烈运动的跟踪情况下,这样的改进措施可以更加精确地对目标进行有效跟踪。
3.4 基于TSK-FLS的KCF追踪
本节主要介绍FKCF算法跟踪的流程。
(1)对视频帧进行循环,对第一帧进行预处理,并且根据FKCF计算其自相关。
(2)计算出α的值,并更新m_α和模板帧m_x(alpha、model_alpha、model_x即为α、m_α、m_x)。
(3)从第二帧开始,对本帧进行预处理并且运用HOG提取特征,再利用TKCF计算其与模板之间的相关性。
(4)将(2)中所得的相关性值pLS与最近更新的m_α进行响应计算,得到最大响应点即为目标中心点。
(5)重复运行(2)、(3)、(4),直到遍历完所有帧。
FKCF算法的伪代码如下所示:
输入:x,训练图像块,m×n×c;y,高斯型回归目标,m×n;z,测试图像块,m×n×c(m×n注释:m代表图像块的长,n代表图像块的宽度,c代表图像块的通道数)。
Repeat:frame=1,2,…,F:
利用式(42)计算约束项Y。
利用高斯型模糊隶属度函数(式(29))计算后帧与前帧的模糊隶属度矩阵G。
根据上述所得,利用式(43)计算模糊核pLS。
Ifframe>1 then:
利用式(42)计算约束项Y。
利用高斯型模糊隶属度函数(式(29))计算后帧与前帧的模糊隶属度矩阵G。
根据上述所得,利用式(43)计算模糊核pLS。
根据m_α与核pLS求出预测矩阵responses来得到目标中心点的值。
利用式(18)计算出α的值。
利用式(22)、式(23)更新m_α及模板m_x。
输出:responses中的预测中心点。
4 实验部分
4.1 实验设置
为对本文所提FKCF算法性能进行验证,本节将所提算法与经典KCF等四种算法进行了实验比较。实验采用数据集将在4.1.1小节中进行描述,实验平台及评价标准将在4.1.2小节中进行描述。
4.1.1 实验数据集
本文采用了Benchmark[36]中的4个数据集进行测试,分别从OTB50、OTB100、OTB2013、OTB2015中随机挑选视频序列进行实验。所选数据集中标明了属性,这些属性描述了跟踪器在每个序列中将面临的挑战。所选数据集间主要区别为:待跟踪目标在不同场景下经历了多个不同的属性变化。所选数据集属性变化均为跟踪器在实际应用中常见变化,和表中属性一致。
4.1.2 实验平台及评价标准
实验平台:(1)CPU,Intel®CoreTMi7-7700k;(2)主频,4.20 GHz;(3)内存,32 GB;(4)操作系统,Win1064位操作系统;(5)编程环境,Matlab(R2016a)。
Table 1 10 attributes tracking accuracy of algorithm on OTB50 data set表1 算法在OTB50数据集上的10个属性跟踪精度
评价指标:对于性能指标,评判方法没有选择平均位置误差或者其他平均帧数的测量方法,而是通过预测准确帧数与总帧数的比值作为评判标准,具体将在下文进行说明。
4.2 真实数据集实验
本文将所提FKCF算法与四种经典视频跟踪算法进行了比较,这四种方法分别为基于核方法的KCF[17]和DCF[17],以及经典视觉跟踪算法MOSSE[11]和TLD[13]算法。考虑到方向梯度直方图(histogram of oriented gradient,HOG)[37]特征提取方法以及高斯核函数具有较为广泛的适用性,因此本次实验中KCF、DCF与FKCF三种算法均采用HOG特征提取方法,核函数采用高斯核函数。
本文所提算法与对比算法在4个数据集上针对不同属性视频的跟踪精度如表1~表4所示。跟踪结果如图1所示。跟踪精度计算方式为预测目标中心距实际目标中心的偏移量不超过设定阈值(20个像素)的帧数与总帧数的比值,本文所选阈值依据文献[17]设定。
通过观察表1~表4,可得如下结论:
(1)本文所提算法相比其他对比算法在10个常见属性上跟踪精度均有提升。通过平均精度可知,FKCF相比于KCF和DCF算法,平均精度提升了3.76%和2.66%,相比TLD和MOSSE则有大幅度提升,说明该算法具有较好的跟踪效果。
(2)对比表1、表3和表2、表4可看出,本文所提算法针对OTB50和OTB2013数据集提升效果更为明显,而这两个数据集中所选取的视频序列大多数存在模糊且剧烈运动的问题,跟踪情况较为复杂,由此可以得出本文所提算法对由上述行为导致的属性变化有较强的适应性。
Table 2 10 attributes tracking accuracy of algorithm on OTB100 data set表2 算法在OTB100数据集上的10个属性跟踪精度
Table 3 10 attributes tracking accuracy of algorithm on OTB2013 data set表3 算法在OTB2013数据集上的10个属性跟踪精度
Table 4 10 attributes tracking accuracy of algorithm on OTB2015 data set表4 算法在OTB2015数据集上的10个属性跟踪精度
Fig.1 Tracking result图1 跟踪结果图
具体的跟踪情况将在图1中展示,其中每幅图中分别有三种颜色的跟踪框,代表图例的三种算法的实时跟踪效果。绿色、红色、蓝色框分别代表FKCF、KCF、TLD,按横向排列,1~7源自OTB50数据集,8~14源自OTB100数据集,15~21源自OTB2013数据集,22~28源自OTB2015数据集。为了进一步印证上述本文所提算法针对剧烈运动场景具有更好的鲁棒性,本文在不同属性上,对每个算法在不同偏移像素距离下的跟踪精度进行了对比,实验结果如图2~图11所示。横坐标代表预测中心与实际中心偏移的实际距离;纵坐标代表对应偏移距离为阈值时的跟踪精度,即在当前偏移距离下,预测中心与实际中心偏差不超过对应距离的帧数与视频总帧数的比值;图上部是对应实验视频数量;在图的右下角给出了对应偏移距离的阈值设为20的平均跟踪精度。
Fig.2 Background clutter图2 背景杂乱
Fig.3 Illumination variation图3 光照变化
Fig.4 Low resolution图4 低分辨率
观察实验结果图2~图11,可得如下结论:
(1)相比于其他属性,在背景杂乱、旋转变化、移动模糊、形态变化、快速移动和规格变化这几个属性上,本文所提算法所得曲线与对比算法所得曲线间距较大,而这六种属性与剧烈运动程度相关性较大,因此这在一定程度上表明本文所提算法在面对剧烈运动场景时具有更好的鲁棒性。
(2)FKCF相比于经典KCF、DCF、TLD、MOSSE算法,在较小的阈值情况下即可达到较高的跟踪精度。
(3)FKCF相比于其他对比算法间距较大,其原因主要是相比于TLD、MOSSE算法,本文算法不仅在特征提取方面选用较为先进的HOG方法,而且在后期检测阶段引入了相比传统核方法(KCF、DCF)更有普适性的模糊核方法,从而在处理大多数视频时会产生较对比算法更好的结果。由于每幅曲线图中的曲线是根据多个视频实验得出的,而实验中的每个视频又包含多种属性场景,本文所提出的算法针对这些场景的精度都有一定的提升,因此在图2~图11中,FKCF的曲线与对比算法的曲线有一定的间距。
Fig.5 Occlusion图5 遮挡变化
Fig.6 Out-of-plane rotation图6 旋转变化
Fig.7 Out of view图7 目标消失
Fig.8 Motion blur图8 移动模糊
Fig.9 Deformation图9 形态变化
Fig.10 Fast motion图10 快速运动
Fig.11 Scale variation图11 规格变化
综上所述,本文算法相比于其他算法对复杂环境下的单目标跟踪拥有更好的适用性。
5 结束语
本文将TSK-FLS的知识与目标跟踪算法KCF良好地结合起来,提出了一种新的模糊KCF算法FKCF。该算法通过利用TSK-FLS将原先的目标函数进行改进,从而使其与目标跟踪很好地融合在一起,综合了TSK-FLS映射较稳定以及经典核相关滤波器高速的特点。大量的实验表明,相比于经典KCF、DCF、TLD、MOSSE算法,本文所提算法在跟踪精度上均有较大的提高。但所提算法仍存在一定的不足,如其实质仍是一种高精度高速度的单核目标跟踪算法,引入多核策略让其具有更强的鲁棒性将是下一步研究的目标。