研究

背景:

​ 当前图像融合方法都是针对正常照明的红外与可见光图像设计的,无法有效处理夜景下的情况。

​ 而针对夜景下的融合可以分为以下两个步骤,1 可见光图像增强,2 可见光图像与红外图像融合。但是现存的弱光增强算法与融合算

法存在严重不兼容,简单的组合会导致一系列问题。如何建模消除两种算法的不兼容性,消除两项任务之间的差距成为当前夜间红外与可

见光图像融合的关键。

目的:

​ 在网络中耦合增强和融合两个任务,解决夜景下的图像融合问题,并且消除两个任务之间的不兼容性。

方法:

​ 基于通道注意机制和Retinex理论去处理图像增强(消除夜景的影响)。

​ 设计一种纹理-对比度增强融合的网络。

贡献:

​ 提出了一种新颖的视觉增强的红外与可见光图像融合框架,尤其在极端低光条件下。

​ 提出了场景照明解纠缠网络SIDNet(可以剥离图像中的退化的照度信息)和纹理对比度增强网络TCEFNet(增强融合特征的纹理信息和对比度信息)。

​ 设计一种颜色一致性损失来保证融合图像的视觉质量(减少融合图像中的颜色失真,并注入更多的可见光图像信息)。

​ 融合结果具有好的明亮场景和高的对比度,没有颜色失真。并且在高级视觉任务中得到好的结果。

Retinex理论

Retinex理论是一种颜色恒常性的计算理论。 作为人类视觉感知的一种模型,它假定观察到的图像可以分解为反射率和照度,表示为I=R*L,其中,反射率R和照度L分别表示原始图像的反射率和照度。 反射率描述了物体在任何亮度条件下都可以被认为是一致的固有属性。 照度取决于物体上的环境光。

由此,对于常见的图像增强策略,主要分为以下2点:

1,直接将反射分量作为增强结果

(先不论说是否能完全分解准确,反射分量往往会损失一部分信息,图像会变得非常不真实)

2,对亮度信息进行处理,再与反射分量重新组合

(为目前的主流算法,一方面,这样可以不损失图像的本质属性,而仅仅处理亮度低的部分)

Sobel算子:边缘检测(通过图像梯度进行边缘检测)

Laplacian算子:也用于边缘检测(使用二阶导数)

YCbCr颜色空间:YCbCr分别是指Y(亮度)Cb(蓝色色度)Cr(红色色度),YCbCr与RGB都是图像的颜色空间。

网络结构

​ 本文设计了SIDNet和TCEFNet去最小化上述两任务的差距。 SIDNet可以在特征级上从源图像中把照度信息剥离出来(剩余的图像本身的性质就是增强后的图片),保留有用的信息用于后续。TCEFNet可以将特征信息进行集成,并且通过增强纹理和增强对比度两方面提升照片的视觉感知。整体框架如下图。

整体流程

​ 1 红外图像与可见光图像的Y通道在通道上进行拼接作为输入,经过编码器得到输出然后混合特征被送到三个SEBlock块(基于Retinex和注意力通道机制)得到三个输出,分别是退化照度特征、增强可见特征、红外特征 (在训练阶段三个特征被送到三个解码器可得到三张图片,红外特征和增强可见特征在通道维度上进行拼接作为SIDNet的输出,

成为TCEFNet中GRM的输入。

​ 2 TCEFNet有GRM(负责纹理增强)和CEM(负责对比度增强)两个模块,SIDNet的输出作为GRM的输入,GRM包括主流、第一残差流(下面)、第二残差流(上面)三方面,主流的输入和第二残差流的输出进行逐元素相加(第一阶段纹理增强),相加结果经过一系列的卷积后与第一残差流的输出在通道维度上进行拼接(第二阶段纹理增强) 得到GRM的输出(纹理增强后的特征):

CEM使用不同的卷积核对输入进行卷积,将结果进行拼接(不同大小的图像特征可以直接在通道维度上拼接吗)得到然后通过Contrast Block (基于注意力机制的)得到权重向量并相乘得到输出经过解码器得到输出:此时的输出只是Y通道(YCbCr颜色空间中,Y表示亮度信息)的可见光图像与红外图像的融合结果(亮度较亮但缺失颜色信息),将结果与原可见光图像的Cb、Cr在通道维度上进行拼接得到初始融合图像结果(结果会出现颜色失真),然后转换到RGB颜色空间,

使用提出的颜色一致性损失函数进行调整,纠正颜色失真。

SIDNet

三个SEBlock结合Retinex理论可以从混合特征中分离出来退化照度特征、增强后的可见光特征、红外特征。在训练阶段通过解码器得到三个特征的重建图像。

TCEFNet

TCEFNet包含两个模块,GRM(梯度保留,图像纹理)、CEM(对比度增强,图像对比度)。GRM通过一个主流和两个残差流实现纹理增强。CEM通过计算得到有关对比度的权重,来实现对比度增强。

损失函数

针对SIDNet提出一种分解损失函数,前两个是红外与可见图像重建的损失函数, 他们使融合图像包含更多的互补信息。 第三个第四个分别是相互一致性损失和光照平滑度损失,指导SIDNet从混合特征生成退化照明分量。最后一个是感知损失(知觉损失),它约束增强可见特征的生成。

针对TCEFNet提出一种增强-融合损失函数, 第一个是纹理损失,旨在让融合图像获得更多的细节信息从源图像。第二个是强度损失,它约束融合图像保留红外图像中重要的目标信息。第三个是颜色一致性损失(最后将融合图像从YCbCr颜色空间转换到RGB颜色空间去处理颜色失真问题),它消除在增强和融合过程中的颜色失真。

实验

训练

实验数据集来自LLVIP数据集。并且把图片裁剪成图像块获取更多的训练数据。

训练分为两阶段,第一阶段训练SIDNet,第二阶段训练TCEFNet。

测试

使用增强后的可见图像和红外图像输入到SOTA中与我们的方法进行比较。

泛化

通过测试其它公共数据集来得到模型一般化能力。

消融

对纹理损失,颜色一致性损失,梯度保留模块,对比度增强模块,SIDNet进行消融实验。

扩展

使用本文的DIVFusion应用到高级视觉任务上(行人检测),通过定性、定量的分析,发现本文的方法产生比较好的促进作用。将红外图像、可见光图像、(SOTA+包括我们的方法)融合图像分别送到YOLO5图像检测方法中去进行行人检测任务,可以发现我们的方法达到了最好的效果,因此说明我们提出的融合模型有利于进行高级计算机视觉任务

结论

​ 本文提出了一种基于视觉增强的夜间红外与可见光图像融合算法,实现了图像融合与图像增强的耦合互利。具体来说,SIDNet 旨在将退化光照特征与混合特征分离,避免源图像的重要信息丢失。然后,我们使用包含两个特殊模块的 TCEFNet 在融合过程中获得对比度增强和纹理保留。考虑到增强和融合任务不兼容导致的颜色失真,我们设计了一个颜色一致性损失来调整融合图像的颜色分布。与最先进方法的定性和定量比较验证了我们方法的优越性,包括视觉感知、场景亮度和互补信息集成。还进行了两阶段融合实验,以说明我们的方法有效地帮助减轻了融合和增强任务之间的不兼容性。此外,行人检测实验证明了我们的 DIVFusion 在高级计算机视觉任务中的潜力。

​ 我们的方法以及其他方法的局限性在于解决暴露降解的能力较差。我们提供了一个典型的例子来直观地说明这一点,如图13所示。尽管所有融合方法都无法消除前灯区域的过度曝光效果,但与其他算法相比,我们的方法在其他区域提供了更自然的视觉感知。一种可能的解决方案是通过高斯分布对点光源进行建模,并设计分解网络以从可见图像中剥离过曝光图。由于在过度曝光区域的可见图像中缺乏有效信息,因此我们将在融合过程中整合更多信息以从红外图像中修复过度曝光区域。将来,我们将进一步设计一个照度调整模块,以解决红外和可见光图像融合任务中的弱光和过度曝光退化问题。

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

DIVFusion_ Darkness-free infrared and visible image fusion 论文解读的更多相关文章

  1. RFN-Nest_ An end-to-end residual fusion network for infrared and visible images 论文解读

    RFN-Nest 2021 研究 图像融合分为三步:特征提取,融合策略,图像重建. 当前端到端的图像融合方法:基于GAN的.还有本文提出的 研究背景:当前设计的融合策略在为特定任务生成融合图像方面是比 ...

  2. 论文解读(DFCN)《Deep Fusion Clustering Network》

    Paper information Titile:Deep Fusion Clustering Network Authors:Wenxuan Tu, Sihang Zhou, Xinwang Liu ...

  3. Paper Read: Robust Deep Multi-modal Learning Based on Gated Information Fusion Network

    Robust Deep Multi-modal Learning Based on Gated Information Fusion Network 2018-07-27 14:25:26 Paper ...

  4. 如何在Python中加速信号处理

    如何在Python中加速信号处理 This post is the eighth installment of the series of articles on the RAPIDS ecosyst ...

  5. 卷积神经网络之VGG网络模型学习

    VGG:VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 牛津大学 visual geometry group(VG ...

  6. SENet(Squeeze-and-Excitation Networks)算法笔记---通过学习的方式来自动获取到每个特征通道的重要程度,然后依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征

    Momenta详解ImageNet 2017夺冠架构SENet 转自机器之心专栏 作者:胡杰 本届 CVPR 2017大会上出现了很多值得关注的精彩论文,国内自动驾驶创业公司 Momenta 联合机器 ...

  7. CVPR 2020 全部论文 分类汇总和打包下载

    CVPR 2020 共收录 1470篇文章,根据当前的公布情况,人工智能学社整理了以下约100篇,分享给读者. 代码开源情况:详见每篇注释,当前共15篇开源.(持续更新中,可关注了解). 算法主要领域 ...

  8. CVPR 2020论文收藏(转知乎:https://zhuanlan.zhihu.com/p/112337176)

    CVPR 2020 共收录 1470篇文章,根据当前的公布情况,人工智能学社整理了以下约100篇,分享给读者. 代码开源情况:详见每篇注释,当前共15篇开源.(持续更新中,可关注了解). 算法主要领域 ...

  9. CVPR2020行人重识别算法论文解读

    CVPR2020行人重识别算法论文解读 Cross-modalityPersonre-identificationwithShared-SpecificFeatureTransfer 具有特定共享特征变换 ...

  10. CVPR2020论文解读:三维语义分割3D Semantic Segmentation

    CVPR2020论文解读:三维语义分割3D Semantic Segmentation xMUDA: Cross-Modal Unsupervised Domain Adaptation  for 3 ...

随机推荐

  1. SPFA和链式前向星

    链式前向星 一种存储图的数据结构 建立一个结构体和一个数组加一个变量,这里的to代表边\((u,v)\)中的\(v\)结点,而\(edge\)数组的索引\(idx\)代表\(u\),其中\(w\)代表 ...

  2. 错误“AxImp.exe”已退出,代码为 -1163019603

    最近调试项目时突然出现错误"AxImp.exe"已退出,代码为 -1163019603 发现引用中的组件出现了一个感叹号 经过核对是锐浪报表的组件出现了问题,尝试打开报表设计器也无 ...

  3. Java开发学习(四十四)----MyBatisPlus查询语句之查询条件

    1.查询条件 前面我们只使用了lt()和gt(),除了这两个方法外,MybatisPlus还封装了很多条件对应的方法. MybatisPlus的查询条件有很多: 范围匹配(> . = .betw ...

  4. 【每日一题】【回溯backtrace】N皇后

    n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案. 每一种解法包含一个不同的 n 皇后问 ...

  5. SpringBoot 自动装配的原理分析

    关于 SpringBoot 的自动装配功能,相信是每一个 Java 程序员天天都会用到的一个功能,但是它究竟是如何实现的呢?今天阿粉来带大家看一下. 自动装配案例 首先我们通过一个案例来看一下自动装配 ...

  6. Jmeter 之在linux中监控Memory、CPU、I/O资源等操作方法

    在做性能测试时,单纯的只看响应时间.错误率.中间值远远不够的,有时需要监控服务cpu.内存等指标来判断影响性能的瓶颈在哪. 操作步骤: 一.Linux下配置jmeter环境 1.在linux环境下安装 ...

  7. WCF 服务容器化的一些问题

    背景 目前项目当中存有 .NET Framework 和 .NET Core 两种类型的项目,但是都需要进行容器化将其分别部署在 Windows 集群和 Linux 集群当中.在 WCF 进行容器化的 ...

  8. [编程基础] C++多线程入门7-条件变量介绍

    原始C++标准仅支持单线程编程.新的C++标准(称为C++11或C++0x)于2011年发布.在C++11中,引入了新的线程库.因此运行本文程序需要C++至少符合C++11标准. 文章目录 7 条件变 ...

  9. .NET6使用NLog向文件、数据库写数据

    1.Nuget 引入 NLog NLog.Web.AspNetCore NLog.Database(写入数据库使用) 2.创建nlog.config 注意数据库连接字符串需要配置TrustServer ...

  10. 07.synchronized都问啥?

    大家好,我是王有志.关注王有志,一起聊技术,聊游戏,从北漂生活谈到国际风云.最近搞了个抽奖送书的活动,欢迎点击链接参与. 如果Java面试有什么是必问的,synchronized必定占据一席之地.初出 ...