GRM: Generalized Relation Modeling for Transformer Tracking论文模型及代码结构解读

论文地址
代码地址

写在前面

Two-stream pipeline

如图所示,search和template分支是独立两根流线,提取特征后计算互相关信息,也是最常用的,缺点是提取的特征缺乏目标的感知性,对目标-背景的区分能力有限,两个patch之间信息交互度较差
Two-stream pipeline

One-stream pipeline

如图所示,单流程的pipeline在特征完成提取前,就进行了信息交互,然后再进行各种互信息的计算,通用的是template与所有计算search的互信息之前,与search所有部分进行交互。有点是对前景和背景的区分能力强,两个patch间的交互程度高。One-stream pipeline

作者的做法

作者采用了one-stream pipeline的网络结构,在论文中描述道“inherits the merits of
both previous two-stream and one-stream pipelines”同时具有单双流程的结构优点。
在这里插入图片描述其实作者的这幅图并不准确,可能会误导读者,会让读者完全不知道这是怎么做的。

Backbone

首先,我们要知道,作者使用了ViT作为backbone,首先将图片切分出一个个patch,如图
patch-embedding
search和template分别经过相同的patch_embedding,分别生成 s e a r c h p a t c h = [ B a t c h , H × W , C ] search_{patch} = [Batch, H \times W, C] searchpatch=[Batch,H×W,C] t e m p l a t e p a t c h = [ B a t c h , h × w , C ] template_{patch} = [Batch, h \times w, C] templatepatch=[Batch,h×w,C],然后在 d i m = 1 dim=1 dim=1上拼接成 x = [ B a t c h , H × W + h × w , C ] x = [Batch, H \times W + h \times w, C] x=[Batch,H×W+h×w,C], 这个 x x x就是送入ViT的 12 12 12层Block的输入,不再单独计算Search和Template了。

patch_sizeBlock层数hidden_dimMLP size参数体量
vit_base 16 × 16 16 \times 16 16×1612768307286M
vit_large 16 × 16 16 \times 16 16×162410244096307M
vit_huge 14 × 14 14 \times 14 14×143212805120632M

如图所示,按照上面调整参数,就是不同版本的ViT

在这里插入图片描述

Transformer的Block中的小修改

作者并没有动整体框架,只是从第二个Block开始,把 s o f t m a x ( q ⊗ k ) softmax(q \otimes k) softmax(qk)换成 s o f t m a x _ w i t h _ p o l i c y ( q ⊗ k , p o l i c y ) softmax\_with\_policy(q \otimes k, policy) softmax_with_policy(qk,policy),如图所示,就是把每个循环的输入 x = [ B a t c h , H × W + h × w , C ] x = [Batch, H \times W + h \times w, C] x=[Batch,H×W+h×w,C]进行如图操作,生成policy,然后进行softmax_with_policy。

在这里插入图片描述

注意,这里生成的 d e c i s i o n = [ B a t c h , H × W , C = 2 ] decision = [Batch, H \times W, C=2] decision=[Batch,H×W,C=2]
在这里插入图片描述

经过两次拼接,形式如图所示的 p o l i c y = [ B a t c h , H × W + h × w , C = 3 ] policy = [Batch, H \times W + h \times w, C=3] policy=[Batch,H×W+h×w,C=3]
在这里插入图片描述
注意,其中粉色为0,深蓝色为1,也就是decision对角处为1,其他为0.

Head

作者提供了两种head,分别是MLP和CenterHead,MLP不做解释了,CenterHead其实很简单的,就是对特征做三组nn.Sequential,分别产生Score_map_ctr用来做分类、size_map用来预测bbox尺寸 和 offset_map用来预测中心点的位移。
具体如图所示:

在这里插入图片描述

网络结构

作者提出的网络结构如图所示
在这里插入图片描述
老规矩,这个图给的啥都看不出来,直接上网络结构和代码结构图,大是大了点,但是我还是那么细

这里是无损SVG格式的结构图。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值