【读论文】DIVFusion: Darkness-free infrared and visible image fusion

news2025/1/19 23:28:07

【读论文】DIVFusion: Darkness-free infrared and visible image fusion

  • 介绍
  • 网络结构
    • SIDNet
      • 损失函数
    • TCEFNet
      • GRM(梯度保持模块)
      • CEM(对比度增强模块)
      • 损失函数
  • 总结
  • 参考

论文:https://www.sciencedirect.com/science/article/abs/pii/S156625352200210X

如有侵权请联系博主

介绍

博主之前读过的论文中几乎都没有谈到怎么提高夜视图照明强度的问题,这篇论文则是在这个方向也做了工作。

先看下文章中提到的之前融合算法未考虑的内容

在低光照条件下,先前的融合方法仅使用红外信息来填充由可见图像的照明退化导致的场景缺陷。结果,夜间可见光图像中丰富的场景信息无法在融合图像中表达,这偏离了红外和可见光图像融合任务的初衷。第二,直观的解决方案是使用先进的低光增强算法预增强可见图像,然后通过融合方法合并源图像。然而,将图像增强和图像融合视为单独的任务通常会导致不兼容的问题,这导致如图所示的较差的融合结果。具体来说,由于夜景光线较弱,夜间可见图像有轻微的颜色失真。低光增强算法改变了光源的颜色分布,并在某种程度上进一步放大了整个图像中的颜色失真。此外,在融合过程中,由于Y通道中应用的融合策略改变了源图像中的饱和度分布,融合图像中也会出现颜色失真。

针对以上问题,文章提出的算法包含两个部分,第一部分是场景照明解纠缠网络(SIDNet),第二部分是纹理对比度增强融合网络(TCEFNet)。简单来说,第一部分用于生成照明效果提升的特征,第二部分则是使得融合结果有更好的对比度和纹理信息,接下来一步步介绍这些内容。

网络结构

在这里插入图片描述
先来个整体的网络架构,不要被吓到,咱们慢慢往下看,现在看着很复杂,其实并没有那么复杂。

SIDNet

在这里插入图片描述
SIDNet网络相对来说比较简单,可以说由三部分组成,分别是编码器,注意力块和解码器。

这里编码器(Encoder)有四层网络,每一层网络都采用LRelu激活函数,每一层的卷积核数都是3x3

注意力块(SEBlock)由一个最大池化层,两个全连接层组成,最后一个全连接层输出一个向量,与原来解码器输出的结果进行相乘,从而实现注意力的效果。

三个解码器(Dl,Dvi,Dir)分别对前面提取的特征进行解码,还原成对应的图像。这里注意,当使用模型融合图像时,是不需要再生成重建的图像的,这里的解码器只是在训练的时候迫使SIDNet可以生成更好的特征。

损失函数

在这里插入图片描述
上面是整体的损失函数,看着挺复杂的,其实还真挺复杂的
在这里插入图片描述
虽复杂,该读咱还得接着读,继续往下搞。
在这里插入图片描述
先看下前两项的损失函数,分别是可视图像和红外图像重建损失函数。这俩还相对好理解点,你可以发现,就是直接求生成的红外图像和生成的只有Y通道的可视图像与原图像的差异,使用这个损失从而迫使SIDNet恢复原图像,和生成更好的特征。

读到这里,细心的你有没有发现个问题,这个增强后的Y通道可视图像信息哪来的?是那个输出的增强图像吗?如果是的话,那我在这个网络里是要干啥来着,不是增强可视的亮度信息,怎么最后重构的图像还要和原图进行比较,那我增强亮度还有啥意义????
在这里插入图片描述
如果你也发现这个小问题,别着急,咱么接着往下看,原来下面还有个公式,是将增强亮度的图像还原到原图,这样就可以理解了,公式如下
在这里插入图片描述
这样我们就理解了,为啥还需要再计算一个照明分量了。

那么怎么约束这个照明分量呢,公式如下,这里博主不是很理解,后面再来添加我的理解,具体可参考原文。
在这里插入图片描述
最后就是关于增强可视图像的生成了,怎么可以保证生成图像是增强亮度之后的结果呢,这里是使用直方图均衡增强后的图像作为对比,从而使得可以生成增强的可视图像。
在这里插入图片描述
看到这,你是不是又有疑惑了,咋着,我为啥不直接用直方图均衡化生成目标图像呢,非要用神经网络生成的目标图像的特征去和均衡化后的图像的图标进行比对?

那么答案是什么呢,庆幸的是,作者在前面告诉我们了,再引用一下子

直观的解决方案是使用先进的低光增强算法预增强可见图像,然后通过融合方法合并源图像。然而,将图像增强和图像融合视为单独的任务通常会导致不兼容的问题,这导致如图所示的较差的融合结果。具体来说,由于夜景光线较弱,夜间可见图像有轻微的颜色失真。低光增强算法改变了光源的颜色分布,并在某种程度上进一步放大了整个图像中的颜色失真。此外,在融合过程中,由于Y通道中应用的融合策略改变了源图像中的饱和度分布,融合图像中也会出现颜色失真。

到此SIDNet所有的损失函数都介绍完毕了。

TCEFNet

GRM(梯度保持模块)

首先先清除该部分的功能,即保持梯度。
在这里插入图片描述

这里从上往下看,最上面的一条通路中,第一个块是sobel算子操作,为了保留强纹理信息,然后在进行卷积核为1的卷积操作,然后得到输出(这里做卷积核为1的原因是什么,不是很清楚,原文中解释说是消除通道维度的差异,不是很理解)。

再往下看,从上向下第二个通路,只有一个块,是拉普拉斯算子操作,目的是为了保留弱纹理信息,然后再与输入的ϕs(SIDNet的输出)进行相加操作,然后再经历一系列的卷积和激活,最终得到的结果与上一个通道的结果进行通道级别的相连作为最后的输出ϕg。

CEM(对比度增强模块)

该模块用于对比度的增强。

下图红色框中的是CEM的网络结构
在这里插入图片描述

在这里插入图片描述
CEM的结构结合这两个图来理解比较简单一下。

看论文中的过程中,关于这部分的介绍提到了多尺度的问题,但是单看第二张图可能很难理解,因此我觉得第一张图和第二张图结合起来比较好理解。

可见,第一张图红框中的右边有四个卷积层,四个卷积层的卷积核分别是1×1、3×3、5×5、7×7。使用这四个不同大小的卷积核从而达到多尺度的目的。多尺度信息连接之后形成ϕm,随后ϕm被输入到Contrast Block中,Contrast Block的结构如第二张图所示。可见该结构也是实现了注意力机制,首先对ϕm进行处理,处理公式如下

在这里插入图片描述
这里r是窗口的半径,μ是该窗口内数据的均值,σ是该窗口内数据的标准差。

按我个人的理解,这里的标准差代表窗口数据的差异性,差异性越大,标准差就会越大,反映到后面的注意力块的话,即标准差整体越大的通道,最终与之的权重就越大,从而达到了增强对比度的作用。

损失函数

在这里插入图片描述
从左至右,分别是纹理损失,强度损失和颜色一致性损失,a1到a3分别是超参数,协调这三个损失的参数。
在这里插入图片描述
先来看下纹理损失函数的定义,设计的蛮妙的,和其他论文不同的是,这里不再只将融合图像和可视图像梯度进行对比,而是与两类图像中梯度较大的进行比较,从而保留高频信息,使得融合图像的纹理保留的更加丰富。
在这里插入图片描述
该损失函数使得融合图像拥有更多的红外目标信息,即通过融合图像和红外图像之间像素的差异来促进保留更多的红外目标信息。
在这里插入图片描述
最后就是减少颜色失真的损失函数,这里采用离散余弦距离来约束融合图像的颜色分布,从而使得融合图像的颜色分布尽可能接近原始图像。

总结

整个论文读下来,很惊艳,这里说说我觉得很好的几个点

  • 在博主读过的论文中,这是第一个对图像亮度进行增强的文章
  • 将sobel算子,拉普拉斯算子运用到融合中,与神经网络相结合,从而保留图像的纹理细节
  • 融合时采用Y通道与红外图像进行融合,与DDcGAN中提到的对MRI图像和PET图像融合有异曲同工之妙
  • 采用多尺度特征+SE实现对比度增强
  • 纹理信息的损失函数考虑到了红外图像目标信息,保留更多的高频部分,纹理细节更加丰富了

论文读的有点糙,欢迎大佬们指正
在这里插入图片描述

其他融合图像论文解读
【读论文】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] DIVFusion: Darkness-free infrared and visible image fusion

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IPv6与VoIP——ipv6接口标识与VoIP概述

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.ipv6接口标识符 1.IPv6接口标识符有以下几种 基于EUI-64地址…

[附源码]java毕业设计校园一卡通管理信息系统台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Go:交互式提示工具go-prompt简介

文章目录简介一、代码示例二、使用go-prompt的项目三、特性1. 强大的自动完成2. 灵活的功能选项3. 快捷键4. 历史记录5. 跨平台支持小结简介 受python提示工具包的启发,在Go中构建强大的交互式提示 一、代码示例 package mainimport ("fmt""githu…

Oracle在Logstash需求中碰到的问题处理方式

Oracle对空值(NULL)的5种处理 在公司Logstash相关需求中,为了方便sql语句更加简洁,所以需要使用到Oracle中的视图,在视图创建过程中,遇到有关对Null值的处理,这里做一个整理,方便日后查询 COALESCE函数 COALESCE(expr1,expr2,expr3&#x…

【python】PyQt5的环境搭建和使用

什么是pyQT pyqt是一个用于创建GUI应用程序的跨平台工具包,它将python与qt库融为一体。也就是说,pyqt允许使用python语言调用qt库中的API。这样做的最大好处就是在保存了qt高运行效率的同时,大大提高开发效率。因为,使用python语…

【Spring Cloud实战】SpringCloud Sleuth分布式请求链路跟踪

gitee地址:https://gitee.com/javaxiaobear/spring-cloud_study.git 在线阅读地址:https://javaxiaobear.gitee.io/ 1、概述 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果&…

HTML5期末大作业 HTML+CSS+JavaScript美食坊美食购物主题(15页)

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

数据上云,如何解除用户对厂商监守自盗的担忧?

企业数字化转型中,安全从来都是企业用户最为关心和敏感的问题之一。对于数据上云,很多企业持保留态度。作为数字化转型服务商,如何解除用户对厂商监守自盗的担忧? 1.敏感的数据安全与用户的普遍认识 企业用户普遍对数据安全是极其…

湖北绝缘监测仪矿业煤炭石油金矿玉矿铁矿铜矿矿井钢厂

安科瑞 华楠 自第一次工业革命开始,人类社会进入工业时代。随着工业科技的发展,漏电流对工业生产安全构成了很大的威胁。为了提高供电的连续性、可靠性和安全性,许多重要生产场所也采用了IT配电系统(不接地供电系统)。…

使用CyberController来将旧手机改造成电脑外挂------手机交互翻译、人脸解锁、语音识别....各个功能等你来探索

文章目录前言操作PC端安装Python环境调试代码设置开机启动HMS Core API申请注册账号创建应用填写基本信息填写应用信息软件图标应用的截图应用分类API信息设置添加对应的包名勾选机器学习服务复制API信息将JSON信息保存下来安卓端安装开发工具修改源码克隆项目打开项目修改包名…

水滴邮件营销:让企业营销更简单

企业在利用邮件开发客户、推广产品的时候,最终目的是想产生转化,获得收益。邮件营销有他得天独厚的优势,它为买卖双方提供了一个交流平台,并且只要收件人同意,企业就可以长期对其进行个性化营销。这为企业积累长期忠实…

缘来交友网站的设计与实现(源码+数据库+论文+开题报告+说明文档)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

DDANet: Dual Decoder Attention Network for Automatic Polyp Segmentation

双decoder用于息肉分割。文章的创新点在与使用了双分支的decoder,单encoder的结构。decoder的第二个分支会产生注意力map,在代码中体现为输出通道为1。这个和之前看的confidence map很像。 看一下文章的结构图: 在decoder中,第二…

小米手机买什么蓝牙耳机好?适配小米手机的蓝牙耳机推荐

作为一位音乐爱好者,拥有一款好的耳机是非常重要的。无线蓝牙耳机的出现就为喜欢听音乐的伙伴们提供了一个很好的选择,既不会有耳朵的胀痛,也不会影响享受音乐的体验,小米手机近几年也是深受大众欢迎,因此,…

【数据结构Note5】-二叉排序树 BST和平衡二叉树AVL

二叉排序树BST 二叉排序树&#xff0c;又称二叉查找树&#xff08;BST&#xff0c;Binary Search Tree&#xff09; 二叉排序树是左子树节点值<根节点值<右子树节点值的二叉树 所以对二叉排序树进行中序遍历会得到一个递增的序列&#xff08;左子树-根-右子树&#xff09…

nginx实战

目录反向代理去掉前缀场景1&#xff1a;去掉一层前缀场景2&#xff1a;去掉两层前缀返回固定json增加后缀映射情况一情况二情况三情况四正向代理负载均衡正则匹配~ /item/(\d)反向代理 通过Nginx我们可以实现反向代理&#xff0c;这也是我在项目中使用到的一个功能&#xff0c…

20221122非累加的m3u8的ts切片列表的补全步骤

20221122非累加的m3u8的ts切片列表的补全步骤 2022/11/22 19:07 https://apppy87xs3b3950.h5.xiaoeknow.com/v2/course/alive/l_6374b6d0e4b0edc794f61031?type2&app_idapppy87xs3b3950&availabletrue&share_user_idu_61333670aabd8_rizBVXTg2F&share_type5&a…

从零开始的图像语义分割:FCN快速复现教程(Pytorch+CityScapes数据集)

从零开始的图像语义分割&#xff1a;FCN复现教程&#xff08;PytorchCityScapes数据集&#xff09;前言一、图像分割开山之作FCN二、代码及数据集获取1.源项目代码2.CityScapes数据集三、代码复现1.数据预处理2.代码修改3.运行结果总结参考网站前言 摆了两周&#xff0c;突然觉…

【第五部分 | JS WebAPI】6:PC端网页特效与本地存储

目录 | 概述 | PC端网页特效之三大系列 1-1 elementObj . offsetXXX 属性 1-2 elementObj . style 和 offset 的区别 1-3 案例&#xff1a;获取鼠标在某个盒子内的位置 2-1 elementObj . clientXXX 属性 3-1 elementObj . scrollXXX 属性 三大系列总结 | 动画函数封装 …

LeetCode1005. K 次取反后最大化的数组和

1 题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数组 可能的最大和 。 示例 1&a…