本篇内容主要讲解“Python怎么实现模糊照片人脸恢复清晰”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现模糊照片人脸恢复清晰”吧!
我们看一看对比图。
最右侧的就是GFPGAN的效果,看一下最左层的输入图片,可以发现GFPGAN将图片恢复的非常清晰。这个效果非常惊艳。
按照以前的惯例,我还是先把这个项目安装使用一下,看看能不能对代码重新封装,变成可以工程化的项目。
环境安装
我们先看一下项目README给的提示。
首先需要的python版本是>=3.7的,所以我用Anaconda创建了一个python3.9的虚拟环境。Pytorch的安装直接从官网获取命令安装一个最新版本即可。
因为还有一些基础依赖的安装,照着安装一下就行,其实setup.py是已经在项目中的,如下图。
由于模型比较大,所以作者没有放在github上,给了下面的下载提示。该模型是作者提供已经训练好的模型。
如果下载很慢的话,可以从我的网盘下载。
链接提取码:TUAN
作者还提供了基础模型可供自行训练。
验证模型
下面我准备了一些图,挑了一些比较典型的图片,有黑白的、彩色的以及马赛克的,想看看是不是都可以实现清晰化处理。
准备的图片如下:
按照README提供的指令
python inference_gfpgan.py --upscale 2 --test_path inputs/newImages --save_root results
看一下执行结果:
(pytorch49) C:\Users\yi\PycharmProjects\GFPGAN>python inference_gfpgan.py --upscale 2 --test_path inputs/newImages --save_root resultsC:\Users\yi\PycharmProjects\GFPGAN\inference_gfpgan.py:45: UserWarning: The unoptimized RealESRGAN is very slow on CPU. We do not use it. If you really want to use it, please modify the corresponding codes. warnings.warn('The unoptimized RealESRGAN is very slow on CPU. We do not use it. 'Processing 331.jpg ...E:\ProgramData\Anaconda3\envs\pytorch49\lib\site-packages\torch\nn\functional.py:3679: UserWarning: The default behavior for interpolate/upsample with float scale_factor changed in 1.6.0 to align with other frameworks/libraries, and now uses scale_factor directly, instead of relying on the computed output size. If you wish to restore the old behavior, please set recompute_scale_factor=True. See the documentation of nn.Upsample for details. warnings.warn(Processing 333.jpg ...Processing 334.jpg ...Processing 335.jpg ...Results are in the [results] folder. (pytorch49) C:\Users\yi\PycharmProjects\GFPGAN>
按照默认参数,会在results结果文件夹中生成4个目录分别为前后对比图、原检测出来的脸部图、处理后的脸部图、处理后的最终图。
我们看看效果
可以看出两点:
马赛克不能消除,有一张全马赛克的图片,直接无法修复。
常规的模糊照片修复的是真的很清晰呀。
到此,相信大家对“Python怎么实现模糊照片人脸恢复清晰”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!