50 Mio.+ Zeichnungen
Gesammelt von Freiwilligen aus über 100 Ländern. Die Vielfalt ist der eigentliche Wert: unpräzise, schnelle, regionale und sehr persönliche Zeichenstile.
Datengrundlage
Googles Quick, Draw! begann 2016 als Browserexperiment: Menschen zeichnen einen Begriff in zwanzig Sekunden, eine KI rät live mit. Aus diesen Partien entstand mit über 50 Millionen Zeichnungen in 345 Kategorien einer der größten offenen Skizzendatensätze überhaupt — und einer der eigenwilligsten.
Das Originalspiel ist weiterhin online: Quick, Draw! bei Google öffnen.
Gesammelt von Freiwilligen aus über 100 Ländern. Die Vielfalt ist der eigentliche Wert: unpräzise, schnelle, regionale und sehr persönliche Zeichenstile.
Von „Apfel" bis „Zickzack". Klein genug für Experimente auf einem Laptop, groß genug, dass die Aufgabe nicht trivial wird.
Gespeichert wird nicht nur ein Bild, sondern die Reihenfolge der Striche samt Zeitstempeln. Das macht den Satz für Sequenz- und Bildmodelle gleichermaßen brauchbar.
Der Datensatz wird in mehreren Varianten veröffentlicht, und die Wahl entscheidet, wie viel Vorarbeit anfällt:
Für DrawLa fiel die Wahl auf das vereinfachte Strichformat und eine eigene Rasterung auf 96 × 96 Pixel. Die fertigen 28 × 28-Bitmaps wären bequemer gewesen, sind aber zu grob: Bei dieser Auflösung verschmelzen Fahrradspeichen, Fensterkreuze und Tierbeine zu undifferenzierten Flächen. Wer selbst rastert, behält außerdem die Kontrolle darüber, dass Training und Inferenz exakt dieselbe Vorschrift benutzen — siehe QuickDraw mit PyTorch.
Diese Besonderheit übersieht man leicht, und sie prägt den ganzen Datensatz. Im Originalspiel endet eine Runde in dem Moment, in dem Googles Modell den Begriff errät. Wer eine sehr erkennbare Katze zeichnet, wird nach drei Strichen unterbrochen. Wer sich schwertut, zeichnet die vollen zwanzig Sekunden.
Der Datensatz enthält deshalb systematisch gerade eben erkennbare Zeichnungen — und kaum sorgfältig ausgearbeitete. Ein darauf trainiertes Modell erbt diese Erwartung. Das erklärt eine Beobachtung, die Spielern von DrawLa regelmäßig auffällt: Wer sich Mühe gibt und Details ergänzt, wird oft schlechter erkannt als jemand, der drei grobe Striche hinwirft. Das Modell ist nicht kaputt; es hat gelernt, was in seinen Daten stand.
Praktische Folge fürs Spiel: Die Silhouette und ein, zwei charakteristische Merkmale reichen. Alles Weitere entfernt die Zeichnung von dem, was das Modell kennt.
Jeder Eintrag bringt mehr mit als Striche und Label. Zwei Felder sind besonders nützlich:
recognized gibt an, ob Googles eigenes
Modell die Zeichnung während des Spiels erkannt hat. Damit lässt sich der
Satz filtern — allerdings um den Preis, dass man dann auf das Urteil
eines fremden Modells trainiert und dessen blinde Flecken übernimmt.
countrycode verrät die Herkunft. Damit
lassen sich kulturelle Unterschiede sichtbar machen, die inzwischen gut
dokumentiert sind: Ein Kreis wird in verschiedenen Ländern
unterschiedlich herum gezeichnet, Häuser und Stühle folgen regional
verschiedenen Konventionen. Für ein Modell, das die Sequenz auswertet,
ist das eine reale Fehlerquelle — für ein bildbasiertes CNN spielt die
Strichrichtung dagegen keine Rolle.
Hinzu kommen Zeitstempel und eine Kennung je Zeichnung. Der Datensatz steht unter CC BY 4.0, ist also bei Namensnennung frei verwendbar, auch kommerziell.
Es sind Millionen ungeprüfter Zeichnungen von Freiwilligen — mit allem, was das mit sich bringt. Ein Teil ist schlicht falsch beschriftet, weil Leute etwas anderes gezeichnet haben. Ein weiterer Teil besteht aus Kritzeleien, Buchstaben oder Scherzen. Manche Einträge sind nach einem einzigen Strich abgebrochen.
Deshalb ist Label Smoothing bei diesem Datensatz kein Feinschliff, sondern angemessen: Es hindert das Modell daran, sich auf verrauschte Labels mit voller Überzeugung festzulegen. Ebenso wichtig ist eine realistische Erwartung an die erreichbare Genauigkeit — ein Teil des verbleibenden Fehlers ist nicht behebbar, weil bereits die Vorlage mehrdeutig ist.
Hinzu kommt echte Mehrdeutigkeit zwischen Kategorien. Manche Klassenpaare sind als schnelle Kritzelei praktisch nicht unterscheidbar: Schnecke und Muschel, Wolke und Schaf, Blaubeere und einfach nur ein Kreis. Kein Modell wird das zuverlässig trennen, weil auch Menschen es nicht können.
Alle 50 Millionen Zeichnungen zu verwenden klingt verlockend, lohnt sich aber selten. Für DrawLa werden 5 000 Zeichnungen je Kategorie verwendet, insgesamt also rund 1,7 Millionen Bilder. Der Zugewinn oberhalb dieser Größenordnung ist bei einem Modell mit zwei Millionen Parametern gering, während Downloadzeit, Speicherbedarf und Trainingsdauer linear mitwachsen.
Der zweite Grund ist Ausgewogenheit. Der vollständige Datensatz ist deutlich unbalanciert — beliebte Kategorien haben ein Vielfaches der Zeichnungen seltener Begriffe. Eine feste Obergrenze je Klasse stellt Gleichgewicht her, ohne dass Klassengewichte in der Verlustfunktion nötig werden.
DrawLa übernimmt die 345 Kategorien als Begriffsvorrat und klassifiziert gerasterte Skizzen mit einem kompakten CNN. Der Datensatz liefert damit beides: die Wortliste, die im Spiel ausgelost wird, und die Grundlage, auf der die Erkennung überhaupt funktioniert.
Warum aus den Strichfolgen ein Bild wird statt einer Sequenz, behandelt der Vergleich RNN gegen CNN. Die Umsetzung beschreibt QuickDraw mit PyTorch, und Googles eigene Komponente zum Abrufen einzelner Doodles ist unter Google-GitHub-Implementierung eingeordnet.
DrawLa.app ist unabhängig von Google. Quick, Draw! und der Datensatz sind Werke von Google Creative Lab und werden hier als Datenquelle genannt; Google unterstützt oder empfiehlt DrawLa nicht.