风格迁移(CycleGAN)_cyclegan 指标-程序员宅基地

技术标签: 对抗迁移学习  

概述

Cycle-Consistent Adversarial Networks(CycleGAN)是一个新颖的方法,它能将图像从源域映射到目标域b。CycleGANs的一个很酷的功能是它不需要训练数据配对就能产生惊人的风格传递的结果。

在许多风格迁移的应用中,成对数据是训练所必需的。

配对
在这里插入图片描述

CycleGAN不需要配对数据输入到模型中

无需配对
在这里插入图片描述

CycleGAN

CycleGAN试图学习一个Generator网络,该网络学习两个映射。CycleGANs训练两个发生器和两个鉴别器网络。它不同于大多数只有一个发生器和鉴别器网络的gan。

CycleGAN有两个Generator网络

Generator A:学习一个映射G: X → Y ,其中X是源域A的一个图像,Y是目标域B的一个图像。该网络将来自于源域A的图像转换成类似于目标域B的图像。基本上,网络的目的是学习一个映射,以便G (X)类似于Y。
Generator B:学习一个映射G: Y→ X 。该网络将来自于目标域B的图像转换成类似于源域A的图像。基本上,网络的目的是学习一个映射,以便F(G (X))类似于X。

CycleGAN有两个Discriminator网络

Discriminator A: Discriminator A用于对生成器网络A生成的图像(表示为G(X))和源域A生成的真实图像(表示为X)进行区分。
Discriminator B: Discriminator B用于区分由Generator network B生成的图像(表示为F(Y))和来自源域B的真实图像(表示为Y)。

CycleGAN的网络结构

在这里插入图片描述
CycleGAN的架构图显示了两个映射函数G和F,以及两个鉴别器DX和DY的使用。

  • 鉴别器DX用于验证域A的图像和变换后的图像F(y)。

  • 鉴别器DY用于验证域B的图像和转换后的图像G(x)。

  • CycleGANs使用周期一致性损失进行图像转换。周期一致性损失用于判断来自域A的图像X是否可以从转换后的图像中恢复。

X映射到Y,再映射回X_
在这里插入图片描述
Y映射到X,再映射回Y_
在这里插入图片描述

应用

CycleGANs的一个更神奇的应用是风格转换。这里列出了一些非常酷的CycleGANs应用。

夏天的场景变成了冬天的场景,反之亦然。

在这里插入图片描述
莫奈的绘画变成了逼真的图像。
在这里插入图片描述
一篮子苹果转换成一篮子橘子,反之亦然。
在这里插入图片描述
一匹马变成了一匹斑马,反之亦然。
在这里插入图片描述

参考

https://medium.datadriveninvestor.com/style-transferring-of-image-using-cyclegan-3cc7aff4fe61

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42990464/article/details/116445693

智能推荐

傻瓜攻略(三)——MATLAB实现BP神经网络预测_matlab神经网络预测-程序员宅基地

文章浏览阅读1.4w次,点赞22次,收藏389次。BP神经网络作为人工神经网络中的元老,其应用广泛程度已经不言而喻。本文主要对其具体应用要点进行总结。数据数据采用2020年第十届MathorCup高校数学建模挑战赛A题相关数据,原始数据含有60多个因素。经过筛选和量化,最终得到19个因素。将其中的调价比例作为被预测值,即网络的输出值,其余的18个因素作为网络的输入值。如图所示,本文建立的BP神经网络具有三层,由于输入值有18个,被预测值有1个。因此输入神经元的个数取为18,输出神经元的个数取为1。中间隐含层神经元的个数,BP网络需要根据经验取定,暂时_matlab神经网络预测

java中的结构化数据—JSON-程序员宅基地

文章浏览阅读1.1k次。什么是JSON?JSON是”“的缩写,JSON是一种基于文本的格式,可以把它理解为是一个结构化的数据,这个结构化数据中可以包含键值映射、嵌套对象以及数组等信息。{"array"[1,2,3],"boolean"true,"color""gold","null"null,"number"123,"object"{"a""b","c""d"},"string"}Jackson默认使用Jackson进行JSON处理。Streaming在模块。在在和。...

如何成为一名合格的(Java)程序员_一名合格java-程序员宅基地

文章浏览阅读311次。如何成为一名合格的(Java)程序员.txt主流编程工具1 构建工具:Maven或Gradle。2 SCM:Git(不是GitHub。大不相同)。3 构建自动化:Jenkins。4 IDE:Netbeans或Eclipse——不仅用于编写代码,而且还从IDE中重构和调试代码。我遇到了很多没有如何从他们最喜欢的IDE调试的开发人员。5 Bug跟踪:Bugzilla或Jira。主流编程框架1 S_一名合格java

spring事务管理PlatformTransactionManager及transactionTemplate_org.springframework.transaction.platformtransactio-程序员宅基地

文章浏览阅读2.2k次。事务三大接口 org.springframework.transaction.PlatformTransactionManager 事务管理器 org.springframework.transaction.TransactionDefinition 事务的一些基础信息,如超时时间、隔离级别、传播属性等 org.springframework.transaction.TransactionStatus 事务的一些状态信息,如是否一个新的事务、是否已被标记为回滚PlatformTransact_org.springframework.transaction.platformtransactionmanager

Python中使用Plotly画图输出html,但是不在本地浏览器打开html文件_plotly html-程序员宅基地

文章浏览阅读5.2k次,点赞13次,收藏20次。Python中使用Plotly画图输出html,但是不在本地浏览器打开html文件_plotly html

phpmyadmin配置文件config.default.php部分配置选项说明_linux phpmyadmin 修改数据库地址 config.default.php-程序员宅基地

文章浏览阅读8.8k次。phpmyadmin的配置文件是由config.default.php 修改而来的,修改成 config.inc.php里面参数众多.列出一些需要自己修改的,以便以后查找修改 $cfg['PmaAbsoluteUri']:主要用来以URL的方式配置phpmyadmin的安装目录,比如http://localhost/path-to-your-phpmyadmin-d_linux phpmyadmin 修改数据库地址 config.default.php

随便推点

对sklearn文件pyd文件进行修改的方法_如何修改pyd-程序员宅基地

文章浏览阅读896次。首先声明这篇文章没有原理解释,只有遇到的各种问题和个人解决方案。为什么要修改pyd文件,因为我想要修改sklearn里随机森林的决策树构建算法,这部分的关键代码为了提高运行效率被放到了pyd文件中。pyd文件本质是一种python的dll文件,所以无法直接编写。解决方案就是通过setuptools从.pyx文件中生成pyd。平台:windows10python版本:python3.7以下是打包用到的setup.py文件from setuptools import setupf..._如何修改pyd

解决H5页面在部分android版本中line-height不兼容问题_h5页面在不同安卓版本-程序员宅基地

文章浏览阅读2.6k次。在部分android的手机中会出现使用line-height文字偏上的问题,可利用padding来实现文字垂直居中, 若元素高30pxelement{  font-size: 13px;  line-height:0;  padding: 15px 0;//相当于line-height 30px}_h5页面在不同安卓版本

python进阶—matplotlib教程_python matplotlib bins = np.linspace-程序员宅基地

文章浏览阅读304次。简介:matplotlib是python著名的绘图库,它提供了一整套和matlab相似的API,十分适合交互式进行制图。作为一套面向对象的会图库,它所绘画的图表中的每个绘图元素,都会在内存中有一个对象与之对应,我们只需要调用pyplot绘图模块就能快速实现绘图和设置图表的各种细节。1、简单绘制(折线图)import matplotlib.pyplot as pltimport nump..._python matplotlib bins = np.linspace

springboot项目创建过程+maven+mybatis-plus+swagger+security_springboot+ springsecurity + mybaties+ swagger + j-程序员宅基地

文章浏览阅读338次,点赞2次,收藏3次。springboot项目分步创建过程一.基础项目搭建springboot+maven(已完成)二.加入一些必要的jar包(已完成)三.springboot数据化持久操作 加入mybatis-plus(未完成)四.Springboot中加入swagger(未完成)五.springboot项目引入jsp页面编写(未完成)六.springboot项目加入security+jwt安全控件(未完成)七.springboot项目用户角色权限完善(未完成)八.springboot项目打wa_springboot+ springsecurity + mybaties+ swagger + jwt

Java40万年薪所需技术_40万年薪java-程序员宅基地

文章浏览阅读125次。对于一个年薪 40W 的 Java 开发人员来说,需要掌握哪些知识点呢?经过我自己的总结,我列出了下面的思维导图:从上面的图片我们可以看出大致分为三个部分:JDK 源码、JVM 原理、框架源码。一、JDK源码JDK 源码是一切的基础,许多框架都参考了 JDK 源码的实现思路,因此弄懂 JDK 源码是一件非常重要的事情。而 JDK 源码又可以分为下面 5 大块:集合源码 并..._40万年薪java

Vue上传图片并预览(好)-程序员宅基地

文章浏览阅读1.1k次。Vue上传图片并预览(好)_vue上传图片并预览

推荐文章

热门文章

相关标签