简介
- Pyramid Split Attention Block用于增强特征提取
- 即插即用,可将Pyramid Split Attention Block取代ResNet的3×3卷积,提出基准网络ESPANet
- 目标分类与目标检测任务达到state-of-the-art效果
- 代码开源:https://github.com/murufeng/EPSANet
算法
Pyramid Split Attention (PSA)在SENet的基础上提出多尺度特征图提取策略,整体结构图如下所示。具体可分为如下四个步骤:
- Split and Concat (SPC)模块用于获得空间级多尺度特征图;
- SEWeight(SENet中的模块)被用于获得空间级视觉注意力向量来抽取多尺度响应图的目标特征;
- 使用Softmax函数用于再分配特征图权重向量;
- 元素相乘操作用于权重向量与原始特征图来获得最终结果响应图。
Split and Concat module
如上图所示,k0、k1、k2和k3是不同卷积核参数(以ESPANet-small为例,论文取3,5,7和9),G0、G1、G2和G3是分组卷积的参数(以ESPANet-small为例,论文默认取1,4,8和16)。整体可看做是模型采用不同卷积核提取多尺度目标特征,并采取Concat操作结合不同感受野下的多尺度特征。
ESPANet
ESPANet中的block如下所示,相比于ResNet,其就是使用PSA模块取代3x3的卷积,ESPANet block整体结构如下图所示。
因此ESPANet整体结构图与ResNet类型,唯一区别即使在每个block中前者使用PSA模块取代后者的3x3卷积,ESPANet整体结构如下图所示。
代码
由于ESPANet整体结构图与ResNet类型,唯一区别即使在每个block中前者使用PSA模块取代后者的3x3卷积,因此本部分着重于PSA模块的代码。
PSA模块整体配置如下:包含四个卷积层和SEWeight模块和Softmax函数
PSA模块前向传播函数如下:Split---Concat---SEWeight---Softmax
此外本文中使用的SEWeight就是SENet中使用的SEWeight,有兴趣的可以看看这篇论文(
https://openaccess.thecvf.com/content_cvpr_2018/papers/Hu_Squeeze-and-Excitation_Networks _CVPR_2018_paper.pdf)
综上所示,ESPANet是一个即插即用视觉注意力基准网络,可用于目标分类、检测、分割等计算机视觉任务,整体代码可从(https://github.com/murufeng/EPSANet)得到。