论文阅读笔记-GLEAN Generative Latent Bank for Large-Factor Image Super-Resolution

论文阅读笔记-GLEAN Generative Latent Bank for Large-Factor Image Super-Resolution

概述

将大量先验知识封装在一个预训练的GAN里。运行时仅需要一次前向传递就可以生成upscaled image。
整体网络架构为encoder-bank-decoder,其中包含多分辨率的skip connections,修改bank的先验可以处理不同的内容。
本文致力于大放大倍数的SR(8× to 64×)。越大的放大倍数,需要越有效的先验。

我们利用stylegan等作为预训练的gan来提供丰富的先验。
并且我们证明了可以利用预训练的gan在encoder-bank-decoder结构中是可以作为latent bank使用的。
这种新的结构可以减轻 要求同时保证保真度和纹理生成 的负担。
我们不仅利用latent vector去决定bank,还将从encoder得到的多分辨率卷积特征一起用来决定bank。同时多分辨率的信息还需从bank传递给decoder。

两种利用生成器解决SR的方法

  1. 第一种是利用辨别器去辨别生成器生成的图像进行对抗训练,这种方法的目标函数由保真项和对抗损失构成(fidelity term and an adversarial loss)。它的生成器既需要捕获图像的特征,也需要根据gt保证图像的保真度,这不可避免的限制了多样化逼近自然图像的能力,在output中会观察到artifacts。如ESRGAN所示,他恢复了正确的结构,但没有生成真实的纹理。
  2. 第二种利用GAN inversion。他将低分辨率图像转换成latent space,从latent space中寻找最优的vector去重建图像。它解决了第一种方法的问题,由于latent code是低维信息,所以它限制了图像空间并且无法有效的引导存储的过程,导致生成的图片保真度较低。例如PULSE,它没有正确的根据gt还原纹理。另外它在运行时是迭代的方式,因此通常很费时。

网络结构

Encoder

encoder提取出了latent vectors和多分辨率的卷积特征。它捕获了重要的高层线索以及LR图像的空间结构,这些线索用来决定latent bank。
使用RRDB(E0)提取LR图像的特征作为输入,然后逐渐减小图片的分辨率。
$$
f_i=E_i(f_{i-1})
$$
Ei表示一个步长为2的卷积和一个步长为1的卷积
最后的latent vectors C 由一个卷积和全连接层构成
$$
C=E_{N+1}(f_N)
$$
C是图像的压缩表示,给generative latent bank提供了高层的信息。
我们将多分辨率的特征也输入到latent bank中,以便近一步捕获LR图像的局部特征和结构的存储。

Generative latent bank

使用一个预训练的generator作为latent bank,例如stylegan,提供了纹理和细节的先验。
针对stylegan做了三点修改:

  1. 不像stylegan那样只使用一个latent vector,本文的generator的每一个block都使用了一个不同的latent vector(Ci)。
  2. 在每一个style block中使用一个额外的卷积层用来特征融合。
  3. 使用一个decoder,将特征gi传递到decoder,以便近一步融合特征。
    本文依赖的是latent code而不是具体的reference image,避免了reference image容易和input image不相似的情况,即最终结果对它们的相似性很敏感。并且容易受到图片大小尺寸样式的影响。

Decoder

将encoder提取的特征和latent bank整合生成输出图片。
它将RRDBNet作为输入,逐步融合latent bank里的多分辨率特征。

Di表示3×3的卷积。最后最后的output layer外,每一个卷积层后跟一个pixel shuffle操作。
这种encoder和decoder之间的跳跃连接,可以使得encoder提取的空间特征进一步加强,因此latent bank可以更专注于提取纹理细节。

训练细节

保证latent bank的weights训练途中不变,微调权重并没有带来显著的效果提升,甚至会给训练的分布带来偏差。
它与ESRGAN的主要区别就在于他用一个预训练的生成器直接在网络里加入了先验。
为了进一步说明GLEAN效果的提升不是因为增加的参数,作者还比较了GLEAN和ESRGAN+

损失函数

实验细节

对比人脸数据集 其他数据集 大放大倍数,均有最好的效果
若GLEAN用的是对齐的人脸图像训练的,对一些非对齐的图片或非人脸图像具有鲁棒性。

Ablation Studies(消融实验)

  1. 证明encoder里的多分辨率特征有帮助(否则仅能捕获全局信息,加入后可以捕获更多的局部细节)
  2. 证明latent bank里的feature作为prior有帮助
    (否则网络既需要生成真实的细节也需要保证跟gt有高保真度,这就会导致在结构存储和细节生成上有缺陷)
  3. 证明decoder有帮助(否则会产生artifacts)
  4. 对比一些reference-based methods方法(例如imagery dictionary)效果更好
    (例如当有一些细节没有出现在imagery dictionary里,效果变差)

详见word

文章目录
  1. 1. 论文阅读笔记-GLEAN Generative Latent Bank for Large-Factor Image Super-Resolution
    1. 1.1. 概述
    2. 1.2. 两种利用生成器解决SR的方法
    3. 1.3. 网络结构
      1. 1.3.1. Encoder
      2. 1.3.2. Generative latent bank
      3. 1.3.3. Decoder
    4. 1.4. 训练细节
    5. 1.5. 损失函数
    6. 1.6. 实验细节
|