Libo1575899134@outlook.com

Libo

(原创文章,转发请注明作者)

本文章主要介绍Gan的应用篇,3,主要介绍图像应用,4, 主要介绍文本以及医药化学其他领域应用

原理篇请看上两篇

https://www.cnblogs.com/Libo-Master/p/11167804.html

https://www.cnblogs.com/Libo-Master/p/11169198.html

-----------------------------------------------------------------------------------

今天主要介绍Gan的应用,主要涵盖六大部分:

有的不直接是Gan的应用,而是对抗训练的应用,从图像到文本,延申到医药领域的一些应用。

简单回顾下Gan由两部分组成生成器的G和判别器的D,他们两个的目标是相反的,生成器尽量生成真样本,判别器尽量判别真样本和生成器的生成样本。比较好的比喻,就是警察和假币制造商,在对抗过程中双方都要不断的提高造假和鉴别能力,最后达到一种平衡。

从数学上就可以看作一种min-max的博弈。噪音向量通过神经网络生成器以后生成假样本,我们有一对假样本,同时还有一些真样本,从两类样本中做一个伯努利的采样,给到判别器去判定是真样本还是假样本。

如果从数学上来看,目标函数分成两部分,判别器识别真样本为真,假样本为假的假的目标。

判别器的目标是最大化,真判别为真的概率,假的为假的概率。生成器的目标刚好相反。

第一部分的应用,是传统的图像生成和图像的修改、操作,这里只介绍最新的一些方法

Plug and Play Generative Networks , 生成样本比较丰富,真实度也比较高,火山的不同状态,以及在不同天气下的状态。

BE Gan 最google最近的工作,变形度很低,丰富的人种,多样性,

下面展示了通过L参数控制多样性,0.7显示了更丰富的样本,0.3降低了丰富度。

 

18年三月份,改进的W-Gans,收敛度和逼真程度都提高了很多,有量化的指标。但是放大来看不如人脸的效果好,主要是因为卧室的背景比较复杂。

这个应用第一个落地在淘宝的人脸认证。看起来很真,但是像素不高,很容易过人脸检测

第二个领域也是在图像生成的,但是不是从图像生成图像。而是从给定的描述生成图片(比如生成白色翅膀的鸟)画的效果比鸟的好,是因为鸟的背景比较复杂

这种模型的创新在于,对于真假程度的判定,提出了Matching-aware的判别器,需要考虑图片real,但是text不对的时候,也要捕捉进来。

前面的文章适用于背景比较简单,前景比较集中生成效果的是最好的,是因为Gan有比较好的捕捉能力会把前景和背景分开建模,所以当分开刻画这两者的时候 效果会变得更好,强行只先生成轮廓,第二步填充细节,下面这篇stack-Gan的创新在于此,第一步先生成小的图片,细节不够完美,轮廓和背景色块已经出来了,第二步再把细节和颜色的限制加进去。

下面可以看到可以看到花的效果非常好。

 

上面说的是图像生成,下面说一下图像编辑/修改

由左边矮帮的鞋生成右边高帮的鞋,GVM的工作重点是原始的Gan生成图片比较模糊,生成的边缘毛躁,纹理不清晰,所以先把原始鞋的表面的纹路扒下来,贴到最终生成鞋上面,但是问题在于形状已经不一样了

方法就是捕捉整个变化过程的流程,下面的变换过程在隐空间是一步一步变换的并不是一步到位的,把这个一步一步的变换捕捉过来之后,可以形成光场一样的东西

 

通过光场做出来以后,可以得到一步一步的隐射,在贴片的时候只需要按照这个光场变换信息一步一步贴回去就行了。所以这篇GVM的贡献在于把光场的限制加了进去,做了这个小改变容易控制,同时把纹理和形状拆分成了两步,先保证生成出我们想要的形状,再通过光场的限制再把纹理加上去。

GVM有个比较有意思的应用,就是说通过几笔修改就可以把晴天的山变成雪山,画几笔白线条Gan就会把它融合进来,等等

接下来的工作是图像转换,有两类图像,他们之间是由一定的对应关系的,比如分割图到实物图,也可以是黑夜到白天,也可以是线条图到上色图。只要在pair里的变化都被叫做图像转换/翻译,判别器需要判定的不是当前这组图片是不是真,而是当前这组翻译是不是真,比如给kitty上色,判别器需要判定的是一组图片而不是一个图片

 

下面的应用是分割图,生成了实景图。3D谷歌地图可以转换成平面图,黑白到上色,线条上色。下面就是更多白天到黑夜的生成的效果。

 

图像转换中非常重要的工作就是auto painting,很多人的手稿有线条不封闭的问题,需要有很多细节上的处理,下面的图片展示了不仅体现了上色,而且体现了上色中的阴影,让图片更加的立体感

还是图像转换这个工作,之前考虑的是pair输入给判别器,训练中一定要有pair的样本,对样本的标注要求很大,后面就出现了三篇工作,思想非常相似,先让它映射过去,再让它隐射回来,自我形成pair,并不需要有这样的标注,而生成的东西就是pair的一部分,下图组成的CycleLoss 可以实现没有pair的训练

第一幅图是马变斑马,虽然马和斑马身形不是很一致,但效果已经很好了,同时可以返回名印象派画跟真实场景的转换,夏天变冬天

 

下图实现了不同画作的转变,基于同一个风景不同的派系。

下面实现了不同物种的转换,马变斑马,苹果变橘子,作者也说了目前还局限于外形比较相似的情况,比如橘子变成香蕉比较困难,也是他们现在正在解决的问题。

下面是有人基于Chainer 做的一个自动上色模型,网址在下面。

(https://paintschainer.preferred.tech/index_en.html)

   

还可以给一些指示,比如希望头发是什么颜色的。否则就会基于经验。

 

下面是deepcolor 的一些效果图

    

线条到猫的转换

超分辨率的应用:SR

   

SR在类似于天眼还原地清晰度的人脸信息可以提供帮助,甚至与说是玻璃的反光图像都可以把人捕捉出来。

(https://www.youtube.com/watch?time_continue=67&v=LhF_56SxrGk)

下面是一些SR的网络模型。

 

下面可以通过一些细节图对比不同的方法。

下图展示的是应用在人脸中的效果。但是对于侧脸,角度比较奇葩的还是比较困难。

还有一个应用就是在天文图像的处理,由于光圈的限制望远设备的限制,提高清晰度。

  

第二部分主要讲照片的编辑:

抠图可以通过Gan(pix2pix)一步解决。视频抠图:

 

图像的融合,很多时候,很多时候希望把自己P到明星身边去,直接P的话可能很差劲,如果对于拷贝 粘贴的结果之上做一定的融合,加了很多的约束的GP-Gan

   

还有人做基于侧脸还原正脸,侧脸的效果不是很好,对于疑犯追踪,哪怕拍到的只是一个侧脸,可能够追踪到他的正脸

接下来就是人脸合成的问题:可以把两个人脸的不同部位进行交换,并且看起来效果很逼真。比如把笑容交换到不笑的人脸上。

判别器去判别的时候需要把两方的映射都考虑进去。

笑容属于一种feature,此外还有肤色,发型 都可以作为交换的特征。

(https://devblogs.nvidia.com/parallelforall/photo-editing-generative-adversarial-networks-2/) 下面的数据集基于人脸做了很多标签,眉毛,眉形,发色,人种,等等很多标签。我们就可以做类似的加减法,比如戴着眼镜的人,减去人,加到得到一个眼镜,把这个眼镜加到另一个人的脸上,17年初的工作 效果一般。

 

(https://devblogs.nvidia.com/parallelforall/photo-editing-generative-adversarial-networks-2/)可以把不同的人种的脸进行聚类,下面也有Demo 可以通过滑动条控制属性的强弱。

 

右边通过滑动条来控制

下面是通过生成网络学出来的几位大佬的属性,以及属性值的强弱

有了这项技术可以想象人脸50年后的样子。“人脸老化”。

 

这项工作重点的思想是,并不是在生成人脸之后才把对抗过程加进去的,并不是判断已经生成的人脸是否更像人脸,而是D是针对与Encoder 来加的,普遍认为把判别器加到这里可以拓展到文本领域,文本领域如果不是直接把特征decode出来的话,是可以直接在连续空间处理这个事情的,解决了离散序列不能求导,不能反向传播的问题。

下面是百度的公益项目

 

下面是一个图像填洞。图像有一定的遮挡,也可以还原出来。

   

遮挡补全技术

在室内分割场景,沙发被遮挡了很大一部分,可以通过Gan把原始的沙发做补全。

下面是视频相关的应用

视频中对行人运功轨迹的预测,方向和动作,去生成一些视频。利用了一些特征不变性,视频中人是不变的,动作是变的。如果把这两部分拆开,就可以学到内容不变的同时,再去做关于动作上的预测,下面显示了在pose 加了个判别器。

有了这个知识以后,就可以去做动作建模,姿态预估。

 

下面是3D减模,有个2D的平面面图可以把3D的整个建模出来

 

下面是抽象智力题的学习:

这个是生成对的答案:

下面是生成不对的答案:

图像部分完

------------------------------------------------------------------------------------------------

转载于:https://www.cnblogs.com/Libo-Master/p/11187799.html

Generative Adversarial Networks overview(3)相关推荐

  1. 深度学习之生成式对抗网络 GAN(Generative Adversarial Networks)

    一.GAN介绍 生成式对抗网络GAN(Generative Adversarial Networks)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一.它源于2014年发表的论文:& ...

  2. Generative Adversarial Networks in Computer Vision: A Survey and Taxonomy(计算机视觉中的GANs:综述与分类)

    Abstract: 生成对抗网络(GANs)在过去几年得到了广泛的研究.可以说,他们最重要的影响是在计算机视觉领域,在挑战方面取得了巨大的进步,如可信的图像生成,图像之间的翻译,面部属性操纵和类似领域 ...

  3. Self-Attention Generative Adversarial Networks(SAGAN)理解

    介绍 Self-Attention Generative Adversarial Networks(SAGAN)是Han Zhang, Ian Goodfellow等人在去年提出的一种新的GAN结构, ...

  4. Generative Adversarial Networks(WGAN、SAGAN、BigGAN)

    此篇博文继续整理GAN的衍生版本. Wasserstein Generative Adversarial Networks(WGAN) GAN 在基于梯度下降训练时存在梯度消失的问题,特别是当真实样本 ...

  5. Generative Adversarial Networks(CGAN、CycleGAN、CoGAN)

    很久前整理了GAN和DCGAN,主要是GAN的基本原理和训练方法,以及DCGAN在图像上的应用,模式崩溃问题等.其核心思想就是通过训练两个神经网络,一个用来生成数据,另一个用于在假数据中分类出真数据, ...

  6. 生成对抗网络(Generative Adversarial Networks,GAN)初探

    1. 从纳什均衡(Nash equilibrium)说起 我们先来 看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句 ...

  7. 生成对抗网络(Generative Adversarial Networks,GAN)

    目录 生成对抗网络(Generative Adversarial Networks,GAN) 一.什么是GAN 二.GAN的模型结构 三.实战案例 3.1 使用GAN生成人脸照片 四.深入理解GAN模 ...

  8. (转)ICLR 2019 《GAN DISSECTION: VISUALIZING AND UNDERSTANDING GENERATIVE ADVERSARIAL NETWORKS》

    ICLR 2019 <GAN DISSECTION: VISUALIZING AND UNDERSTANDING GENERATIVE ADVERSARIAL NETWORKS> ICLR ...

  9. 机器学习会议论文(一)AutoGAN-Distiller:Searching to Compress Generative Adversarial Networks

    一. The address of paper AutoGAN-Distiller:Searching to Compress Generative Adversarial Networks 这篇论文 ...

最新文章

  1. TensorFlow 输出tensor数据
  2. leetcode算法题--从上到下打印二叉树 II
  3. Angular 2+ 监听路由变化动态设置页面标题
  4. PHP 9 大缓存技术总结
  5. mysql 日志记录 archive_完美起航-Mysql日志管理、备份与恢复
  6. win7系统出现0x0000001a蓝屏代码的解决教程
  7. 寻找先序遍历中第k个节点
  8. Linux字符设备与块设备的区别
  9. 程序设计基础(C语言)课程设计报告,C语言程序设计基础课程设计报告.doc
  10. 蓝桥杯2020答案c语言b组,2020十月份蓝桥杯B组省赛题解大全(害!附题面文件和部分代码~)...
  11. 第 11 章 直接内存
  12. eclipse经常出现弹窗Refreshing workspace
  13. 递归查找数组的最大值
  14. win10中修改mac地址
  15. 批量将B站学习视频以MP4格式下载到本地
  16. 20190707 - FE:使用 Charles 在 IphoneX 上抓包
  17. vb.net产生随机数
  18. 宠物保存服务市场现状及未来发展趋势分析
  19. Windows 7x64 Ultimate Modified by Michael
  20. 打不出电话显示无法连接到服务器,打电话显示无法连接到服务器

热门文章

  1. 微软、思科等企业源代码被黑客在线售卖,打包价100万美元
  2. 电力线巡检--输电线路杆塔异物检测数据集(4500+图片,xml标注)
  3. Proxyee-down的下载与安装教程
  4. 你一定需要一款功能强大的图像批量处理软件
  5. 算法经典“钓鱼”问题详解 基于贪心算法 C语言描述
  6. Connectify中文版在Win7下创建免费热点让上网更简单
  7. SpringCloud的简单使用
  8. 一、全国计算机二级Python——题型介绍
  9. JointJS:JavaScript 流程图绘制框架
  10. 抖音SEO矩阵系统如何运营?如何开发?