-
Die Erfindung bezieht sich auf ein maschinelles Lernverfahren, ein Verfahren und eine Vorrichtung zur Helligkeits-Umwandlung von Bildern einer Kamera, beispielsweise einer fahrzeuggebundenen Umfelderfassungskamera.
-
Heutige Fahrzeuge sind mit kamerabasierten Fahrerassistenzsystemen ausgestattet, welche die Bereiche vor, neben oder hinter dem Fahrzeug überwachen. Dies dient entweder der Erkennung von Objekten zur Vermeidung von Kollisionen, der Erkennung von Straßenbegrenzungen oder zum Halten des Fahrzeuges innerhalb der Fahrspur.
-
Diese Systeme arbeiten mit hochauflösenden Kameras, welche heute einen immer höheren dynamischen Bereich besitzen. Von letzterem profitieren insbesondere Anzeige- und Erkennungsfunktionen in Situationen mit unterschiedlichen Helligkeitsstufen und Kontrast.
-
Die auf diesen Kamerasystemen basierenden Erkennungsalgorithmen kombinieren teilweise bereits Ansätze der klassischen Bildverarbeitung mit Ansätzen aus dem maschinellen Lernen, insbesondere dem Deep Learning. Klassische Ansätze zur Erkennung von Objekten oder Strukturen im Rahmen der Bildverarbeitung basieren auf manuell ausgewählten Features (Merkmalen), während auf Deep Learning basierende Ansätze relevante Features im Trainingsverfahren selber bestimmen und optimieren.
-
Die oben genannten Systeme zeigen eine sehr gute Performance bei Szenarien, die durch Tageslicht, Straßenbeleuchtung oder Scheinwerferlicht eines Fahrzeuges hinreichend ausgeleuchtet sind. Degradation sowohl in der Erkennung von Objekten als auch bei der Darstellung der Umgebung oder von Objekten tritt jedoch ein, sobald in einer Situation nur wenig bis gar kein Umgebungslicht zum Ausleuchten des Szenarios zur Verfügung steht.
-
Als ein prominentes Beispiel sei die Fahrt auf einer unbeleuchteten Landstraße bei Nacht genannt. Umgebungsbereiche, die nicht oder nur unzureichend von Fahrzeugscheinwerfern oder externen Lichtquellen beleuchtet werden, sind im Kamerabild dunkel.
-
Bekannte algorithmische Verfahren wie eine Gammakorrektur, ein automatischer Weißabgleich oder ein Histogrammausgleich (Histogram Equalization) können die Bilder algorithmisch aufhellen und verbessern. Letztere zeigen jedoch gerade bei Dunkelheit signifikante Performanceeinbußen durch fehlende Farbinformationen im Bild.
-
Ein System wäre daher wünschenswert, welches ohne zusätzliche Beleuchtung algorithmisch eine gute Aufwertung der unausgeleuchteten Bereiche ermöglicht.
-
Es ist Aufgabe der vorliegenden Erfindung, Lösungen hierfür bereitzustellen.
-
Die Aufgabe wird gelöst durch die Gegenstände der unabhängigen Patentansprüche. Vorteilhafte Ausführungsformen sind Gegenstand der abhängigen Ansprüche, der folgenden Beschreibung sowie der Figuren.
-
Ein Verfahren zum maschinellen Lernen einer Helligkeits-Umwandlung von Eingangs-Bilddaten einer Kamera in Ausgabe-Bilddaten mittels eines künstlichen neuronalen Netzwerks sieht vor, dass das Lernen mit einer Vielzahl von Trainings-Bildpaaren derart erfolgt, dass am Eingang des künstlichen neuronalen Netzwerks jeweils ein Bild einer ersten Helligkeit und als Soll-Ausgabe-Bild ein Bild derselben Szene mit einer abweichenden zweiten Helligkeit bereitgestellt wird. Der Begriff „Helligkeits-Umwandlung“ kann auch eine Farb-Umwandlung und Kontrastverbesserung umfassen, so dass eine möglichst umfassende „Sichtverbesserung“ erzielt wird. Eine Farb-Umwandlung kann beispielsweise durch eine Anpassung der Farbverteilung erfolgen. Das künstliche neuronale Netzwerk kann beispielsweise ein Convolutional Neural Network („faltendes neuronales Netzwerk“, CNN) sein. Die Kamera kann beispielsweise eine in oder an einem Fahrzeug befestigte Kamera sein, die das Umfeld des Fahrzeugs erfasst. Ein Beispiel einer solchen fahrzeuggebundenen Kamera ist eine hinter der Windschutzscheibe im Inneren des Fahrzeugs angeordnete Kamera, die den vor dem Fahrzeug liegenden Bereich der Fahrzeugumgebung durch die Windschutzscheibe erfassen und abbilden kann.
-
In einer Ausführungsform werden die Trainings-Bildpaare erzeugt, indem jeweils ein erstes Bild mit erster und ein zweites Bild mit zweiter Helligkeit zeitgleich oder unmittelbar aufeinanderfolgend mit unterschiedlichen Belichtungszeiten aufgenommen werden. Eine erste kürzere Belichtungszeit führt zu einem dunkleren Trainingsbild und eine zweite längere Belichtungszeit zu einem helleren Trainingsbild. Beispielsweise ist die Kamera während der Erzeugung der Trainingsdaten stationär (unbewegt) gegenüber der zu erfassenden Umgebung. Hierzu können die Trainingsdaten beispielsweise mit einer Kamera eines stehenden Fahrzeugs erfasst werden. Die von der Kamera erfasste Szene kann beispielsweise eine statische Umgebung beinhalten, also ohne bewegte Objekte.
-
Gemäß einer Ausführungsform wird mindestens ein Faktor d als Maß für den Unterschied zwischen der zweiten und der ersten Helligkeit eines Trainings-Bildpaars ermittelt wird und dem künstlichen neuronalen Netzwerk im Rahmen des Trainings bereitgestellt.
-
Der Faktor d kann beispielsweise ermittelt werden als Verhältnis von zweiter Helligkeit zu erster Helligkeit. Die Helligkeit kann insbesondere als mittlere Helligkeit eines Bildes oder anhand eines Illuminanzhistogramms eines Bildes ermittelt werden.
-
In einer Ausführungsform weist das künstliche neuronale Netz eine gemeinsame Eingangsschnittstelle für zwei separate Ausgangsschnittstellen auf. Die gemeinsame Eingangsschnittstelle weist geteilte Merkmalsrepräsentationsschichten auf. An der ersten Ausgangsschnittstelle werden helligkeitsumgewandelte Bilddaten ausgegeben. An der zweiten Ausgangsschnittstelle werden ADAS-relevante Detektionen mindestens einer ADAS-Detektionsfunktion ausgegeben. ADAS steht für fortschrittliche Systeme zum assistierten oder automatisierten Fahren (Englisch: Advanced Driver Assistance Systems). ADAS-relevante Detektionen sind somit z.B. Objekte, Gegenstände, Verkehrsteilnehmer, die für ADAS/AD Systeme wichtige Eingangsgrößen darstellen. Das künstliche neuronalen Netzwerk umfasst ADAS-Detektionsfunktionen, z.B. eine Spurerkennung, eine Objekterkennung, eine Tiefenerkennung (3D-Schätzung der Bildbestandteilee), semantische Erkennung, oder dergleichen mehr. Im Rahmen des Trainings werden die Ausgaben beider Ausgangsschnittstellen optimiert.
-
Ein Verfahren zur Helligkeits-Umwandlung von Eingangs-Bilddaten einer Kamera in Ausgabe-Bilddaten umfasst die Schritte:
- a) von der Kamera aufgenommene Eingangs-Bilddaten einer aktuellen Helligkeit werden einem trainierten künstlichen neuronalen Netzwerk bereitgestellt,
- b) das trainierte künstliche neuronale Netzwerk ist dazu konfiguriert, die Eingangs-Bilddaten mit der aktuellen Helligkeit in Ausgabe-Bilddaten mit abweichender Ausgabehelligkeit umzuwandeln, und
- c) das trainierte künstliche neuronale Netzwerk ist dazu konfiguriert, die Ausgabe-Bilddaten auszugeben.
-
Die in ihrer Helligkeit optimierten Ausgabe-Bilddaten ermöglichen vorteilhafterweise eine bessere maschinelle Objekterkennung auf den Ausgabe-Bilddaten, z.B. eine herkömmliche Fahrspur-/Objekt- oder Verkehrszeichendetektion.
-
In einer Ausführungsform wird in Schritt a) zusätzlich ein Faktor d dem trainierten künstlichen neuronalen Netzwerk bereitgestellt wird und in Schritt b) die (Stärke bzw. der Grad der) Umwandlung in Abhängigkeit von dem Faktor d gesteuert. Basierend auf dem Faktor d kann das Maß der Verstärkung reguliert werden.
-
Gemäß einer Ausführungsform erfolgt die Umwandlung in Schritt b) derart, dass eine Sichtverbesserung hinsichtlich Überbelichtung erzielt wird. Beispielsweise wurde im Rahmen des Trainings gelernt, überbelichtete Bilder in der Helligkeit zu reduzieren.
-
In einer Ausführungsform werden in Schritt b) die Eingangs-Bilddaten mit aktueller Helligkeit in Ausgangs-Bilddaten mit einer längeren (virtuellen) Belichtungszeit umgewandelt. Das bietet den Vorteil einer Vermeidung von Bewegungsunschärfe („motion blur“).
-
Gemäß einer Ausführungsform wird der Faktor d geschätzt und bei der Schätzung wird die Helligkeit der aktuellen erfassten Bilddaten (z.B. Illuminanzhistogramm oder mittlere Helligkeit) oder der vorhergehend erfassten Bilddaten berücksichtigt.
Eine zu hohe Helligkeit spricht beispielsweise für eine Überbelichtung, eine zu niedrige Helligkeit für eine Unterbelichtung. Beides kann mittels entsprechender Schwellwerte festgestellt und durch eine entsprechende Umwandlung behoben werden
-
In einer Ausführungsform wird nach einer Erkennung, dass mindestens zwei Bildregionen eines aktuell erfassten Bildes, eine (deutlich) unterschiedliche Bildhelligkeit aufweisen, für jede der Bildregionen ein unterschiedlicher Faktor d geschätzt oder bestimmt werden. Beim Vorliegen von Bildregionen mit unterschiedlichen Beleuchtungsintensitäten kann somit der Faktor d innerhalb eines Bildes variieren und Bildregionen mit unterschiedlichen Faktoren d werden über Helligkeitsschätzungen bestimmt. Die Helligkeitsverbesserung kann somit an einzelne Bildregionen angepasst werden.
-
Gemäß einer Ausführungsform kann bei der Bestimmung bzw. Schätzung des Faktors d eine zeitliche Entwicklung des Faktors d berücksichtigt werden.
-
Hierzu gehen in die Schätzung die zeitliche Entwicklung des Faktors d und eine Sequenz von Eingangsbildern ein. Information über die zeitliche Entwicklung der Helligkeit kann auch für Bildregionen mit unterschiedlichen Faktoren d herangezogen werden.
-
In einer Ausführungsform ist die Kamera eine fahrzeuggebundene Umfelderfassungskamera.
-
Gemäß einer Ausführungsform mit einer fahrzeuggebundenen Umfelderfassungskamera werden bei der Bestimmung des Faktors d Informationen über die aktuelle Umgebung des Fahrzeugs berücksichtigt.
-
Die Schätzung des Faktors d kann weitere Szeneninformationen berücksichtigen, wie Umgebungsinformationen (Landstraße, Stadt, Autobahn, Tunnel, Unterführung), die über Bildverarbeitung aus den Sensordaten oder Daten eines Navigationssystems (bspw. GPS-Empfänger mit digitaler Karte) gewonnen werden.
-
Beispielsweise kann der Faktor d basierend auf Umgebungsinformationen und aus der zeitlichen Reihenfolge von Bildern als auch aus der Historie des Faktors d geschätzt werden.
-
Die Schätzung des Faktors d beim Einsatz eines trainierten künstlichen neuronalen Netzwerks kann somit dynamisch erfolgen.
-
In einer Ausführungsform erfolgt eine Ausgabe der umgewandelten Bilddaten der fahrzeuggebundenen Umfelderfassungskamera an mindestens eine ADAS-Detektionsfunktion, welche ADAS-relevante Detektionen ermittelt und ausgibt. ADAS-Detektionsfunktionen können bekannte Kanten- bzw. Mustererkennungsverfahren umfassen sowie Erkennungsverfahren, die mittels eines künstlichen neuronalen Netzwerks relevante Bildobjekte erkennen und optional klassifizieren können.
-
In einer alternativen Ausführungsform kann der Ansatz erweitert werden und das künstliche neuronale Netzwerk zur Helligkeits-Umwandlung der Bilddaten kann mit einem neuronalen Netzwerk für ADAS-Detektionsfunktionen, z.B. Spurerkennung, Objekterkennung, Tiefenerkennung, semantische Erkennung, kombiniert werden. Somit wird kaum zusätzlicher Aufwand in der Rechenzeit verursacht. Nach dem Training kann die (erste) Ausgangsschnittstelle für die Ausgabe der umgewandelten Bilddaten eliminiert werden, so dass bei Einsatz im Fahrzeug nur die (zweite) Ausgangsschnittstelle für die ADAS-Detektionen vorhanden ist.
-
Die Erfindung betrifft weiterhin eine Vorrichtung mit mindestens einer Datenverarbeitungseinheit konfiguriert zur Helligkeits-Umwandlung von Eingangs-Bilddaten einer Kamera in Ausgabe-Bilddaten. Die Vorrichtung umfasst: eine Eingangsschnittstelle, ein trainiertes künstliches neuronales Netzwerk und eine (erste) Ausgangsschnittstelle.
-
Die Eingangsschnittstelle ist konfiguriert zum Empfangen von Eingangs-Bilddaten einer aktuellen Helligkeit, die von der Kamera erfasst worden sind. Das trainierte künstliche neuronale Netzwerk ist dazu konfiguriert, die Eingangs-Bilddaten, die eine erste Helligkeit aufweisen, in Ausgabe-Bilddaten mit abweichender Ausgabehelligkeit umzuwandeln.
-
Die (erste) Ausgangsschnittstelle ist dazu konfiguriert, die umgewandelten Bilddaten auszugeben.
-
Die Vorrichtung bzw. die Datenverarbeitungseinheit kann insbesondere einen Mikrocontroller oder -prozessor, eine Zentrale Verarbeitungseinheit (CPU), ein Grafische Verarbeitungseinheit (GPU), einen Digital Signal Processor (DSP), einen ASIC (Application Specific Integrated Circuit), einen FPGA (Field Programmable Gate Array) und dergleichen mehr sowie Software zur Durchführung der entsprechenden Verfahrensschritte umfassen.
-
Gemäß einer Ausführungsform ist die Datenverarbeitungseinheit in eine hardwarebasierter Bildvorverarbeitungsstufe (Image Signal Processor, ISP) implementiert.
-
In einer Ausführungsform ist das trainierte künstliche neuronale Netzwerk zur Helligkeits-Umwandlung ein Bestandteil eines fahrzeugseitigen ADAS-Detektions-Neuronalen-Netzwerks, z.B. zur semantischen Segmentierung, Fahrspurdetektion bzw. Objektdetektion, mit einer geteilten Eingangsschnittstelle (Eingangs- bzw. Merkmalsrepräsentationsschichten), und zwei separaten Ausgangsschnittstellen (Ausgangsschichten) ist, wobei die erste Ausgangss22chnittstelle zur Ausgabe der umgewandelten Ausgabebilddaten und die zweite Ausgangsschnittstelle zur Ausgabe der ADAS-Detektionen (Bilderkennungsdaten) konfiguriert sind.
-
Die Erfindung betrifft weiterhin ein Computer Programmelement, welches, wenn damit eine Datenverarbeitungseinheit programmiert wird, die Datenverarbeitungseinheit dazu anweist, ein Verfahren zur Helligkeits-Umwandlung von Eingangs-Bilddaten einer Kamera in Ausgabe-Bilddaten durchzuführen.
-
Die Erfindung betrifft weiterhin ein Computerlesbares Speichermedium, auf dem ein solches Programmelement gespeichert ist.
-
Die Erfindung betrifft weiterhin die Verwendung eines Verfahrens zum maschinellen Lernen einer Helligkeits-Umwandlung von Eingangs-Bilddaten einer Kamera in Ausgabe-Bilddaten zum Trainieren eines künstlichen neuronalen Netzwerks einer Vorrichtung mit mindestens einer Datenverarbeitungseinheit.
-
Die vorliegende Erfindung kann somit in digitalen elektronischen Schaltkreisen, Computer-Hardware, Firmware oder Software implementiert sein.
-
Im Folgenden werden Ausführungsbeispiele und Fig. näher beschrieben. Dabei zeigen
- 1: schematisch ein Fahrzeug mit einer Umfelderfassungskamera und Frontscheinwerfern S;
- 2: ein System zur Sichtverbesserung von Kamerabildern;
- 3: ein System mit einem ersten neuronalen Netz zur Sichtverbesserung und einem nachgelagerten zweiten neuronalen Netz für Detektionsfunktionen;
- 4: ein System mit kombinierter Sichtverbesserung und Detektionsfunktionen; und
- 5 ein abgewandeltes System, bei dem die Sichtverbesserung nur im Rahmen des Trainings berechnet und ausgegeben wird.
-
1 zeigt schematisch ein Fahrzeug F mit einer Umfelderfassungskamera K, die im Innenraum des Fahrzeugs hinter der Windschutzscheibe angeordnet ist und das Umfeld bzw. die Umgebung des Fahrzeugs durch diese erfasst. Bei Dunkelheit beleuchten die Frontscheinwerfer S des Fahrzeugs F das Umfeld vor dem Fahrzeug, welches von der Kamera K erfasst wird. Die Intensität der Beleuchtung des Fahrzeugumfelds hängt von der Charakteristik der Frontscheinwerfer S ab. Da die Intensität mit wachsendem Abstand vom Frontscheinwerfer abnimmt (etwa proportional zum Quadrat des Abstands), erscheinen weiter entfernte Umgebungsbereiche im Kamerabild dunkler. Auch die Seitenbereiche der Fahrzeugumgebung werden durch die Frontscheinwerfer S nicht so stark beleuchtet wie der Bereich gerade vor dem Fahrzeug F. Diese unterschiedliche Beleuchtung kann dazu führen, dass die von der Kamera erfassen Bilder nicht alle für den Fahrer, für Fahrerassistenzsysteme oder für Systeme zum automatisierten Fahren relevanten Informationen enthalten. Wünschenswert wäre hierfür ein sichtverbessertes Bild, bei dem (zu) dunkle Bildbereiche eine automatische Lichtverstärkung erfahren. Bei zu hellen (z.B. übersättigten oder überbelichteten) Bildbereichen kann dagegen eine Reduktion der Intensität hilfreich für den Betrachter oder eine Bildverarbeitung sein.
-
2 zeigt schematisch eine allgemeine Übersicht eines Systems zur Sichtverbesserung von Kamerabildern. Wesentlicher Bestandteil ist ein künstliches neuronales Netzwerk CNN1, welches in einer Trainingsphase lernt, einem Satz von Trainingsbildern In (In1, In2, In3, ...) einen Satz von korrespondieren sichtverbesserten Bildern Out (Out1, Out2, Out3, ...) zuzuordnen. Zuordnen heißt hierbei, dass das neuronale Netz CNN1 lernt, ein sichtverbessertes Bild zu generieren. Ein Trainingsbild (In1, In2, In3, ...) kann z.B. eine Straßenszene bei Dämmerung enthalten, auf dem mit dem menschlichen Auge nur ein unmittelbar vor dem Fahrzeug befindliches weiteres Fahrzeug und der Himmel erkennbar sind. Auf dem korrespondierenden sichtverbesserten Bild (Out1, Out2, Out3, ...) sind zusätzlich die Konturen des weiteren Fahrzeugs, ein Bürgersteig als Fahrbahnbegrenzung und angrenzende Gebäude erkennbar.
-
Vorzugsweise dient ein Faktor d als zusätzliche Eingangsgröße für das neuronale Netz CNN1. Der Faktor d ist ein Maß für den Grad der Sichtverbesserung. Beim Training kann der Faktor d für ein Bildpaar aus Trainingsbild und sichtverbessertem Bild (In1, Out1; In2, Out2; In3, Out3; ...) vorab ermittelt und dem neuronalen Netz CNN1 bereitgestellt werden. Beim Einsatz des trainierten neuronalen Netzes CNN1 kann über die Vorgabe eines Faktors d gesteuert werden, wie stark das neuronale Netz CNN1 ein Bild „erhellt“ bzw. „abdunkelt“ - man kann sich den Faktor d auch als einen externen Regressionsparameter vorstellen (nicht nur hell - dunkel, sondern mit einer beliebigen Abstufung). Da der Faktor d möglichen Schwankungen im Bereich von +/- 10% unterliegen kann, wird dies während des Trainings berücksichtigt. Der Faktor d kann während des Trainings um circa +/- 10% verrauscht werden (z.B., während der verschiedenen Epochen des Trainings des neuronalen Netzwerkes), um während der Inferenz im Fahrzeug robust gegenüber Fehlschätzungen des Faktors d im Bereich von ca. +/- 10% zu sein. Mit anderen Worten liegt die nötige Genauigkeit von Faktor d im Bereich von +/- 10% - somit ist das neuronale Netz CNN1 robust gegenüber Abweichungen bei Schätzungen von diesem Parameter.
-
Eine Möglichkeit zur Erzeugung der Trainingsdaten (Trainingsbilder (In1, In2, In3, ...) und zugeordnete sichtverbesserte Bilder (Out1, Out2, Out3, ...)) besteht in der Aufnahme von Bilddaten einer Szene mit jeweils einer kurzen und zeitgleich bzw. unmittelbar aufeinander folgend mit einer langen Belichtungszeit. Darüberhinausgehend können für eine Szene Bildpaare (In1, Out1; In2, Out2; In3, Out3; ...) mit verschiedenen Faktoren d aufgenommen werden, um so ein kontinuierliches Spektrum für die Sichtverbesserung abhängig von dem Parameter bzw. Faktor d zu lernen. Vorzugsweise ist die Kamera K während der Erzeugung der Trainingsdaten stationär (unbewegt) gegenüber der zu erfassenden Umgebung. Beispielsweise können die Trainingsdaten mittels einer Kamera K eines stehenden Fahrzeugs F erfasst werden. Die von der Kamera K erfasste Szene kann insbesondere eine statische Umgebung beinhalten, also ohne bewegte Objekte.
-
Wenn das neuronale Netz CNN1 trainiert ist, erfolgt eine Sichtverbesserung nach folgendem Schema:
- Eingangsbild → CNN1
- Faktor d → CNN1
- CNN1 → sichtverbessertes Ausgangs-/Ausgabebild.
-
Die 3 bis 5 zeigen Ausführungsbeispiele für mögliche Kombinationen eines ersten Netzwerks für die Sichtverbesserung mit einem oder mehreren Netzwerken der Funktionen für Fahrerassistenzfunktionen und Automatisiertes Fahren geordnet nach dem Verbrauch an Rechenressourcen.
-
3 zeigt ein System mit einem ersten neuronalen Netz CNN1 zur Sichtverbesserung mit einem nachgelagerten zweiten neuronalen Netz CNN2 für Detektionsfunktionen (fn1, fn2, fn3, fn4). Die Detektionsfunktionen (fn1, fn2, fn3, fn4) sind hierbei Bildverarbeitungsfunktionen, die für ADAS oder AD-Funktionen relevante Objekte, Strukturen, Eigenschaften (allgemein: Merkmale) in den Bilddaten detektieren. Viele solcher Detektionsfunktionen (fn1, fn2, fn3, fn4), die auf maschinellem Lernen beruhen, sind bereits entwickelt oder Gegenstand aktueller Entwicklung (z.B: Verkehrszeichenklassifikation, Objektklassifikation, semantische Segmentierung, Tiefenschätzung, Fahrspurmarkierungserkennung und -lokalisierung). Auf sichtverbesserten Bildern (Opti) liefern Detektionsfunktionen (fn1, fn2, fn3, fn4) des zweiten neuronalen Netzes CNN2 bessere Ergebnisse als auf den ursprünglichen Eingangsbilddaten (Ini) bei schlechten Sichtverhältnissen.
-
Wenn die beiden neuronalen Netze CNN1 und CNN2 trainiert sind, kann ein Verfahren nach folgendem Schema ablaufen:
- Eingangsbild (Ini), Faktor d → CNN1 → sichtverbessertes Ausgangs-/Ausgabebild (Opti) → CNN2 für Detektionsfunktionen (fn1, fn2, fn3, fn4) → Ausgabe der Detektionen: Objekte, Tiefe, Spur, Semantik, ...
-
4 zeigt ein neuronales Netzwerk CNN10 für die Sichtverbesserung eines Eingangsbildes (Ini) ggfs. gesteuert durch einen Faktor d, welches Merkmalsrepräsentationsschichten (als Eingangs- bzw. untere Schichten) mit dem Netzwerk für die Detektionsfunktionen (fn1, fn2, fn3, fn4) teilt. In den Merkmalsrepräsentationsschichten des neuronalen Netzwerks CNN10 werden gemeinsame Merkmale für die Sichtverbesserung und für die Detektionsfunktionen gelernt.
-
Das neuronale Netz CNN10 mit geteilten Eingangsschichten und zwei separaten Ausgängen weist einen erster Ausgang CNN 11 zur Ausgabe des sichtverbesserten Ausgangs-/Ausgabebildes (Opti) sowie einen zweiten Ausgang CNN 12 zur Ausgabe der Detektionen: Objekte, Tiefe, Spur, Semantik, etc. auf.
-
Dadurch, dass beim Training die Merkmalsrepräsentationsschichten sowohl hinsichtlich der Sichtverbesserung als auch der Detektionsfunktionen (fn1, fn2, fn3, fn4) optimiert werden, bewirkt eine Optimierung der Sichtverbesserung zugleich eine Verbesserung der Detektionsfunktionen (fn1, fn2, fn3, fn4).
-
Falls nun eine Ausgabe des sichtverbesserten Bildes (Opti) nicht gewünscht bzw. nicht erforderlich ist, kann der Ansatz weiter variiert werden, wie anhand von 5 erläutert wird.
-
5 zeigt einen auf dem System der 4 basierenden Ansatz zur neuronalen-Netz-basierten Sichtverbesserung durch Optimierung der Merkmale. Um Rechenzeit zu sparen, werden die Merkmale für die Detektionsfunktionen (fn1, fn2, fn3, fn4) während des Trainings hinsichtlich Sichtverbesserung und hinsichtlich der Detektionsfunktionen (fn1, fn2, fn3, fn4) optimiert.
-
Zur Laufzeit, d.h. beim Einsatz des trainierten neuronalen Netzes (CNN10, CNN11, CNN12), werden keine sichtverbesserten Bilder (Opti) berechnet.
-
Dennoch sind die Detektionsfunktionen (fn1, fn2, fn3, fn4) - wie bereits erläutert - durch das gemeinsame Training von Sichtverbesserung und Detektionsfunktionen verbessert verglichen mit einem System mit nur einem neuronalen Netz (CNN2) für Detektionsfunktionen (fn1, fn2, fn3, fn4), bei dem im Training auch nur die Detektionsfunktionen (fn1, fn2, fn3, fn4) optimiert worden sind.
-
In der Trainingsphase wird durch eine zusätzliche Ausgangsschnittstelle (CNN11) das helligkeitsverbesserte Bild (Opti) ausgegeben und mit der Ground Truth (dem korrespondierenden sichtverbesserten Trainingsbild) verglichen. In der Testphase bzw. zur Laufzeit kann dieser Ausgang (CNN11) weiterverwendet werden oder, um Rechenzeit zu sparen, abgeschnitten werden. Die Gewichte für die Detektionsfunktionen (fn1, fn2, fn3, fn4) werden bei diesem Training mit dem zusätzlichen Ausgang (CNN11) dahingehend modifiziert, dass sie die Helligkeitsverbesserungen für die Detektionsfunktionen (fn1, fn2, fn3, fn4) berücksichtigen. Die Gewichte der Detektionsfunktionen (fn1, fn2, fn3, fn4) lernen somit implizit die Information über die Helligkeitsverbesserung.
-
Weitere Aspekte und Ausführungsformen eines Assistenzsystems, welches die Bilddaten des zugrundliegenden Kamerasystems trotz Dunkelheit und fehlenden Farbinformationen algorithmisch in eine Darstellung umrechnet, welche eine Aufnahme bei Ausleuchtung oder Tageslicht entspricht, werden im Folgenden dargelegt. Das umgerechnete Bild kann dann entweder zu reinen Anzeigezwecken oder als Input für Feature-basierte Erkennungsalgorithmen dienen.
- 1) In einer ersten Ausführung basiert die Berechnung in einem System beispielsweise auf einem neuronalen Netz, welches einer Detektions- oder Anzeigeeinheit vorgelagert ein sehr dunkles Eingangsbild mit wenig Kontrast und Farbinformationen in eine beispielsweise taghelle Repräsentation umwandelt. Für diese Aufgabe wurde das neuronale Netz mit einem Datensatz bestehend aus „dunklen Eingangsbildern“ und den dazugehörigen „taghellen Bildern“ trainiert. Je nach Art des Trainings kann das neuronale Netz Verfahren wie White Balancing (automatischer Weißabgleich), Gamma Correction (Gammakorrektur) und Histogram Equalization in einer sehr idealen Weise nachbilden, und zusätzliche, in der Netzwerkstruktur gespeicherte Informationen nutzen, um fehlende Farb- oder Kontrastinformationen automatisch zu ergänzen. Auf diese Art lassen sich sehr dunkle Bilder in eine Darstellung umwandeln, welche für eine Feature-basierte Erkennung und eine Betrachtung vorteilhaft ist.
- 2) In einer weiteren Ausführung kann dieses Verfahren in einer hardwarebasierten Bildvorverarbeitungsstufe, der ISP (Image Signal Processor), integriert sein. Diese ISP wird hardwareseitig um ein kleines trainiertes neuronales Netz ergänzt, welches die entsprechende Umwandlung vornimmt und die aufbereiteten Informationen mit den Originaldaten möglichen Detektions- oder Anzeigeverfahren zur Verfügung stellt.
- 3) In einer weiteren Anwendung können dem Netz zum Trainieren neben Beleuchtungsinformationen und Bilddaten Informationen zur Bildqualität zur Verfügung gestellt werden. Dahingehend kann das System und das Verfahren dahingehend optimiert werden, dass es für Computer Vision und Human Vision optimierte Bilddaten berechnet.
- 4) In einer weiteren Ausführung wird die Recheneffizienz optimiert. Hierzu wird kein separates neuronales Netzwerk für die Rekonstruktion der sichtverbesserten Nachtbilder benötigt, stattdessen wird eines der operativen Netzwerke im Fahrzeug hierzu herangezogen, z.B. ein Netzwerk für die semantische Segmentierung, die Fahrspurerkennung, die Objekterkennung oder ein Multi-Task-Netzwerk.
-
Diesem Netzwerk wird eine oder mehrere weitere Ausgangsschicht(en) hinzugefügt, welche für die Rekonstruktion der sichtverbesserten Nachtbilder zuständig ist. Während des Trainings werden die Trainingsdaten für die Nachtsichtverbesserung für die Berechnung dieser Ausgangsschicht verwendet.
-
Während der Laufzeit im Fahrzeug sind zwei unterschiedliche Ausführungen umsetzbar:
- a) Die Rekonstruktion der sichtverbesserten Aufnahmen wird weiteren Funktionen zur Verfügung gestellt: Hier wird die Ausgabe der erweiterten Ausgangschichten benötigt.
-
Diese Ausgabe wird berechnet und die sichtverbesserten Bilder werden den Funktionen zur Verfügung gestellt, z.B. für eine Anzeige für den Fahrer.
- b) Die direkte Rekonstruktion der sichtverbesserten Aufnahmen wird nicht benötigt: Da ein gemeinsames Netzwerk für die Funktion(en) und die Sichtverbesserung verwendet wird, findet in diesem Falle während des Trainings eine signifikante Verbesserung der Merkmalsrepräsentation der einzelnen Schichten für die Funktionen statt. Dies wird durch folgenden Netzwerkaufbau erzielt:
- - die Netzwerkschichten werden sowohl für die Funktionen als auch für die Verbesserung der Sicht erzielt,
- - nur die Ausgangschichten der Funktionen und der Sichtverbesserungen enthalten separate Neuronen für die Funktion oder die Sichtverbesserung, und
- - das Training des Netzwerkes umfasst Daten für die Funktion und die Sichtverbesserung.
-
Dieses Setup macht es möglich, dass die Merkmalsrepräsentation der gemeinsam verwendeten Schichten Information über die Sichtverbesserung enthält und diese Information den Funktionen zur Verfügung gestellt wird. Zur Laufzeit besteht somit die Möglichkeit, das Netzwerk nur für die Berechnung der Funktionen zu verwenden, welche hierzu auf sichtverbesserte Merkmalsrepräsentationen arbeiten. Dies ist eine rechenzeit-effiziente Umsetzung, die insbesondere für den Betrieb auf eingebetteten Systemen geeignet ist.
-
Der zusätzliche Rechenaufwand zur Laufzeit beträgt bei dieser Ausführung entweder nur die Berechnung der Ausgangsschicht(en), wenn die sichtverbesserten Nachtbilder weiteren Funktionen im Fahrzeug zur Verfügung gestellt werden, oder keinen zusätzlichen Rechenaufwand, wenn die Sichtverbesserung in die Algorithmen der Funktionen integriert ist und nur die Ausgabe dieser Funktionen weiterverwendet wird, z.B., Spurerkennung, Objekterkennung, semantische Segmentierung und/oder Tiefenschätzung.
- 5) Für die Anwendung im Straßenverkehr kann die Sichtverbesserung erweitert werden hinsichtlich Überbelichtung. Mit den hier beschriebenen Methoden kann ein gemeinsames Netzwerk zur Sichtverbesserung gelernt werden, welches sowohl die Qualität von überbelichteten als auch unterbelichteten Aufnahmen aufwertet. Eine Fusion dieser beiden Anwendungen in einem Netzwerk ermöglicht eine recheneffiziente Umsetzung im Fahrzeug. Weiterhin kann die Recheneffizienz erhöht werden, wenn diese Netzwerkfusion ebenfalls auf die Funktionen, wie Objekterkennung, Spurerkennung, Tiefenschätzung, semantische Segmentierung, erweitert wird.
- 6) Zur Laufzeit werden nur die Aufnahmen der Kameras benötigt und optional eine Abschätzung des Verhältnisses/Faktors d, welcher die erreichte Sichtverbesserung zwischen Eingangsbild und Ausgangsbild beschreibt. Dies kann beispielsweise durch das Verhältnis der Belichtungszeit zwischen Eingangs- und Ausgangsbild beschrieben werden. Auch andere Verhältnisse zum Messen eines solchen Verhältnisses sind denkbar.
-
D.h. das Netzwerk berechnet basierend auf den Eingangsdaten (=eine Aufnahme mit kurzer Belichtungszeit) ein sichtverbessertes Bild, welches einer Aufnahme mit längerer Belichtungszeit entspricht.
-
Im Fahrzeug ist die Belichtungszeit insbesondere bei Nachtaufnahmen begrenzt, um die Qualität der Aufnahme durch die Fahrgeschwindigkeit oder in Kurven nicht zu beeinträchtigen (u.a. motion blur). In Kombination mit dem vorgeschlagenen Netzwerk zur Sichtverbesserung werden Bilder mit längerer Belichtungszeit berechnet, ohne dass diese durch z.B. die Fahrgeschwindigkeit beeinträchtigt werden.
-
Die Abschätzung des Verhältnisses (bzw. Faktors d) kann aus dem jetzigen Bild, dem vorherigen Bild oder einer Bilderfolge gewonnen werden. Ein Beispiel hierzu sei der Wechsel aus einer beleuchteten Innenstadt auf die Landstraße.
-
Hierzu kann ein Regelkreis aufgesetzt werden, in dem die Eigenschaften des Illuminanzhistogramms verfolgt werden. Tritt eine Abweichung von der mittleren erwarteten Verteilung auf, kann das Verhältnis erhöht oder erniedrigt werden.
-
Diese Anpassung des Verhältnisses ist zur Laufzeit im Fahrzeug relevant. Beim Training sind die Verhältnisse der Belichtungszeiten bekannt, und die mittlere erwartete Verteilung für die Sichtverbesserung kann aus den Ground Truth Bildern der Trainingsdaten für verschiedene Szenen berechnet werden. Die Szenentypen können zur Laufzeit im Fahrzeug aus den Funktionen gewonnen werden, z.B. der semantischen Segmentierung.
-
Somit kann das Verhältnis zur Sichtverbesserung zur Laufzeit a) eine konstante,
- b) abhängig vom Illuminanzhistogramm, c) abhängig von der Straßenszene, oder d) abhängig vom Illuminanzhistogramm und der Straßenszene sein.
-
Zusammenfassend, in dynamischen Szenen wie Straßenverkehrsszenen, können Abweichungen von einem festen Sichtverbesserungsfaktor d auftreten. Mit einer Regulierung dieses Faktors lässt sich die Sichtverbesserung für eine große Anzahl an verschiedenen Verkehrsszenen zur Laufzeit im Fahrzeug erreichen.
-
Wesentliche Vorteile sind:
- - Sehr effiziente Methode zur Aufbesserung der Bildqualität bei unzureichender Beleuchtung
- - Deutliche Verbesserung der Bildqualität bei der Anzeige von Nachtbildern
- - Es wird keine zusätzliche Beleuchtung benötigt, welche Fahrzeugbereiche wie die seitlichen Bereiche mit fehlender Beleuchtung aufhellt. Dies kann ein Alleinstellungsmerkmal für ADAS darstellen.
- - Generierung eines Bilddatenstromes für Human und Computer Vision aus einem Netzwerk
-
Neben Kraftfahrzeugen sind alternative Anwendungsgebiete: Flugzeuge, Schiffe, Drohnen, Busse und Bahnen.