前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVPR2019:PizzaGAN通过深度学习制作披萨

CVPR2019:PizzaGAN通过深度学习制作披萨

作者头像
小白学视觉
发布2019-07-08 16:24:08
9640
发布2019-07-08 16:24:08
举报

你有没有想过通过深度神经网络做学会如何烹饪?麻省理工学院的最新研究便使用深度神经实现如何烹饪美味的披萨!他们最近发布的名为“How to make a pizza: Learning a compositional layer-based GAN model “的文章(后台回复”制作披萨“获取原文下载链接),探索了如何训练GAN模型用来识别制作比萨饼所涉及的步骤。他们的PizzaGAN分为两部分:

(1)给定披萨的输入图像,用于训练PizzaGAN预测披萨上都有什么配料

(2)给定披萨的输入图像,PizzaGAN可以将一组有序的模型对应于图像,其中每个模型用于表示添加或删除披萨的配料

1. 披萨的组成

在尝试训练深度神经网络制作披萨之前,我们首先需要弄清楚制作披萨的流程。

像任何伟大的食谱一样,制作比萨饼的过程包括一系列有序的步骤。我们需要从制作面团,酱汁和奶酪开始,然后继续添加其他的辅助调料,在每一步添加调料的过程中都会改变披萨的样子。

2. PizzaGAN如何定义披萨 - 作为一组有序步骤。

一旦我们的目标流程定义明确,我们就可以开始训练一个模拟这些步骤的实际模型。

假设我们已经做了一个意大利辣香肠披萨,我们的朋友提出想要添加橄榄的需求,我们可以通过一系列步骤来模拟从我们的原始披萨到新的披萨的过程:

(1)认出我们目前的状态 - 意大利辣香肠披萨

(2)应用使我们达到目标状态的更改 - 添加橄榄

添加橄榄后,另一位朋友可能会说:“我不喜欢意大利辣香肠,能不能用火腿代替意大利香肠!”这次我们有3个步骤:

(1)认出我们目前的状态 - 意大利辣香肠和橄榄披萨

(2)应用第一个让我们更接近目标状态的变化 - 去掉意大利辣香肠

(3)应用使我们达到目标状态的第二个更改 - 添加火腿

为了学习如何建立比萨饼,PizzaGAN神经网络试图模拟所有这些步骤。

3.GAN如何制作比萨饼

数据集

用于训练PizzaGAN的比萨饼数据集由9,213张图片组成,每张图片都有一个披萨。每个图像都有一组相应的标签,用于描述披萨上的配料,但是不包括面团,酱汁和基础奶酪。例如,如果披萨图像上有火腿和蘑菇,则该图像的标签为:

[“火腿”,“蘑菇”]

执行训练时,输出分类是one-hot编码的。因此,在输入火腿和蘑菇披萨时输出矢量的火腿和蘑菇元素设置为1.0,而其余元素设置为0.0。

Generator network- 添加和删除配料

回想一下,我们希望能够将比萨的构建模型化为一组连续步骤。因此,无论训练什么网络必须能够一次执行一个步骤 - 添加一个顶部,删除一个顶部,烹饪比萨饼等。

为此,训练Generator network以模拟每个配料的添加或移除。在给定披萨的输入图像时,网络能够预测输出图像,就好像我们添加或移除了配料。

由于Generator network每次只能被训练用于执行添加或者删除配料中的一个操作,因此程序中需要训练多个Generator network,针对每一种配料都需要训练两个Generator network,一个用于添加这种配料,另一个用于删除这种配料,例如一个用于添加意大利肠,一个用于去除它,具体如下图所示。

识别比萨

PizzaGAN中Generator network包含披萨所有添加和删除配料。鉴别器(Discriminator) 将负责识别当前披萨上的配料。

给定比萨的输入图像,鉴别器网络预测一组多标签分类,输出向量的每个元素对应于特定的配料。

例如,在下图中,PizzaGAN鉴别器预测比萨图像具有意大利辣香肠,蘑菇和橄榄。对应于那些配料的输出向量的元素在推断时被预测为1.0(或者高于用户设置阈值的某个值)。

GAN模型通常通过一起对Generator network和鉴别器进行训练。鉴别器模型用Generator network模型的一些输出进行训练,并且从其预测中丢失鉴别器模型用于Generator network模型的训练。

PizzaGAN也遵循这一训练步骤,除了预测比萨图像的标签之外,鉴别器还预测图像是真实的还是来自Generator network,这有助于Generator network创建看起来像真正的披萨图像的图像,并拥有所有正确的配料。

结果比萨

鉴于鉴别器预测比萨上的配料和能够添加和移除配料的Generator network,PizzaGAN能够以非常高的准确度构建和分解比萨图像。

PizzaGAN添加和删除配料

PizzaGAN烹饪和烹饪配料

更多相关内容可以后台回复“制作披萨“获取原文下载链接。

往期文章一览

1、人脸识别中的活体检测算法综述

2、手撕OpenCV源码之高斯模糊

3、漫话:如何给女朋友解释为什么计算机只认识0和1?

4、10个不得不知的Python图像处理工具,非常全了!

5、OpenCV4.0实现人脸识别

6、基于内容的图像检索技术综述-传统经典方法

7、为什么不建议你入门计算机视觉

8、机器视觉检测系统中这些参数你都知道么?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白学视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 披萨的组成
  • 3.GAN如何制作比萨饼
    • 数据集
      • Generator network- 添加和删除配料
        • 识别比萨
        • 结果比萨
        相关产品与服务
        人脸识别
        腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档