Offizielle Referenz
Googles QuickDraw Component auf GitHub
Google Creative Lab hat nicht nur den Quick-Draw-Datensatz dokumentiert,
sondern auch ein Beispielprojekt veroeffentlicht: quickdraw-component.
Es ist heute archiviert, bleibt aber als technische Referenz interessant.
Was das Repository ist
Das Projekt ist eine Polymer/Lit-Web-Component, mit der sich einzelne
Quick-Draw-Doodles in Webseiten einbetten lassen. Die Nutzungsidee ist
bewusst klein: Eine Komponente wie <quick-draw category="apple">
laedt eine Zeichnung aus einer Kategorie und zeichnet sie auf ein Canvas.
Das ist keine vollstaendige Open-Source-Version des Spiels und auch kein Trainingscode fuer den neuronalen Klassifikator. Der Fokus liegt auf Datennutzung, Rendering und API-Zugriff auf bereits vorhandene Zeichnungen.
Component: Doodles im Browser rendern
Die Component besitzt Properties wie Kategorie, Index, Strichfarbe,
Strichbreite, Breite, Hoehe und Animationsmodus. Intern wird ein
canvas verwendet. Die Strichdaten bestehen aus separaten
X- und Y-Punktlisten je Stroke; optional kommen Zeitwerte hinzu, damit
eine Zeichnung in ihrer urspruenglichen Bewegung abgespielt werden kann.
<quick-draw
category="apple"
key="API_KEY"
animate>
</quick-draw>
Technisch ist das interessant, weil es die Struktur des Datensatzes sichtbar macht: Die Zeichnung ist nicht nur ein Pixelbild, sondern eine Folge von Liniensegmenten. Genau diese Eigenschaft ist auch fuer RNN-Modelle und Sketch-RNN relevant.
API: Kategorie, Count und einzelnes Drawing
Zum Component-Repo gehoert eine Express-basierte API-Schicht. Sie stellt unter anderem Endpunkte bereit, um die Anzahl der Doodles in einer Kategorie abzufragen oder eine bestimmte beziehungsweise zufaellige Zeichnung zu laden.
GET /drawing/:category/count
GET /drawing/:category?id=random&isAnimated=false
Die API unterscheidet zwischen vereinfachten und rohen zeitbasierten Zeichnungen. Fuer Animationen wird die rohe Variante genutzt; fuer statische Darstellung reicht die vereinfachte Form.
Self-Hosting statt Demo-Abhaengigkeit
Die README weist deutlich darauf hin, dass groessere Projekte nicht auf den Demo-Endpunkt bauen sollten. Stattdessen kann man die Doodle-Dateien in ein eigenes Google-Cloud-Storage-Bucket kopieren und die API selbst betreiben. Die API-README beschreibt dafuer Bucket-Kopie, lokale Konfiguration und App-Engine-Deployment.
Fuer DrawLa.app ist daran vor allem die Architektur interessant: Doodle-Daten liegen als Dateien im Storage, die API liefert gezielt einzelne Beispiele aus, und das Frontend rendert die Stroke-Daten im Browser.
Abgrenzung zu PyTorch und DrawLa/DrawClash
Das Google-Component-Repo beantwortet die Frage: Wie kann ich echte Quick-Draw-Doodles abrufen und anzeigen? Die PyTorch-Seite beantwortet dagegen: Wie trainiert man aus gerasterten Quick-Draw-Bildern einen CNN- Klassifikator?
DrawLa/DrawClash nutzt praktisch die zweite Richtung: Striche werden in ein Bild normalisiert und klassifiziert. Googles Component ist trotzdem eine gute Referenz, weil sie zeigt, wie der Datensatz als Webprodukt gedacht wurde: einzelne Kategorien, einzelne Zeichnungen, Canvas- Darstellung und optional zeitliche Animation.