目标跟踪之 -- GradNet: Gradient-Guided Network for Visual Object Tracking

目标跟踪的多数框架主要采用模板匹配方式,从第一帧得到模板,跟踪其在后续帧的位置。经典的工作要属于2016年提出的SiamFC [1] ,它的一个缺点就是模板是固定的,这对于后续帧如果object出现变形,遮挡,或者突然消失等情况就容易失败。而GradNet就是想通过gradient-based的方式,修改模板特征,使其随着视频帧变化而变化。显然这是一种在线更新模板的方式,GradNet 的主要贡献:

  • 提出了一种基于梯度方式的模板更新方法,用于目标跟踪
  • 给出了一种template generalization 策略,使得网络能够focus on 梯度信息以及减轻过拟合问题
  • 在取得较好性能的前提下,达到了80FPS的实时速度

下面就介绍GradNet的主要结构及其模块。

1. GradNet的整体网络结构

首先来看下GradNet的整体网络结构(如下图Fig 1所示),对其的工作原理有个整体感观。

在这里插入图片描述

Fig 1. GradNet 网络结构

从上图可知,GradNet的主要工作在于如何更新模板(template)特征,而对搜索图像region的处理与SiamFC处理一样,只是简单经过了一个特征提取函数 f x ( ⋅ ) f_{x}(\cdot) fx()(这个函数用5个卷积层实现,具体结构及参数与SiamFC [1] 一样, 即下图中的 φ \varphi φ)。为了完整性,首先对 SiamFC进行简单的回顾,SiamFC的主要处理流程如下图所示:
SiamFC 网络

Fig 2. SiamFC 网络结构

φ \varphi φ 的具体实现如下(参考SiamFC [1]):
在这里插入图片描述
Fig 3. 特征提取函数 φ ( ⋅ ) \varphi(\cdot) φ()

从图Fig 2可知,SiamFC网络利用同一个特征提取函数 φ \varphi φ 作用于 template z z zsearch x x x,然后将提取的特征进行 correlation convolution ∗ * ,得到最终score map S S S。并且它在跟踪过程中,template z z z 分支是固定不变的。从上面两个图之可知,SiamFC 和 GradNet 的主要区别点为:

  • GradNet 会随着新视频帧修改template z z z 的特征,而SiamFC则是固定的;

下面主要分析 GradNet 的 template generation 分支。

2. Template Generation

从图Fig 1 可知,这个template generation 分支主要由 initial embedding, gradient calculation, template updating 三个部分构成。它们的具体分析如下。

2.1 Initial Embedding

给定模板和搜索图像对 ( X , Z ) (X,Z) (X,Z),GradNet 的目的是得到最优的模板特征 β ∗ \beta^{*} β。于是 GradNet 先用一个子网络 U 1 U_1 U1 来对模板特征 f z ( Z ) f_z(Z) fz(Z) (文中 f z ( ⋅ ) f_z(\cdot) fz() 用两个convolutional ayers 实现,实际上就是SiamFC特征提取网络 φ \varphi φ的前两个卷积层)进行encoding 得到 β \beta β,i.e., β = U 1 ( f z ( Z ) , α 1 ) (4) \beta=U_{1}(f_{z}(Z),\alpha_1)\tag{4} β=U1(fz(Z),α1)(4)作为 β ∗ \beta^* β 的一个粗糙近似,其中 α 1 \alpha_1 α1 表示子网络 U 1 U_1 U1 的训练参数,而 U 1 U_1 U1 的网络结构和SiamFC中特征提取网络 φ \varphi φ 的后3层网络结构相同。综上可知:在template分支,相当于SiamFC中的特征提取网络 φ \varphi φ 被分成了浅层特征 f z ( ⋅ ) f_z(\cdot) fz() U 1 U_1 U1 两部分 (当然这只是一种形式,也可以按其他形式将 φ \varphi φ 分成两部分)。

2.2 Gradient Calculation

根据initial embedding 得到的 β \beta β 可以与search 图像特征进行 correlation convolution, 得到一个初始的 score map S S S, 如下: S = β ∗ f x ( X ) (1) S=\beta * f_x(X)\tag{1} S=βfx(X)(1) 那么基于这个初始的 S S S,可以与 SiamFC 一样,根据训练的label数据 Y Y Y, 得到一个初始的损失函数: L = l ( S , Y ) (5) L=l(S,Y)\tag{5} L=l(S,Y)(5) 其中 l ( ⋅ ) l(\cdot) l() 是 logistic 损失函数,具体可以参考SiamFC [1]。

GradNet 中的一个直接的想法就是,利用 L L L 计算关于特征 f z ( Z ) f_z(Z) fz(Z) 的梯度, 用于修改浅层特征 f z ( Z ) f_z(Z) fz(Z) ,具体按如下方式进行:
h z ( Z ) = f z ( Z ) + U 2 ( ∂ L ∂ f z ( Z ) , α 2 ) = f z ( Z ) + U 2 ( ∂ l ( U 1 ( f z ( Z ) , α 1 ) ∗ f x ( X ) , Y ) ∂ f z ( Z ) , α 2 ) (6) \begin{aligned} h_z(Z)&=f_z(Z)+ U_{2}(\frac{\partial L}{\partial f_z(Z)},\alpha_2)\\ &=f_z(Z)+ U_{2}(\frac{\partial l(U_{1}(f_z(Z),\alpha_1)*f_x(X),Y)}{\partial f_z(Z)},\alpha_2) \tag{6} \end{aligned} hz(Z)=fz(Z)+U2(fz(Z)L,α2)=fz(Z)+U2(fz(Z)l(U1(fz(Z),α1)fx(X),Y),α2)(6) 其中 h z ( Z ) h_z(Z) hz(Z)表示更新后的目标特征, α 2 \alpha_2 α2 是子网络 U 2 U_2 U2 的参数。并且 U 2 U_2 U2 子网络的输入,是 l l l 关于子网络 U 1 U_1 U1输入的梯度,因此在最后的训练过程中,后向传播会涉及到 U 1 U_1 U1的二阶导。

2.3 Template Updating

根据上面得到的更新后的特征 h z ( Z ) h_z(Z) hz(Z),再次将它送入子网络 U 1 U_1 U1,用于计算最优的 β ∗ \beta^* β 以及最终的 score map S ∗ S^* S,如下式: β ∗ = U 1 ( h z ( Z ) , α 1 ) S ∗ = β ∗ ∗ f x ( X ) (7) \begin{aligned} \beta^* &= U_1(h_z(Z),\alpha_1)\\ S^* &= \beta^* * f_x(X) \tag{7} \end{aligned} βS=U1(hz(Z),α1)=βfx(X)(7) 于是最终的训练目标函数为: arg min ⁡ α ∑ l ( S ∗ , Y ) (8) \argmin_{\alpha}\sum l(S^*,Y)\tag{8} αargminl(S,Y)(8)

3. Template Generalization
3.1 Problem of Basic Optimization

首先在训练过程中,作者发现两个问题:

  • template updating分支倾向于关注图像的appearance特征,而非梯度,如下图所示:
    在这里插入图片描述
  • 如果按常规的训练方法,网络不能避免过拟合,如下图所示:
    在这里插入图片描述其中上面两图中的 “Ours-T” 和 Ours“” 的含义如下图所示:
    在这里插入图片描述
3.2 Template Generalization

为了减轻上面 3.1 提到的两个问题,GradNet 提出了一种 template generalization 训练策略,主要就是:为了提高模板的通用性,将同一个模板与来自不同的视频的 k 个搜索图像组成训练图像pair,如上图 b)所示,(上图中k=4)。直观上,通过一个模板图片与多个不同的search图片计算initial loss,通过设置不同的 k k k,相当于控制参与Gradient Calculation的梯度的数量,从而可以使得网络能够更加注重gradients学习,从而减轻 3.1 3.1 3.1 中提到的两个问题。具体的训练流程如下:
在这里插入图片描述

4. Online Tracking (测试流程)

首先这是一种online跟踪方式,它的具体流程如下:根据第一帧中object的gt(如目标的bounding box),得到模板图像和搜索图像对 ( Z 1 , X 1 ) (Z_1,X_1) (Z1,X1),将它们送入网络,根据(4)-(7)式可以得到最优模板 β ∗ \beta^* β,同时得到更新后的模板特征 h z ( Z 1 ) h_z(Z_1) hz(Z1),注意这个更新后的模板特征 h z ( Z 1 ) h_z(Z_1) hz(Z1) 作为下一帧图像 X 2 X_2 X2的匹配模板特征;接着,对后面的视频帧 X 3 , . . . , X n X_3,...,X_n X3,...,Xn执行同样的操作,实现在线目标跟踪。

5. 实验

GradNet 在多个数据集,如OTB-2015, TC-128, VOT-2017, LaSOT,进行了测试,取得较好的性能,相比SiamFC,SiamRPN都有提升。主要从precision plots 和 success plots 指标进行比较,这里只是简单的罗列下各个数据集上与其他SOTA方法的比较,具体说明参见GradNet原文的实验部分。

  • OTB-2015
    在这里插入图片描述
  • TC-128
    在这里插入图片描述
  • VOT-2017
    在这里插入图片描述
  • LaSOT
    在这里插入图片描述

总结: 首先GradNet 提供了一种基于梯度方式的,online template 更新策略,能够更好地处理object的变化,如遮挡等。其次 GradNet中 template generalization很关键,对模型的性能影响很大。同时,该算法在实时的速度下,取得了较好的性能;但正因为速度快,模型相对简单,所以性能与同期的较复杂模型SiamRPN++ [3] 等相比,差距较大,特别是在LaSOT数据集上。最后,这种在线更新方式也可能引起累积误差。

References

[1]. Fully-Convolutional Siamese Networks for Object Tracking
[2]. GradNet: Gradient-Guided Network for Visual Object Tracking
[3]. SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值