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

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

前言

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


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


屏幕快照 2022-06-08 下午11.38.33.png



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


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


环境安装

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



image.png

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


image.png


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


image.png


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


image.png



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


链接:https://pan.baidu.com/s/1qU5PifU_qMZfM2Rgv8VpeA

提取码:TUAN


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


image.png


验证模型

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


准备的图片如下:


image.png


按照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个目录分别为前后对比图、原检测出来的脸部图、处理后的脸部图、处理后的最终图。



image.png


我们看看效果


image.png


image.png

image.png


可以看出两点:


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


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


总结

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


分享:


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


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


相关文章
|
8天前
|
机器学习/深度学习 数据采集 Python
从零到一:手把手教你完成机器学习项目,从数据预处理到模型部署全攻略
【10月更文挑战第25天】本文通过一个预测房价的案例,详细介绍了从数据预处理到模型部署的完整机器学习项目流程。涵盖数据清洗、特征选择与工程、模型训练与调优、以及使用Flask进行模型部署的步骤,帮助读者掌握机器学习的最佳实践。
31 1
|
25天前
|
机器学习/深度学习 计算机视觉 Python
坐标下降求解人脸表示(机器学习作业04)
这是机器学习第四次作业的解答,包含两道题目。第一题涉及数学推导,给出了详细的求解过程。第二题则通过 Python 代码实现图像处理,包括读取单张图片和批量读取文件夹中的图片,并将图像数据转换为矩阵形式。
13 0
坐标下降求解人脸表示(机器学习作业04)
|
2月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
95 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
25天前
|
机器学习/深度学习 算法 数据处理
EM算法对人脸数据降维(机器学习作业06)
本文介绍了使用EM算法对人脸数据进行降维的机器学习作业。首先通过加载ORL人脸数据库,然后分别应用SVD_PCA、MLE_PCA及EM_PCA三种方法实现数据降维,并输出降维后的数据形状。此作业展示了不同PCA变种在人脸数据处理中的应用效果。
28 0
|
27天前
|
JSON 测试技术 API
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
|
3月前
|
机器学习/深度学习 人工智能 数据处理
【人工智能】项目实践与案例分析:利用机器学习探测外太空中的系外行星
探测外太空中的系外行星是天文学和天体物理学的重要研究领域。随着望远镜观测技术的进步和大数据的积累,科学家们已经能够观测到大量恒星的光度变化,并尝试从中识别出由行星凌日(行星经过恒星前方时遮挡部分光线)引起的微小亮度变化。然而,由于数据量巨大且信号微弱,传统方法难以高效准确地识别所有行星信号。因此,本项目旨在利用机器学习技术,特别是深度学习,从海量的天文观测数据中自动识别和分类系外行星的信号。这要求设计一套高效的数据处理流程、构建适合的机器学习模型,并实现自动化的预测和验证系统。
61 1
【人工智能】项目实践与案例分析:利用机器学习探测外太空中的系外行星
|
2月前
|
机器学习/深度学习 人工智能 算法
ML.NET:一个.NET开源、免费、跨平台的机器学习框架
ML.NET:一个.NET开源、免费、跨平台的机器学习框架
|
3月前
|
机器学习/深度学习 资源调度 分布式计算
阿里PAI-ChatLearn:大规模 Alignment高效训练框架正式开源
PAI-ChatLearn现已全面开源,助力用户快速、高效的Alignment训练体验。借助ChatLearn,用户可全身心投入于模型设计与效果优化,无需分心于底层技术细节。ChatLearn将承担起资源调度、数据传输、参数同步、分布式运行管理以及确保系统高效稳定运作的重任,为用户提供一站式解决方案。
|
3月前
|
机器学习/深度学习 数据处理 定位技术
构建您的首个机器学习项目:从理论到实践
【8月更文挑战第28天】本文旨在为初学者提供一个简明的指南,通过介绍一个基础的机器学习项目——预测房价——来揭示机器学习的神秘面纱。我们将从数据收集开始,逐步深入到数据处理、模型选择、训练和评估等环节。通过实际操作,你将学会如何利用Python及其强大的科学计算库来实现自己的机器学习模型。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往机器学习世界的大门。
|
3月前
|
机器学习/深度学习 运维 算法
【阿里天池-医学影像报告异常检测】3 机器学习模型训练及集成学习Baseline开源
本文介绍了一个基于XGBoost、LightGBM和逻辑回归的集成学习模型,用于医学影像报告异常检测任务,并公开了达到0.83+准确率的基线代码。
62 9