大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

栏目: 软件资讯 · 发布时间: 5年前

内容简介:从茫茫的一片白,到细细勾勒出建筑的轮廓。雕梁画栋悄悄的构建,飞檐区分出天和地。

郭一璞 发自 北大旁边

量子位 报道 | 公众号 QbitAI

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

从茫茫的一片白,到细细勾勒出建筑的轮廓。

雕梁画栋悄悄的构建,飞檐区分出天和地。

正前方道路悄悄显现,雪地由模糊变得清晰,道路通向的,则是庄严的大殿。

一切都像梦里一般,宫殿如同电影镜头那样显现,刚开始模糊抽象,定睛一看却是实景,绘画风格十分独特。

这个AI名叫 LearningToPaint ,作者是北大信息科学技术学院大三学生黄哲威(hzwer)。

同样的效果,还可以出现在照片上:

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

“复现”名家油画也可以:

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

从大面积的花瓶、花朵,到勾勒细节的花瓣,梵高的作品就这样演绎出来。

印象派的也ok:

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

光影粗略勾勒,描绘出一个高度马赛克状态的日出,之后补充细节,水面、云霞、船上的桅杆依次出现。

这个AI的思路非常写意派,就像“画马”一样,粗略勾勒出马的形态,之后便能迅速的补充每个细节,画面形象也因此在屏幕上活过来了。

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

写意派绘画AI的诞生

不仅这个AI会画画,它的作者也会画画。黄哲威的灵感,正是来自于学习绘画的经历。

小时候学素描的时候,他觉得素描老师就是画技高超的大佬,无论是描绘静物还是人物画像,老师都能画得惟妙惟肖。

然而,单纯画得像并不意味着画得好。

后来,当他看到毕加索、丢勒等画家的作品时才发现,绘画大师们根本无需刻意“画得像”,而是只用寥寥数笔,就能勾勒出景物的本质,描绘出生动的形象。

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

那AI能不能这样画呢?

不让AI一个像素一个像素的填充,而是教他们像人类一样一笔一划的绘画。让AI学会在连续的动作空间上作决策,每步决定一个笔画的形状,位置,颜色等参数。如果还能限制笔画数量,是不是就能像大画家们一样,用简单的几笔就能画出景物的灵魂呢?

为了实现这样一个AI,黄哲威和同伴选定了 深度确定策略梯度 (DDPG) 算法

和GAN有些类似,DDPG也是一个“精神分裂”的算法,分为两个网络:

策略网络Actor,负责画画,是一个面向评委的画师,为了获得评委的高评价不断进步;

价值网络Critic,负责当评委,Actor画出的每一笔他都要做出评价,力求成为一个客观、中立、公允的评委老师,最终目标是帮助Actor画出一个最像原图的画。

因此,在这样一个“精神分裂”的状态下,AI学会了对自己严格要求。

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

DDPG

即使增加了许多改进,原版DDPG算法的效果依然不理想,经过大量训练的AI,依然很难画出像样的笔画。

最后,黄哲威把DDPG改造成了一个基于模型的方法。

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

Model-based DDPG

他想到,可以预训练一个神经网络作为笔画渲染器,帮助AI完成对绘画过程的建模。

改造之后,训练速度和表现都有了大大的提高。

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

整个网络的结构长这样,使用了带有梯度惩罚的WGAN(WGAN with gradient penalty),用来度量画和目标的相似度:

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

FC指的是全连接层,除了最后一个全连接层的输出向量,策略网络Actor和价值网络Critic采用了同样的结构。

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

Conv指的是卷积层, GAP 指的是全局平均池化层。

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

神经渲染器,由几个全连接层和子像素卷积层(Sub-Pixel)组成,可以生成各种不同种类的笔画。

有了网络结构之后,就可以在包括MNIST、SVHN、CelebA和ImageNet等各个知名数据集上训练了。训练的过程实际上是AI不断尝试绘画,不断改进自身策略的过程,不需要标注数据,也不需要人类的绘画经验。

以CelebA为例,训练需要一张 GPU,10小时预训练笔画渲染器,40小时训练AI,总共要画百万张画。

在线Demo,你也能让AI画画

LearningToPaint的代码和CelebA上训练好的模型已经开源,Colab上还有一个在线Demo,不会写代码的同学也可以试用。

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

只要依次点每一行开头的 :arrow_forward: 符号运行,运行到Training之前的部分,AI就可以画出一张川普头像。

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

把第五行中的地址换成任意一张你喜欢的图片,接着继续运行到第八行,就可以看到AI画出这张图。

当然,由于显示窗口是正方形的,如果上传的是非正方形图片会被压缩,建议裁剪之后再放上来,或者也可以把第七行的512×512改成你想要的尺寸。

如果运行到第7行,问你要不要重新做一个视频:

File 'video.mp4' already exists. Overwrite ? [y/N]

就在后面的框框里输入y表示yes。

比如,我们试了试让AI画新垣结衣小姐姐:

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

最近因为巴黎圣母院事件又火起来的《刺客信条》中的主角:

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

甚至抽象版《复联4》的海报,海报上的字都能辨识:

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

另外,你还可以设定强制AI用不同形状的画笔来绘制,比如只许画圆:

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

或者只许画三角形:

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

信息学竞赛选手黄哲威

虽然黄哲威现在还是本科在读,但是他在高中的时候就是信息学竞赛选手,接触CS领域有相当长的时间了。黄哲威对量子位说,自己的算法博客hzwer.com日均有上万浏览量。

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

2013年,他被保送到福建省顶尖高中福建师大附中,从高一开始接触信息学竞赛,最终进入第32届全国信息学竞赛福建省队,获得全国赛银牌,也获得了北京大学本一线录取的机会。

进入北大信科一年后,他获得了ICPC区域赛金牌,还成为了旷视科技智能计算组(IC组)的实习生,之后参加了NIPS 2017的Learning to Run比赛,使用Actor-Critic Ensemble算法获得了第二名。

传送门

论文:

Learning to Paint with Model-based Deep Reinforcement Learning

Zhewei Huang, Wen Heng, Shuchang Zhou

https://arxiv.org/abs/1903.04411

GitHub:

https://github.com/hzwer/LearningToPaint

作者撰写的介绍文章:

https://zhuanlan.zhihu.com/p/61761901

Demo:

https://colab.research.google.com/github/hzwer/LearningToPaint/blob/master/LearningToPaint.ipynb

— 完 —

小程序|get更多AI资讯与资源

加入社群

量子位AI社群开始招募啦,量子位社群分:AI讨论群、AI+行业群、AI技术群;

欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“微信群”,获取入群方式。(技术群与AI+行业群需经过审核,审核较严,敬请谅解)

大三少年造出AI写意画家,像人类一样挥笔作画丨已开源,有Demo

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

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

喜欢就点「在看」吧 !


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

实现领域驱动设计

实现领域驱动设计

Vaughn Vernon / 滕云 / 电子工业出版社 / 2014-3 / 99.00元

领域驱动设计(DDD)是教我们如何做好软件的,同时也是教我们如何更好地使用面向对象技术的。它为我们提供了设计软件的全新视角,同时也给开发者留下了一大难题:如何将领域驱动设计付诸实践?Vaughn Vernon 的这本《实现领域驱动设计》为我们给出了全面的解答。 《实现领域驱动设计》分别从战略和战术层面详尽地讨论了如何实现DDD,其中包含了大量的最佳实践、设计准则和对一些问题的折中性讨论。《实......一起来看看 《实现领域驱动设计》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具