- Esrgan:增强型超分辨率生成对抗网络。
- Esrgan: Enhanced super-resolution generative adversarial networks.
- In: ECCVW. (2018)
- Xintao Wang, Ke Yu, Shixiang Wu, Jinjin Gu, Yihao Liu,Chao Dong, Yu Qiao, and Chen Change Loy.
详细介绍了针对SRGAN的三个改进:
而密集块中的密集连接正是为了避免正反向传递过程中的信息丢失问题(图像信息、梯度),从而使网络具有更高的容量并且更容易训练。
答案往往是否定的,当训练和测试数据集的统计数据差距很大时,BN层往往会引入一些令人不快的伪影,并限制其泛化能力。
通过实验发现,当再GAN框架下训练更深的网络时,BN层更有可能会带来伪影,这也违反了训练过程中对稳定性能的需求。
这主要是借用了EDSR、Inception-v4的网络思想
。redisual scaling:通过学习到的残差乘上一个0~1的常数,然后再和主通路上的特征信息做加法,有利于增强网络的稳定性。
smaller initialization: 初始查参数方差越小,残差结构的网络越容易训练。
这是引入了真实图像和生成图像见的相对距离(Relativbistic average GAN,RaGAN),而不是SRGAN中的衡量0和1之间的绝对距离。
具体来说,ESRGAN的目的是:让真实图像的判决分布减去生成图像的平均分布,在对上述结果做sigmoid,使得结果更接近于1;让生成图像的判决分布减去真实图像的平均分布,在对上述结果做sigmoid,使得结果更接近于0。
使用激活后得特征图计算感知损失会使得重建图像得亮度和ground-truth图像不一致。
文章中提到了新的图像质量评估标准(无参照评估):Ma’s score 和NIQE,计算公式为:perceptual index(即PI) = 1/2 ((10 ? Ma) + NIQE), PI值越小,感知质量越好。
上图中,对于不同的评价标准而言,PSNR and SSIM越高越好,而RMSE and PI越低越好。可以看出,虽然EDSR and RCAN的RMSE很低,但PI却很高,说明感知质量并不好,ESRGAN则相反。
最后,为了平衡感知质量和PSNR指标,作者提出了网络插值。这能够调整重建风格和光滑度。同时,作者将在3.4节对比网络插值和基于像素空间的图像插值的关系。
该部分主要列出了当年的一些trick
网络络目标为提升图片的整体感知质量,主要涉及四个方面:
主要对生成器G的结构进行改进:
ESRGAN仍然使用SRGAN网络的高层架构设计,网络共由3部分组成:
基于相对 GAN 增强了判别器:
- SRGAN中标准的辨别器D:为了让真实图像的判别结果的概率更趋近于1(真),让生成图像的判别结果的概率更趋近于0(假)。
- ESRGAN中的相对平均辨别器D(RaD):让生成图像和真实图像之间的距离保持尽可能大。
参数解释:
-
x
r
x_r
xr?:真实数据,即
x
i
:
L
R
图像
x_i: LR图像
xi?:LR图像
-
x
f
x_f
xf?:假数据,
x
f
=
G
(
x
i
)
:
S
R
图像
x_f = G(x_i): SR图像
xf?=G(xi?):SR图像
-
σ
\sigma
σ:sigmoid函数:x–> -∞时,
σ
\sigma
σ(x)–>0,x–> +∞时,
σ
\sigma
σ(x)–>1。
- C(x):未变换的鉴别器输出
-
E
x
i
E_{x_i}
Exi??:对小批量中所有 真数据/假数据 取平均值的操作。
-
D
R
a
D_{Ra}
DRa?:相对平均鉴别器RaD
两大缺点(使用VGG激活层后的特征计算感知损失)
改进:
生成器的优化函数表达式: L G = L p e r c e p + λ L G R a + η L 1 ( 3 ) L_G = L_{percep}+λL^{Ra}_{G} + \eta L_1\quad\quad\quad (3) LG?=Lpercep?+λLGRa?+ηL1?(3)
符号含义:
L p e r c e p L_{percep} Lpercep?:在激活之前的感知损失
L 1 = E x i ∣ ∣ G ( x i ) ? y ∣ ∣ 1 L_1 = \mathbb E_{x_i}||G(x_i) - y||_1 L1?=Exi??∣∣G(xi?)?y∣∣1?:( L 1 范数 L_1范数 L1?范数)评估生成图像 G ( x i ) G(x_i) G(xi?)和真实图像y之间的距离。
λ 、 η \lambda、\eta λ、η:平衡不同损失项的系数。
目的:
- 消除基于GAN方法中的令人不快的噪声,同时保持良好的感知质量。
原理:
- 首先训练一个基于PSNR的网络
G
P
S
N
R
G_{PSNR}
GPSNR?,
- 然后通过微调获得一个基于GAN的网络
G
G
A
N
G_{GAN}
GGAN?,
- 然后对这两个网络的所有相应参数进行插值,得到插值模型
G
I
N
T
E
R
P
G_{INTERP}
GINTERP?。
公式如下:
θ
G
I
N
T
E
R
P
=
(
1
?
α
)
θ
G
P
S
N
R
+
α
θ
G
G
A
N
(
4
)
\theta^{INTERP}_{G} = (1 - \alpha)\theta^{PSNR}_{G} +\alpha\theta^{GAN}_{G}\quad\quad\quad(4)
θGINTERP?=(1?α)θGPSNR?+αθGGAN?(4)符号含义:
网络插值的优点:
1. 插值模型能够为任何可行的 α 生成有意义的结果,而不会引入伪影。
2. 可以持续平衡感知质量和保真度,而无需重新训练模型。
是否还有其他平衡方法?
1. 对输出图像(pixel by pixel)逐元素进行插值,但是无法在噪声和模糊之间实现良好的平衡:
- 因为,插值后的图像,要么太模糊,要么带有伪影的噪声。
2. 调整内容损失和对抗损失的权重参数(公式3中的
λ
、
η
\lambda、\eta
λ、η):
- 这种方法需要调整损失权重和微调网络,因此实现图像风格的持续控制的成本太高。