APP下载

基于自适应组合核的鲁棒视频目标跟踪算法

2019-01-07刘培强张加惠吴大伟安志勇

计算机应用 2018年12期
关键词:响应值高斯分类器

刘培强,张加惠, 吴大伟, 安志勇

(1.山东工商学院 计算机科学与技术学院,山东 烟台 264005; 2.山东省高等学校协同创新中心:未来智能计算,山东 烟台 264005; 3.东北林业大学 交通学院, 哈尔滨 150040)(*通信作者电子邮箱liupq@126.com)

0 引言

目标跟踪是根据最优估计算法分析视频中目标的状态,从而为进一步目标识别、分类等提供有效技术支撑。该技术已经被成功应用于智能视频监控、导航与定位、医学处理等领域。当前,目标跟踪算法可分成生成式模型和判别式模型两大类。生成式模型主要运用生成模型描述目标特征,通过搜索候选目标来最小化重构误差,有基于粒子滤波跟踪算法[1]、meanshift算法[2-3]以及卡尔曼滤波和meanshift融合方法[4]等;然而,该方法往往忽略背景信息,因此当目标发生剧烈变化或遮挡时容易产生漂移。判别式方法通过训练分类器来区分目标和背景,主要有随机森林算法[5]、相关滤波器(Correlation Filter, CF)算法[6-17]、结构化支持向量机(Support Vector Machine, SVM)算法[18],以及深度学习算法[19-21]等,判别式方法能够显著区分背景和前景的信息,已成为目标跟踪的研究主流。

近年来相关滤波器算法已成为目标跟踪的研究热点。Bolme等[6]提出误差最小平方和滤波器(Minimum Output Sum of Squared Error filter, MOSSE)相关滤波跟踪算法,然而该方法存在着不稳定性,同时缺乏目标尺度估计和多通道等问题。Danelljan等[7]利用岭回归算法针对相关滤波进行了改进,提出判别式尺度空间跟踪(Discriminative Scale Space Tracker, DSST)算法,该算法增加了一个尺度滤波器估计目标尺度,然而该方法仅在尺度窗口增加和降低的趋势估计上容易产生漂移,导致小尺度的震荡,因此尺度检测性能有待提高。Zhang等[8]利用上下文信息改进相关滤波器,提出时空上下文(Spatio-Temporal Context, STC)跟踪算法,针对贝叶斯框架对目标局部的上下文时空关系进行建模,得到目标与背景的统计相关性,通过调整方差sigma来实现尺度的准确估计。Mueller等[9]利用上下文信息提取负样本信息,从而进一步增强相关滤波器的分类性能。Liu等[10]将被跟踪目标分为多个子块,每个子块将采用相关滤波进行跟踪,然后将各子块响应图进行融合,其算法优点是针对每个子块单独更新,有效解决遮挡问题。针对边界效应问题,Danelljan等[11]提出了空间正则化判别式相关滤波器 (Spatially Regularized Discriminative Correlation Filter, SRDCF)算法,忽略所有移位样本的边界部分像素,在损失函数中引入惩罚项,从而抑制离中心较远的特征的影响。Henriques等[12]提出核化相关滤波器(Kernelized Correlation Filter, KCF)跟踪算法,利用循环矩阵增强训练样本,使用目标周围区域的循环矩阵采集正负样本,利用岭回归训练目标检测器,根据循环矩阵在傅里叶空间可对角化的性质将矩阵的运算转化为向量的点积,极大降低了运算量,实验结果表明该算法具有较高的准确率。朱明敏等[13]融合KCF算法和光流法提出了长时核相关滤波跟踪算法,针对快速运动具有较强的适应能力。钱堂慧等[14]提出了尺度自适应的KCF跟踪算法,训练了多尺度相关滤波分类器,能够正确估计目标的最佳尺度。李麒骥等[15]利用Lucas-Kanade光流法特征点估计目标尺度变化,解决了核跟踪滤波器中目标尺度估计问题。Danelljan等[16]针对相关滤波器的训练样本进行改进,对高质量的训练样本设置较高的权重,对低质量的训练样本设置较低的权重,具有稳定的跟踪性能。Ma 等[17]针对相关滤波器利用K最近邻(K-Nearest Neighbors, KNN)算法分类重定位技术获取最佳目标跟踪位置,该方法合理地使用了目标外观上下文信息进行重定位。

近年来,相关滤波器算法已和SVM[18]、深度学习[19-21]等方法相融合进一步提高算法性能。Valmadre等[21]提出相关滤波网络(Correlation Filter Network, CFNet)算法,将相关滤波器融入到卷积神经网络(Convolutional Neural Network, CNN)架构中,相关滤波器(CF)和卷积神经网络(CNN)可以互相补偿,两者的结合提高了性能。

在相关滤波器改进算法中,KCF算法利用循环平移提高分类器性能,其高速运算性能已成为较多算法的基准跟踪器。然而该算法采用高斯核或多项式核等单核形式,但现实目标往往不符合高斯核或多项式核等单核表征,而是多核组合或复合核的形式;同时滤波器更新采用固定参数,不具有场景的自适应性。因此,本文构造了自适应组合核(Self-Adaptive Compound Kernel, SACK)的相关滤波器,将线性核和高斯核的自适应组合作为核函数;同时提出自适应更新算法,利用场景的置信度水平(即利用规范化和归一化后的极大响应值衡量被跟踪目标的置信度)自适应调整更新率,该算法具有较高的成功率和精确度。

1 自适应组合核的鲁棒目标跟踪算法

1.1 自适应组合核位置跟踪滤波器

由于KCF算法具有良好的跟踪性能,已成为较多目标跟踪算法的位置跟踪滤波器。然而KCF滤波器采用单核进行处理目标跟踪,不能合理表征现实目标,本节提出自适应组合核(SACK)目标跟踪算法,同时采用方向梯度直方图(Histogram of Oriented Gradients, HOG)特征和灰度特征作为算法的特征输入。设被跟踪目标的训练样本为x,循环平移后得到样本xi,设f(xi)=wTφ(xi)为分类器函数,其中φ(xi)为非线性映射函数,则使正则化结构化风险泛函最小优化问题可表示为:

(1)

其中:yi为期望输出的高斯分布;λ为正则化参数以保证类器的泛化性能。则式(1)核空间岭回归的矩阵表示为:

(2)

其中,w是由φ(X)=[φ(x1),φ(x2),…,φ(xn)]T行向量张成的空间中的一个向量。令w=φ(X)Tα,则:

(3)

由式(3)可知对w的求解可转换为对α的求解,核岭回归问题的解[12]为:

α=F-1(F(y)/(F(kx,x′)+λ))

(4)

式中:α即为求解新的滤波器系数;F-1为傅里叶反变换;kx,x′为训练样本的核相关矩阵。在KCF跟踪算法中,使用单一核(高斯核或多项式核)作为核相关矩阵,而本文将采用线性核和高斯核进行学习,则核相关矩阵kx,x′可定义为:

(5)

Map=F-1(F(kx,z)⊙F(α))

(6)

通过寻找响应图Map中最大的位置就是所要检测目标的中心位置。通常,式(5)的系数b是根据经验设定,而本文提出根据线性核和高斯核的输出响应得到优化参数,优化参数问题可表示为:

(7)

(8)

由于b*的值是由线性核和高斯核的输出响应计算而得,同时b∈[0,1],因此由二次函数的性质可修正为:

(9)

当b为1时,表明采用线性核相关矩阵能够使得风险最小,即目标响应与期望响应的离差平方和最小;当b为0时,表明采用高斯核相关矩阵能够使风险泛函最小。同时,根据不同b值,自适应调整高斯核相关矩阵和线性核相关矩阵的权重,使其达到泛函最小,式(7)反映了这种自适应性。

为了验证自适应组合核的必要性,图1对比了三种核滤波器的跟踪结果,包括线性核、高斯核和自适应组合核,其中:图1(a)为被跟踪目标bolt,图1(b)为自适应组合核滤波器响应,图1(c)为三种核跟踪目标框和质心。

由图1可以看出,自适应组合核的跟踪框和质心的准确性明显优于单纯使用高斯核和线性核,自适应组合核同时具有局部核和全局核的优点,因此在目标跟踪中是必要的,具有一定的优越性。

图1 不同核滤波器的跟踪结果Fig. 1 Tracking results of different kernel filters

在组合核学习中,文献[22-23]采用高斯核和多项式核组合学习增强全局泛化能力;文献[24]采用线性核和高斯核进行差异化学习,而在跟踪场景中,更重要的是判别性或差异化的互补学习,因此本文采用线性核和高斯核进行学习。由于线性核是全局核,可以表征特征空间的全局特性,而高斯核是局部核,具有较强的学习能力,可以表征特征空间的局部特性,因此这两种核函数进行组合,使得特征空间既具有较好的学习能力,又具有较强的泛化能力。由于多项式核没有高斯核的学习能力强,故不采用多项式核进行组合学习。

1.2 自适应更新率

在快速检测得到新的目标区域后,就可以对滤波器进行更新,更新方法如式(10):

F(α)t=(1-η)F(α)t-1+ηF(α)

(10)

其中η为学习更新率。在KCF跟踪算法中,学习更新率是一个固定值,不具有复杂场景的自适应性,本文提出利用极大响应值衡量被跟踪目标的场景置信度。规范化后的极大响应值M-norm为:

M-norm=(Mmax-μ)/(3*σ)

(11)

其中:Mmax为当前帧的极大响应值;μ为历史帧的极大响应均值;σ表示历史帧的响应方差。根据3σ原则M-norm基本上为-1到1之间的数,从而可以进一步分析分类器的置信度。

Faceocc1在遮挡环境下的极大响应值和M-norm变化如图2所示。图2(a)为无遮挡场景,图2(d)为图2(a)的对应响应图,其极大值Mmax为0.28,M-norm为0.54;当发生轻微遮挡时,图2(e)为图2(b)的响应图,其极大值Mmax为0.268,而M-norm为0.274;在严重遮挡时,图2(f)为图2(c)的响应图,其极大值Mmax为0.251,而M-norm为0.181。可见M-norm灵敏地反映了遮挡环境中的分类器对当前目标的置信度水平,M-norm值越大说明分类器性能较高,应该及时更新;值越小,说明分类器受到干扰越大(例如遮挡),应该减少更新。为了进一步规范化,将M-norm进行平移和归一化后可得:

(12)

p即为置信度水平,因此,根据置信度水平p设置学习更新率η为:

(13)

当p小于某个阈值Th0时,说明分类器受到干扰较大,应该减小更新率,因此设置一个较小的更新率u0,本文设为0.15;否则,应该增加更新率,以β*p作为更新率,β是一个基准更新率,与KCF算法更新率一致,设为0.02,其中Th0设为0.075。实验分析表明,KCF算法的更新率在0.02左右达到最优,而本文算法采用了组合核算法,更新率在0.18左右最佳,因此本文将基准更新率β设为0.02。三种更新率(本文自适应更新率,更新率为0.02,更新率为0.015)的tiger2的跟踪结果如图3所示。由图3可知,第124帧时,本文自适应更新率具有最佳的跟踪性能,明显优于其他两种固定更新率。式(13)实质是根据规范化极大响应值M-norm自适应调整滤波器更新率,使其具有场景的自适应性。

图2 遮挡环境极大响应值Mmax和M-norm变化Fig. 2 Changes of maximum response value Mmax and M-norm in occlusion environment

图3 tiger2在不同更新率下的跟踪结果Fig. 3 Tracking results for tiger2 with different update rates

1.3 尺度滤波器估计

(14)

式中g为1维高斯分布特征。hj在傅里叶变换域的解为:

(15)

(16)

(17)

(18)

其中η0为学习率。

1.4 算法描述

本文算法将目标跟踪分解为平移和尺度估计两个独立的子任务,其中平移滤波器采用了自适应的组合核相关滤波器,图4为自适应组合核(SACK)跟踪算法流程,算法描述如下。

算法1 SACK算法。

Translation estimation:

1)根据第t帧视频序列的位置(xt-1,yt-1)和尺度st-1,提取被跟踪目标的HOG特征和灰度特征。

2)分别计算线性核和高斯核的相应图,根据式(9)求解两种核相关矩阵的最优权重系数b。

3)根据式(4)计算平移滤波器。

4)根据式(6)的响应值极大值,并计算新的位置(xt,yt)。

5)根据式(13)计算自适应更新率η。

Scale estimation:

6)根据第t帧视频序列的新位置(xt,yt)和尺度st-1提取HOG特征。

7)根据式(15)计算尺度滤波器。

8)根据式(16) 计算最佳估计尺度。

Model update:

9)根据式(10)更新平移滤波器αt。

2 实验结果与分析

式(1)的正则项参数λ设为0.01;式(5)中高斯核的标准差σ设为0.5,线性核不需要设置参数;式(13)中的阈值Th0设为0.75,u0设为0.15,β设为0.02;式(14)的正则项参数λ设为0.01,其中一维高斯分布g的标准差设为0.25,尺度搜索空间为33个尺度,尺度步长设为1.03;式(17)~(18)中η0设为0.02。测试硬件平台的配置为Intel I5-3210 2.50 GHz CPU 和4 GB 内存,实验平台为Matlab 2013。

2.1 自适应组合核算法的有效性测试

为了测试自适应组合核的有效性,从OTB-50数据集选取了5个视频序列测试,为了降低尺度对算法的影响,这些视频序列均没有尺度变化,本文SACK算法和KCF算法的成功率性能比较如表1所示。为了具有可比性,算法均采用HOG特征,其中:KCF_gauss为高斯核,KCF_poly为多项式核,KCF_linear为线性核(即DCF跟踪算法);另外,将KCF_gauss和KCF_linear的核相关函数进行简单组合,权重b设为0.5,即具有相同权重。

表1 SACK算法与KCF算法成功率对比 %Tab. 1 Success rate comparison of SACK algorithm and KCF algorithm %

由表1可知,本文SACK算法在5个视频序列中的成功率明显高于单核算法及KCF_gauss+ KCF_linear组合算法;由于高斯核和多项式核均是全局核,具有相同的泛化能力,因此其成功率基本一致。在bolt视频序列中,KCF_gauss和KCF_poly成功率均为94.3%,KCF_linear的成功率为86%,KCF_gauss+ KCF_linear 组合算法的成功率为94.3%,可见在bolt视频序列中,线性核性能略低于高斯核和多项式核,而KCF_gauss+KCF_linear 简单组合算法没有提高算法性能,而本文算法在一定程度上提高了跟踪成功率。KCF_linear在coke视频序列上的成功率低于KCF_gauss和KCF_poly方法,但在singer2视频序列上要优于高斯核和多项式核,这体现了不同核的差异性,正是这种核函数的差异性,组合后可以进行互补。本文选取全局核时采用了高斯核,主要是考虑高斯核具有较强的鲁棒性[12]。

另外,由表1可知,KCF_gauss+KCF_linear的简单组合策略并不能显著提高算法性能,而本文提出的自适应组合策略显然要优于这种简单组合策略。本文自适应组合策略不仅考虑了多核响应的整体风险泛函最小,同时考虑了极大响应值的风险,因此具有较好的跟踪性能。

2.2 复杂场景定量分析

为了验证跟踪的有效性,实验选取10个挑战性的视频序列进行定量分析,这些视频序列具有复杂的场景变化,如光照变化、遮挡、旋转和尺度等,可以方便地分析各个视频目标跟踪算法受不同因素的干扰程度。本文选择了9个前沿算法与SACK算法比较,包括:双向尺度估计跟踪(Bidirectional Scale Estimation Tracker, BSET)算法[26]、DSST[7]、KCF[12]、Struck[27]、跟踪学习检测(Tracking-Learning-Detection, TLD)算法[28]、局部无序跟踪(Locally Orderless Tracking, LOT)[29]、压缩跟踪(Compressive Tracking, CT)算法[30]、局部敏感直方图跟踪(Locality Sensitive Histograms Tracking, LSHT)算法[31]和颜色命名(Color Names, CN)特征跟踪算法[32]。10个算法成功率分析结果如表2所示。由表2可知,在所有视频的比较中,KCF成功率均值为65.8%,BSET成功率均值为59.5%,而本文SACK算法成功率均值为88.7%,明显高于BSET算法和KCF跟踪算法。10个算法的平均中心误差如表3所示,其中:SACK算法的平均中心误差均值最低为9.1像素,KCF平均中心误差均值为24.1像素,BSET平均中心误差均值为44.1像素,可知 SACK跟踪算法具有最高的平均成功率和最低的平均中心误差。由于本文提出的自适应组合核方法,不仅继承了局部核的学习能力,也融入了全局核的泛化能力,而核相关函数在自适应组合的过程中,不是简单组合而是根据核响应图及极大响应值的自适应调整,因此具有优良的跟踪性能。

表2 不同算法在平移数据集上的成功率 %Tab. 2 Success rates of different algorithms for translation dataset %

表3 不同算法在平移数据集上的中心位置误差 像素Tab. 3 Center location errors of different algorithms for translation dataset pixel

2.3 OTB-50数据集综合测试

为了全面评测本文算法,利用OTB-50数据集进行了总体性能测试。该数据集共有50个视频序列(51个被跟踪目标),这些视频序列分别存在着一些复杂的场景变化,例如遮挡、旋转和背景干扰等,可以方便地分析各个视频目标受不同因素的干扰程度。本文利用成功率图和精度图[21]作为评价标准,10个算法的成功率图和精度图如图4所示。

图4 OTB-50数据集的精度图和成功率图Fig. 4 Precision plots and success rate plots on data set of OTB-50

由图4(a)的精度图可知,SACK算法得分最高为0.781,比BSET算法高出3.2个百分点,比KCF跟踪算法高出4.1个百分点;同时,由4(b)的成功率图可知,SACK得分为0.582,高于KCF算法6.8个百分点,高于BSET算法2个百分点。因此本文提出的SACK跟踪算法在OTB-50数据集上优于其他算法。

各算法在形变、遮挡、平面外旋转和背景干扰等挑战性属性集上的成功率图和精度图如图5所示,其中存在形变、遮挡、平面外旋转和背景干扰的视频数量分别为19、29、39、21。

由图5可知,在形变属性视频序列(deformation)中,本文提出的SACK算法具有较高的成功率,得分为0.621,而KCF跟踪算法为0.534,显著高于KCF算法;同时在精度图上,SACK算法得分为0.834,而KCF跟踪算法为0.740。因此,本文算法在形变属性集上明显优于KCF算法以及其他算法。另外,由遮挡、平面外旋转和背景干扰等属性集上的成功率和精度图可知,本文算法也优于BSET、DSST和KCF等其他算法。由于本文算法根据被跟踪目标自适应调整滤波器更新率,使其具有场景的自适应性,因此针对背景干扰具有一定的鲁棒性。

不同算法在5个挑战性视频上的跟踪结果如图6所示,这些视频序列不同程度地存在着背景干扰、形变、尺度变化和遮挡等现象,同时将本文SACK算法与4种前沿算法进行了分析和比较,包括KCF、DSST、BSET和LSHT算法。

在carScale视频中,第54帧和第175帧时不同算法没有明显的差异,而第225帧时SACK算法跟踪效果显著优于DSST和BSET算法,因此SACK算法不仅具有准确的尺度估计能力,而且针对部分遮挡(如视频中的树木)有较好的抗干扰能力。在david3视频中,明显存在背景干扰,在233帧时只有SACK和KCF算法能有效跟踪到目标,同时SACK算法的准确性要优于KCF算法。在fleetface视频中,第647帧时目标出现了平面旋转等问题,而SACK算法依然能够有效跟踪到目标,优于其他算法。在jogging-1视频中,在第101帧时SACK和LSHT算法能够准确跟踪到目标,由于柱子的全局遮挡,其他算法跟踪失败;在192帧时,目标出现显著的形变,SACK算法明显优于LSHT算法,因此SACK算法针对形变具有较强的鲁棒性。在tiger2视频中,第109和296帧时,仅SACK算法能够有效跟踪到目标,而其他算法均出现了“漂移”现象。

另外,本文算法在OTB-50上的处理速度为平均每秒18.9帧,基本上满足实时跟踪的需求。综上所述,SACK算法与BSET、DSST等其他算法相比,具有较明显的优势。

图5 不同算法在不同属性下的成功率图和精度图Fig. 5 Success rate plots and precision plots of different attributes on data set of OTB-50

图6 不同算法的跟踪结果对比Fig. 6 Comparison of tracking results of different algorithms

3 结语

本文提出了自适应组合核的鲁棒跟踪算法,该算法包括两个自适应性:一是自适应组合核策略,根据线性核和高斯核的响应值,自适应调整不同核相关矩阵的权重,不仅考虑了多核响应的整体经验风险泛函最小,同时考虑了极大响应值的风险泛函;二是根据目标的极大响应值,针对核滤波器设置自适应更新率。本文算法为组合核相关滤波器提供了新的最小风险泛函策略,为相关滤波器融合算法提供了可借鉴的策略和方法。针对OTB-50数据集的实验结果表明,与BSET、DSST以及KCF等前沿算法相比,本文算法具有较高的成功率和精确度。但本文算法仅利用了HOG特征和灰度特征跟踪目标,下一步我们将研究深度特征和自适应组合核的跟踪算法。

猜你喜欢

响应值高斯分类器
紫外荧光法测定醇基液体燃料中的总硫含量
学贯中西(6):阐述ML分类器的工作流程
基于程序性知识学习的项目状态转移函数与多分知识结构
基于朴素Bayes组合的简易集成分类器①
气相色谱法测定蔬菜中常见有机磷农药响应值变化规律
数学王子高斯
天才数学家——高斯
一种自适应子融合集成多分类器方法
提高环境监测数据准确性初探
浅谈多分类器动态集成技术