«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (7): 239-248  DOI: 10.19678/j.issn.1000-3428.0058437
0

引用本文  

任立成, 杨嘉棋, 魏宇星, 等. 基于特征融合与双模板嵌套更新的孪生网络跟踪算法[J]. 计算机工程, 2021, 47(7), 239-248. DOI: 10.19678/j.issn.1000-3428.0058437.
REN Licheng, YANG Jiaqi, WEI Yuxing, et al. Tracking Algorithm Using Siamese Network Based on Feature Fusion and Dual-Template Nested Update[J]. Computer Engineering, 2021, 47(7), 239-248. DOI: 10.19678/j.issn.1000-3428.0058437.

基金项目

国家重点研发计划(G158207)

通信作者

魏宇星(通信作者), 副研究员

作者简介

任立成(1994-), 男, 硕士研究生, 主研方向深度学习、机器学习、目标跟踪;
杨嘉棋, 硕士研究生;
张建林, 研究员、博士生导师

文章历史

收稿日期:2020-05-26
修回日期:2020-06-30
基于特征融合与双模板嵌套更新的孪生网络跟踪算法
任立成1,2 , 杨嘉棋1,2 , 魏宇星1 , 张建林1     
1. 中国科学院光电技术研究所, 成都 610209;
2. 中国科学院大学 计算机科学与技术学院, 北京 100049
摘要:为提高全卷积孪生网络SiamFC在复杂场景下的识别和定位能力,提出一种基于多响应图融合与双模板嵌套更新的实时目标跟踪算法。使用深度ResNet-22替换AlexNet作为骨干网络以提升网络特征提取性能,建立强识别能力的骨干语义分支。在ResNet-22的浅层使用高分辨率特征,构造强定位能力的浅层位置分支,计算并融合两个分支响应。通过高置信度的双模板嵌套更新机制对两个分支的模板进行更新,以适应目标的外观和位置变化。在OTB2015和VOT2016数据集上的实验结果表明,与基于SiamFC、SiamDW等的目标跟踪算法相比,该算法在目标快速移动、遮挡等复杂场景下跟踪效果更稳定,并且运行速度达到34 frame/s,满足实时性要求。
关键词孪生网络    目标跟踪    ResNet-22结构    语义分支    位置分支    双模板嵌套更新    
Tracking Algorithm Using Siamese Network Based on Feature Fusion and Dual-Template Nested Update
REN Licheng1,2 , YANG Jiaqi1,2 , WEI Yuxing1 , ZHANG Jianlin1     
1. Institute of Optics and Electronics, Chinese Academy of Sciences, Chengdu 610209, China;
2. School of Computer Science and Technology, University of Chinese Academy of Sciences, Beijing 100049, China
Abstract: In order to improve the recognition and positioning performance of the fully convolutional Siamese network(SiamFC) in complex scenarios, a real-time visual tracking algorithm with fused multiple response graphs and dual-template nested update mechanism is proposed.The algorithm employs the deep network, ResNet-22, to replace AlexNet as the backbone network for stronger feature extraction ability, and the semantic branch of backbone with enhanced recognition ability is built.The high-resolution feature is used in the shallow layer of ResNet-22 to construct the shallow position branch with strong positioning ability.Then the responses of the two branches are calculated and fused.In addition, the templates of the two branches are updated by using a high-confidence dual-template nested update mechanism to adapt to the changes in the appearance and position of the target.Experimental results on the datasets of OTB2015 and VOT2016 show that the algorithm is more stable than tracking algorithms based on SiamFC, SiamDW and other networks in the scenarios with Fast Motion(FM) and Occlusion(OCC).At the same time, the algorithm runs at the speed of 34 frame/s, providing required real-time performance.
Key words: Siamese network    target tracking    ResNet-22 structure    semantic branch    location branch    dual-template nested update    

开放科学(资源服务)标志码(OSID):

0 概述

目标跟踪是计算机视觉领域中的重要研究方向,广泛应用在视频监控、人机交互、智能交通监控等任务中[1]。近年来,虽然研究人员已提出了大量的跟踪算法,但由于遮挡、光照变化、尺度变化、运动模糊等因素的影响,目标跟踪仍然是一项重要且极具挑战性的任务,因此设计一个高精度、强鲁棒的目标跟踪框架具有重要的理论价值和现实意义[2]。在传统目标跟踪框架中,核相关滤波器(Kernel Correlation Filter,KCF)[3]使用循环矩阵和傅里叶变换有效减少计算量和提高计算速度,并采用高斯核函数将非线性问题映射到高维空间,使得算法更具一般性[4]。随着深度学习技术的快速发展,基于卷积神经网络(Convolutional Neural Network,CNN)的目标跟踪方法取得很大进步。ECO[5]、C-COT[6]等结合深度学习和KCF的跟踪器将CNN强大的特征提取能力集成到传统跟踪框架中,获得了较好的跟踪效果。基于CNN的跟踪框架主要分为两类:一类是先离线训练网络,而后在线运行时进行网络微调;另一类是设计简化版的卷积神经网络,直接在线运行而无需离线训练[7]。DLT[8]算法利用离线训练和在线调整相结合的方式,解决在线训练时缺少正样本的问题。全卷积孪生网络SiamFC[9]将孪生网络结构作为核心框架,仅使用5个全卷积层端到端地训练Siamese网络的相似功能。孪生区域候选网络(Siamese Region Proposal Network,SiamRPN)[10]使用区域候选网络提升了尺度变化场景下跟踪器的性能表现。SiamRPN++[11]采用一种简单有效的空间感知采样策略保持了网络的平移不变性,将残差网络应用于孪生网络。SiamDW[12]是由CIR残差单元组成的深度网络,替换了SiamFC和SiamRPN的主干网络,使其性能较原有的跟踪器得到明显提升。

尽管全卷积孪生网络SiamFC的跟踪性能得到了较大提升,但仍存在以下问题:改进AlexNet[13]作为骨干网络,特征提取能力不强,且仅使用骨干特征而未考虑浅层特征,特征类型单一;语义信息丰富但缺乏位置信息,导致跟踪器在快速移动时定位能力较差;不具备模板更新功能,跟踪器在遮挡、变形等复杂场景下,由于模板固定导致跟踪不准确和场景适应性较差,最终跟踪失败。针对上述问题,本文设计基于多特征融合与双模板嵌套更新的实时目标跟踪算法。在SiamFC的基础上,将AlexNet骨干网络替换为具有22个卷积的改进型ResNet-22深度网络,使跟踪算法的识别能力更强。在网络浅层中,使用包含位置信息的高分辨率特征计算用于定位的位置分支响应,采用包含语义信息的骨干特征计算用于分类的语义分支响应。按照训练权重融合两个分支的响应,为跟踪算法补充更精确的位置信息。通过双模板嵌套更新机制对两个分支的模板进行更新,以适应目标的外观和位置变化。

1 SiamFC-22孪生网络

本文针对SiamFC孪生网络难以充分挖掘和利用深度语义特征的问题,设计基于多响应的孪生网络跟踪算法。为有效利用核相关滤波器在目标跟踪中的高效性与实时性,在SiamFC跟踪架构中引入特征提取能力更强的ResNet-22,构建SiamFC-22网络实现深度特征应用与高效相关跟踪的有效结合。通过多层特征的响应融合与目标表示的动态更新,有效提升算法跟踪性能。

1.1 基于SiamFC孪生网络的目标跟踪

基于SiamFC的目标跟踪框架如图 1所示。该框架由模板分支和搜索分支两个分支组成。模板分支的输入为模板图像z,搜索分支的输入为搜索图像xzx经过共享权重的卷积神经网络$ \varphi $提取特征。在跟踪过程中,通过离线训练得到的相似度函数Δ将模板图像z特征和搜索图像x特征中相同大小的候选区域进行比较得到响应图$ f(z, x) $[14]

Download:
图 1 基于SiamFC的目标跟踪框架 Fig. 1 Target tracking framework based on SiamFC

整个跟踪过程可定义为:

$ f(z, x)=\varphi \left(z\right)\times \varphi \left(x\right)+b $ (1)

其中:$ \varphi (\cdot ) $类似于AlexNet结构的骨干网络,由5个卷积组成全卷积网络;Δ表示由卷积实现的交叉相关运算;$ b\in \mathbb{R} $为偏置项;$ f(z, x) $是一个$ 17\times 17 $的置信响应图。

为使目标位置更加精确,使用双三次线性插值将响应图尺寸调整为接近搜索图像x的尺寸,响应图尺寸的最大值位置即为目标位置。

在训练时,将损失函数定义为:

$ L(y, v)=\frac{1}{\left|D\right|}\sum \limits_{u\in D}l\left(y\right[u], v[u\left]\right) $ (2)

其中:D表示响应图的位置总数;$ u\in D $表示响应图的每一个位置;$ y\left[u\right] $表示响应图u处对应的真实标签值,$ y\left[u\right]\in \left\{+1, -1\right\} $$ v\left[u\right] $表示响应图u处的预测值;$ l(\cdot ) $表示logistic损失函数。$ l(\cdot ) $的计算公式为:

$ l\left(y\right[u], v[u\left]\right)=\mathrm{l}\mathrm{n}(1+{\mathrm{e}}^{-y\left[u\right]v\left[u\right]}) $ (3)

通过随机梯度下降(Stochastic Gradient Descent,SGD)方法,最小化损失函数,最终达到训练目标。

1.2 ResNet-22网络

SiamFC使用修改后的AlexNet全卷积网络作为骨干网络,无法发挥神经网络深度增加带来的优势。因此,可直接将AlexNet替换为ResNet[15]等深度网络,同时引入padding使网络的注意力集中到目标的中心位置,形成位置偏好[12]。这是利用ResNet加深网络后,跟踪性能不升反降的重要原因,而通过特征图裁剪可以解决该问题。

综合以上讨论可知,为提升SiamFC的特征提取能力,本文使用ResNet-22深度网络替换AlexNet。网络参数设置如表 1所示,其中,w代表卷积核宽度,h代表卷积核高度,Cin代表输入通道数,Cout代表输出通道数。

下载CSV 表 1 ResNet-22参数设置 Table 1 Setting of parameters of ResNet-22

ResNet-22中有22个卷积,分别为1个7×7的卷积Conv1、3个残差块组成的Conv2和4个残差块组成的Conv3,每个残差块(如图 2所示)包含1×1、3×3、1×1共3个卷积。针对padding带来的干扰,将Conv1层的特征图最外围两层裁剪(Crop1),将Conv2、Conv3残差块的特征图最外围一层裁剪(Crop2),消除padding给特征图(feature map)边缘带来的影响。整个过程可定义为$ G\left(x\right)=F\left(x\right)+x $,其中,x代表残差块的输入数据,Fx)代表经过3个卷积层处理后的数据,x代表恒等映射获得的数据。

Download:
图 2 残差块结构 Fig. 2 Residual block structure
1.3 基于ResNet的SiamFC-22深度孪生网络

通过综合分析SiamFC和ResNet的特点,本文提出将深度语义特征与核相关跟踪相结合的SiamFC-22网络,将ResNet-22作为SiamFC的骨干网络$ \varphi $。对SiamFC-22网络进行离线训练,其ResNet-22网络初始权重使用ImageNet[16]图像分类数据集进行预训练。本文采用如下交叉熵损失函数:

$ L(y, v)=-\frac{1}{\left|D\right|}\sum\limits _{u\in D}l({y}_{u}, {v}_{u}) $ (4)

其中:$ {y}_{u} $表示响应图u处对应的真实标签值,$ {y}_{u}\in $ $ \left\{+1, -1\right\} $$ v{}_{u} $表示响应图u处的预测值;$ l(\cdot ) $表示logistic损失函数。$ l(\cdot ) $的计算公式为:

$ l({y}_{u}, {v}_{u})={y}_{u}\times \mathrm{l}\mathrm{n}{v}_{u}+\left(1-{y}_{u}\right)\times \mathrm{l}\mathrm{n}\left(1-{v}_{u}\right) $ (5)

本文采用ILSVRC2015-VID[16]数据集进行训练,该数据集约有4 500个视频序列,包含遮挡、快速移动等复杂场景。在训练的每个周期内,随机选取60万个样本对进行训练,共迭代60个周期,动量设置为0.9,学习率由0.01指数衰减至0.000 01,权重衰减系数设置为0.000 1,批次大小(batch size)设置为32。训练具体分为以下步骤:

1)在前50个周期内仅计算语义响应$ {R}_{2} $,使用式(4)计算损失值,训练跟踪器的识别能力。

2)在最后10个周期内,初始化响应融合参数$ {\lambda }_{1} $$ {\lambda }_{2} $。同时,计算位置响应$ {R}_{1} $和语义响应$ {R}_{2} $,并使用式(6)融合两个响应的损失值。一方面训练跟踪器的定位能力,另一方面优化两个分支的融合权重。

$ \left\{\begin{array}{l}{\omega }_{1}=\frac{{\lambda }_{1}}{\sum\limits _{i=1}^{2}{\mathrm{e}}^{{\lambda }_{1}}}, {\omega }_{2}=\frac{{\lambda }_{2}}{\sum\limits _{i=1}^{2}{\mathrm{e}}^{{\lambda }_{2}}}\\ {L}_{\mathrm{a}\mathrm{l}\mathrm{l}}=\mathrm{ }\mathrm{ }{\omega }_{1}\times {L}_{{R}_{1}}+{\omega }_{2}\times {L}_{{R}_{2}}\end{array}\right. $ (6)

两个阶段的训练均使用损失函数,并利用随机梯度下降法进行优化。

SiamFC-22网络结构如图 3所示,其中,z表示尺寸为127像素×127像素的模板图像,x表示尺寸为255像素×255像素的搜索图像,R1R2分别表示浅层位置分支和骨干语义分支的互相关响应Δωi表示两个分支响应融合的权重。在训练阶段,分阶段计算响应R1R2的损失值;在测试阶段,自适应更新响应R1R2的模板。

Download:
图 3 SiamFC-22结构 Fig. 3 SiamFC-22 structure
2 基于SiamFC-22的自适应目标跟踪

为充分利用网络的深度特征,将深度语义特征响应与浅层位置特征响应进行自适应融合获得更鲁棒与准确的目标表示与跟踪算法,并基于网络响应自适应地动态决策更新目标深层模板与浅层模板,使网络能够适应目标的长时间累计变化。

2.1 多层次特征响应的自适应融合

在进行目标跟踪时,将模板图像z和搜索图像x输入骨干网络ResNet-22,一般孪生网络仅提取图像最后一层(Conv3层)的特征图,但Conv2层特征定位更精确,将其与Conv3层的特征进行集成,可以提升跟踪算法的性能。本文算法在图 3的Conv2层和Conv3层中同时提取zx的特征图,并且计算两个分支响应$ {R}_{1} $$ {R}_{2} $,最终融合两个响应完成两层特征的集成。多层次特征响应的自适应融合过程具体如下:

1)对于任意一个视频序列,将第1帧图像裁剪为像素127×127像素,然后将其作为模板图像z输入骨干网络ResNet-22。在Conv2层提取首帧位置模板$ {T}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{0} $,在Conv3层提取首帧语义模板$ {T}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{0} $

2)在视频序列的后续每一帧$ i\in \{\mathrm{1, 2}, \cdots , N\} $中,将第i帧裁剪为255像素×255像素,然后将其作为搜索图像x输入骨干网络ResNet-22。在Conv2层提取位置特征$ {F}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2} $,在Conv3层提取语义特征$ {F}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{} $

3)第i帧的位置混合模板为$ {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{i} $,语义混合模板为$ {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{i} $。根据前一帧目标位置在第i帧提取位置模板$ {T}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{\mathrm{n}\mathrm{e}\mathrm{w}} $和语义模板$ {T}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{\mathrm{n}\mathrm{e}\mathrm{w}} $。使用自适应模板更新函数$ f({T}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{0}, {T}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{0}, {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{i-1}, {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{i-1}, {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{\mathrm{n}\mathrm{e}\mathrm{w}}, {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{\mathrm{n}\mathrm{e}\mathrm{w}}) $来确定$ {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{i} $$ {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{i} $

4)将得到的混合模板作为响应模板,分别计算位置响应$ {R}_{1}={\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{i}\times {F}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2} $和语义响应$ {R}_{2}={\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{i}\times {F}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3} $,对两个响应使用训练权重$ {\lambda }_{1} $$ {\lambda }_{2} $进行融合:

$ \left\{\begin{array}{l}{\omega }_{1}=\frac{{\lambda }_{1}}{\sum\limits _{i=1}^{2}{\mathrm{e}}^{{\lambda }_{1}}}, \mathrm{ }{\omega }_{2}=\frac{{\lambda }_{2}}{\sum\limits _{i=1}^{2}{\mathrm{e}}^{{\lambda }_{2}}}\\ r=\mathrm{ }\mathrm{ }{\omega }_{1}\times {R}_{1}+{\omega }_{2}\times {R}_{2}\end{array}\right. $ (7)

在融合后的响应图中,响应值最高的位置即为目标最可能出现的位置。

2.2 多层次模板的嵌套动态更新

多数孪生网络仅使用首帧模板,但不执行模板更新,使得跟踪器无法适应各种变化。本文算法在2.1节的第3步执行模板更新,考虑到位置模板反映目标位置特征,相邻帧位移通常不大,无需频繁更新;语义模板反映目标语义特征,目标在外观变化时常改变语义特征,需要及时更新。因此,本文算法针对以上问题设计如图 4所示的SiamFC-22双模板嵌套更新策略。

Download:
图 4 SiamFC-22双模板嵌套更新 Fig. 4 SiamFC-22 dual-template nested update

SiamFC-22双模板嵌套更新策略具体步骤如下:

1)更新频率设置为3。每3帧执行一次判断,通过第2步和第3步判断是否需要更新两个模板。

2)判断语义模板是否需要更新。使用平均峰值相关能量(Average Peak-to-Correlation Energy,APCE)[17]和最大响应值$ {F}_{\mathrm{m}\mathrm{a}\mathrm{x}} $变化进行判断。当这两个值突然减小时,通常是目标遮挡或丢失的情况,此时更新模板会造成污染,不进行更新。具体操作如下:当由式(7)得到融合响应图r时,首先使用式(8)计算最大响应值$ {F}_{\mathrm{m}\mathrm{a}\mathrm{x}} $

$ {F}_{\mathrm{m}\mathrm{a}\mathrm{x}}=\mathrm{m}\mathrm{a}\mathrm{x} \, r $ (8)

然后使用式(9)计算APCE值:

$ {A}_{\mathrm{A}\mathrm{P}\mathrm{C}\mathrm{E}}=\frac{{\left|{F}_{\mathrm{m}\mathrm{a}\mathrm{x}}-{F}_{\mathrm{m}\mathrm{i}\mathrm{n}}\right|}^{2}}{\mathrm{m}\mathrm{e}\mathrm{a}\mathrm{n}\left(\sum \limits_{w, h}{\left({F}_{w, h}-{F}_{\mathrm{m}\mathrm{i}\mathrm{n}}\right)}^{2}\right)} $ (9)

其中:$ {F}_{\mathrm{m}\mathrm{a}\mathrm{x}} $$ {F}_{\mathrm{m}\mathrm{i}\mathrm{n}} $$ {F}_{w, h} $分别代表响应图r中最大响应值、最小响应值及第w行和第h列元素的响应值。最后使用式(10)进行判断:

$ \left\{\begin{array}{l}\frac{\left|{F}_{\mathrm{m}\mathrm{a}\mathrm{x}}-\mathrm{m}\mathrm{e}\mathrm{a}\mathrm{n}\left({F}_{\mathrm{m}\mathrm{a}\mathrm{x}}\right)\right|}{\mathrm{m}\mathrm{e}\mathrm{a}\mathrm{n}\left({F}_{\mathrm{m}\mathrm{a}\mathrm{x}}\right)}>{\xi }_{\mathrm{m}\mathrm{a}\mathrm{x}}\\ \frac{\left|{A}_{\mathrm{A}\mathrm{P}\mathrm{C}\mathrm{E}}-\mathrm{m}\mathrm{e}\mathrm{a}\mathrm{n}\left({A}_{\mathrm{A}\mathrm{P}\mathrm{C}\mathrm{E}}\right)\right|}{\mathrm{m}\mathrm{e}\mathrm{a}\mathrm{n}\left({A}_{\mathrm{A}\mathrm{P}\mathrm{C}\mathrm{E}}\right)}>{\xi }_{\mathrm{A}\mathrm{P}\mathrm{C}\mathrm{E}}\end{array}\right. $ (10)

其中:$ \mathrm{m}\mathrm{e}\mathrm{a}\mathrm{n}\left({F}_{\mathrm{m}\mathrm{a}\mathrm{x}}\right) $$ \mathrm{m}\mathrm{e}\mathrm{a}\mathrm{n}\left({A}_{\mathrm{A}\mathrm{P}\mathrm{C}\mathrm{E}}\right) $代表前面帧的历史$ {F}_{\mathrm{m}\mathrm{a}\mathrm{x}} $$ {A}_{\mathrm{A}\mathrm{P}\mathrm{C}\mathrm{E}} $值的均值;$ {\xi }_{\mathrm{m}\mathrm{a}\mathrm{x}} $$ {\xi }_{\mathrm{A}\mathrm{P}\mathrm{C}\mathrm{E}} $代表两个阈值。当满足式(10)时,使用式(11)更新第i帧的语义混合模板$ {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{i} $。这样可以在很大程度上避免模型漂移现象,减少模型更新次数,提高运行速度。

$ \left\{\begin{array}{l}{\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{i}=\beta \times {T}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{\mathrm{n}\mathrm{e}\mathrm{w}}+(1-\beta -\mu )\times {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{i-1}+\mu \times {T}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{0}, i>1\\ {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{i}={T}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}3}^{0}, \mathrm{ }i=1\end{array}\right. $ (11)

经过实验可得:$ \beta $=0.010 3,$ \mu $=0.005,$ {\xi }_{\mathrm{m}\mathrm{a}\mathrm{x}} $$ {\xi }_{\mathrm{A}\mathrm{P}\mathrm{C}\mathrm{E}} $分别设置为0.8和0.2。

3)在语义模板执行更新的前提下,使用式(13)的方差梯度比值(Variance Gradient Ratio,VGR)方法对位置模板进行判断,决定是否更新。VGR值可以及时反映目标位移情况,当目标出现在搜索图像周边区域时,响应图r的峰值响应也会出现在周边区域。由于响应图存在余弦窗口,因此它对周边响应值进行抑制,此时响应图峰值减小,响应图方差出现明显变化。

首先使用式(12)计算响应图r的方差值:

$ V=\mathrm{V}\mathrm{a}\mathrm{r}\left(r\right) $ (12)

然后使用式(13)进行判断:

$ \frac{\left|V-{V}_{\mathrm{l}\mathrm{a}\mathrm{s}\mathrm{t}}\right|}{\mathrm{m}\mathrm{e}\mathrm{a}\mathrm{n}\left(V\right)}>\zeta $ (13)

其中:$ {V}_{\mathrm{l}\mathrm{a}\mathrm{s}\mathrm{t}} $代表前一帧的方差;$ \mathrm{m}\mathrm{e}\mathrm{a}\mathrm{n}\left(V\right) $代表历史方差的均值。当满足式(13)时,使用式(14)更新第i帧的位置混合模板$ {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{i} $。这样可以有效地反映目标的位置变化,并及时做出更新。

$ \left\{\begin{array}{l}{\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{i}=\alpha \times {T}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{\mathrm{n}\mathrm{e}\mathrm{w}}+(1-\alpha )\times {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{i-1}\mathrm{ }, \mathrm{ }i>1\\ {\tilde{T}}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2}^{i}={T}_{\mathrm{C}\mathrm{o}\mathrm{n}\mathrm{v}2\mathrm{ }}^{0}, \mathrm{ }i=1\end{array}\right. $ (14)

经过实验可得,$ \alpha $设置为0.011 3,$ \zeta $设置为0.4。在双模板嵌套更新过程中,两个不同大小的响应图经过双三次线性插值调整为接近搜索图像x的大小后再进行融合。

2.3 参数设置

SiamFC-22网络进行离线训练时,无需进行在线微调。在训练SiamFC-22的过程中,网络参数的初始值遵循高斯分布。使用权重衰减为0.000 1的随机梯度下降方法进行网络优化。学习率设置为0.01,共训练50个epoch。在每个epoch之后,学习率以对数形式下降,直到最后一个时期达到0.000 01。动量设置为0.9,batch size设置为32。在双模板嵌套更新过程中,由式(6)在训练阶段得到双模板融合权重$ {\omega }_{1} $$ {\omega }_{2} $并用于跟踪,$ {\omega }_{1} $$ {\omega }_{2} $约分别为0.3和0.7时,跟踪算法可以获得最佳性能。

3 实验与结果分析

实验软件环境为安装Pycharm的Ubuntu 16.04,利用Pytorch编程框架验证算法性能。所有实验均运行在配置为Intel Core i5-8400 2.80 GHz CPU和GeForce GTX 1080 GPU显卡的计算机上,算法执行的平均运行速度为34 frame/s。本文选用OTB2015[18]和VOT2016[19]数据集,在选定的数据集上进行定性和定量分析实验。实验对比算法为DeepSRDCF[6]、SiamFC[9]、SiamRPN[10]、SiamDW[12]、SRDCF[20]、fDSST[21]、GradNet[22]、Staple[23]等具有代表性的跟踪算法,并将SiamFC和SiamDW作为基准算法。

3.1 OTB2015基准实验 3.1.1 OTB定量实验

OTB数据集中的OTB2015包括100个视频序列,包含光照变化、快速运动、模糊、遮挡等11个复杂场景。为定量地评估本文算法性能,采用OTB2015视频序列进行比较。评价指标主要为精确度和成功率两个指标,并通过精确度曲线图和成功率曲线图来显示评价结果。精确度代表视频中跟踪成功帧数占总帧数的比率,使用跟踪预测框和真实标注框的中心位置的欧式距离判断跟踪是否成功,若中心位置误差低于阈值,则表示跟踪成功;成功率代表覆盖率大于某个阈值的帧数和视频帧总数的比率,覆盖率是指跟踪预测框和真实标注框的交并比(Intersection over Union,IOU)。

图 5给出了SiamFC-22与对比算法在OTB2015数据集上的定量对比结果,其中图示框方括号中的数据表示平均值。可以看出,本文算法的平均精确度和成功率分别为88.6%和66.0%,明显优于对比算法。与基准算法SiamFC和SiamDW相比,SiamFC-22的平均精确度分别提升了14.4%和4.9%,平均成功率分别提升了13.4%和2.6%。这表明SiamFC-22的双模板嵌套更新机制是有效的。同时,本文算法在OTB2015数据集上获得了34 frame/s的运行速度,能够实时稳定地跟踪目标。

Download:
图 5 8种算法在OTB2015数据集上的精确度和成功率对比 Fig. 5 Comparison of the accuracy and success rate of eight algorithms on OTB2015 dataset

为详细分析SiamFC-22的性能表现,在光照变化(Illumination Variation,IV)、尺度变化(Scale Variation,SV)、遮挡(Occlusion,OCC)、运动模糊(Motion Blur,MB)、快速移动(Fast Motion,FM)、平面内旋转(In-Plane Rotation,IPR)、平面外旋转(Out-of-Plane Rotation,OPR)、相似背景(Background Clutters,BC)、低分辨率(Low Resolution,LR)、变形(Deformation,DEF)和离开视野(Out-of-View,OV)场景下,将本文算法与对比算法进行精确度比较,如图 6所示。可以看出,本文算法在IV、SV、MB、FM、IPR、OPR、BC、DEF和OV场景下的精确度均优于对比算法,而在OCC和LR场景下排第2,并且本文算法的精确度在所有场景下均优于基准算法。

Download:
图 6 8种算法在OTB2015数据集上的精确度对比 Fig. 6 Comparison of the precision of eight algorithms on OTB2015 dataset

图 6结果表明本文算法与对比算法相比,能更好地应对目标的语义变化和位置变化,具体分析如下:1)在快速移动场景下,本文算法相比基准算法平均精确度分别提高了11.7%和4.1%,这表明本文引入位置模板并根据语义模板嵌套更新,能够为跟踪器补充目标位置信息,提升快速移动等场景下的跟踪效果;2)遮挡、变形、运动模糊、内外旋转等场景会引起目标语义的变化,此时本文算法的精确度仍然比基准算法更高,这表明本文算法对语义模板的更新方法是有效的,能够使跟踪器获得及时准确的语义信息,并且更具鲁棒性。

3.1.2 OTB定性实验

为分析本文算法的性能,在OTB2015数据集中选择5组视频序列,将本文算法与基准算法SiamFC和SiamDW进行比较。在图 7中,跟踪结果与红色框重叠度越高,说明跟踪效果越好(彩色效果见《计算机工程》官网HTML版)。视频序列的跟踪精确度对比结果如表 2所示。

Download:
图 7 5组视频序列的跟踪效果对比 Fig. 7 Comparison of the tracking effect of five groups of video sequences
下载CSV 表 2 5组视频序列的跟踪精确度对比 Table 2 Comparison of the tracking precision of five groups of video sequences

下面结合图 7表 2做进一步分析,具体如下:

1)尺度变化场景。在ClifBar视频序列中,红色框的跟踪框大小会发生变化。从第194帧和第216帧,随着跟踪框变大,SiamFC和SiamDW能定位目标,但跟踪精确度出现偏差。在第261帧时,随着跟踪框由大变小,SiamFC彻底跟丢目标。SiamFC-22始终能稳定跟踪。根据表 2可知,SiamFC-22的精确度较SiamFC和SiamDW分别提升了0.519和0.137个百分点。由此可见,SiamFC-22更能适应尺度变化,相比SiamFC和SiamDW能及时调整跟踪框大小。

2)遮挡场景。在Liquor视频序列中,红色框中的酒瓶不停地与其他瓶子相互遮挡。从第1 181帧到第1 184帧,因为多次遮挡目标,SiamFC和SiamFC-22都发生跟踪漂移,而SiamDW彻底跟丢目标。在第1 185帧时,SiamFC-22因为及时更新模板,重新定位目标。根据表 2可知,SiamFC-22的精确度较SiamFC和SiamDW分别提升了0.145和0.049个百分点。由此可见,SiamFC-22具有双模板嵌套更新机制,相比SiamFC和SiamDW可以及时处理由遮挡引起的跟踪漂移等问题。

3)变形场景。在Jump视频序列中,红色框中的人发生变形。从第16帧到第73帧,因为目标不断变形,SiamFC和SiamDW相继跟丢,SiamFC-22还能跟踪目标,但是跟踪精确度无法保证。在第106帧时,SiamFC-22及时调整跟踪框。根据表 2可知,SiamFC-22的精确度较SiamFC和SiamDW分别提升了0.617和0.345个百分点。由此可见,SiamFC-22的语义模板具有高置信度的更新机制,可以及时更新目标的语义信息,这使得其可以有效反映目标外观发生的变化。

4)快速移动场景。在MotorRolling视频序列中,红色框中的摩托车位置快速改变。从第29帧到第37帧,因为目标快速运动,所以SiamFC逐渐跟丢目标。在第49帧时,SiamDW目标跟踪出现误差。根据表 2可知,SiamFC-22的精确度较SiamFC和SiamDW分别提升了0.309和0.042个百分点。由此可见,SiamFC-22的位置分支响应使用浅层特征,包含大量位置信息,并通过位置模板更新补充信息,这使得SiamFC-22适用于快速移动的场景。

5)相似背景场景。在Football视频序列中,红色框中的人头移动时不断出现相似的人头。在第100帧时能稳定跟踪目标,在第111帧和第137帧时因为相似目标干扰,所以SiamFC和SiamDW跟丢目标。由表 2可以看出,SiamFC-22的精确度较SiamFC和SiamDW分别提升了0.591和0.542个百分点。SiamFC-22相比SiamFC和SiamDW能更准确地区分相似背景,抑制相似背景的高响应值。

3.2 VOT2016基准实验

在目标跟踪VOT数据集中,本文选用VOT2016[19]数据集进行算法性能评估实验,采用平均重叠期望(Expected Average Overlap,EAO)、准确率和鲁棒性分数(R)作为主要评测指标,其中鲁棒性分数表示跟踪失败的帧数除以跟踪重复的次数,鲁棒性分数越低,跟踪越稳定。准确率和平均重叠期望分数越高,鲁棒性分数越低,跟踪性能越好。实验对比算法为DeepSRDCF6]、SiamFC[9]、SiamRPN[10]、SiamDW[12]、SRDCF[20]、和Staple[23]

表 3可知,SiamFC-22的平均重叠期望、准确率以及鲁棒性分数仅低于SiamRPN。在图 8中,SiamFC-22将基准算法SiamFC和SiamDW的EAO分别提升了30.0%和6.8%。同时,运行速度为32 frame/s,满足实时性要求。因此,SiamFC-22在VOT2016数据集上的性能表现优于基准算法SiamFC和SiamDW,仅次于SiamRPN。

下载CSV 表 3 VOT2016跟踪结果 Table 3 VOT2016 tracking results
Download:
图 8 VOT 2016数据集EAO结果 Fig. 8 EAO results of VOT 2016 dataset
4 结束语

为提高SiamFC在快速移动、遮挡等复杂场景下的跟踪能力,本文提出一种基于多响应图融合与双模板嵌套更新的跟踪算法。将骨干网络替换为特征提取能力更高的ResNet-22网络,增强跟踪算法的特征提取能力。使用浅层特征计算位置分支响应,利用骨干特征计算语义分支响应,并对两个分支进行融合,提高跟踪算法的识别和定位能力。通过高置信度的双模板嵌套更新机制,兼顾两个模板不同的更新速率需求和更新置信度,适应目标的外观变化和位置变化。在OTB2015和VOT2016数据集上的实验结果表明,本文算法有效提升了目标跟踪效果。后续将使用动态参数改进位置分支与语义分支模板的融合方式,并引入注意力机制进一步提高网络跟踪性能。

参考文献
[1]
LI L, LIU K, LI L. Space-time context tracking algorithm based on target detection[J]. Computer Engineering, 2018, 44(9): 263-268, 273. (in Chinese)
李珑, 刘凯, 李玲. 基于目标检测的时空上下文跟踪算法[J]. 计算机工程, 2018, 44(9): 263-268, 273.
[2]
LI D Q, YU Y, CHEN X L. Object tracking framework with Siamese network and re-detection mechanism[J]. EURASIP Journal on Wireless Communications and Networking, 2019(1): 1-14.
[3]
HENRIQUES J F, CASEIRO R, MARTINS P, et al. High-speed tracking with kernelized correlation filters[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 37(3): 583-596.
[4]
XU N, WANG J J, GUO X Y, et al. Survey of visual tracking based on discriminative correlation filters[J]. Journal of Chinese Computer Systems, 2020, 41(12): 2484-2493. (in Chinese)
徐宁, 王娟娟, 郭晓雨, 等. 判别式相关滤波器的目标跟踪综述[J]. 小型微型计算机系统, 2020, 41(12): 2484-2493. DOI:10.3969/j.issn.1000-1220.2020.12.006
[5]
DANELLJAN M, BHAT G, KHAN F S, et al. ECO: efficient convolution operators for tracking[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 6638-6646.
[6]
DANELLJAN M, HAGER G, KHAN F S, et al. Convolutional features for correlation filter based visual tracking[C]//Proceedings of IEEE International Conference on Computer Vision Workshops. Washington D.C., USA: IEEE Press, 2015: 58-66.
[7]
LUO Y, XIAO H, OU J X. Research on target tracking technology based on deep learning[J]. Semiconductor Optoelectronics, 2020, 41(6): 757-767. (in Chinese)
罗元, 肖航, 欧俊雄. 基于深度学习的目标跟踪技术的研究综述[J]. 半导体光电, 2020, 41(6): 757-767.
[8]
WANG N, YEUNG D Y. Learning a deep compact image representation for visual tracking[C]//Proceedings of NIPS'13. Washington D.C., USA: IEEE Press, 2013: 809-817.
[9]
BERTINETTO L, VALMADRE J, HENRIQUES J F, et al. Fully-convolutional Siamese networks for object tracking[C]//Proceedings of European Conference on Computer Vision. Berlin, Germany: Springer, 2016: 850-865.
[10]
LI B, YAN J, WU W, et al. High performance visual tracking with Siamese region proposal network[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2018: 8971-8980.
[11]
LI B, WU W, WANG Q, et al. Evolution of Siamese visual tracking with very deep networks[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2019: 16-20.
[12]
ZHANG Z, PENG H. Deeper and wider Siamese networks for real-time visual tracking[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2019: 4591-4600.
[13]
KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]//Proceedings of Advances in Neural Information Processing Systems. Washington D.C., USA: IEEE Press, 2012: 1097-1105.
[14]
ZHANG T F, ZHOU S R, PENG J. Adaptive selective tracking system based on twofold Siamese network[J]. Computer Engineering, 2020, 46(6): 103-107. (in Chinese)
张腾飞, 周书仁, 彭建. 基于双孪生网络的自适应选择跟踪系统[J]. 计算机工程, 2020, 46(6): 103-107.
[15]
HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 770-778.
[16]
RUSSAKOVSKY O, DENG J, SU H, et al. ImageNet large scale visual recognition challenge[J]. International Journal of Computer Vision, 2015, 115(3): 211-252. DOI:10.1007/s11263-015-0816-y
[17]
WANG M, LIU Y, HUANG Z. Large margin object tracking with circulant feature maps[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 4021-4029.
[18]
WU Y, LIM J, YANG M H. Object tracking benchmark[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1834-1848. DOI:10.1109/TPAMI.2014.2388226
[19]
KRISTAN M, LEONARDIS A, MATAS J, et al. The visual object tracking VOT2016 challenge results[C]//Proceedings of the 14th European Conference on Computer Vision. Washington D.C., USA: IEEE Press, 2016: 777-823.
[20]
DANELLJAN M, HAGER G, KHAN F S, et al. Learning spatially regularized correlation filters for visual tracking[C]//Proceedings of IEEE International Conference on Computer Vision. Washington D.C., USA: IEEE Press, 2015: 4310-4318.
[21]
DANELLJAN M, HAGER G, KHAN F S, et al. Discriminative scale space tracking[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 39(8): 1561-1575.
[22]
LI P, CHEN B, OUYANG W, et al. GradNet: gradient-guided network for visual object tracking[C]//Proceedings of IEEE International Conference on Computer Vision. Washington D.C., USA: IEEE Press, 2019: 6162-6171.
[23]
BERTINETTO L, VALMADRE J, GOLODETZ S, et al. Staple: complementary learners for real-time tracking[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 1401-1409.