有一种去除马赛克的方法,有运行教程

消除马赛克秒变高清人像,让模糊照片秒变清晰。

ai技术是越来越强悍了。
有一种去除马赛克的方法,有运行教程
但现在的ai技术,真的可以完全消除马赛克,百分百还原照片吗?

其实,消除马赛克的算法 PULSE,在2年前就已经发布了。

算法大脑填写代码,帮助我们恢复照片。

连脸上的毛孔和头发都可以恢复。
有一种去除马赛克的方法,有运行教程
发展到现在,消除马赛克的技术已经趋于成熟了,这不前两周,又开源了一个新的算法MAE。

这个更厉害,即使画面遮挡超过90%,ai也会想办法帮我们复原。

我使用下图运行并尝试了它。
有一种去除马赛克的方法,有运行教程
遮挡之后,我们可以大致看到它是什么,但是我们不知道眼睛是什么样子的。

运行一段时间后,算法模拟的效果如下:
有一种去除马赛克的方法,有运行教程
原图是这样的:
有一种去除马赛克的方法,有运行教程
基本恢复。

让我们看看这些算法是如何工作的。

马赛克实际上是低像素图像。

一张清晰的图片,只是眼睛这一个区域,可能就有100个像素,而转换成马赛克,这一区域可能就只有3个像素。

这会使图片变得模糊,不清楚原始图片是什么。

那想要复原照片呢,就需要根据这3个像素,脑补出一些的特征,重新补足为100个像素。

这就是算法所做的,自动填充一些不存在的特征,例如皱纹、头发等。

这些算法真的能帮助我们100%恢复照片吗?

我用自己的身份证照片试了一下。

第一张是原图,最后一张是最后的还原效果。
有一种去除马赛克的方法,有运行教程
那 –

即使是鼻子和眼睛。

但和原图比起来,只能说与它无关。

生成的照片只是一个算法大脑填充,它可能只是一张看起来真实的脸。

但是通过马赛克来重建和还原肖像是不可能的。

但是还原一些个体特征不太明显的东西,比如家具、动物等,准确率更高。

比如下面这个小狐狸,MAE算法复原的就很成功。
有一种去除马赛克的方法,有运行教程
那么如何运行这些算法呢?

我们以第一个算法PULSE举例。

第一步:下载代码

项目地址:

https://github.com/adamian98/pulse

第 2 步:设置环境

在代码文件的根目录下面,有一个pulse.yml文件,环境配置信息都在这里面了。

我们可以直接运行下面代码创建虚拟环境,并根据pulse.yml文件配置环境。

conda env create -n pulse -f pulse.yml

但是我自己安装了,报如下错误:

Solving environment: failed 
ResolvePackageNotFound:***

这是因为环境配置文件是在另一台电脑上导出的,不适合我们电脑的配置。可以通过删除包的具体信息来解决,即删除包名第二个等号后面的内容。

例如:

- blas=1.0=mkl
- ca-certificates=2020.1.1=0

将其更改为:

- blas=1.0
- ca-certificates=2020.1.1

还有dlib库的安装也遇到了问题,需要先安装cmake,再安装dlib。

pip install cmake
pip install dlib

如果还是安装不成功,可以先将dlib19.19.0版本下载下来,在本地安装。

我将dlib19.19.0版本文件,上传到了我的百度网盘。

下载地址(提取码:6666):

https://pan.baidu.com/s/16KHEdZ0KD_pQPRRiGuq5Ew

最后,安装本地文件就可以了。

pip install dlib-19.19.0-cp38-cp38-win_amd64.whl.whl

第 3 步:运行模型

该项目为我们提供了一个预训练好的模型,需要翻墙下载。
我也下载了,上传到我的百度网盘。

下载地址(提取码:6666):

https://pan.baidu.com/s/16KHEdZ0KD_pQPRRiGuq5Ew

在代码文件的根目录下面,创建两个文件夹,分别命名为:cache、realpics 。

将上面下载好的,预训练模型(三个文件),放到 cache 文件夹内。

然后将一张人像照片放到 realpics 文件夹内,我们以下图为例:

有一种去除马赛克的方法,有运行教程

首先运行以下语句来降低图像的分辨率。

python align_face.py

生成的图片会放到 input 文件夹内。
有一种去除马赛克的方法,有运行教程
最后运行run.py文件

python run.py

就会在 runs 文件夹下生成脑补图。
有一种去除马赛克的方法,有运行教程

他们都是金发碧眼的,但不太像——

如果您在运行时遇到此错误:

Could not find a face that downscales correctly within epsilon

有两种方法可以解决它:
1.增加迭代次数

python run.py -steps=5000

2、增大eps

出现这个问题,是因为L2 损失大于eps,我们通过增大eps的值,就可以避免这个错误

在run.py文件的39行。
原始代码:

parser.add_argument('-eps', type=float, default=2e-3, help='Target for downscaling loss (L2)')

变成:

parser.add_argument('-eps', type=float, default=8e-2, help='Target for downscaling loss (L2)')

这基本上没有问题。

项目运行过程中遇到的所有问题我都写了下来,希望大家能顺顺利利的运行~

如果想要运行新出的这个MAE算法。

项目地址为:

https://github.com/facebookresearch/mae

项目提供了 Colab,要登陆Google账户才能运行,如果可以登录的话,可以直接在线体验算法效果:

https://colab.research.google.com/github/facebookresearch/mae/blob/main/demo/mae_visualize.ipynb

wx搜索【喵宁一】第一时间阅读文章~

版权声明:本文为博主猫宁一原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/shine_a/article/details/123008788

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2022年2月21日
下一篇 2022年2月21日

相关推荐