Image taken from: EDAG Group

Machine Learning: Effiziente Trainingsdatengenerierung mit mobilen Endgeräten

Die Objekterkennung mit Hilfe neuronaler Netzwerke hält immer mehr Einzug in unterschiedliche Bereiche. Neuronale Netze orientieren sich an der Struktur des menschlichen Gehirns. Grundlegend bestehen sie aus einer beliebigen Anzahl Neuronen, die untereinander verbunden sind und mathematische Operationen ausführen.
Von   Maximilian Happel   |  Softwareentwickler   |  EDAG Group
18. August 2022

Mit für den Zweck des Netzes vorbereiteten Daten (beispielsweise markierte Autos in Verkehrssituationen) kann das neuronale Netz trainiert werden. Dadurch werden Parameter der mathematischen Operationen und der Verbindungen zwischen den Neuronen verändert, wodurch das neuronale Netz danach die Objekte selbst in beliebigen Bildern erkennen und annotieren kann. Dies findet Anwendung im Mobilitätssektor, der Medizin aber auch in der Logistik oder Agrarwirtschaft. Durch eine schnellere Anpassungsfähigkeit und Skalierbarkeit sind neuronale Netzwerke für viele Einsätze besser geeignet als herkömmliche Bilderkennungsalgorithmen.

Genauso wichtig wie die Netzarchitektur selbst sind die Trainingsdaten, mit denen das neuronale Netz trainiert wird. Diese Trainingsdaten können beispielsweise ein Satz von Bildern sein, die verschiedene Verkehrssituationen inklusive Verkehrsteilnehmern wie Autos, Fahrradfahrern und Fußgängern zeigen. Jedes Bild bekommt zusätzlich eine Textdatei zugeordnet, in der die Position, Größe und Objektklasse aufgezählt sind. Hier gilt der Grundsatz „Garbage in, Garbage out“ (GIGO): Ein neuronales Netz kann perfekt für eine bestimmte Anwendung ausgelegt sein, bei ungeeigneten oder unzureichenden Trainingsdaten wird es dennoch seinen Zweck nicht erfüllen. Für viele Objekte, vorwiegend Alltagsgegenstände wie Autos, Fahrräder und Personen, sind bereits qualitativ hochwertige Trainingsdatensätze online frei verfügbar. Diese Datensätze können online heruntergeladen und in die entsprechende Software zum Training eingespeist werden. Wenn jedoch neue Trainingsdaten benötigt werden, wie beispielsweise in der Logistik, so ist ein Verfahren zur initialen Trainingsdatengenerierung nötig.

Herkömmliche Arten der Datenannotation

Für die Generierung von Trainingsdaten braucht es die Datenannotation. Dabei werden bestimmte Bedingungen oder Darstellungen, die ein Datenobjekt erfüllen muss, festgelegt. Diese Bedingungen sind durch die Beschaffenheit des neuronalen Netzes und des Trainingsprozesses festgelegt. Danach werden die Annotationen zu den entsprechenden Bildern generiert. Dafür gibt es eine Vielzahl an Lösungen und Vorgehensweisen zur Datenannotation.
Diese Lösungen beinhalten meist eine Reihe von Funktionsumfängen, um Nutzer und Nutzerinnen bei der Annotation zu unterstützen:

1. Einzeldatengenerierung

Die Möglichkeit der manuellen Annotation einzelner Bilder eines Videos, sogenannter Frames, sollte in jedem Tool vorhanden sein. Dies dient dazu einzelne Daten zu korrigieren, wenn eines der intelligenteren Verfahren nicht das gewünschte Ergebnis liefert. Die manuelle Annotation kann außerdem durch ein Segmentierungsverfahren oder eine Kantenerkennung unterstützt werden, um beispielweise die Größe der Bounding Box (Begrenzungsrahmen des Objektes) anzupassen. Bei diesen Verfahren kann das Bild in verschiedene gleichartige Bereiche eingeteilt werden, um dem Nutzer die Annotation zu erleichtern. So können beispielsweise bei der Segmentierung abgegrenzte Objekte, wie Personen, vom Hintergrund hervorgehoben werden.

2. Crowdsourcing

Es gibt Anbieter, die sogenannte Projekte zur Einzeldatengenerierung anbieten. Innerhalb dieses Projektes werden Bilder zu den Objekten gesammelt, um die gewünschten Trainingsdaten zu generieren. So kann jeder selbstständig Bilder der betreffenden Objekte machen und annotieren. Hieraus können sehr vielfältige und umfangreiche Datensätze entstehen, was eine Objekterkennung sehr robust und für viele unterschiedliche Situationen einsetzbar macht. Nachteil ist hier, dass es häufig eine längere Zeit dauert, bis ein ausreichend großer Datensatz generiert wurde.

3. Teilautomatisierte Verfahren

Zu den etablierten Verfahren zählen hier vor allem die Propagation und lineare Interpolation der Annotationen. Propagation bedeutet in diesem Fall das Kopieren von Annotationen, was vor allem bei statischen Objekten und Kameraperspektive hilfreich ist. Die lineare Interpolation unterstützt bei konstanter Bewegung der Kameraperspektive oder des Objekts über mehrere Frames.
Aktuelle Tools nutzen intelligente Instrumente wie Objekt-Tracker und vortrainierte Modelle. Ein Objekt-Tracker kann ein einmalig annotiertes Objekt über mehrere Frames verfolgen, sodass es im Idealfall nur einmal im ersten Frame annotiert werden muss. Vortrainierte Modelle sind bereits mit annotierten Daten trainiert und können somit bereits die zu annotierenden Objekte mit einer hohen Wahrscheinlichkeit erkennen und annotieren. Voraussetzung ist hierbei, dass es bereits geeignete Daten und Modelle für die betreffenden Objekte gibt.

4. Data Augmentation

Data Augmentation wird verwendet, um bestehende Datensätze künstlich zu erweitern. Das heißt, dass annotierte Bilder beispielsweise gedreht, gespiegelt, verzerrt oder verrauscht werden. Je nach Anwendungsfall können die annotierten Objekte auch teilweise verdeckt werden. Diese Methode ist vor allem dann hilfreich, wenn wenige bis gar keine Trainingsdaten zugrunde liegen.

5. Synthetische Daten

Eine weitere Möglichkeit zur künstlichen Generierung von Trainingsdaten sind synthetische Daten. Hier werden mit entsprechenden Tools die zu annotierenden Objekte möglichst nah an der Realität modelliert, um so automatisiert und zufällig Trainingsdaten zu erzeugen. Hierbei ergibt sich jedoch teilweise das Problem, dass bestimmte Aspekte, Besonderheiten oder Spezifikationen der Objekte nicht beachtet werden. Dadurch werden die synthetischen Daten zwar sehr gut erkannt, jedoch kann es zu Fehlern bei der Erkennung realer Daten kommen. Ähnlich zu Data Augmentation macht die synthetische Datengenerierung in Bereichen Sinn, in denen neue Trainingsdaten nur schwierig zu beschaffen sind.

Diese etablierten Methoden zur Datenannotation sind Inhalt der meisten gängigen Lösungen. Einige dieser Methoden können jedoch nur bei bereits vorhandenen Trainingsdaten eingesetzt werden.

Herausforderung bei neuen Objekten

Jedoch gibt es immer wieder Bereiche und Objekte, die von Grund auf komplett neu erschlossen und annotiert werden müssen – und das in den meisten Fällen in kürzester Zeit. Dazu gehören beispielsweise neue Waren im Logistikzentrum. Für diese Objekte gibt es keine annotierten Datensätze, wodurch der Einsatz von vortrainierten Modellen und Data Augmentation zunächst keine Option sind. Hierbei müssen neue Daten per Video- oder Fotoaufnahmen vor Ort gesammelt und im Nachgang mithilfe der Propagation, linearen Interpolation und intelligenten Objekt-Trackern annotiert werden. Crowdsourcing oder synthetische Datengenerierung sind dabei zeit- und ressourcenintensiv und kommen deshalb eher selten zum Einsatz.

Funktionsweise Objekt-Tracker: Rechts initiale Bounding Box, links automatische Anpassung der Bounding Box – Quelle: EDAG Group

Die Idee zu mobilen Datenannotation

Es gibt erste Überlegungen zur mobile Datenannotation. Dabei wird die Datenaufnahme und -annotation gleichzeitig mithilfe des mobilen Endgeräts durchgeführt. Die Smartphones oder Tablets der Nutzer verfügen mittlerweile über eine oder gar mehrere hochauflösende Kameras sowie eine immer bessere Rechenleistung. Somit können vor Ort und zu jeder Zeit Objekte bildbasiert aufgenommen und annotiert werden.

Objekt-Tracker und Segmentierungs-Algorithmen unterstützen hierbei. Nutzer und Nutzerinnen können das Objekt, das auf dem Kamerabild des mobilen Endgeräts angezeigt wird, mit einer Bounding Box annotieren. Der Segmentierungs-Algorithmus passt dabei die Bounding Box entsprechend an die eindeutig abzugrenzenden Merkmale auf dem Kamerabild an. So wird eine möglichst genaue und eindeutige Bounding Box erstellt und die zusätzliche Zeichnung einer solchen auf dem Touch-Bildschirm entfällt. Im zweiten Schritt verfolgt der Objekt-Tracker das Objekt frameübergreifend – also von Bild zu Bild. Auch dieser Vorgang kann durch eine regelmäßige Neu-Segmentierung und Anpassung der Bounding Box optimiert werden. Viele aktuelle Objekt-Tracker nutzen bereits gewisse Segmentierungsalgorithmen, um das Objekt nicht zu verlieren und so die Effizienz zu verbessern.

Das Objekt kann somit aus unterschiedlichen Winkeln und Entfernungen aufgenommen werden, während die Bounding Box nur einmal beim Start der Aufzeichnung definiert wird. Ist ein Objekt aus allen Perspektiven aufgenommen, wird das Vorgehen beim nächsten Objekt wiederholt, bis sich ein ausreichend großer Trainingsdatensatz angesammelt hat.

Jedes annotierte Bild wird dann entweder offline auf dem Mobilgerät abgelegt und sobald eine Internetverbindung besteht, übertragen. Es kann aber auch bei bestehender Mobilfunkverbindung direkt mit einem Online-Speicher für die Weiterverarbeitung synchronisiert werden. Bei einer bestehenden Internetverbindung können auch direkt einzelne, abseitsgelegene Annotationen oder verschwommene Bilder aussortiert werden. Zusätzlich ist es möglich, dass während der Aufnahme und Annotation das Zielmodell direkt mit den neuen Daten trainiert wird. Das so trainierte Modell kann dann zurück auf das Mobilgerät übertragen werden. Daraufhin wird die Funktionsfähigkeit live ausgetestet sowie als vortrainiertes Modell für die Datenannotation genutzt.

Das mobile Verfahren im Einsatz – Quelle: EDAG Group

Technische Voraussetzungen

Die Effizienz dieses Verfahrens hängt dabei von der Performance und Eignung des mobilen Endgeräts, des Objekt-Trackers sowie des Segmentierungsalgorithmus ab. Ist einer der Bausteine nicht für die Anwendung geeignet, muss doch jedes Bild einzeln betrachtet werden und kann nicht frameübergreifend analysiert werden. Sind diese jedoch mit hoher Leistung und passender Eignung ausgestattet, muss nur noch im Nachgang grob kontrolliert werden, dass keine unerwartet falschen Annotationen vorgenommen wurden. Sprich, dass die Bounding Box weder zu klein noch zu groß oder an falscher Stelle definiert wurde. Sowie die richtige Markierung des entsprechenden Objekts.

Beispielsweise eignet sich ein Tablet, dank besserer Bedienbarkeit und Performance, eher als ein Smartphone. Zudem führen mehrere Objekt-Tracker und leistungsstarke Segmentierungsalgorithmen zu einer höheren Effizienz und qualitativ hochwertigen Annotationen.

Die fertige Toolkette sollte auf sich ändernde Situationen wie Beleuchtung, Objektgröße und –art sowie Wetter vorbereitet sein. Bedeutet, dass mehrere Optionen für verschiedene Objekt-Tracker, Segmentierungsalgorithmen sowie Machine Learning-Modelle vorhanden sind, um gegebenenfalls im laufenden Betrieb wechseln zu können.

Weitere Einsatzfelder

Es gibt jedoch Bereiche, in denen diese Form der Objekterkennung zwar eingesetzt, aber keine Trainingsdaten über Kameras aufgezeichnet werden können. Beispielsweise bei bildgebenden Verfahren in der Medizin wie Ultraschall, MRT oder PET-CT. Hier kann aber das Grundkonzept zum Einsatz kommen, um mithilfe von Live-Aufnahmen gesunde als auch auffällige Gewebestrukturen zu annotieren. So könnte medizinisches Personal während Routine-Untersuchungen das Gewebe markieren, um Daten zu erzeugen. Diese können dann zum Training eines Modells verwendet werden, um später wiederum bei der Erkennung von Erkrankungen zu unterstützen.


Fazit

Die Trainingsdatengenerierung mit mobilen Endgeräten hat das Potential schnell und effizient neue Daten zu annotieren, wenn eine neue Objekterkennung entwickelt werden soll. Aktuell erfordert die Generierung von Trainingsdaten noch viel manuelle Arbeit durch den Menschen. Unterstützt wird hier zwar durch verschiedene teilautomatisierte Algorithmen, jedoch könnte der Automatisierungsgrad durch den beschriebenen Ansatz steigen. Durch in Zukunft performantere Objekt-Tracker, Segmentierungsalgorithmen und leistungsfähigere Endgeräte könnte dieser Ansatz eine Alternative zur herkömmlichen Trainingsdatengenerierung in bestimmten Bereichen sein.

Maximilian Happel startete 2012 mit einem dualen Studium der Elektro- und Informationstechnik bei der EDAG Group, das er 2016 mit dem Bachelor-Abschluss beendete. Nach einigen Monaten bei EDAG in Köln verbrachte er 1,5 Jahre bei Ford in Köln als HIL-Testingenieur, bevor er als Softwareentwickler im Bereich der Konzeptentwicklung in Fulda 2018 startete. Parallel zum Beruf absolvierte er ein Masterstudium im Bereich Eingebettete Systeme, das mit der Masterthesis zur effizienten Trainingsdatengenerierung mit mobilen Endgeräten 2021 endete.

Um einen Kommentar zu hinterlassen müssen sie Autor sein, oder mit Ihrem LinkedIn Account eingeloggt sein.

30078

share

Artikel teilen

Top Artikel

Ähnliche Artikel