Künstliche neuronale Netze zur Objekterkennung, als ein Teilbereich der Künstlichen Intelligenz (KI), finden immer stärkere Anwendung in der Industrie, zum Beispiel bei der Realisierung autonomer Fahrfunktionen. Diese Netze werden mithilfe großer Datenmengen trainiert. Die Bilddaten dafür zu erstellen ist ein sehr aufwendiger Prozess, da jedes Bild meist manuell gelabelt werden muss. Label sind Zusatzinformationen, die Objekte im Bild identifizieren und diese dadurch für die Weiterverarbeitung mit KI-Methoden nutzbar machen.
Für Objekterkennungssysteme in sicherheitskritischen Bereichen wie Automotive und Bahntechnik besteht zusätzlich die Herausforderung, dass gerade kritische Szenarien in der Datenbasis des Trainingssatzes oft unzureichend repräsentiert sind, gerade weil es sich meistens um kontextuell seltene oder unerwartete Ereignisse handelt. Solche Störereignisse können beispielsweise extreme Wetterbedingungen aber auch Kamerafehler, wie Linsenverzerrung oder chromatische Aberration, sein. Eine Verifikation des Systems für selten auftretende Gefahrensituationen ist allerdings zwingend notwendig.
Enthält ein Trainingsdatensatz zu wenige Bilddaten für einen aussagekräftigen Test, müssen neue Testbilder generiert werden. Die manuelle Erstellung von Testbildern ist aufgrund der benötigten Datenmenge oft sehr aufwändig oder schlicht nicht praktikabel. Durch die gezielte Veränderung bestehender Bildinformationen lassen sich jedoch neue Testdaten generieren und für den Test nutzbar machen.
Metamorphe Bildtransformationen sind Veränderungen von Bildern, die so vorgenommen werden, dass sie keinen Einfluss auf das Label des Bildes haben. Wird beispielsweise die Helligkeit eines Bildes verringert, verändert sich zwar das Bild, nicht aber die Position und die Art der darauf zu erkennenden Objekte.
Für das Erstellen von metamorph veränderten Bildern ist es wichtig, das potenzielle Einsatzgebiet der Objekterkennung systematisch zu betrachten. Welche Fehler können auftreten? Welche seltenen Situationen sind denkbar?
Eine geeignete Methode ist die Klassifikationsbaumanalyse. Die Pfade des Baumes beschreiben in Kategorien geordnete Umgebungsvariablen und Fehlerquellen (siehe Abbildung 1). Sinnvolle Kategorien bei einem im Straßen- oder Zugverkehr eingesetzten System sind beispielsweise die Wetter- und Lichtverhältnisse, Bewegungsstörungen sowie Kamerahard- und -softwarefehler.
Die in so einem Baum enthaltenen Störungen sollen anschließend simuliert, also über Bildveränderungen erzeugt werden, ohne dass es zu einer Änderung der im Bild enthaltenen Label kommt. Andernfalls muss das Bildmaterial manuell neu gelabelt werden. Veränderungen wie das Einfügen und vollständige Verdecken von Objekten sind also nicht sinnvoll.
Um den Erhalt der korrekten Label sicherzustellen, erfolgt die Bilddatengenerierung in diesem Ansatz ausschließlich mit Hilfe von deterministischen Algorithmen, da diese bei gleicher Eingabe immer eine identische Ausgabe produzieren. Andere Ansätze der Datengenerierung, wie zum Beispiel neuronale Netzwerke, sind für das Verifizieren von Objekterkennungssystemen weniger geeignet, da sie aufgrund ihrer probabilistischen Natur eigene Unsicherheiten in den Verifikationsprozess einbringen.
Zur Störungssimulation können sowohl einfache Änderungen am Farbraum und an den Pixelwerten vorgenommen, also auch komplexere Algorithmen verwendet werden (siehe Abbildung 2). Die Simulation sollte zudem parametrierbar sein, um die Stärke von Bildveränderung einstellen zu können. Dadurch kann das System unter unterschiedlich starken Bedingungsänderungen getestet werden.
Im Rahmen des Forschungsprojektes KI-LOK hat ITPower Solutions einige solcher Algorithmen erstellt und zur Testdatengenerierung verwendet. Um die Bildtransformationen zu realisieren, wurden die Python Bibliothek Numpy und OpenCV, eine Bibliothek für Bildverarbeitungsmethoden, verwendet.
Als Beispiel für eine Transformation dient hier ein implementierter Algorithmus, der Regentropfen auf einer Scheibe simuliert (siehe Abbildung 3). Um die Regentropfen zu simulieren, wurden lichtbrechende, zufällig platzierte und verformte Kreise in das Bild eingefügt. Tropfenposition und -größe wurden dabei zufällig festgelegt, die Anzahl der Tropfen kann vom Benutzer eingestellt werden. Über eine Wahrscheinlichkeitsverteilung wurde sichergestellt, dass kleinere Tropfen häufiger auftreten als große. Anschließend wurde für den jeweiligen Tropfen an jeder Position seine Höhe bestimmt. Diese wird durch eine Kosinus-Funktion festgelegt und mit Simplex Noise versehen, sodass die Tropfen eine zufällige Form erhalten. Anschließend wird der Normalenvektor des Tropfens an der aktuellen Position ermittelt. Von diesem werden anschließend nur die X- und Y-Werte verwendet und von der aktuellen Position im Bild abgezogen, um einen Lichtbrechungseffekt zu erzeugen. Ein Ausschnitt des Quellcodes für diesen Algorithmus ist in Abbildung 4 dargestellt.
Um zu evaluieren, inwieweit metamorphe Transformationen ein Objekterkennungssystem stören können, wurden weitere Veränderungsalgorithmen implementiert. Darunter simple Effekte wie die Verdunklung des Bildes, aber auch komplexe Wettereffekte wie Hitzeflimmern, Nebel oder Schnee.
Im Rahmen des Projekts wurden diese metamorphen Transformationen auf einen Objekterkennungsdatensatz angewendet, um die Auswirkungen auf ein damit trainiertes System zu untersuchen. Bei dem Datensatz handelt es sich um Microsoft COCO. Dies ist ein umfangreicher Datensatz für Objekterkennung, Bildsegmentierung und Labeling, der oft für Machine Learning und Bildererkennungsprojekte verwendet wird.
Die so transformierten Bilder wurden anschließend verwendet, um ein Objekterkennungssystem beispielhaft zu testen. Dazu wurden Transformationen in verschiedenen Stärken angewandt und die Genauigkeit des Systems mit der bei der Erkennung unveränderter Bilder verglichen. Bei dem System unter Test (SUT) handelt es sich um das neuronale Netzwerk Centernet Hourglass von Duan et al (2019). Dieses weist eine hohe Genauigkeit auf und eignet sich dadurch besonders gut für das Evaluieren der metamorphen Transformationen.
In Abbildung 5 ist ein Auszug der Ergebnisse des Experiments zu sehen. Bei unveränderten Bildern ist die Genauigkeit mit 0.52 am höchsten. Die Genauigkeit nimmt mit zunehmender Transformationsstärke unterschiedlich stark ab. Es ist deutlich zu sehen, dass das Objekterkennungssystem am stärksten durch Effekte gerichteter Bewegungsunschärfe gestört wird. Das Verfahren gibt also Hinweise, worauf sich die Entwicklungsarbeit konzentrieren muss. In diesem Fall müssen Maßnahmen ergriffen werden, um das Auftreten von Bewegungsunschärfe zu vermeiden oder zu minimieren.
Ausgehend von der Frage, ob sich metamorphe Bildtransformationen dazu eignen, ein Objekterkennungssystem zu testen, wurden im dargestellten Ansatz verschiedene Transformationen implementiert, auf einen Datensatz angewandt und anschließend ein Beispielsystem mit den transformierten Bildern getestet. Die Ergebnisse zeigen, dass metamorphe Transformationen durchaus dazu geeignet sind, Testdaten zu generieren, um besondere Schwachstellen in einem Objekterkennungssystem aufzudecken und die Zuverlässigkeit von neuronalen Netzen zu erhöhen. Das Verfahren sollte sich auch auf die Generierung von Trainingsdaten überragen lassen.
Ich bin Ihr vertrieblicher Ansprechpartner und berate Sie gerne zu allen Fragen rund um unsere Dienstleistungen und Produkte! Melden Sie sich oder vereinbaren Sie einfach einen Termin für ein kostenloses Beratungsgespräch.
Sebastian Stritz
E-Mail: sebastian.stritz@itpower.de
Telefon: +49 (0)30 6098501-17
