Page 337 - 《软件学报》2021年第11期
P. 337
丁玲 等:使用 VGG 能量损失的单图像超分辨率重建 3663
趋近于 0 时,判别器不再产生额外的梯度,因此基于能量的对抗生成网络是相对稳定的.为了使真实数据与生成
的高分辨率图像之间的微小差异反映在基于能量的对抗损失中,本文使用图像的有效特征构建能量.该特征可
以使能量函数对图像微小的变化敏感.基于这个思路,本文使用自编码器编码数据,以 AE 的重构损失作为能量.
加权能量函数
生成器Generator
VGG
DeConv 生成的 编码器 解码器
低分辨率 高分辨率 生成图像的 生成图像的
输入图像 VGG特征 能量函数
图像
VGG
真实的 编码器 真实图像的 解码器
高分辨率 VGG特征 真实图像的
能量函数
图像
VGG编码器 GAN判别器
内容损失 + GAN损失
Fig.2 Diagram of a VGG-SRGAN model
图 2 VGG-SRGAN 的模型示意图
不同于先前基于能量的 GAN 模型,在本文中,为了提取更加有效的编码特征,所使用的 AE 基于 ImageNet
数据集训练好的 VGG 编码网络提取有效的图像特征;为了得到更有效的重构损失作为能量,本文针对 VGG 编
码器设计相应的可训练的解码器组成基于 VGG 编码的 U-Net 结构,训练判别器使数据流具有低的能量;然后利
用该判别器训练生成器,使生成的高分辨率图像样本追踪数据的能量流.该对抗损失称为 VGG 能量损失.
基于 VGG 编码的 U-Net:VGG-UAE 示意图表示如下(如图 3 所示),本文使用该网络对数据进行编码,得到
的重构损失记为 U(x).如前文所述,VGG-SRGAN 中的目标函数包括两个部分:基于 VGG 编码的重构损失 L con
和基于 VGG 能量的对抗损失 L GAN .VGG 编码器的特征提取过程记为 VGG feature (⋅).
根据我们定义的生成器 Generator,我们把两个损失定义如下:
L con =[VGG feature (Real_H)−VGG feature (Fake_H)] 2 (1)
其中,Real_H 表示真实的高分辨率图像(真实数据),Fake_H 表示由生成器得到的与真实图像对应的伪造的高分
辨率图像:
Fake_H=Generator(Input_L) where resolution(Fake_H)=4×resolution(Input_L) (2)
根据公式(2),可以使用 Generator,由输入的低分辨率图像 Input_L 生成对应的高分辨率图像 Fake_H.公式(1)
利用 VGG 编码器提供了基于 VGG 编码的重构损失,接下来我们定义基于 VGG 能量的对抗损失:
L′ = E [ ( )]U x − E [ ( )] where U x Fake _ H = Generator (Input _ )L (3)
_
GAN x Fake∼ _ H x∼ Re al H
其中,U(x)为能量函数,表现为 AE 的形式.该 AE 基于使用 VGG 编码器的 U-Net 网络输出重构损失,并将该重构
损失作为能量函数:
U(x)=AE_Loss(VGG feature (Image_H)) (4)
其中,对于真实的高分辨率图像 Real_H,得到与之对应的能量 U real (x),模型的目标之一是使伪造的高分辨率图像
能够追踪能量 U real (x).能量 U 可以看作势能面,数据应当位于势能的最低点,因此在目标函数中,我们加入能量
函数的梯度惩罚项,使数据点的能量梯度为 0.由此,公式(3)可以表达为如下形式:
L GAN L′ GAN + λ = E x Real∼ _ H [||∇ θ U ( ) || ]x 2 (5)
因此,VGG-SRGAN 的目标函数可以表示为