Page 335 - 《软件学报》2021年第11期
P. 335

丁玲  等:使用 VGG 能量损失的单图像超分辨率重建                                                     3661


                 构建相对稳定的辅助能量损失,本文借鉴统计力学中玻尔兹曼分布的概念以及基于能量的 GAN 模型                                   [18] ,玻尔
                 兹曼分布建立了能量和概率之间的关系,根据玻尔兹曼分布,能量越低对应样本的概率就越大,当能量函数建模
                 了真实的高分辨率图像时(真实的高分辨率图像都对应着低能量值,理想情况下,这个能量趋近于 0),其对应的
                 概率分布可以认为是真实数据的分布 P data ,因此假设服从数据分布的样本具有低能量,那么当传递给判别器的
                 样本能量足够低时,就可以认为该样本服从数据分布,由此构建的生成对抗网络可以看作是利用模型分布追踪
                 数据的能量流.基于这个思路,本文使用自编码器(auto encoder,简称 AE)建模能量函数,AE 的重构误差天然适合
                 表示隐式形式的能量函数.
                    •   首先,使用真实的高分辨率图像训练 AE,AE 的重构误差表示数据的能量,当样本接近数据的能量流
                        时,AE 的重构误差小,对应于低能量,根据玻尔兹曼分布,该样本以高概率属于数据分布,而生成器的训
                        练目标一方面最小化重构损失、一方面追踪该能量函数.为了使真实数据与生成的高分辨率图像之间
                        的微小差异反映在基于能量的对抗损失中,本文需要使用图像的有效特征构建能量,且该特征应当使
                        能量函数对图像微小的变化敏感.因此,表示能量的 AE 使用构建重构损失时使用的 VGG 编码部分,并
                        设计相应的可训练的解码器组成 U-Net 自编码结构,该自编码结构称为 VGG-UAE,利用 VGG-UAE 的
                        重构误差表示能量,并把该能量用作判别器,训练判别器使数据流具有低能量.
                    •   然后,利用该判别器训练生成器,使生成的高分辨率图像追踪数据的能量流.
                    该对抗损失称为 VGG 能量损失.因此,本文的目标函数由 VGG 重构损失和 VGG 能量损失两部分组成,训
                 练过程同时最小化这两个损失、完成 SR 任务.在本文的实验部分,我们通过实验验证了使用 VGG 能量作为对
                 抗损失,不仅可以提高深度神经网络在 SR 任务中的表现,还可以使生成的高分辨率图像相对稳定.
                    本文的主要贡献可以概括如下.本文在 SR 任务中构建了基于能量的对抗辅助损失,称为 VGG 能量损失.为
                 了更加稳定的完成 SR 任务,我们使用能量函数,使模型追踪数据的能量流;为了使高分辨率图像的微小差异反
                 映在基于能量的对抗损失中,能量损失使用训练好的 VGG 编码部分和可训练的解码部分组成 VGG-UAE 结构,
                 从而使用更加有效的重构损失作为能量损失.
                    本文首先介绍 SR 任务的常用方法以及存在的问题.第 2 节为本文提出的基于 VGG 能量的 SR 模型:VGG-
                 SRGAN.第 3 节通过实验验证本文提出的方法在 SR 任务中的有效性.第 4 节为总结与展望.
                 1    相关工作

                    与本文相关的研究是使用神经网络完成 SR 任务.目前,在 SR 任务中最常使用的神经网络是深度卷积神经
                 网络,模型以一个低分辨率图像(Input_L)作为输入,输出与之对应的高分辨率图像(Fake_H);通过最小化 Fake_H
                 与真实的高分辨率图像(Real_H)之间的距离,训练深度卷积神经网络,从而完成由低分辨率图像到高分辨率图
                                                                 2
                 像之间的映射.但是,当使用传统的均方误差(Real_H−Fake_H) 作为重构损失函数时(基于均方误差的度量指标
                 在图像处理领域被称为峰值信噪比),生成的 Fake_H 虽然在峰值信噪比指标上表现良好,但是图像的细节不够
                 清晰锐利.一方面,这是由于使用 L2 重构损失作为损失函数会促使图像中新生成的像素点趋近于其周边的像素
                 的平均值;另一方面,最小化高分辨图像之间的 L2 距离会产生一个平均结果,不能很好地反映像素级别的微小
                 差异.为了生成更加清晰锐利的高分辨率图像,在深度卷积神经网络的基础上,学者们使用高分辨率图像深度特
                 征之间的距离作为重构损失,并调整了目标函数的形式,将目标函数由传统的重构损失拓展到重构损失+对抗
                 辅助损失的形式;使用基于对抗的辅助损失来优化高分辨图像的细节.具体而言,对于训练集中的高分辨率图
                 像,首先使用高斯模糊将其变成原尺寸 1/16 的低分辨率图像(height 和 width 各变为原来的 1/4),然后把该低分
                 辨率图像传递到基于深度卷积神经网络的生成器中作为输入,输出该图像对应的高分辨率图像 Fake_H,然后将
                 Fake_H 和 Real_H 输入给训练好的 VGG 网络中,提取深度特征,将深度特征之间的距离作为重构损失,该重构损
                 失称为 VGG 重构损失.模型同时最小化 Fake_H 与 Real_H 的对抗损失,SRGAN 论文中把这种损失取名为
                 Perceptual Loss(本文称其为对抗损失).这个损失本质上是基于对抗正则化的重构误差,其中,使用 VGG 重构损
                 失是为了防止图像模糊,图像模糊是因为使用峰值信噪比作为损失会导致生成的图像的所有像素都趋向于总
   330   331   332   333   334   335   336   337   338   339   340