-
Die Erfindung betrifft ein Verfahren zum Ermitteln von Ampelschaltzeiten nach den Merkmalen des Oberbegriffs des Anspruchs 1.
-
Aus dem Stand der Technik ist, wie in der
WO 2014/154614 A1 beschrieben, ein Backend für Fahrerassistenzsysteme bekannt. Eine Backendeinrichtung zum Bereitstellen von Informationen für Fahrerassistenzfunktionen von Fahrzeugen weist eine Mehrzahl von Applikationseinheiten, eine Datenbank und eine Schnittstelleneinheit auf. Die Applikationseinheiten sind jeweils eingerichtet, Informationen für zumindest eine Fahrerassistenzfunktion des Fahrzeuges zur Übertragung an die Fahrzeuge bereitzustellen. Die Datenbank speichert Informationen eines Umfeldmodells. Die Schnittstelleneinheit ist der Datenbank zugeordnet und ist eingerichtet, einen Zugriff auf in der Datenbank gespeicherte Informationen zu ermöglichen, wobei die Applikationseinheiten jeweils mit der Schnittstelleneinheit verbunden sind, um über die Schnittstelleneinheit in der Datenbank gespeicherte Informationen abzurufen.
-
Der Erfindung liegt die Aufgabe zu Grunde, ein gegenüber dem Stand der Technik verbessertes Verfahren zum Ermitteln von Ampelschaltzeiten anzugeben.
-
Die Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren zum Ermitteln von Ampelschaltzeiten mit den Merkmalen des Anspruchs 1.
-
Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
-
In einem Verfahren zum Ermitteln von Ampelschaltzeiten wird mittels Fahrzeugkameras und/oder mittels anderer dafür geeigneter Fahrzeugsensoren, insbesondere von mehreren Fahrzeugen, ein jeweiliger Ampelstatus einer jeweiligen Ampel, auch als Lichtzeichenanlage oder Lichtsignalanlage bezeichnet, erfasst und an ein fahrzeugexternes Backend, d. h. insbesondere an eine fahrzeugexterne Servereinrichtung, übertragen. Als Ampelstatus wird dabei ein jeweiliger Schaltzustand der Ampel verstanden.
Erfindungsgemäß werden die erfassten Ampelstatus der jeweiligen Ampel im Backend für ein Training eines statistischen Modells verwendet, das tageszeitabhängig ein Parameter-Tupel aus Umlaufzeit und Gründauer und somit die Ampelschaltzeiten schätzt. Unter Gründauer wird eine Zeitdauer einer Anzeige eines Freigabesignals verstanden, welches üblicherweise in Form eines grünen Lichts angezeigt wird, während ein Haltesignal üblicherweise als ein rotes Licht angezeigt wird. Unter Umlaufzeit wird die Zeit zwischen zwei aufeinander folgenden Grünanzeigen verstanden.
-
Das Verfahren, insbesondere das Training des statistischen Modells, basiert insbesondere auf dem Dictionary learning und reinforcement learning.
-
Die erfindungsgemäße Lösung ermöglicht ein Crowd-Spurcing-Verfahren zum Lernen von Ampelschaltzeiten unter Benutzung einer kamerabasierten Ampeldetektion. Auf Basis dieser Daten kann beispielsweise eine Restlaufzeit einer Rotphase, d. h. des als rotes Licht angezeigten Haltesignals, für die im Backend hinterlegten Ampeln in Form eines Countdown-Zählers einem jeweiligen Fahrzeugführer mitgeteilt und/oder für eine verbesserte Routenberechnung eines Navigationssystems herangezogen werden.
-
Aus dem Stand der Technik ist eine Übertragung von Ampelschaltzeiten von Infrastruktureinrichtungen an Fahrzeuge über Funk (C2X) oder zwischen Fahrzeugen (C2C) bereits bekannt. Jedoch setzt insbesondere die C2X-Kommunikation eine entsprechende Verbindung zwischen einem Verkehrsleitrechner und den mit ihm verbundenen Ampeln und dem Backend voraus. Diese Verkehrsleitrechner stehen zumeist in Ballungsräumen und ihre Abdeckungsbereiche sind dadurch oft lokal eng begrenzt. Bei einzelnen Ampeln, die nicht zentral gesteuert werden, existiert diese Möglichkeit somit nicht. Der Schaltzustand dieser Ampeln steht damit auf dem Backend nicht zur Verfügung.
-
Fahrzeuge verfügen zunehmend über Assistenzsysteme und die hierfür notwendigen Sensoren, insbesondere Kameras, die die Detektion des aktuellen Ampelstatus ermöglichen. Bei dem erfindungsgemäßen Verfahren wird der erkannte Ampelstatus an das Backend gesendet und dort statistisch ausgewertet, so dass Ampelschaltzeiten vorhergesagt werden können. Dadurch können die oben beschriebenen Nachteile vermieden werden, da kein Zugriff auf einen Verkehrsleitrechner erforderlich ist und keine Informationen von den Ampeln über den Verkehrsleitrechner übermittelt werden müssen, sondern die Ampelstatus der Ampeln werden von Fahrzeugen erfasst und im Backend auf die beschriebene Weise ausgewertet, wodurch auch von Ampeln, die nicht mit einem zentralen Verkehrsleitrechner verbunden sind, die Ampelschaltzeiten ermittelt werden können.
-
Das erfindungsgemäße Verfahren vermeidet eine Abhängigkeit von Content-Providern, beispielsweise von Verkehrsleitrechnern oder von Anbietern solcher Informationen, und ist daher insbesondere kostengünstiger. Zudem besteht keine Abhängigkeit von Betreibern einer sendenden Infrastruktur, beispielsweise von Städten. Dies ist besonders vorteilhaft, da ein Ausbau dieser sendenden Infrastruktur nur langsam voranschreitet und zudem diversifizierte Übertragungsprotokolle einen flächendeckenden Einsatz von verkehrsleitrechnerbasierten Verfahren erschweren.
-
Ausführungsbeispiele der Erfindung werden im Folgenden anhand von Zeichnungen näher erläutert.
-
Dabei zeigen:
- 1 schematisch ein Fahrzeug, welches mittels einer Fahrzeugkamera einen Ampelstatus erfasst und an ein Backend übermittelt, und
- 2 schematisch eine Darstellung eines Ampelstatusverlaufs.
-
Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen.
-
1 zeigt beispielhaft ein Fahrzeug 1, welches eine Fahrzeugkamera 2 aufweist und sich an einer Ampel 3 vorbeibewegt. In einem Verfahren zum Ermitteln von Ampelschaltzeiten wird mittels solcher Fahrzeugkameras 2 und/oder mittels anderer dafür geeigneter Fahrzeugsensoren, insbesondere von mehreren Fahrzeugen 1, ein jeweiliger Ampelstatus einer jeweiligen Ampel 3, auch als Lichtzeichenanlage oder Lichtsignalanlage bezeichnet, erfasst und an ein fahrzeugexternes Backend 4, d. h. insbesondere an eine fahrzeugexterne Servereinrichtung, übertragen. Als Ampelstatus wird dabei ein jeweiliger Schaltzustand der Ampel 3 verstanden.
-
Die erfassten Ampelstatus der jeweiligen Ampel 3 werden im Backend 4 für ein Training eines statistischen Modells verwendet, das tageszeitabhängig ein Parameter-Tupel aus Umlaufzeit CT und Gründauer GT schätzt. Unter Gründauer GT wird eine Zeitdauer einer Anzeige eines Freigabesignals verstanden, welches üblicherweise in Form eines grünen Lichts angezeigt wird, im Folgenden als Grün G bezeichnet, während ein Haltesignal üblicherweise als ein rotes Licht angezeigt wird, im Folgenden als Rot R bezeichnet. Unter Umlaufzeit CT wird die Zeit t zwischen zwei aufeinander folgenden Grünanzeigen verstanden.
-
Im Folgenden wird ein Verfahrensalgorithmus dieses Verfahrens näher beschrieben, insbesondere werden die diesem zugrunde liegenden Ideen näher beschrieben.
-
Zunächst wird ein Tag in äquidistante Intervalle eingeteilt. Ziel ist es, eine Abschätzung für die Umlaufzeit CT und die Gründauer GT für jedes Intervall zu erhalten. Die verwendeten Methoden, um eine Schätzung für das Parameter-Tupel Umlaufzeit CT und Gründauer GT zu erhalten, unterscheiden sich. Aufgrund der Verwendung einer direkten Erkennung des Ampelstatus mittels Fahrzeugkamera 2 kann der genaue Zeitpunkt des Wechsels von Rot R zu Grün G zur Abschätzung der Umlaufzeit CT verwendet werden. Das Problem des Aliasing, welches typischerweise im Kontext von unterabgetasteten Daten auftritt, muss berücksichtigt werden. Eine einfache Methode, dieses Problem zu lösen, wird noch erläutert.
-
Im Vergleich zur Anzahl der Wechsel von Rot R zu Grün G sind die erfassten Wechsel von Grün G zu Rot R erheblich seltener. Daher musste ein anderer Ansatz zur Berechnung der Gründauer GT entwickelt werden. Hierzu wurden die Grundideen des dictionary learning und reinforcement learning verwendet. Ein Satz von Basisfunktionen, das so genannte Wörterbuch D, wurde konstruiert, wobei die Kombinationen aus einem niedrigen Prozentsatz dieser Basisfunktionen in der Lage sind, eine gesuchte Funktion f zu rekonstruieren. Eine verwendete prototypische Basisfunktion Φ für eine gegebene Umlaufzeit CT und Gründauer GT wird in 2 gezeigt. Basisfunktionen werden getestet gegen Messpunkte und die korrespondierenden Fehler werden berechnet. Diese Fehler bestimmen, ob die zu einer Basisfunktion korrespondierende Bewertung (Score) erhöht oder reduziert ist. Basisfunktionen mit einer hohen Bewertung waren in der Lage, Messungen in der Vergangenheit besser zu erklären als solche mit einer niedrigeren Bewertung. Die Bewertungen können als eine Art Wahrscheinlichkeitsschätzer interpretiert werden.
-
Im Folgenden wird ein Rekonstruktionsalgorithmus näher beschrieben. Wenn nicht explizit erwähnt, sind die folgenden Berechnungen nur in den Zeitintervallen durchgeführt worden, für welche Ampeldetektionsdaten für das Verfahren verwendet wurden. Der Satz von betroffenen Zeitintervallen wird bezeichnet mit I = (i1, i2, ...). Die betroffenen Indizes werden durch den Bereich vom ersten und letzten Eintrag einer Pufferdatenbank DBtmp angegeben, was später erläutert wird.
-
Im Folgenden wird dieser Rekonstruktionsalgorithmus mit den Schritten A bis J näher erläutert.
-
Schritt A: Initialisieren:
-
In diesem Unterprogramm, d. h in diesem Schritt
A, wird jeder Vektor oder Satz initialisiert. Eine Zusammenfassung der wichtigsten Variablen und Parameter kann folgender Tabelle 1 entnommen werden:
Variable / Parameter | Explanation |
| amount of time intervals |
| cycle time candidates |
D | dictionary of all basis functions |
β, γ, θ ∈ ℝ+ | Static parameters |
DBtmp = 0 | empty buffer database containing timestamps t and corresponding traffic ligt states y |
I=θ | indexes of intervals affected by iteration |
| bounds for phase length |
| vector of weights |
| cycle time estimation matrix |
| K -dimensional empty sets for saving subsets of dictionary functions inclusive scores |
| estimated cycle times |
| estimated green phase length |
-
Begriffsübersetzung der Begriffe aus Tabelle 1:
-
- Amount of time interval -> Menge der Zeitintervalle;
- cycle time candidates -> Umlaufzeitkandidaten;
- dictionary of all basis functions -> Wörterbuch aller Basisfunktionen;
- Static parameters -> statische Parameter;
- empty buffer database containing timestamps t and corresponding traffic light states y -> leere Pufferdatenbank, die Zeitstempel t und entsprechende Ampelstatus y enthält;
- indexes of intervals affected by iteration -> Indexe der von Iteration betroffenen Intervalle; bounds for phase length -> Grenzen für die Phasenlänge;
- vector of weights -> Vektor von Gewichten;
- cycle time estimation matrix -> Umlaufzeitschätzungsmatrix;
- K-dimensional empty sets for saving subsets of dictionary functions inclusive scores -> K-dimensionale leere Sätze zum Speichern von Teilsätzen von Wörterbuchfunktionen einschließlich Bewertungen;
- estimated cycle times -> geschätzte Umlaufzeiten;
- estimated green phase length -> geschätzte Gründauer;
-
Schritt B: Initialisieren: Eingangsdaten vorverarbeiten:
-
Vorausgesetzt, dass nur die Zeiten t der Ampelstatusänderungen an die Zentraleinheit, d. h. an das Backend 4, gesendet werden, muss das ursprüngliche kontinuierliche Signal wiederhergestellt werden. Außerdem muss eine Fusion von Daten der Ampelstatuserkennung derselben Ampel 3 von verschiedenen Quellen erfolgen. Eine anspruchsvolle Aufgabe dieses Verfahrens ist es, Messungen von Ampeln 3 ihren korrespondierenden Gegenstücken auf der zentralen Verarbeitungseinheit, d. h. auf dem Backend 4, zuzuordnen.
-
Schritt C: Berechnung des a-priori-Wissens:
-
Im ersten Schritt sollte eine untere Grenze
für eine Rotdauer, bezeichnet mit
und für die Gründauer
GT, bezeichnet mit
berechnet bzw. aktualisiert werden. Addieren dieser zwei Grenzen ermöglicht die Berechnung einer Grenze für die Umlaufzeit
CT. Beispielsweise wird das 80%-Perzentil Gründauer
GT und Rotdauer als Grenzen verwendet. Die Berechnung der Perzentile wird durchgeführt durch Aktualisierung eines Histogramms von beobachteten Gründauern
GT und Rotdauern. So erhält man eine Untergrenze für die Umlaufzeit
und die Gründauer
in jedem Zeitintervall. Die Qualität dieser Grenzen hängt von der Menge von Messdaten ab, die innerhalb jedes Intervalls gewonnen werden. Die Grenzen werden zur Filterung unmöglicher Parameter-Tupel verwendet.
-
Schritt D: Pufferung von Eingabedaten:
-
Nach der Verbesserung der a-priori-Kenntnisse werden die rohen Ampelerkennungsdaten temporär in einer Datenbank, d. h. Pufferdatenbank, bezeichnet mit DBtmp , gepuffert, d. h. zwischengespeichert. Nachdem M ∈ ℕ≥3 Wechsel von Rot R nach Grün G in der Pufferdatenbank DB tmp gesammelt wurden, werden alle Ampelerkennungsdaten, die zwischen diesen M Wechseln liegen, für weitere Berechnungen übergeben. Die Pufferdatenbank DBtmp ist die einzige Unterroutine, die rohe Ampelerkennungsdaten speichert.
-
Schritt E: Schätzen der Umlaufzeitwahrscheinlichkeit:
-
Zuerst wird die Wahrscheinlichkeit berechnet, dass
x die korrekte Umlaufzeit
CT ist.
M Wechsel von Rot
R nach Grün
G, bezeichnet mit
werden aus der Pufferdatenbank
DBtmp extrahiert. Des Weiteren ist
mit
und ϕ: ℝ
+ → [0,1]
ℝ ist eine Gewichtsfunktion. Der Schätzer für die oben erwähnte Wahrscheinlichkeit ist definiert als
für alle
ϕ wird verwendet, um einen Schätzungsfehler zu bewerten. Es wird eine upside down and scaled logistic funtion verwendet. Formel (1) kann interpretiert werden als skalierter mittlerer Fehler, wenn Umlaufzeitkandidat
verwendet wird.
-
Unter Verwendung der zuvor gewonnenen unteren Grenzen kann man die Qualität des Schätzers (
1) mit der Formel (2) verbessern
für alle
-
Unter Verwendung von Formel 2 kann eine Schätzung der Wahrscheinlichkeit für die Umlaufzeit CT im Rahmen des aktuellen Iterationsschritts berechnet werden. Es sind k ∈ I die Indexe der betroffenen Intervalle.
-
Durch Verwendung der folgenden Aktualisierungsregel für alle k ∈ I
mit
kann man
iterativ aktualisieren. Formel (4) beschreibt den Prozess eines iterativ berechneten gewichteten Mittels, wobei das Gewicht g* kleiner wird, je größer die Zeitlücke zwischen Elementen von
ist. Diese Art der Gewichtung wird aufgrund der Tatsache verwendet, dass, wenn Messpunkte weit auseinander liegen, die Wahrscheinlichkeit höher ist, dass dazwischen eine Störung auftritt, als wenn sie näher beieinander liegen.
-
Schritt F: Aktualisieren der Bewertungen der Basisfunktionen:
-
Nachdem die Umlaufzeitschätzung aktualisiert wurde, wird nun der Focus auf die Aktualisierung der Bewertung der Basisfunktionen ϕ gelegt, um eine genauere Kenntnis der Gründauer
GT zu erhalten. Im Gegensatz zu den obigen Berechnungen werden nicht nur die Wechsel von Rot
R zu Grün
G für weitere Berechnungsschritte genutzt, sondern alle Daten, die in der Pufferdatenbank
DBtmp gespeichert sind. Die Aktualisierung der Bewertung einer Basisfunktion wird durchgeführt, indem Fehler durch die Benutzung dieser Basisfunktion mit den Daten in der Pufferdatenbank
DBtmp bewertet werden. Aufgrund der möglichen großen Größe des Wörterbuchs
D kann das Testen aller vordefinierten Wörterbuchfunktionen gegen Messpunkte rechnerisch aufwändig sein. Deshalb werden in erster Linie alle Basisfunktionen, die in
gespeichert sind, ausgewertet und ihre entsprechenden Bewertungen werden aktualisiert. Nur wenn das Ergebnis aller in
gespeicherten Funktionen verringert ist, werden alle im Wörterbuch
D gespeicherten Funktionen getestet. Die Basisfunktionen, die niedrige Fehlerraten erzeugen, werden zu
hinzugefügt. Durch Nutzung dieser beschriebenen Strategie stechen nach und nach dominante Basisfunktionen heraus.
-
Schritt G: Berechnen der Umlaufzeit CT:
-
Mit den Formeln (1) - (4) wurde Wissen über die Wahrscheinlichkeit erlangt, dass ein Umlaufzeitkandidat x der richtige ist innerhalb jedes Zeitintervalls. Die verbleibende Aufgabe ist es, die korrekte Umlaufzeit CT in jedem Zeitintervall zu finden. Dieser Prozess wird im Folgenden näher beschrieben.
-
Zunächst werden alle Teiler möglicher Umlaufzeiten CT eliminiert durch Vergleich der Wahrscheinlichkeit eines Umlaufzeitkandidaten mit seinen Vielfachen. Dieser Schritt muss aufgrund der Art und Weise, wie die Formel (1) Umlaufzeiten CT schätzt, erfolgen. Kandidaten, die Teiler der richtigen Umlaufzeit CT sind, werden immer die gleiche Wahrscheinlichkeit haben wie die richtige Umlaufzeit CT. Im Gegensatz dazu haben Vielfache der korrekten Umlaufzeit CT eine geringere Wahrscheinlichkeit. Mathematisch kann dieses Problem im Bereich der Zahlentheorie lokalisiert werden.
-
Ein Hinweis, wie die Schwelle
θ zu parametrieren ist, kann gefunden werden in S. H. Schanuel, Heights in number fields, Bull. Soc. Math.
France 107 , pp. 433-449, 1979.
-
Nach der Berechnung einer lokalen Schätzung für die Umlaufzeit
CT muss das globale Verhalten von
auf dem ganzen Raster berücksichtigt werden. Durch Verwenden eines Unterprogramms RemoveOutlier (), d. h. durch das Entfernen von Ausreißern, bleiben nur die Umlaufzeiten
CT bestehen, welche für eine spätere Vorhersage zukünftiger Ampelstatusänderungen verwendet werden können.
-
Schritt H: Berechnen der Gründauer GT:
-
Im Folgenden wird die abschließende Schätzung der Gründauer
GT beschrieben. Die Einträge in
werden zur Auswahl relevanter Einträge in
für jedes Zeitintervall verwendet. Diese Einträge werden mit
bezeichnet. Zeitabhängige Cluster von
werden mit folgendem Attribut gebildet:
-
Diese Cluster werden als Indexliste gespeichert und werden bezeichnet mit cl. Die Gründauerschätzung für einen Cluster wird berechnet mit dem Mittelwert aller Einträge in
dieses Clusters gewichtet mit ihren korrespondierenden Bewertungen. Die Gründauerschätzung wird bezeichnet mit
-
Schritt I: Aktualisieren der Pufferdatenbank DBtmp:
-
Nachdem alle Variablen aktualisiert sind, muss die Pufferdatenbank DBtmp erneut betrachtet werden. Alle Einträge in der Pufferdatenbank DBtmp mit einem Zeitstempel vor dem zweiten Wechsel von Rot R zu Grün G werden gelöscht. Dieses Verfahren stellt die Skalierbarkeit des vorgestellten Ansatzes durch Vermeidung der Notwendigkeit der Speicherung zu vieler roher Messdaten sicher.
-
Schritt J: Ausdünnen von GT:
-
Wenn man den beschriebenen Verfahrensablauf bis einschließlich Schritt F betrachtet, kann man erkennen, dass die Größe von
(1 ≤ k ≤ K) wächst, bis alle im Wörterbuch D spezifizierten Basisfunktionen in
enthalten sind, wenn der Verfahrensablauf über eine unendliche Zeitdauer ausgeführt wird. Deshalb wurde eine Prozedur zum Ausdünnen von
implementiert. Auf einer zyklischen Basis werden alle Einträge von
getestet, ob sie Basisfunktionen mit einer zu niedrigen Bewertung enthalten oder ob die letzte Aktualisierung einer Basisfunktion zu lange zurückliegt. Diese Einträge werden aus
entfernt.
-
Bezugszeichenliste
-
- 1
- Fahrzeug
- 2
- Fahrzeugkamera
- 3
- Ampel
- 4
- Backend
- CT
- Umlaufzeit
- G
- Grün
- GT
- Gründauer
- R
- Rot
- t
- Zeit
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- WO 2014/154614 A1 [0002]
- FR 107 [0033]