CycleGAN的原理及Pytorch实现

Posted Rogn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CycleGAN的原理及Pytorch实现相关的知识,希望对你有一定的参考价值。

follow this video: https://www.youtube.com/watch?v=4LktBHGCNfw

paper: https://arxiv.org/pdf/1703.10593.pdf

 

只讲我关注到的,与Pix2Pix的区别之处

区别一:不需要成对匹配的数据

CycleGAN是两个集合的转换,不需要建立元素的一一映射

  

区别二:增加了cycle-consistency loss

 

 

 

 

 每种loss代表什么实际含义呢?

 

 GAN alone 和 GAN+forward 遭受了模式奔溃, 不管输入什么图片,产生相同的输出。

区别三:增加了identity loss

Lidentity有助于保持和输入图片一样的颜色,没有Lidentity时,生成器G和F会改变输入图片的色调当它们不需要时,例如把早上的图片映射成傍晚的图片,因为这同样满足adversarial loss和cycle consistency loss.

 

区别四:生成器有residual Blocks

生成器采用残差模块,虽然据说像Pix2Pix一样使用U-Net效果也不错;

识别器还是用PatchGAN,不过论文里输出是70 x 70,我实现上还是用 30 x 30;

 

 

 完整代码:https://github.com/growvv/GAN-Pytorch/tree/main/CycleGAN

以上是关于CycleGAN的原理及Pytorch实现的主要内容,如果未能解决你的问题,请参考以下文章

[Pytorch系列-65]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 无监督图像生成CycleGan的基本原理

[Pytorch系列-75]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - CycleGAN网络结构与代码实现详解

[Pytorch系列-64]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix : 有监督图像生成pix2pix的基本原理

CycleGAN原理及实验(TensorFlow)

[Pytorch系列-74]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - pix2pix网络结构与代码实现详解

[Pytorch系列-68]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 使用预训练模型测试CycleGAN模型