DE102021131489A1 - Semantische annotation von sensordaten unter verwendung unzuverlässiger kartenannotationseingaben - Google Patents

Semantische annotation von sensordaten unter verwendung unzuverlässiger kartenannotationseingaben Download PDF

Info

Publication number
DE102021131489A1
DE102021131489A1 DE102021131489.5A DE102021131489A DE102021131489A1 DE 102021131489 A1 DE102021131489 A1 DE 102021131489A1 DE 102021131489 A DE102021131489 A DE 102021131489A DE 102021131489 A1 DE102021131489 A1 DE 102021131489A1
Authority
DE
Germany
Prior art keywords
annotations
geographic area
unvalidated
sensor data
image
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
DE102021131489.5A
Other languages
English (en)
Inventor
Sergi Adipraja Widjaja
Venice Erin Baylon Liong
Bartolomeo Della Corte
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 DE102021131489A1 publication Critical patent/DE102021131489A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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
    • 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/182Network patterns, e.g. roads or rivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/60Traffic rules, e.g. speed limits or right of way
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Automation & Control Theory (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

Es sind Verfahren zur semantischen Annotation von Sensordaten unter Verwendung unzuverlässiger Kartenannotationseingaben bereitgestellt, die dahingehendes Trainieren eines maschinellen Lernmodells beinhalten können, Eingaben anzunehmen, die Bilder, die Sensordaten für ein geografisches Gebiet repräsentieren, und unzuverlässige semantische Annotationen für den geografischen Bereich beinhalten. Das maschinelle Lernmodell kann gegen validierte semantische Annotationen für den geografischen Bereich trainiert werden, sodass im Anschluss an das Training zusätzliche Bilder, die Sensordaten und zusätzliche unzuverlässige semantische Annotationen repräsentieren, durch das neuronale Netzwerk laufen können, um vorhergesagte semantische Annotationen für die zusätzlichen Bilder bereitzustellen. Es sind auch Systeme und Computerprogrammprodukte bereitgestellt.

Description

  • HINTERGRUND
  • Selbstfahrende Fahrzeuge verwenden typischerweise mehrere Arten von Bildern, um ihren umliegenden Bereich wahrzunehmen. Das Trainieren dieser Systeme, einen Bereich genau wahrzunehmen, kann schwierig und kompliziert sein.
  • Figurenliste
    • 1 ist eine beispielhafte Umgebung, in der ein Fahrzeug, das eine oder mehrere Komponenten eines autonomen Systems beinhaltet, implementiert werden kann;
    • 2 ist ein Diagramm eines oder mehrerer Systeme eines Fahrzeugs, das ein autonomes System beinhaltet;
    • 3 ist ein Diagramm von Komponenten einer oder mehrerer Vorrichtungen und/oder eines oder mehrerer Systeme der 1 und 2;
    • 4A ist ein Diagramm bestimmter Komponenten eines autonomen Systems;
    • 4B ist ein Diagramm einer Implementierung eines neuronalen Netzwerks;
    • 4C und 4D sind ein Diagramm, das einen beispielhaften Betrieb eines CNN veranschaulicht;
    • 5 ist ein Blockdiagramm, das ein Beispiel für ein Trainingssystem zum Erzeugen eines trainierten maschinellen Lernmodells veranschaulicht, um vorhergesagte semantische Annotationen für einen Bereich basierend auf Sensordaten und unvalidierten Annotationen für den Bereich zu erzeugen.
    • 6 ist ein Blockdiagramm, das ein Beispiel für ein Wahrnehmungssystem veranschaulicht, das ein trainiertes maschinelles Lernmodell verwendet, um vorhergesagte semantische Annotationen für einen Bereich basierend auf Sensordaten und unvalidierten Annotationen für den Bereich zu erzeugen.
    • 7 ist ein Flussdiagramm, das eine beispielhafte Routine zum Erzeugen eines trainierten maschinellen Lernmodells darstellt, um vorhergesagte semantische Annotationen für einen Bereich basierend auf Sensordaten und unvalidierten Annotationen für den Bereich zu erzeugen.
    • 8 ist ein Flussdiagramm, das eine beispielhafte Routine zum Verwenden eines trainierten maschinellen Lernmodells darstellt, um vorhergesagte semantische Annotationen für einen Bereich basierend auf Sensordaten und unvalidierten Annotationen für den Bereich zu erzeugen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis der vorliegenden Offenbarung für Erläuterungszwecke bereitzustellen. Es versteht sich jedoch, dass die durch die vorliegende Offenbarung beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten umgesetzt werden können. In manchen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform veranschaulicht, um zu verhindern, die Aspekte der vorliegenden Offenbarung unnötig unklar zu machen.
  • Spezifische Anordnungen oder Ordnungen schematischer Elemente, wie etwa jenen, die Systeme, Vorrichtungen, Module, Anweisungsblöcke, Datenelemente und/oder dergleichen repräsentieren, sind zur Vereinfachung der Beschreibung in den Zeichnungen veranschaulicht. Fachleute auf dem Gebiet werden jedoch verstehen, dass die spezifische Ordnung oder Anordnung der schematischen Elemente in den Zeichnungen nicht andeuten soll, dass eine spezielle Verarbeitungsreihenfolge oder -abfolge oder Trennung von Prozessen erforderlich ist, insofern nicht ausdrücklich derartig beschrieben. Ferner soll der Einschluss eines schematischen Elements in einer Zeichnung nicht andeuten, dass ein solches Element in allen Ausführungsformen erforderlich ist oder dass die durch ein solches Element repräsentierten Merkmale möglicherweise bei manchen Ausführungsformen nicht in anderen Elementen enthalten sind oder mit diesen kombiniert werden, insofern nicht ausdrücklich derartig beschrieben.
  • Ferner soll in den Zeichnungen, in denen Verbindungselemente wie etwa durchgezogene oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, Beziehung oder Zuordnung zwischen oder unter zwei oder mehr anderen schematischen Elementen zu veranschaulichen, das Nichtvorhandensein jeglicher solcher Verbindungselemente nicht andeuten, dass keine Verbindung, Beziehung oder Zuordnung bestehen kann. Mit anderen Worten sind manche Verbindungen, Beziehungen oder Zuordnungen zwischen Elementen in den Zeichnungen nicht veranschaulicht, um die Offenbarung nicht unklar zu machen. Zusätzlich kann zur Vereinfachung der Veranschaulichung ein einzelnes Verbindungselement verwendet werden, um mehrere Verbindungen, Beziehungen oder Zuordnungen zwischen Elementen zu repräsentieren. Wenn ein Verbindungselement eine Kommunikation von Signalen, Daten oder Anweisungen (z. B. „Softwareanweisungen“) repräsentiert, sollten Fachleute auf dem Gebiet beispielsweise verstehen, dass ein solches Element einen oder mehrere Signalpfade (z. B. einen Bus) repräsentieren kann, wie erforderlich, um die Kommunikation zu bewirken.
  • Obwohl die Begriffe erster, zweiter, dritter und/oder dergleichen verwendet werden, um verschiedene Elemente zu beschreiben, sollten diese Elemente nicht durch diese Begriffe eingeschränkt werden. Die Begriffe erster, zweiter, dritter und/oder dergleichen werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet werden und gleichermaßen könnte ein zweiter Kontakt als ein erster Kontakt bezeichnet werden, ohne vom Schutzumfang der beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, aber sie sind nicht derselbe Kontakt.
  • Die in der Beschreibung der verschiedenen beschriebenen Ausführungsformen hierin verwendete Terminologie ist nur zum Zweck der Beschreibung spezieller Ausführungsformen enthalten und soll nicht beschränkend sein. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und in den angehängten Ansprüchen verwendet, sollen die Singularformen „ein“, „eine“ und „der/die/das“ auch die Pluralformen einschließen und können austauschbar mit „ein/e oder mehrere“ oder „mindestens ein/e“ verwendet werden, insofern der Zusammenhang deutlich nicht etwas anderes angibt. Es versteht sich auch, dass sich der Begriff „und/oder“, wie hierin verwendet, auf beliebige und alle möglichen Kombinationen eines oder mehrerer der assoziierten aufgelisteten Elemente bezieht und diese einschließt. Außerdem wird der Begriff „oder“ in seinem einschließenden Sinn (und nicht seinem ausschließenden Sinn) verwendet, sodass der Begriff „oder“, wenn er zum Beispiel zum Verbinden einer Liste von Elementen verwendet wird, eines, einige oder alle der Elemente in der Liste bedeutet. Disjunktive Sprache wie etwa der Ausdruck „mindestens eines von X, Y oder Z“ wird, insofern nichts anderes spezifisch angegeben ist, anderweitig mit dem Kontext als im Allgemeinen so verstanden, dass es darlegt, dass ein Element, Begriff usw. entweder X, Y oder Z oder eine beliebige Kombination davon (z. B. X, Y oder Z) sein kann. Somit soll und sollte eine solche disjunktive Sprache im Allgemeinen nicht andeuten, dass gewisse Ausführungsformen sowohl mindestens eines von X, mindestens eines von Y als auch mindestens eines von Z vorhanden sein müssen. Es versteht sich ferner, dass die Begriffe „beinhaltet“, einschließlich“, „umfasst“ und/oder „umfassend“, wenn in dieser Beschreibung verwendet, das Vorhandensein genannter Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifiziert, aber nicht das Vorhandensein oder den Zusatz eines/einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließt.
  • Wie hierin verwendet, beziehen sich die Begriffe „Kommunikation“ und „kommunizieren“ auf den Empfang und/oder den Erhalt und/oder die Übertragung und/oder den Transfer und/oder die Bereitstellung und/oder dergleichen von Informationen (oder Informationen, die beispielsweise durch Daten, Signale, Nachrichten, Anweisungen, Befehle und/oder dergleichen repräsentiert werden). Dass eine Einheit (z. B. eine Vorrichtung, ein System, eine Komponente einer Vorrichtung oder eines Systems, Kombinationen davon und/oder dergleichen) in Kommunikation mit einer anderen Einheit steht, bedeutet, dass die eine Einheit in der Lage ist, direkt oder indirekt Informationen von der anderen Einheit zu empfangen und/oder zu dieser zu senden (z. B. zu übertragen). Dies kann sich auf eine direkte oder indirekte Verbindung beziehen, die drahtgebunden und/oder drahtlos ist. Zusätzlich können zwei Einheiten in Kommunikation miteinander stehen, selbst wenn die übertragenen Informationen zwischen der ersten und zweiten Einheit modifiziert, verarbeitet, weitergeleitet und/oder geroutet werden. Beispielsweise kann eine erste Einheit in Kommunikation mit einer zweiten Einheit stehen, selbst wenn die erste Einheit Informationen passiv empfängt und nicht aktiv Informationen zu der zweiten Einheit überträgt. Als ein anderes Beispiel kann eine erste Einheit in Kommunikation mit einer zweiten Einheit stehen, falls mindestens eine Zwischeneinheit (z. B. eine dritte Einheit, die sich zwischen der ersten Einheit und der zweiten Einheit befindet) von der ersten Einheit empfangene Informationen verarbeitet und die verarbeiteten Informationen zu der zweiten Einheit überträgt. In manchen Ausführungsformen kann sich eine Nachricht auf ein Netzwerkpaket (z. B. ein Datenpaket und/oder dergleichen) beziehen, das Daten beinhaltet.
  • Hierin verwendete konditionelle Sprache, wie etwa unter anderem „kann“, „könnte“, „dürften“, „darf“ „z. B.“ und dergleichen, soll im Allgemeinen, insofern nicht anderweitig angegeben, oder anderweitig im wie verwendeten Kontext verstanden, übermitteln, dass gewisse Ausführungsformen gewisse Merkmale, Elemente oder Schritte enthalten, während andere Ausführungsformen diese nicht enthalten. Somit soll eine solche konditionelle Sprache im Allgemeinen nicht andeuten, dass Merkmale, Elemente oder Schritte in irgendeiner Weise für eine oder mehrere Ausführungsformen erforderlich sind oder dass eine oder mehrere Ausführungsformen notwendigerweise Logik beinhalten zum Entscheiden, mit oder ohne andere Eingabe oder Aufforderung, ob diese Merkmale, Elemente oder Schritte in irgendeiner speziellen Ausführungsform enthalten oder darin durchzuführen sind. Wie hierin verwendet, soll der Begriff „falls“ optional so ausgelegt werden, dass er in oder Abhängigkeit vom Zusammenhang „wenn“ „bei“, „als Reaktion auf das Bestimmen“, „als Reaktion auf das Detektieren“ und/oder dergleichen bedeutet. Gleichermaßen wird der Ausdruck „falls bestimmt wird“ oder „falls [eine angegebene Bedingung oder ein angegebenes Ereignis] detektiert wird“ optional als „beim Bestimmen“, „als Reaktion auf das Bestimmen“, „beim Detektieren [der angegebenen Bedingung oder des angegebenen Ereignisses]“, „als Reaktion auf das Detektieren [der angegebenen Bedingung oder des angegebenen Ereignisses]“ und/oder dergleichen bedeutend, in Abhängigkeit vom Kontext, ausgelegt. Wie hierin verwendet sollen außerdem die Begriffe „hat“, „haben“, „aufweisend“ oder dergleichen offene Begriffe sein. Ferner soll der Ausdruck „basierend auf“ „zumindest teilweise basierend auf“ bedeuten, insofern nichts anderes ausdrücklich angegeben ist.
  • Nun wird ein ausführlicher Bezug auf Ausführungsformen genommen, deren Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der folgenden ausführlichen Beschreibung sind zahlreiche spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der verschiedenen beschriebenen Ausführungsformen bereitzustellen. Ein Durchschnittsfachmann auf dem Gebiet wird jedoch verstehen, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten umgesetzt werden können. In anderen Fällen sind wohlbekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netzwerke nicht ausführlich beschrieben, damit Aspekte der Ausführungsformen nicht unnötig unklar gemacht werden.
  • In manchen Aspekten und/oder Ausführungsformen beinhalten und/oder implementieren hierin beschriebene Systeme, Verfahren und Computerprogrammprodukte semantische Annotation von Sensordaten unter Verwendung unzuverlässiger Kartenannotationseingaben. Allgemein beschrieben, fügt semantische Annotation ein semantisches Verständnis zu Sensordaten hinzu, das die Bedeutung und den Kontext dieser Sensordaten repräsentiert. Semantisches Verständnis ermöglicht im Gegenzug einer Maschine, die Sensordaten wie ein Mensch zu verarbeiten und zu interpretieren. Dementsprechend repräsentiert semantisches Verständnis eine spezifische Art von „Computer-Vision“ - ein Technologiebereich, der versucht, Computern zu ermöglichen, die Welt auf eine ähnliche Weise wie ein Mensch zu „sehen“. Beispielsweise können Sensordaten ein Bild eines geografischen Bereichs im Umfeld eines Fahrzeugs repräsentieren, wie etwa eine Karte aus der Vogelperspektive oder eine Ansicht auf Straßenebene. Semantische Annotationen können bestimmte Teile dieses Bildes als physische Merkmale in dem Bereich im Umfeld des Fahrzeugs repräsentierend designieren, wie etwa durch Designieren von Bereichen als eine Verkehrsspur (z. B. eine befahrbare Oberfläche für motorisierte Fahrzeuge, für Fahrräder usw.), ein Fußgängerüberweg, eine Kreuzung, ein Verkehrssignal, ein Verkehrsschild usw. Wie leicht verstanden werden kann, kann semantisches Verständnis von physischen Merkmalen in Sensordaten für eine Anzahl von Aufgaben, wie etwa programmatische Navigation des Bereichs (um z. B. ein selbstfahrendes Fahrzeug zu implementieren), von sehr hoher Bedeutung sein. Wie nachstehend ausführlicher besprochen, betrifft die vorliegende Offenbarung eine Verbesserung beim Erzeugen eines semantischen Verständnisses für Sensordaten, was die Verwendung unzuverlässiger Annotationen zum Erzeugen dieses semantischen Verständnisses ermöglicht.
  • Ein Mechanismus zum Bereitstellen eines semantischen Verständnisses ist eine manuelle Markierung. Sensordaten für einen gegebenen Bereich können erfasst und dann zu einem menschlichen Bediener weitergeleitet werden. Der menschliche Bediener kann dann Bilder, die aus den Sensordaten eines Bereichs erzeugt werden, manuell markieren, um spezielle physische Merkmale, die in den Bildern erfasst werden, zu spezifizieren. Beim nächsten Eintreten in den Bereich kann eine Vorrichtung Sensordaten erfassen und die physischen Merkmale basierend auf Ähnlichkeiten mit den zuvor erfassten Sensordaten und den vorherigen Markierungen detektieren. Unter der Annahme, dass kompetente menschliche Bediener ausgewählt werden und ausreichend Qualitätskontrollmechanismen vorhanden sind, kann eine manuelle Markierung äußerst genau sein. Somit können Vorrichtungen dazu ausgelegt sein, manuelle Markierungen als „Ground Truth“ zu verwenden, das heißt, Tatsachen, die allgemein als wahr angenommen werden können, und müssen nicht programmatisch durch die Vorrichtung abgeleitet werden.
  • Ein Problem mit manueller Markierung besteht in der Schwierigkeit des Auswählens kompetenter menschlicher Bediener und dem Bereitstellen ausreichender Qualitätskontrollmechanismen. Wie zu erkennen ist, ist die Toleranz für Fehler in den als Ground Truth verwendeten Daten häufig extrem niedrig. Im Fall eines selbstfahrenden Fahrzeugs kann zum Beispiel ein inkorrektes semantisches Verständnis eines geografischen Bereichs angesichts des potenziellen Risikos für Verletzungen oder den Verlust an Menschenleben zu erheblichen Sicherheitsbedenken führen. Somit ist es häufig extrem arbeitsaufwendig, Markierungen mit ausreichend hoher Qualität zur direkten Verwendung als Ground Truth zu erzeugen.
  • In manchen Fällen stehen unvalidierte semantische Annotationen zur Verfügung. Beispielsweise enthält eine Vielfalt öffentlicher Datensätze semantische Annotationen. Diese sind jedoch häufig nicht zu dem Niveau validiert, das zur direkten Verwendung als Ground Truth erforderlich ist. In manchen Fällen wurden die Daten durch „Crowdsourcing“ erhalten - von einer breiten Vielfalt potenzieller anonymer Benutzer mit wenig oder keiner Validierung gesammelt. Dies kann zu Fehlern oder Ungenauigkeiten in den Daten führen. Selbst wenn die Daten nicht gänzlich ungenau sind, sind sie möglicherweise weniger genau, als sie für das Dienen als „Ground Truth“ sein sollten. Wenn beispielsweise ein motorisiertes Fahrzeug navigiert wird, kann es notwendig sein, Ground-Truth-Informationen mit einer bestimmten Granularität zu haben (um z. B. den Ort einer Kreuzung innerhalb einer Schwelle zu kennen, wie etwa in einem Maßstab von Zentimetern anstatt Metern). Die durch große Datensätze, wie etwa durch Crowdsourcing erhaltene Sätze, bereitgestellten Daten sind möglicherweise nicht ausreichend genau, um diese Voraussetzung zu erfüllen. Diese Daten sind somit typischerweise nicht direkt verwendbar, um ein semantisches Verständnis für Sensordaten bereitzustellen. Nichtsdestotrotz kann die Datenmenge in solchen unvalidierten Datensätzen häufig erheblich die Datenmenge überschreiten, die ausreichend geprüft ist, um zum Repräsentieren von Ground Truth verwendet zu werden. Es würde somit wünschenswert sein, Systeme und Verfahren zum Verwenden unzuverlässiger semantischer Annotationen bereitzustellen, um ein zuverlässiges semantisches Verständnis von Sensordaten bereitzustellen.
  • Ausführungsformen der vorliegenden Offenbarung sprechen die oben angemerkten Probleme an, indem sie die Erzeugung eines semantischen Verständnisses von Sensordaten unter Verwendung unvalidierter semantischer Annotationen, wie etwa jener, die durch öffentliche oder durch Crowdsourcing erhaltene unvalidierte Sätze bereitgestellt werden, ermöglichen. Genauer gesagt betreffen Ausführungsformen der vorliegenden Offenbarung die Verwendung unzuverlässiger semantischer Annotationen als Eingaben in ein maschinelles Lernmodell, das basierend auf Kombinationen unvalidierter semantischer Annotationen und entsprechender Sensordaten trainiert wird. Wie nachstehend ausführlicher besprochen, kann das maschinelle Lernmodell gegen einen gelabelten Datensatz trainiert werden, der Ground Truth repräsentiert, wie etwa Sensordaten, die manuell erzeugt und mit äußerst zuverlässigen Annotationen annotiert werden. Das maschinelle Lernmodell kann somit trainiert werden, Sensordaten eines geografischen Bereichs und unvalidierte semantische Annotationen für diesen Bereich anzunehmen und validierte semantische Annotationen auszugeben, die physische Merkmale des Bereichs repräsentieren. Diese validierten Annotationen können dann verwendet werden, um ein genaues Verständnis des Bereichs für Zwecke wie etwa Navigation selbstfahrender Fahrzeuge bereitzustellen.
  • Wie hierin verwendet, wird der Begriff „semantische Annotation“ verwendet, um Informationen zu bezeichnen, die sich über Sensordaten hinaus erstrecken, um ein semantisches Verständnis von zumindest einem Teil dieser Sensordaten zu liefern, wodurch zum Beispiel eine Bedeutung oder ein Kontext der Daten bereitgestellt wird. Beispiele für semantische Annotationen sind hierin bereitgestellt, wie etwa Informationen, die einen Teil von Sensordaten als ein gegebenes physisches Merkmal designieren. Ausführungsformen der vorliegenden Offenbarung können für die Verwendung in selbstfahrenden Fahrzeugen dienen. Aus diesem Grund sind manche Beispiele hierin von semantischen Annotationen und physischen Merkmalen bereitgestellt, die speziell von selbstfahrenden Fahrzeugen genutzt werden können, wie etwa Fußgängerüberwege, Verkehrsspuren, Verkehrssignale usw. Ausführungsformen der vorliegenden Offenbarung können jedoch zusätzlich oder alternativ verwendet werden, um ein validiertes semantisches Verständnis für andere physische Merkmale oder Objekte zu erzeugen, wie etwa die Identifizierung von Autos, Menschen, Fahrrädern usw. Der Begriff „Sensordaten“, wie hierin verwendet, bezieht sich auf Daten, die durch Sensoren (z. B. Sensoren von einem autonomen System, das das gleiche oder ähnlich ist wie das unten beschriebene autonome System 202) erzeugt werden oder allgemein von diesen ableitbar sind, die die physische Welt widerspiegeln. Beispielsweise können sich Sensordaten auf Rohdaten (z. B. die durch einen Sensor erzeugten Bits) oder auf Datenpunkte, Bilder, eine Punktwolke usw. beziehen, die aus solchen Rohdaten erzeugt werden. Als ein veranschaulichendes Beispiel können sich Sensordaten auf ein Bild auf „Bodenebene“ oder „Straßenebene“ beziehen, wie etwa ein Bild, das direkt durch eine Kamera aufgenommen wird, eine Punktwolke, die von einem LiDAR-Sensor erzeugt wird, ein Bild oder eine Karte aus der „Vogelperspektive“, das/die durch eine Bewegung eines Sensors durch einen geografischen Bereich erzeugt wird, oder dergleichen. In manchen Fällen können semantische Annotationen verwendet werden, um solche Bilder auf eine Weise zu modifizieren, die Merkmale der Bilder identifiziert. Beispielsweise kann eine semantische Annotation als ein „Overlay“ (Überlagerung) repräsentiert sein, das einen Teil eines Bildes, das ein physisches Merkmal zeigt, hervorhebt, umgrenzt oder anderweitig angibt. In anderen Fällen kann eine semantische Annotation als von Sensordaten unterscheidbare Daten existieren, wie etwa ein Hilfsdatensatz, der Teile der Sensordaten (z. B. Grenzen in einem Bild), die ein physisches Merkmal erfassen, identifiziert.
  • Wie ein Fachmann angesichts der vorliegenden Offenbarung verstehen wird, verbessern die hierin offenbarten Ausführungsformen die Fähigkeit von Rechensystemen, wie etwa Rechenvorrichtungen, die in selbstfahrenden Fahrzeugen enthalten sind oder den Betrieb von diesen unterstützen, validierte semantische Annotationen von Sensordaten unter Verwendung unvalidierter Kartenannotationseingaben zu erzeugen. Darüber hinaus sprechen die gegenwärtig offenbarten Ausführungsformen technische Probleme an, die Rechensystemen inhärent sind, insbesondere die Schwierigkeit des programmatischen Bestimmens der Gültigkeit von Eingabedaten. Diese technischen Probleme werden durch die verschiedenen hierin beschriebenen technischen Lösungen angesprochen, einschließlich der Verwendung eines maschinellen Lernmodells, das dahingehend trainiert ist, Sensordaten und unvalidierte semantische Annotationen für die Sensordaten zu erhalten und aus den Sensordaten und unvalidierten semantischen Annotationen einen Satz validierter semantischer Annotationen zu erzeugen. Somit repräsentiert die vorliegende Offenbarung eine Verbesserung von Computer-Vision-Systemen und Rechensystemen allgemein.
  • Die vorstehenden Aspekte und viele der dazugehörigen Vorteile dieser Offenbarung werden leichter verstanden, wenn sie durch Bezugnahme auf die folgende Beschreibung, wenn sie in Verbindung mit den begleitenden Zeichnungen genommen wird, besser verstanden werden.
  • Jetzt mit Bezug auf 1 ist eine beispielhafte Umgebung 100 veranschaulicht, in der Fahrzeuge, die autonome Systeme beinhalten, sowie Fahrzeuge, die diese nicht beinhalten, betrieben werden. Wie veranschaulicht, beinhaltet die Umgebung 100 Fahrzeuge 102a-102n, Objekte 104a-104n, Routen 106a-106n, einen Bereich 108, eine Fahrzeug-zu-Infrastruktur(V21)-Vorrichtung 110, ein Netzwerk 112, ein Fern-Autonomes-Fahrzeug-System (Fern-AV-System) 114, ein Flottenmanagementsystem 116 und ein V21-System 118. Die Fahrzeuge 102a-102n, die Fahrzeug-zu-Infrastruktur(V21)-Vorrichtung 110, das Netzwerk 112, das Autonome-Fahrzeug(AV)-System 114, das Flottenmanagementsystem 116 und das V21-System 118 sind über drahtgebundene Verbindungen, drahtlose Verbindungen oder eine Kombination von drahtgebundenen oder drahtlosen Verbindungen miteinander verbunden. In manchen Ausführungsformen sind die Objekte 104a-104n über drahtgebundene Verbindungen, drahtlose Verbindungen oder eine Kombination von drahtgebundenen oder drahtlosen Verbindungen mit den Fahrzeugen 102a-102n und/oder der Fahrzeug-zu-Infrastruktur(V21)-Vorrichtung 110 und/oder dem Netzwerk 112 und/oder dem Autonomes-Fahrzeug(AV)-System 114 und/oder dem Flottenmanagementsystem 116 und/oder dem V21-System 118 verbunden.
  • Die Fahrzeuge 102a-102n (einzeln als Fahrzeug 102 und kollektiv als Fahrzeuge 102 bezeichnet) beinhalten mindestens eine Vorrichtung, die zum Transportieren von Gütern und/oder Menschen ausgelegt ist. In manchen Ausführungsformen sind die Fahrzeuge 102 dazu ausgelegt, sich über das Netzwerk 112 in Kommunikation mit der V21-Vorrichtung 110, dem Fern-AV-System 114, dem Flottenmanagementsystem 116 und/oder dem V21-System 118 zu befinden. In manchen Ausführungsformen beinhalten die Fahrzeuge 102 Autos, Busse, Lastkraftwagen, Züge und/oder dergleichen. In manchen Ausführungsformen sind die Fahrzeuge 102 die gleichen oder ähnlich wie die hierin beschriebenen Fahrzeuge 200 (siehe 2). In manchen Ausführungsformen ist ein Fahrzeug 200 eines Satzes von Fahrzeugen 200 mit einem autonomen Flottenmanager assoziiert. In manchen Ausführungsformen fahren die Fahrzeuge 102 entlang jeweiliger Routen 106a-106n (einzeln als Route 106 und kollektiv als Routen 106 bezeichnet), wie hierin beschrieben. In manchen Ausführungsformen beinhalten ein oder mehrere Fahrzeuge 102 ein autonomes System (z. B. ein autonomes System, das das gleiche oder ähnlich ist wie das autonome System 202).
  • Die Objekte 104a-104n (einzeln als Objekt 104 und kollektiv als Objekte 104 bezeichnet) beinhalten beispielsweise mindestens ein Fahrzeug, mindestens einen Fußgänger, mindestens einen Fahrradfahrer, mindestens eine Struktur (z. B. ein Gebäude, ein Schild, einen Hydranten usw.) und/oder dergleichen. Jedes Objekt 104 ist stationär (z. B. befindet sich für einen Zeitraum an einem festen Ort) oder mobil (z. B. mit einer Geschwindigkeit und mit mindestens einer Trajektorie assoziiert). In manchen Ausführungsformen sind die Objekte 104 mit entsprechenden Standorten im Bereich 108 assoziiert.
  • Die Routen 106a-106n (einzeln als Route 106 und kollektiv als Routen 106 bezeichnet) sind jeweils mit einer Sequenz von Handlungen (auch als eine Trajektorie bekannt) assoziiert (z. B. festgelegt), die Zustände verbinden, entlang denen ein AV navigieren kann. Jede Route 106 startet an einem Anfangszustand (z. B. einem Zustand, der einem ersten raumzeitlichen Standort, einer ersten Geschwindigkeit und/oder dergleichen entspricht) und weist einen Endzielzustand (z. B. einem Zustand, der einem zweiten raumzeitlichen Standort entspricht, der sich vom ersten raumzeitlichen Standort unterscheidet) oder ein Zielgebiet (z. B. einen Teilraum akzeptabler Zustände (z. B. Endzustände)) auf. In manchen Ausführungsformen beinhaltet der erste Zustand einen Standort, an dem ein Individuum oder Individuen durch das AV abzuholen ist/sind, und der zweite Zustand oder das Gebiet beinhaltet einen Standort oder Standorte, an dem/denen das Individuum oder die Individuen, das/die durch das AV abgeholt wurde/n, abzusetzen ist/sind. In manchen Ausführungsformen beinhalten die Routen 106 mehrere akzeptable Zustandssequenzen (z. B. mehrere raumzeitliche Standortsequenzen), wobei die mehreren Zustandssequenzen mit mehreren Trajektorien assoziiert sind (z. B. definieren). In einem Beispiel beinhalten die Routen 106 nur Handlungen hoher Ebene oder Standorte mit ungenauem Zustand, wie etwa eine Reihe von verbundenen Straßen, die Abbiegerichtungen an Straßenkreuzungen vorschreiben. Zusätzlich oder alternativ können die Routen 106 genauere Handlungen oder Zustände beinhalten, wie etwa zum Beispiel spezifische Zielspuren oder genaue Standorte innerhalb der Spurbereiche und eine angezielte Geschwindigkeit an diesen Positionen. In einem Beispiel beinhalten die Routen 106 mehrere genaue Zustandssequenzen entlang der mindestens einen Handlungssequenz hoher Ebene mit einem beschränkten Vorausschauhorizont, um Zwischenziele zu erreichen, wobei die Kombination erfolgreicher Iterationen von Zustandssequenzen mit beschränktem Horizont kumulativ mehreren Trajektorien entsprechen, die kollektiv die Route hoher Ebene bilden, um am Endzielzustand oder -gebiet zu enden.
  • Der Bereich 108 beinhaltet einen physischen Bereich (z. B. ein geografisches Gebiet), in dem die Fahrzeuge 102 navigieren können. In einem Beispiel beinhaltet der Bereich 108 mindestens einen Staat (z. B. ein Land, eine Provinz, ein einzelnes Bundesland mehrerer Bundesländer, die in einem Land eingeschlossen sind, usw.), mindestens einen Teil eines Staates, mindestens eine Stadt, mindestens einen Teil einer Stadt usw. In manchen Ausführungsformen beinhaltet der Bereich 108 mindestens eine benannte Durchgangsstraße (hierin als eine „Straße“ bezeichnet), wie etwa eine Landstraße, eine Autobahn, eine Schnellstraße, eine Stadtstraße usw. Zusätzlich oder alternativ beinhaltet der Bereich 108 in manchen Beispielen mindestens eine unbenannte Straße wie etwa eine Einfahrt, einen Abschnitt eines Parkplatzes, einen Abschnitt eines unbebauten und/oder bebauten Grundstücks, einen Feldweg usw. In manchen Ausführungsformen beinhaltet eine Straße mindestens eine Spur (z. B. einen Teil der Straße, der von den Fahrzeugen 102 befahren werden kann). In einem Beispiel beinhaltet eine Straße mindestens eine Spur, die mit mindestens einer Spurmarkierung assoziiert ist (z. B. basierend darauf identifiziert wird).
  • Die Fahrzeug-zu-Infrastruktur(V21)-Vorrichtung 110 (manchmal als eine Fahrzeug-zu-Infrastruktur(V2X)-Vorrichtung bezeichnet) beinhaltet mindestens eine Vorrichtung, die dazu ausgelegt ist, sich in Kommunikation mit den Fahrzeugen 102 und/oder dem V21-Infrastruktursystem 118 zu befinden. In manchen Ausführungsformen ist die V21-Vorrichtung 110 dazu ausgelegt, sich über das Netzwerk 112 in Kommunikation mit den Fahrzeugen 102, dem Fern-AV-System 114, dem Flottenmanagementsystem 116 und/oder dem V21-System 118 zu befinden. In manchen Ausführungsformen beinhaltet die V21-Vorrichtung 110 eine Hochfrequenzidentifikation(RFID)-Vorrichtung, Beschilderung, Kameras (z. B. zweidimensionale (2D) und/oder dreidimensionale (3D) Kameras), Spurmarkierungen, Straßenleuchten, Parkuhren usw. In manchen Ausführungsformen ist die V21-Vorrichtung 110 dazu ausgelegt, direkt mit den Fahrzeugen 102 zu kommunizieren. Zusätzlich oder alternativ ist die V2I-Vorrichtung 110 in manchen Ausführungsformen dazu ausgelegt, über das V21-System 118 mit den Fahrzeugen 102, dem Fern-AV-System 114 und/oder dem Flottenmanagementsystem 116 zu kommunizieren. In manchen Ausführungsformen ist die V21-Vorrichtung 110 dazu ausgelegt, über das Netzwerk 112 mit dem V2I-System 118 zu kommunizieren.
  • Das Netzwerk 112 beinhaltet ein oder mehrere drahtgebundene und/oder drahtlose Netzwerke. In einem Beispiel beinhaltet das Netzwerk 112 ein Zellularnetzwerk (z. B. ein Long-Term-Evolution(LTE)-Netzwerk, ein Drittgeneration(3G)-Netzwerk, ein Viertgeneration(4G)-Netzwerk, ein Fünftgeneration(5G)-Netzwerk, ein CDMA(Codemultiplex-Mehrfachzugriff)-Netzwerk usw.), ein öffentliches Landmobilnetz (PLMN), ein Lokalnetzwerk (LAN), ein Weitbereichsnetzwerk (WAN), ein städtisches Netzwerk (MAN), ein Telefonnetz (z. B. das öffentliche Fernsprechnetz (PSTN)), ein privates Netzwerk, ein Ad-Hoc-Netzwerk, ein Intranet, das Internet, ein Faseroptik-basiertes Netzwerk, ein Cloud-Computing-Netzwerk usw., eine Kombination mancher oder aller dieser Netzwerke und/oder dergleichen. Protokolle und Komponenten zum Kommunizieren über das Internet oder ein beliebiges der anderen vorgenannten Arten von Kommunikationsnetzwerken sind Fachleuten auf dem Gebiet bekannt und werden somit hierin nicht ausführlicher beschrieben.
  • Das Fern-AV-System 114 beinhaltet mindestens eine Vorrichtung, die dazu ausgelegt ist, sich über das Netzwerk 112 in Kommunikation mit den Fahrzeugen 102, der V21-Vorrichtung 110, dem Netzwerk 112, dem Fern-AV-System 114, dem Flottenmanagementsystem 116 und/oder dem V21-System 118 zu befinden. In einem Beispiel beinhaltet das Fern-AV-System 114 einen Server, eine Gruppe von Servern und/oder andere gleichartige Vorrichtungen. In manchen Ausführungsformen ist das Fern-AV-System 114 mit dem Flottenmanagementsystem 116 kolokalisiert. In manchen Ausführungsformen ist das Fern-AV-System 114 an der Installation eines Teils oder aller Komponenten eines Fahrzeugs beteiligt, einschließlich eines autonomen Systems, eines autonomen Fahrzeugcomputers, Software, die durch einen autonomen Fahrzeugcomputer implementiert wird, und/oder dergleichen. In manchen Ausführungsformen verwaltet (z. B. aktualisiert und/oder ersetzt) das Fern-AV-System 114 solche Komponenten und/oder Software während der Lebensdauer des Fahrzeugs.
  • Das Flottenmanagementsystem 116 beinhaltet mindestens eine Vorrichtung, die dazu ausgelegt ist, sich in Kommunikation mit den Fahrzeugen 102, der V2I-Vorrichtung 110, dem Fern-AV-System 114 und/oder dem V21-Infrastruktursystem 118 zu befinden. In einem Beispiel beinhaltet das Flottenmanagementsystem 116 einen Server, eine Gruppe von Servern und/oder andere gleichartige Vorrichtungen. In manchen Ausführungsformen ist das Flottenmanagementsystem 116 mit einem Fahrgemeinschaftsunternehmen assoziiert (z. B. einer Organisation, die den Betrieb mehrerer Fahrzeuge steuert (z. B. Fahrzeuge, die autonome Systeme beinhalten, und/oder Fahrzeuge, die keine autonome Systeme beinhalten), und/oder dergleichen).
  • In manchen Ausführungsformen beinhaltet das V21-System 118 mindestens eine Vorrichtung, die dazu ausgelegt ist, sich über das Netzwerk 112 mit den Fahrzeugen 102, der V21-Vorrichtung 110, dem Fern-AV-System 114 und/oder dem Flottenmanagementsystem 116 in Kommunikation zu befinden. In manchen Beispielen ist das V21-System 118 dazu ausgelegt, über eine andere Verbindung als das Netzwerk 112 mit der V21-Vorrichtung 110 in Kommunikation zu stehen. In manchen Ausführungsformen beinhaltet das V21-System 118 einen Server, eine Gruppe von Servern und/oder andere gleichartige Vorrichtungen. In manchen Ausführungsformen ist das V21-System 118 mit einer Stadtverwaltung oder einer privaten Institution (z. B. einer privaten Institution, die die V21-Vorrichtung 110 verwaltet und/oder dergleichen) assoziiert.
  • Die Anzahl und die Anordnung der in 1 veranschaulichten Elemente sind als ein Beispiel bereitgestellt. Es kann zusätzliche Elemente, weniger Elemente, andere Elemente und/oder anders angeordnete Elemente als die in 1 veranschaulichten geben. Zusätzlich oder alternativ kann mindestens ein Element der Umgebung 100 eine oder mehrere Funktionen durchführen, die als durch mindestens ein anderes Element von 1 durchgeführt beschrieben werden. Zusätzlich oder alternativ kann mindestens ein Satz von Elementen der Umgebung 100 eine oder mehrere Funktionen durchführen, die als durch mindestens einen anderen Satz von Elementen der Umgebung 100 durchgeführt beschrieben werden.
  • Jetzt mit Bezug auf 2 beinhaltet ein Fahrzeug 200 ein autonomes System 202, ein Antriebsstrangsteuersystem 204, ein Lenkungssteuersystem 206 und ein Bremssystem 208. In manchen Ausführungsformen ist das Fahrzeug 200 das gleiche oder ähnlich wie das Fahrzeug 102 (siehe 1). In manchen Ausführungsformen weist das Fahrzeug 102 autonome Fähigkeit auf (z. B. implementiert mindestens eine Funktion, mindestens ein Merkmal, mindestens eine Vorrichtung und/oder dergleichen, die/das dem Fahrzeug 200 ermöglicht, teilweise oder vollständig ohne menschlichen Eingriff betrieben zu werden, einschließlich unter anderem vollautonome Fahrzeuge (z. B. Fahrzeuge, die nicht auf einen menschlichen Eingriff angewiesen sind), hochautonome Fahrzeuge (z. B. Fahrzeuge, die in gewissen Situationen nicht auf einen menschlichen Eingriff angewiesen sind) und/oder dergleichen). Für eine ausführliche Beschreibung von vollautonomen Fahrzeugen und hochautonomen Fahrzeugen kann Bezug auf den Standard J3016 von SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Klassifizierung und Definitionen für Begriffe bezüglich automatisierter Fahrsysteme für Straßenkraftfahrzeuge) genommen werden, der hiermit in seiner Gesamtheit einbezogen wird. In manchen Ausführungsformen ist das Fahrzeug 200 mit einem autonomen Flottenmanager und/oder einem Fahrgemeinschaftsunternehmen assoziiert.
  • Das autonome System 202 beinhaltet eine Sensorsuite, die eine oder mehrere Vorrichtungen wie etwa Kameras 202a, LiDAR-Sensoren 202b, Radar-Sensoren 202c und Mikrofone 202d beinhaltet. In manchen Ausführungsformen kann das autonome System 202 mehr oder weniger Vorrichtungen und/oder andere Vorrichtungen beinhalten (z. B. Ultraschallsensoren, inertiale Sensoren, GPS-Empfänger (nachstehend besprochen), Hodometriesensoren, die Daten erzeugen, die mit einer Angabe einer durch das Fahrzeug 200 gefahrenen Entfernung assoziiert sind, und/oder dergleichen). In manchen Ausführungsformen verwendet das autonome System 202 die eine oder die mehreren im autonomen System 202 enthaltenen Vorrichtungen, um Daten zu erzeugen, die mit der hierin beschriebenen Umgebung 100 assoziiert sind. Die durch die eine oder die mehreren Vorrichtungen des autonomen Systems 202 erzeugten Daten können durch ein oder mehrere hierin beschriebene Systeme verwendet werden, um die Umgebung (z. B. die Umgebung 100) zu beobachten, in der sich das Fahrzeug 200 befindet. In manchen Ausführungsformen beinhaltet das autonome System 202 eine Kommunikationsvorrichtung 202e, einen autonomen Fahrzeugcomputer 202f und ein Drive-by-Wire(DBW)-System 202h.
  • Die Kameras 202a beinhalten mindestens eine Vorrichtung, die dazu ausgelegt ist, sich über einen Bus (z. B. einen Bus, der der gleiche oder ähnlich ist wie der Bus 302 von 3) in Kommunikation mit der Kommunikationsvorrichtung 202e, dem autonomen Fahrzeugcomputer 202f und/oder einer Sicherheitssteuerung 202g zu befinden. Die Kameras 202a beinhalten mindestens eine Kamera (z. B. eine Digitalkamera, die einen Lichtsensor verwendet, wie etwa eine CCD (Charge-Coupled Device), eine Wärmekamera, eine Infrarot(IR)-Kamera, eine Ereigniskamera und/oder dergleichen), um Bilder aufzunehmen, die physische Objekte (z. B. Autos, Busse, Bordsteinkanten, Menschen und/oder dergleichen) beinhalten. In manchen Ausführungsformen erzeugt die Kamera 202a Kameradaten als Ausgabe. In manchen Beispielen erzeugt die Kamera 202a Kameradaten, die Bilddaten beinhalten, die mit einem Bild assoziiert sind. In diesem Beispiel können die Bilddaten mindestens einen Parameter (z. B. Bildcharakteristiken wie etwa Belichtung, Helligkeit usw., einen Bildzeitstempel und/oder dergleichen) entsprechend dem Bild spezifizieren. In einem solchen Beispiel kann das Bild in einem Format vorliegen (z. B. RAW, JPEG, PNG und/oder dergleichen). In manchen Ausführungsformen beinhaltet die Kamera 202a mehrere unabhängige Kameras, die auf einem Fahrzeug konfiguriert (z. B. positioniert) sind, um Bilder für Stereopsis (Stereosicht) aufzunehmen. In manchen Beispielen beinhaltet die Kamera 202a mehrere Kameras, die Bilddaten erzeugen und die Bilddaten zu dem autonomen Fahrzeugcomputer 202f und/oder einem Flottenmanagementsystem (z. B. einem Flottenmanagementsystem, das das gleiche oder ähnlich ist wie das Flottenmanagementsystem 116 von 1) übertragen. In einem solchen Beispiel bestimmt der autonome Fahrzeugcomputer 202f eine Tiefe zu einem oder mehreren Objekten in einem Sichtfeld von mindestens zwei Kameras der mehreren Kameras basierend auf den Bilddaten von den mindestens zwei Kameras. In manchen Ausführungsformen sind die Kameras 202a dazu ausgelegt, Bilder von Objekten innerhalb eines Abstands von den Kameras 202a (z. B. bis zu 100 Metern, bis zu einem Kilometer und/oder dergleichen) aufzunehmen. Dementsprechend beinhalten die Kameras 202a Merkmale wie etwa Sensoren und Objektive, die zum Wahrnehmen von Objekten optimiert sind, die sich bei einem oder mehreren Abständen von den Kameras 202a befinden.
  • In einer Ausführungsform beinhaltet die Kamera 202a mindestens eine Kamera, die dazu ausgelegt ist, ein oder mehrere Bilder aufzunehmen, die mit einer oder mehreren Ampeln, einem oder mehreren Straßenschildern und/oder anderen physischen Objekten assoziiert sind, die visuelle Navigationsinformationen bereitstellen. In manchen Ausführungsformen erzeugt die Kamera 202a Ampeldaten, die mit einem oder mehreren Bildern assoziiert sind. In manchen Beispielen erzeugt die Kamera 202a TLD-Daten, die mit einem oder mehreren Bildern assoziiert sind, die ein Format (z. B. RAW, JPEG, PNG und/oder dergleichen) beinhalten. In manchen Ausführungsformen unterscheidet sich die Kamera 202a, die TLD-Daten erzeugt, in dem Sinne von anderen hierin beschriebenen Systemen, die Kameras beinhalten, dass die Kamera 202a eine oder mehrere Kameras mit einem weiten Sichtfeld beinhalten kann (z. B. einem Weitwinkelobjektiv, einem Fischaugenobjektiv, einem Objektiv mit einem Sichtwinkel von ungefähr 120 Grad oder mehr und/oder dergleichen), um Bilder über so viele physische Objekte wie möglich zu erzeugen.
  • Die LiDAR(Lichtdetektion und -entfernungsmessung)-Sensoren 202b beinhalten mindestens eine Vorrichtung, die dazu ausgelegt ist, sich über einen Bus (z. B. einen Bus, der der gleiche oder ähnlich ist wie der Bus 302 von 3) in Kommunikation mit der Kommunikationsvorrichtung 202e, dem autonomen Fahrzeugcomputer 202f und/oder der Sicherheitssteuerung 202g zu befinden. Die LiDAR-Sensoren 202b beinhalten ein System, das dazu ausgelegt ist, Licht von einem Lichtemitter (z. B. einem Laser-Sender) zu übertragen. Durch die LiDAR-Sensoren 202b emittiertes Licht beinhaltet Licht (z. B. Infrarotlicht und/oder dergleichen), das sich außerhalb des sichtbaren Spektrums befindet. In manchen Ausführungsformen trifft während des Betriebs Licht, das durch die LiDAR-Sensoren 202b emittiert wird, auf ein physisches Objekt (z. B. ein Fahrzeug) und wird zurück zu den LiDAR-Sensoren 202b reflektiert. In manchen Ausführungsformen dringt das durch die LiDAR-Sensoren 202b emittierte Licht nicht in die physischen Objekte ein, auf die das Licht trifft. Die LiDAR-Sensoren 202b beinhalten auch mindestens einen Lichtdetektor, der das Licht detektiert, das vom Lichtemitter emittiert wurde, nachdem das Licht auf ein physisches Objekt traf. In manchen Ausführungsformen erzeugt mindestens ein Datenverarbeitungssystem, das mit den LiDAR-Sensoren 202b assoziiert ist, ein Bild (z. B. eine Punktwolke, eine kombinierte Punktwolke und/oder dergleichen), das die in einem Sichtfeld der LiDAR-Sensoren 202b enthaltenen Objekte repräsentiert. In manchen Beispielen erzeugt das mindestens eine Datenverarbeitungssystem, das mit den LiDAR-Sensoren 202b assoziiert 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 repräsentiert. In einem solchen Beispiel wird das Bild verwendet, um die Grenzen von physischen Objekten im Sichtfeld der LiDAR-Sensoren 202b zu bestimmen.
  • Die Radar(Funkdetektion und -entfernungsmessung)-Sensoren 202c beinhalten mindestens eine Vorrichtung, die dazu ausgelegt ist, sich über einen Bus (z. B. einen Bus, der der gleiche oder ähnlich ist wie der Bus 302 von 3) in Kommunikation mit der Kommunikationsvorrichtung 202e, dem autonomen Fahrzeugcomputer 202f und/oder der Sicherheitssteuerung 202g zu befinden. Die Radar-Sensoren 202c beinhalten ein System, das dazu ausgelegt ist, Funkwellen (entweder gepulst oder kontinuierlich) zu übertragen. Die durch die Radar-Sensoren 202c übertragenen Funkwellen beinhalten Funkwellen, die innerhalb eines vorbestimmten Spektrums liegen. In manchen Ausführungsformen treffen während des Betriebs Funkwellen, die durch die Radar-Sensoren 202c übertragen werden, auf ein physisches Objekt und werden zurück zu den Radar-Sensoren 202c reflektiert. In manchen Ausführungsformen werden die durch die Radar-Sensoren 202c übertragenen Funkwellen nicht durch irgendwelche Objekte reflektiert. In manchen Ausführungsformen erzeugt mindestens ein Datenverarbeitungssystem, das mit den Radar-Sensoren 202c assoziiert ist, Signale, die die in einem Sichtfeld der Radar-Sensoren 202c enthaltenen Objekte repräsentieren. Beispielsweise erzeugt das mindestens eine Datenverarbeitungssystem, das mit den Radar-Sensoren 202c assoziiert 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 repräsentiert. In manchen Beispielen wird das Bild verwendet, um die Grenzen von physischen Objekten im Sichtfeld der Radar-Sensoren 202c zu bestimmen.
  • Die Mikrofone 202d beinhalten mindestens eine Vorrichtung, die dazu ausgelegt ist, sich über einen Bus (z. B. einen Bus, der der gleiche oder ähnlich ist wie der Bus 302 von 3) in Kommunikation mit der Kommunikationsvorrichtung 202e, dem autonomen Fahrzeugcomputer 202f und/oder einer Sicherheitssteuerung 202g zu befinden. Die Mikrofone 202d beinhalten ein oder mehrere Mikrofone (z. B. Array-Mikrofone, externe Mikrofone und/oder dergleichen), die Audiosignale erfassen und Daten erzeugen, die mit den Audiosignalen assoziiert sind (z. B. repräsentieren). In manchen Beispielen beinhalten die Mikrofone 202d Wandlervorrichtungen und/oder gleichartige Vorrichtungen. In manchen Ausführungsformen können ein oder mehrere hierin beschriebene Systeme die durch die Mikrofone 202d erzeugten Daten empfangen und eine Position eines Objekts relativ zu dem Fahrzeug 200 (z. B. einen Abstand und/oder dergleichen) basierend auf den mit den Daten assoziierten Audiosignalen bestimmen.
  • Die Kommunikationsvorrichtung 202e beinhaltet mindestens eine Vorrichtung, die dazu ausgelegt ist, sich mit den Kameras 202a, den LiDAR-Sensoren 202b, den Radar-Sensoren 202c, den Mikrofonen 202d, dem autonomen Fahrzeugcomputer 202f, der Sicherheitssteuerung 202g und/oder dem DBW-System 202h in Kommunikation zu befinden. Beispielsweise kann die Kommunikationsvorrichtung 202e eine Vorrichtung beinhalten, die die gleiche oder ähnlich ist wie die Kommunikationsschnittstelle 314 von 3. In manchen Ausführungsformen beinhaltet die Kommunikationsvorrichtung 202e eine Fahrzeug-zu-Fahrzeug(V2V)-Kommunikationsvorrichtung (z. B. eine Vorrichtung, die eine drahtlose Kommunikation von Daten zwischen Fahrzeugen ermöglicht).
  • Der autonome Fahrzeugcomputer 202f beinhaltet mindestens eine Vorrichtung, die dazu ausgelegt ist, sich mit den Kameras 202a, den LiDAR-Sensoren 202b, den Radar-Sensoren 202c, den Mikrofonen 202d, der Kommunikationsvorrichtung 202e, der Sicherheitssteuerung 202g und/oder dem DBW-System 202h in Kommunikation zu befinden. In manchen Beispielen beinhaltet der autonome Fahrzeugcomputer 202f eine Vorrichtung wie etwa eine Client-Vorrichtung, eine mobile Vorrichtung (z. B. ein zellulares Telefon, ein Tablet und/oder dergleichen), einen Server (z. B. eine Rechenvorrichtung, die eine oder mehrere Zentralverarbeitungseinheiten, Grafikverarbeitungseinheiten und/oder dergleichen beinhaltet) und/oder dergleichen. In manchen Ausführungsformen ist der autonome Fahrzeugcomputer 202f der gleiche oder ähnlich wie der hierin beschriebene autonome Fahrzeugcomputer 400. Alternativ oder zusätzlich ist der autonome Fahrzeugcomputer 202f in manchen Ausführungsformen dazu ausgelegt, sich in Kommunikation mit einem autonomen Fahrzeugsystem (z. B. einem autonomen Fahrzeugsystem, das das gleiche oder ähnlich ist wie das Fern-AV-System 114 von 1), einem Flottenmanagementsystem (z. B. einem Flottenmanagementsystem, das das gleiche oder ähnlich ist wie das Flottenmanagementsystem 116 von 1), einer V2I-Vorrichtung (z. B. einer V21-Vorrichtung, die die gleiche oder ähnlich ist wie die V2I-Vorrichtung 110 von 1) und/oder einem V21-System (z. B. einem V21-System, das das gleiche oder ähnlich ist wie das V21-System 118 von 1) zu befinden.
  • Die Sicherheitssteuerung 202g beinhaltet mindestens eine Vorrichtung, die dazu ausgelegt ist, sich mit den Kameras 202a, den LiDAR-Sensoren 202b, den Radar-Sensoren 202c, den Mikrofonen 202d, der Kommunikationsvorrichtung 202e, dem autonomen Fahrzeugcomputer 202f und/oder dem DBW-System 202h in Kommunikation zu befinden. In manchen Beispielen beinhaltet die Sicherheitssteuerung 202g eine oder mehrere Steuerungen (elektrische Steuerungen, elektromechanische Steuerungen und/oder dergleichen), die dazu ausgelegt sind, Steuersignale zum Betreiben einer oder mehrerer Vorrichtungen des Fahrzeugs 200 (z. B. Antriebsstrangsteuersystem 204, Lenkungssteuersystem 206, Bremssystem 208 und/oder dergleichen) zu erzeugen und/oder zu übertragen. In manchen Ausführungsformen ist die Sicherheitssteuerung 202g dazu ausgelegt, Steuersignale zu erzeugen, die gegenüber Steuersignalen Vorrang haben (z. B. überschreiben), die durch den autonomen Fahrzeugcomputer 202f erzeugt und/oder übertragen werden.
  • Das DBW-System 202h beinhaltet mindestens eine Vorrichtung, die dazu ausgelegt ist, mit der Kommunikationsvorrichtung 202e und/oder dem autonomen Fahrzeugcomputer 202f in Kommunikation zu stehen. In manchen Beispielen beinhaltet das DBW-System 202h eine oder mehrere Steuerungen (z. B. elektrische Steuerungen, elektromechanische Steuerungen und/oder dergleichen), die dazu ausgelegt sind, Steuersignale zum Betreiben einer oder mehrerer Vorrichtungen des Fahrzeugs 200 (z. B. Antriebsstrangsteuersystem 204, Lenkungssteuersystem 206, Bremssystem 208 und/oder dergleichen) zu erzeugen und/oder zu übertragen. Zusätzlich oder alternativ sind die eine oder die mehreren Steuerungen des DBW-Systems 202h dazu ausgelegt, Steuersignale zum Betreiben mindestens einer anderen Vorrichtung (z. B. eines Blinkers, Scheinwerfer, Türverriegelungen, Scheibenwischer und/oder dergleichen) des Fahrzeugs 200 zu erzeugen und/oder zu übertragen.
  • Das Antriebsstrangsteuersystem 204 beinhaltet mindestens eine Vorrichtung, die dazu ausgelegt ist, sich in Kommunikation mit dem DBW-System 202h zu befinden. In manchen Beispielen beinhaltet das Antriebsstrangsteuersystem 204 mindestens eine Steuerung, einen Aktor und/oder dergleichen. In manchen Ausführungsformen empfängt das Antriebsstrangsteuersystem 204 Steuersignale vom DBW-System 202h und das Antriebsstrangsteuersystem 204 bewirkt, dass das Fahrzeug 200 anfängt, sich vorwärts zu bewegen, aufhört, sich vorwärts zu bewegen, anfängt, sich rückwärts bewegen, aufhört, sich rückwärts zu bewegen, in eine Richtung beschleunigt, in eine Richtung abbremst, nach links abbiegt, nach rechts abbiegt und/oder dergleichen. In einem Beispiel bewirkt das Antriebsstrangsteuersystem 204, dass die einem Motor des Fahrzeugs bereitgestellte Energie (z. B. Kraftstoff, Elektrizität und/oder dergleichen) zunimmt, gleich bleibt oder abnimmt, wodurch bewirkt wird, dass sich mindestens ein Rad des Fahrzeugs 200 dreht oder nicht dreht.
  • Das Lenkungssteuersystem 206 beinhaltet mindestens eine Vorrichtung, die dazu ausgelegt ist, ein oder mehrere Räder des Fahrzeugs 200 zu drehen. In manchen Beispielen beinhaltet das Lenkungssteuersystem 206 mindestens eine Steuerung, einen Aktor und/oder dergleichen. In manchen Ausführungsformen bewirkt das Lenkungssteuersystem 206, dass sich die zwei Vorderräder und/oder die zwei Hinterräder des Fahrzeugs 200 nach links oder rechts drehen, um zu bewirken, dass das Fahrzeug 200 nach links oder rechts abbiegt.
  • Das Bremssystem 208 beinhaltet mindestens eine Vorrichtung, die dazu ausgelegt ist, eine oder mehrere Bremsen zu betätigen, um zu bewirken, dass das Fahrzeug 200 die Geschwindigkeit reduziert und/oder stationär bleibt. In manchen Beispielen beinhaltet das Bremssystem 208 mindestens eine Steuerung und/oder mindestens einen Aktor, die/der dazu ausgelegt ist, zu bewirken, dass sich ein oder mehrere Bremssattel, die mit einem oder mehreren Rädern des Fahrzeugs 200 assoziiert sind, an einem entsprechenden Rotor des Fahrzeugs 200 schließen. Zusätzlich oder alternativ beinhaltet das Bremssystem 208 in manchen Beispielen ein automatisches Notfallbremssystem (AEB-System), ein regeneratives Bremssystem und/oder dergleichen.
  • In manchen Ausführungsformen beinhaltet das Fahrzeug 200 mindestens einen Plattformsensor (nicht ausdrücklich veranschaulicht), der Eigenschaften eines Status oder eines Zustands des Fahrzeugs 200 misst oder folgert. In manchen Beispielen beinhaltet das Fahrzeug 200 Plattformsensoren wie etwa einen Empfänger eines globalen Positionierungssystem (GPS), eine inertiale Messeinheit (IMU), einen Radgeschwindigkeitssensor, einen Radbremsdrucksensor, einen Raddrehmomentsensor, einen Motordrehmomentsensor, einen Lenkwinkelsensor und/oder dergleichen.
  • Jetzt mit Bezug auf 3 ist ein schematisches Diagramm einer Vorrichtung 300 veranschaulicht. Wie veranschaulicht, beinhaltet die Vorrichtung 300 einen Prozessor 304, einen Speicher 306, eine Speicherungskomponente 308, eine Eingangsschnittstelle 310, eine Ausgangsschnittstelle 312, eine Kommunikationsschnittstelle 314 und einen Bus 302. In manchen Ausführungsformen entspricht die Vorrichtung 300 mindestens einer Vorrichtung der Fahrzeuge 102 (z. B. mindestens einer Vorrichtung eines Systems der Fahrzeuge 102) und/oder einer oder mehrerer Vorrichtungen des Netzwerks 112 (z. B. einer oder mehrerer Vorrichtungen eines Systems des Netzwerks 112). In manchen Ausführungsformen beinhalten eine oder mehrere Vorrichtungen der Fahrzeuge 102 (z. B. eine oder mehrere Vorrichtungen eines Systems der Fahrzeuge 102) und/oder eine oder mehrere Vorrichtungen des Netzwerks 112 (z. B. eine oder mehrere Vorrichtungen eines Systems des Netzwerks 112) mindestens eine Vorrichtung 300 und/oder mindestens eine Komponente der Vorrichtung 300. Wie in 3 gezeigt, beinhaltet die Vorrichtung 300 den Bus 302, den Prozessor 304, den Speicher 306, die Speicherungskomponente 308, die Eingangsschnittstelle 310, die Ausgangsschnittstelle 312 und die Kommunikationsschnittstelle 314.
  • Der Bus 302 beinhaltet eine Komponente, die eine Kommunikation zwischen den Komponenten der Vorrichtung 300 ermöglicht. In manchen Ausführungsformen wird der Prozessor 304 in Hardware, Software oder einer Kombination von Hardware und Software implementiert. In manchen Beispielen beinhaltet der Prozessor 304 einen Prozessor (z. B. eine Zentralverarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), eine beschleunigte Verarbeitungseinheit (APU) und/oder dergleichen), ein Mikrofon, einen Digitalsignalprozessor (DSP) und/oder eine beliebige Verarbeitungskomponente (z. B. ein feldprogrammierbares Gate-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (ASIC) und/oder dergleichen), die dahingehend programmiert werden kann, mindestens eine Funktion durchzuführen. Der Speicher 306 beinhaltet Direktzugriffsspeicher (RAM), Nurlesespeicher (ROM) und/oder eine andere Art von dynamischer und/oder statischer Speicherungsvorrichtung (z. B. Flash-Speicher, magnetischer Speicher, optischer Speicher und/oder dergleichen), die Daten und/oder Anweisungen zur Verwendung durch den Prozessor 304 speichert.
  • Die Speicherungskomponente 308 speichert Daten und/oder Software bezüglich des Betriebs und der Verwendung der Vorrichtung 300. In manchen Beispielen beinhaltet die Speicherungskomponente 308 eine Festplatte (z. B. eine Magnetplatte, eine optische Platte, eine magnetooptische Platte, eine Solid-State-Platte und/oder dergleichen), eine Compact Disc (CD), eine Digital Versatile Disc (DVD), eine Diskette, eine Kassette, ein Magnetband, eine CD-ROM, RAM, ROM, EPROM, FLASH-EPROM, NV-RAM und/oder eine andere Art von computerlesbarem Medium zusammen mit einem entsprechenden Laufwerk.
  • Die Eingangsschnittstelle 310 beinhaltet eine Komponente, die der Vorrichtung 300 ermöglicht, Informationen zu empfangen, wie etwa über eine Benutzereingabe (z. B. eine Touchscreen-Anzeige, eine Tastatur, ein Tastenfeld, eine Maus, eine Taste, einen Schalter, ein Mikrofon, eine Kamera und/oder dergleichen). Zusätzlich oder alternativ beinhaltet die Eingangsschnittstelle 310 in manchen Ausführungsformen einen Sensor, der Informationen erfasst (z. B. einen Empfänger eines globalen Positionierungssystems (GPS), einen Beschleunigungsmesser, ein Gyroskop, einen Aktor und/oder dergleichen). Die Ausgangsschnittstelle 312 beinhaltet eine Komponente, die Ausgangsinformationen von der Vorrichtung 300 bereitstellt (z. B. eine Anzeige, einen Lautsprecher, eine oder mehrere Leuchtdioden (LEDs) und/oder dergleichen).
  • In manchen Ausführungsformen beinhaltet die Kommunikationsschnittstelle 314 eine sendeempfängerartige Komponente (z. B. einen Sendeempfänger, einen getrennten Empfänger und Sender und/oder dergleichen), die der Vorrichtung 300 ermöglicht, über eine drahtgebundene Verbindung, eine drahtlose Verbindung oder eine Kombination aus drahtgebundenen und drahtlosen Verbindungen mit anderen Vorrichtungen zu kommunizieren. In manchen Beispielen ermöglicht die Kommunikationsschnittstelle 314 der Vorrichtung 300, Informationen von einer anderen Vorrichtung zu empfangen und/oder einer anderen Vorrichtung Informationen bereitzustellen. In manchen Beispielen beinhaltet die Kommunikationsschnittstelle 314 eine Ethernet-Schnittstelle, eine optische Schnittstelle, eine Koaxialschnittstelle, eine Infrarotschnittstelle, eine Hochfrequenz(HF)-Schnittstelle, eine Universal-Serial-Bus(USB)-Schnittstelle, eine WiFi®-Schnittstelle, eine Zellularnetzschnittstelle und/oder dergleichen.
  • In manchen Ausführungsformen führt die Vorrichtung 300 einen oder mehrere hierin beschriebene Prozesse durch. Die Vorrichtung 300 führt diese Prozesse basierend darauf durch, dass der Prozessor 304 Softwareanweisungen ausführt, die durch ein computerlesbares Medium gespeichert werden, wie etwa den Speicher 306 und/oder die Speicherungskomponente 308. Ein computerlesbares Medium (z. B. ein nichtflüchtiges computerlesbares Medium) ist hierin als eine nichtflüchtige Speichervorrichtung definiert. Eine nichtflüchtige Speichervorrichtung beinhaltet Speicherplatz, der sich innerhalb einer einzelnen physischen Speicherungsvorrichtung befindet, oder Speicherplatz, der über mehrere physische Speicherungsvorrichtungen verteilt ist.
  • In manchen Ausführungsformen werden Softwareanweisungen über die Kommunikationsschnittstelle 314 in den Speicher 306 und/oder die Speicherungskomponente 308 von einem anderen computerlesbaren Medium oder von einer anderen Vorrichtung gelesen. Bei ihrer Ausführung bewirken die im Speicher 306 und/oder in der Speicherungskomponente 308 gespeicherten Softwareanweisungen, dass der Prozessor 304 einen oder mehrere hierin beschriebene Prozesse durchführt. Zusätzlich oder alternativ wird eine festverdrahtete Schaltungsanordnung anstelle von oder in Kombination mit Softwareanweisungen verwendet, um einen oder mehrere hierin beschriebene Prozesse durchzuführen. Somit sind hierin beschriebene Ausführungsformen nicht auf irgendeine spezifische Kombination von Hardwareschaltungsanordnung und Software beschränkt, insofern nicht anderweitig ausführlich dargelegt.
  • Der Speicher 306 und/oder die Speicherungskomponente 308 beinhalten Datenspeicherung oder mindestens eine Datenstruktur (z. B. eine Datenbank und/oder dergleichen). Die Vorrichtung 300 ist in der Lage, Informationen von der Datenspeicherung oder der mindestens einen Datenstruktur im Speicher 306 oder in der Speicherungskomponente 308 zu empfangen, Informationen darin zu speichern, Informationen zu dieser zu kommunizieren oder nach darin gespeicherten Informationen zu suchen. In manchen Beispielen beinhalten die Informationen Netzwerkdaten, Eingangsdaten, Ausgangsdaten oder eine beliebige Kombination davon.
  • In manchen 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, die die gleiche oder ähnlich ist wie die Vorrichtung 300) gespeichert sind. Wie hierin verwendet, bezieht sich der Begriff „Modul“ auf mindestens eine Anweisung, die im Speicher 306 und/oder im Speicher einer anderen Vorrichtung gespeichert ist, die bei Ausführung durch den Prozessor 304 und/oder durch einen Prozessor einer anderen Vorrichtung (z. B. einer anderen Vorrichtung, die die gleiche oder ähnlich ist wie die Vorrichtung 300) bewirkt, dass die Vorrichtung 300 (z. B. mindestens eine Komponente der Vorrichtung 300) einen oder mehrere hierin beschriebene Prozesse durchführt. In manchen Ausführungsformen wird ein Modul in Software, Firmware, Hardware und/oder dergleichen implementiert.
  • Die Anzahl und die Anordnung der in 3 veranschaulichten Komponenten sind als ein Beispiel bereitgestellt. In manchen Ausführungsformen kann die Vorrichtung 300 zusätzliche Komponenten, weniger Komponenten, andere Komponenten oder anders angeordnete Komponenten wie die in 3 veranschaulichten beinhalten. Zusätzlich oder alternativ kann ein Satz von Komponenten (z. B. eine oder mehrere Komponenten) der Vorrichtung 300 eine oder mehrere Funktionen durchführen, die als durch eine andere Komponente oder einen anderen Satz von Komponenten der Vorrichtung 300 durchgeführt beschrieben werden.
  • Jetzt mit Bezug auf 4 ist ein beispielhaftes Blockdiagramm eines autonomen Fahrzeugcomputers 400 veranschaulicht (manchmal als ein „AV-Stapel“ bezeichnet). Wie veranschaulicht, beinhaltet der autonome Fahrzeugcomputer 400 ein Wahrnehmungssystem 402 (manchmal als ein Wahrnehmungsmodul bezeichnet), ein Planungssystem 404 (manchmal als ein Planungsmodul bezeichnet), ein Lokalisierungssystem 406 (manchmal als ein Lokalisierungsmodul bezeichnet), ein Steuersystem 408 (manchmal als ein Steuermodul bezeichnet) und eine Datenbank 410. In manchen Ausführungsformen sind das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406, das Steuersystem 408 und die Datenbank 410 in einem autonomen Navigationssystem eines Fahrzeugs (z. B. autonomen Fahrzeugcomputer 202f des Fahrzeugs 200) enthalten und/oder implementiert. Zusätzlich oder alternativ sind in manchen Ausführungsformen das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406, das Steuersystem 408 und die Datenbank 410 in einem oder mehreren unabhängigen Systemen (z. B. einem oder mehreren Systemen, die die gleichen oder ähnlich sind wie der autonome Fahrzeugcomputer 400 und/oder dergleichen) enthalten. In manchen Beispielen sind das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406, das Steuersystem 408 und die Datenbank 410 in einem oder mehreren unabhängigen Systemen enthalten, die sich in einem Fahrzeug und/oder mindestens einem Fernsystem befinden, wie hierin beschrieben. In manchen Ausführungsformen werden beliebige und/oder alle der im autonomen Fahrzeugcomputer 400 enthaltenen Systeme in Software (z. B. in Softwareanweisungen, die im Speicher gespeichert sind), Computerhardware (z. B. durch Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen [ASICs], feldprogrammierbare Gate-Arrays (FPGAs) und/oder dergleichen) oder Kombinationen von Computersoftware und Computerhardware implementiert. Es versteht sich, dass in manchen Ausführungsformen der autonome Fahrzeugcomputer 400 dazu ausgelegt ist, sich in Kommunikation mit einem Fernsystem (z. B. einem autonomen Fahrzeugsystem, das das gleiche oder ähnlich ist wie das Fern-AV-System 114, einem Flottenmanagementsystem 116, das das gleiche oder ähnlich ist wie das Flottenmanagementsystem 116, ein V21-System, das das gleiche oder ähnlich ist wie das V21-System 118, und/oder dergleichen) zu befinden.
  • In manchen Ausführungsformen empfängt das Wahrnehmungssystem 402 Daten, die mit mindestens einem physischen Objekt in einer Umgebung assoziiert sind (z. B. Daten, die durch das Wahrnehmungssystem 402 verwendet werden, um das mindestens eine physische Objekt zu detektieren), und klassifiziert das mindestens eine physische Objekt. In manchen Beispielen empfängt das Wahrnehmungssystem 402 Bilddaten, die durch mindestens eine Kamera (z. B. Kameras 202a) aufgenommen werden, wobei das Bild mit einem oder mehreren physischen Objekten in einem Sichtfeld der mindestens einen Kamera assoziiert ist (z. B. dieses repräsentiert). In einem solchen Beispiel klassifiziert das Wahrnehmungssystem 402 mindestens ein physisches Objekt basierend auf einer oder mehreren Gruppierungen physischer Objekte (z. B. Fahrräder, Fahrzeuge, Verkehrsschilder, Fußgänger und/oder dergleichen). In manchen Ausführungsformen überträgt das Wahrnehmungssystem 402 Daten, die mit der Klassifizierung der physischen Objekte assoziiert sind, zu dem Planungssystem 404 basierend darauf, dass das Wahrnehmungssystem 402 die physischen Objekte klassifiziert.
  • In manchen Ausführungsformen empfängt das Planungssystem 404 Daten, die mit einem Bestimmungsort assoziiert sind, und erzeugt Daten, die mit mindestens einer Route (z. B. Routen 106) assoziiert sind, entlang der ein Fahrzeug (z. B. Fahrzeuge 102) in Richtung eines Bestimmungsortes fahren kann. In manchen Ausführungsformen empfängt das Planungssystem 404 Daten periodisch oder kontinuierlich vom Wahrnehmungssystem 402 (z. B. Daten, die mit der Klassifizierung physischer Objekte assoziiert sind, wie oben beschrieben) und das Planungssystem 404 aktualisiert die mindestens eine Trajektorie oder erzeugt mindestens eine andere Trajektorie basierend auf den durch das Wahrnehmungssystem 402 erzeugten Daten. In manchen Ausführungsformen empfängt das Planungssystem 404 Daten, die mit einer aktualisierten Position eines Fahrzeugs (z. B. Fahrzeuge 102) assoziiert sind, vom Lokalisierungssystem 406 und das Planungssystem 404 aktualisiert die mindestens eine Trajektorie oder erzeugt mindestens eine andere Trajektorie basierend auf den durch das Lokalisierungssystem 406 erzeugten Daten.
  • In manchen Ausführungsformen empfängt das Lokalisierungsmodul 406 Daten, die mit einem Standort eines Fahrzeugs (z. B. Fahrzeuge 102) in einem Bereich assoziiert sind (z. B. diese repräsentieren). In manchen Beispielen empfängt das Lokalisierungssystem 406 LiDAR-Daten, die mit mindestens einer Punktwolke assoziiert sind, die durch mindestens einen LiDAR-Sensor (z. B. LiDAR-Sensoren 202b) erzeugt werden. In bestimmten Beispielen empfängt das Lokalisierungsmodul 406 Daten, die mit mindestens einer Punktwolke von mehreren LiDAR-Sensoren assoziiert sind, und das Lokalisierungsmodul 406 erzeugt eine kombinierte Punktwolke basierend auf jeder der Punktwolken. In diesen Beispielen vergleicht das Lokalisierungsmodul 406 die mindestens eine Punktwolke oder die kombinierte Punktwolke mit einer in der Datenbank 410 gespeicherten zweidimensionalen (2D) und/oder einer dreidimensionalen (3D) Karte des Bereichs. Das Lokalisierungssystem 406 bestimmt dann die Position des Fahrzeugs in dem Bereich basierend darauf, dass das System 406 die mindestens eine Punktwolke oder die kombinierte Punktwolke mit der Karte vergleicht. In manchen Ausführungsformen beinhaltet die Karte eine kombinierte Punktwolke des Bereichs, die vor der Navigation des Fahrzeugs erzeugt wird. In manchen Ausführungsformen beinhalten Karten unter anderem Hochpräzisionskarten der geometrischen Eigenschaften der Straße, Karten, die Konnektivitätseigenschaften des Straßennetzes beschreiben, Karten, die physische Eigenschaften der Straße beschreiben (wie etwa Verkehrsgeschwindigkeit, Verkehrsvolumen, die Anzahl von Fahrzeug- und Fahrradfahrer-Verkehrsspuren, Fahrspurbreite, Fahrspurverkehrsrichtungen oder Fahrspurmarkierungsarten und -orte oder Kombinationen davon), und Karten, die die räumlichen Orte von Straßenmerkmalen wie etwa Fußgängerüberwege, Verkehrszeichen oder andere Verkehrssignale verschiedener Arten beschreiben. In manchen Ausführungsformen wird die Karte in Echtzeit basierend auf den durch das Wahrnehmungssystem empfangenen Daten erzeugt.
  • In einem anderen Beispiel empfängt das Lokalisierungssystem 406 Daten eines globalen Satellitennavigationssystems (GNSS), die durch einen Empfänger eines globalen Positionierungssystems (GPS) erzeugt werden. In manchen Beispielen empfängt das Lokalisierungssystem 406 GNSS-Daten, die mit dem Standort des Fahrzeugs in dem Bereich assoziiert sind, und das Lokalisierungssystem 406 bestimmt einen Breitengrad und Längengrad des Fahrzeugs in dem Bereich. In einem solchen Beispiel bestimmt das Lokalisierungssystem 406 die Position des Fahrzeugs in dem Bereich basierend auf dem Breitengrad und dem Längengrad des Fahrzeugs. In manchen Ausführungsformen erzeugt das Lokalisierungssystem 406 Daten, die mit der Position des Fahrzeugs assoziiert sind. In manchen Beispielen erzeugt das Lokalisierungssystem 406 Daten, die mit der Position des Fahrzeugs assoziiert sind, basierend darauf, dass das Lokalisierungssystem 406 die Position des Fahrzeugs bestimmt. In einem solchen Beispiel beinhalten die Daten, die mit der Position des Fahrzeugs assoziiert sind, Daten, die mit einer oder mehreren semantischen Eigenschaften entsprechend der Position des Fahrzeugs assoziiert sind.
  • In manchen Ausführungsformen empfängt das Steuersystem 408 Daten, die mit mindestens einer Trajektorie assoziiert sind, vom Planungssystem 404 und das Steuersystem 408 steuert den Betrieb des Fahrzeugs. In manchen Beispielen empfängt das Steuersystem 408 Daten, die mit mindestens einer Trajektorie assoziiert sind, vom Planungssystem 404 und das Steuersystem 408 steuert den Betrieb des Fahrzeugs durch Erzeugen und Übertragen von Steuersignalen, um zu bewirken, dass ein Antriebsstrangsteuersystem (z. B. DBW-System 202h, Antriebsstrangsteuersystem 204 und/oder dergleichen), ein Lenkungssteuersystem (z. B. Lenkungssteuersystem 206) und/oder ein Bremssystem (z. B. Bremssystem 208) arbeiten. In einem Beispiel, bei dem eine Trajektorie eine Linksabbiegung beinhaltet, überträgt das Steuersystem 408 ein Steuersignal, um zu bewirken, dass das Lenkungssteuersystem 206 einen Lenkwinkel des Fahrzeugs 200 anpasst, wodurch bewirkt wird, dass das Fahrzeug 200 nach links abbiegt. Zusätzlich oder alternativ erzeugt und überträgt das Steuersystem 408 Steuersignale, um zu bewirken, dass andere Vorrichtungen (z. B. Scheinwerfer, Blinker, Türverriegelungen, Scheibenwischer und/oder dergleichen) des Fahrzeugs 200 ihren Zustand ändern.
  • In manchen Ausführungsformen implementieren das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406 und/oder das Steuersystem 408 mindestens ein maschinelles Lernmodell (z. B. mindestens einen Multilayer-Perzeptron (MLP), mindestens ein faltendes neuronales Netzwerk (CNN), mindestens ein rekurrentes neuronales Netzwerk (RNN), mindestens einen Autocodierer, mindestens einen Transformator und/oder dergleichen). In manchen Beispielen implementieren das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406 und/oder das Steuersystem 408 mindestens ein maschinelles Lernmodell alleine oder in Kombination mit einem oder mehreren der oben angemerkten Systeme. In manchen Beispielen implementieren das Wahrnehmungssystem 402, das Planungssystem 404, das Lokalisierungssystem 406 und/oder das Steuersystem 408 mindestens ein maschinelles Lernmodell als Teil einer Pipeline (z. B. einer Pipeline zum Identifizieren eines oder mehrerer Objekte, die sich in einer Umgebung befinden, und/oder dergleichen). Ein Beispiel einer Implementierung eines maschinellen Lernmodells ist nachstehend mit Bezug auf die 4B-4D enthalten. Darüber hinaus veranschaulichen 5-8 beispielhafte Interaktionen und Routinen zum Trainieren und Verwenden eines maschinellen Lernmodells gemäß Ausführungsformen der vorliegenden Offenbarung, um validierte semantische Annotationen für Sensordaten aus unvalidierten semantischen Annotationen zu erzeugen.
  • Die Datenbank 410 speichert Daten, die zu dem Wahrnehmungssystem 402, dem Planungssystem 404, dem Lokalisierungssystem 406 und/oder dem Steuersystem 408 übertragen, von diesen empfangen und/oder durch diese aktualisiert werden. In manchen Beispielen beinhaltet die Datenbank 410 eine Speicherungskomponente (z. B. eine Speicherungskomponente, die die gleiche oder ähnlich ist wie die Speicherungskomponente 308 von 3), die Daten und/oder Software bezüglich des Betriebs speichert und mindestens ein System des autonomen Fahrzeugcomputers 400 verwendet. In manchen Ausführungsformen speichert die Datenbank 410 Daten, die mit 2D- und/oder 3D-Karten mindestens eines Bereichs assoziiert sind. In manchen Beispielen speichert die Datenbank 410 Daten, die mit 2D- und/oder 3D-Karten eines Teils einer Stadt, mehrerer Teile mehrerer Städte, mehrerer Städte, eines Landkreises, eines Staates (z. B. eines Landes) und/oder dergleichen assoziiert sind. In einem solchen Beispiel kann ein Fahrzeug (z. B. ein Fahrzeug, das das gleiche oder ähnlich ist wie die Fahrzeuge 102 und/oder das Fahrzeug 200) entlang eines oder mehrerer befahrbarer Gebiete (z. B. einspurige Straßen, mehrspurige Straßen, Landstraßen, Nebenstraßen, Feldwege und/oder dergleichen) fahren und bewirken, dass mindestens ein LiDAR-Sensor (z. B. ein LiDAR-Sensor, der der gleiche oder ähnlich ist wie die LiDAR-Sensoren 202b) Daten erzeugt, die mit einem Bild assoziiert sind, das die Objekte repräsentiert, die in einem Sichtfeld des mindestens einen LiDAR-Sensors enthalten sind.
  • In manchen Ausführungsformen kann die Datenbank 410 über mehrere Vorrichtungen implementiert werden. In manchen Beispielen ist die Datenbank 410 in einem Fahrzeug (z. B. einem Fahrzeug, das das gleiche oder ähnlich ist wie die Fahrzeuge 102 und/oder das Fahrzeug 200), einem autonomen Fahrzeugsystem (z. B. einem autonomen Fahrzeugsystem, das das gleiche oder ähnlich ist wie das Fern-AV-System 114), einem Flottenmanagementsystem (z. B. einem Flottenmanagementsystem, das das gleiche oder ähnlich ist wie das Flottenmanagementsystem 116 von 1), einem V21-System (z. B. einem V2I-System, das das gleiche oder ähnlich ist wie das V21-System 118 von 1) und/oder dergleichen enthalten.
  • Jetzt mit Bezug auf 4B ist ein Diagramm einer Implementierung eines maschinellen Lernmodells veranschaulicht. Genauer gesagt ist ein Diagramm einer Implementierung eines faltenden neuronalen Netzwerks (CNN - Convolutional Neural Network) 420 veranschaulicht. Für Veranschaulichungszwecke wird die folgende Beschreibung des CNN 420 mit Bezug auf eine Implementierung des CNN 420 durch das Wahrnehmungssystem 402 stattfinden. Es versteht sich jedoch, dass in manchen Beispielen das CNN 420 (z. B. eine oder mehrere Komponenten des CNN 420) durch andere Systeme verschieden von oder zusätzlich zu dem Wahrnehmungssystem 402 implementiert wird, wie etwa das Planungssystem 404, das Lokalisierungssystem 406 und/oder das Steuersystem 408. Obwohl das CNN 420 bestimmte Merkmale beinhaltet, wie hierin beschrieben, sind diese Merkmale für Veranschaulichungszwecke bereitgestellt und sollen die vorliegende Offenbarung nicht beschränken.
  • Das CNN 420 beinhaltet mehrere Faltungsschichten einschließlich einer ersten Faltungsschicht 422, einer zweiten Faltungsschicht 424 und einer Faltungsschicht 426. In manchen Ausführungsformen beinhaltet das CNN 420 eine Subsampling-Schicht 428 (manchmal als eine Pooling-Schicht bezeichnet). In manchen Ausführungsformen haben die Subsampling-Schicht 428 und/oder andere Subsampling-Schichten eine Dimension (d. h. eine Menge an Knoten), die kleiner ist als eine Dimension eines Upstream-Systems. Da die Subsampling-Schicht 428 eine Dimension aufweist, die kleiner ist als eine Dimension einer Upstream-Schicht, konsolidiert das CNN 420 die Datenmenge, die mit der initialen Eingabe und/oder der Ausgabe einer Upstream-Schicht assoziiert ist, um dadurch die Menge an Berechnungen zu verringern, die notwendig sind, damit das CNN 420 Downstream-Faltungsoperationen durchführt. Zusätzlich oder alternativ konsolidiert das CNN 420, da die Subsampling-Schicht 428 mit mindestens einer Subsampling-Funktion assoziiert ist (z. B. ausgelegt ist, diese durchzuführen) (wie nachstehend mit Bezug auf die 4C und 4D beschrieben), die Menge an Daten, die mit der initialen Eingabe assoziiert ist.
  • Das Wahrnehmungssystem 402 führt Faltungsoperationen basierend darauf durch, dass das Wahrnehmungssystem 402 jeweilige Eingaben und/oder Ausgaben bereitstellt, die mit sowohl der ersten Faltungsschicht 422, der zweiten Faltungsschicht 424 als auch der Faltungsschicht 426 assoziiert sind, um jeweilige Ausgaben zu erzeugen. In manchen Beispielen implementiert das Wahrnehmungssystem 402 das CNN 420 basierend darauf, dass das Wahrnehmungssystem 402 Daten als Eingabe in die erste Faltungsschicht 422, die zweite Faltungsschicht 424 und die Faltungsschicht 426 bereitstellt. In einem solchen Beispiel liefert das Wahrnehmungssystem 402 die Daten als Eingabe in die erste Faltungsschicht 422, die zweite Faltungsschicht 424 und die Faltungsschicht 426 basierend darauf, dass das Wahrnehmungssystem 402 Daten von einem oder mehreren verschiedenen Systemen empfängt (z. B. einem oder mehreren Systemen eines Fahrzeugs, das das gleiche oder ähnlich ist wie das Fahrzeug 102, ein Fern-AV-System, dass das gleiche oder ähnlich ist wie das Fern-AV-System 114, ein Flottenmanagementsystem, das das gleiche oder ähnlich ist wie das Flottenmanagementsystem 116, ein V21-System, das das gleiche oder ähnlich ist wie das V21-System 118, und/oder dergleichen). Eine ausführliche Beschreibung von Faltungsoperationen ist nachstehend mit Bezug auf 4C enthalten.
  • In manchen Ausführungsformen liefert das Wahrnehmungssystem 402 Daten, die mit einer Eingabe (als eine initiale Eingabe bezeichnet) in die erste Faltungsschicht 422 assoziiert sind, und das Wahrnehmungssystem 402 erzeugt Daten, die mit einer Ausgabe assoziiert sind, unter Verwendung der ersten Faltungsschicht 422. In manchen Ausführungsformen liefert das Wahrnehmungssystem 402 eine Ausgabe, die durch eine Faltungsschicht erzeugt wird, als Eingabe in eine andere Faltungsschicht. Beispielsweise liefert das Wahrnehmungssystem 402 die Ausgabe der ersten Faltungsschicht 422 als Eingabe in die Subsampling-Schicht 428, die zweite Faltungsschicht 424 und/oder die Faltungsschicht 426. In einem solchen Beispiel wird die erste Faltungsschicht 422 als eine Upstream-Schicht bezeichnet und die Subsampling-Schicht 428, die zweite Faltungsschicht 424 und/oder die Faltungsschicht 426 werden als Downstream-Schichten bezeichnet. Gleichermaßen liefert das Wahrnehmungssystem 402 in manchen Ausführungsformen die Ausgabe der Subsampling-Schicht 428 zu der zweiten Faltungsschicht 424 und/oder der Faltungsschicht 426, und in diesem Beispiel würde die Subsampling-Schicht 428 als eine Upstream-Schicht bezeichnet werden und die zweite Faltungsschicht 424 und/oder die Faltungsschicht 426 würden als Downstream-Schichten bezeichnet werden.
  • In manchen Ausführungsformen verarbeitet das Wahrnehmungssystem 402 die Daten, die mit der dem CNN 420 bereitgestellten Eingabe assoziiert sind, bevor das Wahrnehmungssystem 402 die Eingabe zu dem CNN 420 liefert. Beispielsweise verarbeitet das Wahrnehmungssystem 402 die Daten, die mit der dem CNN 420 bereitgestellten Eingabe assoziiert sind, basierend darauf, dass das Wahrnehmungssystem 402 Sensordaten (z. B. Bilddaten, LiDAR-Daten, Radar-Daten und/oder dergleichen) normiert.
  • In manchen Ausführungsformen erzeugt das CNN 420 eine Ausgabe basierend darauf, dass das Wahrnehmungssystem 402 Faltungsoperationen durchführt, die mit jeder Faltungsschicht assoziiert sind. In manchen Beispielen erzeugt das CNN 420 eine Ausgabe basierend darauf, dass das Wahrnehmungssystem 402 Faltungsoperationen durchführt, die mit jeder Faltungsschicht und einer initialen Eingabe assoziiert sind. In manchen Ausführungsformen erzeugt das Wahrnehmungssystem 402 die Ausgabe und liefert die Ausgabe als eine vollständig verbundene Schicht 430. In manchen Beispielen liefert das Wahrnehmungssystem 402 die Ausgabe der Faltungsschicht 426 als die vollständig verbundene Schicht 430, wobei die vollständig verbundene Schicht 430 Daten beinhaltet, die mit mehreren Merkmalswerten assoziiert sind, bezeichnet als F1, F2 ... FN. In diesem Beispiel beinhaltet die Ausgabe der Faltungsschicht 426 Daten, die mit mehreren Ausgabemerkmalswerten assoziiert sind, die eine Vorhersage repräsentieren.
  • In manchen Ausführungsformen identifiziert das Wahrnehmungssystem 402 eine Vorhersage aus mehreren Vorhersagen basierend darauf, dass das Wahrnehmungssystem 402 einen Merkmalswert identifiziert, der mit der höchsten Wahrscheinlichkeit, die korrekte Vorhersage aus den mehreren Vorhersagen zu sein, assoziiert ist. Beispielsweise wenn die vollständig verbundene Schicht 430 Merkmalswerte F1, F2, ... FN beinhaltet und F1 der größte Merkmalswert ist, identifiziert das Wahrnehmungssystem 402 die mit F1 assoziierte Vorhersage als die korrekte Vorhersage aus den mehreren Vorhersagen. In manchen Ausführungsformen trainiert das Wahrnehmungssystem 402 das CNN 420 dahingehend, die Vorhersage zu erzeugen. In manchen Beispielen trainiert das Wahrnehmungssystem 402 das CNN 420 dahingehend, die Vorhersage zu erzeugen, basierend darauf, dass das Wahrnehmungssystem 402 dem CNN 420 Trainingsdaten, die mit der Vorhersage assoziiert sind, bereitstellt.
  • Jetzt mit Bezug auf die 4C und 4D ist ein Diagramm eines beispielhaften Betriebs eines CNN 440 durch das Wahrnehmungssystem 402 veranschaulicht. In manchen Ausführungsformen ist das CNN 440 (z. B. eine oder mehrere Komponenten des CNN 440) das gleiche oder ähnlich wie das CNN 420 (z. B. eine oder mehrere Komponenten des CNN 420) (siehe 4B).
  • Bei Schritt 450 liefert das Wahrnehmungssystem 402 Daten, die mit einem Bild assoziiert sind, als Eingabe in ein CNN 440 (Schritt 450). Beispielsweise wie veranschaulicht, liefert das Wahrnehmungssystem 402 die Daten, die mit dem Bild assoziiert sind, zu dem CNN 440, wobei das Bild ein Graustufenbild ist, das als Werte repräsentiert ist, die in einem zweidimensionalen (2D) Array gespeichert sind. In manchen Ausführungsformen können die Daten, die mit dem Bild assoziiert sind, Daten beinhalten, die mit einem Farbbild assoziiert sind, wobei das Farbbild als Werte repräsentiert ist, die in einem dreidimensionalen (3D) Array gespeichert sind. Zusätzlich oder alternativ können die Daten, die mit dem Bild assoziiert sind, Daten beinhalten, die mit einem Infrarotbild, einem Radar-Bild und/oder dergleichen assoziiert sind.
  • Bei Schritt 455 führt das CNN 440 eine erste Faltungsfunktion durch. Beispielsweise führt das CNN 440 die erste Faltungsfunktion basierend darauf durch, dass das CNN 440 die Werte, die das Bild repräsentieren, als Eingabe in ein oder mehrere Neuronen (nicht ausdrücklich veranschaulicht), die in der ersten Faltungsschicht 442 enthalten sind, bereitstellt. In diesem Beispiel können die Werte, die das Bild repräsentieren, Werten entsprechen, die ein Gebiet des Bildes repräsentieren (manchmal als ein rezeptives Feld bezeichnet). In manchen Ausführungsformen ist jedes Neuron mit einem Filter (nicht ausdrücklich veranschaulicht) assoziiert. Ein Filter (manchmal als ein Kernel bezeichnet) ist als ein Array von Werten repräsentierbar, das in der Größe den Werten entspricht, die als Eingabe in das Neuron bereitgestellt werden. In einem Beispiel kann ein Filter dazu ausgelegt sein, Kanten (z. B. horizontale Linien, vertikale Linien, gerade Linien und/oder dergleichen) zu identifizieren. In folgenden Faltungsschichten können die mit Neuronen assoziierten Filter dazu ausgelegt sein, sukzessive komplexere Muster (z. B. Bögen, Objekte und/oder dergleichen) zu identifizieren.
  • In manchen Ausführungsformen führt das CNN 440 die erste Faltungsfunktion basierend darauf durch, dass das CNN 440 die Werte, die jedem des einen oder der mehreren in der ersten Faltungsschicht 442 enthaltenen Neuronen als Eingabe bereitgestellt werden, mit den Werten des Filters, das jedem des einen oder der mehreren Neuronen entspricht, multipliziert. Beispielsweise kann das CNN 440 die Werte, die jedem des einen oder der mehreren in der ersten Faltungsschicht 442 enthaltenen Neuronen als Eingabe bereitgestellt werden, mit den Werten des Filters, das jedem des einen oder der mehreren Neuronen entspricht, multiplizieren, um einen einzelnen Wert oder ein Array von Werten als eine Ausgabe zu erzeugen. In manchen Ausführungsformen wird die kollektive Ausgabe der Neuronen der ersten Faltungsschicht 442 als eine gefaltete Ausgabe bezeichnet. In manchen Ausführungsformen, bei der jedes Neuron das gleiche Filter aufweist, wird die gefaltete Ausgabe als eine Feature Map (Merkmalskarte) bezeichnet.
  • In manchen Ausführungsformen liefert das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 zu Neuronen einer Downstream-Schicht. Für Verdeutlichungszwecke kann eine Upstream-Schicht eine Schicht sein, die Daten zu einer anderen Schicht (als eine Downstream-Schicht bezeichnet) überträgt. Beispielsweise kann das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 zu entsprechenden Neuronen einer Subsampling-Schicht liefern. In einem Beispiel liefert das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 zu entsprechenden Neuronen der ersten Subsampling-Schicht 444. In manchen Ausführungsformen fügt das CNN 440 einen Bias-Wert zu den Aggregaten aller Werte hinzu, die zu jedem Neuron der Downstream-Schicht geliefert werden. Beispielsweise fügt das CNN 440 einen Bias-Wert zu den Aggregaten aller Werte hinzu, die zu jedem Neuron der ersten Subsampling-Schicht 444 geliefert werden. In einem solchen Beispiel bestimmt das CNN 440 einen finalen Wert, der jedem Neuron der ersten Subsampling-Schicht 444 bereitzustellen ist, basierend auf den Aggregaten aller Werte, die jedem Neuron geliefert werden, und einer Aktivierungsfunktion, die mit jedem Neuron der ersten Subsampling-Schicht 444 assoziiert ist.
  • Bei Schritt 460 führt das CNN 440 eine erste Subsampling-Funktion durch. Beispielsweise kann das CNN 440 eine erste Subsampling-Funktion basierend darauf durchführen, dass das CNN 440 die Werte, die durch die erste Faltungsschicht 442 ausgegeben werden, zu entsprechenden Neuronen der ersten Subsampling-Schicht 444 liefert. In manchen Ausführungsformen führt das CNN 440 die erste Subsampling-Funktion basierend auf einer Aggregationsfunktion durch. In einem Beispiel führt das CNN 440 die erste Subsampling-Funktion basierend darauf durch, dass das CNN 440 die maximale Eingabe unter den Werten bestimmt, die zu einem gegebenen Neuron geliefert werden (als eine Max-Pooling-Funktion bezeichnet). In einem Beispiel führt das CNN 440 die erste Subsampling-Funktion basierend darauf durch, dass das CNN 440 die durchschnittliche Eingabe unter den Werten bestimmt, die zu einem gegebenen Neuron geliefert werden (als eine Average-Pooling-Funktion bezeichnet). In manchen Ausführungsformen erzeugt das CNN 440 eine Ausgabe basierend darauf, dass das CNN 440 die Werte zu jedem Neuron der ersten Subsampling-Schicht 444 liefert, wobei die Ausgabe manchmal als eine faltende Subsampling-Ausgabe bezeichnet wird.
  • Bei Schritt 465 führt das CNN 440 eine zweite Faltungsfunktion durch. In manchen Ausführungsformen führt das CNN 440 die zweite Faltungsfunktion auf eine ähnliche Weise durch, wie das CNN 440 die oben beschriebene erste Faltungsfunktion durchführte. In manchen Ausführungsformen führt das CNN 440 die zweite Faltungsfunktion basierend darauf durch, dass das CNN 440 die Werte, die durch die erste Subsampling-Schicht 444 ausgegeben werden, als Eingabe in ein oder mehrere Neuronen (nicht ausdrücklich veranschaulicht), die in der zweiten Faltungsschicht 446 enthalten sind, bereitstellt. In manchen Ausführungsformen ist jedes Neuron der zweiten Faltungsschicht 446 mit einem Filter assoziiert, wie oben beschrieben. Das eine oder die mehreren mit der zweiten Faltungsschicht 446 assoziierten Filter können dazu ausgelegt sein, komplexere Muster als das Filter zu identifizieren, das mit der ersten Faltungsschicht 442 assoziiert ist, wie oben beschrieben.
  • In manchen Ausführungsformen führt das CNN 440 die zweite Faltungsfunktion basierend darauf durch, dass das CNN 440 die Werte, die jedem des einen oder der mehreren in der zweiten Faltungsschicht 446 enthaltenen Neuronen als Eingabe bereitgestellt werden, mit den Werten des Filters, das jedem des einen oder der mehreren Neuronen entspricht, multipliziert. Beispielsweise kann das CNN 440 die Werte, die jedem des einen oder der mehreren in der zweiten Faltungsschicht 446 enthaltenen Neuronen als Eingabe bereitgestellt werden, mit den Werten des Filters, das jedem des einen oder der mehreren Neuronen entspricht, multiplizieren, um einen einzelnen Wert oder ein Array von Werten als eine Ausgabe zu erzeugen.
  • In manchen Ausführungsformen liefert das CNN 440 die Ausgaben jedes Neurons der zweiten Faltungsschicht 446 zu Neuronen einer Downstream-Schicht. Beispielsweise kann das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 zu entsprechenden Neuronen einer Subsampling-Schicht liefern. In einem Beispiel liefert das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 zu entsprechenden Neuronen der zweiten Subsampling-Schicht 448. In manchen Ausführungsformen fügt das CNN 440 einen Bias-Wert zu den Aggregaten aller Werte hinzu, die zu jedem Neuron der Downstream-Schicht geliefert werden. Beispielsweise fügt das CNN 440 einen Bias-Wert zu den Aggregaten aller Werte hinzu, die zu jedem Neuron der zweiten Subsampling-Schicht 448 geliefert werden. In einem solchen Beispiel bestimmt das CNN 440 einen finalen Wert, der jedem Neuron der zweiten Subsampling-Schicht 448 bereitzustellen ist, basierend auf den Aggregaten aller Werte, die zu jedem Neuron geliefert werden, und einer Aktivierungsfunktion, die mit jedem Neuron der zweiten Subsampling-Schicht 448 assoziiert ist.
  • Bei Schritt 470 führt das CNN 440 eine zweite Subsampling-Funktion durch. Beispielsweise kann das CNN 440 eine zweite Subsampling-Funktion basierend darauf durchführen, dass das CNN 440 die Werte, die durch die zweite Faltungsschicht 446 ausgegeben werden, zu entsprechenden Neuronen der zweiten Subsampling-Schicht 448 liefert. In manchen Ausführungsformen führt das CNN 440 die zweite Subsampling-Funktion basierend darauf durch, dass das CNN 440 eine Aggregationsfunktion verwendet. In einem Beispiel führt das CNN 440 die erste Subsampling-Funktion basierend darauf durch, dass das CNN 440 die maximale Eingabe oder eine durchschnittliche Eingabe unter den Werten, die einem gegebenen Neuron bereitgestellt werden, bestimmt, wie oben beschrieben. In manchen Ausführungsformen erzeugt das CNN 440 eine Ausgabe basierend darauf, dass das CNN 440 die Werte zu jedem Neuron der zweiten Subsampling-Schicht 448 liefert.
  • Bei Schritt 475 liefert das CNN 440 die Ausgabe jedes Neurons der zweiten Subsampling-Schicht 448 zu vollständig verbundenen Schichten 449. Beispielsweise liefert das CNN 440 die Ausgabe jedes Neurons der zweiten Subsampling-Schicht 448 zu vollständig verbundenen Schichten 449, um zu bewirken, dass die vollständig verbundenen Schichten 449 eine Ausgabe erzeugen. In manchen Ausführungsformen sind die vollständig verbundenen Schichten 449 dazu ausgelegt, eine Ausgabe zu erzeugen, die mit einer Vorhersage (manchmal als eine Klassifikation bezeichnet) assoziiert ist. Die Vorhersage kann eine Indikation beinhalten, dass ein Objekt, das in dem als Eingabe in das CNN 440 bereitgestellten Bild enthalten ist, ein Objekt, einen Satz von Objekten und/oder dergleichen beinhaltet. In manchen Ausführungsformen führt das Wahrnehmungssystem 402 eine oder mehrere Operationen durch und/oder liefert die Daten, die mit der Vorhersage assoziiert sind, zu einem anderen hierin beschriebenen System.
  • Mit Bezug auf die 5 und 6 werden beispielhafte Interaktionen zum Erzeugen validierter semantischer Annotationen von Sensordaten unter Verwendung unvalidierter semantischer Annotationen beschrieben. Insbesondere stellt 5 veranschaulichende Interaktionen zum dahingehenden Trainieren eines maschinellen Lernmodells (ML-Modells) dar, validierte semantische Annotationen zu erzeugen, während 6 veranschaulichende Interaktionen zum Verwenden eines trainierten ML-Modells (wie etwa jenen, das mittels der Interaktionen von 5 erzeugt wird) darstellt, um validierte semantische Annotationen zu erzeugen. Die Verwendung eines trainierten ML-Modells kann auch allgemein als eine „Inferenz“-Operation bezeichnet werden.
  • Wie in 5 gezeigt, kann die Erzeugung eines trainierten ML-Modells (das auch als „Trainieren“ des ML-Modells bezeichnet werden kann) auf einem Trainingssystem 500 durchgeführt werden. Das Trainingssystem 500 repräsentiert veranschaulichend eine Rechenvorrichtung, wie etwa die Vorrichtung 300. In manchen Fällen kann die Vorrichtung 300 in einem Fahrzeug 102 enthalten sein. In anderen Fällen kann sich die Vorrichtung 300 extern zu einem Fahrzeug 102 befinden. Beispielsweise kann die Vorrichtung 300 in dem Netzwerk 112, dem Fern-AV-System 114, dem Flottenmanagementsystem 116 usw. enthalten sein. Ein Fachmann auf dem Gebiet wird verstehen, dass das Trainieren eines ML-Modells häufig ressourcenintensiv, aber relativ zeitunempfindlich ist, und somit kann es wünschenswert sein, das Trainieren auf einer Vorrichtung 300 mit großen Mengen an Rechenressourcen durchzuführen. In einer Ausführungsform kann die Vorrichtung 300 zum Beispiel eine virtuelle Maschine sein, die an einem Cloud-Rechenanbieter implementiert wird, der über das Netzwerk 112 zugänglich ist.
  • Wie in 5 gezeigt, erhält das Trainingssystem 500 als Eingaben Sensordaten 502a eines Bereichs und unvalidierte Annotationen 502b entsprechend diesem Bereich. Sensordaten können jegliche Daten repräsentieren, die durch reale Sensoren, wie etwa eine oder mehrere der Vorrichtungen des oben besprochenen autonomen Systems 202, gesammelt oder allgemein von diesen abgeleitet werden. In einer Ausführungsform werden die Sensordaten als ein Bild oder andere Daten, die als ein Bild projizierbar sind, erhalten, wie etwa eine n-dimensionale Matrix von Werten. Beispielsweise können die Sensordaten eine Vogelperspektiven-Karte oder ein Vogelperspektiven-Bild eines Bereichs, eine Ansicht auf Bodenebene eines Bereichs, eine Punktwolke usw. repräsentieren. Die unvalidierten Annotationen 502b repräsentieren unvalidierte semantische Annotationen des Bereichs, wie etwa Indikationen von Verkehrsspuren, Kreuzungen, Verkehrssignalen und dergleichen. In einer Ausführungsform werden die unvalidierten Annotationen 502b aus einem netzwerkzugänglichen Repositorium von Annotationen erhalten, wie etwa dem Open Street Map-Projekt. Die unvalidierten Annotationen 502b können veranschaulichend als ein Graph repräsentiert sein. Beispielsweise können Verkehrspfade (z. B. Straßen, Landstraßen usw.) als Kanten im Graphen repräsentiert sein und Kreuzungen können als Knoten, die solche Kanten verbinden, repräsentiert sein. Knoten und Kanten können mit unvalidierten Annotationen annotiert sein, wie etwa einer Anzahl von Spuren auf einer Straße oder eine Indikation, ob ein Verkehrssignal an einer gegebenen Kreuzung eine Ampel, ein Stoppschild usw. ist. Um eine Verarbeitung mittels eines maschinellen Lernmodells zu ermöglichen, können unvalidierte Annotationen, die in Form eines Graphen erhalten werden, vor der Verarbeitung in Bilddaten transformiert werden, wie etwa durch Umwandeln des Graphen in Rasterdaten, die einem Bild entsprechen. Beispielsweise können Kanten in ein erstes Bild geformt werden, das Verkehrspfade repräsentiert, und Knoten können in ein zweites Bild geformt werden, das Kreuzungen repräsentiert. In anderen Ausführungsformen können die unvalidierten Annotationen 502b als annotierte Bilddaten erhalten werden, und somit ist eine Transformation in Bilddaten möglicherweise unnötig.
  • Um die Sensordaten 502a und die unvalidierten Annotationen 502b zu verarbeiten, ist das Trainingssystem 500 dazu ausgelegt, die Sensordaten 502a und die unvalidierten Annotationen 502b in ein verknüpftes Bild 504 zu verknüpfen. Veranschaulichend können die Sensordaten 502a als ein Satz von abgestimmten 2-dimensionalen Matrizen repräsentiert werden, wobei jede derartige Matrix eine Schicht eines Bildes repräsentiert. Beispielsweise kann ein Farbbild in 3 Kanälen repräsentiert werden, die jeweils Werten einer jeweiligen Grundfarbe entsprechen, die, wenn kombiniert, zu einem Bild führen. Ein Graustufenbild kann als eine einzelne Matrix repräsentiert sein, wobei Werte in der Matrix die Dunkelheit eines Pixels im Bild repräsentieren. Um Annotationen für das Bild bereitzustellen, kann das verknüpfte Bild 504 eine oder mehrere zusätzliche Schichten zu den Sensordaten 502a hinzufügen, wobei jede derartige Schicht alle oder einen Teil der unvalidierten Annotationen repräsentiert. Beispielsweise kann eine Schicht zu den Sensordaten 502a hinzugefügt werden, die angibt, ob jeder Ort in der Matrix (z. B. jedes „Pixel“) einer Kreuzung entspricht (z. B. über eine Verknüpfung eines Bildes, das Knoten in einem Graphen von Straßen zeigt), eine zweite Schicht kann hinzugefügt werden, die angibt, ob jeder Ort einem Verkehrspfad entspricht (z. B. über eine Verknüpfung eines Bildes, das Kanten im Graphen zeigt), eine dritte Schicht kann hinzugefügt werden, die angibt, ob jeder Ort einem Fußgängerüberweg entspricht, usw.
  • In manchen Fällen kann das System 500 eine Abstimmung, eine Vorverarbeitung oder eine Vorvalidierung vor einer solchen Verknüpfung durchführen. Um beispielsweise sicherzustellen, dass eine korrekte Abstimmung zwischen den Sensordaten 502a und den unvalidierten Annotationen 502b stattfindet, kann das System 500 Ortsinformationen der Sensordaten 502a und der Annotationen 502b vergleichen, um zu validieren, dass beide demselben Bereich entsprechen. Veranschaulichend können GPS-Daten mit den Sensordaten 502a bzw. den Annotationen 502b assoziiert sein, um Grenzen eines geografischen Bereichs anzugeben, die in den Daten 502a und den Annotationen 502b repräsentiert sind (z. B. als ein Satz von Koordinaten, Maßstabsinformationen usw.). Das System 500 kann somit solche GPS-Daten vergleichen, um sicherzustellen, dass beide Eingaben vor der Verknüpfung abgestimmt sind. In manchen Fällen kann das System 500 eine oder beide Eingaben kürzen, um eine korrekte Abstimmung sicherzustellen. In manchen Ausführungsformen kann das System 500 ferner validieren, dass die Eingaben abgestimmt sind, wie etwa durch Sicherstellen einer minimalen Überlappung in den Daten, die gewöhnlich in beiden Eingaben repräsentiert sind. Beispielsweise kann das System 500 dazu ausgelegt sein, Verkehrspfade in den Sensordaten 502a durch Anwenden einer Kantendetektion an den Sensordaten 502a zu identifizieren, und kann dazu ausgelegt sein, eine Abstimmung dieser Daten 502a mit den Annotationen 502b auf Basis eines Vergleichs von Verkehrspfaden in den Sensordaten 502a mit in den Annotationen 502b identifizierten Verkehrspfaden zu validieren. Das System 500 kann veranschaulichend eine Abstimmung bestätigen, wenn ein Schwellenanteil von Verkehrspfaden in einer Eingabe auch in der anderen Eingabe repräsentiert sind. Weiterhin führt das System 500 in manchen Ausführungsformen eine Vorverarbeitung an einer oder beiden Eingaben durch. Beispielsweise kann das System 500 geometrische Manipulationen, wie etwa Weichzeichnungs- und Abstandskartenoperationen, an Bildern anwenden, die die unvalidierten Annotationen repräsentieren, um sicherzustellen, dass Merkmale wie etwa Verkehrspfade in den Annotationen 502b ausreichend repräsentiert sind.
  • Obwohl obige Beispiele gegeben sind, in denen die unvalidierten Annotationen 502b als eine neue Schicht mit den Sensordaten 502a verknüpft werden, können die unvalidierten Annotationen 502b und die Sensordaten 502a in manchen Ausführungsformen unterschiedliche Dimensionen aufweisen, die unvalidierten Annotationen können andere Dimensionen als die Sensordaten 502a aufweisen oder die unvalidierten Annotationen können dimensionslos sein. Beispielsweise können die Sensordaten 502a ein Bild auf Bodenebene auf einem gegebenen Verkehrspfad repräsentieren und die unvalidierten Annotationen 502b können eine Anzahl von Spuren in diesem Pfad, einen Verkehrstyp für jede Spur oder den Pfad allgemein usw. angeben (z. B. ohne spezifisch zu identifizieren, welcher Teil der Sensordaten 502a welcher Spur oder welchem Spurtyp entspricht). In solchen Fällen ist es möglicherweise nicht notwendig, die unvalidierten Annotationen 502b als eine zusätzliche Schicht zu repräsentieren, und diese Annotationen können zum Beispiel als Metadaten für die Sensordaten 502a weitergeleitet werden. In anderen solchen Fällen kann das System 500 die Sensordaten 502a und/oder die unvalidierten Annotationen 502b so transformieren, dass sie eine gemeinsame Dimensionalität und Perspektive teilen. Wenn die Sensordaten 502a beispielsweise eine dreidimensionale LiDAR-Punktwolke sind, kann das System 500 einen Durchlauf durch die 2-dimensionalen „Slices“ des neuronalen Netzwerks oder Teile der Punktwolke durchführen. Ein Mechanismus zum Transformieren von Punktwolken in solche 2-dimensionale Teile ist der PointPillars-Ansatz (point pillars - Punktesäulen). Als ein anderes Beispiel, wenn die Sensordaten 502a ein Kamerabild aus einer gegebenen Perspektive (z. B. Bodenebene) sind und die Annotationen 502b Daten einer anderen Perspektive (z. B. Vogelperspektive) bereitstellen, kann das System 500 die Annotationen 502b auf die Sensordaten 502a projizieren, um diese Eingaben zu harmonisieren. Basierend auf einem bekannten Standort und einer bekannten Richtung der Kamera kann das System 500 beispielsweise einen Verkehrspfad, der durch die unvalidierten Annotationen 502b angegeben wird, auf das Bild der Kamera projizieren. Der projizierte Pfad kann dann mit dem Bild verknüpft werden, wie etwa, indem er als eine zusätzliche Schicht für das Bild agiert. Dieses verknüpfte Bild kann dann verwendet werden, um eine Identifikation von Verkehrspfaden im Bild zu ermöglichen.
  • Das verknüpfte Bild 504 kann dann in ein neuronales Netzwerk 506 für semantische Annotationen als z. B. Trainings-, Test- und/oder Validierungsdatensätze eingespeist werden. Das neuronale Netzwerk 506 kann veranschaulichend ein faltendes neuronales Netzwerk sein, wie etwa das oben unter Bezugnahme auf die 4C und 4D beschriebene Netzwerk 440. In einer Ausführungsform ist das neuronale Netzwerk 506 ein „U-Net“-artiges neuronales Netzwerk, dessen Faltungsschichten sowohl einen verengenden Pfad (contracting path) (der an Informationen Downsampling anwendet, wie etwa mittels Pooling-Operationen) als auch einen ausdehnenden Pfad (expansive path), über den an der Ausgabe des verengenden Pfades Upsampling angewendet wird, potenziell zu der gleichen Dimensionalität wie Eingaben in das Netzwerk bilden. Obwohl in 5 neuronale Netzwerke gezeigt sind, können auch andere Arten von maschinellen Lernnetzwerken verwendet werden. Obwohl in 5 ein einzelnes verknüpftes Bild 504 gezeigt ist, kann dem Netzwerk 506 eine große Anzahl solcher Bilder 504 bereitgestellt werden. Beispielsweise kann dem System 500 Sensordaten 502a für eine Anzahl von Standorten in einem weiten geografischen Bereich (der z. B. Dutzende, Hunderte oder Tausende von Meilen überspannt) und entsprechende Annotationen 502b für solche Standorte bereitgestellt werden. Veranschaulichend kann ein Bereich in eine Anzahl von Gebieten mit ähnlicher Größe unterteilt (z. B. tokenisiert) sein, wobei die Sensordaten 502a und die unvalidierten Annotationen 502b für jedes Gebiet das Netzwerk 506 zum Training durchlaufen.
  • Um das Training des Netzwerks 506 zu ermöglichen, stellt das System 500 auch validierte Annotationen 508 bereit. Die validierten Annotationen 508 repräsentieren veranschaulichend bekannte zulässige Annotationen für Sensordaten. Beispielsweise können die validierten Annotationen 508 Sensordaten repräsentieren, die manuell annotiert wurden, um semantisches Verständnis bereitzustellen, und durch eine hinreichend rigorose Validierung validiert wurden, sodass die validierten Annotationen 508 als „Ground Truth“ verwendet werden können. Wie in 5 gezeigt, können die validierten Annotationen ein „Abbild“ der Sensordaten 502a repräsentieren, um ein semantisches Verständnis des Inhalts dieser Daten 502a anzugeben. Beispielsweise können spezifische Bereiche einer Vogelperspektive als Fußgängerüberwege, Kreuzungen, Verkehrspfade usw. designiert sein.
  • In 5 repräsentiert jede validierte Annotation 508 einen geografischen Bereich, der mit dem verknüpften Bild 504 abgestimmt ist. Somit können die validierten Annotationen 508 als ein gelabelter Datensatz verwendet werden, der zum Trainieren des neuronalen Netzwerks 506 für semantische Annotationen verwendbar ist. Das System 500 kann somit das Netzwerk 506 an den Sensordaten 502a, den unvalidierten Annotationen 502b und den validierten Annotationen 508 trainieren, was zu einem trainierten ML-Modell 510 führt. Das Trainieren eines ML-Modells kann in Kürze beinhalten: Durchlaufen der Sensordaten 502a und der unvalidierten Annotationen 502b durch das Netzwerk 506a und Bestimmen von Gewichten, die auf diese Eingaben angewendet werden, sodass eine Ausgabe des Netzwerks hinreichend einem erwarteten Ergebnis (z. B. den validierten Annotationen 508) entspricht. Wie ein Fachmann auf dem Gebiet verstehen wird, besteht ein Ergebnis des Erzeugens des trainierten ML-Modells 510 darin, dass nicht gelabelte Daten das Modell dann durchlaufen können, um ein oder mehrere Labels für diese nicht gelabelten Daten vorherzusagen. Genauer gesagt können diese Labels gemäß Ausführungsformen der vorliegenden Offenbarung vorhergesagte physische Merkmale in den Daten repräsentieren. Durch das Anwenden des trainierten ML-Modells 510 auf die zusätzlichen Sensordaten 502a und die unvalidierten Annotationen 502b können somit vorhergesagte semantische Annotationen für diese Sensordaten 502a erhalten werden.
  • Unter Bezugnahme auf 6 werden veranschaulichende Interaktionen zum Verwenden eines trainierten ML-Modells (wie etwa jenes, das mittels der Interaktionen von 5 erzeugt wird) beschrieben, um vorhergesagte semantische Annotationen für einen geografischen Bereich zu erzeugen. Die Interaktionen von 6 können in manchen Fällen als Maschinenlern-„Inferenz“ bezeichnet werden. Die Interaktionen werden veranschaulichend durch ein Wahrnehmungssystem 402 implementiert, das, wie oben angemerkt, in einem Fahrzeug 102 enthalten sein kann. Somit können die Interaktionen von 6 zum Beispiel verwendet werden, um einem Fahrzeug ein semantisches Verständnis der umgebenden Welt bereitzustellen, was einem System (z. B. autonomen Fahrzeugcomputer 202f) ermöglicht, derartige Funktionen wie das Planen von Routen 106b, Bestimmen eines Standorts des Fahrzeugs 102 in einem Bereich usw. durchzuführen.
  • Die Interaktionen von 6 ähneln denen von 5 in dem Sinne, dass sie sich auf das Durchlaufen von Sensordaten 502a und unvalidierten Annotationen 502b durch ein neuronales Netzwerk beziehen. Beispielsweise, da das neuronale Netzwerk 602 dahingehend trainiert wurde, an verknüpften Bildern 504 zu arbeiten, wie oben besprochen, kann das Wahrnehmungssystem 402 dazu ausgelegt sein, verknüpfte Bilder 504 auf im Wesentlichen gleiche Weise, wie oben mit Bezug auf 5 besprochen, zu erzeugen. Im Gegensatz zu 5 beziehen sich die Interaktionen von 6 jedoch auf ein trainiertes neuronales Netzwerk 506, und erfordern somit keine validierten Annotationen 508 als Eingaben. Stattdessen führt die Anwendung des trainierten neuronalen Netzwerks 506 auf die Sensordaten 502a und die unvalidierten Annotationen 502b zu der Erzeugung vorhergesagter Annotationen 604. Beispielsweise unter Anbetracht von Sensordaten, die eine Vogelperspektive eines Bereichs repräsentieren, und Annotationen, die zum Beispiel angeben, wo sich Straßen, Kreuzungen, Verkehrssignals usw. in dem Bereich befinden, kann das Wahrnehmungssystem 402 die vorhergesagten Annotationen 604 erzeugen, die z. B. angeben, welcher Teil der Sensordaten 502a solche Straßen, Kreuzungen, Verkehrssignale usw. repräsentieren.
  • In manchen Fällen können die vorhergesagten Annotationen im Wesentlichen den unvalidierten Annotationen 502b ähneln. Wie oben besprochen, können die unvalidierten Annotationen 502b jedoch als unzuverlässig und somit für die direkte Verwendung durch das Wahrnehmungssystem 402 als ungeeignet angesehen werden. Da maschinelle Lernmodelle gegenüber „rauschbehafteten“ Daten äußerst beständig sind, kann das Durchlaufen der unvalidierten Annotationen 502b durch das trainierte ML-Modell (das heißt, das trainierte neuronale Netzwerk 602 für semantische Annotationen) zu vorhergesagten Annotationen mit viel höherer Zuverlässigkeit als die unvalidierten Annotationen 502b führen. Beispielsweise kann das trainierte ML-Modell dem System 402 ermöglichen, ungültige Annotationen in den unvalidierten Annotationen 502b zu verwerfen. Darüber hinaus kann das ML-Modell eine genauere Abstimmung der unvalidierten Annotationen 502b mit den Sensordaten 502a ermöglichen. Wenn beispielsweise Annotationen bezüglich der Sensordaten 502a quasi dimensionslos sind (z. B. als eine Indikation einer Anzahl von Spuren in einem Verkehrspfad, ohne Identifikation, wo sich solche Spuren befinden), kann die Verwendung eines trainierten ML-Modells ermöglichen, dass diese Annotationen so auf die Sensordaten 502a angewendet werden, dass sie in Annotationen mit entsprechenden Dimensionen zu den Sensordaten (z. B. spezifische Teile eines Bildes, die jede Spur eines Verkehrspfades repräsentieren) transformiert werden.
  • Obwohl 6 ein spezifisches Beispiel der Annotationen 604 zeigt - das „Abbild“ eines Bildes, um Merkmale anzugeben - sind andere Annotationsarten möglich. Beispielsweise können die Annotationen 604 als Begrenzungsrahmen, Färbung oder einfach Rohdaten, die die vorhergesagten physischen Merkmale der Sensordaten 502a identifizieren, repräsentiert sein.
  • Dementsprechend können die vorhergesagten Annotationen 604 dem Wahrnehmungssystem 402 erhebliche zusätzliche Informationen bereitstellen. In manchen Fällen können die vorhergesagten Annotationen 604 hinreichend zuverlässig sein, um als Ground-Truth-Daten für das System 402 verwendet zu werden. Da die unvalidierten Annotationen 502b im Wesentlichen mehr verfügbar sein können als die validierten Annotationen 508 (die, wie oben angemerkt, arbeitsintensiv zu erzeugen sein können), kann die Verwendung eines trainierten ML-Modells, wie in 6 angemerkt, im Wesentlichen die Fähigkeit eines Wahrnehmungssystems 402 erhöhen, semantisches Verständnis von realen Daten aufzuweisen. Im Gegenzug kann ein verbessertes Wahrnehmungssystem 402 zum Beispiel zu einem verbesserten Betrieb eines Fahrzeugs 102 zum Durchführen von Selbstfahroperationen führen.
  • Mit Bezug auf 7 wird eine veranschaulichende Routine 700 zum Erzeugen eines trainierten ML-Modells beschrieben, um vorhergesagte semantische Annotationen basierend auf Eingaben, die Sensordaten und unvalidierte semantische Annotationen beinhalten, bereitzustellen. Die Routine 700 kann zum Beispiel durch das Trainingssystem 500 von 5 implementiert werden.
  • Die Routine 700 beginnt bei Block 702, bei dem das System 500 ein Bild eines geografischen Gebiets erhält, das aus Sensordaten erzeugt wird. Wie oben besprochen, können die Sensordaten eine Vielfalt von Datentypen repräsentieren, wie etwa LiDAR-Daten, Kameradaten, Radar-Daten usw. Diese Daten können dann in ein n-dimensionales Bild transformiert werden, wie etwa eine 3-d-Punktwolke, ein 2-d-Bild auf Bodenebene, eine 2-d-Vogelperspektiven-Karte usw. Das Bild ist veranschaulichend mit Metadaten assoziiert, die Informationen angeben, die zum Paaren des Bildes mit unvalidierten Annotationen verwendet werden. Beispielsweise können Metadaten eine Art des Bildes (z. B. Punktwolke, Bild auf Bodenebene, Vogelperspektiven-Karte), einen Ort des Bildes (z. B. als GPS-Koordinaten oder andere Standortdaten), ein Maßstab des Bildes, eine Perspektive des Bildes usw. beinhalten. Die Bilder können veranschaulichend für den Zweck des Erzeugens eines ML-Modells erhalten werden. Beispielsweise kann ein Fahrzeug 102 verwendet werden, um die Sensordaten 502a, die die Bilder repräsentieren, von einer Vielfalt bekannter Orte für den Zweck des Trainierens des Modells zu sammeln.
  • Bei Block 704 werden die Bilder mit unvalidierten Annotationen für den geografischen Bereich kombiniert. Veranschaulichend kann das System 500 für jedes Bild unvalidierte Annotationen erhalten und eine Repräsentation der unvalidierten Annotationen mit dem Bild verknüpfen. Wie oben angemerkt, können die unvalidierten Annotationen ein Teil eines Datensatzes sein, wie etwa eines öffentlich verfügbaren Datensatzes. In manchen Fällen kann das System 500 mit dem Datensatz vorausgefüllt sein. In anderen Fällen kann der Datensatz netzwerkzugänglich sein, und somit kann das System 500 zweckmäßige Annotationen für jedes Bild (z. B. für einen gegebenen Bereich, der im Bild repräsentiert ist) erhalten. Wie oben angemerkt, kann das System 500 die unvalidierten Annotationen wie geeignet für die Bilder transformieren. Veranschaulichend, wenn die Bilder Vogelperspektiven repräsentieren, kann das System 500 einen Graphen nutzen, der mit dem Datensatz bereitgestellt ist (z. B. von Straßen), um Bildschichten zu erzeugen, die zum Beispiel Verkehrspfade, Kreuzungen, Fußgängerüberwege, Beschilderung, Signale usw. repräsentieren. Diese Schichten können dann mit einem entsprechenden Bild verknüpft werden, das aus Sensordaten erzeugt wird. Wie oben besprochen, können die Bildschichten in manchen Fällen vorverarbeitet werden, wie etwa durch Anwenden von Weichzeichnen, Abstandskarten oder anderen Bildtransformationen, um sicherzustellen, dass den Daten in den Schichten hinreichend Gewicht verliehen wird. Als eine andere Veranschaulichung, wenn die aus Sensordaten abgeleiteten Daten eine andere Perspektiven-Dimensionalität aufweisen als die unvalidierten Annotationen, kann das System 500 die Annotationen auf die Bilder transformieren oder projizieren. Beispielsweise kann das System Vogelperspektivendaten von unvalidierten Annotationen (z. B. das Vorhandensein eines gegebenen physischen Merkmals an einem gegebenen Ort) auf die von Sensordaten abgeleiteten Bilder projizieren und diese Projektion mit dem Bild als eine zusätzliche Schicht des Bildes verknüpfen.
  • Bei Block 706 erhält das System 500 validierte Annotationen für die Bilder. Beispielsweise kann das System 500 die Bilder zu menschlichen Bedienern weiterleiten, die die Bilder mit in den Bildern gezeigten physischen Merkmalen „markieren“, wodurch ein semantisches Verständnis der Bilder bereitgestellt wird. Veranschaulichend können die Bediener Teile jedes Bildes als ein oder mehrere physische Merkmale aufweisend, die in den unvalidierten Annotationen angegeben sind, designieren, wie etwa Verkehrspfade (einschließlich einer Art eines Pfades, z. B. Auto, Fahrrad, Fußgänger usw.), Kreuzungen, Fußgängerüberwege, Verkehrssignale, Verkehrsschilder und dergleichen. Diese validierten Annotationen agieren veranschaulichend als Labels für die Bilder, sodass ein maschinelles Lernmodell dahingehend trainiert werden kann, Labels zu anschließenden Bildern auf Basis unvalidierter Annotationen hinzuzufügen.
  • Dementsprechend trainiert das System 500 bei Block 708 ein maschinelles Lernmodell mit neuronalem Netzwerk mit den kombinierten Bildern und unvalidierten Annotationen als Eingaben unter Verwendung der validierten Annotationen als Ground Truth. Wie oben angemerkt, kann das Trainieren Durchlaufen der kombinierten Bilder und unvalidierten Annotationen durch eine Vielfalt von Transformationen (z. B. Faltungen) beinhalten, die dahingehend agieren, spezifische Merkmale der Bilder zu isolieren. Während des Trainings können diese Merkmale mit den validierten Annotationen verglichen werden, um zu identifizieren, ob sie korrekt identifiziert wurden. Durch den allgemeinen Betrieb des Trainings können die Transformationen modifiziert werden, wie etwa durch Modifizieren der Gewichte, die bei jeder Transformation angewendet werden, sodass die durch das Netzwerk ausgegebenen Merkmale die Merkmale approximieren, die in den validierten Annotationen identifiziert werden. Auf diese Weise wird das Netzwerk dahingehend trainiert, vorhergesagte Merkmale auf Basis unvalidierter Annotationen zu erzeugen. Dieses trainierte Modell wird dann bei Block 710 ausgegeben.
  • Wie oben angemerkt, kann das trainierte Modell danach verwendet werden, um vorhergesagte Annotationen auf Basis neuer sensordatenbasierender Bilder und unvalidierter Annotationen bereitzustellen. Eine veranschaulichende Routine 800 zum Bereitstellen solcher vorhergesagter Annotationen ist in 8 gezeigt. Die Routine 800 von 8 kann zum Beispiel durch das Wahrnehmungssystem 402 von 4 implementiert werden, das, wie oben angemerkt, in einem Fahrzeug 102 enthalten sein kann. Die Routine 800 führt veranschaulichend Operationen gegen das trainierte Modell durch.
  • Die Routine 800 beginnt bei Block 802, bei dem das Wahrnehmungssystem 402 ein trainiertes ML-Modell erhält. Das Modell kann zum Beispiel mittels der Routine 700 von 7 erzeugt werden. Wie dort besprochen, kann das Modell dahingehend trainiert werden, als Eingabe ein Bild und assoziierte unvalidierte Annotationen anzunehmen und als Ausgabe vorhergesagte Annotationen für das Bild bereitstellen, die ein semantisches Verständnis physischer Merkmale, die im Bild gezeigt sind, repräsentieren.
  • Bei Block 804 erhält das Wahrnehmungssystem 402 Sensordaten, die ein Bild eines geografischen Gebiets repräsentieren. Beispielsweise kann das Bild eine Vogelperspektive eines Bereichs im Umfeld eines Fahrzeugs 102, eine Ansicht auf Bodenebene von einer Kamera am Fahrzeug 102, eine Punktwolke, die basierend auf LiDAR-Sensoren am Fahrzeug 102 erzeugt wird, usw. sein. In einer Ausführungsform wird das ML-Modell an einer gegebenen Klasse von Daten (z. B. einer Punktwolke, einem Bild auf Bodenebene, einer Vogelperspektive usw.) und den bei Block 804 erhaltenen Sensordaten entsprechend dieser Klasse von Daten trainiert.
  • Bei Block 806 kombiniert das Wahrnehmungssystem 402 das Bild mit unvalidierten Annotationen für den geografischen Bereich. Veranschaulichend kann das System 402 mit einem Datensatz von unvalidierten Annotationen vorgeladen sein oder Netzwerkzugang zu diesem aufweisen, wobei die Annotationen für eine Vielfalt von Orten bereitgestellt sind. Das System 402 kann einen aktuellen Standort des Systems 402 (z. B. unter Verwendung des Lokalisierungssystems 406) bestimmen und unvalidierte Annotationen für diesen Standort erhalten. Das System 402 kann dann das Bild mit den unvalidierten Annotationen auf eine ähnliche Weise wie im oben beschriebenen Block 704 von 7 verknüpfen. Wie oben angemerkt, kann das System 402 eine Vorverarbeitung oder Vorvalidierung für die unvalidierten Annotationen durchführen, wie etwa durch Transformieren oder Projizieren der Annotationen in Dimensionen und einer Perspektive des Bildes.
  • Bei Block 808 wendet das Wahrnehmungssystem 402 das trainierte ML-Modell an dem kombinierten Bild und den unvalidierten Annotationen an. Wie oben angemerkt, kann das trainierte ML-Modell allgemein einen Satz von Transformationen (z. B. Faltungen) repräsentieren, die als Eingabe eine Kombination eines aus Sensordaten abgeleiteten Bildes und unvalidierten Annotationen annimmt und als Ausgabe vorhergesagte Annotationen für die Eingabe weiterleitet. Die spezifischen Transformationen wurden während des Trainings bestimmt, um zu Ausgaben zu führen, die „Ground Truth“ approximieren (z. B. validierte Eingaben, gegen die das Modell trainiert wurde). Somit gibt das trainierte ML-Modell bei Block 810 vorhergesagte physische Merkmale des geografischen Bereichs aus, was ein semantisches Verständnis des aus Sensordaten abgeleiteten Bildes bereitstellt. Aufgrund der Widerstandsfähigkeit des ML-Modells gegenüber „Rauschen“ in Daten wird erwartet, dass diese vorhergesagten Merkmale eine höhere Genauigkeit aufweisen als die unvalidierten Annotationen alleine. Dementsprechend kann die Implementierung der Routine 800 von 8 genaue Vorhersagen physischer Merkmale selbst basierend auf potenziell ungenauen Annotationen ermöglichen. Darüber hinaus ist die Routine 800 nicht darauf beschränkt, in geografischen Bereichen implementiert zu werden, in denen validierte Ground Truth vorhanden ist, sondern kann in einer breiteren Vielfalt von Orten existieren, die mit unvalidierten Annotationen assoziiert sind. Dementsprechend kann die Routine 800 eine genaue Wahrnehmung von Sensordaten in einem größeren Bereich, als ansonsten möglich wäre, ermöglichen. Dies führt im Gegenzug zu Fortschritten in einer breiten Vielfalt von Funktionen, wie etwa Routenplanung für autonome Fahrzeuge.
  • Alle hierin beschriebenen Verfahren und Aufgaben können durch ein Computersystem durchgeführt und vollständig automatisiert werden. Das Computersystem kann in manchen Fällen mehrere unterscheidbare Computer oder Rechenvorrichtungen (z. B. physische Server, Workstations, Speicherungsarrays, Cloud-Rechenressourcen usw.) beinhalten, die über ein Netzwerk kommunizieren und miteinander arbeiten, um die beschriebenen Funktionen durchzuführen. Jede derartige Rechenvorrichtung beinhaltet typischerweise einen Prozessor (oder mehrere Prozessoren), der Programmanweisungen oder -module ausführt, die in einem Speicher oder einem anderen nichtflüchtigen computerlesbaren Speicherungsmedium oder einer anderen nichtflüchtigen computerlesbaren Speicherungsvorrichtung gespeichert sind (z. B. Solid-State-Speicherungsvorrichtungen, Plattenlaufwerke usw.). Die verschiedenen hierin offenbarten Funktionen können in solchen Programmanweisungen umgesetzt sein oder können in einer anwendungsspezifischen Schaltungsanordnung (z. B. ASICs oder FPGAs) des Computersystems implementiert sein. Wenn das Computersystem mehrere Rechenvorrichtungen beinhaltet, können diese Vorrichtungen kolokalisiert sein, müssen aber nicht. Die Ergebnisse der offenbarten Verfahren und Aufgaben können persistent gespeichert werden, indem physische Speicherungsvorrichtungen, wie etwa Solid-State-Speicherchips oder Magnetplatten, in einen anderen Zustand transformiert werden. In manchen Ausführungsformen kann das Computersystem ein Cloud-basiertes Rechensystem sein, dessen Verarbeitungsressourcen durch mehrere unterscheidbare Unternehmensentitäten oder andere Benutzer gemeinsam genutzt werden.
  • Die hierin beschriebenen oder in den Figuren der vorliegenden Offenbarung veranschaulichten Prozesse können als Reaktion auf ein Ereignis beginnen, wie etwa auf einen vorbestimmten oder dynamisch bestimmten Zeitplan, nach Bedarf, wenn durch einen Benutzer oder Systemadministrator initialisiert, oder als Reaktion auf ein anderes Ereignis. Wenn solche Prozesse initialisiert werden, kann ein Satz von ausführbaren Programmanweisungen, die auf einem oder mehreren nichtflüchtigen computerlesbaren Medien (z. B. Festplatte, Flash-Speicher, Wechseldatenträger usw.) gespeichert sind, in einen Speicher (z. B. RAM) eines Servers oder einer anderen Rechenvorrichtung geladen werden. Die ausführbaren Anweisungen können dann durch einen hardwarebasierten Computerprozessor der Rechenvorrichtung ausgeführt werden. In manchen Ausführungsformen können solche Prozesse oder Teile davon auf mehreren Rechenvorrichtungen und/oder mehreren Prozessoren seriell oder parallel implementiert werden.
  • In Abhängigkeit von der Ausführungsform können bestimmte Handlungen, Ereignisse oder Funktionen beliebiger der hierin beschriebenen Prozesse oder Algorithmen in einer anderen Abfolge durchgeführt werden, können hinzugefügt, zusammengelegt oder ganz weggelassen werden (z. B. sind nicht alle beschriebenen Operationen oder Ereignisse für die Umsetzung des Algorithmus notwendig). Darüber hinaus können in bestimmten Ausführungsformen Operationen oder Ereignisse gleichzeitig, z. B. durch Multi-Thread-Verarbeitung, Interrupt-Verarbeitung oder mehrere Prozessoren oder Prozessorkerne oder auf anderen Parallelarchitekturen, anstatt sequenziell durchgeführt werden.
  • Die verschiedenen veranschaulichenden Logikblöcke, Module, Routinen und Algorithmusschritte, die in Verbindung mit den hierin offenbarten Ausführungsformen beschrieben sind, können als elektronische Hardware (z. B. ASICs oder FPGA-Vorrichtungen), Computersoftware, die auf Computerhardware ausgeführt wird, oder Kombinationen von beiden implementiert werden. Darüber hinaus können die verschiedenen veranschaulichenden Logikblöcke und Module, die in Verbindung mit den hierin offenbarten Ausführungsformen beschrieben sind, durch eine Maschine implementiert oder durchgeführt werden, wie etwa eine Prozessorvorrichtung, einen Digitalsignalprozessor („DSP“), eine anwendungsspezifische integrierte Schaltung („ASIC“), ein feldprogrammierbares Gate-Array („FPGA“) oder eine andere programmierbare Logikvorrichtung, diskrete Gatter- oder Transistorlogik, diskrete Hardwarekomponenten oder eine beliebige Kombination davon, die zum Durchführen der hierin beschriebenen Funktionen ausgebildet ist. Eine Prozessorvorrichtung kann ein Mikroprozessor sein, aber alternativ kann die Prozessorvorrichtung eine Steuerung, ein Mikrocontroller oder eine Zustandsmaschine, Kombinationen derselben oder dergleichen sein. Eine Prozessorvorrichtung kann eine elektrische Schaltungsanordnung beinhalten, die dazu ausgelegt ist, computerausführbare Anweisungen zu verarbeiten. In einer anderen Ausführungsform beinhaltet eine Prozessorvorrichtung ein FPGA oder eine andere programmierbare Vorrichtung, die Logikoperationen ohne Verarbeitung von computerausführbaren Anweisungen durchführt. Eine Prozessorvorrichtung kann auch als eine Kombination von Rechenvorrichtungen implementiert werden, z. B. eine Kombination eines DSP und eines Mikroprozessors, mehrere Mikroprozessoren, einen oder mehrere Mikroprozessoren in Verbindung mit einem DSP-Kern oder eine beliebige andere derartige Konfiguration. Obwohl hierin hauptsächlich in Bezug auf Digitaltechnologie beschrieben, kann eine Prozessorvorrichtung auch hauptsächlich analoge Komponenten beinhalten. Beispielsweise können manche oder alle der hierin beschriebenen Rendering-Techniken in einer analogen Schaltungsanordnung oder gemischten analogen und digitalen Schaltungsanordnung implementiert werden. Eine Rechenumgebung kann eine beliebige Art von Computersystem beinhalten, einschließlich unter anderem eines Computersystems basierend auf einem Mikroprozessor, eines Mainframe-Computers, eines Digitalsignalprozessors, einer portablen Rechenvorrichtung, einer Vorrichtungssteuerung oder einer Rechen-Engine in einem Gerät, um nur einige zu nennen.
  • Die Elemente eines Verfahrens, eines Prozesses, einer Routine oder eines Algorithmus, das/der/die in Verbindung mit den hierin offenbarten Ausführungsformen beschrieben ist, kann direkt in Hardware, in einem durch eine Prozessorvorrichtung ausgeführten Softwaremodul oder in einer Kombination der beiden umgesetzt werden. Ein Softwaremodul kann sich in RAM-Speicher, Flash-Speicher, ROM-Speicher, EPROM-Speicher, EEPROM-Speicher, Registern, einer Festplatte, einer entfernbaren Platte, einer CD-ROM oder einer beliebigen anderen Form eines nichtflüchtigen computerlesbaren Speicherungsmedium befinden. Ein beispielhaftes Speicherungsmedium kann mit der Prozessorvorrichtung gekoppelt sein, sodass die Prozessorvorrichtung Informationen aus dem Speicherungsmedium lesen und Informationen in dieses schreiben kann. Alternativ kann das Speicherungsmedium integral zu der Prozessorvorrichtung sein. Die Prozessorvorrichtung und das Speicherungsmedium können sich in einer ASIC befinden. Die ASIC kann sich in einem Benutzerendgerät befinden. Alternativ können sich die Prozessorvorrichtung und das Speicherungsmedium als diskrete Komponenten in einem Benutzerendgerät befinden.
  • In der vorstehenden Beschreibung wurden Aspekte und Ausführungsformen der vorliegenden Offenbarung mit Bezugnahme auf zahlreiche spezifische Einzelheiten beschrieben, die von Implementierung zu Implementierung variieren können. Dementsprechend sind die Beschreibung und die Zeichnungen als veranschaulichend anstatt beschränkend aufzufassen. Der alleinige und exklusive Indikator des Schutzumfangs der Erfindung, und was durch die Anmelder als der Schutzumfang der Erfindung beabsichtigt wird, ist der wörtliche und äquivalente Schutzumfang des Satzes von Ansprüchen, der sich aus dieser Anmeldung ergibt, in der spezifischen Form, in der solche Ansprüche sich ergeben, einschließlich jeglicher anschließender Korrektur. Jegliche Definitionen, die hierin für in solchen Ansprüchen enthaltenen Begriffe dargelegt sind, sollen die Bedeutung solcher Begriffe, wie in den Ansprüchen verwendet, bestimmen. Zusätzlich, wenn der Begriff „ferner umfassend“ in der vorstehenden Beschreibung oder den folgenden Ansprüchen verwendet wird, kann, was diesem Ausdruck folgt, ein zusätzlicher Schritt oder eine zusätzliche Entität oder ein Teilschritt/eine Teilentität eines zuvor vorgetragenen Schritts oder einer zuvor vorgetragenen Entität sein.

Claims (20)

  1. Verfahren, umfassend: Erhalten, mit mindestens einem Prozessor, von Sensordaten, die ein Bild eines geografischen Bereichs repräsentieren; Erhalten, mit dem mindestens einen Prozessor, von Daten, die unvalidierte Annotationen für den geografischen Bereich repräsentieren, die ein semantisches Verständnis von physischen Merkmalen im geografischen Bereich liefern, das unvalidiert ist; Erhalten, mit dem mindestens einen Prozessor, von Daten, die validierte Annotationen für den geografischen Bereich repräsentieren, die ein semantisches Verständnis der physischen Merkmale im geografischen Bereich liefern, das validiert ist; und Trainieren, mit dem mindestens einen Prozessor, eines neuronalen Netzwerks unter Verwendung der Sensordaten und der unvalidierten Annotationen für den geografischen Bereich als eine Eingabe und der validierten Annotationen für den geografischen Bereich als eine Ground Truth, wobei das Trainieren des neuronalen Netzwerks zu einem trainierten maschinellen Lernmodell (ML-Modell) führt.
  2. Verfahren nach Anspruch 1, ferner umfassend: Erhalten von zweiten Sensordaten, die ein Bild eines zweiten geografischen Bereichs repräsentieren; Erhalten von zweiten unvalidierten Annotationen, wobei die zweiten unvalidierten Annotationen dem zweiten geografischen Bereich entsprechen, wobei die zweiten unvalidierten Annotationen ein semantisches Verständnis von physischen Merkmalen im zweiten geografischen Bereich liefern, das unvalidiert ist; und Anwenden des trainierten ML-Modells auf die zweiten Sensordaten und die zweiten unvalidierten Annotationen, um Ausgabedaten zu erzeugen, die vorhergesagte physische Merkmale des zweiten geografischen Bereichs angeben.
  3. Verfahren nach Anspruch 2, wobei das Trainieren des neuronalen Netzwerks Trainieren des neuronalen Netzwerks auf einem ersten Computer umfasst, und wobei das Anwenden des trainierten ML-Modells auf die zweiten Sensordaten Anwenden des trainierten ML-Modells auf die zweiten Sensordaten auf einem zweiten Computer, der sich vom ersten Computer unterscheidet, umfasst.
  4. Verfahren nach Anspruch 3, wobei der zweite Computer in einem motorisierten Fahrzeug enthalten ist, wobei das Verfahren ferner Folgendes umfasst: Verwenden der vorhergesagten physischen Merkmale, um einen gegenwärtigen Standort des motorisierten Fahrzeugs zu bestimmen.
  5. Verfahren nach Anspruch 3, wobei der zweite Computer in einem motorisierten Fahrzeug enthalten ist, wobei das Verfahren ferner Verwenden der vorhergesagten physischen Merkmale, um einen Bewegungspfad für das motorisierte Fahrzeug zu bestimmen, umfasst.
  6. Verfahren nach Anspruch 1, wobei die physischen Merkmale eine befahrbare Oberfläche und/oder eine Kreuzung und/oder einen Fußgängerüberweg und/oder ein Verkehrsschild und/oder ein Verkehrssignal und/oder eine Verkehrsspur und/oder eine Fahrradspur umfassen.
  7. Verfahren nach Anspruch 1, wobei das Bild des geografischen Bereichs ein Vogelperspektivenbild und/oder ein Bild auf Bodenebene und/oder ein Punktwolkenbild umfasst.
  8. Verfahren nach Anspruch 1, wobei die unvalidierten Annotationen für den geografischen Bereich durch Crowdsourcing erhaltene Annotationen repräsentieren.
  9. Verfahren nach Anspruch 1, wobei das Verwenden der Sensordaten und der unvalidierten Annotationen für den geografischen Bereich als eine Eingabe Folgendes umfasst: Verknüpfen des Bildes des geografischen Bereichs und der unvalidierten Annotationen in ein mehrschichtiges Bild des geografischen Bereichs.
  10. Verfahren nach Anspruch 1, wobei die unvalidierten Annotationen für den geografischen Bereich einen Graphen umfassen, wobei der Graph Kanten, die befahrbare Oberflächen repräsentieren, und Knoten, die Verkehrskreuzungen repräsentieren, umfasst.
  11. Verfahren nach Anspruch 10, wobei das Verwenden der Sensordaten und der unvalidierten Annotationen für den geografischen Bereich als eine Eingabe Folgendes umfasst: Transformieren des Graphen in Rasterdaten, und wobei das Transformieren des Graphen in Rasterdaten Folgendes umfasst: Erzeugen von Zwischenrasterdaten und Anwenden geometrischer Manipulationen auf die Zwischenrasterdaten, um die Rasterdaten zu erzeugen.
  12. System, umfassend: mindestens einen Prozessor, und mindestens ein nichtflüchtiges Speicherungsmedium, das Anweisungen speichert, die bei Ausführung durch den mindestens einen Prozessor bewirken, dass der mindestens eine Prozessor Folgendes durchführt: Erhalten von Sensordaten, die ein Bild eines geografischen Bereichs repräsentieren; Erhalten von Daten, die unvalidierte Annotationen für den geografischen Bereich repräsentieren, die ein semantisches Verständnis von physischen Merkmalen im geografischen Bereich liefern, das unvalidiert ist; Erhalten von Daten, die validierte Annotationen für den geografischen Bereich repräsentieren, die ein semantisches Verständnis der physischen Merkmale im geografischen Bereich liefern, das validiert ist; und Trainieren eines neuronalen Netzwerks unter Verwendung der Sensordaten und der unvalidierten Annotationen für den geografischen Bereich als eine Eingabe und der validierten Annotationen für den geografischen Bereich als eine Ground Truth, wobei das Trainieren des neuronalen Netzwerks zu einem trainierten maschinellen Lernmodell (ML-Modell) führt.
  13. System nach Anspruch 12, ferner umfassend: einen zusätzlichen Prozessor; und ein zusätzliches nichtflüchtiges Speicherungsmedium, das zweite Anweisungen speichert, die bei Ausführung durch den mindestens einen Prozessor bewirken, dass der zusätzliche Prozessor Folgendes durchführt: Erhalten von zweiten Sensordaten, die ein Bild eines zweiten geografischen Bereichs repräsentieren; Erhalten von zweiten unvalidierten Annotationen, wobei die zweiten unvalidierten Annotationen dem zweiten geografischen Bereich entsprechen, wobei die zweiten unvalidierten Annotationen ein semantisches Verständnis von physischen Merkmalen im zweiten geografischen Bereich liefern, das unvalidiert ist; und Anwenden des trainierten ML-Modells auf die zweiten Sensordaten und die zweiten unvalidierten Annotationen, um Ausgabedaten zu erzeugen, die vorhergesagte physische Merkmale des zweiten geografischen Bereichs angeben.
  14. System nach Anspruch 13, wobei der zusätzliche Prozessor und die zusätzlichen nichtflüchtigen Speicherungsmedien in einem motorisierten Fahrzeug enthalten sind, und wobei die zweiten Anweisungen bei ihrer Ausführung ferner bewirken, dass der zusätzliche Prozessor die vorhergesagten physischen Merkmale verwendet, um einen gegenwärtigen Standort des motorisierten Fahrzeugs zu bestimmen.
  15. System nach Anspruch 13, wobei der zusätzliche Prozessor und die zusätzlichen nichtflüchtigen Speicherungsmedien in einem motorisierten Fahrzeug enthalten sind, und wobei die zweiten Anweisungen bei ihrer Ausführung ferner bewirken, dass der zusätzliche Prozessor die vorhergesagten physischen Merkmale verwendet, um einen Bewegungspfad für das motorisierte Fahrzeug zu bestimmen.
  16. System nach Anspruch 12, wobei das Verwenden der Sensordaten und der unvalidierten Annotationen für den geografischen Bereich als eine Eingabe Folgendes umfasst: Verknüpfen des Bildes des geografischen Bereichs und der unvalidierten Annotationen in ein mehrschichtiges Bild des geografischen Bereichs.
  17. Nichtflüchtiges Speicherungsmedium bzw. nichtflüchtige Speicherungsmedien, die Anweisungen speichern, die bei Ausführung durch ein Rechensystem, das einen Prozessor umfasst, bewirken, dass das Rechensystem Folgendes durchführt: Erhalten von Sensordaten, die ein Bild eines geografischen Bereichs repräsentieren; Erhalten von Daten, die unvalidierte Annotationen für den geografischen Bereich repräsentieren, die ein semantisches Verständnis von physischen Merkmalen im geografischen Bereich liefern, das unvalidiert ist; Erhalten von Daten, die validierte Annotationen für den geografischen Bereich repräsentieren, die ein semantisches Verständnis der physischen Merkmale im geografischen Bereich liefern, das validiert ist; und Trainieren eines neuronalen Netzwerks unter Verwendung der Sensordaten und der unvalidierten Annotationen für den geografischen Bereich als eine Eingabe und der validierten Annotationen für den geografischen Bereich als eine Ground Truth, wobei das Trainieren des neuronalen Netzwerks zu einem trainierten maschinellen Lernmodell (ML-Modell) führt.
  18. Nichtflüchtiges Speicherungsmedium bzw. nichtflüchtige Speicherungsmedien nach Anspruch 17, ferner umfassend zweite Anweisungen, die bei ihrer Ausführung bewirken, dass das Rechensystem Folgendes durchführt: Erhalten von zweiten Sensordaten, die ein Bild eines zweiten geografischen Bereichs repräsentieren; Erhalten von zweiten unvalidierten Annotationen, wobei die zweiten unvalidierten Annotationen dem zweiten geografischen Bereich entsprechen, wobei die zweiten unvalidierten Annotationen ein semantisches Verständnis von physischen Merkmalen im zweiten geografischen Bereich liefern, das unvalidiert ist; und Anwenden des trainierten ML-Modells auf die zweiten Sensordaten und die zweiten unvalidierten Annotationen, um Ausgabedaten zu erzeugen, die vorhergesagte physische Merkmale des zweiten geografischen Bereichs angeben.
  19. Nichtflüchtiges Speicherungsmedium bzw. nichtflüchtige Speicherungsmedien nach Anspruch 18, wobei das Rechensystem ein motorisiertes Fahrzeug umfasst, und wobei die zweiten Anweisungen bei ihrer Ausführung ferner bewirken, dass das Rechensystem die vorhergesagten physischen Merkmale verwendet, um einen Bewegungspfad für das motorisierte Fahrzeug zu bestimmen.
  20. Nichtflüchtiges Speicherungsmedium bzw. nichtflüchtige Speicherungsmedien nach Anspruch 17, wobei das Verwenden der Sensordaten und der unvalidierten Annotationen für den geografischen Bereich als eine Eingabe Folgendes umfasst: Verknüpfen des Bildes des geografischen Bereichs und der unvalidierten Annotationen in ein mehrschichtiges Bild des geografischen Bereichs.
DE102021131489.5A 2021-08-10 2021-11-30 Semantische annotation von sensordaten unter verwendung unzuverlässiger kartenannotationseingaben Pending DE102021131489A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/444,819 US20230046410A1 (en) 2021-08-10 2021-08-10 Semantic annotation of sensor data using unreliable map annotation inputs
US17/444,819 2021-08-10

Publications (1)

Publication Number Publication Date
DE102021131489A1 true DE102021131489A1 (de) 2023-02-16

Family

ID=78399557

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021131489.5A Pending DE102021131489A1 (de) 2021-08-10 2021-11-30 Semantische annotation von sensordaten unter verwendung unzuverlässiger kartenannotationseingaben

Country Status (5)

Country Link
US (1) US20230046410A1 (de)
KR (1) KR20230023530A (de)
CN (1) CN115705693A (de)
DE (1) DE102021131489A1 (de)
GB (1) GB2609992A (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3973448A1 (de) * 2020-07-29 2022-03-30 Google LLC System und verfahren zur erkennung von übungsarten anhand von wearables
CN115797931B (zh) * 2023-02-13 2023-05-30 山东锋士信息技术有限公司 一种基于双分支特征融合的遥感图像语义分割方法及设备
CN117253232B (zh) * 2023-11-17 2024-02-09 北京理工大学前沿技术研究院 一种高精地图的标注自动生成方法、存储器及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11370423B2 (en) * 2018-06-15 2022-06-28 Uatc, Llc Multi-task machine-learned models for object intention determination in autonomous driving
US11532188B2 (en) * 2019-08-22 2022-12-20 GM Global Technology Operations LLC Architecture and methodology for state estimation failure detection using crowdsourcing and deep learning
AU2019101138A4 (en) * 2019-09-30 2019-10-31 Cheng, Shiyun MISS Voice interaction system for race games
US11615268B2 (en) * 2020-09-09 2023-03-28 Toyota Research Institute, Inc. System and method for optimizing performance of a model performing a downstream task
US11669998B2 (en) * 2021-01-20 2023-06-06 GM Global Technology Operations LLC Method and system for learning a neural network to determine a pose of a vehicle in an environment

Also Published As

Publication number Publication date
KR20230023530A (ko) 2023-02-17
US20230046410A1 (en) 2023-02-16
CN115705693A (zh) 2023-02-17
GB2609992A (en) 2023-02-22
GB202113843D0 (en) 2021-11-10

Similar Documents

Publication Publication Date Title
DE102020129854A1 (de) Sequenzielle fusion zur 3d-objektdetektion
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102020133982A1 (de) Automatisierte objektannotation unter verwendung fusionierter kamera-/lidar-datenpunkte
DE102021131489A1 (de) Semantische annotation von sensordaten unter verwendung unzuverlässiger kartenannotationseingaben
DE102021132853A1 (de) Auf deep learning basierende kamerakalibrierung
DE102022102189A1 (de) Multimodales Segmentierungsnetz für ein verbessertes semantisches Labelingbei einer Kartenerzeugung
DE102021124913A1 (de) Metrik-backpropagation für die beurteilung der leistung von untersystemen
DE102021132082A1 (de) Ende-zu-ende-system-training unter verwendung vereinigter bilder
DE102022122456A1 (de) Auf maschinellem lernen basierte klassifizierung einer punktwolkenausrichtung
DE102022100218A1 (de) Umgebungsbeschränkungs- und Sensoranomaliesystem und -verfahren
DE102022100041A1 (de) Betriebseinhüllendenerkennung mit situationsbeurteilung unter verwendung von metriken
DE102023111485A1 (de) Nachverfolgungssegmentbereinigung nachverfolgter objekte
DE102022131625A1 (de) Bordsteinbasierte merkmalsextraktion für lokalisierung und fahrspurerkennung mittels radar
DE102022105579A1 (de) Graphenerkundung zur regelbuchtrajektorieerzeugung
DE102022106461A1 (de) Systeme und verfahren zur kameraausrichtung
DE102022100413A1 (de) Objekterkennung unter verwendung von radar-und-lidar-zusammenführung
DE102022102187A1 (de) High-fidelity-daten-getriebene multimodale simulation
DE102021132199A1 (de) Bestimmen von Objektmobilitätsparametern unter Verwendung einer Objektsequenz
DE102021133740A1 (de) Erlernen der identifikation sicherheitskritischer szenarien für ein autonomes fahrzeug
DE102022100059A1 (de) Detektion der operativen hüllkurve mit situativer beurteilung
DE102020202342A1 (de) Cloud-Plattform für automatisierte Mobilität und computerimplementiertes Verfahren zur Bereitstellung einer Cloud basierten Datenanreicherung an die automatisierte Mobilität
DE102023109040A1 (de) Vereinheitlichtes framework und werkzeuge zur kommentierung von fahrspurbegrenzungen
DE102022134446A1 (de) Bewegungsvorhersage in einem autonomen fahrzeug unter verwendung fusionierter synthetischer und kamerabilder
DE102021132847A1 (de) Automatisierte verifizierung annotierter sensordaten
DE102023101855A1 (de) Hinzufügen von schlagwörtern zu sensordaten mittels mehrerer modelle und abfrage der sensordaten