一 GFPGAN 介绍
GFPGAN 是一个由腾讯 ARC 团队开发的用于人脸图像生成和优化的 GAN 模型。在github可以找到开源的代码,它由两个主要模块组成:
-
退化移除模块 (U-Net):用于从低分辨率、低质量的人脸图像中恢复出高质量的人脸图像。
-
生成式脸部先验模块 (StyleGAN2):用于生成高分辨率、逼真的人脸图像。
GFPGAN 的工作原理是首先使用退化移除模块来恢复出高质量的人脸图像。然后,使用生成式脸部先验模块来生成高分辨率、逼真的人脸图像。
GFPGAN 具有以下优点:
- 能够生成高分辨率、逼真的人脸图像。
- 能够对已有的人脸图像进行增强和优化,例如去除皱纹、瑕疵,增强肤色等。
- 能够控制生成图像的风格和特征,例如改变年龄、性别、肤色等。
GFPGAN 已在多个人脸图像生成和优化任务上得到了验证,并取得了良好的效果。
GFPGAN 具有广泛的应用前景,可用于以下场景:
- 人脸合成
- 人脸美化
- 人脸识别
- 人脸动画
- 虚拟现实/增强现实
二 GFPGAN 项目搭建
下拉代码:
git clone https://github.com/TencentARC/GFPGAN.git
安装项目依赖组件
pip install basicsr
pip install facexlib
pip install -r requirements.txt
下载数据模式https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth
下载后的文件放在位置 experiments/pretrained_models/目录,如下图:
三 GFPGAN 运行项目
python.exe inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2
运行报错解决:
由于采用默认安装,torchvision没有指定版本这与官方的不一致,需要修改以下源码:
#from torchvision.transforms.functional_tensor import rgb_to_grayscale
# 上面代码引入模块不存在,现变更为如下:
from torchvision.transforms.functional import rgb_to_grayscale
修改后如下图:
首次运行要联网,还会下载数据模型,不然会报错如下图:
如查不联网可以手工下载保存到相应的位置即可,如下图:
上图中可以看到运行成功。
GFPGAN 自带照片修复后的效果图如下: