GFPGAN 简述
GFPGAN (Generative Facial Prior GAN) 是一种基于生成对抗网络(GAN)的面部图像修复与增强模型。它由腾讯 ARC Lab 的研究团队开发,目的是以高效和高质量的方式修复低分辨率、受损或老化的人脸图像,同时保留其真实感和身份一致性。GFPGAN 是当前图像处理领域的热门技术之一,尤其在图像复原和增强领域表现突出。
GFPGAN的主要特点包括:
- 利用预训练人脸GAN的先验知识:GFPGAN可以有效地修复各种退化的人脸图像。
- 不需要对输入图像有任何先验假设:可以实现真正的盲修复。
- 生成的结果更加自然:身份一致性好。
- 可以处理非常低质量的输入图像。
- 支持对非人脸区域(背景)进行增强。
- 提供了无需CUDA扩展的“干净”版本:易于部署。
应用场景
老旧照片修复:GFPGAN 可修复模糊或损坏的人脸图像,特别适用于历史照片修复或档案数字化。
低分辨率图像增强:将模糊或像素化的人脸照片转化为高分辨率图像。
艺术修复:用于修复绘画中的面部特征,使其更加清晰。
视频人脸修复:对低质量的视频逐帧修复人脸。
虚拟现实与增强现实:在 VR 和 AR 应用中,用于生成高质量、逼真的人脸模型。
GFPGAN 介绍
- GitHub:https://github.com/TencentARC/GFPGAN
- 论文:https://arxiv.org/pdf/2101.04061
- 环境依赖:
- Python >= 3.7 (Recommend to use Anaconda or Miniconda)
- PyTorch >= 1.7
- Option: NVIDIA GPU + CUDA
- Option: Linux
- 克隆仓库:
git clone https://github.com/TencentARC/GFPGAN.git
cd GFPGAN
- 安装依赖包:
# Install basicsr - https://github.com/xinntao/BasicSR
# We use BasicSR for both training and inference
pip install basicsr
# Install facexlib - https://github.com/xinntao/facexlib
# We use face detection and face restoration helper in the facexlib package
pip install facexlib
pip install -r requirements.txt
python setup.py develop
# If you want to enhance the background (non-face) regions with Real-ESRGAN,
# you also need to install the realesrgan package
pip install realesrgan
- 下载预训练模型:
wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth -P experiments/pretrained_models
- 快速推理:
python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2
Usage: python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2 [options]...
-h show this help
-i input Input image or folder. Default: inputs/whole_imgs
-o output Output folder. Default: results
-v version GFPGAN model version. Option: 1 | 1.2 | 1.3. Default: 1.3
-s upscale The final upsampling scale of the image. Default: 2
-bg_upsampler background upsampler. Default: realesrgan
-bg_tile Tile size for background sampler, 0 for no tile during testing. Default: 400
-suffix Suffix of the restored faces
-only_center_face Only restore the center face
-aligned Input are aligned faces
-ext Image extension. Options: auto | jpg | png, auto means using the same extension as inputs. Default: auto
- 模型版本对比介绍:
- 提供了基础模型可供自行训练: