基于生成对抗网络结构的图像修复(GAN)
GAN网络的最初发展史
自2014 年10 月Goodfellow 等人提出了一个通过对抗过程生成模型的框架开始,GAN 网络就成为近年来在无监督学习复杂分布中最具前景的方法之一。而其最初给研究人员的感性认识就是“无中生有”(可以通过噪声生成数据库中不存在的同类型物体) ,具有强大的图像生成能力,因此使用GAN网络进行图像中破损区域的生成也成为研究人员探索的一个方向。
GAN 网络的基本结构
GAN 网络的基本结构如图 8 所示。主要包括一个生成模型G和一个判断模型D 。判断模型D本质上是一个分类器,它判断输入的图像是来自数据集的真实图像,还是网络创建的假图像,其模块单元基本上就是一个表现为CNN 形式的二元分类器。生成模型G 主要是通过反卷积神经网络将随机输入值转化为图像。
采用GAN 网络实现图像的修复,在训练阶段,首先不考虑图像的破损问题,即训练过程中采用未破损的数据进行GAN 网络训练。当完成训练后,意味着生成模型G 具备了由噪声信号z (分布为 Pz )按照分布为 Pdata 的样本生成新图像的能力。则对于一个破损的图像I的修复就可以变换为通过生成模型G 生成一个与图像I 已知部分足够相似的新样本的过程,为了达到这个目的,需要对新生成的图像进行迭代修改,修改的依据即破损的图像 I 的已知部分与生成模型生成的新样本的对应部分要尽可能相似。图9 给出了基于GAN 的图像修复过程框架。
如图9 中,通过噪声信号z 生成新的样本,对新的样本通过两个损失进行迭代处理,具体包括通过判断模型D 计算先验损失以避免生成不合理的图像,通过计算生成样本与待修复图像的已知区域的差异计算内容损失以期生成的样本与待修复的图像足够相似。具体通过生成的图G(z)与待修复图I 中对应已知位置像素值的差作为惩罚项得到内容损失。
式中,M 为修复掩码,⊙ 为逐点相乘,式(5)采用了1 范数度量差异,采用不同的距离度量方式都是可取的。这样通过对 G(z)增加类似式(5)的惩罚项即可以迭代地修复图像。采用类似的方法,可以针对人眼实现修复。图10 给出了迭代1000次修复结果的示意图。图11 给出一组基于 GAN 的图像修复方法迭代求解的过程示意图。
GAN网络训练的惩罚项
在基于GAN 结构的图像修复方法的训练阶段,除了基于像素值的惩罚项外,可以使用已经预训练好的分类网络的分类错误作为惩罚项,对修复区域、整幅修复后的图像进行分类辨别实现网络的训练,采用这类全局语义损失函数的方式可以有效地促进图像的修复细节。也可以采用图像的结构熵作为损失函数的内容进行网络的训练,结果表明这类方法可以保证修复结果图像的结构连贯性。同样也可以在基于 GAN 修复网络中增加修复对象的语义条件(比如人脸结构) 指导修复生成过程,使得修复结果的整体语义更为合理。
GAN网络训练的缺点
采用 GAN 网络的图像修复在低分辨率图像, 特别是特定类型的图像修复中可以取得好的效果,但对于高分辨率的图像修复, GAN 的训练非常困难, 特别是对于图像中内容不相似的情况则更加难以收敛。
基于GAN的图像修复方法实验分析
GAN 作为一种具有自监督学习能力的生成网络, 可以针对某一特定类型图像的对抗训练使得生成模型G具有生成该类型图像的能力,最成功的应用即生成逼真的人脸图像。基于DCGAN 网络在 CelebA 数据集上训练人脸生成模型,CelebA 数据集包括了202599 幅人脸图像, 通过训练后的生成模型 G 可以通过100维的向量生成一幅 64 × 64 × 3 像素的彩色人脸图像。进一步采用上面叙述的方法,对随机选取的 64幅测试样本人脸图像进行修复,部分结果如图16 所示,图 16(a)是样本图像,图16(b)是增加掩码的待修复图像,图16(c) 是迭代 1000 次生成的与待修复图像最相似的人脸图像,图 16( d) 是修复结果图像。可见,通过 GAN 网络确实可以生成与待修复样本图像非常相似的新图像,但修复结果有时会不理想,如图16(d)中的第 4 行图像所示。
参考文献:强振平 et al_2019_深度学习图像修复方法综述
基于生成对抗网络结构的图像修复(GAN)相关推荐
- 基于生成对抗网络的自然语言生成(Natural language generation with Generative Adversarial Networks)
作者:禅与计算机程序设计艺术 基于生成对抗网络的自然语言生成(Natural language generation with Generative Adversarial Networks) 引言 ...
- 基于卷积自编码网络结构的图像修复
基于自编码器的生成网络 深度自编码器( DAE) 网络,图2 给出了一个5层的深度自编码器网络示意图,其隐层( L2 - L4)的节点数目由多到少,再由少到多,最后输出层节点与输入层节点的数目一致.本 ...
- 清华大学提出基于生成对抗神经网络的自然图像多风格卡通化方法并开源代码...
近日,清华大学刘永进教授课题组在 IEEE Transactions on Visualization and Computer Graphics 上发表论文,提出基于生成对抗神经网络的自然图像多风格 ...
- 清华大学提出基于生成对抗神经网络的自然图像多风格卡通化方法并开源代码
近日,清华大学刘永进教授课题组在 IEEE Transactions on Visualization and Computer Graphics 上发表论文,提出基于生成对抗神经网络的自然图像多风格 ...
- CVPR2017/图像翻译:Image-to-Image Translation with Conditional Adversarial Networks基于条件对抗网络的图像到图像的翻译
CVPR2017/图像翻译:Image-to-Image Translation with Conditional Adversarial Networks基于条件对抗网络的图像到图像的翻译 0.摘要 ...
- 【Journal of Computer-Aided Design Computer Graphics】基于生成对抗网络的行人重识别方法研究综述
文章目录 引言 数据集介绍 基于GAN的行人重识别方法分类 2.1基于风格转换的方法 2.2基于数据增强的方法 2.3基于不变性特征学习的方法 3 基于GAN的方法性能对比分析 总结 引言 对于行人检 ...
- 生成对抗网络 – Generative Adversarial Networks | GAN
生成对抗网络 – Generative Adversarial Networks | GAN 生成对抗网络 – GAN 是最近2年很热门的一种无监督算法,他能生成出非常逼真的照片,图像甚至视频.我们手 ...
- 【论文分享】MAD-GAN :基于生成对抗网络的时间序列数据多元异常检测
2019年ICANN文章 MAD-GAN: Multivariate Anomaly Detection for Time Series Data with Generative Adversaria ...
- 深度学习之生成对抗网络(4)GAN变种
深度学习之生成对抗网络(4)GAN变种 1. DCGAN 2. InfoGAN 3. CycleGAN 4. WGAN 5. Equal GAN 6. Self-Attention GAN 7. Bi ...
最新文章
- 自研Spring容器,带你解析ioc内部原理
- 通过实例学习如何使用telerik:RadListView控件
- 用python画雪花-python使用turtle库与random库绘制雪花
- 洛谷1967货车运输
- 一些 Google 搜索词
- C++不同数据类型的转换
- 大学计算机专业全民,计算机专业大学排名实力顺序(上大学国内计算机专业大学哪个好值得报读)...
- 还不会用springboot写接口?快看这里,手把手操作,一发入魂~
- 通信原理眼图画法_通信原理课程总结(二)
- 通过真实项目截图讲解MDT 2010部署windows 7的具体过程(3)
- 江西6地列入国家智慧城市试点 智慧城市啥模样专家来描绘
- 正负样本不平衡处理方法总结【转】
- win10 使用cmake编译opencv源码生成VS工程(二)
- python 改变图片像素值
- python马尔可夫链_Python中的马尔可夫链(初学者)
- C# 创建 Word 并另存为PDF格式
- K8S故障排查指南- but volume paths are still present on disk
- 严肃讨论:如何自给自足获取自主学习磁力种子?
- 电脑屏幕亮度,细说电脑屏幕亮度怎么调
- 免费的PDF转换器哪个更好用?这几款软件一定要知道!