python 学习笔记18 GFPGAN人脸(图片)修复

老实说这个和学习没啥关系,就是一个python解决方案的实践。

觉得有趣就试了一下,先上链接:

官方:https://github.com/TencentARC/GFPGAN/blob/master/README.md

这是个高分项目,用于人脸(在逐渐拓展到其他图像类别,如背景)图像修复。如下图:

腾讯 AI 的研究人员提出了他们的新GFP-GAN 模型,以在一次前向传递中实现真实性和保真度的良好平衡。该模型由退化去除模块和预先训练的人脸生成器组成。它们通过直接潜在代码映射连接到使用 CS SFT 层的粗到细通道。CS-SFT 层对分割的特征执行空间调制,并让左侧的特征直接通过以更好地保存信息,从而允许所提出的方法结合生成先验,同时有效地重新训练高保真度。此外,研究人员在局部鉴别器中引入了面部成分损失,以进一步增强感知面部细节和身份保留增益,从而提高整体质量。

 需求:

部署:

1.下代码,有git可以用git 下,没有的就直接下载代码解压缩。解压缩后会有一个GFPGAN-master的文件夹。

下载链接:GitHub - TencentARC/GFPGAN: GFPGAN aims at developing Practical Algorithms for Real-world Face Restoration.

2.下载训练库,我这因为不具备CUDA的条件,所以下载的是第一个,下载好后放到\GFPGAN-master\experiments\pretrained_models这个文件夹中,如果要下载其他训练库也是放在这里。

  • GFPGANCleanv1-NoCE-C2.pth: (左边链接是训练库1,不需CUDA)No colorization; no CUDA extensions are required. It is still in training. Trained with more data with pre-processing.
  • GFPGANv1.pth: (左边连接是训练库2,应该是需要CUDA的)The paper model, with colorization.

3.安装依赖库类(我这是win10环境):

没有CUDA,在cmd或者powershell里面:

pip install basicsr

pip install facexlib

#然后进入到GFPGAN-master目录里面,这里有个requirements.txt
pip install -r requirements.txt
python setup.py develop

#如果你还要试试修复无头像的背景图片,还要安装下面这个
pip install realesrgan

如果你有CUDA,教程里说这样装第一步,其他一样:

    # Install basicsr - https://github.com/xinntao/BasicSR
    # We use BasicSR for both training and inference
    # Set BASICSR_EXT=True to compile the cuda extensions in the BasicSR - It may take several minutes to compile, please be patient
    # Add -vvv for detailed log prints
    #这里好像是 set BASICSR_EXT=True pip install basicsr -vvv ,或者分开两行
    BASICSR_EXT=True pip install basicsr -vvv

使用:

将需要修复的图片放到 :\GFPGAN-master\inputs\whole_imgs,修复完成后图片会在result文件夹里

打开cmd或powershell,输入命令:

python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2

等一会就好了

异常解决:

 如果你用的是这个命令:

python inference_gfpgan.py --model_path experiments/pretrained_models/GFPGANCleanv1-NoCE-C2.pth --test_path inputs/whole_imgs --save_root results --arch original --channel 1

并且报这个错:NameError: name 'fused_act_ext' is not defined

那装个ninja再试试第一种命令就行了:

pip3 install ninja

python inference_gfpgan.py --upscale 2 --test_path inputs/whole_imgs --save_root results

还不行就参考 python目录下:\lib\site-packages\basicsr\ops\fused_act\fused_act.py

里面的内容:

        # avoid annoying print output
        # print(f'Cannot import deform_conv_ext. Error: {error}. You may need to: \n '
        #       '1. compile with BASICSR_EXT=True. or\n '
        #       '2. set BASICSR_JIT=True during running')

实际效果展示

  • 9
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python学习笔记PDF是一种学习Python编程语言的资料形式,它包含了Python的基本语法、数据类型、流程控制、函数、模块、面向对象编程、异常处理等相关内容。以下是关于Python学习笔记PDF的详细内容说明: 1. 基本语法:Python学习笔记PDF中,首先介绍了Python的基本语法,例如如何定义变量、数据类型的使用(包括整数、浮点数、字符串、列表、元组、字典等),以及如何进行算术运算、比较运算和逻辑运算。 2. 流程控制:Python学习笔记PDF中,进一步介绍了流程控制的知识,包括条件判断和循环控制。条件判断主要是通过if语句进行判断执行不同的代码块,而循环控制则通过while循环和for循环来实现重复执行一段代码。 3. 函数:Python学习笔记PDF中,对函数的概念和使用进行了详细的解释。函数是代码的封装和组织方式,通过定义函数可以提高代码的重用性和可读性。学习者将了解到如何定义函数、调用函数、函数参数的传递以及函数返回值的使用。 4. 模块:Python学习笔记PDF中,介绍了Python中的模块和包的概念。模块是一组函数、类或变量的集合,以.py文件的形式存在,可以被其他程序调用和使用。学习者将学习如何导入模块、使用模块中的函数和变量。 5. 面向对象编程:Python学习笔记PDF中,对面向对象编程进行了系统的讲解。面向对象编程是一种以对象为基本单位的编程思想,通过定义类和对象,可以更好地组织和管理代码。学习者将了解如何定义类、创建对象、封装、继承和多态的使用。 6. 异常处理:Python学习笔记PDF中,对异常处理进行了介绍。异常是程序在运行过程中出现的错误,通过捕获和处理异常,可以更好地控制程序的执行流程并提高程序的健壮性。学习者将了解到如何使用try-except语句来捕获和处理异常。 总之,Python学习笔记PDF是一份全面而详细的学习Python编程语言的资料,通过学习该资料,学习者将获得扎实的Python编程基础,并能够运用Python进行简单的程序开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值