CycleGAN(循环生成对抗网络)论文解读

CycleGAN(循环生成对抗网络)论文解读_第1张图片
图像到图像的转换的目标是使用配准的图像对训练集来学习输入图像和输出图像之间的映射,而CycleGAN中使用的方法是缺少配对训练集的情况下进行图像转换
CycleGAN(循环生成对抗网络)论文解读_第2张图片
CycleGAN(循环生成对抗网络)论文解读_第3张图片
传统的图像转换如上图左,训练集是配对的x,y图像{xi,yi};本文的方法如上图右,训练集是源域{xi},目标域{yi},但二者之间未给定配对关系

X,Y是两个图像集合,G是X->Y的映射 F是Y->X的映射 G (X)=Y F(Y)=X
CycleGAN的目标就是学习到这两个映射,并且使F(G(X))≈X
CycleGAN(循环生成对抗网络)论文解读_第4张图片
文中提到如果仅仅单方向由X映射到Y,会产生无数个映射G无法X和Y,无法保证X和Y以有效的方式配对;同时单方向的优化会导致模型崩塌,即所有的输入图像映射生成的是相同的输出图像。

基于上述原因,提出了循环一致性(cycle consistent),同时训练两个方向的映射 G是X->Y的映射 F是Y->X的映射 G (X)=Y F(Y)=X
CycleGAN(循环生成对抗网络)论文解读_第5张图片
CycleGAN(循环生成对抗网络)论文解读_第6张图片
X图像集中的x服从Pdata(x)分布 Y图像集中的y服从Pdata(y)分布
CycleGAN包含两个对抗的鉴别器Dx和Dy。 Dx用来鉴别图像来自真实图像集X还是生成的图像F(y);Dy用来鉴别图像来自真实图像集Y还是生成的图像G(x)

Dy encourages G to translate X into outputs indistinguishable from domain Y , and vice versa for DX and F.
Dy鼓励G将X转换为与Y域不可分辨的输出,Dx则鼓励F将Y转换为与X域不可分辨的输出

CycleGAN(循环生成对抗网络)论文解读_第7张图片

对抗性损失 Adversarial Loss

CycleGAN(循环生成对抗网络)论文解读_第8张图片
此公式来源于GAN 具体推导可参考此链接中GAN的公式推导
这里解释一下上式的后半部分 Ex∼Pdata(x)[log(1 − DY (G(x))] 该部分log部分代表 不是真实Y中图像的概率,原本为log(1-DY(Y)),而由于此时不是真实Y的图像是由X生成且服从Pdata(X)分布,则将Y用G(X)代替

由于CycleGAN有两个鉴别器,因此会有两个对抗性损失
在这里插入图片描述
maxDy是固定生成器G使鉴别器Dy最大化鉴别出样本来自Y图像集还是合成而来
minG 是固定鉴别器Dy使生成器可以最小化真实样本与合成样本的差距
另一方向的公式原理也如此,在这里就不做过多解释了

在这里插入图片描述

循环一致性损失 Cycle Consistency Loss

CycleGAN(循环生成对抗网络)论文解读_第9张图片
虽然上文中给出了对抗损失,但仅满足了G(x)符合Y图像集的分布,两者之间可能存在多种映射,但不能保证由x到G(x)时 图像的内容保留,如在做风格迁移的任务时,我们希望生成图像的原始内容未发生改变,改变其风格,因此提出了循环一致性损失,要求图像转换时保留其内容
CycleGAN(循环生成对抗网络)论文解读_第10张图片
(b) forward cycle-consistency loss: x → G(x) → F(G(x)) ≈ x
( c) backward cycle-consistency loss: y → F(y) → G(F(y)) ≈ y
即要求原始图像转换后生成的图像再次经转换能变换回原始图像

CycleGAN(循环生成对抗网络)论文解读_第11张图片
循环损失函数公式如下:
CycleGAN(循环生成对抗网络)论文解读_第12张图片

总体损失函数 = 对抗损失函数 + 循环损失函数

CycleGAN(循环生成对抗网络)论文解读_第13张图片
λ代表对抗损失函数 和 循环损失函数之间的权重比

总体目标

在这里插入图片描述

实现 Implementation

CycleGAN(循环生成对抗网络)论文解读_第14张图片
CycleGAN(循环生成对抗网络)论文解读_第15张图片
在这里插入图片描述
CycleGAN(循环生成对抗网络)论文解读_第16张图片

你可能感兴趣的:(#,Paper,生成对抗网络,计算机视觉,深度学习)