概要
SRGAN的特点之一就是引进了损失感知函数,由此提升了超分辨率之后的细节信息。本文主要像您介绍SRGAN使用的损失函数,及其Keras实现。
损失函数公式

这是原文中给出的损失函数。
容易看出,此损失函数包括两部分,第一部分是感知损失,第二部分是正则化损失。
感知损失
感知损失是由李飞飞团队提出的一种损失函数。
感知损失分了两部分,内容损失和对抗损失。
内容损失
论文中给出的内容损失如下:

论文中指出:传统的超分辨率任务中直接使用的均方根误差(MSE)的损失函数,虽然有助于提高超分辨率任务的峰值信噪比(PSNR),但是对于图像的细节却是起到了模糊作用。
本文使用的内容损失,是将生成器生成的假高分辨率图像和真实的高分辨率图像送入VGG19网络中进行特征提取,然后在提取的特征图上再使用均方根误差。
这里并非是利用全部的VGG19网络提取特征,而是仅仅利用其中一部分。所以对应不同层数的VGG19网络进行提取。例如使用前9层进行特征提取,或者前7层进行特征提取。
公式下方也讲了:这里的i和j分别就是指第i层最大池化前的第j个卷积层。
作者进行了实验,在VGG网络不同位置提取出的特征图,并将其均方根误差作为内容损失进行了训练。
作者选取的层数如下:

SRGAN-MSE是直接使用MSE在假高分图像和真高分图像之间计算。
SRGAN-VGG22:是利用第二个最大池化前的第二个卷积层之前的网络进行特征提取,在假高分图像和真高分图像进行MSE均方根误差的计算。
也就是VGG19网络的前4层进行特征提取。
SRGAN-VGG54:是利用第五个最大池化前的第四个卷积层之前的网络进行特征提取,在假高分图像和真高分图像进行MSE均方根误差的计算。
也就是VGG网络的前16层的输出。
实验结果表明,SRGAN-VGG54的细节信息最好,人眼的观赏效果也最好。

显然,直接使用MSE的效果是不佳的。VGG22和VGG54效果是逐渐提升的。

本文深入探讨SRGAN网络中的损失函数,包括感知损失和对抗损失,以及如何使用VGG19网络的不同层来提取特征,提升超分辨率图像的细节表现。通过对比MSE、VGG22和VGG54的实验结果,揭示了SRGAN在图像细节增强方面的优势。
最低0.47元/天 解锁文章
593





