QuickDraw データセットの解釈

データセットのダウンロード アドレス: Quick, Draw! Doodle Recognition Challenge | Kaggle icon-default.png?t=N176https://www.kaggle.com/competitions/quickdraw-doodle-recognition/data

Github 地址:googlecreativelab/quickdraw-dataset: Quick, Draw! にアクセスして使用する方法に関するドキュメント。データセット。(github.com) icon-default.png?t=N176https://github.com/googlecreativelab/quickdraw-dataset

QuickDraw データセットは、345 のカテゴリにわたる何百万もの手描きのスケッチのコレクションであり、タイムスタンプ付きのベクトルとしてキャプチャされ、プレイヤーに描画を要求されたものやプレイヤーがいる国などのメタデータでタグ付けされています。

QuickDraw では 2 つのバージョンのデータが提供されます。元のデータはユーザーの図面から記録された正確な入力ですが、簡易バージョンではベクトル情報から不要な点が削除されています。(たとえば、ラインに 8 つのポイントが記録されている場合がありますが、ラインを一意に識別するために必要なポイントは 2 つだけであるため、6 つのポイントを削除できます)。簡略化されたファイルははるかに小さく、実質的に同じ情報が提供されます。

生データ

生データは、次の形式でカテゴリ別に整理された ndjson ファイルとして提供されます。

タイプ 説明する
key_id 64ビット符号なし整数 すべてのフリーハンド スケッチの一意の識別子
言葉 プレーヤーにクラス (クラス ラベル) を描画するように促します。
認識された ブール値 このカテゴリがゲームで認識されるかどうか
タイムスタンプ ファイル時間形式 スケッチする時間
国コード プレーヤーがいる地域を描画します ( ISO 3166-1 alpha-2 の2 文字の地域コード)
描く 描画情報を表すJSON配列

データセットの各行は手描きのスケッチを表します。たとえば、次のとおりです (このテーブルの描画データは大きすぎるため、簡略化されています)。

国コード 描く key_id 認識された タイムスタンプ 言葉
私たち [[[0, 3, 12, 23, 40, 47, 53, 53, 49, 68, 88, 115, 125, 130], [36, 25, 14, 9, 8, 12, 24, 40, 56 、21、2、2、9、19]]、[[158、160、175、193、202、208、210、200、209、223、232、248、254、255]、[32、21、6 、4、7、14、28、57、34、13、8、6、13、38]]]

49934

26342

80550

0

真実 2017/3/25 2:43:15 動物の移動

プロット配列の形式は次のとおりです。

[ 
  [  // 第一笔 
    [x0, x1, x2, x3, ...],
    [y0, y1, y2, y3, ...],
    [t0, t1, t2, t3, ...]
  ],
  [  // 第二笔
    [x0, x1, x2, x3, ...],
    [y0, y1, y2, y3, ...],
    [t0, t1, t2, t3, ...]
  ],
  ... // 后续笔画
]

上の例の場合、(生バージョン) となります:

[
  [
    [221, 221, 222, 225, 228, 233, 239, 246, 253, 261, 269, 278, 287, 296, 305, 314, 322, 328, 332, 335, 336, 336, 336, 336, 334, 331, 329, 327, 327, 329, 332, 339, 344, 350, 355, 362, 368, 376, 384, 391, 398, 404, 411, 417, 424, 431, 439, 447, 454, 462, 469, 475, 480, 485, 491, 496, 499, 501, 502], 
    [198, 191, 185, 180, 173, 166, 159, 152, 147, 142, 139, 137, 136, 136, 136, 140, 145, 153, 162, 172, 180, 188, 197, 205, 215, 224, 231, 236, 241, 235, 230, 219, 210, 199, 188, 176, 165, 155, 146, 139, 133, 128, 124, 122, 121, 120, 120, 120, 120, 122, 124, 127, 130, 134, 140, 146, 152, 157, 160], 
    [0, 68, 95, 108, 130, 142, 158, 175, 192, 208, 229, 243, 258, 275, 292, 309, 329, 346, 360, 376, 396, 409, 426, 443, 460, 479, 496, 510, 543, 825, 859, 892, 908, 925, 941, 958, 975, 991, 1008, 1025, 1041, 1058, 1075, 1091, 1108, 1127, 1144, 1159, 1178, 1194, 1212, 1225, 1242, 1258, 1291, 1327, 1361, 1412, 1633]
  ], 
  [
    [562, 560, 563, 567, 572, 578, 584, 592, 599, 607, 615, 622, 630, 638, 645, 652, 658, 663, 670, 672, 673, 673, 673, 671, 668, 664, 660, 657, 654, 652, 655, 659, 665, 671, 678, 684, 690, 696, 702, 708, 716, 722, 729, 736, 743, 750, 756, 761, 768, 769, 770, 771, 771, 771, 771, 771, 771, 771, 771], 
    [189, 183, 172, 165, 158, 151, 145, 139, 134, 130, 129, 128, 128, 128, 130, 133, 136, 140, 150, 157, 164, 172, 181, 190, 201, 211, 222, 231, 238, 243, 230, 219, 206, 193, 181, 170, 162, 154, 147, 143, 139, 136, 135, 134, 133, 133, 133, 136, 146, 152, 158, 164, 170, 177, 185, 192, 198, 203, 203], 
    [2439, 2492, 2526, 2541, 2558, 2574, 2591, 2608, 2625, 2642, 2658, 2674, 2692, 2708, 2724, 2742, 2758, 2781, 2808, 2825, 2842, 2858, 2874, 2892, 2908, 2925, 2945, 2962, 2980, 2996, 3192, 3208, 3225, 3243, 3261, 3279, 3295, 3312, 3329, 3346, 3366, 3379, 3396, 3412, 3425, 3442, 3461, 3474, 3508, 3525, 3544, 3562, 3579, 3596, 3611, 3628, 3646, 3678, 3910]
  ]
]

ここで、x と y はピクセル座標、t は最初の点からの時間 (ミリ秒) です。x と y は実数値、t は整数です。ディスプレイと入力デバイスが異なるため、元のグラフィックスの境界ボックスとサンプリング ポイントの数は大きく異なる場合があります。

簡易版データ

ベクトルを簡素化し、タイミング情報を削除し、データを 256x256 領域に配置してスケーリングしました。 データは、元のデータと同じメタデータを含むndjson形式でエクスポートされます 。簡略化されたプロセスは次のとおりです。

  1. プロットを左上隅に揃えます。最小値は 0 です。
  2. 最大値 255 でグラフを均一にスケールします。
  3. すべてのストロークを 1 ピクセル間隔でリサンプリングします。
  4. Ramer-Douglas-Peucker アルゴリズムを使用し、イプシロン値 2.0 を使用して すべてのストロークを簡素化します

おすすめ

転載: blog.csdn.net/qq_54708219/article/details/129709006