如何将模糊照片人脸恢复清晰,GFPGAN机器学习开源项目使用 | 机器学习

Posted 剑客阿良_ALiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将模糊照片人脸恢复清晰,GFPGAN机器学习开源项目使用 | 机器学习相关的知识,希望对你有一定的参考价值。

目录

前言

环境安装

验证模型

总结


前言

最近看到一个有意思的机器学习项目——GFPGAN,他可以将模糊的人脸照片恢复清晰。开源项目的Github地址:https://github.com/TencentARC/GFPGAN

我们看一看作者给出的对比图。

 

最右侧的就是GFPGAN的效果,看一下最左层的输入图片,可以发现GFPGAN将图片恢复的非常清晰。这个效果非常惊艳。

按照以前的惯例,我还是先把这个项目安装使用一下,看看能不能对代码重新封装,变成可以工程化的项目。

环境安装

我们先看一下项目README给的提示。

首先需要的python版本是>=3.7的,所以我用Anaconda创建了一个python3.9的虚拟环境。Pytorch的安装直接从官网获取命令安装一个最新版本即可。

因为还有一些基础依赖的安装,照着安装一下就行,其实setup.py是已经在项目中的,如下图。

由于模型比较大,所以作者没有放在github上,给了下面的下载提示。该模型是作者提供已经训练好的模型。

 

如果下载很慢的话,可以从我的网盘下载。

链接:https://pan.baidu.com/s/1qU5PifU_qMZfM2Rgv8VpeA 
提取码:TUAN

作者还提供了基础模型可供自行训练。

验证模型

下面我准备了一些图,挑了一些比较典型的图片,有黑白的、彩色的以及马赛克的,想看看是不是都可以实现清晰化处理。

准备的图片如下:

按照README提供的指令

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

看一下执行结果:

(pytorch39) C:\\Users\\yi\\PycharmProjects\\GFPGAN>python inference_gfpgan.py --upscale 2 --test_path inputs/newImages --save_root results
C:\\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, p
lease 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\\pytorch39\\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 th
e 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.

(pytorch39) C:\\Users\\yi\\PycharmProjects\\GFPGAN>

按照默认参数,会在results结果文件夹中生成4个目录分别为前后对比图、原检测出来的脸部图、处理后的脸部图、处理后的最终图。

 

我们看看效果

 

 可以看出两点:

1、马赛克不能消除,有一张全马赛克的图片,直接无法修复。

2、常规的模糊照片修复的是真的很清晰呀。

总结

总的来说该项目是非常优秀的,从最终图片的效果上来说,非常好了,至于去除马赛克还是得看别的项目了。后面研究研究这么项目,看能不能改改。

分享:

        别人说你不行,是因为他自己做不到。你要尽全力保护你的梦想,那些嘲笑你的人,他们必定会失败,他们想把你变成和他们一样的人。如果你有梦想的话,就要努力去实现, 就这样。             ——《当幸福来敲门》

如果本文对你有用的话,请点个赞吧,谢谢!

 

以上是关于如何将模糊照片人脸恢复清晰,GFPGAN机器学习开源项目使用 | 机器学习的主要内容,如果未能解决你的问题,请参考以下文章

女神青涩时纤毫毕现!腾讯AI模型GFPGAN火上GitHub热榜第一,Demo在线可玩

女神青涩时纤毫毕现,腾讯 AI 模型 GFPGAN 火上 GitHub 热榜第一,Demo 在线可玩

Unity3D中UI图片模糊,不清晰解决怎么解决

请教怎么用opencv将一张模糊的图片变清晰

Unity3D中UI图片模糊,不清晰解决如何解决

怎么把截图调清晰