谷歌 AI 团队用 GAN 模型合成异形生物体

Python中文社区

共 3071字,需浏览 7分钟

 · 2020-11-25

数字游戏创作需要高度的艺术创造力和技术知识,同时还要求游戏美术师经常迭代创意并产生大量内容(通常面对紧迫的工期)。怎样使美术师的画笔不像工具,而更像一个智能助手,该如何实现呢?像画笔一样的机器学习模型可以减少创建高质量艺术所需的时间,而无需牺牲艺术选择,甚至可以增强创造力。
前几天,谷歌 AI 团队展示了Chimera Painter画图工具,这是一种训练有素的机器学习(ML)模型,可以从用户提供的生物轮廓自动创建完全充实的渲染。作为一种演示应用程序,当用户单击“变换”按钮时,Chimera Painter会将特征和纹理添加到按身体部位标签(例如“机翼”或“爪”)分割的生物轮廓。以下是使用带有预设生物轮廓之一的演示的示例。

使用导入到Chimera Painter或使用提供的工具生成的图像,艺术家可以迭代地构建或修改生物轮廓,并使用ML模型生成逼真的表面纹理。在此示例中,艺术家(李·多森)(Lee Dotson)自定义了Chimera Painter演示中预先加载的其中一种生物设计。
这篇文章描述了在Chimera Painter背后创建ML模型时遇到的一些挑战,并演示了如何使用该工具来创建可用于视频游戏的资源。
新模型的原型
在开发深度学习模型模型以生成可用于视频游戏的生物图像时,我们围绕将生物组合成新的混合体的概念,创建了一个数字纸牌游戏原型。在此游戏中,玩家将以现实世界中的动物(例如,蝾螈或鲸)的牌开始,并可以通过组合它们(生成可怕的蝾螈-鲸混合体)来增强它们的威力。这提供了一个演示图像生成模型的创造性环境,因为可能的混合体数量需要一种方法来快速设计可自然组合的创作成果,同时仍保留原始生物的可识别视觉特征。
谷歌AI团队的目标是在艺术家的指导下创建高质量的生物卡片图像,因此他们在艺术家的反馈和指导下尝试了生成对抗网络(GAN),以创建合适的幻想卡片游戏原型的生物图像。GAN将两个卷积神经网络相互配对:一个用于生成新图像的生成器网络和一个用于确定这些图像是否来自训练数据集(在这种情况下,是由艺术家创建的图像)的鉴别器网络,并使用了一种称为条件GAN的变体,其中生成器采用单独的输入来指导图像生成过程。有趣的是,该方法严格偏离了其他GAN的工作,后者通常专注于照片写实。
为了训练GAN,谷歌AI团队创建了全彩色图像的数据集,其中包含根据3D生物模型改编的单一物种生物轮廓。该生物轮廓线描绘了每个生物的形状和大小,并提供了识别个人身体部位的分割图。经过模型训练后,模型的任务是根据艺术家提供的轮廓生成多物种的混合体。然后将性能最好的模型合并到Chimera Painter中。下面,我们显示了使用该模型生成的一些示例,包括单物种生物以及更复杂的多物种混合体。

生成的怪兽已集成到纸牌游戏原型中,显示了基本生物(下排)和来自多个生物的混合体,包括蚂蚁-豪猪,蝾螈-鲸,螃蟹-蚂蚁-飞蛾。
通过结构化生成新的生物
使用GAN生成生物的一个问题是,在渲染图像的细微处或低对比度部分,可能会失去解剖和空间连贯性,尽管这些对人类具有很高的感知重要性。这样的示例可以包括眼睛、手指,甚至在具有相似纹理的重叠身体部位之间(请看下面的BoggleDog)。

GAN生成的图像显示身体部位不匹配
生成混合体需要一个新的非摄影幻想风格的数据集,该数据集必须具有独特的特征,例如戏剧性的视角,构图和光线。现有的插图存储库不适合用作训练深度学习模型的数据集,因为它们可能会受到许可限制,样式冲突或仅缺少此任务所需的多样性。
为了解决这个问题,谷歌团队开发了一种新的由艺术家主导的半自动化方法,用于从3D生物模型创建深度学习训练数据集,这使他们能够进行大规模工作并根据需要快速迭代。在此过程中,艺术家将创建或获取一组3D生物模型,每种所需的生物类型(例如鬣狗或狮子)都应建立一个模型。然后,艺术家制作了两组纹理,并使用Unreal Engine虚幻引擎将其叠加在3D模型上-一组具有全彩色纹理(左下图),另一组包含每个身体部位(例如头,耳朵,脖子等),称为“细分地图”(如右下图所示)。在训练中将第二组身体细分部位提供给模型,以确保GAN了解到各种生物特定于身体部位的结构,形状,纹理和比例。

示例数据集训练图像及其对比分割图
再次使用Unreal Engine虚幻引擎将3D生物模型放置在简单的3D场景中。然后,一组自动化脚本将采用此3D场景,并在每个3D生物模型的不同姿势,视点和缩放级别之间进行插值,从而创建全色图像和分割图,进而形成GAN的训练数据集。使用这种方法,他们为每个3D生物模型生成了10,000+张图像+分割对比图,与手动创建此类数据(每张图像大约20分钟)相比,为艺术家节省了数百万小时的时间。
调参
GAN具有许多可以调整的超参数,导致输出图像的质量不同。为了更好地了解该模型的哪个版本更好,谷歌团队向艺术家提供了这些模型生成的不同生物类型的样本,并要求他们将其归纳为几个最佳示例。他们收集了有关这些示例中存在的所需特征的反馈,例如对比度、有关生物纹理的样式以及面部和眼睛的真实感。此信息不仅用于训练模型的新版本,而且在模型生成成千上万的生物图像之后,都从每种生物类别(例如瞪羚,山猫,大猩猩等)中选择最佳图像。
谷歌团队通过关注感知损失对GAN进行了优化。该损失函数组件使用从单独的卷积神经网络(CNN)提取的特征来计算两幅图像之间的差异,该卷积神经网络以前已经对ImageNet数据集中的数百万张照片进行了训练。从CNN的不同层提取特征,并对每个特征施加权重,这会影响特征对最终损耗值的贡献。他们发现这些权重对于确定最终生成的图像的外观至关重要。以下是来自GAN的一些示例,这些示例经过了不同的感知损失权重训练。

Dino-Bat Chimeras中使用不同的感知损失权重生成的图像
上面图像中的某些变化是由于数据集中每个生物包括多个特征(例如,蝙蝠的带红色或带灰色的版本)而造成的。如果忽略颜色,许多差异与感知损失值的变化直接相关。尤其是,我们发现某些值带来了更鲜明的面部特征(例如,右下与右上)或“平滑”与“带花样”(右上与左下),使生成的生物感觉更真实。
这是由GAN训练产生的一些生物,它们具有不同的感知损失权重,展示了模型可以处理的一小部分输出。

使用不同模型生成的新生物

用条件GAN生成的生成的混合体(准确地说是恐龙-蝙蝠-鬣狗)。GAN(左)和后处理/复合卡(右)的输出。
Chimera Painter
训练有素的GAN现在可以在Chimera Painter演示中使用,允许艺术家迭代使用模型,而不必从头开始绘制数十种相似的生物。艺术家可以选择一个起点,然后调整生物零件的形状,类型或位置,从而可以快速探索并创建大量图像。该demo还允许上传在外部程序(例如Photoshop)中创建的生物轮廓。只需下载预设的生物轮廓之一以获得每个生物部分所需的颜色,并将其用作在一个Chimera Painter外部绘制的模板,然后点击demo中的“加载”按钮使用该轮廓来生成。
谷歌AI团队希望这些GAN模型和Chimera Painter演示工具可以激发人们的艺术创作思路。我们用AI技术可以画什么?


浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报