StyleGAN玩出新高度!生成999幅抽象画,人人都是毕加索(附代码)

2019 年 4 月 8 日 新智元



  新智元原创  

来源:reddit

编辑:金磊、大明

【新智元导读】英伟达推出的StyleGAN在前不久大火了一把。今日,Reddit一位网友便利用StyleGAN耗时5天创作出了999幅抽象派画作!不仅如此,他还将创作过程无私的分享给了大家,引来众网友的一致好评。


人人都能当抽象派画作大师了!


去年,佳士得拍卖会上拍卖了一副由AI创作的肖像画——《爱德蒙·贝拉米的肖像》,该画最终售价43.25万美元(301万元人民币),远远超过了7000到1万美元的预计售价,同时也引发了人们对人工智能作画的热烈探讨。


爱德蒙·贝拉米的肖像


今天,Reddit上一位网友利用StyleGAN训练生成了999幅抽象派画作!


生成的其中一幅画作


这项工作使得其他网友们羡慕不已:



那么,这999幅AI生成的画作中,是否又会出现天价作品呢?值得拭目以待。


利用StyleGAN训练生成抽象派画作


这位名为“_COD32_”的网友在Reddit上毫无保留的分享了这项工作的创作过程。


Reddit地址:

https://www.reddit.com/r/MachineLearning/comments/bagnq6/p_stylegan_trained_on_paintings_512x512/


在模型方面,采用的依旧是去年英伟达爆款StyleGAN,这是一种新的生成器架构,基于风格迁移,将面部细节分离出来,由模型进行单独调整,从而大幅度超越传统GAN等模型。


英伟达StyleGAN GitHub官方地址:

https://github.com/NVlabs/stylegan


在数据方面,采用的是Kaggle上名为”Painter by Numbers“项目中的数据集,其中大部分的图像数据来源于WikiArt.org网站。


Kaggle地址:

https://www.kaggle.com/c/painter-by-numbers/data


其中,只采用了≥1024X2014的图像。在GTX 1080 TI上的训练时间大约是5天。


不过作者表示,该模型试图生成人脸的部分并不是很完美,但其它部分还算可以


例如下面两个随机向量之间的快速隐空间差值(latent space interpolation):



同时,作者也给出了训练好的模型和Jupyter Notebook地址:

https://mega.nz/#!PsIQAYyD!g1No7FDZngIsYjavOvwxRG2Myyw1n5_U9CCpsWzQpIo

https://colab.research.google.com/drive/1cFKK0CBnev2BF8z9BOHxePk7E-f7TtUi


英伟达“造假”黑科技:StyleGAN简介



StyleGAN是英伟达提出的一种用于生成对抗网络的替代生成器体系结构,该结构借鉴了样式迁移学习的成果。新结构能够实现自动学习,以及无监督的高级属性分离(比如在使用人脸图像训练时区分姿势和身份属性)和生成的图像(如雀斑,头发)的随机变化,并能在图像合成和控制上实现直观化和规模化。


新模型在传统的分布质量指标方面实现了提升,并且更好地解决了潜在的变量因素。为了对插值质量和分解进行量化,本模型提出了两种适用于任何生成架构的自动化新方法。以及一个新的、高度多样化、高质量的人脸数据集。

 

英伟达研究人员在论文中写道,他们提出的新架构可以完成自动学习,无监督地分离高级属性(例如在人脸上训练时的姿势和身份)以及生成图像中的随机变化,并且可以对合成进行更直观且特定于比例的控制。


换句话说,这种新的GAN在生成和混合图像,特别是人脸图像时,可以更好地感知图像之间有意义的变化,并且在各种尺度上针对这些变化做出引导


例如,研究人员使用的旧系统可能产生两个“不同”的面部,这两个面部其实大致相同,只是一个人的耳朵被抹去了,两人的衬衫是不同的颜色。而这些并不是真正的面部特异性特征,不过系统并不知道这些是无需重点关注的变化,而当成了两个人来处理。



在上面的动图中,其实面部已经完全变了,但“源”和“样式”的明显标记显然都得到了保留,例如最底下一排图片的蓝色衬衫。为什么会这样?请注意,所有这些都是完全可变的,这里说的变量不仅仅是A + B = C,而且A和B的所有方面都可以存在/不存在,具体取决于设置的调整方式。


下面这些由计算机生成的图像都不是真人。但如果我告诉你这些图像是真人的照片,你可能也不会怀疑



效果如此出众的StyleGAN一经开源就成了“网红”,由该模型生成的假脸几乎完全可以乱真,即使是放大了仔细看,大多数情况下依然难以分清,其难度堪比“大家来找茬”。

 

为此,有人甚至专门写了一篇指南,专门指点那些有兴趣“鉴脸”的人,该文总结出了StyleGAN生成假脸的几处常见的破绽。不过,这些破绽大部分是在图片背景、配饰、衣物等附加元素上找到的,面部本身的破绽虽然也有,但显著性和易见性都要下降一个档次。

 

上图的StyleGAN生成图像在面部上几乎无破绽,但左右耳的首饰不对称


被玩坏的StyleGAN:从“假人脸”到“假房子”,生成世间万物


StyleGAN生成假脸图像的逼真程度令人惊艳,但这么厉害的模型只能用来生成假人脸吗?显然不是。很快,越来越多的吃瓜群众发现了StyleGAN的更多潜力。比如生成假的出租房。


前不久,就有好事者利用StyleGAN生成了一个假的Airbnb租房网站,上面从房源图片、地址、再到租客的评论和打分没有一个是真实的,全是StyleGAN的杰作。

 

假房生成网站 thisairbnbdoesnotexist.com,每次刷新都会出现一个虚假的房源,网页上的照片、文字描述、发布人头像均由计算机自动生成。由于使用的模型非常简单,文字描述多有不合逻辑之处,但乍看上去还是能以假乱真。来源:假房生成网站 thisairbnbdoesnotexist.com 


AirBNB网站截图,避免广告嫌疑做了虚化处理


根据Christopher Schmidt在Twitter的介绍,生成每个网页用一块GPU只需0.5秒,相关代码开源,你可以在这里找到:


https://colab.research.google.com/github/tensorflow/tpu/blob/master/tools/colab/shakespeare_with_tpu_and_keras.ipynb


这个“假房源”网站是怎么做的?


网站上的图像当然由著名的图像生成模型StyleGAN生成,文本则来自在一个AirBNB列表(文末链接[1])上训练的语言模型,主要基于Tensorflow的“Predict Shakespeare with Cloud TPU”(https://t.co/sJoUbwZ2UL)。


这个文本生成模型似乎是个两层的前馈LSTM(文末链接[2]),主要是用它来独立训练生成房屋列表中的标题、描述、房主姓名、地理位置等,然后组合生成综合列表。


每个模型的输出都是预先生成的,每5秒创建一个新的列表(网页)。唯一的修改是根据文本稍微调整序列大小。 


下面是Christopher Schmidt在Twitter上对这个“假房子”网站的简要介绍,包括灵感来源、大致结构、构建页面使用的框架和训练方式等。

本页面在开发时主要使用以下几种模型:在构建图片和卧室照片时使用StyleGAN,一些文本网络的训练使用了tf.keras来生成地点名称、房主姓名、标题和描述。此外还使用了Tensorflow的实例代码

 

所有的数据训练过程都在谷歌的Colab上完成,该平台上可以免费使用GPU和TPU来训练和生成数据。



每个模型都可以做出独立的预测,所以会经常出现各部分信息不相配的情况,比如描述信息中说某套房子有一间卧室,但列表信息中显示有四件卧室,或者外观和名字排列不齐等。

 

但总的来看,这个过程是比较理想的,我在这个学习过程中也获得了不少乐趣,进一步掌握了一些模型的使用技巧。这里要感谢Colab平台,更感谢StyleGAN社群的出色研究成果。



有了这个思路,应用方向什么的就不用愁了,基于StyleGAN模型的假简历、假食物、假猫咪等等如雨后春笋一样不断涌现。甚至有人把这些“造假成果”汇总到了一个网站,叫“这些东西都不存在”。

 

这样看来,StyleGAN已经火到了几乎要被“玩坏”的程度。未来再出现什么样的假货,可能已经不取决于模型本身,而是程序员们的脑洞了。


介绍了这么多,大家是不是也想玩一玩StyleGAN呢?打开下方链接,快去尝鲜吧!


参考链接:

https://www.reddit.com/r/MachineLearning/comments/bagnq6/p_stylegan_trained_on_paintings_512x512/

https://github.com/NVlabs/stylegan


【2019新智元 AI 技术峰会精彩回顾


2019年3月27日,新智元再汇AI之力,在北京泰富酒店举办AI开年盛典——2019新智元AI技术峰会。峰会以“智能云•芯世界“为主题,聚焦智能云和AI芯片的发展,重塑未来AI世界格局。


同时,新智元在峰会现场权威发布若干AI白皮书,聚焦产业链的创新活跃,评述AI独角兽影响力,助力中国在世界级的AI竞争中实现超越。


嘉宾精彩演讲:


登录查看更多
2

相关内容

【芝加哥大学】可变形的风格转移,Deformable Style Transfer
专知会员服务
30+阅读 · 2020年3月26日
必读的10篇 CVPR 2019【生成对抗网络】相关论文和代码
专知会员服务
32+阅读 · 2020年1月10日
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
119+阅读 · 2019年12月31日
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
【ICIP2019教程-NVIDIA】图像到图像转换,附7份PPT下载
专知会员服务
54+阅读 · 2019年11月20日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
GAN用于无监督表征学习,效果依然惊人……
机器之心
12+阅读 · 2019年7月9日
能生成逼真图像的不只有 GAN
机器学习算法与Python学习
8+阅读 · 2019年6月6日
来,用StyleGAN给自己捏一个对象
QCon
3+阅读 · 2019年2月21日
还在PS里手动描边?AI自动抠图只需5秒
机器之心
12+阅读 · 2018年12月19日
拆台BigGan:“失败”图像生成集锦
论智
5+阅读 · 2018年11月19日
IanGoodfellow在推特教你如何更好地阅读GAN论文
Arxiv
7+阅读 · 2020年3月1日
Seeing What a GAN Cannot Generate
Arxiv
8+阅读 · 2019年10月24日
Arxiv
8+阅读 · 2018年5月21日
Arxiv
6+阅读 · 2018年1月29日
VIP会员
相关资讯
Top
微信扫码咨询专知VIP会员