前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一些fancy的GAN应用

一些fancy的GAN应用

作者头像
机器学习算法工程师
发布2018-07-26 15:31:56
5640
发布2018-07-26 15:31:56
举报

作者: 刘威威

编辑:龚 赛

前 言

GAN全称是Generator adversarial networks,中文是生成对抗网络,是一种生成式模型,由good fellow在14年提出,近四年来被AI研究者疯狂研(guan)究(shui),更有大神建立一个GAN zoo,收集了上百种不同的GAN:

https://github.com/hindupuravinash/the-gan-zoo 事实上随着GAN理论的不断完善,GAN逐渐展现出了自己非凡的魅力,在一些应用领域开始大放异彩,由此衍生了一些非常fancy的应用。本文对其中的一部分做一些汇总展示给读者,希望在枯燥的科研生活之余给读者一些消遣。

注:本文不牵涉复杂的公式说明,旨在用结果展示GAN的应用场景,文中包含大量的图片。

章节目录

  • 图像生成
  • 图像转换
  • 图像合成
  • 图像超分辨率
  • 图像域的转换
  • 图像修复
  • 文本填空
  • 其他

01

图像生成

前言里提到了GAN是一个生成模型,可以用来生成图像、音频等等,生成质量逐年增加,看下图:

从32x32分辨率生成都困难的GAN,到生成2K真假难辨高清分辨率图像的proGAN,GAN正在发挥着自己独特的优势,并且逐渐渗透到二次元领域。

上图是同济大学的一个工作,生成二次元软妹子。 不仅仅作用于图像,GAN用来生成3D目标和音乐上也是不含糊:

说到这里,就可能有一些疑问,图像生成除了养眼,究竟有什么用呢,事实上用处还是很广泛的,比如可以用来制作海报,自己用来生成一个高清美女图像作为海报主角,省了一大批广告费。

02

图像转换

图像转换或者说是图像翻译,是将图像转换为另一种形式的图像,与风格迁移稍有不同,这方面典型的工作是pixel-2-pixel

一般的GAN的生成器G输入是一个随机向量,输出的是图像,这里的生成器的输入是图像,输出的是转换后的图像。 感兴趣的可以玩一下pix2pix的demo,还是很有趣的:https://affinelayer.com/pixsrv/

说到这里,就需要提到cycle-GAN了,可以实现风景画和油画互变,马和斑马互相转换等domain transfer等任务,更多有意思的变化可以在论文主页上看到:https://junyanz.github.io/CycleGAN/,cycleGAN的主要贡献是提供了一种unpaired的图像翻译方法,这是pix2pix所做不到的:

除了cycleGAN还有一篇和其比较相似的论文,就是DiscoGAN,DiscoGAN在不需要label标记和图像pairing的情况下学习交叉domain之间的联系,比如它可以将包包的图像风格迁移到鞋子的图像上,效果上图:

事实上,理工科的可爱的研究员们可不会仅满足于此,他们更希望全世界充满笑容,于是用cycleGAN给冷酷大哥加上笑容,将人脸图像转换为卡通图像,类似之前很火的脸萌APP,这个工作见DTN

(https://arxiv.org/pdf/1611.02200.pdf)。

03

图像合成

图像合成这个任务是通过某种形式的图像描述创建新图像的过程。pix2pix和cycleGAN 都属于图像合成领域的一部分。图像合成也有一些典型的工作,并且有很nice的应用场景。

场景合成

首先,第一个场景合成,此部分在于如何给定部分显示场景的信息还原出真实的场景信息,比如根据分割图像还原出原始场景信息,刚好是图像分割的逆过程,据说英伟达在不断的开拓这个方向,试想一下,只要GAN还原的场景足够真实,完全可以模拟无人驾驶的路况场景,从而在实验室阶段就可以完成无人驾驶汽车的上路测试工作,很nice的一个应用,但是面对的问题就是如何生成高分辨率的和足够真实的图像,此部分工作可以见pix2pixHD。

人脸合成

人脸合成主要是根据一张人脸的图像,合成出不同角度的人脸图像,可以用做人脸对齐,姿态转换等辅助手段提高人脸识别的精度,典型的工作是中科院的TP-GAN,可以根据半边人脸生成整张人脸的前向图,对人脸识别任务有很大的辅助效果。

文本到图像的合成

这个方向是NLP与CV碰撞的结果,任务描述为:从给定的一段文字描述,生成一张和图像文字匹配的图像。比如:根据文字:一只黑色冠冕和黄色喙的白色的鸟,生成下面的这张图像;

类似的工作还有stack GAN和attn GAN:https://arxiv.org/abs/1711.10485,后者更是在细粒度的text-to-image上做了一番功夫。

风格迁移

效果看上去很nice,此部分的工作是:Precomputed Real-Time Texture Synthesis with Markovian Generative Adversarial Networks,作者发明了一种马尔可夫GAN迁移图像的风格,算是不错的贡献了。

年龄变化

想不想知道自己20年后长什么样子呢,Age-cGAN可以告诉我们答案,只要有一张年轻时候的照片,就可以提前知道自己几十年之后的样子,还是蛮期待的,这个方向之前有朋友做过,生成了一张50岁的韩庚的样子,效果还不错。

04

图像超分辨率

图像超分辨率一直是一个很重要的研究课题,比较重要的是对天文图像和卫星图像做超分辨率,不管是在天文,军事还是其他方面,都有很重要的应用。在生活中,如果有标清的视频可以变为高清的视频,我相信很多人还是很乐意的,下图是超分之后的七龙珠和原版的七龙珠视频。

上述过程都是可逆的,既然可以增加图像的分辨率,那么同样可以减小图像的分辨率。既然都说到了图像超分辨率,那么就谈谈图像去马赛克的一些操作,知乎一位大佬集图像转化和超分辨率之大成,完成了对爱情动作片的添加和去除马赛克操作,详情请移步知乎:https://zhuanlan.zhihu.com/p/27199954,36k的高赞文章,相信可以从中学到一些知识。

05

图像域的转换

GAN很适合学习数据的分布(只要是数据是连续的,对于离散的文本数据效果不是很好),同时也能完成domain转换的任务,比如使用GAN完成domain的迁移,此部分有比较典型的工作,CVPR的oral论文StarGAN是其中一个。Pix2Pix模型解决了有Pair对数据的图像翻译问题;CycleGAN解决了Unpaired数据下的图像翻译问题。但无论是Pix2Pix还是CycleGAN,都是解决了一对一的问题,即一个domain到另一个domain的转换。StarGAN就是在多个domain之间进行转换的方法。可以做多个图像翻译任务,比如更换头发颜色,表情变化,年龄变换等等,文章公布了代码:https://github.com/yunjey/StarGAN。

另外一个比较有意思的domain转换的是穿衣搭配问题,详细工作可见PixelDTGAN: https://github.com/fxia22/PixelDTGAN PixelDTGAN是指像素级的domain 转换,输入的是一张复杂的图片,输出的是不包含背景的单纯的服饰的图像,下图中第一行是数据集中的例子,第二行是左图是输入图像,右图是输出的效果。

感觉这个工作反过来就可以做穿衣搭配问题了,之前有个工作是穿衣搭配的,还被iangood fellow转发在了twitter上,奈何现在找不到这个内容了。穿衣搭配也可以看为是conditioned image generation,不过更加复杂。

06

图像修复

GAN在图像修复(image inpainting)上绝对是大放异彩了,且看英伟达最新的研究成果(Image Inpainting for Irregular Holes Using Partial Convolutions),给定一张缺失的图像,修复出完整的图像,下面左图为待修复图像,右图为修复好的图像,这个方法是目前的state-of-art:

之前借助GAN做过一段时间的image inpainting,奈何实验结果的更新速度总比不上arxiv上inpainting论文的更新速度。

07

文本填空

GAN在图像领域建树颇多,但是在文本领域作用并不是很大,主要是NLP中的词的数据都是离散数据,GAN不适合学习离散的数据分布,但是并不意味着没法学,Google brain的团队发明了一个结合强化学习的MaskGAN,可以用作完型填空,具体任务是补全句子中的缺失部分。

不得不说,作者起名字也是很有水平,论文的标题竟然空了一个单词,使用下划线来代替,一般能这么给论文起名字的作者都是大佬,比如attention is all you need。

08

其他

另外,有研究者们希望将GAN的学习方式和学习能力用在药学分子和材料学领域,用来生成药学分子结构和合成新材料配方,不得不说,这相当的有创意,如果真的能完成的话,那么AI将无所不能。

上文总结的GAN应用并不包含所有的工作,举得例子也很有限,另外有GAN用在视频预测,视频生成等领域的,在目标检测、行人识别、重定位上也有辅助作用,了解有限,不详细展开,读者有意可自行Google查询。

参考文献

[1]Towards the Automatic Anime Characters Creation with Generative Adversarial Networks [2] https://arxiv.org/pdf/1710.10196.pdf [3] http://papers.nips.cc/paper/6096-learning-a-probabilistic-latent-space-of-object-shapes-via-3d-generative-adversarial-modeling.pdf [4] https://arxiv.org/pdf/1703.10847.pdf [5]pix2pix https://affinelayer.com/pixsrv/

[6]CycleGAN https://arxiv.org/pdf/1703.10593.pdf

[7] DiscoGAN https://github.com/carpedm20/DiscoGAN-pytorch

[8] TPGAN https://arxiv.org/pdf/1704.04086.pdf

[9]pix2pix HD https://tcwang0509.github.io/pix2pixHD/ [10]stackGAN https://arxiv.org/pdf/1612.03242.pdf [11] AttnGAN https://arxiv.org/abs/1711.10485 [12] DTN https://arxiv.org/pdf/1611.02200.pdf [13] MGAN https://arxiv.org/pdf/1604.04382.pdf [14]Age-cGAN https://arxiv.org/pdf/1702.01983.pdf [15] StarGAN https://arxiv.org/abs/1711.09020 [16]image inpainting https://arxiv.org/abs/1804.07723 [17] MaskGAN https://arxiv.org/abs/1801.07736

END

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

本文分享自 机器学习算法工程师 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 图像生成
  • 图像转换
  • 图像转换或者说是图像翻译,是将图像转换为另一种形式的图像,与风格迁移稍有不同,这方面典型的工作是pixel-2-pixel
  • 图像合成
    • 参考文献
    相关产品与服务
    人脸识别
    腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档