当前位置: 首页 > news >正文

【读论文】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<…...

关于物理像素,逻辑像素,像素比

关于物理像素、逻辑像素&#xff08;css像素&#xff09;、分辨率、像素比的超详细讲解 在日常生活中&#xff0c;有这样一个问题。同样的图片为什么在不同的设备上显示的大小是不一样的。&#x1f912;带着这个问题来说明一下。 一、物理像素 设备刚生产出来就已经固定了&a…...

JavaSE基础部分总结

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

C++基础知识

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

2023/2/24 图数据库Neo4j的理解与应用

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

适合视力障碍者的Linux

导读有哪些最适合视障用户的 Linux 发行版&#xff1f;让我们一起来看看。 如果有人视力障碍或失明&#xff0c;他们可能会依赖声音提示或其他交互方式&#xff08;如盲文&#xff09;来阅读和交流。 他们怎样才能使用 Linux 发行版&#xff1f; 嗯&#xff0c;一般来说&…...

Tina Linux 存储开发指南

Tina Linux 存储开发指南 1 概述 1.1 编写目的 介绍TinaLinux Flash&#xff0c;分区&#xff0c;文件系统等存储相关信息&#xff0c;指导方案的开发定制。 1.2 适用范围 Tina V3.0 及其后续版本。 1.3 相关人员 适用于TinaLinux 平台的客户及相关技术人员。 2 分区管…...

【洛谷 P2670】[NOIP2015 普及组] 扫雷游戏 题解(模拟)

[NOIP2015 普及组] 扫雷游戏 题目背景 NOIP2015 普及组 T2 题目描述 扫雷游戏是一款十分经典的单机小游戏。在 nnn 行 mmm 列的雷区中有一些格子含有地雷&#xff08;称之为地雷格&#xff09;&#xff0c;其他格子不含地雷&#xff08;称之为非地雷格&#xff09;。玩家翻…...

【nohup引发磁盘读写高】nohup命令导致服务器磁盘读写占满该如何修复?

【写在前面】自己在跑一个项目的时候&#xff0c;猛然发现服务器挂了&#xff0c;直接访问不了&#xff0c;呈现出一种卡死现象&#xff0c;我当时都懵了&#xff0c;难道阿里在后端升级&#xff0c;也不会选择在工作日的时间升级吧&#xff0c;于是乎就咨询了一下客服。才有下…...

MySQL(二)索引和SQL优化

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

Java常用日期类(包含三代)_Date类及Calendar类等

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

计算机网络你都懂了吗

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

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 实战&#xff1a;Spring Boot 实现系统多环境配置 3.4 Spring Boot 日志配置 日志对于系统监控、故障定位非常重要&#xf…...

3款百里挑一的国产软件,逆天好用,装了就舍不得卸载

推荐3款让你偷懒&#xff0c;让你上头的提效电脑软件&#xff0c;个个功能强大&#xff0c;让你远离加班&#xff01; 很多几个小时才能做好的事情&#xff0c;用上它们&#xff0c;只需要5分钟就行&#xff01;&#xff01; 1、JNPF快速开发平台 JNPF 是一款精巧耐用的软件…...

Java实现在线沟通功能

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

识别密文加密类型

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

node报错

记录bug:运行 npx -p storybook/cli sb init 时报错gyp info spawn C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exegyp info spawn args [gyp info spawn args build/binding.sln,gyp info spawn args /nologo,gyp info spawn args…...

如何使用开源 BI 工具 DataEase 实现系列数据分析呢?

当我们使用可视化分析工具制作仪表板时&#xff0c;可能需要制作的仪表板不是单个单个的可视化大屏&#xff0c;而是一系列的仪表板&#xff0c;我们需要用它来产生一个连续性的故事&#xff0c;那么这个时候我们该怎么办呢&#xff1f;例如说总分形式&#xff0c;我们需要一个…...

金仓数据库安装

一、麒麟操作系统安装金仓数据库 操作系统 DISTRIB_IDKylin DISTRIB_RELEASEV10 DISTRIB_CODENAMEjuniper 按照安装文档的步骤安装&#xff0c;记得记住设置的数据库的用户名、密码 二、window安装连接数据库的工具软件 三、jdbc连接数据库 &#xff08;1&#xff09;连接工…...

深入浅出Webpack2-快速掌握webpack基本配置

深入浅出Webpack2-快速掌握webpack基本配置1.Entry1.1 context1.2 Entry类型2.Output2.1 filename2.2 path3.Module3.1配置Loader4.Resolve4.1 alias4.2 extensions4.3 modules5.Plugin6.DevServer7.其他配置项上一篇文章我们快速上手认识了一下webpack&#xff0c;今天这篇文章…...

如何使评论具有可操作性?取悦客户的指南

永远不要低估承认的力量。 当品牌与客户互动时&#xff0c;认可会带来更好的关系和更好的沟通。与买家和客户建立更多的个人联系意味着品牌需要证明他们支持他们的产品和客户。评论是利用客户分享他们的故事的那些时刻的绝佳机会。 为什么评论在 SaaS 中至关重要 在 B2B 软件的…...

一文带你彻底搞懂Nginx反向代理

一文带你彻底搞懂Nginx反向代理一、什么是反向代理1.1 正向代理1.2 反向代理1.3 总结二、配置反向代理2.1 准备 Tomcat2.2 配置 Nginx一、什么是反向代理 1.1 正向代理 举一个通俗的例子&#xff0c;因为众所周知的原因&#xff0c;我们无法访问谷歌&#xff0c;但是因为某些…...

手写SpringBoot的starter

自定义SpringBoot的starter 引言 starter命名格式&#xff1a; 官方的 starter 的命名格式为 spring-boot-starter-{xxxx} 比如spring-boot-starter-activemq 第三方我们自己的命名格式为 {xxxx}-spring-boot-starter。比如mybatis-spring-boot-starter。 如果我们忽略这种约定…...

pytorch1.2.0+python3.6

一、说明 pytorch1.2.0python3.6CUDA10.0cudnn7.4.1.5 二、步骤 在conda中创建一个新的虚拟环境 查看一下自己的所有环境 激活虚拟环境 conda activate torch1.2.0 关于cuda和cudnn 1、查看自己电脑系统是10.2版本 http://链接&#xff1a;https://pan.baidu.com/s/1v5cN6…...

WindowsPowerShell 停止、启动、暂停和重启服务、卸载服务

PowerShell 停止、启动、暂停和重启服务、卸载服务 PowerShell 停止、启动、暂停和重启服务 官文 powershell卸载服务 官文 目录PowerShell 停止、启动、暂停和重启服务、卸载服务停止、启动、暂停和重启停止服务启动服务暂停服务重启服务卸载移除服务停止、启动、暂停、重启…...

数据库专题

请简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称&#xff0c;以及逐级之间的区别&#xff1f; 默认隔离级别 mysql repeatable-read oracle read-committed 脏读&#xff1a;不可重复读&#xff1a;幻读&#xff1a; CHAR 和 VARCHAR 的区别&#xff1f;…...