quickdraw_datasetQuick Draw!数据集

https://console.cloud.google.com/storage/browser/quickdraw_dataset

Quick Draw!数据集

image

Quick Draw数据集是345种类别中的5000万张图纸的集合,由游戏玩家Quick,Draw!提供。绘图被捕获为带时间戳的向量,标记有元数据,包括要求玩家绘制的内容以及玩家所在的国家/地区。您可以在quickdraw.withgoogle.com/data上浏览已识别的图纸。

我们在这里分享它们,供开发人员,研究人员和艺术家探索,研究和学习。如果您使用此数据集创建内容,请通过电子邮件AI实验告知我们。

我们还在tensorflow.org上发布了用于培训您自己的绘图分类器的教程和模型。

请记住,虽然这些图纸集合是单独审核的,但它可能仍包含不适当的内容。

内容

原始主持数据集

原始数据以ndjson文件的形式分类,按类别分隔,格式如下:

钥匙

输入

说明

key_id

64位无符号整数

所有图纸的唯一标识符。

字符串

提示玩家绘制的类别。

认可

布尔值

这个词是否被游戏识别。

时间戳

datetime

绘图创建时。

国家代码

字符串

播放器所在位置的双字母国家代码(ISO 3166-1 alpha-2)。

绘图

字符串

表示矢量绘图的JSON数组

每行包含一个图纸。以下是单个绘图的示例:

  { 
    “KEY_ID”: “5891796615823360”,
    “字”:“鼻子”,
    “COUNTRYCODE”: “AE”,
    “timestamp”:“2017-03-01 20:41:36.70725 UTC”,
    “认可”:真实,
    “绘图”:[[[129,128,129,129,130​​,130,131,132,132,133,133,133,133,...]]]
  }

绘图数组的格式如下:

[ 
  [//第一击 
    [x0,x1,x2,x3,...],
    [y0,y1,y2,y3,...],
    [t0,t1,t2,t3,...]
  ]
  [//第二次中风
    [x0,x1,x2,x3,...],
    [y0,y1,y2,y3,...],
    [t0,t1,t2,t3,...]
  ]
  ... //额外的笔画
]

其中xy是像素坐标,t是自第一个点以来的毫秒数。```和y是实数值,而t是整数。由于用于显示和输入的不同设备,原始图纸可以具有极大不同的边界框和点数。

预处理数据集

我们已经预处理并将数据集拆分为不同的文件和格式,以便更快,更轻松地下载和浏览。

简化的图形文件(.ndjson)

我们简化了向量,删除了时序信息,并将数据定位并缩放到256x256区域。数据以ndjson格式导出,其格式与原始格式相同。简化过程是:

1.将图形与左上角对齐,使其最小值为0。 2.均匀缩放图形,最大值为255。 3.以1像素间距重新采样所有笔划。 4.使用Ramer-Douglas-Peucker算法以epsilon值2.0简化所有笔划。

[examples / nodejs / simplified-parser.js](examples / nodejs / simplified-parser.js)中有一个示例,展示了如何在NodeJS中读取ndjson文件。 此外,[examples / nodejs / ndjson.md](examples / nodejs / ndjson.md)文档详细介绍了一组命令行工具,可以帮助探索这些相当大的文件的子集。

二进制文件(.bin)

简化的图纸和元数据也以自定义二进制格式提供,以实现高效压缩和加载。

[examples / binary_file_parser.py](examples / binary_file_parser.py)中有一个示例,展示了如何在Python中加载二进制文件。 [examples / nodejs / binary-parser.js](examples / nodejs / binary-parser.js)中还有一个示例,展示了如何读取NodeJS中的二进制文件。

Numpy位图(.npy)

所有简化的图纸都以numpy.pypy格式渲染成28x28灰度位图。可以使用np.load()加载这些文件。这些图像是从简化数据生成的,但是与图形边界框的中心对齐,而不是左上角。

获取数据

该数据集在Google Cloud Storage上以ndjson文件的形式分类。请参阅Cloud Console中的文件列表,或阅读有关[访问公共数据集]的更多信息(https://cloud.google.com/storage) / docs / access-public-data)使用其他方法。

按类别分隔的完整数据集

Sketch-RNN QuickDraw数据集

该数据还用于训练Sketch-RNN模型。这个模型的开源TensorFlow实现可以在Magenta Project中找到,(链接到GitHub repo /树/主/品红/模型/ sketch_rnn))。您还可以在此Google研究博客文章中阅读有关此模型的更多信息。数据以适合输入到递归神经网络的格式存储在压缩的.npz文件中。

在此数据集中,从每个类别中随机选择75K样本(70K训练,2.5K验证,2.5K测试),使用[RDP]处理(https://en.wikipedia.org/wiki/Ramer%E2%80% 93Douglas%E2%80%93Peucker_algorithm)线条简化,epsilon参数为2.0。每个类别都将存储在自己的.npz文件中,例如cat.npz

如果您想使用超过70K的培训示例,我们还提供了每个类别的完整数据。它们与.full.npz扩展一起存储。

使用数据集的项目

以下是一些以有趣的方式使用或展示数据集的项目和实验。有东西要补充吗?告诉我们!

创意和艺术项目

数据分析

指南和教程

代码和工具

变化

2017年5月25日:更新了Sketch-RNN QuickDraw数据集,创建了.full.npz互补集。

执照

这些数据由Google,Inc。根据[知识共享署名4.0国际许可证]提供。(https://creativecommons.org/licenses/by/4.0/)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

深度学习卷积神经网络的秒懂各种操作

转载文章均来自公开网络,仅供学习使用,不会用于任何商业用途,如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜,联系邮箱:holly0801@163.c...

871
来自专栏人工智能LeadAI

Keras同时用多张显卡训练网络

References 官方文档:multi_gpu_model(https://keras.io/utils/#multi_gpu_model)以及Google...

6558
来自专栏人工智能头条

张雨石:Adam - 大规模分布式机器学习框架

5437
来自专栏机器之心

教程 | 在Cloud ML Engine的TPU上从头训练ResNet

张量处理单元(TPU)是能够大大加快深度学习模型训练速度的硬件加速器。在斯坦福大学进行的独立测试中,在 TPU 上训练的 ResNet-50 模型能够在 Ima...

1492
来自专栏顶级程序员

Caffe源码直播

0.预告 开源项目名称:Caffe—— deep learning framework 语言:C++ 时间:10月22日(周六)早11:00-12:00 参与方...

4619
来自专栏生信技能树

把这个R包大卸八块

本来应该这是一个很正常的学习过程,之前总结了一篇博文Bioconductor的质谱蛋白组学数据分析,对蛋白组学定量那块比较感兴趣,正好看到一个R包-MSstat...

3396
来自专栏AI研习社

Github 推荐项目 | GloVe 的快速实现 —— Mittens

该软件包包含 GloVe 和 Mittens 的快速 TensorFlow 和 NumPy 实现。

1913
来自专栏悦思悦读

数据挖掘: R, Python,Machine Learning,一起学起来!

大数据概念的火爆带动了相关工具方法的流行。大数据工具中,R和Python以其开源、免费、简单易用、大量算法库和社区支持等特质赢得了一众人心。机器学习则以其高大上...

3658
来自专栏iOSDevLog

seaborn的介绍

Seaborn是一个用Python制作统计图形的库。它建立在matplotlib之上,并与pandas数据结构紧密集成。

2631
来自专栏人工智能LeadAI

从学习 Paddle 开始学习深度学习

优点 灵活性:PaddlePaddle支持广泛的神经网络结构和优化算法,很容易配置复杂的模型,如基于注意力(Attention)机制或复杂的内存(Memory)...

3493

扫码关注云+社区