quickdraw_dataset

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

Quick Draw!数据集

quickdraw_dataset_第1张图片
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)使用其他方法。

按类别分隔的完整数据集

  • 原始文件(.ndjson)
  • 简化的图纸文件(.ndjson)
  • 二进制文件(.bin)
  • Numpy位图文件(.npy)

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扩展一起存储。

  • Numpy .npz文件

使用数据集的项目

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

创意和艺术项目

  • [Deborah Schmidt]的Letter collages(http://frauzufall.de/)
  • [Neil Mendoza] [http://www.neilmendoza.com/]的面部跟踪实验
  • Tortue的人性面孔
  • 无限QuickDrawkynd.info
  • Matthew Collyer的Misfire.io
  • 绘制本由Dan Macnish

数据分析

  • 你如何画一个圆圈?Quartz

  • Forma Fluens由Mauro Martino,Hendrik Strobelt和Owen Cornec

  • (快速)画狗需要多长时间?Jim Vallandingham

  • 通过反复神经网络寻找不好的火烈鸟图纸科林莫里斯

  • Facets Dive x Quick,Draw!由People + AI Research Initiative (PAIR), Google

  • Google Research的探索和可视化开放式全球数据集

指南和教程

  • TensorFlow绘图分类教程
  • 使用Colab在tf.keras中训练模型,并使用TensorFlow.js在浏览器中运行由Zaid Alyafeai提供

代码和工具

  • Quick Draw处理Cody Ben Lewis
  • Quick Draw预测模型作者:Keisuke Irie
  • 随机抽样工具学习统计数据非常棒
  • Ian Johnson
    的SVG渲染d3.js示例(http://enja.org/) 了解更多关于此过程的信息此处
  • Payal Bajaj的Sketch-RNN分类
  • Thomas Wagenaar的quickdraw.js
  • Doodler来自
    Krishna Sri Somepalli
  • Quick Draw Python APIMartin O'Hanlon

变化

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

执照

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

你可能感兴趣的:(quickdraw_dataset)