Command Palette
Search for a command to run...
草图绘图的神经表示
草图绘图的神经表示
David Ha Douglas Eck
Sketch-RNN: 一种用于矢量绘图的生成模型
摘要
我们提出了 sketch-rnn,这是一种循环神经网络(RNN),能够构建常见对象的基于笔画的绘图。该模型在包含许多不同类别的人类绘制图像的数据集上进行训练。我们概述了条件和非条件草图生成的框架,并描述了用于生成矢量格式连贯草图绘图的新鲁棒训练方法。
一句话总结
作者提出了 sketch-rnn,一种在人类绘制图像数据集上训练的循环神经网络,用于构建常见对象的基于笔触的绘图,概述了条件和无条件草图生成的框架,并描述了生成矢量格式连贯草图的新鲁棒训练方法。
核心贡献
- 本文介绍了 sketch-rnn,一种能够以矢量格式构建常见对象基于笔触绘图的循环神经网络。该模型在代表许多不同类别的人类绘制图像数据集上进行训练。
- 提出了条件和无条件草图生成的框架,以及用于生成连贯矢量绘图的新鲁棒训练方法。该方法开发了专用于矢量图像的训练过程,并探索潜在空间以在条件生成模型中表示矢量图像。
- 公开了一个大型手绘矢量图像数据集,以鼓励矢量图像生成模型的进一步发展。该模型的实现也作为开源项目发布。
引言
虽然最近的生成建模进展主要集中在基于像素的图像上,但人类通常通过顺序矢量笔触来表示视觉概念。使机器能够生成矢量绘图有助于抽象概念理解和创造性应用,例如协助艺术家或教授绘画技巧。先前的工作大多试图模仿数字化的照片,或缺乏针对矢量数据的鲁棒神经网络方法,通常受限于公共数据集的稀缺。为了解决这个问题,作者提出了一种基于循环神经网络的框架,能够无条件和有条件地生成矢量图像,引入了独特的训练过程,以及大型数据集和开源实现。
数据集
- 数据集构成和来源
- 作者使用来自 Quick, Draw! 在线游戏的矢量绘图构建了 QuickDraw。
- 游戏中的玩家在 20 秒的时间限制内绘制常见对象。
- 该数据集涵盖数百个类别,最初从 75 个类别开始。
- 子集细节和划分
- 每个类别包含 70,000 个训练样本,以及 2,500 个验证样本和 2,500 个测试样本。
- 数据存储为表示笔触动作序列的矢量绘图。
- 数据表示和处理
- 草图被编码为点列表,其中每个点是一个 5 元素向量。
- 该向量包括 x 和 y 偏移量,以及一个表示笔状态的 3 状态独热向量。
- 笔状态指定笔是否放下以绘制、在该点后抬起,或者绘图是否已结束。
- 使用参数为 2.0 的 Ramer Douglas Peucker 算法应用了笔触简化。
- 使用从训练集得出的缩放因子,将偏移量归一化为标准差 1。
- 省略了零均值归一化,因为原始偏移量均值已经很小。
方法
作者提出了 Sketch-RNN,一种序列到序列变分自编码器(VAE),旨在构建常见对象的基于笔触的绘图。该模型在代表许多不同类别的人类绘制图像数据集上进行训练。整体架构包括将输入草图压缩为潜在向量的编码器,以及基于该向量生成新草图的解码器。
参考下方的框架图以可视化完整流程,其中包括双向编码器、潜在变量采样和自回归解码器。
编码器利用双向循环神经网络(RNN)处理输入草图序列 S。它将序列按原始顺序输入到前向 RNN,并按反向顺序输入到后向 RNN。来自两个方向的最终隐藏状态被连接起来以形成综合表示 h。该表示随后被投影到两个向量 μ 和 σ^,它们定义了潜在分布的均值和对数方差。使用重参数化技巧,随机潜在向量 z 被采样为 z=μ+σ⊙N(0,I),确保模型在训练期间保持可微。
输入数据表示为包含 (Δx,Δy) 坐标和笔状态标志的向量序列。
解码器是一个自回归 RNN,逐步生成输出序列 S′。在每个时间步 i,解码器将前一个点 Si−1 和潜在向量 z 作为输入。每一步的输出由下一个点的概率分布参数组成。具体而言,空间偏移 (Δx,Δy) 使用具有 M 个分量的混合高斯模型(GMM)进行建模,而笔状态(开始、继续、结束)使用分类分布进行建模。这种概率输出允许模型生成多样且连贯的草图,而不是单一确定性路径。
为了训练模型,作者优化了一个由两项组成的损失函数:重建损失(LR)和 Kullback-Leibler 散度损失(LKL)。重建损失最大化生成概率分布与训练数据匹配的对数似然。KL 损失确保潜在向量 z 的分布保持接近标准高斯先验。为了平衡这些目标并防止模型忽略潜在代码,他们采用了一种退火策略,其中 KL 项的权重在训练期间逐渐增加。
在采样过程中,可以使用温度参数 τ 控制随机性水平。该参数缩放分类分布的 logits 和高斯分量的方差。较低的 τ 值使模型更加确定性,而较高的值增加多样性。潜在空间还支持语义算术和插值。
如下方图所示,在不同草图的潜在向量之间插值会导致形状之间的平滑过渡,并且可以执行矢量算术以操纵生成绘图的属性。
实验
实验评估了 Sketch-RNN 在各种 QuickDraw 类别上的表现,包括条件和无条件生成,同时改变 KL 损失权重和温度参数。定性评估表明,该模型在重建过程中保留了输入草图的属性,并通过潜在空间插值和矢量算术实现了平滑的概念形态变化。结果表明,较高的 KL 损失权重产生更连贯的图像和有意义的潜在特征,尽管在高度复杂的草图或大型多类数据集上性能会下降。
作者通过在单类和多类数据集上变化权重参数 wKL 来评估 sketch-rnn 模型。结果表明存在一种权衡,即降低 wKL 权重会减少重建损失(LR),但增加 KL 损失(LKL)。与独立的仅解码器基线相比,条件模型始终实现更低的重建损失。放宽 wKL 参数会导致重建损失(LR)降低,同时导致所有数据集上的 KL 损失(LKL)增加。在所有测试类别中,条件模型始终表现出比无条件仅解码器模型更低的重建损失值。无论是在单类还是多类组合上训练,重建损失降低和 KL 损失增加的趋势保持一致。
该研究通过变化 wKL 权重参数评估了 sketch-rnn 模型在单类和多类数据集上的表现。实验揭示了一致的权衡,即无论训练配置如何,降低权重都会减少重建损失而增加 KL 损失。此外,与无条件仅解码器基线相比,条件模型始终实现更低的重建损失。