图像到图像的转换的目标是使用配准的图像对训练集来学习输入图像和输出图像之间的映射,而CycleGAN中使用的方法是缺少配对训练集的情况下进行图像转换


传统的图像转换如上图左,训练集是配对的x,y图像{xi,yi};本文的方法如上图右,训练集是源域{xi},目标域{yi},但二者之间未给定配对关系

X,Y是两个图像集合,G是X->Y的映射 F是Y->X的映射 G (X)=Y F(Y)=X
CycleGAN的目标就是学习到这两个映射,并且使F(G(X))≈X

文中提到如果仅仅单方向由X映射到Y,会产生无数个映射G无法X和Y,无法保证X和Y以有效的方式配对;同时单方向的优化会导致模型崩塌,即所有的输入图像映射生成的是相同的输出图像。

基于上述原因,提出了循环一致性(cycle consistent),同时训练两个方向的映射 G是X->Y的映射 F是Y->X的映射 G (X)=Y F(Y)=X


X图像集中的x服从Pdata(x)分布 Y图像集中的y服从Pdata(y)分布
CycleGAN包含两个对抗的鉴别器Dx和Dy。 Dx用来鉴别图像来自真实图像集X还是生成的图像F(y);Dy用来鉴别图像来自真实图像集Y还是生成的图像G(x)

Dy encourages G to translate X into outputs indistinguishable from domain Y , and vice versa for DX and F.
Dy鼓励G将X转换为与Y域不可分辨的输出,Dx则鼓励F将Y转换为与X域不可分辨的输出

对抗性损失 Adversarial Loss


此公式来源于GAN 具体推导可参考此链接中GAN的公式推导
这里解释一下上式的后半部分 Ex∼Pdata(x)[log(1 − DY (G(x))] 该部分log部分代表 不是真实Y中图像的概率,原本为log(1-DY(Y)),而由于此时不是真实Y的图像是由X生成且服从Pdata(X)分布,则将Y用G(X)代替

由于CycleGAN有两个鉴别器,因此会有两个对抗性损失

maxDy是固定生成器G使鉴别器Dy最大化鉴别出样本来自Y图像集还是合成而来
minG 是固定鉴别器Dy使生成器可以最小化真实样本与合成样本的差距
另一方向的公式原理也如此,在这里就不做过多解释了

循环一致性损失 Cycle Consistency Loss


虽然上文中给出了对抗损失,但仅满足了G(x)符合Y图像集的分布,两者之间可能存在多种映射,但不能保证由x到G(x)时 图像的内容保留,如在做风格迁移的任务时,我们希望生成图像的原始内容未发生改变,改变其风格,因此提出了循环一致性损失,要求图像转换时保留其内容

(b) forward cycle-consistency loss: x → G(x) → F(G(x)) ≈ x
( c) backward cycle-consistency loss: y → F(y) → G(F(y)) ≈ y
即要求原始图像转换后生成的图像再次经转换能变换回原始图像


循环损失函数公式如下:

总体损失函数 = 对抗损失函数 + 循环损失函数


λ代表对抗损失函数 和 循环损失函数之间的权重比

总体目标

实现 Implementation




CycleGAN(循环生成对抗网络)论文解读相关推荐

  1. PSGAN——姿态稳健型可感知空间式生成对抗网络论文详细解读与整理

    PSGAN--姿态稳健型可感知空间式生成对抗网络论文详细解读与整理 1.摘要 2.什么是PSGAN? 3.主要贡献 4.整体模块 5.目标函数 6.实验结果--部分化妆和插值化妆 7.定量比较 8.参 ...

  2. GAN学习记录(五)——循环生成对抗网络CycleGan

    循环生成对抗网络CycleGan实现风格迁移 dataset https://people.eecs.berkeley.edu/~taesung_park/CycleGAN/datasets/vang ...

  3. GAN生成对抗网络论文翻译(一)

    给自己一个动力去看英语论文,每天翻译一节,纯属自己翻译,小白一只,如果您能提出建议或者翻译修改,将非常感谢,首先谢谢! How Generative Adversarial Networks and ...

  4. GAN生成对抗网络论文翻译(二)

    英语论文,每天翻译一节(在家自学控制力还是太差),纯属自己翻译,小白一只,如果您能提出建议或者翻译修改,将非常感谢,首先谢谢! 2 Generative Adversarial Networks As ...

  5. GAN 生成对抗网络论文阅读路线图

    路线图按照下面四个准则构建而成:  ●  从提纲到细节  ●  从经典到前沿  ●  从通用领域到特定领域  ●  专注于最先进的技术 Generative Adversarial Networks ...

  6. BEGAN-边界均衡生成对抗网络-代码解读

    当前论文代码 首先注意: 不同点: 该论文的输入是噪音,鉴别器和生成器都是哑铃型结构, 相同点: 输出是一张图片,D都是用真实图像去比对. 已知信息 可见,是从main.py开始训练的.测试的时候,只 ...

  7. 【生成对抗网络 论文泛读】……pix2pix pix2pixhd……

    文章目录 前言 Pix2pix 简介 核心思想 Pix2pixHD 升级1 升级2 升级3 升级4 前言 这两篇论文放在一起说. pix2pix:点我下载 pix2pixhd:点我下载 Pix2pix ...

  8. Ian Goodfellow 生成对抗网络(GAN)论文解析

    原文:Generative Adversarial Nets 作者:Adit Deshpande 编译:KK4SBB 欢迎人工智能领域技术投稿.约稿.给文章纠错,请发送邮件至heyc@csdn.net ...

  9. 生成对抗网络(GANs)最新家谱:为你揭秘GANs的前世今生

    作者:GuimPerarnau 编译:KatherineHou.朝夕.KatrineRen.ShanLIU.笪洁琼.钱天培 生成对抗网络(GAN)一经提出就风光无限,更是被YannLecun誉为&qu ...

最新文章

  1. JDK5中的控制台输入
  2. Linux初级运维(七)——bash脚本编程(常见测试)
  3. 计算机网络-UDP协议
  4. 通过分析 JDK 源代码研究 Hash 存储机制--转载
  5. android p wifi一直在扫描_(一百六十八)Android P wifi 扫描失败结果上报流程梳理-扫描上报梳理②...
  6. python 跳过计算错误_在python中计算分数时如何跳过被0除的错误?
  7. RabbitMQ 入门 Helloworld
  8. 五大领域总目标指南_每日干货 | 五大领域 学前社会教育1
  9. 小程序入门学习15---数据库实战01
  10. Arduino 例程编译错误 error: unknown type name uint_farptr_t did you mean uint_fast8_t
  11. Android学习笔记一:Android基本组件和Activity生命周期
  12. Java二叉树数据结构原理
  13. IGBT工作原理,解析IGBT工作原理及作用
  14. 创意字体设计中主题类别有哪些呢?
  15. 视频播放库Vitamio的使用以及功能扩展
  16. keyshot渲染图文教程_keyshot渲染图文教程,教你如何渲染冰的效果
  17. 隐马尔可夫之前向算法
  18. 【黑马-python】---学习笔记(1)---Linux基础
  19. 【Java基础】之 哈希值
  20. 问题1201:打印数字图形

热门文章

  1. OpenCASCADE:Windows平台上构建OCCT使用的第三方库
  2. Occt 7.6 +vs2022 cmake 编译
  3. HIT-ICS-计算机系统大作业-程序人生
  4. vs2019 无法导入 Web 服务/架构。对象“Settings”已包含一个不是 WebServiceUrl 类型的属性
  5. 如何让新闻稿发布后搜索上百度首页
  6. 教育行业如何高效使用知识库?
  7. php--tp5萤石摄像头接口
  8. 《量子物理史话》主线 - 光是什么?(未完)
  9. LSF/MM/BPF Summit 2023
  10. 介绍一下神器mimikatz,从lsass里抓密码