您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

一秒消除马赛克,有码变无码!Python加PULSE无敌

时间:2020-09-11 10:04:27  来源:  作者:

前提

美国如火如荼进行的BLM(黑命贵)运动。已经从民间上升到了政界,渗透进商业界,如今已经深入到了AI界

最近,图灵奖得主、人工智能标杆人物Yann LeCun,因为一则言论被群攻,迫不得已出来道歉。而这起事件的导火索,正是最近突然爆火的PULSE算法

该算法由杜克大学推出,可以将模糊的照片秒变清晰,效果出奇的好。这项研究在CVPR 2020上发表,论文标题为《PULSE:通过对生成模型的潜在空间探索实现自监督照片上采样(论文连接:PULSE:Self-Supervised Photo Upsampling via Latent Space Exploration of Generative Models)。

正当大家兴致勃勃的把玩的时候,谁料PULSE竟莫名闯了祸。

一张照片引发AI社区大争议,Yann LeCun发推先解释后道歉。

有人发现,将一张奥巴马的模糊照片,用PULSE洗出来以后,变成了一个白人!真•洗白?

一秒消除马赛克,有码变无码!Python加PULSE无敌

 

这下美国网民不干了,纷纷将斗争的矛头指向了人工智能。

一向敢说的Yann LeCun,就这张照片发推表示:「结果的偏差,原因在于数据的偏差。为什么PULSE会出现奥巴马被洗白的情况?因为它是在FlickFaceHQ上进行预训练,这个数据集里基本都是白人照片。如果换成来自塞内加尔的数据集,训练完全相同的系统,那必然是每个人都看起来像非洲人。」

这下很多AI研究人员、从业者也不干了,纷纷将斗争的矛头指向了LeCun。

[以上内容来自 搜狐新闻 ]: www.sohu.com/a/404339367_100191017 " 图灵奖得主道歉 因爆火的PULSE算法卷入“种族歧视”风波“

PULSE算法部署运行

具体的舆论争吵就不聊了,看到这条新闻的时候,我感兴趣的就是这个PULSE算法,经过一番了解通俗点来说就是消除马赛克秒变高清人像,听起来好像挺好玩,这么好玩的东西当然要在自己电脑上运行起来了,于是就开始排坑了~

一秒消除马赛克,有码变无码!Python加PULSE无敌

 

代码下载

代码在github上:https://github.com/adamian98/pulse,首先clone下来,如果特别慢,可以使用gitee导入github库,然后在gitee中下载下来。

代码中有两个数据是需要从google drive中下载的,如果无法下载可以,可以直接迁出我的gitee仓库,里边有已经下载好的数据集,并且代码是可运行成功的

README.md中标明了:

You will need to install cmake first (required for dlib, which is used for face alignment). Currently the code only works with CUDA installed (and therefore requires an Appropriate GPU) and has been tested on linux and windows. For the full set of required Python/ target=_blank class=infotextkey>Python packages, create a Conda environment from the provided YAML, e.g.

也就是需要安装cmake,dlib库,以及cuda支持,cuda代表需要nvidia显卡,所以没有N卡的同学也可以退散了,(或许也可以改代码不调用cuda,但我没实现)。

起初,打算在windows上运行起来,发现真的是各种行不通,光安装一个dlib(算法库)都很费劲,编译安装就是报错,还得安装vs,以至于我最一开始放弃运行pulse的想法了,但是我实在是不死心,于是周末又在一台ubuntu系统上重新来过,发现一切都是秒过,直接安装成功,不禁感叹,搞开发还是得linux下。

所以window下的同学也可以退散了,(或许你可以搞定dlib安装,搞定了就可以接着看)。

环境依赖

cmake / c++

sudo apt-get install build-essential cmake
sudo apt-get install libgtk-3-dev
sudo apt-get install libboost-all-dev

python / conda

#建议使用conda,但conda不是必须安装的,主要是解决了包依赖安装即可
#安装conda就不多太详细了,我的python版本使用3.8,估计3.x都可以
#下载Anaconda3
wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
bash Anaconda3-2020.02-Linux-x86_64.sh
#进入到pulse代码目录中,创建pulse环境
conda env create -n pulse -f pulse.yml
#激活
conda activate pulse
#conda安装慢可以访问 https://mirror.tuna.tsinghua.edu.cn/help/anaconda/ 使用国内源加快访问下载

dlib

#其实可以直接使用pip install dlib进行安装,但是我安装是一直报错的,如果你也报错的可以先下载下来再进行安装
#dlib安装教程 http://dlib.NET/compile.html
#dlib下载连接:http://dlib.net/files/dlib-19.20.tar.bz2,下载完成之后解压,然后进入目录
# Using dlib from Python
python setup.py install
#Using dlib from C++
cd examples
mkdir build
cd build
cmake ..
cmake --build . --config Release

pytorch

一秒消除马赛克,有码变无码!Python加PULSE无敌

 

#官网 https://pytorch.org/get-started/locally/
#得到安装命令
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch


cuda

左下角 附加驱动

一秒消除马赛克,有码变无码!Python加PULSE无敌

 

然后在附加驱动里边选择专有驱动,点应用更改,安装完成后重启系统

一秒消除马赛克,有码变无码!Python加PULSE无敌

 

数据集

文中有两个数据是需要从google drive中下载的,如果无法下载可以,可以直接迁出我的gitee仓库,里边有已经下载好的数据集了,当然我还是建议你使用github的代码。

代码运行

使用pycharm打开项目,如果使用conda 需要要在setting->Project:pulse ->Project Interperter中选择你的conda环境

一秒消除马赛克,有码变无码!Python加PULSE无敌

 

可以查看查看几个py文件,如果发现缺失包提示,安装即可,直到所有的包安装完成即可。

到此代码安装工作已经完毕,不过具体的运行并不是直接 运行run.py就可以的。

首先主程序就是run.py ,当你运行的时候,他会去input文件中寻找png格式的图片,然后运算,结果会保留到runs文件中。但是input中的图片是有要求的(1024*1024),需要经过align_face.py进行面部对齐。所以运行run.py之前,先将你要运算的图片先放到realpics目录中,然后执行align_face.py,然后再执行run.py 。

效果展示

马赛克照片

一秒消除马赛克,有码变无码!Python加PULSE无敌

 

修复后照片

一秒消除马赛克,有码变无码!Python加PULSE无敌

 

实际原图

一秒消除马赛克,有码变无码!Python加PULSE无敌

 

擦,直接亚洲脸变成欧洲脸了,怪不得被黑了呢~

要强调的是,通过马赛克重建还原蔡徐坤图像这是不可能的,可以理解为PULSE在人脸库中找到了一张相似的脸,PULSE只是制作了不存在的人的假想面孔。所以pulse目前来说仅仅就是玩玩而已,没什么实际意义,但是亚洲脸变成欧洲脸是我不能接受的,现在我需要的是亚洲脸的训练模型

好玩还是好玩的!



Tags:马赛克   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
核心是利用了 CSS 中一个很有意思的属性 -- image-rendering,它可以用于设置图像缩放算法。何为 image-rendering?CSS 属性 image-rendering 用于设置图像缩放算法。它适用于...【详细内容】
2022-04-13  Tags: 马赛克  点击:(84)  评论:(0)  加入收藏
如果你的朋友给你发了一个截图,里面还有马赛克。你知道如何才能看到马赛克底下的内容吗? 是不是很好奇?按照下面的方法一定能清楚截图力马赛克下的内容。你可以在编辑图片的时...【详细内容】
2022-03-04  Tags: 马赛克  点击:(190)  评论:(0)  加入收藏
继修复打码的图片之后,打码的文字恐怕也不再安全了。就目前来说,给信息打上马赛克已经不再安全了,你所想保护的信息,极有可能在AI的操作下“春光乍泄”。这不是耸人听闻,最近一个...【详细内容】
2021-02-24  Tags: 马赛克  点击:(267)  评论:(0)  加入收藏
AI说白了就是一种通过机器代替人力的技术,离我们最近并且常用到的应该是美图这类软件吧。众所周知,在美颜相机、美图秀秀等软件诞生之前,照片的美化需要专业美工设计师通过PS进...【详细内容】
2020-10-10  Tags: 马赛克  点击:(220)  评论:(0)  加入收藏
前提美国如火如荼进行的BLM(黑命贵)运动。已经从民间上升到了政界,渗透进商业界,如今已经深入到了AI界。最近,图灵奖得主、人工智能标杆人物Yann LeCun,因为一则言论被群攻,迫不得...【详细内容】
2020-09-11  Tags: 马赛克  点击:(257)  评论:(0)  加入收藏
▌简易百科推荐
1. 前言了解响应式编程,首先我们需要了解函数式操作和Stream的操作,下面我们简单的复习一下喽。1.1 常用函数式编程函数式接口中我们先来回顾一下Java中的函数式接口。常见的...【详细内容】
2022-07-15  二哥学Java    Tags:编程   点击:(1)  评论:(0)  加入收藏
在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastify 构建一个 Full-stack 应用程序。在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastif...【详细内容】
2022-07-12  qaseven    Tags:全栈   点击:(9)  评论:(0)  加入收藏
好的软件开发网站有哪些?做软件开发哪些网站能提供帮助呢?这些很多做软件开发的小伙伴都会问到的问题。007出海全球社交流量导航网站,整合了多方出海跨境网站资源,为你介绍出海...【详细内容】
2022-07-08  Chuhai007    Tags:软件开发   点击:(10)  评论:(0)  加入收藏
我们用monkey做压力测试后,会保存一个monkey日志,那如果想快速的分析日志中有哪些异常,我们可以用批处理工具进行快速的筛查,我们一起来看看吧。先编写个小脚本,然后修改为bat后...【详细内容】
2022-07-08  溪流涌动    Tags:monkey   点击:(13)  评论:(0)  加入收藏
白盒测试落地实践分为两个大方向,一个是静态分析,一个是动态分析,当然啦,也可以叫做静态测试和动态测试。那我们如何高质量保效率的做好白盒测试呢?Parasoft已经为您准备好了成熟...【详细内容】
2022-07-08  Parasoft中国    Tags:白盒测试   点击:(11)  评论:(0)  加入收藏
Altium Designer 自带脚本功能的开发项目,可以调用官方AD API接口对原理图或者PCB进行自动操作,本文主要分享开发的流程,和一些基本的概念信息,本文介绍的脚本工具例子可以用在P...【详细内容】
2022-07-07  电子工程师伟哥    Tags:Altium Designer   点击:(21)  评论:(0)  加入收藏
一、目录介绍 前置知识点 NIO Netty 的核心组件 Channel Callback Future 和 Promise 事件和 ChannelHandler Hello World二、前置知识点1、NIO首先我们需要回顾一...【详细内容】
2022-07-06  架构师jickly    Tags:聊天系统   点击:(16)  评论:(0)  加入收藏
1.事件流事件流是对事件执行过程的描述,了解事件的执行过程有助于加深对事件的理解,提升开发实践中对事件运用的灵活度。2.捕获和冒泡捕获阶段是【从父到子】的传导过程,冒泡阶...【详细内容】
2022-07-06  金乾坤    Tags:API   点击:(13)  评论:(0)  加入收藏
刷盘策略CommitLog的asyncPutMessage方法中可以看到在写入消息之后,调用了submitFlushRequest方法执行刷盘策略:public class CommitLog { public CompletableFuture<PutMe...【详细内容】
2022-07-06  Java码农之路    Tags:RocketMQ   点击:(16)  评论:(0)  加入收藏
最近读了本好书-《深度学习推荐系统》,读完不觉全身通畅,于是就有了写这篇文章的想法,把自己的理解和总结分享给大家。 本文将按照从算法到工程的顺序,先介绍一下推荐系统整体...【详细内容】
2022-07-05  InfoQ    Tags:推荐系统   点击:(22)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条