【浅读论文-VIF-AE】DenseFuse: A Fusion Approach to Infrared and Visible Images
一 概述
这篇是2019年发表的一篇基于DenseNet的论文,也是据博主所知,第一篇使用完全深度学习的结构应用在VIF的论文。 1 一般被认为是第一篇在VIF中使用深度学习的方法。
📖 论文地址
💻 代码地址(ps:这个代码是我自己简单实现的版本,如果有任何问题请及时和我联系)
二 介绍
论文中,作者认为目前已有的CNN方法存在两个缺点:
- 网络架构太简单。为了解决这一问题,提出了基于编码器和解码器的深度学习架构,使用编码器提取图像特征,使用解码器重建图像。
- 仅使用图像特征的最后一层的结果,会失去很多中间层有用的信息,随着网络结构加深,这种信息丢失会更加严重。为解决这一问题,文章使用DenseBlock保存更多有用的信息,因为DenseBlock的编码网络中每一层获得的特征图可以和下一层的输入级联。
三 方法
模型结构
直接上图,从图中,可以看到每一层的网络框架还是很清楚的。接下来对编码器和解码器以及融合策略详细描述。
图像预处理:作者把源图像转化为灰度图像(输入图像是预先配准好的),如果没有配准好就用现有的配准算法先配准,在网络结构中不进行处理。所有图像被resize大小为256*256。
编码器
作者把源图像转化为灰度图像(输入图像是预先配准好的),然后传入到编码器中
编码器包含两个部分:一层卷积层和一个DenseBlock块。
卷积层包含3 * 3卷积,使用到反射模式用于填充输入图像,编码器中的输入通道为16。由卷积层初步提取的特征传入DenseBlock层。
DenseBlock块由三层3 * 3卷积,每层输出级联作为下一层的输入。
这样的网络结构由两个优点:
- 输入图像可以是任意尺寸大小
- DenseBlock可以保存尽可能多的信息,并且在融合策略中可以使用所有的深度特征。
解码器
融合层的输出是解码器的输入。解码器包含四个3 * 3 卷积层,模型仅使用简单的方法重建融合图像。
融合策略
在融合层,作者使用了不同融合策略。
1.加法
加法策略如图所示
其中
ϕ
i
m
(
x
,
y
)
\phi _{i}^{m}(x,y)
ϕim(x,y)表示第i中数据的第m通道,m∈{1,2,…,64},k≥2,fm为融合结果,用于传入解码器的输入。计算公式如下:
f m ( x , y ) = ∑ i = 1 k ϕ i m ( x , y ) \begin{equation*} f^{m}(x,y) = \sum _{i=1}^{k} \phi _{i}^{m}(x,y)\end{equation*} fm(x,y)=i=1∑kϕim(x,y)
2.L1范数策略
加法策略对于显著特征选择是一种非常粗糙的策略,所以在网络中,作者提出采用L1-norm和soft-max操作,示意图如图所示:
这个融合策略和博主上一篇的博文的融合策略一样。
传送门【浅读论文-VIF-CNN】Infrared and Visible Image Fusion using a Deep Learning Framework
Initial activity level map通过计算特征图(Feature Maps)的l1-norm得到的,计算公式如下:
C
k
i
(
x
,
y
)
=
∥
ϕ
k
i
,
1
:
M
(
x
,
y
)
∥
1
\begin{equation*} C_{k}^{i}(x, y)=\Vert \phi_{k}^{i, 1:M}(x, y)\Vert_{1} \end{equation*}
Cki(x,y)=∥ϕki,1:M(x,y)∥1
然后使用基于block的平均算子得到final activity level map,计算公式如下:
C
^
k
i
(
x
,
y
)
=
∑
β
=
−
r
r
∑
θ
=
−
r
r
C
k
i
(
x
+
β
,
y
+
θ
)
(
2
r
+
1
)
2
\begin{equation*} \hat{C}_{k}^{i}(x, y)=\frac{\sum\nolimits_{\beta=-r}^{r}\sum\nolimits_{\theta=-r}^{r}C_{k}^{i}(x+\beta, y+\theta)}{(2r+1)^{2}} \end{equation*}
C^ki(x,y)=(2r+1)2∑β=−rr∑θ=−rrCki(x+β,y+θ)
其中,r表示block的大小,在本文中r=1。
得到活动水平图后,权重图可以由softmax算子计算,如下式所示:
W
k
i
(
x
,
y
)
=
C
^
k
i
(
x
,
y
)
∑
n
=
1
K
C
^
n
i
(
x
,
y
)
\begin{equation*} W_{k}^{i}(x, y)=\frac{\hat{C}_{k}^{i}(x, y)}{\sum\nolimits_{n=1}^{K}\hat{C}_{n}^{i}(x, y)} \end{equation*}
Wki(x,y)=∑n=1KC^ni(x,y)C^ki(x,y)
融合特征图是每个特征图与其对应的权重相乘并求和得到的。
f
m
(
x
,
y
)
=
∑
i
=
1
k
w
i
(
x
,
y
)
×
ϕ
i
m
(
x
,
y
)
\begin{align*} f^{m}(x,y)=&\sum \nolimits _{i=1}^{k} w_{i}(x,y) \times \phi _{i}^{m}(x,y) \end{align*}
fm(x,y)=∑i=1kwi(x,y)×ϕim(x,y)
损失函数
损失函数分为像素损失 L p L_{p} Lp和结构性损失函数 L s s i m L_{ssim} Lssim
像素损失
像素损失是计算输入和输出的欧几里得距离,像素损失计算公式如下:
L
p
=
∣
∣
O
−
I
∣
∣
2
\begin{align*} L_{p} = ||O-I||_{2}\end{align*}
Lp=∣∣O−I∣∣2
结构性损失
结构性损失函数计算公式如下:
L
s
s
i
m
=
1
−
S
S
I
M
(
O
,
I
)
\begin{equation*} L_{ssim} = 1-SSIM(O,I)\end{equation*}
Lssim=1−SSIM(O,I)
其中SSIM(⋅)表示结构相似性运算,表示两幅图像的结构相似性。
总损失
因此,总损失计算公式如下:
L
=
λ
L
s
s
i
m
+
L
p
\begin{equation*} L = \lambda L_{ssim}+L_{p}\end{equation*}
L=λLssim+Lp
由于在训练阶段,像素损失和 SSIM 损失之间存在三个数量级的差异,因此 λ 分别设置为 1、10、100 和 1000。
四 实验结果
训练阶段
下图是训练步骤中像素损失(a)、SSIM损失(b)和总损失(c)的图形图。水平轴上的每个点表示 100 次迭代,我们选择前 5000 次迭代。和“蓝色” λ=1 ;“红色” λ=10 ;“绿色” λ=100 ;“黄色” λ=1000.
在训练阶段,作者使用MS-COCO作为输入图像。在这些源图像中,大约有79000张图像用作输入图像,1000张图像用于验证每次迭代的重建能力。
如图所示,在前2000次迭代中,随着SSIM损失权重λ数值指数的增加,网络具有快速收敛性。因为像素损失和SSIM损失之间的数量级是不同的。当λ增大时,SSIM损失在训练阶段起着更重要的作用。
下图是验证过程中像素损失和结构性损失的变化图
在验证阶段中,我们从 MS-COCO 中选择 1000 张图像作为训练网络的输入。利用像素损失和SSIM来评估重构能力。从图中可以看出,SSIM损耗随着λ的增加而起着重要作用。当迭代增加到 500 时,当 λ 设置为较大的值时,像素损失和 SSIM 会获得更好的值。
但是,当迭代次数大于 40000 时,无论选择哪种损失权重,我们都会得到最佳权重。总的来说,在训练初期,随着λ的增加,我们的网络会获得更快的收敛。λ越大,训练阶段的时间消耗就越少。
实验结果
作者用目前已有的六种方法和模型进行对比。
a)主观评估
从图中可以看出,所提方法得到的融合图像在红框中的噪声都较少。与GTF、CNN和DeepFuse相比,所提融合方法在红框中保留了更详细的信息。
在这个图中,可以发现使用基于CNN的方法融合图像时,融合图像比其他图像更暗。造成这种现象的原因可能是基于CNN的方法不适用于红外和可见光图像(?实际上应该是这些方法提取的特征和重建方法有缺点)。而所提出的方法获得的融合图像看起来更自然。
b)客观评估
质量指标的最佳值以粗体表示,次优值以蓝色和斜体表示。
所提出的方法在FMIdct、SSIMa中具有最佳值,这表明我们的方法保留了更多的结构信息和特征。所提方法得到的融合图像在En,Qabf和SCD值最佳,说明图像更自然,人工噪声更少。
综上,这说明所提出的网络是红外和可见光图像融合任务的有效架构。
c)RGB 图像和红外图像的其他结果
我们使用固定网络(编码器、融合层、解码器)来融合这些图像,如图所示。
处理 RGB 缩放图像时,RGB 中的每个通道都被视为一个灰度图像。因此,一对RGB比例图像有三对通道,每对通道都将图像输入到我们的网络中。然后,通过我们的网络获得三个融合通道,我们将这些融合通道组合成一个融合的RGB图像。
结果如图所示:
五 总结
这篇文章作为深度学习用于VIF的开山之作,给了后来研究者们一个参考,可以使用编码器-解码器的形式,以及特征提取和特征重建的网络架构来处理VIF。这篇作为这个方向的研究生必须要读的论文(虽然和现在相比,网络结构很简单,但是推荐手动复现一下)。
后来,2020年出现了很多模型都是用卷积网络作为特征提取和重建模块,后续再进行介绍。
文章有不对之处,请各位批评指正。
H. Li and X. -J. Wu, “DenseFuse: A Fusion Approach to Infrared and Visible Images,” in IEEE Transactions on Image Processing, vol. 28, no. 5, pp. 2614-2623, May 2019, doi: 10.1109/TIP.2018.2887342. ↩︎