【论文阅读】Equivariant Multi-Modality Image Fusion(CVPR2024)

Equivariant Multi-Modality Image Fusion(CVPR2024)

现有方法存在的问题

  1. 由于现实中没有一种传感器可以同时捕捉所有模态的信息,因此缺乏真实的融合图像作为训练的参照标准,这对深度学习模型的训练带来了挑战。

  2. 基于生成对抗网络或去噪扩散模型的方法虽然能尝试让源图像和融合图像保持相似的分布,但这些方法缺乏可解释性和可控性,并且在训练过程中遇到困难。

  3. 使用人工设计的损失函数(如最小化L1或L2距离)来使融合图像与源图像尽可能接近,但这忽视了融合图像和源图像之间的潜在差异,以及融合图像可能不在与源图像相同的特征空间这一事实。

  4. 对于融合图像,研究者通常会假设它们具有某些结构特性,比如低秩、稀疏性或多尺度分解等,并施加先验约束以限制解的空间。然而,由于缺乏真实的融合图像,这些先验假设往往基于推测,过度依赖于特定领域的知识,并且对未知情况的适应能力有限。

本文贡献

针对上述挑战,我们计划从两个方面来应对。首先,由于对齐分布和手动制作的损失函数是具有挑战性的任务,我们建议从传感和成像过程开始。我们的目标是学习感知,或者说,从融合图像回到各种模态图像的逆映射。

研究方法

问题描述

设 i、v 和 f 分别指红外图像、可见光图像和融合图像。我们假设存在一个信息丰富的 f,它包含多感官和多模态信息并且需要预测。然而,现实生活中目前还没有能够完全感知f的感知设备。因此,作为一项无监督任务, f 没有ground  truth。因此,我们对融合过程和传感过程进行建模如下:

其中F(·,·)表示融合模型,Ai(·)和Av(·)分别表示i和v的传感模型,即红外相机和RGB相机。在传统的图像逆问题 y = A(x) + n 中,其中 x 和 y 是真实图像和测量值,退化算子 A(·) 是已知的(例如去噪任务中的噪声分布和模糊核)在超分辨率任务中)。然而,在图像融合中,我们无法明确获得Ai和Av。尽管如此,我们可以将它们设置为可学习的,以模拟感知过程并协助网络进行自监督学习。

模型假设

(a)测量一致性

我们假设融合函数F(·,·)在测量域内保持一致性,即:

然而,由于传感过程的不确定性,F(i,v)的估计不能通过估计Ai或Av的逆来实现,我们必须学习超出其逆的范围空间的更多信息。

(b)不变集一致性

给出等变成像中的两个定义

定义1(不变集):对于一组变换 G ,由酉矩阵 Tg,组成,X 是关于变换 G 的不变集,如果 Tgx ∈ X 对于 ∀x ∈ X 和 ∀g ∈ G 成立,即 TgX 和 X 相同。

关于定义1的推论,如果X表示一组自然图像,那么很明显,经过包括平移、旋转和反射的变换后,结果仍然是自然图像。因此, X 是变换群 G 的不变集。此外,由融合图像 f 组成的集合作为 X 的子集,也是 G 的不变集。

定义 2(等变函数)。如果函数 I 满足 I (Tgx) = TgI(x) 对于 ∀x ∈ X 和 ∀g ∈ G,我们称 I 是关于变换 G 的等变函数。

此外,在定义1和2中,“不变性”与数据集的属性有关,而“等方差”则表征成像系统的属性,这意味着成像系统(在我们的论文中表示为F ◦A)是相对于 G的等变函数。

因此,我们提出以下定理:

定理1(等变图像融合定理)。如果将定义2中的I视为复合函数F°A,其中F为融合模型,A(包括Ai和Av)为传感模型,则等变图像融合定理为:

等变图像融合范式

本文的主要重点是提出EMMA,一种基于等变成像先验的自监督图像融合框架,具体工作流程如图1所示。

总体范式。首先,我们建立了一个类似 U-Net 的融合模块 F(·),名为 U-Fuser,它将 Restormer [45] 与 CNN 块结合起来作为基本单元,从输入 i 和 v 生成融合图像 f。根据定理 1 中的等变图像融合定理,采用基于等变先验的自监督框架,包括 U-Fuser 模块和可学习(伪)传感模块 Ai 和 Av,用于在缺少融合图像ground truth的情况下更好地保留源图像信息。具体来说,我们变换由 U-Fuser 估计的 f ,通过一系列变换Tg得到ft,然后将ft通过伪传感模块{Ai,Av}得到伪图像{it,vt}。最后,我们再次将 {it, vt} 与 U-Fuser 融合以获得 ^ ft。

与其他需要精心设计的损失函数来最小化 f 和 {i, v} 之间的距离的方法不同,EMMA 的损失侧重于使传感模块生成的伪图像 {Ai(f ) , Av(f )} f 尽可能接近原来的{i, v},同时使 f t 接近 ˆ f t 。因此,从自然成像的角度来看,找到了最佳的融合图像f。

在下文中,我们将首先介绍融合模块U-Fuser F(·)和伪感知模块{Ai,Av},然后说明整个自监督学习框架,最后提供训练损失函数。

U-Fuser模块。我们采用类似 U-Net 的结构来融合 i 和 v 并生成融合图像 f 。在每个尺度上,由于输入的跨模态特征既包含环境和背景信息等全局特征,也包含突出显示和详细纹理对象特征等局部特征,因此我们设计了 Transformer-CNN 结构来更好地建模跨模态通过利用各自的归纳偏差来实现特征。对于Transformer块的选择,我们采用Restormer块[45],它在通道维度上实现自注意力来建模全局特征,而无需太多的计算负载。在 CNN 块中,我们使用 Res-block [10]。 RestormerCNN 块的输入特征被嵌入,然后由 Restormer 块和 Res-block 并行处理,然后是嵌入交互和 CNN 层,最后输入到下一个尺度。相同尺度的 i 和 v 的特征在融合层中融合,并通过跳跃连接传递到先前尺度的重建分支。用于特征融合和重建的块的设计与特征提取分支中使用的Restormer-CNN块相同。

伪传感模块。与该领域的其他工作主要关注融合函数 F 的设计不同,本文提出了一种基于等变成像先验的自监督学习框架,以解决融合图像缺乏真实值的问题。根据定理1所述的等变图像融合定理,我们需要从Ai(f )和Av(f )获得伪成像结果。为了实现这一目标,我们需要模拟从(想象的)融合图像中感测红外和可见图像的过程,如方程(4)中所述。由于明确给出 Ai 和 Av 的结构是不可行的,因此我们采用数据驱动的学习方法来获取它们。最近,许多基于深度学习的方法在图像融合方面显示出了有希望的结果。因此,我们选择了最近出现在顶级场馆的十五种最先进(SOTA)方法。它们是DIDFuse [51]、U2Fusion [38]、SDNet [46]、RFN-Nest [18]、AUIF [52]、RFNet [39]、TarDAL [21]、DeFusion [20]、ReCoNet [11]、MetaFusion [50]、CDDFuse [54]、LRRNet [19]、MURF [40]、DDFM [55] 和 SegMIF [23]。我们使用它们的融合结果作为融合图像的(伪)ground truth,然后学习从融合图像到 i 和 v 的映射,可以分别将其视为 Ai 和 Av。考虑到映射的输入和输出都具有相同的图像大小,我们选择U-Net [30]作为Ai和Av的主干,并进行端到端的训练范例。具体的网络细节在补充材料中。

等变图像融合。在获得U-Fuser F和伪感知函数{Ai,Av}之后,我们介绍了基于图像等变先验的自监督学习框架。如图1所示,我们首先将图像对{i,v}输入到F中,得到融合图像f(这是传统融合算法的整个操作)。然后,我们对 f 应用一系列变换 Tg ,包括平移、旋转、反射等,以获得 f t 。随后,将f t 输入到训练有素的{Ai,Av}中,得到伪感知图像{it,vt},其中包含来自f t 的信息,并分别满足红外和可见光图像的成像特性。最后,将成对的{it, vt}输入到F中以获得重新融合的图像^ f t。在整个框架中,我们的目标是将 {i, v} 的信息聚合到 f 中,并且根据等变图像融合定理(定理 1),f t 和 ˆ f t 应足够接近。这些将通过设计的损失函数来保证。

训练细节和损失函数。在 EMMA 的整个训练过程中,我们首先使用 l2 loss 作为损失函数来训练 Ai 和 Av

 

其中 ̃ f 是第3.3节中的 SOTA 方法的融合结果。 然后,我们冻结Ai和Av的参数,这意味着伪传感模块的参数将不再更新。然后,我们用总损失函数训练 U-Fuser 模块:

特别是,方程(6)的第一项和第二项确保我们的范式满足第 3.2 节中模型假设的测量一致性。 而第三项保证满足模型假设的不变集一致性。

说明

在这里我们将解释为什么 EMMA 的无监督融合能够发挥作用。由于图像集 {f } 对于一组可逆变换 {Tg} 是不变的,给定不变集 {f } 中的任意图像 f,则 Tgf 也属于所有 g = 1 ,·····, |G|的集合。根据定理 1 中的等变定理,我们有 {i, v} = Af = ATgTg^-1f = Agf ′ for g = 1, · · · , |G|,其中 Ag = ATg 且 f ′ = Tg^-1f属于{f}。也就是说,应用变换相当于生成多个虚拟感知算子{Ag}g=1,…,|G|。由于这些虚拟算子 Ag 具有潜在不同的零空间,这使我们能够学习超出逆 A 的范围空间(参见[32])。

缺乏ground truth导致 Ai 和 Av 建模可能不准确,使得 f 的重建在前几个训练epoch可能不令人满意。幸运的是,将 ft 变换与通过等变成像先验学习相结合可以完成原始缺失的知识来校准和细化融合结果,即实现丢失的零空间分量的恢复。值得注意的是,在最终的算法部署阶段,只需要微调的U-Fuser F,所有其他模块将被忽略,例如Ai和Av。最后,所提出的等变融合模块不同于数据增强(DA),后者主要基于ground truth扩展数据。然而,在图像融合任务中,ground truth是绝对无法访问的,并且在学习没有ground truth的图像时,DA 无法提供额外的信息增益 [2, 4]。幸运的是,正如我们所展示的,通过等方差先验,提出的 EMMA 可以提供额外的信息并找出原则上合理的融合结果。

实验结果

红外和可见光融合和医学图像融合

定性分析

定量分析

消融实验

下游任务上的应用

Producing a fusion map to quantify feature fusion weights typically involves techniques from both deep learning and knowledge representation. In the context of multi-modal data analysis, where you have information from different sources like images (deep learning) and structured data like knowledge graphs (knowledge graph embeddings), a fusion method might involve: 1. **Deep Learning**[^1]: \- Apply a deep neural network, such as convolutional or recurrent networks, on one or more modalities to extract high-level representations. ```python from keras.models import Model image_model = create_image_model() text_model = create_text_model() # Obtain modal-specific feature maps image_features = image_model(image_data) text_features = text_model(text_data) ``` 2. **Set Functions and Equivariance**: - Use set functions like mean pooling or attention mechanisms to aggregate the features across modalities while considering their relative importance. This step ensures that the fusion process is equivariant to transformations in individual modalities. ```python fused_features = combine_features(image_features, text_features, set_function) ``` 3. **Knowledge Graph Embeddings**: - For knowledge graph embeddings, use methods like TransE, DistMult, or ComplEx to represent entities and relations as vectors, which can be concatenated with the learned modality-specific features. ```python kg_embedding_layer = KnowledgeGraphEmbeddingLayer(knowledge_graph) kg_features = kg_embedding_layer(entity_ids) ``` 4. **Fusion Weights Quantification**: - Finally, apply an additional layer, often a fully connected layer or a self-attention mechanism, to learn the fusion weights between the modalities. ```python fusion_weights = Dense(1, activation='softmax')(concatenated_features) fused_output = dot([fused_features, fusion_weights]) ``` The output `fused_output` would then contain the fused representation, where the values in the fusion weights array indicate the contribution of each modality to the final decision.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值