Towards Robust Blind Face Restoration with Codebook Lookup Transformer(NeurIPS 2022)
这篇论文试图解决的是盲目面部恢复(blind face restoration)问题,这是一个高度不确定的任务,通常需要辅助指导来改善从低质量(LQ)输入到高质量(HQ)输出的映射,或者补充输入中丢失的高质量细节。具体来说,论文关注以下几个关键问题:
-
如何在不知道具体退化过程的情况下(即盲目恢复),从严重退化的输入图像中恢复出高质量的面部图像。
-
如何减少恢复映射的不确定性和模糊性,特别是在输入图像质量较低时。
-
如何在保持高保真度的同时,生成具有丰富视觉细节的高质量面部图像。
为了解决这些问题,论文提出了一种基于Transformer的预测网络,名为CodeFormer,它利用在一个小的代理空间中学习的离散码本(codebook)先验,将盲目面部恢复任务转化为码预测任务。这种方法旨在通过全局建模低质量面部的组成和上下文,发现与目标面部紧密近似的自然面部,即使输入图像严重退化。此外,为了增强对不同退化类型的适应性,论文还提出了一个可控的特征转换模块,允许在保真度和质量之间进行灵活的权衡。
本文的主要方法如下:
- 在高质量的数据集上训练一个VQVAE,得到一个具有清晰视觉细节的Decoder、CodeBook和Encoder
- 在低质量数据集上微调Encoder,并且在Encoder到CodeBook直接插入一个Transformer,用作LQ的Embdedding到HQ的Embedding的映射,因为空间是离散的,相当于一个分类预测任务了.注意transformer和Encoder是一起训练的.
- 一个CFT的short-cut来控制quality和fidelity之间的权衡.为什么这个CFT能控制,因为从encoder可通过short-cut传入的Embedding是能包含更多的信息,因此保真度(fidelity)更好,但是embedding的从LQ提取的,因此quality会变差.
上图给出了为什么使用VQVQE,因为VAE输出的Embedding是连续的,包含的潜空间太大,而VQVAE可以看作聚类,从LQ->HQ的映射,为了保证图像质量,我们希望这个映射空间较小,从而更可能生成高质量的图像.,更有利于模型学习.
CodeFormer也可以用于图像编辑之类的.
- 做超分可以借鉴一下上述的pipeline
- 对于VQVAE、连续空间和离散空间的理解:连续空间包含更多信息,但是也会引入噪声;离散空间通过缩小映射空间从而过滤一下噪声.