Quick Draw データセットは、ゲーム Quick, Draw! のプレイヤーによって提供された、345 カテゴリにわたる 5,000 万枚の描画のコレクションです。描画はタイムスタンプ付きのベクトルとしてキャプチャされ、プレイヤーに何を描くように求められたのか、プレイヤーがどこの国にいたのかなどのメタデータがタグ付けされました。認識された図面は、quickdraw.withgoogle.com/data で参照できます。
開発者、研究者、アーティストが探索、研究、学習できるよう、ここでそれらを共有しています。このデータセットを使用して何かを作成した場合は、メールまたは AI Experiments までお知らせください。
また、独自の描画分類子をトレーニングするためのチュートリアルとモデルを tensorflow.org でリリースしました。
この図面コレクションは個別に管理されていますが、依然として不適切なコンテンツが含まれている可能性があることに注意してください。
モデレートされた生のデータセット
前処理されたデータセット
データを取得する
データセットを使用したプロジェクト
変更点
ライセンス
生データは、次の形式のカテゴリごとに区切られたndjson
ファイルとして利用できます。
鍵 | タイプ | 説明 |
---|---|---|
key_id | 64ビット符号なし整数 | すべての図面にわたる一意の識別子。 |
言葉 | 弦 | プレイヤーが描画するよう求められたカテゴリ。 |
認識された | ブール値 | 単語がゲームで認識されたかどうか。 |
タイムスタンプ | 日時 | 図面が作成されたとき。 |
国コード | 弦 | プレーヤーが所在する場所の 2 文字の国コード (ISO 3166-1 alpha-2)。 |
描画 | 弦 | ベクター描画を表す JSON 配列 |
各行には 1 つの描画が含まれます。単一の描画の例を次に示します。
{ "key_id":"5891796615823360","単語":"鼻","国コード":"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, ...] ]、 [ // 2 番目のストローク[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 アルゴリズムを使用し、イプシロン値 2.0 を使用してすべてのストロークを簡素化します。
Examples/nodejs/simplified-parser.js には、NodeJS で ndjson ファイルを読み取る方法を示す例があります。
さらに、examples/nodejs/ndjson.md ドキュメントには、これらの非常に大きなファイルのサブセットを探索するのに役立つ一連のコマンドライン ツールが詳しく説明されています。
.bin
)簡略化された描画とメタデータは、効率的な圧縮と読み込みのためにカスタム バイナリ形式でも利用できます。
Python でバイナリ ファイルをロードする方法を示す例が、examples/binary_file_parser.py にあります。
Examples/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' .
RAW ファイル ( .ndjson
)
簡略化された図面ファイル ( .ndjson
)
バイナリ ファイル ( .bin
)
ぎこちないビットマップ ファイル ( .npy
)
このデータは、Sketch-RNN モデルのトレーニングにも使用されます。 このモデルのオープン ソースの TensorFlow 実装は、Magenta プロジェクトで入手できます (GitHub リポジトリへのリンク)。 このモデルについて詳しくは、Google Research のブログ投稿をご覧ください。 データは、リカレント ニューラル ネットワークへの入力に適した形式で、圧縮された.npz
ファイルに保存されます。
このデータセットでは、75,000 のサンプル (70,000 のトレーニング、2.5,000 の検証、2.5,000 のテスト) が各カテゴリからランダムに選択され、 epsilon
パラメーター 2.0 の RDP ライン単純化で処理されています。 各カテゴリは、独自の.npz
ファイル (例: cat.npz
に保存されます。
70,000 を超えるトレーニング例を使用したい場合は、各カテゴリの完全なデータも提供しています。 これらは.full.npz
拡張子を付けて保存されます。
詰め込まれた .npz ファイル
注: Python3 の場合、 np.load(data_filepath, encoding='latin1', allow_pickle=True)
を使用してnpz
ファイルをロードします。
Raw ndjson
ファイルをこのnpz
形式に変換する手順は、このノートブックで参照できます。
ここでは、興味深い方法でデータセットを使用または特徴づけているいくつかのプロジェクトと実験を紹介します。何か追加することはありますか?お知らせください!
創造的で芸術的なプロジェクト
デボラ・シュミットによる手紙のコラージュ
ニール・メンドーサによる顔追跡実験
トーチューによる人間の顔
Infinite QuickDraw by kynd.info
Misfire.io by Matthew Collyer
ダン・マクニッシュによるこれを描く
ヤン・シンユエによる走り書きスピーチ
イラスト:リン・チェン
電気羊の夢を見る エルネスト・ディアス・アビレス博士
データ分析
どうやって円を描くのですか?クォーツによる
Forma Fluens by Mauro Martino、Hendrik Strobelt、Owen Cornec
犬を(素早く)描くのにどれくらい時間がかかりますか?ジム・ヴァランディンガム著
リカレント ニューラル ネットワークを使用して悪いフラミンゴの絵を見つける (Colin Morris 著)
ファセットダイブ×クイック、ドロー! People + AI Research Initiative (PAIR)、Google による
Google Research によるオープン グローバル データセットの探索と視覚化
視覚化のための機械学習 - Ian Johnson による講演 / 記事
論文
「スケッチ図面の神経表現」David Ha、Douglas Eck著、ICLR 2018。 コード
Sketchmate: 百万規模の人体スケッチ検索のためのディープ ハッシュ、Peng Xu et al.、CVPR 2018。
フリーハンド スケッチ認識用のマルチグラフ トランスフォーマー (Peng Xu、Chaitanya K Joshi、Xavier Bresson、ArXiv 2019 年) コード
フリーハンド スケッチのための深い自己教師あり表現学習、Peng Xu et al.、ArXiv 2020。コード
SketchTransfer: 詳細不変性とディープ ネットワークで学んだ抽象化を探索するための挑戦的な新しいタスク、Alex Lamb、Sherjil Ozair、Vikas Verma、David Ha、WACV 2020。
フリーハンド スケッチのための深層学習: Peng Xu による調査、ArXiv 2020。
畳み込みニューラル ネットワークに基づく新しいスケッチ認識モデル、アブドラ タルハ カバクス著、第 2 回ヒューマン コンピューター インタラクション、最適化、ロボット アプリケーションに関する国際会議、101 ~ 106 ページ、2020 年。
ガイドとチュートリアル
図面分類のための TensorFlow チュートリアル
Colab を使用して tf.keras でモデルをトレーニングし、TensorFlow.js を使用してブラウザで実行します (Zaid Alyafeai 著)
コードとツール
早く描け! Nick Jonas によるポリマー コンポーネントとデータ API
クイック、処理用のドロー by Cody Ben Lewis
早く描け!入江圭介による予測モデル
Learning statistics のランダム サンプル ツールが素晴らしい
d3.js での SVG レンダリングの例 (Ian Johnson による) (プロセスの詳細については、こちらをご覧ください)
Payal Bajaj による Sketch-RNN 分類
Quickdraw.js by Thomas Wagenaar
~ Doodler ~ クリシュナ・スリ・ソメパリ著
クイックドロー Python API by Martin O'Hanlon
RealTime QuickDraw by Akshay Bahadur
Guillem Xercavins による DataFlow 処理
QuickDrawGH Rhino プラグイン by James Dalessandro
QuickDrawBattle by Andri Soone
2017 年 5 月 25 日: Sketch-RNN QuickDraw データセットを更新し、 .full.npz
相補セットを作成しました。
このデータは、Creative Commons Attribution 4.0 International ライセンスに基づいて Google, Inc. によって提供されています。
Google データセット検索などの検索エンジンでこのデータセットにインデックスを付けるには、次のテーブルが必要です。
財産 | 価値 | ||||||
---|---|---|---|---|---|---|---|
名前 | The Quick, Draw! Dataset | ||||||
代替名 | Quick Draw Dataset | ||||||
代替名 | quickdraw-dataset | ||||||
URL | 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) | ||||||
プロバイダー |
| ||||||
ライセンス |
|