(基于生成对抗网络与感知一致的图像融合)
常见的一些话语、一些分类
(1) 多尺度变换融合。在这里,首先使用pyramid ,curvelet ,contourlet 等将每个源图像分解为一组多尺度表示特征。其次,根据具体的融合规则对多尺度特征表示进行融合,最后采用相应的逆多尺度变换得到融合图像。
(2) 稀疏表示融合。从高质量图像中学习过完整的字典,并在每个滑动窗口补丁上使用稀疏编码来获得稀疏表示系数。最后,通过过度完整的字典重建融合的图像。有代表性的融合算法,如稀疏表示 (SR) 和梯度直方图 (HOG) ,联合稀疏表示 (JSR),近似稀疏表示与多选策略等
(3) LRR融合。低秩表示 (LRR) 可用于提取低秩域中的源图像特征。然后根据特定的融合规则对融合特征图进行融合,并重建融合图像。
(4) 基于神经网络的方法,神经网络具有较强的适应性、容错能力和抗噪声能力。它可以提取特征并很好地融合。
(5) 基于子空间的方法。这些方法旨在将高维图像投影到低维空间。这样可以减少冗余信息的干扰,并获得源图像的内部结构。这些方法导致了成功的算法,如PCA、ICA 、NMF。
(6) 基于显著性的方法。可以使用显着模型提取源图像的显着区域,从而可以获得权重图或提取显着对象,然后根据显着特征重建融合图像。
(7) 其他方法。上述每种方法都有其优点和缺点,我们可以结合它们的优点来进一步提高融合质量,例如混合多尺度变换和显著性,混合多尺度变换和神经网络,混合多尺度变换和稀疏表示等方法。另一方面,模糊逻辑理论也是获取加权图进行红外和可见光图像融合的一个非常有用的工具 。
尽管传统方法可以很好地完成图像融合任务,但仍然存在诸如噪声和伪影之类的问题。
深度学习是计算机视觉领域的优秀应用,在图像融合方面有很多优秀的方法 。浅层神经网络中有许多有效的方法,例如少于十层的网络;例如,在中间层使用卷积神经网络 (CNN) 或稀疏自动编码器 (SAE) 来确定特征,作为权重计算工具来获得两个源图像的权重图;此外,可以根据权重图对图像进行融合;此外,可以通过PCANet 的密集块 (Densefuse)或PCA滤波器提取一组特征,并将特征融合在中间层中。然后通过特定的解码操作过程来融合图像。
在深度学习网络中,还可以使用预先训练的模型 (例如VGGNet 和ResNet) 提取深度特征并将其融合,并且重建的特征提供了融合的图像。除了使用神经网络作为特征提取的工具外,它还可以直接充当端到端图像融合网络。如FusionGAN ,它的生成器网络带有适当的损失函数,可以直接从源图像生成理想的融合图像。GAN网络广泛应用于图像融合任务,包括多焦点图像融合 (MFF-GAN) 、多曝光图像融合 (MEF-GAN)、遥感图像融合 (PAN-GAN)等。
近年来,随着生成对抗网络 (GAN) 的快速发展,可以生成具有足够信息和良好视觉效果的图像。这些方法广泛用于超分辨率,语义分割和图像增强。GAN也可以用图像融合, ma等人是第一个使用GAN进行图像融合的人。通过将源图像添加到GAN网络的生成器,生成器生成包含源图像特征信息的融合图像。它设计了适当的损失函数来控制发生器中融合图像的结构,鉴别器提高了融合质量。尽管可以提取红外图像中的特征信息,但是融合图像会丢失源图像的边缘和细节纹理信息。ma等人又提出了两种基于gan的改进网络,用图像融合,例如DDcGAN和ResNetFusion,它们具有出色的性能但是,它们存在诸如图像模糊,细节丢失和对融合图像的感知差等缺点。在这种情况下,我们认为网络在融合过程中会丢失部分源图像特征,以及细节纹理信息的丢失需要补充。
为了提高GAN的端到端融合质量,本文提出了一种新的GAN网络框架。
为了添加详细信息,在生成器中使用了密集块,并将具有更丰富细节特征的浅层和源图像与更深层连接。此外,我们在每一层连接可见图像,以便融合后的图像保留更多的可见信息。
为了使融合图像具有与两个源图像相似的结构,将结构相似性损失函数和梯度损失添加到生成器以控制生成的图像与源图像之间的结构相似性。另一方面,鉴别器的作用是将融合的图像与可见图像进行比较, 并获得损耗值。因为可见的图像通常具有更好的视觉效果,并且更符合人类的审美感知。鉴别器旨在迫使融合图像朝向可见图像,以增强融合图像的视觉效果。在我们提出的网络中,生成器是端到端融合网络。图像融合不需要提取特征来计算权重图或设计出色的融合策略。该方法使用生成器直接生成所需的融合图像。生成器网络只有五层。网络模型是在早期阶段获得的,具有大量的图像进行预训练,因此生成器可以快速生成融合的图像。因此,图像融合达到了实时效果。
(1) 我们应用密集连接作为生成的骨干网络,我们使用可见图像的跳过连接来融合来自可见光的图像纹理信息,这很简单,但对增强融合图像的纹理细节非常有效。
(2) 我们放弃了公共均方误差损失函数作为内容损失函数,并用结构相似性损失和梯度损失代替了它。
(3) 此外,我们计算图像与可见光图像之间的对抗性损失,以确保生成的图像足够真实和自然。
Goodfellow等人在NIPS 2014发表的论文中首次提出了生成对抗网络 (GAN) 的概念。GAN的算法有两个网络模型。其中之一是发生器,噪声z是输入,它的任务是生成看起来真实的假图像。另一个是鉴别器,它以真实图像x或生成的假图像为输入,它的任务是确定给定图像是真实图像还是假图像。从分析上讲,生成器旨在最小化生成的图像与真实图像之间的数据分布差距。它使假图像 () 的分布尽可能接近真实图像 () 的分布,使得两个数据之间的判别结果相似。鉴别器的目的是尽可能最大限度地区分真实和假图像。这两个网络进行对抗性培训,如下所示:
鉴别器 首先被优化以区分真实和生成的图片,它可以为生成器 提供一个损耗值。然后对生成器进行优化。最后 ( ()) 趋于0.5,这意味着鉴别器无法区分生成器生成的假图像是否是真实图像。它还实现了GAN的目标,即生成器 能够产生看起来真实的图像。
首次提出的GAN仍有许多弊端。GAN中的sigmoid激活层很容易饱和。经过几次训练后,鉴别器可以区分数据的真实性,但是鉴别器无法提供有效的梯度,并且生成器无法有效地更新。Mao等人提出了一种最小二乘GAN (LSGAN) [31],他们将网络中的sigmoid激活层改为线性激活层,并使用最小二乘法计算了损耗。损失函数定义如下:
其中 和 分别表示假数据和真数据的标签,c表示生成器用来欺骗鉴别器成功的标签。该作者提出了两种设置值的方法。一种方法是使用 − = 1和 − = 2,以最小化 和 之间的Pearson Chi 2散度。另一种方法是设置 = ,例如取 = = 1, = 0。通过这种方式,LSGAN可以有效地对由鉴别器正确区分但与正确的数据大相径庭的数据产生较大的损失,从而可以更有效地训练网络以生成更高质量的图像。在本文提出的方法中,我们选择了 = = 1, = 0的策略训练网络。
FusionGAN虽然也可以进行不错的融合,但是仍然有以下的缺点:
1.尽管均方误差损失函数可以有效地约束生成的图像,但是L2范数的约束将迫使图像同时从两个不同的源图像中学习信息。我们认为生成的图像主观上似乎是灰色图像。
2.生成器的网络结构非常简单。尽管它可以生成图像,但很难捕获源图像的详细纹理信息。在FusionGAN的最后一层中,仅融合了前一层的深层语义特征。中间层和浅层获得的有用信息丢失。当网络层较深时,情况会变得更糟,因为深度特征图更抽象,而浅层显示的边缘细节信息更多。
3.使用鉴别器补充细节纹理确实可行。例如,用PatchGAN 替换鉴别器可能是提高图像分辨率的非常好的方法。但是,我们认为,与判断纹理信息量相比,鉴别器更容易使生成的图像偏向特定的数据分布。
为了克服这些缺点,我们设计了一种基于卷积网络和denseblock的新颖有效的发电机网络,以丰富特征细节信息。在每个卷积层中,我们还将原始图像和可见光图像连接起来,以保留其原始信息。我们设计了一个合理的损失函数,其中我们添加了梯度损失和结构损失,而不是均方误差。
Huang和Liu等人提出了新的网络框架DenseNet 。在此网络框架中,每一层都与通道维度中的所有前一层连接起来,作为下一层的输入。即每一层的输入为 = ([ 0, 1, 2,…, − 1 ])。其中 表示包括归一化、激活层、卷积层等的非线性运算。[ 0, 1, 2,…, − 1] 表示层 之前的所有层输出的串联。这样的操作可以使特征的重用尽可能多,因此只需要几个特征图。这不仅提高了特征的利用率,而且大大降低了网络参数,还减少了深度网络梯度消失的问题。
在Li和Wu等人发表的论文中,denseblock用于连接所有层中的特征,以提高融合质量。他们提出自动编码器网络由卷积神经网络和密集连接的网络组成。编码器中的每一层输出都连接到其后面的其他各层,以在编码过程中从原始图像和浅层中提取更有用的信息。预先训练的编码器模型可以对源图像进行编码,然后使用适当的融合策略融合特征。最后,由解码器重建融合图像。
(测试一下阶段,不使用鉴别器 ,只保留生成器,如图中的灰框所示,红外图像 与可见图像 级联,这些输入到发生器,得到融合图像 。)
我们的网络由生成器和鉴别器组成。在训练阶段,上图所示的网络使用串联的红外图像 和可见图像 作为发生器 的输入。经过5层卷积和密集块级联运算,得到融合图像 。然后将可见图像 和融合图像 输入到鉴别器 。他们俩都进行对抗性训练。
我们仅将可见图像输入到鉴别器中,而不是两个源图像。由于鉴别器判断发生器产生的图像是否足够「“real”」或足够「‘‘natural’’」,鉴别器可以强制发生器产生更自然的图像,而这主要参考可见光图像。换句话说,**鉴别器的损失可以改变生成器生成的图像的样式,但对生成器从源图像获得的详细信息量影响不大。**为了获得看起来自然的图像,我们决定将可见光图像和融合图像输入鉴别器,而不是两个源图像。
如图3所示,发电机网络 基于简单的卷积神经网络。可见图像 和红外图像 串接为发电机网络的输入图像。第一层包含一个5 × 5卷积内核,用于提取浅特征。如图3的灰色框所示,第二层至第五层形成denseblock卷积层,并且每一层的输出级联到所有后续层,作为对后续层的输入。第二层使用5 × 5卷积内核来扩展浅层网络的感受域。第三到第四层使用3 × 3卷积内核来减少网络参数。第五层使用1 × 1卷积核将串联特征降维到单通道图像,实现特征融合,从而以端到端的方式获得融合图像 。每层后面都有一个批归一化层,前四层有一个Leaky ReLU 激活函数,第五层有一个Tanh激活函数。我们选择Leaky ReLU 作为我们的激活功能,因为ReLU 激活功能会丢弃CNN负阈值神经元。这可能会使输出变得稀疏,但不适用于需要保留很多信息的图像融合任务。此外,密集的块使网络的前几层的浅层信息特征能够被尽可能地重用。颜色和边缘轮廓等细节在更深的层中得到很好的保存。
此外,重建网络如DenseFuse、DeepFuse等无法将源图像串联在中间层,这将导致网络通过跳过连接将源图像秘密复制到输出层。但是,在我们的方法中,我们计算具有两个图像的融合图像之间的多个有效损失,它必须能够生成包含来自两个图像的信息的图像。基于此,我们创新性地将可见图像直接串联在中间层。这样可以保留更多的可见图像信息,而不会丢失红外信息。我们使用可见光图像 作为输入图像的一部分。如图3中的绿色虚线连接所示,我们的网络在每个层中连接了 ,以补充特征的细节纹理信息。
在网络的每一层直接插入输入图像的操作可以使网络更容易地学习可见光图像信息。对于可见光图像,我们希望保留其原始细节。可见图像的跳过连接相当于使用不同深度网络进行可见光图像的特征提取。因此,从具有多个深度的网络中提取了可见光图像的基本信息,可以获取其语义信息,并尽可能保留其纹理信息。而且我们认为红外图像更重要的是辐射信息,辐射信息是一种局部语义信息,所以我们没有在中间层使用跳过连接,而使用最深的网络来提取红外图像的语义信息。
如上图所示:鉴别器网络由四个卷积层和一个全连接层组成。网络的输入图像是生成器的可见图像 或融合图像 。每个卷积层后面都有一个最大池化层。前四层使用Leaky ReLU激活功能,全连接层的最后一层选择Tanh激活功能。鉴别器网络的输出是一个标签,表示输入图像是真实图像还是融合图像。
为了使鉴别器能够更好地区分融合图像和可见图像,这里使用了LSGAN的损失函数。判别器的损失函数如下:
这里,我们只计算可见图像和融合图像的损失。根据GAN的理论,鉴别器仅用于图像分类。传统的融合图像既保留了红外信息,又保留了红外图像中光线模糊和暗淡的特征,图像往往是灰色的。在我们的网络中,鉴别器中可见图像和融合图像之间的损失会迫使生成器生成obvious图像,而不是灰色图像。换句话说,以前的融合方法 的大多数融合结果都是在学习红外图像和可见光图像的不同分布之间的平均数据分布。它们生成的融合图像更像是红外图像和可见光图像的插值图像。鉴别器将融合图像的数据分布移动到可见光图像的数据分布,使融合结果看起来更自然。我们的鉴别器用于增加融合图像的视觉效果,这符合人类的美学。对于红外信息的融合,主要取决于发生器损耗函数中的内容损耗。
生成器采用LSGAN生成器损失函数作为其损失函数如下:
其中 = = 1, = 0在我们的论文中。为了修改生成器的损失函数,我们希望生成器能够确保融合图像保留源图像细节。因此,内容损失函数 加入损失函数如下:
在以往的图像融合方法中,通常使用 2损失函数或均方误差损失。这种损失函数有以下缺点:
1.与小错误相比,MSE对大错误更敏感,这会使生成的图像趋于平滑。
2.网络直接对生成的图像和原始图像施加像素级的约束,而不考虑图像的整体结构,这将使生成的图像倾向于红外和可见光图像的平均图像—>灰色图像。
基于这一思想,我们舍弃了MSE损失函数。考虑到融合图像与原始图像之间的结构相似性,将 损失添加到损失函数中。为了使 能够从 和 中提取更多细节,将 损失添加到损失函数中。损失函数如下:
其中,分别计算 、 和 的结构相似度。这两个值乘以0.5。相似度计算算法 (,) 是用于计算两个图像 和 之间的亮度、对比度和结构差异的数值。计算公式如下:
其中 表示均值, 表示标准差。 越大,两者的结构相似度越高。在 中,我们期望 更大,因此我们将 (1 − ) 作为 的一部分。
(, ) 用来计算 与 的梯度差如下:
其中 为图像的像素数,▽为梯度计算运算,以 2范数计算的( ,) 为均值。 是一个超参数,用于平衡 和 的梯度权重。在我们的论文中,值 = 2。
The generator is a convolution neural network with denseblock.
The first layer and the second layer both use a 3 × 3 filter. The
third layer and the fourth layer both use a 3 × 3 filter, and the
fifth layer uses a 1 × 1 filter for channel dimensionality reduction
operation. The stride is set to 1, and the padding is set to SAME. We
do not perform a downsampling operation, in order to have the same
shape for concatenating features. To avoid the disappearance of the
network gradient, adding a batch normalization layer and a nonlinear
activation function behind each layer of the convolutional layer can
make the network more stable. For the activation function, the Leaky
Relu activation function is selected in the first four layers, and the Tanh
activation function is selected in the last layer. The detailed network
parameters of the generator network are given in Table 1.
生成器是带有denseblock的卷积神经网络。第一层和第二层都使用3 × 3滤波器。第三层和第四层都使用3 × 3滤波器,第五层使用1 × 1滤波器进行信道降维操作。步幅设置为1,填充设置为相同。为了使连接功能具有相同的形状,我们不执行降采样操作。为了避免网络梯度的消失,在卷积层的每一层后面增加一个批归一化层和一个非线性激活函数,可以使网络更加稳定。对于激活功能,在前四层中选择 Leaky Relu 激活功能,在最后一层中选择Tanh激活功能。生成器网络的详细网络参数如下表所示:
鉴别器参数鉴别器的前四层是卷积神经网络,其活动层具有Leaky ReLU 激活函数和最大池化层。在第四层中获得的特征被重塑为一个通道。最后一层是具有Tanh激活函数的全连接层,以获得分类结果。鉴别器的详细参数如表2所示