申请试用
登录
核心技术
以原创技术体系为根基,SenseCore商汤AI大装置为核心基座,布局多领域、多方向前沿研究,
快速打通AI在各个垂直场景中的应用,向行业赋能。

CVPR 2021 Oral | GLEAN: 基于隐式生成库的高倍率图像超分辨率

2021-09-14

在VPR 2021上, 南洋理工大学S-Lab和商汤科技等提出的隐式生成库(Generative Latent Bank), 针对高倍率图像超分辨中的质量和保真度问题提出了一个新的思路。GLEAN通过利用预训练的GAN中丰富多样的先验知识,得到有效的超分效果。与现有方法相比,由GLEAN放大的图像在保真度和纹理真实度方面显示出明显的改进。


论文名称: GLEAN: Generative Latent Bank for Large-Factor Image Super-Resolution


Part 1 问题与挑战


Generative Adversarial Network(GAN)已在超分辨率任务中被广泛使用,其目的是丰富复原图像中的纹理细节。现有方法一般可以分为两种:


1)第一种方法(如ESRGAN [1])训练生成器以处理放大任务,其中通过使用鉴别器将真实图像与生成器生成的放大图像区分开来进行对抗训练。在这种设置下,生成器既负责捕获自然图像特征,又负责保持对GT 的保真度。这不可避免地限制了逼近自然图像流形的能力。因此, 这些方法经常产生伪像和不自然的纹理。


2)第二种方法(如PULSE [2])通过优化来更好地利用GAN的潜在空间来解决上述问题。但是,由于低维隐码(latent code)和图像空间中的约束不足以指导恢复过程,这些方法通常会生成低保真度的图像。

 

如下图所示,虽然ESRGAN能够恢复猫的结构(例如,姿势,耳朵的形状),但仍难以产生逼真的纹理。另一方面,尽管PULSE的输出是真实的,但其保真度非常低, 未能恢复物体的结构。


图片 1.png


Part 2 方法介绍


在大规模自然图像上训练的GAN模型可捕获丰富的纹理和形状先验。先前的研究表明,可以通过GAN Inversion来获取此类先验信息,以使各种图像恢复任务受益。但是,如何利用先验而不进行反演过程中的复杂优化仍然是一个没有被充分研究的问题。

 

在这项研究中,我们在一种新颖的encoder-bank-decoder结构中设计了GLEAN,该体系结构允许人们只需要一个forward-pass就可以利用生成先验。如下图所示,给定严重降采样的图像,GLEAN应用encoder提取潜在矢量(latent vector)和多分辨率卷积特征,这些特征捕获了重要的高层线索以及LR图像的空间结构,可以用于调节latent bank,为decoder产生了另一组多分辨率特征。


最后, decoder通过集成来自encoder和latent bank的特征来生成最终输出。在这项工作中,我们采用 StyleGAN [3,4]作为latent bank。这里要强调的是这个概念可以扩展到其他网络,例如BigGAN[5]。


image.png


1. Encoder

为了产生latent vector,我们首先使用RRDBNet [1](表示为E0)从输入LR图像中提取特征f0。然后,我们通过以下方法逐渐降低特征的分辨率:

image.png

其中Ei (i =1, 2, …, N)表示一个stride-2卷积和stride-1卷积的堆栈。最后,使用卷积和全连接层来生成latent vector:

image.png

其中C是一个矩阵,其列表示StyleGAN需要的latent vector。C中的latent vector捕获图像的压缩表示,为latent bank(StyleGAN) 提供high-level信息。为了进一步获得LR图像的局部结构并为结构恢复提供其他指导,我们还将多分辨率卷积特征fi嵌入到latent bank。


2. Generative Latent Bank


给定卷积特征fi和latent vector C,我们利用预训练的生成器(StyleGAN)作为latent bank来提供纹理和细节生成的先验。由于 StyleGAN是为图像生成任务而设计的,因此无法直接集成到建议的encoder-bank-decoder框架中。在这项工作中,我们进行了三处修改,使StyleGAN更能配合我们的超分网络:


1/生成器的每个块都采用一个不同的latent vector来提高表达能力,而不是将一个latent vector作为输入。更具体地说,假设StyleGAN有k个块,那C=(c0, c1, …, ck-1),其中每个ci代表一个latent vector。我们发现这种修改导致输出的伪像更少。在以前的工作中[6,7]也可以看到这种修改。


2/为了允许使用encoder的特征,我们在每个块中使用了一个附加的卷积来进行特征融合:

image.png

其中Si表示具有附加卷积的块,而gi代表第i个块的输出特征。


3/我们不是直接从StyleGAN生成输出,而是输出特征gi并将它们传递给decoder,以更好地融合latent bank和encode r中的特征。


优点:我们的Generative Latent Bank与Reference-Based SR[8,9]有着类似的想法。在Reference-Based SR中, 虽然使用外部HR信息作为图像字典可带来显着改善,但其网络性能对输入和参考之间的相似性很敏感。


当参考图像或人脸部位(如眼睛、鼻子、嘴)选择不当时,不匹配的字典可能导致结果变差。另外,这些方法经常需要计算量大的全局匹配或人脸部位检测/选择来从参考中聚集适当的信息,阻碍了对具有严格计算约束的场景的应用。

 

相反地,GLEAN并未构建图像字典,而是采用了GAN-based字典。我们的字典不依赖于任何特定的参考图像块。取而代之的是,它捕获图像的分布,并且可能具有无限的大小和多样性。此外,GLEAN的计算效率很高,无需全局匹配和参考图像块选择。


3. Decoder


GLEAN使用附加的具有渐进融合功能的decoder来集成encoder和latent bank中的特征以生成输出图像。它以RRDBNet特征作为输入,并将特征与latent bank中的多分辨率特征逐步融合:

image.png

其中Di和di分别表示3x3卷积及其输出。除最终输出层外,每个卷积后面都有一个pixel-shuffle层。通过 decoder和encoder之间的跳过连接,可以增强encoder捕获的信息,因此latent bank可以将更多的精力集中在纹理和细节生成上。


Part 3 实验结果


image.png


上图展示了16x SR上的定性比较。在低维向量和LR空间中的约束的指导下,GAN Iinversion方法的输出无法保持良好的保真度: PULSE[2]和mGANprior[6]无法还原相同身份的人脸。另外,在它们的输出中观察到伪像。


通过在优化过程中微调生成器,DGP[10]的结果在质量和保真度方面得到显着提升。但是,仍然可以观察到输出和GT之间的差别。例如,眼睛和嘴唇显示出明显的差异。

 

经过对抗性损失训练的方法(SinGAN [11],ESRGAN+(具有与GLEAN相似的FLOPs的ESRGAN[1])可以保留局部结构,但无法合成令人信服的纹理和细节。具体而言,SinGAN无法捕捉自然图像样式,从而产生类似绘画的图像。


尽管ESRGAN+能够生成逼真的图像,但仍难以合成精细的细节,并在细节区域引入不自然的伪像。值得强调的是,尽管ESRGAN+在人脸方面取得不错的结果,但它在其他类别上的表现却不太好,如下图所示:


image.png

通过latent bank提供的自然图像先验,GLEAN在保真度和自然度方面都取得了成功。为了进一步验证我们的方法在保真度的优越性,我们计算了ArcFace[12]特征的cosine similarity。从下表可以看到我们的方法胜过其他方法,证明了我们方法在保持身份一致性上的优越性。


image.png


我们将GLEAN扩展到更高的放大倍率。GLEAN成功地生成了真实而且接近GT的图像,最多可进行64x的放大。


image.png

以下是更多例子,GLEAN在照片写实和身份保存方面具有明显优势:


image.png

image.png

image.png

image.png

image.png

image.png


Part 4 结语


在本文中,我们提出了一种新方法,可以利用经过预训练的GAN来进行大规模超分辨率任务,最高的放大倍率为64x。从实验结果可以得出,预训练的GAN可以用作encoder-bank-decoder体系结构中的latent bank。


相比之前GAN Inversion的方法,GLEAN仅需进行一次网络向前传播来调节和检索latent bank中的先验信息,从而重建高清图像。GAN-based字典的普遍性使GLEAN不仅可以扩展到各种体系结构,而且可以扩展到其他图像复原任务上,如图像去噪,去模糊和着色等。

 

另外, 我们CVPR21的另一篇中稿文章(https://ckkelvinchan.github.io/projects/BasicVSR/) 对于视频超分作出分析并提出两个新算法(BasicVSR和IconVSR )。我们基于这两个算法作出改进, 在NTIRE21比赛中取得2个冠军。BasicVSR和IconVSR的代码已开源到MMEditing,欢迎大家关注:)


论文地址

https://arxiv.org/abs/2012.00739


作者介绍

陳焯杰(Kelvin C.K. Chan) | 南洋理工大学S-Lab和MMLab@NTU三年级博士生。在顶级会议上发表过五篇论文,在NTIRE视频复原比赛中共获得六个冠军。导师是吕健勤(Chen Change Loy)副教授。当前主要研究兴趣为图像和视频复原,主要包括超分辨率和去模糊等。

个人主页:https://ckkelvinchan.github.io/

实验室主页:mmlab-ntu.github.io


References

1.Xintao Wang et al. "ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks" In ECCVW 2018.

2.Sachit Menon et al. "PULSE: Self-Supervised Photo Upsampling via Latent Space Exploration of Generative Models." In CVPR 2020.

3.Tero Karras, Samuli Laine, and Timo Aila. "A Style-Based Generator Architecture for Generative Adversarial Networks." In CVPR 2019.

4.Tero Karras et al. "Analyzing and Improving the Image Quality of StyleGAN." In CVPR 2020.

5.Andrew Brock, Jeff Donahue, and Karen Simonyan. "Large scale GAN Training for High Fidelity Natural Image Synthesis." In ICLR 2019.

6.Jinjin Gu, Yujun Shen, and Bolei Zhou. "Image Processing Using Multi-Code GAN Prior." In CVPR 2020.

7.Jiapeng Zhu et al. "In-Domain GAN Inversion for Real Image Editing." In ECCV 2020.

8.Xiaoming Li et al. "Blind Face Restoration via Deep Multi-Scale Component Dictionaries." In ECCV 2020.

9.Zhifei Zhang et al. "Image Super-Resolution by Neural Texture Transfer." In CVPR 2019.

10.Xingang Pan et al. "Exploiting Deep Generative Prior for Versatile Image Restoration and Manipulation." In ECCV 2020.

11.Tamar Rott Shaham, Tali Dekel, and Tomer Michaeli. "SinGAN: Learning a Generative Model from a Single Natural Image." In ICCV 2019.

12.Jiankang Deng et al. "ArcFace: Additive Angular Margin Loss for Deep Face Recognition." In CVPR 2019.