Introduction
典型的Transformer跟踪框架中,通过自注意力模块增强参考帧和搜索帧的特征表示,并通过交叉注意力模块桥接它们之间的相关性,以在搜索帧中预测目标。这种机制通过QK的点积来计算相关性图,但独立计算每对QK的相关性可能会忽略它们之间的相互作用,从而在复杂背景中引入误差。这可能导致注意力权重变得不准确,影响跟踪性能。
所以:
作者引入了AiA(Attention in Attention)模块,字面意思,就是在一个Attention中,再引入一个Attention,并把该模块作为Encoder和Decoder的basis。
Method
作者引入的AiA模块,就是基于 Q ⊗ K {Q \otimes K} Q⊗K的值,在代码中叫做 c o r r {corr} corr_ m a p {map} map,将其与 [ H × W , B , C = 64 ] {[H \times W, B, C=64]} [H×W,B,C=64]的位置嵌入 i n r _ e m b {inr \_ emb} inr_emb作为输入,进行二次注意力计算,这大概就是Attention in Attention名字的由来吧。
作者基于上述的AiA module,
- 构建了一个3层Encoder layer的Encoder和一层Decoder layer的Decoder,作为模型的主模块,
- backbone为ResNet50,输出为layer3
- Head部分由一个CornerHead和一个IoUNet构成
关于输入采样:
- Search Image采样一张
- Reference Image采样两张
实验结果和我个人的理解
作者提出的模型效果真的很好,LaSOT测试集上的AUC效果直接干到了 69.0 {69.0} 69.0,但是令人费解的是,这么庞大的网络结构,这么多的参数,在一个2080Ti显卡上居然能有38FPs
我是持怀疑态度的,最近正好在跑Mainstream模型在2080Ti显卡上的FPs,结果还需要挺久才能出来所以这里就先留一个悬念吧。
细化的网络模型和代码结构
详细代码就不上了,太枯燥了,直接放上代码的导图,仔细看,很细的哟
从这里就可以看出来,这个模型确实有点过于庞大,所以我才有怀疑模型的运行速度的
由于版面限制,这里是普通清晰度的,高清大图点这里