最近二次元爱好者们可能会感觉到了一阵兴奋流遍全身。来自复旦大学、同济大学、卡内基梅隆大学和石溪大学共 6 位学生(其实本科都在复旦)搭建了一个利用人工智能自动生成精美动漫角色的网站 MakeGirls.moe。
对于用户来说操作非常简单,只需要选择自己喜爱的头发、眼睛、微笑、张嘴等等特征,然后点击“genrate”就可以通过训练出的 AI 模型来生成一个动漫人物。该网站上线后数天,访问量便增加到 10k+ 每小时。其 repo 在 github trending 上也一度排到第四位。该网站所使用的技术在其论文《Create Anime Characters with A.I. !》中进行了详细说明。
其实这并不是第一个将 AI 应用到动漫当中的模型。2015 年 Soumith Chintala 等人开发 DCGAN 后不久,就有人将 DCGAN 应用到了生成动漫角色当中,出现了 ChainerDCGAN、IllustrationGAN 和 AnimeGAN 等,三者分别使用了 Chainer、TensorFlow 和 PyTorch 的框架,它们本质上都是 DCGAN,只是实现方式不同。
但这些模型的效果并不是很好,尤其是会出现面部头像模糊和扭曲的问题。在 MakeGirls.moe 的模型中,作者针对这些问题做出了两方面的改进。
一、使用更高质量的图像库
之前几家,他们训练模型所使用的数据集大多数是使用爬虫从网络上爬下来的,这类图片在质量和画风上参差不齐,甚至还有一些背景。训练数据集质量的低下会给训练造成很大的影响。
本文的作者则通过从日本的游戏贩卖商 Getchu 购买了高质量的图像,这些图像基本出于专业画师之手,同时背景统一。
除了高质量的图像外为了训练网络模型,作者使用了一种基于 CNN 的图像分析工具 Illustration2Vec,对图像中动漫人物的属性,如头发颜色、眼睛颜色、发型和表情等做标记。
此外,在训练的过程中他们还发现发布时间越晚的图片,训练出的模型效果越好。这不难理解,随着游戏角色制作和 CG 技术的发展,越是现代的图片,细节越丰富,如阴影和头发。
所以作者舍弃了 2005 年之前的全部数据,并过滤掉分辨率低于 128*128 的图像,用剩下的 31255 张高质量图像进行训练。
二、模型结构
作者采用了今年 5 月份发表的 DRAGAN 模型(https://arxiv.org/pdf/1705.07215.pdf),这种模型所使用的计算量相对较少,收敛较快而且能够产生更稳定的结果。
而在优化生成器的过程中,受 ACGAN 的启发,不仅向生成器提供了标签数据,连“噪声”数据也一并提供,之后再为判别器增加多标签分类功能。
下面展示一下效果——
虽然训练出的模型大多数时候都比较好,但该模型仍然存在一些缺点。问题仍出在数据集中,由于训练数据中各个属性(发色、发型、眼镜、帽子等)的数量分布不均匀。
某些属性的生成并不理想(例如眼镜和帽子常常不能生成) ,如果将某些罕见的属性组合,生成的图片甚至会崩溃(例如帽子+眼镜)。
也许当增加数据集的数量,训练出的模型生成图片质量可以进一步提高。雷锋网(公众号:雷锋网)认为,按照此趋势 AI 或许在不久将替代掉插画师的一部分工作。
访问网站:MakeGirls.moe(已有训练好的模型,打开就可以尝试生成)
据雷锋网了解,由于突然之间巨大的访问量,网站目前托管在 Preferred Networks 所提供的 AWS 上。AWS 嘛,你懂的,国内基本就是不能访问的……随后作者可能会做出一定调整。