刷新一次,生成一张逼真假脸:用英伟达StyleGAN做的网站,生出了灵异事件

本文主要是介绍刷新一次,生成一张逼真假脸:用英伟达StyleGAN做的网站,生出了灵异事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

栗子 岳排槐 假装发自 凹非寺
量子位 出品 | 公众号 QbitAI

一个新网站在国外火了。

玩法很简单,每次刷新这个网站的页面,都能出现一张人脸。大多数情况下,都是一张眉目清晰、面含微笑的和善人脸。

比如这样:

640?wx_fmt=jpeg

不过,这个网站却被一众国外媒体,集体以“可怕”两个字来形容。

为什么?

来,大家先仔细看看这些笑脸。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

不知你能否看出可怕之处?

其实,这些人脸都是假的。

每次刷新这个网站,出现的那张高清笑脸,尽管看起来无比真实,但都是从来不曾在世界上出现过的。这些笑脸不是真人的笑脸。

都是AI生成的。

光荣归属英伟达

之所以能生成人脸,是因为背后有一个针对人脸进行预训练的模型。每次你刷新网站时,一个神经网络就会基于512维向量,从零生成一个全新的人脸。

而这个网站的创建者,名叫Philip Wang。社交网站的资料显示,他是一位Uber的软件工程师。住在旧金山。

他在Facebook上解释了为什么要建这样一个网站。

最近一群天才的英伟达研究员,发布了最先进的生成对抗网络StyleGAN。我决定自己动手搞个事情,提高大众对这个技术的认知。

显然,Philip Wang的目的达到了。

他搭建的这个网站,用一种超级简单的方式,展示了StyleGAN能生成多逼真的假人脸。再给几个示例,大家一起看看。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

什么是StyleGAN?

这是英伟达2018年底发布的最新研究成果。十天前,英伟达正式给这个模型命名为StyleGAN。顾名思义,GAN的生成器,是借用风格迁移的思路重新发明的。

而且英伟达官方还开源了代码。

这个实现可以用Linux跑,也可以用Windows跑,但墙裂推荐大家用Linux跑,为性能和兼容性着想。此外还需要Python 3.6和TensorFlow 1.10以上 (支持GPU) 。

640?wx_fmt=png

 StyleGAN架构

和官方代码实现一起发布的,还有Flickr高清人脸数据集。那些几可乱真的人脸,就是StyleGAN吃了这个数据集,才生成的。

数据集里包含7万张1024×1024高清人像。英伟达说,这些照片在年龄、种族、以及图片背景上,都有很强的多样性。

640?wx_fmt=gif

当然,StyleGAN不止能生成人脸,英伟达还提供了猫、汽车、卧室的预训练模型。

如果你也想自己动手试一下,下面是传送门。

代码实现:
https://github.com/NVlabs/stylegan

FFHQ数据集:
https://github.com/NVlabs/ffhq-dataset

论文:
https://arxiv.org/abs/1812.04948

“可怕”

不过,媒体纷纷用“可怕”“毛骨悚然”“最毛骨悚然”,来描述网站的画风。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

一方面,是不敢相信这些细节丰富、表情逼真的人脸,竟然全部都是假的。另一方面,这些生成的假脸,并不是每一次都看起来那么完美。

每次有明显的问题出现时,确实让人感觉有点可怕。

640?wx_fmt=jpeg

网站上线之后,许多小伙伴也都欣赏到了奇怪的图景:

少只耳朵,算是很常见的缺陷了。

640?wx_fmt=png

妹子微笑着,可能没发现旁边有只幽灵。

640?wx_fmt=jpeg

少年仿佛被不明力量攻击了。

640?wx_fmt=jpeg

当然,看起来奇奇怪怪,还不是最可怕的地方。

这一张张并不存在的假脸,甚至让人浮想联翩。

神展开

有个叫Darwindemon (达尔文恶魔)的 reddit网友讲了一个更惊悚的故事,说是发生在自己身上。故事是这样的:

2月14日那天,她闲来无事,就在房间里不停地刷这个网站。看着一张一张逼真的脸,也不知道是不是真的不存在,想着说不定有人刚好长这样,谁说得清呢。

刷着刷着,突然发现屏幕里的脸和自己一模一样,脸颊上的痣都一样。她吓呆了,不停地说服自己,这一定是巧合。

然后,她跑去客厅沙发,靠在男票肩上找安慰。却发现男票还是玩手机,对她的出现毫无反应。这时有人敲门,男票去开门,一个妹子走进来,男票还亲了她。完全当她不存在。

不管怎样试图引起男票的注意,都是失败。不可能的,男票怎么会在情人节开这种玩笑?

再后来,她发现想不起自己是谁了。

手机里已经没有一条消息了,相册空了,邮箱空了,Facebook也没有登录痕迹了。

她真的不存在了。

找来找去,只有Reddit登录着,但也没有身份信息。于是,达尔文就在那里发帖,希望观众们帮她找回自己。

这则求助帖的人气急速上涨,18小时已有4.4k热度。

关于这个不存在的人,大家都有很多话想说。

640?wx_fmt=png

有人问:你有没有再刷新一下?

Darwin_demon:当下就刷了,生成了不认识的脸。

有人回:那你又把一个人给抹杀了

这也是她唯一的回复。

不过,楼下观众的讨论没有停,大胆的想法一浪一浪。

640?wx_fmt=png

有人说:反正你也不存在了,把找到的个人信息都发到Reddit上,说不定系统就挂掉了呢。

有人附和:是啊是啊,社会安全码 (SSN) ,信用卡信息之类的都来点吧。

有人说:反正你也不存在了,去抢银行吧,然后就有钱了。

有人反对:没法跟别人互动的话,钱就没用了,还不如去抢商店,抢来的东西还能用。

有人说:

我刚才看到我表弟了。

二次编辑:我怎么不记得我有个表弟了,他叫什么来着?

有人回:

你表弟去世五年了。

然后,表弟真的来了:

怪不得我有座坟。

640?wx_fmt=png

One More Thing

为什么会有这种故事?

因为这个网站的名称叫:

https://thispersondoesnotexist.com/

(意思是:这个人不存在.com)

640?wx_fmt=jpeg

亲测手机也能打开刷新。

谁要不小心刷到了自己,可以留言求助……

作者系网易新闻·网易号“各有态度”签约作者


加入社群

量子位现开放「AI+行业」社群,面向AI行业相关从业者,技术、产品等人员,根据所在行业可选择相应行业社群,在量子位公众号(QbitAI)对话界面回复关键词“行业群”,获取入群方式。行业群会有审核,敬请谅解。


此外,量子位AI社群正在招募,欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“交流群”,获取入群方式。

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

640?wx_fmt=jpeg

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「好看」吧 !



这篇关于刷新一次,生成一张逼真假脸:用英伟达StyleGAN做的网站,生出了灵异事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/403253

相关文章

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

电脑多久清理一次灰尘合? 合理清理电脑上灰尘的科普文

《电脑多久清理一次灰尘合?合理清理电脑上灰尘的科普文》聊起电脑清理灰尘这个话题,我可有不少话要说,你知道吗,电脑就像个勤劳的工人,每天不停地为我们服务,但时间一长,它也会“出汗”——也就是积累灰尘,... 灰尘的堆积几乎是所有电脑用户面临的问题。无论你的房间有多干净,或者你的电脑是否安装了灰尘过滤器,灰尘都

详解Java中如何使用JFreeChart生成甘特图

《详解Java中如何使用JFreeChart生成甘特图》甘特图是一种流行的项目管理工具,用于显示项目的进度和任务分配,在Java开发中,JFreeChart是一个强大的开源图表库,能够生成各种类型的图... 目录引言一、JFreeChart简介二、准备工作三、创建甘特图1. 定义数据集2. 创建甘特图3.