腾讯云GPU服务器助力AI体验--GFPGAN老照片修复

2022-04-14 11:05:47 浏览数 (1)

概述

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的速度直接劝退。

微信截图_20220414095824.png微信截图_20220414095824.png

搭建GFPGAN的运行环境

官方指导页面

代码语言:txt复制
Python >= 3.7 (Recommend to use Anaconda or Miniconda)
PyTorch >= 1.7
Option: NVIDIA GPU   CUDA
Option: Linux

注:

  1. 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下的图片就是最后的结果。

附上测试效果图:

原图

test.pngtest.png

V1.2修复效果图

test_1.2.pngtest_1.2.png

V1.3修复效果图

test_1.3_2.pngtest_1.3_2.png

0 人点赞