DE102021112616A1 - Selbstüberwachte schätzung einer beobachteten fahrzeugpose - Google Patents

Selbstüberwachte schätzung einer beobachteten fahrzeugpose Download PDF

Info

Publication number
DE102021112616A1
DE102021112616A1 DE102021112616.9A DE102021112616A DE102021112616A1 DE 102021112616 A1 DE102021112616 A1 DE 102021112616A1 DE 102021112616 A DE102021112616 A DE 102021112616A DE 102021112616 A1 DE102021112616 A1 DE 102021112616A1
Authority
DE
Germany
Prior art keywords
vehicle
neural network
image
deep neural
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021112616.9A
Other languages
English (en)
Inventor
Punarjay Chakravarty
Tinne Tuytelaars
Cédric Picron
Tom Roussel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102021112616A1 publication Critical patent/DE102021112616A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C1/00Measuring angles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)

Abstract

Die vorliegende Offenbarung stellt eine selbstüberwachte Schätzung einer beobachteten Fahrzeugpose bereit. Ein Verfahren kann Folgendes beinhalten: Empfangen eines ersten Bildes, das von einer Kamera zu einem ersten Zeitpunkt aufgenommen wurde, wobei das erste Bild mindestens einen Abschnitt von einem beobachteten Fahrzeug beinhaltet; Bestimmen eines ersten Strahlwinkels auf Grundlage eines Koordinatensystems eines Eigenfahrzeugs und eines Koordinatensystems des beobachteten Fahrzeugs, der dem ersten Bild entspricht; Empfangen eines zweiten Bildes, das von der Kamera zu einem zweiten Zeitpunkt aufgenommen wurde, wobei das zweite Bild mindestens einen Abschnitt des beobachteten Fahrzeugs beinhaltet, der an einem anderen Blickwinkel ausgerichtet ist; Bestimmen eines zweiten Strahlwinkels auf Grundlage eines Koordinatensystems des Eigenfahrzeugs und des Koordinatensystems des beobachteten Fahrzeugs, der dem zweiten Bild entspricht; Bestimmen einer Differenz zwischen lokalen Winkeln auf Grundlage des ersten Strahlwinkels und des zweiten Strahlwinkels; und Trainieren eines tiefen neuronalen Netzwerks unter Verwendung der Differenz zwischen lokalen Winkeln, des ersten Bildes und des zweiten Bildes.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft im Allgemeinen tiefe neuronale Netwerke.
  • ALLGEMEINER STAND DER TECHNIK
  • Tiefe neuronale Netzwerke (deep neural networks - DNNs) können verwendet werden, um viele Aufgaben zum Verstehen von Bildern durchzuführen, einschliel lich Klassifizierung, Segmentierung und Beschriftung. Üblicherweise erfordern DNNs große Mengen an Trainingsbildern (Zehntausende bis Millionen). Des Weiteren müssen diese Trainingsbilder üblicherweise zum Zwecke des Trainings und der Prognose mit Anmerkungen versehen werden.
  • KURZDARSTELLUNG
  • Ein System kann einen Computer beinhalten, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor zu Folgendem programmiert ist: Empfangen eines ersten Bildes, das von einer Kamera zu einem ersten Zeitpunkt aufgenommen wurde, wobei das erste Bild mindestens einen Abschnitt von einem beobachteten Fahrzeug beinhaltet; Bestimmen eines ersten Strahlwinkels auf Grundlage eines Koordinatensystems eines Eigenfahrzeugs und eines Koordinatensystems des beobachteten Fahrzeugs, der dem ersten Bild entspricht; Empfangen eines zweiten Bildes, das von der Kamera zu einem zweiten Zeitpunkt aufgenommen wurde, wobei das zweite Bild mindestens einen Abschnitt des beobachteten Fahrzeugs beinhaltet, der an einem anderen Blickwinkel ausgerichtet ist; Bestimmen eines zweiten Strahlwinkels auf Grundlage eines Koordinatensystems des Eigenfahrzeugs und des Koordinatensystems des beobachteten Fahrzeugs, der dem zweiten Bild entspricht; Bestimmen einer Differenz zwischen lokalen Winkeln auf Grundlage des ersten Strahlwinkels und des zweiten Strahlwinkels; und Trainieren eines tiefen neuronalen Netzwerks unter Verwendung der Differenz zwischen lokalen Winkeln, des ersten Bildes und des zweiten Bildes.
  • In anderen Merkmalen ist der Prozessor ferner zu Folgendem programmiert: Empfangen von Fahrzeugodometriedaten; und Bestimmen einer Differenz zwischen lokalen Winkeln auf Grundlage des ersten Strahlwinkels, des zweiten Strahlwinkels und der Fahrzeugodometriedaten.
  • In anderen Merkmalen umfasst das tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk.
  • In anderen Merkmalen umfasst das tiefe neuronale Netzwerk ein siamesisches neuronales Netzwerk.
  • In anderen Merkmalen umfasst das siamesische neuronale Netzwerk ein erstes neuronales Faltungsnetzwerk und ein zweites neuronales Faltungsnetzwerk.
  • In anderen Merkmalen bestimmt das siamesische neuronale Netzwerk einen ersten lokalen Winkel auf Grundlage eines ersten Farbbildes und einen zweiten lokalen Winkel auf Grundlage eines zweiten Farbbildes und bestimmt einen Kontrastverlust auf Grundlage einer Differenz zwischen dem ersten lokalen Winkel und dem zweiten lokalen Winkel.
  • In anderen Merkmalen ist der Prozessor ferner zu Folgendem programmiert: Aktualisieren des tiefen neuronalen Netzwerks auf Grundlage des Kontrastverlusts.
  • In anderen Merkmalen ist der Prozessor ferner zu Folgendem programmiert: Aktualisieren mindestens einer Gewichtung, die einem Neuron des tiefen neuronalen Netzwerks zugeordnet ist, auf Grundlage des Kontrastverlusts.
  • In anderen Merkmalen umfasst die Kamera eine monokulare Kamera.
  • In anderen Merkmalen ist der Prozessor ferner zu Folgendem programmiert: Berechnen einer Gierkomponente, die dem beobachteten Fahrzeug entspricht, über das trainierte tiefe neuronale Netzwerk auf Grundlage mindestens eines von dem ersten Bild oder dem zweiten Bild.
  • In anderen Merkmalen ist der Prozessor ferner zu Folgendem programmiert: Berechnen einer Nickkomponente, einer Rollkomponente, einer x-Komponente, einer y-Komponente und einer z-Komponente, die dem beobachteten Fahrzeug entsprechen, über das trainierte tiefe neuronale Netzwerk auf Grundlage mindestens eines von dem ersten Bild oder dem zweiten Bild.
  • Ein Verfahren beinhaltet das Empfangen eines ersten Bildes, das von einer Kamera zu einem ersten Zeitpunkt aufgenommen wurde, wobei das erste Bild mindestens einen Abschnitt von einem beobachteten Fahrzeug beinhaltet; Bestimmen eines ersten Strahlwinkels auf Grundlage eines Koordinatensystems eines Eigenfahrzeugs und eines Koordinatensystems des beobachteten Fahrzeugs, der dem ersten Bild entspricht; Empfangen eines zweiten Bildes, das von der Kamera zu einem zweiten Zeitpunkt aufgenommen wurde, wobei das zweite Bild mindestens einen Abschnitt des beobachteten Fahrzeugs beinhaltet, der an einem anderen Blickwinkel ausgerichtet ist; Bestimmen eines zweiten Strahlwinkels auf Grundlage eines Koordinatensystems des Eigenfahrzeugs und des Koordinatensystems des beobachteten Fahrzeugs, der dem zweiten Bild entspricht; Bestimmen einer Differenz zwischen lokalen Winkeln auf Grundlage des ersten Strahlwinkels und des zweiten Strahlwinkels; und Trainieren eines tiefen neuronalen Netzwerks unter Verwendung der Differenz zwischen lokalen Winkeln, des ersten Bildes und des zweiten Bildes.
  • In anderen Merkmalen beinhaltet das Verfahren das Empfangen von Fahrzeugodometriedaten; und Bestimmen einer Differenz zwischen lokalen Winkeln auf Grundlage des ersten Strahlwinkels, des zweiten Strahlwinkels und der Fahrzeugodometriedaten.
  • In anderen Merkmalen umfasst das tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk.
  • In anderen Merkmalen umfasst das tiefe neuronale Netzwerk ein siamesisches neuronales Netzwerk.
  • In anderen Merkmalen umfasst das siamesische neuronale Netzwerk ein erstes neuronales Faltungsnetzwerk und ein zweites neuronales Faltungsnetzwerk.
  • In anderen Merkmalen bestimmt das siamesische neuronale Netzwerk einen ersten lokalen Winkel auf Grundlage eines ersten Farbbildes und einen zweiten lokalen Winkel auf Grundlage eines zweiten Farbbildes und bestimmt einen Kontrastverlust auf Grundlage einer Differenz zwischen dem ersten lokalen Winkel und dem zweiten lokalen Winkel.
  • In anderen Merkmalen beinhaltet das Verfahren das Aktualisieren des tiefen neuronalen Netzwerkes auf Grundlage des Kontrastverlusts.
  • Ein System beinhaltet einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor zu Folgendem programmiert ist: Empfangen eines Bildes, das mindestens einen Abschnitt eines beobachteten Fahrzeugs beinhaltet, an einem trainierten tiefen neuronalen Netzwerk; und Bestimmen eines lokalen Ausrichtungswinkels des beobachteten Fahrzeugs auf Grundlage des Bildes über das trainierte tiefe neuronale Netzwerk, wobei das trainierte tiefe neuronale Netzwerk ein siamesisches neuronales Netzwerk umfasst, das ein aktiviertes neuronales Netzwerk und ein deaktiviertes neuronales Netzwerk beinhaltet, wobei das aktivierte tiefe neuronale Netzwerk den lokalen Ausrichtungswinkel des beobachteten Fahrzeugs bestimmt.
  • In anderen Merkmalen ist der Prozessor ferner zu Folgendem programmiert: Berechnen einer Gierkomponente, einer Nickkomponente, einer Rollkomponente, einer x-Komponente, einer y-Komponente und einer z-Komponente, die dem beobachteten Fahrzeug entsprechen, über das trainierte tiefe neuronale Netzwerk auf Grundlage des lokalen Ausrichtungswinkels und des Bildes.
  • Figurenliste
    • 1 ist eine Darstellung eines beispielhaften Systems zum Trainieren eines tiefen neuronalen Netzwerks.
    • 2 ist eine Darstellung eines beispielhaften Servers in dem System.
    • Die 3A und 3B sind beispielhafte Darstellungen, die Koordinatensysteme eines Eigenfahrzeugs und eines beobachteten Fahrzeugs darstellen
    • 4 ist eine Darstellung eines beispielhaften tiefen neuronalen Netzwerkes.
    • 5 ist eine weitere Darstellung eines beispielhaften tiefen neuronalen Netzwerks.
    • Die 6 bis 9 sind Darstellungen zum Bestimmen eines Strahlwinkels und eines lokalen Winkels auf Grundlage eines Wegs des Eigenfahrzeugs relativ zu dem beobachteten Fahrzeug.
    • Die 10A bis 10C sind Darstellungen zum Trainieren eines tiefen neuronalen Netzwerks über einen überwachten Trainingsprozess.
    • Die 11 und 12 sind Darstellungen zum Trainieren eines beispielhaften tiefen neuronalen Netzwerks über einen selbstüberwachten Trainingsprozess.
    • 13 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Trainieren eines tiefen neuronalen Netzwerkes veranschaulicht.
    • 14 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Bestimmen einer oder mehrerer Posenkomponenten mit mehreren Freiheitsgraden (multi degree of freedom - MDF) eines beobachteten Fahrzeugs unter Verwendung eines trainierten tiefen neuronalen Netzwerks veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • Die vorliegende Offenbarung stellt ein System und ein Verfahren zum Trainieren eines tiefen neuronalen Netzwerks zum Berechnen und Ausgeben einer Pose mit mehreren Freiheitsgraden (MDF) eines Fahrzeugs bereit. Das Trainieren des tiefen neuronalen Netzwerks basiert auf Eingabebildern, die von mindestens einer nach vorn gerichteten Kamera in einem Eigenfahrzeug aufgenommen werden. Das vorliegende System und Verfahren können das tiefe neuronale Netzwerk ohne genau gekennzeichnete Trainingsdaten trainieren, da das Erhalten und/oder Erzeugen genau gekennzeichneter Trainingsdaten kostenintensiv und zeitaufwändig sein kann.
  • 1 ist ein Blockdiagramm eines beispielhaften Fahrzeugsystems 100. Das System 100 beinhaltet ein Fahrzeug 105, bei dem es sich um ein Landfahrzeug handelt, wie etwa ein Auto, einen Lastwagen usw. 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 auf diesem sind Anweisungen gespeichert, die durch den Computer 110 zum Durchführen verschiedener Vorgänge, einschliel 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 nicht autonomen (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 nicht autonomen Modus steuert ein menschlicher Fahrzeugführer jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105.
  • Der Computer 110 kann eine Programmierung zum Betreiben eines oder mehrerer von Bremsen, Antrieb (z. B. Steuern der Beschleunigung in dem Fahrzeug 105 durch Steuern eines oder mehrere von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Klimasteuerung, Innen- und/oder Aul enbeleuchtung usw. des Fahrzeugs und zum Bestimmen, ob und wann der Computer 110 derartige Vorgänge anstelle eines menschlichen Fahrzeugführers steuern soll, beinhalten. Des Weiteren kann der Computer 110 programmiert sein, um zu bestimmen, ob und wann ein menschlicher Fahrzeugführer derartige Vorgänge steuern soll.
  • Der Computer 110 kann mehr als einen Prozessor, der z. B. in elektronischen Steuereinheiten (electronic controller units - ECUs) oder dergleichen eingeschlossen ist, die in dem Fahrzeug 105 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten 125 eingeschlossen sind, z. B. eine Antriebsstrangsteuerung, eine Bremssteuerung, eine 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 Netzwerkes 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, zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Computer 110 dargestellt sind. Ferner können, wie nachfolgend erwähnt, verschiedene Steuerungen und/oder Fahrzeugsensoren 115 Daten an dem Computer 110 bereitstellen.
  • Die Fahrzeugsensoren 115 können eine Vielfalt von Vorrichtungen einschliel en, die bekanntermaßen Daten an dem Computer 110 bereitstellen. Beispielsweise können die Fahrzeugsensoren 115 (einen) Light-Detection-and-Ranging-Sensor(en) (LIDAR-Sensor(en)) 115 usw. einschliel en, der/die auf einer Oberseite des Fahrzeugs 105, hinter einer Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet ist/sind und relative Standorte, Größen und Formen von Objekten und/oder Verhältnissen bereitstellen, die das Fahrzeug 105 umgeben. Als ein weiteres Beispiel können ein oder mehrere Radarsensoren 115, die an Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um die Geschwindigkeit von Objekten (möglicherweise einschliel lich zweiter Fahrzeuge 106) usw. bezogen auf den Standort des Fahrzeugs 105 bereitzustellen und zu klassifizieren. Die Fahrzeugsensoren 115 können ferner (einen) Kamerasensor(en) 115 einschliel en, der/die z. B. nach vorne, zur Seite, nach hinten usw. gerichtet ist/sind und der/die Bilder von einem Sichtfeld innerhalb und/oder aul 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, einschliel 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 für die Komponenten 125 schliel en Folgendes ein: eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. einschliel t), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Lenkzahnstange usw. einschliel en kann), eine Bremskomponente (wie nachfolgenden beschrieben), eine Parkassistenzkomponente, eine Komponente zur adaptiven Geschwindigkeitsregelung, eine Komponente zur adaptiven Lenkung, einen beweglichen Sitz usw.
  • Des Weiteren kann der Computer 110 konfiguriert sein, um über ein(e) Fahrzeug-zu-Fahrzeug-Kommunikationsmodul oder -schnittstelle 130 mit Vorrichtungen aul 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 Remote-Server 145 (in der Regel über das Netzwerk 135). Das Modul 130 könnte einen Mechanismus oder mehrere Mechanismen beinhalten, durch die der Computer 110 kommunizieren kann, einschliel 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 schliel t Folgendes ein: Mobilfunk, Bluetooth®, IEEE 802.11, dedizierte Nahbereichskommunikation (dedicated short range communication - DSRC) und/oder Weitverkehrsnetzwerke (wide area network - WAN), einschliel lich des Internets, die Datenkommunikationsdienste bereitstellen.
  • Bei dem Netzwerk 135 kann es sich um einen oder mehrere von verschiedenen drahtgebundenen oder drahtlosen Kommunikationsmechanismen handeln, einschliel 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 (wide area network - 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 Objektklassifizierungs- oder - identifizierungstechniken 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 auf diesem sind Anweisungen gespeichert, die durch den Computer 235 zum Durchführen verschiedener Vorgänge, einschliel 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.
  • 3A ist eine beispielhafte Darstellung eines Koordinatensystems 302, das dem Fahrzeug 105, z. B. einem Eigenfahrzeug, entspricht. Wie gezeigt, ist das Koordinatensystem 302 um einen Sensor 115 des Fahrzeugs 105 zentriert. In einer beispielhaften Umsetzung kann der Sensor 115 eine Kamera 304 sein, die dazu ausgerichtet ist, Bilder aufzunehmen, die eine nach vorn gerichtete Umgebung in Bezug auf das Fahrzeug 105 darstellen. In einer beispielhaften Umsetzung kann die Kamera 304 eine monokulare Kamera sein. Die Bilder können Rot-Grün-Blau-Bilder (RGB-Bilder) umfassen.
  • 3B veranschaulicht eine beispielhafte Darstellung eines Koordinatensystems 306, das einem Fahrzeug 308 entspricht, das durch einen oder mehrere Sensoren 115 des Fahrzeugs 105 erfasst werden kann. Wie gezeigt, ist das Koordinatensystem 306 um einen Mittelpunkt 310 einer Fahrzeugkarosserie des Fahrzeugs 308 zentriert. Im vorliegenden Zusammenhang kann eine positive X-Achse der Koordinatensysteme 302, 306 als entlang einer nach vorn gerichteten Richtung der Fahrzeuge 105, 308 ausgerichtet definiert sein, eine positive Y-Achse kann als entlang einer linken Seite, z. B. der Fahrerseite, der Fahrzeuge 105, 308 ausgerichtet definiert sein. Eine positive Z-Achse kann als wie in den 3A und 3B ausgerichtet definiert sein. Wie in dieser Schrift beschrieben, bestimmt der Computer 110 eine Gierkomponente einer Pose mit mehreren Freiheitsgraden (MDF) eines Fahrzeugs, wie etwa des beobachteten Fahrzeugs 308. Die Gierkomponente wird durch Schätzen eines Strahlwinkels und eines lokalen Winkels auf Grundlage von geeigneten Bildverarbeitungstechniken bestimmt.
  • 4 ist eine Darstellung eines beispielhaften tiefen neuronalen Netzwerks 400, das eine oder mehrere Komponenten der MDF-Pose eines Fahrzeugs 308 bestimmt. Das tiefe neuronale Netzwerk 400 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. Die MDF-Pose kann sechs (6) Komponenten umfassen, einschliel lich einer x-Komponente, einer y-Komponente, einer z-Komponente, einer Nickkomponente, einer Rollkomponente und einer Gierkomponente, wobei die x-, y-, und die z-Komponenten Parallelverschiebungen gemäl einem kartesischen Koordinatensystem sind, z. B. sind die Koordinatensysteme 302, 306 (die die X-Achse, die Y-Achse und die Z-Achse umfassen) und die Roll-, Nick- und Gierkomponenten Drehungen um die X-, Y- bzw. Z-Achse.
  • Wie nachstehend erläutert, kann ein Sensor 115, wie etwa die Kamera 304, ein oder mehrere Bilder aufnehmen, die mindestens einen Abschnitt des Fahrzeugs 308 beinhalten, und der Computer 110 kann unter Verwendung des tiefen neuronalen Netzwerks 400 die Pose mit mehreren Freiheitsgraden (MDF) des Fahrzeugs 308, z. B. eine Pose mit sechs Freiheitsgraden (6DOF), bestimmen. Sobald das tiefe neuronale Netzwerk 400 unter Verwendung des Bildes/der Bilder und dieser MDF-Poseninformationen trainiert wurde, kann der Computer 110 die Position des Fahrzeugs in Bezug auf das erfasste Fahrzeug 308 sowie Wegpunktdaten, mithilfe derer das Fahrzeug 105 Anweisungen zum Navigieren erhält, bestimmen. Zum Beispiel kann der Computer 110 unter Verwendung der MDF-Pose eines erfassten, z. B. beobachteten Fahrzeugs 308, Spurwechselprozesse, Situationsverbesserungsprozesse, Spurhalteprozesse anwenden. Es versteht sich, dass der Computer 110 andere neuronale Netzwerke zum Betreiben des Fahrzeugs 105 auf Grundlage der geschätzten MDF-Pose verwenden kann.
  • In einer beispielhaften Umsetzung kann das tiefe neuronale Netzwerk 400 ein neuronales Faltungsnetzerk (convolutional neural network - CNN) umfassen. In dieser Umsetzung kann das tiefe neuronale Netzwerk 400 dazu ausgelegt sein, die Fahrzeugpose auf Grundlage von aufgenommenen Bilddaten (z. B. als Eingaben in das CNN) zu klassifizieren. Das tiefe neuronale Netzwerk 400 kann eine Faltungsschicht 402, eine Pooling-Schicht 404 und eine Flattening-Schicht 406 umfassen. Die Faltungsschicht 402 kann Einzelbilder empfangen und die Einzelbilder unter Verwendung eines Kernels oder Filters falten, was z. B. eine Vielzahl von gefalteten Merkmalen ergibt. Danach können die Pooling-Schichten 404 die räumliche Größe des gefalteten Merkmals reduzieren. Üblicherweise (wenngleich nicht erforderlich) können mehrere Iterationen von Faltung und anschliel endem Pooling vorhanden sein. Danach kann die Flattening-Schicht 406 die Pooling-Ausgabe in einen geeigneten Spaltenvektor zur Eingabe in ein neuronales Netzwerk umwandeln, wobei eine Klassifizierung erfolgt (z. B. unter Verwendung von mindestens einer vorbestimmten Funktion des neuronalen Netzwerks, wie z. B. SoftMax), wobei die Klassifizierung im vorliegenden Beispiel zur MDF-Pose gehört.
  • In einigen Fällen umfassen die eingegebenen Einzelbilder mehrere Bilder, die einen oder mehrere Abschnitte des erfassten Fahrzeugs 308 aus unterschiedlichen Perspektiven darstellen, während das Fahrzeug 105 einen Weg zurücklegt. In einigen Fällen können die Einzelbilder auf Grundlage von Bildern zusammengefügt werden, die von mehreren Kameras, z. B. Sensoren 115, aufgenommen wurden, die im gesamten Fahrzeug 105 eingesetzt werden. Der Computer 110 kann das Zusammenfügen durchführen, bevor die Bilder dem tiefen neuronalen Netzwerk 400 als Eingabe bereitgestellt werden.
  • 5 ist eine Darstellung eines beispielhaften tiefen neuronalen Netzwerks (DNN) 500 wie etwa dem tiefen neuronalen Netzwerk 400. Das DNN 500 kann repräsentativ für die Architekturen von tiefen neuronalen Netzwerken sein, die in der vorliegenden Offenbarung beschrieben sind. Das DNN 500 beinhaltet mehrere Knoten 505 und die Knoten 505 sind derart angeordnet, dass das DNN 500 eine Eingabeschicht, eine oder mehrere verborgene Schichten und eine Ausgabeschicht beinhaltet. Jede Schicht des DNN 500 kann eine Vielzahl von Knoten 505 beinhalten. Während 5 drei (3) verborgene Schichten veranschaulicht, versteht es sich, dass das DNN 500 zusätzliche oder weniger verborgene Schichten beinhalten kann. Die Eingabe- und Ausgabeschichten können auch mehr als einen (1) Knoten 505 beinhalten.
  • Die Knoten 505 werden manchmal als künstliche Neuronen 505 bezeichnet, da sie dazu ausgestaltet sind, biologische, z. B. menschliche, Neuronen zu emulieren. Ein Satz von Eingaben (dargestellt durch die Pfeile) für jedes Neuron 505 wird jeweils mit den jeweiligen Gewichtungen multipliziert. Die gewichteten Eingaben können dann in einer Eingabefunktion summiert werden, um eine Nettoeingabe bereitzustellen, die möglicherweise um eine Verzerrung angepasst ist. Die Nettoeingabe kann dann der Aktivierungsfunktion bereitgestellt werden, die wiederum einem verbundenen Neuron 505 eine Ausgabe liefert. 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 5 veranschaulicht, können die Ausgaben des Neurons 505 dann zur Aufnahme in einen Satz von Eingaben in ein oder mehrere Neuronen 505 in einer nächsten Schicht bereitgestellt werden.
  • Das DNN 500 kann dazu trainiert werden, Daten als Eingabe anzunehmen und eine Ausgabe auf Grundlage der Eingabe zu erzeugen. In einigen Umsetzungen kann das DNN 500 mit Ground-Truth-Daten trainiert werden, d. h. Daten über eine(n) reale(n) Bedingung oder Zustand. Beispielsweise kann das DNN 500 durch einen Prozessor mit 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 Verzerrung für jeden Knoten 505 kann auf null gesetzt werden. Das Trainieren des DNN 500 kann das Aktualisieren von Gewichtungen und Verzerrungen durch geeignete Techniken beinhalten, wie die Rückpropagierung mit Optimierungen. Ground-Truth-Daten können unter anderem Daten, die Objekte in einem Bild vorgeben, oder Daten einschliel en, die einen physikalischen Parameter vorgeben, z. B. Winkel, Geschwindigkeit, Entfernung oder Winkel eines Objektes bezogen auf ein anderes Objekt. Auf Grundlage der von den verschiedenen Kameras innerhalb des Fahrzeugs 105 aufgenommenen empfangenen Bilder schätzt das tiefe neuronale Netzwerk 400 die MDF-Pose des erfassten Fahrzeugs 308. Zum Beispiel kann das tiefe neuronale Netzwerk 400 eine Ausrichtung, z. B. eine Gierkomponente, des erfassten Fahrzeugs 308 relativ zu dem Fahrzeug 105 schätzen.
  • Unter Bezugnahme auf 6 kann die, Ausrichtung theta, z. B. der Ausrichtungswinkel, des beobachteten Fahrzeugs relativ zu dem Eigenfahrzeug in zwei Winkel zerlegt werden - einen Strahlwinkel (θStrahl) und einen lokalen Winkel (θlokal). Zum Beispiel erstreckt sich ein Strahl 602 der Kamera 304 entlang der Bodenebene vom Ursprung des Fahrzeugs 105, z. B. dem Eigenfahrzeug-Koordinatensystem 302, das an dem Mittelpunkt der Kamera 304 ausgerichtet ist, und den Ursprung des Koordinatensystems 306 des beobachteten Fahrzeugs 308 schneidet, das an der Fahrzeugkarosserie des Fahrzeugs 308 zentriert ist. Der Strahlwinkel ist als der Winkel definiert, der entsteht, wenn der Strahl 602 die negative Y-Achse des Fahrzeugs 308 schneidet. Der Computer 110 kann den Strahlwinkel analytisch auf Grundlage der kalibrierten Kamera 304 und eines Mittelpunkts eines zweidimensionalen (2D) Begrenzungsrahmens innerhalb einer Bildebene der Kamera 304 bestimmen. Zum Beispiel können geeignete Objekterfassungs- und Klassifizierungstechniken verwendet werden, um den 2D-Begrenzungsrahmen um das beobachtete Fahrzeug 308 zu definieren.
  • Der lokale Winkel ist als der Winkel zwischen dem Strahl 602 und dem Koordinatensystem 306 des beobachteten Fahrzeugs 308 definiert. Der Computer 110 schätzt Differenzen zwischen lokalen Winkeln auf Grundlage von mindestens zwei Bildern, die von der Kamera 304 zu zwei unterschiedlichen Zeitpunkten aufgenommen wurden. Die Differenzen zwischen lokalen Winkeln können dann dem DNN 400 zu Trainingszwecken bereitgestellt werden. Zum Beispiel kann das DNN 400 die Bilder und die Differenzen zwischen lokalen Winkeln als Eingabe zu Zwecken der Aktualisierung einer oder mehrerer Gewichtungen empfangen. Der Strahlwinkel und der lokale Winkel bilden einen Ausrichtungswinkel (θ) des beobachteten Fahrzeugs 308, der als Winkel 604 bezeichnet wird.
  • 7 veranschaulicht einen beispielhaften Weg, den das Fahrzeug 105 relativ zu dem beobachteten Fahrzeug 308 zurücklegt. In diesem Beispiel kann das Fahrzeug 308 stationär sein. Wenn das Fahrzeug 105 den Weg zurücklegt, wird der Strahlwinkel größer und der lokale Winkel wird kleiner. Auf Grundlage der verschiedenen berechneten Strahlwinkel und des lokalen Winkels kann der Computer 110 kontinuierlich den Ausrichtungswinkel des beobachteten Fahrzeugs 308 berechnen.
  • 8 veranschaulicht eine weitere Darstellung, in der das Fahrzeug 105 einen Weg relativ zu einem stationären Fahrzeug 308 zurücklegt. Die Bewegung des Fahrzeugs 105 relativ zu dem Fahrzeug 308 wird verwendet, um das tiefe neuronale Netzwerk 400 zu trainieren. In einer beispielhaften Umsetzung kann Odometrie, wie etwa visuelle Odometrie oder Odometrie, die von einem oder mehreren Sensoren 115 bereitgestellt wird, verwendet werden, um die Bewegung des Fahrzeugs 105 zu schätzen, die eine Posenänderung des Fahrzeugs 105 bereitstellt, während es sich relativ zu dem Fahrzeug 308 bewegt. Visuelle Odometrie kann auf Grundlage der aufgenommenen Bilder berechnet werden, die die nach vorn gerichtete Umgebung des Fahrzeugs 105 darstellen. Die geschätzte Bewegung kann eine durch das Fahrzeug 105 zurückgelegte Entfernung und die Winkeldifferenz seines Kursvektors beinhalten. Der Computer 110 kann die geschätzte Bewegung verwenden und die Strahlwinkel, z. B. θ1 und θ2, werden verwendet, um die Differenz der lokalen Winkel, z. B. θlokal1 und θlokal2, des Fahrzeugs 308 zu bestimmen. Wie vorstehend beschrieben, bilden die entsprechenden Strahlwinkel und die lokalen Winkel den Ausrichtungswinkel des beobachteten Fahrzeugs 308. 9 veranschaulicht eine weitere Darstellung, in der Bilder von der Kamera 304 und einer Seitenkamera 902, z.B. dem Sensor 115, aufgenommen werden. Die Seitenkamera 902 kann Bilder bereitstellen, die in Bezug auf die durch die Kamera 304 aufgenommenen Bilder um neunzig Grad (90°) versetzt sind. In dieser Umsetzung stellen die Bildversätze eine zusätzliche Bedingung für das tiefe neuronale Netzwerk 400 bereit, da der Bildversatz für die Bilder bekannt ist.
  • Während des Trainings des tiefen neuronalen Netzwerks 400 nimmt die Kamera 304 des Fahrzeugs 105 mehrere Bilder auf, die verschiedene Blickwinkel des beobachteten Fahrzeugs 308 darstellen. Da das beobachtete Fahrzeug 308 stationär ist, wird die Änderung des lokalen Winkels allein durch die Änderung des Koordinatenachsensystems 302 des Fahrzeugs 105 aufgrund der Bewegung des Fahrzeugs 105 verursacht. Der Computer 110 verwendet die Eingabebilder, um den Strahlwinkel zu schätzen. Unter Verwendung des geschätzten Strahlwinkels und der Odometriedaten bestimmt der Computer 110 eine relative Differenz zwischen lokalen Winkeln des beobachteten Fahrzeugs 308. Unter Verwendung des geschätzten lokalen Winkels kann der Computer 110 den Ausrichtungswinkel des beobachteten Fahrzeugs 308 auf Grundlage des Strahlwinkels und des Ausrichtungswinkels bestimmen.
  • Das tiefe neuronale Netzwerk 400 kann über einen überwachten Trainingsprozess oder einen selbstüberwachten Trainingsprozess trainiert werden. In einer beispielhaften Umsetzung veranschaulichen die 10A und 10B einen beispielhaften Prozess zum Trainieren des DNN 400 gemäl einer oder mehreren Umsetzungen der vorliegenden Offenbarung. Wie in 10A gezeigt, empfängt ein DNN 400 während einer anfänglichen Trainingsphase einen Satz gekennzeichneter Trainingsbilder (z. B. Trainingsbilder 1005 und Trainingskennzeichnungen 1010). Die Trainingsbilder 1005 können Objekte innerhalb eines Sichtfelds (field of view - FOV) einer Fahrzeugkamera darstellen. Die Trainingskennzeichnungen 1010 können Objektbezeichnungen, Objektarten und/oder lokale Winkel umfassen, die dem beobachteten Fahrzeug 308 entsprechen. In einigen Fällen können Daten des Lidarsensors 115 als Ground-Truth verwendet werden. Nach der anfänglichen Trainingsphase wird in einer überwachten Trainingsphase ein Satz von N Trainingsbildern 1015 in das DNN 400 eingegeben. Das DNN 400 erzeugt Ausgaben, die die lokalen Winkel für jedes der N Trainingsbilder 1015 angeben.
  • 10B veranschaulicht ein Beispiel zum Erzeugen einer Ausgabe für ein Trainingsbild 1015, wie etwa ein nicht gekennzeichnetes Trainingsbild, der N Trainingsbilder 1015. Auf Grundlage des anfänglichen Trainings gibt das DNN 400 eine Vektordarstellung 1020 der lokalen Winkel des beobachteten Fahrzeugs 308 auf Grundlage der Bewegung des Fahrzeugs 105 aus. Die Vektordarstellung 1020 wird mit den Ground-Truth-Daten 1025 verglichen. Das DNN 400 aktualisiert Netzwerkparameter auf Grundlage des Vergleichs mit den Ground-Truth-Boxen 1025. Beispielsweise können die Netzwerkparameter, z. B. den Neuronen zugeordnete Gewichtungen, über Rückpropagierung aktualisiert werden. Das DNN 400 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 DNN 400 verwendet werden, um lokale Winkel zu schätzen, die den empfangenen Bildern entsprechen, wie in 10C gezeigt. Die Ausgabe des DNN 400 ist ein lokaler Winkel, den der Computer 110 verwenden kann, um den Ausrichtungswinkel und/oder die MDF-Pose des beobachteten Fahrzeugs 308 zu berechnen.
  • 11 veranschaulicht eine beispielhafte Umsetzung von selbstüberwachtem Training für das DNN 400. Wie gezeigt, kann das DNN 400 ein siamesisches neuronales Netzwerk 1100 umfassen, das ein erstes CNN 1102 und ein zweites CNN 1104 beinhaltet. Die CNNs 1102, 1104 können die gleichen Gewichtungen umfassen, um Vergleiche zwischen den Ausgaben der CNNs 1102, 1104 zu ermöglichen. Die Gewichtungen können auf Grundlage von Daten aktualisiert werden, die die durch den Computer 110 berechneten relativen Differenzen zwischen lokalen Winkeln darstellen. Die CNNs 1102, 1104 empfangen jeweils eine Eingabe, die das gleiche Einzelbild oder ein ähnliches Einzelbild umfassen kann. Ein ähnliches Einzelbild kann als ein anderes Bild des beobachteten Fahrzeugs 308 definiert sein, das von einer anderen Kamera, z. B. dem Sensor 115, des Fahrzeugs 105 aufgenommen wurde und dem durch die Kamera 304 aufgenommenen Einzelbild entspricht, z. B. ein Bild des beobachteten Fahrzeugs 308, das zum gleichen Zeitpunkt aufgenommen wurde.
  • Jedes CNN 1102, 1104 gibt einen geschätzten lokalen Winkel auf Grundlage der jeweiligen Eingabe aus. Die geschätzten lokalen Winkel werden einer Kontrastverlustfunktion 1106 bereitgestellt, und die Kontrastverlustfunktion 1106 erzeugt eine Differenz zwischen lokalen Winkeln, die eine Differenz zwischen den geschätzten lokalen Winkeln darstellt, die von den CNNs 1102, 1104 ausgegeben werden. Die Differenz zwischen lokalen Winkeln wird mit einem Wert eines geschätzten lokalen Winkels verglichen, der durch den Computer 110 auf Grundlage der Bewegung des Fahrzeugs 105 erzeugt wird. Der Vergleich kann verwendet werden, um die Gewichtungen der CNNs 1102, 1104 zu Trainingszwecken zu aktualisieren. Nachdem es trainiert ist, kann ein einzelnes CNN 1102, 1104 verwendet werden, um einen geschätzten absoluten lokalen Winkel auf Grundlage der Eingabebilder des beobachteten Fahrzeugs 308 in verschiedenen Zeitintervallen zu erzeugen.
  • Es wird in Betracht gezogen, dass das DNN 400 auch die anderen Komponenten der MDF-Pose des beobachteten Fahrzeugs 308 unter Verwendung ähnlicher Prozesse wie vorstehend beschrieben berechnen kann, z. B. unter Verwendung der Strahlwinkel und Odometriedaten, um Differenzen zwischen lokalen Winkeln zu bestimmen. Zum Beispiel können die lokale Gierkomponente und die lokale Nickkomponente für die MDF-Pose auf Grundlage eines oder mehrerer Eingabebilder bestimmt werden, die das beobachtete Fahrzeug in verschiedenen Zeitintervallen darstellen. Während des Testens des DNN 400 wird in Betracht gezogen, dass das DNN 400 mindestens ein Bild verwendet, um den lokalen Winkel des beobachteten Fahrzeugs 308 auszugeben. In einigen Fällen verwendet das DNN 400 ein einzelnes Bild, um den lokalen Winkel des beobachteten Fahrzeugs 308 zu bestimmen.
  • 12 veranschaulicht eine beispielhafte Umsetzung von selbstüberwachtem Training für das DNN 400. Wie gezeigt, kann das DNN 400 ein siamesisches neuronales Netzwerk 1200 umfassen, das ein erstes CNN 1202, ein zweites CNN 1204, ein drittes CNN 1206 und ein viertes CNN 1208 beinhaltet. Die CNNs 1202, 1204 können CNNs umfassen, die eine Tiefenkarte auf Grundlage der jeweiligen empfangenen Tiefenbilder ausgeben. Die Tiefenbilder können durch einen oder mehrere Sensoren 115 des Fahrzeugs 105 aufgenommen werden. Die CNNs 1206, 1208 umfassen CNNs, die den CNNs 1102, 1104 ähnlich sind, die einen geschätzten lokalen Winkel auf Grundlage der jeweiligen empfangenen Bilder ausgeben.
  • Das siamesische neuronale Netzwerk 1200 beinhaltet zudem Bereichsschichten 1210, 1212, die die Tiefenkarten und die geschätzten lokalen Winkel von den CNNs 1202, 1206 bzw. CNNs 1204, 1208 empfangen. Die Bereichsschichten 1210, 1212 erzeugen jeweils einen dreidimensionalen (3D) Begrenzungsrahmen auf Grundlage der entsprechenden Eingabe. Die 3D-Begrenzungsrahmen können um das Fahrzeug 308 entlang des Strahls 602 der Kamera 304 in einer Entfernung positioniert sein, die auf Grundlage der Tiefenkarte geschätzt wird. Die Bereichsschichten 1210, 1212 können jeweils den erzeugten 3D-Begrenzungsrahmen drehen.
  • Eine Kontrastverlustfunktion 1214 kann die von den Bereichsschichten 1210, 1212 erzeugten 3D-Begrenzungsrahmen empfangen, um eine 3D-Begrenzungsrahmen-Differenz zu erzeugen, die eine Differenz zwischen den erzeugten Begrenzungsrahmen darstellt. Der Vergleich kann verwendet werden, um die Gewichtungen der CNNs 1202, 1204, 1206, 1208 zu Trainingszwecken zu aktualisieren. Nachdem sie trainiert sind, können die 3D-Begrenzungsrahmen verwendet werden, um die X-Komponente, die Y-Komponente und die Z-Komponente für die MDF-Pose zu erzeugen.
  • 13 ist ein Ablaufdiagramm eines beispielhaften Prozesses 1300 zum Trainieren eines tiefen neuronalen Netzwerks, wie etwa des tiefen neuronalen Netzwerks 400. Blöcke des Prozesses 1300 können durch den Computer 110 oder den Computer 235 ausgeführt werden. Der Prozess 1300 beginnt bei Block 1305, in dem mindestens zwei Bilder empfangen werden, die zu zwei unterschiedlichen Zeitpunkten aufgenommen wurden. Jedes Bild, das empfangen wird, beinhaltet mindestens einen Abschnitt eines beobachteten Fahrzeugs. Bei Block 1310 wird die Odometrie für das Fahrzeug 105 empfangen. In einer beispielhaften Umsetzung kann der Computer 110 Odometriedaten für das Fahrzeug 105 auf Grundlage des empfangenen Bildes bestimmen oder Odometriemessungen von internen Messvorrichtungen, z.B. Sensoren 115, empfangen. Die Fahrzeugodometrie kann eine geschätzte Änderung der Position des Fahrzeugs 105 von einem Bild zu einem anderen und eine Winkeldifferenz des Kursvektors des Fahrzeugs 105 angeben. Bei Block 1315 werden Strahlwinkel des Fahrzeugs 105 auf Grundlage der Odometrie, die den Bildern entspricht, und/oder der Bildern bestimmt. Bei Block 1320 werden relative lokale Winkel für das beobachtete Fahrzeug auf Grundlage der Strahlwinkel und der Odometriedaten bestimmt. Bei Block 1325 wird die Differenz zwischen den relativen lokalen Winkeln bestimmt. Die Differenz zwischen relativen lokalen Winkeln und die Eingabebilder werden bei Block 1330 einem tiefen neuronalen Netzwerk zu Trainingszwecken bereitgestellt. Bei Block 1335 bestimmt das tiefe neuronale Netzwerk einen ersten relativen lokalen Winkel und einen zweiten relativen lokalen Winkel, die den Eingabebildern entsprechen.
  • Bei Block 1340 wird ein Kontrastverlust zwischen dem ersten relativen lokalen Winkel und dem zweiten relativen lokalen Winkel bestimmt. Bei Block 1345 wird eine Bestimmung vorgenommen, ob die Kontrastverlustausgabe größer als ein vorbestimmter Fehlerschwellenwert ist. Wenn die Kontrastverlustausgabe kleiner oder gleich dem vorbestimmten Fehlerschwellenwert ist, endet der Prozess 1300. Andernfalls wird das tiefe neuronale Netzwerk unter Verwendung der Kontrastverlustausgabe bei Block 1340 aktualisiert und der Prozess 1300 kehrt zu Block 1305 zurück. Zum Beispiel werden eine oder mehrere Gewichtungen, die den Knoten, wie etwa den Knoten 505, des tiefen neuronalen Netzwerks 400 zugeordnet sind, über geeignete Techniken, wie etwa Rückpropagierung mit Optimierungen, aktualisiert.
  • 14 ist ein Ablaufdiagramm eines beispielhaften Prozesses 1400 zum Bestimmen einer MDF-Pose eines Fahrzeugs über ein tiefes neuronales Netzwerk, wie etwa das tiefe neuronale Netzwerk 400. Blöcke des Prozesses 1400 können durch den Computer 110 ausgeführt werden. Der Prozess 1400 beginnt bei Block 1405, in dem ein Bild empfangen wird, das einen Abschnitt eines beobachteten Fahrzeugs darstellt. Bei Block 1410 kann der Computer 110 das empfangene Bild zuschneiden. Bei Block 1415 wird das Bild einem trainierten tiefen neuronalen Netzwerk bereitgestellt.
  • Bei Block 1420 bestimmt das trainierte tiefe neuronale Netzwerk eine oder mehrere MDF-Komponenten, die dem beobachteten Fahrzeug entsprechen. In einer beispielhaften Umsetzung kann das tiefe neuronale Netzwerk 400 nach dem Training nur einen Pfad des siamesischen neuronalen Netzwerks 1100 oder des siamesischen neuronalen Netzwerks 1200 zur Bestimmung der MDF-Posenkomponenten eines beobachteten Fahrzeugs 308 verwenden. Zum Beispiel können entweder das CNN 1102 oder das CNN 1104 in dem siamesischen neuronalen Netzwerk 1100 nach dem Training deaktiviert werden. In einem anderen Fall kann entweder das Paar von CNNs 1202, 1206 oder das Paar von CNNs 1204, 1208 in dem siamesischen neuronalen Netzwerk 1200 nach dem Training deaktiviert werden. Somit wird der aktivierte Pfad entweder des siamesischen neuronalen Netzes 1100 oder des siamesischen neuronalen Netzes 1200 zum Bestimmen von MDF-Posenkomponenten nach dem Training verwendet.
  • Bei Block 1425 wird eine Bestimmung vorgenommen, ob eine oder mehrere der Komponenten des Fahrzeugs 105 auf Grundlage der bestimmten MDF-Pose des beobachteten Fahrzeugs 308 betätigt werden sollen. Zum Beispiel kann der Computer 110 bestimmen, ob eine oder mehrere Komponenten des Fahrzeugs 105 betätigt werden sollen, um eine Geschwindigkeit des Fahrzeugs 105, eine Beschleunigung des Fahrzeugs 105, eine Richtung des Fahrzeugs 105 oder dergleichen zu ändern. Bei Block 1430 gibt der Computer 110, wenn eine Bestimmung zum Betätigen einer oder mehrerer Komponenten des Fahrzeugs 105 vorliegt, einen oder mehrere Befehle zum Betätigen der entsprechenden Komponenten des Fahrzeugs 105 aus. Der Prozess 1400 endet dann. Wenn die Bestimmung lautet, dass keine Betätigung des Fahrzeugs 105 erforderlich ist, endet der Prozess 1400.
  • Im Allgemeinen können die beschriebenen Rechensysteme und/oder - vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschliel 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 schliel en unter anderem Folgendes ein: 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 vorangehend 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, einschliel 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, einschliel 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) einschliel en, das ein beliebiges nicht transitorisches (z. B. materielles) Medium einschliel t, 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, einschliel lich unter anderem nicht flü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 üblicherweise einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein Übertragungsmedium oder mehrere Übertragungsmedien übertragen werden, darunter Koaxialkabel, Kupferdraht und Glasfaser, einschliel lich der Drähte, die einen an einen Prozessor einer ECU gekoppelten Systembus umfassen. Gängige Formen computerlesbarer Medien schliel en zum Beispiel Folgendes ein: 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 von einem 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, einschliel 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 eingeschlossen, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorangehend 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äl 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 ausgedrückt dienen die Beschreibungen von Prozessen in dieser Schrift dem Zwecke der Veranschaulichung bestimmter Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Ansprüche einschränken.
  • Dementsprechend versteht es sich, dass die vorangehende 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 vorangehenden Beschreibung ersichtlich. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorangehende Beschreibung festgelegt werden, sondern stattdessen unter Bezugnahme auf die beigefügten Patentansprüche in Zusammenhang mit dem vollständigen Umfang von Äquivalenten, zu denen solche Patentansprü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äl der vorliegenden Erfindung ist ein System bereitgestellt, das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor zu Folgendem programmiert ist: Empfangen eines ersten Bildes, das von einer Kamera zu einem ersten Zeitpunkt aufgenommen wurde, wobei das erste Bild mindestens einen Abschnitt von einem beobachteten Fahrzeug beinhaltet; Bestimmen eines ersten Strahlwinkels auf Grundlage eines Koordinatensystems eines Eigenfahrzeugs und eines Koordinatensystems des beobachteten Fahrzeugs, der dem ersten Bild entspricht; Empfangen eines zweiten Bildes, das von der Kamera zu einem zweiten Zeitpunkt aufgenommen wurde, wobei das zweite Bild mindestens einen Abschnitt des beobachteten Fahrzeugs beinhaltet, der an einem anderen Blickwinkel ausgerichtet ist; Bestimmen eines zweiten Strahlwinkels auf Grundlage eines Koordinatensystems des Eigenfahrzeugs und des Koordinatensystems des beobachteten Fahrzeugs, der dem zweiten Bild entspricht; Bestimmen einer Differenz zwischen lokalen Winkeln auf Grundlage des ersten Strahlwinkels und des zweiten Strahlwinkels; und Trainieren eines tiefen neuronalen Netzwerks unter Verwendung der Differenz zwischen lokalen Winkeln, des ersten Bildes und des zweiten Bildes.
  • Gemäl einer Ausführungsform ist der Prozessor ferner dazu programmiert, Fahrzeugodometriedaten zu empfangen; und eine Differenz zwischen lokalen Winkeln auf Grundlage des ersten Strahlwinkels, des zweiten Strahlwinkels und der Fahrzeugodometriedaten zu bestimmen.
  • Gemäl einer Ausführungsform umfasst das tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk.
  • Gemäl einer Ausführungsform umfasst das tiefe neuronale Netzwerk ein siamesisches neuronales Netzwerk.
  • Gemäl einer Ausführungsform umfasst das siamesische neuronale Netzwerk ein erstes neuronales Faltungsnetzwerk und ein zweites neuronales Faltungsnetzwerk.
  • Gemäl einer Ausführungsform bestimmt das siamesische neuronale Netzwerk einen ersten lokalen Winkel auf Grundlage eines ersten Farbbildes und einen zweiten lokalen Winkel auf Grundlage eines zweiten Farbbildes und bestimmt einen Kontrastverlust auf Grundlage einer Differenz zwischen dem ersten lokalen Winkel und dem zweiten lokalen Winkel.
  • Gemäl einer Ausführungsform ist der Prozessor ferner zu Folgendem programmiert: Aktualisieren des tiefen neuronalen Netzwerks auf Grundlage des Kontrastverlusts.
  • Gemäl einer Ausführungsform ist der Prozessor ferner dazu programmiert, mindestens eine Gewichtung, die einem Neuron des tiefen neuronalen Netzwerks zugeordnet ist, auf Grundlage des Kontrastverlusts zu aktualisieren.
  • Gemäl einer Ausführungsform umfasst die Kamera eine monokulare Kamera.
  • Gemäl einer Ausführungsform ist der Prozessor ferner dazu programmiert, eine Gierkomponente, die dem beobachteten Fahrzeug entspricht, über das trainierte tiefe neuronale Netzwerk auf Grundlage mindestens eines von dem ersten Bild oder dem zweiten Bild zu berechnen.
  • Gemäl einer Ausführungsform ist der Prozessor ferner dazu programmiert, eine Nickkomponente, eine Rollkomponente, eine x-Komponente, eine y-Komponente und eine z-Komponente, die dem beobachteten Fahrzeug entsprechen, über das trainierte tiefe neuronale Netzwerk auf Grundlage mindestens eines von dem ersten Bild oder dem zweiten Bild zu berechnen.
  • Gemäl der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Empfangen eines ersten Bildes, das von einer Kamera zu einem ersten Zeitpunkt aufgenommen wurde, wobei das erste Bild mindestens einen Abschnitt von einem beobachteten Fahrzeug beinhaltet; Bestimmen eines ersten Strahlwinkels auf Grundlage eines Koordinatensystems eines Eigenfahrzeugs und eines Koordinatensystems des beobachteten Fahrzeugs, der dem ersten Bild entspricht; Empfangen eines zweiten Bildes, das von der Kamera zu einem zweiten Zeitpunkt aufgenommen wurde, wobei das zweite Bild mindestens einen Abschnitt des beobachteten Fahrzeugs beinhaltet, der an einem anderen Blickwinkel ausgerichtet ist; Bestimmen eines zweiten Strahlwinkels auf Grundlage eines Koordinatensystems des Eigenfahrzeugs und des Koordinatensystems des beobachteten Fahrzeugs, der dem zweiten Bild entspricht; Bestimmen einer Differenz zwischen lokalen Winkeln auf Grundlage des ersten Strahlwinkels und des zweiten Strahlwinkels; und Trainieren eines tiefen neuronalen Netzwerks unter Verwendung der Differenz zwischen lokalen Winkeln, des ersten Bildes und des zweiten Bildes.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren das Empfangen von Fahrzeugodometriedaten; und das Bestimmen einer Differenz zwischen lokalen Winkeln auf Grundlage des ersten Strahlwinkels, des zweiten Strahlwinkels und der Fahrzeugodometriedaten.
  • In einem Aspekt der Erfindung umfasst das tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk.
  • In einem Aspekt der Erfindung umfasst das tiefe neuronale Netzwerk ein siamesisches neuronales Netzwerk.
  • In einem Aspekt der Erfindung umfasst das siamesische neuronale Netzwerk ein erstes neuronales Faltungsnetzwerk und ein zweites neuronales Faltungsnetzwerk.
  • In einem Aspekt der Erfindung bestimmt das siamesische neuronale Netzwerk einen ersten lokalen Winkel auf Grundlage eines ersten Farbbildes und einen zweiten lokalen Winkel auf Grundlage eines zweiten Farbbildes und bestimmt einen Kontrastverlust auf Grundlage einer Differenz zwischen dem ersten lokalen Winkel und dem zweiten lokalen Winkel.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren das Aktualisieren des tiefen neuronalen Netzwerkes auf Grundlage des Kontrastverlusts.
  • Gemäl der vorliegenden Erfindung ist ein System bereitgestellt, das einen Computer aufweist, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, sodass der Prozessor zu Folgendem programmiert ist: Empfangen eines Bildes, das mindestens einen Abschnitt eines beobachteten Fahrzeugs beinhaltet, an einem trainierten tiefen neuronalen Netzwerk; und Bestimmen eines lokalen Ausrichtungswinkels des beobachteten Fahrzeugs auf Grundlage des Bildes über das trainierte tiefe neuronale Netzwerk, wobei das trainierte tiefe neuronale Netzwerk ein siamesisches neuronales Netzwerk umfasst, das ein aktiviertes neuronales Netzwerk und ein deaktiviertes neuronales Netzwerk beinhaltet, wobei das aktivierte tiefe neuronale Netzwerk den lokalen Ausrichtungswinkel des beobachteten Fahrzeugs bestimmt.
  • Gemäl einer Ausführungsform ist der Prozessor ferner dazu programmiert, eine Gierkomponente, eine Nickkomponente, eine Rollkomponente, eine x-Komponente, eine y-Komponente und eine z-Komponente, die dem beobachteten Fahrzeug entsprechen, über das trainierte tiefe neuronale Netzwerk auf Grundlage des lokalen Ausrichtungswinkels und des Bildes zu berechnen.

Claims (11)

  1. System, das einen Computer umfasst, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen beinhaltet, durch die der Prozessor für Folgendes programmiert ist: Empfangen eines ersten Bildes, das von einer Kamera zu einem ersten Zeitpunkt aufgenommen wurde, wobei das erste Bild mindestens einen Abschnitt eines beobachteten Fahrzeugs beinhaltet; Bestimmen eines ersten Strahlwinkels auf Grundlage eines Koordinatensystems eines Eigenfahrzeugs und eines Koordinatensystems des beobachteten Fahrzeugs, der dem ersten Bild entspricht; Empfangen eines zweiten Bildes, das von der Kamera zu einem zweiten Zeitpunkt aufgenommen wurde, wobei das zweite Bild mindestens einen Abschnitt des beobachteten Fahrzeugs beinhaltet, der an einem anderen Blickwinkel ausgerichtet ist; Bestimmen eines zweiten Strahlwinkels auf Grundlage eines Koordinatensystems des Eigenfahrzeugs und des Koordinatensystems des beobachteten Fahrzeugs, der dem zweiten Bild entspricht; Bestimmen einer Differenz zwischen lokalen Winkeln auf Grundlage des ersten Strahlwinkels und des zweiten Strahlwinkels; und Trainieren eines tiefen neuronalen Netzwerks unter Verwendung der Differenz zwischen lokalen Winkeln, des ersten Bildes und des zweiten Bildes.
  2. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem programmiert ist: Empfangen von Fahrzeugodometriedaten; und Bestimmen einer Differenz zwischen lokalen Winkeln auf Grundlage des ersten Strahlwinkels, des zweiten Strahlwinkels und der Fahrzeugodometriedaten.
  3. System nach Anspruch 1, wobei das tiefe neuronale Netzwerk ein neuronales Faltungsnetzwerk umfasst.
  4. System nach Anspruch 1, wobei das tiefe neuronale Netzwerk ein siamesisches neuronales Netzwerk umfasst.
  5. System nach Anspruch 4, wobei das siamesische neuronale Netzwerk ein erstes neuronales Faltungsnetzwerk und ein zweites neuronales Faltungsnetzwerk umfasst.
  6. System nach Anspruch 4, wobei das siamesische neuronale Netzwerk einen ersten lokalen Winkel auf Grundlage eines ersten Farbbildes und einen zweiten lokalen Winkel auf Grundlage eines zweiten Farbbildes bestimmt und einen Kontrastverlust auf Grundlage einer Differenz zwischen dem ersten lokalen Winkel und dem zweiten lokalen Winkel bestimmt.
  7. System nach Anspruch 6, wobei der Prozessor ferner zu Folgendem programmiert ist: Aktualisieren des tiefen neuronalen Netzwerkes auf Grundlage des Kontrastverlustes.
  8. System nach Anspruch 7, wobei der Prozessor ferner zu Folgendem programmiert ist: Aktualisieren mindestens einer Gewichtung, die einem Neuron des tiefen neuronalen Netzwerks zugeordnet ist, auf Grundlage des Kontrastverlusts.
  9. System nach Anspruch 1, wobei die Kamera eine monokulare Kamera umfasst.
  10. System nach Anspruch 1, wobei der Prozessor ferner zu Folgendem programmiert ist: Berechnen einer Gierkomponente, die dem beobachteten Fahrzeug entspricht, über das trainierte tiefe neuronale Netzwerk auf Grundlage mindestens eines von dem ersten Bild oder dem zweiten Bild.
  11. System nach Anspruch 10, wobei der Prozessor ferner zu Folgendem programmiert ist: Berechnen einer Nickkomponente, einer Rollkomponente, einer x-Komponente, einer y-Komponente und einer z-Komponente, die dem beobachteten Fahrzeug entsprechen, über das trainierte tiefe neuronale Netzwerk auf Grundlage mindestens eines von dem ersten Bild oder dem zweiten Bild.
DE102021112616.9A 2020-06-08 2021-05-14 Selbstüberwachte schätzung einer beobachteten fahrzeugpose Pending DE102021112616A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/895,267 2020-06-08
US16/895,267 US11887323B2 (en) 2020-06-08 2020-06-08 Self-supervised estimation of observed vehicle pose

Publications (1)

Publication Number Publication Date
DE102021112616A1 true DE102021112616A1 (de) 2021-12-09

Family

ID=78605401

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021112616.9A Pending DE102021112616A1 (de) 2020-06-08 2021-05-14 Selbstüberwachte schätzung einer beobachteten fahrzeugpose

Country Status (3)

Country Link
US (1) US11887323B2 (de)
CN (1) CN114118350A (de)
DE (1) DE102021112616A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663728B2 (en) * 2020-01-16 2023-05-30 Samsung Electronics Co., Ltd. Depth estimation method and apparatus
US11619727B2 (en) * 2020-06-29 2023-04-04 Ford Global Technologies, Llc Determining multi-degree-of-freedom pose for sensor calibration
EP3985411A1 (de) * 2020-10-19 2022-04-20 Aptiv Technologies Limited Verfahren und vorrichtung zur erkennung von objekten

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650030B2 (en) * 2004-12-03 2010-01-19 Sarnoff Corporation Method and apparatus for unsupervised learning of discriminative edge measures for vehicle matching between non-overlapping cameras
US20120114181A1 (en) 2010-11-01 2012-05-10 Borthwick James R Vehicle pose estimation and load profiling
US9013286B2 (en) * 2013-09-23 2015-04-21 Volkswagen Ag Driver assistance system for displaying surroundings of a vehicle
US9727793B2 (en) * 2015-12-15 2017-08-08 Honda Motor Co., Ltd. System and method for image based vehicle localization
US10839226B2 (en) * 2016-11-10 2020-11-17 International Business Machines Corporation Neural network training
CN108898628A (zh) 2018-06-21 2018-11-27 北京纵目安驰智能科技有限公司 基于单目的车辆三维目标姿态估计方法、系统、终端和存储介质
US20200020117A1 (en) 2018-07-16 2020-01-16 Ford Global Technologies, Llc Pose estimation
EP3853764A1 (de) * 2018-09-20 2021-07-28 NVIDIA Corporation Trainieren neuronaler netze zur re-identifikation von fahrzeugen
DE102019101737A1 (de) * 2019-01-24 2020-07-30 Sick Ag Verfahren zur Überwachung eines Schutzbereichs
US11276189B2 (en) * 2019-03-06 2022-03-15 Qualcomm Incorporated Radar-aided single image three-dimensional depth reconstruction
US10475208B1 (en) * 2019-05-02 2019-11-12 Capital One Services, Llc Vehicle analysis platform
US11077850B2 (en) * 2019-09-06 2021-08-03 Lyft, Inc. Systems and methods for determining individualized driving behaviors of vehicles
US20210125036A1 (en) * 2019-10-29 2021-04-29 Nvidia Corporation Determining object orientation from an image with machine learning
US11068549B2 (en) * 2019-11-15 2021-07-20 Capital One Services, Llc Vehicle inventory search recommendation using image analysis driven by machine learning
US20210150757A1 (en) * 2019-11-20 2021-05-20 Nvidia Corporation Training and inferencing using a neural network to predict orientations of objects in images
US20210335007A1 (en) * 2020-04-27 2021-10-28 GM Global Technology Operations LLC Active targets for automatic optical sensor alignment

Also Published As

Publication number Publication date
US20210383167A1 (en) 2021-12-09
CN114118350A (zh) 2022-03-01
US11887323B2 (en) 2024-01-30

Similar Documents

Publication Publication Date Title
DE102020103455A1 (de) Verfahren und system zur ausführung einer zusammengesetzten verhaltensrichtlinie für ein autonomes fahrzeug
DE102017120112A1 (de) Tiefenkartenschätzung mit stereobildern
DE102021112616A1 (de) Selbstüberwachte schätzung einer beobachteten fahrzeugpose
DE102019133703A1 (de) Verfahren und systeme zur herstellung und lokalisierung für ein fahrzeug
DE102021108470A1 (de) Realistische bildperspektiventransformation unter verwendung neuronaler netze
DE102020128978A1 (de) Trainieren von tiefen neuronalen netzwerken mit synthetischen bildern
DE102021104044A1 (de) Neuronales netzwerk zur positionsbestimmung und objektdetektion
DE102021109413A1 (de) Augmentation von fahrzeugdaten
DE102019115611A1 (de) Objektverfolgung im toten winkel
DE102019127062A1 (de) Transportinfrastrukturkommunikation und -steuerung
DE102022114047A1 (de) Bildannotation für tiefe neuronale netze
DE102022114048A1 (de) Bildentzerrung
DE102022123187A1 (de) Adaptives Reduzieren von neuronalen Netzsystemen
DE102022123680A1 (de) Objektposenschätzung
DE102021104184A1 (de) Fahrzeugsteuersystem
DE102022108505A1 (de) Objekterfassung durch ein neuronales netz
DE102020122086A1 (de) Messen von vertrauen in tiefen neuronalen netzwerken
DE112021005806T5 (de) Systeme und Verfahren zu einer kamerabasierten Verringerung falsch erkannter Radarspuren
DE102021104178A1 (de) Dynamisch gerouteter felddiskriminator
DE102021111977A1 (de) Dreidimensionale verkehrszeichenerkennung
DE102022123358A1 (de) Frequenzbasierte merkmalsbeschränkung für ein neuronales netz
DE102023101585A1 (de) Fahrzeugwegverifizierung
DE102021122407A1 (de) Segmentierung und klassifizierung von punktwolkendaten
DE102022124848A1 (de) System und prozess unter verwendung homomorpher verschlüsselung, um parameter neuronaler netze für ein kraftfahrzeug zu sichern
DE102020134530A1 (de) Rückaufprallwarnsystem mit temporärem cnn

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009660000

Ipc: G06V0030194000