DE102021132853A1 - Auf deep learning basierende kamerakalibrierung - Google Patents

Auf deep learning basierende kamerakalibrierung Download PDF

Info

Publication number
DE102021132853A1
DE102021132853A1 DE102021132853.5A DE102021132853A DE102021132853A1 DE 102021132853 A1 DE102021132853 A1 DE 102021132853A1 DE 102021132853 A DE102021132853 A DE 102021132853A DE 102021132853 A1 DE102021132853 A1 DE 102021132853A1
Authority
DE
Germany
Prior art keywords
image
camera
neural network
projection
parameters
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
DE102021132853.5A
Other languages
English (en)
Inventor
Yimu Wang
Wanzhi Zhang
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.)
Motional AD LLC
Original Assignee
Motional AD 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 Motional AD LLC filed Critical Motional AD LLC
Publication of DE102021132853A1 publication Critical patent/DE102021132853A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • 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/10004Still image; Photographic image
    • 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/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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/10048Infrared 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/30244Camera pose
    • 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
    • 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)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Traffic Control Systems (AREA)

Abstract

Es werden Verfahren zur Kamerakalibrierung basierend auf Deep Learning bereitgestellt, die das Empfangen eines ersten und zweiten durch eine Kamera aufgenommenen Bildes, das Verarbeiten des ersten Bildes unter Verwendung eines ersten neuronalen Netzes zum Bestimmen einer Tiefe des ersten Bildes, das Verarbeiten des ersten Bildes und des zweiten Bildes unter Verwendung eines zweiten neuronalen Netzes zum Bestimmen einer Transformation zwischen einer Pose der Kamera für das erste Bild und einer Pose der Kamera für das zweite Bild, das Erzeugen eines Projektionsbildes basierend auf der Tiefe des ersten Bildes, der Transformation der Kamerapose und kamerainternen Parametern, das Vergleichen des zweiten Bildes und des Projektionsbildes zum Bestimmen eines Reprojektionsfehlers und das Anpassen mindestens eines der kamerainternen Parameter basierend auf dem Reprojektionsfehler umfassen können. Außerdem werden Systeme und Computerprogrammprodukte bereitgestellt.

Description

  • HINTERGRUND
  • Geometrische Kamerakalibrierung oder einfach Kamerakalibrierung ist der Prozess zur Schätzung der Parameter einer Kamera, die ein bestimmtes Bild oder Video erzeugt hat. In einem Beispiel umfasst die Kamerakalibrierung die Verwendung einer Kalibrierungsvorrichtung, um eine Entsprechung zwischen zweidimensionalen (2D) Bildpunkten und dreidimensionalen (3D) Weltpunkten zu bestimmen und die Kameraparameter unter Verwendung der bestimmten Entsprechung zu schätzen. Nach der Schätzung können diese Parameter u. a. zur Korrektur von Objektivverzeichnungen, zur Bestimmung der Kameraposition in der Umgebung oder zur Messung der Größe eines Objekts in der Umgebung verwendet werden.
  • Figurenliste
    • 1 ist ein Beispiel für eine Umgebung, in der ein Fahrzeug mit einer oder mehreren Komponenten eines autonomen Systems implementiert werden kann;
    • 2 ist ein Diagramm eines oder mehrerer Systeme eines Fahrzeugs mit einem autonomen System;
    • 3 ist ein Diagramm von Komponenten eines oder mehrerer Vorrichtungen und/oder Systemen von 1 und 2;
    • 4A ist ein Diagramm bestimmter Komponenten eines autonomen Systems;
    • 4B ist ein Diagramm einer Implementierung eines neuronalen Netzes;
    • 4C und 4D sind Diagramme, die ein Beispiel für den Betrieb eines neuronalen Netzes zeigen;
    • 5 ist ein Diagramm eines Systems für eine auf Deep Learning basierende Kamerakalibrierung; und
    • 6 ist ein Flussdiagramm eines Prozesses für eine auf Deep Learning basierende Kamerakalibrierung.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der vorliegenden Offenbarung zu ermöglichen. Es wird jedoch offensichtlich, dass die durch die vorliegende Offenbarung beschriebenen Ausführungsformen auch ohne diese spezifischen Details umgesetzt werden können. In anderen Fällen werden bekannte Strukturen und Vorrichtungen in Blockdiagrammform dargestellt, um eine unnötige Verschleierung der Aspekte der vorliegenden Offenbarung zu vermeiden.
  • Zur leichteren Beschreibung sind in den Zeichnungen spezifische Anordnungen oder Reihenfolgen von schematischen Elementen abgebildet, wie zum Beispiel solche, die Systeme, Vorrichtungen, Module, Anweisungsblöcke, Datenelemente und/oder dergleichen darstellen. Der Fachmann wird jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht bedeuten soll, dass eine bestimmte Reihenfolge oder Sequenz der Bearbeitung oder eine Trennung der Prozesse erforderlich ist, sofern dies nicht ausdrücklich als erforderlich beschrieben ist. Ferner soll die Aufnahme eines schematischen Elements in eine Zeichnung nicht bedeuten, dass dieses Element in allen Ausführungsformen erforderlich ist oder dass die durch dieses Element dargestellten Merkmale in einigen Ausführungsformen nicht in andere Elemente aufgenommen oder mit anderen Elementen kombiniert werden dürfen, sofern dies nicht ausdrücklich als so gefordert beschrieben ist.
  • Ferner ist in den Zeichnungen, in denen Verbindungselemente, wie beispielsweise durchgezogene oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, Beziehung oder Verknüpfung zwischen oder unter zwei oder mehreren anderen schematischen Elementen darzustellen, das Fehlen solcher Verbindungselemente nicht so zu verstehen, dass keine Verbindung, Beziehung oder Verknüpfung bestehen kann. Mit anderen Worten werden einige Verbindungen, Zusammenhänge oder Verknüpfungen zwischen Elementen in den Zeichnungen nicht dargestellt, um die Offenbarung nicht zu verschleiern. Zur leichteren Veranschaulichung kann außerdem ein einzelnes Verbindungselement verwendet werden, um mehrere Verbindungen, Zusammenhänge oder Verknüpfungen zwischen Elementen darzustellen. Wenn zum Beispiel ein Verbindungselement die Kommunikation von Signalen, Daten oder Anweisungen (z. B. „Softwareanweisungen“) darstellt, sollte der Fachmann verstehen, dass ein solches Element einen oder mehrere Signalwege (z. B. einen Bus) darstellen kann, je nachdem, was erforderlich ist, um die Kommunikation zu bewirken.
  • Obwohl die Begriffe „erste“, „zweite“, „dritte“ und/oder dergleichen zur Beschreibung verschiedener Elemente verwendet werden, sollen diese Elemente nicht durch diese Begriffe eingeschränkt werden. Die Begriffe „erste“, „zweite“, „dritte“ und/oder dergleichen dienen lediglich dazu, ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als zweiter Kontakt bezeichnet sein, und in ähnlicher Weise könnte ein zweiter Kontakt als dritter Kontakt bezeichnet sein, ohne vom Schutzbereich der beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, aber sie sind nicht derselbe Kontakt.
  • Die Terminologie, die bei der Beschreibung der verschiedenen hier beschriebenen Ausführungsformen verwendet wird, dient lediglich der Beschreibung bestimmter Ausführungsformen und ist nicht als einschränkend beabsichtigt. Bei der Beschreibung der verschiedenen beschriebenen Ausführungsformen und der beigefügten Ansprüche sollen die Singularformen „ein“, „eine“ sowie „der“, „die“, „das“ auch die Pluralformen einschließen und können austauschbar mit „einem oder mehreren“ oder „mindestens einem“ verwendet werden, sofern der Zusammenhang nicht eindeutig etwas anderes vorgibt. Es versteht sich auch, dass der Begriff „und/oder“ sich hier auf alle möglichen Kombinationen eines oder mehrerer der zugehörigen aufgelisteten Punkte bezieht und diese mit einschließt. Es versteht sich ferner, dass die Begriffe „enthalten“, „einschließlich“, „umfassen“, und/oder „umfassend“ bei Verwendung in dieser Beschreibung das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente und/oder Komponenten davon angibt, aber nicht das Vorhandensein oder Hinzufügen eines/einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente, Komponenten und/oder Gruppen davon ausschließt.
  • Die Begriffe „Kommunikation“ und „kommunizieren“ beziehen sich hier mindestens auf eines von Empfang, Übertragung, Übermittlung, Bereitstellung und/oder dergleichen von Informationen (oder Informationen, die z. B. durch Daten, Signale, Nachrichten, Anweisungen, Befehle und/oder dergleichen dargestellt werden). Wenn eine Einheit (z. B. eine Vorrichtung, ein System, eine Komponente einer Vorrichtung oder eines Systems, Kombinationen davon und/oder dergleichen) mit einer anderen Einheit in Kommunikation steht, bedeutet dies, dass diese eine Einheit in der Lage ist, direkt oder indirekt Informationen aus der anderen Einheit zu empfangen und/oder Informationen an die andere Einheit zu senden (z. B. zu übertragen). Dies kann sich auf eine direkte oder indirekte Verbindung beziehen, die von Hause aus drahtgebunden und/oder drahtlos ist. Darüber hinaus können zwei Einheiten miteinander kommunizieren, obwohl die übertragenen Informationen zwischen der ersten und der zweiten Einheit geändert, verarbeitet, weitergegeben und/oder weitergeleitet werden können. So kann beispielsweise eine erste Einheit mit einer zweiten Einheit in Kommunikation stehen, obwohl die erste Einheit passiv Informationen empfängt und nicht aktiv Informationen an die zweite Einheit überträgt. Als weiteres Beispiel kann eine erste Einheit mit einer zweiten Einheit in Kommunikation stehen, wenn mindestens eine Zwischeneinheit (z. B. eine dritte Einheit, die sich zwischen der ersten und der zweiten Einheit befindet) die aus der ersten Einheit empfangenen Informationen verarbeitet und die verarbeiteten Informationen an die zweite Einheit überträgt. In einigen Ausführungsformen kann sich eine Nachricht auf ein Netzwerkpaket (z. B. ein Datenpaket und/oder dergleichen) beziehen, das Daten enthält.
  • Der Begriff „falls“ ist hier gegebenenfalls so auszulegen, dass er je nach Zusammenhang „wenn“ oder „bei“ oder „als Reaktion auf das Bestimmen“ oder „als Reaktion auf das Erkennen“ und/oder dergleichen bedeutet. In ähnlicher Weise ist die Formulierung „falls bestimmt wird“ oder „falls [ein angegebener Zustand oder ein Ereignis] erkannt wird“ je nach Zusammenhang gegebenenfalls so auszulegen, dass sie „bei Bestimmung“, „als Reaktion auf das Bestimmen“, „bei Erkennen [des angegebenen Zustands oder Ereignisses]“ oder „als Reaktion auf das Erkennen [des angegebenen Zustands oder Ereignisses]“ und/oder dergleichen bedeutet. Auch die hier verwendeten Begriffe „hat“, „haben“, „aufweisen“ oder dergleichen sind als offene Begriffe zu verstehen. Ferner ist die Formulierung „basierend auf“ in der Bedeutung „mindestens teilweise basierend auf“ beabsichtigt, sofern nicht ausdrücklich etwas anderes angegeben ist.
  • Im Folgenden wird im Detail Bezug auf Ausführungsformen genommen, deren Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der verschiedenen beschriebenen Ausführungsformen zu ermöglichen. Jedoch wird für einen durchschnittlichen Fachmann deutlich sein, dass die verschiedenen beschriebenen Ausführungsformen auch ohne diese spezifischen Details umgesetzt werden können. In anderen Fällen sind allgemein bekannte Verfahren, Vorgehensweisen, Komponenten, Schaltungen und Netzwerke nicht ausführlich beschrieben, um eine unnötige Verschleierung der Aspekte der Ausführungsformen zu vermeiden.
  • Allgemeiner Überblick
  • In einigen Aspekten und/oder Ausführungsformen beinhalten und/oder implementieren die hier beschriebenen Systeme, Verfahren und Computerprogrammprodukte eine auf Deep Learning basierende Kamerakalibrierung. In einem Beispiel wird eine Kamera eines Computer-Vision-Systems durch Erzeugen einer Projektion basierend auf einem ersten Bild und Vergleichen mit einem zweiten Bild kalibriert. Beispielsweise werden das durch die Kamera aufgenommene erste und zweite Bild mithilfe von Deep-Learning-Modellen verarbeitet, um Tiefeninformationen für das erste Bild und eine Transformation zwischen dem ersten Bild und dem zweiten Bild zu bestimmen. Basierend auf den Tiefeninformationen für das erste Bild, der Transformation zwischen dem ersten Bild und dem zweiten Bild sowie den kamerainternen Parametern wird eine Projektion erstellt. Die Projektion und das zweite Bild werden verglichen, um einen Reprojektionsfehler an einigen oder allen Punkten der Projektion zu bestimmen. Die Parameter der Deep-Learning-Modelle oder der Kamera oder von beidem werden basierend auf dem Reprojektionsfehler angepasst, um den Fehler zu verringern und die Kamera zu kalibrieren. In einer Ausführungsform wird die Kamera als kalibriert eingestuft, wenn der Reprojektionsfehler einen Schwellenwert erreicht.
  • Durch die Implementierung der hier beschriebenen Systeme, Verfahren und Computerprogrammprodukte kann ein Kamerakalibrierungsprozess aktualisiert werden, was zu einer genaueren Kalibrierung der Kamera führt. Im Allgemeinen ermöglichen die beschriebenen Techniken das Kalibrieren einer Kamera mit weniger Einschränkungen im Vergleich zu bestimmten Kalibrierungsverfahren. Im Gegensatz zu Verfahren, die eine vordefinierte Bildsequenz zur Kalibrierung erfordern, können die beschriebenen Techniken zur Kalibrierung beliebiger Bilder oder Videosequenzen verwendet werden. Darüber hinaus benötigen die beschriebenen Techniken keine Kalibrierungsvorrichtung (z. B. ein Schachbrett, ein Damebrett, eine Zielscheibe, einen Satz von Symbolen usw.). So können die beschriebenen Techniken in Echtzeit durchgeführt werden, was die Anforderungen im Zusammenhang mit bestimmten Kalibrierungsprozessen (z. B. dass sich die Kameras in einer bestimmten Umgebung wie einem Kalibrierungsraum befinden müssen, bestimmte Kalibrierungsvorrichtungen verwendet werden müssen usw.) erheblich reduziert. Mit den hier beschriebenen Techniken kann beispielsweise eine Kamera, die mit einem Sichtsystem eines Fahrzeugs verbunden ist, in Echtzeit (z. B. während des Fahrzeugbetriebs) kalibriert werden, ohne dass das Fahrzeug zu einer vorgegebenen Kalibrierungsvorrichtung fahren muss, um eine vordefinierte Folge von Kalibrierungsbildern aufzunehmen. Die hier beschriebenen Techniken können auch zur Verbesserung der Kalibrierung anderer Sensoren, wie z. B. einer Trägheitsmesseinheit (Inertial Measurement Unit, IMU), verwendet werden. So können beispielsweise ein oder mehrere neuronale Netze verwendet werden, um die IMU oder einen anderen Sensor zu modellieren und Kalibrierungsparameter für das Modell zu ermitteln, die den Fehler zwischen der Ausgabe des Modells und einer Referenzmessung minimieren.
  • In 1 ist ein Beispiel für eine Umgebung 100 dargestellt, in der sowohl Fahrzeuge mit autonomen Systemen als auch Fahrzeuge ohne solche Systeme betrieben werden. Wie dargestellt, umfasst die Umgebung 100 Fahrzeuge 102a-102n, Objekte 104a-104n, Routen 106a-106n, ein Gebiet 108, eine Fahrzeug-zu-Infrastruktur-Vorrichtung (V21) 110, ein Netzwerk 112, ein entfernt gelegenes autonomes Fahrzeug(AF)-System 114, ein Flottenverwaltungssystem 116 und ein V2I-System 118. Die Fahrzeuge 102a-102n, die Fahrzeug-zu-Infrastruktur(V21)-Vorrichtung 110, das Netzwerk 112, das autonome Fahrzeug(AF)-System 114, das Flottenverwaltungssystem 116 und das V2l-System 118 verbinden sich untereinander (z. B. stellen eine Verbindung her zwecks Kommunikation und/oder dergleichen) über drahtgebundene Verbindungen, drahtlose Verbindungen oder eine Kombination aus drahtgebundenen und drahtlosen Verbindungen. In einigen Ausführungsformen sind die Objekte 104a-104n mit mindestens einem der Fahrzeuge 102a-102n, der Fahrzeug-zu-Infrastruktur(V2I)-Vorrichtung 110, dem Netzwerk 112, dem autonomen Fahrzeug(AF)-System 114, dem Flottenverwaltungssystem 116 und dem V2I-System 118 über drahtgebundene Verbindungen, drahtlose Verbindungen oder eine Kombination aus drahtgebundenen und drahtlosen Verbindungen verbunden.
  • Die Fahrzeuge 102a-102n (einzeln als Fahrzeug 102 und insgesamt als Fahrzeuge 102 bezeichnet) enthalten mindestens eine Vorrichtung, die für den Transport von Gütern und/oder Personen ausgelegt ist. In einigen Ausführungsformen sind die Fahrzeuge 102 dazu ausgelegt, über das Netzwerk 112 mit der V21-Vorrichtung 110, dem entfernt gelegenen AF-System 114, dem Flottenverwaltungssystem 116 und/oder dem V2l-System 118 zu kommunizieren. In einigen Ausführungsformen umfassen die Fahrzeuge 102 Autos, Busse, Lastwagen, Züge und/oder dergleichen. In einigen Ausführungsformen sind die Fahrzeuge 102 gleich oder ähnlich wie die hier beschriebenen Fahrzeuge 200 (siehe 2). In einigen Ausführungsformen ist ein Fahrzeug 200 einer Gruppe von Fahrzeugen 200 einer autonomen Flottenverwaltung zugeordnet. In einigen Ausführungsformen fahren die Fahrzeuge 102 entlang der jeweiligen Routen 106a-106n (einzeln als Route 106 und insgesamt als Routen 106 bezeichnet), wie hier beschrieben. In einigen Ausführungsformen enthalten ein oder mehrere Fahrzeuge 102 ein autonomes System (z. B. ein autonomes System gleich oder ähnlich dem autonomen System 202).
  • Zu den Objekten 104a-104n (einzeln als Objekt 104 und insgesamt als Objekte 104 bezeichnet) gehören beispielsweise mindestens ein Fahrzeug, mindestens ein Fußgänger, mindestens ein Radfahrer, mindestens ein Bauwerk/eine Struktur (z. B. ein Gebäude, ein Straßenschild, ein Hydrant usw.) und/oder dergleichen. Jedes Objekt 104 ist stationär (z. B. für eine bestimmte Zeit an einem festen Ort) oder mobil (z. B. mit einer Geschwindigkeit und mindestens einer Bewegungsbahn). In einigen Ausführungsformen sind die Objekte 104 entsprechenden Orten im Bereich 108 zugeordnet.
  • Die Routen 106a-106n (einzeln als Route 106 und insgesamt als Routen 106 bezeichnet) sind jeweils einer Abfolge von Aktionen (auch als Bewegungsbahn bezeichnet) zugeordnet (z. B. schreiben diese vor), die Zustände miteinander verbinden, entlang derer ein AF navigieren kann. Jede Route 106 beginnt mit einem Anfangszustand (z. B. einem Zustand, der einem ersten raumzeitlichen Ort, einer Geschwindigkeit und/oder dergleichen entspricht) und einem endgültigen Zielzustand (z. B. einem Zustand, der einem zweiten raumzeitlichen Ort entspricht, der vom ersten raumzeitlichen Ort verschieden ist) oder einem Zielgebiet (z. B. einem Unterraum akzeptabler Zustände (z. B. Endzustände)). In einigen Ausführungsformen umfasst der erste Zustand einen Ort, an dem eine oder mehrere Personen durch das AF abgeholt werden sollen, und umfasst der zweite Zustand oder die zweite Region einen Ort oder mehrere Orte, an denen die durch das AF abgeholte(n) Person(en) abgesetzt werden soll(en). In einigen Ausführungsformen enthalten die Routen 106 eine Vielzahl von akzeptablen Zustandssequenzen (z. B. eine Vielzahl von raumzeitlichen Ortssequenzen), wobei die Vielzahl von Zustandssequenzen einer Vielzahl von Bewegungsbahnen zugeordnet ist (z. B. diese definiert). In einem Beispiel umfassen die Routen 106 nur übergeordnete Aktionen oder ungenaue Zustandsorte, wie z. B. eine Reihe miteinander verbundener Straßen, die Abbiegerichtungen an Straßenkreuzungen vorgeben. Zusätzlich oder alternativ können die Routen 106 präzisere Aktionen oder Zustände beinhalten, wie z. B. bestimmte Sollfahrstreifen oder genaue Positionen innerhalb der Fahrstreifenbereiche und die Sollgeschwindigkeit an diesen Positionen. In einem Beispiel umfassen die Routen 106 eine Vielzahl präziser Zustandssequenzen entlang der mindestens einen Aktionssequenz auf hoher Ebene mit einem begrenzten Vorausschauhorizont, um Zwischenziele zu erreichen, wobei die Kombination aufeinanderfolgender Iterationen von Zustandssequenzen mit begrenztem Horizont kumulativ einer Vielzahl von Bewegungsbahnen entspricht, die zusammen die Route auf hoher Ebene bilden, um im endgültigen Zielzustand oder -gebiet zu enden.
  • Der Bereich 108 umfasst einen physischen Bereich (z. B. eine geografische Region), in dem die Fahrzeuge 102 navigieren können. In einem Beispiel umfasst der Bereich 108 mindestens einen Staat (z. B. ein Land, einen Bezirk, einen einzelnen Staat aus einer Vielzahl von Staaten, die zu einem Land gehören, usw.), mindestens einen Teil eines Staates, mindestens eine Stadt, mindestens einen Teil einer Stadt usw. In einigen Ausführungsformen umfasst das Gebiet 108 mindestens einen benannten Verkehrsweg (hier als „Straße“ bezeichnet), wie z. B. eine Autobahn, eine Fernstraße, eine Parkstraße, eine Stadtstraße usw. Zusätzlich oder alternativ umfasst der Bereich 108 in einigen Beispielen mindestens einen unbenannten Verkehrsweg wie eine Einfahrt, einen Abschnitt eines Parkplatzes, einen Abschnitt eines freien und/oder unbebauten Grundstücks, einen Feldweg usw. In einigen Ausführungsformen umfasst eine Straße mindestens einen Fahrstreifen (z. B. einen Teil der Straße, der durch Fahrzeuge 102 befahren werden kann). In einem Beispiel umfasst eine Straße mindestens einen Fahrstreifen, der mindestens einer Fahrstreifenmarkierung zugeordnet ist (z. B. anhand dieser Markierung identifiziert wird).
  • Fahrzeug-zu-Infrastruktur(V21)-Vorrichtung 110 (mitunter auch als Fahrzeug-zu-Infrastruktur(V2X)-Vorrichtung bezeichnet) umfasst mindestens eine Vorrichtung, die für die Kommunikation mit Fahrzeugen 102 und/oder dem V21-Infrastruktursystem 118 ausgelegt ist. In einigen Ausführungsformen ist die V2I-Vorrichtung 110 dazu ausgelegt, über das Netzwerk 112 mit den Fahrzeugen 102, dem entfernt gelegenen AF-System 114, dem Flottenverwaltungssystem 116 und/oder dem V2l-System 118 zu kommunizieren. In einigen Ausführungsformen umfasst die V2I-Vorrichtung 110 eine Hochfrequenzkennungs(Radio Frequency Identification, RFID)-Vorrichtung, Verkehrsschilder, Kameras (z. B. zweidimensionale (2D) und/oder dreidimensionale (3D) Kameras), Fahrstreifenmarkierungen, Straßenlaternen, Parkuhren usw. In einigen Ausführungsformen ist die V2I-Vorrichtung 110 dazu ausgelegt, direkt mit den Fahrzeugen 102 zu kommunizieren. Zusätzlich oder alternativ ist in einigen Ausführungsformen die V2I-Vorrichtung 110 dazu ausgelegt, mit den Fahrzeugen 102, dem entfernt gelegenen AF-System 114 und/oder dem Flottenverwaltungssystem 116 über das V2l-System 118 zu kommunizieren. In einigen Ausführungsformen ist die V2I-Vorrichtung 110 dazu ausgelegt, mit dem V2I-System 118 über das Netzwerk 112 zu kommunizieren.
  • Das Netzwerk 112 umfasst ein oder mehrere drahtgebundene und/oder drahtlose Netzwerke. In einem Beispiel umfasst das Netzwerk 112 ein Mobilfunknetz (z. B. ein LTE-Netz (Long Term Evolution), ein 3G-Netz (dritte Generation), ein 4G-Netz (vierte Generation), ein 5G-Netz (fünfte Generation), ein CDMA-Netz (Code Division Multiple Access) usw.), ein öffentliches Mobilfunknetz (PLMN), ein LAN (Local Area Network), ein WAN (Wide Area Network), ein MAN (Metropolitan Area Network), ein Telefonnetz (z. B., das öffentliche Telefonnetz (PSTN)), ein privates Netz, ein Adhoc-Netz, ein Intranet, das Internet, ein glasfaserbasiertes Netz, ein Cloud-Computing-Netz usw., eine Kombination einiger oder aller dieser Netze und/oder dergleichen.
  • Das entfernt gelegene AF-System 114 umfasst mindestens eine Vorrichtung, die dazu ausgelegt ist, über das Netzwerk 112 mit den Fahrzeugen 102, der V2I-Vorrichtung 110, dem Netzwerk 112, dem entfernt gelegenen AF-System 114, dem Flottenverwaltungssystem 116 und/oder dem V2l-System 118 zu kommunizieren. In einem Beispiel umfasst das entfernt gelegene AF-System 114 einen Server, eine Gruppe von Servern und/oder andere ähnliche Vorrichtungen. In einigen Ausführungsformen ist das entfernt gelegene AF-System 114 zusammen mit dem Flottenverwaltungssystem 116 untergebracht. In einigen Ausführungsformen ist das entfernt gelegene AF-System 114 an der Installation einiger oder aller Komponenten eines Fahrzeugs beteiligt, einschließlich eines autonomen Systems, eines Rechensystems eines autonomen Fahrzeugs, einer durch ein Rechensystem eines autonomen Fahrzeugs implementierten Software und/oder dergleichen. In einigen Ausführungsformen pflegt (z. B. aktualisiert und/oder ersetzt) das entfernt gelegene AF-System 114 solche Komponenten und/oder Software während der Lebensdauer des Fahrzeugs.
  • Das Flottenverwaltungssystem 116 umfasst mindestens eine Vorrichtung, die dazu ausgelegt ist, mit den Fahrzeugen 102, der V2I-Vorrichtung 110, dem entfernt gelegenen AF-System 114 und/oder dem V21-Infrastruktursystem 118 zu kommunizieren. In einem Beispiel enthält das Flottenverwaltungssystem 116 einen Server, eine Gruppe von Servern und/oder andere ähnliche Vorrichtungen. In einigen Ausführungsformen ist das Flottenverwaltungssystem 116 einem Fahrgemeinschaftsunternehmen (z. B. einer Organisation, die den Betrieb mehrerer Fahrzeuge (z. B. Fahrzeuge mit autonomen Systemen und/oder Fahrzeuge ohne autonome Systeme) steuert und/oder dergleichen) zugeordnet.
  • In einigen Ausführungsformen enthält das V2l-System 118 mindestens eine Vorrichtung, die dazu ausgelegt ist, über das Netzwerk 112 mit den Fahrzeugen 102, der V2I-Vorrichtung 110, dem entfernt gelegenen AF-System 114 und/oder dem Flottenverwaltungssystem 116 zu kommunizieren. In einigen Beispielen ist das V2I-System 118 dazu ausgelegt, mit der V2I-Vorrichtung 110 über eine andere Verbindung als das Netzwerk 112 zu kommunizieren. In einigen Ausführungsformen enthält das V2l-System 118 einen Server, eine Gruppe von Servern und/oder andere ähnliche Vorrichtungen. In einigen Ausführungsformen ist das V2l-System 118 einer Gemeinde oder einer privaten Institution (z. B. einer privaten Institution, die die V21-Vorrichtung 110 und/oder dergleichen unterhält) zugeordnet.
  • Die Anzahl und Anordnung der in 1 dargestellten Elemente ist lediglich ein Beispiel. Es können zusätzliche Elemente, weniger Elemente, andere Elemente und/oder anders angeordnete Elemente als die in 1 dargestellten vorhanden sein. Zusätzlich oder alternativ kann mindestens ein Element der Umgebung 100 eine oder mehrere Funktionen ausführen, die als durch mindestens ein anderes Element von 1 ausgeführt beschrieben sind. Zusätzlich oder alternativ kann mindestens ein Satz von Elementen der Umgebung 100 eine oder mehrere Funktionen ausführen, die als durch mindestens einen anderen Satz von Elementen der Umgebung 100 ausgeführt beschrieben sind.
  • 2 zeigt, dass das Fahrzeug 200 ein autonomes System 202, ein Antriebsstrangsteuersystem 204, ein Lenkungssteuersystem 206 und ein Bremssystem 208 umfasst. In einigen Ausführungsformen ist das Fahrzeug 200 gleich oder ähnlich dem Fahrzeug 102 (siehe 1). In einigen Ausführungsformen hat das Fahrzeug 102 autonome Fähigkeiten (z. B. mindestens eine Funktion, ein Merkmal, eine Vorrichtung und/oder dergleichen, die es ermöglichen, dass das Fahrzeug 200 teilweise oder vollständig ohne menschliches Eingreifen betrieben werden kann, einschließlich, ohne Einschränkung, vollständig autonomer Fahrzeuge (z. B. Fahrzeuge, die auf menschliches Eingreifen verzichten), hochgradig autonomer Fahrzeuge (z. B. Fahrzeuge, die in bestimmten Situationen auf menschliches Eingreifen verzichten) und/oder dergleichen). Eine ausführliche Beschreibung von vollständig autonomen Fahrzeugen und hochgradig autonomen Fahrzeugen findet sich in der Norm J3016 der SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatisierten Straßen-Kraftfahrzeug-Fahrsystemen), die hier in ihrer Gesamtheit durch Bezugnahme aufgenommen ist. In einigen Ausführungsformen ist das Fahrzeug 200 einem autonomen Flottenverwalter und/oder einem Fahrgemeinschaftsunternehmen zugeordnet.
  • Das autonome System 202 enthält eine Sensoreinheit mit einem oder mehreren Vorrichtungen wie Kameras 202a, LiDAR-Sensoren 202b, Radarsensoren 202c und Mikrofonen 202d. In einigen Ausführungsformen kann das autonome System 202 mehr oder weniger Vorrichtungen und/oder verschiedene Vorrichtungen enthalten (z. B. Ultraschallsensoren, Trägheitssensoren, GPS-Empfänger (weiter unten erörtert), Odometriesensoren, die Daten im Zusammenhang mit einer Anzeige der zurückgelegten Strecke des Fahrzeugs 200 erzeugen, und/oder dergleichen). In einigen Ausführungsformen verwendet das autonome System 202 die eine oder mehreren Vorrichtungen, die im autonomen System 202 enthalten sind, um Daten zu erzeugen, die der hier beschriebenen Umgebung 100 zugeordnet sind. Die durch die eine oder die mehreren Vorrichtungen des autonomen Systems 202 erzeugten Daten können durch ein oder mehrere hier beschriebene Systeme dazu verwendet werden, die Umgebung (z. B. die Umgebung 100), in der sich das Fahrzeug 200 befindet, zu beobachten. In einigen Ausführungsformen umfasst das autonome System 202 eine Kommunikationsvorrichtung 202e, ein Rechensystem eines autonomen Fahrzeugs 202f und ein Drive-by-Wire(DBW)-System 202h.
  • Die Kameras 202a umfassen mindestens eine Vorrichtung, die dazu ausgelegt ist, über einen Bus (z. B. einen Bus gleich oder ähnlich dem Bus 302 von 3) mit der Kommunikationsvorrichtung 202e, dem Rechensystem eines autonomen Fahrzeugs 202f und/oder der Sicherheitssteuervorrichtung 202g zu kommunizieren. Die Kameras 202a umfassen mindestens eine Kamera (z. B. eine Digitalkamera mit einem Lichtsensor wie einer ladungsgekoppelten Vorrichtung (CCD), eine Wärmebildkamera, eine Infrarotkamera (IR), eine Ereigniskamera und/oder dergleichen), um Bilder mit physischen Objekten (z. B. Autos, Busse, Bordsteine, Menschen und/oder dergleichen) aufzunehmen. In einigen Ausführungsformen erzeugt die Kamera 202a Kameradaten als Ausgabe. In einigen Beispielen erzeugt die Kamera 202a Kameradaten, die einem Bild zugeordnete Bilddaten enthalten. In diesem Beispiel können die Bilddaten mindestens einen Parameter (z. B. Bildeigenschaften wie Belichtung, Helligkeit usw., einen Bildzeitstempel und/oder dergleichen) angeben, der dem Bild entspricht. In einem solchen Beispiel kann das Bild in einem bestimmten Format (z. B. RAW, JPEG, PNG und/oder dergleichen) vorliegen. In einigen Ausführungsformen umfasst die Kamera 202a eine Vielzahl eigenständiger Kameras, die auf einem Fahrzeug ausgelegt (z. B. positioniert) sind, um Bilder zwecks Stereopsis (Stereosehen) aufzunehmen. In einigen Beispielen umfasst die Kamera 202a eine Vielzahl von Kameras, die Bilddaten erzeugen und die Bilddaten an das Rechensystem des autonomen Fahrzeugs 202f und/oder ein Flottenverwaltungssystem (z. B. ein Flottenverwaltungssystem gleich oder ähnlich dem Flottenverwaltungssystem 116 von 1) übertragen. In einem solchen Beispiel bestimmt das Rechensystem des autonomen Fahrzeugs 202f die Tiefe eines oder mehrerer Objekte in einem Sichtfeld von mindestens zwei Kameras aus der Vielzahl von Kameras basierend auf den Bilddaten aus den mindestens zwei Kameras. In einigen Ausführungsformen sind die Kameras 202a dazu ausgelegt, Bilder von Objekten in einer bestimmten Entfernung (z. B. bis zu 100 Meter, bis zu einem Kilometer und/oder dergleichen) von den Kameras 202a aufzunehmen. Dementsprechend enthalten die Kameras 202a Merkmale wie Sensoren und Objektive, die für die Wahrnehmung von Objekten optimiert sind, die sich in einer oder mehreren Entfernungen von den Kameras 202a befinden.
  • In einer Ausführungsform umfasst die Kamera 202a mindestens eine Kamera, die dazu ausgelegt ist, ein oder mehrere Bilder im Zusammenhang mit einer oder mehreren Ampeln, Straßenschildern und/oder anderen physischen Objekten aufzunehmen, die visuelle Navigationsinformationen liefern. In einigen Ausführungsformen erzeugt die Kamera 202a Ampeldaten, die einem oder mehreren Bildern zugeordnet sind. In einigen Beispielen erzeugt die Kamera 202a AE-Daten, die einem oder mehreren Bildern zugeordnet sind, die ein Format (z. B. RAW, JPEG, PNG und/oder dergleichen) enthalten. In einigen Ausführungsformen unterscheidet sich die Kamera 202a, die AE-Daten erzeugt, von anderen hier beschriebenen Systemen, die Kameras enthalten, dadurch, dass die Kamera 202a eine oder mehrere Kameras mit einem weiten Sichtfeld (z. B. ein Weitwinkelobjektiv, ein Fischaugenobjektiv, ein Objektiv mit einem Sichtwinkel von etwa 120 Grad oder mehr und/oder dergleichen) umfassen kann, um Bilder über möglichst viele physische Objekte zu erzeugen.
  • Die LiDAR-Sensoren 202b umfassen mindestens eine Vorrichtung, die dazu ausgelegt ist, mit der Kommunikationsvorrichtung 202e, dem Rechensystem eines autonomen Fahrzeugs 202f und/oder der Sicherheitssteuervorrichtung 202g über einen Bus (z. B. einen Bus gleich oder ähnlich dem Bus 302 von 3) zu kommunizieren. Die LiDAR-Sensoren 202b umfassen ein System, das dazu ausgelegt ist, Licht aus einem Lichtemitter (z. B. einem Laseremitter) zu übertragen. Das durch die LiDAR-Sensoren 202b emittierte Licht umfasst Licht (z. B. Infrarotlicht und/oder dergleichen), das außerhalb des sichtbaren Spektrums liegt. In einigen Ausführungsformen trifft das durch die LiDAR-Sensoren 202b emittierte Licht während des Betriebs auf ein physisches Objekt (z. B. ein Fahrzeug) und wird zu den LiDAR-Sensoren 202b zurück reflektiert. In einigen Ausführungsformen durchdringt das durch die LiDAR-Sensoren 202b emittierte Licht die physischen Objekte, auf die das Licht trifft, nicht. Die LiDAR-Sensoren 202b umfassen auch mindestens einen Lichtdetektor, der das durch den Lichtemitter ausgesandte Licht erfasst, nachdem das Licht auf ein physisches Objekt aufgetroffen ist. In einigen Ausführungsformen erzeugt mindestens ein Datenverarbeitungssystem, das den LiDAR-Sensoren 202b zugeordnet ist, ein Bild (z. B. eine Punktwolke, eine kombinierte Punktwolke und/oder dergleichen), das die in einem Sichtfeld der LiDAR-Sensoren 202b enthaltenen Objekte darstellt. In einigen Beispielen erzeugt das mindestens eine Datenverarbeitungssystem, das dem LiDAR-Sensor 202b zugeordnet ist, ein Bild, das die Grenzen eines physischen Objekts, die Oberflächen (z. B. die Topologie der Oberflächen) des physischen Objekts und/oder dergleichen darstellt. In einem solchen Beispiel wird das Bild dazu verwendet, die Grenzen der physischen Objekte im Sichtfeld der LiDAR-Sensoren 202b zu bestimmen.
  • Die Radarsensoren 202c umfassen mindestens eine Vorrichtung, die dazu ausgelegt ist, über einen Bus (z. B. einen Bus gleich oder ähnlich dem Bus 302 von 3) mit der Kommunikationsvorrichtung 202e, dem autonomen Fahrzeugrechner 202f und/oder der Sicherheitssteuervorrichtung 202g zu kommunizieren. Die Radarsensoren 202c umfassen ein System, das zum Übertragen von Funkwellen (entweder gepulst oder kontinuierlich) ausgelegt ist. Die durch die Radarsensoren 202c gesendeten Funkwellen umfassen Funkwellen, die innerhalb eines vorgegebenen Spektrums liegen. In einigen Ausführungsformen treffen die durch die Radarsensoren 202c übertragenen Funkwellen während des Betriebs auf ein physisches Objekt und werden zu den Radarsensoren 202c zurück reflektiert. In einigen Ausführungsformen werden die durch die Radarsensoren 202c gesendeten Funkwellen durch einige Objekte nicht reflektiert. In einigen Ausführungsformen erzeugt mindestens ein Datenverarbeitungssystem, das den Radarsensoren 202c zugeordnet ist, Signale, die die in einem Sichtfeld der Radarsensoren 202c enthaltenen Objekte darstellen. Zum Beispiel erzeugt das mindestens eine Datenverarbeitungssystem, das dem Radarsensor 202c zugeordnet ist, ein Bild, das die Grenzen eines physischen Objekts, die Oberflächen (z. B. die Topologie der Oberflächen) des physischen Objekts und/oder dergleichen darstellt. In einigen Beispielen wird das Bild dazu verwendet, die Grenzen der physischen Objekte im Sichtfeld der Radarsensoren 202c zu bestimmen.
  • Die Mikrofone 202d umfassen mindestens eine Vorrichtung, die dazu ausgelegt ist, mit der Kommunikationsvorrichtung 202e, dem Rechensystem des autonomen Fahrzeugs 202f und/oder der Sicherheitssteuervorrichtung 202g über einen Bus (z. B. einen Bus gleich oder ähnlich dem Bus 302 von 3) zu kommunizieren. Die Mikrofone 202d umfassen ein oder mehrere Mikrofone (z. B. Array-Mikrofone, externe Mikrofone und/oder dergleichen), die Audiosignale erfassen und Daten erzeugen, die den Audiosignalen zugeordnet sind (z. B. diese repräsentieren). In einigen Beispielen umfassen die Mikrofone 202d Wandlervorrichtungen und/oder ähnliche Vorrichtungen. In einigen Ausführungsformen können ein oder mehrere hier beschriebene Systeme die durch die Mikrofone 202d erzeugten Daten empfangen und eine Position eines Objekts relativ zum Fahrzeug 200 (z. B. eine Entfernung und/oder dergleichen) basierend auf den zu den Daten gehörenden Audiosignalen bestimmen.
  • Die Kommunikationsvorrichtung 202e umfasst mindestens eine Vorrichtung, die dazu ausgelegt ist, mit den Kameras 202a, den LiDAR-Sensoren 202b, den Radarsensoren 202c, den Mikrofonen 202d, dem Rechensystem des autonomen Fahrzeugs 202f, der Sicherheitssteuervorrichtung 202g und/oder dem DBW-System 202h zu kommunizieren. Die Kommunikationsvorrichtung 202e kann beispielsweise eine Vorrichtung sein, die gleich oder ähnlich der Kommunikationsschnittstelle 314 von 3 ist. In einigen Ausführungsformen umfasst die Kommunikationsvorrichtung 202e eine Fahrzeug-zu-Fahrzeug(V2V)-Kommunikationsvorrichtung (z. B. eine Vorrichtung, das die drahtlose Kommunikation von Daten zwischen Fahrzeugen ermöglicht).
  • Das Rechensystem des autonomen Fahrzeugs 202f umfasst mindestens eine Vorrichtung, die dazu ausgelegt ist, mit den Kameras 202a, den LiDAR-Sensoren 202b, den Radarsensoren 202c, den Mikrofonen 202d, der Kommunikationsvorrichtung 202e, der Sicherheitssteuervorrichtung 202g und/oder dem DBW-System 202h zu kommunizieren. In einigen Beispielen umfasst das Rechensystem des autonomen Fahrzeugs 202f eine Vorrichtung wie eine Client-Vorrichtung, eine Mobilvorrichtung (z. B. ein Mobiltelefon, ein Tablet und/oder dergleichen), einen Server (z. B. eine Rechenvorrichtung mit einer oder mehreren Zentraleinheiten, Grafikverarbeitungseinheiten und/oder dergleichen) und/oder dergleichen. In einigen Ausführungsformen ist das Rechensystem eines autonomen Fahrzeugs 202f gleich oder ähnlich dem hier beschriebenen Rechensystem eines autonomen Fahrzeugs 400. Zusätzlich oder alternativ ist in einigen Ausführungsformen das Rechensystem eines autonomen Fahrzeugs 202f dazu ausgelegt, in Kommunikation mit einem autonomen Fahrzeugsystem (z. B. einem autonomen Fahrzeugsystem gleich oder ähnlich dem entfernt gelegenen AF-System 114 von 1), einem Flottenverwaltungssystem (z. B., einem Flottenverwaltungssystem gleich oder ähnlich dem Flottenverwaltungssystem 116 von 1), einer V2I-Vorrichtung (z. B. einer V2I-Vorrichtung gleich oder ähnlich der V2I-Vorrichtung 110 von 1), und/oder einem V2l-System (z. B. einem V2l-System gleich oder ähnlich dem V2l-System 118 von 1) zu stehen.
  • Die Sicherheitssteuervorrichtung 202g umfasst mindestens eine Vorrichtung, die dazu ausgelegt ist, mit den Kameras 202a, den LiDAR-Sensoren 202b, den Radarsensoren 202c, den Mikrofonen 202d, der Kommunikationsvorrichtung 202e, dem Rechensystem des autonomen Fahrzeugs 202f und/oder dem DBW-System 202h in Verbindung zu stehen. In einigen Beispielen umfasst die Sicherheitssteuervorrichtung 202g eine oder mehrere Steuervorrichtungen (elektrische Steuervorrichtungen, elektromechanische Steuervorrichtungen und/oder dergleichen), die dazu ausgelegt sind, Steuersignale zu erzeugen und/oder zu übertragen, um eine oder mehrere Vorrichtungen des Fahrzeugs 200 (z. B. das Antriebsstrangsteuersystem 204, das Lenkungssteuersystem 206, das Bremssystem 208 und/oder dergleichen) zu betreiben. In einigen Ausführungsformen ist die Sicherheitssteuervorrichtung 202g dazu ausgelegt, Steuersignale zu erzeugen, die Vorrang vor Steuersignalen haben (z. B. übersteuern), die durch das Rechensystem des autonomen Fahrzeugs 202f erzeugt und/oder übertragen werden
  • Das DBW-System 202h umfasst mindestens eine Vorrichtung, die dazu ausgelegt ist, mit der Kommunikationsvorrichtung 202e und/oder dem Rechensystem des autonomen Fahrzeugs 202f in Kommunikation zu stehen. In einigen Beispielen umfasst das DBW-System 202h ein oder mehrere Steuervorrichtungen (z. B. elektrische Steuervorrichtungen, elektromechanische Steuervorrichtungen und/oder dergleichen), die dazu ausgelegt sind, Steuersignale zu erzeugen und/oder zu übertragen, um eine oder mehrere Vorrichtungen des Fahrzeugs 200 (z. B. das Antriebsstrangsteuersystem 204, das Lenkungssteuersystem 206, das Bremssystem 208 und/oder dergleichen) zu betreiben. Zusätzlich oder alternativ sind die ein oder mehreren Steuervorrichtungen des DBW-Systems 202h dazu ausgelegt, Steuersignale zu erzeugen und/oder zu übertragen, um mindestens eine andere Vorrichtung (z. B. einen Blinker, Scheinwerfer, Türschlösser, Scheibenwischer und/oder dergleichen) des Fahrzeugs 200 zu bedienen.
  • Das Antriebsstrangsteuersystem 204 umfasst mindestens eine Vorrichtung, die dazu ausgelegt ist, mit dem DBW-System 202h in Kommunikation zu stehen. In einigen Beispielen umfasst das Antriebsstrangsteuersystem 204 mindestens eine Steuervorrichtung, einen Aktuator und/oder dergleichen. In einigen Ausführungsformen empfängt das Antriebsstrangsteuersystem 204 Steuersignale aus dem DBW-System 202h, und das Antriebsstrangsteuersystem 204 veranlasst das Fahrzeug 200, sich vorwärts zu bewegen, die Vorwärtsbewegung zu stoppen, eine Rückwärtsbewegung zu starten, die Rückwärtsbewegung zu stoppen, in eine Richtung zu beschleunigen, in eine Richtung zu verzögern, eine Linkskurve, eine Rechtskurve und/oder dergleichen durchzuführen. In einem Beispiel bewirkt das Antriebsstrangsteuersystem 204, dass die einem Motor des Fahrzeugs zugeführte Energie (z. B. Kraftstoff, Elektrizität und/oder dergleichen) zunimmt, gleich bleibt oder abnimmt, wodurch mindestens ein Rad des Fahrzeugs 200 sich dreht oder nicht dreht.
  • Das Lenkungssteuersystem 206 umfasst mindestens eine Vorrichtung, die dazu ausgelegt ist, ein oder mehrere Räder des Fahrzeugs 200 zu drehen. In einigen Beispielen umfasst das Lenkungssteuersystem 206 mindestens eine Steuervorrichtung, einen Aktuator und/oder dergleichen. In einigen Ausführungsformen veranlasst das Lenkungssteuersystem 206 die beiden vorderen Räder und/oder die beiden hinteren Räder des Fahrzeugs 200, sich nach links oder rechts zu drehen, um das Fahrzeug 200 nach links oder rechts zu lenken.
  • Das Bremssystem 208 umfasst mindestens eine Vorrichtung, die dazu ausgelegt ist, eine oder mehrere Bremsen zu betätigen, um das Fahrzeug 200 zu veranlassen, seine Geschwindigkeit zu verringern und/oder stehen zu bleiben. In einigen Beispielen umfasst das Bremssystem 208 mindestens eine Steuervorrichtung und/oder einen Aktuator, der dazu ausgelegt ist, einen oder mehrere Bremssättel, die einem oder mehreren Rädern des Fahrzeugs 200 zugeordnet sind, dazu zu veranlassen, sich auf einem entsprechenden Rotor des Fahrzeugs 200 zu schließen. Zusätzlich oder alternativ umfasst das Bremssystem 208 in einigen Beispielen ein automatisches Notbremssystem (Automatic Emergency Braking, AEB), ein regeneratives Bremssystem und/oder dergleichen.
  • In einigen Ausführungsformen umfasst das Fahrzeug 200 mindestens einen (nicht explizit dargestellten) Plattformsensor, der Eigenschaften eines Zustands oder einer Bedingung des Fahrzeugs 200 misst oder daraus ableitet. In einigen Beispielen umfasst das Fahrzeug 200 Plattformsensoren wie einen Positionsbestimmungsempfänger (Global Positioning System, GPS), eine Trägheitsmesseinheit (Inertial Measurement Unit, IMU), einen Raddrehzahlsensor, einen Radbremsdrucksensor, einen Raddrehmomentsensor, einen Motordrehmomentsensor, einen Lenkwinkelsensor und/oder dergleichen.
  • 3 zeigt eine schematische Darstellung einer Vorrichtung 300. Wie dargestellt, umfasst die Vorrichtung 300 einen Prozessor 304, einen Speicher 306, eine Speicherkomponente 308, eine Eingabeschnittstelle 310, eine Ausgabeschnittstelle 312, eine Kommunikationsschnittstelle 314 und einen Bus 302. In einigen Ausführungsformen entspricht die Vorrichtung 300 mindestens einer Vorrichtung von Fahrzeugen 102 (z. B. mindestens einer Vorrichtung eines Systems von Fahrzeugen 102), mindestens einer Vorrichtung der V21-Vorrichtung 110 und/oder des V2I-Systems 118, mindestens einer Vorrichtung des entfernt gelegenen AF-Systems 114, mindestens einer Vorrichtung des Flottenverwaltungssystems 116 und/oder mindestens einer Vorrichtung des Netzwerks 112 (z. B. einem oder mehreren Vorrichtungen eines Systems des Netzwerks 112). In einigen Ausführungsformen umfassen ein oder mehrere Vorrichtungen von Fahrzeugen 102 (z. B. eine oder mehrere Vorrichtungen eines Systems von Fahrzeugen 102), V2I-Vorrichtungen 110, ein entfernt gelegenes AF-System 114, ein Flottenverwaltungssystem 116, ein V2l-System 118 und/oder ein Netzwerk 112 (z. B. ein oder mehrere Vorrichtungen eines Systems des Netzwerks 112) mindestens eine Vorrichtung 300 und/oder mindestens eine Komponente der Vorrichtung 300. Wie in 3 gezeigt, umfasst die Vorrichtung 300 den Bus 302, den Prozessor 304, den Speicher 306, die Speicherkomponente 308, die Eingabeschnittstelle 310, die Ausgabeschnittstelle 312 und die Kommunikationsschnittstelle 314.
  • Der Bus 302 umfasst eine Komponente, die die Kommunikation zwischen den Komponenten der Vorrichtung 300 ermöglicht. In einigen Ausführungsformen ist der Prozessor 304 in Hardware, Software oder einer Kombination aus Hardware und Software implementiert. In einigen Beispielen umfasst der Prozessor 304 einen Prozessor (z. B. eine Zentraleinheit (Central Processing Unit, CPU), eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU), einen Verarbeitungsbeschleuniger (Accelerated Processing Unit, APU) und/oder dergleichen), ein Mikrofon, einen digitalen Signalprozessor (DSP) und/oder eine beliebige Verarbeitungskomponente (z. B. ein feldprogrammierbares Gate-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (ASIC) und/oder dergleichen), die programmiert werden kann, um mindestens eine Funktion auszuführen. Der Speicher 306 umfasst einen Direktzugriffsspeicher (Random Access Memory, RAM), einen Festwertspeicher (Read-Only Memory, ROM) und/oder eine andere Art von dynamischer und/oder statischer Speichervorrichtung (z. B. Flashspeicher, magnetischer Speicher, optischer Speicher und/oder dergleichen), der Daten und/oder Anweisungen zur Verwendung durch den Prozessor 304 speichert.
  • Die Speicherkomponente 308 speichert Daten und/oder Software, die sich auf den Betrieb und die Verwendung der Vorrichtung 300 beziehen. In einigen Beispielen umfasst die Speicherkomponente 308 eine Festplatte (z. B. eine Magnetplatte, eine optische Platte, eine magneto-optische Platte, eine Festkörperplatte und/oder dergleichen), eine Compact Disc (CD), eine Digital Versatile Disc (DVD), eine Diskette, eine Kassette, ein Magnetband, eine CD-ROM, RAM, PROM, EPROM, FLASH-EPROM, NV-RAM und/oder eine andere Art von computerlesbarem Medium zusammen mit einem entsprechenden Laufwerk.
  • Die Eingabeschnittstelle 310 umfasst eine Komponente, die es der Vorrichtung 300 ermöglicht, Informationen z. B. über Benutzereingabemittel (z. B. ein Touchscreen-Display, eine Tastatur, ein Tastenfeld, eine Maus, eine Taste, einen Schalter, ein Mikrofon, eine Kamera und/oder dergleichen) zu empfangen. Zusätzlich oder alternativ enthält die Eingabeschnittstelle 310 in einigen Ausführungsformen einen Sensor, der Informationen erfasst (z. B. einen GPS-Empfänger, einen Beschleunigungsmesser, ein Gyroskop, einen Aktuator und/oder dergleichen). Die Ausgabeschnittstelle 312 umfasst eine Komponente, die Ausgabeinformationen aus der Vorrichtung 300 bereitstellt (z. B. ein Display, einen Lautsprecher, eine oder mehrere Leuchtdioden (LEDs) und/oder dergleichen).
  • In einigen Ausführungsformen umfasst die Kommunikationsschnittstelle 314 eine Sender-Empfänger-ähnliche Komponente (z. B. einen Sender-Empfänger, einen separaten Empfänger und Sender und/oder dergleichen), die es der Vorrichtung 300 ermöglicht, mit anderen Vorrichtungen über eine drahtgebundene Verbindung, eine drahtlose Verbindung oder eine Kombination aus drahtgebundenen und drahtlosen Verbindungen zu kommunizieren. In einigen Beispielen erlaubt die Kommunikationsschnittstelle 314 der Vorrichtung 300, Informationen aus einer anderen Vorrichtung zu empfangen und/oder Informationen an eine andere Vorrichtung zu liefern. In einigen Beispielen umfasst die Kommunikationsschnittstelle 314 eine Ethernet-Schnittstelle, eine optische Schnittstelle, eine Koaxialschnittstelle, eine Infrarotschnittstelle, eine Hochfrequenz(HF)-Schnittstelle, eine Universal Serial Bus(USB)-Schnittstelle, eine Wi-Fi®-Schnittstelle, eine Mobilfunknetzschnittstelle und/oder dergleichen.
  • In einigen Ausführungsformen führt die Vorrichtung 300 einen oder mehrere der hier beschriebenen Prozesse aus. Die Vorrichtung 300 führt diese Prozesse basierend auf dem Prozessor 304 aus, der Softwareanweisungen ausführt, die in einem computerlesbaren Medium, wie dem Speicher 305 und/oder der Speicherkomponente 308, gespeichert sind. Ein computerlesbares Medium (z. B. ein nichtflüchtiges computerlesbares Medium) wird hier als nichtflüchtige Speichervorrichtung definiert. Ein nichtflüchtiger Speicher umfasst Speicherplatz, der sich in einer einzelnen physischen Speichervorrichtung befindet, oder Speicherplatz, der über mehrere physische Speichervorrichtungen verteilt ist.
  • In einigen Ausführungsformen werden Softwareanweisungen aus einem anderen computerlesbaren Medium oder aus einer anderen Vorrichtung über die Kommunikationsschnittstelle 314 in den Speicher 306 und/oder die Speicherkomponente 308 eingelesen. Beim Ausführen veranlassen die im Speicher 306 und/oder in der Speicherkomponente 308 gespeicherten Softwareanweisungen den Prozessor 304, einen oder mehrere hier beschriebene Prozesse durchzuführen. Zusätzlich oder alternativ werden festverdrahtete Schaltungen anstelle von oder in Kombination mit Softwareanweisungen verwendet, um einen oder mehrere hier beschriebene Prozesse durchzuführen. Daher sind die hier beschriebenen Ausführungsformen nicht auf eine bestimmte Kombination von Hardwareschaltungen und Software beschränkt, sofern nicht ausdrücklich anders angegeben.
  • Der Speicher 306 und/oder die Speicherkomponente 308 umfasst einen Datenspeicher oder mindestens eine Datenstruktur (z. B. eine Datenbank und/oder dergleichen). Die Vorrichtung 300 ist in der Lage, Informationen aus dem Datenspeicher oder der mindestens einen Datenstruktur im Speicher 306 oder der Speicherkomponente 308 zu empfangen, darin zu speichern, Informationen zu übermitteln oder darin gespeicherte Informationen zu durchsuchen. In einigen Beispielen umfassen die Informationen Netzwerkdaten, Eingabedaten, Ausgabedaten oder eine beliebige Kombination davon.
  • In einigen Ausführungsformen ist die Vorrichtung 300 dazu ausgelegt, Softwareanweisungen auszuführen, die entweder im Speicher 306 und/oder im Speicher einer anderen Vorrichtung (z. B. einer anderen Vorrichtung gleich oder ähnlich der Vorrichtung 300) gespeichert sind. Der Begriff „Modul“ bezieht sich hier auf mindestens eine im Speicher 306 und/oder im Speicher einer anderen Vorrichtung gespeicherte Anweisung, die beim Ausführen durch den Prozessor 304 und/oder durch einen Prozessor einer anderen Vorrichtung (z. B. einer anderen Vorrichtung gleich oder ähnlich der Vorrichtung 300) die Vorrichtung 300 (z. B. mindestens eine Komponente der Vorrichtung 300) veranlasst, einen oder mehrere hier beschriebene Prozesse durchzuführen. In einigen Ausführungsformen ist ein Modul in Software, Firmware, Hardware und/oder dergleichen implementiert.
  • Die in 3 dargestellte Anzahl und Anordnung der Komponenten ist lediglich ein Beispiel. In einigen Ausführungsformen kann die Vorrichtung 300 zusätzliche Komponenten, weniger Komponenten, andere Komponenten oder anders angeordnete Komponenten als in 3 dargestellt enthalten. Zusätzlich oder alternativ kann ein Satz von Komponenten (z. B. eine oder mehrere Komponenten) der Vorrichtung 300 eine oder mehrere Funktionen ausführen, die als durch eine andere Komponente oder einen anderen Satz von Komponenten der Vorrichtung 300 ausgeführt beschrieben sind.
  • 4A zeigt ein Beispiel für ein Blockdiagramm eines Rechensystems eines autonomen Fahrzeugs 400 (mitunter auch als „AF-Stack“ bezeichnet). Wie dargestellt, umfasst das Rechensystem eines autonomen Fahrzeugs 400 ein Wahrnehmungssystem 402 (mitunter als Wahrnehmungsmodul bezeichnet), ein Planungssystem 404 (mitunter als Planungsmodul bezeichnet), ein Lokalisierungssystem 406 (mitunter als Lokalisierungsmodul bezeichnet), ein Steuerungssystem 408 (mitunter als Steuermodul bezeichnet) und eine Datenbank 410. In einigen Ausführungsformen sind das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406, das Steuerungssystem 408 und die Datenbank 410 in einem autonomen Navigationssystem eines Fahrzeugs (z. B. dem Rechensystem des autonomen Fahrzeugs 202f des Fahrzeugs 200) enthalten und/oder implementiert. Zusätzlich oder alternativ sind in einigen Ausführungsformen das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406, das Steuerungssystem 408 und die Datenbank 410 in einem oder mehreren eigenständigen Systemen (z. B. einem oder mehreren Systemen gleich oder ähnlich dem Rechensystem des autonomen Fahrzeugs 400 und/oder dergleichen) enthalten. In einigen Beispielen sind das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406, das Steuerungssystem 408 und die Datenbank 410 in einem oder mehreren eigenständigen Systemen enthalten, die sich in einem Fahrzeug und/oder mindestens einem entfernt gelegenen System befinden, wie hier beschrieben. In einigen Ausführungsformen sind beliebige und/oder alle Systeme, die im Rechensystem des autonomen Fahrzeugs 400 enthalten sind, in Software (z. B. in Softwareanweisungen, die in einem Speicher gespeichert sind), Computerhardware (z. B. durch Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen [ASICs], Field Programmable Gate Arrays (FPGAs) und/oder dergleichen) oder Kombinationen aus Computersoftware und Computerhardware implementiert. Es versteht sich auch, dass in einigen Ausführungsformen das Rechensystem des autonomen Fahrzeugs 400 dazu ausgelegt ist, mit einem entfernt gelegenen System (z. B. einem autonomen Fahrzeugsystem gleich oder ähnlich dem entfernt gelegenen AF-System 114, einem Flottenverwaltungssystem 116 gleich oder ähnlich dem Flottenverwaltungssystem 116, einem V2I-System gleich oder ähnlich dem V2I-System 118 und/oder dergleichen) zu kommunizieren.
  • In einigen Ausführungsformen empfängt das Wahrnehmungssystem 402 Daten, die mindestens einem physischen Objekt (z. B. Daten, die durch das Wahrnehmungssystem 402 zur Erkennung des mindestens einen physischen Objekts verwendet werden) in einer Umgebung zugeordnet sind, und klassifiziert das mindestens eine physische Objekt. In einigen Beispielen empfängt das Wahrnehmungssystem 402 Bilddaten, die durch mindestens eine Kamera (z. B. den Kameras 202a) aufgenommen werden, wobei das Bild einem oder mehreren physischen Objekten in einem Sichtfeld der mindestens einen Kamera zugeordnet ist (z. B. diese repräsentiert). In einem solchen Beispiel klassifiziert das Wahrnehmungssystem 402 mindestens ein physisches Objekt basierend auf einer oder mehreren Gruppierungen von physischen Objekten (z. B. Fahrräder, Fahrzeuge, Verkehrsschilder, Fußgänger und/oder dergleichen). In einigen Ausführungsformen überträgt das Wahrnehmungssystem 402 Daten im Zusammenhang mit der Klassifizierung der physischen Objekte an das Planungssystem 404 basierend auf der Klassifizierung der physischen Objekte durch das Wahrnehmungssystem 402.
  • In einigen Ausführungsformen empfängt das Planungssystem 404 einem Zielort zugeordnete Daten und erzeugt Daten, die mindestens einer Route (z. B. den Routen 106) zugeordnet sind, entlang der ein Fahrzeug (z. B. die Fahrzeuge 102) zu einem Zielort fahren kann. In einigen Ausführungsformen empfängt das Planungssystem 404 periodisch oder kontinuierlich Daten aus dem Wahrnehmungssystem 402 (z. B. Daten im Zusammenhang mit der oben beschriebenen Klassifizierung physischer Objekte), und das Planungssystem 404 aktualisiert die mindestens eine Bewegungsbahn oder erzeugt mindestens eine andere Bewegungsbahn basierend auf den durch das Wahrnehmungssystem 402 erzeugten Daten. In einigen Ausführungsformen empfängt das Planungssystem 404 Daten, die einer aktualisierten Position eines Fahrzeugs (z. B. der Fahrzeuge 102) aus dem Lokalisierungssystem 406 zugeordnet sind, und das Planungssystem 404 aktualisiert die mindestens eine Bewegungsbahn oder erzeugt mindestens eine andere Bewegungsbahn basierend auf den durch das Lokalisierungssystem 406 erzeugten Daten.
  • In einigen Ausführungsformen empfängt das Lokalisierungssystem 406 Daten, die einem Ort eines Fahrzeugs (z. B. der Fahrzeuge 102) in einem Gebiet zugeordnet sind (z. B. diesen repräsentieren). In einigen Beispielen empfängt das Lokalisierungssystem 406 LiDAR-Daten, die mindestens einer Punktwolke zugeordnet sind, die durch mindestens einen LiDAR-Sensor (z. B. LiDAR-Sensoren 202b) erzeugt wurde. In bestimmten Beispielen empfängt das Lokalisierungssystem 406 Daten, die mindestens einer Punktwolke aus mehreren LiDAR-Sensoren zugeordnet sind, und das Lokalisierungssystem 406 erzeugt eine kombinierte Punktwolke basierend auf jeder der Punktwolken. In diesen Beispielen vergleicht das Lokalisierungssystem 406 die mindestens eine Punktwolke oder die kombinierte Punktwolke mit einer zweidimensionalen (2D) und/oder einer dreidimensionalen (3D) Karte des Gebiets, die in der Datenbank 410 gespeichert ist. Das Lokalisierungssystem 406 bestimmt anschließend die Position des Fahrzeugs in dem Gebiet, indem das Lokalisierungssystem 406 die mindestens eine Punktwolke oder die kombinierte Punktwolke mit der Karte vergleicht. In einigen Ausführungsformen enthält die Karte eine kombinierte Punktwolke des Gebiets, die vor der Navigation des Fahrzeugs erstellt wurde. In einigen Ausführungsformen beinhalten die Straßenkarten ohne Einschränkung hochpräzise Straßenkarten der geometrischen Eigenschaften der Fahrbahn, Straßenkarten, die die Verbindungseigenschaften des Straßennetzes beschreiben, Straßenkarten, die die physischen Eigenschaften der Straßen beschreiben (wie z. B. die Verkehrsgeschwindigkeit, das Verkehrsaufkommen, die Anzahl der Fahrstreifen für den Auto- und Fahrradverkehr, die Fahrstreifenbreite, die Fahrstreifenrichtungen oder die Arten und Orte von Fahrstreifenmarkierungen oder Kombinationen davon), und Straßenkarten, die die räumliche Lage von Straßenmerkmalen wie Fußgängerüberwegen, Verkehrsschildern oder anderen Verkehrssignalen verschiedener Arten beschreiben. In einigen Ausführungsformen wird die Karte in Echtzeit basierend auf den durch das Wahrnehmungssystem empfangenen Daten erstellt.
  • In einem anderen Beispiel empfängt das Lokalisierungssystem 406 Global Navigation Satellite System(GNSS)-Daten, die durch einen Global Positioning System(GPS)-Empfänger erzeugt werden. In einigen Beispielen empfängt das Lokalisierungssystem 406 GNSS-Daten, die dem Ort des Fahrzeugs in dem Gebiet zugeordnet sind, und das Lokalisierungssystem 406 bestimmt einen Breitengrad und Längengrad des Fahrzeugs in dem Gebiet. In einem solchen Beispiel bestimmt das Lokalisierungssystem 406 die Position des Fahrzeugs in dem Gebiet basierend auf dem Breiten- und Längengrad des Fahrzeugs. In einigen Ausführungsformen erzeugt das Lokalisierungssystem 406 Daten, die der Position des Fahrzeugs zugeordnet sind. In einigen Beispielen erzeugt das Lokalisierungssystem 406 Daten, die der Position des Fahrzeugs zugeordnet sind, basierend auf der Bestimmung der Position des Fahrzeugs durch das Lokalisierungssystem 406. In einem solchen Beispiel umfassen die der Position des Fahrzeugs zugeordneten Daten Daten, die einer oder mehreren semantischen Eigenschaften zugeordnet sind, die der Position des Fahrzeugs entsprechen.
  • In einigen Ausführungsformen empfängt das Steuerungssystem 408 Daten, die mindestens einer Bewegungsbahn aus dem Planungssystem 404 zugeordnet sind, und das Steuerungssystem 408 steuert den Betrieb des Fahrzeugs. In einigen Beispielen empfängt das Steuerungssystem 408 aus dem Planungssystem 404 Daten, die mindestens einer Bewegungsbahn zugeordnet sind, und das Steuerungssystem 408 steuert den Betrieb des Fahrzeugs durch Erzeugen und Übertragen von Steuersignalen, um ein Antriebsstrangsteuersystem (z. B. das DBW-System 202h, das Antriebsstrangsteuersystem 204 und/oder dergleichen), ein Lenkungssteuersystem (z. B. das Lenkungssteuersystem 206) und/oder ein Bremssystem (z. B. das Bremssystem 208) zu betätigen. In einem Beispiel, in dem eine Bewegungsbahn eine Linkskurve beinhaltet, überträgt das Steuersystem 408 ein Steuersignal, um das Lenkungssteuersystem 206 zu veranlassen, einen Lenkwinkel des Fahrzeugs 200 einzustellen, wodurch das Fahrzeug 200 nach links fährt. Zusätzlich oder alternativ dazu erzeugt und überträgt das Steuerungssystem 408 Steuersignale, um andere Vorrichtungen (z. B. Scheinwerfer, Blinker, Türschlösser, Scheibenwischer und/oder dergleichen) des Fahrzeugs 200 zu veranlassen, ihren Zustand zu ändern.
  • In einigen Ausführungsformen implementieren das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406 und/oder das Steuerungssystem 408 mindestens ein Maschinenlernmodell (z. B. mindestens ein mehrschichtiges Perzeptron (Multilayer Perceptron, MLP), mindestens ein faltungsneuronales Netz (Convolutional Neural Network, CNN), mindestens ein rekurrentes Neuronales Netz (Recurrent Neural Network, RNN), mindestens einen Autoencoder, mindestens einen Transformator und/oder dergleichen). In einigen Beispielen implementieren das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406 und/oder das Steuerungssystem 408 mindestens ein Maschinenlernmodell allein oder in Kombination mit einem oder mehreren der oben genannten Systeme. In einigen Beispielen implementieren das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406 und/oder das Steuerungssystem 408 mindestens ein Maschinenlernmodell als Teil einer Ablaufkette (z. B. einer Ablaufkette zum Identifizieren eines oder mehrerer Objekte in einer Umgebung und/oder dergleichen). Ein Beispiel für die Implementierung eines Maschinenlernmodells wird im Folgenden mit Bezug auf 4B-4D dargestellt.
  • Die Datenbank 410 speichert Daten, die an das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406 und/oder das Steuerungssystem 408 übertragen, daraus empfangen und/oder durch diese aktualisiert werden. In einigen Beispielen umfasst die Datenbank 410 eine Speicherkomponente (z. B. eine Speicherkomponente, gleich oder ähnlich der Speicherkomponente 308 von 3), die Daten und/oder Software in Bezug auf den Betrieb speichert und mindestens ein System des Rechensystems des autonomen Fahrzeugs 400 verwendet. In einigen Ausführungsformen speichert die Datenbank 410 Daten, die 2D- und/oder 3D-Karten von mindestens einem Gebiet zugeordnet sind. In einigen Beispielen speichert die Datenbank 410 Daten, die 2D- und/oder 3D-Karten eines Teils einer Stadt, mehreren Teilen mehrerer Städte, mehreren Städten, einem Bezirk, einem Bundesland, einem Staat (z. B. eines Landes) und/oder dergleichen zugeordnet sind.) In einem solchen Beispiel kann ein Fahrzeug (z. B. ein Fahrzeug gleich oder ähnlich den Fahrzeugen 102 und/oder dem Fahrzeug 200) entlang einer oder mehrerer befahrbarer Regionen (z. B. einspurigen Straßen, mehrspurigen Straßen, Autobahnen, Nebenstraßen, Geländepfaden und/oder dergleichen) fahren und mindestens einen LiDAR-Sensor (z. B. einen LiDAR-Sensor gleich oder ähnlich den LiDAR-Sensoren 202b) veranlassen, Daten zu erzeugen, die einem Bild zugeordnet sind, das die in einem Sichtfeld des mindestens einen LiDAR-Sensors enthaltenen Objekte repräsentiert.
  • In einigen Ausführungsformen kann die Datenbank 410 auf einer Vielzahl von Vorrichtungen implementiert sein. In einigen Beispielen ist die Datenbank 410 in einem Fahrzeug (z. B. einem Fahrzeug gleich oder ähnlich den Fahrzeugen 102 und/oder dem Fahrzeug 200), einem autonomen Fahrzeugsystem (z. B. einem autonomen Fahrzeugsystem gleich oder ähnlich dem entfernt gelegenen AF-System 114), einem Flottenverwaltungssystem (z. B. ein Flottenverwaltungssystem gleich oder ähnlich dem Flottenverwaltungssystem 116 von 1), ein V2l-System (z. B. ein V2l-System gleich oder ähnlich dem V2l-System 118 von 1) und/oder dergleichen enthalten.
  • 4B zeigt ein Diagramm einer Implementierung eines Maschinenlernmodells. Genauer ausgedrückt ist ein Diagramm einer Implementierung eines faltungsneuronalen Netzes (CNN) 420 dargestellt. Zur Veranschaulichung bezieht sich die folgende Beschreibung des CNN 420 auf eine Implementierung des CNN 420 durch das Wahrnehmungssystem 402. Es versteht sich jedoch, dass in einigen Beispielen das CNN 420 (z. B. eine oder mehrere Komponenten des CNN 420) durch andere Systeme implementiert ist, die sich von dem Wahrnehmungssystem 402 unterscheiden oder zu diesem hinzukommen, wie z. B. das Planungssystem 404, das Lokalisierungssystem 406 und/oder das Steuerungssystem 408. Obwohl das CNN 420 bestimmte, hier beschriebene Merkmale aufweist, dienen diese Merkmale lediglich zur Veranschaulichung und sind nicht dazu bestimmt, die vorliegende Offenbarung einzuschränken.
  • Das CNN 420 umfasst eine Vielzahl von Faltungsschichten, darunter die erste Faltungsschicht 422, die zweite Faltungsschicht 424 und die Faltungsschicht 426. In einigen Ausführungsformen umfasst das CNN 420 die Unterabtastschicht 428 (mitunter auch als Pooling-Schicht bezeichnet). In einigen Ausführungsformen weisen die Unterabtastschicht 428 und/oder andere Unterabtastschichten eine Dimension (d. h. eine Anzahl von Knoten) auf, die geringer als die Dimension eines stromaufwärts gelegenen Systems ist. Dadurch, dass die Unterabtastschicht 428 eine geringere Dimension als eine Dimension einer stromaufwärts gelegenen Schicht aufweist, konsolidiert das CNN 420 die Datenmenge, die der Ersteingabe und/oder Ausgabe einer stromaufwärts gelegenen Schicht zugeordnet ist, um dadurch die Menge an Berechnungen zu verringern, die für das CNN 420 zur Durchführung stromabwärts gelegener Faltungsoperationen erforderlich sind. Zusätzlich oder alternativ dazu konsolidiert das CNN 420 aufgrund der Unterabtastschicht 428, die mindestens einer Unterabtastfunktion zugeordnet (z. B. zu deren Ausführung ausgelegt) ist (wie unten mit Bezug auf 4C und 4D beschrieben), die der Ersteingabe zugehörige Datenmenge.
  • Das Wahrnehmungssystem 402 führt Faltungsoperationen durch, die darauf basieren, dass das Wahrnehmungssystem 402 entsprechende Eingaben und/oder Ausgaben liefert, die jeweils der ersten Faltungsschicht 422, der zweiten Faltungsschicht 424 und der Faltungsschicht 426 zugeordnet sind, um entsprechende Ausgaben zu erzeugen. In einigen Beispielen implementiert das Wahrnehmungssystem 402 das CNN 420 basierend auf, dass das Wahrnehmungssystem 402 Daten als Eingabe für die erste Faltungsschicht 422, die zweite Faltungsschicht 424 und die Faltungsschicht 426 bereitstellt. In einem solchen Beispiel stellt das Wahrnehmungssystem 402 die Daten als Eingabe für die erste Faltungsschicht 422, die zweite Faltungsschicht 424 und die Faltungsschicht 426 basierend darauf bereit, dass das Wahrnehmungssystem 402 Daten aus einem oder mehreren verschiedenen Systemen (z. B. aus einem oder mehreren Systemen eines Fahrzeugs gleich oder ähnlich dem Fahrzeug 102, aus einem entfernt gelegenen AF-System gleich oder ähnlich dem entfernt gelegenen AF-System 114, aus einem Flottenverwaltungssystem gleich oder ähnlich dem Flottenverwaltungssystem 116, aus einem V2l-System gleich oder ähnlich dem V21-System 118 und/oder dergleichen) empfängt. Eine ausführliche Beschreibung der Faltungsoperationen ist weiter unten mit Bezug auf 4C vorhanden.
  • In einigen Ausführungsformen stellt das Wahrnehmungssystem 402 der ersten Faltungsschicht 422 Daten zur Verfügung, die einer Eingabe (als Ersteingabe bezeichnet) zugeordnet sind, und das Wahrnehmungssystem 402 erzeugt unter Verwendung der ersten Faltungsschicht 422 Daten, die einer Ausgabe zugeordnet sind. In einigen Ausführungsformen liefert das Wahrnehmungssystem 402 eine durch eine Faltungsschicht erzeugte Ausgabe als Eingabe für eine andere Faltungsschicht. Beispielsweise liefert das Wahrnehmungssystem 402 die Ausgabe der ersten Faltungsschicht 422 als Eingabe für die Unterabtastschicht 428, die zweite Faltungsschicht 424 und/oder die Faltungsschicht 426. In einem solchen Beispiel wird die erste Faltungsschicht 422 als stromaufwärts gelegene Schicht und die Unterabtastschicht 428, die zweite Faltungsschicht 424 und/oder die Faltungsschicht 426 als stromabwärts gelegene Schicht bezeichnet. In ähnlicher Weise stellt das Wahrnehmungssystem 402 in einigen Ausführungsformen die Ausgabe der Unterabtastschicht 428 der zweiten Faltungsschicht 424 und/oder der Faltungsschicht 426 zur Verfügung, und in diesem Beispiel würde die Unterabtastschicht 428 als stromaufwärts gelegene Schicht und die zweite Faltungsschicht 424 und/oder die Faltungsschicht 426 als stromabwärts gelegene Schicht bezeichnet werden.
  • In einigen Ausführungsformen verarbeitet das Wahrnehmungssystem 402 die Daten, die der an das CNN 420 gelieferten Eingabe zugeordnet sind, bevor das Wahrnehmungssystem 402 die Eingabe an das CNN 420 liefert. Beispielsweise verarbeitet das Wahrnehmungssystem 402 die Daten, die der an das CNN 420 gelieferten Eingabe zugeordnet sind, basierend auf der Normalisierung der Sensordaten (z. B. Bilddaten, LiDAR-Daten, Radardaten und/oder dergleichen) durch das Wahrnehmungssystem 402.
  • In einigen Ausführungsformen erzeugt das CNN 420 eine Ausgabe basierend auf dem Wahrnehmungssystem 402, das Faltungsoperationen durchführt, die jeder Faltungsschicht zugeordnet sind. In einigen Beispielen erzeugt das CNN 420 eine Ausgabe basierend auf dem Wahrnehmungssystem 402, das Faltungsoperationen durchführt, die jeder Faltungsschicht und einer Ersteingabe zugeordnet sind. In einigen Ausführungsformen erzeugt das Wahrnehmungssystem 402 die Ausgabe und stellt die Ausgabe als vollständig verbundene Schicht 430 bereit. In einigen Beispielen stellt das Wahrnehmungssystem 402 die Ausgabe der Faltungsschicht 426 als vollständig verbundene Schicht 430 bereit, wobei die vollständig verbundene Schicht 420 Daten enthält, die einer Vielzahl von Merkmalswerten zugeordnet sind, die als F1, F2 ... FN bezeichnet werden. In diesem Beispiel enthält die Ausgabe der Faltungsschicht 426 Daten, die einer Vielzahl von Ausgabemerkmalswerten zugeordnet sind, die eine Vorhersage darstellen.
  • In einigen Ausführungsformen identifiziert das Wahrnehmungssystem 402 eine Vorhersage aus einer Vielzahl von Vorhersagen basierend darauf, dass das Wahrnehmungssystem 402 einen Merkmalswert identifiziert, der der höchsten Wahrscheinlichkeit zugeordnet ist, die richtige Vorhersage aus der Vielzahl von Vorhersagen zu sein. Wenn zum Beispiel die vollständig verbundene Schicht 430 die Merkmalswerte F1, F2, ... FN enthält und F1 der größte Merkmalswert ist, identifiziert das Wahrnehmungssystem 402 die F1 zugeordnete Vorhersage als die richtige Vorhersage aus der Vielzahl von Vorhersagen. In einigen Ausführungsformen trainiert das Wahrnehmungssystem 402 das CNN 420, um die Vorhersage zu erstellen. In einigen Beispielen trainiert das Wahrnehmungssystem 402 das CNN 420, um die Vorhersage basierend darauf zu erstellen, dass das Wahrnehmungssystem 402 dem CNN 420 Trainingsdaten im Zusammenhang mit der Vorhersage bereitstellt.
  • 4C und 4D zeigen ein Diagramm des Beispielbetriebs des CNN 440 durch das Wahrnehmungssystem 402. In einigen Ausführungsformen ist das CNN 440 (z. B. eine oder mehrere Komponenten des CNN 440) gleich oder ähnlich dem CNN 420 (z. B. einem oder mehreren Komponenten des CNN 420) (siehe 4B).
  • In Schritt 450 liefert das Wahrnehmungssystem 402 Daten, die einem Bild zugeordnet sind, als Eingabe für das CNN 440 (Schritt 450). Beispielsweise liefert das Wahrnehmungssystem 402 wie dargestellt die dem Bild zugeordneten Daten an das CNN 440, wobei das Bild ein Graustufenbild ist, das als in einem zweidimensionalen (2D) Feld gespeicherte Werte dargestellt wird. Die dem Bild zugeordneten Daten können in einigen Ausführungsformen Daten umfassen, die einem Farbbild zugeordnet sind, wobei das Farbbild als in einem dreidimensionalen (3D) Feld gespeicherte Werte dargestellt sind. Zusätzlich oder alternativ können die dem Bild zugeordneten Daten auch Daten umfassen, die einem Infrarotbild, einem Radarbild und/oder dergleichen zugeordnet sind.
  • In Schritt 455 führt das CNN 440 eine erste Faltungsfunktion aus. Zum Beispiel führt das CNN 440 die erste Faltungsfunktion aus, indem das CNN 440 in der ersten Faltungsschicht 442 die das Bild repräsentierenden Werte als Eingabe für ein oder mehrere Neuronen (nicht explizit dargestellt) bereitstellt. In diesem Beispiel können die Werte, die das Bild repräsentieren, Werten entsprechen, die einen Bereich des Bildes repräsentieren (mitunter auch als rezeptives Feld bezeichnet). In einigen Ausführungsformen ist jedes Neuron einem Filter zugeordnet (nicht explizit dargestellt). Ein Filter (mitunter auch als Kernel bezeichnet) lässt sich als eine Reihe von Werten darstellen, die in ihrer Größe den Werten entspricht, die dem Neuron als Eingabe zur Verfügung gestellt werden. In einem Beispiel kann ein Filter dazu ausgelegt sein, Kanten (z. B. horizontale Linien, vertikale Linien, gerade Linien und/oder dergleichen) zu erkennen. In aufeinanderfolgenden Faltungsschichten können die den Neuronen zugeordneten Filter dazu ausgelegt sein, sukzessive komplexere Muster (z. B. Bögen, Objekte und/oder dergleichen) zu erkennen.
  • In einigen Ausführungsformen führt das CNN 440 die erste Faltungsfunktion basierend darauf aus, dass das CNN 440 die Werte, die als Eingabe für jedes des einen oder der mehreren Neuronen in der ersten Faltungsschicht 442 bereitgestellt werden, mit den Werten des Filters multipliziert, der jedem des einen oder der mehreren Neuronen entspricht. Zum Beispiel kann das CNN 440 die Werte, die als Eingabe für jedes des einen oder der mehreren Neuronen in der ersten Faltungsschicht 442 bereitgestellt werden, mit den Werten des Filters multiplizieren, der jedem des einen oder der mehreren Neuronen entspricht, um einen einzelnen Wert oder eine Reihe von Werten als Ausgabe zu erzeugen. In einigen Ausführungsformen wird die kollektive Ausgabe der Neuronen der ersten Faltungsschicht 442 als gefaltete Ausgabe bezeichnet. In einigen Ausführungsformen, in denen jedes Neuron den gleichen Filter aufweist, wird die gefaltete Ausgabe als Merkmalsabbildung bezeichnet.
  • In einigen Ausführungsformen liefert das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 an Neuronen einer stromabwärts gelegenen Schicht. Der Klarheit halber kann eine stromaufwärts gelegene Schicht eine Schicht sein, die Daten an eine andere Schicht (als stromabwärts gelegene Schicht bezeichnet) überträgt. Zum Beispiel kann das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 den entsprechenden Neuronen einer Unterabtastschicht bereitstellen. In einem Beispiel liefert das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 an die entsprechenden Neuronen der ersten Unterabtastschicht 444. In einigen Ausführungsformen addiert das CNN 440 einen Aufschaltwert zu den Gesamtheiten aller Werte, die jedem Neuron der stromabwärts gelegenen Schicht zur Verfügung gestellt werden. Beispielsweise addiert das CNN 440 einen Aufschaltwert zu den Gesamtheiten aller Werte, die an jedes Neuron der ersten Unterabtastschicht 444 geliefert werden. In einem solchen Beispiel bestimmt das CNN 440 einen endgültigen Wert, der jedem Neuron der ersten Unterabtastschicht 444 zur Verfügung gestellt wird, basierend auf den Gesamtheiten aller Werte, die jedem Neuron zur Verfügung gestellt werden, und einer Aktivierungsfunktion, die jedem Neuron der ersten Unterabtastschicht 444 zugeordnet ist.
  • In Schritt 460 führt das CNN 440 eine erste Unterabtastfunktion aus. Beispielsweise kann das CNN 440 eine erste Unterabtastfunktion ausführen, die darauf basiert, dass das CNN 440 die durch die erste Faltungsschicht 442 ausgegebenen Werte an die entsprechenden Neuronen der ersten Unterabtastschicht 444 weiterleitet. In einigen Ausführungsformen führt das CNN 440 die erste Unterabtastfunktion basierend auf einer Aggregationsfunktion aus. In einem Beispiel führt das CNN 440 die erste Unterabtastfunktion basierend darauf aus, dass das CNN 440 die maximale Eingabe unter den Werten bestimmt, die einem bestimmten Neuron zur Verfügung gestellt werden (als Max-Pooling-Funktion bezeichnet). In einem anderen Beispiel führt das CNN 440 die erste Unterabtastfunktion basierend auf der durch das CNN 440 bestimmten durchschnittlichen Eingabe unter den für ein bestimmtes Neuron bereitgestellten Werten aus (als durchschnittliche Pooling-Funktion bezeichnet). In einigen Ausführungsformen erzeugt das CNN 440 eine Ausgabe basierend darauf, dass das CNN 440 die Werte an jedes Neuron der ersten Unterabtastschicht 444 liefert, wobei die Ausgabe mitunter als unterabgetastete gefaltete Ausgabe bezeichnet wird.
  • In Schritt 465 führt das CNN 440 eine zweite Faltungsfunktion aus. In einigen Ausführungsformen führt das CNN 440 die zweite Faltungsfunktion auf ähnliche Weise wie das CNN 440 die erste Faltungsfunktion aus, wie oben beschrieben wurde. In einigen Ausführungsformen führt das CNN 440 die zweite Faltungsfunktion basierend darauf aus, dass das CNN 440 die durch die erste Unterabtastschicht 444 ausgegebenen Werte als Eingabe für ein oder mehrere Neuronen (nicht explizit dargestellt) in der zweiten Faltungsschicht 446 bereitstellt. In einigen Ausführungsformen ist jedes Neuron der zweiten Faltungsschicht 446 wie oben beschrieben einem Filter zugeordnet. Der/die der zweiten Faltungsschicht 446 zugeordnete(n) Filter kann/können dazu ausgelegt sein, komplexere Muster als der der ersten Faltungsschicht 442 zugeordnete Filter wie oben beschrieben zu erkennen.
  • In einigen Ausführungsformen führt das CNN 440 die zweite Faltungsfunktion basierend darauf aus, dass das CNN 440 die Werte, die als Eingabe für jedes des einen oder der mehreren Neuronen in der zweiten Faltungsschicht 446 bereitgestellt werden, mit den Werten des Filters multipliziert, der jedem des einen oder der mehreren Neuronen entspricht. Zum Beispiel kann das CNN 440 die Werte, die als Eingabe für jedes des einen oder der mehreren Neuronen in der zweiten Faltungsschicht 446 bereitgestellt werden, mit den Werten des Filters multiplizieren, der jedem des einen oder der mehreren Neuronen entspricht, um einen einzelnen Wert oder eine Reihe von Werten als Ausgabe zu erzeugen.
  • In einigen Ausführungsformen liefert das CNN 440 die Ausgaben jedes Neurons der zweiten Faltungsschicht 446 an Neuronen einer stromabwärts gelegenen Schicht. Zum Beispiel kann das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 den entsprechenden Neuronen einer Unterabtastschicht bereitstellen. In einem Beispiel liefert das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 an die entsprechenden Neuronen der zweiten Unterabtastschicht 448. In einigen Ausführungsformen addiert das CNN 440 einen Aufschaltwert zu den Gesamtheiten aller Werte, die jedem Neuron der stromabwärts gelegenen Schicht zur Verfügung gestellt werden. Beispielsweise addiert das CNN 440 einen Aufschaltwert zu den Gesamtheiten aller Werte, die an jedes Neuron der zweiten Unterabtastschicht 448 geliefert werden. In einem solchen Beispiel bestimmt das CNN 440 einen endgültigen Wert, der jedem Neuron der zweiten Unterabtastschicht 448 zur Verfügung gestellt wird, basierend auf den Gesamtheiten aller Werte, die jedem Neuron geliefert werden, und einer Aktivierungsfunktion, die jedem Neuron der zweiten Unterabtastschicht 448 zugeordnet ist.
  • In Schritt 470 führt das CNN 440 eine zweite Unterabtastfunktion aus. Beispielsweise kann das CNN 440 eine zweite Unterabtastfunktion basierend darauf aus, dass das CNN 440 die durch die zweite Faltungsschicht 446 ausgegebenen Werte an die entsprechenden Neuronen der zweiten Unterabtastschicht 448 weiterleitet. In einigen Ausführungsformen führt das CNN 440 die zweite Unterabtastfunktion basierend darauf aus, dass das CNN 440 eine Aggregationsfunktion verwendet. In einem Beispiel führt das CNN 440 die erste Unterabtastfunktion basierend darauf aus, dass das CNN 440 wie oben beschrieben die maximale Eingabe oder eine durchschnittliche Eingabe unter den Werten bestimmt, die einem gegebenen Neuron bereitgestellt werden. In einigen Ausführungsformen erzeugt das CNN 440 eine Ausgabe, die darauf basiert, dass das CNN 440 die Werte an jedes Neuron der zweiten Unterabtastschicht 448 liefert.
  • In Schritt 475 liefert das CNN 440 die Ausgabe jedes Neurons der zweiten Unterabtastschicht 448 an vollständig verbundene Schichten 449. Zum Beispiel liefert das CNN 440 die Ausgabe jedes Neurons der zweiten Unterabtastschicht 448 an vollständig verbundene Schichten 449, um die vollständig verbundenen Schichten 449 zu veranlassen, eine Ausgabe zu erzeugen. In einigen Ausführungsformen sind vollständig verbundene Schichten 449 dazu ausgelegt, eine Ausgabe 480 zu erzeugen, die einer Vorhersage zugeordnet ist (mitunter auch als Klassifizierung bezeichnet). Die Vorhersage kann einen Hinweis darauf enthalten, dass ein Objekt, das in dem als Eingabe für das CNN 440 bereitgestellten Bild enthalten ist, ein Objekt, eine Gruppe von Objekten und/oder dergleichen umfasst. In einigen Ausführungsformen führt das Wahrnehmungssystem 402 eine oder mehrere Operationen durch und/oder liefert die der Vorhersage zugeordneten Daten an ein anderes, hier beschriebenes System.
  • 5 zeigt ein Diagramm eines Kamerakalibrierungssystems 500 für eine auf Deep Learning basierende Kamerakalibrierung. In einigen Ausführungsformen steht das Kamerakalibrierungssystem 500 mit einer Kamera 504, einer Datenbank 506 und gegebenenfalls mit einem Wahrnehmungssystem 508 in Kommunikation. In einigen Ausführungsformen ist das Kamerakalibrierungssystem 500 gleich oder ähnlich dem autonomen System oder Teil desselben, wie z. B. dem AF-Rechensystem 202f des autonomen Systems 202, dem AF-Rechensystem 400 oder einer Komponente davon (z. B. dem Wahrnehmungssystem 402). In einigen Ausführungsformen ist das Kamerakalibrierungssystem 500 gleich oder ähnlich einem entfernt gelegenen autonomen System, wie z. B. dem entfernt gelegenen AF-System 114, oder einem Teil davon. In einigen Ausführungsformen ist die Kamera 504 gleich oder ähnlich den Kameras 202a, die Datenbank 506 gleich oder ähnlich der Datenbank 410 und/oder das Wahrnehmungssystem 508 gleich oder ähnlich dem Wahrnehmungssystem 402.
  • Im Allgemeinen verarbeitet das Kamerakalibrierungssystem 500 die durch die Kamera 504 aufgenommenen Bilder mithilfe eines Tiefenmodells 510, eines Transformationsmodells 512, eines Projektionsgenerators 514 und einer Optimierungs-Engine 516 zum Kalibrieren der Kamera 504. Der Begriff „kalibrieren“ bezieht sich hier auf das Bestimmen oder Schätzen eines oder mehrerer Kameraparameter, wie zum Beispiel u. a. kamerainterner Parameter, kameraexterner Parameter oder Kombinationen davon. Kamerainterne Parameter beziehen die Koordinaten der Kamera auf die Koordinaten eines Bildpunktes (z. B. Pixelkoordinaten) und können beispielsweise Brennweite, Hauptpunkt (mitunter auch bezeichnet als optische Mitte oder Punkt auf einer Bildebene, die sich mit einer aus der Kameramitte projizierten Achse schneidet), Schiefekoeffizient (z. B. ein Koeffizient, der den Winkel zwischen der X- und der Y-Pixelachse definiert), das Bildsensorformat (z. B. die Form und/oder Größe eines durch den Bildsensor der Kamera erzeugten Pixels) und der Verzeichnungskoeffizient (z. B. ein Koeffizient, der radiale und/oder tangentiale Verzeichnungen definiert, die z. B. durch ein Objektiv der Kamera verursacht werden), um nur einige zu nennen. Kameraexterne Parameter beziehen die Koordinaten der Kamera auf die Weltkoordinaten und können z. B. Translation (z. B. einen Translationsvektor) und Rotation (z. B. eine Rotationsmatrix) beinhalten. Sobald das Kamerakalibrierungssystem 500 bestimmt, dass die Kameraparameter mit einer bestimmten Genauigkeit (wie unten beschrieben) geschätzt wurden, gilt die Kamera 504 als kalibriert. Die Parameter für die kalibrierte Kamera 504 können dann (z. B. in der Datenbank 506) gespeichert und/oder einem oder mehreren anderen Fahrzeugsystemen oder -komponenten, wie dem Wahrnehmungssystem 508, zur Verwendung bei der Erkennung und Vermessung von Objekten zur Verfügung gestellt werden.
  • Im Betrieb empfängt das Kamerakalibrierungssystem 500 mindestens ein erstes Bild 518a und ein zweites Bild 518b, die durch die Kamera 504 aufgenommen wurden. Jedes der Bilder 518a, 518b (zusammen als Bilder 518 bezeichnet) kann in einer anderen Position oder Ausrichtung (mitunter als Pose bezeichnet) der Kamera 504 aufgenommen sein. In einigen Ausführungsformen ist die Kamera 504 beispielsweise eine Videokamera, und die Bilder 518 sind aufeinanderfolgende (oder nahezu aufeinanderfolgende) Bilder eines Videos, das aufgenommen wurde, während sich ein mit der Kamera 504 gekoppeltes Fahrzeug (z. B. das Fahrzeug 102 oder das Fahrzeug 200) in Bewegung befindet. In einigen Ausführungsformen ist die Kamera 504 eine Standbildkamera, und das erste Bild 518a wird aufgenommen, während sich die Kamera 504 in einer ersten Position oder Ausrichtung befindet, und das zweite Bild 518b wird aufgenommen, während sich die Kamera in einer zweiten Position oder Ausrichtung befindet. In einigen Ausführungsformen erfüllt der Abstand zwischen der ersten Position (oder Ausrichtung) und der zweiten Position (oder Ausrichtung) einen der Kalibrierung der Kamera zugeordneten Schwellenwert (z. B. einen solchen Schwellenwertabstand, dass eine Veränderung in mindestens einem Kameraparameter, wie z. B. einem kamerainternen Parameter, durch Analyse der Bilder beobachtbar ist). In einigen Ausführungsformen wird die Aufnahme der verschiedenen Bilder 518 durch das Fahrzeug oder das Fahrzeugsystem automatisiert, indem beispielsweise das Fahrzeug oder das Fahrzeugsystem die Kamera 504 veranlasst, das erste Bild 518a an einer ersten Position des Fahrzeugs aufzunehmen, das Fahrzeug veranlasst, autonom zu einer zweiten Position zu fahren, und die Kamera 504 veranlasst, das zweite Bild 518b an der zweiten Position des Fahrzeugs aufzunehmen.
  • Das erste Bild 518a wird dem Tiefenmodell 510 des Kamerakalibrierungssystems 500 zur Verfügung gestellt, das das erste Bild 518a verarbeitet, um einen Tiefenwert für jeden Punkt (z. B. Pixel) des Bildes aus dem Blickwinkel der Kamera 504 vorherzusagen. Unter Verwendung der vorhergesagten Tiefenwerte erzeugt das Tiefenmodell 510 eine Tiefenkarte 520 (oder Punktwolke), die den Abstand jedes Punktes des Bildes 518a von der Position der Kamera 504 darstellt. In einigen Ausführungsformen umfasst das Tiefenmodell 510 ein oder mehrere neuronale Netze, wie ein oder mehrere CNNs (z. B. das CNN 420 oder CNN 440). In diesem Beispiel empfängt das Tiefenmodell 510 das erste Bild 518a als Eingabe. In einigen Ausführungsformen ist das Bild 518a ein Graustufenbild, das durch in einem 2D-Feld gespeicherte Werte dargestellt wird. In einigen Ausführungsformen ist das Bild 518a ein Farbbild (RGB), das durch in einem 3D-Feld gespeicherte Werte dargestellt wird. Das Tiefenmodell 510 verarbeitet das erste Bild 518a unter Verwendung einer oder mehrerer Schichten und gemäß einem oder mehreren Parametern 522 (z. B. Modellgewichtungen und/oder Aufschaltwerten). Das Tiefenmodell 510 kann zum Beispiel Merkmale aus dem Bild 518a extrahieren und Techniken wie Entfaltung oder erweiterte Faltung zur Erstellung der Tiefenkarte 520 verwenden. Basierend auf dieser Verarbeitung sagt das Tiefenmodell 510 einen Tiefenwert für jeden Punkt des Bildes 518a voraus, um eine Tiefenkarte 520 aus dem Blickwinkel der Kamera 504 zu erstellen. In einigen Ausführungsformen wird das Tiefenmodell 510 trainiert und der eine oder die mehreren Parameter 522 werden wie unten beschrieben durch einen Optimierungsalgorithmus (z. B. stochastischer Gradientenabstieg mit Rückwärtspropagation) aktualisiert, der durch die Optimierungs-Engine 516 angewendet wird.
  • Das Transformationsmodell 512 des Kamerakalibrierungssystems 500 empfängt und verarbeitet das erste und zweite Bild 518, um eine Transformation 524 zwischen der Pose der Kamera 504 für das erste Bild 518a und einer Pose der Kamera 504 für das zweite Bild 518b vorherzusagen. Die Transformation 524 kann eine Transformationsmatrix mit Werten enthalten, die eine 2D- oder 3D-Translation, Rotation und/oder andere Transformationen in der Pose der Kamera 504 darstellen, die aus dem ersten und zweiten Bild 518 abgeleitet werden. In einigen Ausführungsformen kann die Transformation 524 eine reale Position der Kamera 504 zu einem Zeitpunkt, an dem das zweite Bild 518b aufgenommen wird, relativ zu einer bekannten oder angenommenen Position der Kamera 504 zu einem Zeitpunkt, an dem das erste Bild 518a aufgenommen wird, darstellen. In einigen Ausführungsformen, z. B. wenn die Kamera 504 auf ein Fahrzeug gerichtet ist, kann das Transformationsmodell 512 Informationen über die Bewegung des Fahrzeugs (z. B. Abstand, Richtung usw.) zwischen der Aufnahme des ersten Bildes 518a und des zweiten Bildes 518b empfangen und diese Informationen allein oder in Kombination mit der Analyse der Bilder 518 zur Bestimmung der Transformation 524 verwenden.
  • In einigen Ausführungsformen umfasst das Transformationsmodell 512 ein oder mehrere neuronale Netze, wie beispielsweise ein oder mehrere CNNs (z. B. das CNN 420 oder CNN 440). In diesem Beispiel empfängt das Transformationsmodell 512 das erste und zweite Bild 518 als Eingaben. Wie bereits erwähnt, können die Bilder 518 Graustufenbilder, die durch in 2D-Feldern gespeicherte Werte dargestellt werden, oder Farbbilder (RGB) sein, die durch in 3D-Feldern gespeicherte Werte dargestellt werden. Das Transformationsmodell 512 verarbeitet die Bilder 518 unter Verwendung einer oder mehrerer Schichten und gemäß einem oder mehreren Parametern 526 (z. B. Modellgewichtungen und/oder Aufschaltwerten). Zum Beispiel kann das Transformationsmodell 512 Merkmale aus den Bildern 518 extrahieren und entsprechende Merkmale in den Bildern 518 vergleichen, um eine oder mehrere Transformationen der Pose der Kamera 504 zu identifizieren. Basierend auf dieser Verarbeitung sagt das Transformationsmodell 512 eine Transformation 524 (z. B. eine Transformationsmatrix) zwischen der Pose der Kamera 504 für das erste Bild 518a und einer Pose der Kamera 504 für das zweite Bild 518b voraus. In einigen Ausführungsformen wird das Transformationsmodell 512 trainiert, und der eine oder die mehreren Parameter 526 werden wie unten beschrieben durch einen Optimierungsalgorithmus (z. B. stochastischen Gradientenabstieg mit Rückwärtspropagation) aktualisiert, der durch die Optimierungs-Engine 516 angewendet wird.
  • Die Tiefenkarte 520 und die Transformation 524 werden dem Projektionsgenerator 514 des Kamerakalibrierungssystems 500 zugeführt. Der Projektionsgenerator 514 wendet die Transformation 524 auf die Tiefenkarte 520 für das erste Bild 518a an, um eine vorhergesagte Tiefenkarte für das zweite Bild 518b zu erzeugen (z. B. eine vorhergesagte Tiefenkarte aus einer Pose der Kamera 504 für das zweite Bild 518b). Der Projektionsgenerator 514 wendet dann einen oder mehrere Parameter 528 an, um die vorhergesagte Tiefenkarte für das zweite Bild 518b in den Bildrahmen zu projizieren, wodurch ein Projektionsbild 530 des zweiten Bildes 518b erzeugt wird.
  • In einigen Ausführungsformen handelt es sich bei dem einen oder den mehreren Parametern 528 um kamerainterne Parameter 504, und der Projektionsgenerator 514 erzeugt das Projektionsbild 530 gemäß einem Kameramodell, beispielsweise einem Lochkameramodell. Zum Beispiel kann der Projektionsgenerator 514 Werte für jeden Punkt (z. B. jedes Pixel) des Projektionsbildes 530 gemäß der Gleichung [ x y 1 ] = K [ R  T ] [ X Y Z ]
    Figure DE102021132853A1_0001
    bestimmen, wobei x, y die Koordinaten des Projektionsbildes sind, K eine kamerainterne Parametermatrix ist, [R T] eine kameraexterne Parametermatrix einschließlich Rotation und Translation ist und [ X Y Z ]
    Figure DE102021132853A1_0002
    die Weltkoordinaten sind. In diesem Beispiel kann die kameraexterne Parametermatrix (z. B. aus der Transformation 524 oder anderweitig) bekannt sein, die Weltkoordinaten können aus der vorhergesagten Tiefenkarte für das zweite Bild 518b abgeleitet werden, und die kamerainterne Parametermatrix kann aus den Parametern 528 bestimmt werden.
  • Das Projektionsbild 530 wird dem Optimierungssystem 516 des Kamerakalibrierungssystems 500 zugeführt. Die Optimierungs-Engine 516 vergleicht das Projektionsbild 530 mit einem Grundwahrheitsbild (z. B. dem zweiten Bild 518b), um einen Reprojektionsfehler 532 zu bestimmen. Zum Beispiel kann die Optimierungs-Engine 516 einen pixelweisen Vergleich des Projektionsbildes 530 und des zweiten Bildes 518b durchführen, um einen Abstand (z. B. einen euklidischen Abstand) zwischen jedem Punkt des Projektionsbildes 530 und einem entsprechenden Punkt des zweiten Bildes 518b zu bestimmen. In einigen Ausführungsformen kombiniert das Optimierungssystem 516 die bestimmten Abstände (z. B. durch Summierung, Mittelwertbildung usw.), um den Reprojektionsfehler 532 zu bestimmen.
  • Die Optimierungs-Engine 516 verwendet den Reprojektionsfehler 532, um einen oder mehrere Parameter des Kamerakalibrierungssystems 500 zu optimieren, wie z. B. einen oder mehrere der Parameter 522 des Tiefenmodells 510, einen oder mehrere der Parameter 526 des Transformationsmodells 512 und/oder einen oder mehrere der Parameter 528 (z. B. kamerainterne Parameter) des Projektionsgenerators 514. Zum Beispiel definiert die Optimierungs-Engine 516 eine Kosten- oder Verlustfunktion, wie eine Funktion des mittleren quadratischen Fehlers, die einen oder mehrere der Parameter 522, 526, 528 als Eingaben nimmt und sie mit dem Reprojektionsfehler 532 in Beziehung setzt. Die Optimierungs-Engine 516 kann dann einen oder mehrere Optimierungsalgorithmen, wie z. B. einen Gradientenabstieg, einen stochastischen Gradientenabstiegsalgorithmus, eine adaptive Bewegungsschätzung, ein adaptives Lernratenverfahren, das Newton-Verfahren oder Kombinationen davon, auf die Kostenfunktion anwenden, um Werte für die Parameter 522, 526, 528 zu bestimmen, die zu einem Minimumwert des Reprojektionsfehlers 532 führen.
  • Wenn zum Beispiel ein Gradientenabstiegs- oder stochastischer Gradientenabstiegsoptimierungsalgorithmus verwendet wird, kann die Optimierungs-Engine 516 einen Gradienten der Kostenfunktion in Bezug auf die Parameter 522, 526, 528 berechnen. In einigen Ausführungsformen kann ein Rückwärtspropagationsalgorithmus oder ein anderer automatischer Differenzierungsalgorithmus verwendet werden, um den Gradienten der Kostenfunktion in Bezug auf die Parameter zu berechnen, je nachdem, welche Parameter optimiert werden (z. B. kann ein Rückwärtspropagationsalgorithmus verwendet werden, wenn Parameter für versteckte Schichten, wie versteckte Schichten des Tiefenmodells 510 oder des Transformationsmodells 512, optimiert werden). Basierend auf dem Gradienten kann die Optimierungs-Engine 516 die Werte eines oder mehrerer Parameter 522, 526, 528 anpassen, um den Reprojektionsfehler 532 zu verringern. In einigen Ausführungsformen wird die Anpassung der einzelnen Parameter durch eine Schrittgröße oder Lernrate gesteuert, die je nach Parameter variieren kann.
  • Das Optimierungssystem 516 kann den Optimierungsprozess so lange wiederholen, bis die Verlustfunktion (z. B. der Reprojektionsfehler) minimiert ist, eine maximale Anzahl von Lösungsvorschlägen ausgewertet wurde oder eine andere Stoppbedingung erfüllt ist. In einigen Ausführungsformen vergleicht das Optimierungsmodul 516 beispielsweise den Reprojektionsfehler 532 mit einem Schwellenwert, um zu bestimmen, ob der Schwellenwert erreicht wurde. Ist der Schwellenwert erfüllt, kann die Kamera 504 als kalibriert angesehen werden, und einer oder mehrere der Parameter 522, 526, 528 können in der Datenbank 506 gespeichert werden. In einigen Ausführungsformen werden einer oder mehrere der Parameter, wie die Parameter 528 (die z. B. die kamerainternen Parameter darstellen), dem Wahrnehmungssystem 508 und/oder einem anderen hier beschriebenen System oder einer Vorrichtung bereitgestellt. Das Wahrnehmungssystem 508 (oder ein anderes System oder eine andere Vorrichtung) kann diese kamerainternen Parameter verwenden, um verschiedene Computer-Vision-Aufgaben durchzuführen, wie z. B. das Erkennen und Vermessen von Objekten.
  • In 6 ist ein Flussdiagramm eines Prozesses 600 für eine auf Deep Learning basierte Kamerakalibrierung dargestellt. In einigen Ausführungsformen werden ein oder mehrere der in Bezug auf Prozess 600 beschriebenen Schritte (z. B. vollständig, teilweise und/oder dergleichen) durch das Kamerakalibrierungssystem 500 durchgeführt. Zusätzlich oder alternativ werden in einigen Ausführungsformen ein oder mehrere Schritte, die in Bezug auf den Prozess 600 beschrieben sind, durch eine andere Vorrichtung oder Gruppe von Vorrichtungen (z. B. vollständig, teilweise und/oder dergleichen) durchgeführt, die von dem Kamerakalibrierungssystem 500 getrennt sind oder dieses beinhalten, wie beispielsweise u. a. dem AF-Rechensystem 202f des autonomen Systems 202, dem AF-Rechensystem 400 oder eine Komponente davon (z. B. das Wahrnehmungssystem 402), das entfernt gelegene AF-System 114 oder Kombinationen davon.
  • Die Operationen des Prozesses 600 umfassen das Empfangen eines ersten Bildes, das durch eine Kamera aufgenommen wurde, und eines zweiten Bildes, das durch die Kamera aufgenommen wurde (Block 602). Das erste Bild und das zweite Bild können z. B. aus der Kamera 504 durch mindestens einen Prozessor des Kamerakalibrierungssystems 500 empfangen werden. In einigen Ausführungsformen wird das erste Bild aufgenommen, während die Kamera an einem ersten Ort positioniert ist, und das zweite Bild wird aufgenommen, während die Kamera an einem zweiten Ort positioniert ist, der vom ersten Ort verschieden ist. Der Abstand zwischen dem ersten Ort und dem zweiten Ort kann einen Schwellenwert erfüllen, der der Kalibrierung der Kamera zugeordnet ist. In einigen Fällen sind das erste und das zweite Bild aufeinanderfolgende (oder nahezu aufeinanderfolgende) Einzelbilder in einem Video. In einigen Ausführungsformen werden das erste und das zweite Bild als Reaktion auf einen Auslöser, z. B. ein Fahrzeug, einen Benutzer des Fahrzeugs oder einen entfernt befindlichen Bediener des Fahrzeugs mit der Kamera, das einen Kamerakalibrierungsprozess einleitet, empfangen.
  • Das erste Bild wird mittels eines ersten neuronalen Netzes verarbeitet, um die Tiefe mindestens eines Teils des ersten Bildes zu bestimmen (Block 604). Das erste neuronale Netz kann z. B. ein CNN (z. B. das CNN 420 oder CNN 440) umfassen und kann Teil des Tiefenmodells 510 sein. In einigen Ausführungsformen wird die Tiefe des ersten Bildes aus einem Blickpunkt oder einer Position der Kamera gemessen und durch eine Punktwolke oder Tiefenkarte, wie die Tiefenkarte 520, dargestellt.
  • Das erste Bild und das zweite Bild werden mittels eines zweiten neuronalen Netzes verarbeitet, um eine Transformation zwischen einer Pose der Kamera für das erste Bild und einer Pose der Kamera für das zweite Bild zu bestimmen (Block 606). Das zweite neuronale Netz kann z. B. ein CNN (z. B. das CNN 420 oder CNN 440) umfassen und kann Teil des Transformationsmodells 512 sein. In einigen Ausführungsformen kann die Transformation (z. B. die Transformation 524) eine Transformationsmatrix mit Werten enthalten, die eine 2D- oder 3D-Translation, Rotation und/oder andere Transformationen in der Pose der Kamera darstellen, die aus dem ersten und zweiten Bild abgeleitet werden.
  • Basierend auf der Tiefe zumindest des Teils des ersten Bildes, der Transformation zwischen der Pose der Kamera für das erste Bild und der Pose der Kamera für das zweite Bild sowie der kamerainternen Parameter wird ein Projektionsbild erzeugt (Block 608). In einigen Ausführungsformen umfasst das Erzeugen des Projektionsbildes (z. B. des Projektionsbildes 530) das Anwenden (z. B. durch den Projektionsgenerator 514) der Transformation auf die Tiefe von mindestens dem Teil des ersten Bildes, um eine Tiefe mindestens eines Teils des zweiten Bildes vorherzusagen, und das Verarbeiten der vorhergesagten Tiefe mindestens des Teils des zweiten Bildes mit den kamerainternen Parametern (z. B. den Parametern 528), um das Projektionsbild zu erzeugen. Zu den kamerainternen Parametern können beispielsweise Brennweite, Hauptpunkt, Schiefekoeffizient, Bildsensorformat (z. B. Pixelform und/oder Pixelgröße) und Verzeichnungskoeffizient gehören.
  • Das zweite Bild und das Projektionsbild werden verglichen, um einen Reprojektionsfehler an einigen oder allen Punkten der Bilder zu bestimmen (Block 610). In einigen Ausführungsformen wird der Reprojektionsfehler (z. B. der Reprojektionsfehler 532) (z. B. durch die Optimierungs-Engine 516) durch einen pixelweisen Vergleich des Projektionsbildes und des zweiten Bildes bestimmt, um einen Abstand (z. B. einen euklidischen Abstand) zwischen jedem Punkt des Projektionsbildes und einem entsprechenden Punkt des zweiten Bildes zu bestimmen. In einigen Ausführungsformen werden die bestimmten Abstände kombiniert (z. B. summiert, gemittelt usw.), um den Reprojektionsfehler zu bestimmen.
  • Basierend auf dem Reprojektionsfehler wird mindestens einer der kamerainternen Parameter angepasst (Block 612). In einigen Ausführungsformen umfasst das Anpassen mindestens eines der kamerainternen Parameter das Anwenden eines Optimierungsalgorithmus (zum Beispiel u. a. Gradientenabstieg oder stochastischer Gradientenabstieg und gegebenenfalls mit Rückwärtspropagation) auf eine Kostenfunktion, die die kamerainternen Parameter mit dem Reprojektionsfehler in Beziehung setzt und dazu ausgelegt ist, die Kostenfunktion durch Anpassen mindestens eines der kamerainternen Parameter zu minimieren. In einigen Ausführungsformen wird die Optimierung kontinuierlich angewandt und werden die kamerainternen Parameter (und/oder andere Parameter) angepasst, bis der Reprojektionsfehler einen vorgegebenen Schwellenwert erreicht. Wenn der Reprojektionsfehler den vorgegebenen Schwellenwert erfüllt, wird die Kamera als kalibriert eingestuft, und die kamerainternen Parameter (und/oder andere Parameter) können (z. B. in der Datenbank 506) gespeichert und/oder anderen hier beschriebenen Systemen oder Vorrichtungen, wie dem Wahrnehmungssystem 508, zur Verwendung bei Computer-Vision-Aufgaben zur Verfügung gestellt werden.
  • In einigen Ausführungsformen umfasst der Prozess 600 das Anpassen von mindestens einem Parameter des ersten neuronalen Netzes oder des zweiten neuronalen Netzes basierend auf dem Reprojektionsfehler. Das Anpassen von mindestens einem Parameter des ersten neuronalen Netzes oder des zweiten neuronalen Netzes kann das Anwenden eines Optimierungsalgorithmus auf eine Kostenfunktion beinhalten, die den mindestens einen Parameter des ersten neuronalen Netzes oder des zweiten neuronalen Netzes mit dem Reprojektionsfehler in Beziehung setzt. Der Optimierungsalgorithmus kann dazu ausgelegt sein, die Kostenfunktion durch Anpassen des mindestens einen Parameter des ersten neuronalen Netzes oder des zweiten neuronalen Netzes zu minimieren.
  • Verschiedene Modifikationen der hier beschriebenen Techniken sind möglich. Die hier beschriebenen Techniken können beispielsweise zur Verbesserung der Kalibrierung anderer Sensoren, wie IMU, Radarsensoren, LiDAR-Sensoren oder anderer Sensoren, verwendet werden. So können beispielsweise ein oder mehrere neuronale Netze verwendet werden, um die IMU oder einen anderen Sensor zu modellieren und Kalibrierungsparameter für das Modell zu ermitteln, die den Fehler zwischen der Ausgabe des Modells und einer Referenzmessung minimieren.
  • In der vorgenannten Beschreibung sind Aspekte und Ausführungsformen der vorliegende Offenbarung mit Bezug auf zahlreiche spezifische Details beschrieben, die von Implementierung zu Implementierung verschieden sein können. Die Beschreibung und die Zeichnungen sind dementsprechend in einem veranschaulichenden statt einem einschränkenden Sinn zu sehen. Der einzige und ausschließliche Indikator für den Schutzbereich der Erfindung und das, was durch die Anmelder als Schutzbereich der Erfindung beabsichtigt ist, ist der wörtliche und äquivalente Schutzbereich der Menge der Ansprüche, die aus dieser Anmeldung in der spezifischen Form hervorgehen, in der diese Ansprüche, einschließlich etwaiger späterer Korrekturen, ausgestellt sind. Alle hier ausdrücklich dargelegten Definitionen für Begriffe, die in diesen Ansprüchen enthalten sind, regeln die Bedeutung der in den Ansprüchen verwendeten Begriffe. Darüber hinaus kann bei Verwendung des Begriffs „ferner umfassend“ in der vorhergehenden Beschreibung oder in den folgenden Ansprüchen das auf diese Formulierung Folgende ein zusätzlicher Schritt oder eine

Claims (11)

  1. Computerimplementiertes Verfahren, umfassend: Empfangen eines ersten durch eine Kamera aufgenommenen Bildes und eines zweiten durch die Kamera aufgenommenen Bildes mittels mindestens eines Prozessors; Verarbeiten des ersten Bildes mittels des mindestens einen Prozessors unter Verwendung eines ersten neuronalen Netzes, um eine Tiefe mindestens eines Teils des ersten Bildes zu bestimmen; Verarbeiten des ersten Bildes und des zweiten Bildes mittels des mindestens einen Prozessors unter Verwendung eines zweiten neuronalen Netzes, um eine Transformation zwischen einer Pose der Kamera für das erste Bild und einer Pose der Kamera für das zweite Bild zu bestimmen; Erzeugen, unter Verwendung des mindestens einen Prozessors, eines Projektionsbildes basierend auf der Tiefe mindestens des Teils des ersten Bildes, der Transformation zwischen der Pose der Kamera für das erste Bild und der Pose der Kamera für das zweite Bild und kamerainterner Parameter; Vergleichen des zweiten Bildes und des Projektionsbildes unter Verwendung des mindestens einen Prozessors, um einen Reprojektionsfehler zu bestimmen; und Anpassen mindestens eines der kamerainternen Parameter unter Verwendung des mindestens einen Prozessors basierend auf dem Reprojektionsfehler.
  2. Verfahren gemäß Anspruch 1, wobei das Empfangen des ersten durch die Kamera aufgenommenen Bildes und des zweiten durch die Kamera aufgenommenen Bildes umfasst: Empfangen des ersten Bildes, während die Kamera an einem ersten Ort positioniert ist; und Empfangen des zweiten Bildes, während die Kamera an einem zweiten Ort positioniert ist, der von dem ersten Ort verschieden ist, wobei ein Abstand zwischen dem ersten Ort und dem zweiten Ort einen Schwellenwert erfüllt, der der Kalibrierung der Kamera zugeordnet ist, und/oder vorzugsweise wobei das Erzeugen des Projektionsbildes umfasst: Anwenden der Transformation auf die Tiefe mindestens des Teils des ersten Bildes, um eine Tiefe mindestens eines Teils des zweiten Bildes vorherzusagen; und Verarbeiten der vorhergesagten Tiefe mindestens des Teil des zweiten Bildes mit den kamerainternen Parametern, um das Projektionsbild zu erzeugen, und/oder vorzugsweise wobei das Vergleichen des zweiten Bildes und des Projektionsbildes zum Bestimmen des Reprojektionsfehlers umfasst: Bestimmen eines Abstands zwischen jedem Punkt des zweiten Bildes und einem entsprechenden Punkt des Projektionsbildes; und Kombinieren des Abstands zwischen jedem Punkt des zweiten Bildes und dem entsprechenden Punkt des Projektionsbildes, um den Reprojektionsfehler zu bestimmen, und/oder vorzugsweise wobei das Anpassen mindestens eines der kamerainternen Parameter das Anwenden eines Optimierungsalgorithmus auf eine Kostenfunktion umfasst, die die internen Parameter mit dem Reprojektionsfehler in Beziehung setzt, wobei der Optimierungsalgorithmus dazu ausgelegt ist, die Kostenfunktion durch Anpassen mindestens eines der internen Parameter zu minimieren, und/oder vorzugsweise ferner umfassend das Anpassen mindestens eines Parameters des ersten neuronalen Netzes oder des zweiten neuronalen Netzes basierend auf dem Reprojektionsfehler.
  3. Verfahren gemäß Anspruch 2, wobei das Anpassen mindestens eines Parameters des ersten neuronalen Netzes oder des zweiten neuronalen Netzes das Anwenden eines Optimierungsalgorithmus auf eine Kostenfunktion umfasst, die den mindestens einen Parameter des ersten neuronalen Netzes oder des zweiten neuronalen Netzes mit dem Reprojektionsfehler in Beziehung setzt, wobei der Optimierungsalgorithmus dazu ausgelegt ist, die Kostenfunktion durch Anpassen des mindestens einen Parameters des ersten neuronalen Netzes oder des zweiten neuronalen Netzes zu minimieren, und/oder vorzugsweise wobei das erste neuronale Netz oder das zweite neuronale Netz ein neuronales Faltungsnetz beinhaltet.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, wobei die kamerainternen Parameter mindestens eine Brennweite, eine Pixelgröße, einen Hauptpunkt, einen Schiefekoeffizienten oder einen Verzeichnungskoeffizienten umfassen, und/oder vorzugsweise ferner umfassend: Bestimmen, dass die Kamera kalibriert ist, wenn der Reprojektionsfehler einen vorgegebenen Schwellenwert erfüllt.
  5. Fahrzeug, umfassend: eine Kamera; mindestens einen Prozessor; und mindestens ein nichtflüchtiges computerlesbares Speichermedium, das Anweisungen speichert, die beim Ausführen durch mindestens einen Prozessor bewirken, dass der mindestens eine Prozessor Operationen durchführt, die Folgendes umfassen: Empfangen eines ersten durch eine Kamera aufgenommenen Bildes und eines zweiten durch die Kamera aufgenommenen Bildes; Verarbeiten des ersten Bildes unter Verwendung eines ersten neuronalen Netzes, um eine Tiefe mindestens eines Teils des ersten Bildes zu bestimmen; Verarbeiten des ersten Bildes und des zweiten Bildes unter Verwendung eines zweiten neuronalen Netzes, um eine Transformation zwischen einer Pose der Kamera für das erste Bild und einer Pose der Kamera für das zweite Bild zu bestimmen; Erzeugen eines Projektionsbildes basierend auf der Tiefe mindestens des Teils des ersten Bildes, der Transformation zwischen der Pose der Kamera für das erste Bild und der Pose der Kamera für das zweite Bild und kamerainterner Parameter; Vergleichen des zweiten Bildes und des Projektionsbildes, um einen Reprojektionsfehler zu bestimmen; und Anpassen mindestens eines der kamerainternen Parameter basierend auf dem Reprojektionsfehler.
  6. Fahrzeug gemäß Anspruch 5, wobei das Empfangen des ersten durch die Kamera aufgenommenen Bildes und des zweiten durch die Kamera aufgenommenen Bildes umfasst: Empfangen des ersten Bildes, während die Kamera an einem ersten Ort positioniert ist; und Empfangen des zweiten Bildes, während die Kamera an einem zweiten Ort positioniert ist, der von dem ersten Ort verschieden ist, wobei ein Abstand zwischen dem ersten Ort und dem zweiten Ort einen Schwellenwert erfüllt, der der Kalibrierung der Kamera zugeordnet ist, und/oder vorzugsweise wobei das Erzeugen des Projektionsbildes umfasst: Anwenden der Transformation auf die Tiefe mindestens des Teils des ersten Bildes, um eine Tiefe mindestens eines Teils des zweiten Bildes vorherzusagen; und Verarbeiten der vorhergesagten Tiefe mindestens des Teil des zweiten Bildes mit den kamerainternen Parametern, um das Projektionsbild zu erzeugen, und/oder vorzugsweise wobei das Vergleichen des zweiten Bildes und des Projektionsbildes zum Bestimmen des Reprojektionsfehlers umfasst: Bestimmen eines Abstands zwischen jedem Punkt des zweiten Bildes und einem entsprechenden Punkt des Projektionsbildes; und Kombinieren des Abstands zwischen jedem Punkt des zweiten Bildes und dem entsprechenden Punkt des Projektionsbildes, um den Reprojektionsfehler zu bestimmen, und/oder vorzugsweise wobei das Anpassen mindestens eines der kamerainternen Parameter das Anwenden eines Optimierungsalgorithmus auf eine Kostenfunktion umfasst, die die internen Parameter mit dem Reprojektionsfehler in Beziehung setzt, wobei der Optimierungsalgorithmus dazu ausgelegt ist, die Kostenfunktion durch Anpassen mindestens eines der internen Parameter zu minimieren, und/oder vorzugsweise wobei die Anweisungen ferner den mindestens einen Prozessor veranlassen, Operationen durchzuführen, die das Anpassen mindestens eines Parameters des ersten neuronalen Netzes oder des zweiten neuronalen Netzes basierend auf dem Reprojektionsfehler umfassen.
  7. Fahrzeug gemäß Anspruch 6, wobei das Anpassen mindestens eines Parameters des ersten neuronalen Netzes oder des zweiten neuronalen Netzes das Anwenden eines Optimierungsalgorithmus auf eine Kostenfunktion umfasst, die den mindestens einen Parameter des ersten neuronalen Netzes oder des zweiten neuronalen Netzes mit dem Reprojektionsfehler in Beziehung setzt, wobei der Optimierungsalgorithmus dazu ausgelegt ist, die Kostenfunktion durch Anpassen des mindestens einen Parameters des ersten neuronalen Netzes oder des zweiten neuronalen Netzes zu minimieren, und/oder vorzugsweise wobei das erste neuronale Netz oder das zweite neuronale Netz ein neuronales Faltungsnetz beinhaltet, und/oder vorzugsweise wobei die kamerainternen Parameter mindestens eine Brennweite, eine Pixelgröße, einen Hauptpunkt, einen Schiefekoeffizienten oder einen Verzeichnungskoeffizienten umfassen, und/oder vorzugsweise wobei die Anweisungen ferner den mindestens einen Prozessor veranlassen, Operationen durchzuführen, die das Bestimmen umfassen, dass die Kamera kalibriert ist, wenn der Reprojektionsfehler einen vorgegebenen Schwellenwert erfüllt.
  8. Mindestens ein nichtflüchtiges computerlesbares Speichermedium, das Anweisungen umfasst, die beim Ausführen durch mindestens einen Prozessor bewirken, dass der mindestens eine Prozessor Operationen durchführt, die Folgendes umfassen: Empfangen eines ersten durch eine Kamera aufgenommenen Bildes und eines zweiten durch die Kamera aufgenommenen Bildes; Verarbeiten des ersten Bildes unter Verwendung eines ersten neuronalen Netzes, um eine Tiefe mindestens eines Teils des ersten Bildes zu bestimmen; Verarbeiten des ersten Bildes und des zweiten Bildes unter Verwendung eines zweiten neuronalen Netzes, um eine Transformation zwischen einer Pose der Kamera für das erste Bild und einer Pose der Kamera für das zweite Bild zu bestimmen; Erzeugen eines Projektionsbildes basierend auf der Tiefe mindestens des Teils des ersten Bildes, der Transformation zwischen der Pose der Kamera für das erste Bild und der Pose der Kamera für das zweite Bild und kamerainterner Parameter; Vergleichen des zweiten Bildes und des Projektionsbildes, um einen Reprojektionsfehler zu bestimmen; und Anpassen mindestens eines der kamerainternen Parameter basierend auf dem Reprojektionsfehler.
  9. Mindestens ein nichtflüchtiges computerlesbares Speichermedium gemäß Anspruch 8, wobei das Empfangen des ersten durch die Kamera aufgenommenen Bildes und des zweiten durch die Kamera aufgenommenen Bildes umfasst: Empfangen des ersten Bildes, während die Kamera an einem ersten Ort positioniert ist; und Empfangen des zweiten Bildes, während die Kamera an einem zweiten Ort positioniert ist, der von dem ersten Ort verschieden ist, wobei ein Abstand zwischen dem ersten Ort und dem zweiten Ort einen Schwellenwert erfüllt, der der Kalibrierung der Kamera zugeordnet ist, und/oder vorzugsweise wobei das Erzeugen des Projektionsbildes umfasst: Anwenden der Transformation auf die Tiefe mindestens des Teils des ersten Bildes, um eine Tiefe mindestens eines Teils des zweiten Bildes vorherzusagen; und Verarbeiten der vorhergesagten Tiefe mindestens des Teil des zweiten Bildes mit den kamerainternen Parametern, um das Projektionsbild zu erzeugen, und/oder vorzugsweise wobei das Vergleichen des zweiten Bildes und des Projektionsbildes zum Bestimmen des Reprojektionsfehlers umfasst: Bestimmen eines Abstands zwischen jedem Punkt des zweiten Bildes und einem entsprechenden Punkt des Projektionsbildes; und Kombinieren des Abstands zwischen jedem Punkt des zweiten Bildes und dem entsprechenden Punkt des Projektionsbildes, um den Reprojektionsfehler zu bestimmen, und/oder vorzugsweise wobei das Anpassen mindestens eines der kamerainternen Parameter das Anwenden eines Optimierungsalgorithmus auf eine Kostenfunktion umfasst, die die internen Parameter mit dem Reprojektionsfehler in Beziehung setzt, wobei der Optimierungsalgorithmus dazu ausgelegt ist, die Kostenfunktion durch Anpassen mindestens eines der internen Parameter zu minimieren, und/oder vorzugsweise wobei die Anweisungen ferner den mindestens einen Prozessor veranlassen, Operationen durchzuführen, die das Anpassen mindestens eines Parameters des ersten neuronalen Netzes oder des zweiten neuronalen Netzes basierend auf dem Reprojektionsfehler umfassen, oder vorzugsweise wobei das Anpassen mindestens eines Parameters des ersten neuronalen Netzes oder des zweiten neuronalen Netzes das Anwenden eines Optimierungsalgorithmus auf eine Kostenfunktion umfasst, die den mindestens einen Parameter des ersten neuronalen Netzes oder des zweiten neuronalen Netzes mit dem Reprojektionsfehler in Beziehung setzt, wobei der Optimierungsalgorithmus dazu ausgelegt ist, die Kostenfunktion durch Anpassen des mindestens einen Parameters des ersten neuronalen Netzes oder des zweiten neuronalen Netzes zu minimieren.
  10. Mindestens ein nichtflüchtiges computerlesbares Speichermedium gemäß Anspruch 9, wobei die Parameter der Kamera mindestens eine Brennweite, eine Pixelgröße, einen Hauptpunkt, einen Schiefekoeffizienten oder einen Verzeichnungskoeffizienten umfassen, und/oder vorzugsweise Umfassen von Anweisungen, die beim Ausführen durch einen oder mehrere Prozessoren bewirken, dass der eine oder die mehreren Prozessoren Operationen durchführen, die das Bestimmen umfassen, dass die Kamera kalibriert ist, wenn der Reprojektionsfehler einen vorbestimmten Schwellenwert erfüllt.
  11. Kamera, umfassend: mindestens einen Prozessor; und mindestens ein nichtflüchtiges computerlesbares Speichermedium, das Anweisungen speichert, die beim Ausführen durch den mindestens einen Prozess bewirken, dass der mindestens eine Prozessor Operationen durchführt, die Folgendes umfassen: Empfangen eines ersten durch die Kamera aufgenommenen Bildes und eines zweiten durch die Kamera aufgenommenen Bildes; Verarbeiten des ersten Bildes unter Verwendung eines ersten neuronalen Netzes, um eine Tiefe mindestens eines Teils des ersten Bildes zu bestimmen; Verarbeiten des ersten Bildes und des zweiten Bildes unter Verwendung eines zweiten neuronalen Netzes, um eine Transformation zwischen einer Pose der Kamera für das erste Bild und einer Pose der Kamera für das zweite Bild zu bestimmen; Erzeugen eines Projektionsbildes basierend auf der Tiefe mindestens des Teils des ersten Bildes, der Transformation zwischen der Pose der Kamera für das erste Bild und der Pose der Kamera für das zweite Bild und kamerainterner Parameter; Vergleichen des zweiten Bildes und des Projektionsbildes, um einen Reprojektionsfehler zu bestimmen; und Anpassen mindestens eines der kamerainternen Parameter basierend auf dem Reprojektionsfehler.
DE102021132853.5A 2021-05-19 2021-12-13 Auf deep learning basierende kamerakalibrierung Pending DE102021132853A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/325,174 2021-05-19
US17/325,174 US11295477B1 (en) 2021-05-19 2021-05-19 Deep learning-based camera calibration

Publications (1)

Publication Number Publication Date
DE102021132853A1 true DE102021132853A1 (de) 2022-11-24

Family

ID=79270118

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021132853.5A Pending DE102021132853A1 (de) 2021-05-19 2021-12-13 Auf deep learning basierende kamerakalibrierung

Country Status (5)

Country Link
US (2) US11295477B1 (de)
KR (1) KR102628736B1 (de)
CN (1) CN115375770A (de)
DE (1) DE102021132853A1 (de)
GB (1) GB2606793A (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11295477B1 (en) * 2021-05-19 2022-04-05 Motional Ad Llc Deep learning-based camera calibration
US12062208B2 (en) * 2021-05-26 2024-08-13 ABB E-mobility B.V. Multi-stage autonomous localization architecture for charging electric vehicles
US11961259B2 (en) * 2021-12-30 2024-04-16 Blue River Technology Inc. Camera array calibration in a farming machine
CN116152358B (zh) * 2023-04-21 2023-07-21 深圳明锐理想科技有限公司 一种相机参数标定优化方法及电子设备
CN116168221B (zh) * 2023-04-25 2023-07-25 中国人民解放军火箭军工程大学 基于Transformer的跨模态图像匹配定位方法及装置
KR102643538B1 (ko) * 2023-08-25 2024-03-06 주식회사 라이드플럭스 자율주행 환경에서 이종 센서 데이터 간 오토 캘리브레이션 방법, 장치 및 컴퓨터프로그램

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016078728A1 (en) * 2014-11-21 2016-05-26 Metaio Gmbh Method and system for determining spatial coordinates of a 3d reconstruction of at least part of a real object at absolute spatial scale
US10318822B2 (en) * 2017-04-06 2019-06-11 GM Global Technology Operations LLC Object tracking
US10733761B2 (en) * 2018-06-29 2020-08-04 Zoox, Inc. Sensor calibration
US12046006B2 (en) * 2019-07-05 2024-07-23 Nvidia Corporation LIDAR-to-camera transformation during sensor calibration for autonomous vehicles
US11138751B2 (en) * 2019-07-06 2021-10-05 Toyota Research Institute, Inc. Systems and methods for semi-supervised training using reprojected distance loss
US11176709B2 (en) * 2019-10-17 2021-11-16 Toyota Research Institute, Inc. Systems and methods for self-supervised scale-aware training of a model for monocular depth estimation
US11295477B1 (en) * 2021-05-19 2022-04-05 Motional Ad Llc Deep learning-based camera calibration

Also Published As

Publication number Publication date
KR20220156735A (ko) 2022-11-28
US20220375129A1 (en) 2022-11-24
US11295477B1 (en) 2022-04-05
KR102628736B1 (ko) 2024-01-23
US11715237B2 (en) 2023-08-01
CN115375770A (zh) 2022-11-22
GB2606793A (en) 2022-11-23
GB202117947D0 (en) 2022-01-26

Similar Documents

Publication Publication Date Title
DE102020129854A1 (de) Sequenzielle fusion zur 3d-objektdetektion
DE102021132853A1 (de) Auf deep learning basierende kamerakalibrierung
DE102020133744A1 (de) Vordergrundextraktion unter verwendung von flächenanpassung
DE102022102189A1 (de) Multimodales Segmentierungsnetz für ein verbessertes semantisches Labelingbei einer Kartenerzeugung
DE102021132199A1 (de) Bestimmen von Objektmobilitätsparametern unter Verwendung einer Objektsequenz
DE102022100413A1 (de) Objekterkennung unter verwendung von radar-und-lidar-zusammenführung
DE102021132082A1 (de) Ende-zu-ende-system-training unter verwendung vereinigter bilder
DE102022119204A1 (de) Systeme und Verfahren zur effizienten Schätzung einer Fahrzeugausdehnung
DE102022106461A1 (de) Systeme und verfahren zur kameraausrichtung
DE102021131489A1 (de) Semantische annotation von sensordaten unter verwendung unzuverlässiger kartenannotationseingaben
DE102022122456A1 (de) Auf maschinellem lernen basierte klassifizierung einer punktwolkenausrichtung
DE102022100041A1 (de) Betriebseinhüllendenerkennung mit situationsbeurteilung unter verwendung von metriken
DE102022131625A1 (de) Bordsteinbasierte merkmalsextraktion für lokalisierung und fahrspurerkennung mittels radar
DE102021132096A1 (de) Fahrzeugortsbestimmung unter verwendung kombinierter eingaben redundanter ortsbestimmungs-pipelines
DE102023111485A1 (de) Nachverfolgungssegmentbereinigung nachverfolgter objekte
DE102022102187A1 (de) High-fidelity-daten-getriebene multimodale simulation
DE102022103060A1 (de) Automatisches detektieren von verkehrssignalen unter verwendung von sensordaten
DE102022105579A1 (de) Graphenerkundung zur regelbuchtrajektorieerzeugung
DE102022100068A1 (de) Steuerung der fahrzeugleistung basierend auf daten im zusammenhang mit einer atmosphärischen bedingung
DE102023108247A1 (de) Tracker-Positionsaktualisierungen zur Erzeugung von Fahrzeugtrajektoren
DE102023104784A1 (de) Bildbasierte lidar-kamera-synchronisierung
DE102022132359A1 (de) Automatische extraktion und klassifizierung von fahrspurmarkierungen aus lidar-abtastungen
DE102022133254A1 (de) Antennenüberwachung und -auswahl
DE102022104054A1 (de) Die fahrzeugzustandsschätzung verbessernde sensordaten zur fahrzeugsteuerung und zum autonomen fahren
DE102022106723A1 (de) Geometrische intrinsische kamerakalibration unter verwendung eines diffraktiven optischen elements