【生成对抗网络 论文泛读】……pix2pix pix2pixhd……
文章目录
- 前言
- Pix2pix
- 简介
- 核心思想
- Pix2pixHD
- 升级1
- 升级2
- 升级3
- 升级4
前言
这两篇论文放在一起说。
pix2pix:点我下载
pix2pixhd:点我下载
Pix2pix
论文题目::Image-to-Image Translation with Conditional Adversarial Networks
这是一个条件生成网络,他跟cyclegan不同,cyclegan不需要任何条件,直接将需要的两种数据集喂进去就行了,而这个pix2pix是有条件的,
简介
- 生成器:是一个unet模型,需要 输入的图像+噪声,
- 判别器 :是一个patchgan模型,输入 真图+输入的图 和 生成的假图+输入的图 两组,输出的结果就是,某一对是真还是假的概率,是个二分类模型。
简单回顾一下unet:
一个解决语义鸿沟问题的U字形模型。
左边是GAN使用的编码及解码器模型,右边就是pix2pix生成器使用的unet模型,他用连接是Densenet里的connect 通道连接,而不是Resnet里的add。
害,其实就是扣小模块,找已有的更牛的小模块代替原来的老旧小模块,性能自然更上一层楼。
patchgan:就是将一张图分成N * N的patch,然后判断每一个patch是真图的概率,最后求平均。
核心思想
看一下论文中给出的这张图:
其实还是GAN的基本思想。
左边输入一个图像X +噪声, 生成器生成一个假图 再加上输入的X喂给判别器,判别器能判断出来是这一对是假图。
右边就是真图y+输入的轮廓图像x,此时判别器能判断出来是真图组合。
所以这里就明白了为什么说这是CGAN 就是条件GAN呢,其实也是迎合了上一篇了论文cyclegan,cyclegan是不需要图像对齐的,而这里是需要的,也就是说你生成器生成出来的图片不仅要具备真实图片的风格,还要和你输入的简笔画x相吻合(像素匹配)。
pix2pix在训练和测试的时候加入了dropout。
最后 pix2pix使用的损失函数是L1 loss,作者通过实验对比了L2和L1,最后选择的L1。
缺点:训练需要大量的成对图片,比如白天转黑夜,则需要大量的同一个地方的白天和黑夜的照片。在这种情况下,自然就没有cycle那种风景照转成名家画作的功能了,毕竟你不能把梵高复活叫他给你画一个对应的照片哈哈。
Pix2pixHD
pix2pixHD是pix2pix的重要升级,末尾加了一个HD,显然就是高清的意思。
几个升级的方向:
升级1
将原来pix2pix的unet生成器 ,升级为多级生成器(coarse-to-fine generator)。
直接看论文中给出的这张图:
这张图作者画成三部分了,实际上当作一个过程来看待比较好理解,从左到右的过程,也可以看成绿色网络的中间嵌入了一个蓝色的网络。
其中 G1表示全局生成网络,输入和输出大小是1024 × 512,G2表示局部增强网络,输入和输出大小是2048 × 1024。
G1还是之前的u-net网络结构,只是去掉了跨层链接。
流程:
图片先经过一个生成器G2 的卷积层进行2倍下采样,然后使用另一个生成器 G1生成低分辨率的图,将得到的结果和刚刚下采样得到的图进行element-wise的相加,然后输出到 G2的后续网络生成高分辨率的图片。
在训练过程中也是先训练分辨率较小的G1,然后再一起训练G1和G2。
好处不言而喻,低分辨率学全局特征,高分辨率学像素级特征,两者结合,效果提升,
升级2
将原来pix2pix的patch GAN判别器 ,升级为多尺度判别器(multi-scale discriminator)。
作者在论文中说到:为了区分高分辨率真实图像和合成的图像,判别器需要有一个非常大的感受野。这就要求一个更深的网络过着更大的卷积核。这些都会增加网络的容量和潜在的过拟合因素。同时,这两种选择都需要更大的内存占用来用于训练,这已经是高分辨率图像生成的稀缺资源了。
所以作者提出了这个多尺度判别器,其实原理就一句话,就是在不同尺度的特征图上,分别训练判别器,最后的结果取平均。
升级3
优化了损失函数
- Feature matching loss:将生成的样本和Ground truth分别送入判别器提取特征,然后对特征做Element-wise loss
- Content loss:将生成的样本和Ground truth分别送入VGG16提取特征,然后对特征做Element-wise loss
升级4
pix2pix的语义分割对于同类物体的外轮廓区分的不明显,导致多个同一类物体排列在一起的时候出现模糊。所以pix2pixhd使用实例分割的结果进行训练,也就是文中说的Instance-map。
实例分割出来的 Boundary map:
将Boundary map与输入的语义标签concatnate一起作为输入。
这里分割出来之后,论文中所说的实例级别修改就容易达到了。
比如作者在论文开头给出的树和楼之间的转换,车颜色和路面纹理的转换:
大致实现:先通过新增一个encoder网络抽取图像特征,然后对特征做实例级别的均值池化操作,最后将这种池化后的特征和生成器的原输入组合成为新的输入,从而实现实例级别图像多样化,
【生成对抗网络 论文泛读】……pix2pix pix2pixhd……相关推荐
- PSGAN——姿态稳健型可感知空间式生成对抗网络论文详细解读与整理
PSGAN--姿态稳健型可感知空间式生成对抗网络论文详细解读与整理 1.摘要 2.什么是PSGAN? 3.主要贡献 4.整体模块 5.目标函数 6.实验结果--部分化妆和插值化妆 7.定量比较 8.参 ...
- GAN 生成对抗网络论文阅读路线图
路线图按照下面四个准则构建而成: ● 从提纲到细节 ● 从经典到前沿 ● 从通用领域到特定领域 ● 专注于最先进的技术 Generative Adversarial Networks ...
- GAN生成对抗网络论文翻译(二)
英语论文,每天翻译一节(在家自学控制力还是太差),纯属自己翻译,小白一只,如果您能提出建议或者翻译修改,将非常感谢,首先谢谢! 2 Generative Adversarial Networks As ...
- GAN生成对抗网络论文翻译(一)
给自己一个动力去看英语论文,每天翻译一节,纯属自己翻译,小白一只,如果您能提出建议或者翻译修改,将非常感谢,首先谢谢! How Generative Adversarial Networks and ...
- CycleGAN(循环生成对抗网络)论文解读
图像到图像的转换的目标是使用配准的图像对训练集来学习输入图像和输出图像之间的映射,而CycleGAN中使用的方法是缺少配对训练集的情况下进行图像转换 传统的图像转换如上图左,训练集是配对的x,y图像{ ...
- Ian Goodfellow 生成对抗网络(GAN)论文解析
原文:Generative Adversarial Nets 作者:Adit Deshpande 编译:KK4SBB 欢迎人工智能领域技术投稿.约稿.给文章纠错,请发送邮件至heyc@csdn.net ...
- 掌握生成对抗网络(GANs),召唤专属二次元老婆(老公)不是梦
全文共6706字,预计学习时长12分钟或更长 近日,<狮子王>热映,其逼真的外形,几乎可以以假乱真,让观众不禁大呼:awsl,这也太真实了吧! 实体模型.CGI动画.实景拍摄.VR等技术娴 ...
- 生成对抗网络入门指南(内含资源和代码)
python进阶教程 机器学习 深度学习 长按二维码关注 进入正文 前言:春节假期结束了,在这个假期中,原本好好的计划终究没能跟上变化,发生了很多意想不到的事情,导致公众号有近十天没能更新,首先给长期 ...
- Generative Adversarial Nets 生成对抗网络
Generative Adversarial Nets 生成对抗网络 论文作者 Yan 跟随论文精读 (bilibili李沐) 同时会训练模型 G,生成模型要对整个数据的分布进行建模,就是想生成 尽量 ...
最新文章
- SpringBoot + Redis 解决海量重复提交问题
- 国家发改委:分两批在8个地区建设全国一体化算力网络国家枢纽节点
- opencv多线程显示的问题和解决方法
- SQL Server连接中的常见错误
- 安装zabbix及LNMP的平台的搭建
- 【C++ primer】第七章 函数-C++的编程模块
- WPS新建文字分享微信.docx形式_DOC和DOCX文件的区别
- 如何测试网站服务器大小,如何测试服务器宽带网络大小
- 特斯拉Model 3进化不止 传统车企到底应该学什么?...
- python-for x in range (注意要点、细节)
- C语言中printf打出2进制与16进制数
- web3.0 兴起之际,元宇宙不属于任何一家科技巨头
- 安全策略手记 (安全沙箱全攻略)
- Django+Vue开发生鲜电商平台之2.开发环境搭建
- lisp语言画地物符号_LISP语言在CAD工程制图中的应用_谢威
- UV杀菌灯芯片-DLT8P65SA-杰力科创
- NET 页面生命周期
- Win10 取消百度输入法 Shift+Space 全角半角切换
- 图解Python语法
- 用matlab info,matlab info函数 Excel的info函数
热门文章
- Unity性能优化要点分析(二) 渲染优化技术
- js 前端时间选择器
- Linux碎片整理工具,Linux不需要磁盘碎片整理
- connectbot本地安装php,Android studio下编译connectbot
- 我的世界租赁服务器重置,《我的世界》租赁服自动砍树命令教程 命令方块介绍...
- 快速实现ML302 GPS+4G发送定位信息详解
- Bambook 稍后阅读 V1.01 发布
- Android基本组件及使用
- bmp180气压传感器工作原理_40张动图看懂各种传感器工作原理
- Filter共性问题