Cycle-GAN论文阅读笔记

摘要:
作者首次运用循环连贯和gan的思想进行图像翻译。这一系列问题使得有必要在网络架构中添加一些其他目标约束。作者在网络中分别添加了(G)和(F),并添加了循环一致性损失,以使网络满足(F(G(x))近似和(G(F(y))近似的要求。作者没有画出网络结构的细节。

Cycle-GAN论文阅读笔记

很久之前就看过这篇文章,而且还在上面做了一些实验,发现确实鲁帮性很强,今天重新review这一篇paper。

图像到图像的翻译,是一个比较古老的任务,作者是第一个用cycle-consistent结合gan这种思想来做图像翻译,而且效果显著。

introduction and motivation

paired training data会比较难以获取,unpaired比较容易获取,针对这个问题,作者提出了他们的方法。从(X) domain到(Y) domain会有无数个映射,而且作者在做实验的过程中,发现模型容易崩溃,而且无论什么样子的输入都会导致同一个输出。这一系列的问题使得需要添加一些其他的目标约束在网络架构里。一个直观的想法就是循环一致性,意思是,一个句子从英文翻译到法文,并且从法文翻译回英文,得到的英文和原始英文应该是一致的。从数学上来讲,如果有一个映射(G:X ightarrow Y),以及另外一个映射(F:Y ightarrow X),(G)(F)应该是互为inverse的关系。

根据这个出发点 ,作者分别在网络中添加了(G)(F),并且添加了循环一致性的loss来使得网络满足(F(G(x))approx x)以及(G(F(y))approx y),除此之外,作者还添加了adversarial loss来约束generator。

网络结构

网络结构的detail作者并没有绘制,只是画了一个流程的示意图
Cycle-GAN论文阅读笔记第1张

网络结构示意图如上图所示。作者定义了两个discriminator,同时也势必有两个discriminator

loss term一共包括两项,一个是adversarial loss一个是cycle consistency loss。其中adversarial loss是衡量生成图像的分布和目标区域的距离。cycle consistency loss是为了阻止(F)(G)互相矛盾。

目标函数如下图
Cycle-GAN论文阅读笔记第2张

(D_Y)是对生成的(Y),即(G(x))和真实的(Y)进行判别,这个判别其区别与对x进行判别的(D_X)。总是,(D_Y)的优化方向是使得其能够准确的判别生成的样本和fake的样本,也即loss最小,通过上述loss,能够看出,使得loss最小即使得(D_Y(y))接近于0,(D_Y(G(x)))接近于1.之后的很多gan的变形都是玩变不离其宗。

对于cycle consistency loss,比较粗暴,直接用L1 loss

Cycle-GAN论文阅读笔记第3张

total的loss如下
Cycle-GAN论文阅读笔记第4张
Cycle-GAN论文阅读笔记第5张

1579591309484

1579591331035

实验设定

作者做实验,用的图像是256×256的,并且使用的是70×70的patch gan(实际上是感受野为70×70的discriminator),在真正实验的时候,作者用least-square GAN替代了原始的gan,因为least-square gan更加的稳定,举个例子

Cycle-GAN论文阅读笔记第8张

上面这个式子,(G)的优化目标是让(D(G(x)))更加接近与1,而(D)的优化目标是让啊(D(G(x)))更加接近与0,同时使得(D(y))接近于1,trade off!!!

作者做实验用的batch size为1,很多图像任务里面都是1,以及用的是instance normalization。initial 的learning rate为0.0002,在前100个epoch keep the same learning rate,在后100个epoch,线性变为0.

评价指标

第一个评价指标是AMT perceptual study, 就是根据人眼来直观评价图像真假。

第二个评价指标是FCN score来评价“label to photo”这个task。

同时作者在处理分割任务中,也用了一些分割任务中的评价指标。

实验结果

作者首先和最近的unpaired image2image的方法相比较,注意这种unpaired的图像在每一个domain是有ground truth的,所以作者可以进行定量的比较。然后作者探讨了cycle consistency loss和adversarial loss。最后,作者把他们的方法推广到了更加一般的没有gt的图像翻译任务上面。

作者的baseline包括pixel2pixel,以及一些其他的方法,来一起compare这些指标。作者的结果能够达到是sota的结果。

ablation study

Cycle-GAN论文阅读笔记第9张

同时作者也比较了,如果用Cycle alone,或者是只有一个cycle,试验结果也不如都添加上好。假设不添加discriminator,只用循环一致性来约束的话,

即只用cycle-alone,结果比较差;只用GAN,不用cycle约束的话,结果也没那么差,相对于只用cycle约束的话,也会好很多。

如果只加一个forward cycle的话,在label2photo这个任务中,感觉结果会比添加forward cycle 和backward cycle要好,amazing,作者也没有讨论其原因。在photo2label这个任务中有截然不同的结果。

同时作者比较了一下重建的结果

Cycle-GAN论文阅读笔记第10张

可见重建的结果也是挺好的。

作者在其他任务上,也广泛的应用了cycle-gan,比如style transfer, 目标物体变形等。但是也有失败的例子,文中作者就说了不能够保持物体的几何形状。

免责声明:文章转载自《Cycle-GAN论文阅读笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇《C++ Qt设计模式》 第一章 C++ 简介B树、B+树下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

基于OpenCV实现Photoshop的17种图层混合

一、图层混合模式是什么?     所谓图层混合模式就是指一个层与其下图层的色彩叠加方式,在这之前我们所使用的是正常模式,除了正常以外,还有很多种混合模式,它们都可以产生迥异的合成效果。 二、PhotoShop的27种混合模式 从很久之前的版本开始,PhotoShop就保持了27种图层混合模式。 并且可以进一步分为:普通模式、变暗模式、变亮模式、饱和度...

Halcon 学习笔记--形态学(5)

一、二值化与灰度图像 1、 二值化图像只有两个元素之分0和1—非黑即白  算子: binary_threshold(Image : Region : Method, LightDark : UsedThreshold)参数:Image:需要进行阈值的图像Region:处理后的区域Method:分割方法('max_separability':最大限度的可分性...

计划任务中使用NT AUTHORITYSYSTEM用户和普通管理员用户有什么差别

原文地址:http://www.ynufe.edu.cn/metc/Article/ShowArticle.asp?ArticleID=805 系统管理员会碰到这种问题,为什么在更改系统登录用户password后,原先定制的计划任务都没有运行呢? 在计划任务的列表文件夹下,状态一栏被告知“因为输入了错误的password和username,计划的任务...

PSPNet论文阅读笔记

这篇文章做了啥 这是一篇比较早的文章,做的是分割的任务,论文的架构比较清晰,主要是分析了一些现在的分割的网络存在不能够获取global信息的问题,针对这些存在的问题,作者提出了pyramid scene parsing network(PSPNet)金字塔场景解析网络,PSPnet能够extent pixel level的feature到global的fe...

windows服务器自动删除日志文件

背景: 有一天发现一系统程序突然终止了,发出了系统异常邮件。然后就去服务器看原因,原因竟然是服务器硬盘被撑爆。 原因分析: 1、没有对服务器硬盘空间做监控; 2、我们的产生的日志文件过于庞大,又没有做及时删除。 解决方案: 为了一劳永逸的解决硬盘空间问题,我们对服务器日志文件进行定时删除处理,只保留最近一个月的日志文件。 步骤: 1、新建一个bat脚本。...

iOS 多线程

经常听到这样的问题 "你在处理多线程的时候 遇到过什么问题 或者说 你使用过多线程吗 如何操作的" 具体 我也没听过 别人是怎么回答的,我也没太想好怎样回答才算全面,今天利用工作空余时间好好系统学一下,从以下几个角度学习 1 理论 2 举例子运用 3 实际开发注意要点 一 理论   1 线程和进程       a 一般运行一个程序就是一个进程. 一个程序至...