欢迎光临
我们一直在努力

[mcj]CycleGan的核心思想|Cyclegan详细解释(附各平台源码) Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

华为学生服务器每月仅需9元!
文章目录
[隐藏]

项目地址

Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

摘要

图像到图像转换是一类视觉和图形问题,其目标是使用对齐图像对的训练集来学习输入图像和输出图像之间的映射。但是,对于许多任务,将无法使用配对的培训数据。我们提出了一种方法,用于学习在没有配对示例的情况下将图像从源域X转换为目标域Y. 我们的目标是学习映射G:X→Y,使得来自G(X)的图像的分布与使用对抗性损失的分布Y无法区分。因为这种映射是高度不足的,我们将它与逆映射F:Y→X耦合并引入循环一致性损失以推动F(G(X))≈X(反之亦然)。定性结果显示在不存在配对训练数据的若干任务中,

Paper

arxiv 1703.10593, 2017.

Citation

Jun-Yan Zhu*, Taesung Park*, Phillip Isola, and Alexei A. Efros. “Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks”, in IEEE International Conference on Computer Vision (ICCV), 2017.
(* indicates equal contributions) Bibtex

Code: PyTorch | Torch

If you have questions about our PyTorch code, please check out model training/test tips and frequently asked questions.

Course

CycleGAN course assignment code and handout designed by Prof. Roger Grosse for “Intro to Neural Networks and Machine Learning” at University of Toronto. Please contact the instructor if you would like to adopt this assignment in your course.

Other Implementations

Tensorflow (Harry Yang) | Tensorflow (Archit Rathore) | Tensorflow (Van Huy) | Tensorflow (Xiaowei Hu) | TensorLayer (luoxier)
Tensorflow-simple (Zhenliang He) | Chainer (Yanghua Jin) | Minimal PyTorch (yunjey) | Mxnet (Ldpe2G) | lasagne/keras (tjwei)

要了解cyclegan,我们需要了解以上这个路线

pix2pix

首先说一下pix2pix

pix2pix#1

  • 学习
    • 监督学习
    • 输入,输出所有照片
    • 例如黑白照片 – >彩色照片
  • 测试
    • 当给出从未出现的黑白图片时,应该用彩色图片替换测试

pix2pix#2

  • 自我监督的原因是人们可以学习黑白/彩色照片作为正确的答案而无需标记
  • 损失是| G(x) – y |

pix2pix#3

  • 还提供以下训练
    • 输入:建筑物的逐像素配置
    • 正确:创建实际建筑的照片

Gan

GAN网络配置

  • 在GAN中,创建新的D以区分G是真实的还是假的。
  • 换句话说,两个网络的任务如下。
    • D想区分假货。
    • G想用假图像欺骗D。

GAN网络公式定义:D功能

  • 当D接近0时,它是真实的。当它接近1时,它被假装区分。

简要了解GAN

  • 鉴于G,D是一种损失函数。
  • G和D具有竞争力是GAN的优势

CycleGAN

我们从现在开始看看CycleGAN。

pix2pix的另一个限制

  • 就像pix2pix一样,将黑白变成彩色照片很容易配置数据集。
  • 然而,在现实世界中,构建用于学习的数据集并不总是容易的。
    (例如,如何制作莫奈的1000张实际和真实图像?)

CycleGAN想要什么

  • 例如,让我们假设您学习如何将莫奈的绘画转换为实际的照片。
  • 可以容易地获得不完全相同的所需样式的照片。

可以在CycleGAN中使用现有的GAN Loss吗?

GAN损失可以平等使用



只有GAN损失的问题

  • 然而,不可能防止使用相同目标图像生成不同图片的可能性
  • 有两个问题:
    • 输入特性被忽略
    • 可以埋藏相同的输出空间。

CycleGAN的损失概念

  • 关键概念:因此,额外的损失条件迫使您重建原始图像。
  • 换句话说,这意味着改变图片的样式并将其更改为可以恢复到原始图片的程度。

CycleGAN的损失函数

  • 保留现有的GAN损失。
  • 另一个损失是应该最小化原始图像x的丢失和伪图像的原始图像重新生成。
  • 这就像添加pix2pix的像素级差异一样。

逆向学习

  • 同样,也可以向相反的方向学习。这是可能的,因为F是G的反函数概念。
  • 例如,如果以上学习是莫奈绘画 – >真实图像的学习,这次,通过真实图像学习 – >莫奈绘画。

完成CycleGAN损失功能

  • 因此,如果我们结合上述两个学习方向,则损失如下。
  • 循环GAN结合了两个方向的损失。
  • 据循环GAN研究实验室称,当两个方向仅在一个方向上实施时,结果并不好。

CycleGAN的第一个架构

  • 第一个循环GAN使用U-Net。
  • 优点是跳过连接具有更多细节的优点
  • 缺点是如果两个内容相似,性能不好,因为他们尽可能地尝试使用Skip Connecton。

CycleGAN的最后一个架构

  • 使用ResNet的优点是有利于图像质量,但缺点是它使用了大量内存。
  • 有一个特征是学习参数很小,不能引起很多变形。

CycleGAN的局限性

形状

  • CycleGAN的最大缺点是难以改变其形状
  • 很难将苹果的形状改为橙子。

数据分发

  • 当马上没有很多人的照片时,切换到斑马不起作用。
  • 我认为这是数据集的问题,而不是优化问题。

这是youtube的演示视频:

 

如果你对这篇文章有什么疑问或建议,欢迎下面留言提出,我看到会立刻回复!

打赏
未经允许不得转载:马春杰杰 » [mcj]CycleGan的核心思想|Cyclegan详细解释(附各平台源码)
华为学生服务器每月仅需9元!

留个评论吧~ 抢沙发 评论前登陆可免验证码!

私密评论
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址(选填,便于回访^_^)
切换注册

登录

忘记密码 ?

切换登录

注册