深度学习中的图像融合:图像融合论文阅读与实战

news2024/11/14 20:46:15

个人博客:Sekyoro的博客小屋
个人网站:Proanimer的个人网站

abs

介绍图像融合概念,回顾sota模型,其中包括数字摄像图像融合,多模态图像融合,

接着评估一些代表方法

介绍一些常见应用,比如RGBT目标跟踪,医学图像检查,遥感监测

Intro

动机:

由于硬件设备的理论和技术限制,单一传感器或单一拍摄设置所拍摄的图像无法有效、全面地描述成像场景

图像融合:图像融合能够将不同源图像中的有意义信息结合起来,生成单一图像,该图像包含更丰富的信息,更有利于后续应用

由于融合图像的优异特性,图像融合作为一种图像增强方法已被广泛应用于许多领域,例如摄影可视化

传统融合方法:

在深度学习盛行之前,图像融合已经得到了深入的研究。早期实现图像融合的方法采用相关的数学变换,在空间域或变换域人工分析活动水平并设计融合规则,称为传统融合方法。

典型的传统融合方法包括基于多尺度变换的方法、基于稀疏表示的方法、基于子空间的方法、基于显著性的方法、基于total-variance的方法等。

传统图像融合方法的缺点:

  1. 为了保证后续图像融合的可行性,传统方法会对不同源的图像采用相同变换来提取特征。这种方法没有考虑到源图像的特征差异,可能导致提取的特征表现力较差。
  2. 融合策略粗糙,表现较差。

引入深度学习的优势:

  1. 可以利用不同的网络实现差异化的特征提取

  2. 在良好设计的损失函数下,融合策略可以学到更合理的特征

现有的深度学习方法致力于解决图像融合中的三个主要问题:“feature extraction, feature fusion and image reconstruction.” (Zhang 等, 2021, p. 323)

现有方法可以分为 AutoEncoder-based,CNN- based,GAN-based。

1.AE-based

AE 方法通常会预先训练一个自动编码器。然后利用训练好的自编码器实现特征提取和图像重建,中间的特征融合则根据传统的融合规则实现。

DenseFuse

2.CNN-based

他们通常以两种不同的形式将卷积神经网络引入图像融合。一种是通过使用精心设计的损失函数和网络结构,实现端到端的特征提取、特征融合和图像重建

PMGI。它提出了梯度和强度的比例维护损失,引导网络直接生成融合图像。

另外还有使用CNN得到融合规则,而使用传统的特征提取和重建方法

3.GAN-baesd

GAN 方法依靠生成器和判别器之间的对抗博弈来估计目标的概率分布,从而以隐含的方式共同完成特征提取、特征融合和图像重构

比如FusionGAN 是基于 GAN 的图像融合的先驱,它在融合图像和可见图像之间建立对抗博弈,以进一步丰富融合图像的纹理细节。由于各种图像融合任务存在显著差异,这些方法在不同融合场景中的实现方式也不尽相同。

图像融合场景

digital photography image fusion

由于数字成像设备的性能限制,传感器无法在单一设置完全表征成像场景中的信息

例如,数码摄影产生的图像只能承受有限的光照变化,并具有预定的景深。

多曝光度图像融合和多聚焦图像融合

以产生高动态范围和完全清晰的效果。

人们使用摄像机拍摄时,希望可以获得同一场景中所有景物都清晰的图像。但是摄像机镜头受景深的限制,无法同时聚焦所有目标,因此拍摄的照片中部分区域清晰,部分区域模糊。多聚焦图像融合技术可以将多幅同一场景下聚焦区域不同的图像融合成一幅全清晰的图像,从而有效地解决这个问题,提高图像的信息利用率。

multi-modal image fusion

由于成像原理的限制,单个传感器只能捕捉到部分场景信息。多模态图像融合将多个传感器获取的图像中最重要的信息结合起来,从而实现对场景的有效描述。

典型的多模态图像融合包括红外和可见光图像融合

sharpening fusion

在保证信噪比的前提下,光谱/滤镜与瞬时视场(IFOV)之间存在一定的矛盾。

换句话说,没有任何传感器能同时捕捉高空间分辨率和高光谱分辨率的图像。

锐化融合专门用于融合不同空间/光谱分辨率的图像,以生成所需的结果,这些结果不仅具有高空间分辨率,还具有高光谱分辨率。

典型的锐化融合包括多光谱(MS)锐化和高光谱锐化。从源图像成像的角度来看,锐化融合也属于多模态图像融合。不过,就融合目标而言,锐化融合比上述多模态图像融合要求更高的光谱/空间保真度,能直接提高分辨率。因此,锐化融合将作为一个单独的类别进行讨论。

多光谱锐化是将低空间分辨率(LRMS)的多光谱图像与全色(PAN)图像融合,生成高空间分辨率的多光谱图像。

与多光谱图像相比,高光谱图像具有更高的光谱分辨率和更低的空间分辨率。

多光谱: 谱段有多个,可以看做是高光谱的一种情况,即成像的波段数量比高光谱图像少,一般只有几个到十几个。由于光谱信息其实也就对应了色彩信息,所以多波段遥感图像可以得到地物的色彩信息,但是空间分辨率较低。更进一步,光谱通道越多,其分辨物体的能力就越强,即光谱分辨率越高。

高光谱:高光谱由更窄的波段(10-20 nm)组成,具有较高的光谱分辨率,可以检测物体的光谱特效,可提供更多无形的数据,图像可能有数百或数千个波段

全色图:全色图像是单通道的,其中全色是指全部可见光波段0.38~0.76um,全色图像为这一波段范围的混合图像。因为是单波段,所以在图上显示为灰度图片。全色遥感图像一般空间分辨率高,但无法显示地物色彩,也就是图像的光谱信息少。

digital photography image fusion

数字成像设备利用光学镜头捕捉反射的可见光然后采用CCD和CMOS等书子模块记录场景信息。另一方面,由于动态范围有限,这些数字模块无法承受过大的成像曝光差异。

一方面,由于光学镜头受景深限制,通常无法同时聚焦所有物体。

Infrared and visible image fusion”

红外图像具有明显的对比度,即使在恶劣天气下也能从背景中有效地突出目标。可见光图像包含丰富的纹理细节,更符合人类的视觉感知。红外和可见光图像融合就是要将这两种特性结合起来,生成对比度高、纹理丰富的图像。为了实现这一目标,AE、CNN 和 GAN 方法都被引入到这项任务中。

高对比度,恶劣条件下也能有效突出目标

可见光图像包含丰富的纹理信息,更符合人类视觉感知。红外和可见光图像融合就是要将这两种特性结合起来,生成对比度高、纹理丰富的图像。为了实现这一目标,AE、CNN 和 GAN 方法都被引入到这项任务中。

AE方法

首先使用数据集训练一个autoencoder,训练好的自动编码器自然可以用来解决图像融合中的两个子问题:特征提取和图像重建

图像融合的关键在于特征融合策略的设计。目前,在红外和可见光图像融合中,特征融合的策略仍然是手工计算的,无法学习,如加法、l1-norm [19]、注意力加权等。这种手工计算的融合策略比较粗糙,限制了红外图像和可见光图像融合的进一步改进。

一种用于红外和可见光图像融合的 CNN 方法是端对端地实现三个子问题。这种CNN结构通常需要残差连接,全连接以及双端结构。

由于红外图像和可见光图像融合没有ground truth,因此损失函数的设计在于确定融合结果和源图像之间对比度和纹理的相似性

参与红外和可见光图像融合的另一种 CNN 形式是使用预先训练好的网络(如 VGGNet)从源图像中提取特征,并根据这些特征生成融合权重图。

从这个角度看,卷积神经网络只实现了融合,而不考虑特征提取和图像重建,带来的融合性能非常有限。

GAN

GAN 方法是目前红外和可见光图像融合领域最流行的方法,它能够以隐含的方式完成特征提取、特征融合和图像重建

一般来说,GAN 方法依赖于两种损失函数,即内容损失和对抗损失。内容损失与 CNN 方法类似,用于初步融合源图像,而对抗损失则进一步限制信息融合的趋势。

早期GAN方法 fusionGAN,只是在融合后的图像和可见光图像之间建立对抗博弈,以进一步增强对可见光图像丰富细节的保留。

为了更好地平衡红外信息和可见光信息,随后的方法 [25,66-69] 开始使用具有多个分类约束条件的单一判别器或双判别器来同时估计源图像的两种概率分布。

一般来说,GAN 方法可以产生很好的融合结果。然而,在训练过程中保持生成器和判别器之间的平衡并非易事。

评估

评估指标包括:EN,SSIM,PSNR,SF,SD,CC,SF,VIF以及融合运行时间等等.

EN

熵值

image-20231103165404222

pl是融合图像中相应灰度级的归一化直方图

熵越大,融合图像包含的信息就越多,融合方法的性能就越好。

SD

标准差

image-20231103165557350

对比度高的区域总是能吸引人的注意力,而对比度高的融合图像往往能产生较大的标清值,这意味着融合图像能达到更好的视觉效果。

SSIM

结构相似性,取值[-1,1],数值越接近1表示结构相似性越高

SSIM 用于建立图像损失和失真的模型,衡量源图像和融合图像之间的结构相似性。SSIM 主要由三部分组成:相关性损失、亮度失真和对比度失真

img

在融合任务中,计算两张源图与融合后图像的SSIM和

image-20231103171546346

PSNR

峰值信噪比,衡量图像有效信息与噪声之间的比率,能够反映图像是否失真.数值越大表示失真越小

image-20231103164139843

Z表示理想参考图像灰度最大值与最小值之差,通常为255。PSNR的值越大,表示融合图像的质量越好。

PSNR值的范围通常在0到100之间,单位为分贝(dB)。 通常情况下,PSNR值越高,表示原始图像与重建图像之间的差异越小,图像质量越接近原始图像。 一般来说,PSNR值在30到40dB之间被认为是可以接受的

CC

CC 衡量融合图像与源图像的线性相关程度,CC 越大,融合后的图像与源图像越相似,融合效果越好

image-20231103172617252

image-20231103172623697

SF 空间频率

image-20231103173521300

测量图像的梯度分布

image-20231103173745980

image-20231103173758017

SF 越大,融合图像的边缘和纹理就越丰富

VIF 空间信息保真度

VIF 衡量融合图像的信息保真度,其计算方法分为四个步骤:首先,将源图像和融合图像划分为不同的区块;然后,评估每个区块在失真和未失真情况下的视觉信息;接着,评估每个子波段的 VIF;最后,根据 VIF 计算总体指标。

数据集

TNO TNO影像融合数据集包含不同军事相关场景的单光谱(增强视觉、近红外和长波红外或热)夜间影像,在不同的多波段camnera系统中注册。

INO RoadScene MSRS LLVIP MFD

实战

主要关注红外图像与可见光图像融合以及多焦点图像融合,从这些出发,最后到一个统一的图像融合框架.

FusionGAN

2019年较早的使用GAN作为图像融合算法融合红外和可见光

image-20231104161851282

Generator

image-20231104161928602

注意损失函数设计
L G = V FusionGAN ( G ) + λ L c o n t e n t , \mathcal{L}_G=V_\text{FusionGAN}(G)+\lambda\mathcal{L}_{\mathrm{content}}, LG=VFusionGAN(G)+λLcontent,
使用了一个对于GAN对抗的融合损失以及一个内容损失,对抗损失,这种想法来源LSGAN,a 和 b 分别表示虚假数据和真实数据的标签,c表示生成器希望鉴别器相信的虚假数据值。
min ⁡ D V L S G A N ( D ) =   1 2 E x ∼ p d a t a ( x ) [ ( D ( x ) − b ) 2 ] + 1 2 E z ∼ p z ( z ) [ ( D ( G ( z ) ) − a ) 2 ] , min ⁡ G V L S G A N ( G ) =   1 2 E z ∼ p z ( z ) [ ( D ( G ( z ) ) − c ) 2 ] , \begin{aligned}\min_DV_{\mathrm{LSGAN}}(D)&=~\frac12\mathbb{E}_{x\sim p_{data}(x)}[(D(x)-b)^2]+\frac12\mathbb{E}_{z\sim p_z(z)}[(D(G(z))-a)^2],\\\min_GV_{\mathrm{LSGAN}}(G)&=~\frac12\mathbb{E}_{z\sim p_z(z)}[(D(G(z))-c)^2],\end{aligned} DminVLSGAN(D)GminVLSGAN(G)= 21Expdata(x)[(D(x)b)2]+21Ezpz(z)[(D(G(z))a)2],= 21Ezpz(z)[(D(G(z))c)2],
有两种方法可以确定公式中的 a、b 和 c 值。第一种是设置 b - c = 1 和 b - a = 2,从而最小化公式 ,使 Pdata +Pg 与 Pg 之间的 Pearson χ2 最小化

第二种是设置 c = b,使生成器生成的样本尽可能真实。上述两种方法通常能获得相似的性能。
V FusionGAN ( G ) = 1 N ∑ n = 1 N ( D θ D ( I f n ) − c ) 2 , V_{\text{FusionGAN}} ( G ) = \frac 1 N \sum _ { n = 1 }^{N}\left(D_{\theta_D}(I_f^n)-c\right)^2, VFusionGAN(G)=N1n=1N(DθD(Ifn)c)2,
第二项 Lcontent代表内容损失,λ 用于在 VFusionGAN(G) 和 Lcontent之间取得平衡。由于红外图像的热辐射信息由其像素强度表征,而可见光图像的纹理细节信息可部分由其梯度表征. 当然可以有其他用于表征图片的某些特性的指标,比如上面介绍的SSIM等.
L c o n t e n t = 1 H W ( ∥ I f − I r ∥ F 2 + ξ ∥ ∇ I f − ∇ I v ∥ F 2 ) , \mathcal{L}_{\mathrm{content}}=\frac1{HW}(\|I_f-I_r\|_F^2+\xi\|\nabla I_f-\nabla I_v\|_F^2), Lcontent=HW1(IfIrF2+ξ∥∇IfIvF2),
实际上,如果没有 Dθ,我们也可以得到融合图像,它可以保留红外图像中的热辐射信息和可见光图像中的梯度信息。

但这往往还不够,因为仅使用梯度信息无法完全表现可见图像中的纹理细节。因此,我们在生成器 GθG和判别器 DθD 之间建立了一个对抗博弈,以调整基于可见光图像 IIv 的融合图像 If。

Discriminator

从第一层到第四层,我们在卷积层中使用 3 × 3 滤波器,并将stride设为 2,不带填充。这与生成器网络不同。其根本原因在于,鉴别器是一个分类器,它首先从输入图像中提取特征图,然后进行分类。因此,它的工作方式与池化层相同,将stride设置为 2。

image-20231104163811787
L D = 1 N ∑ n = 1 N ( D θ D ( I v ) − b ) 2 + 1 N ∑ n = 1 N ( D θ D ( I f ) − a ) 2 , \mathcal{L}_D=\frac{1}{N}\sum_{n=1}^N\left(D_{\theta_D}(I_v)-b\right)^2+\frac{1}{N}\sum_{n=1}^N\left(D_{\theta_D}(I_f)-a\right)^2, LD=N1n=1N(DθD(Iv)b)2+N1n=1N(DθD(If)a)2,
我使用了这个模型

TarDAL

面向检测的融合

我们采用双层优化公式同时进行图像融合和物体检测,不仅检测精度高,而且融合后的图像视觉效果更好。

我们设计了一种参数较少的目标感知双对抗学习网络(TarDAL),用于面向检测的融合。这种 "求同存异 "的单生成器双判别器网络可保留红外目标信息和可见光纹理细节。

我们从双层表述中推导出一种合作训练方案,为快速推理(融合和检测)提供最佳网络参数。

与以往追求高视觉质量的方法不同,我们认为,IVIF 必须生成既有利于视觉检测又有利于计算机感知的图像,即面向检测的融合。

问题建模

image-20231104153245210

假设红外图像、可见光图像和融合图像都是大小为 m×n 的灰度图像,分别用列向量 x、y 和 u∈Rmn×1 表示。

Ld 是目标检测相关的训练损失,Ψ是一个目标检测网络,f () 是一个基于能量的保真度项,包含融合图像 u 以及源图像 x 和 y,而 gT () 和 gD () 则是两个可行性约束条件,分别定义在红外图像和可见光图像上。

image-20231104154941474

引入一个带有学习参数 ωf的融合网络 Φ,并将双级优化转换为单级优化.

因此,我们将优化分解为两个学习网络 Φ 和 Ψ。我们采用 YOLOv53 作为检测网络 Ψ 的主干,其中 Ld也沿用其设置,并精心设计了融合网络 Φ 。

典型的深度融合方法致力于学习两种不同成像模式的共同特征。相反,我们的融合网络在学习这两种成像方式互补特征的差异的同时,也在寻求共性。通常情况下**,红外图像能突出显示目标的独特结构,而可见光图像则能提供背景的纹理细节**。

Target-aware dual adversarial network

image-20231107114627598

生成器G生成一张逼真的融合图像,目标判别器DT使用强度一致性评估红外图像中的目标与G提供的融合图像中被mask的目标.细节判别器 DD判别的是可见光梯度分布与融合图像的梯度分布

生成器

生成器的作用是生成能保留整体结构并保持与源图像相似强度分布的融合图像。常用的结构相似性指数(SSIM)作为损失函数.

为了平衡源图像的像素强度分布,引入了基于突出度权重(SDW)的像素损失。

另外提出了一个基于显著性pixel loss
S x ( k ) = ∑ i = 0 2 55 H x ( i ) ∣ x ( k ) − i ∣ , S_{\mathbf{x}(k)}=\sum_{i=0}^{2\text{55}} \boldsymbol { H _ { \mathbf{x}}}(i)|\mathbf{x}(k)-i|, Sx(k)=i=0255Hx(i)x(k)i,
其中Hx(i)表示直方图中i的值,x(k)表示第k个值,因为x为一个大小为mn的vector
L p i x e 1 = ∥ u − ω 1 x ∥ 1 + ∥ u − ω 2 y ∥ 1 , \mathscr{L}_{\mathrm{pixe}1}=\|\mathrm{u}-\omega_1\mathrm{x}\|_1+\|\mathrm{u}-\omega_2\mathrm{y}\|_1, Lpixe1=uω1x1+uω2y1,
pixel loss如上,其中
ω 1 = S x ( k ) / [ S x ( k ) − S y ( k ) ] , ω 2 = 1 − ω 1 . \boldsymbol{\omega}_1=S_\mathbf{x}(k)/[S_\mathbf{x}(k)-S_\mathbf{y}(k)],\boldsymbol{\omega}_\mathbf{2}=1-\boldsymbol{\omega}_\mathbf{1}. ω1=Sx(k)/[Sx(k)Sy(k)],ω2=1ω1.

使用 5 层密集块作为 G 来提取共同特征,然后使用包含三个卷积层的合并块进行特征聚合。每个卷积层由一个卷积运算、批处理归一化和 ReLU 激活函数组成。生成的融合图像 u 与源图像大小相同。

目标鉴别器与细节鉴别器

目标判别器 DT 用于将融合结果的前景热目标与红外目标区分开来。而细节判别器 DD 的作用是将融合结果的背景细节与可见光图像的细节区分开来。

采用了预训练的显著性检测网络从红外图像中计算出目标掩码 m,这样两个判别器就能在各自的区域(目标和背景)进行判别(也就是将图像中的目标与背景分割)

对抗损失如下,R(x)表示红外图像中的目标,R(u)表示融合后图像中的目标,R^^^则表示背景
L D T f = E x ∼ p ~ ( R ( x ) ) [ D ( x ) ] − E x ~ ∼ p ~ ( R ( u ) ) [ D ( x ~ ) ] , L D D f = E x ∼ p ~ ( R ^ ( ∇ y ) ) [ D ( x ) ] − E x ~ ∼ p ~ ( R ^ ( ∇ u ) ) [ D ( x ~ ) ] , L f a d v = L D T f + L D D f , \begin{gathered}\mathcal{L}_{D_T}^\mathbf{f}=\mathbb{E}_{x\sim\tilde{p}(\mathcal{R}(\mathbf{x}))}[D(x)]-\mathbb{E}_{\tilde{x}\sim\tilde{p}(\mathcal{R}(\mathbf{u}))}[D(\tilde{x})],\\\mathcal{L}_{D_D}^\mathbf{f}=\mathbb{E}_{x\sim\tilde{p}(\hat{\mathcal{R}}(\nabla\mathbf{y}))}[D(x)]-\mathbb{E}_{\tilde{x}\sim\tilde{p}(\hat{\mathcal{R}}(\nabla\mathbf{u}))}[D(\tilde{x})],\\\mathcal{L}_{\mathbf{f}}^{\mathrm{adv}}=\mathcal{L}_{D_T}^\mathbf{f}+\mathcal{L}_{D_D}^\mathbf{f},\end{gathered} LDTf=Exp~(R(x))[D(x)]Ex~p~(R(u))[D(x~)],LDDf=Exp~(R^(y))[D(x)]Ex~p~(R^(u))[D(x~)],Lfadv=LDTf+LDDf,
R = x*m ,R^^^= 1 − R. m表示使用预训练模型得到mask.

对于鉴别器,损失分别是
L D T = L D T f + k E x ~ ∼ r ~ ( R ( x ) ) [ ( ∥ ∇ D T ( x ~ ) ∥ ) p ] , L D D = L D D f + k E x ~ ∼ r ~ ( R ^ ( ∇ x ) ) [ ( ∥ ∇ D D ( x ~ ) ∥ ) p ] , \begin{gathered} \mathcal{L}_{D_T}=\mathcal{L}_{D_T}^\mathbf{f}+k\mathbb{E}_{\tilde{x}\sim\tilde{r}(\mathcal{R}(\mathbf{x}))}[(\|\nabla D_T(\tilde{x})\|)^p], \\ \mathcal{L}_{D_{D}}=\mathcal{L}_{D_{D}}^{\mathbf{f}}+k\mathbb{E}_{\tilde{x}\sim\tilde{r}(\hat{\mathcal{R}}(\nabla\mathbf{x}))}[(\|\nabla D_{D}(\tilde{x})\|)^{p}], \end{gathered} LDT=LDTf+kEx~r~(R(x))[(∥∇DT(x~))p],LDD=LDDf+kEx~r~(R^(x))[(∥∇DD(x~))p],
两个鉴别器 DT 和 DD 具有相同的网络结构,即四个卷积层和一个全连接层。

image-20231107131708716

合作训练策略

min ⁡ ω d , ω f L d ( Ψ ( u ∗ ; ω d ) ) + λ L f ( Φ ( x , y ; ω f ) ) , s . t .   u ∗ = Φ ( x , y ; ω f ) , \begin{aligned}\min_{\boldsymbol{\omega}_{\mathbf{d}},\boldsymbol{\omega}_{\mathbf{f}}}\mathcal{L}^{\mathbf{d}}(\Psi(\mathbf{u}^*;\boldsymbol{\omega}_{\mathbf{d}}))+\lambda\mathcal{L}^{\mathbf{f}}\big(\Phi(\mathbf{x},\mathbf{y};\boldsymbol{\omega}_{\mathbf{f}})\big),\\s.t.\mathbf{~u}^*=\Phi(\mathbf{x},\mathbf{y};\boldsymbol{\omega}_{\mathbf{f}}),\end{aligned} ωd,ωfminLd(Ψ(u;ωd))+λLf(Φ(x,y;ωf)),s.t. u=Φ(x,y;ωf),

双层优化自然会衍生出一种合作训练策略,以获得最佳网络参数 ω = (ωd, ωf)

引入了一个融合正则因子 Lf,将受融合约束的检测优化转换为相互优化

损失函数包含目标检测的损失函数以及融合的损失函数.

红外与可见光图像的融合结果

定性比较

首先,可以很好地保留红外图像中的分辨目标。如图 6(第二组的绿色缠结)所示,我们的方法中的人表现出高对比度和独特的突出轮廓,因此有利于视觉观察.

其次,我们的结果可以保留可见光图像中丰富的纹理细节(第一组和第三组的绿色缠结),这更符合人类的视觉系统。

定量比较

在 400 个图像对(20 个来自 TNO 的图像对、40 个来自 RoadScene 的图像对和 340 个来自 M3FD 的图像对)上对我们的 TarDAL 和上述竞争对手进行了定量比较。

使用了MI,EN和SD作为评估指标.

红外与可见光目标检测结果

多聚焦图像融合

MFIF-GAN

针对多焦点图像融合

在数码摄影领域,有限的景深(DOF)导致单一场景中可能存在多种图像焦点区域,并产生散焦效应(DSE)[1]。作为一种图像增强技术,多焦点图像融合(MFIF)被用来融合图 1(a) 和图 1(b) 所示的多焦点图像,使融合结果(如图 1© 所示)能够清晰地保留来源信息。这一操作是各类计算机视觉(CV)任务的前提条件,例如物体检测和定位、识别和分割

网络结构

MFIF-GAN 中的生成器将源彩色图像 IA 和 IB 作为输入,旨在生成焦点图 ̂ F。判别器的输入是 IA、IB 和(真实或生成的)焦点图的连接。生成器的目的是尽可能精确地重建焦点图,而鉴别器的目的是将生成的焦点图与真实的焦点图区分开来。

G 包括一个编码器、一个张量连接模块和一个解码器。为了有效处理彩色图像,编码器被设计成六个并行子网络分支,共享源图像每个通道的参数

FuseGAN

我们的目标是通过构建基于 cGAN 的网络 FuseGAN,学习从源图像到置信度图的映射,从而为融合任务提供重点信息。我们首先详细介绍了该架构,然后分析了其目标函数;最后阐述了融合方案.

生成器 G:如图所示,生成器 G 由三个部分组成:编码器、张量并合器和解码器。它将一对多焦点图像作为输入,并输出置信度图。具体来说,编码器有两个分支,每个分支包含 12 个块。为简单起见,我们将卷积层、批规范层和转置卷积层分别称为 Conv、BN 和 Decov。其中,第一块是 Conv-BN-ReLu,滤波器尺寸较大,为 7×7,步长为 1,目的是粗略提取特征。
在这里插入图片描述

我们利用 中的 PatchGAN 作为判别器 D。从概念上讲,它试图辨别图像中每个大小为 K×K 的patch是真是假。鉴别器对图像中的所有响应进行卷积平均,最后生成输出。。

image-20231108190809183

因此,我们利用自适应权重块设计的特定内容损失函数可以自适应地引导融合图像在像素级逼近源图像中重点区域的强度分布和梯度分布

此外,由于我们的优化目标是基于每个像素,为了避免融合后的图像出现色差,保证整体的自然度,我们增加了 SSIM 损失项。根据统计学原理,计算每个源图像片段中较大分数的平均值,作为相应 SSIM 损失项的权重。

MFFGAN

图像融合的理念是从源图像中提取并组合最有意义的信息。对于多焦点图像融合来说,最有意义的信息是源图像中的锐利区域,这些区域反映在强度分布和纹理细节上。自然,在信息提取过程中,应保留锐利区域的这些信息,而摒弃模糊区域的这些信息。

当然,在信息提取过程中,尖锐区域的信息应该保留,模糊区域的信息应该舍弃。因此,有必要在优化过程中引入损失函数的调整机制,以约束网络有选择地提取和重构信息。

首先,我们设计了一个自适应决策块,它可以根据重复模糊原理评估每个像素的清晰度,也就是说,清晰度较高的图像,经过模糊处理后,像素值变化较大。根据这一观察结果,生成screening map来描述有效信息的位置。screening map作用于我们构建的特定内容损失函数,从而在像素尺度上调整优化目标。

判定块可以自适应地引导融合结果在像素尺度上逼近清晰源图像的强度分布和梯度分布

.我们的具体方法是选择分数较大的像素(放弃较小的分数)作为两个源图像相应像素位置的优化目标。在决策块和内容损失的共同作用下,生成器可以得到相对清晰自然的结果。

我们将联合梯度图定义为真实数据,将融合图像的梯度图定义为假数据。持续的对抗性学习可以引导生成器更专注于纹理的保留。因此,我们可以获得更高质量的融合结果,其中包含更丰富的纹理细节。

损失函数

损耗函数由生成器损耗LG和鉴别器损耗LD组成。

生成器

生成器的损失有两部分,即用于提取和重构信息的内容损失LGcon,以及用于增强纹理细节的对抗性损失LGadv
L G = L G a d v + α L G c o n \mathcal{L}_{G}=\mathcal{L}_{G_{\mathrm{adv}}}+\alpha L_{G_{\mathrm{con}}} LG=LGadv+αLGcon

L G a d v = 1 N ∑ n = 1 N ( D ( ∇ ( I f u s e d n ) ) − a ) 2 \mathcal{L}_{G_{\mathrm{adv}}}=\frac{1}{N}\sum_{n=1}^{N}(D(\nabla(I_{\mathrm{fused}}^{n}))-a)^2 LGadv=N1n=1N(D((Ifusedn))a)2

其中 N 是训练期间批次中融合图像的数量,a 是生成器期望判别器确定融合图像的概率标签
L G c o n = β 1 L i n t + β 2 L g r a d L_{G_{\mathrm{con}}}=\beta_{1}\mathcal{L}_{\mathrm{int}}+\beta_{2}\mathcal{L}_{\mathrm{grad}} LGcon=β1Lint+β2Lgrad

L i n t = 1 H W ∑ ⋅ ∑ ⋅ S 1 i , j ⋅ ( I f u s e d i , j − I 1 i , j ) 2 + S 2 i , j ⋅ ( I f u s e d i , j − I 2 i , j ) 2 \mathcal{L}_{\mathrm{int}}=\frac{1}{HW}\sum_{\cdot}\sum_{\cdot}S_{1_{i,j}}\cdot(I_{\mathrm{fused}_{i,j}}-I_{1_{i,j}})^{2}+S_{2_{i,j}}\cdot(I_{\mathrm{fused}_{i,j}}-I_{2_{i,j}})^{2} Lint=HW1S1i,j(Ifusedi,jI1i,j)2+S2i,j(Ifusedi,jI2i,j)2

S 1 i , j = sign ⁡ ( R B ( I 1 i , j ) − min ⁡ ( R B ( I 1 i , j ) , R B ( I 2 i , j ) ) ) , S 2 i , j = 1 − S 1 i , j , \begin{aligned}S_{1_{i,j}}&=\operatorname{sign}(RB(I_{1_{i,j}})-\min(RB(I_{1_{i,j}}),RB(I_{2_{i,j}}))),\\S_{2_{i,j}}&=1-S_{1_{i,j}},\end{aligned} S1i,jS2i,j=sign(RB(I1i,j)min(RB(I1i,j),RB(I2i,j))),=1S1i,j,

重复模糊函数
R B ( ⋅ )   =   a b s ( I i , j − L P ( I i , j ) ) RB(\cdot)~=~abs(I_{i,j}-LP(I_{i,j})) RB() = abs(Ii,jLP(Ii,j))
LP (⋅) 表示低通滤波器函数。值得注意的是,S(⋅)的大小也是H × W。
L g r a d = 1 H W ∑ i ∑ j S 1 i , j ⋅ ( ∇ I f u s e d i , j − ∇ I 1 i , j ) 2 + S 2 i , j ⋅ ( ∇ I f u s e d i , j − ∇ I 2 i , j ) 2 . \begin{aligned}\mathcal{L}_{\mathrm{grad}}&=\frac1{HW}\sum_i\sum_jS_{\mathbf{1}_{i,j}}\cdot(\nabla I_{\mathrm{fused}_{i,j}}-\nabla I_{\mathbf{1}_{i,j}})^2\\&+S_{2_{i,j}}\cdot(\nabla I_{\mathrm{fused}_{i,j}}-\nabla I_{2_{i,j}})^2.\end{aligned} Lgrad=HW1ijS1i,j(Ifusedi,jI1i,j)2+S2i,j(Ifusedi,jI2i,j)2.

判别器

判别器的损失功能使判别器能够准确识别真假数据。在我们的方法中,假数据是融合图像的梯度图。真实数据是我们构建的联合梯度图。

G r a d f u s e d = a b s ( ∇ I f u s e d ) G r a d j o i n t = max ⁡ ( a b s ( ∇ I 1 ) , a b s ( ∇ I 2 ) ) , Grad_{\mathrm{fused}}=\mathrm{abs}(\nabla I_{\mathrm{fused}}) \\ Grad_{\mathrm{joint}}=\max(\mathrm{abs}(\nabla I_1),\mathrm{abs}(\nabla I_2)), Gradfused=abs(Ifused)Gradjoint=max(abs(I1),abs(I2)),

L D a d v = 1 N ∑ n = 1 N [ D ( G r a d f u s e d n ) − b ] 2 + [ D ( G r a d j o i n t n ) − c ] 2 \mathcal{L}_{D_{\mathrm{adv}}}=\frac1N\sum_{n=1}^{N}[D(Grad_{\mathrm{fused}}^{n})-b]^{2}+[D(Grad_{\mathrm{joint}}^{n})-c]^{2} LDadv=N1n=1N[D(Gradfusedn)b]2+[D(Gradjointn)c]2
其中 b 是融合图像梯度图的标签,应设置为 0。c 是联合梯度图的标签,应设置为 1。

也就是说,判别器期望准确地将联合梯度图识别为真实数据,将融合图像的梯度图识别为假数据。在这种约束下,判别器可以引导生成器在信息维护方面的倾向,即有利于强纹理保存.

总体架构

image-20231108222112489

生成器架构

我们将生成器拆分为两条路径来提取信息,对应于两个源图像。生成器网络的设计灵感来自pseudo-Siamese,它擅长处理两种相对不同的输入。由于多焦点图像对在相应的像素位置清晰或模糊,因此pseudo-Siamese网络适用于此类图像

image-20231108215808309

在这两条路径中,都有四个卷积层来提取特征。第一个卷积层使用 5 × 5 卷积核,其余三个卷积层使用 3 × 3 卷积核。它们都使用 Leaky ReLU 作为激活函数。为了防止卷积过程中的信息丢失,我们根据 DenseNet 的思想重用了这些特征.

同时,为了提取更充分的信息,我们在两条路径之间交换信息。具体来说,交换的信息是通过连接和卷积的方法生成的。然后,交换的信息与所有前一个卷积层的输出连接在一起,作为下一个卷积层的输入。

最后,我们将两条路径中所有卷积层的输出串联起来,然后通过卷积层生成融合图像。卷积层的核大小为 1 × 1,激活函数为 tanh。值得注意的是,在所有卷积层中,填充模式设置为“SAME”,即特征图的大小在整个卷积过程中没有变化,这与源图像的大小相同。

判别器架构

image-20231108222051637

判别器中的输入有两种类型,一种是基于源图像的联合梯度图和融合图像的梯度图。鉴别器由四个卷积层和一个线性层组成。四个卷积层的卷积核大小为 3 × 3,它们都使用了LeakyReLU 激活函数。这些卷积层的步幅设置为 2。最后一层是用于查找分类概率的线性层。

训练细节

我们的实验是在两个数据集上进行的,比如Lytro数据集[34]和我们基于公共数据库构建的MFI-WHU数据集。

在 Lytro 数据集和 MFI-WHU 数据集上,用于测试的图像对数分别为 10 和 30。对于训练,为了获得更多的训练数据,我们采用了剪裁分解的扩展策略。具体来说,对于 Lytro 数据集,我们将其余图像裁剪为 22,090 个大小为 60 × 60 的图像图块对进行训练;对于 MFI-WHU 数据集,我们将其余图像裁剪为 202,246 个大小为 60 × 60 的图像patch对进行训练。

batch_size=32,epochs=20,训练一个epoch需要m步数,将一张图片分为多个patch,m设置为所有patch数除以b. 一般考虑训练更多的判别器,训练判别器次数是生成器的p倍.

image-20231109104901606

我们将图像从 RGB 转换为 YCbCr 色彩空间。由于 Y 通道(亮度通道)可以表示结构细节和亮度变化,因此我们只致力于融合 Y 通道值。对于 Cb 和 Cr 通道(色度通道),我们以传统方式融合它们。然后,将这些通道的融合分量转移到RGB以获得最终结果。

一些结果

多焦图像融合

image-20231118163720106

image-20231118164233372

红外可见光图像融合

image-20231118164258767

代码链接

drowning-in-codes/UFGAN: GAN for Image Fusion which is inspired by FusionGAN and U-net (github.com)

drowning-in-codes/MFF-GAN: Code of MFF-GAN: An unsupervised generative adversarial network with adaptive and gradient joint constraints for multi-focus image fusion. (github.com)

colab 链接UFGAN.ipynb - Colaboratory (google.com)

一些想法

利用预训练模型提供内容和风格 transfer learning?

利用cGAN思想? 此外损失函数的设计有必要换成神经网络而不是人工设计的一些值了.可以看看一篇CVPR的TARDALhttp://arxiv.org/abs/2203.16220

参考资料

  1. 详细理解RGB图像、全色图像、多光谱图像、高光谱图像-CSDN博客

  2. Linfeng-Tang/Image-Fusion: Deep Learning-based Image Fusion: A Survey (github.com)

    综述

  3. Image fusion meets deep learning: A survey and perspective - ScienceDirect

  4. Current advances and future perspectives of image fusion: A comprehensive review - ScienceDirect

如有疑问,欢迎各位交流!

服务器配置
宝塔:宝塔服务器面板,一键全能部署及管理
云服务器:阿里云服务器
Vultr服务器
GPU服务器:Vast.ai

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

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

相关文章

PgSQL技术内幕-Bitmap Index Scan

PgSQL技术内幕-Bitmap Index Scan 1、简介 Bitmap索引扫描是对索引扫描的一个优化,通过建立位图的方式将原来的随机堆表访问转换成顺序堆表访问。主要分为两点:1)管理每个Bitmap的hash slot没用完时,每个Bitmap代表每个heap页中满…

LeetCode【92】翻转链表II

题目: 思路: https://blog.csdn.net/DarkAndGrey/article/details/122146216 public ListNode reverseBetween(ListNode head, int left, int right) {if(head null || right left){return head;// 头节点为null,链表为空,反…

340条样本就能让GPT-4崩溃,输出有害内容高达95%?OpenAI的安全防护措施再次失效

仅需340个示例微调GPT-4,即可绕过安全限制,让模型说出“枪支改装方法”、“生化武器制作过程”等有害内容? OpenAI的安全防护措施再次失效,攻击的成功率高达95%! 近日,美国顶尖大学UIUC与斯坦福联合对GPT…

华为麒麟服务器--硬盘问题

记录以下今天处理的服务器: 情况说明:linux 系统,不知道什么原因系统就突然不能用了(据说是前段时间断电来着,但是机房有应急电源)。 系统环境: 服务器:华为RH2288H V3 服务器 服…

(数据库管理系统)DBMS与(数据库系统)DBS的区别

数据库管理系统(DBMS,Database Management System)和数据库系统(DBS,Database System)是两个相关但不同的概念。 DBS是一个更广泛的概念,指的是计算机系统引入数据库后的系统,包括数…

vscode设置代码模板

一键生成vue3模板代码 效果演示 输入vue3 显示快捷键 按回车键 一键生成自定义模板 实现方法 进入用户代码片段设置 选择片段语言 vue.json输入自定义的代码片段 prefix是触发的内容,按自己的喜好来就行; body是模板代码,写入自己需要的…

SpringBoot常见注解

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:每天一个知识点 ✨特色专栏&#xff1a…

leetcode刷题日志-68.文本左右对齐

给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可…

基于截图页面生成前端项目

前两天,在群里看见一个视频,视频中,作者截图twitter首页,然后使用截图直接生成与截图布局非常相近的前端项目,效果还是比较惊艳的。 今天陪老婆回老家,路上clone这个项目的代码到本地,学习了一下…

IDEA自动注解设置(中文版)

IDEA自动注解设置 1、添加类自动注释 文件 - 设置 - 编辑器 - 文件和代码模板 - Include - File Header /** *description:TODO *author: ${USER} *create: ${DATE} ${TIME} */2、添加类方法自动注释 文件 - 设置 - 编辑器 - 实时模版 - …

ARouter出现 there‘s no route matched in group问题排查

在使用ARouter时候会出现找不到映射路径的问题,这里给兄弟们总结下踩过的坑 所有用到的模块都要有填写依赖 android {defaultConfig {......javaCompileOptions {annotationProcessorOptions {arguments [AROUTER_MODULE_NAME: project.getName()]}}} } ... depe…

超详细~25考研规划~感恩现在努力的你!!!

25考研规划 俄语,翻译过来叫我爱你 考试时间 第一天 8.30-11.30政治——100分 2.00-5.00英语——100分 第二天 8.30-11.30数学——150分 2.00-5.00专业课——150分 1.什么是25考研 将在2024年12月参加考研,2025年本科毕业,9月读研究…

ANR问题分析的一般套路

目录 一.ANR初步了解1.发生原因2.ANR分类 二.ANR的Log解读1.Log获取2.案例一:sp耗时问题导致应用ANR 三.系统耗时分析方案1.binder_sample2.dvm_lock_sample3.binder starved4.案例二:疯狂Binder Call导致应用ANR5.案例三:广播超时导致App的A…

Django+Vue项目创建 跑通

参考链接: 【精选】DjangoVue项目构建_django vue-CSDN博客 一、背景 主要介绍如何使用后端Django 前端Vue 的技术栈快速地搭建起一套web项目的框架。 为什么使用Django和Vue? Django是Python体系下最成熟的web框架之一,由于Python语言的易用…

012 C++ AVL_tree

前言 本文将会向你介绍AVL平衡二叉搜索树的实现 引入AVL树 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序普通的二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。因此,两位俄罗斯的数学家G.M…

直流电机干扰的产生-EMC和EMI

直流电机干扰的产生-EMC和EMI 干扰的产生电路滤波处理EMC处理措施 干扰的产生 带电刷的电动机,由于在电刷切换时,电动机线圈中的电流不能突变,当一路线圈通电断开时,会在该线圈的两端产生较高的反电动势,这个电动势会…

2023.11.17使用flask将多个图片文件上传至服务器

2023.11.17使用flask将多个图片文件上传至服务器 实现功能: 1、同时上传多个图片文件 2、验证文件扩展名 3、显示上传文件的文件名 4、显示文件上传结果 程序结构 main.py from flask import Flask, request, jsonify, render_template import osapp Flask(__n…

vscode快捷键使用总结

) 1、格式化选中的代码 1、格式化选中的代码 vscode中选中所要格式化的代码: ctrl k,ctrlf 其实可以查到该命令 ctrlshiftp打开命令窗口输入format

单片机实验(二)

前言 实验一:用AT89C51单片机控制LCD 1602,使其显示两行文字,分别显示自己的学号和姓名拼音。 实验二:设计一个中断嵌套程序。要求K1和K2都未按下时,单片机控制8只数码管,滚动输出完整的学号。当按一下K1…

中间件安全:Apache 目录穿透.(CVE-2021-41773)

中间件安全:Apache 目录穿透.(CVE-2021-41773) Apache 的 2.4.49、2.4.50 版本 对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等&#xff0c…