量子位 宣布 | "大众年夜众号 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/
— 完 —
诚挚招聘
量子位正在招募编辑/,事情地点在北京中关村落。期待有才华、有激情亲切的同学加入我们!
干系细节,请在量子位"大众年夜众号(QbitAI)对话界面,回答“招聘”两个字。
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技能和产品新动态