MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

栏目: 数据库 · 发布时间: 5年前

内容简介:有只会做披萨的GAN,登上了它的工作,并不是生成一张披萨的照片那么简单。你看,AI可以给披萨铺上

吃栗子 发自 凹非寺

量子位 报道 | 公众号 QbitAI

有只会做披萨的GAN,登上了 CVPR 2019

它的工作,并不是生成一张披萨的照片那么简单。

你看,AI可以给披萨铺上 帕帕罗尼肠

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

服服帖帖,朴素的芝士披萨,也能变成帕帕罗尼披萨了。

如果有素食的小伙伴,AI可以把帕帕罗尼肠拿走,露出底下的芝士来:

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

仿佛肉被熊孩子挑光了一样。

另外,在下不喜橄榄,也可以让AI帮忙把橄榄拣出去:

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

既然是“ 做披萨 ”的AI,只会加料减料并不够,还要把披萨烤熟:

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

完成。

这只AI就叫 PizzaGAN 。为它训练厨艺的,是来自MIT和卡塔尔计算研究所的5位爸爸。

他们说,算法其实并不是一只GAN,而是许多GAN层层叠叠而生。

并且,修炼过程中PizzaGAN吃下了 2.8G 的真实披萨数据集,以及 1.8G 的合成披萨数据集。

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

两个数据集现在已经 开放下载 了,团队说算法也快要开源了。

在那之前,我们先来看看AI是怎样做披萨的:

井然有序

AI按照食客的要求生产披萨,首先要认识各种配料。

分类、分割都只用了 弱监督 :通过AMT众包获得了标注数据,在图像层面 (Image Level) 标出有哪些配料就可以。但为了准确,每张图由5个人标注,最后采纳多数人的看法。

数据有了,要怎么用呢?

一层叠一层

就像开头提到的那样,PizzaGAN不是一只GAN,而是模块化的:

每种配料都有两个算子(Operator) ,一个用来加料,一个用来减料。 每个算子都是一只GAN

比如,这是加帕帕罗尼肠用的GAN:

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

它的生成器和普通GAN不同,不会生出一张全新图像,而是在输入图像的基础上,生成一层加帕帕罗尼肠的新外观 (称作 A+ ) 。

还生成一个Mask (称作 M+ ) ,用来把新外观叠加到原图上,它会显示出哪些像素和原图不同。

有了 A+M+ ,就可以给芝士披萨,铺上一层帕帕罗尼肠了。

去掉帕帕罗尼也是同理:

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

GAN要生成一层新的外观 ( A- ) ,显示出去掉食材的部分本来的样子。

也生成一个Mask ( M- ) ,来指示原图里的哪些像素,在新图上会发生变化。

有了 M- ,就可以把 A- 这层新外观叠加到帕帕罗尼披萨上,得到一张芝士披萨。

罗勒,蘑菇,菠萝粒…..不想要的配料,全部可以去掉:

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

除此之外, 注意一下,比起加料模块,减料模块拥有更重要的使命

它们可以把输入的一张披萨, 拆解成很多层 ,每层一种料,然后就可以按需加减了。

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

那么问题来了,是不是只要知道有哪些料,按随性的 顺序 来拆解就行?

琵琶半遮面

不不不,AI可以从 遮挡关系 上,判断出哪种料是先加的,哪种是后加的。

举个栗子,这里有一红一绿两个圆,红上绿下。

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

如果,先去掉红色、再去掉绿色,那么去掉红色的时候,绿色的圆会被AI补充完整。

反过来,先去掉绿色、再去掉红色的话,绿色的圆就补不齐了。

这样说来,先去掉红色比较合适。那么AI是怎样判断的呢?

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

根据Mask来看,先去红色再去绿色, 两个Mask之间会有交集 ,反过来就完全没有交集了。

交集更多,就是更合理的顺序,AI便是这样推测减料的先后。

而最先去掉的料在最上层,也就是最后加的料。所以,把减料的顺序翻过来,就是加料顺序了。

撒好配料之后,放进烤箱:

一回熟二回生

最后一步,团队手动标注了932个真披萨,一部分是烤熟的,一部分还没烤。

这些数据用来训练AI,把生饼变成熟饼:比如面饼变得金黄,下层的番茄酱在上层的配料之间透出更迷人的红。

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

开头出现过了,复习一下

只不过, 芝士会融化 这个知识点,对GAN来说可能还是有些困难了。

另外,由生到熟的过程,对人间的食物来说并不可逆。但AI能把已经烤熟的披萨,变回刚刚撒完配料的样子:

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

神奇的是,芝士仿佛从融化的状态,变回了一粒一粒的芝士碎。

这样一来,把忘了加的配料撒上,还可以重烤一次。

真是一只随和的AI。

得天独厚

MIT的一位少年,把自家的成果发上了推特。

楼下便有观众,对研究人员的脑回路表示服气:

看到论文题目,还以为只是提出 分层 (Layering) 的概念,没想到居然真在“做披萨”。

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

少年也开心地回复了观众:

没错,就是提了 分层 的概念,可披萨刚好是分层加料的,所以是完美的搭配哟。

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

那么问题来了,论文题目叫什么呢?

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

果然不是一篇正常的CVPR。

论文传送门:

https://arxiv.org/abs/1906.02839

项目主页,有Demo:

http://pizzagan.csail.mit.edu/

小程序|全类别AI学习教程

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

AI社群|与优秀的人交流

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

MIT有个做披萨的GAN,登上了CVPR:加香肠、去橄榄、再烤熟,分层才是王道

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

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

喜欢就点「在看」吧 ! 


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

查看所有标签

猜你喜欢:

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

编写可读代码的艺术

编写可读代码的艺术

Boswell, D.、Foucher, T. / 尹哲、郑秀雯 / 机械工业出版社 / 2012-7-10 / 59.00元

细节决定成败,思路清晰、言简意赅的代码让程序员一目了然;而格式凌乱、拖沓冗长的代码让程序员一头雾水。除了可以正确运行以外,优秀的代码必须具备良好的可读性,编写的代码要使其他人能在最短的时间内理解才行。本书旨在强调代码对人的友好性和可读性。 本书关注编码的细节,总结了很多提高代码可读性的小技巧,看似都微不足道,但是对于整个软件系统的开发而言,它们与宏观的架构决策、设计思想、指导原则同样重要。编......一起来看看 《编写可读代码的艺术》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具