CycleGAN学习 笔记

Cycle GAN是发表于ICCV17的一篇GAN 工作,可以让两个domain的图片相互转化。传统的GAN是单向生成,而CycleGAN是互相生成,网络是个环形,所以命名为Cycle,并且CycleGAN一个非常实用的地方就是输入两张图片,可以是任意两张图片,也就是unpaired

单向GAN

CycleGAN本质上就是两个镜像对称的GAN,构成一个环形网络。其实只要理解了一半的单向GAN就等于理解了整个CycleGAN

上图是一个单向GAN的示意图,我们希望能够把domainA 的图片(命名为a)转化为domain B的图片(命名为b)。为了实现这个过程,我们需要两个生成器Gab和Gba,分别把domainA 和domain B的图片进行互换。图片A经过生成器Gab表示为Fake Image in domainB,用Gab(a)表示,而Gab(a)经过Gba表示为图片A的重建图片,用Gba(Gab(a))表示。最后为了训练这个单向GAN需要两个loss,分别是生成器的重建loss和判别器的判别loss。
CyckeGAN
CycleGAN其实就是一个A向B单向GAN加上一个B向A单向GAN。两个GAN共享两个生成器,然后各自带一个判别器,所以加起来总共有两个判别器和两个生成器。一个单向GAN有两个loss,而CycleGAN加起来一共有四个loss。

猜你喜欢

转载自blog.csdn.net/code_Joe123/article/details/89516450
今日推荐