核相关滤波与孪生网络相结合的目标跟踪算法
2021-04-12杨亚琦
徐 亮,张 江,张 晶,2,3,杨亚琦
1(昆明理工大学 信息工程与自动化学院,昆明 650500) 2(云南枭润科技服务有限公司,昆明 650500) 3(昆明理工大学 云南省人工智能重点实验室,昆明 650500) 4(中国船舶集团有限公司第七〇五研究所昆明分部,昆明 650102) 5(云南省市场监督管理局,昆明 650228)
1 引 言
目标跟踪在计算机视觉领域和信息物理融合系统感知层引起了越来越多的关注[1-3],目标跟踪的相关研究与机器学习[4]和深度学习[5]等学科有着紧密的联系.目标跟踪过程中存在的各种干扰因素使得目标跟踪效果差强人意,为此学者提出了很多优秀的目标跟踪算法,基于生成式模型算法计算后续帧输入图像中搜索区域图像与上一帧输入图像中目标区域图像的相似度,搜索区域图像中相似度最高的部分作为当前帧输入图像目标区域图像,基于生成式模型算法有IVT[6]算法和CSK[7]算法等.基于判别式模型算法区分目标图像和背景图像信息后来建立相关滤波器模板,其进行目标跟踪时自适应能力更强且跟踪精度更高,基于判别式模式算法有TLD[8]算法和KCF[9]算法等,以上目标跟踪算法的提出为后续提高目标跟踪的精度和加快目标跟踪的速率打下了坚定的基础.
目标跟踪过程中由于镜头的拉伸或收缩使得跟踪目标的尺寸变大或缩小,就会导致对局部上下文区域图像提取的特征图中无法包含跟踪目标的全部信息,对此Danelljan提出DSST[10]算法,该算法对局部上下文区域图像提取单一的HOG特征图并加入33维度尺度池,解决了目标跟踪过程中跟踪目标尺寸变大或缩小时对局部上下文区域图像提取的特征图中无法包含跟踪目标的全部信息的问题;对局部上下文区域图像提取的单一HOG特征图在复杂环境下无法对跟踪目标的外观信息进行准确描述,对此Li提出SAMF[11]算法,该算法对局部上下文区域图像提取多个特征进行加权融合同时加入7维度尺度池进行目标跟踪,在大多数情况下都能对跟踪目标可以实现准确的跟踪.以上相关滤波目标跟踪算法在图像模糊和目标快速运动等复杂条件下跟踪效果不是很理想,为此基于卷积神经网络的目标跟踪算法开始发挥作用,例如Song提出VITAL[12]算法,该算法使用生成对抗式网络获得当前帧输入图像中跟踪目标的最鲁棒特征和使用高代价敏感损失函数减小当前帧输入图像中负样本的数量,从而使得当前帧输入图像中相关跟踪器更加准确,跟踪精度得到进一步提高;Wang提出SiamMask[13]算法,该算法在孪生网络结构的基础上加入了跟踪目标分割框架,从而在当前帧输入图像中对目标矩形框进行更加准确的预测,就可以在局部上下文区域图像中对跟踪目标提取更加准确的信息,目标跟踪精度来到一个新的高度.
相关滤波目标跟踪算法的跟踪速率很快,使得目标的实时跟踪成为可能,但相关滤波目标跟踪算法的不足是在图像模糊和跟踪目标快速运动等复杂条件下跟踪精度不高.通过卷积神经网络对输入图像提取的深度特征泛化能力强,能够很好的表示跟踪目标的外观和类别,从而大大提高了目标跟踪的精度,但基于卷积神经网络的目标跟踪算法的不足是提取深度特征时计算复杂会导致跟踪速率大大下降,为此本文提出核相关滤波与孪生网络相结合的目标跟踪算法,核相关滤波目标跟踪算法对输入图像提取单一的HOG特征图进行目标跟踪,在大多数情况下能够实现对目标的准确跟踪,同时具有非常高的跟踪速率,因此若输入图像帧数不为5的倍数则使用仿射HOG特征图进行目标跟踪从而保证目标跟踪的速率;孪生网络[14]对输入图像提取目标区域图像特征图和搜索区域图像特征图具有很强的特征表达能力,因此若输入图像帧数为5的倍数则使用深度特征图进行目标位置的更正从而保证目标跟踪的精度.
2 核相关滤波与孪生网络相结合的目标跟踪算法
2.1 全卷积孪生网络
在卷积神经网络中全卷积孪生网络是一种比较特殊的网络结构,它由两个网络子结构组成,目标区域图像对应网络结构负责提取第一帧输入图像中目标区域图像特征,搜索区域图像对应网络结构负责提取每一帧输入图像中搜索区域图像特征,这两个网络子结构具有相同的权值向量和偏置向量,目标区域图像和搜索区域图像对应网络结构如图1所示.
在全卷积孪生网络中使用AlexNet网络作为图像特征提取网络,AlexNet网络的具体结构如表1所示.目标跟踪过程中不需要对跟踪目标进行分类,也不需要对图像提取非常深层的特征,如果目标区域图像在整个输入图像中所占比重非常小,对目标区域图像提取非常深层的特征会使得跟踪目标丢失,所以AlexNet网络设计为五层.在AlexNet网络中的第二层、第四层和第五层中将卷积核分为了两组,卷积核分组的好处就是减少了AlexNet网络中参数的个数;采用最大池化操作来减小特征图维度的同时提取关键特征,只在第一个和第二个卷积层后面存在最大池化层,因为最大池化层数量较多时会使得一些关键特征丢失,从而影响目标跟踪的精度;除第五个卷积层外在每一个卷积层后面采用ReLU激活函数,对特征进行非线性处理从而使其特征表达能力更强.
图1 目标区域图像和搜索区域图像对应网络结构Fig.1 Target area image and search area image cresponding netwrok structure
表1 AlexNet网络的具体结构Table 1 Speific structure of the AlexNet network
相邻帧输入图像之间具有高度的相关性,本文算法将跟踪目标在上一帧输入图像中的目标位置作为先验信息,人为给定第一帧输入图像中目标区域图像z并将其传递给孪生网络后提取目标区域图像特征图φ(z),后续帧输入图像由跟踪目标在上一帧输入图像中的目标位置确定搜索区域图像x并将其传递给全卷积孪生网络提取搜索区域图像特征图φ(x),然后两个特征图通过相关卷积操作后得到最终的热图f(x,z),整个过程使用如下函数表达式表示:
f(x,z)=g(φ(x),φ(z))=φ(x)⊗φ(z)+b
(1)
上式中特征函数φ(·)表示使用已经训练好的特征提取网络对图像提取深度特征,相似度量函数g(·)将相关滤波算法中二维特征图的二维卷积操作转换为卷积神经网络中三维特征图的三维卷积操作,即目标区域图像特征图φ(z)在搜索区域图像特征图φ(x)上进行滑窗操作,热图即搜索区域图像中每一个子窗口图像与目标区域图像的相似度得分图,在热图中得分越高的位置表明是目标区域的概率越大,b是一个在训练过程中得到的二维矩阵,使得相似度量的结果更加准确.
在全卷积孪生网络中搜索区域图像不需要与目标区域图像大小相同,可以提供一个更大的搜索区域图像作为全卷积孪生网络的输入并计算所有子窗口图像与目标区域图像的相似度.输入大小为255×255的搜索区域图像,经过池化层的池化操作后得到特征图的尺寸不断缩小,与目标区域图像特征图进行三维卷积操作后最终得到热图的大小为17×17,则在当前帧输入图像中无法获得跟踪目标的准确位置,将热图采用双立方插值方式调整大小为输入图像大小从而求得跟踪目标在输入图像中的准确位置.
2.2 相关滤波器模板的建立和更新
对输入图像中局部上下文区域图像进行循环移位后提取HOG特征图,在跟踪目标没有发生尺度变化和旋转变形等干扰因素下HOG特征图能够很好的表示跟踪目标的局部形状信息,在大多数情况下能够实现对目标的准确跟踪.但是在目标跟踪过程中跟踪目标发生尺度变化和旋转变形时对输入图像提取的HOG特征泛化能力不强并且特征表达差异很大,模型和最终相关滤波器模板更新不准确,通过HOG特征图计算得到的目标位置不准确,误差逐帧累积最终导致目标跟踪失败,为此我们引入仿射变换以解决目标在跟踪过程中跟踪目标发生尺度变化和旋转变形时对输入图像提取的HOG特征无法准确描述跟踪目标外观信息的问题,常用的仿射变换如图2所示.
图2 仿射变换示例图Fig.2 Affine transformation example map
人为给定第一帧输入图像中目标区域图像,将目标区域图像宽度和高度同时放大2.5倍后的W×H作为局部上下文区域图像的宽度和高度,然后对局部上下文区域图像提取HOG特征图并采用线性插值方式将其大小调整为W/4×H/4后建立第一帧输入图像中相关滤波器模板:
(2)
式(2)中y表示大小为W/4×H/4的高斯标签,x1表示第一帧输入图像中大小为W/4×H/4的HOG特征图,k(x1,x1)表示第一帧输入图像中大小为W/4×H/4的HOG特征图与其自身进行核相关计算得到第一帧输入图像中核相关特征图,G1表示第一帧输入图像中相关滤波器模板,λ表示正则化参数.
后续帧输入图像中局部上下文区域图像,目标位置为上一帧输入图像中目标位置,大小为W×H不变,为了解决目标在跟踪过程中跟踪目标发生尺度变化和旋转变形时对输入图像提取的HOG特征图无法准确描述跟踪目标外观信息的问题,首先对局部上下文区域图像进行仿射变换,具体仿射变换如下:左右旋转8°、放大10%和缩小10%,在仿真实验中发现进行上述仿射变换后能够很好的解决在目标跟踪过程中跟踪目标发生尺度变化和旋转变形时这两个干扰因素导致跟踪失败的问题;然后对经过仿射变换后的局部上下文区域图像提取HOG特征图并采用线性插值方式将其大小调整为W/4×H/4后更新相关滤波器模板:
(3)
式(3)中xt表示当前帧输入图像中大小为W/4×H/4的仿射变换HOG特征图,k(xt,xt)表示当前帧输入图像中大小为W/4×H/4的仿射变换特征图与其自身进行核相关计算后得到当前帧输入图像中仿射变换核相关特征图,Gt表示当前帧输入图像中最终相关滤波器模板,如果为第一帧输入图像则相关滤波器模板即为最终相关滤波器模板,Gt-1表示上一帧输入图像中最终相关滤波器模板,ρ表示相关滤波器模板更新参数.
2.3 目标位置的获取
相邻帧输入图像之间具有高度的相关性,本文算法将跟踪目标在上一帧输入图像中的模型和相关滤波器模板作为先验信息,第一帧输入图像中对局部上下文区域图像提取HOG特征图得到模型W1,后续帧输入图像中对局部上下文区域图像提取仿射变换HOG特征图并与上一帧输入图像中模型Wt-1进行加权计算得到模型Wt,当前帧输入图像中对局部上下文区域图像提取的仿射变换HOG特征图与上一帧输入图像中模型Wt-1进行核相关计算得到核相关模型k(xt,Wt-1),当前帧输入图像中核相关模型与上一帧输入图像中相关滤波器模板Gt-1进行点乘运算得到置信图f(xt),对当前帧输入图像中置信图f(xt)求最大响应得到当前帧输入图像中目标位置,整个过程使用如下函数表达式表示:
(4)
Wt=(1-ρ)Wt-1+ρxt
(5)
f(xt)=k(xt,Wt-1)·Gt-1
(6)
2.4 目标位置的更正
仿射变换HOG特征图能够很好的描述在目标跟踪过程中跟踪目标发生尺度变化和旋转变形时跟踪目标的外观信息,进一步提高了目标跟踪的精度,但是在目标跟踪过程中当跟踪目标被遮挡和目标快速运动等多种因素干扰时,仿射变换HOG特征图无法准确的描述跟踪目标的纹理、颜色和边缘信息,导致模型和最终相关滤波器模板更新不准确,最终获取的目标位置发生误差,由于后续帧输入图像将上一帧输入图像中目标位置作为先验信息,导致后续帧输入图像中局部上下文区域图像含有大量跟踪目标以外的信息,就会导致模型和最终相关滤波器模板更新越来越不准确,误差逐帧累积最终导致跟踪失败.
为此我们在目标位置发生误差时使用全卷积孪生网络进行目标位置的更正,如果输入图像帧数为5的倍数则对局部上下文区域图像采用线性插值方式将其大小调整为255×255后通过全卷积孪生网络提取搜索区域图像特征图,搜索区域图像特征图φ(x)与第一帧输入图像中已经提取的目标区域图像特征图φ(z)进行相关卷积操作后得到最终的热图f(x,z),将热图中得分最高的位置作为当前帧输入图像目标位置,在仿真实验中发现图像帧数每隔5帧使用一次全卷积孪生网络进行目标位置的更正,在保证目标跟踪精度的前提下同时具有最高的跟踪速率(Frame Per Second,FPS).
使用全卷积孪生网络进行目标位置更正后,对后续帧输入图像中局部上下文区域图像提取的仿射变换HOG特征图含有跟踪目标的大部分信息,可以用其继续进行目标跟踪并具有较好的跟踪效果.
2.5 遮挡处理
目标跟踪过程中跟踪目标被遮挡都是从某一帧输入图像开始逐步遮挡的,当跟踪目标被遮挡时对该帧输入图像中局部上下文区域图像提取的仿射变换HOG特征图含有遮挡物体的大部分信息,用其对模型和最终相关相关滤波器模板进行更新会使得模型和最终相关滤波器模板被严重污染,在后续帧输入图像中无法再用其对目标进行准确的跟踪.
相邻帧输入图像之间具有高度的相关性,对当前帧输入图像中置信图求最大响应得到的最大响应值反应了上一帧输入图像中最终相关滤波器模板与当前帧输入图像中局部上下文区域图像的相似程度,如果相邻两帧输入图像中都没有出现跟踪目标被遮挡的情况,那么在相邻两帧输入图像中最大响应值变化不大,对当前帧输入图像中局部上下文区域图像提取仿射变换HOG特征图进行目标位置的计算时可以以此判断跟踪目标是否被遮挡:
Hr= Ht-Ht-1
(7)
式(7)中Ht表示当前帧输入图像中最大响应值,Ht-1表示上一帧输入图像中最大响应值,Hr表示两者的差值.
当Hr≥0.2时表示当前帧输入图像中跟踪目标很大可能被遮挡,对局部上下文区域图像提取的仿射变换HOG特征图含有大量跟踪目标以外的信息,通过对置信图求最大响应得到的目标位置不可信,则将上一帧输入图像中目标位置作为当前帧输入图像中目标位置,同时当前帧输入图像中模型和最终相关滤波器模板不更新.
当前帧输入图像中搜索区域图像特征图与第一帧输入图像中已经提取好的目标区域特征图进行相关卷积操作得到最终的热图,对当前帧输入图像中局部上下文区域图像提取搜索区域图像特征图进行目标位置的更正时可以根据热图中的最高分HS来判断跟踪目标是否被遮挡,若HS≤0.2则表示当前帧输入图像中搜索区域图像中的每一个子窗口图像与第一帧输入图像中的目标区域图像相似度都很低,那么跟踪目标很大可能被遮挡,通过对热图求最高分得到的目标位置不可信,则将上一帧输入图像中目标位置作为当前帧输入图像中目标位置.
2.6 核相关滤波与孪生网络相结合的目标跟踪算法流程
本文算法整体流程如图3所示.
1)人为给定第一帧输入图像中目标区域图像,然后确定局部上下文区域图像后对其提取HOG特征图并用其进行相关滤波器模板的建立,同时采用线性插值方式将局部上下文区域图像大小调整为127×127后作为目标区域图像传递给全卷积孪生网络提取目标区域图像特征图;
2)后续帧输入图像中将上一帧输入图像中目标位置作为先验信息,如果输入图像帧数不为5的倍数则对局部上下文图像提取仿射变换HOG特征图进行目标位置的计算,同时加入遮挡处理来自适应获得当前帧输入图像目标位置;如果输入图像帧数为5的倍数则采用线性插值方式将局部上下文区域图像大小调整为255×255后作为搜索区域图像传递给全卷积孪生网络提取搜索区域图像特征图进行目标位置的更正,同时加入遮挡处理来自适应获得当前帧输入图像目标位置;
图3 核相关滤波与孪生网络相结合的目标跟踪算法流程图Fig.3 Target tracking algorithm combining kernel correaltion filter and siamese network flow chart
3)根据遮挡处理的结果自适应更新模型和最终相关滤波器模板;
4)重复步骤2和步骤3,直到最后一帧输入图像.
3 实验结果与分析
为了验证本文算的跟踪精度和跟踪速率,本文算法与CSK算法、SAMF算法、TLD算法、DSST算法和KCF算法进行对比分析.测试视频序列为OBT50[15],实验平台为Windows 10操作系统、Matlab2016a、Visual Stadio 2015和CUDA9.0,使用Matconvnet工具包开发卷积神经网络,硬件环境为GTX1060显卡和i7-8750处理器,在Matlab2016a上完成代码的编写和仿真实验.
为了全面评估本文算法的性能,本文使用距离误差成功率、重叠度成功率和跟踪速率作为跟踪结果的评估指标.
1)距离误差是跟踪算法输出目标位置与人工给定目标位置的距离,距离误差成功率是距离误差小于距离误差阈值时在某一个视频序列中的图像数量与该视频序列中所有图像数量的比值.
2)重叠度是跟踪算法输出目标区域和人工给定目标区域的重叠面积与跟踪算法输出目标区域和人工给定目标区域的面积之和的比值,重叠度成功率是重叠度大于重叠度阈值时在某一个视频序列中的的图像数量与该视频序列中所有图像数量的的比值.
3)跟踪速率是跟踪算法在1秒内可以跟踪的图像帧数.
从图4和图5中可以看出本文算法对于跟踪目标在各种干扰因素下的跟踪精度超过当前主流相关滤波跟踪算法,说明了图像帧数每隔5帧使用一次全卷积孪生网络进行目标位置的更正和根据遮挡处理的结果自适应获得当前帧输入图像目标位置并自适应更新模型和最终相关滤波器模板的算法是有效的.
图4 不同算法在OTB50数据集上距离误差成功率曲线图Fig.4 Distance error success rate graph of diffenent algorithm on OTB50 dataset
图5 不同算法在OTB50数据集上重叠度成功率曲线图Fig.5 Overlap success rate graph of diffenent algorithm on OTB50 dataset
在保证目标跟踪精度的前提下同时具有较高跟踪速率的算法是优秀的,表2是本文算法与对比算法在OTB50数据集上平均跟踪速率,从表2和图4以及图5中数据我们知道CSK算法的平均跟踪速率最快但跟踪精度最低,说明CSK算法在某些干扰因素下无法对跟踪目标形成有效的跟踪;KCF算法的平均跟踪速率次之且在一定干扰因素下能够准确的跟踪目标;由于本文算法要与其余5种相关滤波目标跟踪算法进行对比,因此本文算法对输入图像帧数为{n|n∈[1,5]}的倍数局部上下文区域图像提取搜索区域图像特征图进行目标位置的更正时跟踪精度都是最高的,随着n的增大跟踪精度会下降,但跟踪速率会加快;本文算法对输入图像帧数为{n|n≥6}的倍数局部上下文区域图像提取搜索区域图像特征图进行目标位置的更正时跟踪精度不再是最高的,所以本文算法选择对输入图像帧数为5的倍数的局部上下文区域图像提取搜索区域图像特征图进行目标位置的更正时平均跟踪速率位于第三位但在各种干扰因素下的跟踪精度最高.本文算法的平均跟踪速率位于第三位但相比于剩余算法而言仍然很快,说明本文算法在各种干扰因素下能够实现对目标的准确跟踪并且在保证目标跟踪精度的前提下具有满足跟踪目标实时跟踪要求的跟踪速率.
表2 不同算法在OTB50数据集上的平均跟踪速率(frame/s)Table 2 Average tracking rate of defferent algorithm on OTB50 dataset(frame/s)
图6 不同算法在OTB50数据集上的部分视频序列实验结果Fig.6 Experimental results of partial video sequences of different algorithm on OTB50 dataset
图6为本文算法与对比算法在OTB50数据集上部分测试视频序列的实验结果.针对目标被遮挡我们选用图6(a)视频序列,在该视频序列中被跟踪目标是一辆运行的汽车,当汽车被树木遮挡后本文算法依然能够准确的跟踪目标,说明本文算法中根据遮挡处理的结果自适应获得当前帧输入图像目标位置是有效的.针对跟踪目标尺寸变大或缩小我们选用图6(b)视频序列,在该视频序列中被跟踪目标是一只玩具狗,当玩具狗尺寸变大或缩小时本文算法可以对其进行准确的跟踪,说明本文算法中对局部上下文区域图像提取仿射变换HOG特征图进行目标跟踪的策略是可行的.针对目标快速运动我们选用图6(c)视频序列,在该视频序列中被跟踪目标是一个正在跳绳的男孩,男孩在快速跳绳过程中本文算法始终能够准确追踪到跳绳男孩的脸部,说明本文算法能够很好的解决目标快速运动这一干扰因素.针对光照变化我们选用图6(d)视频序列,在该视频序列中被跟踪目标是一位歌手,歌手在唱歌过程中光照强度发生变化后本文算法能够对光照强度变化这一干扰因素进行有效处理并准确跟踪到歌手的脸部.针对目标旋转我们选用图6(e)视频序列,在该视频序列中被跟踪目标是一辆运行的摩托车,摩托车在快速旋转过程中其余算法无法准确跟踪摩托车,本文算法能够对快速旋转这一干扰因素进行有效处理并对摩托车进行准确的跟踪.
4 结束语
在目标跟踪过程中保证目标跟踪精度的同时加快跟踪速率,本文提出了一种核相关滤波与孪生网络相结合的目标跟踪算法,若输入图像帧数不为5的倍数则对局部上下文区域图像提取仿射变换HOG特征图进行目标位置的计算,同时加入遮挡处理来自适应获得当前帧输入图像目标位置;若输入图像帧数为5的倍数则对局部上下文区域图像提取搜索区域图像特征图进行目标位置的更正,同时加入遮挡处理来自适应获得当前帧输入图像目标位置,针对遮挡处理的结果自适应更新模型和最终相关滤波器模板.在仿真实验中发现本文算法在各种干扰因素下能够实现对跟踪目标的准确跟踪,在保证目标跟踪精度的前提下具有满足跟踪目标实时跟踪要求的跟踪速率,如何进一步提高跟踪速率是后面工作的重点.