基于条件随机场的深度相关滤波目标跟踪算法*

2019-05-20 06:56黄树成张天柱徐常胜
软件学报 2019年4期
关键词:鲁棒性卷积像素

黄树成,张 瑜,张天柱,徐常胜,王 直

1(江苏科技大学 计算机学院,江苏 镇江 212003)

2(中国人民解放军91917部队,北京 100071)

3(模式识别国家重点实验室(中国科学院 自动化研究所),北京 100190)

目标跟踪是计算机视觉领域研究的热点之一,当前广泛应用于视频监控、人机交互等实际问题中,具有重要的研究价值.但是受限于实际环境的复杂性,例如遮挡、光照变化、目标形变以及背景相似干扰等,当前跟踪算法在准确性、鲁棒性以及实时性上还很难满足实际应用需求.因此它仍是一个极具挑战性的课题.

基于相关滤波的跟踪方法以其出色的性能和速度优势,在跟踪领域引起了很大的关注.近年来,涌现出了大量基于相关滤波的跟踪方法,如 KCF[1]、SAMF[2]、LCT[3]、MUSTer[4]和 CACF[5],这些方法多数采用手工特征,因此限制了算法的准确性和鲁棒性.随着 CNN在目标识别领域中的成功应用,深度学习进入了目标跟踪领域,比较有代表性的基于CNN的跟踪方法有DeepSRDCF[6]、HCF[7]、SiamFC[8]、CFNet[9]和DCFNet[10]等,但这些算法仅考虑了对图像中目标表观特征的提取,特征响应存在多峰现象,跟踪结果易产生漂移.本文结合连续 CRF模型提出了一种新的端到端的目标跟踪方法,充分考虑了图像相邻超像素块之间的相似性关系,利用该关系约束了初始响应值,抑制了跟踪过程中的漂移现象.

本文提出的基于条件随机场的深度相关滤波目标跟踪算法,在跟踪一段视频序列时,将其中每一帧图片的目标候选区域通过深度卷积神经网络提取特征,运用相关滤波计算初始响应图,与此同时,根据相邻超像素块之间的位置关系构建相似度矩阵.然后结合当前图片的初始响应与相似度矩阵更新响应图,最终确认目标的位置信息.如图1所示,初始响应图中目标位置附近多峰现象严重,本文加入了相邻超像素块之间的相似性关系,利用该关系去约束初始响应图,去除了多峰现象,抑制了跟踪过程中的漂移,使得优化后的响应图更加平滑,提高了判别目标位置的鲁棒性.

Fig.1 Process of model optimization图1 算法模型优化过程

本文的贡献及创新点总结如下.

(1) 将连续CRF模型运用到目标跟踪领域中,通过对CRF模型中单个势节点和相邻势节点之间的关系建模,优化了基于深度学习的 DCF跟踪算法,有效缓解了不同情况下的跟踪漂移问题,特别是在目标尺度变化时,明显提高了跟踪的成功率;

(2) 设计了一个端到端的框架,将CRF模型嵌入深度卷积神经网络中,在保持算法实时性的前提下,提升了算法的跟踪精度;

(3) 构建了一个基于图像相邻超像素块之间位置关系的相似度矩阵,在响应图中校正了目标的相对位置,减少了目标周边背景噪声的影响;

(4) 将本文算法在OTB-2013的 50个视频序列和OTB-2015的 100个视频序列[11]上进行了大量的测试,并与9种近年来在国际上具有代表性的相关算法进行了对比分析,显著性实验结果验证了算法的有效性、准确性和鲁棒性.

1 相关工作

本文的主要贡献是将CRF模型运用到目标跟踪领域,优化基于深度学习的DCF跟踪算法.涉及到本文相关工作的两个方面主要包括基于DCF的跟踪方法以及CRF的应用情况.

1.1 基于DCF的目标跟踪方法

基于 DCF的目标跟踪算法利用快速傅里叶变换进行滤波器的训练和响应图的计算,极大地提高了跟踪效率,具有很好的扩展性.传统的基于DCF的算法有KCF、MOSSE[12]和CSK[13],随后出现了各种改进算法,包括优化尺度变换的跟踪器SAMF和fDSST[14]、将颜色信息考虑在内的Staple[15]和CN[16]、希望跟踪器能长期跟踪的LCT和MUSTer、考虑缓和边界效应的SRDCF[17]和CACF,但这些方法多数使用手工特征,因此限制了算法的鲁棒性.

随着CNN在图片分类[18,19]、目标检测[20]以及图像分割[21]工作中的迅速发展,目标跟踪领域也开始将深度卷积神经网络作为解决问题的工具之一.越来越多的算法将DCF框架和CNN结合在一起,例如HCF和HDT[22],提出使用分层卷积特征对跟踪目标进行学习和表达,代替了原来的 HOG特征.SRDCF和 DeepSRDCF改善了DCF中存在的边界效应,后者在前者基础上将手工特征替换为 CNN特征,并说明了在解决跟踪问题时,采取CNN的底层特征效果较好,得出解决跟踪问题并不需要太高语义信息的结论.CFNet和DCFNet在SiamFC的结构上加入了 CF层,实现了网络的端到端训练,用实验表明这种网络结构可以用较少的卷积层而不会降低精度.

1.2 CRF的应用

CRF由Lafferty等人[23]提出,结合了最大熵模型和隐马尔可夫模型的特点,是一种无向图模型,近年来在分词、词性标注和命名实体识别等序列标注任务中取得了良好的效果.CRF模型很少应用在处理连续的回归问题上,最早采用连续CRF模型的工作之一是Qin等人[24]提出的,应用在文献检索中解决全球排名问题,在一定的约束条件下,可以用确定的规范化因子来优化极大似然函数.在这之后,连续CRF模型被成功开发应用在各种结构化回归问题中,例如图像降噪[25]和遥感领域[26],值得一提的是,随着 CNN的普及应用,Liu等人[27]成功地将连续CRF模型用于图像深度估计,结合深度值的连续性,学习连续CRF在CNN框架中的势能函数.

到目前为止,还没有将连续CRF模型应用到目标跟踪领域的鲁棒性算法,本文提出的目标跟踪模型建立在连续图像响应值上,用连续CRF来估计目标候选区域的响应,旨在共同探索CRF模型结合CNN的跟踪方法在学习目标特征表示时的能力和潜力.

2 基于CRF的相关滤波跟踪方法

本节首先对基于 CRF的相关滤波目标跟踪方法进行简要概述,然后详细介绍本文算法中各个模块的原理和实现方法,最后,介绍改进后的算法流程以及网络的优化过程.

2.1 基于CRF的深度相关滤波目标跟踪概述

目标跟踪的主要目的在于确定目标在视频帧中的位置信息,需要通过相应的目标表观特征描述方法将其中相对稳定的统计特征或某些不变的特征提取出来,一般通过相关滤波器来获取目标候选区域的响应,作为判断目标位置的标准,与背景加以区分.由于视频中的每一帧图像都由若干个像素组成,假设可以将每一张图像分割成若干个超像素块,并且认为图像模型是由很多超像素块所构成.

如图2所示,输入x∈ ℝW0×H0表示图像的目标候选区域,用w×h的核(w,h∈ℤ)对x进行池化操作(步长分别为stride_w和stride_h),得到x′ ∈ ℝW×H,且W=(W0-w)/stride_w+1,H=(H0-h)/stride_h+1;再经过全连接操作将图片分为n=W×H个超像素块.其中,对应的响应值表示为向量的格式,即y= [y1,...,yn]T∈ℝn.

Fig.2 An illustration of the superpixel pooling method图2 图像超像素化过程

根据传统的CRF参数化模型[28],在随机变量X取值为x的条件下,随机变量Y取值为y的条件概率密度函数可以表示为

式中,i,j=1,2,...,n,sl和tk是特征函数,μl和λk是对应的权值,求和是在所有可能的输出序列上进行的,Z(x)表示规范化因子,本文将特征表示部分用能量函数G(y,x)来表示,因此条件概率密度函数可以写为

式(2)中,规范化因子Z(x)表示为

由于这里的y是连续值,与离散情况不同,因此用积分来替换原来的求和运算.为了预测目标位置,可用模型的最大后验概率(maximum a posteriori,简称MAP)来推断视频帧的响应值,具体表示为

能量函数G(y,x)由一元状态函数V和二元转移函数E构成,这里,V对应于图像中n个超像素块,旨在回归每个超像素块对应的响应;E依赖于图像中S对相邻超像素块之间的关系,该关系的相似性会起到约束响应值的作用,超像素块间的相似度越高,对应的响应值越接近.这里的函数V和函数E可以表示为

因此,能量函数G(y,x)可以表示为

本文将V和E嵌入到统一的CNN框架中,结合相关滤波建立一个深度网络来得到图片目标候选区的响应值,从而准确地预测目标的位置信息.

2.2 基于CRF和DCF的深度目标跟踪模型

图3展示了本文提出的基于CRF的深度网络框架,整个网络架构包括一元特征模块、二元关系模块和学习更新模块 3个部分.一元特征模块实现了在深度网络中对图片目标候选区的特征提取,并且通过相关滤波输出初始响应值;二元关系模块通过网络输出一组一维向量,该向量建立了相邻超像素块之间的相似性关系,用来约束一元特征模块中的初始图片响应;学习更新模块结合一元特征模块中的初始响应值和二元关系模块中的相似度矩阵更新响应图,最终确认目标的位置信息.

Fig.3 Improved deep correlation filters via conditional random field图3 基于CRF和DCF的深度目标跟踪模型

2.2.1 一元特征模块

本文使用一元状态函数V对一元特征模块进行建模,目的是通过训练深度网络获取图像目标候选区域的特征,得到理想的滤波器,输出初始响应.

这里,yi表示理想状态下的响应,Ri(α)表示网络输出的响应,α为网络中的参数.

如第2.1节所述,将图像分为n个超像素块,每个超像素块的区域vi={ai,bi,wi,hi} ,∀i= 1 ,2,...,n对应CRF中的节点信息,其中,(ai,bi)表示超像素块的中心位置,(wi,hi)表示超像素块的宽度和高度,考虑到对每一个超像素块单独进行卷积运算会存在大量的内存消耗,导致计算效率降低,本文利用 Fast R-CNN[29]的思想,首先对图像整体进行卷积运算,再对结果进行分割,从而提高网络训练的速度和准确率.该模块中的特征提取部分如图3所示,主要由两个卷积层、一个修正线性单元(rectified linear unit,简称ReLU)和一个局部响应归一化(local response normalization,简称 LRN)层构成.假设模块的输入为图片块x0∈R125×125×3.在第1个卷积层中,为了能够更好地利用位置对应信息,本文在x0的外侧进行填补,填补的尺寸为1.x0通过一个权重矩阵W1得到了96个特征映射,W1包含96个子矩阵,即,其中,表示第1个卷积层中每个卷积核对应的参数,卷积核的通道数和尺寸分别为3和3×3,采样间隔为1.因此,输出的96个特征映射是通过对x0卷积响应和经过激励函数计算得到的.其中,,选用修正线性单元作为激活函数f(.) = m ax(0,.) ,“*”代表卷积运算,分别表示权重矩阵与偏置项.通过将所有的连接在一起,可以得到一个完整的特征映射.在第2个卷积层中,为了能更充分地利用输入信息x1的外侧进行填补,填补的尺寸为1.之后,将x1i与 32个卷积核依次进行卷积,对应的权重参数为每个卷积核的通道数和尺寸分别为96和3×3,采样间隔为1,可得,其中,s(.)选用局部响应归一化层来实现,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力.将所有的特征映射组成x2∈R125×125×32.每跟踪一个新的视频帧,网络就会输出该帧的特征φ(z),再输入到相关滤波层,根据上一帧的特征φ(x)来更新一个新的滤波器w,从而得到当前帧目标候选区域的初始响应图R(z):

这里,φl(z)表示CNN中提取特征的第l个通道,“⊗”代表循环矩阵的卷积运算,wl表示第l个理想的滤波器,可以表示为[30]

这里,y表示目标位置的真实值,表示离散傅里叶变换,*表示变量的复共轭,⊙表示矩阵的哈达玛积.

2.2.2 二元关系模块

本文使用二元转移函数E对二元关系模块进行建模,目的是为了通过相邻超像素块之间的相似性关系来平滑视频帧的输出响应.

其中,Cij表示相邻超像素块vi和vj之间的依赖关系,可以用全连接层来表示:

这里,β是网络参数,S(k)表示相邻超像素块之间的第k种相似性关系矩阵.可以用位置信息、HOG特征等建立相邻超像素块之间的相似性关系,本文将这k种相似性关系的模型表示为

2.2.3 学习更新模块

根据式(8)给出的一元状态函数V和式(11)给出的二元转移函数E的定义,能量函数G(y,x)可以表示为

为了便于函数表达和计算,这里定义矩阵A:

其中,I表示n×n的单位阵,D表示由组成的度矩阵,它是一个对角阵,C表示由Cij组成的邻接矩阵,D-C是一个图拉普拉斯矩阵,因此,这里的矩阵A是一个正则化拉普拉斯矩阵,能量函数G(y,x)可以替换为

由于上式中关于y的二次项系数是矩阵A,这里的A是正定阵,结合均值θ服从先验norm分布,且θ~N(μ0,∑0)的多维高斯分布的公式为

规范化因子Z(x)的积分可推算得到:

根据式(1)、式(16)和式(18),推出CRF的先验概率模型可以表示为

这里,R=[R1,...,Rn]T,是在初始响应的基础上做池化后得到的矩阵,|·|表示矩阵的行列式,A-1是A的逆矩阵.因此,根据式(4)可以得到图像中目标候选区域的响应值为

根据式(15)中对矩阵A的定义,矩阵A是对称阵,即AT=A,令:

因此,式(20)的闭式解为

当不考虑二元关系模块中相邻超像素块之间的关系时,即Cij=0时,上式可以表示为y★=R,这是一般的CNN回归模型,本文将其作为比较的基准算法,在第3节会对比这种模型的实验结果.

本文算法将矩阵A定为位置关系矩阵,根据第2.2.1节中对超像素块区域的定义,利用相邻超像素块vi={ai,bi,wi,hi}和vj={aj,bj,wj,hj}之间的欧式距离建立的相似性关系Cij和度矩阵D可以表示为

根据式(15)将矩阵A带入式(22)可以更新初始响应矩阵,校正目标的位置信息,得到校正后的响应y★,从而确定目标的位置,具体流程详见算法1.

算法1.基于条件随机场的鲁棒性深度相关滤波目标跟踪算法.

2.3 网络优化

本文将CRF和基于深度学习的DCF跟踪网络相结合,设计了一个新的端到端的网络框架.为了使模型的跟踪效果更优,算法鲁棒性更强,本文使用了基于随机梯度下降的反向传播来优化网络参数.

假设通过网络获取的当前帧响应为y★,理想的响应值为˜,定义损失函数为

其中,θ表示网络中的所有参数,γ用来约束正则化项.

根据文献[31],离散傅里叶变换与离散傅里叶逆变换的梯度可用下述公式计算:

在学习更新模块中,前向传播过程只包含一般矩阵乘法,因此可以计算矩阵的导数:

在二元转移模块中,由于关系矩阵A可以通过位置信息直接构建,因此这支网络无需从响应更新层反向传播更新参数.在一元特征模块中,损失函数对响应更新层的偏导数可以表示为

在该模块中,网络的输入分别为当前帧图片z和前一帧图片x对应网络的检测分支与学习分支.表示损失函数对检测分支的偏导数,具体计算如下:

误差经过反向传播到有实值的特征图后,余下的传播过程可以看作是传统的卷积神经网络优化问题,这里不再赘述.由于本文算法中反向传播涉及的运算只是复频域中的哈达玛积以及一般的矩阵乘法,因此可以在大量数据集中进行离线训练,再通过网络模型进行在线跟踪.

3 实验结果及分析

本文算法在 Matlab 2015b上实现,网络层使用 MatConvNet工具[32]训练.计算机配置为 Intel i7®CoreTM-4770CPU@3.40GHz×8,内存为 32GB RAM,显卡为 NVIDIA GeForce GTX Titan X.本文的训练视频来源于NUS-PRO[33]、TempleColor128[34]和UAV123[35],大约共有166 643帧.对于每个视频,本文选取相邻t-1和t两帧进行配对,然后将每帧裁剪出以目标位置为中心、1.5倍padding大小的图片块,并统一成125×125个像素点.学习率γ设为 0.072,目标候选区域 padding为 2.3.本文利用随机梯度下降的方法更新网络参数,大约训练了 20 epoch.网络测试所选用的数据集为OTB-2013和OTB-2015,其中,训练集与测试集无交叉,包含了各种具有挑战性的场景,如:目标遮挡、光照变化以及目标快速运动等.本文选取了9种当前国际上具有代表性的相关算法,分别是DCFNet算法、SRDCF算法、CFNet算法、KCF算法、LCT算法、MEEM算法、Staple算法、SAMF算法、DSST算法,并将本文算法与这9种算法进行了对比实验.其中,DCFNet算法是基于CNN直接回归图像中目标候选区域响应的一般回归算法,本文将其作为对比的基准算法.

3.1 定性评估实验

图4给出了5种跟踪算法在数据集中5个视频序列上的部分跟踪结果,视频按照从左到右、从上到下的顺序分别是 carScale(第 110、167、183、194 帧)、bird2(第 49、60、70、75 帧)、tiger1(第 34、37、39、93 帧)、deer(第 11、26、28、33帧)、trans(第37、43、50、53帧).其中,不同的跟踪算法用不同的颜色表示,红色为本文算法,左上角的数字为当前图像帧数.通过它们在具体视频序列中的表现,对结果进行比对和分析后可以发现,本文提出的算法对目标位置的预测结果是比较理想的.

(1) 快速尺度变化:以“CarScale”为例,目标在跟踪过程中出现了剧烈的尺度变化,虽然给出的5种算法都能始终跟踪目标,但是只有本文算法能够很好地适应目标的尺度,随着目标尺度的变化实现理想跟踪.

(2) 目标平面内/外旋转、目标形变:以“bird2”为例,目标在跟踪过程中出现了内外旋转变化,对算法的高度旋转不变性提出了要求,这里,DCFNet、SRDCF以及KCF跟踪结果都有偏差,只有本文提出的算法和CFNet方法能够较好地跟踪目标.

(3) 遮挡、光照变化:以“tiger1”为例,在第34、37和39帧时,目标被树叶遮挡,跟踪结果中其他算法都出现了不同程度的跟踪漂移,只有本文算法对目标遮挡问题具有较好的鲁棒性,能够始终准确地跟踪目标,在第 93帧时,背景光照出现了剧烈变化,除了本文提出的算法和 DCFNet方法能够较好地跟踪目标外,其他算法都偏离了目标.

(4) 运动模糊、低分辨率:以“deer”为例,这段视频跟踪目标的分辨率较低,而且小鹿在跳跃中运动出现了模糊,考验了算法在复杂条件下对目标特征的提取,在跟踪结果中,DCFNet和KCF都出现了跟踪失败,本文算法能够始终鲁棒地跟踪目标,对低分辨率的模糊运动目标具有较好的处理能力.

(5) 快速运动、相似背景:以“trans”为例,目标在快速运动过程中伴随着与目标相似的背景,对算法跟踪的准确性具有很大的挑战,只有本文提出的算法和 DCFNet方法能够始终准确地跟踪目标,而其他算法都出现了不同程度的漂移现象.

3.2 定量分析结果

为了综合评价算法的跟踪性能,本文采用跟踪精度和跟踪成功率这两个通用的评价指标来进行定量分析.其中,跟踪精度是指当平均中心位置误差小于 20像素时,算法成功跟踪的帧数与视频总帧数的比值;跟踪成功率是指当覆盖率overlap>0.5时,算法成功跟踪的帧数与视频总帧数的比值.

在数据集OTB-2013下,由图5(a)和图5(b)可以得到所列10种算法的跟踪精度和跟踪成功率曲线AUC(area under curve)值.由图 5(a)可以看出,本文算法的精度最高,达到了 0.856,相比 DCFNet算法,提高了 6.1%,相比CFNet算法,提高了 3.4%;由图 5(b)中的曲线可以看出,本文算法的跟踪成功率最高,AUC值达到了 0.652,相比DCFNet算法,提高了3%,相比CFNet算法,提高了4.2%.这种跟踪精度和跟踪成功率的明显提升,是因为本文引入了相邻超像素块之间的相似性关系,使得响应图更加平滑,校正了目标位置.

在数据集OTB-2015下,由图5(c)和图5(d)中的曲线可以看出,与所列的9种其他跟踪算法相比,本文算法的跟踪精度最高,达到了 0.797,相比 DCFNet算法,提高了 4.8%,相比 CFNet算法,提高了 1.7%;跟踪成功率也最高,AUC值达到了0.612,相比DCFNet算法,提高了3.5%,相比CFNet算法,提高了2.4%,验证了算法的有效性和鲁棒性.

为了进一步分析跟踪算法在不同跟踪条件下的跟踪性能,表 1和图 6分别给出了 10种算法在数据集OTB-2013下11种不同属性的跟踪结果,包括算法的成功率和跟踪精度.表1中红色加粗的数字表示最优结果,蓝色加粗的数字表示次优结果,黑色加粗的数字表示排名第 3的结果,其中的字母缩写分别表示不同的跟踪条件,分别是:LR(低分辨率)、BC(背景杂波)、OV(目标超出视野)、IPR(平面内旋转)、FM(快速运动)、MB(运动模糊)、DEF(目标形变)、OCC(目标遮挡)、SV(尺度变化)、OPR(平面外旋转)、IV(光照变化).

由表1和图6可以看出,在11种不同属性的跟踪条件中,除了DEF属性,本文算法的成功率和跟踪精度在其他属性中均处于最优或次优的位置,尤其是在SV属性下,成功率达到了0.664,比第2名的DCFNet高了4.5%,比第3名的SRDCF高了7.7%,展现了本文算法在目标尺度变化上的跟踪优势,同时也表明了对于其他复杂条件下的跟踪,本文算法也具有较好的鲁棒性.

Table 1 Success score of average AUC for each attribute on OTB-2013表1 不同属性下算法在OTB-2013中的跟踪成功率对比结果

Fig.6 Precision score at 20 pixels for 11 attributes on OTB-2013图6 OTB-2013中11种属性下算法的跟踪精度对比结果

3.3 算法跟踪速率评估

表2给出了各种算法在OTB-2013和OTB-2015这两个数据集上的平均视频跟踪速率(单位为fps).可以发现,本文算法的跟踪速度与DCFNet相近,比CFNet高约14帧/s左右,这是因为在滤波器的在线更新过程中,通过向量的傅里叶变换和点积运算取代了时域的卷积运算,同时避开了矩阵求逆,将原先矩阵相乘O(n3)的计算量转换为了傅里叶变换nlog(n)和向量点乘n,极大地提高了滤波器的训练速度.

总体来说,本文算法在基于深度学习的跟踪算法中,跟踪速率较快,可以实现跟踪的实时性要求.

Table 2 Tracking speed for OTB-2013 and OTB-2015 compared with baseline methods表2 各种算法在OTB-2013和OTB-2015数据集上的平均视频跟踪速度

4 结 论

本文将连续 CRF模型运用到目标跟踪领域中,将一元状态函数与二元转移函数嵌入到深度卷积神经网络中,设计了一个端到端的框架.该算法通过结合一元状态函数得到的初始响应图和二元转移函数得到的相似度矩阵对目标位置进行校正,从而得到了一个更平滑、更精确的响应图,提高了跟踪的精度.本文在 OTB-2013和OTB-2015这两个数据集上进行了大量的测试,在复杂的跟踪条件下,与近年来9种在国际上具有代表性的相关算法进行了对比分析,实验结果表明,优化后的算法不仅得到了精度高、鲁棒性好的跟踪结果,同时也较好地解决了跟踪过程中的各类复杂状况,有效地提高了目标跟踪的成功率.

在今后的工作中,我们将会继续研究由相邻超像素块之间依赖关系构建的相似度矩阵,并且进一步优化各类参数,从而校正目标位置的响应,提高算法的鲁棒性.

猜你喜欢
鲁棒性卷积像素
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
武汉轨道交通重点车站识别及网络鲁棒性研究
“像素”仙人掌
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
一种基于三维小波变换的鲁棒视频水印方案
电子节气门非线性控制策略
基于鲁棒性改进理论的大面积航班延误治理分析