【论文阅读】Unsupervised Misaligned Infrared and Visible Image Fusion via Cross-Modality Image Generation

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

论文链接:Infrared and Visible Image Fusion using a Deep Learning Framework | IEEE Conference Publication | IEEE Xplore

代码: wdhudiekou/UMF-CMGR: [IJCAI2022 Oral] Unsupervised Misaligned Infrared and Visible Image Fusion via Cross-Modality Image Generation and Registration (github.com)

Unsupervised Misaligned Infrared and Visible Image Fusion via Cross-Modality Image Generation and Registration

研究背景

图像融合是从不同模态图像中提取互补信息并将其聚合以生成更丰富、更有意义的特征表示。通常,红外和可见光图像融合(IVIF)具有优点,并且有利于自动驾驶和视频监控等实际应用。

现有方法存在问题

  • 现有IVIF方法设计针对手工预配准的图像,工作量大且时间敏感。

  • 对于不对齐的红外和可见图像的亮度差异敏感,导致融合图像中出现严重的幽灵伪影。

  • 现有图像对齐方法只适用于单一模态设置,不适用于跨模态对齐。

贡献

  • 提出了鲁棒性极高的无监督红外和可见图像融合框架,更专注于减轻由于融合不对齐图像对而导致的幽灵伪影。

  • 利用专门的跨模态生成-配准范式实现有效的红外和可见图像对齐。

  • 开发了交互融合模块来自适应融合多模态特征,避免了由于不复杂的融合规则而导致的特征平滑,并强调忠实的纹理细节。

模型概述

Motivation

不同的成像流程和传感器内的热传导导致观察到的红外和可见图像之间出现偏移和变形的不对齐。通过观察发现,直接融合不对齐的红外和可见图像往往会出现严重的幽灵伪影。受 [Wang et al., 2019a; Wang et al., 2019b] 的启发,通过图像到图像翻译来减少跨模态变化,并考虑到红外图像“强调结构胜过纹理”的固有特性,我们提出了一个专门的跨模态生成-配准范式,以减少空间偏移并在不对齐的红外和可见图像融合过程中缓解幽灵问题。

Cross-modality Perceptual Style Transfer

提出的跨模态生成-配准范式(CGRP)的第一部分是图像翻译。考虑到红外图像容易因热辐射而产生失真,我们提出了一个跨模态感知风格转移网络(CPSTN),将可见图像 Ivis 翻译为其红外对应图像 I ~ ir。共同形成了一个伪红外图像对(Iir,I ~ ir),以提供统一的表示。

CPSTN是类似UNet的生成器,底部获得了9个resnet块。与CycleGAN不同,我们倾向于设计一个受感知风格转移约束控制的具体学习策略,并建立两个循环生成路径之间的路径相关性,以进一步优化伪红外图像尖锐结构的生成。

Multi-level Refinement Registration

由于CPSTN减少了跨模态差异,单模态设置下的红外图像配准成为CGRP的另一个核心部分。如图 1 所示,我们利用多级细化配准网络 (MMRN) 来预测失真红外图像和伪红外图像之间的变形场,并重建配准红外图像。 MRRN 由一个共享多级特征提取器 (SM-FE)、两个粗到细变形场估计 (C2F-DFE) 模块和一个重采样器层组成。在每个C2F-DFE中,包括粗略DFE模块MC和精细DFE模块MR。然后,首先预测粗变形场为:

估计精细变形场:

最后,我们使用类似于 STN [Jaderberg et al., 2015] 的重采样器层来重建配准的红外图像:

运算符 ◦ 表示配准的空间变换。

Dual-path Interation Fusion

为了融合配准的红外图像和可见光图像,提出了一种双路径交互融合网络(DIFN)。它由双路径特征提取模块和特征交互融合模块(IFM)组成。双路径特征提取模块继承了残差密集网络[Zhang et al., 2021b],提取的特征由下式表示:

Interaction Fusion Module

我们利用 IFM 自适应地选择红外和可见光图像中的特征进行融合,如图 1 的小虚线框所示。为了关注更重要的信息,特征响应通过以下方式重新校准:

红外和可见光特征被激活为:

然后我们得到最终的融合图像:

其中S是Sigmoid函数,⊗表示元素乘法运算。

损失函数

LGAN 继承了 CycleGAN 来区分伪红外图像的真假。

感知风格转移损失

为了生成更真实的伪红外图像,我们引入了感知风格转移(PST)损失来控制 CPSTN 的循环一致性。 PST 损失由两个术语组成:感知损失 Lpcp 和风格损失 Lsty。首先,Lpcp 定义为:

其中 ψj 是 VGG-19 [Simonyan 和 Zisserman, 2015] 模型的第 j 层。这些特征还用于计算 Lsty,其定义为:

其中 G 是 Gram 矩阵 [Sajjadi et al., 2017],用于对抗“棋盘”伪影。总 PST 损失为:

交叉正则化损失

创造性地,我们在训练 CPSTN 期间提出了两个周期路径之间的交叉正则化,以建立路径间相关性。它包含内容项 Lcon 和边缘项 Ledge,定义为:

总体交叉正则化计算如下:

配准损失

我们采用双向相似性损失来约束特征空间中失真红外图像和伪红外图像之间的配准,其定义为:

为了确保平滑的变形场,我们将平滑损失定义为:


然后,总体配准损失由下式计算:

融合损失

在融合阶段,我们利用MS-SSIM损失函数来保持融合图像更清晰的强度分布,其定义为:

为了鼓励纹理细节的恢复,我们对梯度分布进行建模并开发联合梯度损失:

为了获得更清晰的纹理,融合图像的梯度被迫接近红外和可见图像梯度之间的最大值。此外,为了保留两个图像中的显着性目标,我们利用受 [Ghosh et al., 2019; 启发] 启发的自视觉显着性图。刘等人,2021b; Liu et al., 2022a] 将新的损失建立为:

其中S表示显着性矩阵,ωvis和ωir分别表示红外和可见光图像的权重图。总融合损耗计算如下:

实验结果

IR-VIS 图像配准评估

与 IVIF 中的 SOTA 比较

模型效率

消融实验

附加分析

结论

1.提出了一个高度鲁棒的无监督不对齐红外和可见图像融合框架,以减轻融合图像中的幽灵伪影。

2.利用生成-配准范式将跨模态图像对齐简化为单一模态注册。

3.开发了一个特征交互融合模块,自适应地选择红外和可见图像中的有意义特征进行融合,避免特征平滑并强调纹理。

4.大量实验证明了该方法在不对齐的跨模态图像融合方面的卓越能力。

5.配准范式可以很好地扩展到现有的 IVIF 方法,以提高其在未对齐的跨模态图像上的融合性能。

您可能感兴趣的与本文相关的镜像

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

由于给定的参考引用中未包含关于“Unsupervised Encoder - Decoder Network for Hyperspectral and Multispectral Image Fusion under Spatial and Spectral Guidance”的相关信息,从专业知识角度来看,这种无监督编码器 - 解码器网络在高光谱和多光谱图像融合领域具有重要意义。 高光谱图像具有丰富的光谱信息,但空间分辨率较低;多光谱图像则具有相对较高的空间分辨率。在空间和光谱引导下的无监督编码器 - 解码器网络旨在结合两者的优势,通过无监督学习的方式实现图像融合。编码器部分负责将输入的高光谱和多光谱图像进行特征提取和转换,将其映射到一个潜在的特征空间中。解码器则根据空间和光谱的引导信息,将潜在特征空间中的特征重构为融合后的图像,使得融合图像既保留了高光谱图像的光谱特性,又具有多光谱图像的高空间分辨率。 这种网络的无监督特性意味着它不需要大量的标注数据进行训练,这在实际应用中具有很大的优势,因为获取标注的高光谱和多光谱图像数据往往是困难且昂贵的。空间和光谱引导机制可以帮助网络更好地理解图像的空间结构和光谱信息,从而提高融合的效果。 ### 代码示例 以下是一个简单的无监督编码器 - 解码器网络的 PyTorch 示例代码: ```python import torch import torch.nn as nn # 定义编码器 class Encoder(nn.Module): def __init__(self, input_channels, latent_dim): super(Encoder, self).__init__() self.conv1 = nn.Conv2d(input_channels, 64, kernel_size=3, stride=2, padding=1) self.relu1 = nn.ReLU() self.conv2 = nn.Conv2d(64, 128, kernel_size=3, stride=2, padding=1) self.relu2 = nn.ReLU() self.fc = nn.Linear(128 * (input_channels // 4) * (input_channels // 4), latent_dim) def forward(self, x): x = self.relu1(self.conv1(x)) x = self.relu2(self.conv2(x)) x = x.view(x.size(0), -1) x = self.fc(x) return x # 定义解码器 class Decoder(nn.Module): def __init__(self, latent_dim, output_channels): super(Decoder, self).__init__() self.fc = nn.Linear(latent_dim, 128 * (output_channels // 4) * (output_channels // 4)) self.conv_trans1 = nn.ConvTranspose2d(128, 64, kernel_size=3, stride=2, padding=1, output_padding=1) self.relu1 = nn.ReLU() self.conv_trans2 = nn.ConvTranspose2d(64, output_channels, kernel_size=3, stride=2, padding=1, output_padding=1) self.sigmoid = nn.Sigmoid() def forward(self, x): x = self.fc(x) x = x.view(x.size(0), 128, output_channels // 4, output_channels // 4) x = self.relu1(self.conv_trans1(x)) x = self.sigmoid(self.conv_trans2(x)) return x # 定义无监督编码器 - 解码器网络 class UnsupervisedEncoderDecoder(nn.Module): def __init__(self, input_channels, latent_dim, output_channels): super(UnsupervisedEncoderDecoder, self).__init__() self.encoder = Encoder(input_channels, latent_dim) self.decoder = Decoder(latent_dim, output_channels) def forward(self, x): latent = self.encoder(x) output = self.decoder(latent) return output # 示例使用 input_channels = 10 # 假设输入通道数 latent_dim = 128 output_channels = 10 # 假设输出通道数 model = UnsupervisedEncoderDecoder(input_channels, latent_dim, output_channels) input_image = torch.randn(1, input_channels, 256, 256) output_image = model(input_image) print(output_image.shape) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值