前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习中最常见GAN模型应用与解读

深度学习中最常见GAN模型应用与解读

作者头像
OpenCV学堂
发布2019-10-11 12:07:08
3.1K0
发布2019-10-11 12:07:08
举报

生成对抗网络常见应用场景与各种扩展模型

生成对抗网络应用与基本原理

01

2014年Ian Goodfellow首次提出Generative adversarial networks (生成对抗网络)简称GANs,生成对抗网络就开始在计算机视觉领域得到广泛应用,成为对有用的视觉任务网络之一,也是如今计算机视觉热点研究领域之一,其已经出现的应用领域与方向如下:

  • 图像数据集生成
  • 生成人脸照片
  • 生成真实化照片
  • 生成卡通照片
  • 图像翻译
  • 文本到图像翻译(Text2Image Translation)
  • 图像语义道照片翻译(Semantic-Image2Photo Translation)
  • 人脸正面视图生成(Face Frontal View Generation)
  • 新姿态生成(Generate New Human Poses)
  • 照片到卡通漫画翻译
  • 照片编辑
  • 人脸年龄化
  • 照片融合(Photo Blending)
  • 超像素(Super Resolution)
  • 照片修复(Photo Inpainting)
  • 视频预测(Video Prediction)
  • 三维对象生成(3D Object Generation)

GAN网络主要由生成网络与鉴别网络两个部分,生成网络负责生成新的数据实例、鉴别网络负责鉴别生成的数据实例与真实数据之间的差异,从而区别哪些是真实数据、哪些是假数据。

以mnist手写数据集为例、GAN网络工作的流程如下:

1.生成网络从随机数据开始,生成一张图像 2.生成的图像被输入到鉴别器中、鉴别器判断它与ground truth数据之间的差异 3.鉴别网络分别考虑他们真假的可能性

得到两个网络的反馈

1.鉴别网络循环反馈数据与ground truth之间的差异 2.生成网络持续接受鉴别网络的反馈,不断优化生成器网络

图示如下:

常见的生成对抗网络模型

02

Generative Adversarial Network (GAN)

2014年Ian Goodfellow首次提出GAN模型结构,可以生成各种图像数据集,论文地址

代码语言:javascript
复制
https://arxiv.org/pdf/1406.2661.pdf

运行效果如下:

该模型的缺点是生成的图像细节不是很好,特别对彩色与细节较多的图像的,对它一个最简单的改进就是另外基础GAN模型。

Deep Convolutional Generative Adversarial Network简称DCGAN

论文地址如下:

代码语言:javascript
复制
https://arxiv.org/pdf/1511.06434.pdf

简单的说DCGAN就是GAN的扩展版本,生成网络与鉴别网络都是基于深度神经网络构成,对细节生成更加的真实。

Conditional Generative Adversarial Network 简称cGAN

论文地址如下:

代码语言:javascript
复制
https://arxiv.org/pdf/1411.1784.pdf

cGAN比GAN来说是多了两个条件输入,分别针对生成网络与鉴别网络,图示如下:

条件GAN扩展解决图像到图像的翻译问题,相关论文如下:

代码语言:javascript
复制
https://arxiv.org/pdf/1611.07004.pdf

最典型就是pix2pix模型,相关的效果如下:

Information Maximizing Generative Adversarial Network (InfoGAN)

论文地址如下:

代码语言:javascript
复制
https://arxiv.org/pdf/1606.03657.pdf

信息GAN是对GAN的改进,在输入生成模型阶段采用更多的信息输入,可以控制样本生成的各种隐式特征,以mnist数据集为例,通过输入隐式信息可以控制数字的旋转与字符的宽度,生成包含隐式信息的新数据集,运行效果如下:

Conditional Image Synthesis with Auxiliary Classifier GANs - ACGAN

论文地址

代码语言:javascript
复制
https://arxiv.org/pdf/1610.09585.pdf

这个是在GAN的基础上提升图像生成的质量,通过对生成网络添加一个辅助的分类标签来提升生成图像的质量,通过对鉴别器分别对图像与标签分布做预测,从而提升最终生成图像多样性与可鉴别性。生成高分辨率图像提升可鉴别性:

CycleGAN(Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks)

论文地址

代码语言:javascript
复制
https://arxiv.org/pdf/1703.10593.pdf

通过循环一致性GAN网络实现图像到图像的翻译问题,是条件GAN扩展与升级版本,关于这个模型最经典的视频就是把马变成斑马的那个视频,论文提供的部分效果如下:

Stacked Generative Adversarial Network (StackGAN)

论文地址如下:

代码语言:javascript
复制
https://arxiv.org/pdf/1612.03242.pdf

实现了从文本到图像的翻译,根据文本描述自动生成图像内容,可以说是一个很科幻的GAN模型,它把文本描述到图像生成的翻译分为两个stage,实现了高质量的文本到图像的翻译。

论文中演示的效果如下:

Face Aging With Conditional Generative Adversarial Network (Age-cGAN)

论文地址

代码语言:javascript
复制
https://arxiv.org/pdf/1702.01983.pdf

人脸老化或者是年龄化人脸生成在跨年龄的人脸识别、寻找失散儿童、数字娱乐脸谱生成等方向都发挥了重要作用,基于cGAN的人脸生成很好的克服了传统人脸老年化不真实与人脸特征丢失的弊端。基于GAN提出了Age-cGAN模型,首先基于年龄条件生成指定年龄的人脸,通过隐式的向量优化保持输入人脸的结构特征,重建输入人脸。首先根据输入的人脸与年龄生成人脸,然后根据得到隐式向量优化重建得到特征跟输入原图一致的aging face,模型的结构如下:

论文中生成的年龄化人脸分为六个级别,显示如下:

Pixel-Level Domain Transfer

论文地址

代码语言:javascript
复制
https://arxiv.org/pdf/1603.07442.pdf

根据源域的对象实现目标域对象生成,完成语义级别的对象迁移,同时实现像素级别的图像生成。完整的网络架构如下:

迁移效果如下:

Context Encoders: Feature Learning by Inpainting

论文地址

代码语言:javascript
复制
https://arxiv.org/pdf/1604.07379.pdf

通过Encoder与Decoder网络+对抗生成网络实现图像修复功能,这里的Encoder与Decoder网络都是全卷积网络,在Encoder的最后一层通过全通道链接实现信息传递,然后通过五个反卷积层实现修复区域生成,网络结构如下:

运行结果如下:

Unsupervised Cross-Domain Image Generation

论文地址

代码语言:javascript
复制
https://arxiv.org/pdf/1611.02200.pdf
https://arxiv.org/pdf/1708.05509.pdf

基于GAN实现跨域图像生成,生成各种表情图像/卡通图像,DTN网络的结构如下:

网络训练完成以后,运行效果如下:

可以说GAN相关的模型是深度学习所有模型中很神奇的存在、GAN的很多应用却都让人节操碎一地,换脸脱衣去马赛克的文章都曾火爆一时、引发广泛关注。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档