图像到图像风格的转变是一个经典的计算机视觉问题,对于过去的图像风格迁移问题,通常都是需要一对数据,即两张图片在内容上几乎是一致的,而在风格、色彩等方面存在不同,这样的aliged image pairs的数据通常来说是比较难以获得的。而CycleGAN则提出了不需要成对图像的数据就能完成风格转移或者黑白图像上色等问题。
图像到图像的转变或翻译,通常是需要一组成对的数据来学习输入图片数据与输出图片数据之间的映射关系,但是往往这样的数据是较难获取的,本论文则提出了不需要那样的成对数据来训练的图像风格迁移方法,而是利用了生成对抗的思想来学习从域x到域y的映射G:X---->Y。使得G(X)的分布与Y接近或者相似。当时由于神经网络强大的数据拟合能力,这样从X—>Y的映射有无限的可能,而这些映射也能使得G(X)的分布与Y接近。所以作者又提出循环一致性(cycle consistency loss).即又提出一个映射F:Y----->X,迫使F(G(X))==X.
本文提出了一个在缺失成对数据上来捕获一个图像集合中的特殊特征来转移到另一个图像数据集上的方法。虽然我们缺乏成对例子形式的监督,但我们可以在集合级别上利用监督:我们在域X中得到一组图像,在域Y中得到另一组图像。通过生成对抗的思想学习映射关系G:X—>Y,y^=G(x),使得G(X)趋向与Y的分布。
本文另一方面,主要关注的是学习两个图像集合之间的映射,而不是通过捕捉高层外观结构之间的对应来进行两个特定图像之间的转换。因此本文的方法也可以被应用在其他的任务上(绘画到图片,目标形变等等)
我们的模型包括两个映射G: X Y和F: Y X。另外,我们引入了两个对抗性判别器dx和dy,其中dx的目的是区分图像{X}和翻译后的图像{F(Y)};同样,D Y的目的是区分{Y}和{G(x)}。我们的目标包含两类术语:对抗性损失,用于匹配生成图像的分布和目标域中的数据分布;和循环一致性损失,以防止学习映射G和F相互矛盾。
对于映射函数G: X→Y及其鉴别器 D Y D_Y DY,我们将目标表示为:
G尝试生成的图像G(x)尽可能的像来自域Y中的图像,同时 D Y D_Y DY的目标是鉴别出生成样本G(x)和真实的样本y。
G的目标是将目标最小化,而对手D试图将目标最大化,即 m i n G m a x D Y L G A N ( G , D Y , X , Y ) minGmaxD_YL_{GAN}(G,D_Y,X,Y) minGmaxDYLGAN(G,DY,X,Y)
同时对映射函数F: Y——>X,和它的鉴别器 D X D_X DX也引入了类似的对抗性损失:即, m i n F m a x D X L G A N ( F , D X , Y , X ) minFmaxD_XL_{GAN}(F,D_X,Y,X) minFmaxDXLGAN(F,DX,Y,X)。
理论上生成对抗训练是能够使得生成器G和F生成的图片与目标域的图片具有一致性的,即相同的分布。但是基于神经网络强大的映射能力,生成网络可能将一组图像映射到目标域图片上随机排列的图片上,那么就失去了原有图片自己的属性和内容了,因此生成对抗损失不能独自保证生成网络学习到的映射能够将一张单独的图片映射到渴望得到的那样。
为了减少映射函数的可能空间,希望学习到的生成网络的映射函数保持循环一致性。如上图所示 的那样,希望每张来自域X的图像,经过G(X)映射得到y^类似域Y的分布后,再通过F映射F(G(x))==x。这样的做法被称为前向循环一致性,类似的F(y)=x接近X的分布,再通过G(F(y))=y,被称为后向循环一致性。总结起来为如下公式:
在论文中,作者也曾进行过用生成对抗的损失来衡量F(G(x))和x,G(F(y))和y之间的距离,但是发现实验效果没有 L 1 L_1 L1损失好。采用上述公式的循环一致损失可以使得重构的图像F(G(x))最终能与输入图片接近。
对于生成器Generator采用三个卷积层,并根据图像的大小采用多少个残差块结构,对于鉴别器采用PatchGAN,它的目的是分类70 X70个重叠的图像补丁是真还是假。这种补丁级鉴别器体系结构的参数比全图像鉴别器少,并且可以以全卷积方式处理任意大小的图像。
采用两个技术来稳定模型的训练,首先对于 L G A N L_{GAN} LGAN用最小乘二损失来代替负对数似然目标,这样做的原因是在于原始的GAN的一些固有缺陷,JS距离难以被优化.采用最小乘二损失可以稳定训练过程而且能产生质量较好的结果,也被称为LSGAN。具体实现是:
第二点,为了减少模型的崩塌,在更新鉴别器时,使用之前由生成器生成的图片,而不是最新产生的图片。可以维持以图片buffer,用来存储先前生成器产生的50张图片。
设置 λ = 10 \lambda=10 λ=10,学习率为0.0002
待更新