人脸复原 (Face Restoration) 是指从低质量的人脸中复原得到高清的人脸。真实世界中的人脸复原是一个很有挑战的任务,因为降质 (degradation) 过程复杂且不尽相同。来自腾讯 PCG 应用研究中心 (ARC) 的研究者们提出了利用预先训练好的人脸生成模型提供的先验,来指导人脸复原的任务。

真实世界的人脸复原是一个盲问题,即我们不清楚降质过程, 在实际应用中,同时也面临着各种各样降质过程的挑战。对于人脸这个特定的任务, 之前的工作往往会探索人脸特定的先验, 并且取得了较好的效果。常见的人脸先验有两类:

几何人脸先验, 比如人脸关键点、人脸分割图、人脸热力图。然而从低质量的图片中很难取得比较准确的几何信息。此外, 它们很难提供纹理方面的信息。

参考图,即从数据库中取得相同或者相似的人脸作为参考 (Reference) 来复原。但是这样的高质量的参考图在实际中很难获取。ECCV20 提出的 DFDNet 工作进一步构建了一个人脸五官的字典来作为参考, 它可以取得更好的效果, 但是会受限于字典的容量, 而且只考虑了五官, 没有考虑整个脸。

与此同时, 生成对抗网络 GAN 的蓬勃发展, 特别是 StyleGAN2 能够生成足够以假乱真的人脸图像给来自腾讯 PCG 应用研究中心 (ARC) 的研究者们提供了一个思路: 是否可以利用包含在人脸生成模型里面的「知识」来帮助人脸复原呢?

研究核心利用了包含在训练好的人脸生成模型里的「知识」, 被称之为生成人脸先验 (Generative Facial Prior, GFP)。它不仅包含了丰富的五官细节, 还有人脸颜色, 此外它能够把人脸当作一个整体来对待, 能够处理头发、耳朵、面部轮廓。基于预训练好的生成模型, 研究者们提出了利用生成人脸先验 GFP 的人脸复原模型 GFP-GAN。先来看看它做到的效果:

相比于近几年其他人脸复原的工作, GFP-GAN 不仅在五官恢复上取得了更好的细节, 整体也更加自然, 同时也能够对颜色有一定的增强作用。

研究方法

首先来看 StyleGAN2 生成模型,它从一个可学习的常数向量开始, 不断地提高分辨率。其中的 latent code 向量用来调制 (Modulate) 各个卷积层的权重,最后生成真实且多样的人脸。

GFPGAN

下图是该研究的主要框架, 输入一张低质量的人脸, 首先经过 UNet 结构, 在这里有复原 loss 的 L1 约束 (灰色箭头),用以粗略地去除 degradations, 比如噪声、模糊、JPEG 等。同时更重要的是, 得到提取的 latent 特征向量 (绿色箭头) 和空间特征 (黄色箭头)。

在人脸复原中, 与其他工作不同, 仅仅通过调制 StyleGAN 的 latent codes, 因为没有考虑局部的空间信息会极大影响人脸的 identity。因此也要利用空间的特征来调制 StyleGAN 里面的特征。

GFP-GAN 基于现有的高效的空间特征变换 (Spatial Feature Transform,SFT) 层来达到这个目的。它能够根据输入的条件(这里是提取的低质量的图像特征), 生成乘性特征和加性特征,对 StyleGAN 的特征做仿射变换。为了进一步平衡输入图像的信息和 StyleGAN 中的信息, GFP-GAN 进一步将通道拆分为两部分, 一部分用来调制, 一部分直接跳跃过去。这样的调制会在由小到大的每个空间尺度上进行, 提高调制的效果。

损失函数

除了一般的 L1 和 Perceptual 复原损失函数外, GFP-GAN 的训练还使用了:

全局的 Discriminator, 判断人脸是否是真实的;

人脸五官的 Discriminators, 用来判断局部的人脸五官是否清晰, GFP-GAN 还考虑了纹理细节多且较难恢复的左右眼睛和牙齿;

为了保持人脸 identity 的一致, 使用了人脸 identity 一致损失函数, 即在人脸识别模型的特征空间中去拉近。

训练数据

和之前大部分工作类似,GFP-GAN 采用了 Synthetic 数据的训练方式。研究者们发现在合理范围的 Synthetic 数据上训练, 能够涵盖大部分的实际中的人脸。GFP-GAN 的训练采用了经典的降质模型, 即先高斯模糊, 再降采样, 然后加噪声, 最后使用 JPEG 压缩。

实验结果

研究者们首先在 CelebA-Test 上做了测试:

在 Synthetic 的量化指标上, 该研究提出的方法在 LPIPS、FID、 NIQE 都能够取得最好的结果,Deg. 是指人脸识别模型 ArcFace 的 Cosine 距离, 较小的值, 说明 identity 也保持的很好。

研究者们收集了多个不同来源的真实世界的人脸测试集, 都取得了不错的视觉效果。

在实际人脸测试指标上, GFP-GAN 也具有较好的 FID 和 NIQE:

研究者们还做了对比实验, 说明 CS-SFT、GFP、 pyramid loss 以及针对五官的 component loss 带来的效果提升。

当然, 现实世界的人脸多种多样, 降质模型也非常复杂, 即使 GFP-GAN 取得了很好的效果, 但也存在局限性。感兴趣的读者可以阅读论文原文了解更多实验细节。

研究团队

该方法是由腾讯 PCG 应用研究中心(ARC)的研究者提出的。应用研究中心被称为腾讯 PCG 的「侦察兵」、「特种兵」,站在腾讯探索挑战智能媒体相关前沿技术的第一线。

论文地址: https://arxiv.org/abs/2101.04061