【论文翻译】《A Neural Representation of Sketch Drawings》

论文标题:《A Neural Representation of Sketch Drawings》草图的神经表示

写在前面:深度学习入门生,水平有限,其中错误的地方请指正。

摘要:
我们提出了sketch-rnn,一个能生成常见目标的基于笔画的草图 的递归神经网络(RNN)。该模型是在代表许多不同类别的人画图像数据集上进行训练的。我们概述了一个有条件的和无条件的草图生成框架,并描述了新的鲁棒训练方法,以产生连贯的草图的矢量格式。

1、简介
最近,使用神经网络作为生成工具的图像生成建模有了重大进展。生成对抗网络 (GANs) [5]、变分推断(VI)[15]和自回归(AR)[19]模型已经成为这个快速发展领域的流行工具。迄今为止,大部分工作都是针对低分辨率、像素图像建模。然而,人类并不把世界理解为像素的网格,而是发展出抽象的概念来代表我们所看到的。从很小的时候起,我们就通过用铅笔或蜡笔在纸上画画来培养交流我们所看到的东西的能力。通过这种方式,我们学会了用短的笔画序列来表示图像的顺序向量表示。在本文中,我们研究了一种替代传统的像素图像建模方法,并提出了矢量图像生成模型。

我们的目标是训练机器以类似于人类的方式绘制和概括抽象概念。作为实现这一目标的第一步,我们在手绘草图数据集上训练我们的模型,每一个草图都表示为一系列控制笔的运动动作:移动哪个方向,何时抬起笔,以及何时停止绘制。在这样做的过程中,我们创建了一个可能有很多应用的模型,从帮助艺术家的创作过程,到帮助教授学生如何画画。

本文的贡献如下:我们提出了一个由一系列线组成的矢量图像的无条件和条件生成框架。我们的基于神经网络的循环生成模型能够以矢量格式生成常见对象的草图。我们开发了一个矢量图像特有的训练程序,使训练更加鲁棒。在条件生成模型中,我们探索了该模型发展的表示矢量图像的潜在空间。我们还讨论了我们方法的潜在创造性应用。我们提供了一个大型的手绘矢量图像数据集,以鼓励进一步开发矢量图像的生成模型,并作为一个开源项目发布了我们的模型的实现。

2、相关工作
关于模仿画家的算法,有着悠久的历史。其中一个作品是机器人保罗的肖像画[23,25],其中一个控制机械机器人手臂的底层算法用可编程的艺术风格在画布上绘制线条,以模仿给定的数字化人像。基于强化学习的方法[25]已经开发出来,可以发现一组最能代表给定输入照片的画笔笔划。这些先前的工作通常试图模拟数字化照片,而不是开发矢量图像的生成模型。

基于神经网络的图像生成方法的 图像生成模型 已经得到了很大的发展,尽管大多数与神经网络相关的图像生成研究都是针对像素图像的。使用神经网络生成矢量图像的工作相对较少。早期的研究[22]利用隐马尔可夫模型来合成人体素描的线条和曲线。最近关于递归神经网络手写体生成的研究[6]为利用混合密度网络[1]生成连续数据点奠定了基础。最近这一方法的工作试图无条件地生成矢量汉字[7]和有条件地生成矢量汉字[26],方法是将汉字建模为一系列笔划动作。

除了无条件生成草图外,我们还探索了如何将现有草图编码到一个潜在的嵌入向量空间中。前面的工作[2]概述了一种将序列到序列模型与变分自编码器相结合的方法,以在潜在向量空间中对自然英语句子进行建模。相关工作[16]利用概率程序归纳法,而不是神经网络,对包含符号图像的Omniglot数据集进行一次建模。

在生成矢量图领域,缺乏公开的数据集是制约研究发展的一个因素。以前,草图数据集[4]由20 K个矢量草图组成,用于探索特征提取技术。随后的工作,粗略数据集[20],提供了70 K个矢量草图以及不同类别的对应像素图像。这就允许对人体草图进行更大规模的探索。ShadowDraw[17]是一个交互式系统,它根据绘制草图时用户的一组不完整的笔划来预测完成的绘图的外观。ShadowDraw使用了一个由30 K个光栅图像和提取的矢量化特征组成的数据集。在这项工作中,我们使用了一个更大的矢量草图数据集,该数据集是公开提供的。

3、方法

3.1、数据集
我们构造了Quick Draw数据集,一个从QuickDraw游戏获得的矢量图形集,QuickDraw游戏是一种在线游戏,要求玩家在不到20秒的时间内画出属于特定对象类的对象。QuickDraw包含数百个公共对象类。除了2.5 K验证和2.5 K测试样本外,每类QuickDraw都是一个包含70 K训练样本的数据集。

我们使用一种数据格式,将草图表示为一组笔划动作。此表示是[6]中使用的格式的扩展。我们的格式将二进制笔划事件扩展为多状态事件。在此数据格式中,图形的初始绝对坐标位于原点。草图是点列表,每个点是由5个元素组成的向量:(∆x,∆y, p1, p2, p3).前两个元素是笔在x和y方向上相对于上一个点的偏移距离。最后3个元素表示3种可能状态的二进制独热向量。第一个笔状态p1表示笔当前正在接触纸张,并且将绘制一条线,将下一个点与当前点连接起来。第二个笔状态p2表示笔将在当前点之后从纸上提起,并且下一个笔将不画线。最后的笔状态p3表示图形已结束,后续点(包括当前点)将不会被渲染。

3.2、Sketch-RNN

在这里插入图片描述
我们的模型是一个序列到序列的变分自编码器(VAE),类似于[2,15]中描述的架构。我们的编码器是一个双向RNN[21],它接受一个草图作为输入,并输出一个大小为Nz的潜在向量。具体地说,我们将草图序列S和相同的草图序列以相反的顺序Sreverse馈送到组成双向RNN的两个编码RNN中,以获得两个最终隐藏状态:
在这里插入图片描述
我们使用一个全连接层将这个最终连接的隐藏状态h投影到两个向量μ和ˆσ中,每个向量大小为Nz。我们使用指数运算将ˆσ转换为非负标准差参数σ。我们使用μ和σ,以及一个大小为Nz的IID高斯变量的向量N(0,I),来构造随机向量就像在一个VAE的方法中一样:
在这里插入图片描述
在这种编码方案下,隐向量z不是给定输入草图的确定输出,而是以输入草图为条件的随机向量。

我们的解码器是一个自回归RNN,它在给定的隐向量z上采样输出草图。解码器RNN的初始隐藏状态h0和可选单元状态c0(如果适用)是单层网络的输出:[ h0; c0] = tanh(Wzz + bz)

在译码器RNN的每一步i࿰

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值