-
Die Erfindung betrifft ein Verfahren zur Ermittlung von Ergebnisbilddaten, insbesondere in einem Kraftfahrzeug, wobei durch einen bildgebenden Sensor zu mehreren Zeitpunkten jeweils ein Rohbilddatensatz erfasst wird. Daneben betrifft die Erfindung ein Kraftfahrzeug.
-
Es ist bekannt, das Umfeld von Kraftfahrzeugen durch Kameras zu erfassen und entsprechende Bilddaten für einen Fahrer zu visualisieren. Zudem sind eine Vielzahl von Fahrerassistenzfunktionen bekannt, die Bilddaten auswerten, um beispielsweise Fahreingriffe durchzuführen oder einen Fahrer durch Fahrhinweise oder Warnungen zu unterstützen. Eine Bildqualität entsprechender Bilddaten kann bei widrigen Witterungsbedingungen, beispielsweise bei Nebel, Regen oder Schnee, deutlich beeinträchtigt sein. Somit sind die angezeigten Bilddaten für einen Fahrer wenig aussagekräftig beziehungsweise die Funktionsfähigkeit und Leistungsfähigkeit der Fahrerassistenzfunktionen kann deutlich eingeschränkt sein.
-
Im Stand der Technik sind zahlreiche Ansätze bekannt, Niederschlag auf Kamerabildern zu erkennen. Beispielsweise lehrt die Druckschrift
DE 10 2010 030 616 A1 , Störobjekte in Kamerabildern zu erkennen, indem Pixelwerte eines Pixels in unmittelbar aufeinanderfolgenden Bildern verglichen werden. Hierbei wird davon ausgegangen, dass Störobjekte aufgrund ihres relativ geringen Abstands zur Kamera als sehr schnell bewegt erscheinen und somit in einzelnen Pixeln nur kurz aufblitzen.
-
Die Druckschrift
US 2014/0254873 A1 erkennt Niederschlag hingegen dadurch, dass davon ausgegangen wird, dass bei einer Erfassung des Niederschlags linienartige Strukturen resultieren.
-
Um Schnee zu erkennen, werden in der Druckschrift
DE 10 2014 110 663 A1 hingegen Helligkeitsgrenzwerte für einzelne Pixel genutzt.
-
Nachteilig an den vorangehend beschriebenen Lösungen ist es, dass spezifische Algorithmen genutzt werden, die nur bei bestimmten Witterungsbedingungen eine robuste Erkennung von Bildpunkten erkennen, die den Niederschlag abbilden.
-
Der Erfindung liegt somit die Aufgabe zugrunde, ein Verfahren zur Bildverbesserung, insbesondere bei widrigen Witterungsbedingungen, anzugeben, das flexibel in einer Vielzahl von Nutzungssituationen anwendbar ist.
-
Die Aufgabe wird erfindungsgemäß durch ein Verfahren der eingangs genannten Art gelöst, wobei mehrere aufeinanderfolgend erfasste Rohbilddatensätze durch einen Verarbeitungsalgorithmus zur Qualitätsverbesserung weiterverarbeitet werden, um Ergebnisdaten für den zuletzt erfassten dieser Rohbilddatensätze zu ermitteln, wobei der Verarbeitungsalgorithmus durch mehrere Verarbeitungsparameter parametrisiert wird, die ermittelt werden, indem der Verarbeitungsalgorithmus durch mehrere Trainingsdatensätze im Rahmen eines Maschinenlernens trainiert wird.
-
Erfindungsgemäß wird somit vorgeschlagen, ein Verfahren des Maschinenlernens zur Qualitätsverbesserung von Rohbilddaten zu benutzen, wobei die Ergebnisbilddaten nicht ausschließlich vom zuletzt aufgenommenen Rohbilddatensatz abhängen, sondern von mehreren aufeinanderfolgend erfassten Rohbilddatensätzen. Ein großer Vorteil bei der Nutzung von Verfahren des Maschinenlernens ist es, dass es nicht erforderlich ist, manuell bestimmte Verarbeitungsregeln vorzugeben, um die Bildqualität zu verbessern. Entsprechende Verarbeitungsparameter können automatisch im Rahmen des Maschinenlernens erlernt werden. Dies ist besonders vorteilhaft, wenn die Qualitätsverbesserung zur Bildaufbereitung bei schlechten Witterungsbedingungen genutzt werden soll. Wie eingangs erläutert, sind je nach konkreten Witterungsbedingungen unterschiedliche Indizien geeignet, um beispielsweise Regen, Schnee oder anderen Niederschlag zu erkennen. Im Rahmen der Erfindung wurde erkannt, dass es gerade zur Erkennung von Niederschlägen anhand einer Vielzahl von unscharfen und situationsspezifischen Kriterien voreilhaft ist, ein Verfahren des Maschinenlernens, insbesondere ein neuronales Netz, zu nutzen. Zudem hat sich herausgestellt, dass entsprechende Verfahren besonders geeignet sind, um aufgrund von Niederschlag oder Nebel verdeckte oder nur verschwommen wahrnehmbare Bildelemente zu rekonstruieren. Im Gegensatz zu manuell programmierten Verarbeitungsalgorithmen ist es hierbei nicht erforderlich, dass konkrete Regeln zur Erkennung von gestörten Bildpunkten beziehungsweise zur Modifikation von solchen Bildpunkten vorgegeben werden, sondern solche Regeln können, wie später noch detailliert erläutert werden wird, durch Vorgabe entsprechender Trainingsdatensätze gelernt werden.
-
Der Verarbeitungsalgorithmus kann im Wesentlichen zwei Funktionen realisieren. Ein erster Teil des Algorithmus kann gestörte Pixel, in denen beispielsweise Schnee oder Regen abgebildet wird, oder in denen eine Kontur durch Nebel verwischt wird, erkennen. Für diese Bildpunkte kann durch einen zweiten Teil des Algorithmus eine gezielte Modifikation des Bildinhaltes erfolgen. Durch Verfahren des Maschinenlernens können hierbei insbesondere sogenannte hierarchische Ansätze oder Top-Down-Ansätze verwendet werden, bei denen zunächst auf einer hohen Abstraktionsebene erkannt wird, welches Objekt in dem Bildpunkt abgebildet wird, wonach in Abhängigkeit hiervon der Inhalt des Bildpunktes bestimmt oder modifiziert wird. Die Objekterkennung kann hierbei hierarchisch erfolgen, so dass beispielsweise unter Berücksichtigung des Umfelds des entsprechenden Bildpunktes zunächst erkannt wird, dass in bestimmten Bildpunkten ein bestimmtes Objekt, beispielsweise ein Kraftfahrzeug, abgebildet wird und anschließend in einem oder mehreren Schritten ermittelt wird, welcher Teil dieses Objekts in dem Bildpunkt abgebildet wird.
-
Gestörte Bildpunkte können beispielsweise durch einen Teilalgorithmus erkannt werden, der derart trainiert ist, dass er ein Verfahren implementiert, das dem bekannten Verfahren des optischen Flusses ähnelt. Ergänzend oder alternativ zur vorangehend erläuterten gezielten Erkennung von gestörten Bildpunkten und deren Bearbeitung kann der Verarbeitungsalgorithmus auch globale Bildverbesserungen, beispielsweise Kontrastverbesserungen, ein Kantenschärfen oder Ähnliches durchführen. Auch hierbei ist es vorteilhaft, dass aufgrund der Nutzung eines Verfahrens des Maschinenlernens keine konkreten Regeln zur Bildverbesserung vorgegeben werden müssen, sondern insbesondere durch Auswahl beziehungsweise entsprechende Vorgabe der Trainingsdatensätze gewünschte Ergebnisse vorgegeben werden können, wonach der Verarbeitungsalgorithmus derart parametrisiert wird, dass er diesem gewünschten Ergebnis möglichst nahe kommt.
-
Das beschriebene Verfahren ist besonders geeignet, um eine Kamera bereitzustellen, die bei widrigen Witterungsverhältnissen, beispielsweise bei Niederschlag wie Regen, Schnee oder Hagel, und/oder Nebel, dennoch hochqualitative Bilder bereitstellen kann. Die Rohbilddatensätze können unmittelbar die Bilddaten eines bildgebenden Sensors, beispielsweise einer Kamera, sein. Beispielsweise können Bilddaten einer Frontkamera oder einer Heckkamera, eines Kraftfahrzeugs verarbeitet werden. Es ist auch möglich, die Bilddaten einzelner Kameras, die zur Berechnung einer Top-View-Darstellung genutzt werden, durch das erläuterte Verfahren qualitativ zu verbessern. Alternativ wäre es beispielsweise möglich, zunächst die Rohdatenmehrerer Kameras, beispielsweise zu einer Top-View-Darstellung, zu kombinieren und die kombinierte Darstellung als Rohbilddatensatz im Rahmen des erfindungsgemäßen Verfahrens weiter zu verarbeiten.
-
Die Trainingsdatensätze können jeweils eine Sequenz von Eingangsbildern und ein Referenzbild umfassen, wobei bei Anwenden des Verarbeitungsalgorithmus auf die jeweilige Sequenz der Eingangsbilder ein dem Trainingsdatensatz zugeordnetes Verarbeitungsbild resultiert, wobei im Rahmen des Maschinenlernens ein Maß für eine Abweichung zwischen Referenzbild und Verarbeitungsbild des jeweiligen Trainingsdatensatzes durch Veränderung der Verarbeitungsparameter für alle Trainingsdatensätze gemeinsam minimiert wird. Die Sequenz der Eingangsbilder kann im Rahmen des Lernens statt der aufeinanderfolgend erfassten Rohbilddatensätze verarbeitet werden, wobei die resultierenden Ergebnisbilddaten dem jeweiligen Verarbeitungsbild entsprechen.
-
Als Maß für den Unterschied zwischen dem jeweiligen Verarbeitungsbild und dem Referenzbild kann eine Kostenfunktion definiert werden. Diese kann von mehreren separat berechneten Abständen abhängen, die jeweils zwischen einem Bildpunkt oder einer Gruppe von Bildpunkten des Referenzbildes und einem Bildpunkt beziehungsweise einer Gruppe von Bildpunktendes Verarbeitungsbildes ermittelt werden. Im Falle eines Monochrombildes kann ein Intensitätsunterschied zwischen einem Bildpunkt im Referenzbild und dem zugeordneten Bildpunkt im Verarbeitungsbild als Abstand definiert werden. Bei farbigen Bildern können separate Abstände für die einzelnen Farbkanäle berücksichtigt werden oder der Farbraum kann anderweitig parametrisiert werden. Die Kostenfunktion kann in Abhängigkeit dieser Abstände in Form einer Metrik beziehungsweise Norm berechnet werden. Beispielsweise kann eine Eins-Norm, eine sogenannte Manhattan-Norm, oder eine Zwei-Norm, eine sogenannte Euklidische-Norm, verwendet werden. Bei einer Eins-Norm werden die einzelnen Abstände addiert, um zur Kostenfunktion zu gelangen. Bei einer Zwei-Norm werden die Quadrate der Abstände summiert und die Kostenfunktion wird als Wurzel dieser Summe berechnet.
-
Die Minimierung der Kostenfunktion erfolgt durch eine Variation der Verarbeitungsparameter. Dieser Ansatz ist aus dem Bereich der neuronalen Netze bekannt. Es kann eine sogenannte Fehlerrückführung, auch Backpropagation of Error, genutzt werden. Ist der Verarbeitungsalgorithmus bezüglich der Verarbeitungsparameter ableitbar, kann ein Gradientenverfahren genutzt werden, bei dem eine Ableitung der Kostenfunktion beziehungsweise des Maßes für die Abweichung bezüglich der Verarbeitungsparameter berechnet wird, um eine Variationsrichtung für die Verarbeitungsparameter zu ermitteln. Hierbei handelt es sich um einen bekannten Optimierungsansatz, der nicht im Detail erläutert werden soll.
-
Für wenigstens einen Trainingsdatensatz können wenigstens eines der Eingangsbilder und das Referenzbild die gleiche Szene aus der gleichen Perspektive abbilden. Insbesondere bildet das letzte Eingangsbild der Sequenz die gleiche Szene aus der gleichen Perspektive ab wie das Referenzbild. Das letzte Eingangsbild der Sequenz und das Referenzbild können somit im Wesentlichen den gleichen Inhalt haben, wobei das Eingangsbild, insbesondere durch widrige Witterungsbedingungen, gestört ist. Verschiedene Möglichkeiten zur Bereitstellung entsprechender Trainingsdatensätze werden im Folgenden erläutert.
-
Eine Möglichkeit zur Bereitstellung des Trainingsdatensatzes ist es, die Qualität der Eingangsbilder künstlich herabzusetzen. Für wenigstens einen Trainingsdatensatz kann eines der Eingangsbilder in Abhängigkeit des Referenzbildes ermittelt werden. Insbesondere kann es sich hierbei um das letzte Eingangsbild der Sequenz handeln. Die Bildqualität des Eingangsbildes kann künstlich herabgesetzt werden. Beispielsweise kann ein separat aufgenommener Niedereschlag, der beispielsweise vor neutralem Hintergrund erfasst wurde, in das Referenzbild einkopiert werden, um das Eingangsbild zu erzeugen. Es ist auch möglich, den Effekt von Niederschlag oder Nebel auf das Referenzbild zu simulieren und beispielsweise simulierten Niederschlag in das Referenzbild einzukopieren und/oder beispielsweise den Kontrast des Referenzbildes zu senken, um das Eingangsbild zu erzeugen. Zur Simulation von Niederschlag können einzelne Bildpunkte oder Bildpunktgruppen gestört werden, indem ihr Inhalt auf feste Werte oder von den benachbarten Bildpunkten abhängige Werte gesetzt wird. Zur Simulation von Nebel können der Kontrast reduziert, die Bildhelligkeit angepasst, eine Farbänderung durchgeführt und/oder eine Bildschärfe reduziert werden.
-
Vorzugsweise sollen in den Trainingsdatensätzen mehrere Eingangsbilder genutzt werden, deren Qualität schlechter ist als die Bildqualität des Referenzbildes. Dies ist vorteilhaft, da auch bei einer Nutzung des parametrisierten Verarbeitungsalgorithmus typischerweise mehrere oder alle der verarbeiteten Rohbilddatensätze gestört sind, wenn die Bilderfassung beispielsweise während Niederschlag oder Nebel erfolgt. Zur Ermittlung wenigstens eines Trainingsdatensatzes kann daher eine Sequenz von Trainingsbildern erfasst werden, wobei das zuletzt aufgenommene der Trainingsbilder als Referenzbild verwendet wird und/oder wobei aus jedem der Trainingsbilder ein zugehöriges Eingangsbild ermittelt wird. Die Ermittlung der Eingangsbilder aus den Trainingsbildern kann insbesondere derart erfolgen, dass, wie vorangehend erläutert, die Bildqualität gezielt verschlechtert wird beziehungsweise das Eingangsbild gezielt, beispielsweise durch einkopierten oder simulierten Niederschlag, gestört wird.
-
Soll der Verarbeitungsalgorithmus später in einem Kraftfahrzeug genutzt werden, ist es vorteilhaft, auch die Sequenz von Trainingsbildern in einer entsprechenden Nutzungssituation zu erfassen. Daher können die Trainingsbilder wenigstens eines Trainingsdatensatzes während einer Fahrt eines Kraftfahrzeugs durch einen an dem Kraftfahrzeug angeordneten Sensor erfasst werden.
-
Für wenigstens einen Trainingsdatensatz kann sich das Referenzbild derart von einem Eingangsbild, das die gleiche Szene aus der gleichen Perspektive abbildet, unterscheiden, das die Szene bei unterschiedlichen Witterungsverhältnissen aufgenommen wird. Beispielsweise können eine Vielzahl von Bildern der gleichen Szene aus der gleichen Perspektive aufgenommen werden und ein Bild bei guten Witterungsverhältnissen kann aus diesen Bildern als Referenzbild ausgewählt werden und eines oder mehrere Bilder bei widrigen Witterungsverhältnissen können als Eingangsbilder ausgewählt werden. Die Aufnahme mehrerer Bilder der gleichen Szene aus der gleichen Perspektive zu unterschiedlichen Zeiten kann beispielsweise dadurch realisiert werden, dass die Kamera zwischen den Aufnahmen nicht bewegt wird. Beispielsweise können feststehende Infrastrukturkameras genutzt werden. Alternativ wäre es beispielsweise möglich, eine Kamera, insbesondere bei verschiedenen Witterungsverhältnissen, entlang einer bestimmten Route zu bewegen. Hierzu kann die Kamera beispielsweise an einem Kraftfahrzeug angeordnet sein. Es ist jedoch auch möglich, die Kamera beispielsweise entlang von Schienen oder ähnlichem zu bewegen, um eine zuverlässigere Reproduktion der gleichen Aufnahmepositionen zu erreichen. Durch die Aufnahme der gleichen Szene aus der gleichen Perspektive bei unterschiedlichen Witterungsverhältnissen können Trainingsdatensätze bereitgestellt werden, deren Eingangsbilder bezüglich der Auswirkung der Witterungsbedingungen gut mit den zu erwartenden Rohbilddatensätzen bei einer späteren Verwendung des parametrisierten Verarbeitungsalgorithmus übereinstimmen.
-
Die Ergebnisbilddaten können von wenigstens 30 Rohbilddatensätzen, insbesondere von wenigstens 50 oder 100 Rohbilddatensätzen, abhängen und/oder die Trainingsdatensätze können jeweils wenigstens 30 Eingangsbilder, insbesondere wenigstens 50 oder 100 Eingangsbilder, umfassen. Durch eine Berücksichtigung von einer Vielzahl von Rohbilddatensätzen beziehungsweise Eingangsbildern kann ein zeitlicher Verlauf über relativ lange Zeiträume berücksichtigt werden, wodurch insbesondere Niederschlag besonders gut erkannt werden kann. Beispielsweise entsprechen 30 Rohbilddatensätze bei einer Bildaufnahme von 30 Bildern pro Sekunde einer Berücksichtigung der Bildveränderung über die letzte Sekunde vor Erfassung des Rohbilddatensatzes, für den Ergebnisbilddaten ermittelt werden sollen.
-
Als Verarbeitungsalgorithmus kann ein rekurrentes neuronales Netz verwendet werden. Neuronale Netze sind im Stand der Technik prinzipiell bekannt und sollen nicht detailliert erläutert werden. Neuronale Netze können hierbei Neuronen in mehreren Schichten aufweisen. Einzelne Neuronen berechnen typischerweise eine gewichtete Summe mehrerer Eingangsgrößen und wenden eine nichtlineare Funktion, z. B. eine Stufenfunktion, auf diese Summe an, um ein „Schalten“ des Neurons in Abhängigkeit der Eingangsgrößen zu implementieren. Als Verarbeitungsparameter können insbesondere Gewichtungsfaktoren solcher gewichteten Summen für alle Neuronen oder Teile der Neuronen erlernt werden. In der Bildverarbeitung werden häufig sogenannte „Feed Forward“-Netze genutzt, bei denen Neuronen einer bestimmten Schicht jeweils ausschließlich Eingangsdaten von Neuronen der vorangehenden Schicht oder Schichten erhalten. Typischerweise weisen solche Netze eine Eingangsschicht auf, deren Neuronen Eingangsdaten, beispielsweise ein aktueller Rohbilddatensatz, zugeführt werden. Die Verarbeitungsergebnisse dieser Eingangsschicht werden in einer oder sequentiell in mehreren Zwischenlagen weiterverarbeitet, wonach die Ergebnisse der letzten Zwischenlage über eine Ausgangsschicht ausgegeben werden, wobei beispielsweise die Ergebnisbilddaten ausgeben werden können.
-
Bei Nutzung eines rekurrenten neuronalen Netzes können die Eingangsgrößen eines Neurons hingegen auch von den Ausgangsgrößen von Neuronen der gleichen Schicht beziehungsweise von nachfolgenden Schichten abhängen, so dass eine Rückkopplung erfolgt. In zeitdiskreten Systemen resultiert hieraus eine Verzögerung des Signals. Hierdurch wird einerseits eine Art Gedächtnis des neuronalen Netzes realisiert, andererseits können sequentiell zugeführte Eingangsdaten, wie die zeitlich aufeinanderfolgend erfassten Rohbilddatensätze im erfindungsgemäßen Verfahren, mit geringem Aufwand gemeinsam verarbeitet werden. Beispielsweise kann der Eingangsschicht des neuronalen Netzes in jedem Zeitschritt nur der jeweils aktuelle Rohbilddatensatz zugeführt werden. Die Informationen der vorangehend erfassten Rohbilddatensätze können durch Rückkopplungen innerhalb des neuronalen Netzes berücksichtigt werden.
-
Nach Ermittlung der Ergebnisbilddaten kann wenigstens ein weiterer Rohbilddatensatz ermittelt werden, wonach durch den Verarbeitungsalgorithmus der weitere Rohbilddatensatz in Abhängigkeit von zumindest Teilen der Rohbilddatensätze und/oder des Ergebnisdatensatzes zur Qualitätsverbesserung weiterverarbeitet wird, um weitere Ergebnisbilddaten für den weiteren Rohbilddatensatz zu ermitteln. Insbesondere kann in jedem Zeitschritt eines vorangehend beschriebenen rekurrenten neuronalen Netzes der jeweils aktuelle Rohbilddatensatz der Eingangsschicht zugeführt werden und Ergebnisbilddaten an der Ausgangsschicht ausgegeben werden, die einem Rohbilddatensatz zugeordnet sind, der vor einer vorgegebenen Anzahl von Zeitschritten der Eingangsschicht zugeführt wurde. Die Anzahl der Zeitschritt kann insbesondere gleich der Anzahl der Schichten in dem neuronalen Netz sein. Durch das beschriebene Vorgehen wird eine Berücksichtigung von zeitlichen Veränderungen der Rohbilddatensätze beziehungsweise der Ergebnisbilddaten über relativ viele Rohbilddatensätze beziehungsweise über relativ lange Zeiten mit geringem Ressourcenverbrauch ermöglicht.
-
Zumindest in dem zuletzt aufgenommenen Rohbilddatensatz kann Niederschlag oder Nebel abgebildet werden, wobei die Qualitätsverbesserung darin besteht, den Einfluss des Niederschlags oder Nebels auf die Bildgebung zu reduzieren. Anders ausgedrückt kann das erfindungsgemäße Verfahren insbesondere zur Qualitätsverbesserung bei Rohbilddatensätzen dienen, die bei widrigen Witterungsverhältnissen aufgenommen wurden.
-
Als bildgebender Sensor kann ein bildgebender Sensor eines Kraftfahrzeugs verwendet werden, wobei in Abhängigkeit der Ergebnisbilddaten eine Fahrzeugeinrichtung des Kraftfahrzeugs zur Ausgabe eines Ergebnisbildes und/oder eines Fahrhinweises an einen Fahrer und/oder zur Durchführung eines Fahreingriffs angesteuert wird. Sensoren in Kraftfahrzeugen sind bei widrigen Witterungsverhältnissen aufgrund der Eigenbewegung des Kraftfahrzeugs und dem Einfluss von beispielsweise Spritzwasser besonders stark von einer Bildverschlechterung bei widrigen Witterungsbedingungen betroffen. Daher kann das erfindungsgemäße Verfahren mit besonderem Vorteil genutzt werden.
-
Neben dem erfindungsgemäßen Verfahren betrifft die Erfindung ein Kraftfahrzeug mit einem bildgebenden Sensor und einer Verarbeitungseinrichtung, wobei gemäß dem erfindungsgemäßen Verfahren durch den bildgebenden Sensor zu mehreren Zeitpunkten jeweils ein Rohbilddatensatz erfassbar ist und durch die Verarbeitungseinrichtung Ergebnisdaten durch Anwenden des Verarbeitungsalgorithmus auf mehrere aufeinanderfolgend erfasste Rohbilddatensätze ermittelbar sind. Der Verarbeitungsalgorithmus kann insbesondere gemäß dem erfindungsgemäßen Verfahren trainiert worden sein.
-
Weitere Vorteile und Einzelheiten der Erfindung ergeben sich aus den folgenden Ausführungsbeispielen sowie den zugehörigen Zeichnungen. Hierbei zeigen schematisch:
- 1 den Ablauf eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens, und
- 2 ein Ausführungsbeispiel eines erfindungsgemäßen Kraftfahrzeugs.
-
1 zeigt ein Ausführungsbeispiel eines Verfahrens zur Ermittlung von Ergebnisbilddaten. Das gezeigte Verfahren lässt sich in zwei Verfahrensabschnitte untergliedern, wobei in einem ersten Verfahrensabschnitt, der die Schritte S1 bis S6 umfasst, ein Verarbeitungsalgorithmus trainiert wird, der anschließend in den Schritten S7 bis S9 genutzt wird, um die Qualität von Bildaufnahmen, die bei widrigen Witterungsverhältnissen aufgenommen wurden, zu verbessern.
-
In dem Erfassungsschritt S1 werden mehrere Sequenzen 1 von Trainingsbildern 2 erfasst. Hierzu kann beispielsweise eine an einem Kraftfahrzeug angeordnete Kamera genutzt werden, wobei jeweils über ein bestimmtes Zeitintervall während der Fahrt des Kraftfahrzeugs, beispielsweise über eine oder mehre Sekunden, aufeinanderfolgend mehrere Trainingsbilder 2, beispielsweise 30 Trainingsbilder 2, aufgenommen werden. Dies erfolgt vorzugsweise bei gutem Wetter, also vorzugsweise ohne Niederschlag oder Nebel, der in den Trainingsbildern 2 abgebildet wird.
-
Anschließend wird im Verschlechterungsschritt S2 gezielt die Qualität der Trainingsbilder 2 verschlechtert, um die Eingangsbilder 4 der Trainingsdatensätze 3 bereitzustellen. Hierbei resultiert aus jeder der Sequenzen 1 der Trainingsbilder 2 ein zugeordneter Trainingsdatensatz 3. Die Bildverschlechterung erfolgt dadurch, dass künstlicher Niederschlag in die Trainingsbilder 2 einkopiert wird. Dies kann beispielsweise dadurch erfolgen, dass zuvor Niederschlag vor neutralem Hintergrund aufgenommen wurde und die Bereiche des neutralen Hintergrunds, also jene Bildbereiche die nicht durch den Niederschlag verdeckt sind, durch den Inhalt des jeweiligen Trainingsbildes 2 ersetzt werden. Prinzipiell ist es auch möglich künstlichen Niederschlag zu simulieren, indem durch einen entsprechenden Algorithmus gewisse Bildbereiche oder Bildpunkte der einzelnen Trainingsbilder ausgewählt werden und durch einen vorgegebenen oder in Abhängigkeit der umgebenden Bildpunkte ermittelten Inhalt ersetzt werden. Somit können die aufgrund des Niederschlags auftretenden Verdeckungen beziehungsweise Verzerrungen simuliert werden.
-
Das zuletzt aufgenommene Trainingsbild 2 jeder Sequenz 1 wird als Referenzbild 5 für den zugeordneten Trainingsdatensatz 3 ausgewählt, ohne dass es zuvor verschlechtert wird. Während somit alle Eingangsbilder 4 des Trainingsdatensatzes 3 künstlich verschlechtert sind, wird als Referenzbild 5 ein qualitativ hochwertiges Bild bereitgestellt und somit quasi ein Lernziel. Somit liegen in Schritt S3 mehrere Trainingsdatensätze 3 vor. Wie im Folgenden noch erläutert wird, soll der Verarbeitungsalgorithmus durch das folgende Maschinenlernen derart trainiert werden, dass er nach Möglichkeit aus der Sequenz der künstlich verschlechterten Eingangsbilder 4 das Referenzbild 5 zumindest weitgehend rekonstruieren kann. Erfolgt ein Training, das dies für eine Vielzahl unterschiedlicher Trainingsdatensätze 3 ermöglicht, kann davon ausgegangen werden, dass auch bei unbekannten Rohbilddatensätzen, die bei widrigen Witterungsbedingungen aufgenommen wurden, eine entsprechende Qualitätsverbesserung für resultierende Ergebnisbilddaten, also das jeweils letzte Bild einer berücksichtigten Sequenz, ermittelt werden können.
-
Das Maschinenlernen 6 ist in 1 nur schematisch dargestellt. Zum einfachen Verständnis des grundlegenden Vorgehens wird eine relativ einfache Variante des Maschinenlernens erläutert. Selbstverständlich können auch andere Verfahren des Maschinenlernens, beispielsweise gradientenbasierte Verfahren, genutzt werden.
-
In dem Verarbeitungsschritt S4 wird ein Verarbeitungsalgorithmus, der durch mehrere Verarbeitungsparameter parametrisiert wird, auf die Sequenz der Eingangsbilder 4 angewandt. Der Verarbeitungsalgorithmus kann ein rekurrentes neuronales Netz sein, wobei die Eingangsgewichtete der einzelnen Neuronen die Verarbeitungsparameter darstellen können. Ein rekurrentes neuronales Netz ermöglicht es Zeitabhängigkeiten zu berücksichtigen. Daher kann die Verarbeitung der Sequenz der Eingangsbilder 4 derart erfolgen, dass zunächst das frühest aufgenommene beziehungsweise das aus dem frühest aufgenommenen Trainingsbild ermittelte Eingangsbild 4 der Eingangsschicht des Verarbeitungsalgorithmus zugeführt wird. In einem nächsten Zeitschritt der Verarbeitung werden die Verarbeitungsergebnisse der Eingangsschicht an eine Folgeschicht, insbesondere eine Zwischenlage des neuronalen Netzes, weitergegeben und das zeitlich darauffolgende Eingangsbild 4 wird dem Verarbeitungsalgorithmus zugeführt. Nach einer vorgegebenen Anzahl von Zeitschritten, die von der Anzahl der Schichten des neuronalen Netzes beziehungsweise des Verarbeitungsalgorithmus abhängen, sind die Ausgangswerte des Verarbeitungsalgorithmus, insbesondere die Ausgaben der Neuronen der letzten Schicht des neuronalen Netzes, von den Daten des frühest aufgenommenen Eingangsbildes abhängig. Da es sich um ein rekurrentes neuronales Netz handelt, hängen die Ausgangsdaten im nächsten Zeitschritt der Verarbeitung von beiden frühest aufgenommenen Eingangsbildern 4 ab usw. Nach einigen weiteren Verarbeitungsschritten hängt das Verarbeitungsresultat, also die durch die Ausgangsschicht ausgegebenen Werte, von der gesamten Sequenz der Eingangsbilder 4 ab und es wird der Schritt S5 erreicht, in dem das Verarbeitungsbild 7 resultiert. Ist der Verarbeitungsalgorithmus korrekt parametrisiert, entspricht dieses Verarbeitungsbild im Wesentlichen dem Referenzbild 5.
-
In dem Vergleichsschritt S6 wird für alle Trainingsdatensätze 3 gemeinsam berechnet, wie stark die jeweiligen Verarbeitungsbilder 7 von den jeweiligen Referenzbildern abweichen. Beispielsweise kann eine bildpunktweise Abweichung als Eins- oder Zwei-Norm berechnet werden. Ist diese Abweichung größer als ein bestimmter Grenzwert, so wird das beschriebene Vorgehen ab Schritt S4 wiederholt, wobei die Verarbeitungsparameter variiert werden.
-
Im einfachsten Fall können die Verarbeitungsparameter zufällig variiert werden oder der gesamte Parameterraum der Verarbeitungsparameter kann abgetastet werden. Im technischen Gebiet des Maschinenlernens sind jedoch auch effizientere Ansätze zur Parameteroptimierung bekannt, die hier jedoch nicht detailliert erläutert werden sollen. Rein beispielhaft wird auf das Verfahren des Gradientenabstiegs eingegangen. Dieses Verfahren kann dann angewandt werden, wenn der Verarbeitungsalgorithmus bezüglich der Verarbeitungsparameter differenzierbar ist. In diesem Fall kann für den aktuellen Verarbeitungsparametersatz ein Gradient für das Maß der Abweichung bezüglich der Parameter berechnet werden und somit eine Richtung, in der die Verarbeitungsparameter variiert werden können, um die Abweichung zu verringern. Da ein derartiger Ansatz typischerweise nur lokale minimale Abweichungen auffinden kann, wird dies typischerweise mit einer Zufallsvariation mit großen Parametersprüngen kombiniert, um die verschiedenen lokalen Minima und somit soweit möglich ein globales Minimum aufzufinden.
-
Nachdem das Verfahren des Maschinenlernens konvergiert ist, können die ermittelten Verarbeitungsparameter 8 genutzt werden, um den Verarbeitungsalgorithmus 9 für eine spätere Anwendung zu parametrisieren. Im Folgenden soll ein Beispiel erläutert werden, bei dem der Verarbeitungsalgorithmus 9 in einem Kraftfahrzeug genutzt wird. Es ist hierbei möglich, dass die vorangehenden Schritte S1 bis S6 zum Training dieses Verarbeitungsalgorithmus ebenfalls innerhalb des Kraftfahrzeugs durchgeführt werden. Vorzugsweise werden diese Schritte jedoch separat durchgeführt und die resultierenden Verarbeitungsparameter können anschließend in einer Vielzahl von Kraftfahrzeugen mit gleicher oder ähnlicher Sensorik genutzt werden.
-
In dem Erfassungsschritt S7 wird zunächst jeweils ein Rohbilddatensatz aufgenommen. Dieser wird in dem Verarbeitungsschritt S8 dem Verarbeitungsalgorithmus 9 zugeführt, der vorangehend durch die Verarbeitungsparameter 8 parametrisiert wurde. Wie vorangehend zu Schritt S4 erläutert, kann es sich bei dem Verarbeitungsalgorithmus 9 insbesondere um ein rekurrentes neuronales Netz handeln. Es kann somit mehrere Zeitschritte der Verarbeitung erfordern, bis die in Schritt S7 aufgenommenen Rohbilddatensätze durch das neuronale Netz propagiert sind. In jedem dieser Zeitschritte kann ein weiterer in Schritt S7 aufgenommener Rohbilddatensatz zur Eingangsschicht des neuronalen Netzes geführt werden. Durch die schematisch durch den Pfeil 10 gezeigten Rückkopplungen des rekurranten neuronalen Netzes, die hier zwar symbolisch zwischen einer Ausgangsschicht und einer Eingangsschicht gezeigt sind, ergänzend oder alternativ jedoch auch zwischen diesen Schichten und Zwischenlagen beziehungsweise ausschließlich zwischen Zwischenlagen des neuronalen Netzes erfolgen können, hängen die Ausgangsdaten des Verarbeitungsalgorithmus von mehreren vorangehend zugeführten Rohbilddatensätzen 11 ab.
-
Im Ergebnisschritt S9 können die Ergebnisbilddaten 12, also das Ergebnis der Verarbeitung einer Sequenz von aufeinanderfolgend erfassten Rohbilddatensätzen 11 im Kraftfahrzeug weiter verwertet werden, z. B. durch eine Anzeigeinrichtung ausgegeben werden oder durch ein Fahrerassistenzsystem ausgewertet werden, um Fahrhinweise an den Fahrer zu geben oder Aktoren anzusteuern, um einen Fahreingriff durchzuführen oder Ähnliches.
-
Die Schritte S7 bis S9 werden kontinuierlich während des Fahrbetriebs wiederholt, so dass stets, mit geringer Verzögerung aufgrund der Verarbeitung im Verarbeitungsalgorithmus 9, Ergebnisbilddaten 12 bereitstehen, die gegenüber der zugeführten Rohbilddatensätze 11 qualitativ deutlich verbessert sind.
-
Bei der vorangehenden Erklärung wurde davon ausgegangen, dass es sich bei den Bilddaten jeweils um Bilddaten einer einzelnen Kamera handelt. Prinzipiell kann das gleiche Verfahren jedoch auch auf Bilddaten angewandt werden, die von mehreren bildgebenden Sensoren gemeinsam bereitgestellt werden. Beispielsweise kann ein Top-View-Bild verarbeitet werden.
-
2 zeigt ein Ausführungsbeispiel eines Kraftfahrzeugs 13, das dazu eingerichtet ist, das vorangehend beschriebene Verfahren beziehungsweise zumindest die Verfahrensschritte S7, S8 und S9 durchzuführen. Das Kraftfahrzeug 13 weist mehrere bildgebende Sensoren 15 bis 18 auf. Der Sensor 15 ist eine Frontkamera, der Sensor 16 eine Heckkamera und die Sensoren 17, 18 sind an den Spiegeln des Kraftfahrzeugs 13 angeordnet, um gemeinsam mit der Front- und der Heckkamera ein Top-View-Bild bereitzustellen.
-
Die Bilddaten der einzelnen Sensoren 15 bis 18 werden durch eine Verarbeitungseinrichtung 14 verarbeitet, wobei diese die vorangehend erläuterten Schritte S7 bis S9 implementiert und beispielsweise eine Fahrzeugeinrichtung 19, z. B. eine Anzeigeeinrichtung, zur Darstellung der Ergebnisbilddaten beziehungsweise wenigstens eine Fahrzeugeinrichtung 20, z. B einen Aktor, zur Durchführung von Fahreingriffen ansteuert. Die Verarbeitungsparameter wurden zuvor unabhängig von dem Kraftfahrzeug 13 ermittelt, beispielsweise vom Hersteller des Kraftfahrzeugs 13, und auf der Steuereinrichtung 14 gespeichert, um einen dort ebenfalls gespeicherten Verarbeitungsalgorithmus zu parametrisieren. Ein Vorteil diese Vorgehens ist es, dass die Durchführung von entsprechend parametrisierten Verarbeitungsalgorithmen, beispielsweise die Abarbeitung von entsprechend parametrisierten neuronalen Netzen, mit relativ geringem Rechenaufwand möglich ist, womit eine relativ einfach aufgebaute und günstige Verarbeitungseinrichtung 14 genutzt werden kann. Zugleich kann eine deutliche Qualitätsverbesserung der Rohbilddatensätze erreicht werden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102010030616 A1 [0003]
- US 2014/0254873 A1 [0004]
- DE 102014110663 A1 [0005]