技术点
- 研究人员使用丰富多样的面部先验进行面部修复
- 提出的具有 CS-SFT 层的 GFPGAN 在一次前向传递中实现了保真度和纹理忠实度的良好平衡
- 根据本文所提出的方法在合成数据集和真实世界数据集上的性能都优于现有技术
📜 算法工具
- Real-ESRGAN :一种用于一般图像恢复的实用算法
- BasicSR :一个开源的图像和视频恢复工具箱
- facexlib :提供有用的人脸关系函数的集合
- HandyView :基于 PyQt5 的图像查看器,便于查看和比较
🎨 使用
方式一:官网在线使用(推荐)
https://replicate.com/tencentarc/gfpgan
方式二:本地构建官方提供了一个干净的GFPGAN版本,不需要定制的 CUDA 扩展
开源代码地址:
https://github.com/TencentARC/GFPGAN⚙️ 前提条件
- Linux 发行版系统
- Python >= 3.7(推荐使用 Anaconda 或 Miniconda )
- PyTorch >= 1.7
- NVIDIA GPU + CUDA
1. 使用Git clone仓库代码
git clone https://github.com/TencentARC/GFPGAN.git
cd GFPGAN
2. 安装依赖包
# 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
3. 下载预训练模型:GFPGANv1.3.pth
wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth -P experiments/pretrained_models
4. 终端执行
将待修复的图片放置到whole_imgs 目录,执行如下命令:
python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2
💬️ 模型有三个版本,根据自己实际目的和输入选择不同的模型。不是版本越高效果就越好!
- V1(GFPGANv1.pth模型)
纸模型,带着色
- V1.2(GFPGANCleanv1-NoCE-C2.pth模型)
无着色;不需要 CUDA 扩展。通过预处理使用更多数据进行训练
- V1.3(GFPGANv1.3.pth 模型)
基于 V1.2更自然的修复效果在非常低质量/高质量的输入上获得更好的结果
暂无评论内容