《How to make a pizza: Learning a compositional layer-based GAN model》学习笔记

简介

提出了一种能反映披萨制作过程的生成模型,基于GAN实现了可组合的模块操作,可以实现对披萨添加/删除特定的配料,甚至可以选择烹饪或者不烹饪输入的披萨。特别地,文章将图层分解问题表述为几个连续的不成对的图像到图像的转换。并且在合成的披萨图像和真实的披萨图像上进行了实验,实验结果表明:

  1. 在没有任何像素级监督的情况下,以弱监督的方式检测和分割比萨饼配料;
  2. 填充下方隐藏的内容;
  3. 在没有任何深度排序监督的情况下推断浇头的排序情况。

模型

在这里插入图片描述

  • G + G^+ G+是用来添加对象到输入图像 I r − I^{r-} Ir中的生成器; G − G^- G是用来从输入图像 I r − I^{r-} Ir中删除对象的生成器;
  • 对应输入图像 I ∈ R H × W × 3 I\in{\Bbb{R}}^{H\times{W}\times{3}} IRH×W×3 图中 M + , M − ∈ [ 0 , 1 ] H × W M^+,M^-\in[0,1]^{H\times{W}} M+,M[0,1]H×W,为图层蒙版,用来指示如何添加或删除图层的每个像素;
  • A + ∈ R H × W × 3 A^+\in{\Bbb{R}}^{H\times{W}\times{3}} A+RH×W×3是用来捕获增加图层的外观的图像, A − ∈ R H × W × 3 A^-\in{\Bbb{R}}^{H\times{W}\times{3}} ARH×W×3是用来捕获被删除图层遮挡的图像外观的图像。
  • ⨀ \bigodot 表示按元素乘机

生成器模型:
在这里插入图片描述
判别器模型: 判别器的作用是判断输入图像的真伪以及对所有类别的输入图像执行多标签分类任务。

损失函数

  1. 对抗损失:用来保证生成图像的真实性
    在这里插入图片描述

  2. 分类损失:防止生成器增加或删除未指定的对象在这里插入图片描述

  3. 循环一致性损失:防止两个生成器相互驳斥。在一张原始图像上添加图层之后在 删除该图层时,应该停止对原始图像的重构。
    在这里插入图片描述
    同时在增加并删除一个图层后,图像蒙版应该在对应的像素上保持不变,所以用同样的方式:在这里插入图片描述

  4. 正则损失:
    在这里插入图片描述

  5. 总的损失函数:
    在这里插入图片描述

图层顺序

在这里插入图片描述
在这里插入图片描述
做一个简单地实验,两个重叠的圆形,红色和绿色,上面一行先把红色移除,再把绿色移除;下面一行先把绿色移除,再把红色移除。这样做的区别是,可以观察到,先移除红色的情况下生成的两个图像蒙版的重叠部分较多;而先移除绿色的情况下生成的图像蒙版的重叠为0
因此我们可以通过查看哪些排序置换导致生成的蒙版之间的重叠度更高,来预测两个对象之间的排序。
但是在实际中,预测m个图层的顺序需要进行m!次排列组合,这显然是不可行的。因此可以通过仅查看m层之间的成对顺序来预测完整顺序,这只需要m次排列组合。

实验

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值