2

论文阅读 - ESRGAN 增强版的 SRGAN

 2 years ago
source link: https://blog.kehan.xyz/2019/02/23/%E8%AE%BA%E6%96%87%E9%98%85%E8%AF%BB-ESRGAN-%E5%A2%9E%E5%BC%BA%E7%89%88%E7%9A%84-SRGAN/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

ESRGAN 增强版的 SRGAN

论文阅读 - ESRGAN 增强版的 SRGAN

Kehan Xue February 23, 2019 am

786 字

10 分钟

24 次

ESRGAN 是增强型的 SRGAN:
SRGAN 是图像超分辨率中改进视觉体验中的一个里程碑。其在 GAN 网络使用残差块和感知损失优化来构建基础模型。通过这些 SRGAN 显著提高了基于 PSNR 的方法重建的整体视觉效果。但是 SRGAN 生成的图像仍然和真实的图像存在明显的差异。

Paper:

Xintao Wang, Ke Yu, Shixiang Wu, Jinjin Gu, Yihao Liu, Chao Dong, Chen Change Loy, Yu Qiao, Xiaoou Tang

ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks

To appear in ECCV 2018 workshop. Won Region 3 in the PIRM2018-SR Challenge. Code and models are at this https URL

文章主要提出了三个创新点:

  1. 引入密集残差块(RDDB)来提升模型的结构,使之具有更大的容量和更易于训练。并且去除了 BN,使用了残差缩放的方法(residual scaling), 并且节点权重初始化较小,使其可以训练成一个更深的网络。

    原 RB(Residual Block):

    RRDB(Residual in Residual Dense Block):

  2. 借用相对 GAN 的思想,让判别器判断的是相对真实性而不是绝对真实度 (RaGAN)。相对平均 GAN 学习判断 “是否一个图像相比于另一个更真实” 而不是 “是否一个图像是真或假”。

    改进后的感知损失函数表达式:

    LDRa=−Exr[log⁡(DRa(xr,xf))]−Exf[log⁡(1−DRa(xf,xr))]L_{D}^{R a}=-\mathbb {E}_{x_{r}}\left [\log \left (D_{R a}\left (x_{r}, x_{f}\right)\right)\right]-\mathbb {E}_{x_{f}}\left [\log \left (1-D_{R a}\left (x_{f}, x_{r}\right)\right)\right] LDRa​=−Exr​​[log(DRa​(xr​,xf​))]−Exf​​[log(1−DRa​(xf​,xr​))]

    LGRa=−Exr[log⁡(1−DRa(xr,xf))]−Exf[log⁡(DRa(xf,xr))]L_{G}^{R a}=-\mathbb {E}_{x_{r}}\left [\log \left (1-D_{R a}\left (x_{r}, x_{f}\right)\right)\right]-\mathbb {E}_{x_{f}}\left [\log \left (D_{R a}\left (x_{f}, x_{r}\right)\right)\right] LGRa​=−Exr​​[log(1−DRa​(xr​,xf​))]−Exf​​[log(DRa​(xf​,xr​))]

    ESRGAN 同时使用了生成器生成的数据和真实数据来训练,而 SRGAN 仅仅使用了生成的数据。论文后面展示了这种方法改进后,一些边和细节的纹理处理的更好了。

  3. 利用 VGG 的激活前的特征值改善感知损失,会使得生成的图像有更加清晰的边缘(为亮度的一致性和纹理恢复提供更强的监控)

    最终生成器的损失函数为:

LG=Lpercep+λLGRa+ηL1 L_{G}=L_{\text {percep}}+\lambda L_{G}^{R a}+\eta L_{1} LG​=Lpercep​+λLGRa​+ηL1​

作者拿去参加 ECCV2018 的 PIRM-SR 挑战赛的 ESRGAN 网络采用了 16 个 RRDB 模块。论文中也说了拿去参赛的 ESRGAN 做的一些小改动。

  1. MINC 损失函数作为感知损失函数的变种。3.3 节论文中有说。

  2. Pristine 数据集被加入到训练中去了。(这一点说明我们可以在 ASC19 中也从数据集上都手脚)

  3. 上面损失函数 L1 的系数设为 10

  4. 使用了一种叫做 back projection 的后处理方式。Timofte, R., Rothe, R., Van Gool, L.: Seven ways to improve example-based single image super resolution. In: CVPR. (2016) 这篇论文。可以改进 PSNR 系数并且有时候可以使得 PI 降低。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK