-
TECHNISCHES GEBIET
-
Die Offenbarung betrifft im Allgemeinen tiefe neuronale Netzwerke.
-
ALLGEMEINER STAND DER TECHNIK
-
Tiefe neuronale Netzwerke (deep neural networks - DNNs) können verwendet werden, um viele Aufgaben zum Verstehen von Bildern durchzuführen, einschließlich Klassifizierung, Segmentierung und Untertitelung. Zum Beispiel können neuronale Faltungsnetzwerke ein Bild als Eingabe verwenden, verschiedenen Aspekten/Objekten, die in dem Bild abgebildet sind, einen Wichtigkeitsgrad zuweisen und die Aspekte/Objekte voneinander abgrenzen.
-
KURZDARSTELLUNG
-
Ein System umfasst einen Computer, der einen Prozessor und einen Speicher beinhaltet, und wobei der Speicher Anweisungen beinhaltet, durch die der Prozessor für Folgendes programmiert ist: Generieren einer codierten Darstellung der Bildmerkmale eines Bilds, das von einem Fahrzeugsensor eines Fahrzeugs empfangen wird, in einem ersten neuronalen Codiernetzwerk; Generieren einer codierten Darstellung von Kartenkachelmerkmalen in einem zweiten neuronalen Codiernetzwerk; und Generieren einer semantisch segmentierten Kartenkachel in dem neuronalen Decodiernetzwerk auf Grundlage der codierten Darstellung der Bildmerkmale, der codierten Darstellung der Kartenkachelmerkmale und Koordinaten eines globalen Positionsbestimmungssystems (GPS) für das Fahrzeug, wobei die semantisch segmentierte Kartenkachel einen Standort des Fahrzeugs und detektierte Objekte, die in dem Bild abgebildet sind, relativ zu dem Fahrzeug beinhaltet.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, das Fahrzeug auf Grundlage der detektierten Objekte zu betätigen.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, eine Entfernung zwischen den detektierten Objekten und dem Fahrzeug zu schätzen, zu bestimmen, ob die geschätzte Entfernung über einem vorher festgelegten Entfernungsschwellenwert liegt, und eine Warnmeldung zu generieren, wenn die geschätzte Entfernung nicht über dem vorher festgelegten Entfernungsschwellenwert liegt.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, zu bestimmen, ob das Fahrzeug angehalten hat oder sich in eine entgegengesetzte Richtung bewegt, und das Fahrzeug zu betätigen, wenn das Fahrzeug nicht angehalten hat und sich nicht in die entgegengesetzte Richtung bewegt.
-
Bei anderen Merkmalen ist der Prozessor ferner dazu programmiert, zu bewirken, dass das Fahrzeug auf Grundlage der detektierten Objekte aus einem nicht autonomen Modus in einen autonomen Modus wechselt.
-
Bei anderen Merkmalen empfängt das neuronale Decodiernetzwerk die codierte Darstellung der Bildmerkmale, die codierte Darstellung der Kartenkachelmerkmale und die GPS-Koordinaten des Fahrzeugs von einer verborgenen eingebetteten Schicht.
-
Bei anderen Merkmalen basieren die Kartenkachelmerkmale auf einer Kartenkachel, die von einem cloudbasierten Dienst empfangen wird, wobei die Kartenkachel eine Karte darstellt, die einem Standort des Fahrzeugs entspricht.
-
Bei anderen Merkmalen beinhaltet die semantisch segmentierte Kartenkachel mindestens eine optische Anzeige, welche die relative Position des Fahrzeugs in der semantisch segmentierten Kartenkachel angibt.
-
Bei anderen Merkmalen beinhaltet die semantisch segmentierte Kartenkachel mindestens eine optische Anzeige, welche die Position der detektierten Objekte angibt.
-
Ein Verfahren umfasst Folgendes: Generieren einer codierten Darstellung der Bildmerkmale eines Bilds, das von einem Fahrzeugsensor eines Fahrzeugs empfangen wird, in einem ersten neuronalen Codiernetzwerk, Generieren einer codierten Darstellung von Kartenkachelmerkmalen in einem zweiten neuronalen Codiernetzwerk und Generieren einer semantisch segmentierten Kartenkachel in dem neuronalen Decodiernetzwerk auf Grundlage der codierten Darstellung der Bildmerkmale, der codierten Darstellung der Kartenkachelmerkmale und Koordinaten eines globalen Positionsbestimmungssystems (GPS) für das Fahrzeug, wobei die semantisch segmentierte Kartenkachel einen Standort des Fahrzeugs und detektierte Objekte, die in dem Bild abgebildet sind, relativ zu dem Fahrzeug beinhaltet.
-
Bei anderen Merkmalen beinhaltet das Verfahren ein Betätigen des Fahrzeugs auf Grundlage der detektierten Objekte.
-
Bei anderen Merkmalen beinhaltet das Verfahren ein Schätzen einer Entfernung zwischen den detektierten Objekten und dem Fahrzeug, ein Bestimmen, ob die geschätzte Entfernung über einem vorher festgelegten Entfernungsschwellenwert liegt, und ein Generieren einer Warnmeldung, wenn die geschätzte Entfernung nicht über dem vorher festgelegten Entfernungsschwellenwert liegt.
-
Bei anderen Merkmalen beinhaltet das Verfahren ein Bestimmen, ob das Fahrzeug angehalten hat oder sich in eine entgegengesetzte Richtung bewegt, und ein Betätigen des Fahrzeugs, wenn das Fahrzeug nicht angehalten hat und sich nicht in die entgegengesetzte Richtung bewegt.
-
Bei anderen Merkmalen beinhaltet das Verfahren ein Bewirken, dass das Fahrzeug aus einem nicht autonomen Modus in einen autonomen Modus wechselt, auf Grundlage der detektierten Objekte.
-
Bei anderen Merkmalen beinhaltet das Verfahren ein Empfangen der codierten Darstellung der Bildmerkmale, der codierten Darstellung der Kartenkachelmerkmale und der GPS-Koordinaten des Fahrzeugs von einer verborgenen eingebetteten Schicht.
-
Bei anderen Merkmalen basieren die Kartenkachelmerkmale auf einer Kartenkachel, die von einem cloudbasierten Dienst empfangen wird, wobei die Kartenkachel eine Karte darstellt, die einem Standort des Fahrzeugs entspricht.
-
Bei anderen Merkmalen beinhaltet die semantisch segmentierte Kartenkachel mindestens eine optische Anzeige, welche die Position des Fahrzeugs angibt.
-
Bei anderen Merkmalen beinhaltet die semantisch segmentierte Kartenkachel mindestens eine optische Anzeige, welche die Position der detektierten Objekte angibt.
-
Ein System umfasst einen Computer, der einen Prozessor und einen Speicher beinhaltet, und wobei der Speicher Anweisungen beinhaltet, durch die der Prozessor für Folgendes programmiert ist: Trainieren eines neuronalen Netzwerks mithilfe eines Satzes beschrifteterTrainingsbilder, wobei der Satz beschrifteter Trainingsbilder mindestens ein Trainingsbild, das ein Objekt in einem Sichtfeld einer Fahrzeugkamera abbildet, und mindestens eine Trainingsbeschriftung, die eine Entfernung zwischen dem Objekt und der Fahrzeugkamera und eine Position des Fahrzeugs in einer Kartenkachel angibt, umfasst, Generieren einer semantisch segmentierten Kartenkachel auf Grundlage mindestens eines nicht beschrifteten Trainingsbilds in dem tiefen neuronalen Netzwerk, wobei die semantisch segmentierte Kartenkachel einen relativen Standort des Fahrzeugs und Standorte detektierter Objekte in Bezug auf das Fahrzeug beinhaltet, Vergleichen der semantisch segmentierten Kartenkachel mit Ground-Truth-Daten und Aktualisieren mindestens einer Gewichtung, die einem Neuron des neuronalen Netzwerks zugeordnet ist.
-
Bei anderen Merkmalen beinhaltet die semantisch segmentierte Kartenkachel mindestens eine optische Anzeige, welche die relative Position des Fahrzeugs in der semantisch segmentierten Kartenkachel angibt.
-
Bei anderen Merkmalen beinhaltet das neuronale Netzwerk eine Decodiervorrichtung, die dazu konfiguriert ist, die semantisch segmentierte Kartenkachel zu generieren.
-
Figurenliste
-
- 1 ist ein Diagramm eines beispielhaften Systems, das ein Fahrzeug beinhaltet.
- 2 ist ein Diagramm eines beispielhaften Servers in dem System.
- 3 ist ein Diagramm, das ein beispielhaftes neuronales Codier-Decodier-Netzwerk veranschaulicht.
- 4A ist ein Diagramm einer beispielhaften Kartenkachel, die in das neuronale Codier-Decodier-Netzwerk eingegeben wird.
- 4B ist ein Diagramm einer beispielhaften semantisch segmentierten Kartenkachel, die von dem neuronalen Codier-Decodier-Netzwerk generiert wird.
- 5 ist ein Diagramm eines beispielhaften tiefen neuronalen Netzwerks.
- 6A ist ein Diagramm, das einen beispielhaften Prozess zum Trainieren eines tiefen neuronalen Netzwerks veranschaulicht.
- 6B ist ein Diagramm, das einen beispielhaften Prozess zum Generieren einer Ausgabe in einem tiefen neuronalen Netzwerk auf Grundlage einer empfangenen Eingabe veranschaulicht.
- 7 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Generieren einer Warnmeldung auf Grundlage einer geschätzten Entfernung zwischen einem Fahrzeug und einem Objekt veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
Autonome Fahrzeuge setzen in der Regel Wahrnehmungsalgorithmen ein, um die Umgebung um das Fahrzeug herum wahrzunehmen. Die Wahrnehmungsalgorithmen können ein oder mehrere tiefe neuronale Netzwerke verwenden, um die Positionsbestimmung, Detektion und/oder Klassifizierung von Objekten zu unterstützen.
-
Derzeit können Fahrzeuge mehrere Arten von Sensoren, wie etwa Kameras, RADAR und/oder LiDAR, einsetzen, um die Position des Fahrzeugs auf einer Karte zu bestimmen und Entfernungen zwischen Objekten und dem Fahrzeug zu detektieren und zu messen. Die vorliegende Offenbarung offenbart ein Fahrzeug, das ein oder mehrere neuronale Netzwerke beinhaltet, die auf Grundlage eines Bilds, z. B. eines zweidimensionalen Bilds, das von einem Kamerasensor des Fahrzeugs aufgenommen wird, eine semantisch segmentierte Karte generieren. Die neuronalen Netzwerke können eine Position, z. B. eine relative Position, des Fahrzeugs und/oder detektierter Objekte in einer Kartenkachel bestimmen. Die semantisch segmentierte Karte kann anderen Fahrzeugsystemen bereitgestellt werden, um es dem Fahrzeug zu ermöglichen, einen oder mehrere Aspekte des Fahrzeugs auf Grundlage der detektierten Objekte zu planen und/oder zu steuern.
-
1 ist ein Blockdiagramm eines beispielhaften Fahrzeugsystems 100. Das System 100 beinhaltet ein Fahrzeug 105, bei dem es sich um ein Landfahrzeug, wie etwa ein Auto, einen Lastwagen usw., handelt. Das Fahrzeug 105 beinhaltet einen Computer 110, Fahrzeugsensoren 115, Aktoren 120 zum Betätigen verschiedener Fahrzeugkomponenten 125 und ein Fahrzeugkommunikationsmodul 130. Über ein Netzwerk 135 ermöglicht das Kommunikationsmodul 130, dass der Computer 110 mit einem Server 145 kommuniziert.
-
Der Computer 110 beinhaltet einen Prozessor und einen Speicher. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und speichert Anweisungen, die durch den Computer 110 zum Durchführen verschiedener Vorgänge, einschließlich der in dieser Schrift offenbarten, ausgeführt werden können.
-
Der Computer 110 kann ein Fahrzeug 105 in einem autonomen, einem halbautonomen oder einem nichtautonomen (manuellen) Modus betreiben. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, bei dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105 durch den Computer 110 gesteuert wird; in einem halbautonomen Modus steuert der Computer 110 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 105; in einem nichtautonomen Modus steuert ein menschlicher Bediener jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105.
-
Der Computer 110 kann Programmierung zum Betreiben eines oder mehrerer von Bremsen, Antrieb (z. B. Steuern der Beschleunigung im Fahrzeug durch Steuern eines oder mehrere von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Klimasteuerung, Innen- und/oder Außenbeleuchtung usw. des Fahrzeugs und zum Bestimmen, ob und wann der Computer 110 derartige Vorgänge anstelle eines menschlichen Bedieners steuern soll, beinhalten. Des Weiteren kann der Computer 110 dazu programmiert sein, zu bestimmen, ob und wann ein menschlicher Bediener derartige Vorgänge steuern soll.
-
Der Computer 110 kann mehr als einen Prozessor, die z. B. in elektronischen Steuereinheiten (electronic controller units - ECUs) oder dergleichen beinhaltet sind, die in dem Fahrzeug 105 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten 125, sind, z. B. einer Antriebsstrangsteuerung, einer Bremssteuerung, einer Lenkungssteuerung usw., beinhalten oder kommunikativ an diese gekoppelt sein, z. B. über ein Kommunikationsmodul 130 des Fahrzeugs 105, wie nachfolgend ausführlicher beschrieben. Ferner kann der Computer 110 über das Kommunikationsmodul 130 des Fahrzeugs 105 mit einem Navigationssystem kommunizieren, welches das globale Positionsbestimmungssystem (GPS) verwendet. Als ein Beispiel kann der Computer 110 Standortdaten des Fahrzeugs 105 anfordern und empfangen. Die Standortdaten können in einer bekannten Form vorliegen, z. B. in Geokoordinaten (Breiten- und Längenkoordinaten).
-
Der Computer 110 ist im Allgemeinen für Kommunikationen über das Kommunikationsmodul 130 des Fahrzeugs 105 und zudem mithilfe eines internen drahtgebundenen und/oder drahtlosen Netzwerks des Fahrzeugs 105, z. B. einem Bus oder dergleichen in dem Fahrzeug 105, wie etwa einem Controller Area Network (CAN) oder dergleichen, und/oder anderen drahtgebundenen und/oder drahtlosen Mechanismen angeordnet.
-
Über das Kommunikationsnetzwerk des Fahrzeugs 105 kann der Computer 110 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug 105 übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z.B. Fahrzeugsensoren 115, Aktoren 120, Fahrzeugkomponenten 125, einer Mensch-Maschine-Schnittstelle (human machine interface - HMI) usw. Alternativ oder zusätzlich kann das Kommunikationsnetzwerk des Fahrzeugs 105 in Fällen, in denen der Computer 110 tatsächlich eine Vielzahl von Vorrichtungen umfasst, für Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 110 dargestellt sind. Ferner können, wie nachstehend erwähnt, verschiedene Steuerungen und/oder Fahrzeugsensoren 115 dem Computer 110 Daten bereitstellen.
-
Die Fahrzeugsensoren 115 können vielfältige Vorrichtungen beinhalten, die bekanntermaßen dem Computer 110 Daten bereitstellen. Zum Beispiel können die Fahrzeugsensoren 115 (einen) Light-Detection-and-Ranging-Sensor(en) (LiDAR-Sensor(en)) 115 usw. beinhalten, die oben auf dem Fahrzeug 105, hinter einer Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet sind und relative Standorte, Größen und Formen von Objekten und/oder Bedingungen um das Fahrzeug 105 herum bereitstellen. Als ein weiteres Beispiel können ein oder mehrere Radarsensoren 115, die an Stoßfängern des Fahrzeugs 105 fixiert sind, Daten bereitstellen, welche die Geschwindigkeit von Objekten (unter Umständen einschließlich zweiter Fahrzeuge) usw. relativ zum Standort des Fahrzeugs 105 bereitstellen und einordnen. Die Fahrzeugsensoren 115 können ferner (einen) Kamerasensor(en) 115 beinhalten, der/die z. B. nach vorne, zur Seite, nach hinten usw. gerichtet ist/sind und Bilder aus einem Sichtfeld innerhalb und/oder außerhalb des Fahrzeugs 105 bereitstellt/bereitstellen.
-
Die Aktoren 120 des Fahrzeugs 105 sind über Schaltungen, Chips, Elektromotoren oder andere elektronische und/oder mechanische Komponenten umgesetzt, die verschiedene Fahrzeugteilsysteme gemäß geeigneten Steuersignalen, wie bekannt, betätigen können. Die Aktoren 120 können verwendet werden, um Komponenten 125, einschließlich Bremsung, Beschleunigung und Lenkung eines Fahrzeugs 105, zu steuern.
-
Im Kontext der vorliegenden Offenbarung handelt es sich bei einer Fahrzeugkomponente 125 um eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine(n) mechanische(n) oder elektromechanische(n) Funktion oder Vorgang durchzuführen - wie etwa Bewegen des Fahrzeugs 105, Abbremsen oder Anhalten des Fahrzeugs 105, Lenken des Fahrzeugs 105 usw. Nicht einschränkende Beispiele der Komponenten 125 beinhalten eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. beinhaltet), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Lenkzahnstange usw. beinhalten kann), eine Bremskomponente (wie nachstehend beschrieben), eine Parkassistenzkomponente, eine Komponente zur adaptiven Geschwindigkeitsregelung, eine Komponente zur adaptiven Lenkung, einen beweglichen Sitz usw.
-
Zusätzlich kann der Computer 110 dazu konfiguriert sein, über ein(e) Fahrzeug-zu-FahrzeugKommunikationsmodul oder -schnittstelle 130 mit Vorrichtungen außerhalb des Fahrzeugs 105 zu kommunizieren, z. B. über drahtlose Kommunikation von Fahrzeug-zu-Fahrzeug (vehicle-to-vehicle - V2V) oder Fahrzeug-zu-Infrastruktur (vehicle-to-infrastructure - V2X) zu einem anderen Fahrzeug mit einem entfernten Server 145 (in der Regel über das Netzwerk 135). Das Modul 130 könnte einen oder mehrere Mechanismen beinhalten, durch die der Computer 110 kommunizieren kann, einschließlich einer beliebigen gewünschten Kombination aus drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder -topologien, wenn eine Vielzahl von Kommunikationsmechanismen genutzt wird). Beispielhafte über das Modul 130 bereitgestellte Kommunikation beinhaltet Mobilfunk, Bluetooth®, IEEE 802.11, dedizierte Nahbereichskommunikation (dedicated short range communication - DSRC) und/oder Weitverkehrsnetzwerke (wide area networks - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
-
Bei dem Netzwerk 135 kann es sich um einen oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen handeln, einschließlich einer beliebigen gewünschten Kombination aus drahtgebundenen (z. B. Kabel- und Glasfaser-) und/oder drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Hochfrequenz-) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder -topologien, wenn mehrere Kommunikationsmechanismen genutzt werden). Zu beispielhaften Kommunikationsnetzwerken gehören drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von Bluetooth, Bluetooth Low Energy (BLE), IEEE 802.11, Fahrzeug-zu-Fahrzeug (V2V), wie etwa dedizierter Nahbereichskommunikation (DSRC) usw.), lokale Netzwerke (local area network - LAN) und/oder Weitverkehrsnetzwerke (WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
-
Ein Computer 110 kann im Wesentlichen kontinuierlich, periodisch und/oder wenn durch einen Server 145 usw. angewiesen Daten von den Sensoren 115 empfangen und analysieren. Ferner können herkömmliche Techniken zur Klassifizierung oder Identifizierung von Objekten verwendet werden, z. B. in einem Computer 110 auf Grundlage von Daten von einem LIDAR-Sensor 115, einem Kamerasensor 115 usw., um eine Objektart, z. B. Fahrzeug, Person, Stein, Schlagloch, Fahrrad, Motorrad usw., und physische Merkmale von Objekten zu identifizieren.
-
2 ist ein Blockdiagramm eines beispielhaften Servers 145. Der Server 145 beinhaltet einen Computer 235 und ein Kommunikationsmodul 240. Der Computer 235 beinhaltet einen Prozessor und einen Speicher. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und speichert Anweisungen, die durch den Computer 235 zum Durchführen verschiedener Vorgänge, einschließlich der in dieser Schrift offenbarten, ausgeführt werden können. Das Kommunikationsmodul 240 ermöglicht, dass der Computer 235 mit anderen Vorrichtungen, wie etwa dem Fahrzeug 105, kommuniziert.
-
3 ist ein Diagramm eines beispielhaften neuronalen Netzwerks 300. Das neuronale Netzwerk 300 kann beispielsweise ein Softwareprogramm sein, das in einen Speicher geladen und durch einen Prozessor in dem Fahrzeug 105 und/oder auf dem Server 145 ausgeführt werden kann. Der Darstellung nach umfasst das neuronale Netzwerk 300 eine Codier-Decodier-Architektur, die eine erste Codiervorrichtung 305, eine zweite Codiervorrichtung 310 und eine Decodiervorrichtung 315 beinhaltet.
-
Die Codiervorrichtungen 305, 310 generieren eine codierte Darstellung der jeweiligen Eingabe. Der Darstellung nach empfängt die erste Codiervorrichtung 305 ein Bild 320 als Eingabe und empfängt die zweite Codiervorrichtung 310 eine Kartenkachel 325 als Eingabe. Das Bild 320 kann ein Einzelbild umfassen, das durch einen Sensor 115 des Fahrzeugs 105, wie etwa eine nach vorn gerichtete Kamera, aufgenommen wird. Zum Beispiel kann das Bild 320 die Umgebung vor dem Fahrzeug 105 abbilden. Die Kartenkachel 325 bildet einen Teil einer Karte ab, z. B. einen Teil einer Karte, der einen Bereich von Interesse abbildet. In einigen Umsetzungen kann die Kartenkachel 325 dem Computer 110 des Fahrzeugs 105 auf Anforderung über das Kommunikationsmodul 130 bereitgestellt werden.
-
Zum Beispiel generiert die Codiervorrichtung 305 eine codierte Darstellung von Bildeigenschaften, wie etwa eine fest dimensionierte Vektordarstellung von Bildmerkmalen. Die Codiervorrichtung 310 generiert eine codierte Darstellung von Karteneigenschaften, wie etwa eine fest dimensionierte Vektordarstellung von Kartenmerkmalen. In verschiedenen Umsetzungen können die Codiervorrichtungen 305, 310 Convolution-BatchNorm-ReLU-Architekturen umfassen.
-
Die durch die Codiervorrichtungen 305, 310 generierten codierten Darstellungen werden einer verborgenen eingebetteten Schicht 330 bereitgestellt. Die verborgene eingebettete Schicht 330 des neuronalen Netzwerks 300 empfängt zudem Koordinaten 335 eines globalen Positionsbestimmungssystems (GPS). In einigen Umsetzungen können die GPS-Koordinaten 335 durch einen oder mehrere Sensoren 115 des Fahrzeugs 105 bereitgestellt werden. Die Decodiervorrichtung 315 empfängt die codierten Darstellungen der Bildeigenschaften und der Karteneigenschaften sowie die GPS-Koordinaten 335. Die Decodiervorrichtung 315 generiert auf Grundlage der Eingaben eine geschätzte Rekonstruktion. Die geschätzte Rekonstruktion umfasst eine semantisch segmentierte Kartenkachel 340, die einen Standort des Fahrzeugs 105 und Standorte von Objekten relativ zu dem Fahrzeug 105, z. B. relativ in der Kartenkachel, auf Grundlage der empfangenen Kartenkachel 325 beinhalten kann. Zum Beispiel kann die semantisch segmentierte Kartenkachel 340 Abbildungen des Standorts des Fahrzeugs 105 in der Kartenkachel 325 und Abbildungen des Standorts verschiedener Objekte, die in dem Bild 320 abgebildet sind, in der Karte 325 relativ zu dem Fahrzeug 105 beinhalten. Die Decodiervorrichtung 315 kann eine Deconvolution-BatchNorm-LeakyReLU- Architektur umfassen.
-
4A veranschaulicht eine beispielhafte Kartenkachel 325, die an der Codiervorrichtung 310 empfangen wird. In einigen Umsetzungen fordert der Computer 110 die Kartenkachel 325 von einem cloudbasierten Dienst an und stellt der cloudbasierte Dienst die Kartenkachel 325 auf Grundlage der GPS-Koordinaten des Fahrzeugs 105 bereit. 4B veranschaulicht eine beispielhafte semantisch segmentierte Kartenkachel 340, die durch die Decodiervorrichtung 315 generiert wird. Wie gezeigt, kann die semantisch segmentierte Kartenkachel 340 eine optische Anzeige 345, die eine Position des Fahrzeugs 105 in der Kartenkachel 340 darstellt, und optische Anzeigen 350, die eine relative Position eines oder mehrerer durch die Sensoren 115 des Fahrzeugs 105 aufgenommener Objekte darstellen, beinhalten. Der cloudbasierte Dienst kann einen beliebigen geeigneten Dienst umfassen, der Kartenkacheln bereitstellt, wie etwa GOOGLE Maps oder dergleichen.
-
5 ist ein Diagramm eines beispielhaften tiefen neuronalen Netzwerks (DNN) 400. Das DNN 400 kann die Codiervorrichtungen 305, 310 und/oder die Decodiervorrichtung 315 darstellen, die vorstehend beschrieben sind. Das DNN 400 beinhaltet mehrere Knoten 405 und die Knoten 405 sind so angeordnet, dass das DNN 400 eine Eingabeschicht, eine oder mehrere verborgene Schichten und eine Ausgabeschicht beinhaltet. Jede Schicht des DNN 400 kann eine Vielzahl von Knoten 405 beinhalten. Während 4 drei (3) verborgene Schichten veranschaulicht, versteht es sich, dass das DNN 400 zusätzliche oder weniger verborgene Schichten beinhalten kann. Die Eingabe- und die Ausgabeschicht können ebenfalls mehr als einen (1) Knoten 405 beinhalten.
-
Die Knoten 405 werden mitunter als künstliche Neuronen 405 bezeichnet, da sie dazu ausgestaltet sind, biologische, z. B. menschliche, Neuronen nachzubilden. Ein Satz von Eingaben (dargestellt durch die Pfeile) für jedes Neuron 405 wird jeweils mit jeweiligen Gewichtungen multipliziert. Die gewichteten Eingaben können dann in einer Eingabefunktion summiert werden, um eine, unter Umständen um eine Vorspannung angepasste, Nettoeingabe bereitzustellen. Die Nettoeingabe kann dann einer Aktivierungsfunktion bereitgestellt werden, die wiederum einem verbundenen Neuron 405 eine Ausgabe bereitstellt. Bei der Aktivierungsfunktion kann es sich um eine Vielfalt geeigneter Funktionen handeln, die in der Regel auf Grundlage einer empirischen Analyse ausgewählt werden. Wie durch die Pfeile in 4 veranschaulicht, können die Ausgaben des Neurons 405 dann in einer nächsten Schicht zur Aufnahme in einen Satz von Eingaben für ein oder mehrere Neuronen 405 bereitgestellt werden.
-
Das DNN 400 kann dazu trainiert sein, Daten als Eingabe anzunehmen und auf Grundlage der Eingabe eine Ausgabe zu generieren. Das DNN 400 kann mithilfe von Ground-Truth-Daten trainiert werden, d. h. Daten über eine reale Bedingung oder einen realen Zustand. Beispielsweise kann das DNN 400 durch einen Prozessor mithilfe von Ground-Truth-Daten trainiert oder mit zusätzlichen Daten aktualisiert werden. Die Gewichtungen können zum Beispiel unter Verwendung einer Gauß-Verteilung initialisiert werden und eine Vorspannung für jeden Knoten 405 kann auf null gesetzt werden. Das Trainieren des DNN 400 kann ein Aktualisieren der Gewichtungen und Vorspannungen durch geeignete Techniken beinhalten, wie etwa durch Backpropagation mit Optimierungen. Ground-Truth-Daten können unter anderem Daten, die Objekte innerhalb eines Bildes vorgeben, beinhalten oder Daten, die einen physikalischen Parameter vorgeben, z. B. Winkel, Geschwindigkeit, Entfernung oder Winkel eines Objekts in Bezug auf ein anderes Objekt. Beispielsweise kann es sich bei den Ground-Truth-Daten um Daten handeln, die Objekte und Objektbeschriftungen darstellen.
-
6A veranschaulicht einen beispielhaften Prozess zum Trainieren des neuronalen Netzwerks 300 gemäß einer oder mehreren Umsetzungen der vorliegenden Offenbarung. Während einer überwachten Trainingsphase wird ein Satz von N Trainingsdaten 620 in das neuronale Netzwerk 300 eingegeben. Das neuronale Netzwerk 300 generiert semantisch segmentierte Kartenkacheln für jedes der N Trainingsbilder 620. Die Trainingsdaten 620 können Trainingsbilder beinhalten, die ein Sichtfeld einer Kamera, Trainingskartenkacheln, GPS-Koordinaten und Trainingsbeschriftungen darstellen. Die Trainingsbeschriftungen können semantisch segmentierte Kartenkacheln beinhalten, die vor der überwachten Trainingsphase generiert wurden.
-
Die semantisch segmentierten Kartenkacheln können Markierungen beinhalten, die den Standort des Fahrzeugs 105 angeben, der Trainings-GPS-Koordinaten entspricht, sowie Markierungen, die Hindernisse angeben. Die Markierungen der Hindernisse können Hindernispositions- und Klassifizierungsbeschriftungen beinhalten, die anhand von LiDAR-Sensoren und Kameradaten im Sichtfeld der Kamera erhalten werden können. Die Kartenkacheln können eine Belegungsschicht einer hochauflösenden Karte umfassen. Das trainierte neuronale Netzwerk 300 kann zudem dazu trainiert werden, Entfernungen zwischen den detektierten Objekten und der Quelle des Bilds zu schätzen. Zum Beispiel können die Trainingsdaten 620 auch Entfernungen von Objekten im Sichtfeld der Kamera beinhalten, die durch Ultraschallsensoren, LiDAR-Sensoren und/oder Radarsensoren gemessen werden.
-
Wie gezeigt, kann das neuronale Netzwerk 300 eine Ausgabe für ein Trainingsbild der N Trainingsbilder 620 generieren. Nach dem überwachten Training kann das neuronale Netzwerk 300 GPS-Koordinaten, eine Kartenkachel und ein Bild empfangen. Das neuronale Netzwerk 300 gibt semantisch segmentierte Kartenkacheln 625 aus, die Standorte des Fahrzeugs und der Objekte relativ zu dem Fahrzeug in der Kartenkachel beinhalten. Die semantisch segmentierte Kartenkachel 625 kann mit den Ground-Truth-Daten 630 verglichen werden und das neuronale Netzwerk 300 aktualisiert Netzwerkparameter auf Grundlage des Vergleichs mit den Ground-Truth-Feldern 630. Beispielsweise können die Netzwerkparameter, z. B. den Neuronen zugeordnete Gewichtungen, über Backpropagation aktualisiert werden.
-
Das neuronale Netzwerk kann auf dem Server 145 trainiert und dem Fahrzeug 105 über das Kommunikationsnetzwerk 135 bereitgestellt werden. Das Fahrzeug 105 kann zudem zu weiteren Trainingszwecken dem Server 145 Daten bereitstellen, die durch die Systeme des Fahrzeugs 105 aufgenommen werden.
-
Nach dem Training kann das neuronale Netzwerk 300 verwendet werden, um die Position des Fahrzeugs 105 zu bestimmen und Objekte, die in den empfangenen Bildern 635 abgebildet sind, in einer Kartenkachel 325 zu detektieren, wie in 6B gezeigt. Bei der Ausgabe des neuronalen Netzwerks 300 handelt es sich um eine oder mehrere semantisch segmentierte Kartenkacheln 340, die vorstehend genauer beschrieben sind. Zum Beispiel kann ein trainiertes neuronales Netzwerk 300 auf dem Computer 110 des Fahrzeugs 105 ausgeführt werden und Bilder 320, Kartenkacheln 325 und GPS-Koordinaten 335 empfangen und auf Grundlage der Eingabe eine semantisch segmentierte Kartenkachel 340 generieren.
-
7 ist ein Ablaufdiagramm eines beispielhaften Prozesses 700 zum Generieren einer semantisch segmentierten Kartenkachel unter Verwendung des neuronalen Netzwerks 300. Die semantisch segmentierten Kartenkacheln können die Position des Fahrzeugs 105 und der Objekte, die in einem oder mehreren Bildern, die durch die Sensoren 115 des Fahrzeugs 105 aufgenommen werden, abgebildet sind, bestimmen. Blöcke des Prozesses 700 können durch den Computer 110 ausgeführt werden. Der Prozess 700 beginnt bei Block 705, in dem bestimmt wird, ob ein Bild empfangen wurde. Bei dem Bild kann es sich beispielsweise um ein Bild handeln, das durch einen Sensor 115 des Fahrzeugs 105 aufgenommen wird. Wenn kein Bild empfangen wurde, kehrt der Prozess 700 zu Block 705 zurück. Wenn ein Bild empfangen wurde, werden bei Block 710 GPS-Koordinaten des Fahrzeugs 105 empfangen. Bei Block 715 wird eine Kartenkachel empfangen, die eine Karte eines Gebiets auf Grundlage der GPS-Koordinaten darstellt. Zum Beispiel kann der Computer 110 eine oder mehrere Kartenkacheln unter Verwendung der GPS-Koordinaten des Fahrzeugs 105 von einem cloudbasierten Dienst anfordern.
-
Bei Block 720 generiert das neuronale Netzwerk 300 eine semantisch segmentierte Kartenkachel, welche die Position des Fahrzeugs 105 in der empfangenen Kartenkachel bestimmt. Wie vorstehend erörtert, empfängt das trainierte neuronale Netzwerk 300 die GPS-Koordinaten und eine Kartenkachel unter Verwendung der GPS-Koordinaten. Das trainierte neuronale Netzwerk 300 kann die GPS-Koordinaten verwenden, um die Position des Fahrzeugs 105 in der Kartenkachel zu bestimmen. Zusätzlich oder alternativ kann das trainierte neuronale Netzwerk 300 ein oder mehrere Objekte, die in dem empfangenen Bild abgebildet sind, detektieren und Entfernungen zwischen der Bildquelle und den detektierten Objekten schätzen. Unter Verwendung der geschätzten Entfernungen und des bestimmten Standorts des Fahrzeugs 105 in der Kartenkachel kann auch die Position der detektierten Objekte relativ zu dem Fahrzeug 105 in der Kartenkachel bestimmt werden.
-
Bei Block 725 schätzt der Computer 110 eine Entfernung zwischen einem oder mehreren in dem Bild abgebildeten Objekten und der Bildquelle, wie etwa dem Sensor 115 des Fahrzeugs 105. Bei Block 730 wird bestimmt, ob die geschätzte Entfernung über einem vorher festgelegten Entfernungsschwellenwert liegt. Wenn die Entfernung über dem vorher festgelegten Entfernungsschwellenwert liegt, kehrt der Prozess 700 zu Block 705 zurück. Wenn die Entfernung unter oder bei dem Entfernungsschwellenwert liegt, wird bei Block 735 auf Grundlage der geschätzten Entfernung eine Warnmeldung generiert. In einer beispielhaften Umsetzung kann der Computer 110 eine Lookup-Tabelle oder dergleichen verwenden, um eine Warnmeldung zu bestimmen, die auf Grundlage der geschätzten Entfernung generiert werden soll. Zum Beispiel kann der Computer 110 Warnmeldungen generieren, die je nach geschätzter Entfernung variieren. In einigen Beispielen kann der Computer 110 eine akustische Eigenschaft, eine optische Eigenschaft und/oder eine Frequenzeigenschaft der Warnmeldung auf Grundlage der geschätzten Entfernung variieren. Die Warnmeldung kann eine akustische Warnmeldung und/oder eine optische Warnmeldung umfassen, die in dem Fahrzeug 105 generiert wird.
-
Bei Block 740 wird bestimmt, ob das Fahrzeug angehalten hat oder sich in eine andere Richtung als das/die Objekt(e) bewegt. In einer oder mehreren Umsetzungen kann der Computer 110 bestimmen, dass sich das Fahrzeug 105 in eine andere Richtung bewegt, wenn die geschätzte Entfernung in Bezug auf vorherige geschätzte Entfernungen zunimmt. In einer oder mehreren Umsetzungen kann der Computer 110 bestimmen, dass sich das Fahrzeug 105 nicht bewegt, wenn sich die geschätzte Entfernung in Bezug auf vorherige geschätzte Entfernungen nicht geändert hat, eine oder mehrere Steuerkomponenten 125 angeben, dass das Fahrzeug 105 kein Drehmoment generiert. Wenn das Fahrzeug 105 angehalten hat oder sich das Fahrzeug 105 in eine andere Richtung bewegt, wird die Warnmeldung bei Block 745 eingestellt und endet der Prozess 700.
-
Andernfalls wird bei Block 750 das Fahrzeug 105 betätigt. Zum Beispiel kann der Computer 110 ein Steuersignal an eine oder mehrere Komponenten 125 senden, um zu bewirken, dass das Fahrzeug 105 anhält, oder zu bewirken, dass sich das Fahrzeug 105 in eine andere Richtung bewegt. In einigen Beispielen kann der Computer 110 bewirken, dass das Fahrzeug 105 aus einem autonomen Modus in einen halbautonomen Modus oder manuellen Modus wechselt oder umgekehrt.
-
Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der Anwendung Ford Sync®, der Middleware AppLink/Smart Device Link, des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Betriebssystems Unix (z. B. des Betriebssystems Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), des Betriebssystems AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, des BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, und des Betriebssystems Android, entwickelt durch die Google, Inc. und die Open Handset Alliance, oder QNX® CAR Platform for Infotainment, angeboten durch QNX Software Systems. Beispiele für Rechenvorrichtungen beinhalten unter anderem einen Fahrzeugbordcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
-
Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausgeführt werden können, wie etwa durch die vorstehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder ausgewertet werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder -technologien erstellt werden, einschließlich unter anderem und entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML usw. Einige dieser Anwendungen können auf einer virtuellen Maschine zusammengestellt und ausgeführt werden, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt an computerlesbaren Medien gespeichert und übermitteln werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert sind.
-
Ein Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhalten, das ein beliebiges nichttransitorisches (z. B. materielles) Medium beinhaltet, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien und flüchtiger Medien. Zu nicht flüchtigen Medien können zum Beispiel Bild- und Magnetplatten und sonstige dauerhafte Speicher gehören. Zu flüchtigen Medien kann zum Beispiel dynamischer Direktzugriffsspeicher (dynamic random-access memory - DRAM) gehören, der typischerweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, darunter Koaxialkabel, Kupferdraht und Glasfaser, einschließlich der Drähte, die einen an einen Prozessor einer ECU gekoppelten Systembus umfassen. Übliche Formen computerlesbarer Medien beinhalten zum Beispiel eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das durch einen Computer ausgelesen werden kann.
-
Datenbanken, Datendepots oder andere Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedene(n) Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem anwendereigenen Format, eines relationalen Datenbankverwaltungssystems (relational database management system - RDBMS) usw. Jeder derartige Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung enthalten, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorstehend erwähnten, und es wird auf eine oder mehrere von vielfältigen Weisen über ein Netzwerk darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden und es kann in verschiedenen Formaten gespeicherte Dateien beinhalten. Ein RDBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Editieren und Ausführen gespeicherter Prozeduren ein, wie etwa die vorstehend erwähnte PL/SQL-Sprache.
-
In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personal Computern usw.) umgesetzt sein, die auf damit assoziierten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
-
Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass, auch wenn die Schritte derartiger Prozesse usw. als gemäß einer bestimmten Reihenfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge verschieden ist. Es versteht sich ferner, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden können. Anders gesagt dienen hier die Beschreibungen von Prozessen dem Zwecke der Veranschaulichung bestimmter Ausführungsformen und sie sollten keinesfalls dahingehend ausgelegt werden, dass sie die Ansprüche einschränken.
-
Dementsprechend versteht es sich, dass die vorstehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, werden dem Fachmann beim Lesen der vorstehenden Beschreibung ersichtlich. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorstehende Beschreibung festgelegt werden, sondern stattdessen unter Bezugnahme auf die beigefügten Ansprüche in Zusammenhang mit dem vollständigen Umfang von Äquivalenten, zu denen solche Ansprüche berechtigen. Es ist davon auszugehen und beabsichtigt, dass es zukünftige Entwicklungen im in dieser Schrift erörterten Stand der Technik geben wird und dass die offenbarten Systeme und Verfahren in derartige zukünftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und lediglich durch die folgenden Patentansprüche eingeschränkt ist.
-
Alle in den Patentansprüchen verwendeten Ausdrücke sollen ihre klare und gewöhnliche Bedeutung aufweisen, wie sie von einem Fachmann verstanden wird, sofern in dieser Schrift nicht ausdrücklich das Gegenteil angegeben wird. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Anspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
-
Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, durch die der Prozessor für Folgendes programmiert ist: Generieren einer codierten Darstellung der Bildmerkmale eines Bilds, das von einem Fahrzeugsensor eines Fahrzeugs empfangen wird, in einem ersten neuronalen Codiernetzwerk; Generieren einer codierten Darstellung von Kartenkachelmerkmalen in einem zweiten neuronalen Codiernetzwerk; und Generieren einer semantisch segmentierten Kartenkachel in dem neuronalen Decodiernetzwerk auf Grundlage der codierten Darstellung der Bildmerkmale, der codierten Darstellung der Kartenkachelmerkmale und Koordinaten eines globalen Positionsbestimmungssystems (GPS) für das Fahrzeug, wobei die semantisch segmentierte Kartenkachel einen Standort des Fahrzeugs und detektierte Objekte, die in dem Bild abgebildet sind, relativ zu dem Fahrzeug beinhaltet.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, das Fahrzeug auf Grundlage der detektierten Objekte zu betätigen.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, eine Entfernung zwischen den detektierten Objekten und dem Fahrzeug zu schätzen, zu bestimmen, ob die geschätzte Entfernung über einem vorher festgelegten Entfernungsschwellenwert liegt, und eine Warnmeldung zu generieren, wenn die geschätzte Entfernung nicht über dem vorher festgelegten Entfernungsschwellenwert liegt.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, zu bestimmen, ob das Fahrzeug angehalten hat oder sich in eine entgegengesetzte Richtung bewegt, und das Fahrzeug zu betätigen, wenn das Fahrzeug nicht angehalten hat und sich nicht in die entgegengesetzte Richtung bewegt.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, auf Grundlage der detektierten Objekte zu bewirken, dass das Fahrzeug aus einem nicht autonomen Modus in einen autonomen Modus wechselt.
-
Gemäß einer Ausführungsform empfängt das neuronale Decodiernetzwerk die codierte Darstellung der Bildmerkmale, die codierte Darstellung der Kartenkachelmerkmale und die GPS-Koordinaten des Fahrzeugs von einer verborgenen eingebetteten Schicht.
-
Gemäß einer Ausführungsform basieren die Kartenkachelmerkmale auf einer Kartenkachel, die von einem cloudbasierten Dienst empfangen wird, wobei die Kartenkachel eine Karte darstellt, die einem Standort des Fahrzeugs entspricht.
-
Gemäß einer Ausführungsform beinhaltet die semantisch segmentierte Kartenkachel mindestens eine optische Anzeige der relativen Position des Fahrzeugs in der semantisch segmentierten Kartenkachel.
-
Gemäß einer Ausführungsform beinhaltet die semantisch segmentierte Kartenkachel mindestens eine optische Anzeige, welche die Position des Objekts angibt.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Generieren einer codierten Darstellung der Bildmerkmale eines Bilds, das von einem Fahrzeugsensor eines Fahrzeugs empfangen wird, in einem ersten neuronalen Codiernetzwerk, Generieren einer codierten Darstellung von Kartenkachelmerkmalen in einem zweiten neuronalen Codiernetzwerk und Generieren einer semantisch segmentierten Kartenkachel in dem neuronalen Decodiernetzwerk auf Grundlage der codierten Darstellung der Bildmerkmale, der codierten Darstellung der Kartenkachelmerkmale und Koordinaten eines globalen Positionsbestimmungssystems (GPS) für das Fahrzeug, wobei die semantisch segmentierte Kartenkachel einen Standort des Fahrzeugs und detektierte Objekte, die in dem Bild abgebildet sind, relativ zu dem Fahrzeug beinhaltet.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren ein Schätzen einer Entfernung zwischen den detektierten Objekten und dem Fahrzeug, ein Bestimmen, ob die geschätzte Entfernung über einem vorher festgelegten Entfernungsschwellenwert liegt, und ein Generieren einer Warnmeldung, wenn die geschätzte Entfernung nicht über dem vorher festgelegten Entfernungsschwellenwert liegt.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren ein Bestimmen, ob das Fahrzeug angehalten hat oder sich in eine entgegengesetzte Richtung bewegt, und ein Betätigen des Fahrzeugs, wenn das Fahrzeug nicht angehalten hat und sich nicht in die entgegengesetzte Richtung bewegt.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren ein Bewirken, dass das Fahrzeug aus einem nicht autonomen Modus in einen autonomen Modus wechselt, auf Grundlage der detektierten Objekte.
-
In einem Aspekt der Erfindung empfängt das neuronale Decodiernetzwerk die codierte Darstellung der Bildmerkmale, die codierte Darstellung der Kartenkachelmerkmale und die GPS-Koordinaten des Fahrzeugs von einer verborgenen eingebetteten Schicht.
-
In einem Aspekt der Erfindung basieren die Kartenkachelmerkmale auf einer Kartenkachel, die von einem cloudbasierten Dienst empfangen wird, wobei die Kartenkachel eine Karte darstellt, die einem Standort des Fahrzeugs entspricht.
-
In einem Aspekt der Erfindung beinhaltet die semantisch segmentierte Kartenkachel mindestens eine optische Anzeige, welche die relative Position des Fahrzeugs in der semantisch segmentierten Kartenkachel angibt.
-
In einem Aspekt der Erfindung beinhaltet die semantisch segmentierte Kartenkachel mindestens eine optische Anzeige, welche die Position der detektierten Objekte angibt.
-
Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, durch die der Prozessor für Folgendes programmiert ist: Trainieren eines neuronalen Netzwerks mithilfe eines Satzes beschrifteterTrainingsbilder, wobei der Satz beschrifteter Trainingsbilder mindestens ein Trainingsbild, das ein Objekt in einem Sichtfeld einer Fahrzeugkamera abbildet, und mindestens eine Trainingsbeschriftung, die eine Entfernung zwischen dem Objekt und der Fahrzeugkamera und eine Position des Fahrzeugs in einer Kartenkachel angibt, umfasst; Generieren einer semantisch segmentierten Kartenkachel auf Grundlage mindestens eines nicht beschrifteten Trainingsbilds in dem tiefen neuronalen Netzwerk, wobei die semantisch segmentierte Kartenkachel einen Standort des Fahrzeugs in der semantisch segmentierten Kartenkachel und Standorte detektierter Objekte in Bezug auf das Fahrzeug beinhaltet; Vergleichen der semantisch segmentierten Kartenkachel mit Ground-Truth-Daten; und Aktualisieren mindestens einer Gewichtung, die einem Neuron des neuronalen Netzwerks zugeordnet ist.
-
Gemäß einer Ausführungsform beinhaltet die semantisch segmentierte Kartenkachel mindestens eine optische Anzeige, welche die relative Position des Fahrzeugs in der semantisch segmentierten Kartenkachel angibt.
-
Gemäß einer Ausführungsform beinhaltet das neuronale Netzwerk eine Decodiervorrichtung, die dazu konfiguriert ist, die semantisch segmentierte Kartenkachel zu generieren.