点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
点击进入—> CV 微信技术交流群
转载自:极市平台 | 作者:Ziyang Li
导读
本文针对Transformer捕获高频的局部信息时表现出的不足,提出Inception Transformer混合架构(iFormer)。灵活移植Inception的卷积与最大池化,并以通道拆分机制来提高效率和频率斜坡结构来权衡高低频分量。代码将开源。
写在前面的话
当以平衡网络宽度与深度著称的Inception与以建模远程依赖关系著称的Transformer相遇,会擦出怎样的火花?本文针对Transformer捕获高频的局部信息时表现出的不足,提出Inception Transformer混合架构(iFormer)。灵活移植Inception的卷积与最大池化,并以通道拆分机制来提高效率和频率斜坡结构来权衡高低频分量。代码将开源。
Inception Transforme
论文地址:https://arxiv.org/abs/2205.12956v2
代码地址:https://github.com/sail-sg/iFormer
一、预备知识——什么是图像高低频?
图像中的低频信息和高频信息也叫做低频分量和高频分量。其中高频信息包括图像强度(亮度/灰度)变化剧烈的像素点,例如局部的边缘和纹理。而低频信息则包括图像强度(亮度/灰度)变换平缓的像素点,例如场景或物体的全局形状和结构。如图1所示,将原图进行高低频信号分离后,可以很明显看出高频信号相比低频包含显著的边缘与轮廓信息。
一般地,在图像处理中,高频特征图更有利于显著性检测。然而如何区分图像高低频,则可以使用设置阈值的方法来划分。
二、为什么要用Inception?
ViT系列架构在建模远距离依赖关系时表现出强大的能力,这得益于self-attention的全局计算方式,然而在捕获更多全局信息(低频)的同时,却忽略了局部信息(高频)同样重要。
作者等人对ViT进行傅里叶频谱和相对对数振幅可视化比对,证明了上述结论,即ViT拥有对低频信号的偏好。
显然这种架构是不合理的,一味地捕获低频信息可能会恶化高频成分从而削弱ViT系列架构的性能,同时如上所述,高频信息在图像处理中更有利于显著性检测、细粒度分类任务等等。
因此一种能合理捕获并利用高低频信息的架构值得被提出。而卷积因其局部计算的特点,可以有效的提取高频信息,尽管目前已有不少工作将卷积神经网络与Transformer相结合,但缺点十分明显:
串联的结合方式,将导致在一层仅对一个方面进行建模,如在卷积层对局部建模,在Transformer层对全局建模。这样的结合方式并不能做到二者兼顾。
并行的结合方式,一般用一个分支处理局部信息,另一个分支用于处理全局信息。显而易见这样的方式如果对所有通道进行处理,将带来信息冗余。
而Inception结构可以很好的处理并行结合带来的问题,只需在进入分支前划分合适的通道即可。同时对于不同深度的层对于高低频信息的需求量不同,可以控制划分不同的通道数来适应深度。作者等人将iFormer进行特征图的傅里叶谱可视化,其结构如下所示:
可以看到 iFormer 在第 6 层捕获更多高频分量,在第 18 层捕获更多低频信息。同时高频信息从第 6 层逐渐减少到第 18 层,而低频信息则相反。
三、Inception Transformer剖析
Inception token mixer
如图所示,输入特征沿通道维度被切分为和,分别被送入High-frequency mixer和Low-frequency mixer。
其中High-frequency mixer由两个分支组成,如图,第一个分支包含最大池化和一个线性层,第二个分支由串联的线性层和深度卷积层组成。
特征通道为在的特征图输入这两个分支前,被均分为二,即 -> + 。
为什么要分成两个分支去学习高频分量呢? 作者等人解释为“考虑到最大滤波器的敏感性和卷积运算的细节感知”。事实上,对于高频分量的计算,如果仅使用一个简单的卷积去提取,效果一定是大打折扣的。本文设计其为分支结构,一个分支用以最大池化,计算局部最大值;一个分支用以深度卷积,在有效减轻参数量的情况下来提取局部特征,即高频分量。最终将二者的计算结果相融合,得到的效果远非一个简单的局部卷积可比。
在Low-frequency mixer中,仅由一个单独的分支所构成。平均池化的操作一方面是为了减轻计算负担,另一方面,“平均”后的特征图可以为接下来的全局学习带来更好的表达。该分支最后的Upsample则用以恢复维度。
Inception Transformer
如图所示,iFormer包含四个阶段。在上文有提及,为解决并行结合方式带来的问题,需要在进行分支前划分不同的通道数。而在网络的不同深度,对高低频信息的需求量也不同。因此本文的具体通道划分如下表所示:
每一个iFormer Blocks的结构如图4最右侧所示,除了上文介绍过的Inception Mixer外,增加了残差连接与与前馈层来提升模型性能。
四、性能对比
下表展示了各模型在ImageNet-1K上的性能对比。除此之外,论文中还对COCO 2017以及ADE20K等数据集进行了性能对比。iFormer的不同容量版本均表现出优良的性能。
一张效果明显的CAM可视化结果对比:(在这张图中,Swin捕获了部分无关信息,而iFormer则准确定位对象)
五、思考与总结
本文重点关注以下两个问题:
ViT系列模型对局部信息(高频)捕获能力不足,因此有必要结合卷积来弥补性能损失。紧接着针对现有并行结合方式存在的计算冗余,提出通道划分原则来缓解。
为契合人类视觉系统,即高频分量中的细节有助于较低层捕捉视觉基本特征,并逐渐收集局部信息以对输入有全局理解,设计了频率斜坡结构。当然缺点也是显而易见的:需要手动设定通道比。这样对于不同的任务,需要一定的经验才可以很好的完成这项工作。
在本文之前,从频率角度对网络机制进行分析的文章并不少。如在当年引起轰动的八度卷积(ICCV 2019):https://export.arxiv.org/abs/1904.05049,尽管是纯卷积的网络,但将特征图划分为高低频并行的结构,同时进行高低频并行的卷积,甚至还有高低频信息交互操作。
这些都是充分考虑应用的视觉任务而提出的方法,如高频特征图更有利于显著性检测,低频信息不可或缺等等。
本文为未来Transformer与卷积相结合的架构设计提供了一种有效的思路,也希望在未来能将理论与实际相结合,看到这样架构在现实场景中的部署~
点击进入—> CV 微信技术交流群
ICCV和CVPR 2021论文和代码下载
后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集
后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集
后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF
目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer6666,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲扫码或加微信: CVer6666,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!
▲扫码进群
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看