对于pix2pix的介绍以及实现
最近读了pix2pix的相关文章,也是关于对抗生成的。它与之前接触的GAN有挺大的不同。比如从训练集来说,它是进行成对的训练(接下来会介绍),损失函数的不同比如加入了L1损失,以及生成器的输入,以及判别器都有了很大的不同,接下来会为大家一一介绍。
1 生成器UNET
首先先介绍生成器的部分,生成器使用了UNET的生成网络结构如下图
这个图我是在github中截取的。简单的介绍一下生成器的结构。首先从上图最左边输入一张图片,经过两次的卷积变成64个通道,紧接着经过一次池化层不改变通道数,只是把图像的大小变为原来的一半,紧接着操作类似,直到变成最底下的1*512*32*32的这种类型(batchsize=1,通道数为512,图片大小32*32)再次经过两个卷积层变成1*1024*28*28这种类型。之后在看中间的这个箭头它的意思就是合并举个例子就是说,图片最下面的第一个箭头它是由左边的1*512*64*64和右边的经过上采样之后得到的图片1*512*56*56进行通道的拼接。可以看到这里的图片的大小并不是不同的,经过查资料发现可能是做了一些修剪,之后接下来的过程以此类推,不断的进行拼接,最后生成图像。
到这里其实已经没有什么问题了,但是在实现代码中发现,我的生成器结构与文中的略有不同比如我没有使用过池化层或者是连续的两次卷积,经过请教其实多一点少一点并不会有多大的问题,只要好用就行了,如果你的效果比他还好的话,那么就相当于一个小小的创新,不要太在意这些细节,抓住主要的即可。
2 判别器PATCHGAN
刚读文章的时候,文章里介绍会把图片分割成70*70的图片,判断每一个图片的真实值,之后再取平均。我一开始以为是把图片分成70块,判断每一块的真实值,但实际在代码中却是一个个卷积层,并没有看到分割的过程,所以查了一查后来发现分割操作其实卷积层已经完成了,这里涉及到感受野的部分,你可以把它理解一个卷积核可以覆盖的范围,经过最后的计算,最后确实是70*70的大小。这里不过多的介绍感受野,可能以后会写一些关于这部分的内容下面给出鉴别器的结构图:
3 pix2pix结构图
首先先把结构图给大家看看:
首先从左边生成器开始讲,我认为它的结构和cgan相同,首先是一个真实的轮廓或者是标签图片放入生成器中进行训练,之后再将生成的假图片和真实的也就是刚刚放入生成器中的真实轮廓放入鉴别器中,在代码中是合并在一起变成6个通道进行训练。鉴别器是放入真实的图片和它的轮廓图片放在一起进行训练。整体结构较为简单,实际效果还不错。具体的损失函数比较简单就是一个生成对抗损失加上一个生成图片和真实图片的L1损失加起来,放入生成器优化器中进行训练。
4 实验结果
最后给出我的运行结果:
如果大家需要这个代码,大家可以在评论区回复,我再把链接发给大家,因为这是很久之前跑的程序,找起来还是有点麻烦。
大家和我要的代码我一般看见了就发了,一般三到七天吧因为我不经常看,大家要是收到的话可以回我一下,我怕大家没有收到。之后我自己其实也学了一些其他的gan比如stylegan之类的文章,只是因为其他人写的特别好,我就没怎么写,大家有关gan的问题可以问问我,如果我知道的话我一定会给大家解答的,gan真的是比较有意思。
对于pix2pix的介绍以及实现相关推荐
- AI修图!pix2pix网络介绍与tensorflow实现
1.引言 在现实生活当中,除了语言之间的翻译之外,我们也经常会遇到各种图像的"翻译"任务,即给定一张图像,生成目标图像,常见的场景有:图像风格迁移.图像超级分辨率.图像上色.图像去 ...
- AI修图!pix2pix网络介绍
语言翻译是大家都知道的应用.但图像作为一种交流媒介,也有很多种表达方式,比如灰度图.彩色图.梯度图甚至人的各种标记等.在这些图像之间的转换称之为图像翻译,是一个图像生成任务. 多年来,这些任务都需要用 ...
- 四天搞懂生成对抗网络(三)——用CGAN做图像转换的鼻祖pix2pix
点击左上方蓝字关注我们 [飞桨开发者说]吕坤,唐山广播电视台算法工程师,PPDE飞桨开发者技术专家,喜欢研究GAN等深度学习技术在媒体.教育上的应用. Pix2Pix的不甘の野望 也许是CycleGA ...
- 深度学习数据驱动_利用深度学习实现手绘数据可视化的生成
前一段时间,我开发了Sketchify, 该工具可以把任何以SVG为渲染技术的可视化转化为手绘风格.(参考手绘风格的数据可视化实现 Sketchify) 那么问题来了,很多的chart是以Canvas ...
- 生成对抗网络项目:6~9
原文:Generative Adversarial Networks Projects 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编辑( ...
- 利用深度学习实现手绘数据可视化的生成
个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 前一段时间,我开发了Sketchify, 该工具可以把任何以SVG为渲染技术的可视化转化为手绘风格.(参考手绘风格的数据可视化实现 ...
- DL之pix2pix:pix2pix(cGAN)自动上色算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
DL之pix2pix:pix2pix(cGAN)自动上色算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 目录 pix2pix(cGAN)自动上色算法的简介(论文介绍) 1.论文 2.关 ...
- 如何判断模糊图像_图像翻译三部曲:pix2pix, pix2pixHD, vid2vid
所谓图像翻译,指从一副图像到另一副图像的转换.可以类比机器翻译,一种语言转换为另一种语言.下图就是一些典型的图像翻译任务:比如语义分割图转换为真实街景图,灰色图转换为彩色图,白天转换为黑夜...... ...
- pix2pixhd_一文读懂GAN, pix2pix, CycleGAN和pix2pixHD
人员信息 主讲嘉宾 姓名:朱俊彦(Jun-Yan Zhu) 现状:麻省理工学院博士后(PostDoc at MIT),计算机科学与人工智能实验室(Computer Science and Artifi ...
最新文章
- 如何让Table显示滚动条
- [转]线程安全 c/c++
- python3 系统监控脚本(CPU,memory,网络,disk等)
- Wijmo 更优美的jQuery UI部件集:爱上 ThemeRoller
- c语言中一百以内相乘的积,一百以内的加减乘除法游戏....
- tcpdump过滤某个端口
- Hibernate的复合主键映射
- CentOS-Samba服务
- django配置mysql数据库
- 一个多月的时间,终于把这件事做完了!
- vb 打开sdf数据_DWG、DGN、SDF、DWF!Civil 3D图形数据共享的几种方法
- pg_repack使用
- HC-05 蓝牙 AT指令详解
- 企业集成平台 Cloud Hub 5.3版本发布 [EAI、B2BI、EDI、数据集成平台]
- 火箭发射理论(基础篇-未完待续)//2021-1-27
- 无创血糖检测技术研究进展
- 【论文阅读】A detailed analysis of CICIDS2017 dataset for designing Intrusion Detection Systems
- 即将发布个人网站大家呱唧呱唧
- Floyd算法求无向图最小环
- 企业文件服务器搭建案例
热门文章
- 客户端打开服务器txt文件夹,客户端打开服务器txt文件夹
- (一)【Matlab】Matlab基础知识
- 【管理心得之二十四】成功乃失败之母
- 珍惜身边的亲人、朋友
- 计算机网络 实训指导书,计算机网络实验指导书(新版).doc
- 小程序wx.showToast一闪,持续时间短
- 用c语言实现链表数据保存,数据结构链表C语言实现.doc
- Docker快速上手篇,看这一篇就够,你先不用知道它是什么,先用起来!!!
- [答疑]火车售票的类图
- 马氏距离-Mahalanobis Distance