2021SC@SDUSC
一、项目源码下载地址GitHub - TencentARC/GFPGAN: GFPGAN aims at developing Practical Algorithms for Real-world Face Restoration.
二、GFPGAN项目简介功能介绍
该项目主要功能是完成对模糊照片的修复处理(可以通过项目提供的已训练好的模型,也可以通过提供的数据集自己进行训练)
人脸复原简介
人脸复原 (Face Restoration) 是指从低质量的人脸中复原得到高清的人脸。真实世界中的人脸复原是一个很有挑战的任务,因为降质 (degradation) 过程复杂且不尽相同。来自腾讯 PCG 应用研究中心 (ARC) 的研究者们提出了利用预先训练好的人脸生成模型提供的先验,来指导人脸复原的任务。
GFP简介
该项目的核心是生成人脸先验 (Generative Facial Prior, GFP)。它不仅包含了丰富的五官细节, 还有人脸颜色, 此外它能够把人脸当作一个整体来对待, 能够处理头发、耳朵、面部轮廓。基于预训练好的生成模型, ARC的研究者们提出了利用生成人脸先验 GFP 的人脸复原模型 GFP-GAN。如下图:
使用步骤
使用过程非常简单,只需要将需要修复的图片放到特定文件夹,项目会读取文件,通过一些函数进行判断和复原。训练需要下载相应的数据集和预训练模型以及一些其他数据,再进行相应的文件配置并执行指令即可进行训练。
三、项目运行所需环境及注意事项1、该项目主要有python完成,需要有python运行环境。且python版本需要>=3.7。
2、该项目的主要部分是关于机器学习的,所以需要pytorch(是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。)
3、建议使用linux系统,(windows系统同样可以实现其功能,但部分插件windows系统不支持使用)
4、还需要用到NVIDIV GPU+CUDA,如果系统未下载安装CUDA,在进行图片修复时经过项目检测,项目会在CPU上进行修复(相比在GPU上运行,速度会很慢),而在训练过程中,必须安装CUDA。
5、同时项目的顺利运行还需要依赖于许多python的包。
在进行修复时还需要下载预训练模型:GFPGANCleanv1-NoCE-C2.pth。
在进行训练时首先需要下载数据集:FFHQ,还需要一些其他的预训练模型以及数据:
- 预训练的 StyleGAN2 模型:StyleGAN2_512_Cmul1_FFHQ_B12G4_scratch_800k.pth
- FFHQ 的组件位置:FFHQ_eye_mouth_landmarks_512.pth
- 一个简单的 ArcFace 模型:arcface_resnet18.pth
1、首先将需要修复的图片导入项目的input文件夹下的whole_imgs中
插入图片示例:
2、运行项目下的inference_gfpgan.py文件。
3、运行结果示例:
4、训练需要下载相应文件及数据集,然后在终端执行相应代码
五、项目分工小组包括四人,修复图片的功能主要在项目的archs文件夹下(共四个文件),每人负责一个。
我主要负责gfpganv1_arch.py的分析。