论文阅读(二十六):Dual Attention Network for Scene Segmentation

文章目录

  • 1.Introduction
  • 3.DANet
    • [3.1Position Attention Module](#3.1Position Attention Module)
    • [3.2Channel Attention Module](#3.2Channel Attention Module)

  论文:Dual Attention Network for Scene Segmentation

  论文链接:Dual Attention Network for Scene Segmentation

  代码链接:Github

1.Introduction

  语义分割的目的在于将场景图像分割和解析为与语义类别相关的不同图像区域,包括事物(例如天空、道路、草地)和离散对象(例如人、汽车、自行车)。本文提出了一种双注意力网络 D A N e t ( D u a l A t t e n t i o n N e t w o r k f o r S c e n e S e g m e n t a t i o n ) DANet(Dual Attention Network for Scene Segmentation) DANet(DualAttentionNetworkforSceneSegmentation),分别捕获空间和通道维度的特征依赖关系。具体来说,本研究在FCN上增加了位置注意力模块、空间注意力模块共两个并行的注意力模块:

  • 位置注意力模块:引入了自注意力机制来捕获特征图的任意两个位置之间的空间依赖关系。对于某个位置的特征,它是通过加权求和聚合所有位置的特征来更新的,其中权重由相应两个位置之间的特征相似性决定。即,任何两个具有相似特征的位置都可以促进相互改进,无论它们在空间维度上的距离如何。
  • 通道注意力模块:使用类似的自注意力机制来捕获任意两个通道映射之间的通道依赖关系,并使用所有通道映射的加权和更新每个通道映射。

最后将这两个注意力模块的输出融合在一起,以进一步增强特征表示。

  本研究的贡献如下:

  • 1.提出双注意力网络 D A N e t ( D u a l A t t e n t i o n N e t w o r k f o r S c e n e S e g m e n t a t i o n ) DANet(Dual Attention Network for Scene Segmentation) DANet(DualAttentionNetworkforSceneSegmentation),以增强特征表示对场景分割的判别能力。
  • 2.提出了一个位置注意力模块来学习特征的空间相互依赖性,并设计了一个通道注意力模块来模拟通道相互依赖性。二者通过局部特征的丰富上下文依赖关系进行建模,显著改善了分割结果。

3.DANet

  本文共设计了两种类型的注意力模块,为更方便展示模块的效果,设计了一个以ResNet为主干架构的网络模型。其中,作为编码器的ResNet中删除了下采样操作并在最后两个ResNet模块中使用了膨胀卷积,从而将最终特征图大小的大小缩小到到输入图像的 1 8 \frac{1}{8} 81。之后将其输入到两个并行的注意力模块中。

3.1Position Attention Module

  位置注意力模块将更广泛的上下文信息编码为局部特征,从而增强它们的表示能力,本研究中的位置注意力模块通过矩阵乘法实现细节增强。两个特征的乘积可以揭示两个特征共存的重要信息,有利于协同识别对象。而两个特征的求和可以全面地捕捉两个特征所包含的信息。给定特征图 A ∈ R C × H × W A∈R^{C×H×W} A∈RC×H×W,通过卷积操作生成新的特征图 B 、 C ∈ R C × H × W B、C∈R^{C×H×W} B、C∈RC×H×W。之后将二者重塑为大小 R C × N , N = H × W ( 像素个数 ) R^{C×N},N=H×W(像素个数) RC×N,N=H×W(像素个数),并将B转置后与C执行矩阵乘法,再使用 s o f t m a x softmax softmax生成空间注意力图,大小为 N × N = ( H × W ) × ( H × W ) N×N=(H×W)×(H×W) N×N=(H×W)×(H×W):

以 s j i s_{ji} sji衡量第i个位置对第j个位置的影响,两个位置的特征表示越相似,它们之间的相关性越大,注意力图对应位置的权重就越大。将A经过卷积运算得到特征图 D ∈ R C × H × W D∈R^{C×H×W} D∈RC×H×W并重塑为 R C × N R^{C×N} RC×N,将其与注意力图相乘并重塑为大小 R C × H × W R^{C×H×W} RC×H×W。最后将其乘以可学习权重 α α α并与A残差连接得到输出 E ∈ R C × H × W E∈R^{C×H×W} E∈RC×H×W:

每个位置的生成特征 E ∈ R C × H × W E∈R^{C×H×W} E∈RC×H×W是所有位置和原始特征的特征的加权和。因此,它具有全局上下文视图,并根据空间注意力图选择性地聚合上下文。

3.2Channel Attention Module

  每个高级特征的通道图都可以看作是一个特征二维大小的响应,不同的特征之间是相互关联的,此时可通过利用每个通道方向的二维矩阵来对特征之间的依赖关系进行建模,并生成相应的通道注意力图。本研究构建了一个通道注意力模块来显式实现该建模操作。

  如上图所示,不对原始特征 A ∈ R C × H × W A∈R^{C×H×W} A∈RC×H×W进行卷积操作,而是直接重塑为大小 R C × N , N = H × W ( 像素个数 ) R^{C×N},N=H×W(像素个数) RC×N,N=H×W(像素个数),并将其与自身的转置进行矩阵乘法运算,再通过 s o f t m a x softmax softmax获得通道注意力图 X ∈ R C × C X∈R^{C×C} X∈RC×C。

以 x j i x_{ji} xji衡量第i个通道对第j个通道的影响,两个通道的特征表示越相似,它们之间的相关性越大,注意力图对应位置的权重就越大。将A的转置与注意力图相乘并重塑为大小 R C × H × W R^{C×H×W} RC×H×W。最后将其乘以可学习权重 β β β并与A残差连接得到输出 E ∈ R C × H × W E∈R^{C×H×W} E∈RC×H×W:

  注意,在计算两个通道的关系之前并没有使用卷积层来嵌入特征,因为这样维护不同通道之间的关系。

相关推荐
信马堂2 小时前
WorkBuddy 接入第三方模型 API 全流程:安装与配置实录
人工智能·大模型·token·ai算力·workbuddy
朝朝辞暮i3 小时前
VLA 系统学习第 4 课:一个 Batch 进入神经网络后,模型到底是怎么“学会”的?
人工智能·python·神经网络·vla
IT古董3 小时前
《FDE前沿部署工程师实战教程》33 - Enterprise AI Observability:从Agent Trace到全链路智能运维
数据库·人工智能
xsd202411184 小时前
地网腐蚀AI识别算法全解析:从锈蚀图像到地下腐蚀快速定位
人工智能
oooost4 小时前
pytorch学习笔记2(transformer)
人工智能·机器学习
云杂项4 小时前
Exploring Model Inversion Attacks in the Black-box Setting(个人笔记)
人工智能
还卿一钵无情泪5 小时前
Unsloth 微调 构建自己的大模型 没有GPU也能微调
linux·开发语言·人工智能·python·大模型·nlp·unsloth
冬奇Lab5 小时前
LLM 驱动的自动化测试系列(06):移动端自动化(二)——DroidRun/Mobilerun 的角色级模型拆分
人工智能·测试
冬奇Lab6 小时前
一天一个开源项目(第230篇):HandRaw-Style —— 把 327 种手绘风格、165 种排版、36 种配色编号化,让 AI 画图不再每次都飘
人工智能·开源·资讯
罗西的思考6 小时前
从陶哲轩的访谈看:AI 数学研究方法论 & 给其它行业的启示
人工智能