基于VGG网络的鲁棒目标跟踪算法*

2020-09-03 11:11杨亚琦
计算机工程与科学 2020年8期
关键词:池化层滤波器卷积

徐 亮,张 江,张 晶,2,3,杨亚琦

(1.昆明理工大学信息工程与自动化学院,云南 昆明 650500;2.云南枭润科技服务有限公司,云南 昆明 650500;3.昆明理工大学云南省人工智能重点实验室,云南 昆明 650500;4.中国船舶集团有限公司第七〇五研究所昆明分部,云南 昆明 650102;5.云南省市场监督管理局,云南 昆明 650228)

1 引言

目标实时跟踪是计算机视觉领域重要研究方向之一[1 - 3],存在于人们生活的方方面面,但目标在跟踪过程中存在多种因素的干扰,例如目标被遮挡和受光照强度变化影响等,而卷积神经网络在计算机视觉中展现出了突出的性能,例如目标检测[4]和语义分割[5]等,卷积神经网络依靠其优秀的特征提取能力,可以很好地解决目标跟踪过程中存在的问题。

经典的目标跟踪算法主要分为基于判别式模型算法和基于生成式模型算法2大类,近年来学者们提出了很多优秀的相关滤波目标跟踪算法,其中基于判别式模型算法有跟踪学习检测TLD(Tracking-Learning-Detection)[6]算法、高速核相关滤波跟踪KCF(high-speed tracking with Kernelized Correlation Filters)[7]算法和强判别性尺度空间跟踪DSST(Discriminative Scale Space Tracker)[8]算法等。基于生成式模型算法有增量学习目标跟踪IVT(Incremental learning for Visual Tracking)[9]算法、核循环结构跟踪CSK(exploiting the Circulant Structure of tracking-by-detection with Kernels)算法[10]和目标跟踪分解VTD(Visual Tracking Decomposition)[11]算法等。同时还有很多优秀的相关滤波跟踪算法,例如在线加速跟踪OAB(On-line Ada-Boosting tracker)算法、辅助学习实时跟踪Staple(complementary learners for real-time tracking)算法、空间约束强判别性相关滤波目标跟踪SRDCF(Spatially Regularized Discriminative Correlation Filters for visual tracking)[12]算法和尺度自适应与多特征融合的核相关滤波目标跟踪SAMF(Scale Adaptive kernel correlation filter with Multi Feature integration tracker)[13]算法等。以上相关滤波目标跟踪算法几乎都是单独使用灰度特征、HOG(Histogram of Oriented Gradient)特征和CN(Color Name)特征或以上特征相结合来建立相关滤波器模板,大量实验表明以上特征具有局限性,不适合用于所有的跟踪目标。深度学习跟踪算法[14]提出了“离线预训练+在线微调”的想法,卷积神经网络[15]在离线模式下对大量数据集进行训练,训练好的模型对输入图像提取的深度特征具有很强的特征表达能力,跟踪过程中再通过微调方式继续优化训练好的模型,使其对输入图像提取的深度特征表达能力更强。

当目标被遮挡和受光照强度变化等多种因素干扰时,经典目标跟踪算法往往采用单一特征来更新相关滤波器模板,导致相关滤波器模板更新不准确,最终导致目标跟踪失败。为此,本文提出了一种基于VGG(Visual Geometry Group)网络的鲁棒目标跟踪算法,对局部上下文区域图像提取深度特征,与核相关滤波跟踪算法相结合;同时将局部上下文区域图像的仿射变换平均特征图用于最终平均特征图和最终相关滤波器模板的更新中。这种对局部上下文区域图像提取深度特征和自适应更新最终平均特征图和最终相关滤波器模板的策略,使得本文算法在目标跟踪过程中更加鲁棒和跟踪精度更高。

2 鲁棒目标跟踪算法

2.1 基于VGG网络的特征提取

本文所使用的VGG网络结构如图1所示,其中Input表示输入图像,C1~C5表示卷积块,P1~P5表示池化层,FC1~FC3表示全连接层,Output表示输出分类结果。符号@前的数字表示经过该卷积块的卷积操作或池化层的池化操作或全连接层的全连接操作后得到的特征图的层数,符号@后的数字表示经过该卷积块的卷积操作或池化层的池化操作或全连接层的全连接操作后得到的特征图的大小。

Figure 1 Structure of VGG network图1 VGG网络结构

VGG16网络共16层,包含13个卷积层和3个全连接层,其中13个卷积层又被分成5个卷积块,第1个卷积块C1包含2个3×3×64的卷积层,第2个卷积C2块包含2个3×3×128的卷积层,第3个卷积块C3包含3个3×3×256的卷积层,第4个卷积块C4包含3个3×3×256的卷积层,第5个卷积块C5包含3个3×3×256的卷积层,每个卷积块后接一个最大池化层,最后一个最大池化层接3个全连接层,最后一个全连接层接Softmax层,每一部分的输出都作为下一部分的输入。

输入层向VGG网络输入224×224×3大小的局部上下文区域图像。

输入图像与卷积块进行卷积操作,得到每一个卷积块后对应的多个特征图。

激活函数对每一个卷积块后对应的多个特征图进行非线性处理,使得特征图的特征表达能力更强,本文中激活函数选用ReLU函数,其公式为ReLU(x)=max(0,x)。

最常用的池化操作有平均池化和最大池化,本文池化层采用最大池化操作,使得特征图变小的同时保留主要特征。

输入图像与卷积块C1进行卷积操作,经过激活函数处理后得到64个224×224大小的特征图,然后特征图再与池化层P1进行池化操作,得到64个112×112大小的特征图。特征图再与卷积块C2进行卷积操作,经过激活函数处理后得到128个112×112大小的特征图,然后特征图再与池化层P2进行池化操作,得到128个56×56大小的特征图。特征图再与卷积块C3进行卷积操作,经过激活函数处理后得到256个56×56大小的特征图,然后特征图再与池化层P3进行池化操作,得到256个28×28大小的特征图。特征图再与卷积块C4进行卷积操作,经过激活函数处理后得到512个28×28大小的特征图,然后特征图再与池化层P4进行池化操作,得到512个14×14大小的特征图。特征图再与卷积块C5进行卷积操作,经过激活函数处理后得到512个14×14大小的特征图,然后特征图再与池化层P5进行池化操作,最终得到512个7×7大小的特征图。

经过最后一个最大池化层得到的特征图与全连接层FC1进行全连接操作,得到4 096个1×1大小的特征图。特征图再与全连接层FC2进行全连接操作,得到4 096个1×1大小的特征图。特征图再与全连接层FC3进行全连接操作,最终得到1 000个1×1大小的特征图。

经过最后一个全连接层得到的特征图再经过Softmax层操作后得到1 000个分类结果,通过输出层输出。

将输入图像X传递给VGG网络,相关特征图定义如下:

hi=f(Hi⊗Wi+bi)

(1)

Hi=ReLU(.hi)

(2)

其中,hi表示经过第i(i∈{1,…,5})个卷积块的卷积操作后得到的特征图,.hi表示hi中的某一个元素,Hi表示hi中每一个元素经过激活函数处理后得到的特征图,其中H0=h0=X,Wi表示第i个卷积块对应权值向量,bi表示第i个卷积块对应偏置向量,运算符号⊗表示卷积操作。

2.2 建立相关滤波器模板

VGG网络中不同卷积块对应的特征图如图2所示,每一行表示该卷积块对应的特征图,每一行最后一列表示该卷积块对应的平均特征图。从图2中可以看出,低层特征对目标的语义表达能力较强,能够很好地表示目标的外观;随着网络深度增加,每一个卷积块对应的特征图大小呈倍数级减小,但其特征具有更强的鲁棒性,能够很好地表示目标的类别。

Figure 2 Feature maps of different convolution blocks in VGG network图2 VGG网络中不同卷积块的特征图

给定第一帧输入图像和目标位置,首先确定第一帧输入图像局部上下文区域,目标位置为给定目标位置,大小为W×H,W和H分别定义为目标矩形框宽和高的2.5倍;然后根据VGG网络对输入图像大小的要求,采用线性插值方式将局部上下文区域图像大小调整为224×224;最后将局部上下文区域图像传递给VGG网络后再提取经过conv3-1、conv3-2、conv3-3、conv3-4和conv3-5卷积块卷积操作后得到的特征图,将每一个卷积块对应的特征图进行加权平均获得每一个卷积块对应的平均特征图,并将平均特征图乘以对应大小的余弦窗,以消除图像的边缘效应。由于VGG网络中池化操作会减小特征图的尺寸,因此每一个卷积块对应的平均特征图大小不同,本文将每一个卷积块对应的平均特征图大小采用线性插值方式调整为W/4×H/4,使得每一个卷积块对应的平均特征图大小一样。

VGG网络中每一个卷积块对应的平均特征图能够从不同方面刻画目标本质,为此本文使用每一个卷积块对应的平均特征图来建立5个相关滤波器模板:

(3)

(4)

2.3 仿射变换平均特征图

目标跟踪过程中会发生尺度变化和旋转变形,本文引入仿射变换以解决目标在跟踪过程中发生尺度变化和旋转变形时相关滤波器模板更新不准确问题。常用的仿射变换如图3所示,图像经过旋转、缩放、拉伸和倾斜仿射变换后得到的图像具有不变性,即直线依然是直线,平行线依然是平行线,直线相交的角度依然保持不变。利用其不变性,本文算法对局部上下文区域图像提取仿射变换平均特征图,自适应更新最终平均特征图和最终相关滤波器模板。

Figure 3 Affine transformation example图3 仿射变换示例图

首先将局部上下文区域图像进行左右旋转8°、放大1.1倍、缩小0.9倍的仿射变换,在仿真实验中发现进行上述仿射变换能很好地解决目标尺度变化和目标旋转变形问题;然后将仿射变换后的图像采用线性插值方式调整大小为224×224后传递给VGG网络;其次提取经过conv3-1、conv3-2、conv3-3、conv3-4和conv3-5卷积块卷积操作后得到的特征图,对每一个卷积块对应的特征图进行加权平均获得每一个卷积块对应和平均特征图,并将平均特征图乘,以对应大小的余弦窗以消除图像的边缘效应;最后将每一个卷积块对应的平均特征图大小采用线性插值方式调整为W/4×H/4,得到每一个卷积块对应的仿射变换平均特征图。

2.4 置信图获取

(5)

(6)

2.5 基于VGG网络的鲁棒目标跟踪算法流程

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

Figure 4 Flow chart of robust target tracking algorithm based on VGG network图4 基于VGG网络的鲁棒目标跟踪算法流程图

(1)使用数万幅目标跟踪图像离线预训练VGG网络,并使用训练好的VGG网络模型对输入图像提取特征。

(2)给定第一帧输入图像和目标位置,然后确定局部上下文区域,采用线性插值方式将局部上下文区域图像大小调整为224×224后传递给VGG网络,获得每一个卷积块对应的平均特征图,并使用每一个卷积块对应的平均特征图建立5个相关滤波器模板,在第一帧输入图像中平均特征图即为最终平均特征图,相关滤波器模板即为最终相关滤波器模板。

(3)确定后续帧输入图像局部上下文区域,目标位置为上一帧输入图像目标位置,大小为W×H不变,采用线性插值方式将局部上下文区域图像大小调整为224×224后传递给VGG网络,获得每一个卷积块对应的平均特征图和仿射变换特征图。

(4)当前帧输入图像每一个卷积块对应的平均特征图和仿射变换特征图分别与上一帧输入图像每一个卷积块对应的最终平均特征图进行核相关计算,得到当前帧输入图像每一个卷积块对应的2个核相关特征图,当前帧输入图像每一个卷积块对应的2个核相关特征图分别与上一帧输入图像每一个卷积块对应的最终相关滤波器模板进行点乘运算,得到当前帧输入图像每一个卷积块对应的2个置信图。

(5)对当前帧输入图像每一个卷积块对应2个置信图分别求最大响应,较大者作为当前帧输入图像每一个卷积块对应目标位置,若较大者小于阈值TH=0.2,被跟踪目标很大可能被遮挡,通过置信图求最大响应得到目标位置不可信,则当前帧输入图像目标位置等于上一帧输入图像目标位置,在仿真实验中发现阈值TH设置为0.2能够很好地解决目标被遮挡问题;对当前帧输入图像5个目标位置求平均值,作为当前帧输入图像最终目标位置。

(6)若当前帧输入图像每一个卷积块对应的目标位置由每一个卷积块对应的平均特征图计算获得,则当前帧输入图像每一个卷积块对应的最终平均特征图和最终相关滤波器模板由每一个卷积块对应的平均特征图进行更新;若当前帧输入图像每一个卷积块对应的目标位置由每一个卷积块对应的仿射变换平均特征图计算获得,则当前帧输入图像每一个卷积块对应的最终平均特征图和最终相关滤波器模板由每一个卷积块对应的仿射变换平均特征图进行更新;若当前帧输入图像每一个卷积块对应的目标位置由上一帧输入图像每一个卷积块对应的目标位置给定,则当前帧输入图像每一个卷积块对应的最终平均特征图和最终相关滤波器模板不更新。

(7)重复步骤(3)~步骤(6),直到最后一帧图像。

3 实验结果与分析

3.1 测试算法与软件环境

为验证本文算法在目标被遮挡和受光照强度变化等多种因素干扰时跟踪的准确性,将本文算法与当前主流相关滤波跟踪算法DSST算法、OAB算法、CSK算法、TLD算法、KCF算法、Staple算法、SRDCF算法和SAMF算法进行对比分析。测试视频序列为OTB50[16],实验平台为Matlab2016a,显卡为英伟达1060,显存为6 GB,内存为16 GB,CPU为6核12线程2.2 GHz Intel i7-8750H。

3.2 定量评估与结果分析

为了全面评估本文算法的性能,对跟踪结果使用2种指标进行评估:

(1)距离误差成功率:某一帧输入图像中跟踪算法输出目标位置与人工标定目标位置的距离误差小于某个阈值,则该帧输入图像被认为跟踪成功;

(2)重叠度成功率:某一帧输入图像中跟踪算法输出目标矩形框与人工标定目标矩形框的重叠面积在跟踪算法输出目标矩形框与人工标定目标矩形框的总面积中所占的比重大于某个阈值,则该帧输入图像被认为跟踪成功。

图5是在OTB50测试视频序列上的总体成功率曲线图,其中距离误差成功率曲线图横轴表示距离误差阈值,纵轴表示跟踪成功图像帧数与图像总帧数的比值,算法后面的数字表示对应算法距离误差成功率曲线与坐标轴围成的面积;重叠度成功率曲线图横轴表示重叠度阈值,纵轴表示跟踪成功图像帧数与图像总帧数的比值,算法后面的数字表示对应算法重叠度成功率曲线与坐标轴围成的面积。本文算法基于VGG网络对局部上下文区域图像提取特征图并建立相关滤波器模板,与核相关滤波跟踪算法相结合自适应确定目标位置和最终目标位置。从图5中可以看出,本文算法在OTB50测试视频序列上的总体跟踪精度超过当前主流相关滤波跟踪算法的,从而说明本文算法在目标被遮挡和目标受光照强度变化等多种因素干扰时都具有较好的跟踪效果。

Figure 5 OTB50 video sequence overall success rate graph图5 OTB50视频序列总体成功率曲线图

(1)目标被遮挡:选用图6a视频序列,该视频序列中被跟踪的目标是一位女性行人,女性行人在行走过程中分别被5辆不同颜色的车遮挡,CSK、OAB和TLD算法都发生了跟踪漂移现象。本文算法对局部上下文区域图像提取平均特征图和仿射变换特征图,自适应确定目标位置和最终目标位置,自适应更新相关滤波器模板,当目标被遮挡时跟踪效果也具有较好的鲁棒性。

(2)目标尺度变化:选用图6b视频序列,该视频序列中被跟踪的目标是一只玩具狗,玩具狗在人的作用下远离和靠近镜头时尺度发生变化。本文算法对局部上下文区域图像提取仿射变换平均特征图进行目标跟踪,能够很好地适应目标尺度变化。

(3)目标旋转变形:选用图6c视频序列,该视频序列中被跟踪的目标是一只玩具熊,玩具熊在吊绳作用下发生左右旋转。Staple、SRDCF和CSK算法都发生了跟踪漂移现象;本文算法对局部上下文区域图像提取仿射变换平均特征图进行目标跟踪,能够很好地适应目标旋转变形。

(4)目标快速运动:选用图6d视频序列,该视频序列中被跟踪的目标是一个男孩,男孩快速地上下左右跳动。CSK算法发生跟踪漂移现象,本文算法始终能够准确跟踪目标。

Figure 6 Partial video sequence tracking result图6 部分视频序列跟踪结果

(5)目标运动模糊:选用图6e视频序列,该视频序列中被跟踪的目标是一个男孩,男孩正在跳绳,由于男孩跳绳动作较快和图像分辨率较低,使得整个图像比较模糊。DSST、CSK和KCF算法都发生了跟踪漂移现象,本文算法能够准确地跟踪目标,较其他算法具有更好的鲁棒性。

(6)目标受光照强度变化影响:选用图6f视频序列,该视频序列中被跟踪的目标是一位歌手,歌手在歌唱过程中背景光照变化强烈。SAMF、Staple、SDRCF、OAB和KCF算法都发生了跟踪漂移现象;本文算法根据光照变化前后图像自适应更新相关滤波器模板,防止产生跟踪误差,能够稳定地跟踪目标。

4 结束语

针对复杂场景中目标被遮挡和受光照强度变化等多种因素干扰时,传统相关滤波目标跟踪算法不能很好地跟踪目标,本文提出了一种基于VGG网络的鲁棒目标跟踪算法,首先对局部上下文区域图像提取平均特征图和仿射变换平均特征图;然后将当前帧输入图像置信图的最大响应值和阈值进行对比,确定当前帧输入图像新的最终平均特征图和最终相关滤波器模板,当目标外观发生变化时能够使用更加准确的目标特征,大大提高了目标跟踪的鲁棒性和精准度;最后与核相关滤波跟踪算法相结合进行目标位置的计算。实验结果表明,在目标被遮挡和受光照强度变化等多种因素干扰时,该目标跟踪算法能够有效地对目标进行跟踪。

猜你喜欢
池化层滤波器卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络模型研究分析*
基于卷积神经网络的纸币分类与点钞
基于深度学习卷积神经网络的人体行为识别研究
卷积神经网络的分析与设计
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
基于全卷积神经网络的SAR图像目标分类*
基于傅里叶域卷积表示的目标跟踪算法
基于Canny振荡抑制准则的改进匹配滤波器