【读论文】AttentionFGAN
【读论文】AttentionFGAN
- 介绍
- 网络架构
- 提取红外图像目标信息的网络
- 辨别器
- 损失函数
- 生成器损失函数
- 辨别器损失函数
- 总结
- 参考
论文: https://ieeexplore.ieee.org/document/9103116/
如有侵权请联系博主
介绍
好久没有读过使用GAN来实现图像融合的论文了,正好看到一篇2021年的论文,很感兴趣。
论文中介绍了一种基于多尺度和SE注意力用于可视图像与红外图像融合的方法,网络架构基于GAN,有点类似DDcGAN的结构,也是有两个辨别器。接下来咱们一起来看看吧。
网络架构
网络的总体架构如上图所示,先来简单看一下,可以认为整个网络由四个组件购成,分别是一个用于提取红外图像中目标信息的网络,一个用于提取可视图像中背景信息的网络和两个用来分辨输入的图像是融合图像还是红外/可视图像。
提取红外图像目标信息的网络
单看这一部分,我相信除了作者谁也不知道这是干啥的,不过还好还有下面这张图
上图就是红外多尺度注意力网络的网络结构,可以看到,整个网络中包含三个尺度的基于注意力的特征提取模块,从上到下,依次为原图像信息,2x2池化之后产生的图像数据和4x4池化之后产生的图像数据。
我们来仔细看一下上面这张图,还是有很多细节的。
依据我们之前所知道的,每一个尺度的图像特征信息的高和宽应该是不同的,那为什么这里直接最后可以把提取到的三个尺度特征信息进行通道维度上的相连呢?
这是因为在SE注意力计算权重之后,并不是权重直接与原尺度特征进行相乘,而是与原尺度特征上采样之后的特征进行相乘,这里的上采样自然是将三个尺度的特征信息信息上采样到同一个高与宽。
作者在文中给出了SE注意力的计算公式。计算公式如下
最终将各尺度提取的特征连接在一起就是提取到的红外特征。
可视特征注意力网络与红外的结构以及原理相同。
生成器的网络结构如下表所示,包含多尺度特征提取的网络结构和一个融合网络结构。
辨别器
因为两个辨别器的结构大致相同,这里就统一来讲。
类似于DDcGAN的结构,这里也是使用两个辨别器,分别是用来判断是融合图像还是红外图像,是融合图像还是可视图像。
看到上面网络结构之后,你会发现怎么又多了两个多尺度注意力网络?
作者在这里的解释是他希望每个辨别器都可以更加关注应该关注的区域而不是整张图像。那么怎么理解呢
以红外/融合图像辨别器为例,**这里作者希望辨别器更加关注红外图像中的目标信息特征而并非背景信息和全部信息。**同样,可视/融合图像辨别器也是如此。而SE注意力块恰好可以根据目标损失函数进行调整权重,即增大我们想要的特征信息的权重,减小哪些不想要的特征信息的权重。
这样就比较清晰了,辨别器的输入就是多尺度注意力块的输出和原图信息进行相连之后的信息。
辨别器的结构如下表所示,由卷积层Conv和全卷积FC构成。
损失函数
生成器损失函数
先来看下生成器整体的损失函数,三个部分,对抗损失,内容损失和注意力损失。
先来看下内容损失,还是我们熟悉的公式,是为了保证融合图像的目标强度信息与可视图像中的相似。
因为毕竟是2021年的论文,没有考虑到可视图像中的显著目标信息,和我们现在经常看到的损失不是很一致。
再来看下注意力损失函数,个人认为是本文的亮点
这里att代表的是经过SE注意力处理之后产生的特征信息,在前面我们已经提到了加入SE块的原因就是像生成我们希望注意到的特征信息而并非全局信息,同理这里的att也就是网络认为我们想要注意到的内容。
例如在红外与融合图像鉴别器中,我们肯定希望通过输入图像的显著目标信息来判断输入图像是可视图像还是融合图像。那么怎么判断呢?
就是通过输入图像产生的att进行判断,当融合图像的att与红外图像的att相似度越高时,就说明融合图像包含的红外目标信息更丰富。 同理,可视图像也是如此。
最后就是对抗损失
Dir是红外辨别器认为图像是红外图像的概率,Dvis是可视辨别器认为图像是可视图像的概率,我们希望生成器生成的融合图像可以骗过两个辨别器,即两个辨别器认为融合图像是可视/红外图像的概率越高越好,即Dir和Dvis越大越好,带上一个负号就是整体越小越好。
辨别器损失函数
辨别器的损失函数相对来说简单些,即识别来自红外/可视图像中的数据为红外/可视的概率越高越好,识别来自融合图像的数据为红外/可视的概率越低越好,但是这里的确实不知道是啥意思。。。。。。。麻烦大佬们解答一下。
总结
整篇文章让我最惊艳的有两个点,第一个就是在多尺度特征提取那里加入了SE块,从而挑选我们想要的特征;另一个就是在损失函数这里,尤其是注意力损失那个地方,通过我们希望注意的区域的特征的对比来判断融合图像中是否包含了可视的纹理信息和红外图像中的目标信息。
其他融合图像论文解读
==》读论文专栏,快来点我呀《==
【读论文】DIVFusion: Darkness-free infrared and visible image fusion
【读论文】RFN-Nest: An end-to-end residual fusion network for infrared and visible images
【读论文】DDcGAN
【读论文】Self-supervised feature adaption for infrared and visible image fusion
【读论文】FusionGAN: A generative adversarial network for infrared and visible image fusion
【读论文】DeepFuse: A Deep Unsupervised Approach for Exposure Fusion with Extreme Exposure Image Pairs
【读论文】DenseFuse: A Fusion Approach to Infrared and Visible Images
参考
[1] AttentionFGAN: Infrared and Visible Image Fusion Using Attention-Based Generative Adversarial Networks
相关文章:

【读论文】AttentionFGAN
【读论文】AttentionFGAN介绍网络架构提取红外图像目标信息的网络辨别器损失函数生成器损失函数辨别器损失函数总结参考论文: https://ieeexplore.ieee.org/document/9103116/如有侵权请联系博主介绍 好久没有读过使用GAN来实现图像融合的论文了,正好看…...
ClickHouse 配置文件使用说明
本文主要介绍 ClickHouse 的配置文件。在 ClickHouse 中配置主要分为两类,一类是负责 server 端配置的,另一类是负责用户端配置的。负责 server 端配置的一般会放在 config.xml 文件中,负责用户端配置的一般会放在 users.xml 文件中。当然如果…...

如果不是互联网人,谁会找到这些神器?
一、上线啦 你肯定该问了,这个是什么鬼东西。它本来是一个创建自己网站的网站。 现在使用它可以创建自己的小程序,又不是有点小厉害了。 而且功能强大,还支持微信支付,分销,优惠券,营销等多种功能。 还有多…...
Neo4j优化
使用参数 查询参数 :params设置参数 :param actorName: Tom Hanks参数的冒号后要用空格使用参数用 $ MATCH (p:Person)-[:ACTED_IN]->(m:Movie) WHERE p.name $actorName RETURN m.released AS releaseDate,m.title AS title ORDER BY m.released DESC多个参数 MATCH (p:Pe…...
CF1692G 2^Sort 题解
CF1692G 2^Sort 题解题目链接字面描述题面翻译题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路代码实现题目 链接 https://www.luogu.com.cn/problem/CF1692G 字面描述 题面翻译 给你一个长度为 n(∑n<2⋅105)n \ (\sum n < 2\cdot 10^5)n (∑n<…...
关于物理像素,逻辑像素,像素比
关于物理像素、逻辑像素(css像素)、分辨率、像素比的超详细讲解 在日常生活中,有这样一个问题。同样的图片为什么在不同的设备上显示的大小是不一样的。🤒带着这个问题来说明一下。 一、物理像素 设备刚生产出来就已经固定了&a…...

JavaSE基础部分总结
JavaSe基础部分 文章目录JavaSe基础部分1.命名规范2.基本的数据类型3.方法3.1方法的基本格式3.2 方法的分类3.3 方法的注释4.数组4.1 数组的命名格式4.2 数组中存在的址交换的操作4.3数组Arrays常用的方法1. Arrays.asList(数组作为参数或者数据作为参数):2.Arrays.…...

C++基础知识
目录类和对象C static_cast、dynamic_cast、const_cast和reinterpret_cast1、为什么要引入这四种类型转化?2、应用场景。C/C类型转换的本质struct和class的区别为什么会诞生面向对象的编程思想析构函数的执行时机初始化 const 成员变量C const对象(常对象…...

2023/2/24 图数据库Neo4j的理解与应用
1 什么是图数据库(graph database) 十大应用案例:https://go.neo4j.com/rs/710-RRC-335/images/Neo4j-Top-Use-Cases-ZH.pdf “大数据”每年都在增长,但如今的企业领导者不仅需要管理更大规模的数据,还迫切需要从现有…...

适合视力障碍者的Linux
导读有哪些最适合视障用户的 Linux 发行版?让我们一起来看看。 如果有人视力障碍或失明,他们可能会依赖声音提示或其他交互方式(如盲文)来阅读和交流。 他们怎样才能使用 Linux 发行版? 嗯,一般来说&…...
Tina Linux 存储开发指南
Tina Linux 存储开发指南 1 概述 1.1 编写目的 介绍TinaLinux Flash,分区,文件系统等存储相关信息,指导方案的开发定制。 1.2 适用范围 Tina V3.0 及其后续版本。 1.3 相关人员 适用于TinaLinux 平台的客户及相关技术人员。 2 分区管…...
【洛谷 P2670】[NOIP2015 普及组] 扫雷游戏 题解(模拟)
[NOIP2015 普及组] 扫雷游戏 题目背景 NOIP2015 普及组 T2 题目描述 扫雷游戏是一款十分经典的单机小游戏。在 nnn 行 mmm 列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻…...

【nohup引发磁盘读写高】nohup命令导致服务器磁盘读写占满该如何修复?
【写在前面】自己在跑一个项目的时候,猛然发现服务器挂了,直接访问不了,呈现出一种卡死现象,我当时都懵了,难道阿里在后端升级,也不会选择在工作日的时间升级吧,于是乎就咨询了一下客服。才有下…...

MySQL(二)索引和SQL优化
MySQL进阶MySQL体系结构存储引擎存储引擎特点InnoDB逻辑存储结构MyISAMMemory存储引擎选择索引索引结构二叉树B-TreeBTreeHash索引分类索引语法SQL性能分析工具SQL执行频率慢查询日志profile详情explain索引使用联合索引索引失效情况SQL提示覆盖索引前缀索引单列索引与联合索引…...

Java常用日期类(包含三代)_Date类及Calendar类等
一.java.util.Date类概述从JDK 1.0出现。表示一个日期和时间,精确到毫秒,内部getTime()从1970年1月1号开始算。1. java.util.Date类构造部份构造已经过时,重点看以下两个构造。public Date()从运行程序的此时此刻到时间原点经历的毫秒值&…...

计算机网络你都懂了吗
文章目录一、计算机网络的定义简单定义通用定义二、计算机网络通信过程三、什么是网络协议(Protocol)四、网络协议组成及功能一、计算机网络的定义 简单定义 计算机网络是一些相互连接的、自治的计算机系统的集合。 通用定义 将处于不同位置并具有独…...

3.4 Spring Boot 日志配置
第3章 Spring Boot 的系统配置 3.1 Spring Boot 系统配置文件 3.2 Spring Boot 自定义配置项 3.3 Spring Boot 其他配置 3.4 Spring Boot 日志配置 3.5 实战:Spring Boot 实现系统多环境配置 3.4 Spring Boot 日志配置 日志对于系统监控、故障定位非常重要…...

3款百里挑一的国产软件,逆天好用,装了就舍不得卸载
推荐3款让你偷懒,让你上头的提效电脑软件,个个功能强大,让你远离加班! 很多几个小时才能做好的事情,用上它们,只需要5分钟就行!! 1、JNPF快速开发平台 JNPF 是一款精巧耐用的软件…...

Java实现在线沟通功能
文章目录1、介绍 和 特点2、整合SpringBoot2.1、导入依赖2.2、websocket 配置类2.3、消息处理类2.4、启动服务2.5、前端代码:张三2.6、前端代码:李四3、效果4、小结1、介绍 和 特点 t-io是基于JVM的网络编程框架,和netty属同类,所…...

识别密文加密类型
离线密码破解:离线不会触发密码锁定机制不会产生大量登录失败日志引起管理员注意HASH识别工具(识别哈希类型):hash-identifierHashid yara规则匹配文件得到特定加密算法一、hash-identifierKali Linux提供工具hash-identifier来识…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...

消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...

GraphRAG优化新思路-开源的ROGRAG框架
目前的如微软开源的GraphRAG的工作流程都较为复杂,难以孤立地评估各个组件的贡献,传统的检索方法在处理复杂推理任务时可能不够有效,特别是在需要理解实体间关系或多跳知识的情况下。先说结论,看完后感觉这个框架性能上不会比Grap…...