应用:图像到图像的翻译是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. elasticsearch之metric聚合

    1.背景 此篇文章简单的记录一下 elasticsearch的metric聚合操作.比如求 平均值.最大值.最小值.求和.总计.去重总计等. 2.准备数据 2.1 准备mapping PUT /ind ...

  2. 2022年7月15日,第四组,周鹏,JAVA认识的第三天,算法的第一天(╥╯^╰╥)(╥╯^╰╥)

    算了,已经没有力气去创作些什么了, 8种排序方法我只会4种,剩下的以后再补. 发一个逻辑题吧: 一个村落,有50户人,在这些人中存在着n个红眼病. 在保证每人每天最少见一面的情况下,有如下规则: 1, ...

  3. 用Dockerfile制作一个java应用镜像,ubuntu基础篇

    内容介绍: (1) 本章目的,将一个自行开发的java程序webpay-api,制作为docker自定义镜像,并且进行部署. (2) 实验环境: 物理机:VMware 虚拟机 + CentOS 7.8 ...

  4. Redis RDB 与AOF

    参考书籍<Redis设计与实现> 一丶为什么redis需要持久化 redis 作为一个内存数据库,如果不想办法将存储在内存中的数据,保存到磁盘中,那么一旦服务器进程退出,那么redis数据 ...

  5. [深度学习] CCPD车牌数据集介绍

    CCPD是一个大型的.多样化的.经过仔细标注的中国城市车牌开源数据集.CCPD数据集主要分为CCPD2019数据集和CCPD2020(CCPD-Green)数据集.CCPD2019数据集车牌类型仅有普 ...

  6. NW js 打包入门教程

    NW js 打包入门教程 NW.JS的安装与打包_u013288292的博客-CSDN博客_nwjs打包

  7. &amp;#127538;Eclipse通过jdbc连接数据库制作简单登陆界面【新手必看】

    一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了, ...

  8. 记一下Go类型转换问题

    数值类型间可以相互转换 int<->int64,uint8<->float32,uint64<->float64 字符类型转换也可以 string<-> ...

  9. MyBatis的使用六(解决字段名与成员名不一致)

    本文主要讲述mybatis如何解决mysql的字段名与java实体类的成员变量名称不一致. 一. 介绍实体类和数据表 1. 实体类Employee public class Employee { pr ...

  10. IDEA本地运行无法找到scope为provided的包

    异常描述 java.lang.ClassNotFoundExcetion 解决方案 Run->Edit Configrations 弹出如下窗口 1.选中你的应用,2.点击Modify opti ...