谁能拒绝二次元萌(zhi)妹(pian)纸(ren)呢?你可能想不到,眼下火热的人工智能技术也和这些可爱的动漫人物产生了交集。
最近,和著名肥宅快乐游戏公司任天堂有着密切合作关系的日本网络服务公司 DeNA 发布了一项新研究:PSGAN,即 – ,意为“渐进结构式条件生成对抗网络”。PSGAN 可以干嘛呢?它能自动生成高分辨率的全身动漫人物以及制作动画。
下面我们就看看 PSGAN 如何生成高分辨率全身动画,并为人物创造新的动作姿势。
我们(DeNA 团队——译者注)提出了渐进结构式生成对抗网络(PSGAN),这是一种全新的框架,能够根据姿势信息生成高分辨率的全身人物形象。
近来,在生成对抗网络(GAN)领域也出现了一些新进展,使生成高分辨率的图像成为可能。然而,现有方法在生成结构式物体上仍存在很多局限,比如全身人物,而这对于动漫行业非常重要。另一方面,虽然 GAN 能基于结构式条件(比如姿势和脸部标记)生成图像,但是生成的图像的质量非常粗糙。为了解决上述方法的局限性,我们提出了 PSGAN,它能在模型训练期间的每个尺度上以结构化方式逐步提高生成图像的分辨率,从而生成结构化物体(比如全身动漫人物)的详细图像。此外,我们在网络中应用了随机潜在变量和结构条件,让模型能根据目标的姿势序列生成多样化及可控制的视频。
我们通过实验证实了这种方法的有效性,并且会在后文展示 PSGAN 生成的分辨率为 的视频结果,视频中的动画角色展示了生成的人物服装细节、身体姿态的整体调整。
生成结果概览
下方视频展示了由 PSGAN 生成的各种各样的动漫人物和动画。我们首先用 PSGAN 从随机潜在变量生成了一些动漫角色,然后通过插值计算和动漫人物对应的潜在变量,又生成了一些新的动漫人物。
接着,用连续的姿势序列和插值计算后的动漫人物生成动画。
生成新的全身动漫人物
我们用 PAGAN 通过插值计算与穿着不同外套的动漫人物(人物 1 和 2)对应的潜在值,生成了新的全身动漫人物。注意,这里只应用了一种姿势情况。
为生成的动漫人物添加动作
下面展示了使用指定动漫人物和目标姿势生成的动画示例。
通过固定潜在变量,为 PSGAN 赋予连续的姿态序列,我们可以生成动画人物的动画。更具体来说,我们将指定动漫人物的表征映射为潜在空间( space)中的潜在变量,在 PSGAN 中潜在空间充当了神经网络的输入向量。
通过将指定动漫人物映射为潜在空间,以及生成潜在变量作为 PSGAN 的输入,我们可以生成由指定动漫人物形成的动画。
简介
近来使用深度生成式模型自动生成图像和视频的研究频繁出现,比如集智此前分享的利用 GAN 生成猫咪:
这些研究对于多媒体编辑工具比如照片编辑、动画制作和电影制作都有很重要的实用意义。
就动画制作而言,自动生成动漫人物能够激发创作人员创作出新的角色,也能帮助他们节省绘制动画的时间。
虽然此前一些 GAN 架构能够生成动漫人物头像,然而能生成全身动漫人物的模型至今没有出现。而且以往生成的这些动漫图像质量堪忧,不足以用来制作动画。
自动生成全身动漫人物,并为人物添加高质量的动作姿势,对于动漫行业中创建新人物和绘制动画都能带来巨大的帮助。因此,我们便着手研究如何生成全身动漫人物,以及为它们添加高质量的动作。
不过将生成的全身动漫人物应用到动画制作中存在两个困难:一是生成结果必须具有高分辨率;二是要以指定的姿势序列来生成结果。
生成对抗网络(GAN)是应用于多样图像生成任务的最理想的框架之一。近来,在具有层级和渐进性特点的 GAN 上的一些研究进展虽然实现了高分辨率、详细的图像合成和文本—图像的生成,但生成结果的应用仍限于部分物体,比如人脸和鸟类。让 GAN 生成具有全局结构的结构化物体,仍是一项挑战,而让生成的物体具有高分辨率更是难上加难。另一方面,虽然有研究者提出了结构化条件下的 GAN,比如姿势和脸部标记这些条件,但生成的图像质量仍有很多不足之处。
对于上述三个问题,我们提出了渐进结构式条件生成对抗网络(PSGAN)的解决方案。PSGAN 能够很好的生成全身动漫人物以及分辨率为 的动画。PSGAN 用潜在变量和结构化条件生成图像的同时,也能用目标姿势序列生成可控制的动画。
PSGAN
我们的关键想法就是渐进地学习具有结构条件的图像表示。PSGAN 能够提升具有结构条件的生成图像在每个尺度上的分辨率,并且生成具有详细姿势条件的高分辨率图像。我们采用了和 Zhang、 Xie 和 Lin Yang 在《 of GANs for , and , and 》所提的相同的图像生成器和鉴别器架构,但我们添加了具有相应分辨率的姿势图,在生成器和鉴别器的每个尺度上都应用了结构化条件。
在我们提出的神经网络架构上,图像生成过程是通过相应的条件图,从低分辨率层到高分辨率图渐进执行的,这能极大地稳定训练过程。添加上述部件能让生成器和鉴别器在每种 N X N 分辨率下以结构化条件进行训练,并且能让训练稳定用于结构化条件下的生成。
上图为 PSGAN 的生成器(G)和鉴别器(D)架构。N X N 白色框代表在 N X N 空间分辨率下操作的可学习卷积层;N X N 灰色框代表结构条件下的不可学习的降采样层,能够将结构化条件图的空间维度降至 N X N。
准备训练数据
在这部分,我们会描述准备训练数据的方法。对于 PSGAN,我们需要成对的图像和关键点坐标。我们准备了 Unity 合成的原始动漫角色数据集,以及由 提供的带有关键点的 数据集。
动漫人物数据集
我们为 PSGAN 构建了新的数据集,以满足如下三个需求:
我们将一个动漫人物的多种连续动作分解为 600 个姿势,然后捕捉每个姿势的关键点。我们以 79 种服装处理了这个过程,最后总共得到 47400 张图像。我们还根据 3D 模型的骨骼位置获取了 20 个关键点。
下图展示了训练数据的样本,分别为动漫人物(上行)和人物姿势(下行):
数据集
PSGAN 开拓了一些信息以便在图像生成网络上应用结构化条件。我们使用 从没有关键点注释的图像中提取关键点坐标。关键点的数量为 18,被检测到关键点少于 10 的样本则略去不计。以 -1 填充缺失的关键点,将其它关键点设为 1。
训练设置
我们使用和论文《 of GANs for , and , and 》中相同的训练阶段设计和损失函数。在每个阶段,我们为鉴别器和结果条件展示 60 万张真实图像,采用 =1 的 WGAN-GP 损失函数。我们将每个阶段的 大小设为 16,以生成 128 X 128 的图像,然后逐渐减少为 12 以生成 的图像,最后减少到 5 以生成 的图像,这样操作能节省 GPU 内存。
我们将 M 通道用作 M 关键点的结构化条件的表示。在每个通道中,在对应关键点以 1 填充一个像素,其它地方则以 -1 填充。我们在每种 N X N 分辨率下使用内核为 2、步幅为 2 的最大池化作为结构条件的缓和层( layer)。
动漫角色数据集:我们以 β1 =0,β2 =0.99 用 Adam 训练神经网络。在 4 X4 到 64 X 64 图像阶段将 α =0.001,然后缩减到 α =0.0008 以生成 128 X 128 的图像,再缩减到 α =0.0006 以生成 256 X 256 的图像,最后缩减到 α =0.0002,以生成 512 X 512 的图像。姿势关键点为 20.
数据集:我们在全部阶段以α =0.0008, β1 =0, β2 =0.99使用Adam训练了神经网络。姿势通道数目为18.
比较PSGAN,PG2, PG2和 GAN
这里我们探究了PSGAN生成的图像的多样性。下图展示了PSGAN生成的图像,其中潜在变量均为随机设置。PSGAN为每个姿势条件都生成了各种各样的图像。
接着,我们将PSGAN和PG2、 PG2和 GAN模型进行了比较,以评估PSGAN的可复制性。PG2和DPG2需要源图像和对应的目标姿势,然后将源图像转换为带有目标姿势结构的图像。然而,PSGAN则是从潜在变量和目标姿势中生成了带有目标姿势结构的图像。和PSGAN相比,PG2和DPG2更容易被源图像的条件以及对应目标姿势所影响。
下图显示了PSGAN、PG2和DPG2生成的图像。PG2和DPG2的输入图像被省略了。我们可以观察到,PSGAN生成的图像非常自然和流畅,表示出了所用的姿势条件。由于PSGAN也能从潜在变量中生成图像,所以和PG2及DPG2相比,原则上PSGAN也能生成更多种类的图像。
最后,我们评估了PSGAN和 GAN 的结构连续性。下图是二者生成的图像的比较。
我们可以看到, GAN无法为结构化物体生成能连续保持它们全局特征的自然图像(比如左边两张图像),而PSGAN可以通过在每个尺度下应用结构化条件,生成能够连续保持物体全局特征的流畅图像。
结语
本文我们展示了使用PSGAN生成流畅的高分辨率动画。PSGAN能够自动生成全身人物动漫角色,并且根据它们的目标姿势序列生成分辨率为512 X 512 的动画。
PSGAN能够在训练阶段中每个尺度下以结构化条件渐进地提高生成图像的分辨率,从而为结构化物体生成详细的图像,比如全身动漫人物。由于PSGAN使用潜在向量和结构条件生成图像,因此也能生成具有目标姿势序列的可控制的动画。
我们的实验结果表明,PSGAN能从随机潜在变量中生成多种多样的动漫人物,将连续姿势序列用作结构化条件后,也能生成流畅的动画。当然,目前生成的结果也存在局限性,比如人物较少,动作姿态也只有寥寥几个,未来我们会继续优化模型。
参考资料:
/intl/anime-/
这里还有个神秘链接等着你:【0625期开售】人工智能-从零开始到精通