Zurück zu Blogs
Blog Img

Machine Vision: Wie neuronale Netze Bilder immer besser verstehen

In unserem Webinar „Machine vision: learning increasingly complex real-world scenarios with limited annotated data“ erläuterte Computer-Vision-Experte John Beuving, wie neuronale Netze Bilder und Videos anhand von Deep Learning immer besser verstehen können. In dieser Webinar-Zusammenfassung legen wir die wichtigsten Fakten und Lehren aus dem Webinar dar.

John Beuving weiß, wovon er spricht: Er ist schon fast zwei Jahrzehnte im Bereich Computer Vision tätig. 2003 begann er bei Siemens Mobile. Über Dacolian und DySI Analytics kam er zu SmarterVision, wo er als Computerexperte und CTO Computer-Vision-Lösungen mit gesellschaftlicher Relevanz entwickelt. 2014 promovierte er in Delft auf dem Gebiet modellfreie Objektverfolgung. Seit Kurzem entwickelt er beim NGO Sensing Clues ehrenamtlich Machine-Vision-Lösungen für den Erhalt von Flora und Fauna.

Die Mission: Bilder und Videos verstehen

Zunächst erläutert Beuving im Webinar, wie SmarterVision Computer Vision zum Beispiel für das Monitoring von Brücken, die Erkennung von Gefängnisschmuggel anhand von Überwachungskameraaufnahmen und die nichtinvasive Erkennung epileptischer Anfälle bei Kleinkindern einsetzt.

Der Software-Stack, den Smarter Vision dafür verwendet, umfasst unter anderem Folgendes:

- Bildklassifizierung: die Klassifizierung eines ganzen Bilds

- Objekterkennung: Identifizierung von Gegenständen und ihren Positionen

- Semantische Segmentierung: Welche Pixel gehören zu einem Objekt?

- Instanzsegmentierung: Identifizierung verschiedener Instanzen von Objekten

- Lageschätzung: Analyse der verschiedenen Lagen von Objekten

- Verfolgung: Objektverfolgung innerhalb einer Bilderfolge

Im Vergleich zu Einzelbildern seien mit Videobildern zusätzliche Herausforderungen verbunden, erläutert Beuving. „Denn man muss in einem Video nicht nur ermitteln, was geschieht, sondern auch wann es genau beginnt und endet.“ Das Schwierige daran sei insbesondere die Frage: Wie entwickelt man Software oder Erkennungsmethoden für Ereignisse, die nicht oft auftreten? Ein gutes Beispiel sei Schmuggelgut, das über eine Gefängnismauer geworfen wird: Dies geschehe selten und es gebe daher kaum Bilder davon.

Deep Learning-Revolution

Eine Lösung biete Deep Learning, eine auf künstlichen neuronalen Netzen basierende Form des maschinellen Lernens. Seit 2014 habe es im Bereich Deep Learning enorme Verbesserungen gegeben, vor allem dank besserer Grafikprozessoren, der Verfügbarkeit größerer Datensätze (ImageNet beispielsweise umfasse Millionen von manuell annotierten Bildern für Software zur visuellen Objekterkennung) und fortschrittlicher Lernverfahren, darunter Dropout und Batch-Normalisierung.

Beuving: „Deep-Learning-Modelle sind im Hinblick auf Daten ineffizient. Wollen Sie die Leistung verbessern? Dann brauchen Sie sehr große Mengen an annotierten Daten, aber diese sind nur in begrenztem Umfang verfügbar. Es gehen zwar riesige Datenmengen ein – allein auf YouTube mehr als 80 Jahre Videoaufnahmen pro Tag – aber diese sind vorwiegend nicht annotiert. Wir wollen von Daten lernen, aber wir können nicht alles labeln. Glücklicherweise verschieben sich die Grenzen dank Forschung immer weiter. Neue Verfahren und Datensätze führen dazu, dass Videoaufnahmen mit der gleichen Datenmenge besser verstanden werden.“

Das Datenparadoxon

Allerdings benötige man noch immer große Datenmengen. Am liebsten würden wir noch mehr mit noch weniger – oder sogar ganz ohne – Daten verstehen. Da komme das Datenparadoxon ins Spiel: Je mehr wir von einem Bild oder Video verstehen, desto schwieriger werde es, weitere Daten zu erhalten. Ein erschwerender Faktor sei die Einzigartigkeit eines Großteils des Bildmaterials. Für seltene oder schwierige Situationen bekomme man nur schwer mehr Daten.

Datenproblem lösen: mehr Daten

Der erste Schritt sei im Grunde immer, dafür zu sorgen, dass man mehr annotierte Daten hat. Die gängige Methode, um dies zu erreichen, sei gegenwärtig das überwachte Lernen, bei dem ein Mensch alle Datenpunkte labelt. Anschließend werde ein Klassifikator anhand dieser Datenpunkte trainiert.

Datengenerierung über GANs und Spiel-Engines

Die Überwachung lasse sich durch Datengenerierung begrenzen. Dies sei beispielsweise anhand von Spiel-Engines und Generative Adversarial Networks (GANs) möglich. Spiel-Engines, Softwareentwicklungsumgebungen für die Entwicklung von Videospielen, lassen sich unter anderem zur Generierung synthetischer Daten einsetzen, die man für das Training im Hinblick auf Foreground Detection und Objektverfolgung verwenden könne. Vor allem mit der Spiel-Engine Unity erziele man großartige Ergebnisse.

Ein Generative Adversarial Network lerne, Bilder zu generieren, die über die gleichen Merkmale verfügen wie die Bilder im Trainingsdatensatz, und dadurch könne man qualitativ hochwertige Bilder erzeugen. Dies sei auch das Verfahren, das der Erstellung von Deepfakes zugrunde liege.

Halbautomatisches überwachtes Lernen

Bei halbautomatischen Verfahren für überwachtes Lernen wie Pseudo-Labeling, Active Learning und Punktannotationen müsse der Anwender nicht alle Datenpunkte selbst analysieren. Pseudo-Labeling bedeute, die Überwachung durch das Finden der informativsten Daten zu begrenzen oder zu vereinfachen. Man trainiere das Modell mit einem Batch gelabelter Daten, das trainierte Modell prognostiziere Labels für die nicht gelabelten Daten und anschließend werde das Modell mit einer Kombination aus den Datensätzen mit Pseudo-Labels und Labels trainiert.

Von Active Learning sei die Rede, wenn menschliche Experten alle schwierigen Datenpunkte labeln. Danach werde der Klassifikator mit den neuen Datenpunkten erneut trainiert. Das Punktannotationsverfahren für Videoaufnahmen basiere auf Objekterkennung, wobei man mit begrenzter Überwachung Aktionen lokalisieren könne. In einem Video werden unterschiedliche Objekte im Zeitverlauf verfolgt und es lasse sich mit einem Klick eine ganze Reihe von Einzelbildern annotieren. Der große Nachteil all dieser halbautomatischen Verfahren sei, dass sie leider bei unausgewogenen Datensätzen nicht gut funktionieren.

Meta Learning

Ein relativ neues Konzept, bei dem mit weniger Daten schnell gelernt werden könne, sei Meta Learning. Dem liege die Idee zugrunde, dass Menschen und Tiere so schnell lernen, indem sie Kontexte beobachten, wobei auch andere Sinne und physische Merkmale von Objekten berücksichtigt werden. Dabei könne es sich um Few Shot Learning oder Zero Shot Learning handeln.

Beim Few Shot Learning benötige man einige Beispiele pro Klasse in den eigenen Daten, um es der Maschine zu ermöglichen, über die Klasse zu lernen. Das Modell suche unter anderem nach Übereinstimmungen zwischen den verschiedenen Klassen. Dies sei nicht zuletzt, weil man die neuronalen Netze auch für andere Support Sets verwenden könne, ein vielversprechendes Verfahren. Zero Shot Learning bedeute, dass man überhaupt keine Beispiele im Trainingsdatensatz habe. Das Modell klassifiziere Kategorien, die noch nicht gesehen wurden; die Daten werden anhand von nicht gelabelten Beispielen klassifiziert.

Selbstüberwachtes Lernen

Der derzeitige Hype im Bereich Computer Vision ist Beuving zufolge das selbstüberwachte Lernen. Dabei werden nicht annotierte Daten automatisch annotiert, damit ein unüberwachter Datensatz unter Überwachung trainiert werde. Im Wesentlichen sei dies automatische Annotation: Daten annotieren sich selbst und lernen von sich selbst.

Dies sei mit verschiedenen Verfahren möglich, zum Beispiel:

-Das neuronale Netz müsse prognostizieren, wie der fehlende Teil des Bilds aussieht

-Beim Exemplar-Verfahren werden mehrere Beispiele generiert, indem Anpassungen vorgenommen werden, zum Beispiel durch Maßstabsveränderung, Drehung und Kontrast- oder Farbveränderungen

-Jigsaw: Das Bild sei in Puzzleteile unterteilt und durch richtiges Zusammenfügen der Teile erlerne das Netz visuelle Konzepte

-Bei Videos lasse sich die Zukunft durch Lernen aus der Vergangenheit prognostizieren

Anomalieerkennung

Bei der Anomalieerkennung, die ein Alternativverfahren zur Lösung des Datenproblems sei, stehe im Mittelpunkt, alles von bestimmten Werten Abweichende aufzuspüren. Der Generator erlerne Konzepte aus der realen Welt, während der Diskriminator Anomalien anhand des Inputs erkenne.

In der Praxis

„Was wir derzeit oft einsetzen, ist Online Active Learning mit ‚Human in the Loop‘, sagt Beuving am Ende des Webinars. „Die Grundlage wird durch vorbereitendes selbstüberwachtes Training gelegt, anschließend führt ein menschlicher Experte die Active-Learning-Phase durch.“

Die Standardempfehlung des Computer-Vision-Veteranen an Unternehmen lautet: Sorgen Sie zuerst dafür, dass Sie mehr Daten bekommen. „Probieren Sie, wenn Sie genug Daten zur Verfügung haben, selbstüberwachtes Lernen aus, weil es so vielversprechend ist. Setzen Sie anschließend für die Feinabstimmung Meta-Learning-Verfahren oder Active Learning ein. Anomalieerkennung können Sie als Ausweichoption nutzen.“

Als Organisation einsteigen

Das Einstiegsniveau für Organisationen, die ins maschinelle Sehen einsteigen wollen, sei recht hoch, berichtet Beuving im Anschluss an das Webinar: „Es gibt keine Out-of-the-box-Lösungen und man benötigt dafür viel Erfahrung und Wissen. Zum Glück kann man dank Facebook und Google auf einem relativ hohen Niveau einsteigen. Sie forschen intensiv in diesem Bereich und stellen diverse Standard-Open-Source-Frameworks für maschinelles Sehen auf GitHub zur Verfügung. Man kann also als Organisation mit den eigenen Untersuchungen dort beginnen, wo Facebook und Google aufgehört haben. Wir gehen bei SmarterVision und Sensing Clues auch so vor.“

Das größte Problem, das man als Organisation angehen müsse, sei, das Maximale aus den Daten herauszuholen. Beuving: „Man muss ein Gefühl dafür entwickeln, und das gelingt nur, wenn man viel Erfahrung hat. Denn jede Art von Daten ist wieder anders.“ Zur Veranschaulichung verweist er auf Facebook PyTorch, ein Framework, das aus Bausteinen besteht, die man zu einer Lösung zusammenstellen muss. „Das Schwierige ist nicht nur, dass die Zusammenstellung perfekt sein sollte, sondern dass die verfügbaren Daten auch bestmöglich genutzt werden sollten.“

Lesen Sie auch unser Interview mit John Beuving über Anwendungsmöglichkeiten und Trends im Bereich Machine Vision.