EPSANet: An Efficient Pyramid Split Attention Block on Convolutional Neural Network 论文解读

简介

  • 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函数用于再分配特征图权重向量;
  • 元素相乘操作用于权重向量与原始特征图来获得最终结果响应图。
EPSANet: An Efficient Pyramid Split Attention Block on Convolutional Neural Network 论文解读
PSA模块整体结构图

Split and Concat module

EPSANet: An Efficient Pyramid Split Attention Block on Convolutional Neural Network 论文解读
SPC模块整体结构图

如上图所示,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整体结构如下图所示。

EPSANet: An Efficient Pyramid Split Attention Block on Convolutional Neural Network 论文解读
ESPANet block

因此ESPANet整体结构图与ResNet类型,唯一区别即使在每个block中前者使用PSA模块取代后者的3x3卷积,ESPANet整体结构如下图所示。

EPSANet: An Efficient Pyramid Split Attention Block on Convolutional Neural Network 论文解读
ESPANet整体结构图

代码

由于ESPANet整体结构图与ResNet类型,唯一区别即使在每个block中前者使用PSA模块取代后者的3x3卷积,因此本部分着重于PSA模块的代码。

PSA模块整体配置如下:包含四个卷积层和SEWeight模块和Softmax函数

EPSANet: An Efficient Pyramid Split Attention Block on Convolutional Neural Network 论文解读
PSA模块整体初始化代码

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)

EPSANet: An Efficient Pyramid Split Attention Block on Convolutional Neural Network 论文解读
PSA模块前向传播代码

综上所示,ESPANet是一个即插即用视觉注意力基准网络,可用于目标分类、检测、分割等计算机视觉任务,整体代码可从(https://github.com/murufeng/EPSANet)得到。

上一篇:Unity3D Shader加载时机和预编译


下一篇:GCN学习 DROPEDGE: TOWARDS DEEP GRAPH CONVOLUTIONAL NETWORKS ON NODE CLASSIFICATION