Rethinking the Image Fusion(PMGI)

1.摘要

本文提出了一种基于梯度和强度比例维护(PMGI)的快速统一图像融合网络,可以端到端实现各种图像融合任务,包括红外和可见图像融合、多曝光图像融合、医学图像融合、多焦点图像融合和全色增强。我们将图像融合问题统一为源图像的纹理和强度比例维护问题。一方面,网络被分为梯度路径强度路径进行信息提取。我们在同一路径中进行特征重用,以避免由于卷积导致的信息丢失。同时,我们引入路径传输块在不同路径之间交换信息,它不仅可以预先融合梯度信息和强度信息,而且还可以增强后续要处理的信息。另一方面,我们根据这两种信息定义了一种统一的损失函数形式,可以适应不同的融合任务。在公开可用的数据集上的实验表明,我们的 PMGI 在各种融合任务中的视觉效果和定量指标上均优于现有技术水平。此外,我们的方法比现有技术更快。

2.引言

图像融合旨在从不同传感器获取的图像中提取最有意义的信息,并将信息合并生成一个单一的图像,该图像包含更丰富的信息,更有利于后续应用。常见的图像融合包括红外和可见图像融合、多曝光图像融合、多焦距图像融合、医学图像融合和遥感图像融合(也称为全色增强)。它们被用于目标检测、高清晰度电视、医学诊断等领域(Ma、Ma和Li 2019;Ma等2017;Xing等2018)。

现有的图像融合方法虽然在相应的融合任务中可以取得良好的结果,但仍有几个方面需要改进。首先,现有的方法通常需要手动设计活动级别测量和融合规则。考虑到源图像的多样性,这将变得越来越复杂。其次,大多数方法仅适用于特定的融合任务,而不能通用。从图像融合的本质出发设计一种通用方法是非常重要的。第三,由于计算复杂度和大量参数数量,现有的融合方法在时间上往往不太具有竞争力。

为了解决这些挑战,我们提出了一种基于梯度和强度比例维护(PMGI)的快速统一图像融合网络,可以高效地端到端实现各种类型的图像融合任务。首先,PMGI是一个端到端模型,源图像为输入,融合图像为输出,中间没有任何手动干预。其次,我们将融合问题转化为梯度和强度信息的维护。强度信息使融合图像具有与源图像类似的直方图分布,而梯度信息则提供更精细的纹理细节。因此,我们为多图像融合任务定义了统一的形式的损失函数。为了使网络适应不同的图像融合任务,我们可以通过调整每个损失项的权重,选择更有效和有趣的信息以在融合结果中保留。最后,我们将网络分为梯度路径强度路径,分别提取源图像中对应的信息。为了最小化卷积引起的信息损失,同一提取路径中每层的特征被重复使用。我们还介绍了两个路径之间的路径传递模块。一方面,它可以预先融合梯度和强度信息。另一方面,它可以增强后续处理的信息。值得注意的是,由于使用了1×1卷积核并控制了特征通道数量,我们网络中的参数数量限制在一定范围内。因此,我们的方法可以以较高的速度实现融合。

我们的工作贡献包括以下三个方面:

  • 我们提出了一种新的端到端图像融合网络,可以统一实现各种图像融合任务。提出的PMGI可以很好地融合红外和可见图像、多曝光图像、医学图像、多焦距图像和遥感图像。

  • 我们设计了一个特定的损失函数,适用于几乎所有的图像融合任务,并可以通过调整每个损失项的权重来达到预期的结果。

  • 我们的方法可以在多个融合任务中以更高的效率执行图像融合。代码可在以下网址获得:https://github.com/HaoZhang1018/PMGI ↗ AAAI2020。

3.方法

图像融合的本质是将源图像中最重要的信息结合起来,生成一个具有更丰富信息和更好视觉效果的单张图像。在不同的图像融合任务中,源图像的属性存在很大的差异,因此不适合采用相同的处理方式。然而,在大多数情况下,两种类型的源图像之间存在一种潜在的关联性,因为它们都描述着同一场景,源图像中包含了互补的信息。因此,我们尝试通过合理的网络架构和损失函数设计来以统一的方式解决不同种类的融合任务。

由于图像最基本的元素是像素,像素的强度可以表示图像的直方图分布,像素之间的差异构成了梯度,可以表示图像的纹理细节。因此,我们从这两方面的信息来描述整个图像:梯度和像素强度。这体现在网络架构和损失函数中。

我们将网络分为两个信息提取路径:梯度路径和强度路径。对于梯度路径,它负责提取纹理信息,即高频特征。同样地,对于强度路径,它负责提取强度信息。由于需要同时从两种类型的源图像中提取和保留梯度信息和强度信息,因此每个信息提取路径的输入由沿通道维度连接的不同源图像组成,以保留潜在相关性。我们将这两个源图像的连接比例设为β。此外,我们还进行特征重用和信息交换操作。

首先,信息在卷积过程中的损失是不可避免的。特征重用可以在一定程度上减少信息损失并增加特征利用率。不同类型的信息之间的交换可以预先融合梯度和强度信息,并且也是下一次提取之前信息的增强。

除了上述的通用网络结构,我们还根据图像的性质设计了一种形式统一的损失函数。我们将图像融合问题转化为梯度和像素强度信息的比例维护问题。我们的损失函数由两种类型的损失项组成:梯度损失和强度损失。它们都是为两种源图像构建的。分别来说,强度约束可以提供粗略的像素分布,而梯度约束可以增强纹理细节。它们的联合约束可以实现合理的像素强度分布和丰富的纹理细节。由于融合图像不能保留源图像的所有信息,我们必须在强度分布和纹理细节之间进行权衡,以保留更重要的梯度和强度信息。因此,我们可以调整每个损失项的权重,以改变各种类型信息的比例,使其适应不同的图像融合任务。

3.1 Network Architecture

提出的PMGI是一个非常快速的卷积神经网络。如图1所示,我们将网络分为梯度路径和强度路径,以进行相应的信息提取。梯度和强度信息通过路径传输块进行通信。值得注意的是,在多次尝试之后,输入中两个源图像的连接比例β被确定为1:2。

在两个路径中,我们使用四个卷积层进行特征提取。参考DenseNet的思想,在同一路径中进行密集连接以实现特征重用。此外,路径传输块用于在这两个路径之间传递信息,因此第三和第四个卷积层的输入不仅取决于所有先前卷积层的输出,还取决于另一个路径中卷积层的输出。第一层使用5×5的卷积核,后三层使用3×3的卷积核,并结合批归一化和Leaky ReLU激活函数。路径传输块的结构也显示在图1右下角。它使用1×1的卷积核,结合批归一化和Leaky ReLU激活函数。

然后,我们使用连接和卷积的策略来融合从两个路径提取的特征。我们沿通道连接两个特征映射。值得注意的是,这里仍然使用特征重用的思想。涉及连接的八个特征映射来自两个路径的总共八个卷积层。最后一个卷积层的卷积核大小为1×1,激活函数为tanh。在所有卷积层中,填充设置为SAME,步幅设置为1。因此,这些卷积层都不改变特征映射的大小。

3.2 损失函数

损失函数决定了提取的信息类型和不同类型信息之间的比例关系。我们网络的损失函数由两种类型的损失项组成,即强度损失梯度损失。强度损失用于约束融合图像保持与源图像类似的强度分布,而梯度损失则强制融合图像包含丰富的纹理细节。需要注意的是,我们为每个源图像构造这两种类型的损失项。因此,损失函数包含四个项,表示为:

L P M G I = λ A i n t L A i n t + λ A g r a d L A g r a d + λ B i n t L B i n t + λ B g r a d L B g r a d ( 1 ) L_{PMGI} = \lambda_{Aint} L_{Aint} + \lambda_{Agrad} L_{Agrad} + \lambda_{Bint} L_{Bint} + \lambda_{Bgrad} L_{Bgrad} \qquad (1) LPMGI=λAintLAint+λAgradLAgrad+λBintLBint+λBgradLBgrad(1)

其中 A A A B B B分别是两个源图像, L i n t L_{int} Lint表示一个源图像的强度损失项, L g r a d L_{grad} Lgrad表示相应的梯度约束项, λ \lambda λ是每个损失项的权重。

强度损失定义为:

L A i n t = 1 H W ∥ I f u s e d − I A ∥ 2 2 , L B i n t = 1 H W ∥ I f u s e d − I B ∥ 2 2 ( 2 ) L_{Aint} = \frac{1}{HW} \left\lVert I_{fused} - I_A \right\rVert_2^2, \qquad L_{Bint} = \frac{1}{HW} \left\lVert I_{fused} - I_B \right\rVert_2^2 \qquad (2) LAint=HW1IfusedIA22,LBint=HW1IfusedIB22(2)

其中 I f u s e d I_{fused} Ifused是由PMGI生成的融合图像, I A I_A IA I B I_B IB是两个源图像, H H H W W W分别是图像的高度和宽度。

同样地,用 ∇ \nabla 表示梯度操作符,梯度损失的定义如下:

L A g r a d = 1 H W ∥ ∇ I f u s e d − ∇ I A ∥ 2 2 , L B g r a d = 1 H W ∥ ∇ I f u s e d − ∇ I B ∥ 2 2 ( 3 ) L_{Agrad} = \frac{1}{HW} \left\lVert \nabla I_{fused} - \nabla I_A \right\rVert_2^2, \qquad L_{Bgrad} = \frac{1}{HW} \left\lVert \nabla I_{fused} - \nabla I_B \right\rVert_2^2 \qquad (3) LAgrad=HW1IfusedIA22,LBgrad=HW1IfusedIB22(3)

需要注意的是,公式(1)中的 λ \lambda λ可以调整,以改变融合图像中不同类型信息的比例,以适应不同的任务。具体任务对应的参数设置规则如下所述。

对于红外和可见光图像融合,我们希望可见光图像的梯度信息和红外图像的强度信息主要保留在融合结果中,而可见光图像的强度信息和红外图像的梯度信息次要。因此,参数 λ \lambda λ应满足以下设置规则:

λ i r i n t > λ v i s i n t , λ i r g r a d < λ v i s g r a d ( 4 ) \lambda_{irint} > \lambda_{visint}, \qquad \lambda_{irgrad} < \lambda_{visgrad} \qquad (4) λirint>λvisint,λirgrad<λvisgrad(4)

对于多曝光图像融合,过曝光和欠曝光图像都包含相等的纹理细节,但它们的强度太强或太弱。因此,我们设置相同的权重来平衡它们,以获得适当的强度和丰富的纹理细节,可以形式化为:

λ o v e r i n t = λ u n d e r i n t , λ o v e r g r a d = λ u n d e r g r a d ( 5 ) \lambda_{overint} = \lambda_{underint}, \qquad \lambda_{overgrad} = \lambda_{undergrad} \qquad (5) λoverint=λunderint,λovergrad=λundergrad(5)

对于多焦点图像融合,两个源图像的两种信息(梯度和强度)同等重要。这是因为我们希望同时保留两个源图像的强度和纹理信息,而另一个源图像中的聚焦(清晰)区域可以补充失焦(模糊)区域。因此,也需要设置相应的参数保持一致:

λ f o c u s 1 i n t = λ f o c u s 2 i n t , λ f o c u s 1 g r a d = λ f o c u s 2 g r a d ( 6 ) \lambda_{focus1int} = \lambda_{focus2int}, \qquad \lambda_{focus1grad} = \lambda_{focus2grad} \qquad (6) λfocus1int=λfocus2int,λfocus1grad=λfocus2grad(6)

类似地,对于医学图像融合,结构性医学图像反映了器官的纹理信息,而功能性医学图像则表示功能信息,例如代谢强度。我们以MRI和PET图像作为结构图像和功能图像的示例,从MRI图像获取主要纹理信息,从PET图像获取主要强度信息。但是,考虑到PET图像的I分量的像素强度远高于MRI,如果主要约束PET图像的像素强度,则融合图像的过度强度会掩盖纹理。因此,为了平衡纹理和强度,我们使PET和MRI的像素强度受到相同的约束。因此, λ \lambda λ应设置为:

λ P E T i n t = λ M R I i n t , λ P E T g r a d < λ M R I g r a d ( 7 ) \lambda_{PETint} = \lambda_{MRIint}, \qquad \lambda_{PETgrad} < \lambda_{MRIgrad} \qquad (7) λPETint=λMRIint,λPETgrad<λMRIgrad(7)

最后,对于全色增强,全色图像具有高空间分辨率(丰富的纹理细节),而多光谱图像包含丰富的色彩信息。目的是在保持光谱不失真的同时提高清晰度。因此,我们只约束全色图像的纹理信息,而不约束强度,以避免光谱失真,可以形式化为:

λ P A N i n t = 0 , λ P A N g r a d > λ M S g r a d ( 8 ) \lambda_{PANint} = 0, \qquad \lambda_{PANgrad} > \lambda_{MSgrad} \qquad (8) λPANint=0,λPANgrad>λMSgrad(8)

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

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

相关文章

保姆级系列教程-玩转Fiddler抓包教程(1)-HTTP和HTTPS基础知识

1.简介 有的小伙伴或者童鞋们可能会好奇地问&#xff0c;不是讲解和分享抓包工具了怎么这里开始讲解HTTP和HTTPS协议了。这是因为你对HTTP协议越了解&#xff0c;你就能越掌握Fiddler的使用方法&#xff0c;反过来你越使用Fiddler&#xff0c;就越能帮助你了解HTTP协议。 Fid…

Java | 继承、多态、抽象类与接口

目录 一、类的继承 二、Object类 2.1 getClass()方法 2.2 toString()方法 2.3 equals()方法 三 、对象类型的转换 3.1 向上转换 3.2 向下转型 四、使用instanceof关键字判断对象类型 五、方法的重载 六、final关键字 6.1 final变量 6.2 final方法 6.3 final类 七…

【多模态】19、RegionCLIP | 基于 Region 来实现视觉语言模型预训练

文章目录 一、背景二、方法2.1 Region-based Language-Image Pretraining2.2 目标检测的迁移学习 三、效果3.1 数据集3.2 实现细节3.3 结果 论文&#xff1a; RegionCLIP: Region-based Language-Image Pretraining 代码&#xff1a;https://github.com/microsoft/RegionCLIP …

了解Unity编辑器之组件篇Playables和Rendering(十)

Playables 一、Playable Director&#xff1a;是一种用于控制和管理剧情、动画和音频的工具。它作为一个中央控制器&#xff0c;可以管理播放动画剧情、视频剧情和音频剧情&#xff0c;以及它们之间的时间、顺序和交互。 Playable Director组件具有以下作用&#xff1a; 剧情控…

Vue中使用echarts

1 安装 npm install -g cnpm --registryhttps://registry.npm.taobao.org cnpm install echarts -S 2 main.js引入 3 引入成功

探索Java API学习路线:从基础到高级的全面指南

文章目录 第一阶段&#xff1a;入门基础1. 环境准备2. 学习Java基础 第二阶段&#xff1a;熟悉常用的Java API1. Java标准库2. Java API文档 第三阶段&#xff1a;深入学习特定领域的Java API1. Java GUI API2. Java数据库连接&#xff08;JDBC&#xff09;API3. Java多线程API…

【蓝图】p44简单解密机关

p44简单解密机关 p44简单解密机关文字提示开门文字提示开灯For Each Loop和For Each Loop With Break区别For Each LoopFor Each Loop With Break小操作&#xff1a;改变走线Execute Console Command(执行控制台命令) p44简单解密机关 文字提示开门 创建Actor蓝图类&#xff…

Python及PyCharm安装教程

1.Python安装教程 python官网下载windows64位python installer&#xff1b; 这里选择windows installer(64-bit) 打开下载完成的installer文件 记得勾选上Add python.exe to PATH&#xff0c;再点击Install Now&#xff1b; &#xff08;如果想要更改安装位置&#xff0c;需要…

【使用时空RBF-NN进行非线性系统识别】实现了 RBF、分数 RBF 和时空 RBF 神经网络,用于非线性系统识别研究(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 2.1 算例1 2.2 算例2 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码实现 &#x1f4a5;1 概述 本文用于非线性系统识别任务的径向基函数神经网络&#xff08;RBF-NN&#xff09;的三种变体。特别是&#xff0c;我实现…

redis到底几个线程?

通常我们说redis是单线程指的是从接收客户端请求->解析请求->读写->响应客户端这整个过程是由一个线程来完成的。这并不意味着redis在任何场景、任何版本下都只有一个线程 为何用单线程处理数据读写&#xff1f; 内存数据储存已经很快了 redis相比于mysql等数据库是…

宋浩高等数学笔记(八)向量代数与空间解析几何

本章知识点并不难理解&#xff0c;但是公式与名词属于非常多&#xff0c;记忆时需重点对待。

lc154.寻找旋转排序数组中的最小值

最小元素的位置以旋转次数为索引的位置&#xff0c;但是没有告诉旋转次数&#xff0c;换一种思路 当遇到arr[index] > arr[index1]时&#xff0c;index1为最小元素的位置。首位位置独立比较。但是这种方法还是遍历数组 观察两组数的中间值与首尾的值&#xff0c;又由于数组…

vue动态引入静态资源

vue动态引入静态资源 静态资源位置&#xff08;../../assets/piecture/page404.jpg&#xff09;或者&#xff08;/assets/piecture/page404.jpg&#xff09; 错误引入方式 错误引入方式&#xff08;一&#xff09; <template><div><img :src"../../asset…

视频剪辑矩阵分发系统Unable to load FFProbe报错技术处理?

问题一 报错处理 对于视频剪辑矩阵分发系统中出现的“Unable to load FFProbe”报错问题&#xff0c;可以采取以下技术处理措施进行解决。 1.检查系统中是否正确安装了FFProbe工具&#xff0c;并确保其路径正确配置。 2.检查系统环境变量是否正确设置&#xff0c;包括FFPr…

【安全】web中的常见编码浅析浏览器解析机制

目录 常见编码 一、ASCII码 二、URL编码 三、Unicode编码 四、HTML实体编码 结合编码理解浏览器解析机制 常见编码 一、ASCII码 ASCII (American Standard Code for Information Interchange&#xff0c;美国信息交换标准代码&#xff09; 计算机内部&#xff0…

《MySQL》第十二篇 数据类型

目录 一. 整数类型二. 浮点类型三. 日期和时间类型四. 字符串类型五. 枚举值类型六. 二进制类型七. 小结 MySQL 支持多种数据类型&#xff0c;学习好数据类型&#xff0c;才能更好的学习 MySQL 表的设计&#xff0c;让表的设计更加合理。 一. 整数类型 类型大小SIGNED(有符号)…

Redis - 三大缓存问题(穿透、击穿、雪崩)

缓存穿透 概念&#xff1a; 查询一个数据库中也不存在的数据&#xff0c;数据库查询不到数据也就不会写入缓存&#xff0c;就会导致一直查询数据库 解决方法&#xff1a; 1. 缓存空数据 如果数据库也查询不到&#xff0c;就把空结果进行缓存 缺点是 - 消耗内存 2. 使用布…

【HMS Core】统一扫描连续扫码、闪光灯关闭问题

【问题描述1】 使用Default View Mode进行扫码&#xff0c;如何实现连续扫码 【解决方案】 在默认扫码模式Default View中&#xff0c;功能是集成在SDK内部的&#xff0c;无法设置连续扫码模式等信息。 可以使用Customized View Mode这种模式&#xff0c;它提供了相关的api可…

【软件测试】什么是selenium

1.seleniumJava环境搭建 前置条件: Java最低版本要求为8,浏览器使用chrome浏览器 1.1下载chrome浏览器 https://www.google.cn/chrome/ 1.2查看浏览器版本 点击关于Google chrome. 记住版本的前三个数. 1.3下载浏览器驱动 http://chromedriver.chromium.org/downloads 下载…

CSS鼠标样式(cursor)

CSS cursor 属性值 属性值示意图描述auto默认值&#xff0c;由浏览器根据当前上下文确定要显示的光标样式default 默认光标&#xff0c;不考虑上下文&#xff0c;通常是一个箭头none不显示光标initial将此属性设置为其默认值inherit从父元素基础 cursor 属性的值context-menu…