Vision Transformer Adapter for Dense Predictions 文献阅读

最近看到一篇挂arxiv的论文Vision Transformer Adapter for Dense
Predictions,应该是准备发ECCV 22,看了之后简单梳理一下。
图1

1 摘要

这项工作设计了一个简单而强大的Vision Transformer Adapter,它通过两步弥补了ViT的一些问题,(1)引入ViT缺乏的图像先验信息;(2)通过额外的结构引入归纳偏置来实现与视觉特定模型相当的性能。他们在包括目标检测、实例分割、语义分割等多个子任务上进行了实验,分别获得了COCO目标检测Rank#8,COCO实例检测Rank#4,ADE20K、Cityscapes、COCO-Stuff、PASCAL VOC四个数据集上语义分割的SOTA。(这里第一张图还引入了多模态的概念,鄙人才疏学浅,目前没看懂这篇文章和多模态有什么关系)

2 动机

原始的Transformer没有针对视觉任务设计特定的模块,这使得原始的Transformer相较于专用Transformer没有竞争力。这里的Adapter就是基于这种想法设计一个专用的视觉Transformer(Adapter起源于NLP领域)。具体而言,这篇文章设计了三个模块:(1)一个空间先验模块,用于捕捉空间局部语义(引入CNN,具体是ResNet);(2)一个空间特征注入器(多头注意力);(3)多尺度特征提取器(多头注意力接CFFN)
框架图

3 方法

3.1 整体框架

对于ViT,输入图像首先被送入补丁嵌入,图像被分成16×16个不重叠的补丁。之后,这些斑块被压扁并投射到D维嵌入中。这里的特征分辨率被降低到原始图像的1/16。最后,嵌入的斑块与位置嵌入一起,通过ViT的L个编码器层。对于ViT-Adapter,首先将输入图像送入空间先验模块。三个目标分辨率(即1/8、1/16和1/32)的D维空间特征将被收集。然后,这些特征图被扁平化并串联起来作为特征交互的输入。具体来说,给定交互次数N,把ViT的变换器编码器平均分成N个块,每个块包含L/N个编码器层。对于第i个块,我们首先通过空间特征注入器向该块注入空间先验因子 F s p i F^i_{sp} Fspi,然后通过多尺度特征提取器从该块的输出中提取层次特征。经过N次特征交互,得到了高质量的多尺度特征,然后将这些特征分割并重塑为1/8、1/16和1/32三个目标分辨率。最后,我们通过2×2转置卷积对1/8尺度的特征图进行上采样,建立1/4尺度的特征图。通过这种方式,得到了一个与ResNet相似分辨率的特征金字塔,它可以用于各种密集预测任务。

3.2 空间先验模块

这里简而言之就是加入一个ResNet,将提取的特征用作图像先验知识。见图3c。

3.3 特征交互

由于柱状结构,ViT中的特征图是单尺度和低分辨率的,与金字塔结构的变换器相比,导致在密集预测任务中的次优表现[14,21,52,74,75]。为了缓解这个问题,文章提出了两个特征交互模块,在Adapter和ViT之间交流特征图。具体来说,这两个模块是基于交叉注意力的,即空间特征注入器和多尺度特征提取器。如第3.1节所述,我们将ViT的变换器编码器分成N个相等的块,并在每个块之前和之后分别应用提议的两个运算器。

3.3.1 特征提取器

如图框架图d所示,该模块用于向ViT注入空间先验。具体来说,对于转化器的第i块,将输入特征 F v i t i F^i_{vit} Fviti作为查询,将空间特征 F s p i F^i_{sp} Fspi作为键和值。这里使用多头交叉注意力将空间特征 F s p i F^i_{sp} Fspi注入到输入特征 F v i t i F^i_{vit} Fviti中,可以表述为公式1
公式1
其中,归一化层norm(·)是LayerNorm,而注意层Attention(·)是备选。为了降低计算成本,这里根据经验采用了可变形注意力[85],一种具有线性复杂性的稀疏注意力,来实现注意力层。此外,这里应用一个可学习的向量γi∈RD来平衡注意力层的输出和输入特征 F v i t i F^i_{vit} Fviti,其初始化为0。这种初始化策略保证了 F v i t i F^i_{vit} Fviti的特征分布不会因为空间先验的注入而被大幅修改,从而更好地利用了ViT的预训练权重。

3.3.2 多尺度特征提取器

在向ViT注入空间先验后,这里通过将 F v i t i F^i_{vit} Fviti通过第i块的编码器层,得到输出特征 F v i t i + 1 F^{i+1}_{vit} Fviti+1。之后,将ViT的特征和空间特征的角色互换。换句话说,这里采用空间特征 F i s p i F^i_{isp} Fispi作为查询,而输出特征 F v i t i + 1 F^{i+1}_{vit} Fviti+1作为键和值。这里再一次通过交叉注意力来交互这两个特征,其定义为:
公式2
与空间特征注入器一样,在这里使用可变形注意力[85]来减少计算成本。此外,为了弥补固定大小的位置嵌入的缺陷,这里遵循[15,75]在交叉注意层之后引入卷积前馈网络(CFFN)。考虑到效率问题,这里参考文献[56],将CFFN的比例设置为1/4。CFFN层通过深度卷积[13]与零填充来增强特征的局部连续性,可以表示为
公式3
其中,新的空间特征 F s p i + 1 F^{i+1}_{sp} Fspi+1将被用作下一模块中特征交互的输入。

3.4 实验配置

这里为ViT[22]的4个不同变体建立了ViT-Adapter,包括ViTT、ViT-S、ViT-B和ViT-L。对于这些模型,Adapter的参数数分别为2.5M、5.8M、14.0M和23.7M。每种配置的细节都在表1中列出。在实验中,ViT的补丁大小被固定为16。交互次数N被设定为4,这意味着将ViT的编码器层分成4个相等的块进行特征交互。在两个特征交互操作中采用了可变形注意力[85],其中采样点的数量固定为4,注意力头的数量设置为6、6、12和16。在最后一个交互中,三个多尺度特征提取器被堆叠在一起。此外,CFFN的比例设置为1/4,以减少计算开销,即对于4个不同的ViT变体,CFFN的隐藏大小为48、96、192和256。

4 对比实验

他们在包括目标检测、实例分割、语义分割等多个子任务上进行了实验,分别获得了COCO目标检测Rank#8,COCO实例检测Rank#4,ADE20K、Cityscapes、COCO-Stuff、PASCAL VOC四个数据集上语义分割的SOTA。
实验1
实验2
下图与MAE做对比表明收敛速度更快且效果几乎持平
实验3
实验4

5 消融实验

这里针对超参数、不同注意力机制、不同预训练权重、不同框架进行消融,结果如下。
实验5
实验6
实验7

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值