DANet(双重注意力融合网络)
原文地址:Dual Attention Network for Scene Segmentation
源代码pytorch:https://github.com/junfu1115/DANet/
复现代码keras:https://github.com/niecongchong/DANet-keras
Abstract
提出了双重注意网络(DANet)来自适应地集成局部特征和全局依赖。在传统的扩张FCN之上附加两种类型的注意力模块,分别模拟空间和通道维度中的语义相互依赖性。
- 位置注意力模块通过所有位置处的特征的加权和来选择性地聚合每个位置的特征。无论距离如何,类似的特征都将彼此相关。
- 同通道注意力模块通过整合所有通道映射之间的相关特征来选择性地强调存在相互依赖的通道映射。
- 将两个注意模块的输出相加以进一步改进特征表示,这有助于更精确的分割结果
1. Introduction
- 提出了一个双重注意网络(DANet)来捕捉空间和通道维度中的全局特征依赖关系
- 建议使用位置注意力模块来学习特征的空间相互依赖性,并设计通道注意力模块来模拟通道相互依赖性。通过在局部特征上建模丰富的上下文依赖关系,显著改善了分割结果
- 在三个数据集Cityscapes, PASCAL Context和COCO Stuff上实现了state-of-the-art的结果
2. Dual Attention Network
2.1 Overview
- 采用 Dilated ResNet (DeepLab V2的主干网络)作为主干,删除了下采样操作并在最后两个ResNet块中使用了空洞卷积,最终特征映射的大小是输入图像的1/8
- Dilated ResNet 产生的特征图再送入两个平行的注意力模块中
- 最后汇总两个注意力模块的输出特征,以获得更好的像素级预测特征表示
2.2 Position Attention Module
- 特征图A(C×H×W)首先分别通过3个卷积层得到3个特征图B,C,D,然后将B,C,D reshape为C×N,其中N=H×W
- 之后将reshape后的B的转置(NxC)与reshape后的C(CxN)相乘,再通过softmax得到spatial attention map S(N×N)
- 接着在reshape后的D(CxN)和S的转置(NxN)之间执行矩阵乘法,再乘以尺度系数α,再reshape为原来形状,最后与A相加得到最后的输出E
- 其中α初始化为0,并逐渐的学习得到更大的权重
2.3 Channel Attention Module
- 分别对A做reshape(CxN)和reshape与transpose(NxC)
- 将得到的两个特征图相乘,再通过softmax得到channel attention map X(C×C)
- 接着把X的转置(CxC)与reshape的A(CxN)做矩阵乘法,再乘以尺度系数β,再reshape为原来形状,最后与A相加得到最后的输出E
- 其中β初始化为0,并逐渐的学习得到更大的权重
2.4 Attention Module Embedding with Networks
- 两个注意力模块的输出先进行元素求和以完成特征融合
- 再进行一次卷积生成最终预测图
3. 实验设置
我们的实现基于Pytorch。采用poly 学习率策略,其中初始学习率在每次迭代之后乘以(1−iter/totaliter)0.9(1-iter/total_iter)^{0.9}(1−iter/totaliter)0.9。Cityscapes数据集的基本学习率设置为0.01。动量衰减系数为0.9,重量衰减系数为0.0001。批处理大小对Cityscapes设置为8,对其他数据集设置为16。在采用多尺度增强时,将COCO的训练时间设置为180个epoch,其他数据集的训练时间设置为240个epoch。当使用两个注意模块时,我们在网络的顶端采用多个损失函数。为了增加数据,我们在Cityscapes数据集的消融研究中采用随机裁剪(裁剪大小768)和随机左右翻转。
DANet(双重注意力融合网络)相关推荐
- DANet(双重注意力融合网络)与CBAM
原文地址:Dual Attention Network for Scene Segmentation 源代码pytorch:https://github.com/junfu1115/DANet/ 复现 ...
- 霸榜COCO和Cityscapes!南理工CMU提出极化自注意力,更精细的双重注意力建模结构
作者丨小马 编辑丨极市平台 [写在前面] 注意力机制是一个被广泛应用在各种CV任务中的方法.注意力机制根据施加的维度大致可以分为两类:通道注意力和空间注意力.对于通道注意力机制,代表性的工作有SENe ...
- CVPR 2019 | 用于场景分割的双重注意力网络
场景分割是目前应用前景非常广泛的方向之一,对场景进行精确的分割始终有着显著的实际意义并且极富挑战.来自中国科学院自动化研究所模式识别国家重点实验室的文章<Dual Attention Netwo ...
- 微软论文解读:用于视觉对话的多步双重注意力模型
作者丨张琨 学校丨中国科学技术大学博士生 研究方向丨自然语言处理 论文动机 当前 Visual dialog 模型尽管已经取得了令人印象深刻的表现,但当问题涉及到图像的特定区域或者比较细节的对话片段时 ...
- 【Attention】Dual Attention(DANet) Fully Attention(FLA)
空间注意力有助于保留细节信息,通道注意力有助于保留大物体的语义一致性. 有效使用两种注意力可以提升性能. 本文旨在记录一些常用的注意力,以及代码实现,包括两篇文章,DANet,FLA. Dual At ...
- 一文看尽深度学习中的各种注意力机制(1998-2020年)
导读 视觉注意力机制是人类视觉所特有的一种大脑信号处理机制,而深度学习中的注意力机制正是借鉴了人类视觉的注意力思维方式.一般来说,人类在观察外界环境时会迅速的扫描全景,然后根据大脑信号的处理快速的锁定 ...
- U-Net结构改进:双交叉注意力模块(DCA)
目录 前言 1. 模型的特点 2. 基于多尺度编码器的Patch Embedding 3. 通道交叉注意力(CCA) 4. 空间交叉注意力(SCA) 前言 本文由迈阿密大学的研究团队于2023年3月3 ...
- 一种基于多图注意力机制的虚假新闻检测方法
一 论文目标 对于社交媒体(推特)上发布的新闻,检测其真实性.只需要给定原始的推特文本和对应的转推用户序列,预测推特新闻是否是假的,并且同时生成做出该判断的解释(即根据那些特征断定该推特是假的). 二 ...
- 深度学习语义分割论文笔记(待完善)
在深度学习这一块儿,我最开始使用Unet进行了冠状动脉血管的分割 再后来,我尝试改进Unet,改进损失函数,让网络能有不错的效果 再后来,看到了注意力机制,读了attention unet, 于是,我 ...
最新文章
- ESXI5.5添加本地磁盘出错的解决
- linux boa服务器访问 404,Linux上boa服务器的配置和使用
- python常用内置函数总结-python常用内置函数
- 转:如何进行软件架构设计?
- OpenCV计算图像的平均值和标准差的函数meanStdDev函数的使用
- 每日程序C语言28-有序数组插入元素
- ASP.NET MVC3书店--第五节 表单编辑(第二部分)(转)
- 使用uwsgi和gunicorn部署Django项目
- QT5获取CPU编号和硬盘序列号
- c#.net中创建带图标的ListBox
- PHPStorm IDE 快捷键(MAC)
- Codeforces Global Round 14, C. Phoenix and Towers
- html5 中国地图统计图,html5 echarts中国地图网络销售分布图表代码
- C. Minimum Notation #823 div2
- 网络流精讲——最大流 包教包会
- 解决windows 中python打开文本文档乱码问题
- Elasticsearch 谷歌插件 Elasticsearch-head 使用
- xcode 如何添加调试设备
- 任务栏没有计算机快捷方式,电脑程序在运行但是任务栏没有图标怎么处理 电脑程序在运行但是任务栏没有图标如何处理...
- [转]一个女孩的IT创业经历,男人女人必看! 第二部分