【万物皆可 GAN】CycleGAN 原理详解
【万物皆可 GAN】CycleGAN 原理详解
- 概述
- CycleGAN 可以做什么
- 图片转换
- 图片修复
- 换脸
- CycleGAN 网络结构
- CycleGAN 损失函数
概述
CycleGAN (Cycle Generative Adversarial Network) 即循环对抗生成网络. CycleGAN 可以帮助我们实现图像的互相转换. CycleGAN 不需要数据配对就能实现图像的转换.
从上图我们可以看到, 通过使用 CycleGAN 我们实现了马到斑马的转换.
CycleGAN 可以做什么
答: 万物皆可 GAN
图片转换
图片修复
换脸
CycleGAN 网络结构
CycleGAN 由左右两个 GAN 网络组成. G(AB) 负责把 A 类物体 (斑马) 转换成 B 类物体 (正常的马). G(BA) 负责把 B 类物体 (正常的马) 还原成 A 类物体 (斑马).
如果我们只有 G(AB) 一个网络, 生成器 (Generator) 就会偷懒, 用随意任何一匹马蒙混过关, 如图底部. 所以我们需要两个 GAN 网络, 通过循环约束生成器 (Generator).
如图, 完整的 CycleGAN 由上下两部分组成, 上下两部分的唯一区别在于输入. 一个输入是 A 类, 生成 B 类; 另一个输入是 B 类, 生成 A 类.
CycleGAN 损失函数
CycleGAN 的损失函数总共有 2 组, 每组 4 个, 总计 8 个. 如图:
其中:
- D_A & D_B: 是判断器的损失
- G_A & G_B: 是生成器的损失
- cycle_A & cycle_B: 是原始图像和还原图像的损失, 即 A => B => A, 初始和和还原 A 的损失
- idt_A & idt_B: 是映射损失, 即用真实的 B 当做输入, 查看生成器是否会原封不动的输出 (B => B?)
【万物皆可 GAN】CycleGAN 原理详解相关推荐
- 【Android架构师java原理详解】二;反射原理及动态代理模式
前言: 本篇为Android架构师java原理专题二:反射原理及动态代理模式 大公司面试都要求我们有扎实的Java语言基础.而很多Android开发朋友这一块并不是很熟练,甚至半路初级底子很薄,这给我 ...
- 【万物皆可 GAN】生成对抗网络生成手写数字 Part 1
[万物皆可 GAN]生成对抗网络生成手写数字 Part 1 概述 GAN 网络结构 GAN 训练流程 模型详解 生成器 判别器 概述 GAN (Generative Adversarial Netwo ...
- EMD算法之Hilbert-Huang Transform原理详解和案例分析
目录 Hilbert-Huang Transform 希尔伯特-黄变换 Section I 人物简介 Section II Hilbert-Huang的应用领域 Section III Hilbert ...
- SVM分类器原理详解
SVM分类器原理详解 标签: svm文本分类java 2015-08-21 11:51 2399人阅读 评论(0) 收藏 举报 分类: 数据挖掘 文本处理(16) 机器学习 分类算法(10) 目 ...
- 【GAN优化】详解SNGAN(频谱归一化GAN)
今天将和大家一起学习具有很高知名度的SNGAN.之前提出的WGAN虽然性能优越,但是留下一个难以解决的1-Lipschitz问题,SNGAN便是解决该问题的一个优秀方案.我们将先花大量精力介绍矩阵的最 ...
- AI 以 5:0 比分击败美顶级飞行员;经典对抗攻击 Deepfool 原理详解
开发者社区技术周刊又和大家见面了,快来看看这周有哪些值得我们开发者关注的重要新闻吧. 2019 年全球公共云服务市场总额达 2334 亿美元 新里程碑!IBM 宣布最高量子体积 64 马斯克将通过实时 ...
- 生成对抗网络(GAN)原理详记
生成对抗网络(GAN)原理详记 前言 一:什么是生成对抗网络(GAN) 1.GAN是什么 2.生成任务 3.GAN的数学描述 二:各类GAN 1.DCGAN (1) DCGAN网络结构 (2) DCG ...
- Web网络安全漏洞分析,SQL注入原理详解
本文主要为大家介绍了Web网络安全漏洞分析SQL注入的原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 一.SQL注入的基础 1.1 介绍SQL注入 SQL注入就是 ...
- 【万物皆可 GAN】给马儿换皮肤
[万物皆可 GAN]给马儿换皮肤 概述 真假斑马 实现流程 代码 执行流程 执行结果 概述 CycleGAN (Cycle Generative Adversarial Network) 即循环对抗生 ...
最新文章
- News Break!沈向洋投资并出任美国版“今日头条”董事长
- 23 Merge k Sorted Lists
- gitlab增加日志
- 如何快速弄懂一个新模型_如何评估创业项目是否靠谱?一个新的模型 | 创创锦囊...
- 华为鸿蒙山海,华为包圆了整部《山海经》,鸿蒙是何意?还有青龙白虎朱雀玄武?...
- (王道408考研数据结构)第七章查找-第二节1:顺序查找及其优化
- python 程序bug解决方案
- erlang 读取confg文件异常 could not start kernel pid error in config file
- js获取url上的数据;angularjs获取url上的参数
- k-means聚类分析的C++实现
- 基于扩展卡尔曼滤波的slam
- 【coq】函数语言设计 笔记 02 - induction
- java获取北京时间系统时间全球各地时间。
- javascript高级一
- java变量_Java变量
- 股票及炒股票的基础知识
- [pandas基础]Pandas Series和Pandas DataFrame基础操作
- 输出一个 n 阶的方阵
- 以太坊-Ethereum Studio工具入门-快速开始
- 制造业BOM 工厂BOM管理系统 简单实用BOM管理系统,树形结构,目视化BOM管理系统,集成ERP、SAP的BOM管理系统,快速上线BOM管理系统
热门文章
- CPLD与16C554在航空发动机参数采集器中的应用——转载
- 50个Pandas的奇淫技巧:向量化字符串,玩转文本处理
- 互联网人出游必备清单
- Linux 各类设置、配置、使用技巧参考,Linux使用集锦
- opencv检测某个区域rgb变化_使用OpenCV和C ++检测RGB颜色间隔
- 串口助手测试NB-IoT模块与华为OceanConnect平台通信(BC35-G模块、非常详细)
- 史上最简单的Elasticsearch教程:SpringBoot集成Elasticsearch 实时流量监测平台
- FL Studio中的音频剪辑功能
- TiDB和MongoDB分片集群架构比较
- 你到底是读的书少还是读的太多了