-
TECHNISCHES GEBIET
-
Die Offenbarung betrifft im Allgemeinen Fahrzeugcomputer und -sensoren.
-
ALLGEMEINER STAND DER TECHNIK
-
Fahrzeuge können derart ausgestattet sein, dass sie sowohl in einem autonomen als auch insassengesteuerten Modus arbeiten. Unter einem halb- oder vollautonomen Modus verstehen die Erfinder einen Betriebsmodus, in dem ein Fahrzeug teilweise oder vollständig von einer Rechenvorrichtung als Teil eines Fahrzeuginformationssystems gesteuert werden kann, das Sensoren und Steuerungen aufweist. Das Fahrzeug kann besetzt oder unbesetzt sein; in beiden Fällen jedoch kann das Fahrzeug teilweise oder vollständig ohne die Unterstützung eines Insassen gesteuert werden. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, bei dem sowohl Antrieb (z. B. über einen Antriebsstrang, der eine Brennkraftmaschine und/oder einen Elektromotor umfasst), Bremsung als auch Lenkung des Fahrzeugs durch einen oder mehrere Fahrzeugcomputer gesteuert werden; in einem halbautonomen Modus steuert (steuern) der (die) Fahrzeugcomputer eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs. In einem nicht autonomen Fahrzeug wird keines von diesen von einem Computer gesteuert.
-
Fahrzeuge können mit Rechenvorrichtungen, Netzwerken, Sensoren und Steuerungen ausgestattet sein, um Informationen in Bezug auf die Umgebung des Fahrzeugs zu erfassen und das Fahrzeug auf der Grundlage der Informationen zu steuern. Der sichere und komfortable Betrieb des Fahrzeugs kann vom Erlangen genauer und aktueller Informationen in Bezug auf die Umgebung des Fahrzeugs abhängig sein. Fahrzeugsensoren können Daten bezüglich zurückzulegender Routen und zu vermeidender Objekte in der Umgebung des Fahrzeugs bereitstellen. Der sichere und effiziente Betrieb des Fahrzeugs kann vom Erlangen genauer und aktueller Informationen in Bezug auf Routen und Objekte in der Umgebung eines Fahrzeugs abhängig sein, während das Fahrzeug auf einer Fahrbahn betrieben wird.
-
KURZDARSTELLUNG
-
Eine Rechenvorrichtung in einem Fahrzeug kann derart programmiert sein, dass sie Sensordaten bezüglich der äußeren Umgebung eines Fahrzeugs erfasst und die Sensordaten dazu verwendet, einen Fahrzeugweg zu ermitteln, auf dem ein Fahrzeug in einem autonomen oder halbautonomen Modus betrieben werden soll. Ein Fahrzeugweg ist eine gerade oder gekrümmte Linie, die aufeinanderfolgende Standorte (d. h. Standorte zu unterschiedlichen Zeiten) eines Fahrzeugs in einer zweidimensionalen (2D) Ebene parallel zur Oberfläche einer Fahrbahn beschreibt, auf der das Fahrzeug fährt. Auf der Grundlage eines Fahrzeugwegs kann eine Computervorrichtung Fahrzeugantriebsstrang-, -lenk- und -bremskomponenten im Hinblick auf das Betreiben eines Fahrzeugs auf einer Fahrbahn dirigieren. Ein Verkehrssteuerungssystem kann Objekte auf Videodaten beruhend verfolgen, die von stationären Videokameras erfasst werden, und Informationen zu verfolgten Objekten, einschließlich eines in globalen Koordinaten enthaltenen Standorts, in ein Fahrzeug herunterladen, was beruhend auf einem in globalen Koordinaten enthaltenen Standort des Fahrzeugs erfolgt. Das Fahrzeug kann einem Fahrzeugweg folgen, der auf den heruntergeladenen Informationen bezüglich verfolgter Objekte beruht.
-
In dieser Schrift ist ein Verfahren offenbart, das ein Bestimmen einer Objektstandortvorhersage basierend auf Videostromdaten, wobei die Objektstandortvorhersage auf einer Verarbeitung zugeschnittener Daten einer Typizitäts- und Exzentrizitätsdatenanalyse (TEDA) anhand eines neuronalen Netzwerks beruht, und ein Bereitstellen der Objektstandortvorhersage an ein Fahrzeug auf der Grundlage eines Standorts des Fahrzeugs beinhaltet. TEDA-Daten können bestimmt werden, indem die Videostromdaten verarbeitet werden, um ein Exzentrizitätsbild auf der Grundlage eines Pro-Pixel-Durchschnitts und einer Pro-Pixel-Varianz über ein sich bewegendes Fenster von k Videoframes zu bestimmen, wobei k eine kleine Zahl ist. TEDA-Daten können bestimmt werden, indem ein dreikanaliges Ausgabebild bestimmt wird, das ein Graustufenbild, ein Bild mit positiver Exzentrizität e+ und ein Bild mit negativer Exzentrizität e- beinhaltet. Die TEDA-Daten können basierend auf der Objektstandortvorhersage zugeschnitten werden, wobei eine anfängliche Objektstandortvorhersage auf der Grundlage eines Verarbeitens eines Frame von Videostromdaten anhand eines neuronalen Netzwerks und eines Bestimmens eines minimalen umschließenden Rechtecks bestimmt wird. Die zugeschnittenen TEDA-Daten können anhand eines Convolutional Neural Network verarbeitet werden, um die Objektstandortvorhersage zu bestimmen.
-
Eine erste Objektstandortvorhersage kann mit Zwischenergebnissen oder, bei nachfolgenden Iterationen, mit einer Objektstandortvorhersage konkateniert werden, die bei einer vorherigen Iteration ausgegeben wurde und anhand eines komplett verbundenen neuronalen Netzwerks verarbeitet wird, um die Objektstandortvorhersage zu bestimmen. Die Objektstandortvorhersage kann auf globalen Koordinaten beruhen. Die Objektstandortvorhersage kann auf der Grundlage globaler Koordinaten bereitgestellt werden, die dem Standort des Fahrzeugs entsprechen. Die Videostreamdaten können durch eine stationäre Videokamera erfasst werden, die in einem Verkehrsinfrastruktursystem eingebaut ist, das eine Computervorrichtung beinhaltet, um über ein drahtloses Netzwerk mit dem Fahrzeug zu kommunizieren. Das neuronale Netzwerk kann basierend auf aufgezeichneten Videostreamdaten und aufgezeichneten Ground-Truth-Objektstandortinformationen trainiert werden. Die Ground-Truth-Objektstandortinformationen können auf der Grundlage globaler Koordinaten bestimmt werden. Das Betreiben des Fahrzeugs kann auf der Objektstandortvorhersage beruhen. Das Fahrzeug kann auf der Grundlage der Objektstandortvorhersage betrieben werden, was ein Bestimmen eines Fahrzeugwegs und ein Kombinieren der Objektstandortvorhersage mit dem Fahrzeugweg beinhaltet. Das Betreiben des Fahrzeugs auf der Grundlage der Standortvorhersage, was ein Steuern eines oder mehrerer von Antriebsstrang, Bremsen und Lenken des Fahrzeugs beinhaltet.
-
Ferner ist ein computerlesbares Medium offenbart, das Programmanweisungen zum Ausführen einiger oder aller der vorstehenden Verfahrensschritte speichert. Des Weiteren ist ein Computer offenbart, der zum Ausführen einiger oder aller der vorstehenden Verfahrensschritte programmiert ist, beinhaltend eine Computervorrichtung, die dazu programmiert ist, eine Objektstandortvorhersage basierend auf Videostromdaten zu bestimmen, wobei die Objektstandortvorhersage auf dem Verarbeiten zugeschnittener Daten einer Typizitäts- und Exzentrizitätsdatenanalyse (TEDA) anhand eines neuronalen Netzwerks beruht, und die Objektstandortvorhersage einem Fahrzeug auf der Grundlage eines Standorts des Fahrzeugs bereitzustellen. TEDA-Daten können bestimmt werden, indem die Videostromdaten verarbeitet werden, um ein Exzentrizitätsbild auf der Grundlage eines Pro-Pixel-Durchschnitts und einer Pro-Pixel-Varianz über ein sich bewegendes Fenster von k Videoframes zu bestimmen, wobei k eine kleine Zahl ist. TEDA-Daten können bestimmt werden, indem ein dreikanaliges Ausgabebild bestimmt wird, das ein Graustufenbild, ein Bild mit positiver Exzentrizität e+ und ein Bild mit negativer Exzentrizität e- beinhaltet. Die TEDA-Daten können basierend auf der Objektstandortvorhersage zugeschnitten werden, wobei eine anfängliche Objektstandortvorhersage auf der Grundlage eines Verarbeitens eines Frame von Videostromdaten anhand eines neuronalen Netzwerks und eines Bestimmens eines minimalen umschließenden Rechtecks bestimmt wird. Die zugeschnittenen TEDA-Daten können anhand eines Convolutional Neural Network verarbeitet werden, um die Objektstandortvorhersage zu bestimmen.
-
Die Computervorrichtung kann ferner dazu programmiert sein, eine Objektstandortvorhersage mit Zwischenergebnissen oder, bei nachfolgenden Iterationen, mit einer Objektstandortvorhersage zu konkatenieren, die bei einer vorherigen Iteration ausgegeben wurde und anhand eines komplett verbundenen neuronalen Netzwerks verarbeitet wird, um die Objektstandortvorhersage zu bestimmen. Die Objektstandortvorhersage kann auf globalen Koordinaten beruhen. Die Objektstandortvorhersage kann auf der Grundlage globaler Koordinaten bereitgestellt werden, die dem Standort des Fahrzeugs entsprechen. Die Videostromdaten können durch eine stationäre Videokamera erfasst werden, die in einem Verkehrsinfrastruktursystem eingebaut ist, das eine Rechenvorrichtung beinhaltet, um über ein drahtloses Netzwerk mit dem Fahrzeug zu kommunizieren. Das neuronale Netzwerk kann basierend auf aufgezeichneten Videostromdaten und aufgezeichneten Ground-Truth-Objektstandortinformationen trainiert werden. Die Ground-Truth-Objektstandortinformationen können auf der Grundlage globaler Koordinaten bestimmt werden. Das Betreiben des Fahrzeugs kann auf der Objektstandortvorhersage beruhen. Das Fahrzeug kann auf der Grundlage der Objektstandortvorhersage betrieben werden, was ein Bestimmen eines Fahrzeugwegs und ein Kombinieren der Objektstandortvorhersage mit dem Fahrzeugweg beinhaltet. Das Betreiben des Fahrzeugs auf der Grundlage der Standortvorhersage beinhaltet ein Steuern eines oder mehrerer von Antriebsstrang, Bremsen und Lenken des Fahrzeugs.
-
Figurenliste
-
- 1 ist ein Blockschema eines beispielhaften Verkehrsinfrastruktursystems.
- 2 ist ein Schema einer beispielhaften Verkehrsszene, in der eine stationäre Videokamera beinhaltet ist.
- 3 ist ein Schema eines beispielhaften Videobilds einer Verkehrsszene.
- 4 ist ein Schema eines beispielhaften verarbeiteten Videobilds einer Verkehrsszene.
- 5 ist ein Schema eines beispielhaften Objektverfolgungsprozessors.
- 6 ist ein Schema eines beispielhaften neuronalen Netzwerks zur Typizitäts- und Exzentrizitätsdatenanalyse.
- 7 ist ein Flussdiagramm eines Prozesses zum Bestimmen und Herunterladen verfolgter Objekte.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist ein Schema eines Verkehrsinfrastruktursystems 100, das ein Fahrzeug 110 beinhaltet, das in einem autonomen („autonom“ allein in dieser Offenbarung bedeutet „vollständig autonom“), halbautonomen und insassengesteuerten (auch als nichtautonom bezeichnet) Modus betrieben werden kann. Das Fahrzeug 110 beinhaltet zudem eine oder mehrere Rechenvorrichtungen 115 zum Verarbeiten von Daten zum Führen des Fahrzeug 110 während des autonomen Betriebs. Die Rechenvorrichtung 115 kann von den Sensoren 116 Informationen in Bezug auf den Betrieb des Fahrzeugs empfangen. Die Rechenvorrichtung 115 kann das Fahrzeug 110 in einem autonomen Modus, einem halbautonomen Modus oder einem nichtautonomen Modus betreiben.
-
Die Rechenvorrichtung 115 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Zudem beinhaltet der Speicher eine oder mehrere Arten computerlesbarer Medien und speichert Anweisungen, die durch den Prozessor ausführbar sind, um verschiedene Vorgänge durchzuführen, einschließlich der in dieser Schrift offenbarten. Beispielsweise kann die Rechenvorrichtung 115 eine Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Beschleunigungssteuerung in dem Fahrzeug 110 durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, Hybridmotor usw.), Lenkung, Klimaregelung, Innen- und/oder Außenleuchten usw. des Fahrzeugs zu betreiben sowie um zu bestimmen, ob und wann die Rechenvorrichtung 115 im Gegensatz zu einem menschlichen Fahrer derartige Vorgänge steuern soll.
-
Die Rechenvorrichtung 115 kann mehr als eine Rechenvorrichtung, z. B. Steuerungen oder dergleichen, die in dem Fahrzeug 110 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten enthalten sind, z.B. eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113, eine Lenksteuerung 114 usw., beinhalten oder z.B. über einen Fahrzeugkommunikationsbus, wie weiter unten beschrieben, kommunikativ mit dieser (diesen) gekoppelt sein. Die Rechenvorrichtung 115 ist im Allgemeinen zur Kommunikation an einem Fahrzeugkommunikationsnetzwerk angeordnet, das z. B. einen Bus in dem Fahrzeug 110, etwa ein Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netzwerk des Fahrzeugs 110 kann zusätzlich oder alternativ drahtgebundene oder drahtlose Kommunikationsmechanismen, wie sie bekannt sind, beinhalten, z. B. Ethernet oder andere Kommunikationsprotokolle.
-
Über das Fahrzeugnetzwerk kann die Rechenvorrichtung 115 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. Steuerungen, Aktoren, Sensoren usw., einschließlich der Sensoren 116, empfangen. Alternativ oder zusätzlich kann in Fällen, in denen die Rechenvorrichtung 115 mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerk für Kommunikationen zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als die Rechenvorrichtung 115 dargestellt sind. Zudem können, wie nachfolgend erwähnt, verschiedene Steuerungen oder Erfassungselemente der Rechenvorrichtung 115, wie bpw. die Sensoren 116, Daten über das Fahrzeugkommunikationsnetzwerk bereitstellen.
-
Des Weiteren kann die Rechenvorrichtung 115 dazu konfiguriert sein, über ein Netzwerk 130, das, wie nachstehend beschrieben, Hardware, Firmware und Software beinhaltet, welche die Rechenvorrichtung 115 in die Lage versetzen, über ein Netzwerk 130, etwa drahtloses Internet (Wi-Fi) oder Mobilfunknetzwerke, mit einem entfernten Servercomputer 120 zu kommunizieren, durch eine Fahrzeug-zu-Infrastruktur-Schnittstelle (Vehicle-to-Infrastructure interface - V-I-Schnittstelle) 111 mit einem entfernten Servercomputer 120, z.B. einem Cloud-Server, zu kommunizieren. Die V-I-Schnittstelle 111 kann dementsprechend Prozessoren, Speicher, Transceiver usw. beinhalten, die dazu konfiguriert sind, verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien zu verwenden, z. B. Mobilfunk-, BLUETOOTH®- und drahtgebundene und/oder drahtlose Paketnetzwerke. Die Rechenvorrichtung 115 kann dazu konfiguriert sein, mit anderen Fahrzeugen 110 über die V-I-Schnittstelle 111 unter Verwendung von Netzwerken von Fahrzeug zu Fahrzeug (V-V) zu kommunizieren, z. B. gemäß dedizierter Nahbereichskommunikation (Dedicated Short Range Communications - DSRC) und/oder dergleichen, die z. B. auf einer Ad-hoc-Grundlage unter nahegelegenen Fahrzeugen 110 oder durch infrastrukturbasierte Netzwerke gebildet werden. Die Rechenvorrichtung 115 beinhaltet zudem einen nicht flüchtigen Speicher, wie er bekannt ist. Die Rechenvorrichtung 115 kann Informationen protokollieren, indem sie die Informationen zum späteren Abrufen und Übertragen über das Fahrzeugkommunikationsnetzwerk und eine Fahrzeug-Infrastruktur(V-I)-Schnittstelle 111 an einen Servercomputer 120 oder eine mobile Vorrichtung 160 des Benutzers in einem nicht flüchtigen Speicher speichert.
-
Wie bereits erwähnt, ist in Anweisungen, die in dem Speicher gespeichert und durch den Prozessor der Rechenvorrichtung 115 ausführbar sind, im Allgemeinen eine Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, z. B. Bremsen, Lenken, Antrieb usw., ohne Eingreifen eines menschlichen Fahrers beinhaltet. Unter Verwendung in der Rechenvorrichtung 115 empfangener Daten, z. B. der Sensordaten von den Sensoren 116, dem Servercomputer 120 usw., kann die Rechenvorrichtung 115 ohne einen Fahrer zum Betreiben des Fahrzeugs 110 verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten und/oder Vorgänge des Fahrzeugs 110 steuern. Beispielsweise kann die Rechenvorrichtung 115 eine Programmierung zum Regeln des Betriebsverhaltens des Fahrzeugs 110 (d.h. physische Manifestationen des Betriebs des Fahrzeugs 110) wie etwa Geschwindigkeit, Beschleunigung, Abbremsung, Lenken usw. sowie des taktischen Verhaltens (d. h. Steuerung des Betriebsverhaltens in einer Weise, die in der Regel ein sicheres und effizientes Abfahren einer Route erreichen soll) beinhalten, wie etwa einen Abstand zwischen Fahrzeugen und/oder eine Zeit zwischen Fahrzeugen, Spurwechsel, Mindestdistanz zwischen Fahrzeugen, Mindestzeit für Wegquerung bei Linksabbiegung, Ankunftszeit an einem bestimmten Standort und Mindestankunftszeit an einer Kreuzung (ohne Ampel) zum Überqueren der Kreuzung.
-
Im hier verwendeten Sinne schließt der Ausdruck „Steuerungen“ Rechenvorrichtungen ein, die typischerweise zum Steuern eines konkreten Fahrzeugteilsystems programmiert sind. Zu Beispielen zählen eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113 und eine Lenksteuerung 114. Eine Steuerung kann eine elektronische Steuereinheit (Electronic Control Unit - ECU) sein, wie sie bekannt ist, und möglicherweise eine zusätzliche Programmierung, wie hier beschrieben, beinhalten. Die Steuerungen können kommunikativ mit der Rechenvorrichtung 115 verbunden sein und Anweisungen von dieser empfangen, um das Teilsystem gemäß den Anweisungen zu betätigen. Beispielsweise kann die Bremssteuerung 113 Anweisungen zum Betreiben der Bremsen des Fahrzeugs 110 von der Rechenvorrichtung 115 empfangen.
-
Die eine oder mehreren Steuerungen 112, 113, 114 für das Fahrzeug 110 können bekannte elektronische Steuereinheiten (ECUs) oder dergleichen beinhalten, zu denen als nicht einschränkende Beispiele eine oder mehrere Antriebsstrangsteuerungen 112, eine oder mehrere Bremssteuerungen 113 und eine oder mehrere Lenksteuerungen 114 zählen. Jede der Steuerungen 112, 113, 114 kann jeweilige Prozessoren und Speicher und einen oder mehrere Aktoren beinhalten. Die Steuerungen 112, 113, 114 können mit einem Kommunikationsbus des Fahrzeugs 110 programmiert und verbunden sein, wie bspw. einem Controller-Area-Network(CAN)-Bus oder einem Local-Interconnect-Network(LIN)-Bus, um Anweisungen vom Computer 115 zu empfangen und Aktoren auf der Grundlage der Anweisungen zu steuern.
-
Zu den Sensoren 116 kann eine Vielzahl von Vorrichtungen zählen, die für die Bereitstellung von Daten über den Fahrzeugkommunikationsbus bekannt sind. Beispielsweise kann ein Radar, das an einem vorderen Stoßfänger (nicht gezeigt) des Fahrzeugs 110 befestigt ist, eine Entfernung des Fahrzeugs 110 zu einem nächsten Fahrzeug vor dem Fahrzeug 110 bereitstellen, oder ein GPS(Global Positioning System)-Sensor, der in dem Fahrzeug 110 angeordnet ist, kann geografische Koordinaten des Fahrzeugs 110 bereitstellen. Die Entfernung(en), die durch das Radar und/oder andere Sensoren 116 bereitgestellt wird (werden), und/oder die geografischen Koordinaten, die durch den GPS-Sensor bereitgestellt werden, können durch die Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 beispielsweise autonom oder halbautonom zu betreiben.
-
Das Fahrzeug 110 ist im Allgemeinen ein Landfahrzeug 110, das autonom und/oder halbautonom betrieben werden kann und das drei oder mehr Räder aufweist, z. B. ein PKW, ein Kleinlaster usw. Das Fahrzeug 110 beinhaltet einen oder mehrere Sensoren 116, die V-1-Schnittstelle 111, die Rechenvorrichtung 115 und eine oder mehrere Steuerungen 112, 113, 114. Die Sensoren 116 können Daten in Bezug auf das Fahrzeug 110 und die Umgebung, in der das Fahrzeug 110 betrieben wird, erheben. Beispielhaft und nicht einschränkend können zu den Sensoren 116 beispielsweise Höhenmesser, Kameras, LIDAR, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Gyroskope, Temperatursensoren, Drucksensoren, Hallsensoren, optische Sensoren, Spannungssensoren, Stromsensoren, mechanische Sensoren, wie etwa Schalter, usw. zählen. Die Sensoren 116 können dazu verwendet werden, die Umgebung zu erfassen, in der das Fahrzeug 110 betrieben wird; so können die Sensoren 116 z. B. Phänomene wie Wetterbedingungen (Niederschlag, Außenumgebungstemperatur usw.), die Neigung einer Straße, den Standort einer Straße (z. B. unter Verwendung von Straßenrändern, Spurmarkierungen usw.) oder Standorte von Zielobjekten wie Nachbarfahrzeugen 110 erfassen. Die Sensoren 116 können ferner verwendet werden, um Daten, einschließlich dynamischer Daten des Fahrzeugs 110, die sich auf Vorgänge des Fahrzeugs 110 beziehen, wie etwa Geschwindigkeit, Gierrate, Lenkwinkel, Motordrehzahl, Bremsdruck, Öldruck, den auf die Steuerungen 112, 113, 114 in dem Fahrzeug 110 angewandten Leistungspegel, Konnektivität zwischen Komponenten und eine genaue und rechtzeitige Leistung von Komponenten des Fahrzeugs 110, zu erheben.
-
2 ist ein Schema einer Verkehrsszene 200, in der eine an einem Mast 204 angebrachte stationäre Videokamera 202 beinhaltet ist. Die Videokamera 202, die stationär ist (d. h., die sich nicht von einem Ort zu einem anderen Ort bewegt und ein unbewegliches Sichtfeld 208 hat), kann an einem Mast 204, einem Gebäude oder einer anderen Struktur angebracht sein, um der stationären Kamera 202 eine Ansicht einer Fahrbahn 206 bereitzustellen. Die stationäre Videokamera 202 kann eine Ansicht der Fahrbahn 206, wenn das Sichtfeld der Kamera 208 (gepunktete Linie) r schneidet, und ab und zu eines oder mehrerer Fahrzeuge 204 haben. Die stationäre Videokamera 202 kann mit einem Verkehrsinformationssystem 100 in Kommunikationsverbindung stehen, wie vorstehend in Bezug auf 1 erläutert. Das Verkehrsinformationssystem 100 kann einen Servercomputer 120 beinhalten, der stationäre Zeitreihenvideodaten erfassen kann, die in ein neuronales Netz für die Typizitäts- und Exzentrizitätsdatenanalyse einzugeben sind, um eine Standortvorhersage für sich bewegende Objekte basierend auf den eingegebenen stationären Videodaten zu bestimmen, wobei eine Standortvorhersage für sich bewegende Objekte einen Objektstandort in globalen Koordinaten beinhaltet. Der Obj ektstandort kann auf der Grundlage von x- , y-Koordinaten ermittelt werden, die in einer zweidimensionalen x- , y-Ebene parallel zur Fahrbahn 206 definiert sind. Der x-, y-Koordinaten-Standort kann auf globalen Koordinaten wie bspw. dem Breiten- und Längengrad in einem Global Positionsbestimmungssystem (GPS) oder dergleichen beruhen.
-
Der Servercomputer 120 kann einen Standort für ein Fahrzeug 110 innerhalb der globalen Koordinaten bestimmen. Der Servercomputer 120 kann eine Randrechenvorrichtung sein. Randrechenvorrichtungen sind Rechenvorrichtungen, die sich am „Rand“ eines Verkehrsinfrastruktursystems befinden; dies bedeutet, dass sie sich in einer geografischen Nähe einer Fahrbahn befinden, auf der autonome Fahrzeuge fahren. In dieser Weise können Randrechenvorrichtungen die Verarbeitung in der Nähe geografischer Orte vornehmen, an denen die verarbeiteten Daten verwendet werden, wodurch eine geringe Latenz oder Verzögerung im Hinblick auf die Kommunikation aufrechterhalten wird. Der Servercomputer 120 kann beispielsweise Kommunikationen mit einem Fahrzeug 110 bei Empfang von Netzwerk-130-Kommunikationen von einem anderen Servercomputer 120 initiieren, der mit dem Fahrzeug 110 in Kommunikationsverbindung steht, ähnlich beispielsweise Mobilfunkmasten, die Telefongespräche weiterleiten. Der Servercomputer 120 kann das Fahrzeug 110 auch basierend auf dem Empfangen von Wi-Fi-Signalen erkennen, wenn das Fahrzeug 110 in die Wi-Fi-Reichweite gelangt, um ein Beispiel zu nennen. Basierend auf dem Aufbau von Kommunikationsverbindungen kann der Servercomputer 120 Standortinformationen vom Fahrzeug 110 auf der Grundlage von Fahrzeugsensoren 116 empfangen, einschließlich GPS und einer inertialen Messeinheit (IMU).
-
Fahrzeugstandortinformationen können in globalen Koordinaten enthalten sein und den Fahrzeugstandort und die Fahrzeuggeschwindigkeit beinhalten.
-
Der Servercomputer 120 kann vorhergesagte Standortinformationen für sich bewegende Objekte mit Fahrzeugstandortinformationen kombinieren, um zu bestimmen, ob das Fahrzeug 110 an einem vorhergesagten Standort sich bewegender Objekte interessiert sein sollte, indem bestimmt wird, ob vorhergesagte Wege des Objekts und des Fahrzeugs 110 das Objekt und das Fahrzeug 110 in eine Nähe zueinander bringen würden, die einen Benutzereingabeschwellenwert, zum Beispiel 100 Meter, überschreitet. Wenn die vorhergesagten Wege näher als um den Schwellenwert beieinander liegen, kann der Servercomputer 120 dem Fahrzeug 110 den Objektstandort und die Objektgeschwindigkeit mitteilen, damit das Fahrzeug 110 in die Lage versetzt wird, die vorhergesagten Standortinformationen des sich bewegenden Objekts in das Bestimmen eines Fahrzeugwegs, auf dem das Betreiben auf einer Fahrbahn 206 erfolgen soll, einzubeziehen.
-
3 ist ein Schema eines beispielhaften Videobilds 300, das von einer stationären Videokamera 202 erfasst wurde. Bei dem Videobild 300 handelt es sich beispielsweise um eine Schwarzweißwiedergabe eines Farb-, Graustufen- oder Infrarot(IR)-Videobilds. Das Videobild 300 beinhaltet eine Fahrbahn 302 und ein Fahrzeug 304, das auf der Fahrbahn 302 fährt. Eine Computervorrichtung, beispielsweise ein Servercomputer 120, der in einem Verkehrsinformationssystem 100 beinhaltet ist, kann einen Strom oder eine Zeitreihe von Videobildern 300 eingeben, die von einer stationären Videokamera 202 erfasst worden sind, und unter Verwendung der hier beschriebenen Techniken ein sich bewegendes Objekt in dem eingegebenen Videodatenstrom verfolgen, indem sie Verfolgungsinformationen einschließlich eines Objektstandorts und einer Objektgeschwindigkeit, die dem verfolgten Objekt entsprechen, bestimmt und die Verfolgungsinformationen in ein Fahrzeug 110 herunterlädt. Das Verfolgen eines sich bewegenden Objekts durch Bestimmen eines Objektstandorts und einer Objektgeschwindigkeit ermöglicht das Vorhersagen oder Schätzen eines zukünftigen Standorts bezüglich des sich bewegenden Objekts.
-
Objekte können in einem Videodatenstrom verfolgt werden, indem zunächst eine Typizitäts- und Exzentrizitätsanalyse (TEDA) auf einen Videodatenstrom angewendet wird, um ein Bild mit einer Exzentrizität e zu bestimmen. Eine Bild mit einer Exzentrizität e basiert auf einem Pro-Pixel-Durchschnitt und einer Pro-Pixel-Varianz eines k-ten Videoframe in einem Strom von Videoframes. Das Bild mit einer Exzentrizität e kann derart verarbeitet werden, dass ein zugeschnittenes, dreikanaliges TEDA-Bild ausgebildet wird. Das zugeschnittene, dreikanalige TEDA-Bild kann nebst Zuschnittsinformationen in ein neuronales TEDA-Netzwerk eingegeben werden, um Objektstandortvorhersagen zu bestimmen und dadurch Objekte zu verfolgen.
-
4 ist ein Schema eines dreikanaligen TEDA-Bilds
400, das in Schwarzweiß wiedergegeben ist. Das dreikanalige TEDA-Bild
400 wird als Ergebnis der Verarbeitung eines eingegebenen Stroms von Videodaten anhand eines TEDA-Prozess ausgegeben. Mit einem TEDA-Prozess wird eine rekursive Exzentrizitätsberechnung mit finitem Speicher an eingegebenen Zeitreihen-Videodaten vorgenommen. Man nehme an, x
k sei ein Pixel in einem Frame k von Videostreamdaten; dann kann ein dreikanaliges TEDA-Bild gemäß den folgenden Gleichungen bestimmt werden:
-
Dabei steht µ
k für den Pro-Pixel-Mittelwert des k-ten Videoframe,
für die Pro-Pixel-Varianz für denselben k-ten Videoframe, ε
k für das Pro-Pixel-Exzentrizitätsbild und α für eine Lernkonstante gemäß Benutzereingabe, die etwa 0,01 betragen kann.
und
bilden Bilder oder Kanäle mit positiver bzw. negativer Exzentrizität. Das normalisierte Exzentrizitätsbild
kann als Maske verwendet werden, um ein Graustufenbild oder einen Graustufenkanal auszubilden, das bzw. der einem sich bewegenden Objekt in den eingegebenen Videostromdaten entspricht. Der Graustufenkanal, der
und der
können kombiniert werden, um ein dreikanaliges TEDA-Bild
400 mit Pixeln ungleich Null, die einem verfolgten Objekt
402 entsprechen, und Hintergrundpixeln gleich Null auszubilden. Ein TEDA-Prozess kann an eingegebenen Videostromdaten
502 anhand eines TEDA-Prozessors
504 vorgenommen werden, wie nachstehend in Bezug auf
5 beschrieben.
-
Das dreikanalige TEDA-Bild
400 kann einen zusammenhängenden Bereich aus Pixeln mit Werten ungleich Null, die einem verfolgten Objekt
402 entsprechen, und Pixeln mit einem Wert von Null beinhalten, die dem Hintergrund oder sich nicht bewegenden Objekten entsprechen. Der zusammenhängende Bereich aus Pixeln, die dem verfolgten Objekt
402 entsprechen, kann von dem Eingabebild ausgehend zugeschnitten werden, indem zunächst ein minimales umschließendes Rechteck
404 bestimmt wird, um alle der das verfolgte Objekt
402 betreffenden Pixel einzuschließen und zugleich eine minimale Anzahl an Hintergrundpixeln einzuschließen, woraufhin alle Pixel gelöscht werden, die nicht durch das Rechteck umschlossen werden. Ein minimales umschließendes Rechteck
404 kann durch seine x-, y-Verortung (d. h. Pixelkoordinaten)
406,
408, Breite w
410 und Länge l
412, in Pixeln, als erste Schätzung des Standorts des verfolgten Objekts
402
definiert sein. Ein dreikanaliges TEDA-Bild
400 kann in dieser Weise anhand eines Zuschneideprozessors
508 zugeschnitten werden, der in Bezug auf
5 weiter unten beschrieben ist.
-
5 ist ein Schema eines TEDA-Verfolgungssystems
500. Das TEDA-Verfolgungssystem
500 gibt Videostromdaten
502 Φ
k ein und sagt eine Position eines verfolgten Objekts 402
innerhalb des darauffolgenden (t + 1)
te Videoframe voraus:
-
Dabei steht
für die vorhergesagte Position des verfolgten Objekts
402 im (t + 1)
ten Videoframe. Die Anzahl der vorhergesagten Frames kann durch Iteration zu K Frames in die Zukunft erweitert werden. In nachfolgenden Iterationen kann die eingegebene vorhergesagte Position der ausgegebene vorhergesagte Objektstandort der vorherigen Iteration sein. Das TEDA-Verfolgungssystem
500 gibt Vorhersagen
516 bzgl. verfolgter Objekte
aus, die vorhergesagte Standorte eines verfolgten Objekts
402 beinhalten. Das TEDA-Verfolgungssystem
500 beinhaltet einen TEDA-Prozessor
504 (TEDA), der Videostromdaten
502 Φ
k eingibt und dreikanalige TEDA-Bilder
400 ausgibt, welche Vordergrund- und Hintergrundpixel gemäß den vorstehenden Gleichungen (1)-(7) beinhalten. Wenn das dreikanalige TEDA-Bild
400 ein verfolgtes Objekt
402 beinhaltet, wie vorstehend in Bezug auf
4 erläutert, gibt der TEDA-Prozessor
504 das dreikanalige TEDA-Bild
400 an den Zuschneideprozessor
508 (CROP) aus.
-
Der Zuschneideprozessor
508 schneidet das TEDA-Bild
400 wie vorstehend in Bezug auf
4 beschrieben zu, um ein rechteckiges zugeschnittenes Bild
512 zu erzeugen, das ein verfolgtes Objekt
402 beinhaltet. Der Zuschneideprozessor
508 gibt das zugeschnittene Bild
512 und die Informationen
510 bzgl. des zugeschnittenen Bilds, die Standort und Größe
beinhalten, an das TEDA-Netz
514 aus. Das TEDA-Netz
514 ist ein neuronales Netzwerk, das Daten bzgl. eines zugeschnittenen Bilds
512 und Zuschnittbildinformationen
510 eingibt und Vorhersagen zu verfolgten Objekten
516 ausgibt:
...
-
Dabei kennzeichnet
Vorhersagen für einen Standort eines verfolgten Objekts
402 von 1 bis K Frames in die Zukunft. Die Vorhersagen
516 bezüglich verfolgter Objekte sind Rückmeldungen
518 an den Zuschneideprozessor
508, die beim Zuschneiden des nächsten eingegebenen dreikanaligen TEDA-Bilds
400 zu verwenden sind.
-
6 ist ein Schema eines beispielhaften neuronalen Netzwerks für Typizitäts- und Exzentrizitätsdatenanalyse (TEDA-Netz)
514 von
5. Das TEDA-Netz
514 beinhaltet ein Convolutional Neural Network
606 (CNN) und ein komplett verbundenes neuronales Netzwerk
610 (NN). Das Convolutional Neural Network
606 beinhaltet eine Vielzahl von Convolutional Layers und eine Vielzahl von Pooling Layers, die Zwischenergebnisse
608 erzeugen, die mit Zuchnittbildinformationen
510 konkateniert und in das komplett verbundene neuronale Netzwerk
606 eingegeben werden. Zuschnittinformationen können beispielsweise den (x, y)-Standort und die Größe des Begrenzungsrahmens (Breite, Höhe) in Bezug auf das aktuelle Bild beinhalten. Das Convolutional Neural Network
606 kann unter Verwendung von SqueezeNet (DeepScale, Mountain View, CA 94043) implementiert werden, einem mehrschichtigen neuronalen Netzwerk, das auf der neuronalen Netzwerkarchitektur Caffe beruht (Berkeley Artificial Intelligence Research, University of California Berkeley, Berkeley, CA 94704). Das komplett verbundene neuronale Netzwerk kann dazu konfiguriert sein, ausgegebene Vorhersagen
516 bezüglich verfolgter Objekte
zu bestimmen, indem das TEDA-Netz
514 unter Verwendung von Ground-Truth-Daten von Fahrzeugen trainiert wird, die bildlich als verfolgte Objekte wiedergegeben werden.
-
Bei Ground-Truth-Daten handelt es sich um Informationen zu Standorten verfolgter Objekte, die unabhängig von der Verarbeitung mithilfe des TEDA-Netzes
514 erlangt werden. In Beispielen können Standortinformationen in globalen Koordinaten vom GPS und von inertialen Messeinheiten (IMUs) erhalten werden, die in Fahrzeugen enthalten sind und mittels manueller oder automatischer Sequenzannotation entsprechender Videokameradaten aufgezeichnet werden, wenn sie das Sichtfeld
208 einer stationären Videokamera
202 passieren. Die Standortdaten können derart verarbeitet werden, dass Globalkoordinatenstandorte auf einen Pixelstandort an einem Videobildsensor der stationären Videokamera
202 projiziert werden. Die Ground-Truth-Daten werden dann verwendet, um einen Vergleich mit den ausgegebenen Vorhersagen
516 bzgl. verfolgter Objekte
vorzunehmen, um rückpropagierte Belohnungsfunktionen auszubilden, die das TEDA-Netz dafür trainieren, akkurate Vorhersagen
516 bzgl. verfolgter Objekte
auszugeben.
-
7 ist ein Schema eines Flussdiagramms, beschrieben in Bezug auf 1-6, eines Prozesses 700 zum Verfolgen eines Objekts und Herunterladen von Informationen zu dem verfolgten Objekt in ein Fahrzeug 110 basierend auf dem Fahrzeugstandort. Der Prozess 700 kann durch einen Prozessor der Rechenvorrichtung 115 umgesetzt werden, indem beispielsweise Informationen von den Sensoren 116 als Eingabe herangezogen und Befehle ausgeführt und Steuersignale über die Steuerungen 112, 113, 114 gesendet werden. Der Prozess 700 beinhaltet mehrere Blöcke, die in der offenbarten Reihenfolge ausgeführt werden. Alternativ oder zusätzlich könnte der Prozess 700 weniger Blöcke oder die Blöcke in anderen Reihenfolge beinhalten.
-
Der Prozess 700 beginnt bei Block 702, wo ein Frame von Videodaten aus einem Videodatenstrom 502 Φk, erfasst von einer stationären Videokamera 202, in ein TEDA-Verfolgungssystem 500 eingegeben wird. Der Frame von Videodaten kann verarbeitet werden, um ein Begrenzungsrechteck zu bestimmen, das einem Objekt entspricht. Das Objekt kann basierend auf einer oder mehreren Deep-Learning-Techniken erkannt werden, einschließlich YOLO, eines Deep-Learning-Programmiergerüsts zur Objekterkennung, abrufbar unter https://github.com/pjreddie/darknet, 04. Februar 2019, und Faster R-CNN, eines Deep-Learning-Programmiergerüsts zur Objekterkennung, abrufbar unter https://github.com/rbgirshick/py-faster-rcnn, 04. Februar 2019.
-
Bei Block 704 wird ein Ausgabebild durch den Objekterkennungsprozess bei Block 702 geprüft, um zu bestimmen, ob das Ausgabebild ein Rechteck beinhaltet, welches einem Objekt entspricht. Wenn das Ausgabebild kein einem Objekt entsprechendes Rechteck beinhaltet, springt der Prozess 700 zu Block 702 zurück, um einen anderen Frame von Videodaten zu erfassen und zu verarbeiten. Wenn das Ausgabebild ein Rechteck beinhaltet, das einem Objekt entspricht, so kann ein dreikanaliges TEDA-Bild 400 bestimmt werden, was mittels Bestimmung gemäß den Gleichungen (1)-(7) und dem TEDA-Prozess 504 von 5 oben erfolgt, und mit Bilddaten kombiniert werden, die in dem bestimmten Rechteck beinhaltet sind, um ein dreikanaliges TEDA-Bild 400 auszubilden. Wenn das Ausgabebild ein Rechteck beinhaltet, das einem Objekt entspricht, geht der Prozess 700 zu Block 706 über.
-
Bei Block
706 wird das dreikanalige TEDA-Bild gemäß dem Zuschneideprozess
508 von
5 zugeschnitten. Der Zuschneideprozess
508 kann das dreikanalige TEDA-Bild basierend auf eingegebenen Zuschnittinformationen von Block
704 oder basierend auf einem vorherigen Frame gemäß Rückkopplung
518 von ausgegebenen Vorhersagen
516 bezüglich verfolgter Objekt
zuschneiden. Der Zuschneideprozess
508 gibt ein zugeschnittenes Bild
512 und Informationen
510 bzgl. des zugeschnittenen Bilds an das neuronale TEDA-Netzwerk
514 aus.
-
Bei Block
708 verarbeitet das neuronale TEDA-Netzwerk
514 das eingegebene zugeschnittene Bild
512 und die Informationen
510 bzgl. des zugeschnittenen Bilds, um Vorhersagen
516 zu verfolgten Objekten
zu erzeugen. Die Vorhersagen
516 zu verfolgten Objekten
beruhen auf Pixelkoordinaten. Unter Verwendung von Informationen bezüglich Lage und Ausrichtung des Sichtfelds
208 in globalen Koordinaten, Informationen zur Lage einer Fahrbahn
206 in globalen Koordinaten und einer Vergrößerung einer Linse, die in der stationären Videokamera
202 eingebaut ist, können die Vorhersagen
516 zu verfolgten Objekten
in globale Koordinaten umgewandelt werden. Durch Schneiden einer 2D-Ebene, die einer Fahrbahn
206 entspricht, mit dem Sichtfeld
208 können Standorte bzw. Lagen, die in Pixeln in Bezug auf ein Videobild gemessen wurden, auf die Ebene normalprojiziert und in globalen Koordinaten gemessen werden, die Standorten auf der Fahrbahn
206 entsprechen. In dieser Weise können Vorhersagen
516 zu verfolgten Objekten, die vom TEDA-Verfolgungssystem
500 ausgegeben werden, in globale Koordinaten umgewandelt werden.
-
Bei Block
710 kann ein Verkehrsinformationssystem einen Standort eines Fahrzeugs
110 in globalen Koordinaten bestimmen, wie weiter oben in Bezug auf
2 beschrieben, und die Vorhersagen
516 zu verfolgten Objekten
herunterladen, die auf der Grundlage eines Maßes für die Entfernung zwischen dem Fahrzeugstandort und den Vorhersagen
516 zu den verfolgten Objekten
wie weiter oben in Bezug auf
2 erläutert, umgewandelt wurden.
-
Bei Block
712 kann eine Rechenvorrichtung im Fahrzeug
110 die Vorhersagen
516 zu verfolgten Objekten
in einen Prozess einbeziehen, um einen Fahrzeugweg zum Betreiben des Fahrzeugs
110 auf einer Fahrbahn
206 zu bestimmen. Eine Rechenvorrichtung
115 kann einen Fahrzeugweg bestimmen, der dazu verwendet werden kann, Fahrzeugstandorte für das Fahrzeug
110 zu einem zukünftigen Zeitpunkt
vorherzusagen. Eine zukünftige Position eines Fahrzeugs
110 kann mit einer Position eines Fahrzeugs verglichen werden, die der Vorhersage bzgl. des verfolgten Objekts zum Zeitpunkt
entspricht, um beispielsweise zu bestimmen, ob in der Zukunft eine Kollision oder beinahe Kollision stattfinden wird. Die Rechenvorrichtung
115 kann den Fahrzeugweg verändern und einen oder mehrere von dem Fahrzeugantriebsstrang, -bremsen und -lenken steuern, um eine zukünftige Kollision oder beinahe Kollision zu vermeiden, wodurch der Betrieb des Fahrzeugs
110 verbessert wird. Im Anschluss an Block
712 endet der Prozess
700.
-
Rechenvorrichtungen, wie etwa die hier erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend genannten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Prozessen ausführbar sind. Die vorstehend erörterten Prozessblöcke können beispielsweise als computerausführbare Befehle ausgeführt sein.
-
Computerausführbare Befehle können von Computerprogrammen zusammengestellt oder interpretiert werden, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder -technologien erstellt wurden, einschließlich unter anderem, entweder allein oder in Kombination, Java™, C, C++, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Befehle, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Befehle aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der hier beschriebenen Prozesse. Derartige Befehle und andere Daten können in Dateien gespeichert und unter Verwendung vielfältiger computerlesbarer Medien übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die in einem computerlesbaren Medium, etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
-
Ein computerlesbares Medium schließt jedes beliebige Medium ein, das am Bereitstellen von Daten (z. B. Befehlen) beteiligt ist, die durch einen Computer ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nicht flüchtiger Medien, flüchtiger Medien usw. Zu nicht flüchtigen Medien zählen beispielsweise optische oder magnetische Platten und sonstige Dauerspeicher. Flüchtige Medien beinhalten einen dynamischen Direktzugriffsspeicher (DRAM), der in der Regel einen Hauptspeicher darstellt. Zu gängigen Formen computerlesbarer Medien zählen beispielsweise eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein sonstiges magnetisches Medium, eine CD-ROM, eine DVD, ein sonstiges optisches Medium, Lochkarten, Lochstreifen, ein sonstiges physikalisches Medium mit Lochmustern, ein RAM, ein PROM, ein EPROM, ein FLASH-EEPROM, ein sonstiger Speicherchip oder eine sonstige Speicherkassette oder ein sonstiges Medium, das von einem Computer ausgelesen werden kann.
-
Alle Ausdrücke, die in den Ansprüchen verwendet werden, sind in ihrer einfachen und gewöhnlichen Bedeutung nach dem Verständnis des Fachmanns gemeint, es sei denn, in der vorliegenden Schrift erfolgt ein ausdrücklicher Hinweis auf das Gegenteil. Insbesondere ist die Verwendung der Singularartikel wie „ein“, „eine“, „der“, „die“, „das“ usw. dahingehend auszulegen, dass eines oder mehrere der aufgeführten Elemente genannt werden, sofern ein Anspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
-
Der Begriff „beispielhaft“ wird hier in dem Sinne verwendet, dass er ein Beispiel angibt; bspw. sollte ein Verweis auf ein „beispielhaftes Gerät“ einfach als Bezugnahme auf ein Beispiel für ein Gerät gelesen werden.
-
Das einen Wert oder ein Ergebnis modifizierende Adverb „annähernd“ bedeutet, dass eine Form, eine Struktur, eine Messung, ein Wert, eine Bestimmung, eine Berechnung usw. von einer/einem genau beschriebenen Geometrie, Weg, Messung, Wert, Bestimmung, Berechnung usw. aufgrund von Mängeln hinsichtlich Materialien, Bearbeitung, Herstellung, Sensormessungen, Berechnungen, Bearbeitungszeit, Kommunikationszeit usw. abweichen kann.
-
In den Zeichnungen geben gleiche Bezugszeichen die gleichen Elemente an. Zudem könnten einige oder alle dieser Elemente abgewandelt werden. Hinsichtlich der hier beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass die Schritte oder Blöcke derartiger Prozesse usw. zwar als gemäß einer bestimmten Abfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der in dieser Schrift beschriebenen Reihenfolge durchgeführt werden. Es versteht sich zudem, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte hier beschriebene Schritte weggelassen werden können. Anders ausgedrückt, werden die vorliegenden Beschreibungen von Prozessen zur Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren ein Bestimmen einer Objektstandortvorhersage basierend auf Videostromdaten, wobei die Objektstandortvorhersage auf einer Verarbeitung zugeschnittener Daten einer Typizitäts- und Exzentrizitätsdatenanalyse (TEDA) anhand eines neuronalen Netzwerks beruht; und ein Bereitstellen der Objektstandortvorhersage an ein Fahrzeug auf der Grundlage eines Standorts des Fahrzeugs.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bestimmen von TEDA-Daten durch Verarbeiten der Videostromdaten, um ein Exzentrizitätsbild auf der Grundlage eines Pro-Pixel-Durchschnitts und einer Pro-Pixel-Varianz über ein sich bewegendes Fenster von k Videoframes zu bestimmen, wobei k eine kleine Zahl ist.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bestimmen von TEDA-Daten durch Bestimmen eines dreikanaligen Ausgabebilds, das ein Graustufenbild, ein Bild mit positiver Exzentrizität e+ und ein Bild mit negativer Exzentrizität e- beinhaltet.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Zuschneiden der TEDA-Daten basierend auf der Objektstandortvorhersage, wobei eine anfängliche Objektstandortvorhersage auf der Grundlage einer Verarbeitung eines Frame von Videostromdaten mit einem neuronalen Netzwerk und eines Bestimmens eines minimalen umschließenden Rechtecks bestimmt wird.
-
Gemäß einer Ausführungsform werden die zugeschnittenen TEDA-Daten anhand eines Convolutional Neural Network verarbeitet, um die Objektstandortvorhersage zu bestimmen.
-
Gemäß einer Ausführungsform wird eine erste Objektstandortvorhersage mit Zwischenergebnissen oder, bei nachfolgenden Iterationen, mit einer Objektstandortvorhersage konkateniert, die bei einer vorherigen Iteration ausgegeben wurde und anhand eines komplett verbundenen neuronalen Netzwerks verarbeitet wird, um die Objektstandortvorhersage zu bestimmen.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bestimmen der Objektstandortvorhersage auf der Grundlage globaler Koordinaten.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch ein Bereitstellen der Objektstandortvorhersage auf der Grundlage globaler Koordinaten, die dem Standort des Fahrzeugs entsprechen.
-
Gemäß einer Ausführungsform werden die Videostromdaten durch eine stationäre Videokamera erfasst, die in einem Verkehrsinfrastruktursystem eingebaut ist, das eine Rechenvorrichtung beinhaltet, um über ein drahtloses Netzwerk mit dem Fahrzeug zu kommunizieren.
-
Gemäß der vorliegenden Erfindung ist ein System vorgesehen, aufweisend einen Prozessor; und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die für Folgendes durch den Prozessor auszuführen sind: Bestimmen einer Objektstandortvorhersage basierend auf Videostromdaten, wobei die Objektstandortvorhersage auf einer Verarbeitung zugeschnittener Daten einer Typizitäts- und Exzentrizitätsdatenanalyse (TEDA) anhand eines neuronalen Netzwerks beruht; und Bereitstellen der Objektstandortvorhersage an ein Fahrzeug auf der Grundlage eines Standorts des Fahrzeugs.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen von TEDA-Daten durch Verarbeiten der Videostromdaten, um ein Bild mit einer Exzentrizität e auf der Grundlage eines Pro-Pixel-Durchschnitts und einer Pro-Pixel-Varianz über ein sich bewegendes Fenster von k Videoframes zu bestimmen, wobei k eine kleine Zahl ist.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen von TEDA-Daten durch Bestimmen eines dreikanaligen Ausgabebilds, das ein Graustufenbild, ein Bild mit positiver Exzentrizität e+ und ein Bild mit negativer Exzentrizität e- beinhaltet.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Zuschneiden der TEDA-Daten basierend auf der Objektstandortvorhersage, wobei eine anfängliche Objektstandortvorhersage auf der Grundlage einer Verarbeitung eines Frame von Videostromdaten anhand eines neuronalen Netzwerks bestimmt wird, und zum Bestimmens eines minimalen umschließenden Rechtecks.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Verarbeiten der zugeschnittenen TEDA-Daten anhand eines Convolutional Neural Network, um die Objektstandortvorhersage zu bestimmen.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Konkatenieren einer ersten Objektstandortvorhersage mit Zwischenergebnissen oder, bei nachfolgenden Iterationen, mit einer Objektstandortvorhersage, die bei einer vorherigen Iteration ausgegeben wurde und anhand eines komplett verbundenen neuronalen Netzwerks verarbeitet wird, um die Objektstandortvorhersage zu bestimmen.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bestimmen der Objektstandortvorhersage auf der Grundlage globaler Koordinaten.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Bereitstellen der Objektstandortvorhersage auf der Grundlage globaler Koordinaten, die dem Standort des Fahrzeugs entsprechen.
-
Gemäß einer Ausführungsform werden die Videostromdaten durch eine stationäre Videokamera erfasst, die in einem Verkehrsinfrastruktursystem eingebaut ist, das über ein drahtloses Netzwerk mit dem Fahrzeug kommuniziert.
-
Gemäß einer Ausführungsform ist ein System vorgesehen, aufweisend Mittel zum Steuern von Fahrzeuglenkung, -bremsung und -antriebsstrang; und Mittel zum: Bestimmen einer Objektstandortvorhersage basierend auf Videostromdaten, wobei die Objektstandortvorhersage auf einer Verarbeitung zugeschnittener Daten einer Typizitäts- und Exzentrizitätsdatenanalyse (TEDA) anhand eines neuronalen Netzwerks beruht; und Bereitstellen der Objektstandortvorhersage an ein Fahrzeug auf der Grundlage eines Standorts des Fahrzeugs und der Mittel zum Steuern von Fahrzeuglenkung, -bremsung und - antriebsstrang.
-
Gemäß einer Ausführungsform ist die Erfindung ferner gekennzeichnet durch Bestimmen von TEDA-Daten anhand von Mitteln zum Verarbeiten der Videodaten, um ein Bild mit einer Exzentrizität e auf der Grundlage eines Pro-Pixel-Durchschnitts und einer Pro-Pixel-Varianz über ein sich bewegendes Fenster von k Videoframes zu bestimmen, wobei k eine kleine Zahl ist.