概述
GPU 云服务器(GPU Cloud Computing)
是基于 GPU 的快速、稳定、弹性的计算服务,主要应用于深度学习训练/推理、图形图像处理以及科学计算等场景。 GPU 云服务器提供和标准 CVM 云服务器一致的方便快捷的管理方式。GPU 云服务器通过其强大的快速处理海量数据的计算性能,有效解放用户的计算压力,提升业务处理效率与竞争力。
GFPGAN
旨在开发一种用于真实世界面部恢复的实用算法。
它利用封装在预先训练的面部GAN(例如StyleGAN2)中的丰富多样的先验来恢复盲脸 (blind face restoration)。
清单
代码语言:txt复制GPU 服务器 [参加活动免费领取一个月的GPU服务器体验](https://cloud.tencent.com/developer/article/1969964)
Linux 操作系统
需要修复的照片
环境搭建
系统镜像选择
推荐使用腾讯云官方推出的已经安装好Tesla Driver CUDA的系统镜像,如果自己手动去构建的话会特别的麻烦,而且会出现各种问题,最典型的国内的网络去下载所需要的文件10kb/s的速度直接劝退。
搭建GFPGAN的运行环境
官方指导页面
代码语言:txt复制Python >= 3.7 (Recommend to use Anaconda or Miniconda)
PyTorch >= 1.7
Option: NVIDIA GPU CUDA
Option: Linux
注:
- Python 版本推荐使用3.7 的版本,刚开始编译的最新的3.10.4版本,后面的报错过不去,重新编译了3.7.13的一路pass
安装GFPGAN
Clone repo
代码语言:txt复制git clone https://github.com/TencentARC/GFPGAN.git
cd GFPGAN
Install dependent packages
代码语言:txt复制pip3 install basicsr
pip3 install facexlib
pip3 install -r requirements.txt
python3 setup.py develop
pip3 install realesrgan
下载训练模型
v1.3
代码语言:txt复制wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth -P experiments/pretrained_models
v1.2
代码语言:txt复制wget https://github.com/TencentARC/GFPGAN/releases/download/v0.2.0/GFPGANCleanv1-NoCE-C2.pth -P experiments/pretrained_models
实测
代码语言:txt复制python3 inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2
代码语言:txt复制Usage: python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2 [options]...
-h show this help
-i input Input image or folder. Default: inputs/whole_imgs
-o output Output folder. Default: results
-v version GFPGAN model version. Option: 1 | 1.2 | 1.3. Default: 1.3
-s upscale The final upsampling scale of the image. Default: 2
-bg_upsampler background upsampler. Default: realesrgan
-bg_tile Tile size for background sampler, 0 for no tile during testing. Default: 400
-suffix Suffix of the restored faces
-only_center_face Only restore the center face
-aligned Input are aligned faces
-ext Image extension. Options: auto | jpg | png, auto means using the same extension as inputs. Default: auto
通过rz命令上传了一张测试图片到inputs/test_imgs
分别用v1.2和v1.3的模型对照片进行修复
代码语言:txt复制python3 inference_gfpgan.py -i inputs/whole_imgs -o results/test/1.2 -v 1.2 -s 2
python3 inference_gfpgan.py -i inputs/whole_imgs -o results/test/1.3 -v 1.3 -s 2
执行命令的提示:
Processing test.png ...
Results are in the [results/test/1.2] folder.
tree results查看results的目录结构
results
代码语言:txt复制-- test
|-- 1.2
|-- cmp
| -- test_00.png
|-- cropped_faces
| -- test_00.png
|-- restored_faces
| -- test_00.png
|-- restored_imgs
-- test.png
|-- 1.3
|-- cmp
| -- test_00.png
|-- cropped_faces
| -- test_00.png
|-- restored_faces
| -- test_00.png
|-- restored_imgs
-- test.png
其中restored_imgs下的图片就是最后的结果。
附上测试效果图:
原图
V1.2修复效果图
V1.3修复效果图