应用:图像到图像的翻译是GAN的一个重要方向,基于一个输入图像得到输出图像的过程,图像和图像的映射,如标签到图像的生成,图像边缘到图像的生成过程。

图像处理、图形和视觉中的许多问题涉及到将输入图像转换为相应的输出图像。这些问题通常使用算法来处理,尽管设置总是相同的:将像素映射到像素。条件对抗性网是一种通用的解决方案,它似乎能很好地解决各种各样的此类问题。这里我们展示了几种方法的结果。在每种情况下,我们使用相同的架构和目标,只是针对不同的数据进行训练。

  使用条件GAN(CGAN)作为一种图像到图像的解决方案,添加条件信息来指导图像的生成,因此输入条件就是输入图像,其他GAN的生成器基于随机噪声产生图像,CGAN不依赖损失函数实现,无需手动设计损失函数。

  图像领域的许多问题归结为图像翻译称为相应的输出,从像素预测像素,设计损失函数,生成模型最小化损失函数,

无条件GAN:生成器随机产生图像;有条件GAN:生成器和鉴别器都考虑了边缘映射,条件GNA损失是学习来的。总结:图像到图像到生成,用特定算法实现,像素到像素的映射,用loss function让算法优化。

            
输入图像为y,x是y的边缘,x经过生成器,得到G(x),x和G(x)作为输入经过判别器,该预测值表示输入是否是一对真实图像。概率越大比表示越接近,

y 和x也作为输入,

训练过程图片 x 作为此cGAN的条件,需要输入到G和D中。G的输入是{x,z}(其中,x 是需要转换的图片,z 是随机噪声),输出是生成的图片G(x,z)。D则需要分辨出{x,G(x,z)}和{x,y}
优化目标:z代表的噪音,判别器D的优化目标(1)越大越好,生成器G的目标使得log(1-D(x,G(x,z))越小越好,  
以前的经验告诉我们,将优化目标加上一些正则化,是对模型的性能提升有帮助的,l1和l2在图像生成问题上产生模糊结果,使用L1保证低频信号的正确性

随机噪音z作为输入的到生成器,作用???

网络结构:

生成器:U-Net结构

常见的先降采样到低维度,再升采样到原始分辨率的编解码(Encoder-Decoder)结构的网络相比,U-Net的区别是加入skip-connection,对应的feature maps和decode之后的同样大小的feature maps按通道拼(concatenate)一起,用来保留不同分辨率下像素级的细节信息。U-Net对提升细节的效果非常明显。

图像到图像的转换问题,高分辨率的输入到高分辨率的输出,但是,输出和输出外观又是不同的,但是都有相同的底层结构的渲染,输入中的结构和输出中的结构对齐,Encoder-Encoder结构的网络,输入经过一系列的网络,进行特征提取,所有的信息流流过所有的层。U-net跳过了某些层与层之间连接。

判别器:采用PathGAN

利用重建解决高频成分,一方面使用L1loss使得生成图片和训练图片相似,另一方面Gan只能用于构建高频信息,

那么就不需要将整张图片输入到判别器中,让判别器对图像的每个大小为N x N的patch做真假判别就可以了。
因为不同的patch之间可以认为是相互独立的。pix2pix对一张图片切割成不同的N x N大小的patch,判别器对每一个patch做真假判别,
将一张图片所有patch的结果取平均作为最终的判别器输

总结:pix2pix使用CGAN框架为图像到图像的翻译提供了一个通用的框架,使用U-Net网络作为生成器,提升细节,利用PatchGAS作为判别器,处理图像的高频部分

缺点:训练需要大量的成对照片,

参考:https://www.jianshu.com/p/8c7a7cb7198c

 

有监督的图像翻译——Pix2Pix的更多相关文章

  1. StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation - 1 - 多个域间的图像翻译论文学习

    Abstract 最近在两个领域上的图像翻译研究取得了显著的成果.但是在处理多于两个领域的问题上,现存的方法在尺度和鲁棒性上还是有所欠缺,因为需要为每个图像域对单独训练不同的模型.为了解决该问题,我们 ...

  2. 无监督域对抗算法:ICCV2019论文解析

    无监督域对抗算法:ICCV2019论文解析 Drop to Adapt: Learning Discriminative Features for Unsupervised Domain Adapta ...

  3. 笔记:基于DCNN的图像语义分割综述

    写在前面:一篇魏云超博士的综述论文,完整题目为<基于DCNN的图像语义分割综述>,在这里选择性摘抄和理解,以加深自己印象,同时达到对近年来图像语义分割历史学习和了解的目的,博古才能通今!感 ...

  4. DeepMind爆出无监督表示学习模型BigBiGAN,GAN之父点赞!

    [导读]今天,DeepMind爆出一篇重磅论文,引发学术圈热烈反响:基于最强图像生成器BigGAN,打造了BigBiGAN,在无监督表示学习和图像生成方面均实现了最先进的性能!Ian Goodfell ...

  5. 语音合成论文翻译:2019_MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis

    论文地址:MelGAN:条件波形合成的生成对抗网络 代码地址:https://github.com/descriptinc/melgan-neurips 音频实例:https://melgan-neu ...

  6. 提高驾驶技术:用GAN去除(爱情)动作片中的马赛克和衣服

    同步自我的知乎专栏:https://zhuanlan.zhihu.com/p/27199954 作为一名久经片场的老司机,早就想写一些探讨驾驶技术的文章.这篇就介绍利用生成式对抗网络(GAN)的两个基 ...

  7. (转)干货|这篇TensorFlow实例教程文章告诉你GANs为何引爆机器学习?(附源码)

    干货|这篇TensorFlow实例教程文章告诉你GANs为何引爆机器学习?(附源码) 该博客来源自:https://mp.weixin.qq.com/s?__biz=MzA4NzE1NzYyMw==& ...

  8. 生成对抗网络(Generative Adversarial Networks,GAN)初探

    1. 从纳什均衡(Nash equilibrium)说起 我们先来看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句话 ...

  9. StarGAN学习笔记

    11 December 2019 20:32 来自 <https://zhuanlan.zhihu.com/p/44563641>     StarGAN StarGAN是CVPR2018 ...

  10. AI佳作解读系列(六) - 生成对抗网络(GAN)综述精华

    注:本文来自机器之心的PaperWeekly系列:万字综述之生成对抗网络(GAN),如有侵权,请联系删除,谢谢! 前阵子学习 GAN 的过程发现现在的 GAN 综述文章大都是 2016 年 Ian G ...

随机推荐

  1. 如何通过Java应用程序将Word转为Excel

    平时在工作中,很多小伙伴会习惯性地将文件保存为Word文档格式,但有时会发现某些文件如果保存成Excel表格可能会更好地呈现.例如有的文本在Word文本中不如在Excel工作表编辑计算方便,所以要把W ...

  2. Pytorch基础-张量基本操作

    一,张量的基本操作 二,维度变换 2.1,squeeze vs unsqueeze 维度增减 2.2,transpose vs permute 维度交换 三,索引切片 3.1,规则索引切片方式 3.2 ...

  3. Redux与前端表格施展“组合拳”,实现大屏展示应用的交互增强

    Redux 是 JavaScript 状态容器,提供可预测化的状态管理.它可以用在 react.angular.vue 等项目中, 但与 react 配合使用更加方便一些. Redux 原理图如下,可 ...

  4. ASP-Net-Core-6设置运行环境-开发、测试、生产

    title: ASP.Net Core 6设置运行环境(开发.测试.生产) date: 2022-09-24 17:43:49 tags: - .NET 如果我们设置了好几种appsettings.j ...

  5. Linux C 用GPS时间更新系统时间的方法。

    思路: 1.GPS模块会自动收到带时间信息的消息. GPS模块会收到很多的协议消息带时间信息的.我们选择"$GPRMC"这条协议.其中的时间格式有的是hhmmss(时分秒) 有的是 ...

  6. 基于windows系统使用GNVM进行node切换版本

    GNVM是什么? GNVM 是一个简单的 Windows 下 Node.js 多版本管理器,类似的 nvm nvmw nodist . 安装 进入官网,下载你所需要的包,直达链接 下载完成 放到我们的 ...

  7. three.js一步一步来--如何画出一个逃跑的圆柱体

    代码如下 <template> <div style="width:1000px; height:800px"> <p>逃跑的圆柱体</p ...

  8. 三种循环的区别-break语句

    三种循环的区别 循环语句的区别 for 和 while 的小区别: 控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继 续使用,如果你想继续使用,就用w ...

  9. immutable.js学习笔记(七)----- Seq

    一.Seq 懒得意思就是"不运算,不执行" 二.运行 当console.log这个值的时候,才去观察 三.任意collection 四.Seq.keyed 五.Seq.Indexe ...

  10. 11月22日内容总结——存取数据的历史和数据库的介绍、MySQL介绍、下载和相关操作

    目录 一.存取数据的演变史 1.文本文件 2.软件开发目录规范 3.数据库服务(重点) 1.数据库管理软件的由来 ①程序所有的组件就不可能运行在一台机器上 ②数据安全问题 ③并发 总结 二.数据库软件 ...