-
Hintergrund
-
Das vorliegende Verfahren betrifft im Allgemeinen Verfahren und eine Vorrichtung zum Erzeugen exakter Karten, und insbesondere Verfahren und eine Vorrichtung zum Erzeugen von Straßenfahrspurkarten.
-
Karten in entweder gedruckter oder digital angezeigter Form zeigen eine Straße als eine einzelne Linie oder als zwei eng benachbarte Linien. Die Breite des Raums oder der Linie kann proportional zu der tatsächlichen Breite der Straße sein. Solche Karten zeigen jedoch nicht die Anzahl von Fahrspuren auf der Straße oder zusätzliche Ausfahrtsfahrspuren, Fahrrad-Fahrspuren usw.
-
Vollständig automatisierte Antriebssysteme sind derart gestaltet, dass diese ein Fahrzeug auf einer Straße ohne eine Einwirkung eines Fahrers oder anderer externer Steuerungen, beispielsweise bei selbstfahrenden oder autonomen Fahrzeugen, betreiben. Solche Systeme erfordern Karten, welche Fahrspurebenen-Informationen mit einem hohen Grad an Genauigkeit verschlüsseln. Die Fahrspurebenen-Informationen werden bei einer Vielzahl von Situationen, wie zum Erzeugen einer gleichmäßigen Bewegungsbahn für eine Pfadplanung, verwendet, um das Verhalten von anderen Fahrzeugen zu prognostizieren, oder zum Planen und Schlussfolgern eines geeigneten Fahrzeugverhaltens bei Kreuzungen.
-
In vielen Fällen werden solche Karten entweder durch einen mühsamen, manuellen Annotationsvorgang oder durch Fahren der exakten Fahrspurgestaltung mit dem Testfahrzeug oder durch Analysieren einer Sammlung von GPS-Fahrwegen erzeugt. Diese Verfahren erfordern erhebliche Beträge manueller Arbeit, entweder durch die Annotation oder zum Sammeln.
-
Es wäre wünschenswert, exakte Fahrspurebenen-Karten mit einem geringeren Vorbereitungsaufwand bereitzustellen.
-
Kurzfassung
-
Ein bei einem Computer implementiertes Verfahren zum Ermitteln von Straßenfahrspurcharakteristika einer Straße umfasst das Erhalten von Lidar-Daten von Straßenmarkierungen auf einer Straße; das Zugreifen auf Straßenkartendaten; das Ermitteln von Straßensegment-Knotenpositionen aus den Kartendaten; das Verknüpfen der durch Lidar erzeugten Straßenmarkierungsdaten mit den Straßensegment-Knotenpositionen; und das Anwenden einer Partikelfilterung bei den Straßenmarkierungs-Straßensegmentpositionen zu Fahrspurcharakteristikaschätzungen.
-
Bei dem Verfahren umfasst das Anwenden einer Partikelfilterung die Verwendung eines Filters aus einem normalen Partikelfilter, einem dualen bzw. Doppel-Partikelfilter und einer Zusammensetzung aus dem normalen Partikelfilter und dem dualen Partikelfilter.
-
Bei dem Verfahren wird der duale Partikelfilter verwendet, um die Charakteristika einer Spur aus einer Fahrrad-Fahrspur benachbart zu einer Fahrspur einer Straße und einer Straßenausfahrt oder -zufahrt abzuschätzen.
-
Bei dem Verfahren wird die Zusammensetzung aus dem normalen Partikelfilter und dem dualen Partikelfilter verwendet, um einen Übergang einer Fahrspur einer Straße in zumindest eine zusätzliche Straßenfahrspur, und einen Übergang von zwei nebeneinander liegenden Straßenfahrspuren in eine Straßenfahrspur zu erfassen.
-
Bei dem Verfahren werden Straßenfahrspurmarkierungsdaten aus den Lidar-Daten extrahiert.
-
Bei dem Verfahren werden die Fahrspurmarkierungsdaten unter Verwendung eines GraphSlam-Algorithmus aufbereitet.
-
Bei dem Verfahren umfasst das Typisieren der durch Lidar erzeugten Straßenmarkierungsdaten mit den Straßensegment-Knotenpositionen das Erzeugen jedes einzelnen der Karten-Straßenknoten nacheinander, das Berechnen eines Winkels eines Knotens zu einem benachbarten Knoten, das Ermitteln einer seitlichen Linienmarkierung zu dem einen Knoten, das Bilden eines Satzes sämtlicher Liniensegmente innerhalb eines Rechtecks, das Filtern des Satzes von Liniensegmenten innerhalb des Rechtecks, das Clustering von Liniensegmenten zu den Fahrspurmarkierungen, das Berechnen einer mittleren Versatzstrecke, das Gruppieren von Fahrspurmarkierungen in Längsrichtung, und das Berechnen von binären Merkmalen der durch Lidar erzeugten Markierungsdaten und der Kartenknoten.
-
Bei dem Verfahren umfassen die Fahrspurcharakteristikaschätzungen zumindest eine Größe aus der Anzahl von Fahrspuren, der Breite der Fahrspuren und der Mitte jeder Fahrspur.
-
Das Verfahren zum Erhalten von Lidar-Daten von Straßenmarkierungen umfasst das Ausrüsten eines Fahrzeugs mit einem GPS-Positionsgeber und einem rotierenden Laserstrahl und einem Detektor für einen reflektierten Laserstrahl, das Bewegen des Fahrzeugs entlang einer Fahrspur einer Straße, das Erfassen der Intensität des von reflektierenden Straßenmarkierungen auf allen Fahrspuren der Straße reflektierten Laserstrahls, während sich das Fahrzeug entlang der einen Fahrspur der Straße bewegt.
-
Kurze Beschreibung der Abbildungen
-
Die verschiedenen Merkmale, Vorteile und die weiteren Verwendungen des vorliegenden Verfahrens zum Erzeugen von exakten Fahrspurebenen-Karten werden mit Bezug auf die nachfolgende detaillierte Beschreibung und die Abbildungen ersichtlicher, worin:
-
1 ein Blockdiagramm einer Berechnungsvorrichtung zum Implementieren des offenbarten Verfahrens ist;
-
2 eine bildliche Darstellung eines Straßenverlaufs ist, welchem beim Aufnehmen von Lidar-Informationen gefolgt wird;
-
3A, 3B und 3C bildliche Darstellungen von Initial-Fahrspur-Merkmalen sind, die durch das vorliegende Verfahren geschaffen werden;
-
4 eine bildliche Darstellung einer Straßenfahrspur ist, welche unter Verwendung eines Partikelfilter-Algorithmus implementiert ist;
-
5 eine bildliche Darstellung von Straßenfahrspur-Merkmalen ist, welche durch ein Doppel-Partikel-Merkmal geschaffen werden;
-
6A, 6B, 6C und 6D bildliche Darstellungen von Straßenfahrspur-Schätzungen sind, welche durch das vorliegende Verfahren erzeugt werden; und
-
7 ein Blockdiagramm ist, welches die bei dem vorliegenden Verfahren zum Erzeugen von exakten Fahrspurebenen-Karten verwendeten Schritte darstellt.
-
Detaillierte Beschreibung
-
Ein Verfahren zum Erzeugen von exakten Fahrspurebenen-Karten wird bei einer in einem Blockdiagramm in einer Form von 1 gezeigten Berechnungsvorrichtung 100 implementiert, das heißt, die Berechnungsvorrichtung 100 kann irgendein Typ einer Berechnungsvorrichtung sein, einschließlich einer tragbaren, Desktop-, oder anderen Form einer einzelnen Berechnungsvorrichtung, oder diese kann aus mehreren Berechnungsvorrichtungen ausgebildet sein. Eine CPU 102 in der Berechnungsvorrichtung 100 kann einer herkömmlichen zentralen Berechnungseinheit oder irgendeinem anderen Typ einer Vorrichtung, oder mehreren Vorrichtungen entsprechen, die in der Lage sind, Informationen zu manipulieren oder zu verarbeiten. Ein Speicher 104 in der Berechnungsvorrichtung 100 kann eine Direktzugriffsspeichervorrichtung (RAM) oder irgendein anderer geeigneter Typ einer Speichervorrichtung sein. Der Speicher 104 kann Daten 106 umfassen, auf welche durch die CPU 102 unter Verwendung eines Busses 108 zugegriffen wird. Der Speicher 104 kann ebenso ein Betriebssystem 110 und installierte Anwendungen 112 umfassen. Die installierten Anwendungen 112 umfassen Programme, welche der CPU 102 ermöglichen, das hierin beschriebene Karten-Straßenfahrspurebenen-Erzeugungsverfahren durchzuführen.
-
Die Berechnungsvorrichtung 100 kann ebenso einen sekundären, zusätzlichen oder externen Speicher 114, beispielsweise eine Speicherkarte, einen Speicherstick oder andere Formen eines computerlesbaren Mediums umfassen. Die installierten Anwendungen 112 können in ihrer Gesamtheit oder zum Teil in dem Sekundärspeicher 114 gespeichert werden und für die Verarbeitung nach Bedarf in den Speicher 104 geladen werden.
-
Die Berechnungsvorrichtung 100 empfängt einen Eingang 116 in Form von Rohoder Kurskartendaten, wie Kurskartendaten, welche von dem Open-Street-Map(OSM)-Projekt empfangen werden, und einen Sensor oder 3D-Lidar-Eingang 118 von Sensoren, welche auf einem Fahrzeug montiert sind, die ein hochgenaues Fahrzeugpositionierungssystem umfassen.
-
Die Kartendaten 116 und die Lidar-Daten 118 können in dem Speicher 104 und/oder dem Sekundärspeicher 114 gespeichert werden.
-
Ein Testfahrzeug, welches Sensoren trägt und üblicherweise bei autonomen Fahrzeugsystemen verwendet wird, erzeugt die Lidar-Daten 118. Eine Posen- bzw. Positionsund Bewegungsschätzung kann von einem Applanix POS-LV 220 Trägheits-GPS-Navigationssystem stammen. Dieses System erzeugt Posen- bzw. Positionsschätzungen bei 100 Hz. Lidar-Daten 118 stammen von einem Velodyne HDL-64E, welches 64 Laserstrahlen verwendet und bei 10 Hz dreht. Zusätzlich zu der 3D-Position für jede Lidar-Rückführung misst das HDL 64E außerdem eine 8 Bit-Intensität. Geeignete Teilmengen jeder Lidar-Drehung sind zeitgestempelt bzw. -markiert zu den Applanix-Daten, so dass eine Aufbereitung bzw. Verfeinerung der Fahrzeugpositionen unter Verwendung von nachfolgend beschriebenen Algorithmen in verfeinerten Lidar-Positionen resultiert.
-
Das Testfahrzeug kann außerdem eine nach vorne ausgerichtete Farbkamera mit hoher Auflösung, ein nach vorne ausgerichtetes Radar, eine GPS-Antenne und eine Trägheits-Messeinheit, seitlich ausgerichtete Radare und einen Rotations-Encoder für Fahrzeug-Fahrstreckeninformationen umfassen.
-
Das Testfahrzeug wird entlang der Route 130, wie durch ein Beispiel in 2 ersichtlich, gefahren. Die Route 130 umfasst eine Vielzahl von verschiedenen Straßen, einschließlich einer mehrspurigen Schnellstraße bzw. Autobahn mit Zufahrts- und Abfahrts-Fahrtrassen, zweispurigen Überlandstraßen und einer mehrspurigen, bidirektionalen Straße.
-
Das Testfahrzeug wird auf einer Fahrspur entlang der Route 130 zumindest einmal gefahren. Es können mehrere Durchläufe durchgeführt werden, um die Genauigkeit der Lidar-Daten durch das Aufnehmen zusätzlicher Straßenindikatoren, wie später beschrieben, die durch einen benachbarten Verkehr, eine Mast-Reflexion, eine Fahrzeuggeschwindigkeit und weitere Faktoren verdeckt oder gestört sein können, zu verbessern.
-
Das vorliegende Verfahren modelliert ein Inferenz-Problem, welches kursstrukturierte vorherige bzw. ältere Kartendaten mit präzisen Lidar-Messungen bei einer Anzahl von Inferenz-Algorithmen kombiniert, um exakte Straßenfahrspur-Informationen mit lediglich einem einzelnen Durchlauf eines Testfahrzeugs entlang der Straße zu erzeugen.
-
Das Verfahren erzeugt aus dem Kurs und den präzisen Lidar-Daten die Anzahl von Spuren, die Mitte jeder Fahrspur sowie das Vorliegen irgendwelcher Fahrradpfade, Zufahrts- und Abfahrts-Fahrtrassen, die Veränderung der Anzahl von Straßenfahrspuren usw.
-
Der erste Schritt 130 bei dem Verfahren, wie in 7 gezeigt, dient dazu, um auf die Lidar-Daten zuzugreifen. Dies erzeugt Fahrspurmerkmale von mittlerem Niveau bzw. einer mittleren Ebene, wie in 3A gezeigt, und bei Schritt 132 in 7.
-
Ein konsistenter Datensatz wird durch Anwenden einer Variante von GraphSlam erzeugt, modifiziert, um die Fahrzeug-Bewegungsbahn mit Bezug auf eine Anzahl von charakteristischen Merkmalen zu optimieren, welche aus den Lidar-Daten auf einfache Art und Weise identifiziert werden können. Solche Merkmale umfassen Fahrspurmarkierungen/Farbe, Kurven, Straßenschilder und Masten. Fahrbahnmarkierungen sind von besonderem Interesse, da diese den primären Sensor von Daten darstellen können, die für die Fahrspur-Abschätzung verwendet werden.
-
Der erste Schritt beim Erzeugen des konsistenten Datensatzes liegt darin, einen 1D-Laplace-Filter auf die Intensität (Reflexionsvermögen), welche für jeden Strahl des 3D-Lasers zurückkehrt, anzuwenden. Diese erlangt aufgrund einer Straßenfarbe mit einem unterschiedlichen Reflexionsvermögen als die Straßenoberfläche eine Antwort. Nachfolgend wird ein RANSAC-Algorithmus unter Verwendung der 3D-Positionsdaten in Zusammenhang mit jeder Antwort angewendet, um Ausreißer zu entfernen und Fahrspur-Segment-Merkmale zu erzeugen, welche durch die drei Linien in 3A gezeigt sind.
-
Der GraphSlam-Algorithmus bei Schritt 134 in 7 wiederholt sich zwischen einem Daten-Assoziierungsschritt und einem Optimierungsschritt. Der Daten-Assoziierungsschritt verwendet eine Schwelle basierend auf einer Strecke. Bei jedem Daten-Assoziierungsschritt werden neue Positionen für jedes Merkmal basierend auf den neuen Fahrzeugpositionen berechnet, die aus dem Optimierungsschritt erzeugt werden. Die Schwelle wird zunehmend verschärft und dieser Vorgang wird bis zu einer Konvergenz wiederholt. Der Ausgang des GraphSlam-Algorithmus ist eine verfeinerte Fahrzeug-Bewegungsbahn, die nachfolgend dazu verwendet wird, um die Lidar-Scan-Daten erneut zu projizieren, wie in 3A und Schritt 136 in 7 gezeigt ist.
-
Das Verfahren verwendet ältere schwache oder Kurskarten-Informationen, wie Open-Street-Map(OSM)-Karteninformationen. Diese Informationen sind dahingehend beschränkt, dass diese eine große Positionsungenauigkeit von bis zu wenigen Meter besitzen und keine Daten hinsichtlich der Anzahl der Fahrspuren auf einer bestimmten Straße enthalten. Das vorliegende Verfahren verwendet Lidar-Scan-Daten, um präzise Positionsschätzungen sämtlicher Fahrspuren auf einer Straße abzuleiten.
-
Hinsichtlich OSM-Kartendaten als schwache ältere Daten hinsichtlich der Position und des Vorliegens einer Straße, siehe Schritt
138,
7. Ein Weg bei OSM ist definiert durch {p
1, p
2, ... p
n}: einem Satz von Knoten entlang des Weges. Diese Knoten sind gleichmäßig mit δo = 1 Meter-Intervallen bzw. -Abständen beabstandet. Der Fahrspurmarkierungs-Schätzvorgang verwendet die gleichen Fahrspurmarkierungs-/Farb-Merkmale, die bei dem GraphSlam-Algorithmus verwendet wurden, welche die Form von relativ kurzen (0,5 bis 2 Meter) Liniensegmenten λ annehmen, welche durch 3D-Koordinaten von beiden Endpunkten spezifiziert sind, Schritt
140,
7. Für jeden OSM-Knoten pi wird zunächst der Winkel θi zu dem Knoten pi + 1 berechnet, und anschließend wird eine Suche durchgeführt, um die Linienmarkierungen seitlich zu dem OSM-Knoten zu finden. Die Suche erstreckt sich über ein Rechteck, welches durch die Vektoren der Länge δ
0/2 nach vorne und nach hinten entlang θi definiert ist, und für eine festgelegte Strecke in beiden Richtungen senkrecht zu θi. Sämtliche Liniensegmente, welche in dieses Rechteck fallen, werden in einem Satz
aufgenommen bzw. gesammelt. Dieser Satz wird anschließend basierend auf jeder Segmentausrichtung zu θi gefiltert, was in Λ
i = {λ
j:λ
j ∊ Λ
i, ||
– θ
i|| < θ
thresh}, resultiert, wobei
dem Winkel des Liniensegments entspricht. Anschließend werden sämtliche Liniensegmente in λ unter Verwendung eines Greedy-Ansatzes basierend auf dem Abstand geclustert. Die resultierenden Cluster sind als Fahrspurmarkierungen bezeichnet. Für jede Fahrspurmarkierung wird die mittlere Versatzstrecke zi ausgehend von dem OSM-Knoten pi berechnet. Diese Versatzstrecke wird als eine Beobachtung gebunden an diesen bestimmten OSM-Knoten innerhalb des Partikelfilters verwendet, wie in
3B gezeigt ist.
-
Nachfolgend werden die Fahrspurmarkierungen unter Verwendung eines Greedy-, Floodfill-Algorithmus in der Längsrichtung gruppiert. Der Zweck dieses Schrittes liegt darin, zusätzliche binäre Merkmale für jede Fahrspurmarkierung zu erzeugen. Einige Gruppen von Fahrspurmarkierungen, wie diese entsprechend durchgehenden, gut gefärbten Linien, werden sich für eine lange Längsstrecke (zehn oder hunderte von Meter) auf ländlichen oder halb-ländlichen Straßen erstrecken, während in anderen Fällen, wie bei unterbrochenen Linien oder Bereichen mit vielen Kreuzungen, die Gruppen kurz sein werden, in der Größenordnung weniger Meter.
-
In Anbetracht dieser Gruppierungen werden drei zusätzliche Merkmale berechnet, welche sich für die Fahrspurabschätzung als nützlich erweisen. Zunächst werden zwei binäre Merkmale berechnet, die verschlüsseln, auf welcher bzw. welchen Seite(n) der Fahrspurmarkierung eine Fahrspur vorliegen kann (beispielsweise für eine Fahrspurmarkierung ganz rechts außen kann keine Fahrspur auf der rechten Seite vorliegen). Diese binären Merkmale, und zwar has-l und has-r, werden mit Blick auf die gesamten Fahrspur-Segment-Daten berechnet. Für das gesamte Fahrspursegment wird anschließend eine Zählung der Anzahl von Fahrspurmarkierungs-Beobachtungen (zi), welche auf beiden Seiten (c l / k and c r / k). vorliegen, gezählt. Außerdem gilt has-j = (c j / k ≥ δc), j ∊ {l, r} worin δc einem Schwellen-Parameter entspricht. Die dritte binäre Variable verschlüsselt, wo eine Fahrspurmarkierung gestrichelt bzw. unterbrochen ist. Sämtliche Fahrspuren werden herausgefiltert, die größer als eine gestrichelte Standard-Fahrspur sind, welche in den vereinigten Staaten zu finden ist. Anschließend werden Fahrspurmarkierungsgruppen verbunden, die sich bei einem eingestellten Abstand befinden und eine ähnliche Ausrichtung besitzen. Diese werden als eine unterbrochene Linie gekennzeichnet.
-
Die vorstehenden binären Merkmale, welche in 3C dargestellt sind, geben wichtige Hinweise, um die Fahrspur-Daten zu interpretieren, wie bei der Entwicklung der Messfunktion für die Partikelfilter gezeigt wird.
-
Für diesen Bereich existieren mehrere Ansätze für eine Partikelfilterung. In den nachfolgenden Abschnitten. Diese Ansätze sind hier beginnend mit einigen Grunddefinitionen kurz dargelegt, welche bei allen gleich sind. Wie vorstehend erwähnt, basiert die Partikelfilter-Evolution auf der Struktur der OSM-Knoten mit nachfolgenden Schritten bei dem Filterübergang von einem OSM-Knoten hin zu dem nächsten. Der Status jedes Partikels basiert auf dessen Beziehung zu dem OSM-Knoten (welche diesen anschließend mit einer physikalischen Position in Beziehung setzt). In diesem Sinne werden Filterungs-Gleichungen von einer Grunddefinition des Status der abzuschätzenden Karte hergeleitet: Xn:{x 1 / n, x 2 / n...x m / n}; worin m der Anzahl von Fahrspuren entspricht, welche bei dem n-ten Knoten bei dem OSM-Weg abgeschätzt werden, und x i / n einem Status der Fahrspurabschätzung entspricht. Der Status jeder Fahrspur entspricht dessen Abweichung von dem OSM-Knoten und dessen Breite {o i / n, w i / n}. Unter Verwendung der Beobachtungen zn → {Fahrspurmarkierungen, welche bei dem n-ten OSM-Knoten beobachtet werden}, entspricht der angenommene Status: Bel(xn) = P(xn|zn, zn-1...z0) (1)
-
Die Verwendung einer rekursiven Bayes-Filterung, wie für Gleichung (1) definiert, ergibt Bel(xn) ∝ p(zn|xn)∫p(xn|xn-1)Bel(xn-1)dxn-1 (2)
-
Um einen Partikelfilter zu implementieren, Schritt 142, 7, werden die Größen p(zn|xn) und p(xn|xn-1)Bel(xn – 1) abgeschätzt. Für alle Algorithmen ist Bel(xn) als ein Satz von m gewichteten Partikeln dargestellt. Bel(x) ≈ {x(i), ϕ(i)}i=1,...m
-
Worin x(i) einem Sample bzw. Abtastwert eines Status (Fahrspurschätzung) und φ(i) einem nicht negativen Parameter entspricht, welcher als der Bedeutungsfaktor oder die Gewichtung bezeichnet ist. Die weiteren notwendigen Größen sind in jedem der nachfolgenden Abschnitte ausführlich beschrieben.
-
Die Implementierung des normalen Partikelfilters folgt den nachfolgenden drei Schritten:
- 1. Sampling: Sample bzw. Abtastwert x i / n-1 ~ Bel(Xn-1) von dem gewichteten Abtastwertsatz darstellend Bel(xn-1).
- 2. Vorschlags-Verteilung: Abtastwert x (i) / n ~ p(xn|x (i) / n-1). Da sich der Partikelstatus lediglich in Bezug auf OSM-Knoten entwickelt, und OSM-Karten sowohl hinsichtlich der Position als auch der Richtung hochungenau sind, wird xn durch Addieren eines Gaußschen Rauschens zu x i / n-1 abgetastet: x (i) / n:{on-1 + N(0, σo), w (i) / n-1 + N(0, σw)} Nun wird das Paar (x i / n, x i / n-1) gemäß p(xn|xn-1)Bel(xn-1) verteilt.
- 3. Aktualisierungsfunktion: Die Gewichtung jedes Abtastwerts wird gemäß der nachfolgenden Verteilung aktualisiert. ϕ (i) / n = p(zn|x (i) / n) zn:{l1, ... l2, ... lk}, wobei lj Fahrspurmarkierungen sind, welche bei dem n-ten Konten beobachtet werden.
-
Für jedes x (i) / n, Durchführen einer Datenassoziierung mit Fahrspurbeobachtungen, das heißt, Ermitteln zugehöriger Fahrspurmarkierungen für x (i) / n.
-
Berechnen des neu beobachteten bzw. aufgezeichneten Fahrspurversatzes und der Fahrspurbreite aus den Beobachtungen. {õ (i) / n, w ~ (i) / n}.
-
Berechnen von
ϕ (i) / n unter Verwendung der nachfolgenden Gleichung
-
Worin σo und σw ausgewählte Parameter sind, um typische Standardabweichungen hinsichtlich Breite und Position basierend auf unseren Daten anzupassen.
-
Während der Datenassoziierung die geeignete binäre Variable has-1 und has-r und überprüfe nicht eindeutige Datenassoziierungen (z. B. falls der Status eines Partikels links von der Fahrspur ganz links ist, wird dieser dann nicht mit irgendwelchen Fahrspurmarkierungen assoziiert) werden entfernt. Falls die vorstehende Datenassoziierung fehlschlägt, wird ϕ (i) / n durch einen Straffaktor γ bestraft. Dieser Straffaktor wird gelockert, falls gestrichelte Fahrspurmarkierungen als die Markierungen vorliegen, welche nach der Erwartung periodisch fehlen.
-
Um Fahrspurhinzufügungen oder Abfahrten bei einer natürlichen Straßenumgebung zu entdecken, wird das vorstehende Sampling- bzw. Abtastschema ausgedehnt. Ein neuer Parameter t, welcher einem Prozentsatz bzw. Anteil von neuen Partikeln entspricht, die bei jeder Aktualisierung in das System eingeführt werden, wird eingeführt. Somit wird die Abtastung gemäß Algorithmus 1 durchgeführt, wobei μw der erwarteten Fahrspurbreite entspricht. Zu beachten ist, dass das Auswählen einer großer Standardabweichung bedeutet, dass eine hohe Anzahl von neu vorgeschlagenen Partikeln (und entsprechend rechnerisch) erforderlich ist, um den Zustandsraum ausreichend abzudecken. Ferner erhöht das Aufweisen von hohen Standardabweichungen die Möglichkeit des Vorschlagens eines fehlerhaften Partikels, welcher mit dem Rauschen in den Daten übereinstimmt.
-
4 stellt den Ausgang des normalen Partikelfilters dar, Schritt
144,
7, das Abschätzen von Fahrspuren bei einem der OSM-Knoten.
Eingang: m → Anzahl von Partikeln
Eingang: t → Prozentsatz bzw. Anteil neuer Partikel
für i = 1:m·(1 – t) do
Abtastwert
x (i) / n-1 ~ Bel(xn-1); Addieren
x (i) / n-1 → Bel(xn-1); Ende
i = 1:m·t do Erzeugen eines neuen Status
x (i) / n-1:{N(0, σo)N(μw, σw)}; Einstellen von
ϕ (i) / n-1:∊ Ende
-
-
Ein Problem, welches beobachtet wird, wenn der normale Partikelfilter angewendet wird, ist dessen Fehlfunktion, um Fahrspuren mit abnormalen Spezifikationen aufzunehmen (wie Fahrrad-Fahrspuren oder extrabreite Fahrtrassen), wie in 4 gezeigt ist. Während dies durch das Erhöhen der Standardabweichung von neuen Partikeln berücksichtigt werden könnte, ist diese Lösung aus den vorstehend diskutierten Gründen suboptimal. Ein duales Verfahren zur Partikelfilterung ist nun beschrieben, um mit diesem Problem ausdrücklich fertig zu werden. Bei der dualen Partikelfilterungskonfiguration ist die Rolle der Vorschlags-Verteilung und der Messfunktion, wie vorstehend angegebenen, umgekehrt. Bei jeder Wiederholung werden neue Partikel basierend auf deren Übereinstimmung mit den Beobachtungen x (i) / n ~ p(zn|xn) aufgenommen und Bedeutungsfaktoren werden unter Verwendung von ϕ (i) / n = ∫p(x (i) / n|x (i) / n-1)Bel(xn-1)dxn-1 eingestellt.
-
Der Algorithmus lautet dann:
- 1. Vorschlags-Verteilung: Neue Partikel werden basierend auf deren Beobachtungen vorgeschlagen. zn:{l1, ... lk} gleich k Fahrspurmarkierungen, bei dem n-ten OSM-Knoten beobachtet, durch den Ort j ∊ {1, (k – 1)} sortiert, einheitlich ausgewählt und;
-
Aktualisierungsfunktion: Bedeutungsfaktoren für jeden Partikel werden dann unter Verwendung der älteren bzw. vorherigen Annahme Bel(xn-1). korrigiert. Um diese Verteilung über den kontinuierlichen Status- bzw. Zustandsraum anzunähern, wird ein Kernel-Dichte-Ansatz angewendet. Zunächst werden m Abtastwerte erzeugt, wie für die Vorschlags-Verteilung bei einem herkömmlichen Partikelfilter. x ~ (i) / n ~ p(xn|xn-1)Bel(xn-1)
-
Schreiben von h({z ~n}; x), um die parametrisierte Kernel-Dichtefunktion zu bezeichnen, welche diese Verteilung annähert, wobei der Bedeutungsfaktor für jeden Parti-kel durch ϕ (i) / n = h({x ~n}; x (i) / n) angegeben ist.
-
Wie in 5 gezeigt, ist der duale Partikelfilter in der Lage, nicht übliche Fahrrad-Fahrspuren abzuschätzen, welche der normale Partikelfilter nicht erfassen konnte.
-
Während der reine duale Partikelfilter in der Lage ist, abnormale Fahrspurspezifikationen aufzunehmen, versagt dieser in der Situation, bei welcher neue Fahrspuren hinzugefügt sind, oder mehrere Fahrspuren in einer Fahrspur zusammenlaufen, wie in 6B gezeigt ist. Vorgeschlagene Partikel für neue Fahrspuren können nicht an irgendwelche bei der vorhergehenden Verteilung angepasst werden, wodurch diese im Wesentlichen eine Null-Gewichtung erhalten. Der vorstehend beschriebene Ansatz adressiert dieses Problem unter Verwendung einer Zusammensetzung aus sowohl dem normalen als auch dem dualen Partikelfilter. Bei dem Zusammensetzungs- bzw. Misch-Ansatz wird ein variables Mischungsverhältnis θ(0 ≤ θ ≤ 1) und eine Abtastung von dem normalen Partikelfilterverfahren mit einer Wahrscheinlichkeit von 1 – θ und mit einer Wahrscheinlichkeit von θ unter Verwendung des dualen Partikelfilters verwendet.
-
Zusätzlich ermöglicht der Misch-Partikelfilter eine flexiblere Modellierung basierend auf Situationsinformationen. Beispielsweise kann das Mischungsverhältnis θ basierend auf strukturellen Informationen von der OSM-Karte variiert werden. Insbesondere wird das Verhältnis näher an Kreuzungen reduziert, bei welchen die Leistungsfähigkeit des dualen Partikelfilters aufgrund des Mangels an Fahrspurmarkierungen wesentlich beeinträchtigt ist.
-
Die erzeugte Karte wird lediglich eine begrenzte Anzahl von Fahrspuren besitzen, jeweils mit einer einzelnen Fahrspurposition und Breitenabschätzung für jeden OSM-Knoten, Schritt 144, 7. Ferner sollten diese Fahrspuren über Wiederholungen unter Verwendung von IDs verbunden werden. Dies erfordert einen weiteren Verarbeitungsschritt. Die vorstehenden Partikelfilter resultieren in einer diskreten Annäherung von Bel(xn|zn), dargestellt durch einen Satz von Partikeln. Diese Verteilung kann in 4 beobachtet werden. Diese Verteilung ist multimodal und die Anzahl von Modi sind apriori nicht bekannt. Ein EM-basierter gewichteter Clustering-Algorithmus wird bei der Verteilung verwendet, um die maximalen aposteriorischen Modi zu finden. Diese Clustermitten entsprechen finalen Fahrspurschätzungen. Das Clustering wird in dem Raum von x (das heißt, bei sowohl Versatz als auch Breite) durchgeführt.
-
Um temporäre Verbindungen zwischen Wiederholungen zu erzeugen, wird jedem Cluster unter Verwendung eines Cluster-Index-Algorithmus ein Index zugeordnet:
Eingang: p → Satz von Partikeln
Eingang: C → Cluster
für c = 1:C do
i → Häufigster Index in dem Satz von Partikeln, welche Cluster c angehören; andererseits
Zuordnen eines neuen Index → zu Cluster c und allen Partikeln, die Cluster c angehören;
Ende
Ende
-
Bezug nehmend auf die 6A bis 6B sind Fahrspurschätzungen unter Verwendung des vorliegenden Verfahrens dargestellt. Die 6A bis 6B zeigen Fahrspurschätzungen auf Landstraßen. Auch wenn Daten-Kreuzungen fehlen, werden die beiden Straßenfahrspuren erfolgreich verfolgt.
-
6C stellt eine Fahrspurschätzung auf einer Schnellstraße mit gestrichelten Linien dar. 6D stellt eine Fahrspurschätzung auf mehrspurigen Hauptstraßen dar.
-
Bei allen Fahrspur-Schätzsituationen, wie in 6A bis 6D gezeigt sind, besitzt das Verfahren keinerlei ältere Informationen hinsichtlich der Anzahl von Fahrspuren auf jeder Straße.