GFPGAN(Generative Facial Prior GAN)是腾讯ARC实验室推出的一个实用算法项目,旨在解决真实世界中的人脸修复问题。其核心思想是利用预训练人脸GAN(例如StyleGAN2)中蕴含的丰富生成先验,进行盲人脸修复(blind face restoration),即在不依赖特定退化假设的情况下,从低质量输入中恢复高质量人脸。
一、主要能力
- 盲人脸修复:能够处理模糊、噪点、压缩失真、低分辨率等多种退化情况的人脸图像,输出更清晰、细节更丰富的结果。
- 多版本模型:提供V1.3、V1.4等模型。V1.3版本产生更自然的修复结果,在极低质量和高质量输入上表现更好;V1.4版本相比V1.3在细节和身份保持上略有提升。注意V1.3并不总是优于V1.2,需根据目的和输入选择模型。
- 背景增强:支持结合Real-ESRGAN对非人脸区域(背景)进行增强,实现整体图像质量的提升。
- 无需CUDA扩展的干净版本:提供不依赖定制CUDA扩展的GFPGAN版本,降低了安装门槛。
- 非彩色化模型:提供更新模型,不会对人脸进行彩色化处理。
- 在线演示:提供Colab Demo(包括原论文模型的另一个Colab Demo)以及Hugging Face Spaces上的Gradio Web演示。
- 相关生态:项目还集成了RestoreFormer推理代码,并推荐了Real-ESRGAN(通用图像修复)、BasicSR(开源图像视频修复工具箱)、facexlib(人脸相关功能集合)、HandyView(基于PyQt5的图像查看器)等关联项目。
二、使用方式
- 环境依赖:需要Python >= 3.7(推荐使用Anaconda或Miniconda),可选NVIDIA GPU + CUDA。
- 安装步骤:
- 克隆仓库:git clone https://github.com/TencentARC/GFPGAN.git,然后cd GFPGAN。
- 安装依赖:pip install basicsr;pip install facexlib;pip install -r requirements.txt;python setup.py develop。
- 如需背景增强,额外安装:pip install realesrgan。
- 快速推理:以V1.3版本为例,需下载预训练模型GFPGANv1.3.pth。若使用原论文模型,需参考PaperModel.md进行安装和推理。更多模型(如判别器)可从Google Drive或腾讯微云获取。
- 训练:项目提供了训练代码(用于论文),用户可根据需求改进。训练需要准备FFHQ数据集,下载预训练模型(StyleGAN2模型、FFHQ组件位置、ArcFace模型)并放入experiments/pretrained_models文件夹,修改配置文件options/train_gfpgan_v1.yml,然后使用分布式启动命令进行训练。
三、适用场景
- 老照片修复、低质量人脸图像增强。
- 视频中的人脸修复(可逐帧处理)。
- 作为研究基线,用于人脸修复相关学术研究。
- 集成到需要人脸增强功能的应用中。
四、限制
- 官方资料未提及收费模式、价格或具体商业授权细节,仅说明基于Apache License Version 2.0发布。
- 未提供具体的性能指标或与其他工具的对比数据。
- 使用需要一定的技术背景,涉及环境配置、模型下载和命令行操作。
- 不同版本模型效果有差异,需根据输入选择,且V1.4等模型的具体差异未在资料中详细说明。
- 训练需要高质量数据集和预处理(如美妆),且更多高质量人脸可提升修复质量。