GradNet: Gradient-Guided Network for Visual Object Tracking学习笔记

GradNet: Gradient-Guided Network for Visual Object Tracking学习笔记

1.存在问题

当下最流行的跟踪就是采用模板匹配的Siamese方式,尽管它在跟踪领域取得了巨大的成功,但是模板也存在一个弊端,就是一旦目标发生很大的形变或者严重的遮挡,甚至和第一帧的给定目标从视觉观感已经看不出是一个目标了,这个时候仍然借助模板去跟踪目标,就不适合了。如果恰好出现了和目标相似类别的另一个目标,网络很可能出现误差漂移现象。

2.解决问题

本文通过改变模板,不断去适应目标的新形象,使得网络始终可以通过基于模板的cross correlation来获得很高的相似度来跟踪目标。然而目标更新的机制在目标跟踪领域并不新鲜,本文的创新是首次将梯度信息来实现模板的更新。

3.Motivation

梯度中包含了非常有用的信息。比如下面两张图,第一列将目标区域遮挡一部分,这张图的特征的梯度在被遮挡的区域会有很大的值(第二张玫瑰色的区域代表值很大)。第三列的图像展示了和目标相似的背景目标,一样会有很大的梯度。所以梯度是可以反映目标的变换以及背景的位置。
在这里插入图片描述
目前的一些跟踪方法中,有一些方法用到了在线学习,就是在测试的时候,依然训练网络。这些方法也要借助梯度更新参数,使网络适应目标的新形象。但是往往需要几十次的迭代,才能收敛,所以测试时间会很慢。而作者提出的GradNet,仅仅依靠两次前向计算和一次反向求梯度,就能实现更新模板并且准确跟踪。

4.贡献

a.提出了GradNet,使用梯度指导视觉跟踪中的模板更新。
b.为了保证较强的自适应能力和避免过拟合,提出了一种模板泛化方法。
c.在四个流行的基准上进行了大量实验,其结果表明了所提出的跟踪器在80fps的实时速度下获得了令人满意的结果。

5.Method

首先GradNet以SiamFC作为BaseLine,同时简单的介绍了SiamFC。
Z是第一帧给定的目标区域,X是以上一帧预测结果为中心,在下一帧(当前帧上)选取的更大一点的搜索区域。 f x , f z f_x,f_z fx,fz分别用来提取搜索区域特征和目标区域特征。有:
β = f z ( Z ) \beta = f_z(Z) β=fz(Z)
S = β × f x ( X ) S=\beta×f_x(X) S=β×fx(X)
其中, β 就 是 模 板 了 , S 是 s c o r e m a p \beta就是模板了,S是score map βSscoremap,就是描述了在搜索区域上各个小区域和模板的相似度。星号代表Cross correlation操作。另外,在一些方法中, f z , f x f_z,f_x fz,fx是一个东西,参数共享。
SiamFC希望在Score map上最大值对应的位置上,就是正确的目标区域。
接下来正式介绍GradNet了。

6.网络结构

在这里插入图片描述
整体步骤:
a.将模板特征 f 2 ( Z ) f_2(Z) f2(Z)送入到子网 U 1 U_1 U1以获得用于计算初始损失L的初始模板 β \beta β
b.通过反向传播计算模板特征的梯度,并送入到另一个子网 U 2 U_2 U2以被非线性转换为更好的梯度表示。
c.将转换后的梯度加到模板目标特征中,得到更新后的目标特征,再次送入到子网 U 1 U_1 U1,输出最优模板。
d.最后通过将最优模板和搜索区域进行互卷积得到分类得分图。

算法伪代码:
在这里插入图片描述

下面将针对该网络进行详细的介绍:
模板初始化: Z经过 f 2 f_2 f2得到 f 2 ( Z ) f_2(Z) f2(Z), f 2 f_2 f2就是几个卷积层。然后将 f 2 ( Z ) f_2(Z) f2(Z)送入到子网 U 1 U_1 U1得到一个初始化模板 β \beta β。初始模板只包含模板信息,没有背景信息。
在这里插入图片描述
其中 α 1 \alpha_1 α1是子网 U 1 U_1 U1的参数。
梯度计算: 然后将 β \beta β f x ( Z ) f_x(Z) fx(Z)通过Cross correction操作得到Score map,用这个Score map和Label计算loss,求得 f 2 ( Z ) f_2(Z) f2(Z)的梯度,这里是对特征图求导,然后将梯度送入另一个子网络 U 2 U_2 U2,输出加上 f 2 ( Z ) f_2(Z) f2(Z),得到h_2(Z)。
在这里插入图片描述
模板更新: h 2 ( Z ) h_2(Z) h2(Z)经过 U 1 U_1 U1,和之前的 U 1 U_1 U1是一样的网络,参数共享,就得到了最优的模板 β ∗ \beta^* β,用这个 β ∗ \beta^* β去和 f x ( Z ) f_x(Z) fx(Z)在做一次Cross correction操作,得到的Score map就是最终的输出了。
在这里插入图片描述
我们希望在分类得分图 S ∗ S^* S上的目标位置有更大的值,而在其他位置有更低的值,因此我们通过loss来训练更新分支。
在这里插入图片描述

7.GradNet的两个问题

作者在实验中发现,用一个视频中抽取的两帧组成Batch,网络不重视梯度信息,因为 U 2 U_2 U2这个子网络的权重值很低。说明最终的模板值很大程度上还是来自第一次的Cross correction操作。另一个问题是出现了严重的过拟合。
于是作者提出了下面这种训练方式。
T = ( X 1 , Z 1 , Y 1 ) , ( X 2 , Z 2 , Y 2 ) , . . . ( X N , Z N , Y N ) T={(X_1,Z_1,Y_1),(X_2,Z_2,Y_2),...(X_N,Z_N,Y_N)} T=(X1,Z1,Y1),(X2,Z2,Y2),...(XN,ZN,YN)是训练样本。X,Z含义和上面相同,Y是标签,下标表示的是来自不同的视频序列。
作者在一个Batch中,选择来自k个(在实验中k为4)视频的样本,组成训练样本对(pairs)。
重点来了,然后用第一个样本的Z,记作 Z 1 Z_1 Z1,求 β 1 \beta_1 β1,用来自第一个视频的Z求到初始化模板 β 1 \beta_1 β1,作为这一个Batch的模板。就是其他三个序列也用这个作初始化的模板。下面是一个示意图。

在这里插入图片描述
按照左边的方式训练,就是出现那两个问题。按照右边的方式训练,能避免提到的两个问题,从示意图中的右边,可以注意到,只用了一个 Z 1 Z_1 Z1计算模板,用于Batch中的四个来自不同视频的image pairs。这样能帮助网络更在意来自梯度的信息。
Note: 这种训练方式从理论上来说,非常正确。因为如果按照第一种方式训练,本身就能够从第一次Cross Correlation操作得到很不错的相似性度量了,网络自然不会重视梯度信息。但是通过右边的方式学习,第一个视频的初始模板并不适合其他三个视频,毕竟是来自不同视频的数据。对于其他序列,网络不能从第一次的Cross correlation操作学习到东西,自然就依靠梯度给出的信息。

8.测试

在离线训练之后,整个网络的参数就固定下来了。
首先得到第一帧,以及给出的所要跟踪的目标,以及对应的label。继而得到 Z 1 , X 1 Z_1,X_1 Z1,X1,继而得到最佳模板 β ∗ \beta^* β。同时保存 h 2 ( Z 1 ) h_2(Z_1) h2(Z1),用于更新后续帧的初始模板,也就是在测试当前帧得到的 h 2 ( Z i ) h_2(Z_i) h2(Zi),被当做下一帧需要的 f 2 ( Z i + 1 ) f_2(Z_i+1) f2(Zi+1),还要保存一个值得信赖的pair(X,Y),根据这个值得信赖的样本以及对应的标签,去更新得到新的 h 2 ( Z ) h_2(Z) h2(Z)
比如说第一帧以及对应的label肯定是值得信赖的样本对(pair。给定的,自然是值得信赖的),然后两路都送进第一帧,用第一帧对应的lable得到梯度,用梯度得到目前的最佳模板 β 1 ∗ \beta_1^* β1。同时保存 h 2 ( Z 1 ) h_2(Z_1) h2(Z1)
对于第二帧,使用 h 2 ( Z 1 ) h_2(Z_1) h2(Z1)作为 f 2 ( Z 1 ) f_2(Z_1) f2(Z1),用最值得信赖的样本对更新得到适合第二帧跟踪的最佳模板 β 2 ∗ \beta_2^* β2。以此类推。
什么是值得信赖的样本呢?选取规则如下:
a.设thre 为第一帧的score map的最大值
b.如果后续帧的socre map的最大值大于0.5*thre,这个帧以及对应的label作为值得信赖样本对。label来自于预测结果。

9.实验结果

OTB-2015数据集上的精度和成功率
在这里插入图片描述
TC128数据集上的精度和成功率
在这里插入图片描述
LaSOT数据集上的精度和成功率
在这里插入图片描述
不同跟踪器在VOT2017上的准确性(A)、鲁棒性®和预期平均重叠(EAO)分数
在这里插入图片描述
算法的不同变体在OTB-2015上的精度和成功分数
在这里插入图片描述
其中Ours w/o M是GradNet无模板泛化训练过程,Ours w/o MG是GradNet去掉了模板泛化训练过程和梯度应用,它可以被视为具有两个非共享分支的SaimFC,Ours w/o U是该方法无需模板更新,Ours w 2U是图3中的两个子网(紫色)不共享参数,Ours-baseline是SaimFC。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值