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

3662                               Journal of Software  软件学报 Vol.32, No.11, November 2021

                 误差的平均值,因此虽然图像的峰值信噪比指标表现得非常理想,但是生成的超分辨率图像仍然模糊.而 VGG
                 重构损失度量高分辨率图像特征之间的距离,因此能够更有效地反映图像之间的微小差异.对抗损失的加入,更
                 多的作用是提供正则化,生成细节更锐利的图像.SRGAN 的网络结构以及部分生成图像如图 1 所示.





                                 生成器Generator
                                                       加权的
                                            生成的
                           低分辨率    DeConv             判别损失
                           输入图像            高分辨率
                                            图像           +
                                                      内容损失
                                             真实
                                           高分辨率
                                             图像

                                 Fig.1    Diagram of a SRGAN model and some generated unreal images
                                       图 1   SRGAN 的模型示意图以及生成的失真的图像

                    对于 SRGAN,其主体还是使用两个图像之间的相似度度量作为损失,对抗损失只起到辅助作用.但是实际
                 应用中,使用 SRGAN 生成的超分辨率图像会存在不稳定的问题.从图 1 右图可以看出,虽然 SRGAN 生成的图像
                 具有很高的还原度,但是也会存在不稳定的问题.我们已知:使用传统的 end-to-end 方法直接训练神经网络来完
                 成 SR 任务尽管不能得到清晰的 4×超分辨率重建,但是不会出现图 1 中不稳定的情形.结合先前的分析可以推
                 断,SRGAN 的不稳定是由对抗损失引起的.为了克服上述问题、生成更加锐利的图像,本文在常用的 VGG 重构
                 损失基础上设计了一个稳定、有效的基于对抗的辅助损失.为了构建相对稳定的对抗辅助损失,本文将高分辨
                 率图像编码为能量函数的形式,并使用该能量函数替代 GAN 中的判别器.假设服从数据分布的样本具有低能
                 量,那么当传递给判别器的样本对应的能量足够低时,就可以认为该样本服从数据分布,由此构建的生成对抗网
                 络可以看作是利用模型分布追踪数据的能量流.追踪数据能量流的优势在于:当能量趋近于 0 时,判别器不再产
                 生额外的梯度,因此基于能量的对抗生成网络是相对稳定的.从损失函数的角度看,内容损失部分使用了 VGG
                 网络编码的特征,那么这个 VGG 网络也可以用作能量函数中的特征编码器,只需针对 VGG 编码设计一个解码
                 器,就可以设计一个能量函数形式的判别器,并建立内容损失和对抗损失之间的联系,从而稳定训练过程.
                 2    基于 VGG 能量的 SR 模型

                    本文所做的工作是,在 VGG 重构损失的基础上构建了基于能量的对抗辅助损失,称为 VGG 能量损失.为了
                 更加稳定地完成 SR 任务,我们使用能量函数的概念,使模型追踪数据的能量流;为了使高分辨率图像像素的微
                 小差异反映在基于能量的对抗损失中,能量损失使用 VGG 编码部分和可训练的解码部分组成自编码结构——
                 VGG-UAE.该模型称为 VGG-SRGAN,其模型结构图如图 2 所示.
                    如图 2 所示,左侧部分表示由低分辨率图像到高分辨率图像的生成器 Generator;右侧部分表示基于 VGG 能
                 量的判别器,其中,VGG 编码网络部分使用训练好的 VGG 网络模型,在 VGG-SRGAN 中不训练 VGG 编码网络
                 的参数.此时,VGG 编码器被用作一个给定的特征提取器.因此,可以使用 VGG 编码网络完成特征编码、构建内
                 容损失(图 2 中的 content loss),同时利用 VGG 编码网络编码能量函数,只需根据编码完成解码,构造基于 VGG
                 编码的自编码器,使用 VGG-AE 的损失作为能量即可.该自编码器使用 U-Net 网络结构,称为 VGG-UAE.整个过
                 程中,VGG 编码部分不需要训练.对于 VGG-SRGAN,其生成器(generator)为基于残差的卷积神经网络,输入为低
                 分辨率图像,通过逐步的卷积和上采样操作得到 4×超分辨率图像.判别器为 VGG-UAE,网络的目标是使数据的
                 能量尽可能低,并以数据的能量为指标,使生成的样本追踪数据的能量流.追踪数据能量流的优势在于:当能量
   331   332   333   334   335   336   337   338   339   340   341