前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >quickdraw_datasetQuick Draw!数据集

quickdraw_datasetQuick Draw!数据集

作者头像
iOSDevLog
发布2018-08-10 15:36:44
2.8K0
发布2018-08-10 15:36:44
举报
文章被收录于专栏:iOSDevLogiOSDevLog

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数组

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

代码语言:javascript
复制
  { 
    “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,...]]]
  }

绘图数组的格式如下:

代码语言:javascript
复制
[ 
  [//第一击 
    [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/)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.08.02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Quick Draw!数据集
    • 内容
      • 原始主持数据集
        • 预处理数据集
          • 获取数据
            • 使用数据集的项目
              • 变化
                • 执照
                相关产品与服务
                命令行工具
                腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档