论文地址: Dual Attention Network for Scene Segmentation
工程地址:github链接

1. 介绍

  该论文提出新型的场景分割网络DANet,利用自注意力机制进行丰富语义信息的捕获,在带有空洞卷积的FCN架构的尾部添加两个并行的注意力模块:位置注意力模块和通道注意力模块,论文在Cityscapes,PASCAL Context和COCO数据集上都取得了SOTA效果。
  具体地在位置注意力模块中,任一位置的特征的更新是通过图像所有位置上特征的带权聚合进行更新,权重是由两个位置上特征的相似性决定的,也就是说无论两个位置的距离只要他们的特征相似那么就能得到更高的权重。
  通道注意力模块中也应用了相似的自注意力机制来学习任意两个通道映射之间的关系,同样通过所有通道的带权加和来更新某一个通道。

2. 双路注意力网络

  DANet的整体框架如下图所示,对ResNet进行变形,移除最后两个模块的下采样后应用空洞卷积,得到一个输出特征图,尺寸为输入图像的1/8,然后这个输出特征图分别输入给两个注意力模块中以捕获全局(long-range)语义信息[像素点之间建立的某种联系]。在位置注意力模块中,首先生成一个位置注意力矩阵用于对任意两个点之间的关系建模,接着注意力矩阵与特征矩阵进行矩阵乘法,然后对相乘结果和原始特征矩阵进行逐元素的加法得到最终对全局语义具有一定表征能力的结果。通道注意力模块的操作相似,只不过乘法实在通道维度进行计算。最终将两个模块的结果进行聚合得到一个更好的表征结果已进行接下来的逐像素预测。

2.1 位置注意力模块

  对于场景理解具有判别力的特征表示是关键的,位置注意力模块通过编码更广范围的语义信息到局部感受野中以增强特征图表示能力,论文这一节就详细描述了该模块是怎样逐步聚合位置语义的过程。

  如上图所示,给定一个特征A∈RC×H×WA \in R^{C \times H \times W}A∈RC×H×W,然后经过一个带有BN层和ReLU层的卷积操作得到两个新的特征B,C,其中{B,CB,CB,C}∈RC×H×W\in R^{C \times H \times W}∈RC×H×W,然后将这两个特征reshape到RC×NR^{C \times N}RC×N,其中N=H×WN=H \times WN=H×W,然后在B和C的转置上应用一次矩阵乘法,之后应用softmax层计算位置注意力映射图S∈RN×NS \in R^{N \times N}S∈RN×N,具体地,

sij=exp(Bi⋅Cj)∑i=1Nexp(Bi⋅Cj)s_{ij}=\frac{exp(B_i \cdot C_j)}{\sum^N_{i=1}exp(B_i \cdot C_j)}sij​=∑i=1N​exp(Bi​⋅Cj​)exp(Bi​⋅Cj​)​

  其中sijs_{ij}sij​表示第iii个位置对第jjj个位置的影响,两个位置的特征越相似对这个值的影响越大。
  同时将特征AAA输入到一个带有BN层和ReLU层的卷积层产生另外一个特征图D∈RC×H×WD \in R^{C \times H \times W}D∈RC×H×W,同样reshape到RC×NR^{C \times N}RC×N,然后对D和S的转置应用一次矩阵乘法,reshape为RC×H×WR^{C \times H \times W}RC×H×W,然后乘上一个因子α\alphaα,与特征A进行一个逐元素的相加操作得到最终额的输出E∈RC×H×WE \in R^{C \times H \times W}E∈RC×H×W,即:

Ej=α∑i=1N(sjiDi)+AjE_j=\alpha \sum^{N}_{i=1}(s_{ji}D_i)+A_jEj​=αi=1∑N​(sji​Di​)+Aj​

  其中α\alphaα初始化为0然后逐渐学习,通过上面这个公式可以看出最终的特征E的每一个位置都是所有位置的特征和原始特征的带权加和得到,因此能够聚合全局语义信息。

2.2 通道注意力模块

  高层特征的每一个通道映射可以看做一个类别明确的响应并且不同的语义响应之间互相联系。通过获取不同通道映射之间的相互依赖性可以有效增强特征图对于特定语义的表征能力,因此设计该通道注意力模块。

  通道注意力模块如上图所示,与位置注意力模块不同的是,论文直接从原始特征A∈RC×H×WA \in R^{C \times H \times W}A∈RC×H×W直接计算X∈RC×CX \in R^{C \times C}X∈RC×C。首先对特征图A进行reshape操作至RC×NR^{C \times N}RC×N,然后在A与A的转置上应用一次矩阵乘法,最终应用一个softmax层以获得通道注意力图X∈RC×CX \in R^{C \times C}X∈RC×C,其中
xji=exp(Ai⋅Aj)∑i=1Cexp(Ai⋅Aj)x_{ji}=\frac{exp(A_i \cdot A_j)}{\sum ^C_{i=1}exp(A_i \cdot A_j)}xji​=∑i=1C​exp(Ai​⋅Aj​)exp(Ai​⋅Aj​)​

  其中xjix_{ji}xji​表示了第i个通道对第j个通道的影响。之后论文对X的转置和A进行一次矩阵乘法然后reshape到RC×H×WR^{C \times H \times W}RC×H×W,然后乘上一个因子β\betaβ,然后与原始特征A进行一个逐元素的加和操作得到最终的特征图E∈RC×H×WE \in R^{C \times H \times W}E∈RC×H×W,具体地,

Ej=β∑i=1C(xjiAi)+AjE_j=\beta \sum^{C}_{i=1}(x_{ji}A_i)+A_jEj​=βi=1∑C​(xji​Ai​)+Aj​

  同理,β\betaβ初始化为0并且逐渐学习,上个公式表明最终输出的每个通道的特征都是所有通道的特征和原始特征图的带权加和,从而增强了通道特征图之间的全局语义依赖,最终增强了特征图的判别能力。

2.3 将注意力模块集成到网络中

  为了更好地利用两个注意模块的全局语义信息,论文将模块的输出经过一个卷积层后进行一个逐元素的加和实现特征融合,然后接一个卷积层得到最终的预测结果。

3. 实验结果

Cityscapes验证集上结果的可视化,从左到右,原始图像,两个不同位置点的子特征图,通道11和4的特征图,预测结果和groud truth

Cityscapes测试集上的mIoU和每个类别的结果

Pascal VOC 测试集结果

Pascal Context 测试集结果

COCO测试集结果


欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]

(CVPR2019)图像语义分割(18) DANet-集成双路注意力机制的场景分割网络相关推荐

  1. 注意力机制、深度残差网络和软阈值化的集成:深度残差收缩网络(附代码)

    深度残差收缩网络是一种针对强噪声数据的深度学习方法,是由"深度残差网络"和"收缩"组成的.一方面,"深度残差网络"已经成为了深度学习领域的基 ...

  2. 图像语义分割方法研究进展

    全监督学习的图像语义分割方法研究进展 简介 1 全监督学习的图像语义分割方法 1.1 基于全卷积的图像语义分割方法 1.2 基于编码器解码器结构的图像语义分割方法 1.3 基于注意力机制的图像语义分割 ...

  3. SLAM综述阅读笔记六:基于图像语义的SLAM调研:移动机器人自主导航面向应用的解决方案 2020

    转自[[论文阅读]A survey of image semantics-based visual simultaneous localization and mapping 语义视觉SLAM综述 - ...

  4. 从局部到全局的多模式电影场景分割

    从局部到全局的多模式电影场景分割 CVPR2020 个人总结 1.研究现状: 2.研究的意义: 3.提出的解决方案(局部到全局的场景分割模型): 4.电影场景数据集: 5.结论: 全文翻译 从局部到全 ...

  5. 基于深度学习的场景分割算法研究综述

    基于深度学习的场景分割算法研究综述 人工智能技术与咨询 来自<计算机研究与发展> ,作者张 蕊等 摘 要 场景分割的目标是判断场景图像中每个像素的类别.场景分割是计算机视觉领域重要的基本问 ...

  6. 遥感图像语义分割各公开数据集

    遥感图像语义分割数据集 1. Gaofen Image Dataset(GID) 2. ISPRS Test Project on Urban Classification and 3D Buildi ...

  7. Pytorch:图像语义分割-基于VGG19的FCN8s实现

    Pytorch: 图像语义分割-基于VGG19的FCN8s语义分割网络实现 Copyright: Jingmin Wei, Pattern Recognition and Intelligent Sy ...

  8. 图像语义分割模型综述

    文章目录 一.语义分割介绍 二.语义分割的思路 空洞卷积 条件随机场 三.经典语义分割算法介绍 1.FCN 2.UNet Family (1)UNet (2)Attention U-Net (3)UN ...

  9. 【Keras】基于SegNet和U-Net的遥感图像语义分割

    from:[Keras]基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末projec ...

  10. 基于深度学习的图像语义分割技术概述之背景与深度网络架构

    本文为论文阅读笔记,不当之处,敬请指正.  A Review on Deep Learning Techniques Applied to Semantic Segmentation: 原文链接 摘要 ...

最新文章

  1. 进阶中级程序员需要做的事
  2. Android之解决点击PopupWindow外部不消失并且不穿透事件
  3. 深入理解 JVM Class文件格式(三)
  4. android对错图标,Android Studio Gradle图标错误,清单合并
  5. 程序员必修课:为什么非要用 Python 做数据分析?Excel 不好吗?
  6. OpenResty安装下载
  7. MongoDB Java
  8. 如何配置Mysql驱动
  9. 侯捷《深入浅出MFC》中“Hello, MFC”如何改写到VS2012中
  10. 模电数电高频电路综合实验成套设备QY-MS535G
  11. 大一c语言试题及答案解析,大一c语言期末题及参考答案.doc
  12. 对token(令牌)的理解
  13. JAVAScript:mobile端,基于transform-origin和tranform(scale),实现表格缩放
  14. ./与../和/的区别
  15. L46.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- w和who
  16. 商汤科技发布新一代SensePass工业级可视人脸识别门禁全新升级
  17. uniapp 微信小程序如何解决发版后,旧版本缓存问题
  18. 2021天梯赛总决赛-L2-4 哲哲打游戏
  19. java 实现克隆_Java中如何实现深克隆
  20. “绿多多”绿色资产谈过去的2018及+GEEKBANK.IO+版权猫ipMall.io的未来

热门文章

  1. 微星msi B450M+i5-8500+1060成功黑苹果
  2. Scrapy(一)爬知乎所有用户信息
  3. 浅析jQuery源码
  4. Android - Broadcast机制
  5. Pop3_解决PKIX:unable to find valid certification path to requested target 的问题
  6. 【FIR.im赞助】jQuery编程挑战#012:生成菜单添加和删除动画效果
  7. compareTo的实现策略
  8. 集成计划排程计划以及管控体系的几个特征
  9. Maven—Eclipse设置Maven项目JDK版本
  10. 终结者:详述Log4j配置文件中代码的含义