Machine Vision: Wie neuronale Netze Bilder immer besser verstehen

In unserem Webinar "Machine Vision: Lernen über zunehmend komplexe Szenarien mit begrenzten annotierten Daten" erklärte Computer-Vision-Experte John Beuving, wie neuronale Netze auf der Grundlage von Deep Learning immer besser darin sind, Bilder und Videos zu verstehen. In dieser Zusammenfassung des Webinars werden die wichtigsten Fakten und Lektionen erläutert. 

John Beuving: Visionär in der Entwicklung von Computer Vision

John weiß, wovon er spricht: Er ist seit fast zwei Jahrzehnten in der Welt der Computer Vision tätig. Im Jahr 2003 begann er bei Siemens Mobile. Über Dacolian und DySI Analytics kam er zu SmarterVision, wo er als Experte für Computer Vision und CTO sozial relevante Lösungen für Computer Vision entwickelt. Er promovierte in Delft über modellfreies Tracking; seit kurzem entwickelt er als Freiwilliger bei der NGO Sensing Clues Machine-Vision-Lösungen zum Schutz von Flora und Fauna. 

Verständnis von Bildern und Videos mit SmarterVision

Beuving erklärt im Webinar zunächst, wie SmarterVision Computer Vision zum Überwachen von Brücken, zur Erkennung von Schmuggel aufgrund von Kamerabildern in Gefängnissen und zur Erkennung epileptischer Anfälle bei kleinen Kindern auf nicht-invasive Weise einsetzt. Der Software-Stack, den SmarterVision dafür verwendet, umfasst unter anderem:

  • Bildklassifizierung: Klassifizierung eines gesamten Bildes.
  • Objekterkennung: Identifizierung von Objekten und deren Position.
  • Semantische Segmentierung: Welche Pixel gehören zu einem Objekt?
  • Instanzsegmentierung: Identifizierung verschiedener Instanzen von Objekten.
  • Pose-Schätzung: Analyse verschiedener Haltungen von Objekten.
  • Tracking: Verfolgung von Objekten in einer Serie von Bildern.

Video stellt laut Beuving zusätzliche Herausforderungen im Vergleich zu Einzelbildern dar. "Du musst nicht nur feststellen, was in einem Video passiert, sondern auch wann es genau beginnt und endet." Die Schwierigkeit dabei liegt vor allem darin, wie man Software oder Erkennung für Ereignisse erstellt, die selten auftreten. Schmuggelware, die über eine Gefängnismauer geworfen wird, ist ein gutes Beispiel dafür: Es kommt selten vor, daher gibt es kaum Bilder davon. 

Revolution des Deep Learnings

Deep Learning, also eine Form des maschinellen Lernens, die auf künstlichen neuronalen Netzen basiert, bietet eine Lösung. Seit 2014 hat sich Deep Learning enorm verbessert, insbesondere dank besserer Grafikprozessoren, größerer verfügbarer Datensätze (ImageNet enthält Millionen von Bildern für visuelle Objekterkennungssoftware, die manuell annotiert wurden) und fortschrittlicher Lernmethoden für Deep Learning, wie Dropout und Batch-Normalisierung. Beuving: "Deep Learning-Modelle sind Daten-ineffizient. Möchtest Du die Leistung verbessern? Dann benötigst Du sehr viele annotierte Daten, aber nur eine begrenzte Menge steht zur Verfügung. Es kommen zwar riesige Datenmengen herein, allein auf YouTube mehr als 80 Jahre Video pro Tag, aber das ist hauptsächlich nicht annotiert. Wir möchten aus Daten lernen, aber wir können nicht alles beschriften. Zum Glück werden die Grenzen durch Forschung ständig erweitert. Neue Techniken und Datensätze sorgen dafür, dass wir mit derselben Datenmenge ein besseres Verständnis von Video haben." 

Das Daten Paradox

Dennoch ist immer noch eine große Menge Daten erforderlich. Am liebsten würden wir mehr verstehen mit noch weniger - oder sogar überhaupt keine - Daten. Hier kommt das Daten Paradox ins Spiel: Je mehr wir über ein Bild oder Video verstehen, desto schwieriger ist es, mehr Daten zu erhalten. Ein erschwerender Faktor dabei ist, dass viele Bilddaten einzigartig sind: Für seltene oder schwierige Situationen ist es schwierig, mehr Daten zu erhalten. Datenproblem lösen: Der erste Schritt besteht immer darin, mehr annotierte Daten zu erhalten. Derzeit ist die bevorzugte Methode dafür überwachtes Lernen, bei dem ein Mensch alle Datenpunkte kennzeichnet. Anschließend wird ein Klassifizierer auf der Grundlage dieser Datenpunkte trainiert. 

Daten generieren mit GANs und Spiel-Engines

Die Überwachung kann eingeschränkt werden, indem Daten generiert werden. Dies kann beispielsweise mithilfe von Spiel-Engines und erzeugende gegnerische Netze (GANs) erfolgen. Spiel-Engines, also die Softwareentwicklungsumgebungen, mit denen Videospiele erstellt werden, können unter anderem zur Generierung synthetischer Daten verwendet werden, die zum Trainieren von Vordergrunderkennungs- und Tracking-Algorithmen dienen. Insbesondere mit der Spiel-Engine Unity erzielt man fantastische Ergebnisse.

Ein erzeugend gegnerisches Netzwerk lernt, Bilder zu generieren, die die gleichen Merkmale wie die Bilder im Trainingsdatensatz aufweisen, sodass hochwertige Bilder erstellt werden können. Dies ist auch die zugrunde liegende Technik für das Erstellen von Deepfakes. 

Semiautomatisches supervised learning

Bei semiautomatischen Methoden für überwachtes Lernen wie Pseudo-Labeling, Active Learning und Punktannotationen muss der Benutzer nicht alle Datenpunkte selbst analysieren. Pseudo-Labeling bedeutet, dass die Überwachung eingeschränkt oder vereinfacht wird, indem die informativsten Daten gefunden werden. Das Modell wird mit einem Batch gelabelter Daten trainiert. Das trainierte Modell sagt Labels für die ungelabelten Daten vorher, und dann wird das Modell mit den Pseudo-gelabelten und gelabelten Datensätzen zusammen trainiert. 

Beim Active Learning kennzeichnen menschliche Experten alle schwierigen Datenpunkte. Der Klassifizierer wird dann mit den neuen Datenpunkten erneut trainiert. Die Methode der Punktannotationen für Videos basiert auf der Objekterkennung, bei der man mit begrenzter Überwachung Aktionen lokalisieren kann. In einem Video werden im Laufe der Zeit verschiedene Objekte verfolgt, mit einem Klick kannst du ein Objekt über diese ganze Serie einzelner Bilder annotieren. Der große Nachteil all dieser halbautomatischen Methoden: Sie funktionieren leider nicht gut für unausgewogene Datensätze. 

Meta learning

Meta learning

Meta Learning ist ein relativ neues Konzept, bei dem schnell mit weniger Daten gelernt werden kann. Die Idee dahinter ist, dass Menschen und Tiere durch Beobachten von Kontexten schnell lernen, wobei auch andere Sinne und physikalische Eigenschaften von Objekten berücksichtigt werden. Es kann sich dabei um Few-Shot Learning und Zero Shot Learning handeln. 

Beim Few-Shot Learning benötigt man einige Beispiele pro Klasse in deinen Daten, damit die Maschine über die Klasse lernen kann. Das Modell betrachtet unter anderem Gemeinsamkeiten zwischen den verschiedenen Klassen. Dies ist eine vielversprechende Technik, nicht zuletzt, weil man die neuronalen Netze auch für andere Supportsets verwenden kann. Zero Shot Learning bedeutet, dass du überhaupt keine Beispiele in deinem Trainingsdatensatz hast. Das Modell klassifiziert Kategorien, die noch nicht gesehen wurden; die Daten werden anhand nicht markierter Beispiele klassifiziert. 

Self-Supervised Learning

Die heißeste Sache in der Computer Vision, wie Beuving sagt, ist derzeit das Self-Supervised Learning. Dabei werden unmarkierte Daten automatisch markiert, sodass ein nicht überwachter Datensatz auf eine überwachte Weise trainiert wird. Der Kern ist die Selbstkennzeichnung: Die Daten kennzeichnen sich selbst und lernen von sich selbst. Das kann auf verschiedene Arten geschehen, wie zum Beispiel:

  • Das neuronale Netzwerk muss vorhersagen, wie der fehlende Teil des Bildes aussieht.
  • Bei der Exemplartechnik werden mehrere Beispiele generiert, indem Anpassungen wie Skalieren, Drehen und Änderungen von Kontrast oder Farben vorgenommen werden.
  • Jigsaw: Das Bild ist in Puzzlestücke unterteilt, indem die Puzzlestücke richtig gelegt werden, lernt das Netzwerk visuelle Konzepte.
  • Bei Videos kannst du die Zukunft vorhersagen, indem du aus der Vergangenheit lernst. 

Anomaly detection

Die Erkennung von allem, was von bestimmten Werten abweicht, steht im Mittelpunkt der Anomalieerkennung, was eine alternative Möglichkeit ist, das Datenproblem zu lösen. Der Generator lernt Konzepte aus der realen Welt, während der Diskriminator Abweichungen basierend auf deren Eingabe erkennt. 

In der Praxis

"Was wir derzeit viel nutzen, ist Online-Active Learning mit einem Menschen in der Schleife", schließt Beuving das Webinar ab. "Die Grundlage bildet das selbst überwachte Pre-Training, danach übernimmt ein menschlicher Experte den Teil des aktiven Lernens."

Die Standardempfehlung für Unternehmen des Computer-Vision-Veteranen lautet: Stellen Sie immer zuerst sicher, dass Sie mehr Daten erhalten. "Wenn Sie genug Daten haben, versuchen Sie es mit selbst überwachtem Lernen, weil es so vielversprechend ist. Feinabstimmung erfolgt dann mit Meta-Lernmethoden oder aktivem Lernen. Anomalieerkennung kann als Backup-Option eingesetzt werden."

Für Unternehmen

Auf der Suche nach IT Development & Testing Professionals? Dank unseres starken Netzwerks an Expert:innen hilft Spilberg weiter. Erfahre mehr über IT-Personaldienstleistungen für Unternehmen.

Für Mitarbeiter

Gib deiner Karriere einen Boost! Spilberg ist der Partner an deiner Seite bei deiner Suche nach einem neuen Job oder Auftrag. Erfahre mehr über die Möglichkeiten und finde dein Match.