专栏首页灯塔大数据塔秘 | 宅男的福音:用GAN自动生成二次元萌妹子

塔秘 | 宅男的福音:用GAN自动生成二次元萌妹子

导读:相信每个人都会被卡哇伊的二次元妹子萌到,我们很多人也可能梦想自己创作二次元人物,但奈何技艺不精、功力不足,得到的结果往往无法达到我们的期望。现在人工智能来帮你了!近日,来自复旦大学、纽约州立大学石溪分校和同济大学的一些研究者打造了一个基于 GAN 的动漫人物面部图像生成器,并且还开放了一个网页版本。研究者近日发表了一篇博客对该项研究进行了介绍。

我们都喜欢动漫人物,也可能会想自己创作一些,但我们大多数人因为没经过训练所以无法做到。如果可以自动生成专业水准的动漫人物呢?现在,只需指定金发/双马尾/微笑等属性,无需任何进一步干预就能生成为你定制的动漫人物!

在动漫生成领域,之前已经有一些先驱了,比如:

  • ChainerDCGAN:https://github.com/pfnet-research/chainer-gan-lib
  • Chainer を使ってコンピュータにイラストを描かせる:http://qiita.com/rezoolab/items/5cc96b6d31153e0c86bc
  • IllustrationGAN:https://github.com/tdrussell/IllustrationGAN
  • AnimeGAN:https://github.com/jayleicn/animeGAN

但这些模型得到的结果往往很模糊或会扭曲变形,要生成业界标准的动漫人物面部图像仍然是一大难题。为了帮助解决这一难题,我们提出了一种可以相当成功地生成高质量动漫人物面部图像的模型。

数据集:模型要想质量好,首先需要好数据集

要教计算机学会做事,就需要高质量的数据,我们的情况也不例外。Danbooru(https://danbooru.donmai.us)和 Safebooru(https://safebooru.org )等大规模图像讨论版的数据有很多噪声,我们认为这至少一定程度上解释了先前工作的问题所在,所以我们使用了在 Getchu 上销售的游戏的立绘(立ち絵)图像。Getchu 是一家展示日本游戏的信息并进行销售的网站。立绘具有足够的多样性,因为它们具有不同的风格,来自不同主题的游戏;但它们也具有很好的一致性,因为它们全部都是人物图像。

我们也需要分类的元数据(即标签/属性),比如头发颜色、是否微笑。Getchu 并没提供这样的元数据,所以我们使用了 Illustration2Vec,这是一个基于卷积神经网络的用于预测动漫标签的工具,地址:https://makegirlsmoe.github.io/main/2017/08/14/saito2015illustration2vec

模型:核心部分

为了实现我们的目标,就必须要有一个优秀的生成模型。这个生成器需要能理解并遵从用户给出的关于特定属性的要求,这被称为我们的先验(prior);而且它还需要足够的自由度来生成不同的详细的视觉特征,这是利用噪声(noise)建模的。为了实现这个生成器,我们使用了生成对抗网络(GAN)这种流行的框架。

GAN 使用一个生成器网络根据前提和噪声输入来生成图像,GAN 还有另一个网络会试图将生成的图像和真实图像区分开。我们同时训练这两个网络,最终会使得生成器生成的图像无法与对应前提下的真实图像区分开。但是众所周知要训练一个合适的 GAN 是非常困难的,而且非常耗时。幸运的是,利用最近发表的相关进展 DRAGAN,可以仅需相对很少的计算能力,就能实现可与其它 GAN 媲美的结果。我们成功训练了一个 DRAGAN,它的生成器类似于 SRResNet。

我们也需要我们的生成器能理解标签信息,这样才能将用户给出的要求整合进来。受 ACGAN 的启发,我们向生成器输入标签以及噪声,并在鉴别器的顶层增加了一个多标签分类器,用来预测图像所分配的标签。

使用这些数据和这个模型,我们就能在有 GPU 的机器上进行训练。

本节所涉及的技术:

  • GAN:https://papers.nips.cc/paper/5423-generative-adversarial-nets
  • DRAGAN:https://arxiv.org/abs/1705.07215
  • SRResNet:https://arxiv.org/abs/1609.04802
  • ACGAN:https://arxiv.org/abs/1610.09585

样例:一张图片胜过千言万语

为了一窥我们的模型的质量,请参看下面的图像,可见我们的模型能很好地处理不同的属性和视觉特征。

固定随机噪声并且采样随机先验是一个很有意思的设置。现在,该模型被要求生成具有相似主要视觉特征的图像,并与之同时结合不同的属性,结果也很不错:

另外,通过固定前提和采样随机噪声,该模型可以生成具有不同视觉特征,但具有相同属性的图像:

网页界面:在你的浏览器上使用神经生成器

为了将我们的模型提供给大家使用,我们使用 React.js 构建了一个网站界面,公开在:http://make.girls.moe。通过利用 WebDNN 并将训练后的 Chainer 模型转换成基于 WebAssembly 的 Javascript 模型,我们使得生成过程完全在浏览器上完成。为了更好的用户体验(因为用户在生成之前需要下载该模型),我们限制了生成器模型的大小。我们选择了 SRResNet 生成器,使得该模型比流行的 DCGAN 生成器小了好几倍,而且也不会影响到生成结果的质量。速度方面,即使所有的计算都在客户端上完成,一般生成一张图像也只需要几秒钟。

自从生成对抗网络(GAN)问世之后,面部图像的自动生成已经得到了很好的研究。在将 GAN 模型应用到动漫人物的面部图像生成问题上已经有过一些尝试,但现有的成果都不能得到有前途的结果。在这项成果中,我们探索了专门用于动漫面部图像数据集的 GAN 模型的训练。我们从数据和模型方面解决了这一问题——通过收集更加清洁更加合适的数据集以及利用 DRAGAN 的合适实际应用。通过定量分析和案例研究,我们表明我们的研究可以得到稳定且高质量的模型。此外,为了协助从事动漫人物设计的人,我们建立了一个网站,通过在线的方式提供了我们预训练的模型,从而让大众可以方便的访问模型。

文章来源:机器之心

文章编辑:秦革

本文分享自微信公众号 - 灯塔大数据(DTbigdata)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 塔荐 | 关于GAN原理与应用的入门介绍

    导读:生成对抗网络(GAN)是一类在无监督学习中使用的神经网络,其有助于解决按文本生成图像、提高图片分辨率、药物匹配、检索特定模式的图片等任务。Statsbot...

    灯塔大数据
  • 塔秘 | 揭密GAN(生成对抗网络)

    前言 生成式对抗网络(GAN),是14年GoodfellowIan在论文Generative Adversarial Nets中提出来的。Yann LeCun曾...

    灯塔大数据
  • 精品连载 | “深度学习与计算机视觉”学习笔记——发展篇

    首先是图像生成,前面所讲的图像风格迁移也算一种图像生成,以往的模型都是输入图片,提取特征,输出类别等,而这类模型是输入(从卷积层得到的中间)特征,输出对于这种特...

    灯塔大数据
  • SFFAI分享 | 曹杰:Rotating is Believing

    自动化所智能感知与计算研究中心在生成对抗网络(GAN)基础上提出高保真度的姿态不变模型来克服人脸识别任务中最为经典的姿态不一致问题。该模型不仅在多个基准数据集的...

    马上科普尚尚
  • [计算机视觉论文速递] 2018-07-05 GAN专场

    这篇文章有4篇论文速递,都是GAN方向,包括根据文本生成图像和多域图像生成等方向。其中一篇是IJCAI 2018。

    Amusi
  • GAN的发展系列二(PGGAN、SinGAN)

    在前面的文章里我们已经介绍了GAN生成对抗网络的入门和一些GAN系列,在之后的专辑里会继续介绍一些比较经典的GAN。

    Minerva
  • 被 GANs 虐千百遍后,我总结出来的 10 条训练经验

    原标题 | 10 Lessons I Learned Training GANs for one Year

    AI科技评论
  • 顺藤摸瓜:用单元测试读懂 vue3 中的 defineComponent

    在 Vue 3 的 Composition API 中,采用了 setup() 作为组件的入口函数。

    江米小枣
  • 大规模计算时代:深度生成模型何去何从

    人工智能的核心愿望之一是开发算法和技术,使计算机具有合成我们世界上观察到的数据的能力, 比如自然语言,图片等等。

    AI科技评论
  • [GAN学习系列2] GAN的起源

    这是 GAN 学习系列的第二篇文章,这篇文章将开始介绍 GAN 的起源之作,鼻祖,也就是 Ian Goodfellow 在 2014 年发表在 ICLR 的论文...

    材ccc

扫码关注云+社区

领取腾讯云代金券