内容简介:有只会做披萨的GAN,登上了它的工作,并不是生成一张披萨的照片那么简单。你看,AI可以给披萨铺上
吃栗子 发自 凹非寺
量子位 报道 | 公众号 QbitAI
有只会做披萨的GAN,登上了 CVPR 2019 。
它的工作,并不是生成一张披萨的照片那么简单。
你看,AI可以给披萨铺上 帕帕罗尼肠 :
服服帖帖,朴素的芝士披萨,也能变成帕帕罗尼披萨了。
如果有素食的小伙伴,AI可以把帕帕罗尼肠拿走,露出底下的芝士来:
仿佛肉被熊孩子挑光了一样。
另外,在下不喜橄榄,也可以让AI帮忙把橄榄拣出去:
既然是“ 做披萨 ”的AI,只会加料减料并不够,还要把披萨烤熟:
完成。
这只AI就叫 PizzaGAN 。为它训练厨艺的,是来自MIT和卡塔尔计算研究所的5位爸爸。
他们说,算法其实并不是一只GAN,而是许多GAN层层叠叠而生。
并且,修炼过程中PizzaGAN吃下了 2.8G 的真实披萨数据集,以及 1.8G 的合成披萨数据集。
两个数据集现在已经 开放下载 了,团队说算法也快要开源了。
在那之前,我们先来看看AI是怎样做披萨的:
井然有序
AI按照食客的要求生产披萨,首先要认识各种配料。
分类、分割都只用了 弱监督 :通过AMT众包获得了标注数据,在图像层面 (Image Level) 标出有哪些配料就可以。但为了准确,每张图由5个人标注,最后采纳多数人的看法。
数据有了,要怎么用呢?
一层叠一层
就像开头提到的那样,PizzaGAN不是一只GAN,而是模块化的:
每种配料都有两个算子(Operator) ,一个用来加料,一个用来减料。 每个算子都是一只GAN 。
比如,这是加帕帕罗尼肠用的GAN:
它的生成器和普通GAN不同,不会生出一张全新图像,而是在输入图像的基础上,生成一层加帕帕罗尼肠的新外观 (称作 A+ ) 。
还生成一个Mask (称作 M+ ) ,用来把新外观叠加到原图上,它会显示出哪些像素和原图不同。
有了 A+ 和 M+ ,就可以给芝士披萨,铺上一层帕帕罗尼肠了。
去掉帕帕罗尼也是同理:
GAN要生成一层新的外观 ( A- ) ,显示出去掉食材的部分本来的样子。
也生成一个Mask ( M- ) ,来指示原图里的哪些像素,在新图上会发生变化。
有了 M- ,就可以把 A- 这层新外观叠加到帕帕罗尼披萨上,得到一张芝士披萨。
罗勒,蘑菇,菠萝粒…..不想要的配料,全部可以去掉:
除此之外, 注意一下,比起加料模块,减料模块拥有更重要的使命 :
它们可以把输入的一张披萨, 拆解成很多层 ,每层一种料,然后就可以按需加减了。
那么问题来了,是不是只要知道有哪些料,按随性的 顺序 来拆解就行?
琵琶半遮面
不不不,AI可以从 遮挡关系 上,判断出哪种料是先加的,哪种是后加的。
举个栗子,这里有一红一绿两个圆,红上绿下。
如果,先去掉红色、再去掉绿色,那么去掉红色的时候,绿色的圆会被AI补充完整。
反过来,先去掉绿色、再去掉红色的话,绿色的圆就补不齐了。
这样说来,先去掉红色比较合适。那么AI是怎样判断的呢?
根据Mask来看,先去红色再去绿色, 两个Mask之间会有交集 ,反过来就完全没有交集了。
交集更多,就是更合理的顺序,AI便是这样推测减料的先后。
而最先去掉的料在最上层,也就是最后加的料。所以,把减料的顺序翻过来,就是加料顺序了。
撒好配料之后,放进烤箱:
一回熟二回生
最后一步,团队手动标注了932个真披萨,一部分是烤熟的,一部分还没烤。
这些数据用来训练AI,把生饼变成熟饼:比如面饼变得金黄,下层的番茄酱在上层的配料之间透出更迷人的红。
△ 开头出现过了,复习一下
只不过, 芝士会融化 这个知识点,对GAN来说可能还是有些困难了。
另外,由生到熟的过程,对人间的食物来说并不可逆。但AI能把已经烤熟的披萨,变回刚刚撒完配料的样子:
神奇的是,芝士仿佛从融化的状态,变回了一粒一粒的芝士碎。
这样一来,把忘了加的配料撒上,还可以重烤一次。
真是一只随和的AI。
得天独厚
MIT的一位少年,把自家的成果发上了推特。
楼下便有观众,对研究人员的脑回路表示服气:
看到论文题目,还以为只是提出 分层 (Layering) 的概念,没想到居然真在“做披萨”。
少年也开心地回复了观众:
没错,就是提了 分层 的概念,可披萨刚好是分层加料的,所以是完美的搭配哟。
那么问题来了,论文题目叫什么呢?
果然不是一篇正常的CVPR。
论文传送门:
https://arxiv.org/abs/1906.02839
项目主页,有Demo:
http://pizzagan.csail.mit.edu/
— 完 —
小程序|全类别AI学习教程
AI社群|与优秀的人交流
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
喜欢就点「在看」吧 !
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编写可读代码的艺术
Boswell, D.、Foucher, T. / 尹哲、郑秀雯 / 机械工业出版社 / 2012-7-10 / 59.00元
细节决定成败,思路清晰、言简意赅的代码让程序员一目了然;而格式凌乱、拖沓冗长的代码让程序员一头雾水。除了可以正确运行以外,优秀的代码必须具备良好的可读性,编写的代码要使其他人能在最短的时间内理解才行。本书旨在强调代码对人的友好性和可读性。 本书关注编码的细节,总结了很多提高代码可读性的小技巧,看似都微不足道,但是对于整个软件系统的开发而言,它们与宏观的架构决策、设计思想、指导原则同样重要。编......一起来看看 《编写可读代码的艺术》 这本书的介绍吧!