-
Die Erfindung betrifft ein Verfahren zur Erkennung und Lokalisierung von Fahrbahnmarkierungen und -begrenzungen in einem Kamerabild.
-
Aus dem Stand der Technik sind kamerabasierte Fahrerassistenzsysteme zur Erkennung und Bestimmung der eigenen oder benachbarten Fahrspur bekannt, welche Features oder Keypoints nutzen, die sie aus Straßenmarkierungen oder aus Übergängen wie Asphalt zu Gras oder Asphalt zu Kies extrahieren. Einige der heutigen Ansätze basieren auf Filter, die beispielsweise Kantenübergänge von helle auf dunkle Regionen oder Texturänderungen von homogene auf inhomogene Struktur hervorheben. Weitere Ansätze zur Erkennung von Features basieren auf neuronalen Netzen, die mit trainiertem Wissen Straßenmarkierungen oder Straßenbegrenzungen erkennen. Aus diesen Features und Keypoints werden dann die Verläufe von möglichen Fahrbahnen oder Fahrspuren für eine mögliche Fahrfunktion bestimmt. Neuere Ansätze kombinieren oder fusionieren die Erkennung von Features oder Keypoints für eine noch robustere und stabilere Erkennung.
-
Es ist eine Aufgabe der Erfindung ein robusteres, zuverlässigeres und ressourcenschonendes Verfahren zur Erkennung von Fahrbahnmarkierungen und -begrenzungen in einem Kamerabild bereitzustellen.
-
Erste Überlegungen waren dahingehend, dass Assistenzsysteme, die beispielsweise ein Spurhalten unterstützen oder vor einem Verlassen aus einer Spur warnen, eine robuste und zuverlässige Information über die Lage der Spur erfordern. Extrahierte Feature- oder Keypoints müssen von ihrer Lage daher sehr genau mit den Stellen in der realen Welt übereinstimmen. Dies ist eine Herausforderung für Erkennungsmethoden basierend auf neuronalen Netzen, die über trainiertes Wissen diese Stellen nur schätzen, vielfach aber nicht vermessen. Im Nahbereich sind filterbasierte Ansätze vielversprechend, die aufgrund ihrer Struktur die Lage der Spurmarkierung gut extrahieren können. Eine Herausforderung ist allerdings die Wahl und das Tuning eines passenden Sets an Parametern wie die eines Schwellwertes zur Erkennung von Kanten und deren Nachverarbeitung zur Bildung einer Spur sowie die Extraktion und Erkennung von Straßenbegrenzungen.
-
Beide Ansätze können zur Verbesserung des jeweils anderen Ansatzes fusioniert werden, beispielsweise, indem die neuronalen Ansätze Bereiche prädizieren, in denen die filterbasierten Ansätze Spur- oder Straßenbegrenzungen extrahieren. Die Zusammenführung beider Ansätze führt jedoch zu einem erhöhten Rechenaufwand und Ressourcenbedarf, welche für Low-Cost Kamerasysteme kritisch ist. Eine weitere Herausforderung ist die Zuverlässigkeit der Prädiktion sowie die Wahl und das Tuning eines geeigneten Sets an Parametern wie die eines Schwellwertes zur Bestimmung von Kanten und Straßenbegrenzungen.
-
Erfindungsgemäß wird demnach ein Verfahren zur Erkennung und Lokalisierung von Fahrbahnmarkierungen und -begrenzungen in einem Kamerabild mit den folgenden Schritten vorgeschlagen:
- - Aufnehmen eines Ausgangsbildes mittels einer Kamera, insbesondere einer Frontkamera eines Fahrzeugs,
- - Anwenden zumindest eines Filters auf das Ausgangsbild,
- - Berechnen einer Energiekarte basierend auf einer Filterantwort,
- - Berechnen eines Energiefunktionales mittels Anwendung eines Funktionalterms auf die Energiekarte,
- - Pfadsuche in der Energiekarte durch das Energiefunktional durch Lösen eines Optimierungsproblems,
- - Erkennung und Lokalisierung von Fahrbahnmarkierungen und
-begrenzungen basierend auf dem Ergebnis der Pfadsuche.
-
Bei den Filtern, die auf das Ausgangsbild angewandt werden handelt es sich bevorzugt um ein- oder zweidimensionale Filter. Mit Hilfe dieser Filter können beispielsweise Helligkeits- und Texturänderungen oder Kanten hervorgehoben werden. Die Antwort der Filter an jeder Position (x,y) im Bild wird in eine Karte, die Energiekarte e, eingetragen. Somit erfolgt die Berechnung der Energiekarte mittels Auswahl geeigneter Filter, die vertikale und horizontale Kanten, wie bei scharfen Kurven von Autobahnausfahrten oder Autobahneinfahrten oder Kreisverkehren üblich berücksichtigen. Denkbar wäre auch die Verwendung von Filtern, welche mehr als zwei Dimensionen aufweisen. Beispielsweise wäre die Verwendung eines 3D-Filters denkbar, bei welchem die Koordinaten und der Fluss im Bild berücksichtigt wird.
-
Der Begriff Optimierungsproblem beschreibt allgemein die Suche nach der besten Lösung für ein Problem. In der vorliegenden Erfindung ist das die Suche nach aufeinanderfolgenden Pixeln mit annähernd gleich hohem Energiewert.
-
Mit Hilfe eines Funktionalterms F wird die Energiekarte e(x,y) in ein Energiefunktional f(x,y) zum Finden von lokalen, energieoptimierten Pfaden vorbereitet. Diese Pfade entsprechen dem Verlauf einer Spur- oder Straßenbegrenzung im Bild.
-
Ist das Energiefunktional vollständig gebildet, kann mit Hilfe einer Pfadsuche das Optimierungsproblem lokal und damit die Erkennung und Lage der Spurbegrenzungen gelöst werden. Ein Vorteil hierbei ist, dass direkt auf Energie- und Energiefunktionalwerten gearbeitet wird, wodurch eine Schwellwertbildung und eine parameterbasierte Anpassung vermieden wird. Dies führt zu einer weniger rechenintensiven Spurerkennung. Damit spielt die Kantenstärke im Bild eine eher untergeordnete Rolle, womit schwierige Situationen wie ausgewaschene Spurmarkierungen auf hellem Beton besser adressiert werden können.
-
Weiterhin können durch die akkumulative Gestaltung des Energiefunktionales schwierige Szenarien wie Cats Eyes oder Botts Dots besser adressiert werden, wo einzelne Punkte im Bild hochwertige Informationen an ein Energiefunktional zur Verfügung stellen.
-
In einer bevorzugten Ausführungsform wird neben der Filterantwort zumindest ein Prior bei der Berechnung der Energiekarte berücksichtigt.
-
Bevorzugt berücksichtigt der zumindest eine Prior das Vorhandensein von Fahrbahnmarkierungen und -begrenzungen. Diese Information kann beispielhaft von neuronalen Netzen in Form von Keypoints bereitgestellt werden. Dies ist vorteilhaft, da auf diese Weise der Einfluss von Regionen in der Energiekarte unterdrückt werden kann, in denen keine Spur- oder Straßenbegrenzungen zu erwarten sind. Dies ist insbesondere der Fall, wenn sich auf der Fahrbahn hellere Stellen befinden, da diese dann mittels der Berücksichtigung eines oder mehrerer Priors unterdrückt werden, was zu einem eindeutigeren Ergebnis bei der Suche nach Fahrbahnmarkierungen führt.
-
Die Energiekarte ermöglicht es auf sehr einfache Art Informationen von verschiedenen Quellen zu fusionieren und zu gewichten. Damit kann die Implementierung einer vollständigen Kanten- und CNN-basierten Spurerkennung im Falle einer Fusion vermieden werden.
-
In einer weiteren bevorzugten Ausführungsform wird die Energiekarte nach der Berechnung derart optimiert, dass Kantenreihenfolgen hervorgehoben werden. Bei den Kantenreihenfolgen kann es sich beispielsweise um Übergänge von dunkel nach hell gefolgt von hell nach dunkel, wie bei Fahrspurmarkierungen üblich, handeln.
-
Besonders bevorzugt wird der Funktionalterm auf jede Position der Energiekarte angewandt. Anders ausgedrückt wird der Funktionalterm auf jeden Pixelwert der Energiekarte angewandt. Dies ist insbesondere dann vorteilhaft, wenn noch keine Spurinformationen vorliegen bzw. in dem Bild noch keine Spurerkennung durchgeführt wurde. Es wäre auch denkbar, dass beispielsweise der Funktionalterm auf einen Teil der Energiekarte angewandt wird, beispielsweise wenn lediglich ein neuer Bildausschnitt analysiert werden muss und in dem übrigen Teil bereits eine Pfadsuche bzw. eine Spurerkennung erfolgreich durchgeführt wurde.
-
Der Funktionalterm dient der beispielhaften Lösung der Erkennung von Fahrbahn- und Fahrspurbegrenzung als Optimierungsproblem durch eine Pfadsuche im Bild. Denkbar ist daher jede mathematische Berechnung im Funktionalterm, welche eine nachfolgende Pfadsuche bestmöglicht unterstützt. In einer beispielhaften Anwendung sei der Funktionalterm F für eine Pfadsuche wie folgt beschrieben:
und f(0, y) = e(0, y)
Die Berechnung des Funktionalterms kann in jede beliebige Richtung im Bild durchgeführt werden. Beispielsweise ist die Bildungsrichtung von oben nach unten und von links nach rechts, also x→x+1.
-
Bevorzugt erfolgt die Pfadsuche in einer bestimmten Richtung in der Energiekarte, wobei die Richtung entgegengesetzt zu einer Bildungsrichtung des Energiefunktionales ist. Die Pfadsuche erfolgt immer in entgegengesetzter Richtung zur Bestimmung des Energiefunktionales. Beispielsweise unter Berücksichtigung des zuvor genannten Beispiels zur Bildung des Energiefunktionales, von unten nach oben und von rechts nach links, also x+1→x.
-
Die Berechnung des Energiefunktionals ermöglicht die Lösung des Optimierungproblems durch eine Pfadsuche. Die Pfadsuche kann mathematisch beliebig formuliert werden, und wird beispielsweise in einer weiteren bevorzugten Ausführungsform mathematisch wie folgt beschrieben:
-
Die Pfadsuche kann an jeder beliebigen Position im Bild gestartet und damit auch auf eine beliebige Anzahl an Spur- oder Straßenbegrenzungen angewandt werden.
-
Weitere vorteilhafte Ausgestaltungen und Ausführungsformen ergeben sich aus den Zeichnungen. Darin zeigen:
- 1: eine exemplarische Darstellung eines Ausgangsbildes;
- 2: eine exemplarische Darstellung einer Antwort eines neuronalen Netzes zur Erkennung einer Spur
- 3: eine exemplarische Darstellung einer Energiekarte berechnet aus einer Filterantwort eines Filters, angewandt auf 1;
- 4: eine exemplarische Darstellung eines gewichteten Prior basierend auf der Antwort aus 2;
- 5: eine exemplarische Darstellung einer Energiekarte aus der Fusion der Darstellung aus 3 und 4;
- 6: eine exemplarische Darstellung eines Energiefunktionales für eine Pfadsuche;
- 7: eine exemplarische Darstellung von lokalen Maxima in er untersten Zeile des Energiefunktionales;
- 8: eine exemplarische Darstellung von durch das Energiefunktional gefundenen Pfaden;
- 9: eine exemplarische Darstellung eines extrahierten Spurverlaufes im Originalbild aus der Pfadsuche;
- 10: ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens.
-
1 zeigt eine exemplarische Darstellung eines Ausgangsbildes 1. Das Ausgangsbild besteht dabei aus mehreren Pixeln 2. Jeder Pixel ist mit einem bestimmten Wert W belegt. Je höher der Wert W, desto heller ist der Pixel bzw. desto heller ist das aufgenommene Bildelement. In dem hier gezeigten Beispiel ist eine Fahrbahnmarkierung auf einer Fahrbahn in dem Ausgangsbild 1 erkennbar. Die Fahrbahnmarkierung ist dabei das hellste Element des Bildes, was durch die hohen Werte W erkennbar ist.
-
2 zeigt eine exemplarische Darstellung einer Antwort eines neuronalen Netzes zur Erkennung einer Spur in dem Ausgangsbild 1. Das neuronale Netz kann hierbei beispielsweise Informationen hinsichtlich sog. Keypoints bereitstellen, welche beispielsweise eine Kante 3 einer Fahrspurmarkierung beschreiben. Alternativ oder kumulativ kann das neuronale Netz Informationen über Übergänge von hellen zu dunklen Bereichen liefern, welche bei Kantenübergängen bei einer Fahrspurmarkierung üblich sind. Die Pixel, die diese Informationen enthalten sind in 2 mit dem Wert W = „90“ belegt.
-
3 zeigt eine exemplarische Darstellung einer Energiekarte E berechnet aus einer Filterantwort eines Filters, angewandt auf 1. Bei den Filtern handelt es sich beispielsweise um ein- oder zweidimensionale Filter, welche Helligkeits- und Texturänderungen oder Kanten hervorheben. In 3 sind jeweils die Helligkeitsänderungen in der Energiekarte ersichtlich. Diese beschreiben jeweils die linke bzw. die rechte Kante der Fahrspurmarkierung. In der Energiekarte ist die linke Kante mit einem positiven Wert W eingetragen und die rechte Kante mit einem negativen Wert W. Anders ausgedrückt wird hier der Übergang von dunkel nach hell mit positiven Werten W und der Übergang von hell nach dunkel mit negativen Werten W beschrieben. Die Zahlenwerte bei Umwandlung der Darstellung aus 2 zu 3 sind in diesem Fall rein exemplarisch und nicht konsistent.
-
4 zeigt eine exemplarische Darstellung eines gewichteten Prior basierend auf der Antwort aus 2. Hierbei werden die Informationen des neuronalen Netzes genutzt, um anhand von Keypoints oder Kantenübergängen die Bereiche zu ermitteln, in welchen sich mit sehr hoher Wahrscheinlichkeit eine Fahrspur befindet. Die auf diese Weise ermittelten Bereiche bilden ein Prior 4, welches ebenfalls bei der Berechnung der Energiekarte berücksichtigt werden kann. Dadurch lassen sich Regionen, welche ebenfalls hellere Stellen aufweisen, an welchen sich allerdings keine Fahrspur befindet in der Energiekarte E unterdrücken.
-
5 zeigt eine exemplarische Darstellung einer Energiekarte E aus der Fusion der Darstellung aus 3 und 4. Hierbei wurde die kantenbasierte Energiekarte aus 3 mit dem Prior aus 4 fusioniert. Die Werte der einzelnen Pixel 2 werden bei der Fusion addiert. Auf diese Weise wird eine Energiekarte generiert, welche sowohl Helligkeitsänderungen als auch Keypoints bzw. Kantenübergänge berücksichtigt, was zu einer eindeutigeren Verortung der Fahrspur in dem Bild führt.
-
6 zeigt eine exemplarische Darstellung eines Energiefunktionales für eine Pfadsuche. Basierend auf der Energiekarte wird mittels eines Funktionalterms ein Energiefunktional gebildet. Die Bildung des Energiefunktionals wird in diesem Beispiel von oben nach unten durchgeführt in Richtung x→x+1 also von links nach rechts.
-
7 zeigt eine exemplarische Darstellung von lokalen Maxima 5 in der untersten Zeile des Energiefunktionales. Der vollständigen Bildung des Energiefunktionales wird als Ausgangspunkt ein oder mehrere lokale Maxima 5 in der untersten Zeile der Energiekarte aus 6 gesucht. Diese lokalen Maxima 5 beschreiben jeweils den Startpunkt eines Pfades 6 bei der folgenden Pfadsuche. Konkret befinden sich die Maxima 5 in 7 bei den Werten x=11 sowie x=26.
-
8 zeigt eine exemplarische Darstellung von durch das Energiefunktional gefundenen Pfaden 6. Die Pfadsuche erfolgt immer in entgegengesetzter Richtung zur Bestimmung des Energiefunktionales von unten nach oben x+1→x. Die Pfadsuche kann an jeder beliebigen Position im Bild gestartet werden und damit auch auf eine beliebige Anzahl an Spur- oder Straßenbegrenzungen angewandt werden. In diesem Beispiel wurden zwei Pfade 6 mittels Pfadsuche ermittelt.
-
9 zeigt eine exemplarische Darstellung eines extrahierten Spurverlaufes im Originalbild aus der Pfadsuche. Ist der Pfad 6 bzw. sind die Pfade 6 vollständig gebildet, wird der durch den Pfad 6 beschriebene Spurverlauf 7 in das Originalbild übertragen bzw. mit den Informationen im Originalbild fusioniert.
-
10 zeigt ein schematisches Ablaufdiagramm einer Ausführungsform des Verfahrens. In Schritt S1 wird ein Ausgangsbildes mittels einer Kamera, insbesondere einer Frontkamera eines Fahrzeugs aufgenommen. Auf dieses Ausgangsbild wird in einem nächsten Schritt S2 zumindest ein Filter angewandt. In dem darauffolgenden Schritt S3 wird eine Energiekarte basierend auf einer Filterantwort berechnet. In Schritt S4 wird ein Energiefunktionale mittels Anwendung eines Funktionalterms auf die Energiekarte berechnet. In Schritt S5 wird eine Pfadsuche in der Energiekarte mittels des Energiefunktionales durchgeführt. Basierend auf dem Ergebnis der Pfadsuche werden in Schritt S6 Fahrbahnmarkierungen und -begrenzungen erkannt und lokalisiert.
-
Bezugszeichenliste
-
- 1
- Ausgangsbild
- 2
- Pixel
- 3
- Kante einer Fahrspurmarkierung
- 4
- Prior
- 5
- lokales Maximum
- 6
- Pfad
- 7
- Spurverlauf
- E
- Energiekarte
- S1-S6
- Verfahrensschritte
- W
- Wert der Pixel
- x, y
- Kartesische Koordinaten