Endereço de download do conjunto de dados: Quick, Draw! Doodle Recognition Challenge | Kaggle https://www.kaggle.com/competitions/quickdraw-doodle-recognition/data
O conjunto de dados do QuickDraw é uma coleção de milhões de esboços desenhados à mão em 345 categorias, capturados como vetores com carimbo de data e hora e marcados com metadados, incluindo o que o jogador deve desenhar e o país em que o jogador está.
QuickDraw oferece duas versões dos dados. Os dados originais são a entrada exata registrada do desenho do usuário, enquanto a versão simplificada tem pontos desnecessários removidos das informações do vetor. (Por exemplo, uma linha pode ter 8 pontos registrados, mas como você só precisa de 2 pontos para identificar exclusivamente uma linha, pode remover 6 pontos). O arquivo simplificado é muito menor e fornece efetivamente as mesmas informações.
Dados não tratados
Os dados brutos são fornecidos como arquivos ndjson organizados por categorias no seguinte formato:
chave | tipo | ilustrar |
key_id | inteiro sem sinal de 64 bits | Identificador exclusivo para todos os esboços à mão livre |
palavra | corda | Solicita ao jogador que desenhe a classe (rótulo da classe) |
reconhecido | valor booleano | Se esta categoria é reconhecida pelo jogo |
carimbo de data/hora | formato de hora do arquivo | hora de esboçar |
Código do país | corda | Desenhe a região em que o jogador está ( ISO 3166-1 alpha-2 código de região de duas letras) |
desenho | corda | Uma matriz JSON representando informações de desenho |
Cada linha do conjunto de dados representa um esboço desenhado à mão. Por exemplo (os dados do desenho desta tabela são simplificados porque são muito grandes):
Código do país | desenho | key_id | reconhecido | carimbo de data/hora | palavra |
NÓS | [[[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 |
verdadeiro | 25/03/2017 2:43:15 | migração animal |
O formato da matriz de plotagem é o seguinte:
[
[ // 第一笔
[x0, x1, x2, x3, ...],
[y0, y1, y2, y3, ...],
[t0, t1, t2, t3, ...]
],
[ // 第二笔
[x0, x1, x2, x3, ...],
[y0, y1, y2, y3, ...],
[t0, t1, t2, t3, ...]
],
... // 后续笔画
]
Para o exemplo acima, seria (versão bruta):
[
[
[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]
]
]
onde x e y são coordenadas de pixel e t é o tempo em milissegundos desde o primeiro ponto. x e y são valores reais e t é um número inteiro. Devido a diferentes dispositivos de exibição e entrada, a caixa delimitadora e o número de pontos de amostragem dos gráficos originais podem variar muito.
Dados da versão simplificada
Simplificamos os vetores, removemos as informações de tempo e posicionamos e dimensionamos os dados para uma região de 256x256. Os dados são exportados no formato ndjson com os mesmos metadados do original. O processo simplificado é:
- Alinha o gráfico ao canto superior esquerdo, com um valor mínimo de 0.
- Dimensiona o gráfico uniformemente, com um valor máximo de 255.
- Reamostrar todos os traços em intervalos de 1 pixel.
- Simplifique todos os golpes usando o algoritmo Ramer-Douglas-Peucker com um valor epsilon de 2,0 .