Generative Adversarial Networks overview(3)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值