CDDFuse: Correlation-Driven Dual-Branch Feature Decomposition for Multi-Modality Image Fusion

news/2024/11/7 12:34:31/文章来源:https://www.cnblogs.com/zjq182/p/18530112

文章信息

标题

CDDFuse: Correlation-Driven Dual-Branch Feature Decomposition for Multi-Modality Image Fusion

会议及时间

CVPR2023

主要内容

为了解决建模跨模态特征和分解期望模态特有和模态共有特征的挑战,本文提出了一种用于多模态图像融合的双分支Transformer-CNN架构CDDFuse,通过结合Transformer和CNN的优势,实现了多任务多模态图像的有效融合。在Restormer、Lite transformer和可逆神经网络块的帮助下,更好地提取了特有模态和共有的特征,并通过提出的相关驱动分解损失对它们进行了更直观有效的分解。实验证明了CDDFuse的融合效果,也提高了下游多模态模式识别任务的准确率。

贡献点&创新点

我们提出了一种双分支Transformer-CNN框架,用于提取和融合全局和局部特征,从而更好地反映出独特的模态特定和模态共享特征。

现有的问题

  1. CNN的内部工作机制难以控制和解释,导致交叉模态特征提取不足。
    image
  2. 上下文无关的CNN只能提取相对较小感受野范围内的局部信息,很难提取用于生成高质量融合图像所需的全局信息。
  3. 融合网络的前向传播往往会导致高频信息的丢失
  4. Transformer全局信息捕获能力强,但计算复杂度高

本文的方法

本文提出将CNN的局部上下文提取和计算效率的优势与Transformer的全局关注和远程依赖建模的优势相结合来完成MMIF任务。

改进了CNN和Transformer模块,以更好地适应MMIF任务

本文的方法

首次利用INN模块进行无损信息传输,并使用LT模块在融合质量和计算成本之间进行权衡。
考虑到细节特征中的边缘和纹理信息对于图像融合任务非常重要,我们希望DCE中的CNN架构能尽可能地保留更多的细节信息。INN 模块是通过可逆性设计让输入和输出特征的相互生成来防止信息丢失,符合融合图像中保留高频特征的目标。因此,它可以被看作是一个无损特征提取模块,在这里非常适用。因此,我们采用了具有仿射耦合层的INN块。

提出了一个相关驱动的分解损失函数来强制模态共享/特定特征分解

提出了一个统一的测量基准来证明IVF融合图像如何促进下游MM目标检测和语义分割任务

方法

论文假设是,在MMIF任务中,两个模态的输入特征在低频时是相关的,代表模态共享的信息,而高频特征是不相关的,代表各自模态的独特特征。
CDDFuse包含四个模块,即双分支编码器用于特征提取和分解,解码器用于重建原始图像(在训练阶段I)或生成融合图像(在训练阶段II),以及基础/细节融合层分别用于融合不同频率的特征。
image
训练阶段1的作用是利用配对的红外图像和可见光图像进行训练,以提取浅层特征和分解不同模态的特征。在这个阶段,我们将红外图像和可见光图像输入到SFE(特征提取器)中,提取浅层特征。然后,我们使用基于LT块的BTE(低频特征提取器)和基于INN的DCE(高频特征提取器)来分别提取低频基础特征和高频细节特征。

编码器

编码器有三个组成部分:基于Restormer块[80]的Shared Encoder(SFE),基于Lite Transformer(LT)块[67]的Base transformer encoder(BTE)和基于可逆神经网络(INN)块[13]的Detail CNN encoder(DCE)。BTE和DCE一起构成了长短距离编码器。

SFE

共享特性编码器,旨在从红外和可见光输入中提取浅层特征
在SFE中使用Restormer block的原因是利用维度间的自注意力机制提取全局特征,因此可以不增加算力的情况下提取跨模态浅层特征。因此,它可以提取跨模态浅层特征,而不会增加太多的计算。

BTE

BTE是从共享特征中提取低频基特征
为了提取远距离依赖特征,我们使用了具有空间自注意力的Transformer。
考虑到平衡性能和计算效率,我们使用Lite Transformer块(LT块)作为BTE的基本单元。通过扁平化前馈网络的结构,将Transformer块的瓶颈部分展平,LT块缩小了嵌入维度,从而减少了参数数量,同时保持了相同的性能,满足了我们的期望。

DCE

DCE从共享特征中提取高频细节信息
考虑到细节特征中的边缘和纹理信息对于图像融合任务非常重要,我们希望DCE中的CNN架构能够尽可能多
地保留细节信息。INN[13]模块通过使输入信息的输入和输出特征相互生成,使输入信息得到更好的保存。因
此,它可以被看作是一个无损的特征提取模块,非常适合在这里使用具有仿射耦合层的INN块

融合层

基础/细节融合层的功能是分别融合基础/细节特征
基础特征融合层采用Lite Transformer块,细节特征融合层采用INN块

解码器

将分解后的特征拼接在通道维中作为输入,原始图像(训练阶段I)或融合后的图像(训练阶段II)作为解码器的输出
由于这里的输入涉及跨模态和多频率特征,因此我们使解码器结构与SFE的设计保持一致,即使用Restormer块作为解码器的基本单元。

两阶段训练

MMIF任务面临的一个重要挑战是缺乏准确的真实标签,因此传统的监督学习方法效果有限。
因为训练目标不同,一阶段为了重构原图(训练AE),二阶段为了融合(训练AE+融合层);encoder和decoder是继续训练的。
image
Lir和Lvis为红外和可见光图像的重建损失,Ldecomp为特征分解损失,α1和α2为调优参数。重建损失主要保证图像中包含的信息在编码和解码过程中不丢失
image
SSIM(·,·)为结构相似度指数
image

实验

度量指标

我们使用熵(EN)、标准差(SD)、空间频率(SF)、互信息(MI)、差异相关和(SCD)、视觉信息保真度(VIF)、QAB/F
和结构相似性指数(SSIM)八个指标来定量测量融合结果。度量越高,表明融合图像越好。

下游任务

红外可见目标检测

image

语义分割

image

医学图像融合

image

收获&想法

  1. 在网络架构设计中,可以采用不同架构模型的多个分支的思想,从而成为提升图像融合效果的新思路
  2. 文中使用了一个两阶段的学习方案来端到端训练CDDFuse,提供了一种结合两阶段和端到端的思路
  3. 学习了定量测量多源图像融合效果的8个指标指标

术语&科普

消融实验

在深度学习中,消融实验(Ablation Study)是一种用来评估模型不同部分对整体性能贡献的实验方法。通过逐步移除或修改模型的某些组件或输入特征,观察其对模型最终效果的影响,消融实验可以帮助研究人员和工程师理解哪些组件、特征或超参数对模型的性能至关重要,哪些则可以忽略或简化。

具体步骤

  1. 选择组件:确定要分析的模型部分或特征,例如某些网络层、特定的激活函数、正则化方法等。
  2. 逐步移除或替换:分别移除或替换这些组件,并重新训练或测试模型,确保每次只有一个因素发生变化。
  3. 观察性能变化:比较每次变动后的模型性能与完整模型的性能差异,从而判断该组件或特征对整体模型的影响大小。
  4. 总结分析:根据性能变化结果,判断每个组件或特征的必要性,进一步优化模型结构或简化设计。

举例说明

假设你有一个卷积神经网络(CNN)用于图像分类任务,包含多层卷积层、池化层和全连接层。你可以设计一个消融实验,逐步移除某些卷积层、池化层或更改激活函数,然后观察分类准确率的变化,从而分析哪部分对模型效果影响最大。

作用

  • 识别重要组件:明确哪些模型组件对性能贡献最大,有助于优化模型结构。
  • 降低模型复杂度:通过去除不必要的组件,减少模型的计算资源消耗。
  • 提供模型解释:更好地理解模型的工作原理,提高模型的透明度和可解释性。
    消融实验广泛应用于深度学习的研究和工程实践中,是验证和优化模型的重要手段之一。

IoU(Intersection over Union,交并比)

是一种常用来衡量预测结果和真实标签之间重叠程度的指标。它在计算机视觉任务中非常常见,尤其是在目标检测和图像分割中。
image
IoU的值介于0和1之间:

  • 当IoU = 1时,说明预测和真实区域完全重合。
  • 当IoU = 0时,说明预测和真实区域完全不重叠。

应用场景

  1. 目标检测:在目标检测任务中,IoU被用来评估预测的边界框与真实框的重叠程度。当IoU超过某个阈值(例如0.5)时,预测框通常被认为是正确的检测。
  2. 图像分割:在语义或实例分割任务中,IoU评估预测分割区域与真实分割区域的重叠度。较高的IoU表示更精确的分割结果。
    IoU作为一种评价指标的优点在于它能够较为准确地反映出预测区域与真实区域的重叠情况,具有较强的鲁棒性,因此在实际应用中被广泛采用。

INN可逆神经网络

INN(Invertible Neural Networks)是一种特殊的神经网络模型,具有输入到输出、输出到输入的双向映射能力。INN的结构设计使其变换过程完全可逆,即在不丢失信息的前提下,可以从输出重建输入。这种特性非常适合于数据生成、分布转换和多模态图像融合等任务。

核心特点

  1. 可逆性:INN的每一层都遵循可逆变换设计,即对于任意输入𝑥,输出𝑦可以通过同样的网络反向传递得到输入。这种特性依赖于每一层操作的巧妙构建,如加性耦合层或仿射耦合层。
  2. 精确重构:在正向传播得到输出后,INN能够无损地重构输入,因此在图像生成、数据压缩和多模态数据融合中优势显著。
  3. 高效计算雅可比行列式:为了保证模型的可逆性,INN的层设计一般是针对快速计算雅可比行列式进行优化的,如通过耦合层设计降低计算复杂度,适合无监督密度估计。

基本结构

INN通常通过耦合层(Coupling Layers)实现双向传递。典型的耦合层结构将输入分为两部分,一部分保持不变,另一部分基于固定部分进行仿射或非线性变换。例如,输入𝑥分为𝑥1和𝑥2两部分,通过对𝑥1应用简单函数并对𝑥2施加变换达到可逆性。

  • 仿射耦合层:这种耦合层将一部分输入通过可学习函数生成缩放和平移参数,对另一部分进行仿射变换。
  • 加性耦合层:加性耦合仅对输入加偏移值,适用于需要快速反向操作的情况。

应用领域

  1. 无监督密度估计和数据生成:由于INN能够学到数据的隐空间分布,因此适合生成对抗网络(GAN)或流模型(Normalizing Flow)中的密度估计问题。
  2. 图像到图像的翻译:INN通过学习输入和输出的双向映射,在多模态图像翻译中如医学图像(CT-MRI转换)、可见光-红外转换中应用广泛。
  3. 多模态数据融合:利用INN的双向映射特性,不同模态的数据可以相互转换,从而实现多模态数据融合。
  4. 逆问题求解:INN还用于解决如图像复原和超分辨率等逆问题,允许通过一个方向生成变换,反向生成更清晰的图像或高分辨率图像。

优势和挑战

信息保留性强:由于可逆性,INN避免了信息损失问题。
无监督学习:INN不依赖监督标签,可直接对数据分布进行建模。
网络设计复杂:可逆性限制了层的设计,使得设计复杂。
计算代价高:虽然INN具有可逆性,但在深层网络中对存储和计算资源有较高要求。

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

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

相关文章

Jetbrains全家桶激活方法

亲测有效,此处以phpstrom为例,按理其他产品也可以用相同的方式激活。 原理是我们通过代码搜索其他授权服务器进行永久激活。 方式一 通过censys https://search.censys.io/用到的代码: services.http.response.headers.location: account.jetbrains.com/fls-auth 我们将上…

文件夹加密小工具:保护你的隐私安全

在数字化时代,个人数据的隐私和安全性变得尤为重要。无论是存储重要文件、敏感信息还是私人照片,我们都希望这些数据能够得到妥善保护。文件夹加密小工具正是为了满足这一需求而设计的,它采用C#语言编写,基于.NET 4.7框架,并引用了miniExcel库来加载和保存用户设置的文件夹…

制作并量化GGUF模型上传到HuggingFace和ModelScope

使用 llama.cpp 制作并量化 GGUF 模型,并将模型上传到 HuggingFace 和 ModelScope 模型仓库llama.cpp 是 Ollama、LMStudio 和其他很多热门项目的底层实现,也是 GPUStack 所支持的推理引擎之一,它提供了 GGUF 模型文件格式。GGUF (General Gaussian U-Net Format) 是一种用于…

cmd格式化U盘,并用UltraISO做系统盘

背景 要给一台服务器重做系统,需要先做个u盘系统盘 格式化U盘 C:\Users\海>diskpartMicrosoft DiskPart 版本 10.0.19041.3636Copyright (C) Microsoft Corporation. 在计算机上: DESKTOP-07439DEDISKPART> list disk磁盘 ### 状态 大小 可用 Dyn G…

AI 搜索来势汹汹,互联网将被颠覆还是进化?

最近,美国新闻集团起诉了知名 AI 搜索引擎 Perplexity AI。也许你会想,这不就是又一起“AI 惹官司”吗?其实,这次情况不太一样,甚至可能会改变我们未来上网的方式! 争议的焦点是什么?是未来的 AI 搜索——即那些能从全网总结信息的“AI 答题王”。这些 AI 不只是简单的聊…

CSS3实现放大镜效果

市面上基本上所有的购物平台、商城上的商品详情页,对于商品的图片都是有放大功能。那么这个功能主要是怎么实现的呢?CSS3实现放大镜效果主要依赖于CSS的一些高级特性,如transform、transition和::before伪元素等 其实代码并没有多少,这里用了6款静态资源图片作为示例,但是…

应届生必看!23 个高质量 C++ 项目推荐,校招简历秒加分

应届生必看!23 个高质量 C++ 项目推荐,校招简历秒加分大家好,我是小康。 最近,不少同学私信我,临近毕业忙着找工作,想问有没有推荐的 C++ 项目,既能练手又能让简历更出彩。我也想起自己当年毕业时同样的焦虑,知道作为 C++ 后端开发的求职者,有几个实际且吸引人的项目,…

Avalonia封装实现指定组件允许拖动的工具类

创建Avalonia的MVVM项目,命名DragDemo,然后将项目的Nuget包更新到预览版 1 2 3 4 5 6 7 8<ItemGroup><PackageReference Include="Avalonia" Version="11.0.0-preview5" /><PackageReference Include="Avalonia.Desktop" Versi…

基于信息增益和基尼指数的二叉决策树

# coding: UTF-8基于信息增益和基尼指数的二叉决策树的实现。 该决策树可以用于分类问题,通过选择合适的特征来划分样本。 from collections import Counterclass biTree_node:二叉树节点定义每个节点可以是叶子节点或内部节点。def __init__(self, f=-1, fvalue=None, leaf…

高级语言程序设计第六次个人作业

班级链接:https://edu.cnblogs.com/campus/fzu 作业要求链接:https://edu.cnblogs.com/campus/fzu/2024C/homework/13303 学号:102400130 姓名:杨子旭

【WPF开发】HandyControl Growl控件Error通知不自动消失的问题

Error类型的通知不自动消失,但是又需要他跟其他的统一。 那么翻翻代码看看为啥不消失呗 1、这是决定关闭通知的计时器2、这是通过_staysOpen来控制是否启动计时器 _staysOpen为true的时候就会不启动了3、明显看到Error中如果非IsCustom的情况下会_staysOpen那么最后,我们可以…