Simon HuberVon Simon Huber / 29.03.20
classifying-images-using-tensorflow-and-faced-challenges
arrow-back

Die Werbekampagne von Graubünden Tourismus mit den beiden Steinböcken «Gian und Giachen» ist äusserst erfolgreich. Deshalb wurde 2016 auch ein handgezeichnetes Kinderbuch von Gian und Giachen veröffentlicht.

Anfangs dieses Jahres durften wir die Umsetzung einer online Kinder-Plattform machen, welche die Agentur Wirz konzipiert hat. Das Buch wird auf dieser neuen Inspirationsplattform zum Leben erweckt. Die beiden Steinböcke helfen Nutzern aller Altersgruppen, das richtige Urlaubsziel zu finden. Ein Herzstück ist eine auf Machine Learning (ML) basierende Scanfunktion, die einen nahtlosen Übergang vom Buch zur Plattform ermöglicht: Kinder machen mit dem Handy via Webapp ein Foto einer Buchseite. Diese wird vom Algorithmus erkannt und der Benutzer wird daraufhin auf die animierte Szene der Plattform geleitet.

Da das Buch bereits veröffentlicht war und in den Bücherregalen vieler Haushalte stand, gab es keine Möglichkeit, einen QR-Code oder ähnliches zur Erkennung des Bildes zu verwenden – und selbst wenn es einen gegeben hätte, wäre ein QR-Code aus der UX-Perspektive nicht sehr elegant gewesen. Die Herausforderung für die Bilderkennung bestand darin, dass das gescannte Bild nicht nur in verschiedenen Auflösungen, sondern auch durch andere Faktoren verzerrt werden konnte:

Das Problem entspricht einem klassischen Kategorisierungsproblem: Jede Doppelseite gehört zu einer der 13 Szenen. Wir entschieden uns für die Verwendung von Deep Learning mit TensorFlow, indem wir ein Convolutional Neural Network (CNN) zur Klassifizierung dieser Bilder bildeten.

Verschiedene Winkel

Verschwommene Aufnahmen

Schatten auf dem Bild von Kamera oder Kopf des Benutzers

Ausschnitt der ganzen Seite

Es war notwendig, einen grossen Datensatz mit Trainingsdaten für jede Seite zu erstellen. Anstatt viele verschiedene Fotos zu machen (was sehr zeitaufwendig gewesen wäre), entschieden wir uns, von jeder Seite ein Video herzustellen und anschliessend jedes zehnte Teilbild dieses Videos zu verwenden.

75% der Daten wurde verwendet, um unserer Machine Learning Modell zu trainieren. Der restliche Viertel wurde benötigt, um die Genauigkeit unseres Modells zu testen.

Dank des Frameworks TensorFlow, das eine grosse Bibliothek an nützlichen Funktionen bietet, konnten wir diese Aufgabe effizient lösen. Interessieren auch Sie sich für Machine Learning? Ich freue mich, von Ihnen zu lesen.

👉Ein technisch ausführlicherer Bericht dieser Case Study finden Sie in diesem Blogartikel auf Englisch.

Diese Beiträge könnten Sie ebenfalls interessieren:

🎂