[论文阅读] Conformer: Local Features Coupling Global Representations for Visual Recognition

论文地址:https://arxiv.org/abs/2105.03889
代码:https://github.com/pengzhiliang/Conformer
发表于:ICCV’21

Abstract

在卷积神经网络(CNN)中,卷积运算善于提取局部特征,但在捕捉全局表征方面遇到困难。在Vision Transformer中,级联的自注意力模块可以捕捉到长距离的特征依赖,但不幸的是会恶化局部特征细节。在本文中,我们提出了一种混合网络结构,称为Conformer,以利用卷积操作和自注意力机制来增强表征学习。Conformer植根于特征耦合单元(Feature Coupling Unit,FCU),它以交互的方式融合了不同分辨率下的局部特征和全局表示。Conformer采用了一种并发结构,使局部特征和全局表征得到最大程度的保留。实验表明,在参数复杂度相当的情况下,Conformer在ImageNet上比Vision Transformer(DeiT-B)的性能要好2.3%。在MSCOCO上,它在目标检测和实例分割方面分别比ResNet-101的mAPs高出3.7%和3.6%,显示出成为一个通用主干网络的巨大潜力。代码可在https://github.com/pengzhiliang/Conformer上找到。

I. Motivation

在这里插入图片描述
大致意思是,CNN的局部特征提取能力很强,但是全局上下文提取能力不行;Transformer全局上下文提取能力很强,但是局部细节提取能力不行。也就是说,我们得想办法把CNN与Transformer的各自优势给结合起来。基于这一思路,已经有一些尝试,例如将CNN的feature map作为特征图输入transformer,或者改进transformer自身的结构以引入局部特征。而本文的思路是,与其尝试在transformer中去引入一点点局部特征,不如直接两种backbone都用,然后把各自的特征给结合起来。

II. Network Architecture

在这里插入图片描述
网络的整体结构可以看右上的小图。可以发现,整个网络有两个分支,一个Transformer分支(绿色),由多个Transformer block组成;一个CNN分支,有多个Conv block组成。本文要做的就是怎么处理CNN与Transformer特征的交互,如图中FCU所示,该结构将会在后文进行进一步说明。

注意在右上角的小图里还有个Stem模块,这个东西其实就是一个基础的卷积块,用于提取浅层细节特征并送入transformer中,即本文transformer的输入同样为特征图而非原始图像。

III. Feature Coupling Unit

其实看上面那张图,FCU实际上的结构也是很简单的:
CNN to Transformer:首先,用一个1×1卷积将通道数与Transformer对齐,接着下采样,最后通过一个LayerNorm层。
Transformer to CNN:首先,上采样,然后用一个1×1卷积将通道数与CNN对齐,最后通过一个BatchNorm层。

其实本质上就是这两种feature之间存在gap,因此在concat之前需要使用对应的标准化层进行处理,至于对齐通道数与特征图尺寸属于必须操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值