APP下载

自适应模板更新的鲁棒目标跟踪算法*

2019-01-17黄光伟路丽霞王洪娟

计算机与生活 2019年1期
关键词:权值滤波粒子

刘 芳,黄光伟,路丽霞,王洪娟,王 鑫

北京工业大学 信息学部,北京 100124

1 引言

目标跟踪技术是计算机视觉研究领域中最重要的研究方向之一,广泛应用于军事侦查、交通监控、人群分析、动作识别等军事和民用领域。传统目标跟踪算法分为自底向上和自顶向下的处理方法[1]。自底向上的处理方法又称为基于判别式模型的跟踪方法,它不依赖于先验知识,直接从图像序列中获得目标的运动信息并进行跟踪。自顶向下的处理方法又称为基于生成式模型的跟踪方法,依赖于所构建的模型或先验知识,在图像序列中进行匹配运算或求解后验概率。近年出现了一系列具有代表性的目标跟踪算法,其中基于判别式模型的方法包括多示例学习法(multiple instance learning,MIL)[2]、基于在线Boosting算法的实时跟踪(on-line ada-boosting tracker,OAB)[3]、跟踪学习检测算法(tracking learning detection,TLD)[4]、结构化输出跟踪(struck)[5]等。基于生成式模型的方法有增量视觉跟踪算法[6]、粒子滤波跟踪算法[7]、循环结构的检测跟踪(circulant structure of tracking by detection with kernel,CSK)[3]、双相关滤波器(dual correlation filter,DCF)跟踪器[8]等。

上述跟踪算法几乎都是采用人为手工设计的特征(例如直方图、方向梯度直方图(histogram of oriented gradient,HOG)、尺度不变特征变换(scaleinvariant feature transform,SIFT)特征等)。大量实验表明手工设计的特征具有局限性,不适用于所有被跟踪目标。深度学习的发展为自动学习特征提供了可能。深度学习跟踪(deep learning tracker,DLT)[9]使用自动编码器[10]把深度模型运用在单目标跟踪任务上的跟踪算法,提出了“离线预训练+在线微调”的思路,很大程度地解决了跟踪中训练样本不足的问题。文献[11]深度网络通过大量训练集进行离线训练得到,利用离线的方式训练深度网络,然后使用训练好的模型在线跟踪目标;文献[12]使用ImageNet数据集离线训练多层的卷积神经网络(convolutional neural network,CNN),学习得到可以反映图像一般性特征的卷积核,而后通过迁移学习在线特征提取,使用粒子滤波算法进行目标跟踪。文献[13]中利用离线训练好的CNN在线提取目标的显著性图,其跟踪系统在线维护一个外观模型,通过相关匹配实现定位目标。近年来,基于深度学习的跟踪算法使得跟踪算法性能大幅提升,但其在应对目标遮挡、尺度变化等使目标表观发生变化的情况下,目前的跟踪算法性能还有待提升。

为了解决上述情形下跟踪算法性能不足的问题,将深度学习与模板更新结合,从而更好地应对目标表观的变化,然后进行目标跟踪。当目标发生外观等变化,跟踪模板需要作出相应的改变。因此,深度学习与模板更新结合,能够提高目标跟踪算法的准确性,从而提高视频目标跟踪性能。

模式匹配跟踪算法大多是先提取目标的某些特征(如SIFT、HOG)作为模板,然后在当前帧内寻找其特征和这个模板最相似的区域,因此模板是目标的唯一表示[14]。在目标运动过程中会不可避免地出现各种问题导致跟踪失败,如被障碍物遮挡、目标从背光处运动到强光处或者拍摄镜头的拉伸等,为使在这些复杂情况下准确跟踪目标,除了需要学习到目标良好的特征,目标模板也需要作出相应改变。因此,模板更新问题是目标跟踪的核心问题之一。模板更新策略[15]通常有以下三种:固定模板策略、固定帧模板更新策略、逐帧更新策略。传统更新策略方法较为简单,跟踪算法会由于遮挡或前些帧的跟踪误差积累,而导致跟踪失败。

文献[16]提出了一种加权模板更新策略,该策略是根据当前的跟踪质量产生一个权值,对预测模板和目标模板加权产生一个新模板,该新模板作为新的目标模板。但是该策略不能改变模板的大小,因此该策略并不能很好地应对目标的姿态和大小变化;文献[17]提出了一种基于卡尔曼滤波残差来更新模板的策略,当滤波残差小于阈值时,进行模板更新;当滤波残差大于阈值时,则认为目标受到遮挡,不更新模板。该策略对于非机动目标进行跟踪时,效果较好,但对机动目标的跟踪性能欠佳。

当目标发生尺度变化或受到遮挡时,已有的这些方法仍存在一些不足,往往容易丢失目标,导致跟踪失败。这主要是因为已有方法没有充分利用到目标本身的深度特征信息,不能合理地更新模板。深度学习很好地解决了这一问题,通过深度学习网络可以提取到目标更深层次的特征表达,充分利用目标本身的特征信息;高效的目标模板更新策略增加了目标跟踪过程中目标估计的准确性,目标的深度特征和自适应模板更新策略结合可以使得跟踪算法的鲁棒性和跟踪精度更高。

综上所述,本文提出一种基于深度特征和模板更新的自适应粒子滤波目标跟踪算法,深度特征使用卷积神经网络提取目标特征,与粒子滤波跟踪算法结合,把目标的仿射运动模型引入到粒子滤波的模板更新过程中,设计了一种自适应的模板更新策略,进而提出一种在复杂条件下具有较高跟踪准确率和成功率的目标跟踪算法。

本文结构安排如下:首先叙述相关研究内容;其次提出基于CNN特征和模板更新的改进的粒子滤波算法;再次给出实验结果及分析;最后为本文结论。

2 基于CNN的自适应粒子滤波跟踪算法

2.1 基于CNN的特征提取

研究表明,在卷积神经网络结构中的第3个卷积层的卷积特征保留目标更多的空间细节,如目标的位置信息等,因此利用第3层卷积特征可以对目标进行准确定位[18]。随着网络越来越深,空间信息越来越稀释,这会使图像中目标定位不精准[19]。由于卷积运算复杂耗时,考虑到跟踪算法的实时性,图像经过3个卷积层得到的特征保留了目标的空间位置信息,满足跟踪需求。因此本文设计一个包括3个卷积结构的深度网络,每个卷积结构包含1个卷积层、修正线性单元(rectified linear units,ReLU)层和池化层,由此构建了一个12层的卷积神经网络进行特征提取。整体框架图如图1所示[20]。

Fig.1 Structure of CNN图1 CNN网络结构

网络共12层,包括1个输入层、3个卷积层、3个ReLU层、3个下采样层、1个全连接层和1个输出层,每一层的输出都作为下一层的输入,下面将介绍各层的功能及参数个数情况。

输入层,向网络输入128×128的目标图像。

卷积层,使用卷积核对输入图像进行卷积操作,得到输入图像的特征图。conv1使用32个7×7的卷积核,得到32个122×122大小的特征图。conv2使用64个5×5的卷积核,得到64个58×58大小的特征图。conv3使用128个3×3的卷积核,得到128个27×27大小的特征图。

ReLU层,通过ReLU激活函数给网络加入非线性的因素,使得卷积神经网络更好地解决复杂的问题,其公式为f(x)=max(0,x)。

下采样层,通常跟随在卷积层之后,依据一定的下采样规则对特征图进行下采样。下采样层的功能主要有两点:

(1)对特征图进行降维;

(2)在一定程度上保持特征的尺度不变特性。

全连接层,128个9×9的卷积核对第3个下采样层的输出特征图进行卷积操作,得到1个128维的目标特征。

输出层,对目标特征进行分类。

文献[21]指出使用大规模数据集训练CNN网络模型提取到的特征对其他任务也同样具有普适性。因此,本文所构建的卷积神经网络预先在VOC2012数据集[22]上离线训练,使之能够提取通用目标特征,解决跟踪目标特征训练样本不足的问题。在跟踪过程中,对网络参数进行在线微调,将卷积层参数固定,仅对全连接层和输出层参数进行更新,提高了CNN参数调整的效率。利用所构建的卷积神经网络的第三层卷积特征图保留了更多的空间细节的优势,与粒子滤波算法结合进行视频目标跟踪,提高跟踪目标的精度。

网络的输入为原始图像X。Hi表示卷积神经网络第i层的特征图(H0=X)。

其中,W表示第i层卷积核的权值向量;运算符号“⊗”表示卷积操作,卷积的输出与第i层的偏移向量bi相加,最终通过ReLU非线性的激励函数f(x)得到第i层的特征图Hi。

经过多个卷积层和下采样层的交替传递,卷积神经网络依靠全连接网络针对提取的特征进行分类,得到基于输入的概率分布Y(li表示第i个标签类别)。如式(2)所示,卷积神经网络本质上是使原始矩阵(H0)经过多个层次的数据变换或降维,映射到一个新的特征表达(Y)的数学模型。

卷积神经网络的训练目标是最小化网络的损失函数L(W,b)。输入H0经过前向传导后通过损失函数计算出与期望值之间的差异,称为“残差”。常见损失函数有均方误差函数、负对数似然函数等。

训练过程中,卷积神经网络常用的优化方法是梯度下降方法,残差通过梯度下降进行反向传播,逐层更新卷积神经网络的各个层的可训练参数(W和b)。学习速率参数(η)用于控制残差反向传播的强度:

2.2 粒子滤波

为了解决非线性非高斯情况下的目标跟踪问题,将粒子滤波应用到视频目标跟踪过程中,它采用蒙特卡罗方法来求解贝叶斯估计中的积分运算。基本思想是在状态空间中寻找一组随机样本对条件后验概率密度进行近似,用样本均值代替原先需要依据后验概率密度函数进行的积分运算,从而获得最小的方差估计。

假定非线性动态过程如下:

粒子集初始化,由先验分布P(x0)中采样粒子,设置权值为1/N,则状态预测方程为:

重要性采样,将重要性函数q(x0:k|y1:k)改写成:

计算粒子重要性权值ωk,并进行归一化ῶk。

判断重采样,使权值大的粒子被复制,而权值小的粒子被舍弃,得到新的粒子集,且粒子的权值被重新设置为1/N。

计算时刻的状态估计值:

2.3 仿射变换

仿射变换是一种二维坐标到二维坐标之间的线性变换,即具有将平行线变换为平行线、有限点映射到有限点的一般特性。图像在二维空间中的旋转、尺度变化和位移可以通过仿射变换实现。仿射变换具有平移、旋转和缩放不变性。图2表示了一幅图像的几种仿射变换情况,可以体现目标跟踪中目标的某些运动情况。

Fig.2 Affine transformation example图2 仿射变换实例

2.4 自适应模板更新

2.4.1 传统模板更新策略

目标模板更新策略是目标跟踪过程中的关键环节,模板更新策略的准确度直接影响跟踪性能。固定模板策略是传统目标模板更新策略中的最简单的一种策略,该策略是以目标区域的颜色直方图模板作为目标模板,通过粒子滤波对目标状态进行估计位置区域,并计算该区域的颜色直方图模板作为预测模板,如图3所示。以Ht与Hp之间的Bhattacharyya距离[23](巴氏系数)作为相似性,通过相似性进而确定目标状态进行跟踪,其中巴氏系数定义如下:

当在运动过程中跟踪目标发生如图3所示的尺度变化时,可以看出预测模板Hp与目标模板Ht相差很大,利用巴氏系数计算目标模板和预测模板的相似性,巴氏系数变小,导致跟踪失败,因此固定模板策略在应对尺度变化时显得有些乏力,需要进一步的研究来完善。逐帧更新策略是根据前一帧目标的状态,用后一帧的预测模板来更新目标模板。这种更新策略的优点是能够实时反映目标状态变化,但是逐帧更新也存在误差逐渐累积,从而造成模板漂移,甚至可能使跟踪算法跟踪错误的目标模板,导致跟踪失败。

Fig.3 Several target motion diagrams图3 几种目标运动示意图

2.4.2 基于仿射变换的自适应模板更新策略

在视频目标跟踪过程中,若跟踪目标保持某种特定的状态运动,则该目标状态具有显著的记忆性,只需将预测模板与目标模板进行匹配,确定目标状态进行跟踪;若目标的状态不断变化,就会使候选模板和目标模板的相似度逐渐降低,可能导致目标跟踪失败。为了提高目标跟踪的准确性,本文提出一种基于仿射变换的自适应模板更新策略。通过仿射变换构建候选模板库,使在目标跟踪过程中自适应更新模板。

通过观察 OTB2013[3]、TC128[24]、UAV123[25]中视频序列中跟踪目标运动过程中的变化,可以看出,当跟踪目标发生旋转时,在相邻帧之间跟踪目标的旋转变化在1°~3°;当目标发生尺度变化(缩放)时,在相邻帧之间跟踪目标的缩小倍数是0.95~0.85倍,放大倍数是1.05~1.15倍。因此,通过上述观察结果,进行相应的仿射变换,存入候选模板库中,可以使目标在跟踪过程中得到准确的目标模板更新,防止跟踪目标丢失,提高目标跟踪的准确性。

仿射变换可以描述3D空间中的目标到2D平面的成像过程,具体表现可以是各个方向的尺度变换、系数一致的均匀尺度变换或变换系数不一致的非均匀尺度变换及剪切变换等。仿射变换具有平移、旋转和缩放不变性。对于一个目标模板,分别进行左右旋转2°、放大1.1倍、缩小0.9倍的仿射变化,同时模拟目标光照变化,定义候选模板库如下:

对粒子权值排序,选择前60%的粒子,计算它们的权值和ω,若ω≥v(阈值,一般选择0.6~0.7),则使用跟踪输出位置作为候选目标模板;否则,从候选模板库重新确定候选目标模板。

在粒子滤波跟踪框架下,提出一种跟踪状态判定模型更新的方法。通过选择粒子权值作为模型更新的判断依据,通过判决反馈信息选择合适的候选模板作为匹配目标模板,然后通过模板更新模型进行目标模板更新,确定新的目标模板。模板更新模型为:

其中,m0为初始目标模板;m′为基于仿射变换的候选模板库中的某候选目标模板;α为平衡因子,取值依据目标的跟踪状态。在目标模型更新中,采取粒子权值分布前60%的预测结果来判定目标的跟踪状态,进而确定α的取值,即:

其中,T1和T2为阈值,依据先验知识获得,T1=0.8和T2=0.2;ω为粒子权值分布前60%的权值和;v为粒子权值判定的参数。

在模板更新时,融入不同程度的初始目标模板和候选目标模板可以使目标在跟踪过程中得到准确的目标模板,防止跟踪目标漂移,提高目标跟踪的准确性。图4是自适应模板更新框图。

Fig.4 Adaptive template update framework图4 自适应模板更新框架图

目标模板更新策略的具体步骤如下:

(1)对粒子滤波算法中每个粒子位置与目标模板的巴氏系数进行归一化,得到每个粒子的权值。

(2)选择权值分布前60%的粒子,计算它们的权值和ω,使用式(14)判断α的取值。

(3)将候选模板库中的某一候选模板的深度特征和所有粒子的深度特征进行比较,重新给每个粒子赋予权值,并计算其权值前60%的粒子的权值和。

(4)对候选模板库中的所有候选模板分别进行步骤(3)的操作,选择其中权值和最大的候选模板作为m′。

(5)通过式(13)进行模板更新,确定新的目标模板。

(6)将预测目标位置及其仿射变换放入候选模板库中。

2.5 基于CNN的自适应粒子滤波目标跟踪算法流程

本文算法整体流程如图5所示。

(1)使用数万张通用目标图像离线预训练一个卷积神经网络,训练好的网络用于提取目标特征。

(2)将视频转化图像帧输入系统。

(3)在初始帧或选定帧中手动标定预跟踪目标位置,作为初始目标模板,引入仿射运动模型对目标图像进行仿射变换,建立候选模板库。将初始目标模板和候选模板输入卷积神经网络计算其深度特征。

Fig.5 Robust target tracking algorithm for adaptive template updating flow chart图5 自适应模板更新的鲁棒目标跟踪算法流程图

(4)在待搜索区域里以高斯分布的方式放入大量粒子,计算每个粒子所在区域的深度特征,与模板进行比较,给每个粒子赋予权值。通过调整各粒子的权重大小和样本位置来近似实际的概率分布,以样本期望作为系统估计值。然后进行重采样,重新分布粒子的位置。

(5)模板更新,选择权值分布前50%的粒子,计算它们的权值和ω,如使用式(14)判断α的取值,将某一候选模板的深度特征和所有粒子的深度特征进行比较,重新给每个粒子赋予权值,并计算其权值前60%的粒子的权值和,对所有候选模板分别进行上述操作,选择其中权值和最大的候选模板作为m′。然后通过式(13)将原始目标模板和候选目标模板融合得到新的目标模板。

3 仿真实验

本算法在Matlab 2016a上实现,计算机配置为Intel Core i5-2410M 2.3 GHz,内存为8 GB。实验选用目前主流的跟踪平台OTB2013、TC128、UAV123上的18个视频序列进行实验验证,这里使用了8个视频序列 Jogging、Liquor、SUV、Tiger1、Plane_ce2、Bike1、Skyjumping_ce、Girlmov进行实验结果展示。为验证本文算法的有效性,与当前多种主流跟踪算法进行对比分析,包括尺度自适应与多特征融合跟踪器(scale-adaptive and multi feature integration tracker,SAMF)[26]、多专家的熵最小化(multiple experts using entropy minimization,MEEM)跟踪[27]、强判别性尺度空间跟踪器(discriminative scale space tracker,DSST)[28]、DCF、OAB、TLD、CSK等。其中,MEEM、OAB、TLD属于判别式模型的方法,SAMF、DSST、DCF、CSK为基于相关滤波的跟踪算法。SAMF、DSST、DCF算法是针对目标的尺度变化问题的改进算法,MEEM、CSK考虑了目标遮挡情况,SAMF、OAB、CSK考虑了目标光照变化问题,TLD在背景复杂情况下跟踪效果较好。

图6表示8种跟踪算法对18组测试视频的整体精度曲线和成功率曲线,可以看出对于18组测试视频中的目标,本文算法的跟踪成功率最高,相比于SAMF算法提高了4%,相比于DCF算法提高了22%。

Table 1 Success rate of tracking表1 跟踪成功率

Fig.6 Tracking precision and tracking success rate plots of 18 sequences图6 18个测试序列的跟踪精度曲线和跟踪成功率曲线

图7给出了8种跟踪算法的部分序列跟踪结果,左上角显示图像序列的当前帧数,不同算法的跟踪结果用不同颜色的跟踪框显示,红色为本文算法。图8显示了8个序列的中心位置误差曲线,可知本文算法保持了较低的中心误差,跟踪精度高。

图9是算法跟踪精度曲线图,括号内的数值是当阈值d=20时对应的跟踪精度,平均值随着中心误差阈值的增大,显然本文算法的性能提高最快,且算法精度最高。图10是算法跟踪成功率曲线图,括号内的数值代表成功率曲线下的面积,随着所给重叠率阈值t的增大,显然本文算法的跟踪鲁棒性最强,成功率衰减缓慢。

(1)目标遮挡,Girlmov、Jogging、SUV视频序列中,被跟踪目标在运动过程中被不同物体不同程度遮挡。Jogging的第86帧,目标被完全遮挡,直至目标重新出现,只有本文算法、MEEM、SAMF很好地跟踪到目标;SUV的第517帧,目标被部分遮挡时,SAMF、OAB等都出现了跟踪漂移,本文算法使用深度特征和自适应模板更新策略应对遮挡情况有较好的鲁棒性,始终正确跟踪目标。

(2)目标旋转,Plane_ce、Skyjumping_ce2、Tiger1视频序列中被跟踪目标都发生了明显的旋转变化。在目标发生旋转时,DSST、TLD、CSK都出现了明显的跟踪偏移,本文算法使用候选模板库更新模板,使算法对目标旋转具有高度鲁棒性。

Fig.7 Comparison of tracking results图7 跟踪结果对比

(3)尺度变化,Bike1、Plane_ce视频序列中,目标发生了相对较快的尺度变化。Plane_ce中MEEM、TLD、CSK算法先后丢失跟踪目标,其余算法基本能跟踪到目标。由图10可知8种算法中This paper在两个序列上的跟踪成功率是最高的,说明本文算法很好地适应了目标的尺度变化。

(4)光照变化,Skyjumping_ce2、Tiger1、Liquor视频序列中背景出现剧烈的光照变化。SAMF、DCF、OAB能够成功跟踪目标,但都伴随有不同程度的跟踪误差,本文算法在目标发生光照变化时,在保证目标模板可靠性基础上,采用候选模板库匹配,保存目标光照变化条件下的模板,保证了光照变化时的精确跟踪,在光照回到初始状态时,利用候选模板库中正常光照下的目标模板进行匹配,实现稳定的跟踪。

(5)相似目标,Girlmov、Jogging、Liquor视频序列中,背景中存在一个或多个与目标相似的运动物体,在目标或背景中物体发生运动时,本文算法能准确跟踪目标并且自适应地调整跟踪框的尺寸大小,较其他7种算法有更强的适应性。

4 结束语

本文提出了一种基于深度特征和模板更新的自适应粒子滤波目标跟踪的方法,将一幅目标模板及其仿射变换得到的图像放入候选模板库中,然后通过预测结果的深度特征与目标模板及其仿射变换的深度特征进行对比,确定新的目标模板,并将新的目标模板及其仿射变换放入候选模板库中,进一步提高了对目标表观变化的适应性。最后,在粒子滤波算法框架下完成对目标的定位。在遮挡、光照变化、目标旋转、尺度变化和存在相似目标条件下,仿真实验表明本文算法是有效的。

Fig.8 Tracking accuracy graphs图8 中心位置误差曲线

Fig.9 Tracking precision plots图9 跟踪精度曲线

Fig.10 Tracking success plots图10 跟踪成功率曲线

猜你喜欢

权值滤波粒子
船岸通信技术下舰船导航信号非线性滤波
一种融合时间权值和用户行为序列的电影推荐模型
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于5G MR实现Massive MIMO权值智能寻优的技术方案研究
基于膜计算粒子群优化的FastSLAM算法改进
一种基于互连测试的综合优化算法∗
一种考虑GPS信号中断的导航滤波算法
高效LCL滤波电路的分析与设计
Conduit necrosis following esophagectomy:An up-to-date literature review
程序属性的检测与程序属性的分类