DE102021132082A1 - Ende-zu-ende-system-training unter verwendung vereinigter bilder - Google Patents

Ende-zu-ende-system-training unter verwendung vereinigter bilder Download PDF

Info

Publication number
DE102021132082A1
DE102021132082A1 DE102021132082.8A DE102021132082A DE102021132082A1 DE 102021132082 A1 DE102021132082 A1 DE 102021132082A1 DE 102021132082 A DE102021132082 A DE 102021132082A DE 102021132082 A1 DE102021132082 A1 DE 102021132082A1
Authority
DE
Germany
Prior art keywords
image
semantic
data associated
network
fused
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
DE102021132082.8A
Other languages
English (en)
Inventor
Yitian Wu
Sourabh Vora
Alex Lang
Oscar Beijbom
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 DE102021132082A1 publication Critical patent/DE102021132082A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • 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
    • G06V10/803Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]

Landscapes

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

Abstract

Es werden Verfahren für ein Ende-zu-Ende-Erkennungssystemtraining unter Verwendung vereinigter Bilder bereitgestellt, die das Vereinigen unterschiedlicher Typen von Bildern, um ein vereinigtes Bild zu bilden, Extrahieren von Merkmalen aus dem vereinigten Bild, Berechnen eines Verlusts und Modifizieren wenigstens eines Netzparameters eines Bildsemantiknetzes basierend auf dem Verlust enthalten können. Es sind außerdem Systeme und Computerprogrammprodukte bereitgestellt.

Description

  • HINTERGRUND
  • Selbstfahrende Fahrzeuge verwenden typischerweise mehrere Typen von Bildern, um den Bereich in ihrer Umgebung zu erkennen. Das Trainieren dieser Systeme, um einen Bereich genau zu erkennen, kann schwierig und kompliziert sein.
  • Figurenliste
    • 1 ist eine Beispielumgebung, in der ein Fahrzeug, das eine oder mehrere Komponenten eines autonomen Systems enthält, implementiert sein kann;
    • 2 ist ein Diagramm eines oder mehrerer Systeme eines Fahrzeugs, das ein autonomes System enthält;
    • 3 ist ein Diagramm von Komponenten einer oder mehrerer Vorrichtungen und/oder eines oder mehrerer Systeme der 1 und 2;
    • 4A ist ein Diagramm spezieller Komponenten eines autonomen Systems;
    • 4B ist ein Diagramm einer Implementierung eines neuronales Netzes;
    • 4C und 4D sind ein Diagramm, das eine Beispieloperation eines CNN darstellt;
    • 5A ist ein Blockdiagramm, das ein Beispiel einer Ende-zu-Ende-Trainings-Umgebung für ein Erkennungssystem darstellt.
    • 5B und 5C sind Operationsdiagramme, die eine beispielhafte Ende-zu-Ende-Trainings-Operation des Erkennungssystems darstellen.
    • 6 ist ein Ablaufdiagramm eines Beispiels für eine Routine, die durch einen oder mehrere Prozessoren zum Trainieren des Erkennungssystems implementiert ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung sind zahlreiche spezifische Einzelheiten dargelegt, um ein gründliches Verständnis der vorliegenden Offenbarung zum Zweck der Erläuterung bereitzustellen. Es ist jedoch offensichtlich, dass die durch die vorliegende Offenbarung beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten praktiziert werden können. In einigen Fällen sind bekannte Strukturen und Vorrichtungen in Blockdiagrammform dargestellt, um unnötiges Verdecken von Aspekten der vorliegenden Offenbarung zu vermeiden.
  • Spezifische Anordnungen oder Reihenfolgen schematischer Elemente, wie z. B. derjenigen, die Systeme, Vorrichtungen, Module, Anweisungsblöcke, Datenelemente und/oder dergleichen repräsentieren, sind in den Zeichnungen zur Erleichterung der Beschreibung dargestellt. Es ist durch Fachleute jedoch zu verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht bedeuten soll, dass sie impliziert, dass eine spezifische Reihenfolge oder Sequenz der Verarbeitung oder Trennung von Prozessen erforderlich ist, sofern es nicht ausdrücklich so beschrieben ist. Ferner soll das Aufnehmen eines schematischen Elements in eine Zeichnung nicht implizieren, dass ein solches Element in allen Ausführungsformen erforderlich ist oder dass die durch ein solches Element repräsentierten Merkmale in einigen Ausführungsformen nicht in anderen Elementen enthalten oder mit anderen Elementen kombiniert sein können, sofern es nicht ausdrücklich zu beschrieben ist.
  • Ferner soll, wenn Verbindungselemente wie z. B. durchgezogene oder gestrichelte Linien oder Pfeile in den Zeichnungen zum Darstellen einer Verbindung, Beziehung oder Zuordnung zwischen oder unter zwei oder mehr anderen schematischen Elementen verwendet sind, das Fehlen solcher Verbindungselemente nicht implizieren, dass keine Verbindung, Beziehung oder Zuordnung existieren kann. Mit anderen Worten sind einige Verbindungen, Beziehungen oder Zuordnungen zwischen Elementen in den Zeichnungen nicht dargestellt, um die Offenbarung nicht zu verdecken. Zusätzlich kann zur Erleichterung der Darstellung ein einzelnes Verbindungselement verwendet sein, um mehrere Verbindungen, Beziehungen oder Zuordnungen zwischen Elementen zu repräsentieren. Beispielsweise wenn ein Verbindungselement die Kommunikation von Signalen, Daten, Anweisungen (z. B. „Software-Anweisungen“) repräsentiert, ist durch Fachleute zu verstehen, dass ein solches Element einen oder mehrere Signalpfade (z. B. einen Bus), repräsentieren kann, wie es benötigt werden kann, um die Kommunikation zu bewirken.
  • Obwohl die Begriffe erster, zweiter, dritter und/oder dergleichen verwendet sind, um verschiedene Elemente zu bezeichnen, sollten diese Elemente nicht auf diese Begriffe eingeschränkt sein. Die Begriffe erster, zweiter, dritter und/oder dergleichen sind nur verwendet, um ein Element von anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet sein, und ähnlich könnte ein zweiter Kontakt als erster Kontakt bezeichnet sein, ohne von dem Schutzbereich der beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, sie sind jedoch nicht derselbe Kontakt.
  • Die in der Beschreibung der verschiedenen beschriebenen Ausführungsformen verwendete Terminologie ist hier nur zum Zweck der Beschreibung spezieller Ausführungsformen enthalten und ist nicht als einschränkend vorgesehen. Wie sie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und den beigefügten Ansprüchen verwendet sind, sollen die Singularformen „ein/eine“ und „der/die/das“ auch die Pluralformen enthalten und können austauschbar mit „ein oder mehrere“ oder „wenigstens ein“ verwendet sein, sofern der Kontext nicht klar etwas anderes angibt. Es ist auch zu verstehen, dass der Begriff „und/oder“, wie er hier verwendet ist, sich auf alle möglichen Kombinationen aus einem oder mehreren der zugeordneten aufgelisteten Elemente bezieht und sie einschließt. Außerdem ist der Begriff „oder“ in einem einschließenden Sinn (und nicht in einem ausschließenden Sinn) verwendet, so dass, wenn er beispielsweise verwendet ist, um eine Liste von Elementen zu verbinden, der Begriff „oder“ eines, einige der oder alle Elemente in der Liste bedeutet. Disjunktive Ausdrucksweise wie z. B. der Ausdruck „wenigstens eines aus X, Y oder Z“ ist, sofern nicht ausdrücklich anders festgelegt, anderweitig mit dem Kontext zu verstehen, wie er im Allgemeinen verwendet ist, um ein Element, einen Begriff usw. zu präsentieren, und kann entweder X, Y oder z. B. oder irgendeine Kombination daraus (z. B. X, Y oder Z) sein. Somit soll eine solche disjunktive Ausdrucksweise nicht allgemein implizieren, und sollte das nicht, dass spezielle Ausführungsformen erfordern, dass wenigstens eines von X, wenigstens eines von Y und wenigstens eines von Z vorhanden ist. Es ist ferner zu verstehen, dass die Begriffe „enthält“, „enthaltend“, „umfasst“ und/oder „umfassend“, wenn sie in dieser Beschreibung verwendet sind, das Vorhandensein genannter Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, jedoch das Vorhandensein oder das Hinzufügen eines oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen.
  • Wie hier verwendet beziehen sich die Begriffe „Kommunikation“ und kommunizieren" auf wenigstens eines aus dem Aufnehmen, Empfangen, Senden, Übertragen, Bereitstellen und/oder dergleichen von Informationen (oder Informationen, die beispielsweise durch Daten, Signale, Nachrichten, Anweisungen, Befehle und/oder dergleichen repräsentiert sind). Damit eine Einheit (z. B. eine Vorrichtung, ein System, eine Komponente einer Vorrichtung oder eines Systems, Kombinationen daraus und/oder dergleichen) in Kommunikation mit einer weiteren Einheit ist, bedeutet das, dass die eine Einheit fähig ist, Informationen von der anderen Einheit direkt oder indirekt zu empfangen und/oder zu der anderen Einheit zu senden (z. B. zu übertragen). Das kann sich auf eine direkte oder indirekte Verbindung beziehen, die nach ihrer Beschaffenheit drahtgebunden und/oder drahtlos sein kann. Zusätzlich können zwei Einheiten in Kommunikation miteinander sein, obwohl die gesendeten Informationen modifiziert, verarbeitet, weitergeleitet und/oder zwischen der ersten und der zweiten Einheit geroutet werden können. Beispielsweise kann eine erste Einheit in Kommunikation mit einer zweiten Einheit sein, obwohl die erste Einheit Informationen passiv empfängt und die Informationen nicht aktiv zu der zweiten Einheit überträgt. Als ein weiteres Beispiel kann eine erste Einheit in Kommunikation mit einer zweiten Einheit sein, falls wenigstens eine dazwischenliegende Einheit (z. B. eine dritte Einheit, die sich zwischen der ersten Einheit und der zweiten Einheit befindet) die von der ersten Einheit empfangenen Informationen verarbeitet und die verarbeiteten Informationen zu der zweiten Einheit überträgt. In einigen Ausführungsformen kann sich eine Nachricht auf ein Netzpaket (z. B. ein Datenpaket und/oder dergleichen), das Daten enthält, beziehen.
  • Bedingte Ausdrucksweise, die hier verwendet ist, wie z. B. unter anderem „kann“, „könnte“, „z. B.“ und dergleichen soll, sofern nicht spezifisch anderweitig festgelegt oder anderweitig in dem Kontext wie verwendet verstanden wird, allgemein übermitteln, dass spezielle Ausführungsformen spezielle Merkmale, Elemente oder Schritte enthalten, während andere Ausführungsformen diese nicht enthalten. Somit soll eine solche bedingte Ausdrucksweise nicht allgemein implizieren, dass Merkmale, Elemente oder Schritte auf irgendeine Weise für eine oder mehrere Ausführungsformen erforderlich sind oder dass eine oder mehrere Ausführungsformen notwendigerweise Logik zum Entscheiden, mit oder ohne eine andere Eingabe oder Aufforderung, ob diese Merkmale, Elemente oder Schritte in irgendeiner speziellen Ausführungsform enthalten oder auszuführen sind, enthalten. Wie hier verwendet ist der Begriff „falls“ optional so zu deuten, dass er „wenn“, „bei“, „in Reaktion auf Bestimmen“, „in Reaktion auf Detektieren“ und/oder dergleichen bedeutet, abhängig vom Kontext. Ähnlich wird der Ausdruck „falls bestimmt wird“ oder „falls [ein/e festgelegte/s Bedingung oder Ereignis]“ optional so gedeutet, dass er „bei Bestimmen“, „in Reaktion auf das Bestimmen“, „bei Bestimmen [die/das festgelegte Bedingung oder Ereignis]“, „in Reaktion auf das Detektieren [der/des festgelegten Bedingung oder Ereignisses]“ oder dergleichen bedeutet, abhängig von dem Kontext. Außerdem sollen, wie sie hier verwendet sind, die Begriffe „aufweisen“, „aufweisend“ oder dergleichen offene Begriffe sein. Ferner soll der Ausdruck „basierend auf“ „basierend wenigstens teilweise auf“ bedeuten, sofern nicht ausdrücklich anders festgestellt.
  • Es wird jetzt im Einzelnen auf Ausführungsformen Bezug genommen, von denen Beispiele in den begleitenden Zeichnungen dargestellt sind. In der folgenden ausführlichen Beschreibung sind zahlreiche spezifische Einzelheiten dargelegt, um ein gründliches Verständnis der verschiedenen beschriebenen Ausführungsformen zu schaffen. Es ist jedoch für einen normalen Fachmann offensichtlich, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten praktiziert werden können. In anderen Fällen sind bekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netze nicht genau beschrieben worden, um Aspekte der Ausführungsformen nicht unnötigerweise zu verdecken.
  • Allgemeine Übersicht
  • In einigen Aspekten und/oder Ausführungsformen enthalten und/oder implementieren hier beschriebene Systeme, Verfahren und Computerprogrammprodukte ein Testsystem, das ein Erkennungssystem Ende-zu-Ende trainiert, um Objekte zu identifizieren. Als ein nicht einschränkendes Beispiel kann das Testsystem das Erkennungssystem durch Vereinigen eines Lidar-Bilds mit einem Semantikbild (das durch ein Bildsemantiknetz aus einem Kamera-Bild erzeugt wird), Extrahieren von Merkmalen aus dem vereinigten Bild und Modifizieren wenigstens eines Netzparameters in dem Bildsemantiknetz basierend auf einem berechneten Verlust zwischen einem „Ground-Truth“-Bild und den aus dem vereinigten Bild extrahierten Merkmalen trainieren.
  • Aufgrund der Implementierung von Systemen, Verfahren und Computerprogrammprodukten, die hier beschrieben sind, kann ein autonomes Fahrzeug genauer Objekte innerhalb eines Bilds identifizieren, den Ort identifizierter Objekte innerhalb des Bilds genauer identifizieren, Bewegungsbahnen identifizierter Objekte innerhalb des Bilds genauer vorhersagen, zusätzliche Merkmale für ein identifiziertes Objekt bestimmen und zusätzliche Informationen über die Szene eines Bilds ableiten.
  • Jetzt auf 1 Bezug nehmend ist eine Beispielumgebung 100 dargestellt, in der sowohl Fahrzeuge, die autonome Systeme enthalten, als auch Fahrzeuge, die keine autonomen Systeme enthalten, betrieben werden. Wie dargestellt enthält die Umgebung 100 die Fahrzeuge 102a-102n, die Objekte 104a-104n, die Wege 106a-106n, den Bereich 108, die Fahrzeug-zu-Infrastruktur-Vorrichtung (V2I-Vorrichtung) 110, das Netz 112, das entfernte System für autonome Fahrzeuge (entfernte AV-System) 114, das Flottenmanagementsystem 116 und das V2I-System 118. Die Fahrzeuge 102a-102n, die Fahrzeug-zu-Infrastruktur-Vorrichtung (V2I-Vorrichtung) 110, das Netz 112, das System für autonome Fahrzeuge (AV-System) 114, das Flottenmanagementsystem 116 und das V2I-System 118 verbinden sich miteinander (bauen z. B. eine Verbindung zum Kommunizieren und/oder dergleichen auf) über drahtgebundene Verbindungen, drahtlose Verbindungen oder eine Kombination aus drahtgebundenen oder drahtlosen Verbindungen. In einigen Ausführungsformen verbinden sich die Objekte 104a-104n mit wenigstens einem aus den Fahrzeugen 102a-102n, der Fahrzeug-zu-Infrastruktur-Vorrichtung (V2I-Vorrichtung) 110, dem Netz 112, dem System für autonome Fahrzeuge (AV-System) 114, dem Flottenmanagementsystem 116 und dem V2I-System 118 über drahtgebundene Verbindungen, drahtlose Verbindungen oder eine Kombination aus drahtgebundenen oder drahtlosen Verbindungen.
  • Die Fahrzeuge 102a-102n (individuell als Fahrzeug 102 und gemeinsam als Fahrzeuge 102 bezeichnet) enthalten wenigstens eine Vorrichtung, die ausgelegt ist, Güter und/oder Personen zu transportieren. In einigen Ausführungsformen sind die Fahrzeuge 102 ausgelegt, über das Netz 112 in Kommunikation mit der V2I-Vorrichtung 110, dem entfernten AV-System 114, dem Flottenmanagementsystem 116 und/oder dem V2I-System 118 zu sein. In einigen Ausführungsformen können die Fahrzeuge 102 Autos, Busse, Lkws, Züge und/oder dergleichen enthalten. In einigen Ausführungsformen sind die Fahrzeuge 102 gleich den oder ähnlich den hier beschriebenen Fahrzeugen 200 (siehe 2). In einigen Ausführungsformen ist ein Fahrzeug 200 aus einer Gruppe von Fahrzeugen 200 einem autonomen Flottenmanager zugeordnet. In einigen Ausführungsformen bewegen sich die Fahrzeuge 102 entlang entsprechender Wege 106a-106n (individuell als Weg 106 und gemeinsam als Wege 106 bezeichnet), wie hier beschrieben ist. In einigen Ausführungsformen enthalten ein oder mehrere Fahrzeuge 102 ein autonomes System (z. B. ein autonomes System, das gleich oder ähnlich dem autonomen System 202 ist).
  • Die Objekte 104a-104n (individuell als Objekt 104 und gemeinsam als Objekte 104 bezeichnet) enthalten beispielsweise wenigstens ein Fahrzeug, wenigstens einen Fußgänger, wenigstens einen Radfahrer, wenigstens eine Struktur (z. B. ein Gebäude, ein Verkehrszeichen, einen Hydranten usw.) und/oder dergleichen. Jedes Objekt 104 ist stationär (befindet sich z. B. für eine Zeitspanne an einem festen Ort) oder mobil (weist z. B. eine Geschwindigkeit und wenigstens eine ihm zugeordnete Bewegungsbahn auf). In einigen Ausführungsformen sind die Objekte 104 entsprechenden Orten im Bereich 108 zugeordnet.
  • Die Wege 106a-106n (individuell als Weg 106 und gemeinsam als Wege 106 bezeichnet) sind jeweils einer (z. B. vorgeschriebenen) Sequenz von Aktionen (auch als eine Bewegungsbahn bekannt) zugeordnet, die Zustände, entlang denen ein AV navigieren kann, verbindet. Jeder Weg 106 startet an einem initialen Zustand (z. B. einem Zustand, der einem ersten raumzeitlichen Ort, einer Geschwindigkeit und/oder dergleichen entspricht) und einem endgültigen Zielzustand (z. B. einem Zustand, der einem zweiten raumzeitlichen Ort, der von dem ersten raumzeitlichen Ort verschieden ist, entspricht) oder Zielgebiet (z. B. einem Unterraum zulässiger Zustände (z. B. Endzuständen)). In einigen Ausführungsformen enthält der erste Zustand einen Ort, an dem eine Person oder Personen durch das AV abgeholt werden sollen, und der zweite Zustand enthält einen Ort oder Orte, an dem/denen die Person oder die Personen, die durch das AV abgeholt werden, abgesetzt werden sollen. In einigen Ausführungsformen enthalten die Wege 106 mehrere zulässige Zustandssequenzen (z. B. mehrere Sequenzen raumzeitlicher Orte), wobei die mehreren Zustandssequenzen mehreren Bewegungsbahnen zugeordnet sind (z. B. sie definieren). In einem Beispiel enthalten die Wege 106 nur Aktionen hoher Ebene oder ungenaue Zustandsorte, wie z. B. eine Reihe verbundener Straßen, die Abbiegen an Straßenkreuzungen erzwingen. Zusätzlich oder alternativ können die Wege 106 genauere Aktionen oder Zustande enthalten, wie beispielsweise spezifische Zielfahrspuren oder genaue Orte innerhalb der Fahrspurbereiche und eine Zielgeschwindigkeit an diesen Positionen. In einem Beispiel enthalten die Wege 106 mehrere genaue Zustandssequenzen entlang der wenigstens einen Aktionssequenz hoher Ebene mit einem begrenzten Vorschauhorizont, um Zwischenziele zu erreichen, wobei die Kombination aus aufeinanderfolgenden Iterationen der Zustandssequenzen mit begrenztem Horizont kumulativ mehreren Bewegungsbahnen entsprechen, die gemeinsam den Weg hoher Ebene bilden, um an dem endgültigen Zielzustand oder Gebiet zu enden.
  • Der Bereich 108 enthält einen physikalischen Bereich (z. B. ein geographisches Gebiet), in dem die Fahrzeuge 102 navigieren können. In einem Beispiel enthält der Bereich 108 wenigstens einen Staat (z. B. ein Land, eine Provinz, einen individuellen Staat aus mehreren Staaten, die in einem Land enthalten sind, usw.), wenigstens einen Abschnitt eines Staats, wenigstens eine Stadt, wenigstens einen Teil einer Stadt usw. In einigen Ausführungsformen enthält der Bereich 108 wenigstens einen benannte Durchgangsstraße (hier als eine „Straße“ bezeichnet), wie z. B. eine Autobahn, eine Fernstraße, eine Bundesstraße, eine städtische Straße usw. Zusätzlich oder alternativ enthält der Bereich 108 in einigen Beispielen wenigstens einen eine unbenannte Straße wie z. B. eine Auffahrt, einen Teil eines Parkplatzes, einen Teil eines freien und/oder nicht erschlossenen Grundstücks, einen Feldweg usw. In einigen Ausführungsformen enthält eine Straße wenigstens eine Fahrspur (z. B. einen Abschnitt der Straße, der durch Fahrzeuge 102 durchquert werden kann). In einem Beispiel enthält eine Straße wenigstens eine Fahrspur, die wenigstens einer Straßenmarkierung zugeordnet ist (z. B. basierend darauf identifiziert ist).
  • Die Fahrzeug-zu-Infrastruktur-Vorrichtung (V2I-Vorrichtung) 110 (manchmal als eine Fahrzeug-zu-Infrastruktur-Vorrichtung (V2X-Vorrichtung bezeichnet) enthält wenigstens eine Vorrichtung, die ausgelegt ist, mit den Fahrzeugen 102 und/oder dem V2I-Infrastruktursystem 118 in Kommunikation zu sein. In einigen Ausführungsformen ist die V2I-Vorrichtung 110 ausgelegt, über das Netz 112 mit den Fahrzeugen 102, dem entfernten AV-System 114, dem Flottenmanagementsystem 116 und/oder dem V2I-System 118 in Kommunikation zu sein. In einigen Ausführungsformen enthält die V2I-Vorrichtung 110 eine Hochfrequenzidentifizierungs-Vorrichtung (RFID-Vorrichtung), ein Leitsystem, Kameras (z. B. zweidimensionale (2D-) und/oder dreidimensionale (3D-) Kameras), Fahrspurmarkierungen, Straßenbeleuchtung, Parkuhren usw. In einigen Ausführungsformen ist die V2I-Vorrichtung 110 ausgelegt, direkt mit den Fahrzeugen 102 zu kommunizieren. Zusätzlich oder alternativ ist in einigen Ausführungsformen die V2I-Vorrichtung 110 ausgelegt, über das V2I-System 118 mit den Fahrzeugen 102, dem entfernten AV-System 114 und/oder dem Flottenmanagementsystem 116 zu kommunizieren. In einigen Ausführungsformen ist die V2I-Vorrichtung 110 ausgelegt, über das Netz 112 mit dem V2I-System 118 zu kommunizieren.
  • Das Netz 112 enthält ein oder mehrere drahtgebundene und/oder drahtlose Netze. In einem Beispiel enthält das Netz 112 ein zellenbasiertes Netz (z. B. ein Langzeitentwicklungs-Netz (LTE-Netz), ein Netz der dritten Generation (3G), ein Netz der vierten Generation (4G), ein Netz der fünften Generation (5G), ein Codemultiplexmehrfachzugriff-Netz (CDMA-Netz) usw.), ein Mobilfunknetz (PLMN), ein lokales Netz (LAN), ein Weitbereichsnetz (WAN), ein Regionalnetz (MAN), ein Telefonnetz (z. B. das Festnetz (PSTN), ein privates Netz, ein Ad-hoc-Netz, ein Intranet, das Internet, ein Glasfasernetz, ein Cloud-Computing-Netz, usw., eine Kombination einiger oder aller dieser Netze und/oder dergleichen.
  • Das Entfernte AV-System 114 enthält wenigstens eine Vorrichtung, die ausgelegt ist, über das Netz 112 mit den Fahrzeugen 102, der V2I-Vorrichtung 110, dem Netz 112, dem entfernten AV-System 114, dem Flottenmanagementsystem 116 und/oder dem V2I-System 118 in Kommunikation zu sein. In einem Beispiel enthält das entfernte AV-System 114 einen Server, eine Gruppe von Servern und/oder andere ähnliche Vorrichtungen. In einigen Ausführungsformen befindet sich das entfernte AV-System 114 am gleichen Ort wie das Flottenmanagementsystem 116. In einigen Ausführungsformen ist das entfernte AV-System 114 an der Installation einiger der oder aller Komponenten eines Fahrzeugs, die ein autonomes System, einen autonomen Fahrzeugcomputer, Software, die durch einen autonomen Fahrzeugcomputer implementiert ist, und/oder dergleichen enthalten, beteiligt. In einigen Ausführungsformen pflegt (z. B. aktualisiert und/oder ersetzt) das entfernte AV-System 114 solche Komponenten und/oder Software während der Lebensdauer des Fahrzeugs.
  • Das Flottenmanagementsystem 116 enthält wenigstens eine Vorrichtung, die ausgelegt ist, mit dem Fahrzeugen 102, der V2I-Vorrichtung 110, dem entfernten AV-System 114 und/oder dem V2I-Infrastruktursystem 118 in Kommunikation zu sein. In einem Beispiel enthält das Flottenmanagementsystem 116 einen Server, eine Gruppe von Servern und/oder andere ähnliche Vorrichtungen. In einigen Ausführungsformen ist das Flottenmanagementsystem 116 einer Fahrgemeinschaftsfirma (z. B. einer Organisation, die den Betrieb mehrerer Fahrzeuge steuert (z. B. Fahrzeuge, die autonome Systeme enthalten, und/oder Fahrzeuge, die keine autonomen Systeme enthalten) und/oder dergleichen)) zugeordnet.
  • In einigen Ausführungsformen enthält das V2I-System 118 wenigstens eine Vorrichtung, die ausgelegt ist, über das Netz 112 mit den Fahrzeugen 102, der V2I-Vorrichtung 110, dem entfernten AV-System 114 und/oder dem Flottenmanagementsystem 116 in Kommunikation zu sein. In einigen Beispielen ist das V2I-System 118 ausgelegt, mit der V2I-Vorrichtung 110 über eine Verbindung, die nicht das Netz 112 ist, in Kommunikation zu sein. In einigen Ausführungsformen enthält das V2I-System 118 einen Server, eine Gruppe von Servern und/oder andere ähnliche Vorrichtungen. In einigen Ausführungsformen ist das V2I-System 118 einer Kommune oder einer privaten Institution (z. B. einer privaten Institution, die die V2I-Vorrichtung 110 pflegt, oder dergleichen) zugeordnet.
  • Die Anzahl und die Anordnung der in 1 dargestellten Elemente sind als ein Beispiel bereitgestellt. Es können zusätzliche Elemente, weniger Elemente, andere Elemente und/oder anders angeordnete Elemente als die in 1 dargestellten vorhanden sein. Zusätzlich oder alternativ kann wenigstens ein Element der Umgebung 100 eine oder mehrere Funktionen ausführen, die so beschrieben sind, dass sie durch wenigstens ein anderes Element von 1 ausgeführt werden. Zusätzlich oder alternativ kann wenigstens eine Gruppe von Elementen der Umgebung 100 eine oder mehrere Funktionen ausführen, die so beschrieben sind, dass sie durch wenigstens eine andere Gruppe von Elementen der Umgebung 100 ausgeführt werden.
  • Jetzt auf 2 Bezug nehmend enthält das Fahrzeug 200 ein autonomes System 202, ein Antriebsstrangsteuersystem 204, ein Lenkungssteuersystem 206 und ein Bremssystem 208. In einigen Ausführungsformen ist das Fahrzeug 200 gleich oder ähnlich dem Fahrzeug 102 (siehe 1). In einigen Ausführungsformen weist das Fahrzeug 102 eine autonome Fähigkeit auf (z. B. implementiert wenigstens eine Funktion, ein Merkmal, eine Vorrichtung und/oder dergleichen, die ermöglichen, dass das Fahrzeug 200 teilweise oder vollständig ohne menschlichen Eingriff betrieben wird, was, ohne Einschränkung, vollständig autonomer Fahrzeuge (z. B. Fahrzeuge, die auf die Abhängigkeit von menschlichem Eingriff verzichten), in hohem Maße autonome Fahrzeuge (z. B. Fahrzeuge, die auf die Abhängigkeit von menschlichem Eingriff in speziellen Situationen verzichten), und/oder dergleichen enthält). Für eine genaue Beschreibung vollständig autonomer Fahrzeuge und in hohem Maße autonomer Fahrzeuge wird auf den SAE-International-Standard J3016 verwiesen: „Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems“, der durch Bezugnahme vollständig mit aufgenommen ist. In einigen Ausführungsformen ist das Fahrzeug 200 einem autonomen Flottenmanager und/oder einer Fahrgemeinschaftsfirma zugeordnet.
  • Das autonome System 202 enthält eine Sensor-Suite, die eine oder mehrere Vorrichtungen wie z. B. Kameras 202a, LiDAR-Sensoren 202b, Radar-Sensoren 202c und Mikrofone 202d enthält. In einigen Ausführungsformen kann das autonome System 202 mehr oder weniger Vorrichtungen und/oder andere Vorrichtungen enthalten (z. B. Ultraschallsensoren, Trägheitssensoren, GPS-Empfänger (nachstehend diskutiert), Odometrie-Sensoren, die Daten erzeugen, die einer Angabe einer Entfernung, die das Fahrzeug 200 zurückgelegt hat, zugeordnet sind, und/oder dergleichen). In einigen Ausführungsformen verwendet das autonome System 202 eine oder mehrere Vorrichtungen, die in dem autonomen System 202 enthalten sind, um Daten zu erzeugen, die der Umgebung 100, die hier beschrieben ist, zugeordnet sind. Die durch die eine oder die mehreren Vorrichtungen des autonomen Systems 202 erzeugten Daten können durch ein oder mehrere Systeme, die hier beschrieben sind, verwendet werden, um die Umgebung (z. B. die Umgebung 100), in der sich das Fahrzeug 200 befindet, zu beobachten. In einigen Ausführungsformen enthält das autonome System 202 eine Kommunikationsvorrichtung 202e, einen autonomem Fahrzeugcomputer 202f und ein „Drive-by-Wire“-System (DBW-System) 202h.
  • Die Kameras 202a enthalten wenigstens eine Vorrichtung, die ausgelegt ist, mit der Kommunikationsvorrichtung 202e, dem autonomen Fahrzeugcomputer 202f und/oder einer Sicherheitssteuereinheit 202g über einen Bus (z. B. einen Bus, der gleich oder ähnlich dem Bus 302 von 3 ist) in Kommunikation zu sein. Die Kameras 202a enthalten wenigstens eine Kamera (z. B. eine Digitalkamera, die einen Lichtsensor wie z. B. eine ladungsgekoppelte Vorrichtung (CCD) verwendet, eine Wärmekamera, eine Infrarot-Kamera (IR-Kamera), eine Ereigniskamera und/oder dergleichen), um Bilder, die physikalische Objekte (z. B. Autos, Busse, Bordsteine, Personen und/oder dergleichen) enthalten, aufzunehmen. In einigen Ausführungsformen erzeugt die Kamera 202a Kameradaten als Ausgabe. In einigen Beispielen erzeugt die Kamera 202a Daten, die Bilddaten enthalten, die einem Bild zugeordnet sind. In diesem Beispiel können die Bilddaten wenigstens einen Parameter (z. B. Bildeigenschaften wie z. B. Belichtung, Helligkeit usw., einen Bildzeitstempel und/oder dergleichen), der dem Bild entspricht, spezifizieren. In einem solchen Beispiel kann das Bild in einem Format sein (z. B. RAW, JPEG, PNG und/oder dergleichen). In einigen Ausführungsformen enthält die Kamera 202a mehrere unabhängige Kameras, die auf einem Fahrzeug konfiguriert (z. B. positioniert) sind, Bilder zum Zweck von Stereopsis (Stereosehen) aufzunehmen. In einigen Beispielen enthält die Kamera 202a mehrere Kameras, die Bilddaten erzeugen und die Bilddaten zu dem autonomen Fahrzeugcomputer 202f und/oder dem Flottenmanagementsystem (z. B. dem Flottenmanagementsystem, das gleich oder ähnlich dem Flottenmanagementsystem 116 von 1 ist) zu senden. In einem solchen Beispiel bestimmt der autonome Fahrzeugcomputer 202f die Tiefe zu einem oder mehreren Objekten in einem Sichtfeld von wenigstens zwei Kameras aus den mehreren Kameras basierend auf den Bilddaten aus den wenigstens zwei Kameras. In einigen Ausführungsformen sind die Kameras 202a ausgelegt, Bilder von Objekten innerhalb eines Abstands von den Kameras 202a (z. B. bis zu 100 Meter, bis zu einem Kilometer und/oder dergleichen) aufzunehmen. Dementsprechend enthalten die Kameras 202a Merkmale wie z. B. Sensoren und Objektive, die zum Erkennen von Objekten, die in einem oder mehreren Abständen von den Kameras 202a sind, optimiert sind.
  • In einer Ausführungsform enthält die Kamera 202a wenigstens eine Kamera, die ausgelegt ist, ein oder mehrere Bilder aufzunehmen, die einer oder mehreren Ampeln, Straßenschildern und/oder anderen physikalischen Objekten, die visuelle Navigationsinformationen bereitstellen, zugeordnet sind. In einigen Ausführungsformen erzeugt die Kamera 202a Ampeldaten, die einem oder mehreren Bildern zugeordnet sind. In einigen Beispielen erzeugt die Kamera 202a TLD-Daten, die einem oder mehreren Bildern zugeordnet sind, die ein Format (z. B. RAW, JPEG, PNG und/oder dergleichen) enthalten. In einigen Ausführungsformen unterscheidet sich die Kamera 202a, die TLD-Daten erzeugt, von anderen hier beschriebenen Systemen, die Kameras integrieren, darin, dass die Kamera 202a eine oder mehrere Kameras mit einem großen Sichtfeld (z. B. ein Weitwinkelobjektiv, ein Fischaugenobjektiv, ein Objektiv, das einen Sichtwinkel von ungefähr 120 Grad oder mehr aufweist, und/oder dergleichen) enthalten kann, um Bilder von so vielen physikalischen Objekten wie möglich zu erzeugen.
  • Die Laser-Detektions- und Abstandsmessungs-Sensoren (LiDAR-Sensoren) 202b enthalten wenigstens eine Vorrichtung, die ausgelegt ist, über einen Bus (z. B. einen Bus, der gleich oder ähnlich dem Bus 302 von 3 ist) mit der Kommunikationsvorrichtung 202e, dem autonomen Fahrzeugcomputer 202f und/oder einer Sicherheitssteuereinheit 202g in Kommunikation zu sein. Die LiDAR-Sensoren 202b enthalten ein System, das ausgelegt ist, Licht von einem Lichtemitter (z. B. einem Laser-Transmitter) zu übertragen. Licht, das durch die LiDAR-Sensoren 202b emittiert wird, enthält Licht (z. B. Infrarotlicht und/oder dergleichen), das außerhalb des sichtbaren Spektrums ist. In einigen Ausführungsformen trifft während des Betriebs Licht, das durch die LiDAR-Sensoren 202b emittiert wird, auf ein physikalisches Objekt (z. B. ein Fahrzeug) und wird zu den LiDAR-Sensoren 202b zurück reflektiert. In einigen Ausführungsformen durchdringt das durch die LiDAR-Sensoren 202b emittierte Licht das physikalische Objekt, auf das das Licht auftrifft, nicht. Die LiDAR-Sensoren 202b enthalten außerdem wenigstens einen Lichtdetektor, der das Licht, das von dem Lichtemitter emittiert wurde, nachdem das Licht auf ein physikalisches Objekt trifft, detektiert. In einigen Ausführungsformen erzeugt wenigstens ein Datenverarbeitungssystem, das den LiDAR-Sensoren 202b zugeordnet ist, ein Bild (z. B. eine Punktwolke, eine kombinierte Punktwolke und/oder dergleichen), das die in einem Sichtfeld der LiDAR-Sensoren 202b enthaltenen Objekte repräsentiert. In einigen Beispielen erzeugt das wenigstens eine Datenverarbeitungssystem, das dem LiDAR-Sensor 202b zugeordnet ist, ein Bild, das die Grenzen eines physikalischen Objekts, die Oberflächen (z. B. die Topologie der Oberflächen) des physikalischen Objekts und/oder dergleichen repräsentiert. In einem solchen Beispiel wird das Bild verwendet, um die Grenzen physikalischer Objekte in dem Sichtfeld der LiDAR-Sensoren 202b zu bestimmen.
  • Die Funk-Detektions- und Abstandsmessungs-Sensoren (Radar-Sensoren) 202c enthalten wenigstens eine Vorrichtung, die ausgelegt ist, über einen Bus (z. B. einen Bus, der gleich oder ähnlich dem Bus 302 von 3 ist) mit der Kommunikationsvorrichtung 202e, dem autonomen Fahrzeugcomputer 202f und/oder einer Sicherheitssteuereinheit 202g in Kommunikation zu sein. Die Radar-Sensoren 202c enthalten ein System, das ausgelegt ist, Funkwellen (entweder gepulst oder kontinuierlich) zu senden. Die Funkwellen, die durch die Radar-Sensoren 202c gesendet werden, enthalten Funkwellen, die innerhalb eines vorbestimmten Spektrums sind. in einigen Ausführungsformen treffen während des Betriebs Funkwellen, die durch die Radar-Sensoren 202c gesendet werden, auf ein physikalisches Objekt und werden zu den Radar-Sensoren 202c zurück reflektiert. In einigen Ausführungsformen werden die durch die Radar-Sensoren 202c gesendeten Funkwellen durch einige Objekte nicht reflektiert. In einigen Ausführungsformen erzeugt wenigstens ein Datenverarbeitungssystem, das den Radar-Sensoren 202c zugeordnet ist, Signale, die die in einem Sichtfeld der Radar-Sensoren 202c enthaltenen Objekte repräsentieren. Beispielsweise erzeugt das wenigstens eine Datenverarbeitungssystem, das dem Radar-Sensor 202c zugeordnet ist, ein Bild, das die Grenzen eines physikalischen Objekts, die Oberflächen (z. B. die Topologie der Oberflächen) des physikalischen Objekts und/oder dergleichen repräsentiert. In einigen Beispielen wird das Bild verwendet, um die Grenzen physikalischer Objekte in dem Sichtfeld der Radar-Sensoren 202c zu bestimmen.
  • Die Mikrofone 202d enthalten wenigstens eine Vorrichtung, die ausgelegt ist, über einen Bus (z. B. einen Bus, der gleich oder ähnlich dem Bus 302 von 3 ist) mit der Kommunikationsvorrichtung 202e, dem autonomen Fahrzeugcomputer 202f und/oder einer Sicherheitssteuereinheit 202g in Kommunikation zu sein. Die Mikrofone 202d enthalten ein oder mehrere Mikrofone (z. B. Gruppenmikrofone, externe Mikrofone und/oder dergleichen), die Audiosignale aufnehmen und Daten erzeugen, die den Audiosignalen zugeordnet sind (z. B. sie repräsentieren). In einigen Beispielen enthalten die Mikrofone 202d Transducer-Vorrichtungen und/oder ähnliche Vorrichtungen. In einigen Ausführungsformen können ein oder mehrere hier beschriebene Systeme die durch die Mikrofone 202d erzeugten Daten empfangen und eine Position eines Objekts relativ zu dem Fahrzeug 200 (z. B. eine Entfernung und/oder dergleichen) basierend auf den den Daten zugeordneten Audiosignalen bestimmen.
  • Die Kommunikationsvorrichtung 202e enthält wenigstens eine Vorrichtung, die ausgelegt ist, mit den Kameras 202a, den LiDAR-Sensoren 202b, den Radar-Sensoren 202c, den Mikrofonen 202d, dem autonomen Fahrzeugcomputer 202f, der Sicherheitssteuereinheit 202g und/oder dem DBW-System 202h in Kommunikation zu sein. Beispielsweise kann die Kommunikationsvorrichtung 202e eine Vorrichtung enthalten, die gleich oder ähnlich der Kommunikationsschnittstelle 314 von 3 ist. In einigen Ausführungsformen enthält die Kommunikationsvorrichtung 202e eine Fahrzeug-zu-Fahrzeug-Kommunikationsvorrichtung (V2V-Kommunikationsvorrichtung) (z. B. eine Vorrichtung, die Drahtloskommunikation von Daten zwischen Fahrzeugen ermöglicht).
  • Der autonome Fahrzeugcomputer 202f enthält wenigstens eine Vorrichtung, die ausgelegt ist, mit den Kameras 202a, den LiDAR-Sensoren 202b, den Radar-Sensoren 202c, den Mikrofonen 202d, der Kommunikationsvorrichtung 202e, der Sicherheitssteuereinheit 202g und/oder dem DBW-System 202h in Kommunikation zu sein. In einigen Beispielen enthält der autonome Fahrzeugcomputer 202f eine Vorrichtung wie z. B. eine Clientvorrichtung, eine Mobilvorrichtung (z. B. ein Mobiltelefon, ein Tablet oder dergleichen), einen Server (z. B. eine Berechnungsvorrichtung, die eine oder mehrere zentrale Verarbeitungseinheiten, Grafikverarbeitungseinheiten und/oder dergleichen enthält) und/oder dergleichen. In einigen Ausführungsformen ist der autonome Fahrzeugcomputer 202f gleich oder ähnlich dem hier beschriebenen autonomen Fahrzeugcomputer 400. Zusätzlich oder alternativ ist in einigen Ausführungsformen der autonome Fahrzeugcomputer 202f ausgelegt, mit einem autonomen Fahrzeugsystem (z. B. mit einem autonomen Fahrzeugsystem, das gleich oder ähnlich dem entfernten AV-System 114 von 1 ist), einem Flottenmanagementsystem (z. B. einem Flottenmanagementsystem, das gleich oder ähnlich dem Flottenmanagementsystem 116 von 1 ist), einer V2I-Vorrichtung (z. B. einer V2I-Vorrichtung, die gleich oder ähnlich der V2I-Vorrichtung 110 von 1 ist) und/oder einem V2I-System (z. B. einem V2I-System, das gleich oder ähnlich dem V2I-System 118 von 1 ist) in Kommunikation zu sein.
  • Die Sicherheitssteuereinheit 202g enthält wenigstens eine Vorrichtung, die ausgelegt ist, 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 sein. In einigen Beispielen enthält die Sicherheitssteuereinheit 202g eine oder mehrere Steuereinheiten (elektrische Steuereinheiten, elektromechanische Steuereinheiten und/oder dergleichen), die ausgelegt sind, Steuersignale zum Betreiben einer oder mehrerer Vorrichtungen des Fahrzeugs 200 (z. B. des Antriebsstrangsteuersystems 204, der Lenkungssteuersystems 206, des Bremssystems 208 und/oder dergleichen) zu erzeugen und/oder zu senden. In einigen Ausführungsformen ist die Sicherheitssteuereinheit 202g ausgelegt, Steuersignale zu erzeugen, die den Vorrang vor Steuersignalen, die durch den autonomen Fahrzeugcomputer 202f erzeugt und/oder gesendet werden, haben (ihnen z. B. übergeordnet sind).
  • Das DBW-System 202h enthält wenigstens eine Vorrichtung, die ausgelegt ist, mit der Kommunikationsvorrichtung 202e und/oder dem autonomen Fahrzeugcomputer 202f in Kommunikation zu sein. In einigen Beispielen enthält das DBW-System 202h eine oder mehrere Steuereinheiten (z. B. elektrische Steuereinheiten, elektromechanische Steuereinheiten und/oder dergleichen), die ausgelegt sind, Steuersignale zum Betreiben einer oder mehrerer Vorrichtungen des Fahrzeugs 200 (z. B. des Antriebsstrangsteuersystems 204, des Lenkungssteuersystems 206, des Bremssystems 208 und/oder dergleichen) zu erzeugen und/oder zu senden. Zusätzlich oder alternativ sind die eine oder die mehreren Steuereinheiten des DBW-Systems 202h ausgelegt, Steuersignale zum Betreiben wenigstens einer anderen Vorrichtung (z. B. eines Blinkers, Scheinwerfer, Türschlösser, Scheibenwischer und/oder dergleichen) des Fahrzeugs 200 zu erzeugen und/oder zu senden.
  • Das Antriebsstrangsteuersystem 204 enthält wenigstens eine Vorrichtung, die ausgelegt ist, mit dem DBW-System 202h in Kommunikation zu sein. In einigen Beispielen enthält das Antriebsstrangsteuersystem 204 wenigstens eine Steuereinheit, einen Aktor und/oder dergleichen. In einigen Ausführungsformen empfängt das Antriebsstrangsteuersystem 204 Steuersignale von dem DBW-System 202h, und das Antriebsstrangsteuersystem 204 veranlasst das Fahrzeug 200, eine Vorwärtsbewegung zu beginnen, die Vorwärtsbewegung anzuhalten, in einer Richtung zu beschleunigen, in einer Richtung zu verzögern, nach links abzubiegen, nach rechts abzubiegen und/oder dergleichen. In einem Beispiel veranlasst das Antriebsstrangsteuersystem 204, dass die Energie (z. B. Kraftstoff, Elektrizität und/oder dergleichen), die einem Motor des Fahrzeugs zugeführt wird, ansteigt, gleich bleibt oder abnimmt, und veranlasst dadurch, dass sich wenigstens ein Rad des Fahrzeugs 200 dreht oder nicht dreht.
  • Das Lenkungssteuersystem 206 enthält wenigstens eine Vorrichtung, die ausgelegt ist, ein oder mehrere Räder des Fahrzeugs 200 zu drehen. In einigen Beispielen enthält das Lenkungssteuersystem 206 wenigstens eine Steuereinheit, einen Aktor und/oder dergleichen. In einigen Ausführungsformen veranlasst das Lenkungssteuersystem 206, dass sich die beiden Vorderräder und/oder die beiden Hinterräder des Fahrzeugs 200 nach links oder rechts drehen, um zu veranlassen, dass das Fahrzeug 200 nach links oder nach rechts abbiegt.
  • Das Bremssystem 208 enthält wenigstens eine Vorrichtung, die ausgelegt ist, eine oder mehrere Bremsen zu betätigen, um das Fahrzeug 200 zu veranlassen, die Geschwindigkeit zu verringern und/oder stillzustehen. In einigen Beispielen enthält das Bremssystem 208 wenigstens eine Steuereinheit und/oder einen Aktor, die/der ausgelegt ist, zu veranlassen, dass sich ein oder mehrere Bremszangen, die einem oder mehreren Rädern des Fahrzeugs 200 zugeordnet sind, auf einem entsprechenden Rotor des Fahrzeugs 200 schließen. Zusätzlich oder alternativ enthält in einigen Beispielen das Bremssystem 208 ein automatisches Notbremssystem (AEB-System), ein regeneratives Bremssystem und/oder dergleichen.
  • In einigen Ausführungsformen enthält das Fahrzeug 200 wenigstens einen Plattformsensor (nicht ausdrücklich dargestellt), der Eigenschaften eines Zustands oder einer Verfassung des Fahrzeugs 200 misst oder ableitet. In einigen Beispielen enthält das Fahrzeug 200 Plattformsensoren wie z. B. einen Empfänger des globalen Positionsbestimmungssystems (GPS-Empfänger), eine Trägheitsmesseinheit (IMU), einen Raddrehzahlsensor, einen Radbremsdrucksensor, einen Raddrehmomentsensor, einen Kraftmaschinendrehmomentsensor, einen Lenkwinkelsensor und/oder dergleichen.
  • Jetzt auf 3 Bezug nehmend ist ein schematisches Diagramm einer Vorrichtung 300 dargestellt. Wie dargestellt enthält die Vorrichtung 300 einen Prozessor 304, einen Speicher 306, eine Speicherkomponente 308, eine Eingabeschnittstelle 310, eine Ausgabeschnittstelle 312, eine Kommunikationsschnittstelle 314 und einen Bus 302. In einigen Ausführungsformen entspricht die Vorrichtung 300 wenigstens einer Vorrichtung der Fahrzeuge 102 (z. B. wenigstens einer Vorrichtung eines Systems von Fahrzeugen 102) und/oder einer oder mehreren Vorrichtungen des Netzes 112 (z. B. einer oder mehreren Vorrichtungen eines Systems des Netzes 112). In einigen Ausführungsformen enthalten eine oder mehrere Vorrichtungen der Fahrzeuge 102 (z. B. eine oder mehrere Vorrichtungen eines Systems von Fahrzeugen 102) und/oder eine oder mehrere Vorrichtungen des Netzes 112 (z. B. eine oder mehrere Vorrichtungen eines Systems des Netzes 112) wenigstens eine Vorrichtung 300 und/oder wenigstens eine Komponente der Vorrichtung 300. Wie in 3 gezeigt ist, enthält die Vorrichtung 300 den Bus 302, den Prozessor 304, den Speicher 306, die Speicherkomponente 308, die Eingabeschnittstelle 310, die Ausgabeschnittstelle 312 und die Kommunikationsschnittstelle 314.
  • Der Bus 302 enthält eine Komponente, die Kommunikation unter den Komponenten der Vorrichtung 300 ermöglicht. In einigen Ausführungsformen ist der Prozessor 304 in Hardware, Software oder einer Kombination aus Hardware und Software implementiert. In einigen Beispielen enthält der Prozessor 304 einen Prozessor (z. B. eine zentrale Verarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), eine beschleunigte Verarbeitungseinheit (APU) und/oder dergleichen), ein Mikrofon, einen Digitalsignalprozessor (DSP) und/oder irgendeine Verarbeitungskomponente (z. B. ein im Feld programmierbares Gatter-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (ASIC) und/oder dergleichen), die programmiert werden kann, wenigstens eine Funktion auszuführen. Der Speicher 306 enthält Direktzugriffsspeicher (RAM), Festwertspeicher (ROM) und/oder einen anderen Typ einer dynamischen und/oder statischen Speichervorrichtung (z. B. Flash-Speicher, magnetischen Speicher, optischen Speicher und/oder dergleichen), der Daten und/oder Anweisungen zum Gebrauch durch den Prozessor 304 speichert.
  • Die Speicherkomponente 308 speichert Daten und/oder Software, die zu dem Betrieb und der Verwendung der Vorrichtung 300 gehören. In einigen Beispielen enthält die Speicherkomponente 308 eine Festplatte (z. B. eine magnetische Platte, eine optische Platte, eine magneto-optische Platte, eine Festkörperplatte und/oder dergleichen), eine Compact-Disc (CD), eine „Digital Versatile Disc“ (DVD), eine Floppy-Disk, eine Kassette, ein Magnetband, eine CD-ROM, RAM, PROM, EPROM, FLASH-EPROM, NV-RAM und/oder einen anderen Typ eines computerlesbaren Mediums, zusammen mit einem entsprechenden Laufwerk.
  • Die Eingabeschnittstelle 310 enthält eine Komponente, die ermöglicht, dass die Vorrichtung 300 Informationen empfängt, wie z. über eine Anwendereingabe (z. B. eine Anzeigevorrichtung mit berührungssensitivem Bildschirm, eine Tastatur, ein Tastenfeld, eine Maus, eine Taste, einen Schalter, ein Mikrofon, eine Kamera und/oder dergleichen). Zusätzlich oder alternativ enthält in einigen Ausführungsformen die Eingabeschnittstelle 310 einen Sensor, der Informationen erfasst (z. B. einen Empfänger des globalen Positionsbestimmungssystems (GPS-Empfänger), einen Beschleunigungsmesser, ein Gyroskop, einen Aktor und/oder dergleichen). Die Ausgabeschnittstelle 312 enthält eine Komponente, die die Ausgabe von Informationen aus der Vorrichtung 300 bereitstellt (z. B. eine Anzeigevorrichtung, einen Lautsprecher, eine oder mehrere Leuchtdioden (LEDs) und/oder dergleichen).
  • In einigen Ausführungsformen enthält die Kommunikationsschnittstelle 314 eine Sender/Empfänger-ähnliche Komponente (z. B. einen Sender/Empfänger, einen getrennten Empfänger und Sender und/oder dergleichen), die ermöglicht, dass die Vorrichtung 300 mit anderen Vorrichtungen über eine drahtgebundene Verbindung, eine drahtlose Verbindung oder eine Kombination aus drahtgebundenen und drahtlosen Verbindungen kommuniziert. In einigen Beispielen ermöglicht die Kommunikationsschnittstelle 314, dass die Vorrichtung 300 Informationen von einer weiteren Vorrichtung empfängt und/oder Informationen für eine weitere Vorrichtung bereitstellt. In einigen Beispielen enthält die Kommunikationsschnittstelle 314 eine Ethernet-Schnittstelle, eine optische Schnittstelle, eine Koaxial-Schnittstelle, eine Infrarot-Schnittstelle, eine Hochfrequenz-Schnittstelle (RF-Schnittstelle), eine Schnittstelle für den universellen seriellen Bus (USB-Schnittstelle), eine Wi-Fi®-Schnittstelle, eine Mobilfunk-Schnittstelle und/oder dergleichen.
  • In einigen Ausführungsformen führt die Vorrichtung 300 einen oder mehrere hier beschriebene Prozesse aus. Die Vorrichtung 300 führt diese Prozesse basierend darauf aus, dass der Prozessor 304 Software-Anweisungen, die durch ein computerlesbares Medium wie z. B. den Speicher 305 und/oder die Speicherkomponente 308 gespeichert sind, ausführt. Ein computerlesbares Medium (z. B. ein nicht-transitorisches computerlesbares Medium) ist hier als eine nicht-transitorische Speichervorrichtung definiert. Eine nicht-transitorische Speichervorrichtung enthält Speicherplatz, der sich innerhalb einer einzigen physikalischen Speichervorrichtung befindet, oder Speicherplatz, der über mehrere physikalische Speichervorrichtungen verteilt ist.
  • In einigen Ausführungsformen werden Software-Anweisungen in den Speicher 306 und/oder die Speicherkomponente 308 von einem anderen computerlesbaren Medium oder von einer weiteren Vorrichtung über die Kommunikationsschnittstelle 314 gelesen. Wenn sie ausgeführt werden, veranlassen die in dem Speicher 306 und/oder der Speicherkomponente 308 gespeicherten Software-Anweisungen den Prozessor 304, einen oder mehrere hier beschriebene Prozesse auszuführen. Zusätzlich oder alternativ wird eine fest verdrahtete Schaltungsanordnung anstelle von oder in Kombination mit Software-Anweisungen verwendet, um einen oder mehrere hier beschriebene Prozesse auszuführen. Somit sind hier beschriebene Ausführungsformen nicht auf irgendeine spezifische Kombination aus Hardware-Schaltungsanordnung und Software beschränkt, sofern nicht ausdrücklich anders festgestellt.
  • Der Speicher 306 und/oder die Speicherkomponente 308 enthält einen Datenspeicher oder wenigstens eine Datenstruktur (z. B. eine Datenbank und/oder dergleichen). Die Vorrichtung 300 ist zum Empfangen von Informationen von dem/der, Speichern von Informationen in dem/der, Kommunizieren von Informationen zu dem/der Datenspeicher oder der wenigstens einen Datenstruktur in dem Speicher 306 oder der Speicherkomponente 308 oder Durchsuchen von darin gespeicherten Informationen fähig. In einigen Beispielen enthalten die Informationen Netzdaten, Eingabedaten, Ausgabedaten oder irgendeine Kombination daraus.
  • In einigen Ausführungsformen ist die Vorrichtung 300 ausgelegt, Software-Anweisungen auszuführen, die entweder in dem Speicher 306 und/oder in dem Speicher einer weiteren Vorrichtung (z. B. einer weiteren Vorrichtung, die gleich oder ähnlich der Vorrichtung 300 ist) gespeichert sind. Wie hier verwendet bezieht sich der Begriff „Modul“ auf wenigstens eine Anweisung, die im Speicher 306 und/oder in dem Speicher einer weiteren Vorrichtung gespeichert ist, die dann, wenn sie durch den Prozessor 304 und/oder durch einen Prozessor einerweiteren Vorrichtung (z. B. einer weiteren Vorrichtung, die gleich oder ähnlich der Vorrichtung 300 ist) ausgeführt wird, die Vorrichtung 300 (z. B. wenigstens eine Komponente der Vorrichtung 300) veranlasst, einen oder mehrere hier beschriebene Prozesse auszuführen. In einigen Ausführungsformen ist ein Modul in Software, Firmware, Hardware und/oder dergleichen implementiert.
  • Die Anzahl und die Anordnung der in 3 dargestellten Komponenten sind als ein Beispiel bereitgestellt. In einigen Ausführungsformen kann die Vorrichtung 300 zusätzliche Komponenten, weniger Komponenten, andere Komponenten oder anders angeordnete Komponenten als die in 3 dargestellten enthalten. Zusätzlich oder alternativ kann eine Gruppe von Komponenten (z. B. eine oder mehrere Komponenten) der Vorrichtung 300 eine oder mehrere Funktionen ausführen, die als durch eine andere Komponente oder eine andere Gruppe von Komponenten der Vorrichtung 300 ausgeführt beschrieben sind.
  • Jetzt auf 4 Bezug nehmend ist ein Blockdiagramm eines autonomen Fahrzeugcomputers 400 (manchmal als ein „AV-Stack“ bezeichnet) dargestellt. Wie dargestellt enthält der autonome Fahrzeugcomputer 400 ein Erkennungssystem 402 (manchmal als ein Erkennungsmodul bezeichnet), ein Planungssystem 404 (manchmal als ein Planungsmodul bezeichnet), ein Ortsbestimmungssystem 406 (manchmal als ein Ortsbestimmungsmodul bezeichnet), ein Steuersystem 408 (manchmal als ein Steuermodul bezeichnet) und eine Datenbank 410. In einigen Ausführungsformen sind das Erkennungssystem 402, das Planungssystem 404, das Ortsbestimmungssystem 406, das Steuersystem 408 und die Datenbank 410 in einem autonomen Navigationssystem eines Fahrzeugs (z. B. dem autonomen Fahrzeugcomputer 202f des Fahrzeugs 200) enthalten und/oder implementiert. Zusätzlich oder alternativ sind in einigen Ausführungsformen das Erkennungssystem 402, das Planungssystem 404, das Ortsbestimmungssystem 406, das Steuersystem 408 und die Datenbank 410 in einem oder mehreren eigenständigen Systemen (z. B. einem oder mehreren Systemen, die gleich oder ähnlich dem autonomem Fahrzeugcomputer 400 sind, und/oder dergleichen) enthalten. In einigen Beispielen sind das Erkennungssystem 402, das Planungssystem 404, das Ortsbestimmungssystem 406, das Steuersystem 408 und die Datenbank 410 in einem oder mehreren eigenständigen Systemen enthalten, die sich in einem Fahrzeug und/oder wenigstens einem entfernten System wie hier beschrieben befinden. In einigen Ausführungsformen irgendein sind und/oder alle Systeme, die in dem autonomen Fahrzeugcomputer 400 enthalten sind, in Software (z. B. in Software-Anweisungen, die im Speicher gespeichert sind), Computer-Hardware (z. B. durch Mikroprozessoren, Mikrosteuereinheiten, anwendungsspezifische integrierte Schaltungen [ASICs], im Feld programmierbare Gatter-Arrays (FPGAs) und/oder dergleichen) oder einer Kombinationen aus Computer-Software und Computer-Hardware implementiert. Es ist zu verstehen, dass in einigen Ausführungsformen der autonome Fahrzeugcomputer 400 ausgelegt ist, mit einem entfernten System (z. B. einem autonomem Fahrzeugsystem, das gleich oder ähnlich dem entfernten AV-System 114 ist, einem Flottenmanagementsystem 116, das gleich oder ähnlich dem Flottenmanagementsystem 116 ist, einem V2I-System, das gleich oder ähnlich dem V2I-System 118 ist, und/oder dergleichen) in Kommunikation zu sein.
  • In einigen Ausführungsformen empfängt das Erkennungssystem 402 Daten, die wenigstens einem physikalischen Objekt in einer Umgebung zugeordnet sind (z. B. Daten, die durch das Erkennungssystem 402 verwendet werden, um das wenigstens eine physikalische Objekt zu detektieren), und klassifiziert das wenigstens eine physikalische Objekt. In einigen Beispielen empfängt das Erkennungssystem 402 Bilddaten, die durch wenigstens eine Kamera (z. B. die Kamera 202a) aufgenommen sind, wobei das Bild einem oder mehreren physikalischen Objekten in einem Sichtfeld der wenigstens einen Kamera zugeordnet ist (z. B. sie repräsentiert). In einem solchen Beispiel klassifiziert das Erkennungssystem 402 das wenigstens eine physikalische Objekt basierend auf einer oder mehreren Gruppierungen physikalischer Objekte (z. B. Fahrräder, Fahrzeuge, Verkehrszeichen, Fußgänger und/oder dergleichen). In einigen Ausführungsformen sendet das Erkennungssystem 402 Daten, die der Klassifizierung der physikalischen Objekte zuzuordnen sind, zu dem Planungssystem 404 basierend auf der Klassifizierung der physikalischen Objekte durch das Erkennungssystem 402.
  • In einigen Ausführungsformen empfängt das Planungssystem 404 Daten, die einem Ziel zugeordnet sind, und erzeugt Daten, die wenigstens einem Weg (z. B. den Wegen 106), auf dem ein Fahrzeug (z. B. die Fahrzeuge 102) zu einem Ziel fahren kann, zugeordnet sind. In einigen Ausführungsformen empfängt das Planungssystem 404 periodisch oder kontinuierlich Daten von dem Erkennungssystem 402 (z. B. Daten, die der Klassifizierung physikalischer Objekte zugeordnet sind, wie vorstehend beschrieben), und das Planungssystem 404 aktualisiert die wenigstens eine Bewegungsbahn oder erzeugt basierend auf den durch das Erkennungssystem 402 erzeugten Daten wenigstens eine andere Bewegungsbahn. In einigen Ausführungsformen empfängt das Planungssystem 404 Daten, die einer aktualisierten Position des Fahrzeugs (z. B. der Fahrzeuge 102) zugeordnet sind, von dem Ortsbestimmungssystem 406, und das Planungssystem 404 aktualisiert die wenigstens eine Bewegungsbahn oder erzeugt wenigstens eine andere Bewegungsbahn basierend auf den durch das Ortsbestimmungssystem 406 erzeugten Daten.
  • In einigen Ausführungsformen empfängt das Ortsbestimmungssystem 406 Daten, die einem Ort eines Fahrzeugs (z. B. der Fahrzeuge 102) in einem Bereich zugeordnet sind (z. B. ihn repräsentieren). In einigen Beispielen empfängt das Ortsbestimmungssystem 406 LiDAR-Daten, die wenigstens einer durch wenigstens einem LiDAR-Sensor (z. B. die LiDAR-Sensoren 202b) erzeugte Punktwolke zugeordnet sind. In speziellen Beispielen empfängt das Ortsbestimmungssystem 406 Daten, die wenigstens einer Punktwolke zugeordnet sind, von mehreren LiDAR-Sensoren, und das Ortsbestimmungssystem 406 erzeugt eine kombinierte Punktwolke basierend auf jeder der Punktwolken. In diesen Beispielen vergleicht das Ortsbestimmungssystem 406 die wenigstens eine Punktwolke oder die kombinierte Punktwolke mit einer zweidimensionalen (2D) und/oder einer dreidimensionalen (3D) Karte des Bereichs, die in der Datenbank 410 gespeichert ist. Das Ortsbestimmungssystem 406 bestimmt dann die Position des Fahrzeugs in dem Bereich basierend darauf, dass das Ortsbestimmungssystem 406 die wenigstens eine Punktwolke oder die kombinierte Punktwolke mit der Karte vergleicht. In einigen Ausführungsformen enthält die Karte eine kombinierte Punktwolke des Bereichs, die vor der Navigation des Fahrzeugs erzeugt ist. In einigen Ausführungsformen enthalten die Karten ohne Einschränkung hochgenaue Karten der geometrischen Straßeneigenschaften, Karten, die die Konnektivitätseigenschaften des Straßennetzes beschreiben, Karten, die die physikalischen Eigenschaften (wie z. B. Verkehrsgeschwindigkeit, Verkehrsvolumen, die Anzahl von Fahrspuren für Fahrzeug- und Fahrradverkehr, Fahrspurbreite, Verkehrsrichtung der Fahrspur oder Fahrspurmarkierungstypen und Orte oder Kombinationen daraus) der Straße beschreiben, und Karten, die den räumlichen Ort von Straßenmerkmalen wie z. B. Fußgängerüberwege, Verkehrszeichen oder andere Fahrsignale verschiedener Typen beschreiben. In einigen Ausführungsformen wird die Karte basierend auf den durch das Erkennungssystem empfangenen Daten in Echtzeit erzeugt.
  • In einem weiteren Beispiel empfängt das Ortsbestimmungssystem 406 Daten des globalen Navigationssatellitensystems (GNSS), die durch den Empfänger eines globalen Positionsbestimmungssystems (GPS) erzeugt werden. In einigen Beispielen empfängt das Ortsbestimmungssystem 406 GNSS-Daten, die dem Ort des Fahrzeugs in dem Bereich zuzuordnen sind, und das Ortsbestimmungssystem 406 bestimmt eine geographische Breite und Länge des Fahrzeugs in dem Bereich. In einem solchen Beispiel bestimmt das Ortsbestimmungssystem 406 die Position des Fahrzeugs in dem Bereich basierend auf der geographischen Breite und Länge des Fahrzeugs. In einigen Ausführungsformen erzeugt das Ortsbestimmungssystem 406 Daten, die der Position des Fahrzeugs zuzuordnen sind. In einigen Beispielen erzeugt das Ortsbestimmungssystem 406 Daten, die der Position des Fahrzeugs zugeordnet sind, basierend darauf, dass das Ortsbestimmungssystem 406 die Position des Fahrzeugs bestimmt. In einem solchen Beispiel enthalten die Daten, die der Position des Fahrzeugs zugeordnet sind, Daten, die einer oder mehreren Semantikeigenschaften, die der Position des Fahrzeugs entsprechen, zugeordnet sind.
  • In einigen Ausführungsformen empfängt das Steuersystem 408 Daten, die wenigstens einer Bewegungsbahn zugeordnet sind, von dem Planungssystem 404, und das Steuersystem 408 steuert den Betrieb des Fahrzeugs. In einigen Beispielen empfängt das Steuersystem 408 Daten, die wenigstens einer Bewegungsbahn zugeordnet sind, von dem Planungssystem 404, und das Steuersystem 408 steuert den Betriebs des Fahrzeugs durch Erzeugen und Senden von Steuersignalen, um ein Antriebsstrangsteuersystem (z. B. das DBW-System 202h, das Antriebsstrangsteuersystem 204 und/oder dergleichen), ein Lenkungssteuersystem (z. B. das Lenkungssteuersystem 206) und/oder ein Bremssystem (z. B. das Bremssystem 208) zum Betrieb zu veranlassen. In einem Beispiel sendet das Steuersystem 408, wenn eine Bewegungsbahn ein Linksabbiegen enthält, ein Steuersignal, um das Lenkungssteuersystem 206 zu veranlassen, den Lenkwinkel des Fahrzeugs 200 anzupassen, und veranlasst dadurch das Fahrzeug 200, nach links abzubiegen. Zusätzlich oder alternativ erzeugt und sendet das Steuersystem 408 Steuersignale, um andere Vorrichtungen (z. B. Scheinwerfer, Blinker, Türschlösser, Scheibenwischer und/oder dergleichen) des Fahrzeugs 200 zu veranlassen, ihren Zustand zu ändern.
  • In einigen Ausführungsformen implementieren das Erkennungssystem 402, das Planungssystem 404, das Ortsbestimmungssystem 406 und/oder das Steuersystem 408 wenigstens ein Maschinenlernmodell (z. B. wenigstens ein mehrlagiges Perzeptron (MLP), wenigstens ein neuronales Faltungsnetz (CNN), wenigstens ein rekurrentes neuronales Netz (RNN), wenigstens einen Autoencoder, wenigstens einen Transformer und/oder dergleichen). In einigen Beispielen implementieren das Erkennungssystem 402, das Planungssystem 404, das Ortsbestimmungssystem 406 und/oder das Steuersystem 408 wenigstens ein Maschinenlernmodell allein oder in Kombination mit einem oder mehreren der vorstehend genannten Systeme. In einigen Beispielen implementieren das Erkennungssystem 402, das Planungssystem 404, das Ortsbestimmungssystem 406 und/oder das Steuersystem 408 wenigstens ein Maschinenlernmodell 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 für eine Implementierung eines Maschinenlernmodells ist nachstehend mit Bezug auf die 4B-4D enthalten.
  • Die Datenbank 410 speichert Daten, die zu dem Erkennungssystem 402, dem Planungssystem 404, dem Ortsbestimmungssystem 406 und/oder dem Steuersystem 408 gesendet, von ihm empfangen und/oder aktualisiert werden. In einigen Beispielen enthält die Datenbank 410 eine Speicherkomponente (z. B. eine Speicherkomponente, die gleich oder ähnlich der Speicherkomponente 308 von 3 ist), die Daten und/oder Software speichert, die zu dem Betrieb gehört und wenigstens ein System des autonomen Fahrzeugcomputers 400 verwendet. In einigen Ausführungsformen speichert die Datenbank 410 Daten, die 2D- und/oder 3D-Karten wenigstens eines Bereichs zugeordnet sind. In einigen Beispielen speichert die Datenbank 410 Daten, die 2D- und/oder dergleichen 3D-Karten eines Abschnitts einer Stadt, mehreren Abschnitten mehrerer Städte, mehreren Städten, einem Bezirk, einem Bundesstaat, einem Staat (z. B. einem Land) und/oder dergleichen zugeordnet sind. In einem solchen Beispiel kann ein Fahrzeug (z. B. ein Fahrzeug, das gleich oder ähnlich den Fahrzeugen 102 und/oder dem Fahrzeug 200 ist) entlang einem oder mehreren befahrbaren Gebieten (z. B. einspurigen Straßen, mehrspurigen Straßen, Autobahnen, Seitenstraßen, Strecken in freien Gelände und/oder dergleichen) fahren und wenigstens einen LiDAR-Sensor (z. B. einen LiDAR-Sensor, der gleich oder ähnlich den LiDAR-Sensoren 202b ist) veranlassen, Daten zu erzeugen, die einem Bild zugeordnet sind, das die in einem Sichtfeld des wenigstens einen LiDAR-Sensors enthaltenen Objekte, repräsentiert.
  • In einigen Ausführungsformen kann die Datenbank 410 über mehrere Vorrichtungen implementiert sein. In einigen Beispielen ist die Datenbank 410 in einem Fahrzeug (z. B. einem Fahrzeug, das gleich oder ähnlich den Fahrzeugen 102 und/oder dem Fahrzeug 200 ist), einem autonomen Fahrzeugsystem (z. B. einem autonomen Fahrzeugsystem, das gleich oder ähnlich dem entfernten AV-System 114 ist), einem Flottenmanagementsystem (z. B. einem Flottenmanagementsystem, das gleich oder ähnlich dem Flottenmanagementsystem 116 von 1 ist), einem V2I-System (z. B. einem V2I-System, das gleich oder ähnlich dem V2I-System 118 von 1 ist) und/oder dergleichen enthalten.
  • Jetzt auf 4B Bezug nehmend ist ein Diagramm einer Implementierung eines Maschinenlernmodells dargestellt. Insbesondere ist ein Diagramm einer Implementierung eines neuronalen Faltungsnetzes (CNN) 420 dargestellt. Zum Zweck der Darstellung wird die folgende Beschreibung des CNN 420 in Bezug auf einer Implementierung des CNN 420 durch das Erkennungssystem 402 sein. Es ist jedoch zu verstehen, dass in einigen Beispielen das CNN 420 (z. B. eine oder mehrere Komponenten des CNN 420) durch andere Systeme, die von dem Erkennungssystem 402 verschieden oder zusätzlich zu ihm sind, wie z. B. das Planungssystem 404, das Ortsbestimmungssystem 406 und/oder das Steuersystem 408 implementiert ist. Obwohl das CNN 420 spezielle Merkmale enthält, wie hier beschrieben ist, sind diese Merkmale zum Zweck der Darstellung bereitgestellt, und es nicht beabsichtigt, dass sie die vorliegende Offenbarung einschränken.
  • Das CNN 420 enthält mehrere Faltungsschichten, die eine erste Faltungsschicht 422, eine zweite Faltungsschicht 424 und eine Faltungsschicht 426 enthalten. In einigen Ausführungsformen enthält das CNN 420 eine Subsampling-Schicht 428 (manchmal als eine Pooling-Schicht bezeichnet). In einigen Ausführungsformen weisen die Subsampling-Schicht 428 und/oder andere Subsampling-Schichten eine Dimension (d. h. eine Anzahl von Knoten) auf, die kleiner ist als eine Dimension eines vorgelagerten Systems. Aufgrund dessen, dass die Subsampling-Schicht 428 eine Dimension aufweist, die kleiner ist als eine Dimension einer vorgelagerten Schicht, konsolidiert das CNN 420 die Menge von Daten, die der initialen Eingabe und/oder Ausgabe einer vorgelagerten Schicht zugeordnet sind, um dadurch die Anzahl von Berechnungen, die notwendig sind, damit das CNN 420 nachgelagerte Faltungsoperationen ausführt, zu verringern. Zusätzlich oder alternativ konsolidiert das CNN 420 aufgrund dessen, dass die Subsampling-Schicht 428 wenigstens einer Subsampling-Funktion (wie nachstehend mit Bezug auf die 4C und 4D beschrieben ist), zugeordnet ist (z. B. ausgelegt ist, sie auszuführen), die Menge von Daten, die der initialen Eingabe zugeordnet ist.
  • Das Erkennungssystem 402 führt Faltungsoperationen basierend darauf aus, dass das Erkennungssystem 402 entsprechende Eingaben und/oder Ausgaben, die jeder aus der ersten Faltungsschicht 422, der zweiten Faltungsschicht 424, der Faltungsschicht 426 zugeordnet sind, bereitstellt, um entsprechende Ausgaben zu erzeugen. In einigen Beispielen implementiert das Erkennungssystem 402 das CNN 420 basierend darauf, dass das Erkennungssystem 402 Daten als Eingabe für die erste Faltungsschicht 422, die zweite Faltungsschicht 424 und die Faltungsschicht 426 bereitstellt. In einem solchen Beispiel stellt das Erkennungssystem 402 die Daten als Eingabe für die erste Faltungsschicht 422, die zweite Faltungsschicht 424 und die Faltungsschicht 426 basierend darauf bereit, dass das Erkennungssystem 402 Daten von einem oder mehreren anderen Systemen (z. B. einem oder mehreren Systemen eines Fahrzeugs, das gleich oder ähnlich dem Fahrzeug 102 ist), einem entfernten AV-System, das gleich oder ähnlich dem entfernten AV-System 114 ist, einem Flottenmanagementsystem, das gleich oder ähnlich dem Flottenmanagementsystem 116 ist, einem V2I-System, das gleich oder ähnlich dem V2I-System 118 ist, und/oder dergleichen) empfängt. Eine genaue Beschreibung der Faltungsoperation ist nachstehend mit Bezug auf 4C enthalten.
  • In einigen Ausführungsformen stellt das Erkennungssystem 402 Daten, die einer Eingabe (als eine initiale Eingabe bezeichnet) für die erste Faltungsschicht 422 bereit, und das Erkennungssystem 402 erzeugt Daten, die einer Ausgabe zugeordnet sind, unter Verwendung der ersten Faltungsschicht 422. In einigen Ausführungsformen stellt das Erkennungssystem 402 eine Ausgabe, die durch eine Faltungsschicht erzeugt ist, als eine Eingabe für eine andere Faltungsschicht bereit. Beispielsweise stellt das Erkennungssystem 402 die Ausgabe der ersten Faltungsschicht 422 als Eingabe für die Subsampling-Schicht 428, die zweite Faltungsschicht 424 und/oder die Faltungsschicht 426 bereit. In einem solchen Beispiel ist die erste Faltungsschicht 422 als eine vorgelagerte Schicht bezeichnet, und die Subsampling-Schicht 428, die zweite Faltungsschicht 424 und/oder die Faltungsschicht 426 sind als nachgelagerte Schichten bezeichnet. Ähnlich stellt in einigen Ausführungsformen das Erkennungssystem 402 die Ausgabe der Subsampling-Schicht 428 für die zweite Faltungsschicht 424 und/oder die Faltungsschicht 426 bereit, und in diesem Beispiel würde die Subsampling-Schicht 428 als eine vorgelagerte Schicht bezeichnet, und die zweite Faltungsschicht 424 und/oder die Faltungsschicht 426 würden als nachgelagerte Schichten bezeichnet.
  • In einigen Ausführungsformen verarbeitet das Erkennungssystem 402 die Daten, die der Eingabe geordnet sind, die für das CNN 420 bereitgestellt wird, bevor das Erkennungssystem 402 die Eingabe für das CNN 420 bereitstellt. Beispielsweise verarbeitet das Erkennungssystem 402 die Daten, die der Eingabe zugeordnet sind, die für das CNN 420 bereitgestellt wird, basierend darauf, dass das Erkennungssystem 402 Sensordaten (z. B. Bilddaten, LiDAR-Daten, Radar-Daten und/oder dergleichen) normalisiert.
  • In einigen Ausführungsformen erzeugt das CNN 420 eine Ausgabe basierend darauf, dass das Erkennungssystem 402 Faltungsoperationen, die jeder Faltungsschicht zugeordnet sind, ausführt. In einigen Beispielen erzeugt das CNN 420 eine Ausgabe basierend darauf, dass das Erkennungssystem 402 Faltungsoperationen, die jeder Faltungsschicht und einer initialen Eingabe zugeordnet sind, ausführt. In einigen Ausführungsformen erzeugt das Erkennungssystem 402 die Ausgabe und stellt die Ausgabe als vollständig verbundene Schicht 430 bereit. In einigen Beispielen stellt das Erkennungssystem 402 die Ausgabe der Faltungsschicht 426 als vollständig verbundene Schicht 430 bereit, wobei die vollständig verbundene Schicht 430 Daten enthält, die mehreren Merkmalswerten, die als F1, F2 ... FN bezeichnet sind, zugeordnet sind. In diesem Beispiel enthält die Ausgabe der Faltungsschicht 426 Daten, die mehreren ausgegebenen Merkmalswerten, die eine Vorhersage repräsentieren, zugeordnet sind.
  • In einigen Ausführungsformen identifiziert das Erkennungssystem 402 eine Vorhersage unter mehreren Vorhersagen basierend darauf, dass das Erkennungssystem 402 einen Merkmalswert identifiziert, der der höchsten Wahrscheinlichkeit dafür zugeordnet ist, dass er die korrekte Vorhersage unter den mehreren Vorhersagen ist. Beispielsweise wenn die vollständig verbundene Schicht 430 die Merkmalswerte F1, F2, ... FN enthält und F1 der größte Merkmalswert ist, identifiziert das Erkennungssystem 402 die F1 zugeordnete Vorhersage als korrekte Vorhersage unter den mehreren Vorhersagen. In einigen Ausführungsformen trainiert das Erkennungssystem 402 das CNN 420, um die Vorhersage zu erzeugen. In einigen Beispielen trainiert das Erkennungssystem 402 das CNN 420, um die Vorhersage zu erzeugen, basierend darauf, dass das Erkennungssystem 402 Trainingsdaten, die der Vorhersage zugeordnet sind, für das CNN 420 bereitstellt.
  • Jetzt auf die 4C und 4D Bezug nehmend ist ein Diagramm einer Beispieloperation des CNN 440 durch das Erkennungssystem 402 dargestellt. In einigen Ausführungsformen ist das CNN 440 (z. B. eine oder mehrere Komponenten des CNN 440) gleich oder ähnlich dem CNN 420 (z. B. einer oder mehreren Komponenten des CNN 420) (siehe 4B).
  • In Schritt 450 stellt das Erkennungssystem 402 Daten, die einem Bild zugeordnet sind, als Eingabe für das CNN 440 bereit (Schritt 450). Beispielsweise stellt, wie dargestellt, das Erkennungssystem 402 die Daten, die dem Bild zuzuordnen sind, für das CNN 440 bereit, wobei das Bild ein Graustufenbild ist, das als in einer zweidimensionalen (2D-) Anordnung gespeicherte Werte repräsentiert ist. In einigen Ausführungsformen enthalten die Daten, die dem Bild zugeordnet ist, Daten, die einem Farbbild zugeordnet sind, wobei das Farbbild als in einer dreidimensionalen (3D-) Anordnung gespeicherte Werte repräsentiert ist. Zusätzlich oder alternativ können die Daten, die dem Bild zugeordnet sind, Daten enthalten, die einem Infrarotbild, einem Radar-Bild und/oder dergleichen zugeordnet sind.
  • In Schritt 455 führt das CNN 440 eine erste Faltungsfunktion aus. Beispielsweise führt das CNN 440 die erste Faltungsfunktion basierend darauf aus, dass das CNN 400 die Werte, die das Bild repräsentieren, als Eingabe für ein oder mehrere Neuronen (nicht ausdrücklich dargestellt), 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 Bilds (manchmal als ein Erkennungsfeld bezeichnet) repräsentieren. In einigen Ausführungsformen ist jedes Neuron einem Filter (nicht ausdrücklich dargestellt) zugeordnet. Ein Filter (manchmal als ein Kernel bezeichnet) kann als eine Anordnung von Werten repräsentiert sein, deren Größe den Werten entspricht, die als Eingabe für das Neuron bereitgestellt werden. In einem Beispiel kann ein Filter ausgelegt sein, Kanten (z. B. horizontale Linien, vertikale Linien, Geraden und/oder dergleichen) zu identifizieren. In aufeinanderfolgenden Faltungsschichten können die Neuronen zugeordneten Filter ausgelegt sein, der Reihe nach komplexere Muster (z. B. Bögen, Objekte und/oder dergleichen) zu identifizieren.
  • In einigen Ausführungsformen führt das CNN 440 die erste Faltungsfunktion basierend darauf aus, dass das CNN 440 die als Eingabe für jedes aus dem einen oder den mehreren in der ersten Faltungsschicht 442 enthaltenen Neuronen bereitgestellten Werte mit den Werten des Filters, das jedem aus dem einen oder den mehreren Neuronen entspricht, multipliziert. Beispielsweise kann das CNN 440 die als Eingabe für jedes aus dem einen oder den mehreren in der ersten Faltungsschicht 442 enthaltenen Neuronen bereitgestellten Werte mit den Werten des Filters, das jedem aus dem einen oder den mehreren Neuronen entspricht, multiplizieren, um einen einzigen Wert oder eine Gruppe von Werten als eine Ausgabe zu erzeugen. In einigen Ausführungsformen ist die kollektive Ausgabe der Neuronen der ersten Faltungsschicht 442 als eine Faltungsausgabe bezeichnet. In einigen Ausführungsformen, in denen jedes Neuron das gleiche Filter aufweist, wird die Faltungsausgabe als eine Merkmalskarte bezeichnet.
  • In einigen Ausführungsformen stellt das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 für Neuronen einer nachgelagerten Schicht bereit. Zur Verdeutlichung halber kann eine vorgelagerte Schicht eine Schicht sein, die Daten zu einer anderen Schicht (als eine nachgelagerte Schicht bezeichnet) überträgt. Beispielsweise kann das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 für entsprechende Neuronen einer Subsampling-Schicht bereitstellen. In einem Beispiel stellt das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 für entsprechende Neuronen der ersten Subsampling-Schicht 444 bereit. In einigen Ausführungsformen addiert das CNN 440 einen Bias-Wert zu den Aggregaten aller Werte, die für jedes Neuron der nachgelagerten Schicht bereitgestellt sind. Beispielsweise addiert das CNN 440 einen Bias-Wert zu den Aggregaten aller Werte, die für jedes Neuron der ersten Subsampling-Schicht 444 bereitgestellt sind. In einem solchen Beispiel bestimmt das CNN 440 einen endgültigen Wert, der für jedes Neuron der ersten Subsampling-Schicht 444 bereitzustellen ist, basierend auf den Aggregaten aller Werte, die für jedes Neuron bereitgestellt sind, und einer Aktivierungsfunktion, die jedem Neuron der ersten Subsampling-Schicht 444 zugeordnet ist.
  • In Schritt 460 führt das CNN 440 eine erste Subsampling-Funktion aus. Beispielsweise kann das CNN 440 eine erste Subsampling-Funktion basierend darauf ausführen, dass das CNN 440 die durch die erste Faltungsschicht 442 ausgegebenen Werte für entsprechende Neuronen der ersten Subsampling-Schicht 444 bereitstellt. In einigen Ausführungsformen führt das CNN 440 die erste Subsampling-Funktion basierend auf einer Aggregationsfunktion aus. In einem Beispiel führt das CNN 440 die erste Subsampling-Funktion basierend darauf aus, dass das CNN 440 die maximale Eingabe unter den Werten, die für ein gegebenes Neuron bereitgestellt werden, bestimmt (als eine Max-Pooling-Funktion bezeichnet). In einem weiteren Beispiel führt das CNN 440 die erste Subsampling-Funktion basierend darauf aus, dass das CNN 440 die mittlere Eingabe unter den Werten, die für ein gegebenes Neuron bereitgestellt werden, bestimmt (als eine Mittelwert-Pooling-Funktion bezeichnet). In einigen Ausführungsformen erzeugt das CNN 440 eine Ausgabe basierend darauf, dass das CNN 440 die Werte für jedes Neuron der ersten Subsampling-Schicht 444 bereitstellt, wobei die Ausgabe manchmal als eine „subsampled“ Faltungsausgabe bezeichnet ist.
  • In Schritt 465 führt das CNN 440 eine zweite Faltungsfunktion aus. In einigen Ausführungsformen führt das CNN 440 die zweite Faltungsfunktion auf eine Weise aus, die ähnlich dem ist, wie das CNN 440 die erste Faltungsfunktion ausführt, was vorstehend beschrieben ist. In einigen Ausführungsformen führt das CNN 440 die zweite Faltungsfunktion basierend darauf aus, dass das CNN 440 die durch die erste Subsampling-Schicht 444 ausgegebenen Werte als Eingabe für ein oder mehrere in der zweiten Faltungsfunktion 446 enthaltenen Neuronen (nicht ausdrücklich dargestellt) bereitstellt. In einigen Ausführungsformen ist jedem Neuron der zweiten Faltungsschicht 446 ein Filter zugeordnet, wie vorstehend beschrieben. Das/die Filter, die der zweiten Faltungsschicht 446 zugeordnet sind, können ausgelegt sein, komplexere Muster zu identifizieren als das Filter, das der ersten Faltungsschicht 442 zugeordnet ist, wie vorstehend beschrieben.
  • In einigen Ausführungsformen führt das CNN 440 die zweite Faltungsfunktion basierend darauf aus, dass das CNN 440 die als Eingabe für jedes aus dem einen oder den mehreren in der zweiten Faltungsschicht 446 enthaltenen Neuronen bereitgestellten Werte mit den Werten des Filters, das jedem aus dem einen oder den mehreren Neuronen entspricht, multipliziert. Beispielsweise kann das CNN 440 die als Eingabe für jedes aus dem einen oder den mehreren in der zweiten Faltungsschicht 446 enthaltenen Neuronen bereitgestellten Werte mit den Werten des Filters, das jedem aus dem einen oder den mehreren Neuronen entspricht, multiplizieren, um einen einzigen Wert oder eine Gruppe von Werten als eine Ausgabe zu erzeugen.
  • In einigen Ausführungsformen stellt das CNN 440 die Ausgaben jedes Neurons der zweiten Faltungsschicht 446 für Neuronen einer nachgelagerten Schicht bereit. Beispielsweise kann das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 für entsprechende Neuronen einer Subsampling-Schicht bereitstellen. In einem Beispiel stellt das CNN 440 die Ausgaben jedes Neurons der ersten Faltungsschicht 442 für entsprechende Neuronen der zweiten Subsampling-Schicht 448 bereit. In einigen Ausführungsformen addiert das CNN 440 einen Bias-Wert zu den Aggregaten aller Werte, die für jedes Neuron der nachgelagerten Schicht bereitgestellt sind. Beispielsweise addiert das CNN 440 einen Bias-Wert zu den Aggregaten aller Werte, die für jedes Neuron der zweiten Subsampling-Schicht 448 bereitgestellt sind. In einem solchen Beispiel bestimmt das CNN 440 einen endgültigen Wert, der für jedes Neuron der zweiten Subsampling-Schicht 448 bereitzustellen ist, basierend auf den Aggregaten aller Werte, die für jedes Neuron bereitgestellt sind, und einer Aktivierungsfunktion, die jedem Neuron der zweiten Subsampling-Schicht 448 zugeordnet ist.
  • In Schritt 470 führt das CNN 440 eine zweite Subsampling-Funktion aus. Beispielsweise kann das CNN 440 eine zweite Subsampling-Funktion basierend darauf ausführen, dass das CNN 440 die durch die zweite Faltungsschicht 446 ausgegebenen Werte für entsprechende Neuronen der zweiten Subsampling-Schicht 448 bereitstellt. In einigen Ausführungsformen führt das CNN 440 die zweite Subsampling-Funktion basierend darauf aus, dass das CNN 440 eine Aggregationsfunktion verwendet. In einem Beispiel führt das CNN 440 die erste Subsampling-Funktion basierend darauf aus, dass das CNN 440 die maximale Eingabe oder eine mittlere Eingabe unter den Werten, die für ein gegebenes Neuron bereitgestellt werden, bestimmt, wie vorstehend beschrieben. In einigen Ausführungsformen erzeugt das CNN 440 eine Ausgabe basierend darauf, dass das CNN 440 die Werte für jedes Neuron der zweiten Subsampling-Schicht 448 bereitstellt.
  • In Schritt 475 stellt das CNN 440 die Ausgabe jedes Neurons der zweiten Subsampling-Schicht 448 für die vollständig verbundenen Schichten 449 bereit. Beispielsweise stellt das CNN 440 die Ausgabe jedes Neurons der zweiten Subsampling-Schicht 448 für die vollständig verbundenen Schichten 449 bereit, um die vollständig verbundenen Schichten 449 zu veranlassen, eine Ausgabe zu erzeugen. In einigen Ausführungsformen sind die vollständig verbundenen Schichten 449 ausgelegt, eine Ausgabe zu erzeugen, die einer Vorhersage zugeordnet ist (manchmal als eine Klassifizierung bezeichnet). Die Vorhersage kann eine Angabe enthalten, dass ein Objekt, das in dem als Eingabe für das CNN 440 bereitgestellten Bild enthalten ist, ein Objekt, eine Gruppe von Objekten und/oder dergleichen enthält. In einigen Ausführungsformen führt das Erkennungssystem 402 eine oder mehrere Operationen aus und/oder stellt Daten, die der Vorhersage zuzuordnen sind, für ein anderes System bereit, wie hier beschrieben ist.
  • Trainingssystem
  • 5A ist ein Blockdiagramm, das ein Beispiel eines Ende-zu-Ende-Trainingssystems 500 für ein Erkennungssystem 402 darstellt. Das Trainingssystem 500 kann verwendet werden, um das Erkennungssystem 402 Ende-zu-Ende zu trainieren, Semantikmerkmale unter Verwendung vereinigter Bilder zu extrahieren. Die vereinigten Bilder können aus der Kombination unterschiedlicher Typen von Bildern wie z. B. einem Kamera-Bild und einem Lidar-Bild resultieren. Die extrahierten Semantikmerkmale können, ohne jedoch darauf beschränkt zu sein, Breite, Höhe und Länge eines Objekts in einem Bild, Objektklassifizierung oder Klassenkennzeichen, Begrenzungsrahmen für ein Objekt, Objektbewegung, Objektorientierung, Objektbewegungsbahnvorhersage, Objektattribute (z. B. Ampelstatus (z. B. rot, grün, gelb, Blinken usw.) oder Auto mit links/rechts blinkendem Blinker oder blinkendem Warnblinklicht usw.) usw. enthalten.
  • Durch Trainieren des Erkennungssystems Ende-zu-Ende zum Extrahieren von Semantikmerkmalen unter Verwendung vereinigter Bilder kann das Trainingssystem 500 sowohl die Fähigkeit des Erkennungssystems 402, Objekte innerhalb eines Bilds genau zu detektieren, den Ort von Objekten innerhalb eines Bilds genau zu detektieren, zukünftige Bewegungsbahnen jedes Objekts vorherzusagen (z. B. zu bestimmen, ob ein Auto einen rechten Blinker eingeschaltet hat, was dem System ermöglichen wird vorherzusagen, dass das Auto nach rechts abbiegen wird, was die Bewegungsbahnvorhersage erleichtern kann), verbessern, als auch mehr nützliche Semantikdaten für das Netz für vereinigte Bilder bereitzustellen, und Multi-Task-Funktionen (z. B. gleichzeitig oder simultan eine Aufgabe zur bildbasierten Semantiksegmentierung, eine Aufgabe zur Lidar-basierten Semantiksegmentierung, eine Aufgabe zur 3d-Objektdetektion und/oder 3d-Objektvorhersage) auszuführen. Das verbesserte Erkennungssystem 402 kann wiederum die Sicherheit, Genauigkeit und Zuverlässigkeit des autonomen Fahrzeugcomputers 400 und des autonomen Systems 202 verbessern.
  • In dem dargestellten Beispiel von 5A enthält das Trainingssystem 500 unterschiedliche Typen von Bildern 501 a, 501 b (individuell oder gemeinsam als Bilder 501 bezeichnet), das Erkennungssystem 402, einen Verlustrechner 508 und verifizierte Bilder 510. Es können zusätzliche Elemente, weniger Elemente, andere Elemente und/oder anders angeordnete Elemente als die in 5A dargestellten vorhanden sein. Zusätzlich oder alternativ kann wenigstens ein Element des Trainingssystems 500 eine oder mehrere Funktionen ausführen, die so beschrieben sind, dass sie durch wenigstens ein anderes Element von 5A ausgeführt werden. Beispielsweise können die Funktionen des Verlustrechners 508 durch das Netz 506 für vereinigte Bilder ausgeführt werden, und/oder der Verlustrechner 508 kann einen Teil des Erkennungssystems 402 bilden. Zusätzlich oder alternativ kann wenigstens eine Gruppe von Elementen des Trainingssystems 500 eine oder mehrere Funktionen ausführen, die so beschrieben sind, dass sie durch wenigstens eine andere Gruppe von Elementen des Trainingssystems 500 ausgeführt werden.
  • Die Bilder 501 und die verifizierten Bilder 510 können unterschiedliche Typen von Bildern enthalten, die dem Sensor oder der Vorrichtung, der/die zu ihrer Erzeugung verwendet wird, entsprechen. Beispielsweise können die Bilder 501 a Kamerabilder sein, die aus einer oder mehreren Kameras wie z. B. den Kameras 202a erzeugt werden. Die Bilder 501b können beispielsweise Lidar-Bilder sein, die aus einem oder mehreren Lidar-Sensoren wie z. B. den Lidar-Sensoren 202b erzeugt werden. Andere Bildtypen können verwendet werden, wie z. B. Radar-Bilder, die aus einem oder mehreren Radar-Sensoren erzeugt werden (z. B. aus den Radar-Sensoren 202c erzeugt werden).
  • Die Bilder 501 und die verifizierten Bilder 510 können in einem oder mehreren Datenspeichern als eine oder mehrere Datenmengen gespeichert sein. Beispielsweise können die Bilder 501a in einem Datenspeicher als eine oder mehrere Datenmengen gespeichert sein, und die Bilder 501b können in einem anderen Datenspeicher als eine oder mehrere Datenmengen gespeichert sein. Als ein weiteres Beispiel können die Bilder 501 in demselben Datenspeicher als unterschiedliche Datenmengen gespeichert sein. Dementsprechend können Bilder 501 desselben Typs zusammen als eine oder mehrere Datenmengen gespeichert sein, und Bilder unterschiedlicher Typen können in unterschiedlichen Datenspeichern und/oder als unterschiedliche Datenmengen desselben Datenspeichers gespeichert sein, usw. Die Datenmengen der Bilder 501 und verifizierten Bilder 510 können Open-Source-Datenmengen und/oder proprietäre Datenmengen sein.
  • In einigen Fällen können die Datenmengen von Bildern 501 und verifizierten Bildern 510 von unterschiedlicher Größe sein oder eine unterschiedliche Anzahl von Bildern aufweisen. Beispielsweise kann eine Datenmenge von Kamera-Bildern größer sein und/oder mehr Bilder aufweisen als eine Datenmenge von Lidar-Bildern und/oder eine Datenmenge von Radar-Bildern, oder umgekehrt.
  • Für einige der oder alle Bilder einer Datenmenge kann die Datenmenge eine nicht annotierte oder saubere Version eines Bilds (z. B. Bild 501) und eine entsprechende annotierte Version desselben Bilds (z. B. Bild 510) enthalten. Das annotierte Bild 510 kann hier auch als ein vertrauenswürdiges Bild und/oder verifiziertes Bild 510 bezeichnet sein. In speziellen Fällen kann für jedes Bild einer Datenmenge die Datenmenge das Bild (z. B. das Bild 501) und Annotationen für dieses Bild enthalten. In einigen solchen Fällen können die Annotationen allein oder in Kombination mit dem Bild als das verifizierte Bild 510 bezeichnet sein.
  • Die verifizierten Bilder 510 können Merkmale, die durch einen Anwender annotiert sind, enthalten, wie z. B., ohne jedoch darauf beschränkt zu sein, Breite, Höhe und Länge eines Objekts in einem Bild, Objektklassifizierung oder Klassenkennzeichen (z. B. Fahrzeug, Fußgänger, Fahrrad, Hindernis, Absperrkegel, befahrbare Oberfläche oder ein Hintergrund usw.), Begrenzungsrahmen für ein Objekt, Objektbewegung (z. B. Geschwindigkeit usw.), Objektorientierung, Objektattribute (z. B. Ampelstatus (z. B. rot, grün, gelb, Blinken usw.) oder Auto mit links/rechts blinkendem Blinker oder blinkendem Warnblinklicht usw.), Objektbewegungsbahnvorhersage usw. Die verifizierten Bilder 510 können durch eine Person annotiert sein und zur Verlustberechnung verwendet werden, um das Erkennungssystem 402 zu trainieren. In speziellen Fällen können die verifizierten Bilder 510 auch als „Ground-Truth“-Bilder und die Bilddaten eines verifizierten Bilds als „Ground-Truth“-Bilddaten bezeichnet sein.
  • In dem dargestellten Beispiel von 5A enthält das Erkennungssystem 402 ein Bildmerkmalsextraktionsnetz 502, ein Vereinigungssystem 504 und ein Netz 506 für vereinigte Bilder. Es können zusätzliche Elemente, weniger Elemente, andere Elemente und/oder anders angeordnete Elemente als die in 5A dargestellten vorhanden sein. Zusätzlich oder alternativ kann wenigstens ein Element des Erkennungssystems 402 eine oder mehrere Funktionen ausführen, die so beschrieben sind, dass sie durch wenigstens ein anderes Element von 5A ausgeführt werden. Zusätzlich oder alternativ kann wenigstens eine Gruppe des Erkennungssystems 402 eine oder mehrere Funktionen ausführen, die so beschrieben sind, dass sie durch wenigstens eine andere Gruppe von Elementen des Erkennungssystems 402 ausgeführt werden.
  • Bildmerkmalsextraktionsnetz
  • Das Bildmerkmalsextraktionsnetz 502 kann unter Verwendung eines oder mehrerer CNNs, die gleich oder ähnlich den CNNs 420 sind, implementiert sein und kann ausgelegt sein, Bilddaten, die dem Bild 501 zugeordnet sind, als Eingabe zu empfangen und ein Semantikbild und/oder Semantikdaten, die dem Semantikbild zugeordnet sind, auszugeben.
  • In speziellen Fällen kann das Bildmerkmalsextraktionsnetz 502 unter Verwendung der neuronalen Netzmodelle DeepLabv3+ oder PSP+ implementiert sein. Es ist jedoch zu verstehen, dass eine Vielfalt neuronaler Netze verwendet werden können, um Merkmale aus einem Bild zu extrahieren. In einigen Fällen können die Bilder 501 Kamera-Bilder sein, es ist jedoch zu verstehen, dass verschiedene Typen von Bildern als Eingabe für das Bildmerkmalsextraktionsnetz 502 verwendet werden können.
  • Wie hier beschrieben ist, wenigstens mit Bezug auf das CNN 420, kann das Bildmerkmalsextraktionsnetz 502 ein oder mehrere Filter, Faltungsschichten, Subsampling-Schichten und/oder vollständig verbundene Schichten enthalten, die verwendet werden können, um unterschiedliche Objekte in einem Bild 501 (z. B. Fahrzeug, Fußgänger, Fahrrad, Hindernis, Absperrkegel, befahrbare Oberfläche oder einen Hintergrund usw.) zu identifizieren und zu klassifizieren. Dementsprechend können in speziellen Fällen die durch das Bildmerkmalsextraktionsnetz 502 ausgegebenen Semantikdaten ein oder mehrere Objekte in dem Bild 501 und die Objektklassifizierung für die jeweiligen Objekte identifizieren.
  • Das semantische Bild kann Zeilen von Pixeln enthalten. Einige oder alle Pixel in dem Semantikbild können Semantikdaten wie z. B. eine oder mehrere Merkmalseinbettungen enthalten. In speziellen Fällen können sich die Merkmalseinbettungen auf ein oder mehrere Objektattribute beziehen, wie z. B., ohne jedoch darauf beschränkt zu sein, auf eine Objektklassifizierung oder ein Klassenkennzeichen, das eine Klassifizierung eines Objekts (manchmal als die Klasse eines Objekts bezeichnet) identifiziert (nicht einschränkende Beispiele: Fahrzeug, Fußgänger, Fahrrad, Absperrkegel, befahrbare Oberfläche oder ein Hintergrund usw.). Die Objektklassifizierung kann auch als Pixelklassenwahrscheinlichkeiten oder Semantiksegmentierungsbewertungen bezeichnet sein. In einigen Fällen kann die Objektklassifizierung für das Pixel eines Bilds 501 als kompakte, zusammengefasste Merkmale des Bilds 501 dienen. Beispielsweise können die Objektklassifizierungen einen Wahrscheinlichkeitswert enthalten, der die Wahrscheinlichkeit dafür, dass die identifizierte Objektklassifizierung für ein Pixel korrekt vorhergesagt wird, angibt.
  • In einigen Fällen können die Merkmalseinbettungen einen oder mehrere n-dimensionale Merkmalsvektoren enthalten. In einigen solchen Fällen kann ein individueller Merkmalsvektor keinem Objektattribut entsprechen, jedoch kann eine Kombination aus mehreren n-dimensionalen Merkmalsvektoren Informationen über die Attribute eines Objekts, wie z. B., ohne jedoch darauf beschränkt zu sein, seine Klassifizierung, Breite, Länge, Höhe usw. beinhalten. In speziellen Fällen können die Merkmalseinbettungen eine oder mehrere Gleitkommazahlen enthalten, die ein nachgelagertes Modell bei seiner Aufgabe zur Detektion/Segmentierung/Vorhersage unterstützen können.
  • Vereinigungssystem
  • Das Vereinigungssystem 504 kann unter Verwendung eines oder mehrerer Prozessoren implementiert sein und kann ausgelegt sein, unterschiedliche Typen von Bildern miteinander zu vereinigen, um ein vereinigtes Bild zu bilden. Beispielsweise kann das Vereinigungssystem 504 Lidar- und Kamera-, Radar- und Kamera-, Lidar- und Kamera- und/oder Lidar-, Radar- und Kamera-Bilder vereinigen, um ein vereinigtes Bild zu bilden. In speziellen Fällen, wie z. B. wenn das Vereinigungssystem 504 Lidar-, Radar- und ein Kamera-Bild vereinigt, könnte das vereinigte Bild eine 3D-Szene enthalten, wobei jeder Punkt in der 3D-Szene Lidar-Daten, Radar-Daten und einen projizierten Pixelwert enthält.
  • In einigen Fällen kann das Vereinigungssystem 504 bei Vereinigen der Bilder Bilder aus einem Koordinatenrahmentyp (z. B. Lidar-Koordinatenrahmen) in einen anderen Koordinatenrahmentyp (z. B. Kamera-Koordinatenrahmen oder Vogelperspektive) transformieren. Beispielsweise kann das Vereinigungssystem ein Lidar-Bild (z. B. eine 3D-Punktwolke) in ein Vogelperspektiven-Bild transformieren und kann die Pixel des Vogelperspektiven-Bilds mit den Pixeln aus dem Semantikbild vereinigen.
  • In speziellen Fällen kann jedes Pixel aus einem Bild eines Typs auf ein Pixel eines weiteren Bilds eines anderen Typs abgebildet oder mit ihm vereinigt werden. Das resultierende Pixel kann hier auch als ein vereinigtes Pixel bezeichnet sein. In speziellen Fällen vereinigt das Vereinigungssystem 504 entsprechende Pixel (z. B. Pixel an derselben x,y-Position der jeweiligen Bilder) aus den Bildern.
  • In einigen Fällen werden nur einige der Pixel aus dem ersten Bild auf ein Pixel aus dem zweiten Bild abgebildet oder mit ihm vereinigt. Beispielsweise kann die Bildgröße der Bilder unterschiedlich sein, so dass ein Pixel aus einem ersten Bild nicht auf ein zweites Bild abgebildet werden kann (z. B. ist das erste Bild größer als das zweite Bild), oder Pixel in dem zweiten Bild werden nicht auf das erste Bild abgebildet (z. B. ist das zweite Bild größer als das erste Bild).
  • Als ein weiteres nicht einschränkendes Beispiel kann jedes Pixel aus einem Bild mit niedrigerer Auflösung auf ein Bild in dem Bild mit höherer Auflösung abgebildet werden, während nicht alle Pixel aus dem Bild mit höherer Auflösung auf ein Pixel in dem Bild mit niedrigerer Auflösung abgebildet werden können. In einigen solchen Fällen kann ein Pixel aus dem Bild höherer Auflösung auf ein Pixel in dem Bild mit niedrigerer Auflösung abgebildet werden, falls ein entsprechendes Pixel in der niedrigeren Auflösung existiert. Beispielsweise können Lidar-Bilder eine höhere oder niedrigere Auflösung als Kamera-Bilder aufweisen. In einigen solchen Fällen können nur einige der Pixel in dem Kamera-Bild auf ein Pixel in dem Lidar-Bild abgebildet oder mit ihm vereinigt werden.
  • In Fällen, in denen eines der zu vereinigenden Bilder ein Semantikbild ist, können die Semantikdaten aus einem Semantikbild auf ein zweites Bild abgebildet oder mit ihm vereinigt werden. Beispielsweise kann ein vereinigtes Pixel Bilddaten und/oder Semantikdaten, die dem Semantikbild zugeordnet sind, und Bilddaten, die dem zweiten Bild zugeordnet sind, enthalten. Dementsprechend kann ein Pixel Kamera-Bilddaten (z. B. Position (x, y), rot, grün, blau usw.), Lidar-Bilddaten (z. B. Position (x, y, z), Reflexionsvermögen, Intensität, Zeitstempel usw.), und/oder Semantikdaten (z. B. Klassenkennzeichen, Semantiksegmentierungsbewertung oder einen berechneten Merkmalsvektor usw. oder anderer Merkmalseinbettung usw.) zugeordnet sein (z. B. enthalten). In einigen Fällen kann das vereinigte Pixel einen Typ von Bilddaten mit Semantikdaten enthalten. Beispielsweise kann ein vereinigtes Bild Lidar-Bilddaten und Semantikdaten, jedoch keine Kamera-Bilddaten enthalten, und umgekehrt. In speziellen Fällen kann das vereinigte Pixel mehrere Typen von Bilddaten mit Semantikdaten, wie z. B. Lidar-, Radar- und/oder Kamera-Bilddaten mit Semantikdaten, enthalten.
  • Dementsprechend kann das Vereinigungssystem 504 ein vereinigtes Bild ausgeben, das Semantikdaten, die dem vereinigten Bild zugeordnet sind, und Bilddaten, die wenigstens einem der Bildtypen zugeordnet sind, enthält. In einigen Ausführungsformen kann das vereinigte Bild ähnlich anderen Bildern sein, die durch einen 3D-Objektdetektor verbraucht werden, außer dass das vereinigte Bild wenigstens eine oder mehrere zusätzliche Dimensionen (z. B. die Semantikdaten) enthalten kann.
  • In einigen Fällen kann das Vereinigungssystem 504 drei oder mehr Bilder vereinigen, um das vereinigte Bild zu erzeugen. Beispielsweise kann das Vereinigungssystem 504 Bilddaten, die einem Lidar-Bild zugeordnet sind, Semantikdaten, die einem aus einem Kamera-Bild erzeugten Semantikbild zugeordnet sind, empfangen und Daten, die einem Kartenbild (oder einer Karte) zugeordnet sind, abbilden. Andere Bildtypen, wie z. B. Radar, können verwendet werden. In einigen solchen Fällen können die Kartendaten Orte innerhalb eines geographischen Bereichs, die Fußgängerüberwege, Auto- oder Fahrradspuren, Fußgängerwege usw. enthalten, angeben. Das Vereinigungssystem 504 kann die Kartendaten mit den Bilddaten und den Semantikdaten vereinigten, um zu ermöglichen, dass das Netz 506 für vereinigte Bilder zusätzliche Merkmale erzeugt. In einigen Fällen kann das Vereinigungssystem 504 die Kartendaten mit den Bilddaten und den Semantikdaten durch Projizieren der Bilddaten auf ein Vogelperspektiven-Bild und dann Einbetten einiger der oder aller Pixel des Vogelperspektiven-Bilds mit Kartendaten und den Semantikdaten vereinigen. In einigen solchen Fällen können die Pixel in dem vereinigten Bild Bilddaten, die dem Lidar/Vogelperspektiven-Bild zugeordnet sind, Semantikdaten, die dem Semantikbild zugeordnet sind, und Kartendaten, die den Kartendaten zugeordnet sind (z. B. Orte von Fußgängerüberwegen, Fahrspuren usw.), enthalten.
  • In einigen Fällen verwendet das Vereinigungssystem 504 Ortsinformationen, um die Kartendaten mit den Bilddaten zu vereinigen. Beispielsweise kann das Vereinigungssystem 504 basierend auf den Ortsinformationen einen Ort und/oder eine Orientierung der Bilddaten relativ zu den Kartendaten bestimmen. Basierend auf dem bestimmten Ort kann das Vereinigungssystem 504 bestimmen, welche Pixel des Bilds mit entsprechenden Kartendaten zu annotieren oder einzubetten sind.
  • In speziellen Fällen, wie z. B. wenn das Sichtfeld von zwei Kameras überlappt und ein Semantikbild aus jedem der beiden Kamera-Bilder erzeugt wird, können einige Pixel in dem vereinigten Bild vorhanden sein, für die unterschiedliche Semantikdaten verwendet werden können (z. B. ein Pixel aus dem ersten Kamera-Bild und ein Pixel aus dem zweiten Kamera-Bild bilden auf dasselbe Lidar-Pixel ab). In einigen solchen Fällen können die Semantikdaten, die aus den beiden Kamera-Bildpixeln erzeugt werden, zur Vereinigung mit dem eines anderen Typs zufällig gewählt werden. In speziellen Fällen kann das Vereinigungssystem 504 einem der beiden Kamera-Bilder einen höheren Vertrauenswert zuweisen und die aus diesem Kamera-Bild erzeugten Semantikdaten zur Vereinigung mit dem Bild eines anderen Typs verwenden.
  • In einigen Fällen kann eine größere Zeitdifferenz zwischen der Zeit, die benötigt wird, um ein Semantikbild aus einem Bild 501A zu erzeugen und das Semantikbild für das Vereinigungssystem 504 bereitzustellen, und der Zeit, die benötigt wird, um das Bild 501b für das Vereinigungssystem 504 bereitzustellen, vorhanden sein. Dementsprechend kann in einigen Fällen das Vereinigungssystem 504 die Bilder 501 a, 501 b, die in der Zeitdomäne voneinander versetzt sind, vereinigen. Beispielsweise kann das Vereinigungssystem 504 ein Bild 501b, das der Zeit 2 entspricht, mit einem Semantikbild, das aus einem Bild 501a, das der Zeit 1 entspricht, erzeugt ist, vereinigen. In speziellen Fällen können die Bilder 501 a, 501 b um eine oder mehrere Mikrosekunden oder Millisekunden usw. voneinander versetzt sein.
  • Netz für vereinigte Bilder
  • Das Netz 506 für vereinigte Bilder kann unter Verwendung eines oder mehrerer CNNs, die gleich oder ähnlich dem CNN 420 und/oder CNN 440 sind, implementiert sein und kann ausgelegt sein, vereinigte Bilddaten, die einem vereinigten Bild zugeordnet sind, als Eingabe zu empfangen und Merkmalsdaten, die einem oder mehreren aus dem vereinigten Bild extrahierten Merkmalsdaten zugeordnet sind, ausgeben und/oder ein annotiertes vereinigtes Bild, das die Bilddaten, die wenigstens einem Bildtyp zugeordnet sind (z. B. Bilddaten wenigstens eines der Bilder, die verwendet sind, um das vereinigte Bild zu erzeugen), Semantikdaten, die dem vereinigten Bild zugeordnet sind (z. B. die Semantikdaten, die durch das Bildmerkmalsextraktionsnetz 502 erzeugt sind), und Merkmalsdaten, die dem einen oder mehreren aus dem vereinigten Bild extrahierten Merkmalen zugeordnet sind, enthält, ausgeben.
  • In einigen Fällen kann das Netz 506 für vereinigte Bilder unter Verwendung eines neuronalen Lidar-Netzes und/oder eines Vorhersagenetzes implementiert sein. In einigen Fällen ist das neuronale Lidar-Netz ausgelegt, die Breite, die Höhe und die Länge eines Objekts in einem Bild, Begrenzungsrahmen für ein Objekt, die Objektbewegung und/oder Objektorientierung zu bestimmen. In speziellen Fällen ist das Vorhersagenetz ausgelegt, sowohl Merkmale ähnlich dem neuronalen Lidar-Netz als auch eine Objektbewegungsbahnvorhersage zu bestimmen. In speziellen Fällen kann das Netz 506 für vereinigte Bilder unter Verwendung von PointPillars-, VoxelNet- oder PointR-CNN-Netzen implementiert sein.
  • Wie hier beschrieben ist, wenigstens mit Bezug auf das CNN 420, kann das Netz 506 für vereinigte Bilder ein oder mehrere Filter, Faltungsschichten, Subsampling-Schichten und/oder vollständig verbundene Schichten enthalten, die verwendet werden können, um die Breite, Höhe und Länge eines Objekts in dem vereinigten Bild zu detektieren, Begrenzungsrahmen für das Objekt zu erzeugen, die Objektbewegung und die Objektorientierung zu bestimmen und/oder die Objektbewegungsbahn unter Verwendung des vereinigten Bilds vorherzusagen.
  • Wie in der US-Anmeldung Nr. 17/096,916 und „PointPainting: Sequential Fusion for 3D Object Detection,“ arXiv:1911.10150v2 [cs.CV], 6. Mai 2020, von denen jedes hier durch Bezugnahme für alle Zwecke mit aufgenommen ist, beschrieben ist, kann das Netz 506 für vereinigte Bilder in einigen Fällen einen Pillar-Codierer enthalten, der ein Pseudobild zu einem Backbone-Netz für tiefes Lernen ausgibt. Der Backbone für tiefes Lernen kann Merkmale berechnen und zu einem Detektionskopf ausgeben. Der Detektionskopf kann orientierte 3D-Begrenzungsrahmen ausgeben, wie beschrieben ist in „PointPillars: Fast Encoders for Object Detection from Point Clouds“, arXiv:1812.05784v2 [cs.LG] 5. Mai 2019, dessen Inhalte hier durch Bezugnahme für alle Zwecke vollständig aufgenommen sind.
  • Die durch das Netz 506 für vereinigte Bilder erzeugten Merkmalsdaten können, ohne jedoch darauf beschränkt zu sein, irgendeines oder irgendeine Kombination aus Breite, Höhe und Länge eines Objekts in dem vereinigten Bild, Begrenzungsrahmen für das Objekt, Objektbewegung, Objektorientierung und/oder Objektbewegungsbahnvorhersage enthalten. Die erzeugten Merkmale können in das vereinigte Bild codiert werden, um das annotierte vereinigte Bild zu bilden.
  • In einigen Fällen können eines der oder alle Pixel in dem annotierten vereinigten Bild Merkmalsdaten enthalten, die einem oder mehreren Merkmalen, die aus diesem Pixel, einer Gruppe von Pixeln oder dem Bild extrahiert sind, zugeordnet sind. Beispielsweise kann ein Pixel in dem annotierten vereinigten Bild einen oder mehrere Ortswerte, die eine Höhe, Breite oder Länge eines Objekts angeben, einen Begrenzungsrahmenwert, der einen Rand oder einen Abschnitt eines Begrenzungsrahmens angibt, einen Objektbewegungswert, der die Bewegung des Objekts angibt, einen Objektorientierungswert, der die Orientierung des Objekts angibt, und/oder einen Objektbewegungsbahnwert, der die Bewegungsbahn des Objekts angibt, enthalten.
  • Einige der oder alle Pixel in dem annotierten vereinigten Bild können zusätzliche Daten enthalten. Beispielsweise kann ein Pixel in dem annotierten vereinigten Bild Bilddaten, die wenigstens einem Bildtyp zugeordnet sind (z. B. Bilddaten wenigstens eines der Bilder, die verwendet sind, um das vereinigte Bild zu erzeugen), Semantikdaten, die dem vereinigten Bild zugeordnet sind (z. B. die Semantikdaten, die durch das Bildmerkmalsextraktionsnetz 502 erzeugt sind), und Merkmalsdaten, die dem einen oder den mehreren dem vereinigten Pixel zugeordneten Merkmalen zugeordnet sind, enthalten. Beispielsweise kann ein Pixel in dem annotierten vereinigten Bild eine oder mehrere Annotierungen für den Ort (x, y, z), Reflexionsvermögen, Intensität, Zeitstempel, andere Objektklassenwahrscheinlichkeiten, Begrenzungsrahmen, Bewegungsbahnvorhersage, Bewegung usw. enthalten.
  • Verlustrechner
  • Der Verlustrechner 508 kann unter Verwendung eines oder mehrerer Prozessoren implementiert sein und kann ausgelegt sein, die annotierten vereinigten Bilder mit einem verifizierten Bild 510 zu vergleichen. Wie hier beschrieben ist, kann das verifizierte Bild 510 in einigen Fällen ein durch einen Anwender annotiertes Bild enthalten, das einem Bild 501 entspricht, das für das Bildmerkmalsextraktionsnetz 502 bereitgestellt ist. In speziellen Fällen können das verifizierte Bild 510 und das Bild 501 demselben Bild entsprechen, wobei das verifizierte Bild 510 eine oder mehrere durch einen Anwender vorgenommene Annotationen enthält.
  • Die Typen von Annotationen in dem verifizierten Bild 510 können den Typen von Annotationen in dem annotierten vereinigten Bild entsprechen. Falls beispielsweise das annotierte vereinigte Bild Annotationen oder Anreicherungen für Objektklassen, Begrenzungsrahmen, Geschwindigkeit, Bewegungsbahn usw. enthält, kann das verifizierte Bild 510 Annotationen für Objektklassen, Begrenzungsrahmen, Geschwindigkeit, Bewegungsbahn usw. enthalten.
  • Um den Verlust zu berechnen, kann der Verlustrechner die Annotationen in dem annotierten vereinigten Bild mit den Annotationen in dem verifizierten Bild 510 vergleichen. In einigen Fällen berechnet der Verlustrechner 508 einen Verlust für einige oder alle Pixel in dem annotierten vereinigten Bild. Beispielsweise kann der Verlustrechner 508 die Annotationen einiger oder aller Pixel in dem annotierten vereinigten Bild mit einem entsprechenden Pixel in dem verifizierten Bild 510 vergleichen.
  • Der Verlustrechner 508 kann verschiedene Typen von Verlusten berechnen, die, ohne jedoch darauf beschränkt zu sein, einen Klassifizierungsverlust, der der Genauigkeit der Klassifizierung eines Objekts entspricht, einen Ortsbestimmungsverlust, der der Genauigkeit der Größe, des Orts und/oder der Orientierung eines Objekts entspricht, einen Attributverlust, der einem oder mehreren Attributen oder Merkmalen eines Objekts (z. B. Objektbewegungsbahn, Objektbewegung) entspricht, usw. enthalten. Außerdem kann der Verlustrechner 508 eine Vielzahl von Techniken verwenden, um den Verlust zu berechnen. Beispielsweise kann der Verlustrechner einen mittleren quadratischen Fehler (MSE), einen mittleren absoluten Fehler, Kreuzentropie oder logarithmischen Verlust, „Hinge“-Verlust, Divergenzverlust usw. verwenden, um den Verlust zwischen dem annotierten vereinigten Bild und einem verifizierten Bild 510 zu berechnen.
  • Der Verlustrechner kann unterschiedliche Bildtypen verwenden, um den Verlust zu berechnen, abhängig von dem durch das Netz 506 für vereinigte Bilder ausgegebenen Bildtyp. Falls beispielsweise das annotierte vereinigte Bild ein Lidar-Bild ist, wie z. B. eine 3D-Punktwolke, kann das verifizierte Bild 510 ein annotiertes Lidar-Bild sein. Als ein weiteres nicht einschränkendes Beispiel kann, falls das annotierte vereinigte Bild ein Kamera-Bild ist, das verifizierte Bild 510 ein annotiertes Kamera-Bild sein, usw. In speziellen Fällen kann die Ausgabe des Netzes 506 für vereinigte Bilder für Vergleichszwecke von einem Bildtyp in einen anderen Bildtyp transformiert werden. Falls beispielsweise das Netz 506 für vereinigte Bilder ein (3D-) Lidar-Bild ausgibt, kann das Bild zum Vergleich mit einem verifizierten Bild, das ein (2D-) Kamera-Bild ist, in ein (2D-) Kamera-Bild transformiert werden.
  • In speziellen Fällen kann der Verlustrechner 508 bildtypunabhängig sein (z. B. kann der Typ des Bilds für Vergleichszwecke keine Rolle spielen). In einigen solchen Ausführungsformen kann der Verlustrechner 508 die Annotationen des annotierten vereinigten Bilds mit den Annotationen des verifizierten Bilds 510 vergleichen. Da die Annotationen unabhängig davon, ob das annotierte vereinigte Bild ein Lidar-Bild, ein Kamera-Bild oder ein Radar-Bild usw. ist, gleich sein können, kann der Verlustrechner 508 den Verlust selbst dann berechnen, wenn die Bildtypen zwischen dem annotierten vereinigten Bild und dem verifizierten Bild 510 unterschiedlich sind. Dementsprechend kann das verifizierte Bild 510 in einigen Ausführungsformen kein zugrunde liegendes Bild enthalten. Beispielsweise können die verifizierten Bilder 510 Annotationen enthalten, können jedoch keine anderen Bilddaten (z. B. rot, grün, blau usw.) enthalten.
  • Der durch den Verlustrechner 508 berechnete Verlust kann zu dem Bildmerkmalsextraktionsnetz 502 kommuniziert werden, um die Netzparameter des Bildmerkmalsextraktionsnetzes 502 anzupassen, wie z. B. die Gewichte, die unterschiedlichen Ausgaben unterschiedlicher Knoten innerhalb des Bildmerkmalsextraktionsnetzes 502 zugewiesen sind. Obwohl es nicht dargestellt ist, ist zu verstehen, dass Verluste auf ähnliche Weise zu dem Netz 506 für vereinigte Bilder kommuniziert werden können, um seine Netzparameter oder Gewichte anzupassen.
  • In einigen Fällen kommuniziert der Verlustrechner 508 einen Teil der oder alle Verluste zu dem Bildmerkmalsextraktionsnetz 502 und/oder dem Netz 506 für vereinigte Bilder. In speziellen Fällen werden die Verluste durch das Bildmerkmalsextraktionsnetz 502 und/oder das Netz 506 für vereinigte Bilder Schicht für Schicht propagiert, und entsprechende Gewichte der individuellen Schichten werden aktualisiert. In speziellen Fällen könnten die Gewichte in umgekehrter Reihenfolge aktualisiert werden, wobei zuerst die letzte Schicht des Netzes für vereinigte Bilder aktualisiert wird und die erste Schicht des Bildmerkmalsextraktionsnetzes 502 zuletzt aktualisiert wird. Es ist jedoch zu verstehen, dass die Gewichte des Bildmerkmalsextraktionsnetzes 502 und/oder des Netzes 506 für vereinigte Bilder in irgendeiner Reihenfolge aktualisiert werden können.
  • In speziellen Fällen werden aus dem Verlust berechnete Gradienten zurück zu dem Bildmerkmalsextraktionsnetz 502 und/oder dem Netz 506 für vereinigte Bilder gesendet. Basierend auf diesen Gradienten werden die Parameter des Merkmalsextraktionsnetzes 502 und/oder des Netzes 506 für vereinigte Bilder aktualisiert, und das entsprechende Netz produziert in der nächsten Iteration eine bessere Einbettung.
  • In einigen Fällen werden, falls die Verluste an dem Ende des Netzes 506 für vereinigte Bilder angewandt werden, dann die Gewichte in dem Bildmerkmalsextraktionsnetz 502 und dem Netz 506 für vereinigte Bilder aktualisiert. In speziellen Fällen werden, falls Verluste über dem (oder nur auf das) Bildmerkmalsextraktionsnetz 502 angewandt werden, nur die Gewichte des Bildmerkmalsextraktionsnetzes 502 aktualisiert. Es ist jedoch zu verstehen, dass in einem oder beiden aus dem Bildmerkmalsextraktionsnetz 502 und/oder dem Netz 506 für vereinigte Bilder die Verluste propagiert und Gewichte aktualisiert werden können.
  • In einigen Fällen können die zu dem Bildmerkmalsextraktionsnetz 502 kommunizierten Verluste den Merkmalen entsprechen, für deren Lernen das Bildmerkmalsextraktionsnetz 502 ausgelegt ist, und die zu dem Netz 506 für vereinigte Bilder kommunizierten Verluste können den Merkmalen entsprechen, für deren Lernen das Netz 506 für vereinigte Bilder ausgelegt ist. Falls beispielsweise das Bildmerkmalsextraktionsnetz 502 ausgelegt ist, Objektklassifizierungen, Objektort, Objektorientierung, Objektbewegung zu lernen, können die diesen Merkmalen zugeordneten Verluste zu dem Bildmerkmalsextraktionsnetz 502 kommuniziert werden. Ähnlich kann, falls das Netz 506 für vereinigte Bilder konfiguriert ist, Objektbewegungsbahnvorhersage zu lernen, die Objektbewegungsbahnvorhersage zu dem Netz 506 für vereinigte Bilder kommuniziert werden. Dementsprechend kann ein durch den Verlustrechner 508 berechneter Teil der Verluste zu dem Bildmerkmalsextraktionsnetz 502 und/oder dem Netz 506 für vereinigte Bilder kommuniziert werden. In einigen Fällen können die Verluste für dasselbe Merkmal zu dem Bildmerkmalsextraktionsnetz 502 und dem Netz 506 für vereinigte Bilder kommuniziert werden. In speziellen Fällen können alle durch den Verlustrechner 508 berechneten Verluste zu dem Bildmerkmalsextraktionsnetz 502 und/oder dem Netz 506 für vereinigte Bilder kommuniziert werden.
  • Durch Berechnen des Verlusts unter Verwendung des Netzes 506 für vereinigte Bilder und Verwenden dieses Verlust zum Trainieren des Bildmerkmalsextraktionsnetzes 502 kann das Bildmerkmalsextraktionsnetz 502 trainiert werden, zusätzliche Annotationen oder Anreicherungen aus den Bildern 501 zu extrahieren. Beispielsweise kann das Bildmerkmalsextraktionsnetz 502 lernen, die Breite, Höhe und Länge eines Objekts aus einem Bild 501 zu detektieren und Begrenzungsrahmen für das Objekt zu erzeugen. Somit kann das Bildmerkmalsextraktionsnetz 502 Semantikbilder oder Semantikdaten, die dem Semantikbild zugeordnet sind, mit mehr Annotationen ausgeben. Diese zusätzlichen Annotationen können die Genauigkeit der durch das Netz 506 für vereinigte Bilder vorgenommenen Annotationen verbessern und/oder es für das Netz 506 für vereinigte Bilder erleichtern, zusätzliche Annotationen zu bestimmen.
  • In einigen Fällen können die reichhaltigeren Semantikdaten, die einem Bild zugeordnet sind (z. B. Semantikdaten mit mehr Annotationen), verwendet werden, um zusätzliche Merkmale aus einem vereinigten Bild zu bestimmen. Beispielsweise kann das Bildmerkmalsextraktionsnetz 502 lernen vorherzusagen, dass Bremslichter eines Fahrzeugs bedeuten, dass das Fahrzeug im Begriff ist, langsamer zu werden. Diese Daten, die für das Netz 502 für vereinigte Bilder bereitgestellt werden, können die Fähigkeit des Netzes 506 für vereinigte Bilder verbessern, die zukünftige Bewegungsbahn des Fahrzeugs zu bestimmen. Als ein weiteres nicht einschränkendes Beispiel kann, falls das Bildmerkmalsextraktionsnetz 502 eine rote Ampel in einem Bild detektiert, es lernen, dass sich die Fahrzeuge in derselben Fahrspur nicht bewegen werden. Wenn das Bildmerkmalsextraktionsnetz 502 detektiert, dass die Ampel auf Grün umgeschaltet hat, kann es vorhersagen, dass die Fahrzeuge beginnen werden, sich langsam zu bewegen. Wieder kann es das Bereitstellen dieser angereicherten Daten für das Netz 506 für vereinigte Bilder dem Netz 506 für vereinigte Bilder erleichtern, die Bewegungsbahn der Fahrzeuge zu bestimmen, usw.
  • In einigen Fällen kann das Trainieren des Erkennungssystems 402 das wiederholte Verarbeiten von Bildern 501 aus denselben oder unterschiedlichen Datenmengen und Bereitstellen der berechneten Verluste für jedes Bild 501 und/oder jedes Pixel jedes Bilds für das Bildmerkmalsextraktionsnetz 502 enthalten. In speziellen Fällen kann das Erkennungssystem 402 Bilder 501 tausendfach, hunderttausendfach, millionenfach oder öfter verarbeiten, um das Bildmerkmalsextraktionsnetz 502 und/oder das Netz 506 für vereinigte Bilder abzustimmen.
  • Beispielhafte Operationsdiagramme des Testsystems
  • Die 5B und 5C sind Operationsdiagramme, die eine beispielhafte Ende-zu-Ende-Trainingsoperation des Erkennungssystems 402 unter Verwendung eines vereinigten Bilds, das basierend auf einem Kamera-Bild 501a, einem Lidar-Bild 501b erzeugt ist, darstellen.
  • In Schritt 550 werden die dem Kamera-Bild 501a zugeordneten Bilddaten für das Bildmerkmalsextraktionsnetz 502 bereitgestellt. In dem dargestellten Beispiel ist ein Kamera-Bild 501a verwendet, es ist jedoch zu verstehen, dass unterschiedliche Typen von Bildern verwendet werden können. Wie hier beschrieben kann das Kamera-Bild 501a einem Bild in einer Datenbank, das aus von einer Kamera, wie z. B. den Kameras 202a, erhaltenen Bilddaten erzeugt wurde, entsprechen. In einigen Fällen kann das Kamera-Bild 501a mehrere Zeilen von Pixeln in einer Matrix enthalten, und jedes Pixel kann einen Wert für Rot, Grün und Blau oder einen Graustufenwert enthalten. In speziellen Fällen enthält das Kamera-Bild 501a keine Annotationen und/oder kann als ein nicht annotiertes Kamera-Bild 501a bezeichnet sein.
  • In Schritt 552a erzeugt das Bildmerkmalsextraktionsnetz 502 Semantikdaten, die einem Semantikbild 520 zugeordnet sind, aus den dem Kamera-Bild 501a zugeordneten Bilddaten. Wie hier beschrieben kann das Bildmerkmalsextraktionsnetz 502 ein oder mehrere CNNs 420 verwenden, um Semantikdaten für einige oder alle Pixel in dem Semantikbild 520 aus entsprechenden Pixeln in dem Kamera-Bild 501a zu erzeugen. In einigen Fällen können die einem speziellen Pixel zugeordneten Semantikdaten ein Klassenkennzeichen oder eine Objektklassifizierungsbewertung enthalten, die einen Wahrscheinlichkeitswert enthält, der die Wahrscheinlichkeit dafür angibt, dass die identifizierte Objektklassifizierung für ein Pixel korrekt vorhergesagt wird.
  • In Schritt 552b werden die einem Lidar-Bild 501b zugeordneten Bilddaten für das Vereinigungssystem 504 bereitgestellt. In dem dargestellten Beispiel ist ein Lidar-Bild 501b verwendet, es ist jedoch zu verstehen, dass unterschiedliche Typen von Bildern verwendet werden können. Wie hier beschrieben kann das Lidar-Bild 501b einem Bild in einer Datenbank, das aus von Lidar-Sensor, wie z. B. den Lidar-Sensoren 202b, erhaltenen Bilddaten erzeugt wurde, entsprechen. In einigen Fällen kann das Lidar-Bild 501b mehrere Zeilen von Pixeln in einer Matrix enthalten, und jedes Pixel kann einen oder mehrere Werte für den Ort (z. B. x, y, z), Reflexionsvermögen, Intensität, Zeitstempel usw. enthalten. In speziellen Fällen kann das Lidar-Bild 501 eine dreidimensionale Punktwolke sein. In einigen Fällen enthält das Lidar-Bild 501b keine Annotationen und/oder kann als ein nicht annotiertes Lidar-Bild 501b bezeichnet sein. Wie hier beschrieben kann in einigen Fällen das Lidar-Bild 501b aufgrund der Zeitverzögerung beim Erzeugen des Semantikbilds 520 aus dem Kamera-Bild 501a von dem Kamera-Bild 501a in der Zeitdomäne versetzt sein.
  • In Schritt 554 erzeugt das Vereinigungssystem 504 vereinigte Bilddaten, die einem vereinigten Bild 522 zugeordnet sind, aus den Bilddaten, die dem Lidar-Bild 501b zugeordnet sind, und den Semantikdaten, die dem Semantikbild 520 zugeordnet sind. Wie hier beschrieben kann das vereinigte Bild 522 Zeilen vereinigter Pixel in einer Matrix enthalten, und jedem vereinigten Pixel können vereinigte Bilddaten zugeordnet sein. In einigen Fällen können die einem speziellen Pixel zugeordneten vereinigten Bilddaten einen oder mehrere Werte für Bilddaten, die dem Lidar-Bild 501b zugeordnet sind, Semantikdaten, die dem Semantikbild 520 zugeordnet sind, und/oder Bilddaten, die dem Kamera-Bild 501a zugeordnet sind, enthalten. In dem dargestellten Beispiel von 5B enthalten die den Pixeln in dem vereinigten Bild 522 zugeordneten vereinigten Bilddaten Semantikdaten, die dem Semantikbild 520 zugeordnet sind, das mit einem oder mehreren Werten für Bilddaten, die dem Lidar-Bild 501b zugeordnet sind, eingebettet ist.
  • Mit Bezug auf 5C erzeugt bei Schritt 556a das Netz 506 für vereinigte Bilder Merkmalsdaten, die einem annotierten vereinigten Bild 524 zugeordnet sind, aus den vereinigten Bilddaten, die dem vereinigten Bild 522 zugeordnet sind. Das Netz 506 für vereinigte Bilder kann auch als ein 3D-Objektdetektor bezeichnet sein, kann unter Verwendung eines oder mehrerer CNNs 420 implementiert sein, um Merkmalsdaten für einige der oder alle Pixel in dem annotierten vereinigten Bild 524 aus entsprechenden Pixeln in dem vereinigten Bild 522 zu erzeugen. In speziellen Fällen können die erzeugten Merkmalsdaten, die dem annotierten vereinigten Bild 526 zugeordnet sind, in individuelle Pixel eingebettet sein. In einigen Fällen können die Merkmalsdaten, die einem speziellen Pixel in dem annotierten vereinigten Bild 524 zugeordnet sind, Breite, Höhe und Länge eines Objekts in einem Bild, Klassenkennzeichen, Begrenzungsrahmen für ein Objekt, Objektbewegung, Objektorientierung, Objektbewegungsbahnvorhersage enthalten. In einigen speziellen Fällen können die Merkmalsdaten einen oder mehrere n-dimensionale Merkmalsvektoren enthalten, wobei jedes Merkmal nicht individuell einem speziellen Objektattribut entsprechen kann, jedoch eine Kombination aus n-dimensionalen Merkmalsvektoren einem der vorstehend genannten Objektattribute (oder einem anderen Objektattribut) entsprechen kann.
  • In Schritt 556b werden verifizierte Bilddaten, die einem verifizierten Bild 526 zugeordnet sind, für den Verlustrechner 508 bereitgestellt. In dem dargestellten Beispiel ist ein verifiziertes Kamera-Bild 526 gezeigt, es ist jedoch zu verstehen, dass unterschiedliche Typen von Bildern als das verifizierte Bild 526 verwendet werden können. In einigen Fällen kann das verifizierte Bild 526 keinen Bildtyp aufweisen. Beispielsweise kann das verifizierte Bild 526 Zeilen von Pixeln in einer Matrix enthalten, und einige der oder alle Pixel können verifizierten Bilddaten oder Annotationen zugeordnet sein, die Zielmerkmale (und Werte) repräsentieren, die aus einem Bild 501 extrahiert werden sollten. Wie hier beschrieben ist, können die verifizierten Bilddaten, die dem verifizierten Bild 526 zugeordnet sind, durch einen Anwender erzeugt werden, um anzugeben, was das Erkennungssystem 402 in einem Bild 501 erkennen sollte. Somit können verifizierte Bilddaten, die einem oder mehreren Pixeln des verifizierten Bilds 526 zugeordnet sind, einen oder mehrere Werte für Breite, Höhe und Länge eines Objekts in einem Bild, eine Objektklassifizierung, Begrenzungsrahmen für ein Objekt, Objektbewegung, Objektorientierung, Objektbewegungsbahn usw. enthalten.
  • In Schritt 558 erzeugt der Verlustrechner 508 Verlustdaten, die einem Verlust 528 zugeordnet sind, basierend auf (z. B. durch Vergleichen von) Merkmalsdaten, die dem annotierten vereinigten Bild 524 zugeordnet sind, und verifizierte Bilddaten, die dem verifizierten Bild 526 zugeordnet sind. Obwohl er als ein Bild dargestellt ist, ist zu verstehen, dass der Verlust 528 als ein oder mehrere Werte, wie z. B. eine Matrix von Werten, die Pixeln eines Bilds entsprechen, kommuniziert werden kann.
  • Wie hier beschrieben ist, kann der Verlustrechner 508 in einigen Fällen einen Verlust für einige oder alle Pixel und für jedes Merkmal, das in den Merkmalsdaten repräsentiert ist, die einem speziellen Pixel des annotierten vereinigten Bilds zugeordnet sind, berechnen. Dementsprechend kann, falls das annotierte vereinigte Bild 524 dreizehn Annotationen für jedes Pixel, oder dreizehn Dimensionen, enthält, der Verlustrechner 508 dreizehn Verluste für einige oder alle Pixel in dem annotierten vereinigten Bild 524 berechnen.
  • In Schritt 560 modifiziert das Bildmerkmalsextraktionsnetz 502 und/oder das Netz 506 für vereinigte Bilder einen oder mehrere Netzparameter unter Verwendung der dem Verlust 528 zugeordneten Verlustdaten. Die modifizierten Netzparameter werden verwendet, um Semantikdaten, die Semantikbildern zugeordnet sind, aus Bilddaten, die nachfolgenden Bildern zugeordnet sind, zu erzeugen.
  • Wie hier beschrieben ist, werden in einigen Fällen einige oder alle Verlustdaten, die dem Verlust 528 zugeordnet sind, zu dem Bildmerkmalsextraktionsnetz 502 und/oder dem Netz 506 für vereinigte Bilder kommuniziert. In speziellen Fällen kann der Verlust 528 Schicht für Schicht durch das Bildmerkmalsextraktionsnetz 502 und/oder das Netz 506 für vereinigte Bilder propagiert werden (in speziellen Fällen in umgekehrter Reihenfolge). In einigen Fällen werden unterschiedliche Verlustdaten, die dem Verlust 528 zugeordnet sind, zu den unterschiedlichen Netzen 502, 506 kommuniziert. In speziellen Fällen basiert der Verlust, der zu den unterschiedlichen Netzen 502, 506 kommuniziert wird, auf der Semantik oder den Merkmalen, von denen erwartet wird, dass sie durch die entsprechenden Netze 502, 506 extrahiert werden.
  • Wenn die Netzparameter modifiziert oder abgestimmt werden, kann der berechnete Verlust zwischen den annotierten vereinigten Bildern 524 und den verifizierten Bildern 526 reduziert werden, was angibt, dass das Bildmerkmalsextraktionsnetz 502 und/oder das Netz 506 für vereinigte Bilder ihre Fähigkeit verbessern, Semantik und Merkmale aus Bildern genau zu bestimmen.
  • Wie hier beschrieben ist, kann der Ende-zu-Ende-Trainingsprozess tausendfach, hunderttausendfach, millionenfach oder öfter wiederholt werden, um das Bildmerkmalsextraktionsnetz 502 und/oder das Netz 506 für vereinigte Bilder abzustimmen. Durch Abstimmen des Bildmerkmalsextraktionsnetzes 502 auf eine Ende-zu-Ende-Art (z. B. mit Verlustdaten, die dem Verlust 528 zugeordnet sind, der unter Verwendung der aus dem Netz 506 für vereinigte Bilder ausgegebenen annotierten vereinigten Bild 524 zugeordneten Merkmalsdaten berechnet ist) kann das Bildmerkmalsextraktionsnetz 502 zusätzliche Merkmale und/oder Semantik aus den einem Bild 501 zugeordneten Bilddaten lernen. Diese zusätzlichen Merkmale können ermöglichen, dass das Netz 506 für vereinigte Bilder andere Merkmale und Kontextinformationen lernt.
  • Sobald es trainiert ist, kann das Erkennungssystem 402 während einer Inferenz verwendet werden, um Echtzeitbilder von den Kameras 202a, Lidar-Sensoren 202b und/oder Radar-Sensoren 202c zu empfangen, Objekte in den Bildern zu identifizieren und Merkmale über die Objekte, wie z. B., ohne jedoch darauf beschränkt zu sein, Breite, Höhe und Länge eines Objekts, Klassenkennzeichen, Begrenzungsrahmen für ein Objekt, Objektbewegung, Objektorientierung, Objektbewegungsbahn oder andere Objektattribute (z. B. Ampelstatus (z. B. rot, grün, gelb, Blinken, usw.) oder ein Auto mit blinkendem rechtem/linkem Blinker oder blinkendem Warnblinklicht usw.) usw. zu bestimmen. Beispielsweise kann das Bildmerkmalsextraktionsnetz 502 Semantikdaten erzeugen, die einem Semantikbild zugeordnet sind, die Breite, Höhe und Länge eines oder mehrerer Objekte in dem Bild, Objektklassifizierungen, Begrenzungsrahmen für das Objekt, Objektbewegungen, Objektorientierungen usw. enthalten, und das Netz 506 für vereinigte Bilder kann Merkmalsdaten erzeugen, die einem annotierten vereinigten Bild zugeordnet sind, die, ohne jedoch darauf beschränkt zu sein, sowohl Semantikdaten, die dem Semantikbild zugeordnet sind, als auch zusätzliche Merkmale, wie z. B., ohne jedoch darauf beschränkt zu sein, eine Objektbewegungsbahn usw. enthalten. Es ist zu verstehen, dass die durch das Bildmerkmalsextraktionsnetz 502 und/oder das Netz 506 für vereinigte Bilder erzeugten Merkmale gleich oder unterschiedlich sein können oder überlappen können.
  • Zusätzlich können während der Inferenz einige der hier beschriebenen Funktionen oder Elemente nicht verwendet werden oder nicht vorhanden sein. Beispielsweise kann während der Inferenz der Verlust nicht berechnet werden, und/oder die Netzparameter des Bildmerkmalsextraktionsnetzes 502 und/oder des Netzes 506 für vereinigte Bilder können nicht abgestimmt werden, usw.
  • Beispielhaftes Ablaufdiagramm des Testsystems
  • 6 ist ein Ablaufdiagramm eines Beispiels für eine Routine 600, die durch einen oder mehrere Prozessoren zum Trainieren eines Erkennungssystems 402 implementiert ist. Das in 6 dargestellte Ablaufdiagramm ist nur zu erläuternden Zwecken dargestellt. Es ist zu verstehen, dass einer oder mehrere der Schritte der in 6 dargestellten Routine entfernt werden können oder dass die Reihenfolge der Schritte geändert werden kann. Darüber hinaus sind zum Zweck der Darstellung eines deutlichen Beispiels eine oder mehrere spezielle Systemkomponenten im Kontext der Ausführung verschiedener Operationen während jeder der Datenflussstufen beschrieben. Andere Systemanordnungen und Verteilungen der Verarbeitungsschritte über Systemkomponenten können jedoch verwendet werden.
  • In Block 602 erzeugt das Trainingssystem 500 Semantikbilddaten, die einem Semantikbild zugeordnet sind, aus ersten Bilddaten, die einem ersten Bild zugeordnet sind. Wie hier beschrieben ist, kann das erste Bild in einigen Fällen ein Kamera-Bild sein, das Zeilen von Farb- oder Graustufen-Pixeln enthält, und das Trainingssystem 500 kann ein Bildmerkmalsextraktionsnetz 502 verwenden, um die dem Semantikbild zugeordneten Semantikdaten zu erzeugen. Es ist jedoch zu verstehen, dass andere, unterschiedliche Typen von Bildern, wie z. B. Lidar-Bilder und/oder Radar-Bilder, verwendet werden können.
  • Wie hier beschrieben ist, kann das Trainingssystem 500 Semantikdaten, die einigen der oder allen Pixeln in dem ersten Bild zugeordnet sind, bestimmen. In speziellen Fällen enthalten die einem Pixel zugeordneten Semantikdaten ein Klassenkennzeichen oder eine Objektklassifizierung, das/die das Pixel einem Objekt zuordnet.
  • In Block 604 bettet das Trainingssystem 500 ein zweites Bild mit den dem Semantikbild zugeordneten Semantikdaten ein, um ein vereinigtes Bild zu bilden. Wie hier beschrieben ist, kann das zweite Bild ein anderer Bildtyp sein. Beispielsweise falls das erste Bild ein Kamera-Bild ist, kann das zweite Bild ein Lidar-Bild sein, wie z. B. eine 3D-Punktwolke.
  • Ähnlich dem ersten Bild kann das zweite Bild Zeilen von Pixeln enthalten. Da das zweite Bild ein anderer Bildtyp ist, können die einem speziellen Pixel zugeordneten Bilddaten unterschiedlich sein. Beispielsweise falls das zweite Bild eine 3D-Punktwolke ist, können die einem speziellen Pixel zugeordneten Bilddaten eine Position (x, y, z), ein Reflexionsvermögen, eine Intensität, einen Zeitstempel usw. enthalten.
  • Wie hier beschrieben ist, kann das vereinigte Bild Zeilen von Pixeln enthalten, die mit Semantikdaten, die dem Semantikbild zugeordnet sind, und Bilddaten, die dem zweiten Bild (und/oder dem ersten Bild) zugeordnet sind, eingebettet sind. Falls beispielsweise das zweite Bild eine 3D-Punktwolke ist, kann ein Pixel in dem vereinigten Bild sowohl eine oder mehrere Objektklassifizierungen als auch Ort (x, y, z), Reflexionsvermögen, Intensität und Zeitstempel enthalten oder damit eingebettet sein. In einigen solchen Fällen kann das vereinigte Bild als eine ergänzte 3D-Punktwolke bezeichnet sein.
  • In Block 606 erzeugt das Trainingssystem 500 Merkmalsdaten, die einem annotierten vereinigten Bild zugeordnet sind, aus dem vereinigten Bild. Wie hier beschrieben ist, verwendet das Trainingssystem 500 in einigen Fällen ein Netz 506 für vereinigte Bilder, um das annotierte vereinigte Bild und die Merkmalsdaten, die dem annotierten vereinigten Bild zugeordnet sind, zu erzeugen. Wie hier beschrieben ist, kann das Netz 506 für vereinigte Bilder verschiedene Merkmale für das annotierte vereinigte Bild erzeugen, die, ohne jedoch darauf beschränkt zu sein, Breite, Höhe und Länge eines Objekts in einem Bild, Objektklassifizierung oder Klassenkennzeichen, Begrenzungsrahmen für ein Objekt, Objektbewegung, Objektorientierung, Objektbewegungsbahnvorhersage enthalten.
  • Wie hier beschrieben ist, kann das annotierte vereinigte Bild Zeilen von Pixeln und Merkmalsdaten, die einigen der oder allen Pixeln des Bilds zugeordnet sind, enthalten.
  • In Block 608 bestimmt das Trainingssystem 500 einen Verlust basierend auf einem Vergleich des annotierten vereinigten Bilds mit einem verifizierten Bild. Wie hier beschrieben ist, kann das Trainingssystem 500 in einigen Fällen Verluste für unterschiedliche Merkmale bestimmen. In speziellen Fällen kann das Trainingssystem einen Verlust für einige oder alle Merkmale, die dem annotierten vereinigten Bild zugeordnet sind (oder darin eingebettet sind), bestimmen.
  • Wie hier beschrieben ist, kann das verifizierte Bild Zeilen von Pixeln und Merkmale, die in jedes Pixel eingebettet sind, die einen Zielwert für ein entsprechendes Merkmal angeben, enthalten. Der Zielwert kann mit dem für dieses Merkmal durch das Bildmerkmalsextraktionsnetz 502 und/oder das Netz 506 für vereinigte Bilder bestimmten Wert verglichen werden, um den Verlust für dieses Merkmal zu berechnen. Das Trainingssystem 500 kann eine Vielzahl von Techniken verwenden, um den Verlust zu berechnen, die, ohne jedoch darauf beschränkt zu sein, einen mittleren quadratischen Fehler (MSE), einem mittleren absoluten Fehler, Kreuzentropie oder logarithmischen Fehler, Hinge-Verlust, Divergenzverlust usw. enthalten.
  • In Block 610 modifiziert das Trainingssystem einen oder mehrere Netzparameter des Bildmerkmalsextraktionsnetzes 502 basierend auf dem bestimmten Verlust. Wie hier beschrieben ist, kann das Bildmerkmalsextraktionsnetz 502 verschiedene Parameter oder Gewichte enthalten, die verwendet werden, um die Semantikdaten zu bestimmen. Wenn einer oder mehrere dieser Parameter modifiziert werden, kann der Verlust reduziert werden. Dementsprechend kann das Trainingssystem 500 wenigstens einen Netzparameter des Bildmerkmalsextraktionsnetzes 502 modifizieren, um den Verlust für wenigstens ein Merkmal zu reduzieren.
  • Ähnlich kann das Trainingssystem 500 einen oder mehrere Netzparameter des Netzes 506 für vereinigte Bilder basierend auf dem bestimmten Verlust modifizieren. In einigen Fällen modifiziert das Trainingssystem 500 einen oder mehrere Netzparameter des Netzes 506 für vereinigte Bilder, um den Verlust für eine Gruppe von Merkmalen zu reduzieren, und modifiziert einen oder mehrere Netzparameter des Bildmerkmalsextraktionsnetzes 502, um den Verlust für eine andere Gruppe von Merkmalen zu reduzieren.
  • In einigen Fällen modifiziert das Trainingssystem Gewichte einzelner Schichten des Netzes 506 für vereinigte Bilder und/oder des Bildmerkmalsextraktionsnetzes 502. In speziellen Fällen modifiziert das Trainingssystem Gewichte oder Netzparameter individueller Schichten des Netzes 506 für vereinigte Bilder und/oder des Bildmerkmalsextraktionsnetzes 502 in umgekehrter Reihenfolge, so dass die Gewichte oder Netzparameter der letzten Schicht des Netzes 506 für vereinigte Bilder zuerst aktualisiert werden und die Gewichte oder Netzparameter der ersten Schicht des Merkmalsextraktionsnetzes 502 zuletzt aktualisiert werden.
  • Es ist zu verstehen, dass die Routine 600 mehrfach unter Verwendung unterschiedlicher Bilder und/oder unterschiedlicher Bildtypen wiederholt werden kann. In einigen Fällen wiederholt das Trainingssystem 500 die Routine 600 tausendfach oder millionenfach unter Verwendung von Tausenden oder Millionen von Bildern, um den Verlust zwischen den verifizierten Bildern und den annotierten vereinigten Bildern zu reduzieren.
  • Alle hier beschriebenen Verfahren und Aufgaben können durch ein Computersystem ausgeführt und vollständig automatisiert werden. Das Computersystem kann in einigen Fällen mehrere unterscheidbare Computer oder Berechnungsvorrichtungen (z. B. physikalische Server, Arbeitsplatzrechner, Speicheranordnungen, Cloud-Computing-Betriebsmittel usw.) enthalten, die über ein Netz kommunizieren und zusammenarbeiten, um die beschriebenen Funktionen auszuführen. Jede solche Berechnungsvorrichtung enthält typischerweise einen Prozessor (oder mehrere Prozessoren), der Programmanweisungen oder Module, die in einem Speicher oder einem/einer anderen nicht-transitorischen computerlesbaren Speichermedium oder Vorrichtung (z. B. Festkörperspeichervorrichtungen, Plattenlaufwerke usw.) gespeichert sind, ausführt. Die verschiedenen hier offenbarten Funktionen können in solchen Programmanweisungen verwirklicht sein oder können in einer anwendungsspezifischen Schaltungsanordnung (z. B. ASICs oder FPGAs) des Computersystems implementiert sein. Wenn das Computersystem mehrere Berechnungsvorrichtungen enthält, können sich diese Vorrichtungen am gleichen Ort befinden, müssen es jedoch nicht. Die Ergebnisse der offenbarten Verfahren und Aufgaben können durch Transformieren physikalischer Speichervorrichtungen wie z. B. Festkörper-Speicherchips oder Magnetplatten, in einen anderen Zustand persistent gespeichert werden. In einigen Ausführungsformen kann das Computersystem ein Cloud-basiertes Berechnungssystem sein, dessen Verarbeitungsbetriebsmittel von mehreren unterscheidbaren Unternehmen oder anderen Anwendern gemeinsam verwendet werden.
  • Die hier beschriebenen oder in den Figuren der vorliegenden Offenbarung dargestellten Prozesse können in Reaktion auf ein Ereignis, wie z. B. aufgrund eines vorbestimmten oder dynamisch bestimmten Zeitplans, auf Anforderung, wenn sie durch einen Anwender oder Systemadministrator initiiert werden, oder in Reaktion auf ein anderes Ereignis beginnen. Wenn solche Prozesse initiiert werden, kann eine Gruppe ausführbarer Programmanweisungen, die auf einem oder mehreren nicht-transitorischen computerlesbares Medien (z. B. Festplatte, Flash-Speicher, herausnehmbare Medien usw.) gespeichert sind, in den Speicher (z. B. RAM) eines Servers oder einer anderen Berechnungsvorrichtung geladen werden. Die ausführbaren Anweisungen können dann durch einen Hardware-basierten Computerprozessor der Berechnungsvorrichtung ausgeführt werden. In einigen Ausführungsformen können solche Prozesse oder Abschnitte davon auf mehreren Berechnungsvorrichtungen und/oder mehreren Prozessoren, seriell oder parallel, implementiert sein.
  • Abhängig von der Ausführungsformen können spezielle Aktionen, Ereignisse oder Funktionen irgendeines der Prozesse oder Algorithmen, die hier beschrieben sind, in einer anderen Reihenfolge ausgeführt werden, hinzugefügt, zusammengeführt oder ganz ausgelassen werden (z. B. sind nicht alle beschriebenen Operationen oder Ereignisse für das Praktizieren des Algorithmus notwendig). Außerdem können in speziellen Ausführungsformen Operationen oder Ereignisse anstatt sequenziell gleichzeitig ausgeführt werden, z. B. durch Multi-Thread-Verarbeitung, Interrupt-Verarbeitung oder mehrere Prozessoren oder Prozessorkerne oder auf anderen parallelen Architekturen.
  • Die verschiedenen erläuternden logischen Blöcke, Module, Routinen und Algorithmusschritte, die in Verbindung mit den hier offenbarten Ausführungsformen beschrieben sind, können als elektronische Hardware (z. B. ASICs oder FPGA-Vorrichtungen), Computer-Software, die auf Computer-Hardware abläuft, oder Kombinationen aus beidem implementiert sein. Außerdem können die verschiedenen in Verbindung mit den hier offenbarten Ausführungsformen beschriebenen erläuterten logischen Blöcke und Module durch eine Maschine implementiert oder ausgeführt werden, wie z. B. eine Prozessorvorrichtung, einen Digitalsignalprozessor („DSP“), eine anwendungsspezifische integrierte Schaltung („ASIC“), ein im Feld programmierbares Gatter-Array („FPGA“) oder eine andere programmierbare Logikvorrichtung, diskrete Gatter- oder Transistor-Logik, diskrete Hardwarekomponenten oder irgendeine Kombination daraus, die konstruiert ist, um die hier beschriebenen Funktionen auszuführen. Eine Prozessorvorrichtung kann ein Mikroprozessor sein, als Alternative kann die Prozessorvorrichtung jedoch eine Steuereinheit, eine Mikrosteuereinheit, ein Zustandsautomat, eine Kombinationen daraus oder dergleichen sein. Eine Prozessorvorrichtung kann eine elektrische Schaltungsanordnung enthalten, die ausgelegt ist, computerausführbare Anweisungen zu verarbeiten. In einer weiteren Ausführungsform enthält die Prozessorvorrichtung ein FPGA oder eine andere programmierbare Vorrichtung, die Logikoperationen ausführt, ohne computerausführbare Anweisungen zu verarbeiten. Eine Prozessorvorrichtung kann auch als eine Kombination aus Berechnungsvorrichtungen implementiert sein, z. B. eine Kombination aus einem DSP und einem Mikroprozessor, mehrere Mikroprozessoren, einen oder mehrere Mikroprozessoren zusammen mit einem DSP-Kern oder irgendeine andere solche Konfiguration. Obwohl sie hier primär in Bezug auf Digitaltechnologie beschrieben ist, kann eine Prozessorvorrichtung auch primär analoge Komponenten enthalten. Beispielsweise können einige der oder alle hier beschriebenen Render-Techniken in einer anlogen Schaltungsanordnung oder einer gemischt analogen und digitalen Schaltungsanordnung implementiert sein. Eine Berechnungsumgebung kann irgendeinen Typ eines Computersystems enthalten, das, ohne jedoch darauf beschränkt zu sein, ein Computersystem basierend auf einem Mikroprozessor, einen Mainframe-Computer, einen Digitalsignalprozessor, eine tragbare Berechnungsvorrichtung, eine Vorrichtungssteuereinheit oder eine Berechnungs-Engine innerhalb eines Geräts, um einige wenige zu nennen, enthält.
  • Die Elemente eines Verfahrens, eines Prozesses, einer Routine oder eines Algorithmus, die in Verbindung mit den hier offenbarten Ausführungsformen beschrieben sind, können direkt in Hardware, in einem Software-Modul, das durch eine Prozessorvorrichtung ausgeführt wird, oder in einer Kombination aus den beiden verwirklicht sein. Ein Software-Modul kann sich in RAM-Speicher, Flash-Speicher, ROM-Speicher, EPROM-Speicher, EEPROM-Speicher, Registern, Festplatte, herausnehmbarer Platte, einer CD-ROM oder irgendeiner anderen Form eines nicht-transitorischen computerlesbaren Speichermediums befinden. Ein beispielhaftes Speichermedium kann mit der Prozessorvorrichtung gekoppelt sein, so dass die Prozessorvorrichtung Daten aus dem Speichermedium lesen und Daten in das Speichermedium schreiben kann. Als Alternative kann das Speichermedium mit der Prozessorvorrichtung integriert sein. Die Prozessorvorrichtung und das Speichermedium können sich in einer ASIC befinden. Die ASIC kann sich in einem Anwenderendgerät befinden. Als Alternative können sich die Prozessorvorrichtung und das Speichermedium als diskrete Komponenten in einem Anwenderendgerät befinden.
  • In der vorstehenden Beschreibung sind Aspekte und Ausführungsformen der vorliegenden Offenbarung mit Bezug auf zahlreiche spezifische Einzelheiten, die von Implementierung zu Implementierung variieren können, beschrieben worden. Dementsprechend sind die Beschreibung und die Zeichnungen eher in einem erläuternden als in einem einschränkenden Sinn zu betrachten. Das einzige und ausschließliche Kennzeichen für den Schutzbereich der Erfindung und was durch die Anmelder als der Schutzbereich der Erfindung vorgesehen ist, ist der wörtliche und äquivalente Schutzbereich der Gruppe von Ansprüchen, die aus dieser Anmeldung hervorgehen, in der spezifischen Form, in der solche Ansprüche hervorgehen, einschließlich irgendwelcher späterer Korrekturen. Irgendwelche Definitionen, die hier für Begriffe, die in solchen Ansprüchen enthalten sind, ausdrücklich dargelegt sind, sollen die Bedeutung solcher Begriffe, wie sie in den Ansprüchen verwendet sind, festlegen. Zusätzlich kann, wenn wir den Begriff „ferner umfassend“ in der vorstehenden Beschreibung oder den folgenden Ansprüchen verwenden, das, was diesem Ausdruck folgt, ein zusätzlicher Schritt oder eine zusätzliche Entität oder ein Teilschritt / eine Teilentität eines/einer vorher genannten Schritts oder Entität sein.
  • Die folgenden Aspekte bilden ebenfalls einen Teil der Erfindung.
    1. 1. Verfahren, das Folgendes umfasst:
      • zeitliches Abgleichen, unter Verwendung eines oder mehrerer Prozessoren eines Fahrzeugs, von Punkten in einer dreidimensionalen (3D-) Punktwolke mit einem Bild;
      • Erzeugen, unter Verwendung eines bildbasierten neuronalen Netzes, von Semantikdaten für das Bild;
      • Ergänzen, unter Verwendung des einen oder der mehreren Prozessoren, der Punkte in der 3D-Punktwolke mit den Semantikdaten; und
      • Schätzen, unter Verwendung eines 3D-Objektdetektors mit den ergänzten Punkten als Eingabe, von orientierten 3D-Begrenzungsrahmen für das eine oder die mehreren Objekte.
    2. 2. Verfahren nach Aspekt 1, wobei das Ergänzen der Punkte in der 3D-Punktwolke mit den Semantikdaten ferner Folgendes umfasst:
      • Codieren, unter Verwendung eines Punktsäulen-Netzes, der ergänzen Punkte in Punktsäulen;
      • Erzeugen, unter Verwendung eines Netzes für tiefes Lernen mit den Punktsäulen als Eingabe, von Merkmalen, die ein oder mehrere Objekte angeben;
      • Schätzen, unter Verwendung eines Detektionskopfes mit den Merkmalen als Eingabe, von orientierten 3D-Begrenzungsrahmen für das eine oder die mehreren Objekte.
    3. 3. Verfahren nach Aspekt 1, wobei das Ergänzen der Punkte in der 3D-Punktwolke mit den Semantikdaten ferner Folgendes umfasst:
      • Projizieren der 3D-Punktwolke in eine Vogelperspektive (BEV); und Ergänzen von Punkten in der BEV mit den Semantikdaten.
    4. 4. Verfahren nach Aspekt 1, wobei die Semantikdaten Semantiksegmentierungsbewertungen enthalten.
    5. 5. Verfahren nach Aspekt 1, wobei das zeitliche Abgleichen der Punkte in der 3D-Punktwolke mit dem Bild das Projizieren einer neuesten Punktwolke auf Semantikdaten, die aus einem zeitlich früheren Bild ausgegeben werden, enthält.
    6. 6. Verfahren nach Aspekt 1, wobei jeder spezielle Punkt aus einem Lichtdetektions- und Abstandsmessungs- (LiDAR-) Fahrzeug-Eigenkoordinatenrahmen in einen Kamera-Koordinatenrahmen transformiert wird und ein Segmentierungsbewertungsvektor für jedes Pixel in dem Bild erhalten wird, wobei der spezielle Punkt in den Kamera-Koordinatenrahmen projiziert wird.
    7. 7. Verfahren nach Aspekt 6, das ferner Folgendes umfasst:
      • Bestimmen, dass ein oder mehrere Punkte gleichzeitig auf zwei Bilder projizieren; und
      • zufälliges Wählen des Segmentierungsbewertungsvektors aus einem der beiden Bilder.
    8. 8. Verfahren nach Aspekt 2, wobei das Codieren der detektierten Punkte in Punktsäulen das Erweitern von Punksäulenwerten mit den Semantikdaten enthält.
    9. 9. Verfahren nach Aspekt 8, wobei die Punkte in jeder Säule die Werte x_c, y_c, z_c, x_p und y_p enthalten, wobei die Werte x_c, y_c, z_c einen Abstand zu einem arithmetischen Mittel aller Punkte in der Säule bezeichnen und x_p und y_p den Versatz von der Säulen-x,y-Mitte bezeichnen, und wobei die Punkte in jeder Säule mit den Semantikdaten erweitert werden.
    10. 10. Verfahren nach Aspekt 1, wobei die Semantikdaten Semantiksegmentierungsbewertungen enthalten, die auf eine oder mehrere Klassen in einer Gruppe von Klassen reduziert sind, die wenigstens eines aus Auto-, Fahrrad, Fußgänger-, Hindernis-, Absperrkegel-, befahrbare Oberflächen- oder Hintergrund-Klassen enthält.
    11. 11. Verfahren nach Aspekt 1, das ferner Folgendes umfasst:
      • Erzeugen, unter Verwendung des bildbasierten neuronalen Netzes, von zweidimensionalen (2D-) oder dreidimensionalen (3D-) Begrenzungsrahmen; und
      • Ergänzen der Punkte mit Klassifizierungsbewertungen für die 2D- oder 3D-Begrenzungsrahmen zusätzlich zu den Semantikdaten oder anstelle der Semantikdaten.
    12. 12. Verfahren nach Aspekt 11, das ferner Folgendes umfasst:
      • Bestimmen, dass die zwei oder mehr Begrenzungsrahmen überlappen und einen gemeinsamen Punkt enthalten;
      • Berechnen eines Mittelwerts der Klassifizierungsbewertungen für die zwei oder mehr überlappenden Begrenzungsrahmen; und
      • Ergänzen des gemeinsamen Punkts mit dem Mittelwert der Klassifizierungsbewertungen.
    13. 13. System, das Folgendes umfasst:
      • einen oder mehrere Prozessoren eines Fahrzeugs; und
      • einen Speicher, der Anweisungen speichert, die dann, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, Operationen auszuführen, die Folgendes umfassen:
        • zeitliches Abgleichen von Punkten in einer dreidimensionalen (3D-) Punktwolke mit einem Bild;
        • Erzeugen, unter Verwendung eines bildbasierten neuronalen Netzes, von Semantikdaten für das Bild; Ergänzen der Punkte in der 3D-Punktwolke mit den Semantikdaten; und
        • Schätzen, unter Verwendung eines 3D-Objektdetektors mit den ergänzten Punkten als Eingabe, von orientierten 3D-Begrenzungsrahmen für das eine oder die mehreren Objekte.
    14. 14. System nach Aspekt 13, wobei das Ergänzen der Punkte in der 3D-Punktwolke mit den Semantikdaten ferner Folgendes umfasst:
      • Codieren, unter Verwendung eines Punktsäulen-Netzes, der ergänzen Punkte in Punktsäulen;
      • Erzeugen, unter Verwendung eines Netzes für tiefes Lernen mit den Punktsäulen als Eingabe, von Merkmalen, die ein oder mehrere Objekte angeben;
      • Schätzen, unter Verwendung eines Detektionskopfes mit den Merkmalen als Eingabe, von orientierten 3D-Begrenzungsrahmen für das eine oder die mehreren Objekte.
    15. 15. System nach Aspekt 13, wobei das Ergänzen der Punkte in der 3D-Punktwolke mit den Semantikdaten ferner Folgendes umfasst:
      • Projizieren der 3D-Punktwolke in eine Vogelperspektive (BEV); und
      • Ergänzen von Punkten in der BEV mit den Semantikdaten.
    16. 16. System nach Aspekt 13, wobei die Semantikdaten Semantiksegmentierungsbewertungen enthalten.
    17. 17. System nach Aspekt 13, wobei das zeitliche Abgleichen der Punkte in der 3D-Punktwolke mit dem Bild das Projizieren einer neuesten Punktwolke auf Semantikdaten, die aus einem zeitlich früheren Bild ausgegeben werden, enthält.
    18. 18. System nach Aspekt 13, wobei jeder spezielle Punkt aus einem Lichtdetektions- und Abstandsmessungs- (LiDAR-) Fahrzeug-Eigenkoordinatenrahmen in einen Kamera-Koordinatenrahmen transformiert wird und ein Segmentierungsbewertungsvektor für jedes Pixel in dem Bild erhalten wird, wobei der spezielle Punkt in den Kamera-Koordinatenrahmen projiziert wird.
    19. 19. System nach Aspekt 18, das ferner Folgendes umfasst:
      • Bestimmen, dass ein oder mehrere Punkte gleichzeitig auf zwei Bilder projizieren; und
      • zufälliges Wählen des Segmentierungsbewertungsvektors aus einem der beiden Bilder.
    20. 20. System nach Aspekt 14, wobei das Codieren der detektierten Punkte in Punktsäulen das Erweitern von Punksäulenwerten mit den Semantikdaten enthält.
    21. 21. System nach Aspekt 20, wobei die Punkte in jeder Säule die Werte x_c, y_c, z_c, x_p und y_p enthalten, wobei die Werte x_c, y_c, z_c einen Abstand zu einem arithmetischen Mittel aller Punkte in der Säule bezeichnen und x_p und y_p den Versatz von der Säulen-x,y-Mitte bezeichnen, und wobei die Punkte in jeder Säule mit den Semantikdaten erweitert sind.
    22. 22. System nach Aspekt 13, wobei die Semantikdaten Semantiksegmentierungsbewertungen enthalten, die auf eine oder mehrere Klassen in einer Gruppe von Klassen reduziert sind, die wenigstens eines aus Auto-, Fahrrad, Fußgänger-, Hindernis-, Absperrkegel-, befahrbare Oberflächen- oder Hintergrund-Klassen enthält.
    23. 23. System nach Aspekt 13, das ferner Folgendes umfasst:
      • Erzeugen, unter Verwendung des bildbasierten neuronalen Netzes, von zweidimensionalen (2D-) oder dreidimensionalen (3D-) Begrenzungsrahmen; und
      • Ergänzen der Punkte mit Klassifizierungsbewertungen für die 2D- oder 3D-Begrenzungsrahmen zusätzlich zu den Semantikdaten oder anstelle der Semantikdaten.
    24. 24. System nach Aspekt 23, das ferner Folgendes umfasst:
      • Bestimmen, dass die zwei oder mehr Begrenzungsrahmen überlappen und einen gemeinsamen Punkt enthalten;
      • Berechnen eines Mittelwerts der Klassifizierungsbewertungen für die zwei oder mehr überlappenden Begrenzungsrahmen; und
      • Ergänzen des gemeinsamen Punkts mit dem Mittelwert der Klassifizierungsbewertungen.
    25. 25. Nicht-transitorisches computerlesbares Speichermedium, das Anweisungen speichert, die dann, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, Operationen auszuführen, die Folgendes umfassen:
      • zeitliches Abgleichen von Punkten in einer dreidimensionalen (3D-) Punktwolke mit einem Bild;
      • Erzeugen, unter Verwendung eines bildbasierten neuronalen Netzes, von Semantikdaten für das Bild;
      • Ergänzen der Punkte in der 3D-Punktwolke mit den Semantikdaten; und Schätzen, unter Verwendung eines 3D-Objektdetektors mit den ergänzten Punkten als Eingabe, von orientierten 3D-Begrenzungsrahmen für das eine oder die mehreren Objekte.
    26. 26. Nicht-transitorisches computerlesbares Speichermedium nach Aspekt 25, wobei das Ergänzen der Punkte in der 3D-Punktwolke mit den Semantikdaten ferner Folgendes umfasst:
      • Codieren, unter Verwendung eines Punktsäulen-Netzes, der ergänzen Punkte in Punktsäulen;
      • Erzeugen, unter Verwendung eines Netzes für tiefes Lernen mit den Punktsäulen als Eingabe, von Merkmalen, die ein oder mehrere Objekte angeben;
      • Schätzen, unter Verwendung eines Detektionskopfes mit den Merkmalen als Eingabe, von orientierten 3D-Begrenzungsrahmen für das eine oder die mehreren Objekte.
    27. 27. Verfahren, das Folgendes umfasst:
      • zeitliches Abgleichen, unter Verwendung eines oder mehrerer Prozessoren eines Fahrzeugs, von Punkten innerhalb einer dreidimensionalen (3D-) Punktgruppe mit einem Bild;
      • Erzeugen, unter Verwendung eines bildbasierten neuronalen Netzes, von Semantikdaten für das Bild;
      • Ergänzen, unter Verwendung des einen oder der mehreren Prozessoren, der Punkte innerhalb der 3D-Punktgruppe mit den Semantikdaten; und
      • Codieren, unter Verwendung eines Punktsäulen-Netzes, der ergänzen Punkte in Punktsäulen;
      • Erzeugen, unter Verwendung eines Netzes für tiefes Lernen mit den Punktsäulen als Eingabe, von Merkmalen, die ein oder mehrere Objekte angeben; und
      • Schätzen, unter Verwendung eines Detektionskopfes mit den Merkmalen als Eingabe, von orientierten 3D-Begrenzungsrahmen für das eine oder die mehreren Objekte.
    28. 28. Verfahren nach Aspekt 27, wobei das Codieren der detektierten Punkte in Punktsäulen das Erweitern von Punksäulenwerten mit den Semantikdaten enthält.
    29. 29. Verfahren nach Aspekt 28, wobei die Punkte in jeder Säule Werte eines Abstands zu einem arithmetischen Mittel aller Punkte in der Säule und einen Versatz von einer Mitte der Säule enthalten, wobei die Punkte in jeder Säule mit den Semantikdaten erweitert sind.
    30. 30. Verfahren nach Aspekt 27, das ferner Folgendes umfasst:
      • Ergänzen der Punkte innerhalb der 3D-Punktgruppe mit Klassifizierungsbewertungen für die orientierten 3D-Begrenzungsrahmen zusätzlich zu den Semantikdaten oder anstelle der Semantikdaten;
      • Bestimmen, dass die orientierten 3D-Begrenzungsrahmen überlappen und einen gemeinsamen Punkt enthalten;
      • Berechnen eines Mittelwerts der Klassifizierungsbewertungen für die zwei oder mehr überlappenden Begrenzungsrahmen; und
      • Ergänzen des gemeinsamen Punkts mit dem Mittelwert der Klassifizierungsbewertungen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 17096916 [0103]

Claims (20)

  1. Verfahren, das Folgendes umfasst: Erzeugen, unter Verwendung eines Bildmerkmalsextraktionsnetzes und wenigstens eines Prozessors, von Semantikdaten, die einem ersten Semantikbild zugeordnet sind, aus einem ersten Bild eines ersten Bildtyps; Einbetten, unter Verwendung des wenigstens einen Prozessors, eines zweiten Bilds eines zweiten Bildtyps mit den dem Semantikbild zugeordneten Semantikdaten, um ein vereinigtes Bild zu bilden; Erzeugen, unter Verwendung eines Netzes für vereinigte Bilder, von Merkmalsdaten, die einem annotierten vereinigten Bild zugeordnet sind, aus dem vereinigten Bild; Bestimmen, unter Verwendung des einen oder der mehreren Prozessoren, eines Verlusts basierend auf einem Vergleich des annotierten vereinigten Bilds mit einem verifizierten Bild; und Modifizieren wenigstens eines Netzparameters des Bildmerkmalsextraktionsnetzes basierend auf einem Verlust, wobei das Bildmerkmalsextraktionsnetz wenigstens einen modifizierten Netzparameter verwendet, um Semantikdaten, die einem zweiten Semantikbild zugeordnet sind, zu erzeugen.
  2. Verfahren nach Anspruch 1, wobei das zweite Bild eine 3D-Punktwolke ist, wobei das Verfahren ferner Folgendes umfasst: Empfangen von Kartendaten, die einer Karte zugeordnet sind; Bestimmen eines Orts der 3D-Punktwolke innerhalb der Karte; und Einbetten der 3D-Punktwolke mit den Annotationen, die der Karte zugeordnet sind, basierend auf dem Ort der 3D-Punktwolke innerhalb der Karte, um das vereinigte Bild zu bilden.
  3. Verfahren nach Anspruch 1, wobei das erste Bild ein Kamera-Bild ist.
  4. Verfahren nach Anspruch 1, wobei das zweite Bild eine 3D-Lidar-Punktwolke ist.
  5. Verfahren nach Anspruch 1, wobei das Netz für vereinigte Bilder ein neuronales Lidar-Netz ist.
  6. Verfahren nach Anspruch 1, wobei das Netz für vereinigte Bilder ein neuronales Vorhersagenetz ist.
  7. Verfahren nach Anspruch 1, wobei das zweite Bild eine 3D-Punktwolke ist, wobei das Einbetten des zweiten Bilds mit den Semantikdaten Folgendes umfasst: Transformieren der 3D-Punktwolke in ein Vogelperspektiven-Bild; und Einbetten des Vogelperspektiven-Bilds mit den dem Semantikbild zugeordneten Semantikdaten, um das vereinigte Bild zu bilden.
  8. Verfahren nach Anspruch 1, wobei die einem Pixel des Semantikbilds zugeordneten Semantikdaten wenigstens eine Merkmalseinbettung enthalten.
  9. Verfahren nach Anspruch 1, wobei die dem annotierten vereinigten Bild zugeordneten Merkmalsdaten wenigstens eines aus Breite, Höhe und Länge eines Objekts, Begrenzungsrahmen für das Objekt, Objektbewegung, Objektorientierung und/oder Objektbewegungsbahnvorhersage umfassen.
  10. Verfahren nach Anspruch 1, wobei die einem Pixel des Semantikbilds zugeordneten Semantikdaten eine Objektklassifizierungsbewertung enthalten.
  11. Verfahren nach Anspruch 10, wobei die Objektklassifizierungsbewertung das Pixel einer speziellen Objektklassifizierung aus mehreren Objektklassifizierungen zuordnet.
  12. Verfahren nach Anspruch 11, wobei die mehreren Objektklassifizierungen wenigstens eines aus einer Autoklasse, einer Fahrradklasse, einer Fußgängerklasse, einer Hindernisklasse, einer Absperrkegelklasse, einer Klasse einer befahrbaren Oberfläche oder einer Hintergrundklasse umfassen.
  13. Verfahren nach Anspruch 1, wobei das verifizierte Bild einen Zielmerkmalswert für jedes Merkmal, das in den dem annotierten vereinigten Bild zugeordneten Merkmalsdaten enthalten ist, enthält.
  14. Verfahren nach Anspruch 1, wobei das Bestimmen des Verlusts basierend auf dem Vergleich des annotierten vereinigten Bilds mit dem verifizierten Bild das Vergleichen wenigstens eines Merkmals, das in den einem speziellen Pixel zugeordneten Merkmalsdaten enthalten ist, mit einem Zielmerkmalswert in einem entsprechenden Pixel des verifizierten Bilds umfasst.
  15. System, das Folgendes umfasst: wenigstens einen Prozessor, und wenigstens ein nicht-transitorisches Speichermedium, das Anweisungen speichert, die dann, wenn sie durch den wenigstens einen Prozessor ausgeführt werden, den wenigstens einen Prozessor veranlassen zum: ein Bildmerkmalsextraktionsnetz, das ausgelegt ist, Semantikdaten, die einem ersten Semantikbild zugeordnet sind, aus einem ersten Bild eines ersten Bildtyps zu erzeugen; ein Vereinigungssystem, das ausgelegt ist, ein zweites Bild eines zweiten Bildtyps mit den dem Semantikbild zugeordneten Semantikdaten einzubetten, um ein vereinigtes Bild zu bilden; ein Netz für vereinigte Bilder, das ausgelegt ist, Merkmalsdaten, die einem annotierten vereinigten Bild zugeordnet sind, aus dem vereinigten Bild zu erzeugen; und einen Verlustrechner, der ausgelegt ist, einen Verlust basierend auf einem Vergleich des annotierten vereinigten Bilds mit einem verifizierten Bild zu erzeugen, wobei das Bildmerkmalsextraktionsnetz ferner ausgelegt ist, wenigstens einen Netzparameter basierend auf dem Verlust zu modifizieren, und wenigstens einen modifizierten Netzparameter verwendet, um Semantikdaten, die einem zweiten Semantikbild zugeordnet sind, zu erzeugen.
  16. System nach Anspruch 15, wobei das zweite Bild eine 3D-Lidar-Punktwolke ist.
  17. System nach Anspruch 15, wobei das Netz für vereinigte Bilder ein neuronales Lidar-Netz ist.
  18. System nach Anspruch 15, wobei das zweite Bild eine 3D-Punktwolke ist, wobei, um das zweite Bild mit den Semantikdaten einzubetten, die Anweisungen ferner den wenigstens einen Prozessor veranlassen zum: Transformieren der 3D-Punktwolke in ein Vogelperspektiven-Bild; und Einbetten des Vogelperspektiven-Bilds mit den dem Semantikbild zugeordneten Semantikdaten, um das vereinigte Bild zu bilden.
  19. System nach Anspruch 15, wobei das zweite Bild eine 3D-Punktwolke ist, wobei die Anweisungen, um das zweite Bild mit den Semantikdaten einzubetten, ferner den wenigstens einen Prozessor veranlassen zum: Empfangen von Kartendaten, die einer Karte zugeordnet sind; Bestimmen eines Orts der 3D-Punktwolke innerhalb der Karte; und Einbetten der 3D-Punktwolke mit den Annotationen, die der Karte zugeordnet sind, basierend auf dem Ort der 3D-Punktwolke innerhalb der Karte, um das vereinigte Bild zu bilden.
  20. Wenigstens ein nicht-transitorisches Speichermedium, das Anweisungen speichert, die dann, wenn sie durch wenigstens einen Prozessor ausgeführt werden, den wenigstens einen Prozessor veranlassen zum: Erzeugen, unter Verwendung eines Bildmerkmalsextraktionsnetzes, von Semantikdaten, die einem ersten Semantikbild zugeordnet sind, aus einem ersten Bild eines ersten Bildtyps; Einbetten eines zweiten Bilds eines zweiten Bildtyps mit den dem Semantikbild zugeordneten Semantikdaten, um ein vereinigtes Bild zu bilden; Erzeugen, unter Verwendung eines Netzes für vereinigte Bilder, von Merkmalsdaten, die einem annotierten vereinigten Bild zugeordnet sind, aus dem vereinigten Bild; Bestimmen eines Verlusts basierend auf einem Vergleich des annotierten vereinigten Bilds mit einem verifizierten Bild; und Modifizieren wenigstens eines Netzparameters des Bildmerkmalsextraktionsnetzes basierend auf dem Verlust, wobei das Bildmerkmalsextraktionsnetz wenigstens einen modifizierten Netzparameter verwendet, um Semantikdaten, die einem zweiten Semantikbild zugeordnet sind, zu erzeugen.
DE102021132082.8A 2021-05-05 2021-12-06 Ende-zu-ende-system-training unter verwendung vereinigter bilder Pending DE102021132082A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163184690P 2021-05-05 2021-05-05
US63/184,690 2021-05-05
US17/444,956 US20220358328A1 (en) 2021-05-05 2021-08-12 End-to-end system training using fused images
US17/444,956 2021-08-12

Publications (1)

Publication Number Publication Date
DE102021132082A1 true DE102021132082A1 (de) 2022-11-10

Family

ID=78399553

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021132082.8A Pending DE102021132082A1 (de) 2021-05-05 2021-12-06 Ende-zu-ende-system-training unter verwendung vereinigter bilder

Country Status (5)

Country Link
US (1) US20220358328A1 (de)
KR (1) KR102657921B1 (de)
CN (1) CN115393677A (de)
DE (1) DE102021132082A1 (de)
GB (1) GB2606418B (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115965961B (zh) * 2023-02-23 2024-04-05 上海人工智能创新中心 局部到全局的多模态融合方法、系统、设备及存储介质
CN116109470B (zh) * 2023-04-13 2023-06-20 深圳市其域创新科技有限公司 实时点云数据渲染方法、装置、终端及存储介质
CN117911816A (zh) * 2023-06-13 2024-04-19 魔视智能科技(武汉)有限公司 融合感知方法、装置、计算机设备及存储介质
KR102633937B1 (ko) * 2023-07-06 2024-02-07 (주)트루엔 전자 장치 및 이를 이용한 오브젝트와 관련된 속성정보 획득 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11221413B2 (en) * 2018-03-14 2022-01-11 Uatc, Llc Three-dimensional object detection
US10311335B1 (en) * 2018-09-05 2019-06-04 StradVision, Inc. Method and device for generating image data set to be used for learning CNN capable of detecting obstruction in autonomous driving circumstance, and testing method, and testing device using the same
US10408939B1 (en) * 2019-01-31 2019-09-10 StradVision, Inc. Learning method and learning device for integrating image acquired by camera and point-cloud map acquired by radar or LiDAR corresponding to image at each of convolution stages in neural network and testing method and testing device using the same
US10776673B2 (en) * 2019-01-31 2020-09-15 StradVision, Inc. Learning method and learning device for sensor fusion to integrate information acquired by radar capable of distance estimation and information acquired by camera to thereby improve neural network for supporting autonomous driving, and testing method and testing device using the same
WO2021041854A1 (en) * 2019-08-30 2021-03-04 Nvidia Corporation Object detection and classification using lidar range images for autonomous machine applications
US11940804B2 (en) * 2019-12-17 2024-03-26 Motional Ad Llc Automated object annotation using fused camera/LiDAR data points
US11586865B2 (en) * 2021-02-18 2023-02-21 Volkswagen Aktiengesellschaft Apparatus, system and method for fusing sensor data to do sensor translation

Also Published As

Publication number Publication date
US20220358328A1 (en) 2022-11-10
GB2606418A (en) 2022-11-09
KR20220151098A (ko) 2022-11-14
CN115393677A (zh) 2022-11-25
GB2606418B (en) 2024-01-24
GB202113834D0 (en) 2021-11-10
KR102657921B1 (ko) 2024-04-15

Similar Documents

Publication Publication Date Title
DE102020129854A1 (de) Sequenzielle fusion zur 3d-objektdetektion
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102021132082A1 (de) Ende-zu-ende-system-training unter verwendung vereinigter bilder
DE102021112349A1 (de) Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
DE112020002592T5 (de) Systeme und verfahren zur fahrzeugnavigation basierend auf bildanalyse
DE102022102189A1 (de) Multimodales Segmentierungsnetz für ein verbessertes semantisches Labelingbei einer Kartenerzeugung
DE102021132853A1 (de) Auf deep learning basierende kamerakalibrierung
US20230260261A1 (en) Prediction error scenario mining for machine learning models
DE102021131489A1 (de) Semantische annotation von sensordaten unter verwendung unzuverlässiger kartenannotationseingaben
DE102022100041A1 (de) Betriebseinhüllendenerkennung mit situationsbeurteilung unter verwendung von metriken
DE102023111485A1 (de) Nachverfolgungssegmentbereinigung nachverfolgter objekte
DE102021132199A1 (de) Bestimmen von Objektmobilitätsparametern unter Verwendung einer Objektsequenz
DE102022119204A1 (de) Systeme und Verfahren zur effizienten Schätzung einer Fahrzeugausdehnung
DE102022131625A1 (de) Bordsteinbasierte merkmalsextraktion für lokalisierung und fahrspurerkennung mittels radar
DE102022100413A1 (de) Objekterkennung unter verwendung von radar-und-lidar-zusammenführung
DE102022105579A1 (de) Graphenerkundung zur regelbuchtrajektorieerzeugung
DE102021132096A1 (de) Fahrzeugortsbestimmung unter verwendung kombinierter eingaben redundanter ortsbestimmungs-pipelines
DE102023108247A1 (de) Tracker-Positionsaktualisierungen zur Erzeugung von Fahrzeugtrajektoren
DE102023107233A1 (de) Auswahl von fahrzeugaktionen auf grundlage simulierter zustände
DE102022122456A1 (de) Auf maschinellem lernen basierte klassifizierung einer punktwolkenausrichtung
DE102022103060A1 (de) Automatisches detektieren von verkehrssignalen unter verwendung von sensordaten
DE102021133740A1 (de) Erlernen der identifikation sicherheitskritischer szenarien für ein autonomes fahrzeug
DE102022102187A1 (de) High-fidelity-daten-getriebene multimodale simulation
DE102022104054A1 (de) Die fahrzeugzustandsschätzung verbessernde sensordaten zur fahrzeugsteuerung und zum autonomen fahren
DE102023109040A1 (de) Vereinheitlichtes framework und werkzeuge zur kommentierung von fahrspurbegrenzungen