-
HINTERGRUND DER ERFINDUNG
-
Eine Ausführungsform bezieht sich allgemein auf das Identifizieren einer Straßenstruktur zum Detektieren eines freien Fahrpfads.
-
Sichtbildgebungssysteme werden in Fahrzeugen verwendet, um Anwendungen in dem Fahrzeug, wie beispielsweise ein autonomes Fahrsystem oder semiautonome Fahrsysteme, zu verbessern. Solche Systeme können verwendet werden, um das Fahrzeug über Lenksysteme, eine Drosselklappensteuerung, eine Bremssteuerung autonom oder semiautonom zu steuern, oder können sogar für Spurverlassenswarnsysteme verwendet werden.
-
Systeme zur Detektion eines freien Pfads identifizieren einen freien Pfad, auf dem ein Fahrzeug betrieben werden soll, das entlang einer Straße fährt. Der Fahrpfad wird hinsichtlich Objekten einschließlich aller nicht die Straße betreffenden Flächen erfasst, so dass das Fahrzeug entlang eines kontinuierlichen Fahrpfads fahren kann. Merkmale in einem Bild können gemäß ihrer Form und Beziehung zu der Fahrbahn detektiert und analysiert werden. Solche Verfahren können jedoch aufgrund einer intensiven Datenverarbeitung oder des Unvermögens, Merkmale eines freien Pfads und Merkmale eines nicht freien Pfads zu unterscheiden, langsam sein. Ferner ist das Analysieren eines gesamten Bilds zum Detektieren des freien Pfads auch zeitintensiv und datenverarbeitungsintensiv.
-
DE 10 2011 109 569 A1 offenbart ein Verfahren zur Fahrspurerkennung, wobei mit einer Kamera ein Bild einer Fahrzeugumgebung aufgenommen wird, ein Fahrkorridor aus dem mindestens einen Bild erkannt wird und unter Berücksichtigung des ermittelten Fahrkorridors eine Strukturerkennung erfolgt. Weiterer Stand der Technik ist aus
DE 10 2010 050 167 A1 und
EP 1 320 072 A2 bekannt.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Aufgabe der Erfindung ist es, ein verbessertes Verfahren zum Detektieren von Straßenrändern zur Detektion eines freien Pfads bereitzustellen.
-
Zur Lösung der Aufgabe ist ein Verfahren mit den Merkmalen des Anspruchs 1 vorgesehen. Vorteilhafte Ausbildungen der Erfindung sind den Unteransprüchen, der Beschreibung und den Zeichnungen zu entnehmen.
-
Ein Vorteil einer Ausführungsform ist die Identifizierung einer Straßenstruktur in dem erfassten Bild, was ein Zielgebiet bereitstellt, um darin eine Detektion eines freien Pfads durchzuführen. Das Identifizieren eines Zielgebiets in dem Bild beschleunigt nicht nur die gesamte Verarbeitungszeit zum Detektieren des freien Pfads, sondern reduziert die Möglichkeiten oder falschen Alarme eines inkorrekten Identifizierens eines freien Pfads. Die hierin beschriebenen Ausführungsformen erzeugen ein Beleuchtungsintensitätsbild und ein Gelbbild für Linien-Cluster in dem Bild. Die Linien-Cluster von dem Beleuchtungsintensitätsbild und dem Gelbbild werden zusammengeführt, und es wird eine Detektion eines potentiellen Linienkandidaten an den zusammengeführten Clustern durchgeführt. Es wird ein Fluchtpunkt in dem Bild identifiziert. Es werden eine Linienverfolgung und eine Fluchtpunktverfolgung durchgeführt, um die Identifikation des Fluchtpunkts und der potentiellen Linienkandidaten zu verfeinern. Die Linienkandidaten werden dann einer Klassifizierungseinrichtung bereitgestellt, um zu identifizieren, ob der Linienkandidat ein Straßenrand ist. Die identifizierten Straßenränder werden dann verwendet, um eine Grenze der Straße zu definieren, um eine Detektion eines freien Pfads zu unterstützen.
-
Eine Ausführungsform zieht ein Verfahren zum Detektieren von Straßenrändern auf einer Fahrstraße für eine Detektion eines freien Pfads in Betracht. Es werden Eingangsbilder einer Szene außerhalb des Fahrzeugs unter Verwendung einer Bilderfassungseinrichtung erfasst. Die Eingangsbilder werden in Frames verschiedener Zeitschritte erfasst. Es wird ein transformiertes Bild aus dem erfassten Bild erzeugt. Es wird eine Randanalyse an dem transformierten Bild durchgeführt, um Linienkandidaten zu detektieren. Es wird ein anfänglicher Fluchtpunkt in dem erfassten Bild als Funktion der Linienkandidaten identifiziert. Die in einem nächsten Frame identifizierten Linienkandidaten werden verfolgt. Es wird ein Fluchtpunkt in dem nächsten Frame auf der Grundlage der verfolgten Linienkandidaten geschätzt. Jeweilige Linienkandidaten in dem nächsten Frame, die dem Fluchtpunkt des nächsten Frames zugehörig sind, werden ausgewählt. Es wird ein interessierendes Gebiet in dem erfassten Bild für jeden Linienkandidaten identifiziert. Jedes interessierende Gebiet umfasst einen jeweiligen Linienkandidaten und ein Umgebungsgebiet des jeweiligen Linienkandidaten. Es werden Merkmale, die sich auf den Linienkandidaten beziehen, aus dem interessierenden Gebiet extrahiert. Die extrahierten Merkmale werden in eine Klassifizierungseinrichtung eingegeben, um zu identifizieren, ob der Linienkandidat ein potentieller Straßenrand ist. Die Klassifizierungseinrichtung ordnet dem Linienkandidaten einen Vertrauenswert zu, der eine Wahrscheinlichkeit, ob der Linienkandidat ein Straßenrand ist, identifiziert. Der potentielle Linienkandidat wird basierend darauf, dass der Vertrauenswert größer als ein vorbestimmter Wert ist, als zuverlässiger Straßenrand identifiziert.
-
Figurenliste
-
- 1 ist eine bildliche Darstellung eines Fahrzeugs mit einem integrierten System zur Detektion eines freien Pfads.
- 2 zeigt ein Blockdiagramm einer Übersicht über die Straßenstrukturdetektions- und -verfolgungstechnik.
- 3 zeigt ein Flussdiagramm eines Verfahrens für eine Liniendetektion und eine Fluchtpunktdetektion.
- 4 zeigt eine Straßenstrukturverfolgungstechnik.
- 5 zeigt die lernbasierte Straßenranddetektionstechnik.
- 6 zeigt ein Bild mit Linienkandidaten, die Straßenränder identifizieren.
-
DETAILLIERTE BESCHREIBUNG
-
In 1 ist ein Fahrzeug 12 gezeigt, in dem ein Straßenranddetektionssystem zum Identifizieren eines freien Fahrpfads integriert ist. Das Straßenranddetektionssystem umfasst eine Bilderfassungseinrichtung 14, die an dem Fahrzeug 12 angebracht ist. Die Bilderfassungseinrichtung 14 steht mit einer Verarbeitungseinheit 16 in Verbindung.
-
Die Bilderfassungseinrichtung 14 kann eine Kamera oder eine andere Bildgebungseinrichtung umfassen, die Bilder der Fahrstraße erfasst. Die Bilderfassungseinrichtung 14 erfasst Bilder vor dem Fahrzeug, die verwendet werden, um einen freien Fahrpfad zu identifizieren. Vorzugsweise ist die Bilderfassungseinrichtung 14 ausgestaltet, um eine kontinuierliche Bilderfassung durchzuführen. Die durch die Bilderfassungseinrichtung 14 erfassten Bilder können in einem Speicher der Bilderfassungseinrichtung 14 gespeichert werden, an eine Speichereinrichtung außerhalb des Fahrzeugs übermittelt werden oder können für eine Analyse an die Verarbeitungseinheit 16 übermittelt werden. Ferner können mehr als eine Bilderfassungseinrichtung verwendet werden, um Bilder hinter dem Fahrzeug und/oder auf beiden Seiten dieses für eine Detektion eines freien Pfads zu erfassen. Bei einem Umgebungssichtsystem führen vier Kameras mit weitem Sichtfeld (180 Grad +) und eine nach vorn gerichtete Kamera mit schmalem Sichtfeld (~ 50 Grad) eine Detektion eines freien Pfads durch.
-
Hinter dem Fahrzeug erfasste Bilder können bei der Analyse verwendet werden, um den freien Pfad der Fahrstraße vor dem Fahrzeug zu identifizieren.
-
Die erfassten Bilder sind vorzugsweise ein zweidimensionales Bild mit bekannten Pixel-Dimensionen. Das Bild enthält mehrere identifizierbare Pixel. Jedes der Pixel umfasst einen Satz von Bits, die einer Farbe an einer vorbestimmten Farbabbildung entsprechen, die einen Farbintensitätswert darstellt.
-
Die Verarbeitungseinheit 16 ist wie in 1 dargestellt eine einzelne Einheit; es ist jedoch zu verstehen, dass Funktionen der Verarbeitungseinheit 16 durch eine oder mehrere in Software, Hardware und/oder einer anwendungsspezifischen integrierten Schaltung realisierte Einrichtungen durchgeführt werden können. Die Verarbeitungseinheit 16 kann ein Universalprozessor, ein digitaler Computer mit einem zentralen Mikroprozessor oder einer zentralen Verarbeitungseinheit, ein ASIC oder ein anderes Verarbeitungsmodul mit einem nichtflüchtigen Speicher, einem Nur-Lese-Speicher, einem programmierbaren Nur-Lese-Speicher, einem RAM, einer A-D-Schaltung, einer D-A-Schaltung, einer Eingabe/Ausgabe-Schaltung, einer Pufferfähigkeit und einer geeigneten Signalkonditionierung, wie beispielsweise einer digitalen Signalverarbeitung, sein. Die Verarbeitungseinheit 16 ist entworfen, um Algorithmen auszuführen, die Eingänge von den hierin beschriebenen Einrichtungen sowie anderen Einrichtungen oder Systemen in dem Fahrzeug verwenden.
-
Die Verarbeitungseinheit 16 ermittelt einen freien Pfad in dem erfassten Bild. Der freie Pfad wird beim Führen des Fahrzeugs entlang der Fahrstraße verwendet. Die Verarbeitungseinheit 16 kann die Führungsfunktionen wie oben beschrieben durchführen oder kann die Ergebnisse an eine sekundäre Anwendung übermitteln, die die Führungsfunktionen durchführt.
-
2 zeigt ein Blockdiagramm einer Übersicht für eine Straßenstruktur - detektions- und -verfolgungstechnik, die zum Identifizieren von Straßenrändern verwendet wird, die als Grenzen verwendet werden, um ein Gebiet zu identifizieren, wobei eine Technik zur Detektion eines freien Pfads unterstützt wird. Ein Videoeingangsmodul 20 ist mit einem Linien-Clusterbildungs- und Fluchtpunktdetektionsmodul 22 und einem Fluchtpunkt- und Linienverfolgungsmodul 24 gekoppelt.
-
Das Videoeingangsmodul 20 umfasst die Bilderfassungseinrichtung, die Bilder vor und/oder hinter dem Fahrzeug erfasst, die beim Identifizieren eines freien Fahrpfads verwendet werden. Die erfassten Bilder umfassen die Fahrstraße und Merkmale, die das Identifizieren von Straßengrenzen un terstützen.
-
Das Linien-Clusterbildungs- und Fluchtpunktdetektionsmodul 22 identifiziert Linienkandidaten in dem erfassten Bild auf der Grundlage einer Fluchtpunktdetektion und einer Linien-Clusterbildung.
-
Das Fluchtpunkt- und Linienverfolgungsmodul 24 verfolgt die Linienkandidaten der Straßenstruktur, die in einem vorherigen Frame detektiert wird, und verfolgt die Straßenstruktur in dem nächsten Frame. Das Fluchtpunkt- und Linienverfolgungsmodul 24 und das Linien-Clusterbildungs- und Fluchtpunktdetektionsmodul 22 stehen zusammenwirkend in Verbindung und tauschen eine Information aus, um potentielle Stra-ßenstrukturkandidaten zu identifizieren.
-
Die Ergebnisse von dem Linien-Clusterbildungs- und Fluchtpunktdetektionsmodul 22 werden an ein lernbasiertes Straßenranddetektionsmodul 26 ausgegeben. Das lernbasierte Straßenranddetektionsmodul 26 führt eine Klassifizierung an der identifizierten Straßenstruktur auf der Grundlage eines vorab trainierten Straßenrandmodells durch, um eine zuverlässige Entscheidung bezüglich der Straßenränder auszugeben.
-
3 zeigt ein Flussdiagramm, das den Prozess zum Durchführen einer Liniendetektion und einer Fluchtpunktdetektion darstellt. In Schritt 30 wird ein Bild-Frame von dem erfassten Video analysiert. Der ausgewählte Frame wird an zwei verschiedene Kanäle für eine unabhängige Verarbeitung des Bilds übertragen, um potentielle Linienkandidaten zu detektieren. Linienkandidaten beziehen sich wie hierin definiert auf einen potentiellen Straßenrand, der Spurmarkierungen, Bordsteine, Grasränder, Kiesränder oder ein beliebiges anderes Merkmal, das eine Grenze für eine Straße oder Spur definiert, umfasst, jedoch nicht darauf beschränkt ist.
-
In Schritt 31 wird das ausgewählte Bild an einen ersten Kanal übertragen, um das Bild in ein Beleuchtungsintensitätsbild zu transformieren.
-
In Schritt 32 wird eine Randanalyse und eine Linien-Clusterbildung an dem Beleuchtungsintensitätsbild durchgeführt. Die Randanalyse- und Linien-Clusterbildungstechnik wendet randbasierte Filter auf Merkmale des erfassten Bilds an, um eine Randdetektion eines jeweiligen Linienkandidaten durch Erzeugen von differenzierenden Antworten in dem erfassten Bild zu verbessern. Die differenzierenden Antworten unterstützen das Unterscheiden von dem Linienkandidaten (z.B. Spurmarkierung) zugehörigen Pixeln von dem Nicht-Linienkandidaten (z.B. unmarkierte Bodensegmente) zugehörigen Pixeln. Es werden Randfilter (z.B. Sobel-Filter) auf das Beleuchtungsintensitätsbild angewandt, um vertikale und horizontale Gradienten zu erhalten, die dann verwendet werden, um einen Gradientenbetrag und einen Gradientenwinkel zu ermitteln. Der Gradientenbetrag jedes Pixels wird mit einem Schwellenwert verglichen, um Randpunkte mit einem Gradientenbetrag, der größer als ein vorbestimmter Schwellenwert ist, zu extrahieren. Die Randanalyse identifiziert den Rändern zugehörige Pixel in den Bilddaten und verwendet dann die Rand-Pixel in dem Bild, um einen potentiellen Linienkandidaten zu ermitteln.
-
Um einer potentiellen Spurmarkierung oder einem potentiellen Bordstein zugehörige potentielle Pixel auf der Grundlage der Beleuchtungsintensität der Pixel zu gruppieren, wird eine Linien-Clusterbildung von Rand-Pixeln verwendet. Eine Linien-Clusterbildung umfasst das Abtasten der Rand-Pixel eines nach dem anderen. Für jedes Rand-Pixel wird die Umgebungsregion eines jeweiligen Pixels nach anderen Rand-Pixeln, die einen ähnlichen Gradientenwinkel zu dem jeweiligen Pixel aufweisen, durchsucht. Die Pixel mit ähnlichen Gradientenwinkeln werden miteinander gruppiert und einem gleichen Linienindex zugeordnet. Nach dem Abtasten und Gruppieren aller Pixel werden Liniengruppen, die eine jeweilige Länge und vertikale Richtungsausbreitung aufweisen, für eine weitere Verarbeitung extrahiert und als potentielle Linien-Cluster identifiziert. Horizontale Linien werden nicht verarbeitet, da solche Linien wahrscheinlich keine Komponente einer Straßenstruktur sind.
-
In Schritt
33 wird das ursprüngliche erfasste Eingangsbild von einem RGB- oder Yuv-Farbbild in ein Gelbbild transformiert. Jedes Pixel in dem ursprünglichen erfassten Eingangsbild basiert auf einem Rot-Grün-Blau-(RGB-) oder Yuv-(YCbCr-)Farbmodell. Das Gelbbild wird wegen des geringen Kontrasts zwischen den gelben Spurmarkierungen und der Fahrbahn in dem Intensitätsbild, da beide ähnliche Intensitäten aufweisen, ausgewählt und verwendet, was die Detektion der gelben Spurmarkierung [engl.: „lane maker“] erschwert. Um gelbe Spurmarkierungen zu detektieren, wird eine jeweilige Transformation
verwendet, die den Kontrast zwischen der gelben Spurmarkierung und der Fahrbahn verbessert. Die Transformation
macht die gräuliche oder bläuliche Fahrbahn dunkler, und die gelbe Spurmarkierung heller. Als Ergebnis erscheint die gelbe Spurmarkierung in diesem transformierten Bild als heller Strich. Es kann ein alternativer Algorithmus verwendet werden, der nur ein transformiertes Bild verwendet, um das Beleuchtungsintensitätsbild und das Gelbbild zu ersetzen. Es wird ein transformierter Bildkanal verwendet, der den Mittelwert des roten und grünen Kanals
umfasst und alle Spurmarkierungen und dunklen Striche detektieren kann und Verarbeitungszeit einspart, indem eine Kanalverarbeitung und der Linien-Cluster-Zusammenführungsschritt beseitigt werden.
-
In Schritt 34 wird eine Randanalyse und eine Linien-Clusterbildung an dem in Schritt 33 identifizierten Gelbbild durchgeführt. Hierin wird die gleiche Technik für eine Randanalyse und eine Linien-Clusterbildung wie in Schritt 32 beschrieben verwendet.
-
In Schritt 35 werden aus dem Beleuchtungsintensitätsbild und dem Gelbbild identifizierte Linien-Cluster zusammengeführt. Das heißt, die detektierten Linien-Cluster von dem Beleuchtungsintensitätsbild und dem Gelbbild können eine gewisse Überschneidung aufweisen, was bedeutet, dass eine Linie in beiden Bildern detektiert werden kann. Folglich werden die detektierten Linien-Cluster zusammengeführt, um ein Linien-Cluster zu bilden, das alle aus beiden Bildern detektierten Linien umfasst und eine redundante Liniendetektion beseitigt. Um die jeweiligen Linien-Cluster zusammenzuführen, werden eine Liniendistanz und eine Liniengradientenwinkelähnlichkeit zwischen jeder Linie von einem Cluster (Gelbbild-Linien-Cluster) und Linien von einem anderen Cluster (Intensitätsbild-Linien-Cluster) überprüft. Es wird eine Zusammenführung zu einem Linien-Cluster durchgeführt, wenn jedes Cluster in nächster Nähe zu einem anderen liegt und beide Cluster hinsichtlich Gradientenwinkel im Wesentlichen ähnlich sind. Durch Verwenden von zwei Bildern für eine Liniendetektion und nach einem Durchführen einer Linien-Cluster-Zusammenführung sollten alle Linien, die zu einer Straße in einer normalen Straßenszene gehören, detektiert sein. Die gesamte folgende Detektion und Verfolgung von Straßenstrukturlinien, wie beispielsweise „helle Striche“ für potentielle Spurmarkierungen, „dunkle Streifen“ für potentielle Bordsteine und „lange Linien“ für andere potentielle Straßenränder oder Straßenlinien sowie die Fluchtpunktdetektion und -verfolgung basieren auf diesem zusammengeführten Linien-Cluster.
-
In Schritt 36 werden eine Streifendetektion einer hellen Linie und eine Streifendetektion einer dunklen Linie auf die zusammengeführten Linien-Cluster angewandt. Streifen einer hellen Linie stellen potentielle Spurmarkierungen dar, wohingegen Streifen einer dunklen Linie potentielle Bordsteine darstellen. Linien an einer Straße weisen für gewöhnlich einige spezifische Attribute auf. Beispielsweise ist eine Spurmarkierung für gewöhnlich ein weißer oder gelber schmaler Strich (kurz oder lang), der zwei parallele Verbindungslinien auf den Seiten aufweist und heller ist als die umgebende Fahrbahn. Ein Bordstein kann einen eigenen Schatten an der vertikalen Fläche (senkrecht zum Straßenboden) aufweisen, der dunkler ist als Umgebungsflächen. Auf einigen Autobahnen oder Überlandstraßen ist ein Straßenrand für gewöhnlich durch einen Übergangsrand zwischen einer Fahrbahn und einer keine Straße umfassenden Fläche (d.h. Gras, Sand oder Pflanzen) definiert. Dieser Übergangsrand ist für gewöhnlich durch eine einzelne lange Linie dargestellt, die parallel zu der Straßenspurausrichtung ist. Auf einer eine Struktur aufweisenden Straße sind Spuren durch die zuvor genannten Spurmarkierungen, Bordsteine oder andere Straßenränder, die alle parallel zur Straßenausrichtung sind und mit einer bestimmten Distanz, die gleich der Spurbreite ist, getrennt sind, definiert. Die Detektion von hellen Streifen, dunklen Streifen und langen Linien in dem erfassten Bild, die die Kandidaten für Spurmarkierungen, Bordsteine und andere Straßenränder sind, ist erforderlich, um eine Straßenstruktur zu ermitteln.
-
Für jede detektierte Linie in dem zusammengeführten Linien-Cluster stellt der durchschnittliche Gradient (über allen Pixeln an einer Linie) den Winkel und den Betrag des Intensitätsübergangs von einer Seite der Linie zu der anderen Seite dar. Ein heller Streifen weist einen Dunkel-Hell-Dunkel-Übergang auf. Daher bilden, wenn zwei Linien nahe beieinander liegen (so nahe wie eine Spurmarkierungsbreite), im Wesentlichen parallel zueinander sind (an der Bodenebene) und entgegengesetzte nach außen gewandte Gradienten aufweisen, die beiden Linien ein Linienpaar, das einen hellen Streifen verbindet, der ein Spurmarkierungskandidat sein könnte. Ähnlich weist ein dunkler Streifen einen Dunkel-Hell-Dunkel-Übergang auf. Wenn ein nahes im Wesentlichen paralleles Linienpaar einen entgegengesetzten nach innen gewandten Gradienten aufweist, verbindet es einen dunklen Streifen, der ein Bordsteinkandidat sein könnte.
-
In Schritt 37 werden auch lange Linien in dem erfassten Bild identifiziert. Wenn ermittelt wird, dass eine detektierte Linie eine Länge aufweist, die sich in dem Bild eine wesentliche Distanz erstreckt, gibt es einen Hinweis darauf, dass der Linienkandidat eine einer Straßenstruktur zugehörige Linie ist. Eine einzelne lange Linie ist als Linie definiert, die sich über eine lange Distanz an der y-Achse (unter der Annahme, dass die Fahrtrichtung des Fahrzeugs ähnlich der Straßenausrichtung ist) an der projizierten Bodenebene ausbreitet und keine Nachbarlinie aufweist, die nahe ist und einen entgegengesetzten Gradienten aufweist. Diese einzelnen langen Linien könnten der Kandidat einiger Straßenränder sein.
-
In Schritt 38 wird ein Fluchtpunkt auf der Grundlage von Linienkandidatenergebnissen identifiziert. Es wird ein anfänglicher Fluchtpunkt auf der Grundlage der identifizierten hellen Streifen und der langen dunklen Streifen geschätzt. Ferner werden andere dunkle Streifen und einzelne lange Linien identifiziert, um den Fluchtpunkt zu verfeinern. Endende Linien, die sich in naher Nähe zu dem geschätzten anfänglichen Fluchtpunkt befinden, werden ausgewählt, um den Fluchtpunkt zu verfeinern. Als Ergebnis wird die Straßenstruktur auf der Grundlage der detektierten Linien wie hierin beschrieben identifiziert.
-
4 zeigt eine Straßenstrukturverfolgungstechnik. In Schritt 40 wird die Straßenstruktur wie in dem vorherigen Frame detektiert verwendet, um Linien und Fluchtpunkte in dem aktuellen Frame zu verfolgen. Das heißt, Fluchtpunkte und Linien, die in naher Entfernung zu dem geschätzten Fluchtpunkt des vorherigen Frames zu finden waren, werden in dem aktuellen Frame verfolgt. Folglich werden Fluchtpunkte und Linien, die in dem vorherigen Frame an dem Fluchtpunkt vorbeiführen, verwendet, um ein Suchgebiet in dem aktuellen Frame zu definieren, um einen Fluchtpunkt in dem nächsten Frame zu identifizieren.
-
In Schritt 41 wird ein aktueller Frame ausgewählt, um das erfasste Bild des Frames eines nächsten Zeitschritts zu analysieren. Das Farbbild wird transformiert, um das Beleuchtungsintensitätsbild und das Gelbbild zu erhalten.
-
In Schritt 42 werden Linien-Cluster aus dem Beleuchtungsintensitätsbild und dem Gelbbild identifiziert. Die Linienkandidat-Cluster werden danach zusammengeführt.
-
In Schritt 43 werden symmetrische Linienpaare zusätzlich zu einzelnen langen Linien in dem nächsten Frame detektiert.
-
In Schritt 44 wird eine Linie in dem nächsten Frame mit einer detektierten Linie in dem vorherigen Frame (aus Schritt 40) verglichen. Eine Linie in dem nächsten Frame, die mit einer an einem Fluchtpunkt vorbeiführenden Linie in dem vorherigen Frame übereinstimmt, wird als Kandidat für eine Fluchtpunktschätzung identifiziert. Es ist zu verstehen, dass sich eine Straßenstruktur von einem Frame zum nächsten (mit hoher Frame-Rate (≥ 10 F/s) und/oder mit der Fahrzeugbewegungseigenkompensation) nicht abrupt ändern sollte. Somit kann die in einem aktuellen Frame detektierte Straßenstruktur bei einer Straßenstrukturdetektion in einem nächsten Frame hilfreich sein. Beispielsweise kann eine Fluchtpunktdetektion auf ein kleines Nachbargebiet eines Fluchtpunkts, der in einem vorherigen Frame detektiert wird, beschränkt sein. Wenn ferner eine an einem VP (Fluchtpunkt) vorbeiführende Linie in einem vorherigen Frame mit einer Linie in dem aktuellen Frame, die nahe daran liegt und ähnliche Merkmale aufweist, übereinstimmt, ist diese übereinstimmende Linie im aktuellen Frame eine erfolgreiche Verfolgung der am VP vorbeiführenden Linie in dem vorherigen Frame und wird sie für eine Fluchtpunktdetektion und eine Straßenranddetektion in dem aktuellen Frame verwendet. Ferner kann eine Verfolgung, um eine Straßenstrukturdetektion zu unterstützen, auch die Genauigkeit/ das Vertrauen der Straßenstrukturdetektion verbessern. Beispielsweise ist eine Straßenrandlinie, die in mehreren fortlaufenden Frames detektiert und erfolgreich verfolgt wird, wahrscheinlicher ein realer Straßenrand als eine Linie, die nur in einem Frame erscheint.
-
In Schritt 45 wird der Fluchtpunkt in dem vorherigen Frame verwendet, um das Suchgebiet in dem nächsten Frame zu definieren. Das heißt, das Gebiet in dem erfassten Bild in der Nähe zu dem Fluchtpunkt des vorherigen Frames wird verwendet, um die Suchregion für den geschätzten Fluchtpunkt in dem nächsten Frame zu verfeinern. Da der Fluchtpunkt des nächsten Frames nicht zu stark von dem vorherigen Frame abweichen sollte, verhindert das Erfordernis, dass der geschätzte Fluchtpunkt in dem nächsten Frame innerhalb einer jeweiligen Entfernung zu dem Fluchtpunkt in dem vorherigen Frame liegt, verzerrte Ergebnisse eines falschen Identifizierens des Fluchtpunkts an einem Ort, der von dem vorherigen Fluchtpunkt entfernt ist.
-
Die Fluchtpunktverfolgung (VP-Verfolgung) wird wie folgt realisiert. Der Ort (u, v) eines in einem vorherigen Frame detektierten VP wird als anfänglicher Ort des VP in dem aktuellen Frame definiert. Ein kleines Suchfenster um den anfänglichen VP-Ort wird als VP-Detektionsgebiet definiert. Alle VP-Kandidaten, die in dieses Gebiet fallen, werden bewertet. Jedem VP-Kandidat wird ein Punktwert zugeordnet, der auf der Grundlage der Anzahl von sich kreuzenden Linien und der Linienlänge berechnet wird. Der VP-Kandidat mit einem höchsten Punktwert, der in dem Fenster liegt, wird als Fluchtpunkt detektiert. Durch Definieren des anfänglichen Orts und des Suchfensters beseitigt die VP-Verfolgung alle Linienkreuzungspunkte, die außerhalb des Suchfensters liegen, und reduziert sie als Ergebnis die Verarbeitungszeit und verbessert sie die Stabilität der VP-Detektion.
-
Die Verfolgung von am VP vorbeiführenden Linien wird wie folgt realisiert. Eine am VP vorbeiführende Linie wird mit jeder Linie in einem detektierten Linien-Cluster verglichen. Es wird ein Übereinstimmungspunktwert für jedes Linienpaar als Funktion derer Distanz-, Gradientenwinkel- und Linienausrichtungsähnlichkeiten definiert. Im Gegensatz zu einer Straßenstrukturdetektion, die eine Detektion von hellen & dunklen Strichen/langen Linien durchlaufen muss, um die Spurkandidaten für eine VP- und Straßenstrukturdetektion auszuwählen, wird eine erfolgreich verfolgte Linie bei einer Straßenstrukturverfolgung direkt als Linienkandidat für eine VP-Schätzung und eine Straßenstrukturdetektion ausgewählt.
-
Eine Straßenstrukturverfolgung ist kein Ersatz für eine Straßenstrukturdetektion. Stattdessen werden sowohl eine Verfolgung als auch eine Detektion in jedem folgenden Frame angewandt, damit sie sich ergänzen. Eine Verfolgung kann bei einer Linienkandidatenauswahl und einem Verbessern deren Vertrauen hilfreich sein sowie das Fluchtpunktsuchgebiet verfeinern, um den VP-Detektionsaufwand zu verringern, während eine Detektion die Linien und den Fluchtpunkt, die verfolgt werden sollen, findet. Die aus der Straßenstrukturverfolgungstechnik erzeugten Ergebnisse in 4 werden als Rückmeldung an die in 3 beschriebene Straßenstrukturdetektionstechnik geliefert und umgekehrt. Die Detektionsergebnisse von der Straßenstrukturdetektionstechnik des vorherigen Frames werden durch die Straßenstrukturverfolgungstechnik verwendet, um die Fluchtpunkte des nächsten Frames zu schätzen. Ferner werden die Verfolgungsergebnisse von der Straßenstrukturverfolgungstechnik als Nachweis zum Identifizieren von Straßenstrukturlinien in dem nächsten Frame verwendet.
-
Die Ergebnisse von der Straßenlinien-Clusterbildungs- und Fluchtpunktdetektionstechnik werden an ein lernbasiertes Straßenranddetektionsmodul geliefert. 5 zeigt eine lernbasierte Straßenranddetektionstechnik.
-
In Schritt 50 werden Fluchtpunktkandidaten und Linienkandidaten in das lernbasierte Straßenranddetektionsmodul wie durch die Straßenlinien-Clusterbildungs- und Fluchtpunktdetektionstechnik ermittelt eingegeben.
-
In Schritt 51 wird für jede in einem Bild des nächsten Frames identifizierte Linie ein interessierendes Gebiet in dem Bild in Bezug auf das Gebiet, das die Linie umfasst, und das Umgebungsgebiet identifiziert. Das Gebiet wird als Bildbereich identifiziert und kann einen beliebigen Typ von Grenze umfassen, der die ausgewählte Linie umfasst, wie beispielsweise ein Rechteck. Es ist zu verstehen, dass die Grenze nicht auf Rechtecke beschränkt ist, sondern eine Form aufweisen kann, die die ausgewählte Linie und das Umgebungsgebiet ausreichend umgibt. Ein Beispiel der Kandidatenlinien ist in 6 gezeigt.
-
In Schritt 52 werden Merkmale des Bildbereichs in dem interessierenden Gebiet extrahiert.
-
In Schritt 53 wird eine Klassifizierung der Merkmale in dem Bildbereich basierend auf einem Verwenden eines vorab trainierten Straßenrandmodells durchgeführt (d.h. Klassifizierungseinrichtung). Die Klassifizierung identifiziert, ob ein jeweiliges Merkmal ein Straßenrand ist oder nicht. Eine Klassifizierung kann durchgeführt werden, indem Parameter ausgewählt werden, die verwendet werden, um einen Ausgleich zwischen dem, was als Straßenrand oder nicht als Straßenrand identifiziert wird, bereitzustellen. Es ist zu verstehen, dass ein Straßenrand wie hierin verwendet Spurmarkierungen, Bordsteine und andere Straßenstrukturen oder Markierungen umfassen soll, die eine Grenze einer Straße definieren. Die Klassifizierungseinrichtung kann eine beliebige Klassifizierungseinrichtung sein, die eine Stützvektormaschine bzw. Support Vector Machine oder ein Trainingsprogramm eines neuronalen Netzes umfasst, jedoch nicht darauf beschränkt ist.
-
In Schritt 54 werden die Linienkandidaten in rechte Cluster und linke Cluster kategorisiert. Das Kategorisieren der Linienkandidaten in jedes Cluster kann auf der Grundlage des Kreuzungsorts jedes Linienkandidaten in Bezug auf eine ausgewählte horizontale Zeile an der Unterseite des Bilds, die eine Fahrzeugmotorhaubenlinie darstellt, erfolgen. Das heißt, eine untere Linie (Zeile) des Bilds wird für eine Gruppierung linker und rechter Linien-Cluster verwendet. Jede detektierte Straßenstrukturlinie wird für eine Kreuzung an der unteren Linie des Bilds erweitert. Der Kreuzungsort wird mit einer imaginären Fahrzeugmittellinie verglichen, die sich vertikal erstreckt und von der angenommen wird, dass sie in der Mitte des Bilds liegt. Eine Linie wird in ein Kandidaten-Cluster eines linken Rands gruppiert, wenn die jeweilige Linie auf der linken Seite der imaginären Mittellinie kreuzt und ihre Distanz zu der Mittellinie größer als die Hälfte der Fahrzeugbreite ist (das Fahrzeug sollte sich nicht außerhalb des Straßenrands befinden). Ähnlich wird eine Linie in ein Kandidaten-Cluster eines rechten Rands gruppiert, wenn die jeweilige Linie auf der rechten Seite der imaginären Mittellinie kreuzt und ihre Distanz zu der Mittellinie größer als die Hälfte der Fahrzeugbreite ist.
-
In Schritt 55 werden Linienkandidaten, die nahe beieinander liegen, als einzelner Straßenrand gruppiert. Jeder jeweilige Kandidatenstraßenrand weist eine Klassifizierungswahrscheinlichkeit auf, die einen Vertrauenswert diesbezüglich, ob es sich um einen Straßenrand handelt oder nicht, bereitstellt. Der Vertrauenswert basiert vorzugsweise auf einer Skala von 0 bis 1. Der jedem jeweiligen Kandidatenstraßenrand zugeordnete Vertrauenswert wird durch die Klassifizierungseinrichtung zugeordnet. Innerhalb einer Gruppierung von Straßenrändern wird der jeweilige Straßenrand mit der maximalen Klassifizierungswahrscheinlichkeit in der Gruppierung als der Vertrauenswert für die gebildete Gruppierung verwendet.
-
In Schritt 56 werden Straßenränder in dem linken Cluster und/oder dem rechten Cluster mit einem Vertrauenswert, der größer als ein vorbestimmter Vertrauensschwellenwert ist, als zuverlässiger Straßenrand identifiziert. Vorzugsweise wird ein vorbestimmter Vertrauensschwellenwert von größer als 0,95 verwendet. Es kann jedoch ein anderer vorbestimmter Vertrauensschwellenwert als 0,95 verwendet werden.
-
6 zeigt ein Beispiel von Kandidatenstraßenrändern 70 - 76, die in einem erfassten Bild hervorgehoben werden. Jeder Linienkandidat weist einen zugehörigen Vertrauenswert auf. Jede Linie wird in einem rechten Cluster oder einem linken Cluster identifiziert. Beispielsweise befinden sich die Kandidatenlinien 70 und 71 auf der linken Seite des Fahrzeugs und werden sie in ein Cluster der linken Seite eingeordnet. Die Kandidatenlinien 72 - 76 befinden sich auf der rechten Seite des Fahrzeugs und werden in ein Cluster der rechten Seite eingeordnet. Eine untere Linie 77 und eine Mittellinie 78 werden verwendet, um zu ermitteln, ob die jeweiligen Kandidatenlinien in ein linkes Cluster oder ein rechtes Cluster gruppiert werden sollten. Die untere Linie 77 stellt eine Fahrzeugmotorhaubenlinie in dem Bild dar, um einen Schnittort mit einer jeweiligen Kandidatenlinie zu identifizieren. Die Mittellinie 78 stellt die Fahrzeugmittellinie dar, die sich vertikal erstreckt und von der angenommen wird, dass sie sich in der Mitte des Bilds befindet.
-
In 6 ist auch gezeigt, dass in dem Cluster der linken Seite nur Linienkandidat 70 eine untere Linie 77 des Bilds kreuzt, was ein zuverlässiger Indikator für einen Straßenrand ist. In Bezug auf das Cluster der rechten Seite kreuzen die Linien 72 - 74 die untere Linie 77. Es ist zu verstehen, dass, obwohl die Linien 71 und 75 die untere Linie 77 an Orten außerhalb des erfassten Bilds, wie es aufgrund des eingeschränkten Sichtfelds der Kamera gezeigt ist, kreuzen, die Linien 71 und 75 zu dem linken und rechten Cluster hinzugefügt werden sollten.
-
Ein Straßenrand, wie beispielsweise ein Bordstein, kann mehrere Linien umfassen, die durch das Straßenstrukturmodul detektiert werden. Jede Linie sowie ihr entsprechendes Nachbargebiet selbst ist kein guter Repräsentant für den Bordstein. Vielmehr würde eine Gruppierung der Linien und deren Umgebungsgebiet den gesamten Straßenrandübergang von einer Fahrbahn zu einer Nicht-Fahrbahn außerhalb des Bordsteins abdecken. Diese Gruppierung stellt auch eine genauere Straßenrandlokalisierung bereit als eine beliebige Linie in ihrer jeweiligen Gruppe, was bei einer Straßenrandverfolgung und -detektion in nachfolgenden Frames hilfreich sein könnte.
-
Um die Randlinienkandidaten zu gruppieren, die zu einem einzelnen Straßenrand gehören, werden eine Distanz zwischen jeder der potentiell gruppierten Linien und deren Ausrichtungsähnlichkeit überprüft, sowie deren Klassifizierungswahrscheinlichkeiten. Wenn zwei oder mehr Linien sehr nahe beieinander liegen (z.B. < 0,5 m an der Bodenebene) und im Wesentlichen parallel sind, wird jede der jeweiligen Linien, die die obigen Kriterien erfüllt, zu einem Straßenrandkandidaten gruppiert und werden deren Nachbargebiete zu einem Nachbargebiet gruppiert. Das jeweilige Merkmal wird aus dem gruppierten Nachbargebiet extrahiert und in ein Straßenrandklassifizierungsmodul eingegeben, um seine Straßenrandwahrscheinlichkeit zu verfeinern.
-
6 zeigt dieses Beispiel, und in Bezug auf das Cluster der rechten Seite und spezieller auf die Kandidatenlinien 72 - 74 werden, da alle jeweiligen Kandidatenlinien nahe beieinander liegen, die Kandidatenlinien 72 - 74 als einzelner Straßenrand gruppiert. Ferner weisen die Kandidatenlinien 72 - 74 jeweils einen unterschiedlichen Vertrauenswert auf, der die Wahrscheinlichkeit, dass der Linienkandidat ein Straßenrand ist, angibt. Bei einer Gruppierung als einzelner Straßenrand verwendet die Gruppe als Ganzes den jeweiligen Vertrauenswert eines jeweiligen Linienkandidaten in der Gruppe, der den höchsten Vertrauenswert relativ zu allen Vertrauenslinien in dieser Gruppe aufweiset. Um die Randlinienkandidaten, die zu einem einzelnen Straßenrand gehören, zu gruppieren, werden eine Distanz zwischen allen potentiell gruppierten Linien und deren Ausrichtungsähnlichkeit überprüft, sowie deren Klassifizierungswahrscheinlichkeiten. Wenn zwei oder mehr Linien sehr nahe beieinander liegen (z.B. < 0,5 m an der Bodenebene) und im Wesentlichen parallel sind, werden alle jeweiligen Linien, die die obigen Kriterien erfüllen, zu einem Straßenrandkandidaten gruppiert und werden deren Nachbargebiete zu einem Nachbargebiet gruppiert. Beispielsweise kann Linienkandidat 72 einen Vertrauenswert von 0,92 aufweisen, kann Linienkandidat 73 einen Vertrauenswert von 0,97 aufweisen und kann Linienkandidat 74 einen Vertrauenswert von 0,94 aufweisen. Bei einer Gruppierung als einzelner Straßenrand verwendet die Gruppierung den Vertrauenswert 0,97, der der höchste Vertrauenswert unter den jeweiligen Linienkandidaten, die gruppiert sind, ist. Folglich werden Linienkandidaten aus dem Cluster der rechten Seite und/oder dem Cluster der linken Seite, die Vertrauenswerte aufweisen, die größer als ein Schwellenwert, wie beispielsweise 0,95, sind, von dem lernbasierten Straßenranddetektionsmodul als zuverlässiger Straßenrand ausgewählt.
-
Die ausgewählten zuverlässigen Straßenränder werden beim Ermitteln eines Straßengebiets verwendet, so dass ein freier Pfad auf der Fahrstraße identifiziert werden kann. Dies reduziert die falschen Alarme der Detektion eines freien Pfads. Durch Identifizieren der Straßengrenzen in dem erfassten Bild wird Gebieten, die als Gebiete eines freien Pfads identifiziert werden und innerhalb der detektierten Straßenrandgrenzen liegen, ein höheres Vertrauen verliehen, und wird Gebieten, die außerhalb der detektierten Straßenrandgrenzen liegen, ein niedrigeres Vertrauen verliehen. Dies ermöglicht einem System zur Detektion eines freien Pfads, das Ergebnis einer Detektion eines freien Pfads zu verfeinern, indem die identifizierten Straßenrandgrenzen verwendet werden.
-
Während in der vorliegenden Erfindung bestimmte Ausführungsformen ausführlich beschrieben wurden, werden Fachleute, die diese Erfindung betrifft, verschiedene alternative Entwürfe und Ausführungsformen zum Ausführen der Erfindung wie durch die folgenden Ansprüche definiert erkennen.