我想看InstaGAN,但想看这个得先理解CycleGAN,所以看完CycleGAN我再来

  • 好,我胡汉三看完回来了
    看完发现还要补LSGAN,但因为不影响阅读,补的过程我打算之后再进行

    Abstract

    Image-to-image转换任务在涉及到多目标和形状的巨大改变时经常失败
    本文

  • 融合实例信息,改进多实例转换任务,保持实例的排序不变性。

  • 提出context preserving loss,保留除目标实例外的特征
  • 提出a sequential mini-batch inference/training technique,在GPU内存限制的情况下更好的多目标转换

    Introduction

    介绍背景和贡献。
    贡献主要分为三部分:

  • 提出一个能保证任意数量的实例排序不变性的神经网络结构

  • 提出上下文保护损失函数,既保护背景又能转换目标实例
  • 提出小批量训练技巧,解决GPU内存限制问题的同时,提升少量目标转换的效果

    InstaGAN

    背景介绍

    两个domain间的相互转换,有条件限制(即实例限制),无监督,要求实例和背景和谐。

    Architecture

    InstaGAN:Instance-Aware Image To Image Translation - 图1
    image.png
    InstaGAN的结构是基于CycleGAN的(G YX(G XY(x)) ≈ x && G XY(G YX(y)) ≈ y)。不同的是,本文不需要连接成环,使用其中一半即可。
    本文的目标是训练出两个生成器Gxy(由x,a生成y’,b’)和Gyx(由y,b生成x’,a’)。为了对抗,还需要两个判别器Dx(判别X,a和X’,a’是否在Domain(X a)中)和Dy。
    对Domain(X
    a)中的

    生成方法

  1. 提取图像特征(提取方法:f_GX)
  2. 分别提取每个实例的特征(提取方法:f_GA),有n个实例
  3. 将提取到的实例特征求和,保证其实例的排序不变性
  4. 连接图像特征和实例特征和,送入生成器g_GX,生成图像。输入:
    InstaGAN:Instance-Aware Image To Image Translation - 图2
  5. 连接图像特征、实例特征和、每个实例的特征,分别送入生成器g_GA,生成转换后的masks。输入:
    InstaGAN:Instance-Aware Image To Image Translation - 图3

生成这部分有些问题:

  1. 结果图像的生成靠的是g_GX吗?那g_GA存在的意义是什么?

    判别方法

    判别器同样需要对X和a同时编码。同生成方法,判别器的输入为:
    InstaGAN:Instance-Aware Image To Image Translation - 图4
    作者表示,连接图像特征和实例特征有利于建立X和a间的联系。
    对于上文提到了f_GX, f_GA, f_DX, f_DA, g_GX, g_GA,采用任意深度网络均可。(这一句话里的细节太多了,前文也没有提到g_GX和g_GA,我也不明白g_GA的意义在哪儿,可能是因为没看完吧)

    损失函数

    损失函数由以下几部分组成。
  • domain loss:输出符合目标domain
    • GAN loss
  • content loss:输出保留原有内容
    • cycle-consistency loss
    • identity mapping loss
  • (看到这些loss我就知道我又要补课了)
    • context preserving loss(本文新提出的loss)
      使用输入和输出的分割信息

接下来进行具体介绍。

GAN loss

GAN loss有多种变体。本文使用了LSGAN,在实验中表现出了稳定的好品质
InstaGAN:Instance-Aware Image To Image Translation - 图5

cycle-consistency loss & identity mapping loss

InstaGAN:Instance-Aware Image To Image Translation - 图6
Lcyc利用cycle规则,还挺好理解的
Lidt不理解,需要补课

context preserving loss

InstaGAN:Instance-Aware Image To Image Translation - 图7

整个损失函数

InstaGAN:Instance-Aware Image To Image Translation - 图8

Sequential mini-batch translation

一个在GPU受限情况下使用instaGAN的方法。因为不是我现阶段学习的要点,留在这儿等以后补充。