Fahrzeuge, die sich alleine durch den alltäglichen Verkehr navigieren, während der Fahrer am Laptop arbeitet oder sich auf dem Rücksitz entspannt: Noch sind diese Bilder Zukunftsmusik. Doch auch wenn vollautonome Fahrzeuge (noch) nicht für den Straßenverkehr zugelassen sind, verbauen Automobilhersteller immer öfter Assistenzsysteme serienmäßig. Beispiele dafür sind Notbremsassistenten oder Schildererkennungen - die auch unter schwierigen Witterungsbedingungen zuverlässig funktionieren müssen.
Assistenzsysteme arbeiten auf der Basis von Kamerabildern. Sensoren, die rund um das Fahrzeug verbaut sind, stellen diese Bilder bereit. Sie liefern somit hochqualitative Ergebnisse und machen das Fahren sicherer – zumindest theoretisch. Im Alltag ist das nämlich gar nicht so einfach: Ist die Kameralinse durch Dreck oder Staub verunreinigt oder herrschen schlechte Wetterbedingungen wie Regen, Nebel oder Schnee, erhält die Software kein klares Bild. Die Folge: Es fehlen eventuell wichtige Umgebungsinformationen und das Assistenzsystem liefert womöglich falsche oder unvollständige Informationen.
Gerade aber unter schlechten Umgebungsbedingungen benötigt der Fahrer die zuverlässige Unterstützung der Assistenzsysteme. Die Lösung für diese Herausforderung: unsere KI-basierten Bildaufbereitungssoftwaremodule. Diese können beispielsweise Schmutz auf der Kameralinse des Sensors erkennen und die dadurch verdeckten Bildbereiche rekonstruieren oder Nebel aus Bildern entfernen. Assistenzsysteme erhalten durch die Softwaremodule auch unter schwierigen Umgebungsbedingungen Bilder von hoher Güte ohne Informationsverlust – Fahrer können somit auf die einwandfreie Funktion und Unterstützung der verbauten Systeme vertrauen.
Doch wie funktionieren die Systeme und wie hat EDAG die Bildaufbereitungssoftware entwickelt? Eine nähere Betrachtung gibt spannende Einblicke in die Welt der KI-gestützten Software.
SmoFod unterstützt bei riskanten Nebelfahrten
Eine der eingesetzten Bildaufbereitungssoftware nennt sich Smog and Fog Dehazer (SmoFod). Sie entfernt mittels einer Künstlichen Intelligenz (KI) Nebel aus Bildern. Nebeltröpfchen lassen Farben verblassen und entschärfen Kontraste. Die Folge für den Fahrer: Seine Sicht verschlechtert sich. Je nach Stärke des Nebels sind Farb- und Kontrastunterschiede weit entfernter Objekte für den Menschen kaum noch auszumachen und somit nicht mehr erkennbar.
Wie hilft hier nun SmoFod weiter? Werfen wir zuerst einen Blick auf die Kamerabilder: Fährt ein Fahrzeug durch Nebel, nehmen die Onboard-Kameras digitale Bilder auf. Diese bestehen aus drei Kanälen (Rot, Gelb und Blau). Jeder Kanal besteht aus einzelnen Pixeln, die den Intensitätswert der Farbe an der konkreten Bildstelle darstellen. Das Bild kann somit auf sehr granulare Weise aufgelöst und analysiert werden. Genau hier kommt die Bildbearbeitungssoftware ins Spiel: Der SmoFod analysiert kleinste Unterschiede der Pixelwerte und ändert diese so ab, dass ein klares Bild entsteht. Der Nebel wird aus dem Bild herausgerechnet.
SmoFod: Auf vorhandenen Lösungen clever aufgebaut
Im Jahr 2017 starteten wir bei EDAG mit der Entwicklung der Bildbearbeitungssoftware SmoFod. Ein End-to-End System für die Entfernung von Trübungen in Einzelbildern weckte unsere Aufmerksamkeit: Das DehazeNet von Bolun Cai et al.1 Es bildete fortan die Grundlage unserer Entwicklung. Das DehazeNet folgt der Theorie, dass der Lichtdurchlässigkeitsfaktor des Nebels in einem sehr kleinen Bildausschnitt für jeden Pixel in diesem Ausschnitt identisch ist. Daher wurde der Ansatz verfolgt, ein Netz zu trainieren, das diesen Faktor für einen kleinen Bildausschnitt bestimmt. Es wurden Ausschnitte der Größe 16x16 Pixel aus diversen Bildern extrahiert, um daraus einen Bilddatensatz zu generieren. Diese Ausschnitte wurden synthetisch vernebelt – dafür wurde ein zufällig generierter Lichtdurchlässigkeitswert verwendet. Mit diesem Bilddatensatz trainierte das Entwicklerteam das Netz: Es erhält als Eingabe einen vernebelten 16x16 Bildausschnitt und bestimmt den Lichtdurchlässigkeitsfaktor. Dieser wird dann mit dem korrekten, bekannten Faktor abgeglichen – so lernt das Netz ständig hinzu.
Rekonstruktion eines klaren Bildes
Nun benötigen wir in der Anwendung für den späteren Einsatz am Fahrzeug aber nicht den Lichtdurchlässigkeitsfaktor, sondern das entnebelte Bild. Koschmieder entwickelte bereits 1924 eine Formel, durch welche sich die horizontale Sichtweite berechnen lässt.2 Durch eine Umformung dieses Modells konnten wir das entnebelte Bild berechnen.
Gleitet nun ein 16x16 Kernel über das Eingabebild, wird für jeden Bildausschnitt mit Hilfe des trainierten Netzes der Lichtdurchlässigkeitswert bestimmt. Anhand dieser Werte und Koschmieders Modell können nun die ursprünglichen Farbwerte der Pixel errechnet und ein klares Bild rekonstruiert werden. Somit war das Modell in der Lage, vernebelte Bilder zu entnebeln. Dabei zeigte sich jedoch ein weiteres Problem, welche es zu lösen galt: Farben wurden verfälscht und es entstanden Artefakte im Bild.
Kreative Lösungsfindung: Hindernisse clever ausräumen
Zur selben Zeit als EDAG SmoFod entwickelte, veröffentlichten Hinton et al. ein Paper zu einer neuartigen Netzarchitektur mit dem Namen „Capsule Neural Network" . Diese Netzarchitektur erschien vielversprechend und sollte dabei helfen, die letzten Hindernisse zu überwinden, vor denen EDAG bei der Bildentnebelung noch stand.
Werfen wir zunächst einen kurzen Blick auf die Funktionsweise eines „gewöhnlichen“ CNN: Ein CNN extrahiert Merkmale aus der Eingabe, indem es einen Filter über das Bild laufen lässt. Die Einträge des Filters werden gelernt. Somit kann die Merkmalsextraktion derart gesteuert werden, dass sie maximal hilfreich für ein optimales Ergebnis ist. Es werden nicht alle Neuronen einer Schicht für die Berechnung eines Neurons in der nächsten Schicht verwendet, sondern nur ein kleiner Teil.
An einem Beispiel erklärt: Beim Bild einer Person können Merkmale wie Augen, Nase und Mund extrahiert werden. Wenn das Gesicht geneigt ist, werden dieselben Merkmale in geneigter Stellung extrahiert – genau hier setzt das Capsule Neural Network (CapsNet) an. Es speichert zusätzliche Informationen zu den Merkmalen, im beschriebenen Fall z.B. die Neigung des Kopfes. Dadurch wird die Anzahl unterschiedlicher Merkmale reduziert und die Performance gesteigert. Eine weitere Eigenschaft, die das CapsNet neu in die Welt des Deep Learning mitbringt, ist das sogenannte Routing-by-Agreement. Hierdurch werden Informationen nur an diejenigen Neuronen der nächsten Schicht weitergegeben, die durch diese Merkmale am besten repräsentiert werden.
CapsNet und SmoFod: Eine gewinnbringende Kombination
Nun galt es, diese Funktionsweise des CapsNet in unseren SmoFod zu integrieren – mit dem Ziel, die Bildrekonstruktion zu verbessern. Rekonstruktionsaufgaben werden häufig von Autoencodern übernommen – und so entwickelten wir eine neuartige Architektur auf Basis eines Autoencoders mit den Eigenschaften des CapsNets. Der Autoencoder war somit in der Lage, zusätzliche Informationen zu den extrahierten Merkmalen zu speichern und zu entscheiden, welche Neuronen welche Informationen erhalten sollten.
Es funktioniert: Die Bildbearbeitungssoftware von EDAG entnebelt nicht nur Bilder, sondern sorgt dafür, dass die Farben des rekonstruierten Bildes nahezu identisch zu denen des Eingabebildes sind. Es entsteht keine Übersättigung der Farben und das Ergebnisbild weist keine Artefakte auf. SmoFod soll für Fahrerassistenzsysteme eingesetzt werden. Darum ist für die Beurteilung des Netzes die Performance nachgeschalteter Systeme auf den Ergebnisbildern entscheidend. Also einfach ausgedrückt mussten wir der Fragen nachgehen: Kann SmoFod im praktischen Test im Zusammenspiel mit den Fahrerassistenzsystemen bestehen?
Kann SmoFod im praktischen Einsatz bestehen?
Mit Hilfe des Objektklassifikators YOLO (You Only Look Once) wurden unsere Ergebnisse für den Anwendungsfall geprüft. YOLO erkennt gleichzeitig alle interessanten Bildbereiche und klassifiziert diese mit einem Score.
Die untenstehenden Bilder zeigen, wie YOLO die erkannten Fahrzeuge mit einer roten Bounding Box und den entsprechenden Erkennungsraten versieht. Die schlechtesten Erkennungsraten weist das vernebelte Bild auf. Allerdings verbessern sich die Erkennungsraten durch eine Entnebelung mittels des optimierten DehazeNet kaum – obwohl das rekonstruierte Bild optisch deutlich klarer erscheint, als das vernebelte. Im Gegensatz dazu sind die Erkennungsraten in dem Bild, welches mittels des neuartigen Autoencoders entnebelt wurde, hervorragend. Einige weisen sogar höhere Werte auf als das Original.
Konkret bedeutet das: Unsere Bildbearbeitungssoftware SmoFod funktioniert in der weiterentwickelten Version hervorragend. Das Fahrerassistenzsystem erhält Bilder ohne Informationsverlust – und der Fahrer ein System, das ihn auch unter schlechten Witterungsbedingungen sicher unterstützt.
Unser Team in Lindau/ Ulm beschäftigt sich intensiv mit Aufgaben aus den Bereichen Deep Learning und Computer Vision. Bei Interesse an diesen Technologien oder an weiteren Anwendungsgebieten von KI hilft Ihnen Jacek Burger, Head of Embedded Systems & Computer Vision/AI, gerne weiter. Laden Sie sich für mehr Informationen Ihr Whitepaper „Optimierung des SmoFod durch die Verwendung eines Capsule Neural Networks“ herunter.
1 Bolun Cai et al. Dehazenet: An End-to-End System for Single Image Haze Removal. CoRR, abs/1601.07661, 2015.
2 Stephan Lenor. Model-Based Estimation of Meteorological Visibility in the Context ”of Automotive Camera Systems “Dissertation, Heidelberg University, 2016.