文章目录

  • 第一步:下载代码
  • 第二步:搭建环境
  • 第三步:运行模型

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

ai技术是越来越强悍了。

但现在的ai技术,真的可以完全消除马赛克,百分百还原照片吗?

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

通过算法脑补出打码的地方,帮助我们还原照片。

甚至脸上的毛孔、头发都能复原。

发展到现在,消除马赛克的技术已经趋于成熟了,这不前两周,又开源了一个新的算法MAE。

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

我运行试了一下,用的是下面这张图片。

遮挡后,我们能大体看出这是什么,但是眼睛长什么样子还不知道。

运行了一下,算法模拟出来的效果是下面这样的:

而原图是这样的:

基本上是还原了。

我们来看看这些算法的原理吧。

马赛克其实就是一张低像素的图像。

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

这样图片就会模糊不清,看不清楚原图片是个啥。

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

这个就是算法做的事情,自动脑补一些不存在的特征,比如皱纹、毛发等。

那这些算法真的能帮我们百分百复原照片吗?

我拿我自己的证件照试了一下。

第一张是原图,最后一张是最后复原的效果。

那个——

虽然也是有鼻子有眼的。

但是跟原照片相比,只能说是毫不相关。

最后生成的照片只是算法脑补出来的,可能只是一张看上去真实的面孔。

但想要通过马赛克去重建还原人像,目前看来,这是不可能的。

但复原一些个体特性不太明显的事物,比如家具、动物等,准确率就比较高了。

比如下面这个小狐狸,MAE算法复原的就很成功。

那怎么运行这些算法呢?

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

第一步:下载代码

项目地址:

https://github.com/adamian98/pulse

第二步:搭建环境

在代码文件的根目录下面,有一个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

第三步:运行模型

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

下载地址(提取码: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

去除马赛克,有办法了 附运行教程相关推荐

  1. python操作excel-python操作excel(内附python教程分享)

    今天学习了下xlwings这个库,目的是为了让计算机自动化操作excel表,当某天需要做一些很繁琐的事情,就可以派上用场啦. python操作excel(内附python教程分享) 基本对象 网上刮来 ...

  2. 手把手教你如何用Python制作一个电子相册?末附python教程

    这里简单介绍一下python制作电子相册的过程,主要用到tkinter和pillow这2个库,tkinter用于窗口显示照片,pillow用来处理照片,照片切换分为2种方式,一种是自动切换(每隔5秒) ...

  3. 微软Windows 11正式发布!(附安装教程)

    如此前预告,微软官方宣布,Windows 11正式版于今日(10月5日)全面上市. Windows 11现在已经正式可以下载了.虽然微软之前宣布将于10月5日在全球范围内推出搭载Windows 11的 ...

  4. iMazing2023官网中文版下载及许可证附使用教程

    iMazing2023官网下载是一款功能强大的工具,用于传输和保存您的音乐,消息,文件和数据.iMazing 提供任何 iPhone.iPad 或 iPod touch 的安全背面.用户可以轻松地将数 ...

  5. 织梦dedecms资源素材教程下载网站模板源码(带手机移动端)附安装教程

    织梦dedecms资源素材教程下载网站模板(带手机移动端) 1.把文件上传到你的站点的根目录,然后运行 http://你的域名/install/index.php 安装,根据提示填写好相关信息,点&q ...

  6. 【028】仿猫眼、淘票票的电影后台管理和售票系统系统(含后台管理)(含源码、数据库、运行教程)

    文章目录 1.项目概要介绍 2.用户运行界面截图 3.后台管理员界面截图 4.后端启动教程 5.前端启动教程 6.源码获取 1.项目概要介绍 前言:这是基于Vue+Node+Mysql的模仿猫眼.淘票 ...

  7. thinkphp多用户在线客服系统源码-thinkPHP内核 附使用教程

    介绍: 步骤 1 请使用宝塔面板安装 上传源码并且解压到网站很目录 设置运行目录为public 测试环境为php5.6 mysql5.5 伪静态选择为thinkphp 宝塔 安全 放通:  2080 ...

  8. .net4.5对应的安装mysql dll文件的版本_cmd下使用mysql插入中文出现无法退出语句的情况!终极解决办法! 安装mysql详细教程。...

    当你插入中文时遇到这种情况,始终无法退出. 当前数据库:网上下载的奇奇怪怪版本5.5 当前系统win10 当前CMD输入编码utf8 数据库编码utf8 表编码utf8 mysql> inser ...

  9. 如何实现一个React全家桶项目(附完整教程及代码)

    文章目录 如何实现一个React全家桶项目(附完整教程) 1.相关命令: 运行项目: `yarn start` 项目打包: `yarn build` 暴露配置项: `yarn eject` 2.项目目 ...

  10. Microsoft SQL Server 2019 Developer 简体中文正式版(附安装教程) 64位

    原文地址::https://www.jb51.net/softs/703423.html 相关文章 1.Microsoft SQL Server 2019 标准版 官方中文正式版(附安装教程) 64位 ...

最新文章

  1. mysql 不同分区 同时insert_一文看懂mysql数据库分区表概念、类型、适用场景、优缺点及原理...
  2. Django框架之Auth模块
  3. Linux内存信息查看——free命令
  4. openwrt编译时遇到的报错
  5. eclipse中通过search打开第二个文件时 第一个文件就自己关闭了
  6. 深度学习-超参数调优
  7. Android adb命令选择设备操作
  8. ***的基础知识总结
  9. 过去几年的互联网经济,首先是“免费经济”
  10. 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:收款验收部分)...
  11. swift moya框架+rxswift+handyjson+SwiftyJSON封装和使用教程
  12. R语言中的K折交叉验证
  13. OpenGL EGL简介
  14. DataV 3D 平面地图 2.0 焕新上线
  15. PROE5.0飞利浦耳机结构设计教程
  16. 使用nvs管理node版本
  17. python短信验证码登录_Python手机验证码登录
  18. 力扣题解:45. 跳跃游戏 II
  19. [转载]别让用户发呆—设计中的防呆策略
  20. 推荐场景下融合多模态信息的内容召回模型

热门文章

  1. 淘特淘宝淘金币助手软件,每天自动完成任务领取淘金币
  2. 语聊房玩法解析,如何快速打造一款语音社交产品
  3. 【RNA-seq】表达矩阵的归一化处理(RPKM,TPM,FPKM,RPM(CPM))
  4. 在线ICO转换器--网站专用
  5. linux shadow文件*,Linux /etc/shadow文件详解
  6. 北京精雕现状_北京精雕科技有限公司怎么样?
  7. linux命令一个减号,linux shell环境减号-的用途
  8. python 打开网页并截图_python实现自动网页截图并裁剪图片
  9. 可行性分析与需求分析
  10. Java TemplateProcessingException之Cannot execute subtraction: operands are null and #1234