专栏名称: 机器之心
专业的人工智能媒体和产业服务平台
目录
相关文章推荐
黄建同学  ·  v0刚刚更新了根据截图生成 UI ... ·  3 天前  
宝玉xp  ·  最新版的 ... ·  4 天前  
爱可可-爱生活  ·  [CL]《Stronger Models ... ·  6 天前  
51好读  ›  专栏  ›  机器之心

资源 | 谷歌发布Quick Draw涂鸦数据集:5000万张矢量图,345个类别

机器之心  · 公众号  · AI  · 2017-05-19 11:58

正文

选自Github

机器之心编译

参与:吴攀、李泽南


还记得谷歌上个月推出的 AutoDraw 吗?这是一个能把你的随手涂鸦变成绘画的人工智能技术工具。谷歌也曾发布论文和博客介绍了其背后的技术,参见机器之心文章《谷歌官方揭秘 AutoDraw 人工智能绘画工具原理:让机器学会理解艺术》。实际上,AutoDraw 所用的技术基于谷歌先前的涂鸦实验「Quick, Draw!」。近日,谷歌发布了该项目背后的数据集,其中包含 5000 万张矢量画。机器之心对该项目的介绍文档进行了编译介绍。


  • 数据集地址:https://github.com/googlecreativelab/quickdraw-dataset

  • 数据集官网:https://quickdraw.withgoogle.com/data

  • Quick, Draw! 在线体验:https://quickdraw.withgoogle.com

  • AutoDraw 在线体验:https://www.autodraw.com

  • 相关论文:https://arxiv.org/abs/1704.03477


Quick Draw 数据集是一个包含 5000 万张图画的集合,分成了 345 个类别,这些图画都来自于 Quick, Draw! 游戏的玩家。这些画都是加了时间戳的矢量图,并带有一些元数据标注,包括玩家被要求绘画的内容和玩家所在的国家。你可以在数据集官网浏览被识别出的绘画。


我们在这里将这个数据集共享给开发者、研究者和艺术家,以供探索、研究和学习。如果你使用这个数据集创造出了什么东西,请发邮件告知我们:[email protected] 或提交到 A.I. Experiments:https://aiexperiments.withgoogle.com/submit


请注意,尽管这个绘画集合中每一张都被审核过,但其中可能仍有不当内容。


原始的审核过的数据集


原始数据在 ndjson 文件中,并按类别进行了分割,按照如下格式:



每一张包含一副绘画,下面给出了一个例子:


  {
   "key_id":"5891796615823360",
   "word":"nose",
   "countrycode":"AE",
   "timestamp":"2017-03-01 20:41:36.70725 UTC",
   "recognized":true,
   "drawing":[[[129,128,129,129,130,130,131,132,132,133,133,133,133,...]]]
 }


绘画数组的格式如下:


[
 [  // First stroke
   [x0, x1, x2, x3, ...],
   [y0, y1, y2, y3, ...],
   [t0, t1, t2, t3, ...]
 ],
 [  // Second stroke
   [x0, x1, x2, x3, ...],
   [y0, y1, y2, y3, ...],
   [t0, t1, t2, t3, ...]
 ],
 ... // Additional strokes
]


其中 x 和 y 是像素坐标,t 是自第一个点开始后的时间,单位:毫秒。x 和 y 是实数值,而 t 是整型值。因为用于显示和输入的设备各不相同,原始绘画的边框大小和点的数量可能有非常大的差异。


预处理后的数据集


我们已经对该数据集进行了预处理,并且将其分成了不同的文件和格式,以便人们能更快更轻松地下载和使用。


简化图文件(.ndjson)


我们对这些矢量图进行了简化,移除了时间信息,并且对数据进行了定位和缩放处理,得到了大小 256×256 的图像。该数据以 ndjson 的格式导出,带有与原始格式一样的元数据。简化过程如下:


1. 将绘画对齐到左上角,最小值为 0;

2. 均匀缩放绘画,最大值为 255;

3. 以 1 像素的间隔重采样所有的笔画;

4. 使用 Ramer–Douglas–Peucker 算法简化所有的笔画,设置其 ε 值为 2.0


二进制文件(.bin)


我们也提供了简化后的绘画和元数据的定制二进制格式,可用于高效的压缩和加载。examples/binary_file_parser.py 给出了如何用 Python 加载该文件的示例。


Numpy 位图(.npy)


所有简化过的绘画也都被转换成了 28×28 的灰度位图,保存为 numpy 的 .npy 格式。该文件可以通过 np.load() 函数加载。这些图像是从简化过的数据中生成的,但对齐的是绘画边框的中心,而非左上角。


获取数据


该数据集在谷歌云存储服务中,在 ndjson 文件中分类存储。请参阅 Cloud Console 中的文件列表,你也可以使用其他方法使用它(参阅:https://cloud.google.com/storage/docs/access-public-data)。


数据集分类


  • Raw files (.ndjson)

  • Simplified drawings files (.ndjson)

  • Binary files (.bin)

  • Numpy bitmap files (.npy)


Sketch-RNN QuickDraw 数据集


这些数据也被用于训练 Sketch-RNN 模型。该模型开源的 TensorFlow 应用将在 Magenta Project 上近期推出。了解该模型可参阅文章《谷歌官方揭秘 AutoDraw 人工智能绘画工具原理:让机器学会理解艺术》。数据存储在压缩文件.npz 中,这种格式适合输入进循环神经网络中。在这一数据集中 75000 个用例(70000 用于训练、2500 个用于验证、2500 个用于测试)在每个类别里随机选择,使用值为 2.0 的 epsilon 参数经过 Ramer–Douglas–Peucker 算法线简化处理。


许可证


这些数据由谷歌提供,使用 Creative Commons Attribution 4.0 International 许可证。



点击阅读原文,查看全部嘉宾阵容并报名参与机器之心 GMIS 2017  ↓↓↓