Bilder erkennen

In dieser Übung lernen wir ein Modell kennen, welches darauf trainiert wurde, Objekte auf Fotos zu erkennen.

Wie das Modell trainiert wurde und was es kann

Das Modell wurde durch überwachtes Lernen bereits trainiert. Wie wir wissen, benötigen wir für das überwachte Lernen Daten, die ein Label aufweisen. Für das Training des hier vorgestellten Modells wurde eine mehrere Millionen Fotos umfassende Bilddatenbank verwendet, wobei jedem Foto bereits eines von 1000 Labels zugewiesen wurde. Durch das erfolgte Training mit Millionen von gelabelten Trainingsbildern aus der Datenbank lernte das Modell, die 1000 Kategorien zu unterscheiden.

Foto-Trainingsdaten mit Labels

Das Modell im Einsatz mit Scratch

Das Modell kann über die Plattform Maschine Learning for Kids in Scratch-Programmierprojekten eingesetzt werden. Das Video erklärt Schritt für Schritt, wie wir auf der Webseite www.machinelearningforkids.co.uk/scratch3/ ein einfaches Projekt erstellen können, welches uns den Einsatz des Modells erlaubt.
Hinweis: Die Scratch-Erweiterung und die entsprechenden Bausteine für dieses Modell sind ausschliesslich über die Plattform Machine Learning for Kids verfügbar, nicht aber über die Seite www.scratch.mit.edu

Links und Materialien

  • Eine Liste mit den Namen der 1000 Objekte, auf die das Modell trainiert wurde, kann hier aufgerufen werden.

  • Das gesamte im Video vorgestellte Beispielprojekt kann hier heruntergeladen werden.

  • Die im Video verwendeten Beispielbilddateien können hier heruntergeladen werden (sämtliche Bilder unterstehen der Creative Commons Lizenz).

Warum das Modell auch Fehler macht

Bereits mit den wenigen Beispielbildern, die wir dem System im Video zur Analyse vorgelegt haben, hat sich gezeigt: Das System hat so seine Tücken. Einige Objekte werden sehr genau erkannt (Tigerkatze und Sportwagen), andere wiederum werden falsch analysiert (das Küken als Zwergpudel😉).

Der Grund für diese Ungenauigkeiten liegt beim erfolgten Training. Dieser Liste ist zu entnehmen, dass das Modell in seiner Trainingsphase nicht auf das Erkennen von Küken bzw. eben mit Kükenbildern trainiert wurde. Der Zwergpudel oder Sportwagen hingegen lagen in ausreichender Anzahl als gelabelte Trainingsdaten vor. Dieses Anwendungsbeispiel zeigt uns exemplarisch, dass ein maschinell trainiertes System nur so gut sein kann, wie es seine Trainingsdaten in der Trainingsphase waren. Eine zu geringe Anzahl von oder gar keine Kükenbilder im Trainingsdatensatz führen dazu, dass das System in der Anwendungsphase das macht, was wir Menschen auch tun, wenn wir etwas nicht wissen: Wir wechseln in den Ratemodus und versuchen, eine bestmögliche Schätzung abzugeben.

Zum Weiterdenken

  • Du möchtest eigene Bilder analysieren und das Modell selbst entdecken? Als Grundlage kannst du das im Video vorgestellte Projekt hier herunterladen und es selbst anpassen und erweitern (z.B. eigene zusätzliche Kostüme zur Bildanalyse hinzufügen, einen Chatbot programmieren, der die Bilder analysiert etc.). Hier erfährst du, wie das Projekt auf machinelearningforkids.co.uk/scratch3 importiert werden kann.

  • Falls du dich für den umfangreichen Bilddatensatz interessierst, der für das Training des hier vorgestellten Modells verwendet wurde: Es handelt sich dabei um eine Teilmenge des ImageNet-Datensatzes, der für Forschungszwecke eingesetzt wird und in seinem vollen Umfang mehr als 14 Millionen von Hand dokumentierte (gelabelte) Bilder enthält. Weitere Informationen

Quellhinweise: