CVPR2021|一个高效的金字塔切分注意力模块PSA

前言:

前面分享了一篇《继SE,CBAM后的一种新的注意力机制Coordinate Attention》,其出发点在于SE只引入了通道注意力,CBAM的空间注意力只考虑了局部区域的信息,从而提出考虑全局空间信息的注意力机制。

在本文,将介绍另一个基于同样出发点的注意力模块,即Pyramid Split Attention (PSA)。PSA具备即插即用、轻量、简单高效的特点。该模块与ResNet结合,通过PSA替代ResNet的bottleneck中的3x3卷积,组成了EPSANet。

EPSANet用于图像识别,比SENet top-1acc高了1.93%。PSA用在Mask RCNN上,目标检测高了2.7 box AP,实例分割高了1.7 mask AP。

本文来自公众号CV技术指南的论文分享系列

关注公众号CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

论文:https://arxiv.org/pdf/2105.14447v1.pdf

代码:https://github.com/murufeng/EPSANet

本文出发点

1. SE仅仅考虑了通道注意力,忽略了空间注意力。

2. BAM和CBAM考虑了通道注意力和空间注意力,但仍存在两个最重要的缺点:(1)没有捕获不同尺度的空间信息来丰富特征空间。(2)空间注意力仅仅考虑了局部区域的信息,而无法建立远距离的依赖。

3. 后续出现的PyConv,Res2Net和HS-ResNet都用于解决CBAM的这两个缺点,但计算量太大。

基于以上三点分析,本文提出了Pyramid Split Attention。

PSA

主要操作:将input tensor从通道上分成S组。每一组进行不同卷积核大小的卷积,以获取不同尺度的感受野,提取不同尺度的信息。再通过SE模块,提取每组的通道的加权值,最后对S组的加权值进行softmax归一化并加权。

具体将input tensor分成S组,并对每组进行不同卷积的SPC模块如下图所示。

CVPR2021|一个高效的金字塔切分注意力模块PSA_第1张图片

SPC先将input tensor分成S组,每组的卷积核大小依次增大,如k=3,5,7,9。考虑到当卷积核比较大时,计算量也大,因此,对每一组再进行分组卷积,具体分组数量G = exp(2,(k-1)/2),即2的(k-1)/2次幂。当K = 3,5,7,9时,G=1,2,3,4。

在经过不同大小的卷积后,在通道上拼接。

经过SPC模块后,PSA再将SPC模块的输出通过SE Weight Module获得通道注意力值,这样做的目的是获得不同尺度特征图的注意力权值。

通过这样的做法,PSA融合了不同尺度的上下文信息,并产生了更好的像素级注意力。

最后将每组通道注意力权值拼接,进行softmax归一化,对SPC模块的输出进行加权。

完整的PSA模块如下图所示。

CVPR2021|一个高效的金字塔切分注意力模块PSA_第2张图片

这里补充一下pyramid split attention中的pyramid。在《特征金字塔技术总结》中介绍了特征金字塔的两种构建方式,其中一种就是通过不同大小卷积核的卷积来构建特征金字塔。因此,这里PSA中的Pyramid是由SPC模块中的每组不同大小卷积核的卷积所构建。

EPSANet

CVPR2021|一个高效的金字塔切分注意力模块PSA_第3张图片

如上图所示,将PSA替代ResNet的bottleneck中的3x3卷积,再堆叠几个这样的模块就构成了EPSANet,这里的E,指的是efficient。

网络设计如下图所示。

CVPR2021|一个高效的金字塔切分注意力模块PSA_第4张图片

Conclusion

EPSANet用于图像识别,比SENet top-1acc高了1.93%。PSA用在Mask RCNN上,目标检测高了2.7 box AP,实例分割高了1.7 mask AP。

以ResNet-50和ResNet-101为backbone,加入各种注意力模块的图像识别效果对比

CVPR2021|一个高效的金字塔切分注意力模块PSA_第5张图片

CVPR2021|一个高效的金字塔切分注意力模块PSA_第6张图片

 欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

在公众号中回复关键字 “入门指南“可获取计算机视觉入门所有必备资料。

其它文章

ICCV2021 | SOTR:使用transformer分割物体

ML2021 | PatrickStar:通过基于块的内存管理实现预训练模型的并行训练

ICCV2021 | PnP-DETR:用Transformer进行高效的视觉分析

ICCV2021 | 医学影像等小数据集的非自然图像领域能否用transformer?

ICCV2021 | Vision Transformer中相对位置编码的反思与改进

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

ICCV2021 | 重新思考视觉transformers的空间维度

CVPR2021 | TransCenter: transformer用于多目标跟踪算法

CVPR2021 | 开放世界的目标检测

CVPR2021 | TimeSformer-视频理解的时空注意模型

CVPR2021 | 一个高效的金字塔切分注意力模块PSA

CVPR2021 | SETR: 使用 Transformer 从序列到序列的角度重新思考语义分割

经典论文系列 | 重新思考在ImageNet上的预训练

经典论文系列 | Group Normalization & BN的缺陷

经典论文系列 | 目标检测--CornerNet  & anchor boxes的缺陷

经典论文系列 | 缩小Anchor-based和Anchor-free检测之间差距的方法:自适应训练样本选择

2021-视频监控中的多目标跟踪综述

统一视角理解目标检测算法:最新进展分析与总结

全面理解目标检测中的anchor    |    实例分割综述总结综合整理版
单阶段实例分割综述    |    小目标检测的一些问题,思路和方案

目标检测中回归损失函数总结    |    小目标检测常用方法总结

视觉Transformer综述    |    2021年小目标检测最新研究综述

Siamese network综述    |    姿态估计综述    |    语义分割综述

视频理解综述:动作识别、时序动作定位、视频Embedding

你可能感兴趣的:(论文分享,计算机视觉,深度学习,神经网络,机器学习,pytorch)