Quick Draw 数据集包含 345 个类别的 5000 万张图画,由 Quick, Draw! 游戏的玩家贡献。这些绘图被捕获为带时间戳的矢量,并标记有元数据,包括要求玩家绘制的内容以及玩家所在的国家/地区。您可以在quickdraw.withgoogle.com/data 上浏览已识别的绘图。
我们在这里分享它们,供开发人员、研究人员和艺术家探索、研究和学习。如果您使用此数据集创建某些内容,请通过电子邮件或 AI Experiments 告知我们。
我们还在tensorflow.org 上发布了用于训练您自己的绘图分类器的教程和模型。
请记住,虽然这组图画经过单独审核,但它可能仍然包含不当内容。
原始调节数据集
预处理数据集
获取数据
使用数据集的项目
变化
执照
原始数据以ndjson
文件形式提供,按类别分隔,格式如下:
钥匙 | 类型 | 描述 |
---|---|---|
密钥 ID | 64 位无符号整数 | 所有图纸中的唯一标识符。 |
单词 | 细绳 | 提示玩家绘制的类别。 |
认可的 | 布尔值 | 该词是否被游戏识别。 |
时间戳 | 日期时间 | 当绘图被创建时。 |
国家代码 | 细绳 | 玩家所在位置的两个字母的国家/地区代码 (ISO 3166-1 alpha-2)。 |
绘画 | 细绳 | 表示矢量绘图的 JSON 数组 |
每行包含一幅图画。这是单个绘图的示例:
{ "key_id":"5891796615823360","word":"鼻子","国家代码":"AE","时间戳":"2017-03-01 20:41:36.70725 UTC","识别":true,"绘图":[[[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, ...] ], ... // 附加笔画]
其中x
和y
是像素坐标, t
是自第一个点以来的时间(以毫秒为单位)。 x
和y
是实数值,而t
是整数。由于用于显示和输入的设备不同,原始绘图可能具有截然不同的边界框和点数。
我们对数据集进行了预处理并将其拆分为不同的文件和格式,以便更快、更轻松地下载和探索。
.ndjson
)我们简化了向量,删除了时序信息,并将数据定位并缩放到 256x256 区域。数据以ndjson
格式导出,其元数据与原始格式相同。简化过程是:
将绘图与左上角对齐,以使最小值为 0。
统一缩放绘图,最大值为 255。
以 1 像素间距重新采样所有笔画。
使用 Ramer–Douglas–Peucker 算法(epsilon 值为 2.0)简化所有笔画。
example/nodejs/simplified-parser.js 中有一个示例,展示了如何在 NodeJS 中读取 ndjson 文件。
此外,examples/nodejs/ndjson.md 文档详细介绍了一组命令行工具,可以帮助探索这些相当大的文件的子集。
.bin
)简化的绘图和元数据还以自定义二进制格式提供,以实现高效压缩和加载。
example/binary_file_parser.py 中有一个示例,展示了如何在 Python 中加载二进制文件。
example/nodejs/binary-parser.js 中还有一个示例,展示了如何在 NodeJS 中读取二进制文件。
.npy
)所有简化的绘图均已渲染为 numpy .npy
格式的 28x28 灰度位图。这些文件可以使用np.load()
加载。这些图像是根据简化数据生成的,但与绘图边界框的中心而不是左上角对齐。有关用于生成的代码片段,请参阅此处。
该数据集以按类别分隔的ndjson
文件形式在 Google Cloud Storage 上提供。请参阅 Cloud 中的文件列表,或阅读有关使用其他方法访问公共数据集的更多信息。例如,要轻松下载所有简化绘图,一种方法是运行命令gsutil -m cp 'gs://quickdraw_dataset/full/simplified/*.ndjson' .
原始文件( .ndjson
)
简化的绘图文件 ( .ndjson
)
二进制文件 ( .bin
)
Numpy 位图文件 ( .npy
)
该数据还用于训练 Sketch-RNN 模型。 Magenta 项目中提供了该模型的开源 TensorFlow 实现(链接到 GitHub 存储库)。 您还可以在这篇 Google 研究博客文章中了解有关此模型的更多信息。 数据存储在压缩的.npz
文件中,其格式适合输入到循环神经网络中。
在此数据集中,从每个类别中随机选择了 75K 个样本(70K 训练、2.5K 验证、2.5K 测试),并使用epsilon
参数为 2.0 的 RDP 线简化进行处理。 每个类别将存储在其自己的.npz
文件中,例如cat.npz
。
如果您想使用超过 70K 的训练示例,我们还提供了每个类别的完整数据。 它们以.full.npz
扩展名存储。
Numpy .npz 文件
注意:对于Python3,使用np.load(data_filepath, encoding='latin1', allow_pickle=True)
加载npz
文件
本笔记本中提供了将原始ndjson
文件转换为此npz
格式的说明。
以下是一些以有趣的方式使用或展示数据集的项目和实验。有什么要补充的吗?让我们知道!
创意和艺术项目
Deborah Schmidt 的字母拼贴画
尼尔·门多萨 (Neil Mendoza) 的面部追踪实验
Tortue 的《人性的面孔》
Infinite QuickDraw 由 kynd.info 提供
Misfire.io 作者:Matthew Collyer
丹·麦克尼什画的这个
杨新月涂鸦演讲
陈凌插画
埃内斯托·迪亚兹·阿维莱斯博士的《梦见电子羊》
数据分析
你如何画一个圆?通过石英
Forma Fluens 作者:Mauro Martino、Hendrik Strobelt 和 Owen Cornec
(快速)画一只狗需要多长时间?作者:吉姆·瓦兰丁厄姆
使用循环神经网络查找不良火烈鸟图画,作者:Colin Morris
Facets Dive x 快速,绘制!由 Google 的“人+人工智能研究计划”(PAIR) 提供
谷歌研究探索和可视化开放的全球数据集
用于可视化的机器学习 - Ian Johnson 的演讲/文章
文件
素描图的神经表示,作者:David Ha、Douglas Eck,ICLR 2018。代码
Sketchmate:用于百万级人体草图检索的深度哈希,作者:Peng Xu 等人,CVPR 2018。
用于徒手草图识别的多图转换器,作者:Peng Xu、Chaitanya K Joshi、Xavier Bresson,ArXiv 2019。代码
用于手绘草图的深度自监督表示学习,作者:Peng Xu 等人,ArXiv 2020。代码
SketchTransfer:探索细节不变性和深度网络学习的抽象的挑战性新任务,作者:Alex Lamb、Sherjil Ozair、Vikas Verma、David Ha,WACV 2020。
徒手素描的深度学习:徐鹏的调查,ArXiv 2020。
基于卷积神经网络的新型草图识别模型,作者:Abdullah Talha Kabakus,第二届国际人机交互、优化和机器人应用大会,第 101-106 页,2020 年。
指南和教程
TensorFlow 绘图分类教程
使用 Colab 在 tf.keras 中训练模型,并使用 Zaid Alyafeai 的 TensorFlow.js 在浏览器中运行它
代码和工具
快点,画画!聚合物组件和数据 API,作者:Nick Jonas
快速绘制处理,作者:Cody Ben Lewis
快点,画画! Keisuke Irie 的预测模型
学习统计的随机样本工具非常棒
Ian Johnson 的 d3.js 中的 SVG 渲染示例(在此处了解有关该过程的更多信息)
Payal Bajaj 的 Sketch-RNN 分类
Quickdraw.js 作者:Thomas Wagenaar
~ Doodler ~ 作者:Krishna Sri Somepalli
Quickdraw Python API,作者:Martin O'Hanlon
实时 QuickDraw,作者:Akshay Bahadur
Guillem Xercavins 的数据流处理
QuickDrawGH Rhino 插件,作者:James Dalessandro
QuickDrawBattle 作者:Andri Soone
2017 年 5 月 25 日:更新了 Sketch-RNN QuickDraw 数据集,创建了.full.npz
互补集。
该数据由 Google, Inc. 根据 Creative Commons Attribution 4.0 International 许可提供。
下表对于 Google 数据集搜索等搜索引擎索引该数据集是必需的。
财产 | 价值 | ||||||
---|---|---|---|---|---|---|---|
姓名 | The Quick, Draw! Dataset | ||||||
备用名称 | Quick Draw Dataset | ||||||
备用名称 | quickdraw-dataset | ||||||
网址 | https://github.com/googlecreativelab/quickdraw-dataset | ||||||
相同 | https://github.com/googlecreativelab/quickdraw-dataset | ||||||
描述 | The Quick Draw Dataset is a collection of 50 million drawings across 345 categories, contributed by players of the game "Quick, Draw!". The drawings were captured as timestamped vectors, tagged with metadata including what the player was asked to draw and in which country the player was located.n n Example drawings: ![preview](https://raw.githubusercontent.com/googlecreativelab/quickdraw-dataset/master/preview.jpg) | ||||||
提供者 |
| ||||||
执照 |
|