:rocket: 感谢您对我们工作的关注。您也许还会感兴趣我们在Real-ESRGAN中对动漫图像和视频的小模型的更新 :blush:
GFPGAN旨在开发一种实用的真实世界人脸修复算法。
它利用预训练的面部生成对抗网络(例如StyleGAN2)中丰富多样的先验知识进行盲人脸修复。
:question: 常见问题请参考FAQ.md。
:triangular_flag_on_post: 更新内容
- :white_check_mark: 添加 RestoreFormer 推理代码。
- :white_check_mark: 添加 V1.4 模型,该模型比 V1.3 生成了更多的细节和更好的身份保真度。
- :white_check_mark: 添加 V1.3 模型,该模型在极低质量和高质量输入上生成了更自然的修复结果。详见模型库,Comparisons.md。
- :white_check_mark: 集成到 Huggingface Spaces 和 Gradio。参见Gradio Web Demo。
- :white_check_mark: 支持通过Real-ESRGAN增强非面部区域(背景)。
- :white_check_mark: 我们提供了一个无需 CUDA 扩展的精简版 GFPGAN。
- :white_check_mark: 我们提供了一个不对人脸进行上色的更新模型。
如果 GFPGAN 对您的照片/项目有帮助,请为本项目点赞或推荐给您的朋友。谢谢 :blush:
其他推荐项目:
:arrow_forward: Real-ESRGAN:一种实用的通用图像修复算法
:arrow_forward: BasicSR:一个开源的图像和视频修复工具箱
:arrow_forward: facexlib:提供实用的面部相关功能的集合
:arrow_forward: HandyView:一个基于PyQt5的图像查看器,便于查看和比较
:book: GFP-GAN: 基于生成面部先验的真实世界盲人脸修复
[论文] [项目页面] [演示]
Xintao Wang,Yu Li,Honglun Zhang,Ying Shan
腾讯PCG应用研究中心(ARC)
:wrench: 依赖和安装
- Python >= 3.7(推荐使用Anaconda或Miniconda)
- PyTorch >= 1.7
- 可选:NVIDIA GPU + CUDA
- 可选:Linux
安装
我们现在提供了一个无需定制 CUDA 扩展的精简版 GFPGAN。
如果您想使用我们论文中的原始模型,请参见PaperModel.md获取安装信息。
-
克隆仓库
git clone https://github.com/TencentARC/GFPGAN.git cd GFPGAN
-
安装依赖包 <SOURCE_TEXT>
# 安装 basicsr - https://github.com/xinntao/BasicSR
# 我们使用 BasicSR 进行训练和推理
pip install basicsr
# 安装 facexlib - https://github.com/xinntao/facexlib
# 我们在 facexlib 包中使用了面部检测和面部修复助手
pip install facexlib
pip install -r requirements.txt
python setup.py develop
# 如果您想使用 Real-ESRGAN 增强背景(非人脸)区域,
# 您还需要安装 realesrgan 包
pip install realesrgan
```
## ⚡ 快速推理
我们以 v1.3 版本为例。更多模型请参见[这里](#european_castle-model-zoo)。
下载预训练模型:[GFPGANv1.3.pth](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth)
```bash
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
用法: python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2 [选项]...
-h 显示帮助信息
-i input 输入图像或文件夹。默认: inputs/whole_imgs
-o output 输出文件夹。默认: results
-v version GFPGAN 模型版本。选项: 1 | 1.2 | 1.3。默认: 1.3
-s upscale 图像的最终放大倍率。默认: 2
-bg_upsampler 背景放大器。默认: realesrgan
-bg_tile 背景采样器的瓦片大小,测试期间不分瓦片设置为 0。默认: 400
-suffix 修复后的面部文件后缀
-only_center_face 只修复中心人脸
-aligned 输入为对齐的人脸
-ext 图像扩展名。选项: auto | jpg | png, auto 表示使用与输入相同的扩展名。默认: auto
如果您想使用我们论文中的原始模型,请参阅PaperModel.md 了解安装和推理方法。
🏰 模型库
版本 | 模型名称 | 描述 |
---|---|---|
V1.3 | GFPGANv1.3.pth | 基于 V1.2;更自然的修复效果;在超低质量/高质量输入上效果更好。 |
V1.2 | GFPGANCleanv1-NoCE-C2.pth | 无着色;不需要 CUDA 扩展。使用更多预处理数据进行训练。 |
V1 | GFPGANv1.pth | 论文模型,带有着色功能。 |
对比结果请参见Comparisons.md。
请注意,V1.3 并不总是优于 V1.2。您可能需要根据用途和输入选择不同的模型。
版本 | 优势 | 劣势 |
---|---|---|
V1.3 | ✓ 自然输出 ✓ 在超低质量输入上效果更好 ✓ 适用于相对高质量输入 ✓ 可以重复(两次)修复 | ✗ 不够锐利 ✗ 身份特征略有改变 |
V1.2 | ✓ 输出更锐利 ✓ 带有美妆效果 | ✗ 一些输出效果不自然 |
您可以在此处找到更多模型(如判别器):【Google Drive】,或【腾讯微云】
💻 训练
我们提供了 GFPGAN 的训练代码(使用于我们的论文中)。
您可以根据自己的需求进行改进。
提示
- 更多高质量人脸可以提高修复质量。
- 您可能需要进行一些预处理,如美妆处理。
步骤
(您可以尝试不需要面部组件标记的简单版本(options/train_gfpgan_v1_simple.yml
)。)
-
数据集准备:FFHQ
-
下载预训练模型和其他数据。将它们放在
experiments/pretrained_models
文件夹中。 -
相应地修改配置文件
options/train_gfpgan_v1.yml
。 -
训练
python -m torch.distributed.launch --nproc_per_node=4 --master_port=22021 gfpgan/train.py -opt options/train_gfpgan_v1.yml --launcher pytorch
📜 许可和致谢
GFPGAN 在 Apache License Version 2.0 许可下发布。
BibTeX
@InProceedings{wang2021gfpgan,
author = {Xintao Wang and Yu Li and Honglun Zhang and Ying Shan},
title = {Towards Real-World Blind Face Restoration with Generative Facial Prior},
booktitle={The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2021}
}
📧 联系方式
如果您有任何问题,请发送邮件至 xintao.wang@outlook.com
或 xintaowang@tencent.com
。
</SOURCE_TEXT>