TPAMI 2022|金字塔池化的骨干网络!南开&达摩院联合推出P2T

作者 | 吴宇寰  编辑 | 极市平台

原文链接:https://mp.weixin.qq.com/s/iHnvQdvwWUwyOArlHU7Rxw

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心技术交流群

后台回复【领域综述】获取自动驾驶全栈近80篇综述论文!

极市导读

 

该工作主要受PVT和MViT的启发,第一次将金字塔池化融入到视觉transformer的骨干网络中,在减小输入序列长度的同时去捕捉多层次的丰富特征表达。P2T在图像分类、语义分割、目标检测、实例分割等多个领域中,并取得了比现有CNN/Transformer骨干更优异的性能。

85f3cb70df44afd41d0856664e363788.jpeg

作者列表:吴宇寰,刘云,占新,程明明

作者单位:南开大学,阿里达摩院

代码位置:https://github.com/yuhuan-wu/P2T

论文地址:https://arxiv.org/abs/2106.12011

IEEE地址:https://ieeexplore.ieee.org/document/9870559

中文版本:https://mmcheng.net/wp-content/uploads/2022/08/22PAMI_P2T_CN.pdf

1. 引言

Transformer技术在计算机视觉领域的兴起

近年来,NLP中的transformer技术在计算机视觉领域掀起新的热潮。Transformer可以充分地捕捉长距离的全局特征关系,正好满足了计算机视觉大感受野的需求。视觉transformer [1] 也在近年来的各大领域取得了巨大的成功,证明了纯transformer架构在巨大的数据规模下训练也能在大规模的ImageNet分类数据集上与CNN方法取得相同的分类效果。DeiT [2] 则随后证明了使用知识蒸馏可以只在ImgeNet-1K分类数据集上就能与CNN取得类似的效果。

然而与NLP领域特征长度有限不同,计算机视觉的图像具有密集特性,其拉直(flattened)后的特征长度要远远大于NLP任务中的序列长度。比如如WMT2014数据集 [3] 的平均序列长度为25,ImageNet-1K数据集 [4] 的一般使用图像分辨率为224x224的大小,即使使用常规的倍降采样,拉直后的图像序列长度仍有3136。而Transformer因其需要捕捉充分的全局注意力关系,其多头自我注意力(multi-head self-attention, MHSA)的计算复杂度是与输入特征呈平方关系。CNN网络因为主要捕捉局部信息,其计算复杂度只与图像的特征长度呈线性相关。

因此,在计算机视觉领域中应用transformer技术的关键困难在于如何使计算注意力关系的过程更加高效。视觉transformer [1]作为第一个解决方案,首先提出使用大的降采样尺度(如16、32倍)来对输入特征进行降采样,并设计了一个纯transformer的网络骨干(backbone),并在图像分类任务上取得了巨大的成功。而随后PVT [5]、Swin [6]、MViT [7] 等金字塔结构的网络骨干使用类似CNN的逐渐下采样的手段,来支持各类下游视觉任务。

目前transformer网络骨干的思路

如上文所述,transformer应用到计算机视觉领域的关键问题在于如何使计算MHSA的过程更加高效。PVT和MViT对特征图采用了单个池化操作来减少MHSA的计算量和显存占用,相应地是进行输入特征图元素与不同区域之间的关系建模,而不是特征图元素之间的关系建模。Swin transformer则是另一种思路:它先将特征划分为小的区块,并在每个小区块内直接计算MHSA,即进行小区块内元素之间的关系建模;随后,它将区块划分进行偏移,同时计算偏移后的小区块的MHSA。这样,类似CNN网络一样,随着网络的堆叠,Swin transformer网络的感受野会逐步增强。然而,视觉transformer的最根本特性源于其对特征全局的关系建模,这也是为什么我们要尝试将transformer引入到过度由CNN统治的计算机视觉领域中。

本文的工作

我们的工作主要受PVT和MViT的启发,即使用特征降采样的形式来减少MHSA的计算量。PVT和MViT使用单个尺度的降采样后的特征来计算MHSA,这种特征表达的模式有限。我们想到,如果使用金字塔池化(pyramid pooling)来生成特征,既能够大大缩小特征序列长度,又能引入更丰富的多层次特征。

金字塔池化在计算机视觉中有着悠久的历史 [8-9]。它利用多个不同步长的池化操作来提取丰富不同感受野的池化特征,其在目标检测 [10] 和语义分割中 [11] 也被证明十分有效。然而,它们都依赖于一个CNN骨干网络,所以它们也只是被专门设计用于某个特定的任务。目前并没有探索金字塔池化在骨干网络设计的工作。而一个新型的骨干网络可以应用于多种下游任务中。我们第一次将金字塔池化融入到视觉transformer的骨干网络中,在减小输入序列长度的同时去捕捉多层次的丰富特征表达。

利用金字塔池化,我们设计了基于的金字塔池化的MHSA(pooling-based MHSA, P-MHSA)。金字塔池化作为计算P-MHSA中降低序列长度的基本操作。使用P-MHSA替换掉MHSA后,即为P2T基础模块。通过堆叠不同数量的P2T基础模块,我们设计了P2T-Tiny/Small/Base/Large骨干网络,分别对应ResNet-18/50/101/152。P2T系列的多层次特征捕捉能力也要强于之前的PVT与MViT方法。我们也在图像分类、语义分割、目标检测、实例分割等多个领域中,并取得了比现有CNN/Transformer骨干更优异的性能,如ResNet, ResNeXt, Res2Net, PVT, Swin, Twins, 及PVTv2。

8fc4e72de347bf82b2e7576c427e6aa9.jpeg

图 1 P2T与其他方法在ADE20K数据集上的对比图(参数量、mIoU精度)。

2. P2T 方法

P2T的总体结构如图 2所示。每个阶段开始时有一个patch embedding模块,用于对输入的特征进行下采样。第一个Patch Embedding模块通过步长为4的7x7 卷积将输入特征下采样为原来的1/4,其他Patch Embedding则是将输入特征下采样为原来的2倍。每个Patch Embedding模块之后则堆叠了不同数量的P2T基础模块。其中,P2T基本模块的计算可由下式表示:

ef25a23dcc62400fc320374568f1b4e3.jpeg 1ce53a2b84b9fd8ca2470d78a038afc5.jpeg

图 2  P2T的总体架构。它有4个阶段,分别输出1/4、1/8、1/16和1/32大小的特征图。其中1/32大小的特征用于图像分类,所有的特征用于诸多下游任务。

我们通过调整P2T基础模块的数量,就可以得到不同规模的P2T模型,如图 3所示。

258af7a8133987df619d439a24fbe984.jpeg

图 3 不同设置下的P2T骨干网络。

基于金子塔池化的MHSA (P-MHSA)

86ad01cd3e052dce4c9dd23db8481349.jpeg

图 4 P2T基本模块架构图。(a) P2T模块粗略图;(b) 基于金字塔池化的多头自我注意力(P-MHSA)架构。

计算流程。 对于给定的特征,先将用不同步长的池化操作下采样到不同的大小:

bc200cff80dd830b895a1a770c831d6d.jpeg

可以得到不同大小的特征图。因为这些特征图是经池化后的特征,对每个特征作相对的位置编码(RPE)几乎不产生计算量:

a613d53a7960694b762e784fd9f9f7e1.jpeg

其中DWConv代表深度3x3卷积,即分组数等于通道数的3x3卷积。我们将这些编码后的特征进行拉直、特征拼接后,再分别生成计算自我注意力(self-attention)需要的query (Q)、key(K)、value(V):

f22de5d2beef239ca1e490f93b16ee07.jpeg

获得 、、 后, 就可以计算自我注意力  :

其中  为  的通道数, 用作尺度缩放。因为  和  的特征长度相对  要小得多, P-MHSA 的计算量也要相对 MHSA 小得多。

计算复杂度。 P-MHSA中主要由金字塔池化、自我注意力和一些线性层构成。设N和C分别为输入特征的长度和通道数。金字塔池化所占用的计算量仅为O(NC)。同时,也可以计算出P-MHSA的计算复杂度为:

f053f0a825b8d9a24d157fe216c1bf68.jpeg

其中M为经金字塔池化采样拼接后的特征长度。对于默认的{12,16,20,24}的池化参数,M约为,与PVT大致相同。

前馈网络(Feed-forward Network, FFN)

在transformer中,前馈网络(FFN)是一种基础的特征增强模块。然而传统FFN仅用数个全连接层在特征的通道维度进行增强,其并没有考虑到图像是2维特征。通过将2D局部特征学习引入到FFN中,可以进一步提高场景理解所需要的特征表达能力。相对于普通的transformer使用的FFN,我们额外添加了一个深度3x3卷积来额外学习2D局部表征,即与MobileNetV2中的反向瓶颈模块(IRB)一致。假设  是已转化为 2 维的 ,,对原FFN引入2D局部特征学习:

d7b57724221422a96868b3525d441fcd.jpeg

3. 实验部分

我们在图像分类、语义分割、目标检测、实例分割上与其他方法进行了效果、计算量、运行速度上的对比。通过下列的实验可以发现我们的方法要显著优于现有的方法,如Swin、Twins、MViT、PVTv2等。

图像分类

199c62df7db754d8cd69f068341c057b.jpeg

图 5 图像分类结果。输入大小统一为224x224。FPS是在RTX 2070下测试的结果。

语义分割

c51fa87403ea33dbade007bef7c9cf81.jpeg

图 6 在语义分割上的结果。结果基于Semantic FPN。输入大小为512x512。所有实验基于batchsize 16的情况下训练8w次。

目标检测与实例分割

5ee235c9f123c5b8e1f08e9d7360af6d.jpeg

图 7 目标检测与实例分割上的结果。图中所有的方法都基于RetinaNet和Mask R-CNN。所有实验基于在coco上训练12 epochs后的结果(无多尺度训练)。

消融实验

3c400c18a6372b3f515806ce9e796555.jpeg

图 8 金字塔池化的设置。可以发现,在相同下采样系数(D Ratio)的前提下,金字塔池化要显著优于单尺度池化。

669ce45a4cc8d3bfbddad7c6ab416508.jpeg

图 9 相对于单尺度池化,该图显示的是在不同阶段下应用金字塔池化自注意力的效果。可以发现,随着金字塔池化在更多的阶段下的应用,效果也变的越好。

b0eafadb2f020c807b16a05e8169659b.jpeg

图 10 进一步应用相对位置编码(RPE)、IRB和部分重叠的patch embedding(OPE)所带来的效果。RPE可以进一步大幅提升分类和效果,同时RPE的计算量仅占网络总计算量的0.1%(0.005 GFLOPS)。IRB则进一步显著地提升了分类和分割效果。OPE虽然进一步提升的分类相对前两者不多,但能显著提升分割效果。

此外,P2T采用了更轻量的Hardswish激活,GELU与其相比,训练内存占用额外多出了52%。我们也发现,采用Hardswish激活的P2T和采用GELU的P2T性能一致。所以,我们使用Hardswish激活,使得P2T可以在更小显存上的显卡上训练。

4. 总结

我们提出了基于金字塔池化的transformer基本单元P2T。相对于单尺度池化,金字塔池化既大幅减少了transformer中MHSA的计算量,又提供了强大的多层次的特征表达。我们利用P2T基本单元建立了一系列的P2T骨干:P2T-Tiny/Small/Base/Large。在图像分类、语义分割、目标检测、实例分割等任务上,基于P2T的方法也显著要好于其他骨干网络,如ResNet, ResNeXts, Res2Nets, 以及PVT、Swin、Twins、PVTv2。

相关文献

[1] An image is worth 16x16 words: Transformers for image recognition at scale, ICLR 2021

[2] Training data-efficient image transformers & distillation through attention, ICLR 2021

[3] Findings of the 2014 workshop on statistical machine translation, The Workshop on Statistical Machine Translation, 2014.

[4] ImageNet large scale visual recognition challenge, IJCV 2015

[5] Pyramid Vision Transformer: A versatile backbone for dense prediction without convolutions, ICCV 2021

[6] Swin Transformer: Hierarchical vision transformer using shifted windows, ICCV 2021

[7] Twins: Revisiting the design of spatial attention in vision transformers, NeurIPS 2021

[8] The pyramid match kernel: Discrim- inative classification with sets of image features, ICCV 2005.

[9] Beyond bags of features: Spatial pyramid matching for recognizing natural scene cate- gories, CVPR 2006.

[10] Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition, TPAMI 2015

[11] Pyramid Scene Parsing Network, CVPR 2017

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、多传感器融合、SLAM、光流估计、轨迹预测、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

40246208e1978023f7a7ceeb2a145b5c.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值