【论文阅读笔记】Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

摘要

GAN的训练需要图片是两两匹配的,这样经过训练后,生成器可以逐步生成一张让判别期无法判断真伪的图片。但实际上会碰到一些非匹配的图片,于是就提出了非匹配的图片转换(Unpaired image-to-image),一种在没有成对例子的情况下学习将图像从源域X转换到目标域Y的方法。使得

[x ightarrow G(x) ightarrow F(G(x)) approx x ]

其中(x)是原图,(G(x))是经过生成器处理后的转换图片,再经过生成器(F)的还原后,还原图片需要尽可能的和原图相同。

相关工作

  • GANs
  • 匹配与非匹配的图片转换
  • 一致性损失计算
  • 风格迁移

系统阐述

  • 目标:找到合适的函数F和G,使得原图和转换后的图片尽可能相似。
  • 结构:由两组生成对抗网络组成;第一组生成对抗网络有生成器(G)(实现(G: X ightarrow Y)的映射)和鉴别器(D_y)(判别图像是目标图片还是转换图片);第二组生成对抗网络有生成器(F)(实现(F: Y ightarrow X)的映射)和鉴别器(D_x)(判别图像是原图还是还原图片)。

结构示意图

Adversarial Loss

提出对抗一致性损失计算,每个判别器应该尽可能的区分图片来自于哪个领域。

[L_{GAN}(G, D_Y , X, Y ) = E_{y∼pdata(y)}[log D_Y (y)]E_{x∼pdata(x)}[log(1 − D_Y (G(x))] \ L_{GAN}(G, D_X , X, Y ) = E_{y∼pdata(y)}[log D_X (F(G(x)))]E_{x∼pdata(x)}[log(1 − D_X (x)] ]

根据GAN的基础知识,判别器(D_Y)应该尽可能地区别转换图片与目标图片,所以得到上述公式,目标是(min_Gmax_{D_Y}L_{GAN}(G, D_Y , X, Y ))(min_Fmax_{D_X}L_{GAN}(G, D_X , X, Y ))

Cycle Consistency Loss

从理论上使用对抗学习可以使生成的分布逼近于目标域的分布,且使反转后的分布近似于源域的分布,但是实际中发现,或出现Mode Collapse问题。如下图所示:

这里写图片描述

即我们生成的分布(红色)很可能会偏向于目标分布(蓝色)的某一部分(图中表示为一座峰)。例如训练集有很多种类别(如猫狗牛羊),但是我们只能生成狗(或猫或牛或羊),虽然生成的狗的图片质量特别好,但是!整个G就只能生成狗,根本没法生成猫牛羊,陷入一种训练结果不好的状态。这和我们对GAN的预期是相悖的。

基于上述问题,作者提出了前向和反向的循环一致性损失:

[L_{cyc} (G, F ) = E_{x∼pdata} (x) [∥F (G(x)) − x∥_1 ] + E_{y∼pdata(y)}[∥G(F(y)) − y∥_1]. ]

Full Objective

最终目标函数为:

[L(G, F, D_X , D_Y ) =L_{GAN}(G, D_Y , X, Y ) + L_{GAN}(F,D_X,Y,X) + λL_{cyc}(G,F) ]

在整个处理过程中,我们通过一个中间表示将图像映射到自身,即图像转换到另一个域。

实现过程

网络结构

训练细节

使用最小二乘损失替换负的log似然损失。利用该损失训练过程更稳定,且得到了更好的结果:

[L_{GAN}(G, D_Y , X, Y ) = E_{y∼pdata(y)}[(D_Y (y) - 1)^2]E_{x∼pdata(x)}[(D_Y (G(x))^2)] ]

评价指标

baseline

  • CoGAN;
  • Pixel loss+GAN;
  • Feature loss+GAN;
  • BiGAN/ALI;
  • pix2pix;

实验结果

无论是单独的周期和GAN + backward 都不能产生与目标域相似的图像。GAN alone和GAN + forward导致模式崩溃,不管输入的照片是什么,都产生相同的标签映射。

原文地址:https://www.cnblogs.com/recoverableTi/p/13452479.html