L'ensemble de données Quick Draw est une collection de 50 millions de dessins répartis dans 345 catégories, contribués par les joueurs du jeu Quick, Draw !. Les dessins ont été capturés sous forme de vecteurs horodatés, étiquetés avec des métadonnées incluant ce que le joueur devait dessiner et dans quel pays il se trouvait. Vous pouvez parcourir les dessins reconnus sur quickdraw.withgoogle.com/data.
Nous les partageons ici pour que les développeurs, les chercheurs et les artistes puissent les explorer, les étudier et en tirer des leçons. Si vous créez quelque chose avec cet ensemble de données, veuillez nous en informer par e-mail ou à AI Experiments.
Nous avons également publié un didacticiel et un modèle pour former votre propre classificateur de dessins sur tensorflow.org.
Veuillez garder à l'esprit que même si cette collection de dessins a été modérée individuellement, elle peut toujours contenir du contenu inapproprié.
L'ensemble de données brutes modérées
Ensemble de données prétraité
Obtenez les données
Projets utilisant l'ensemble de données
Changements
Licence
Les données brutes sont disponibles sous forme de fichiers ndjson
séparés par catégorie, au format suivant :
Clé | Taper | Description |
---|---|---|
ID_clé | Entier non signé de 64 bits | Un identifiant unique sur tous les dessins. |
mot | chaîne | Catégorie que le joueur a été invité à dessiner. |
reconnu | booléen | Si le mot a été reconnu par le jeu. |
horodatage | dateheure | Quand le dessin a été créé. |
code pays | chaîne | Un code de pays à deux lettres (ISO 3166-1 alpha-2) indiquant l'endroit où se trouvait le joueur. |
dessin | chaîne | Un tableau JSON représentant le dessin vectoriel |
Chaque ligne contient un dessin. Voici un exemple d'un seul dessin :
{ "key_id": "5891796615823360", "word": "nose", "countrycode": "AE", "timestamp": "2017-03-01 20:41:36.70725 UTC","recognized":true,"drawing":[[[129,128,129,129,130,130,131,132,132,133,133,133,133,...]]] }
Le format du tableau de dessin est le suivant :
[ [ // Premier trait [x0, x1, x2, x3, ...],[y0, y1, y2, y3, ...],[t0, t1, t2, t3, ...] ], [ // Deuxième coup[x0, x1, x2, x3, ...],[y0, y1, y2, y3, ...],[t0, t1, t2, t3, ...] ], ... // Traits supplémentaires]
Où x
et y
sont les coordonnées des pixels et t
est le temps en millisecondes depuis le premier point. x
et y
ont des valeurs réelles tandis que t
est un nombre entier. Les dessins bruts peuvent avoir des cadres de délimitation et un nombre de points très différents en raison des différents dispositifs utilisés pour l'affichage et la saisie.
Nous avons prétraité et divisé l'ensemble de données en différents fichiers et formats pour le rendre plus rapide et plus facile à télécharger et à explorer.
.ndjson
) Nous avons simplifié les vecteurs, supprimé les informations de synchronisation, puis positionné et mis à l'échelle les données dans une région de 256 x 256. Les données sont exportées au format ndjson
avec les mêmes métadonnées que le format brut. Le processus de simplification était le suivant :
Alignez le dessin sur le coin supérieur gauche pour avoir des valeurs minimales de 0.
Mettez le dessin à l'échelle uniformément, pour avoir une valeur maximale de 255.
Rééchantillonnez tous les traits avec un espacement de 1 pixel.
Simplifiez tous les traits à l'aide de l'algorithme Ramer – Douglas – Peucker avec une valeur epsilon de 2,0.
Il existe un exemple dans examples/nodejs/simplified-parser.js montrant comment lire les fichiers ndjson dans NodeJS.
De plus, le document examples/nodejs/ndjson.md détaille un ensemble d'outils de ligne de commande qui peuvent aider à explorer des sous-ensembles de ces fichiers assez volumineux.
.bin
)Les dessins simplifiés et les métadonnées sont également disponibles dans un format binaire personnalisé pour une compression et un chargement efficaces.
Il existe un exemple dans examples/binary_file_parser.py montrant comment charger les fichiers binaires en Python.
Il existe également un exemple dans examples/nodejs/binary-parser.js montrant comment lire les fichiers binaires dans NodeJS.
.npy
) Tous les dessins simplifiés ont été rendus dans un bitmap en niveaux de gris 28x28 au format numpy .npy
. Les fichiers peuvent être chargés avec np.load()
. Ces images ont été générées à partir des données simplifiées, mais sont alignées au centre du cadre de délimitation du dessin plutôt qu'au coin supérieur gauche. Voir ici l'extrait de code utilisé pour la génération.
L'ensemble de données est disponible sur Google Cloud Storage sous forme de fichiers ndjson
séparés par catégorie. Consultez la liste des fichiers dans Cloud ou découvrez-en davantage sur l'accès aux ensembles de données publics à l'aide d'autres méthodes. À titre d'exemple, pour télécharger facilement tous les dessins simplifiés, une solution consiste à exécuter la commande gsutil -m cp 'gs://quickdraw_dataset/full/simplified/*.ndjson' .
Fichiers bruts ( .ndjson
)
Fichiers de dessins simplifiés ( .ndjson
)
Fichiers binaires ( .bin
)
Fichiers bitmap Numpy ( .npy
)
Ces données sont également utilisées pour entraîner le modèle Sketch-RNN. Une implémentation open source TensorFlow de ce modèle est disponible dans le projet Magenta (lien vers le dépôt GitHub). Vous pouvez également en savoir plus sur ce modèle dans cet article du blog Google Research. Les données sont stockées dans des fichiers .npz
compressés, dans un format adapté aux entrées dans un réseau neuronal récurrent.
Dans cet ensemble de données, 75 000 échantillons (70 000 formations, 2,5 000 validations, 2,5 000 tests) ont été sélectionnés au hasard dans chaque catégorie, traités avec la simplification de ligne RDP avec un paramètre epsilon
de 2,0. Chaque catégorie sera stockée dans son propre fichier .npz
, par exemple cat.npz
.
Nous avons également fourni les données complètes pour chaque catégorie, si vous souhaitez utiliser plus de 70 000 exemples de formation. Ceux-ci sont stockés avec les extensions .full.npz
.
Fichiers Numpy .npz
Remarque : Pour Python3, chargement des fichiers npz
à l'aide de np.load(data_filepath, encoding='latin1', allow_pickle=True)
Les instructions pour convertir les fichiers Raw ndjson
au format npz
sont disponibles dans ce cahier.
Voici quelques projets et expériences qui utilisent ou présentent l’ensemble de données de manière intéressante. Vous avez quelque chose à ajouter ? Faites-le-nous savoir !
Projets créatifs et artistiques
Collages de lettres par Deborah Schmidt
Expérience de suivi du visage par Neil Mendoza
Visages de l'humanité par Tortue
Infinite QuickDraw par kynd.info
Misfire.io par Matthew Collyer
Dessine ceci par Dan Macnish
Discours de gribouillage de Xinyue Yang
illustration de Ling Chen
Rêver de mouton électrique par le Dr Ernesto Diaz-Aviles
Analyses de données
Comment dessiner un cercle ? par Quartz
Forma Fluens de Mauro Martino, Hendrik Strobelt et Owen Cornec
Combien de temps faut-il pour dessiner (rapidement) un chien ? par Jim Vallandingham
Trouver de mauvais dessins de flamants roses avec des réseaux de neurones récurrents par Colin Morris
Facettes Plongée x Vite, Dessine ! par People + AI Research Initiative (PAIR), Google
Explorer et visualiser un ensemble de données mondial ouvert par Google Research
Apprentissage automatique pour la visualisation – Présentation/article de Ian Johnson
Papiers
Une représentation neuronale des dessins d'esquisses par David Ha, Douglas Eck, ICLR 2018. code
Sketchmate : hachage profond pour la récupération de croquis humains à l'échelle d'un million par Peng Xu et al., CVPR 2018.
Transformateur multi-graphique pour la reconnaissance de croquis à main levée par Peng Xu, Chaitanya K Joshi, Xavier Bresson, ArXiv 2019. code
Apprentissage approfondi de la représentation auto-supervisée pour les esquisses à main levée par Peng Xu et al., ArXiv 2020. code
SketchTransfer : une nouvelle tâche difficile pour explorer l'invariance des détails et les abstractions apprises par les réseaux profonds par Alex Lamb, Sherjil Ozair, Vikas Verma, David Ha, WACV 2020.
Apprentissage profond pour les croquis à main levée : une enquête de Peng Xu, ArXiv 2020.
Un nouveau modèle de reconnaissance d'esquisses basé sur des réseaux de neurones convolutifs par Abdullah Talha Kabakus, 2e Congrès international sur l'interaction homme-machine, l'optimisation et les applications robotiques, pp. 101-106, 2020.
Guides et tutoriels
Tutoriel TensorFlow pour la classification des dessins
Entraînez un modèle dans tf.keras avec Colab et exécutez-le dans le navigateur avec TensorFlow.js par Zaid Alyafeai
Code et outils
Vite, dessine ! API de composants polymères et de données par Nick Jonas
Rapide, dessinez pour le traitement par Cody Ben Lewis
Vite, dessine ! modèle de prédiction par Keisuke Irie
L'outil d'échantillonnage aléatoire de Learning Statistics est génial
Rendu SVG dans l'exemple d3.js par Ian Johnson (en savoir plus sur le processus ici)
Classification Sketch-RNN par Payal Bajaj
quickdraw.js par Thomas Wagenaar
~ Doodler ~ par Krishna Sri Somepalli
API Python quickdraw par Martin O'Hanlon
QuickDraw en temps réel par Akshay Bahadur
Traitement DataFlow par Guillem Xercavins
Plugin QuickDrawGH Rhino par James Dalessandro
QuickDrawBattle par Andri Soone
25 mai 2017 : mise à jour de l'ensemble de données Sketch-RNN QuickDraw, création d'ensembles complémentaires .full.npz
.
Ces données sont mises à disposition par Google, Inc. sous la licence Creative Commons Attribution 4.0 International.
Le tableau suivant est nécessaire pour que cet ensemble de données soit indexé par les moteurs de recherche tels que Google Dataset Search.
propriété | valeur | ||||||
---|---|---|---|---|---|---|---|
nom | The Quick, Draw! Dataset | ||||||
nom alternatif | Quick Draw Dataset | ||||||
nom alternatif | quickdraw-dataset | ||||||
URL | https://github.com/googlecreativelab/quickdraw-dataset | ||||||
pareil | https://github.com/googlecreativelab/quickdraw-dataset | ||||||
description | 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) | ||||||
fournisseur |
| ||||||
licence |
|