前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CycleGAN:图片风格,想换就换 | ICCV 2017论文解读

CycleGAN:图片风格,想换就换 | ICCV 2017论文解读

作者头像
朱晓霞
发布2018-04-18 14:32:15
2.5K0
发布2018-04-18 14:32:15
举报
文章被收录于专栏:目标检测和深度学习

在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考。

本期推荐的论文笔记来自 PaperWeekly 社区用户 @LUOHAO。本文提出的模型名为 CycleGAN,作者希望在不借助 paired example 情况下,来实现图片的风格转换。

如果你对本文工作感兴趣,点击底部的阅读原文即可查看原论文。

关于作者:罗浩,浙江大学博士研究生,研究方向为计算机视觉和深度学习,现为旷视科技(Face++)的 research intern。

■ 论文 | Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

■ 链接 | https://www.paperweekly.site/papers/807

■ 源码 | https://junyanz.github.io/CycleGAN/

前言

CycleGAN 是发表于 ICCV17 的一篇 GAN 工作,可以让两个 domain 的图片互相转化。传统的 GAN 是单向生成,而 CycleGAN 是互相生成,网络是个环形,所以命名为 Cycle。

并且 CycleGAN 一个非常实用的地方就是输入的两张图片可以是任意的两张图片,也就是 unpaired。

单向GAN

读者可以按照原论文的顺序理解 CycleGAN,这里我按照自己的思路解读。CycleGAN 本质上是两个镜像对称的 GAN,构成了一个环形网络。其实只要理解了一半的单向 GAN 就等于理解了整个CycleGAN。

上图是一个单向 GAN 的示意图。我们希望能够把 domain A 的图片(命名为 a)转化为 domain B 的图片(命名为图片 b)。

为了实现这个过程,我们需要两个生成器 G_AB 和 G_BA,分别把 domain A 和 domain B 的图片进行互相转换。

图片 A 经过生成器 G_AB 表示为 Fake Image in domain B,用 G_AB(a) 表示。而 G_AB(a) 经过生辰器 G_BA 表示为图片 A 的重建图片,用 G_BA(G_AB(a)) 表示。

最后为了训练这个单向 GAN 需要两个 loss,分别是生成器的重建 loss 和判别器的判别 loss。

判别 loss:判别器 D_B 是用来判断输入的图片是否是真实的 domain B 图片,于是生成的假图片 G_AB(A) 和原始的真图片 B 都会输入到判别器里面,公示挺好理解的,就是一个 0,1 二分类的损失。最后的 loss 表示为:

生成 loss:生成器用来重建图片 a,目的是希望生成的图片 G_BA(G_AB(a)) 和原图 a 尽可能的相似,那么可以很简单的采取 L1 loss 或者 L2 loss。最后生成 loss 就表示为:

以上就是 A→B 单向 GAN 的原理。

CycleGAN

CycleGAN 其实就是一个 A→B 单向 GAN 加上一个 B→A 单向 GAN。两个 GAN 共享两个生成器,然后各自带一个判别器,所以加起来总共有两个判别器和两个生成器。一个单向 GAN 有两个 loss,而 CycleGAN 加起来总共有四个 loss。

CycleGAN 论文的原版原理图和公式如下,其实理解了单向 GAN 那么 CycleGAN 已经很好理解。

X→Y 的判别器损失为,字母换了一下,和上面的单向 GAN 是一样的:

同理,Y→X 的判别器损失为:

而两个生成器的 loss 加起来表示为:

最终网络的所有损失加起来为:

论文里面提到判别器如果是对数损失训练不是很稳定,所以改成的均方误差损失,如下:

下面放一张网友们自制的 CycleGAN 示意图,比论文原版的更加直观。

效果展示

CycleGAN 的效果还是不错的,论文里给出了很多结果图,可以欣赏一下。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 目标检测和深度学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 单向GAN
  • CycleGAN
  • 效果展示
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档