-
Die vorliegende Erfindung ist auf ein computerimplementiertes Verfahren zur Fahrzeugerkennung unter Verwendung eines Computer-Vision Algorithmus, auf ein computerimplementiertes Trainingsverfahren zum Trainieren eines Computer-Vision Algorithmus zur Fahrzeugerkennung, auf ein Verfahren zum wenigstens teilweise automatischen Führen eines Ego-Fahrzeugs und auf ein elektronisches Fahrzeugführungssystem gerichtet.
-
Für teilweise automatische oder vollständig automatische Fahrfunktionen ist die zuverlässige automatische Erkennung von Fahrzeugen in der Umgebung eines Ego-Fahrzeugs sehr wichtig. Es ist bekannt, Computer-Vision Algorithmen, insbesondere Objekterkennungsalgorithmen, die beispielsweise eine Objektklasse und eine Begrenzungsbox für die jeweiligen Objekte in der Umgebung des Ego-Fahrzeugs auf der Basis von Kamerabildern identifizieren, zu verwenden. In lichtarmen Szenarios ist jedoch eine zuverlässige Objekterkennung, insbesondere das zuverlässige Schätzen der tatsächlichen Ausdehnung von Fahrzeugen mittels Begrenzungsboxen, die das Fahrzeug in den Kamerabildern umschließen, eine anspruchsvolle Aufgabe, die gewöhnlich nicht in einer zufriedenstellenden Weise erreicht wird. Ein Problem, das in diesem Zusammenhang entsteht, besteht darin, dass das Training von Computer-Vision Algorithmen auf der Basis von überwachtem Maschinenlernen große Mengen von annotierten Trainingsbildern erfordert. Selbst für menschliche Annotatoren kann jedoch die zuverlässige Schätzung der Größe von Fahrzeugen in dunklen oder lichtarmen Szenarios sehr schwierig sein.
-
Es ist ein Ziel der vorliegenden Erfindung, die Zuverlässigkeit für die automatische Fahrzeugerkennung unter Verwendung eines Computer-Vision Algorithmus, insbesondere für lichtarme Umgebungsbedingungen, zu verbessern.
-
Dieses Ziel wird durch den jeweiligen Gegenstand der unabhängigen Ansprüche erreicht. Weitere Implementierungen und bevorzugte Ausführungsformen sind Gegenstand der abhängigen Ansprüche.
-
Die Erfindung basiert auf der Idee, eine Vielzahl von Kandidaten für jeweilige Beleuchtungseinheiten von Fahrzeugen in der Umgebung des Ego-Fahrzeugs zu identifizieren, betreffende Begrenzungsboxen zu schätzen und einen Nicht-Maximum-Unterdrückung-Schritt durchzuführen, um eine oder mehrere der Begrenzungsboxen auszuwählen.
-
Gemäß einem Aspekt der Erfindung wird ein computerimplementiertes Verfahren zur Fahrzeugerkennung unter Verwendung eines Computer-Vision Algorithmus bereitgestellt. Dabei wird ein Lichterkennungsmodul des Computer-Vision Algorithmus auf ein Eingangsbild, welches eine Umgebung eines Ego-Fahrzeugs darstellt, angewandt, um eine Lichtmerkmalskarte zu erzeugen. Die Lichtmerkmalskarte definiert jeweilige Positionen einer Vielzahl von Kandidaten für jeweilige Beleuchtungseinheiten wenigstens eines Fahrzeugs in der Umgebung des Ego-Fahrzeugs. Für jeden von wenigstens einer Untermenge der Vielzahl von Kandidaten wird eine betreffende Begrenzungsbox für das wenigstens eine Fahrzeug durch ein Ausdehnungsschätzmodul des Computer-Vision Algorithmus bestimmt. Wenigstens eine der Begrenzungsboxen wird durch ein Nicht-Maximum-Unterdrückung-Modul des Computer-Vision Algorithmus ausgewählt.
-
Hier und nachstehend können alle Schritte eines computerimplementierten Verfahrens zur Fahrzeugerkennung gemäß der Erfindung durch wenigstens eine Recheneinheit, insbesondere wenigstens eine Recheneinheit des Ego-Fahrzeugs, ausgeführt werden, sofern nicht anders angegeben.
-
Der Computer-Vision Algorithmus ist insbesondere ein Algorithmus mit einer Architektur, die auf der Basis von Maschinenlernen trainiert wurde oder, mit anderen Worten, maschinentrainiert wurde. Das computerimplementierte Verfahren zur Fahrzeugerkennung entspricht einer Einsatzphase des Computer-Vision Algorithmus. Mit anderen Worten, der Computer-Vision Algorithmus wurde trainiert, bevor das computerimplementierte Verfahren für eine Fahrzeugerkennung ausgeführt wird.
-
Der Computer-Vision Algorithmus beinhaltet beispielsweise ein oder mehrere künstliche neuronale Netzwerke, insbesondere faltende neuronale Netzwerke, CNN. Ein CNN kann als neuronales Netzwerk mit einer oder mehreren Faltungs- und/oder Entfaltungsschichten verstanden werden.
-
Wenn nicht anders angegeben, weist insbesondere jedes Modul des Computer-Vision Algorithmus und gegebenenfalls jedes Untermodul eines Moduls des Computer-Vision Algorithmus ein künstliches neuronales Netzwerk, beispielsweise ein CNN, oder einen Teil eines neuronalen Netzwerks oder eine andere maschinentrainierbare Architektur oder einen anderen maschinentrainierbaren Algorithmus auf.
-
In einigen Ausführungsformen beinhalten das Lichterkennungsmodul, das Ausdehnungsschätzmodul und das Nicht-Maximum-Unterdrückung-Modul jeweils entsprechende neuronale Netzwerke. Insbesondere beinhaltet das Lichterkennungsmodul eines oder mehrere CNNs.
-
Die Fahrzeugerkennung kann als Objekterkennung für eine spezielle Objektklasse, nämlich Fahrzeuge, betrachtet werden. Ein Ergebnis des Verfahrens zur Fahrzeugerkennung wird daher durch die ausgewählte wenigstens eine der Begrenzungsboxen gegeben, die die jeweilige Ausdehnung von einem oder mehreren Fahrzeugen in der Umgebung des Ego-Fahrzeugs schätzen und beispielsweise auch als Bereiche von Interesse, ROI, für die jeweiligen Fahrzeuge bezeichnet werden können.
-
Jeder Kandidat der Vielzahl von Kandidaten entspricht einer möglichen Beleuchtungseinheit eines Fahrzeugs in der Umgebung des Ego-Fahrzeugs. Folglich ist mehr als einer der Vielzahl von Kandidaten pro potentieller Beleuchtungseinheit möglich. Eine Beleuchtungseinheit kann als einzelne Außenbeleuchtungseinheit eines Fahrzeugs, insbesondere als einzelner Scheinwerfer oder einzelne Heckleuchte, aufgefasst werden. Insbesondere ist die Beleuchtungseinheit im Eingangsbild aktiv oder, mit anderen Worten, die Beleuchtungseinheit hat Licht emittiert, als das Eingangsbild erfasst wurde.
-
Das Lichterkennungsmodul identifiziert die jeweiligen Beleuchtungseinheiten in der Umgebung der Ego-Fahrzeuge auf der Basis des Eingangsbildes. Dazu kann das Lichterkennungsmodul eine oder mehrere Klassifizierungsaufgaben und/oder eine oder mehrere Regressionsaufgaben ausführen, um die Lichtmerkmalskarte zu erzeugen. Das Lichterkennungsmodul selbst bestimmt jedoch nicht die Begrenzungsboxen für die Kandidaten. Vielmehr kann die Lichtmerkmalskarte als mehrkanalige Merkmalskarte aufgefasst werden, die beispielsweise jeweilige Kanäle, die die Position eines potentiellen Kandidaten definieren, und einen Kanal, der die entsprechende Wahrscheinlichkeit definiert, dass eine Beleuchtungseinheit an der Position vorhanden ist, beinhaltet. Insbesondere kann die Lichtmerkmalskarte eine räumliche Ausdehnung gleich der räumlichen Ausdehnung des Eingangsbildes aufweisen.
-
Das Ausdehnungsschätzmodul kann dann eine betreffende Begrenzungsbox für jeden der Vielzahl von Kandidaten oder für die Untermenge schätzen. Ein optionaler Validierungsschritt kann beispielsweise einen oder mehrere Kandidaten aus der Vielzahl von Kandidaten ausschließen, um die Untermenge der Vielzahl von Kandidaten zu erzeugen. Dazu können weitere Maschinenlernalgorithmen oder heuristische oder regelbasierte Methoden verwendet werden. Das Ausdehnungsschätzmodul kann in einigen Fällen auch mehr als eine Begrenzungsbox für einen gegebenen Kandidaten bestimmen.
-
Als Ergebnis des Ausdehnungsschätzmoduls werden folglich eine oder mehrere entsprechende Begrenzungsboxen für jeden Kandidaten von wenigstens der Untermenge der Vielzahl von Kandidaten erhalten. Das Nicht-Maximum-Unterdrückung-Modul wählt dann eine der Begrenzungsboxen für jedes Fahrzeug in der Umgebung des Ego-Fahrzeugs, beispielsweise genau eine Begrenzungsbox, aus. Insbesondere führt das Nicht-Maximum-Unterdrückung-Modul einen Nicht-Maximum-Unterdrückung-Schritt oder ein Nicht-Maximum-Unterdrückung-Verfahren aus, um die wenigstens eine der Begrenzungsboxen auszuwählen. Als Ergebnis des Verfahrens zur Fahrzeugerkennung kann eine ausgewählte Begrenzungsbox für jedes Fahrzeug in der Umgebung des Ego-Fahrzeugs erhalten werden. Die ausgewählten Begrenzungsboxen können dann beispielsweise durch ein fortschrittliches Fahrerassistenzsystem, ADAS, oder durch ein anderes elektronisches Fahrzeugführungssystem verwendet werden, um automatische oder teilweise automatische Fahr- oder Führungsfunktionen für das Ego-Fahrzeug auszuführen.
-
Durch Bestimmen einer Begrenzungsbox für jeden Kandidaten der Untermenge der Vielzahl von Kandidaten wird mehr als nur eine potentielle Begrenzungsbox für jedes Fahrzeug bestimmt. Die Auswahl wird dann in einem zweiten Schritt durch Nicht-Maximum-Unterdrückung bewerkstelligt. In dieser Weise wird die Wahrscheinlichkeit, dass letztendlich die optimale Begrenzungsbox für ein Fahrzeug erhalten wird, im Vergleich zu einer Methode erhöht, die eine entsprechende Begrenzungsbox für das Fahrzeug oder für ein Paar von Scheinwerfern oder Heckleuchten direkt bestimmt. Daher werden die Genauigkeit und Zuverlässigkeit der ausgewählten Begrenzungsboxen und des Verfahrens zur Fahrzeugerkennung erhöht. Folglich werden auch die Zuverlässigkeit und Sicherheit von anschließenden Funktionen unter Verwendung der ausgewählten Begrenzungsboxen für die automatische oder teilweise automatische Führung des Ego-Fahrzeugs erhöht.
-
Durch Bestimmen der Begrenzungsboxen für die Fahrzeuge über die Erkennung der Kandidaten für die Beleuchtungseinheiten wird ferner die Fahrzeugerkennung im Fall von lichtarmen Szenarios besonders leistungsstark. Da die Lichtmerkmalskarten vielmehr die Kandidaten für die Beleuchtungseinheiten darstellen, als Beschreibungen für das ganze Fahrzeug bereitzustellen, ist auch die Annotation von jeweiligen Trainingsdaten oder Trainingsbildern signifikant vereinfacht, da aktive Beleuchtungseinheiten auch in lichtarmen Szenarios gut erkennbar sind.
-
Gemäß mehreren Implementierungen des computerimplementierten Verfahrens zur Fahrzeugerkennung gemäß der Erfindung wird eine betreffende erste Begrenzungsbox für ein erstes Fahrzeug des wenigstens einen Fahrzeugs für eine erste Untermenge der Vielzahl von Kandidaten durch das Ausdehnungsschätzmodul bestimmt und eine, insbesondere genau eine, der ersten Begrenzungsboxen wird durch das Nicht-Maximum-Unterdrückung-Modul ausgewählt.
-
Alternativ oder zusätzlich wird für eine zweite Untermenge der Vielzahl von Kandidaten eine betreffende zweite Begrenzungsbox für ein zweites Fahrzeug des wenigstens einen Fahrzeugs durch das Ausdehnungsschätzmodul bestimmt und eine, insbesondere genau eine, der zweiten Begrenzungsboxen wird durch das Nicht-Maximum-Unterdrückung-Modul ausgewählt.
-
Während das erste Fahrzeug von dem zweiten Fahrzeug verschieden ist, können die erste Untermenge der Vielzahl von Kandidaten und die zweite Untermenge der Vielzahl von Kandidaten im Prinzip überlappen.
-
Gemäß mehreren Implementierungen wird ein Fluchtpunkt des Eingangsbildes durch ein Fluchtpunktschätzmodul des Computer-Vision Algorithmus geschätzt. Eine validierte Menge von Kandidaten wird durch ein Validierungsmodul des Computer-Vision Algorithmus abhängig von der Lichtmerkmalskarte und einem Ergebnis der Schätzung des Fluchtpunkts bestimmt. Die betreffende Begrenzungsbox für das wenigstens eine Fahrzeug wird durch das Ausdehnungsschätzmodul für jeden von wenigstens der Untermenge der validierten Menge von Kandidaten bestimmt.
-
Mit anderen Worten, alle Kandidaten der Vielzahl von Kandidaten, die nicht in der validierten Menge von Kandidaten enthalten sind, werden nicht verwendet, um eine entsprechende Begrenzungsbox zu schätzen.
-
Der Fluchtpunkt des Eingangsbildes kann als Punkt im Eingangsbild betrachtet werden, an dem sich mehrere konvergierende Linien im Bild treffen. Die konvergierenden Linien können beispielsweise durch Strukturen von Straßen, Gebäuden, Fahrbahnmarkierungen und so weiter in der Umgebung des Ego-Fahrzeugs definiert sein. Mit anderen Worten, ein Fluchtpunkt kann als Punkt in der Bildebene in einer perspektivischen Interpretation betrachtet werden, an dem die zweidimensionalen perspektivischen Projektionen von zueinander parallelen Linien im dreidimensionalen Raum zu konvergieren scheinen.
-
Um den Fluchtpunkt zu schätzen, kann das Fluchtpunktschätzmodul beispielsweise eine Fluchtpunkt-Regressionsoperation abhängig von dem Eingangsbild ausführen. Dazu kann das Fluchtpunktschätzmodul direkt auf das Eingangsbild angewandt werden oder kann auf eine Bildmerkmalskarte angewandt werden, die durch den Computer-Vision Algorithmus auf der Basis des Eingangsbildes erzeugt wird. Das Validierungsmodul wird trainiert, um die Kandidaten für die Beleuchtungseinheiten auf der Basis des Ergebnisses der Fluchtpunktschätzung oder -regression, insbesondere auf der Basis der jeweiligen Fluchtpunktmerkmalskarte, zu validieren. Dabei kann das Validierungsmodul insbesondere andere Lichtquellen, beispielsweise Straßenlaternen, die nicht Beleuchtungseinheiten eines Fahrzeugs entsprechen, herausfiltern. Dazu werden der Fluchtpunkt oder die Fluchtpunkte des Bildes berücksichtigt.
-
In typischen Straßenumgebungen unterscheidet sich die räumliche Verteilung von tatsächlichen Fahrzeugbeleuchtungseinheiten von der räumlichen Verteilung von anderen Lichtquellen, wie zum Beispiel Straßenlaternen. Insbesondere ist in Anbetracht einer horizontalen Achse der Bildebene, die das Eingangsbild in zwei gleiche Hälften unterteilt, der Abstand eines Fluchtpunkts von der horizontalen Achse in den meisten Szenarios kleiner als der Abstand einer Fahrzeugbeleuchtungseinheit von der horizontalen Achse. Ferner ist der Abstand des Fluchtpunkts von der horizontalen Achse in fast allen Szenarios größer als der Abstand einer Straßenlaterne von der horizontalen Achse der Bildebene.
-
Diese Beziehungen sind nicht für jedes einzelne Szenario erfüllt, aber, wie erwähnt, wurde festgestellt, dass sie in fast allen realistischen Straßenszenarios tatsächlich erfüllt sind. Die entsprechenden Informationen, die im Fluchtpunkt des Eingangsbildes kodiert sind, werden mittels des Validierungsmoduls ausgenutzt, das eine oder mehrere Faltungs- und/oder Entfaltungsschichten beinhaltet, um zwischen tatsächlichen Beleuchtungseinheiten von Fahrzeugen und Straßenlaternen oder anderen Lichtquellen in dem Szenario zu unterscheiden. Mit anderen Worten, das Validierungsmodul kann trainiert werden, um die Beziehungen von Abständen und optional anderen Merkmalen, die Fahrzeugbeleuchtungseinheiten von anderen Lichtquellen unterscheiden, zu lernen.
-
Gemäß mehreren Implementierungen wird die Fluchtpunktmerkmalskarte durch das Fluchtpunktschätzmodul durch Ausführen der Fluchtpunkt-Regressionsoperation erzeugt und die validierte Menge von Kandidaten wird durch das Validierungsmodul abhängig von der Lichtmerkmalskarte und der Fluchtpunktmerkmalskarte bestimmt.
-
Insbesondere kann die Fluchtpunktmerkmalskarte eine räumliche Ausdehnung gleich der räumlichen Ausdehnung des Eingangsbildes aufweisen.
-
Gemäß mehreren Implementierungen wird ein Kantenerkennungsuntermodul des Lichterkennungsmoduls auf das Eingangsbild angewandt, um eine Kantenmerkmalskate zu erzeugen. Eine erste encodierte Merkmalskarte wird durch Anwenden eines ersten Encoderuntermoduls des Lichterkennungsmoduls auf die Kantenmerkmalskarte erzeugt und die Lichtmerkmalskarte wird durch ein Lichterkennungs-Decoderuntermodul des Lichterkennungsmoduls abhängig von der ersten encodierten Merkmalskarte erzeugt. Die Kantenmerkmalskarte kann insbesondere dieselben räumlichen Ausdehnungen wie das Eingangsbild aufweisen.
-
Die Kantenmerkmalskarte stellt die Kanteninformationen dar, die im Eingangsbild enthalten sind. In lichtarmen Situationen sind Bildinformationen wie zum Beispiel Farben und die Textur von Objekten in der Umgebung des Ego-Fahrzeugs sehr schwierig zu extrahieren. Folglich sind die Kanteninformationen des Bildes zum Erkennen von Objekten, insbesondere Fahrzeugen, in lichtarmen Szenarios von besonderer Bedeutung.
-
Das Kantenerkennungsuntermodul kann ein Kantenerkennungs-Encoderuntermodul aufweisen, das auf das Eingangsbild angewandt wird und eine Bildmerkmalskarte auf der Basis des Eingangsbildes erzeugen kann. Das Kantenerkennungsuntermodul kann ferner ein Kantenerkennungs-Decoderuntermodul aufweisen, das auf die Bildmerkmalskarte angewandt wird, um die Kantenmerkmalskarte zu erzeugen, die auch als Bild mit erkannten Kanten betrachtet werden kann. Zum Trainieren des Kantenerkennungsuntermoduls kann beispielsweise ein Canny-Kantenerkennungsalgorithmus verwendet werden, um eine entsprechende Ground Truth zu erzeugen.
-
Da die Kantenmerkmale des Eingangsbildes einen der wichtigsten Inhalte für die Fahrzeugerkennung bei wenig Licht darstellen, führt die Verwendung der Kantenmerkmalskarte zum Erzeugen der Lichtmerkmalskarte zu einer besonders zuverlässigen Erkennung der Kandidaten für die Vielzahl von Beleuchtungseinheiten.
-
Gemäß mehreren Implementierungen wird eine zweite encodierte Merkmalskarte durch Anwenden eines zweiten Encoderuntermoduls des Lichterkennungsmoduls auf das Eingangsbild erzeugt. Die Lichtmerkmalskarte wird durch das Lichterkennungs-Decoderuntermodul abhängig von der zweiten encodierten Merkmalskarte, insbesondere abhängig von der ersten encodierten Merkmalskarte und der zweiten encodierten Merkmalskarte, erzeugt.
-
In entsprechenden Ausführungsformen werden die erste und die zweite encodierte Merkmalskarte oder, mit anderen Worten, die allgemeinen Merkmale des Eingangsbildes und die Kantenmerkmale des Eingangsbildes beide verwendet, um die Lichtmerkmalskarte zu erzeugen. Insbesondere werden das Eingangsbild und die Kantenmerkmalskarte mittels des ersten und des zweiten Encoderuntermoduls des Lichterkennungsmoduls parallel ausgewertet. Daher kann die Zuverlässigkeit der Lichtmerkmalskarte weiter erhöht werden.
-
Beispielsweise wird eine zusammengeführte encodierte Merkmalskarte durch ein Zusammenführungsuntermodul des Lichterkennungsmoduls durch Zusammenführen der ersten encodierten Merkmalskarte und der zweiten encodierten Merkmalskarte erzeugt. Die Lichtmerkmalskarte wird durch Anwenden des Lichterkennungs-Decoderuntermoduls auf die zusammengeführte encodierte Merkmalskarte erzeugt.
-
Die Zusammenführung kann beispielsweise eine Verkettung, eine Summierung oder eine Mittelwertbildung der ersten und der zweiten encodierten Merkmalskarte beinhalten.
-
In entsprechenden Implementierungen wird die Fluchtpunktmerkmalskarte auch basierend auf der zusammengeführten encodierten Merkmalskarte erzeugt. Insbesondere kann das Fluchtpunktschätzmodul als Fluchtpunkt-Decodermodul ausgestaltet sein und kann auf die zusammengeführte encodierte Merkmalskarte angewandt werden, um die Fluchtpunkt-Regressionsoperation auf der Basis der zusammengeführten encodierten Merkmalskarte auszuführen.
-
Auf diese Weise werden sowohl die besonders relevanten Kanteninformationen als auch die verfügbaren allgemeinen Informationen verwendet, um den Fluchtpunkt sowie die Vielzahl von Kandidaten für die Beleuchtungseinheiten der Fahrzeuge parallel zu schätzen. Die Lichtmerkmalskarte und die Fluchtpunktmerkmalskarte werden dann beide dem Validierungsmodul zugeführt, um die validierte Menge von Kandidaten zu erzeugen.
-
Gemäß mehreren Implementierungen wird die betreffende Begrenzungsbox für jeden von zumindest der Untermenge der Vielzahl von Kandidaten durch das Ausdehnungsschätzmodul abhängig von wenigstens einer vorherigen Begrenzungsbox für wenigstens ein Fahrzeug bestimmt.
-
Insbesondere kann die wenigstens eine vorherige Begrenzungsbox für das wenigstens eine Fahrzeug dem Ausdehnungsschätzmodul durch ein rekurrentes neuronales Netzwerk-Modul, insbesondere ein langes Kurzzeitgedächtnis, LSTM, des Computer-Vision Algorithmus, bereitgestellt werden. Das rekurrente neuronale Netzwerk-Modul kann zwischen einem Ausgang des Nicht-Maximum-Unterdrückung-Moduls und einem Eingang des Ausdehnungsschätzmoduls gekoppelt sein.
-
In dieser Weise wirkt das rekurrente neuronale Netzwerk-Modul als Speicherzelle zum Speichern von historischen Informationen, um das Ergebnis in der nächsten Sequenz vorherzusagen. Folglich können die ausgewählten Begrenzungsboxen effektiv verfolgt werden und die vorherigen verfolgten Begrenzungsboxen zusammen mit dem aktuellen Einzelbild und den Informationen, wie beschrieben, können verwendet werden, um die korrekten Begrenzungsboxen im aktuellen Einzelbild vorherzusagen. Folglich wird die Zuverlässigkeit der Fahrzeugerkennung weiter erhöht.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein computerimplementiertes Trainingsverfahren zum Trainieren eines Computer-Vision Algorithmus zur Fahrzeugerkennung bereitgestellt. Ein Lichterkennungsmodul des Computer-Vision Algorithmus wird auf ein Trainingseingangsbild, welches eine Umgebung eines Ego-Fahrzeugs darstellt, angewandt, um eine Lichtmerkmalskarte zu erzeugen, wobei die Lichtmerkmalskarte jeweilige Positionen einer Vielzahl von Kandidaten für jeweilige Beleuchtungseinheiten wenigstens eines Fahrzeugs in der Umgebung des Ego-Fahrzeugs definiert. Für jeden von wenigstens einer Untermenge der Vielzahl von Kandidaten wird eine betreffende Begrenzungsbox für das wenigstens eine Fahrzeug durch ein Ausdehnungsschätzmodul des Computer-Vision Algorithmus bestimmt. Wenigstens eine der Begrenzungsboxen wird durch ein Nicht-Maximum-Unterdrückung-Modul des Computer-Vision Algorithmus ausgewählt. Eine Verlustfunktion wird abhängig von der ausgewählten wenigstens einen der Begrenzungsboxen berechnet. Das Nicht-Maximum-Unterdrückung-Modul, das Ausdehnungsschätzmodul und wenigstens ein Teil des Lichterkennungsmoduls werden abhängig von der Verlustfunktion trainiert, werden beispielsweise abhängig von der Verlustfunktion trainiert, insbesondere gemeinsam.
-
Wenn nicht anders angegeben, können alle Schritte eines computerimplementierten Trainingsverfahrens gemäß der Erfindung durch wenigstens eine Trainingsrecheneinheit ausgeführt werden, die sich insbesondere außerhalb des Ego-Fahrzeugs befinden kann. Wenn ein computerimplementiertes Verfahren zur Fahrzeugerkennung gemäß der Erfindung ausgeführt wird, kann der Computer-Vision Algorithmus insbesondere vorher gemäß einem computerimplementierten Trainingsverfahren gemäß der Erfindung trainiert worden sein. In solchen Implementierungen kann das computerimplementierte Trainingsverfahren auch als Teil des computerimplementierten Verfahrens betrachtet werden, das jedoch durch die wenigstens eine Trainingsrecheneinheit anstelle der wenigstens einen Recheneinheit, insbesondere des Ego-Fahrzeugs, ausgeführt wird.
-
Das Training des Nicht-Maximum-Unterdrückung-Moduls, des Ausdehnungsschätzmoduls und wenigstens des Teils des Lichterkennungsmoduls kann im Allgemeinen gemäß einem bekannten Trainingsverfahren, insbesondere einem bekannten überwachten Trainingsverfahren, ausgeführt werden.
-
Abhängig von der tatsächlichen Implementierung des Computer-Vision Algorithmus können auch das Fluchtpunktschätzmodul und/oder das Validierungsmodul und/oder das rekurrente neuronale Netzwerk-Modul zusammen mit dem Nicht-Maximum-Unterdrückung-Modul, dem Ausdehnungsschätzmodul und wenigstens dem Teil des Lichterkennungsmoduls abhängig von der Verlustfunktion gemeinsam trainiert werden.
-
Abhängig von der tatsächlichen Implementierung des Computer-Vision Algorithmus beinhaltet der Teil des Lichterkennungsmoduls, der zusammen mit den anderen Modulen abhängig von der Verlustfunktion trainiert wird, das erste Encoderuntermodul und/oder das zweite Encoderuntermodul und/oder das Zusammenführungsuntermodul und/oder das Lichterkennungs-Decoderuntermodul.
-
Es wird angemerkt, dass die vorstehend für das computerimplementierte Trainingsverfahren beschriebenen Schritte nur eine einzelne Trainingsepoche des Trainingsverfahrens darstellen. Offensichtlich können mehrere Trainingsepochen in einer analogen Weise ausgeführt werden, um das Ergebnis des Trainings zu verbessern.
-
Gemäß mehreren Implementierungen des computerimplementierten Trainingsverfahrens wird ein Curriculum-Lernverfahren angewandt, um das Nicht-Maximum-Unterdrückung-Modul, das Ausdehnungsschätzmodul und wenigstens den Teil des Lichterkennungsmoduls abhängig von der Verlustfunktion zu trainieren.
-
Gemäß mehreren Implementierungen beinhaltet das Curriculum-Lernverfahren eine Maskierungs-und-Vorhersage-Strategie. Dabei werden während aufeinander folgender Trainingsepochen Objekte in den Trainingsbildern, insbesondere Fahrzeuge, fortschreitend maskiert, so dass das Netzwerk lernt, verschiedene Stufen der Verdeckung mit zunehmender Schwierigkeit zu handhaben.
-
In dieser Weise können auch teilweise verdeckte Kandidaten für Fahrzeugbeleuchtungseinheiten in einer zuverlässigen Weise bestimmt werden, wenn das Training vollendet ist.
-
Gemäß mehreren Implementierungen wird das Kantenerkennungsuntermodul des Lichterkennungsmoduls auf das Trainingseingangsbild angewandt, um eine Kantenmerkmalskarte zu erzeugen. Eine erste encodierte Merkmalskarte wird durch Anwenden des ersten Encoderuntermoduls des Lichterkennungsmoduls auf die Kantenmerkmalskarte erzeugt. Die Lichtmerkmalskarte wird durch das Lichterkennungs-Decoderuntermodul des Lichterkennungsmoduls abhängig von der ersten encodierten Merkmalskarte erzeugt. Das Nicht-Maximum-Unterdrückung-Modul, die Ausdehnungsschätzeinrichtung, das erste Encoderuntermodul und das Lichterkennungs-Decoderuntermodul werden abhängig von der Verlustfunktion trainiert, insbesondere gemeinsam trainiert.
-
Gemäß mehreren Implementierungen wird die zweite encodierte Merkmalskarte durch Anwenden des zweiten Encoderuntermoduls des Lichterkennungsmoduls auf das Trainingsbild erzeugt und die Lichtmerkmalskarte wird durch das Lichterkennungs-Decoderuntermodul abhängig von der zweiten encodierten Merkmalskarte erzeugt. Das Nicht-Maximum-Unterdrückung-Modul, das Ausdehnungsschätzmodul, das erste Encoderuntermodul, das zweite Encoderuntermodul und das Lichterkennungs-Decoderuntermodul werden abhängig von der Verlustfunktion trainiert, insbesondere gemeinsam trainiert.
-
Gemäß mehreren Implementierungen wird das Kantenerkennungsuntermodul während einer ersten Trainingsphase des computerimplementierten Trainingsverfahrens abhängig von einer weiteren Verlustfunktion trainiert. Das Nicht-Maximum-Unterdrückung-Modul, das Ausdehnungsschätzmodul, das erste Encoderuntermodul und das Lichterkennungs-Decoderuntermodul und gegebenenfalls das zweite Encoderuntermodul und/oder das Zusammenführungsuntermodul werden abhängig von der Verlustfunktion während einer zweiten Trainingsphase nach der ersten Trainingsphase trainiert. Insbesondere wird die erste Trainingsphase vollendet, bevor die zweite Trainingsphase beginnt.
-
Gemäß mehreren Implementierungen wird das Kantenerkennungs-Encoderuntermodul des Kantenerkennungsuntermoduls während der ersten Trainingsphase auf ein weiteres Trainingseingangsbild angewandt, um eine Bildmerkmalskarte zu erzeugen. Das Kantenerkennungs-Decoderuntermodul des Kantenerkennungsuntermoduls wird auf die Bildmerkmalskarte angewandt, um ein Bild mit erkannten Kanten zu erzeugen, das auch als Kantenmerkmalskarte bezeichnet werden kann. Ein Decodermodul zur semantischen Segmentierung wird auf die Bildmerkmalskarte angewandt, um ein segmentiertes Bild zu erzeugen. Die weitere Verlustfunktion wird abhängig von dem Bild mit erkannten Kanten und abhängig von dem segmentierten Bild berechnet. Das Kantenerkennungs-Encoderuntermodul und das Kantenerkennungs-Decoderuntermodul werden abhängig von der weiteren Verlustfunktion trainiert, insbesondere gemeinsam trainiert.
-
In solchen Implementierungen wird das Decodermodul zur semantischen Segmentierung, das gemäß einer bekannten Architektur für die semantische Segmentierung entworfen sein kann, als Hilfswerkzeug zum Trainieren der Kantenerkennungs-Encoder- und -Decoderuntermodule verwendet. Insbesondere ist das Decodermodul zur semantischen Segmentierung nach der ersten Trainingsphase für die zweite Trainingsphase oder für das computerimplementierte Verfahren zur Fahrzeugerkennung nicht mehr erforderlich. Durch Trainieren des Kantenerkennungs-Decoderuntermoduls mit dem Decodermodul zur semantischen Segmentierung kann jedoch die Leistung der Kantenerkennung verbessert werden, da eine größere Vielfalt von semantischen Bildpunktebeneninformationen für das Training berücksichtigt wird.
-
Weitere Implementierungen des computerimplementierten Trainingsverfahrens gemäß der Erfindung folgen direkt aus den verschiedenen Implementierungen des computerimplementierten Verfahrens zur Fahrzeugerkennung gemäß der Erfindung und umgekehrt.
-
Gemäß einem weiteren Aspekt der Erfindung wird auch ein Verfahren zum wenigstens teilweise automatischen Führen eines Ego-Fahrzeugs bereitgestellt. Dabei wird ein Eingangsbild, welches eine Umgebung des Ego-Fahrzeugs darstellt, mittels einer Kamera des Fahrzeugs erzeugt. Wenigstens ein Fahrzeug in der Umgebung des Ego-Fahrzeugs wird durch Ausführen eines computerimplementierten Verfahrens zur Fahrzeugerkennung gemäß der Erfindung, insbesondere durch wenigstens eine Recheneinheit des Ego-Fahrzeugs, erkannt. Wenigstens ein Steuersignal zum wenigstens teilweise automatischen Führen des Ego-Fahrzeugs wird, insbesondere durch die wenigstens eine Recheneinheit, abhängig von der ausgewählten wenigstens einen der Begrenzungsboxen für das wenigstens eine erkannte Fahrzeug in der Umgebung erzeugt.
-
Das wenigstens eine Steuersignal kann einem oder mehreren Aktuatoren des Ego-Fahrzeugs bereitgestellt werden, um die wenigstens teilweise automatische Führung des Ego-Fahrzeugs zu implementieren, beispielsweise durch Steuern oder Beeinflussen einer Quersteuerung und/oder einer Längssteuerung des Ego-Fahrzeugs.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein elektronisches Fahrzeugführungssystem für ein Ego-Fahrzeug bereitgestellt. Das elektronische Fahrzeugführungssystem beinhaltet eine Kamera, die dazu eingerichtet ist, ein Eingangsbild, welches eine Umgebung der Kamera, insbesondere des Ego-Fahrzeugs, falls die Kamera am Ego-Fahrzeug montiert ist, darstellt, zu erzeugen, und wenigstens eine Recheneinheit für das Ego-Fahrzeug. Die wenigstens eine Recheneinheit beinhaltet eine Speichereinheit, die einen Computer-Vision Algorithmus, insbesondere einen Computer-Vision Algorithmus, der gemäß einem computerimplementierten Trainingsverfahren gemäß der Erfindung trainiert ist oder trainiert wurde, speichert. Die wenigstens eine Recheneinheit ist dazu eingerichtet, den Computer-Vision Algorithmus auszuführen, und ist insbesondere dazu eingerichtet, ein computerimplementiertes Verfahren zur Fahrzeugerkennung gemäß der Erfindung unter Verwendung des Computer-Vision Algorithmus auszuführen.
-
Insbesondere ist die wenigstens eine Recheneinheit dazu eingerichtet, das Lichterkennungsmodul des Computer-Vision Algorithmus auf das Eingangsbild anzuwenden, um eine Lichtmerkmalskarte zu erzeugen, wobei die Lichtmerkmalskarte die jeweilige Position einer Vielzahl von Kandidaten für jeweilige Beleuchtungseinheiten wenigstens eines Fahrzeugs definiert, für jeden von wenigstens einer Untermenge der Vielzahl von Kandidaten eine betreffende Begrenzungsbox für das wenigstens eine Fahrzeug unter Verwendung des Ausdehnungsschätzmoduls des Computer-Vision Algorithmus zu bestimmen und wenigstens eine der Begrenzungsboxen unter Verwendung des Nicht-Maximum-Unterdrückung-Moduls des Computer-Vision Algorithmus auszuwählen. Die wenigstens eine Recheneinheit ist auch dazu eingerichtet, wenigstens ein Steuersignal zum wenigstens teilweise automatischen Führen des Fahrzeugs abhängig von der ausgewählten wenigstens einen der Begrenzungsboxen zu erzeugen.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein erstes Computerprogramm mit ersten Befehlen bereitgestellt. Wenn die ersten Befehle durch ein Computersystem, beispielsweise durch ein Universalcomputersystem oder durch wenigstens eine Recheneinheit des elektronischen Fahrzeugführungssystems gemäß der Erfindung, ausgeführt werden, bewirken die ersten Befehle, dass das Computersystem ein computerimplementiertes Verfahren zur Fahrzeugerkennung gemäß der Erfindung ausführt.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein zweites Computerprogramm mit zweiten Befehlen bereitgestellt. Wenn die zweiten Befehle durch ein weiteres Computersystem, beispielsweise durch ein weiteres Universalcomputersystem, ausgeführt werden, bewirken die zweiten Befehle, dass das weitere Computersystem ein computerimplementiertes Trainingsverfahren gemäß der Erfindung ausführt.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein drittes Computerprogramm mit dritten Befehlen bereitgestellt. Wenn die dritten Befehle durch ein elektronisches Fahrzeugführungssystem gemäß der Erfindung, insbesondere durch die wenigstens eine Recheneinheit des elektronischen Fahrzeugführungssystems, ausgeführt werden, bewirken die dritten Befehle, dass das elektronische Fahrzeugführungssystem ein Verfahren zum wenigstens teilweise automatischen Führen eines Ego-Fahrzeugs gemäß der Erfindung ausführt.
-
Gemäß einem weiteren Aspekt der Erfindung wird ein computerlesbares Speichermedium, das ein erstes Computerprogramm und/oder ein zweites Computerprogramm und/oder ein drittes Computerprogramm gemäß der Erfindung speichert, bereitgestellt.
-
Computer-Vision Algorithmen, die auch als Maschinen-Vision Algorithmen oder Algorithmen für die automatische visuelle Wahrnehmung bezeichnet werden können, können als computerimplementierte Algorithmen zum automatischen Durchführen einer visuellen Wahrnehmungsaufgabe betrachtet werden. Eine visuelle Wahrnehmungsaufgabe, die auch als Computer-Vision Aufgabe bezeichnet wird, kann beispielsweise als Aufgabe zum Extrahieren von visuellen Informationen aus Bilddaten verstanden werden. Insbesondere kann die visuelle Wahrnehmungsaufgabe im Prinzip durch einen Menschen ausgeführt werden, der ein Bild, das den Bilddaten entspricht, visuell wahrnehmen kann. Im vorliegenden Zusammenhang werden jedoch visuelle Wahrnehmungsaufgaben automatisch durchgeführt, ohne die Unterstützung eines Menschen zu erfordern.
-
Ein Computer-Vision Algorithmus kann beispielsweise als Bildverarbeitungsalgorithmus oder Algorithmus für die Bildanalyse verstanden werden, der unter Verwendung von Maschinenlernen trainiert ist und beispielsweise auf einem künstlichen neuronalen Netzwerk, insbesondere einem faltenden neuronalen Netzwerk, basieren kann.
-
Der Computer-Vision Algorithmus kann beispielsweise einen Objekterkennungsalgorithmus, einen Hinderniserkennungsalgorithmus, einen Objektverfolgungsalgorithmus, einen Klassifizierungsalgorithmus und/oder einen Segmentierungsalgorithmus beinhalten.
-
Ein Objekterkennungsalgorithmus kann als Computer-Vision Algorithmus verstanden werden, der ein oder mehrere Objekte innerhalb eines bereitgestellten Eingangsbildes durch Festlegen von betreffenden Begrenzungsboxen und/oder Zuweisen einer jeweiligen Objektklasse zu jeder der Begrenzungsboxen identifizieren kann, wobei die Objektklassen aus einer vordefinierten Menge von Objektklassen ausgewählt sein können. Das Zuweisen einer Objektklasse zu einer Begrenzungsbox kann dabei derart verstanden werden, dass ein entsprechender Konfidenzwert oder eine entsprechende Wahrscheinlichkeit für das innerhalb der Begrenzungsbox identifizierte Objekt, das von der entsprechenden Objektklasse ist, bereitgestellt wird. Der Algorithmus kann beispielsweise einen solchen Konfidenzwert oder eine solche Wahrscheinlichkeit für jede der Objektklassen für eine gegebene Begrenzungsbox bereitstellen. Das Zuweisen der Objektklasse kann beispielsweise das Auswählen oder Bereitstellen der Objektklasse mit dem größten Konfidenzwert oder der größten Wahrscheinlichkeit beinhalten. Alternativ kann der Algorithmus nur die Begrenzungsboxen angeben, ohne eine entsprechende Objektklasse zuzuweisen.
-
Der Computer-Vision Algorithmus kann als Software mit den vorstehend beschriebenen verschiedenen Modulen und Untermodulen verstanden werden, soweit in den jeweiligen Ausführungsformen anwendbar. Ein Modul des Computer-Vision Algorithmus kann als Softwaremodul verstanden werden. Insbesondere kann das Softwaremodul auf Hardware, insbesondere der wenigstens einen Recheneinheit, implementiert oder gespeichert sein.
-
Ein Softwaremodul kann als Teil eines Softwarecodes verstanden werden, der funktional verbunden und zu einer Einheit kombiniert ist. Ein Softwaremodul kann mehrere Verarbeitungsschritte und/oder Datenstrukturen beinhalten oder implementieren. Ein Verfahrensschritt zum Bereitstellen eines Softwaremoduls kann so verstanden werden, dass er die Bereitstellung eines jeweiligen Softwarecodes in einer computerlesbaren Weise auf einem computerlesbaren Speichermedium beinhaltet.
-
Eine Recheneinheit kann insbesondere als Datenverarbeitungsvorrichtung verstanden werden. Die Recheneinheit kann daher insbesondere Daten verarbeiten, um Rechenoperationen durchzuführen. Dies kann auch Operationen beinhalten, um indizierte Zugriffe auf eine Datenstruktur, beispielsweise eine Nachschlagetabelle, LUT, durchzuführen.
-
Insbesondere kann die Recheneinheit einen oder mehrere Computer, einen oder mehrere Mikrocontroller und/oder einen oder mehrere integrierte Schaltkreise, beispielsweise einen oder mehrere anwendungsspezifische integrierte Schaltkreise, ASIC, ein oder mehrere anwenderprogrammierbare Verknüpfungsfelder, FPGA, und/oder ein oder mehrere Systeme auf einem Chip, SoC, beinhalten. Die Recheneinheit kann auch einen oder mehrere Prozessoren, beispielsweise einen oder mehrere Mikroprozessoren, eine oder mehrere Zentraleinheiten, CPU, eine oder mehrere Graphikverarbeitungseinheiten, GPU, und/oder einen oder mehrere Signalprozessoren, insbesondere einen oder mehrere Digitalsignalprozessoren, DSP, beinhalten. Die Recheneinheit kann auch einen physikalischen oder virtuellen Cluster von Computern oder anderen der Einheiten beinhalten.
-
In verschiedenen Ausführungsformen beinhaltet die Recheneinheit eine oder mehrere Hardware- und/oder Softwareschnittstellen und/oder eine oder mehrere Speichereinheiten.
-
Eine Speichereinheit kann als flüchtiger Datenspeicher, beispielsweise dynamischer Direktzugriffsspeicher, DRAM, oder statischer Direktzugriffsspeicher, SRAM, oder als nichtflüchtiger Datenspeicher, beispielsweise Festwertspeicher, ROM, programmierbarer Festwertspeicher, PROM, löschbarer Festwertspeicher, EPROM, elektrisch löschbarer Festwertspeicher, EEPROM, Flash-Speicher oder Flash-EEPROM, ferroelektrischer Direktzugriffsspeicher, FRAM, magnetoresistiver Direktzugriffsspeicher, MRAM, oder Phasenänderungsdirektzugriffsspeicher, PCRAM, implementiert werden.
-
Ein elektronisches Fahrzeugführungssystem kann als elektronisches System verstanden werden, das dazu eingerichtet ist, ein Fahrzeug in einer vollständig automatisierten oder einer vollständig autonomen Weise und insbesondere, ohne dass ein manueller Eingriff oder eine Steuerung durch einen Fahrer oder Benutzer des Fahrzeugs erforderlich ist, zu führen. Das Fahrzeug führt alle erforderlichen Funktionen wie zum Beispiel Lenkmanöver, Verlangsamungsmanöver und/oder Beschleunigungsmanöver sowie die Überwachung und Aufzeichnung des Straßenverkehrs und entsprechende Reaktionen automatisch aus. Insbesondere kann das elektronische Fahrzeugführungssystem einen vollständig automatischen oder vollständig autonomen Fahrmodus gemäß der Ebene 5 der Klassifikation SAE J3016 implementieren. Ein elektronisches Fahrzeugführungssystem kann auch als fortschrittliches Fahrerassistenzsystem, ADAS, das einen Fahrer zum teilweise automatischen oder teilweise autonomen Fahren unterstützt, implementiert sein. Insbesondere kann das elektronische Fahrzeugführungssystem einen teilweise automatischen oder teilweise autonomen Fahrmodus gemäß den Ebenen 1 bis 4 der Klassifikation SAE J3016 implementieren. Hier und im Folgenden bezieht sich SAE J3016 auf den jeweiligen Standard mit Datum vom Juni 2018.
-
Das wenigstens teilweise automatische Führen des Fahrzeugs kann daher das Führen des Fahrzeugs gemäß einem vollständig automatischen oder vollständig autonomen Fahrmodus gemäß der Ebene 5 der Klassifikation SAE J3016 beinhalten. Das wenigstens teilweise automatische Führen des Fahrzeugs kann auch das Führen des Fahrzeugs gemäß einem teilweise automatischen oder teilweise autonomen Fahrmodus gemäß den Ebenen 1 bis 4 der Klassifikation SAE J3016 beinhalten.
-
Weitere Merkmale der Erfindung sind aus den Ansprüchen, den Figuren und der Figurenbeschreibung ersichtlich. Die vorstehend in der Beschreibung erwähnten Merkmale und Merkmalskombinationen sowie die nachstehend in der Figurenbeschreibung erwähnten und/oder in den Figuren gezeigten Merkmale und Merkmalskombinationen können von der Erfindung nicht nur in der jeweiligen angegebenen Kombination, sondern auch in anderen Kombinationen enthalten sein. Insbesondere sind Ausführungsformen und Merkmalskombinationen, die nicht alle Merkmale eines ursprünglich formulierten Anspruchs aufweisen, auch von der Erfindung enthalten. Überdies sind Ausführungsformen und Merkmalskombinationen, die über die in den Rezitationen der Ansprüche dargelegten Merkmalskombinationen hinausgehen oder von diesen abweichen, von der Erfindung enthalten.
-
Im Folgenden wird die Erfindung mit Bezug auf spezielle beispielhafte Implementierungen und jeweilige schematische Zeichnungen im Einzelnen erläutert. In den Zeichnungen können identische oder funktional identische Elemente mit denselben Bezugszeichen bezeichnet sein. Die Beschreibung von identischen oder funktional identischen Elementen wird mit Bezug auf verschiedene Figuren nicht notwendigerweise wiederholt.
-
In den Figuren gilt:
- 1 zeigt schematisch ein Kraftfahrzeug mit einer beispielhaften Implementierung eines elektronischen Fahrzeugführungssystems gemäß der Erfindung;
- 2 zeigt ein schematisches Blockdiagramm eines Computer-Vision Algorithmus zur Verwendung in einer beispielhaften Implementierung eines computerimplementierten Verfahrens zur Fahrzeugerkennung gemäß der Erfindung;
- 3 zeigt schematisch ein Bild mit einem Fluchtpunkt;
- 4 zeigt schematisch eine Auswahl einer Begrenzungsbox aus einer Vielzahl von Begrenzungsboxen;
- 5 zeigt ein Blockdiagramm eines in einer zweiten Trainingsphase einer beispielhaften Implementierung eines computerimplementierten Trainingsverfahrens gemäß der Erfindung zu trainierenden Computer-Vision Algorithmus; und
- 6 zeigt einen Teil des in einer ersten Trainingsphase gemäß einer weiteren beispielhaften Implementierung eines computerimplementierten Trainingsverfahrens gemäß der Erfindung zu trainierenden Computer-Vision Algorithmus.
-
1 zeigt schematisch ein Kraftfahrzeug, das im Folgenden auch als Ego-Fahrzeug 1 bezeichnet wird, das eine beispielhafte Implementierung eines elektronischen Fahrzeugführungssystems 2 gemäß der Erfindung aufweist.
-
Das Fahrzeugführungssystem 2 beinhaltet eine Kamera 3, beispielsweise eine Frontkamera, die an dem Ego-Fahrzeug 1 montiert ist, und eine Recheneinheit 4, die beispielsweise als elektronisches Steuergerät, ECU, oder als Teil eines ECU des Ego-Fahrzeugs 1, implementiert sein kann. Die Recheneinheit 4 beinhaltet eine Speichereinheit (nicht gezeigt), die einen Computer-Vision Algorithmus 6 speichert, wie im Blockdiagramm von 2 dargestellt.
-
Der Computer-Vision Algorithmus 6 wurde insbesondere gemäß einem computerimplementierten Trainingsverfahren gemäß der Erfindung trainiert. Folglich kann das elektronische Fahrzeugführungssystem 2 ein Verfahren zum wenigstens teilweise automatischen Führen des Ego-Fahrzeugs 1 ausführen. Dazu erzeugt die Kamera 3 ein Eingangsbild 5, welches eine Umgebung des Ego-Fahrzeugs darstellt, und die Recheneinheit 4 empfängt das Eingangsbild 5 von der Kamera 3 und führt ein computerimplementiertes Verfahren zur Fahrzeugerkennung gemäß der Erfindung durch Anwenden des trainierten Computer-Vision Algorithmus 6 aus. Ferner erzeugt die Recheneinheit 4 eines oder mehrere Steuersignale zum automatischen oder teilweise automatischen Führen des Ego-Fahrzeugs 1. Dazu kann die Recheneinheit 4 die Steuersignale einem oder mehreren Aktuatoren (nicht gezeigt) des Ego-Fahrzeugs 1 bereitstellen, um eine Quer- und/oder Längssteuerung des Ego-Fahrzeugs automatisch oder teilweise automatisch zu implementieren.
-
Es wird angemerkt, dass die Funktionalität der Recheneinheit 4 in einigen Implementierungen auch auf zwei oder mehr Recheneinheiten oder ECUs des Ego-Fahrzeugs 1 beziehungsweise des elektronischen Fahrzeugführungssystems 2 verteilt sein kann.
-
Das computerimplementierte Verfahren zur Fahrzeugerkennung wird mit Bezug auf 2 genauer beschrieben, die ein Blockdiagramm einer beispielhaften Implementierung eines Computer-Vision Algorithmus 6 zeigt, nachdem er trainiert wurde.
-
Der Computer-Vision Algorithmus 6 beinhaltet ein Lichterkennungsmodul 7, ein Ausdehnungsschätzmodul 8 und ein Nicht-Maximum-Unterdrückung-Modul 9. Die Recheneinheit 4 wendet das Lichterkennungsmodul 7 auf das Eingangsbild 5 an, das durch die Kamera 3 erzeugt wird, und erzeugt eine Lichtmerkmalskarte, die jeweilige Positionen einer Vielzahl von Kandidaten für jeweilige Beleuchtungseinheiten 23, 24 wenigstens eines Fahrzeugs 22 in der Umgebung des Ego-Fahrzeugs 1 definiert, wie in 4 angegeben.
-
Das Ausdehnungsschätzmodul 8 erzeugt eine betreffende Begrenzungsbox 25, 26, 27 für jeden von wenigstens einer Untermenge der Vielzahl von Kandidaten und stellt die Begrenzungsboxen 25, 26, 27 dem Nicht-Maximum-Unterdrückung-Modul 9 bereit. Das Nicht-Maximum-Unterdrückung-Modul 9 führt einen Nicht-Maximum-Unterdrückung-Algorithmus aus, um wenigstens eine der Begrenzungsboxen 25, 26, 27 auszuwählen, die durch das Ausdehnungsschätzmodul bereitgestellt werden. In dem Beispiel von 4 wird die Begrenzungsbox 25 aus den Begrenzungsboxen 25, 26, 27 durch das Nicht-Maximum-Unterdrückung-Modul 9 ausgewählt.
-
Um die Lichtmerkmalskarte zu erzeugen, kann das Lichterkennungsmodul 7 beispielsweise wenigstens ein Encoderuntermodul 11, 12 beinhalten, das auf das Eingangsbild 5 oder auf eine vorverarbeitete Version des Eingangsbildes 5 angewandt wird. Das Lichterkennungsmodul 7 kann auch ein Lichterkennungs-Decoderuntermodul 14 beinhalten, das die Lichtmerkmalskarte abhängig von der Ausgabe des wenigstens einen Encoderuntermoduls 11, 12 erzeugt.
-
In dem Beispiel von 2 beinhaltet das Lichterkennungsmodul 7 ein erstes Encoderuntermodul 11 und ein zweites Encoderuntermodul 12. Ferner beinhaltet das Lichterkennungsmodul 7 ein Kantenerkennungsuntermodul 10 und ein Zusammenführungsuntermodul 13.
-
Im Allgemeinen können das erste und das zweite Encoderuntermodul 11, 12 eine Reihe von Faltungsschichten zur tiefen Merkmalsextraktion beinhalten. Je tiefer die Struktur des jeweiligen Encoderuntermoduls 11, 12 ist, desto besser sind die erhaltenen Merkmale. Der Typ der Encoderuntermodule 11, 12 kann gegebenenfalls auf der Basis der Einschränkungen der eingebetteten Plattform ausgewählt werden.
-
Standardencoderfamilien wie zum Beispiel RESNET, VGG, Inception, und so weiter können verwendet werden.
-
Das Eingangsbild 5 wird dem Kantenerkennungsuntermodul 10 bereitgestellt, das einen Kantenerkennungsalgorithmus ausführt, um eine Kantenmerkmalskarte auf der Basis des Eingangsbildes 5 zu erzeugen, und die Kantenmerkmalskarte dem ersten Encoderuntermodul 11 bereitstellt, das die Kantenmerkmalskarte unter Verwendung von einer oder mehreren Faltungsschichten encodiert, um eine erste encodierte Merkmalskarte zu erzeugen. Parallel wird das Eingangsbild 5 auch dem zweiten Encoderuntermodul 12 bereitgestellt, das das Eingangsbild 5 direkt encodiert und eine zweite encodierte Merkmalskarte erzeugt. Das Zusammenführungsuntermodul 13 empfängt die erste und die zweite encodierte Merkmalskarte und führt sie zusammen, beispielsweise mittels Mittelwertbildung, Summierung oder Verkettung, um eine zusammengeführte encodierte Merkmalskarte zu erzeugen. Das Lichterkennungs-Decoderuntermodul 14 wird auf die zusammengeführte encodierte Merkmalskarte angewandt, um die Lichtmerkmalskarte zu erzeugen.
-
In einigen Implementierungen beinhaltet der Computer-Vision Algorithmus 6 auch ein Fluchtpunktschätzmodul 15, das die zusammengeführte encodierte Merkmalskarte parallel zum Lichterkennungs-Decoderuntermodul 14 empfängt und eine Fluchtpunkt-Regressionsoperation abhängig von der zusammengeführten encodierten Merkmalskarte ausführt. Folglich wird eine Fluchtpunktmerkmalskarte durch das Fluchtpunktschätzmodul 15 erzeugt und zusammen mit der Lichtmerkmalskarte vom Lichterkennungs-Decoderuntermodul 14 dem Validierungsmodul 16 bereitgestellt. Das Validierungsmodul 16 validiert dann die Vielzahl von Kandidaten für die Beleuchtungseinheiten 23, 24 und stellt folglich dem Ausdehnungsschätzmodul eine validierte Menge von Kandidaten bereit.
-
Wenn die Kandidaten für die Beleuchtungseinheiten 23, 24 mittels des Lichterkennungs-Decoderuntermoduls 14 erkannt wurden, werden die aktuellen Kandidaten für Fahrzeugbeleuchtungseinheiten 23, 24 daher von anderen Lichtquellen, beispielsweise Straßenlaternen, mittels der durch das Fluchtpunktschätzmodul 15 ausgeführten Fluchtpunktregression und der anschließenden Validierung durch das Validierungsmodul 16 gefiltert oder unterschieden.
-
Wie in 3 angegeben, kann ein Fluchtpunkt 19 eines Bildes 18 als Punkt in der Bildebene betrachtet werden, an dem zweidimensionale perspektivische Projektionen von tatsächlich zueinander parallelen konvergierenden Linien 20 im Bild 18 zu konvergieren scheinen. Der Fluchtpunkt 19 liegt typischerweise nahe einem Horizont 21 im Bild 18.
-
Wenn der Abstand eines Punkts P von der horizontalen Achse 21 mit D(P) bezeichnet wird, haben die Erfinder beobachtet, dass in fast allen realistischen Straßenszenarios die folgenden Beziehungen gelten:
wobei Pv den Fluchtpunkt 19 bezeichnet, P
L die Position einer Beleuchtungseinheit 23, 24 eines Fahrzeugs 22 bezeichnet und P
SL die Position einer Straßenlaterne bezeichnet. Mit Hilfe dieser Beziehungen können die Fahrzeugbeleuchtungseinheiten 23, 24 von Straßenlaternen oder anderen Lichtquellen unterschieden werden. Die Beziehungen erläutern das Konzept dessen, wie das Validierungsmodul 16 die anderen Lichtquellen aus den potentiellen Kandidaten für Beleuchtungseinheiten des Fahrzeugs 22 herausfiltern kann. Diese Beziehungen gelten jedoch nicht in allen Fällen. Daher verwendet das Validierungsmodul 16 eine oder mehrere Faltungs- und/oder Entfaltungsschichten, um die Beziehungen und optional anderer Merkmale, die helfen, zwischen Beleuchtungseinheiten von Fahrzeugen 22 und anderen Lichtquellen zu unterscheiden, effektiv zu lernen.
-
Dann kann das Ausdehnungsschätzmodul 8 die Ausdehnung des Fahrzeugs 22 durch Schätzen eines Bereichs von Interesse oder einer Begrenzungsbox 25, 26, 27 für das Fahrzeug 22 für jeden validierten Kandidaten schätzen. Das Nicht-Maximum-Unterdrückung-Modul 9 kann dann die schlechteren Vorschläge der Begrenzungsboxen herausfiltern, um eine Begrenzungsbox 25 als Ergebnis des Computer-Vision Algorithmus 6 auszuwählen.
-
In einigen Implementierungen beinhaltet der Computer-Vision Algorithmus 6 ein Modul 17 mit langem Kurzzeitgedächtnis, LSTM, das an einem Eingang mit einem Ausgang des Nicht-Maximum-Unterdrückung-Moduls 9 und an einem Ausgang mit einem Eingang des Ausdehnungsschätzmoduls 8 gekoppelt ist. Um den Bereich von Interesse im aktuellen Einzelbild zu schätzen, wird daher der Bereich von Interesse des vorherigen Einzelbildes durch das Ausdehnungsschätzmodul berücksichtigt. Der Bereich von Interesse des vorherigen Einzelbildes wird mit Hilfe des LSTM-Moduls 17 verfolgt.
-
Die Recheneinheit 4 kann das eine oder die mehreren Steuersignale für die Aktuatoren abhängig von der ausgewählten Begrenzungsbox 25 erzeugen, die vom Computer-Vision Algorithmus 6 erhalten wird.
-
In 5 und 6 sind zwei Stufen zum Trainieren des Computer-Vision Algorithmus 6 gemäß einer beispielhaften Implementierung eines computerimplementierten Trainingsverfahrens gemäß der Erfindung gezeigt.
-
Die Struktur des Computer-Vision Algorithmus 6, die in 5 gezeigt ist, entspricht der Struktur des trainierten Computer-Vision Algorithmus 6, die in 2 gezeigt ist. Optional kann ein Maskierungs-und-Vorhersage-Modul 28 vorgesehen sein.
-
Das Training des Computer-Vision Algorithmus 6 kann in zwei Stufen ausgeführt werden. Während einer ersten Stufe kann das Kantenerkennungsuntermodul 10 trainiert werden. Nachdem das Training des Kantenerkennungsuntermoduls 10 beendet ist, können die restlichen Untermodule des Lichterkennungsmoduls 7 sowie die anderen Module des Computer-Vision Algorithmus 6 in einer zweiten Stufe trainiert werden.
-
In der ersten Stufe kann das Kantenerkennungsuntermodul 10 mittels Multitask-Lernen trainiert werden. Anstatt nur die Kantenerkennung zu lernen, kann somit die Kantenerkennung zusammen mit der semantischen Segmentierung gelernt werden, um die Leistung der Kantenerkennung zu verbessern.
-
Die Fahrzeugerkennung in lichtarmen Szenarios ist anspruchsvoller als wenn ausreichend Licht verfügbar ist, da viele Merkmale wie Farbe oder Textur schwierig zu extrahieren sind. Daher sind die Kanteninformationen des Bildes eines der wichtigsten Merkmale zum Erkennen von Fahrzeugen in lichtarmen Szenarios. In 6 wird ein Kantenerkennungs-Encoderuntermodul 29 auf ein Trainingseingangsbild 5" angewandt, um Merkmale zu extrahieren. Ein Kantenerkennungs-Decoderuntermodul 30 wird auf die extrahierten Merkmale angewandt, um eine Kantenerkennungsmaske oder Kantenmerkmalskarte zu erzeugen. Ein Decodermodul 31 zur semantischen Segmentierung wird auf die extrahierten Merkmale parallel angewandt, um eine Segmentierungsmaske oder Segmentierungsmerkmalskarte zu erzeugen. Die Ground Truth für die Kantenerkennung wird beispielsweise mit einem Canny-Kantenerkennungsalgorithmus erzeugt.
-
Zum Berechnen eines Verlusts L = L
s + L
e kann eine bildpunktweise Kreuzentropie für jede Aufgabe berechnet werden
wobei die Doppelsummen über die Bildpunkte des Trainingseingangsbildes 5" und die jeweiligen Klassen laufen. N bezeichnet die Anzahl von Bildpunkten des Trainingseingangsbildes 5", y
st und y
et bezeichnen die jeweiligen Ground-Truth-Werte, y
sp und y
ep bezeichnen die jeweiligen vorhergesagten Werte. Für die semantische Segmentierung kann eine Vielzahl von Klassen betrachtet werden, während für die Kantenerkennung nur zwei Klassen vorhanden sind, eine Klasse für Kantenbildpunkte und eine Klasse für Nicht-Kanten-Bildpunkte. Das Modell wird durch Optimieren des Gesamtverlusts L optimiert. Durch Optimieren für beide Aufgaben wird das resultierende Kantenerkennungsmodell robuster gemacht. Nach der ersten Trainingsstufe kann das Segmentierungs-Decodermodul 31 verworfen werden und das Kantenerkennungs-Decoderuntermodul 30 dient zusammen mit dem Kantenerkennungs-Encoder als Kantenerkennungsuntermodul 10.
-
Die zweite Stufe ist durch 5 dargestellt. In dieser Stufe kann Curriculum-Lernen verwendet werden. Curriculum-Lernen ist ein Trainingsverfahren, das darauf abzielt, die Komplexität der Daten, die dem neuronalen Netzwerk zugeführt werden, allmählich zu erhöhen. Die Hauptidee besteht darin, zuerst unter Verwendung von einfacheren Objekten zu trainieren und allmählich das Schwierigkeitsniveau des Objekts zu erhöhen. In vielen realistischen Szenarios kann das Fahrzeug 22 durch andere Objekte verdeckt sein. Um dies anzugehen, kann das Maskierungs-und-Vorhersage-Modul 28 verwendet werden. Maskierung-und-Vorhersage ist eine spezielle Strategie beim Curriculum-Lernen, bei der der Fahrzeugbereich fortschreitend maskiert wird und erwartet wird, dass das Netzwerk Boxen mit den sichtbaren und maskierten Bereichen vorhersagt. Es kann verwendet werden, um teilweise sichtbare und teilweise verdeckte Fahrzeuge zu handhaben. Anstatt das Trainingseingangsbild 5' direkt dem Lichterkennungsmodul 7 zuzuführen, wird somit ein vorverarbeitetes Bild, das durch das Maskierungs-und-Vorhersage-Modul 28 auf der Basis des Trainingseingangsbildes 5' erzeugt wird, bereitgestellt. Der Grad der Verdeckung wird allmählich erhöht, beispielsweise können die Fahrzeuge mit einer zunehmenden Wahrscheinlichkeit maskiert werden. Während das Training fortschreitet, nimmt somit die Wahrscheinlichkeit der Maskierung zu, was zu schwierigeren Trainingsmustern führt, und das Netzwerk lernt die Begrenzungsboxen auch für verdeckte Fahrzeuge. Um das Modell robuster zu machen, kann man auch den Grad der Zufälligkeit durch Wählen von verschiedenen Formen einer zufälligen Maskierung erhöhen.
-
Das maskierte Bild wird parallel dem ersten und dem zweiten Encoderuntermodul 11, 12 zugeführt. Die durch diese extrahierten Merkmale werden an eine Zusammenführungsschicht des Zusammenführungsuntermoduls 13 übergeben. In der Zusammenführungsschicht werden die aus dem maskierten Bild und dem maskierten Bild mit extrahierten Kanten extrahierten Informationen zusammengeführt. Zusammenführungsblöcke können sich die durch verschiedene Faltungsschichten erhaltenen Merkmale teilen, um wertvolle Informationen vollständig auszunutzen. Die Merkmale werden dann an das Lichterkennungs-Decoderuntermodul 14 und das Fluchtpunktschätzmodul 15 übergeben.
-
Die Fluchtpunktinformationen sind in lichtarmen Szenarios zum Unterscheiden zwischen Straßenlaternen und Fahrzeugbeleuchtungseinheiten besonders nützlich. In den meisten Szenarios wird beobachtet, dass die Straßenlaternen in der Bildebene über dem Fluchtpunkt liegen. Folglich kann das Validierungsmodul 16 Fahrzeuglichter extrahieren und verwirft Straßenlaternen. Die erhaltenen validierten Kandidaten für die Beleuchtungseinheiten werden dann an das Ausdehnungsschätzmodul 8 zum Vorhersagen der Begrenzungsboxen 25, 26, 27 für das Fahrzeug 22 übergeben, die jeweils einem erkannten Scheinwerfer oder einer erkannten Heckleuchte entsprechen. Danach kann man eine dichte Menge von vorhergesagten Begrenzungsboxen erhalten, so dass das Nicht-Maximum-Unterdrückung-Modul 9 angewandt wird, um eine spezielle Begrenzungsbox auszuwählen. Da es in lichtarmen Szenarios schwierig ist, die Ausdehnung eines Fahrzeugs vorherzusagen, wird eine Schleife vorgeschlagen, wobei die Fahrzeugausdehnung iterativ durch das Ausdehnungsschätzmodul 8 geschätzt wird.
-
In der zweiten Trainingsphase kann überwachtes Trainieren verwendet werden. Die Ground-Truth-Annotation kann beispielsweise auf der Basis von Lidar- und/oder Radardaten erhalten werden.
-
Wie beschrieben, insbesondere mit Bezug auf die Figuren, stellt die Erfindung eine besonders robuste und zuverlässige Methode zur Fahrzeugerkennung in lichtarmen Szenarios bereit. In lichtarmen Szenarios sind die auffälligsten sichtbaren Merkmale eines Fahrzeugs seine Scheinwerfer und/oder Heckleuchten. Die Erfindung verwendet diese Informationen zur Fahrzeugerkennung.
-
Nach dem Erkennen der Fahrzeugbeleuchtungseinheiten können beispielsweise die Merkmale um die erkannten Beleuchtungseinheiten gelernt werden, um die Fahrzeugausdehnungen zu schätzen. Nach der Zusammenführung der Merkmale können sie an das Lichterkennungsmodul übergeben werden. Das Lichterkennungsmodul kann eine Reihe von CNN-Schichten beinhalten, die die Position von Licht im Bild bestimmen.
-
Während Standarderkennungseinrichtungen in lichtarmen Situationen versagen können, stellt die Erfindung eine verbesserte Weise bereit, um solche Situationen zu handhaben. Einige Implementierungen machen von Kantenhinweisen und Beleuchtungseinheitserkennung Gebrauch, um die lichtarme Erkennungsleistung zu verbessern. Einige Implementierungen machen von der LSTM-Verfolgung innerhalb des Modells Gebrauch, um die Konfidenz von Erkennungen zu verbessern. Einige Implementierungen machen von globalem Kontext unter Verwendung von Einschränkungen hinsichtlich Fluchtpunkten und/oder der Horizontlinie Gebrauch, um falsch Positive von Straßenlaternen zu verringern.