论文阅读笔记--Swintrack

1 Patch Partition

对于标准的Transformer模块,要求输入的是token(向量)序列,即二维矩阵[num_token, token_dim],即对图片做分割,详细可参考VIT,Swintransformer。

2 Swintransformer block

直接调用swintans模块,作为特征提取backbone。

3 Encoder

在将特征token输入encoder之前,模板图像和搜索图像中的tokens将沿空间维度连接起来,以生成联合表示U

编码器由一系列block组成,其中每个块包含一个多头自注意(MSA)模块和一个前馈网络(FFN)。FFN包含两层多层感知器(MLP),GELU激活层在第一层输出后插入。LN始终在每个模块(MSA和FFN)之前执行。MSA和FFN模块采用残差连接。

整个过程可以表示为:

3.1 Why concatenated attention?

传统的做法是分别对来自不同分支的做Self-attention,然后再做cross-attention。(考虑到transformer是序列到序列模型,transformer自然可以接受多模态数据作为输入)这里是直接将两分支的特征做concate,然后输入encode,可以节省计算量,减少参数。(但为了确保注意机制知道当前正在处理的token属于哪个分支及其在分支中的位置,我们必须仔细设计模型的位置编码解决方案)

4 Decoder

解码器由一个多头交叉注意(MCA)模块和一个前馈网络(FFN)组成。

输出feature map x ∈ R(Hx×Wx)×C

MCA:用MCA代替传统的卷积,完成模板图像对搜索图像的比较,从而得到响应图

对响应图做post-processing,而不是end-to-end architecture直接预测任务的目标 ,可以使用更多的相关领域知识来帮助提高跟踪性能。

5 Positional encoding(位置编码 )

由单头注意力,$Atten(Q, K, V ) = softmax(\frac{QK^T}{\sqrt{dk} }V)$。可推出多头注意力$MultiHead(Q, K, V ) = Concat(head_1, ..., head_h)WO$

所以位置编码,就是对$αij=\frac{QK^T}{\sqrt{dk} }$中加入位置信息。

5.1 Untied absolute positional encoding(无约束绝对位置编码 )

5.2 Relative positional bias(相对位置偏差 )

相对位置编码是绝对位置编码的必要补充

是一个可学习的参数。相对位置偏差也在层之间共享。当扩展到多头版本时,每个头都不一样。

5.3 Generalize to concatenation-based fusion(推广到基于级联的融合)

在跟踪任务中使用Untied absolute positional encoding时,我们还需要知道q,k的起始索引。所以,需要附加一对索引。

g和h分别是q和k的起始索引,例如,1表示来自模板图像的token,2表示来自搜索图像的token。解码器中的形式类似,只是g是固定的。在我们的实现中,联合位置编码的参数分别在编码器和解码器内部共享。

6 prediction head

包含两个分支,一个负责前景背景分类。另一个负责边界框回归。

6.1 损失函数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值