目录

介绍

图像到图像的转换

生成对抗学习

我们系列中的CycleGAN

下一步


  • 下载项目代码 - 7.2 MB

介绍

在本系列文章中,我们将展示一个基于循环一致对抗网络(CycleGAN)的移动图像到图像转换系统。我们将构建一个CycleGAN,它可以执行不成对的图像到图像的转换,并向您展示一些有趣但具有学术深度的示例。

在这个项目中,我们将使用:

  • Jupyter Notebook作为IDE
  • 库:
    • TensorFlow 2.0
    • NumPy
    • 绘图库
  • 可下载的公共CycleGAN数据集

我们假设您熟悉深度学习的概念以及Jupyter Notebooks和TensorFlow。欢迎下载项目代码。

图像到图像的转换

风格转换是使用图像到图像的转换构建的。这种技术将图像从源域A传输到目标域B。这究竟是什么意思?简而言之,图像到图像的转换让我们从一个图像中获取属性并将它们应用到另一个图像。

图像到图像的转换有一些有趣(也很有趣!)的应用,例如风格转换可以从夏天拍摄的照片开始,让它看起来像是冬天拍摄的,反之亦然:

或者让马看起来像斑马:

图像到图像的转换还支持深度伪造,让您可以将一个人的脸以数字方式移植到另一个人身上。因此,如果您曾经想知道如果卢克·天行者由尼古拉斯·凯奇扮演会是什么样子,图像到图像的转换可以帮助您找到它。

图像到图像的转换最早是在2016年在一篇题为Image-to-Image Translation with Conditional Adversarial Networks的文章中提出的。这个过程涉及像素到像素的转换,因此被称为pix2pix CGAN。

简而言之,GAN可以学习将噪声向量z映射到输出图像y

G:z→y

相比之下,pix2pix CGAN可以将输入图像x和噪声向量z映射到另一个图像y

G: x,z→y

下图说明了这个概念。

上图清楚地说明了为什么所讨论的模型是生成式、监督式和控制式(或引导式)。该模型给出了一个示例输入图像,该图像不一定呈现完整或可理解的图像,以及输出图像或真是情况。

学习过程包括训练CGAN以受控方式将图像从域A(输入)转换为域B(输出),反之亦然。因此,如果您决定在训练期间更改输出示例图像,您的模型将生成与此处不同的图像。这意味着生成的图像是由地面实况引导的。

生成对抗学习

如下图所示,生成模型(a)是可以生成新数据作为输入给判别模型(b)的模型,判别模型(b)的作用是区分(或区分)数据样本。

一个生成对抗网络(GAN)是一种组合的生成和判别模型进行一个单任务神经网络:生成新的数据样本。近年来,这种类型的处理取得了很大进展,提高了生成学习网络的性能并帮助它们生成了更好的图像。

网络如条件剖成对抗性网络(CGAN) ,深卷积剖成对抗性网络(DCGAN) ,F-GAN和瓦瑟斯坦剖成对抗式网络(WGAN)更新原来的GAN,出来有一定的局限性,如消失梯度的版本,多样性差,训练困难。

以上所有模型都很好。然而,CGAN在图像到图像转换的上下文中更有趣。这是因为CGAN提供了一种通过在建模中引入条件变量y来引导生成图像的方法。

我们系列中的CycleGAN

使用pix2pix CGAN的图像到图像转换使用像素到像素映射将图像从一个域映射到另一个域,这意味着配对图像应该可用于每个图像样本。然而,训练图像对并不总是可用的,这使得任务变得困难。这促使研究人员提出一种新的基于GAN的网络,该网络提供不成对的图像到图像的转换。

这个网络于2017年提出,它被称为使用循环一致对抗网络(CycleGAN)的未配对图像到图像转换。该网络提出了一种将图像从域X映射到域Y的新方法,无需配对图像示例。因此,使用此网络,您可以将猫转换为狗,将男性面孔转换为女性面孔,等等。

这种方法激发了人们开发非常有趣和娱乐性的应用程序,例如季节转换、风格转换、性别到性别的转换、FaceApp的面部交换,以及最新的DeepNostalgia的死者照片动画。我们将在我们的系列中使用未配对的图像方法。

下一步

在接下来的文章中,我们将讨论CycleGAN架构,并解释每个体系结构组件是如何实现的。

https://www.codeproject.com/Articles/5304919/Mobile-Style-Transfer-With-Image-to-Image-Translat

(一)带有图像到图像转换的移动风格迁移相关推荐

  1. GANs系列:用于图像风格迁移的CycleGAN网络原理解读

    CycleGAN论文:https://arxiv.org/pdf/1703.10593.pdf 一.前言 目前关于GAN应用,比较有意思的应用就是GAN用在图像风格迁移,图像降噪修复,图像超分辨率了, ...

  2. Pytorch实现图像风格迁移(一)

    图像风格迁移是图像纹理迁移研究的进一步拓展,可以理解为针对一张风格图像和一张内容图像,通过将风格图像的风格添加到内容图像上,从而对内容图像进行进一步创作,获得具有不同风格的目标图像.基于深度学习网络的 ...

  3. 图像迁移风格保存模型_用TensorFlow.js在浏览器中部署可进行任意图像风格迁移的模型...

    风格迁移一直是很多读者感兴趣的内容之一,近日,网友ReiichiroNakano公开了自己的一个实现:用TensorFlow.js在浏览器中部署可进行任意图像风格迁移的模型.让我们一起去看看吧! Gi ...

  4. opencv与python学哪一个好_教你如何用OpenCV、Python和深度学习技术对图像和实时视频进行神经风格迁移...

    编者按:在这篇教程中,作者AdrianRosebrock将教你如何用OpenCV.Python和深度学习技术对图像和实时视频进行神经风格迁移. 2015年,Gatsys等人在论文ANeuralAlgo ...

  5. 解读通过风格迁移的浓雾天气条件下 无人机图像目标检测方法

    声明:只是个人观点以及本人底子太薄只做表面浅分析,只是用来梳理论文结构不牵涉技术 雨雾恶劣天气条件下,我们可以使用先去雾后检测的方法对薄雾有好处,但是浓雾条件比较差,解决办法就是通过风格迁移的无人机图 ...

  6. Toward Multimodal Image-to-Image Translation(BicycleGAN)图像一对多转换测试

    我们通过精简CycleGAN来实现,以两个域为例,原始CycleGAN需要2个Generator和2个Discriminator,我们不难发现,可以把域转换称condition,这样只需要一个Gene ...

  7. 图像翻译/Transformer:ITTR: Unpaired Image-to-Image Translation with Transformers用Transfor进行非配对图像对图像的转换

    图像翻译/Transformer:ITTR: https://arxiv.org/abs/2203.16015用Transformer进行非配对图像对图像的转换 0.摘要 1.概述 2.方法 2.1. ...

  8. 人工智能图像到图像转换图像分割任务中语义一致的图像到图像转换

    人工智能图像到图像转换图像分割任务中语义一致的图像到图像转换(特约点评:人工智能图像到图像转换图像分割任务中语义一致的图像到图像转换对于图像分割任务提供了新的思路,这个创新点趣说人工智能必须推荐.来自 ...

  9. OpenCV图像颜色模型转换:cvtColor函数的使用

    Opencv提供了不同颜色模型之间转换的函数cvtColor,可以很容易的将一种颜色模型转换为另一种颜色模型. 原型 CV_EXPORTS_W void cvtColor( InputArray sr ...

最新文章

  1. python字符串内建函数_python字符串内建函数
  2. 最好的Java开发人员测试和集成工具
  3. android 保存文件_Android 数据库操作框架LitePal使用介绍(一)
  4. Apache服务配置
  5. 编程实现newton插值c++_数据体操:数据处理和IDW地理插值算法
  6. 起搏器可以用计算机吗,带心脏起搏器能否使用电脑
  7. 购物车及商品php代码_简单的php购物车代码
  8. 精通开关电源设计第三版pdf_设计类电子书合集
  9. 小程序判断ios还是android
  10. Android App设计规范
  11. Red Giant VFX Suite for mac(电影级视觉特效插件)
  12. netscape.exe_评论-Netscape 6.1
  13. matlab满秩分解函数,matlab满秩分解
  14. linux下uboot内存测试,uboot中内存测试,内存检测方法
  15. 蚂蚁借呗总利息计算——每月等额(等额本息)
  16. VL102+IT6563替代方案|TYPEC转HDMI带PD方案|AG9311MAQ设计方案
  17. python 列表操作(完整版)
  18. android工具类怎么写,用kotlin写了一些android常用的一些工具类
  19. Android 通过appt.exe获取已安装apk的版本信息
  20. wwwwwwwwwww

热门文章

  1. php mysql安装_搭建PHP环境中的MySQL配置
  2. edm邮件直投_EDM邮件直投专家
  3. 实现根据条件删除_强大的定位空值法,1秒删除所有不想要的数据
  4. linux 使用ssr客户端_webpack5.0+SSR尝鲜【排坑记录】
  5. solidworks属性管理器_老式经典|如何提高SOLIDWORKS的运行速度
  6. java shutdowninput,java中socket.shutdownOutput()使用后如果还想用输出流怎么办
  7. python数据类型可变和不可变_python可变数据类型vs不可变数据类型
  8. 代码阅读器 android,适用于Android的条形码/ Qr代码阅读器
  9. mysql检查存在_如何检查MySQL中是否存在行?(即检查MySQL中是否存在电子邮件)...
  10. python pdf报告_python生成pdf报告、python实现html转换为pdf报告