MyFPGA Forum

 找回密码
 注册
搜索
查看: 3478|回复: 0

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

[复制链接]
发表于 2020-6-24 11:19:53 | 显示全部楼层 |阅读模式
本帖最后由 winter 于 2020-6-24 11:23 编辑

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

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

11.png

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

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


得到两个网络的反馈

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


图示如下:

22.png

2.常见的生成对抗网络模型

Generative Adversarial Network (GAN)
2014年Ian Goodfellow首次提出GAN模型结构,可以生成各种图像数据集,论文地址
https://arxiv.org/pdf/1406.2661.pdf

运行效果如下:
33.jpeg

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

Deep Convolutional Generative Adversarial Network简称DCGAN
论文地址如下:
https://arxiv.org/pdf/1511.06434.pdf

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

44.jpeg

Conditional Generative Adversarial Network 简称cGAN
论文地址如下:
https://arxiv.org/pdf/1411.1784.pdf

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

55.jpeg

条件GAN扩展解决图像到图像的翻译问题,相关论文如下:
https://arxiv.org/pdf/1611.07004.pdf

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

66.jpeg

Information Maximizing Generative Adversarial Network (InfoGAN)
论文地址如下:
https://arxiv.org/pdf/1606.03657.pdf

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

77.jpeg

Conditional Image Synthesis with Auxiliary Classifier GANs - ACGAN
论文地址
https://arxiv.org/pdf/1610.09585.pdf

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

88.jpeg

CycleGAN(Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks)
论文地址
https://arxiv.org/pdf/1703.10593.pdf

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

99.jpeg

Stacked Generative Adversarial Network (StackGAN)
论文地址如下:
https://arxiv.org/pdf/1612.03242.pdf

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

100.jpeg

论文中演示的效果如下:

101.jpeg

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

论文地址
https://arxiv.org/pdf/1702.01983.pdf

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

102.jpeg

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

103.jpeg

Pixel-Level Domain Transfer
论文地址
https://arxiv.org/pdf/1603.07442.pdf

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

104.jpeg

迁移效果如下:

105.jpeg

Context Encoders: Feature Learning by Inpainting
论文地址
https://arxiv.org/pdf/1604.07379.pdf

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

106.jpeg

运行结果如下:

107.jpeg

Unsupervised Cross-Domain Image Generation
论文地址
https://arxiv.org/pdf/1611.02200.pdf
https://arxiv.org/pdf/1708.05509.pdf

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

108.jpeg

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

109.jpeg

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


转自:微信公众号 - OpenCV学堂(CVSCHOOL)
https://mp.weixin.qq.com/s/Dlnve-n8oKfU3lwsdO2j2w
作者:gloomyfish


您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2024-3-29 22:56 , Processed in 0.047207 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表