这篇关于Cycle-GAN的论文笔记是今年三月份所写的,由于各种原因,直到现在才整理好,稳重有说的不对的地方,请批评指正。
Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
from ICCV 2017, UC Berkeley
图对图翻译是一类计算机视觉任务,其目标是利用一个经过校准的图片对数据集学到输入图片对输出图片的映射关系。实际上,对于许多任务,成对的图片数据集很难获得。该文章提出了一种从源数据域X的图片到目标数据域Y的图片的映射(翻译,translation)学习方法,其利用的数据集{X,Y}是非成对的。具体来讲,算法的目标是学习到一个映射G:X->Y,而且算法引入对抗性损失(Adversarial loss)来区分真正的Y域图像的数据分布和从X域变换而来的图像G(X)的数据分布,从而构成了生成对抗网络的基本结构。
由于这个映射非常缺乏约束条件(G:X->Y),因此增加一个反向的映射F:Y->X,并且引入循环一致性损失(Cycle Consistency Loss)以强化F(G(X))≈X,也就是要求X域的图像映射到Y域上再映射回X域之后,与原图尽可能保持一致,反之亦然,从Y域映射到X域在映射回来的Y域图像也应与原图保持一致。
文章也在不同任务上进行了量化分析,任务包括collection style transfer,目标变形(object transfiguration),季节变换,照片增强。
成对图片数据集和非成对图片数据集的区别
注1:Collection style transfer是指不同于神经风格变换的一种图像变换(翻译),一般是指对自然风景的图像迁移。神经风格变换(或神经风格迁移)是指使用 CNN 将一张图片的语义内容与不同风格融合起来的过程被称为神经风格迁移,例如将一张真实世界的照片转换成梵高优化风格的图像。
注2:目标变形是指对ImageNet数据集上的目标图像主要进行几何变形的图像迁移。
文章中提出的Cycle-GAN的整体结构如下图所示。
X − > Y X->Y X−>Y的生成对抗损失的具体形式如下,感觉和二分类的损失函数很像,不过判别器干的事情也就是一个二分类任务。
循环一致性损失的具体形式如下:
算法整体的损失函数定义如下。Loss包括三个部分, X − > Y X->Y X−>Y的生成对抗损失, Y − > X Y->X