论文阅读(二十六):Dual Attention Network for Scene Segmentation
文章目录
- 1.Introduction
- 3.DANet
- 3.1Position 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:

注意,在计算两个通道的关系之前并没有使用卷积层来嵌入特征,因为这样维护不同通道之间的关系。
相关文章:
论文阅读(二十六):Dual Attention Network for Scene Segmentation
文章目录 1.Introduction3.DANet3.1Position Attention Module3.2Channel Attention Module 论文:Dual Attention Network for Scene Segmentation 论文链接:Dual Attention Network for Scene Segmentation 代码链接:Github 1.Intr…...
Stack和Queue(3)
Stack和Queue(3) priority_queue的模拟实现 priority_queue.h #include <vector>namespace soobin {template<class T, class Container vector<T>>class priority_queue{public://强制生成默认构造priority_queue() default;temp…...
怎样把学生的成绩单独告知家长?
期中考试季的到来让校园里的气氛似乎也变得紧张起来。家长们开始频繁地联系老师,希望了解孩子的表现;孩子们则在考试后,绞尽脑汁地想出各种理由,以期在成绩不理想时能减轻家长的失望。老师们更是忙得不可开交,不仅要批…...
vue3父组件控制子组件表单验证及获取子组件数值方法
1、关键部分的代码如下,我努力交代清楚了,希望能让大家看懂。 <template><KeepAlive><component ref"comp" :is"compNames[steps[compIndex].comp]" /></KeepAlive><el-button click"prevBtn"…...
【JavaEE】【多线程】单例模式
目录 一、设计模式1.1 单例模式1.1.1 饿汉模式1.1.2 懒汉模式 1.2 线程安全问题1.3 懒汉模式线程安全问题的解决方法1.3.1 原子性问题解决1.3.2 解决效率问题1.3.3 解决内存可见性问题和指令重排序问题 一、设计模式 在讲解案例前,先介绍一个概念设计模式ÿ…...
Java.6--多态-设计模式-抽象父类-抽象方法
一、多态 1.定义--什么是多态? a.同一个父类的不同子类对象,在做同一行为的时候,有不同的表现形式,这就是多态。(总结为:一个父类下的不同子类,同一行为,不同表现形式。࿰…...
JAVA Maven 的安装与配置
一、下载地址 官方网站:Maven – Download Apache Maven 我这里是3.8.6版本 二、安装步骤 maven安装之前要先安装jdk,请确保你的系统已经安装了jdk环境。 1.将下载好的 Maven 进行解压 apache-maven-3.6.8-bin.zip 2.配置本地仓库:修改 conf/settin…...
【程序分享】PCB元件坐标对齐工具 V1.3
↑↑↑点击上方蓝字,关注我们! “PCB元件坐标对齐工具 V1.3”脚本程序在PCB文档中将元件的坐标自动移动到参考圆弧的中心,参考圆弧支持机械层1层和禁止布线层,参考图元的位置任意,不局限于栅格位置。 程序会自动…...
[bug] vllm 0.6.1 RuntimeError: operator torchvision::nms does not exist
[bug] vllm 0.6.1 RuntimeError: operator torchvision::nms does not exist 环境 python 3.10 torch 2.4.0cu118 torchvision 0.19.0cu118 vllm 0.6.1.post2cu118问题详情 if torch._C._d…...
处理Hutool的Http工具上传大文件报OOM
程序环境 JDK版本: 1.8Hutool版本: 5.8.25 问题描述 客服端文件上传主要代码: HttpRequest httpRequest HttpUtil.createPost(FILE_UPLOAD_URL); Resource urlResource new UrlResource(url, fileName); httpRequest.form("file&q…...
transforms的使用
示例代码 from PIL import Image from torch.utils.tensorboard import SummaryWriter from torchvision import transforms#打开该图片 img_path"hymenoptera_data/val/bees/10870992_eebeeb3a12.jpg" imgImage.open(img_path) writerSummaryWriter("logs&quo…...
python-PyQt项目实战案例:制作一个视频播放器
文章目录 1. 关键问题描述2. 通过OpenCV读取视频/打开摄像头抓取视频3. 通过PyQt 中的 QTimer定时器实现视频播放4. PyQt 视频播放器实现代码参考文献 1. 关键问题描述 在前面的文章中已经分享了pyqt制作图像处理工具的文章,也知道pyqt通过使用label控件显示图像的…...
反向传播的微积分原理 | Chapter 4 | Deep Learning | 3Blue1Brown
目录 前言1. 简介2. 神经网络中的链式法则3. 微积分的计算4. 公式含义5. 代价函数对权重偏置的敏感度6. 多个神经元的情形7. 回顾相关资料结语 前言 3Blue1Brown 视频笔记,仅供自己参考 这个章节主要来深度讲解反向传播中的一些微积分理论 官网:https://…...
matlab读取excel表格
使用matlab读取excel表格中的数据 使用推荐代码读取excel表格中的数据 path "C:\Users\24975\Desktop\503\GUI展示案例\Tx_20_0_Rx_40_90_0.1_95_L.xlsx";%文件路径 data readtable(path,Sheet,Sheet1,ReadRowNames,false,ReadVariableNames,false,Ra…...
基于springboot+vue实现的助学兼职系统(源码+L文+ppt)4-092
基于springbootvue实现的助学兼职系统(源码L文ppt)4-092 第4章 系统设计 4.1 总体功能设计 一般学生、招聘公司和管理者都需要登录才能进入助学兼职系统,使用者登录时会在后台判断使用的权限类型,包括一般使用者和管理者,一般使…...
⌈ 传知代码 ⌋ 农作物病害分类(Web端实现)
💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…...
CMU生成式人工智能大模型:从入门到放弃(九)
引言 在前面的系列博客中,我们深入探讨了生成式对抗网络(GANs)和变分自编码器(VAEs)等生成式模型。今天,我们将探索扩散模型(Diffusion Models)的进一步应用,并讨论在上…...
HTML基础总结
一、简介 HTML(HyperText Markup Language)即超文本标记语言,是用于创建网页的标准标记语言。它通过使用各种标签来定义网页的结构和内容,告诉浏览器如何显示网页。HTML 文档由标签和文本组成,标签用于描述文本的性质…...
EXCELL中如何两条线画入一张图中,标记坐标轴标题?
1,打开excel,左击选中两列, 2,菜单栏>“插入”>”二维折线图”选中一个 3,选中出现的两条线中的一条右击>最下一行,“设置数据系列格式” 4,右测“系列选项中”>点击“次坐标轴” 5…...
Zabbix企业级分布式监控环境部署
“运筹帷幄之中,决胜千里之外”。在IT运维中,监控占据着重要的地位,按比例来算,说占30%一点也不为过。对IT运维工程师来说,构建一个真正可用的监控告警系统是一项艰巨的任务。在监控系统的开源软件中,可供选…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
【Ftrace 专栏】Ftrace 参考博文
ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...
