Skip to content

NewGe66/Paddle_GFP-GAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

GFP-GAN: Towards Real-World Blind Face Restoration with Generative Facial Prior

目录

注意:

(1) 目录可以使用gh-md-toc生成;

(2) 示例repo和文档可以参考:AlexNet_paddle

1. 简介

人脸图像修复或人脸图像增强是指,在不改变图片分辨率的情况下,增强输入人脸图像的清晰度、细节纹理和真实感。在实际应用中,图像质量可能会由于各种各样的原因受到损失,比如传播和存储过程中的下采样、模糊、噪声和压缩等,这些统称为图像的退化。在退化方式未知的情况下进行人脸图像修复,就是人脸盲修复(blind face restoration, BFR)。人脸作为一个特定区域,使得人脸图像修复相比一般的图像修复而言,有更多的先验知识可以使用。此前的一些工作将人脸关键点、人脸分割图等信息作为输入辅助深度神经网络进行图像修复,然而这些简单的先验信息并不包含纹理细节等的信息,对于提升输出图片的细节和真实感并没有太大增益。一些工作在增强网络后面添加判别器,在训练过程中增加使用对抗损失、感知损失等,训练GAN网络提升输出图片的视觉效果,获得了显著优于非GAN网络的效果。这种GAN的训练方法简单直接易实现,但是其生成细节的能力仍然有限。

盲人脸修复通常依赖于人脸先验,如人脸几何先验或参考先验,来恢复真实可信的细节。 然而,非常低质量的输入不能提供精确的几何先验,而高质量的参考是不可访问的,这限制了在真实世界场景中的适用性。GFP-GAN利用丰富和多样化的先验封装在一个预先训练的人脸GAN中进行盲人脸恢复。 这种生成人脸先验(GFP)通过新的通道分割空间特征变换层被纳入人脸恢复过程中,这使得该方法能够实现真实和逼真度的良好平衡。由于强大的生成面部先验和精致的设计,GFP-GAN可以联合恢复面部细节和增强颜色,而GAN反演方法需要在推理时进行昂贵的图像特定优化。 大量的实验表明,该方法在合成数据集和真实数据集上都取得了优于现有技术的性能。

GFP-GAN模型的研究人员受到StyleGan2的启发,在模型中,主要用到了一个退化清除模块和一个预训练的GAN作为先验。两个模块通过隐编码映射和多个信道分割空间特征变化层(CS-SFT)连接。image-20220411162852320

GFP-GAN模型图

训练过程中,首先对低质量人脸进行降噪等粗处理,然后保留面部信息。在保真度方面,研究人员引入了一个面部损失( Facial Component Loss),判断哪些细节需要提升保留,然后再用识别保留损失(Identity Preserving Loss)进行修复。

GFP-GAN 框架利用丰富多样的生成面部,然后在面部恢复中创建真实性和保真度的良好平衡。这是通过通道分割空间特征变换层实现的,能够在真实世界图像的准确性和泛化方面超越所有其他方法。广泛的比较证明了这种卓越的能力,它超越了之前所做的任何事情。

测试效果:

原图 GFP-GAN模型预测后
00_00 00_00GFP-GAN

简单的介绍模型,以及模型的主要架构或主要功能,如果能给出效果图,可以在简介的下方直接贴上图片,展示模型效果。然后另起一行,按如下格式给出论文名称及链接、参考代码链接、aistudio体验教程链接。

注意:在给出参考repo的链接之后,建议添加对参考repo的开发者的致谢。

论文: GFP-GAN: Towards Real-World Blind Face Restoration with Generative Facial Prior

参考repo: https://github.com/TencentARC/GFPGAN

在此非常感谢$参考repo的 github id$等人贡献的repo name,提高了本repo复现论文的效率。

aistudio体验教程: 地址

2. 数据集和复现精度

给出本repo中用到的数据集的链接,然后按格式描述数据集大小与数据集格式。

格式如下:

  • 数据集大小:关于数据集大小的描述,如类别,数量,图像大小等等
  • 数据集下载链接:链接地址
  • 数据格式:关于数据集格式的说明

基于上述数据集,给出论文中精度、参考代码的精度、本repo复现的精度、数据集名称、模型下载链接(模型权重和对应的日志文件推荐放在百度云网盘中,方便下载)、模型大小,以表格的形式给出。如果超参数有差别,可以在表格中新增一列备注一下。

如果涉及到轻量化骨干网络验证,需要新增一列骨干网络的信息。

3. 准备数据与环境

3.1 准备环境

首先介绍下支持的硬件和框架版本等环境的要求,格式如下:

  • 硬件:xxx
  • 框架:
    • PaddlePaddle >= 2.2.0

然后介绍下怎样安装PaddlePaddle以及对应的requirements。

建议将代码中用到的非python原生的库,都写在requirements.txt中,在安装完PaddlePaddle之后,直接使用pip install -r requirements.txt安装依赖即可。

3.2 准备数据

简单介绍下全量数据和少量数据分别怎么使用,给出使用命令。

3.3 准备模型

可以在此提示用户怎么下载预训练模型、inference模型(如果有)

4. 开始使用

4.1 模型训练

简单说明一下训练的命令,建议附一些简短的训练日志。

可以简要介绍下可配置的超参数以及配置方法。

4.2 模型评估

简单说明一下评估的命令以及结果,建议附一些简短的评估日志。

4.3 模型预测

在这里简单说明一下预测的命令,需要提供原始图像、文本等内容,在文档中体现输出结果。

5. 模型推理部署

如果repo中包含该功能,可以按照Inference推理、Serving服务化部署再细分各个章节,给出具体的使用方法和说明文档。

6. 自动化测试脚本

介绍下tipc的基本使用以及使用链接

7. LICENSE

本项目的发布受Apache 2.0 license许可认证。

8. 参考链接与文献

About

Reappearance GFP-GAN by use Paddle

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published