拆解组新的GAN:解耦表征MixNMatch

点击上方机器学习与生成对抗网络”,关注"星标"

获取有趣、好玩的前沿干货!

 戳我,查看GAN的系列专辑~!

拆解组新的GAN:解耦表征MixNMatch_第1张图片

0、前言

  • 这是一篇 CVPR 2020 论文简记

  • MixNMatch: Multifactor Disentanglement and Encoding for Conditional Image Generation

  • https://github.com/Yuheng-Li/MixNMatch

1、概要

  • 提出MixNMatch,一个可以在极小监督情况下完成对图像中的背景、物体姿势、形状和纹理等进行分开(解耦)的条件生成模型,分解后可以通过混合它们以生成新的图像。

  • 如下图所示,通过对1到4行真实图像进行解耦学习,得到对应的形状、姿势、纹理、背景等,重新组合可生成第5行的图像。

拆解组新的GAN:解耦表征MixNMatch_第2张图片

  • 方法是基于2019年的FineGAN(一个无条件的生成模型)框架进行改进,以适用于条件式的图像转换任务。所用的监督信息仅仅是bounding box,而无需其他监督信息。

2、相关工作

  • 条件图像生成。大量的图像转换框架pix2pix等等不赘述。它们大都缺乏一种显示地对图像“变化成分/因子”的分解学习能力。能否将这些因子比如物体形状、纹理、背景等进行单独学习,对于模型解释性也有重要意义;

  • 解耦表征学习。尽管也有一些现有工作尝试进行解耦学习,但他们大多局限于两种因子的分拆例如形状和纹理;亦或是受限于需要大量的监督信息,比如边缘、关键点、mask标注等人工标签。

  • 本文方法是基于FineGAN(FineGAN: Unsupervised Hierarchical Disentanglement for Fine-Grained Object Generation and Discovery)展开,它利用信息论(互信息相关)进行背景、物体姿势、形状和纹理的解耦学习,而且是在较弱的监督信息下;但是FineGAN是一种无条件式生成模型,无法进行图像转换;故本文对此做了改进。

3、方法

3.1 任务

表示某类的无标签的图像集合(例如鸟类图像),任务是学习一个条件式生成模型,可以同时将背景、物体姿势、形状和纹理等因子编码到一个解纠缠的潜码空间(每个因子单独受一个潜码控制),并且通过结合这些因子可以组合生成逼真的新图像。

3.2 基本框架FineGAN(2019)

  • 下图来自FineGAN论文

拆解组新的GAN:解耦表征MixNMatch_第3张图片

  • FineGAN将四个随机采样的潜码 ( , , , ) 作为输入,以三个阶段分层次生成图像:(1)背景阶段,其中仅建模学习如何生成背景,以一个one-hot的潜码b为条件;(2)父阶段,在该阶段中,模型以潜码p和连续的z为条件,生成对象的形状和姿势,并将其融合进背景图像上;(3)子阶段,以one-hot的潜码c为条件,对上一生成图像进行纹理填充。

  • 在父阶段和子阶段中,FineGAN都会自动生成mask(无需任何监督mask)以捕获适当的形状和纹理细节。为了解开背景因子,该方法依赖于对象边界框(例如,通过对象检测器获取)。为了在没有其它监督的情况下解耦剩余的因子,FineGAN使用信息论方法(参考inforGAN),对潜码之间的关系施加了约束。

  • 在训练期间,FineGAN(1)将采样的子阶段潜码约束为不相交的group,以便每个group共享相同的唯一父阶段潜码,(2)将每个生成的图像的采样背景和子潜码强制为相同的。

  • 上述约束中,第一个约束是基于这样的事实考虑,即来自同一类别的某些对象实例即使具有不同的纹理,也往往具有相同的形状(例如具有不同纹理细节的不同鸭子共享相同的鸭子形状);第二个约束是背景通常与特定的对象类型相关(例如,鸭子通常以水为背景)。如果不遵循这些约束,那么生成器可能会生成在树上的鸭子(背景潜码b不等于纹理码c)。然后,鉴别器将很容易将这些图像分类为假图像,因为它们很少存在于真实图像中。这极可能导致无法学习到所需的解缠。

  • FineGAN进行了三项损失(对应背景、父阶段和子阶段)的训练,使用对抗训练使生成的图像看起来真实,最大化相应的潜码和图像之间的互信息,以便每种潜码都可以控制各自的因子(背景,姿势,形状,颜色),具体参照FineGAN:

3.3 调整FineGAN

3.3.1 成对的“图像-潜码”分布匹配
  • 尽管FineGAN可以分解多个因子并重新生成逼真的图像,但它是无条件式生成的:基于采样的潜码,而不是图像。

  • 而要对真实图像中解纠缠的表示进行编码以生成条件混合图像,首先需要提取条件输入图像的z(控制姿势),b(控制背景),p(控制形状)和c(控制纹理)等编码,同时保留FineGAN的分层解缠属性。为此,训练四个编码器,每个编码器从真实图像中预测z,b,p,c。

拆解组新的GAN:解耦表征MixNMatch_第4张图片
  • 但不能简单地将这些编码(z,b,p,c)输入到生成器中以重建图像,这极可能退化为简单的自编码器,而无法保留FineGAN的解缠属性。关键之处在于,引入类似ALi或者BiGAN那种进行对抗学习(逆映射image->z),这样一来所得到的编码,并得到“图像-潜码”对 ;而生成器得到 。注:这里的y是z,b,p,c等的placeholder。

拆解组新的GAN:解耦表征MixNMatch_第5张图片 拆解组新的GAN:解耦表征MixNMatch_第6张图片
  • 所以判别器的输入是“图像-潜码”对:

3.3.2 放宽潜码约束
  • 所要解决的重要问题是,确保得到的编码是解开的。

  • FineGAN施加了严格的潜码约束(见上述3.2),比如强加了子码要共享相同的唯一父码,而背景码和子码要始终相同。然而,对于一些真实图像,这些严格的关系可能不成立(例如,飞鸟在真实图像中可具有多个不同的背景);另外,这可能导致鉴别器很容易分辨出【图像-潜码】对是真实的还是生成的(基于码的关系)。而且,由于背景和子码总被采样为相同的(b = c),这也会混淆背景b和纹理c编码器:可能将变得完全相同,而无法区分背景和物体的纹理。

  • 为此本文首先训练四个单独的鉴别器,对应每种码类型。这防止了鉴别器看到其他码;其次,在训练编码器时,还提供了fake图像作为输入,它们是用随机采样的潜码生成的,且去除了码约束。在这些图像中,任何前景纹理都可以与任何任意背景和任何任意形状耦合。具体来说,训练编码器E来预测回用于生成相应fake图像的采样码y(b,p,c):

  • 表示cross-entropy loss,对于连续的z,则采取L1损失。上述损失用于训练编码器E而不是生成器G。

3.3.3 精准形状和姿势的“特征模式”
  • 到目前为止,MixNMatch的编码器最多可以接收四幅不同的真实图像,并将编码得到b,z,p,c码,分别对背景,物体姿态,形状和纹理进行建模。然后,MixNMatch的生成器可以使用这些码生成新的、逼真的图像;默认情况下,将此设置称为MixNMatch的码模式。

  • 尽管生成的图像已高度捕获了这些因子(参见下图,“码模式”),但是某些图像转换应用可能需要精确的像素级形状、姿势对齐。码模式下的MixNMatch无法保留参考图像精确像素级形状和姿势细节。主要原因是,负责捕获形状的p潜空间小,无法为每个实例像素建模。(它被设置得较小是因为必须粗略地匹配数据中3D形状变化。

拆解组新的GAN:解耦表征MixNMatch_第7张图片
  • 码模式特征模式之间的比较。第1-3行是真实参考图像,其中分别提取了背景b,纹理c和shape + pose的p&z。第4-5行是MixNMatch的特征模式(可准确保留原始形状信息)和码模式(可在语义级别保留形状信息)生成。

  • 如上图所示,引入MixNMatch的特征模式以解决此问题。关键思想不是直接将参考图像编码为低维形状代码,而是直接学习从图像到更高维特征空间的映射,以保留参考图像的空间对齐的形状和姿势(像素级)细节。具体来说的特征模式下,训练一个新的形状和姿势特征提取器S,将真实图像x作为输入并输出特征S(x),以此与父阶段协作更精准的对齐x的形状等信息。

拆解组新的GAN:解耦表征MixNMatch_第8张图片

4、实验以及部分结果

拆解组新的GAN:解耦表征MixNMatch_第9张图片 拆解组新的GAN:解耦表征MixNMatch_第10张图片 拆解组新的GAN:解耦表征MixNMatch_第11张图片 拆解组新的GAN:解耦表征MixNMatch_第12张图片 拆解组新的GAN:解耦表征MixNMatch_第13张图片 拆解组新的GAN:解耦表征MixNMatch_第14张图片 拆解组新的GAN:解耦表征MixNMatch_第15张图片 拆解组新的GAN:解耦表征MixNMatch_第16张图片

5、讨论

最后,作者也谈及一些方法的局限,比如:

  • 生成的背景可能会错过大型结构,因为使用patch鉴别器。

  • 特征模式的训练比较敏感、取决于码模式下所训练模型的好坏。

  • 对于图像的背景和目标对象纹理相似的场合下,无法生成良好的mask,导致生成一个不合理的目标物体。


公众号近期荐读:

  • GAN整整6年了!是时候要来捋捋了! 

  • 语义金字塔式-图像生成:一种使用分类模型特征的方法

  • 【无中生有的AI】关于deepfake的种类、危害、基础实现技术和挑战

  • 人脸图像GAN,今如何?(附多篇论文下载)

  • 数百篇GAN论文已下载好!配一份生成对抗网络最新综述!

  • 图卷积网络GCN的理解与介绍

  • 【CapsulesNet的解析】了解一下胶囊网络?

  • 【综述笔记】一些弱监督语义分割论文

  • 人脸生成新SOTA?它还是GAN。

  • 结合GAN的零次学习(zero-shot learning)

  • GAN的图像修复:多样化补全

  • CVPR2020之MSG-GAN:简单有效的SOTA

  • CVPR2020之姿势变换GAN:图像里谁都会劈叉?

  • CVPR2020之多码先验GAN:预训练模型如何使用?

  • 两幅图像!这样能训练好GAN做图像转换吗? 

  • 单图训GAN!如何改进SinGAN?

  • 有点夸张、有点扭曲!速览这些GAN如何夸张漫画化人脸!

  • 见微知细之超分辨率GAN!附70多篇论文下载!

  • 天降斯雨,于我却无!GAN用于去雨如何?

  • 脸部转正!GAN能否让侧颜杀手、小猪佩奇真容无处遁形?

  • 容颜渐失!GAN来预测?

  • 强数据所难!SSL(半监督学习)结合GAN如何?

  • 弱水三千,只取你标!AL(主动学习)结合GAN如何?

  • 异常检测,GAN如何gan ?

  • 虚拟换衣!速览这几篇最新论文咋做的!

  • 脸部妆容迁移!速览几篇用GAN来做的论文

  • 【1】GAN在医学图像上的生成,今如何?

  • 01-GAN公式简明原理之铁甲小宝篇


GAN&CV交流群,无论小白还是大佬,诚挚邀您加入!

一起讨论交流!长按备注【进群】加入:

更多分享、长按关注本公众号:

你可能感兴趣的:(GAN生成对抗网络)