DE102022119217A1 - Trainieren eines neuronalen Netzwerks unter Verwendung einer Datenmenge mit Labeln mehrerer Granularitäten - Google Patents

Trainieren eines neuronalen Netzwerks unter Verwendung einer Datenmenge mit Labeln mehrerer Granularitäten Download PDF

Info

Publication number
DE102022119217A1
DE102022119217A1 DE102022119217.2A DE102022119217A DE102022119217A1 DE 102022119217 A1 DE102022119217 A1 DE 102022119217A1 DE 102022119217 A DE102022119217 A DE 102022119217A DE 102022119217 A1 DE102022119217 A1 DE 102022119217A1
Authority
DE
Germany
Prior art keywords
granularity
neural network
labeled
images
data
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
DE102022119217.2A
Other languages
English (en)
Inventor
Jiong Yang
You Hong Eng
Pan Yu
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 DE102022119217A1 publication Critical patent/DE102022119217A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/74Circuits for processing colour signals for obtaining special effects
    • H04N9/75Chroma key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • 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
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/141Control of illumination
    • 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
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • 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

Landscapes

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

Abstract

Diese Offenbarung beschreibt Systeme und Verfahren zum Trainieren eines neuronalen Netzwerks mit einer Trainingsdatenmenge, umfassend Datenelemente, die bei unterschiedlichen Granularitäten gelabelt sind. Während des Trainings kann jedes Element in der Trainingsdatenmenge durch das neuronale Netzwerk eingespeist werden. Für Elemente mit Labels einer höheren Granularität können Gewichte des Netzwerks basierend auf einem Vergleich zwischen der Ausgabe des Netzwerks und dem Label des Elements angepasst werden. Für Elemente mit Labels einer niedrigeren Granularität kann eine Ausgabe des Netzwerks über eine Umwandlungsfunktion eingespeist werden, die die Ausgabe von der höheren Granularität in die niedrigere Granularität umwandelt. Die Gewichte des Netzwerks können dann basierend auf einem Vergleich zwischen der umgewandelten Ausgabe und dem Label des Elements angepasst werden.

Description

  • HINTERGRUND
  • Autonome Fahrzeuge können verwendet werden, um Personen und/oder Ladung (z. B. Pakete, Objekte oder andere Elemente) von einem Ort zu einem anderen zu transportieren. Beispielsweise kann ein autonomes Fahrzeug zum Ort einer Person navigieren, darauf warten, dass eine Person in das autonome Fahrzeug einsteigt, und zu einem angegebenen Ziel (z. B. einem durch die Person ausgewählten Ort) navigieren. Zum Navigieren in der Umgebung sind diese autonomen Fahrzeuge mit verschiedenen Typen von Sensoren zum Detektieren von Objekten in den Umgebungen ausgestattet. Vollständige oder teilweise Blockierung eines oder mehrerer dieser Sensoren kann zu einer verschlechterten Leistungsfähigkeit des autonomen Fahrzeugs führen.
  • Figurenliste
    • 1 zeigt ein Beispiel eines autonomen Fahrzeugs mit autonomer Fähigkeit.
    • 2 zeigt eine beispielhafte Cloud-Datenverarbeitungsumgebung.
    • 3 zeigt ein Computersystem.
    • 4 zeigt eine beispielhafte Architektur für ein autonomes Fahrzeug.
    • 5 zeigt ein Beispiel für Eingaben und Ausgaben, die durch ein Wahrnehmungsmodul verwendet werden können.
    • 6A - 6C zeigen Beispiele dafür, wie Ablagerungen ein Sichtfeld eines optischen Sensors zumindest teilweise blockieren können.
    • 7 zeigt ein System zum Erfassen von Bildern von verschiedenen Typen von Ablagerungen bei unterschiedlichen Abständen von einem optischen Sensor.
    • 8 zeigt, wie durch das in 7 dargestellte System erzeugte Bilder verwendet werden können, um Bilder zum Trainieren eines neuronalen Netzwerks zu synthetisieren.
    • 9 zeigt eine Trainingsarchitektur für neuronale Netzwerke zum Trainieren eines neuronalen Netzwerks zum Detektieren und Charakterisieren von Blockierungen von optischen Sensoren.
    • 10 stellt eine beispielhafte Routine zur Erzeugung einer Trainingsdatenmenge für eine synthetische teilweise Blockierung dar.
    • 11 stellt eine beispielhafte Routine zum Trainieren eines neuronalen Netzwerks mit Trainingsdaten dar, die mehrere Granularitätsniveaus aufweisen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis der vorliegenden Offenbarung für Erläuterungszwecke bereitzustellen. Es versteht sich jedoch, dass die durch die vorliegende Offenbarung beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten umgesetzt werden können. In manchen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform veranschaulicht, um zu verhindern, die Aspekte der vorliegenden Offenbarung unnötig unklar zu machen.
  • Spezifische Anordnungen oder Ordnungen schematischer Elemente, wie etwa jenen, die Systeme, Vorrichtungen, Module, Anweisungsblöcke, Datenelemente und/oder dergleichen repräsentieren, sind zur Vereinfachung der Beschreibung in den Zeichnungen veranschaulicht. Fachleute auf dem Gebiet werden jedoch verstehen, dass die spezifische Ordnung oder Anordnung der schematischen Elemente in den Zeichnungen nicht andeuten soll, dass eine spezielle Verarbeitungsreihenfolge oder -abfolge oder Trennung von Prozessen erforderlich ist, insofern nicht ausdrücklich derartig beschrieben. Ferner soll der Einschluss eines schematischen Elements in einer Zeichnung nicht andeuten, dass ein solches Element in allen Ausführungsformen erforderlich ist oder dass die durch ein solches Element repräsentierten Merkmale möglicherweise bei manchen Ausführungsformen nicht in anderen Elementen enthalten sind oder mit diesen kombiniert werden, insofern nicht ausdrücklich derartig beschrieben.
  • Ferner soll in den Zeichnungen, in denen Verbindungselemente wie etwa durchgezogene oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, Beziehung oder Zuordnung zwischen oder unter zwei oder mehr anderen schematischen Elementen zu veranschaulichen, das Nichtvorhandensein jeglicher solcher Verbindungselemente nicht andeuten, dass keine Verbindung, Beziehung oder Zuordnung bestehen kann. Mit anderen Worten sind manche Verbindungen, Beziehungen oder Zuordnungen zwischen Elementen in den Zeichnungen nicht veranschaulicht, um die Offenbarung nicht unklar zu machen. Zusätzlich kann zur Vereinfachung der Veranschaulichung ein einzelnes Verbindungselement verwendet werden, um mehrere Verbindungen, Beziehungen oder Zuordnungen zwischen Elementen zu repräsentieren. Wenn ein Verbindungselement eine Kommunikation von Signalen, Daten oder Anweisungen (z. B. „Softwareanweisungen“) repräsentiert, sollten Fachleute auf dem Gebiet beispielsweise verstehen, dass ein solches Element einen oder mehrere Signalpfade (z. B. einen Bus) repräsentieren kann, wie erforderlich, um die Kommunikation zu bewirken.
  • Obwohl die Begriffe erster, zweiter, dritter und/oder dergleichen verwendet werden, um verschiedene Elemente zu beschreiben, sollten diese Elemente nicht durch diese Begriffe eingeschränkt werden. Die Begriffe erster, zweiter, dritter und/oder dergleichen werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet werden und gleichermaßen könnte ein zweiter Kontakt als ein erster Kontakt bezeichnet werden, ohne vom Schutzumfang der beschriebenen Ausführungsformen abzuweichen. Sowohl der erste Kontakt als auch der zweite Kontakt sind Kontakte, sie sind aber nicht derselbe Kontakt.
  • Die in der Beschreibung der verschiedenen beschriebenen Ausführungsformen hierin verwendete Terminologie ist nur zum Zweck der Beschreibung spezieller Ausführungsformen enthalten und soll nicht beschränkend sein. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und in den angehängten Ansprüchen verwendet, sollen die Singularformen „ein“, „eine“ und „der/die/das“ auch die Pluralformen einschließen und können austauschbar mit „ein/e oder mehrere“ oder „mindestens ein/e“ verwendet werden, insofern der Zusammenhang deutlich nicht etwas anderes angibt. Es versteht sich auch, dass sich der Begriff „und/oder“, wie hierin verwendet, auf jegliche und alle möglichen Kombinationen eines oder mehrerer der assoziierten aufgelisteten Punkte bezieht und einschließt. Es versteht sich ferner, dass die Begriffe „beinhaltet“, einschließlich“, „umfasst“ und/oder „umfassend“, wenn in dieser Beschreibung verwendet, das Vorhandensein genannter Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifiziert, aber nicht das Vorhandensein oder den Zusatz eines/einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließt.
  • Wie hierin verwendet, beziehen sich die Begriffe „Kommunikation“ und „kommunizieren“ auf den Empfang und/oder den Erhalt und/oder die Übertragung und/oder den Transfer und/oder die Bereitstellung und/oder dergleichen von Informationen (oder Informationen, die beispielsweise durch Daten, Signale, Nachrichten, Anweisungen, Befehle und/oder dergleichen repräsentiert werden). Dass eine Einheit (z. B. eine Vorrichtung, ein System, eine Komponente einer Vorrichtung oder eines Systems, Kombinationen davon und/oder dergleichen) in Kommunikation mit einer anderen Einheit steht, bedeutet, dass die eine Einheit in der Lage ist, direkt oder indirekt Informationen von der anderen Einheit zu empfangen und/oder zu dieser zu senden (z. B. zu übertragen). Dies kann sich auf eine direkte oder indirekte Verbindung beziehen, die drahtgebunden und/oder drahtlos ist. Zusätzlich können zwei Einheiten in Kommunikation miteinander stehen, selbst wenn die übertragenen Informationen zwischen der ersten und zweiten Einheit modifiziert, verarbeitet, weitergeleitet und/oder geroutet werden. Beispielsweise kann eine erste Einheit in Kommunikation mit einer zweiten Einheit stehen, selbst wenn die erste Einheit Informationen passiv empfängt und nicht aktiv Informationen zu der zweiten Einheit überträgt. Als ein anderes Beispiel kann eine erste Einheit in Kommunikation mit einer zweiten Einheit stehen, falls mindestens eine Zwischeneinheit (z. B. eine dritte Einheit, die sich zwischen der ersten Einheit und der zweiten Einheit befindet) von der ersten Einheit empfangene Informationen verarbeitet und die verarbeiteten Informationen zu der zweiten Einheit überträgt. In manchen Ausführungsformen kann sich eine Nachricht auf ein Netzwerkpaket (z. B. ein Datenpaket und/oder dergleichen) beziehen, das Daten beinhaltet.
  • Wie hierin verwendet, soll der Begriff „falls“ optional so ausgelegt werden, dass er, in Abhängigkeit vom Zusammenhang, „wenn“ „bei“, „als Reaktion auf das Bestimmen“, „als Reaktion auf das Detektieren“ und/oder dergleichen bedeutet. Gleichermaßen wird der Ausdruck „falls bestimmt wird“ oder „falls [eine angegebene Bedingung oder ein angegebenes Ereignis] detektiert wird“ optional als „beim Bestimmen“, „als Reaktion auf das Bestimmen“, „beim Detektieren [der angegebenen Bedingung oder des angegebenen Ereignisses]“, „als Reaktion auf das Detektieren [der angegebenen Bedingung oder des angegebenen Ereignisses]“ und/oder dergleichen bedeutend, in Abhängigkeit vom Kontext, ausgelegt. Wie hierin verwendet, sollen außerdem die Begriffe „hat“, „haben“, „aufweisend“ oder dergleichen offene Begriffe sein. Ferner soll der Ausdruck „basierend auf“ „zumindest teilweise basierend auf“ bedeuten, insofern nichts anderes ausdrücklich angegeben ist.
  • Nun wird ausführlicher Bezug auf Ausführungsformen genommen, von denen Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der folgenden ausführlichen Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis der verschiedenen beschriebenen Ausführungsformen bereitzustellen. Ein Durchschnittsfachmann auf dem Gebiet wird jedoch verstehen, das die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten umgesetzt werden können. In anderen Fällen sind wohlbekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netzwerke nicht ausführlich beschrieben, damit Aspekte der Ausführungsformen nicht unnötig unklar gemacht werden.
  • Allgemeiner Überblick
  • Allgemein beschrieben, beziehen sich Aspekte der vorliegenden Offenbarung auf das Trainieren eines neuronalen Netzwerks zum Erkennen von Kamerablockierungen, wie etwa Objekten, die an einem Objektiv einer Kamera des autonomen Fahrzeugs anhaften. Spezieller beziehen sich Aspekte der vorliegenden Offenbarung auf das synthetische Erzeugen von Eingabedaten, die verwendbar sind zum Trainieren eines neuronalen Netzwerks zum Detektieren von Grenzen solcher Blockierungen, sowie zum Trainieren eines solchen neuronalen Netzwerks unter Verwendung einer Kombination aus synthetisch und nicht-synthetisch erzeugten Daten. Wie hier offenbart, können synthetische Eingabedaten für ein neuronales Netzwerk zur Detektion von Kamerablockierung durch gesteuerte Erzeugung von Blockierungsbildern auf einem bekannten Hintergrund (z. B. einer bekannten Farbe), Detektion von Blockierungsgrenzen durch Analyse der Bilder basierend auf dem bekannten Hintergrund und Ersetzung dieses bekannten Hintergrunds mit verschiedenen anderen Hintergrundbildern (z. B. Echtweltbildern) erzeugt werden, um synthetische blockierte Bilder mit bekannten Blockierungsgrenzen zu erzeugen. Diese Technik kann genauere Bilder mit synthetischer Blockierung erzeugen als alternative Techniken und dabei eine Möglichkeit beibehalten, Blockierungsgrenzen genau zu detektieren. Ein neuronales Netzwerk kann dann basierend auf sowohl den Bildern mit synthetischer Blockierung mit bekannten Blockierungsgrenzen als auch Bildern mit nicht-synthetischen Blockierungen (z. B. erhalten aus einer Produktionsumgebung) mit unbekannten Blockierungsgrenzen trainiert werden, um ein trainiertes Netzwerk zu erzeugen, das, bei einem gegebenen Bild mit nicht-synthetischer Blockierung, erwartete Blockierungsgrenzen für das Bild erzeugen kann. Danach kann das trainierte Netzwerk (z. B. in der Produktion) angewendet werden, um Kamerablockierungen und geschätzte Grenzen solcher Blockierungen zu detektieren. Eine genauere Detektion von Blockierungen und Grenzen kann ihrerseits in einer genaueren und sichereren Verwendung von Kameradaten resultieren, wie etwa durch Ermöglichen eines genaueren und sichereren Betriebs eines autonomen Fahrzeugs.
  • Wie es sich für einen Fachmann versteht, kann genaues Trainieren von neuronalen Netzwerken häufig große Eingabedatenmengen erfordern. In einigen Fällen kann es schwierig oder unmöglich sein, nicht-synthetische Eingabedaten zu erhalten, die ausreichend sind, um ein Netzwerk genau zu trainieren. Dies kann insbesondere zutreffend für neuronale Netzwerke sein, die mit „Grenzfall“-Szenarien umgehen sollen, die nicht oft auftreten. Ein Beispiel eines solchen Grenzfalls können Kamerablockierungen in einem autonomen Fahrzeug sein, wie etwa, wenn Wasser oder andere Materie (z. B. Blätter, Schlamm, Sand usw.) an einem Objektiv einer Kamera des Fahrzeugs haften und Erfassung der Umgebung des Fahrzeugs verhindert. Solche Fälle können signifikante Sicherheitsbedenken hervorrufen, insbesondere dort, wo die Kamera des Fahrzeugs ganz oder teilweise verwendet wird, um den Betrieb des Fahrzeugs zu steuern. Während es für einen menschlichen Bediener trivial sein kann, solche Blockierungen und das Ausmaß solcher Blockierungen zu erkennen, ist es schwieriger, dies programmatisch durchzuführen. Typischerweise werden Kamerabilder als zweidimensionale Daten analysiert (z. B. als eine zweidimensionale Pixelmatrix), und es kann von einem programmatischen Standpunkt aus schwierig sein, genau zwischen Pixeln, die eine Blockierung erfassen, und Bildern, die die Umgebung eines Fahrzeugs erfassen, zu unterscheiden. Ein Ansatz für das Trainieren einer Datenverarbeitungsvorrichtung zum programmatischen Unterscheiden von blockierten Bildern und nicht-blockierten Bildern und zum Detektieren des Ausmaßes einer solchen Blockierung kann sein, ein neuronales Netzwerk auf Eingaben zu trainieren, die sowohl blockierte als auch nichtblockierte Bilder umfassen. Allerdings kann die relative Spärlichkeit von blockierten Bildern - z. B. aufgrund ihrer Natur als Grenzfall - genaues Trainieren verhindern.
  • Eine Technik zum synthetischen Erzeugen von Eingabedaten kann sein, ein neuronales Netzwerkrahmenwerk zu verwenden, wie etwa ein erzeugendes gegnerisches Netzwerk (GAN, Generative Adversarial Network). Ein solches Rahmenwerk kann trainiert werden (z. B. basierend auf nicht-synthetischen blockierten Bildern), um synthetische blockierte Bilder zu erzeugen. Allerdings hat dieser Ansatz eine Reihe von Nachteilen. Beispielsweise kann die Ausgabe eines solchen Netzwerks keine ausreichende Qualität haben, um ein Netzwerk zur Verwendung in einem autonomen Fahrzeug auf öffentlichen Straßen zu trainieren. Darüber hinaus würde, selbst wenn ein solches Netzwerk in der Lage wäre, synthetische Daten ausreichender Qualität bereitzustellen, ein solches Netzwerk im Allgemeinen nicht in der Lage sein, genau anzugeben, welche Teile eines Bildes blockiert und welche nicht blockiert sind. Allerdings können die Natur und das Ausmaß der Blockierung in verschiedenen Kontexten wichtig sein, wie etwa für den sicheren und genauen Betrieb eines autonomen Fahrzeugs. Beispielsweise kann ein solches Fahrzeug unter geringfügigen Blockierungsbedingungen (z. B. 1 bis 2 % Blockierung) weiterhin arbeiten, dabei eine Antwortaktion umsetzend (z. B. eine Objektivreinigungseinrichtung), kann aber nicht wie beabsichtigt arbeiten, wenn größere Blockierungen (z. B. 75 % oder mehr) vorhanden sind. Da durch GAN erzeugte synthetische Bilder keine Daten umfassen können, auf denen Teile eines Bildes blockiert sind, können diese Bilder für solche Anwendungen ungeeignet sein.
  • Eine weitere mögliche Technik zum Erzeugen von synthetischen Daten kann sein, Bilder von Blockierungen von einem Hintergrundbild direkt abzuschneiden und die abgeschnittene Blockierung auf Hintergrundbilder (z. B. der Umgebung eines Fahrzeugs) zu überlagern. Beispielsweise kann ein nicht-synthetisches Bild, das eine Blockierung umfasst, verarbeitet werden, um die Blockierung zu isolieren (z. B. durch Herausschneiden eines Hintergrunds). Diese abgeschnittene Blockierung kann dann auf ein nicht-blockiertes Hintergrundbild überlagert werden, um ein synthetisches blockiertes Bild des neuen Hintergrunds zu erzeugen. Da die Orte der Blockierung bekannt sind, kann das Bild mit Blockierungsdaten verknüpft werden, die diese Orte anzeigen. Auf diese Weise kann ein nicht-synthetisches Bild mit Blockierung verwendet werden, um ein oder mehrere synthetische Bilder mit der Blockierung zu erzeugen. Allerdings hat diese „Kopieren-und-Einfügen“-Technik auch Nachteile. Insbesondere können, aufgrund von Interaktionen zwischen der Blockierung und dem Hintergrund, die nicht durch eine Abschneiden-und-Überlagern-Operation erfasst werden, solche synthetischen Bilder Echtweltblockierungen ungenau widerspiegeln. Veranschaulichend können einige Blockierungen teilweise transparent sein und so einen Sensor einer Kamera nur teilweise verdecken. Dies kann insbesondere an den Rändern einer Blockierung zutreffend sein. Beispielsweise kann selbst ein vollständig opakes Objekt Kantenweichzeichnen („Feathering“) rund um das Objekt verursachen, wo ein Sensor einer Kamera teilweise die Hintergrundumgebung erfassen kann. Eine Abschneiden-und-Überlagern-Operation wäre im Allgemeinen nicht in der Lage, solche teilweisen Blockierungen zu erfassen.
  • Ausführungsformen der vorliegenden Offenbarung gehen diese Probleme an durch Bereitstellen einer synthetischen Erzeugung von hochgradig genauen Eingabedaten, die Kamerablockierungen repräsentieren. Insbesondere kann, in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung, ein Blockierungsobjekt (z. B. ein Blatt, Wasser, Schlamm usw.) gegen einen bekannten Hintergrund, wie etwa einen „Greenscreen“ oder einen anderen Hintergrund eines bekannten Farbbereichs erfasst werden. Zum Erleichtern des Erfassens kann das Blockierungsobjekt beispielsweise an ein transparentes Objekt, wie etwa eine Glastafel oder das Objektiv einer erfassenden Kamera. angeheftet werden. Chroma Keying kann dann verwendet werden, um den bekannten Hintergrund zu entfernen, was in einem Bild resultiert, das die Blockierung genau erfasst (z. B. umfassend teilweise transparente Teile der Blockierung). Danach kann die Blockierung auf neue Hintergründe überlagert werden, um synthetisch blockierte Bilder zu erzeugen. Dieser Mechanismus bietet Vorteile ähnlich der oben erörterten Abschneiden-und-Überlagern-Technik, wie etwa die Möglichkeit zu bestimmen (z. B. pixelweise), welche Teile eines Bildes Blockierung repräsentieren und welche Umgebung repräsentieren. Allerdings vermeidet der Mechanismus die Nachteile dieser Abschneiden-und-Überlagern-Technik. Beispielsweise ermöglicht der Chroma-Keying-Mechanismus die Erfassung von teilweise transparenten Blockierungen, wie etwa durch durchscheinende Objekte oder Objekte, deren Ränder Kantenweichzeichnen verursachen. Daher ermöglicht diese Bilderzeugungstechnik die Erzeugung großer Mengen hochgradig genauer Eingabedaten.
  • Zusätzlich zur Erzeugung von Bildern mit synthetischer Blockierung beziehen sich Ausführungsformen der vorliegenden Offenbarung ferner auf das Trainieren eines neuronalen Netzwerks zum Detektieren (z. B. auf Pixelebene) von blockierten Teilen eines Bildes, das Blockierungen enthält. Oft muss, um eine Ausgabe eines gegebenen Typs zu erzeugen, ein neuronales Netzwerk mit Eingaben dieses Typs trainiert werden. Entsprechend kann es, für das Trainieren eines neuronalen Netzwerks zum Detektieren, welche Teile eines Bildes blockiert sind, notwendig sein, Eingaben bereitzustellen, die sowohl Bilder mit Blockierungen als auch Informationen, die identifizieren, welche Teile der Bilder die Blockierung enthalten, umfassen. Allerdings kann Bereitstellen dieser Informationen für nicht-synthetische Bilder schwierig oder mühselig sein. Beispielsweise kann Bereitstellen dieser Informationen im Allgemeinen erfordern, dass eine Person jedes Bild manuell überprüft und, bei einer gegebenen Granularität, kennzeichnet, welche Teile eines Bildes blockiert sind. Dieser Prozess kann erhebliche Zeit erfordern und begrenzte Genauigkeit haben, insbesondere, wenn sich die Granularität erhöht. Beispielsweise können Personen nicht in der Lage sein, große Mengen an genauen Bildbeschriftungen auf Pixelebene zu erzeugen, die anzeigen, welche Teile des Bildes blockiert sind. Wie oben angemerkt, können Ausführungsformen der vorliegenden Offenbarung dieses Problem angehen durch Bereitstellen der Erzeugung von synthetischen blockierten Bildern und entsprechenden Anzeigen (manchmal als Beschriftungen bezeichnet), welche Teile (z. B. welche Pixel) blockiert sind. Allerdings kann es nicht wünschenswert sein, ein neuronales Netzwerk ausschließlich auf solchen synthetischen Bildern zu trainieren. Beispielsweise kann es subtile Unterschiede zwischen synthetischen und nicht-synthetischen Bildern geben, die die Genauigkeit des trainierten Netzwerks während der Anwendung auf nicht-synthetische Eingaben verringern.
  • Um dies anzugehen, stellen Ausführungsformen der vorliegenden Offenbarung eine neuronale Netzwerkarchitektur bereit, die trainiert werden kann, um hochgradig genaue (z. B. auf Pixelebene) Beschriftungen für nicht-synthetische Bilder, die Blockierung enthalten, zu erzeugen unter Verwendung einer Kombination aus synthetischen und nicht-synthetischen Bildern als Eingabedaten. Speziell wird hier eine Maschinenlernarchitektur beschrieben, bei der sowohl synthetische als auch nicht-synthetische Bilder in ein neuronales Netzwerk eingegeben werden, um Anzeigen (z. B. pixelweise), welche Teile der Bilder blockiert sind, zu erzeugen. Die eingegebenen synthetischen Bilder können von Beschriftungen begleitet werden, die anzeigen, welche Pixel blockiert sind (wenn vorhanden), und wenn daher auf Basis eines synthetischen Bildes trainiert wird, kann das neuronale Netzwerk basierend auf einem Verlust zwischen den durch das neuronale Netzwerk erzeugten Anzeigen und den Beschriftungen trainiert werden. Den eingegebenen nicht-synthetischen Bildern können Beschriftungen fehlen, die anzeigen, welche Pixel blockiert sind, und sie können stattdessen mit binären Blockierungslabeln (z. B. blockiert oder nicht blockiert) verknüpft sein. Zum Trainieren auf Basis solcher binär gelabelter Eingabedaten kann das Netzwerk eine Umwandlungsfunktion umfassen, die eine Indikation, welche Teile blockiert sind, in einen binären Indikator dahingehend, ob eine Blockierung vorhanden ist, umwandelt. Beispielsweise kann die Umwandlungsfunktion eine Schwellenfunktion sein, die einen binären „Blockiert“-Indikator erzeugt, wenn ein Schwellenprozentsatz des Bildes (z. B. n %) blockiert ist. Für Eingaben umfassend binär gelabelte Eingabedaten kann das neuronale Netzwerk dann trainiert werden durch Verarbeiten der Eingabedaten zum Erzeugen von Indikationen, welche Teile blockiert sind, Umwandeln der Indikationen über die Umwandlungsfunktion in eine binäre Ausgabe und Vergleichen der binären Ausgabe mit einem binären Label für die Eingabe. Auf diese Weise kann das Netzwerk basierend auf einer Kombination von sowohl binär gelabelten Daten (z. B. nicht-synthetischen Daten) als auch granulär beschrifteten Daten (z. B. synthetischen Daten mit Beschriftungen auf Pixelebene) trainiert werden. Das aus einem solchen Training resultierende Modell kann so befähigt werden, neue Eingabedaten zu erhalten und Beschriftungen zu bestimmen, die anzeigen, welche Teile des Bildes (z. B. welche Pixel) blockiert sind. Als ein Ergebnis kann ein solches Modell in verschiedenen Szenarien, wie etwa bei autonomen Fahrzeugen, hochgradig genaue Blockierungsdetektion bereitstellen.
  • Wie für einen Fachmann angesichts der vorliegenden Offenbarung ersichtlich, verbessern die hier offenbarten Ausführungsformen die Fähigkeit von Datenverarbeitungssystemen, wie etwa von Datenverarbeitungssystemen, die innerhalb von selbstfahrenden Fahrzeugen enthalten sind oder deren Betrieb unterstützen, Blockierungen von Kameras zu detektieren und zu charakterisieren. Diese Detektion und Charakterisierung bietet ihrerseits einen genaueren, sichereren und zuverlässigeren Betrieb von Vorrichtungen, die Kamerabilder als Eingaben verwenden. Beispielsweise kann ein autonomes Fahrzeug befähigt werden, Blockierungen an einer Kamera zu detektieren und für das Ausmaß der detektierten Blockierungen angemessene Korrekturaktionen einzuleiten. Darüber hinaus gehen die vorliegend offenbarten Ausführungsformen technische Probleme an, die inhärent für Datenverarbeitungssysteme sind; insbesondere die Schwierigkeit des Trainierens eines neuronalen Netzwerks mit begrenzten Daten, die Schwierigkeit des Erzeugens hochgradig genauer synthetischer Daten mit granulären Blockierungsbeschriftungen (z. B. auf Pixelebene) und die Schwierigkeit des Trainierens eines neuronalen Netzwerks zum Bereitstellen genauer und granulärer Blockierungsbeschriftungen für nicht-synthetische Bilder, die teilweise Blockierungen enthalten. Diese technischen Probleme werden durch verschiedene hier beschriebene technische Lösungen angegangen, einschließlich der Erzeugung synthetischer Bilder unter Verwendung von Bildern von teilweiser Blockierung auf einem bekannten Hintergrund und Anwendung von Chroma-Keying-Techniken zum Anwenden der teilweisen Blockierungen auf zusätzliche Hintergründe und das Trainieren eines Maschinenlernmodells auf einer Kombination von binär beschrifteten (z. B. nicht-synthetischen ) und eher granulär beschrifteten (z. B. synthetischen) Bildern. Daher repräsentiert die vorliegende Offenbarung eine Verbesserung für Computervisionssysteme und Datenverarbeitungssysteme im Allgemeinen.
  • Die vorgenannten Aspekte und viele der dazugehörigen Vorteile dieser Offenbarung werden klarer, wenn diese unter Bezugnahme auf die folgende Beschreibung, in Verbindung mit den beigefügten Zeichnungen besser verstanden werden.
  • Hardwareübersicht
  • 1 zeigt ein Beispiel eines autonomen Fahrzeugs 100 mit autonomer Fähigkeit.
  • Wie hier verwendet, bezieht sich der Begriff „autonome Fähigkeit“ auf eine Funktion, ein Merkmal oder eine Fähigkeit, die einem Fahrzeug ermöglichen, teilweise oder vollständig ohne menschliche Intervention in Echtzeit betrieben zu werden, umfassend u. a. vollständig autonome Fahrzeuge, hochgradig autonome Fahrzeuge und bedingt autonome Fahrzeuge.
  • Wie hierin verwendet, ist ein autonomes Fahrzeug (AV: Autonomous Vehicle) ein Fahrzeug, das autonome Fähigkeit besitzt.
  • Wie hierin verwendet, beinhaltet „Fahrzeug“ Mittel für den Transport von Gütern oder Menschen. Beispielsweise Autos, Busse, Züge, Flugzeuge, Drohnen, Lastkraftwagen, Boote, Schiffe, Unterwasserfahrzeuge, Luftschiffe usw. Ein fahrerloses Auto ist ein Beispiel für ein Fahrzeug.
  • Wie hierin verwendet, bezieht sich „Trajektorie“ auf einen Pfad oder eine Route zum Navigieren eines AV von einem ersten raumzeitlichen Ort zu einem zweiten raumzeitlichen Ort. In einer Ausführungsform wird der erste raumzeitliche Ort als Anfangs- oder Startort bezeichnet und wird der zweite raumzeitliche Ort als Bestimmungsort, Endort, Ziel, Zielposition oder Zielort bezeichnet. In manchen Beispielen besteht eine Trajektorie aus einem oder mehreren Segmenten (z. B. Straßenabschnitten), und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Teilen einer Spur oder Kreuzung). In einer Ausführungsform entsprechen die raumzeitlichen Orte realen Orten. Beispielsweise sind die raumzeitlichen Orte Abhol- oder Absetzorte zum Abholen oder Absetzen von Personen oder Gütern.
  • Wie hierin verwendet, beinhaltet „Sensor(en)“ eine oder mehrere Hardwarekomponenten, die Informationen über die Umgebung im Umfeld des Sensors detektieren. Einige der Hardwarekomponenten können Erfassungskomponenten (z. B. Bildsensoren, biometrische Sensoren), Sende- und/oder Empfangskomponenten (z. B. Laser- oder Hochfrequenzwellensender und -empfänger), elektronische Komponenten wie etwa Analog-Digital-Umsetzer, eine Datenspeicherungsvorrichtung (wie etwa RAM und/oder eine nichtflüchtige Speicherung), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie etwa eine ASIC (anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder einen Mikrocontroller beinhalten.
  • Wie hierin verwendet, ist eine „Szenenbeschreibung“ eine Datenstruktur (z. B. Liste) oder ein Datenstrom, die/der ein oder mehrere klassifizierte oder gelabelte Objekte beinhaltet, die durch einen oder mehrere Sensoren am AV detektiert oder durch eine Quelle extern zu dem AV bereitgestellt werden.
  • Wie hierin verwendet, ist eine „Straße“ ein physisches Gebiet, auf dem sich ein Fahrzeug fortbewegen kann, und kann einer benannten Durchgangsstraße (z. B. Stadtstraße, Autobahn usw.) entsprechen oder kann einer unbenannten Durchgangsstraße (z. B. eine Zufahrt eines Hauses oder Bürogebäudes, ein Abschnitt eines Parkplatzes, ein Abschnitt eines unbebauten Grundstücks, ein Feldweg in einem ländlichen Gebiet usw.) entsprechen. Da manche Fahrzeuge (z. B. Allradantrieb-Pickups, Geländewagen usw.) in der Lage sind, sich in einer Vielfalt physischer Gebiete fortzubewegen, die nicht spezifisch für die Fahrt eines Fahrzeugs angepasst sind, kann eine „Straße“ ein physisches Gebiet sein, das nicht formell durch eine Gemeinde oder andere Regierungsstelle oder Verwaltungsbehörde als eine Durchgangsstraße definiert ist.
  • Wie hier verwendet, ist eine „Fahrbahn“ ein Teil einer Straße, der von einem Fahrzeug befahren werden kann und kann einem Großteil oder dem gesamten Raum zwischen Fahrbahnmarkierungen entsprechen oder kann nur etwas (z. B. weniger als 50 %) des Raumes zwischen Fahrbahnmarkierungen entsprechen. Beispielsweise könnte eine Landstraße, die weit beabstandete Spurmarkierungen aufweist, zwei oder mehr Fahrzeuge zwischen den Markierungen unterbringen, sodass ein Fahrzeug das andere überholen kann, ohne die Spurmarkierungen zu überqueren, und könnte somit als eine Spur schmaler als der Raum zwischen den Spurmarkierungen aufweisend oder zwei Spuren zwischen den Spurmarkierungen aufweisend interpretiert werden. Eine Spur könnte auch bei Nichtvorhandensein von Spurmarkierungen interpretiert werden. Beispielsweise kann eine Fahrbahn basierend auf physischen Merkmalen einer Umgebung definiert werden, z. B. Felsen und Bäume entlang einer Durchfahrt im ländlichen Bereich.
  • „Ein oder mehr“ beinhaltet, dass eine Funktion durch ein Element durchgeführt wird, dass eine Funktion durch mehr als ein Element durchgeführt wird, z. B. auf verteilte Weise, dass mehrere Funktionen durch ein Element durchgeführt werden, dass mehrere Funktionen durch mehrere Elemente durchgeführt werden, oder eine beliebige Kombination des Obenstehenden.
  • Wie hierin verwendet, bezieht sich ein AV-System auf das AV zusammen mit dem Array von Hardware, Software, gespeicherten Daten und in Echtzeit erzeugten Daten, die den Betrieb des AV unterstützen. In einer Ausführungsform ist das AV-System innerhalb des AV integriert. In einer Ausführungsform ist das AV-System über mehrere Orte verteilt. Beispielsweise ist etwas der Software des AV-System auf einer Cloud-Computing-Umgebung implementiert, die ähnlich der Cloud-Computing-Umgebung 200 ist, die nachfolgend Bezug nehmend auf 2 beschrieben wird.
  • Im Allgemeinen beschreibt dieses Dokument Technologien, die auf beliebige Fahrzeuge anwendbar sind, die eine oder mehrere autonome Fähigkeiten aufweisen, umfassend vollständig autonome Fahrzeuge, hochgradig autonome Fahrzeuge und bedingt autonome Fahrzeuge, wie etwa so genannte Level-5-, Level-4- bzw. Level-3-Fahrzeuge (in der Norm „SAE International J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems“, die hiermit durch Bezugnahme in ihrer Gänze aufgenommen ist, finden Sie weitere Einzelheiten zur Klassifizierung von Niveaus (level) von Autonomie in Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind auch auf teilweise autonome Fahrzeuge und fahrerunterstützte Fahrzeuge anwendbar, wie etwa so genannte Level-2- und Level-1-Fahrzeuge (siehe die Norm „SAE International J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems“). In einer Ausführungsform können ein oder mehrere der Level-1-, 2-, 3-, 4- und 5-Fahrzeugsysteme bestimmte Fahrzeugoperationen (z. B. Lenkung, Bremsen und Verwenden von Karten) unter gewissen Betriebsbedingungen automatisieren, basierend auf der Verarbeitung von Sensoreingängen. Die in diesem Dokument beschriebenen Technologien können vorteilhaft für Fahrzeuge beliebiger Niveaus sein, angefangen von vollständig autonomen Fahrzeugen bis hin zu von Personen betriebenen Fahrzeugen.
  • Bezug nehmend auf 1, betreibt ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 zu einem Ziel 199 (manchmal als ein abschließender Ort bezeichnet), dabei Objekte vermeidend (z. B. natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Radfahrer und andere Hindernisse) und Regeln der Straße befolgend (z. B. Betriebsregeln oder Fahrpräferenzen).
  • In einer Ausführungsform beinhaltet das AV-System 120 Vorrichtungen 101, die dahingehend instrumentiert sind, Betriebsbefehle von den Computerprozessoren 146 zu empfangen und darauf zu reagieren. In einer Ausführungsform sind die Datenverarbeitungsprozessoren 146 ähnlich dem nachfolgend Bezug nehmend auf 3 beschriebenen Prozessor 304. Beispiele für die Vorrichtungen 101 beinhalten Lenksteuerung 102, Bremsen 103, Gänge, Gaspedal oder andere Beschleunigungssteuermechanismen, Scheibenwischer, Türverriegelungen, Fenstersteuerungen und Blinker.
  • In einer Ausführungsform umfasst das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Eigenschaften des Status oder Zustands des AV 100, wie etwa die Position, die Linear- und Winkelgeschwindigkeit und -beschleunigung und den Steuerkurs (z. B. eine Orientierung des vorderen Endes des AV 100) des AV. Beispiele für die Sensoren 121 sind GPS, inertiale Messeinheiten (IMU), die sowohl lineare Beschleunigungen als auch Winkelraten des Fahrzeugs messen, Radgeschwindigkeitssensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motormoment- oder Radmomentsensoren und Lenkwinkel- und Winkelratensensoren.
  • In einer Ausführungsform beinhalten die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AV. Beispielsweise Monokular- oder Stereo-Videokameras 122 im sichtbaren Lichtspektrum, im Infrarotspektrum oder im thermischen Spektrum (oder beides), LiDAR 123, RADAR, Ultraschallsensoren, TOF-Tiefensensoren (TOF: time-of-flight - Laufzeit), Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
  • In einer Ausführungsform beinhaltet das AV-System 120 eine Datenspeicherungseinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen, die mit den Computerprozessoren 146 assoziiert sind, oder von Daten, die durch die Sensoren 121 gesammelt werden. In einer Ausführungsform ist die Datenspeicherungseinheit 142 ähnlich dem ROM 308 oder der Speichervorrichtung 310, die nachfolgend Bezug nehmend auf 3 beschrieben wird. In einer Ausführungsform ist der Speicher 144 ähnlich dem nachfolgend beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeicherungseinheit 142 und der Speicher 144 historische, Echtzeit- und/oder prädiktive Informationen über die Umgebung 190. In einer Ausführungsform beinhalten die gespeicherten Informationen Karten, Fahrleistung, Verkehrsüberlastungsaktualisierungen oder Wetterbedingungen. In einer Ausführungsform werden Daten im Zusammenhang mit der Umgebung 190 von einer entfernt befindlichen Datenbank 134 über einen Kommunikationskanal zum AV 100 gesendet.
  • In einer Ausführungsform umfasst das AV-System 120 Kommunikationsvorrichtungen 140 zum Kommunizieren von gemessenen oder schlussgefolgerten Eigenschaften von Zuständen und Bedingungen anderer Fahrzeuge, wie etwa Positionen, lineare und Winkelgeschwindigkeiten und lineare und Winkelrichtungen an das AV 100. Diese Vorrichtungen beinhalten Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen für Drahtloskommunikationen über Punkt-zu-Punkt- oder Ad-hoc-Netzwerke oder beides. In einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funk- und optischer Kommunikationen) oder andere Medien (z. B. Luft und akustische Medien). Eine Kombination aus Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und in manchen Ausführungsformen eine oder mehrere andere Arten von Kommunikation) wird manchmal als Fahrzeug-zu-Allem(V2X)-Kommunikation bezeichnet. V2X-Kommunikation entspricht typischerweise einem oder mehreren Kommunikationsstandards für Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
  • In einer Ausführungsform beinhalten die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Beispielsweise drahtgebundene, drahtlose, WiMAX-, WiFi-, Bluetooth-, Satelliten-, zelluläre, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernt befindlichen Datenbank 134 zu dem AV-System 120. In einer Ausführungsform ist die entfernt befindliche Datenbank 134 in eine Cloud-Computing-Umgebung 200 eingebettet, wie in 2 beschrieben. Die Kommunikationsschnittstellen 140 senden von Sensoren 121 gesammelte Daten oder andere Daten im Zusammenhang mit dem Betrieb des AV 100 an die entfernt befindliche Datenbank 134. In einer Ausführungsform senden die Kommunikationsschnittstellen 140 Informationen, die sich auf Teleoperationen beziehen, an das AV 100. In einigen Ausführungsformen kommuniziert das AV 100 mit anderen entfernten (z. B. „Cloud-“)Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernt befindliche Datenbank 134 auch digitale Daten (z. B. speichert Daten wie etwa Landstraßen- und Straßenorte). Solche Daten werden auf dem Speicher 144 am AV 100 gespeichert oder von der entfernt befindlichen Datenbank 134 über einen Kommunikationskanal an das AV 100 gesendet.
  • In einer Ausführungsform speichert und überträgt die entfernt befindliche Datenbank 134 historische Informationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Trajektorie 198 gefahren sind. In einer Implementierung können solche Daten auf dem Speicher 144 am AV 100 gespeichert oder von der entfernt befindlichen Datenbank 134 über einen Kommunikationskanal an das AV 100 gesendet werden.
  • Auf dem AV 100 befindliche Datenverarbeitungsvorrichtungen 146 erzeugen algorithmisch Steueraktionen basierend sowohl auf Echtzeit-Sensordaten als auch auf vorherigen Informationen, was dem AV-System 120 ermöglicht, seine autonomen Fahrfähigkeiten auszuführen.
  • In einer Ausführungsform umfasst das AV-System 120 Computerperipheriegeräte 132, gekoppelt mit Datenverarbeitungsvorrichtungen 146 zum Bereitstellen von Informationen und Alarmen für einen Benutzer und Empfangen von Eingaben von einem Benutzer (z. B. einem Insassen oder einem entfernten Benutzer) des AV 100. In einer Ausführungsform sind die Peripheriegeräte 132 ähnlich der Anzeige 312, der Eingabevorrichtung 314 und der Cursorsteuerung 316, die nachfolgend Bezug nehmend auf 3 erörtert wird. Die Kopplung ist drahtlos oder drahtgebunden. Jeweils zwei oder mehr der Schnittstellenvorrichtungen können in eine einzelne Vorrichtung integriert werden.
  • 2 stellt eine beispielhafte „Cloud“-Datenverarbeitungsumgebung dar. Cloud-Computing ist ein Modell für Dienstbereitstellung zum Ermöglichen eines praktischen, bedarfsbasierten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Datenspeicher, Anwendungen, virtuelle Maschinen und Dienste). In typischen Cloud-Computing-Systemen beherbergen ein oder mehrere große Cloud-Datenzentren die Maschinen, die verwendet werden, um die durch die Cloud bereitgestellten Dienste zu liefern. Jetzt Bezug nehmend auf 2 umfasst die Cloud-Computing-Umgebung 200 Cloud-Datenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Datenzentren 204a, 204b und 204c stellen Cloud-Computing-Dienste für Computersysteme 206a, 206b, 206c, 206d, 206e und 206f bereit, die mit der Cloud 202 verbunden sind.
  • Die Cloud-Computing-Umgebung 200 umfasst ein oder mehrere Cloud-Datenzentren. Im Allgemeinen bezieht sich ein Cloud-Datenzentrum, beispielsweise das Cloud-Datenzentrum 204a, das in 2 gezeigt ist, auf die physische Anordnung von Servern, die eine Cloud bilden, beispielsweise die Cloud 202, die in 2 gezeigt ist, oder einen bestimmten Teil einer Cloud. Beispielsweise sind Server in den Cloud-Datenzentren physisch in Räumen, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Datenzentrum hat eine oder mehrere Zonen, die einen oder mehrere Serverräume umfassen. Jeder Raum hat eine oder mehrere Reihen von Servern, und jede Reihe umfasst ein oder mehrere Racks. Jedes Rack umfasst einen oder mehrere individuelle Serverknoten. In einigen Implementierungen sind Server in Zonen, Räumen, Racks und/oder Reihen in Gruppen angeordnet, basierend auf physischen Infrastrukturanforderungen der Datenzentrumseinrichtung, die Leistungs-, Energie-, thermische, Wärme- und/oder andere Anforderungen umfassen. In einer Ausführungsform sind die Serverknoten ähnlich dem Computersystem, das in 3 beschrieben ist. Das Datenzentrum 204a hat viele Datenverarbeitungssysteme, die über viele Racks verteilt sind.
  • Die Cloud 202 umfasst Cloud-Datenzentren 204a, 204b und 204c zusammen mit dem Netzwerk und Netzwerkressourcen (beispielsweise Netzwerkgeräte, Knoten, Router, Switches und Netzwerkkabel), die die Cloud-Datenzentren 204a, 204b und 204c miteinander verbinden und helfen, den Zugriff der Datenverarbeitungssysteme 206a-f auf Cloud-Computing-Dienste zu ermöglichen. In einer Ausführungsform repräsentiert das Netzwerk eine beliebige Kombination aus einem oder mehreren lokalen Netzwerken, Weitbereichsnetzwerken oder Internetzwerken, die über drahtgebundene oder drahtlose Verbindungen gekoppelt sind, die unter Verwendung von terrestrischen oder Satellitenverbindungen umgesetzt sind. Über das Netzwerk ausgetauschte Daten werden unter Verwendung einer beliebigen Anzahl an Netzwerkschichtprotokollen, wie etwa IP (Internet Protocol), MPLS (Multiprotocol Label Switching), ATM (Asynchronous Transfer Mode), Frame Relay usw. übertragen. Ferner werden, in Ausführungsformen, in denen das Netzwerk eine Kombination von mehreren Unternetzwerken repräsentiert, verschiedene Netzwerkschichtprotokolle an jedem der zugrundeliegenden Unternetzwerke verwendet. In einigen Ausführungsformen repräsentiert das Netzwerk ein oder mehrere miteinander verbundene Internetzwerke, wie etwa das öffentliche Internet.
  • Die Datenverarbeitungssysteme 206a-f oder Nutzer der Cloud-Computing-Dienste sind über Netzwerkverbindungen und Netzwerkadapter mit der Cloud 202 verbunden. In einer Ausführungsform sind die Datenverarbeitungssysteme 206a-f als verschiedene Datenverarbeitungsvorrichtungen implementiert, beispielsweise Server, Desktops, Laptops, Tablets, Smartphones, Internet-der-Dinge- bzw. IoT-Vorrichtungen, autonome Fahrzeuge (umfassend Autos, Drohnen, Shuttles, Züge, Busse usw.) sowie Verbraucherelektronik. In einer Ausführungsform sind die Datenverarbeitungssysteme 206a-f in oder als Teil von anderen Systemen implementiert.
  • 3 stellt ein Computersystem 300 dar. In einer Implementierung ist das Computersystem 300 eine spezielle Datenverarbeitungsvorrichtung. Die spezielle Datenverarbeitungsvorrichtung ist festverdrahtet zum Durchführen der Techniken oder umfasst digitale elektronische Vorrichtungen, wie etwa eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder feldprogrammierbare Gate-Arrays (FPGAs), die dauerhaft programmiert sind, um die Techniken durchzuführen, oder kann einen oder mehrere universelle Hardwareprozessoren umfassen, die programmiert sind, um die Techniken entsprechend Programmanweisungen in Firmware, Speicher oder Datenspeicher durchzuführen, oder eine Kombination davon. Solche speziellen Datenverarbeitungsvorrichtungen können auch spezifische festverdrahtete Logik, ASICs oder FPGAs mit spezifischer Programmierung kombinieren, um die Techniken zu vervollständigen. In verschiedenen Ausführungsformen sind die speziellen Datenverarbeitungsvorrichtungen Desktop-Computersysteme, tragbare Computersysteme, handgehaltene Vorrichtungen, Netzwerkvorrichtungen oder eine beliebige andere Vorrichtung, die festverdrahtete und/oder Programmlogik zum Implementieren der Techniken enthält.
  • In einer Ausführungsform umfasst das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen, und einen mit einem Bus 302 gekoppelten Hardwareprozessor 304 zum Verarbeiten von Informationen. Der Hardwareprozessor 304 ist, beispielsweise, ein universeller Mikroprozessor. Das Computersystem 300 umfasst auch einen Hauptspeicher 306, wie etwa einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speichervorrichtung, gekoppelt mit dem Bus 302 zum Speichern von Informationen und Anweisungen, die durch den Prozessor 304 ausgeführt werden sollen. In einer Implementierung wird der Hauptspeicher 306 verwendet zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen, die durch den Prozessor 304 ausgeführt werden sollen. Solche Anweisungen, wenn in für den Prozessor 304 zugänglichen, nicht-flüchtigen Speichermedien gespeichert, machen das Computersystem 300 zu einer speziellen Maschine, die dazu angepasst ist, die in den Anweisungen angegebenen Operationen durchzuführen.
  • In einer Ausführungsform umfasst das Computersystem 300 ferner einen Nur-LeseSpeicher (ROM) 308 oder eine andere statische Speichervorrichtung, gekoppelt mit dem Bus 302 zum Speichern von statischen Informationen und Anweisungen für den Prozessor 304. Eine Speichervorrichtung 310, wie etwa eine magnetische Platte, optische Platte, Festkörperlaufwerk, oder ein dreidimensionaler Cross-Point-Speicher ist bereitgestellt und mit dem Bus 302 gekoppelt zum Speichern von Informationen und Anweisungen.
  • In einer Ausführungsform ist das Computersystem 300 über den Bus 302 mit einer Anzeige 312, wie etwa einer Kathodenstrahlröhre (CRT), einer Flüssigkristallanzeige (LCD), einer Plasmaanzeige, einer Leuchtdioden- bzw. LED-Anzeige oder einer organischen Leuchtdioden- bzw. OLED-Anzeige, zum Anzeigen von Informationen für einen Computerbenutzer gekoppelt. Eine Eingabevorrichtung 314, umfassend alphanumerische und andere Tasten, ist mit dem Bus 302 gekoppelt zum Kommunizieren von Informationen und Befehlsauswahlen an den Prozessor 304. Ein weiterer Typ von Benutzereingabevorrichtung ist eine Cursorsteuerung 316, wie etwa eine Maus, ein Trackball, eine berührungsempfindliche Anzeige oder Cursorrichtungstasten zum Kommunizieren von Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 und zum Steuern der Cursorbewegung auf der Anzeige 312. Diese Eingabevorrichtung hat typischerweise zwei Freiheitsgrade in zwei Achsen, einer ersten Achse (z. B. x-Achse) und einer zweiten Achse (z. B. y-Achse), die der Vorrichtung ermöglichen, Positionen in einer Ebene anzugeben.
  • Gemäß einer Ausführungsform werden die Techniken hierin durch das Computersystem 300 in Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Sequenzen aus einer oder mehreren im Hauptspeicher 306 enthaltenen Anweisungen ausführt. Solche Anweisungen werden von einem anderen Speichermedium, wie etwa der Speichervorrichtung 310, in den Hauptspeicher 306 gelesen. Ausführen der Sequenzen von im Hauptspeicher 306 enthaltenen Anweisungen veranlasst den Prozessor 304, die hier beschriebenen Prozessschritte durchzuführen. In alternativen Ausführungsformen wird eine festverdrahtete Schaltungsanordnung anstelle der oder in Kombination mit den Softwareanweisungen verwendet.
  • Der Begriff „Speichermedium“, wie hier verwendet, bezieht sich auf jedes nichtflüchtige Medium, das Daten und/oder Anweisungen speichert, die eine Maschine veranlassen, in einer bestimmten Weise zu arbeiten. Solche Speichermedien umfassen nicht-flüchtige Medien und/oder flüchtige Medien. Nicht-flüchtige Medien umfassen, beispielsweise, optische Platten, magnetische Platten, Festkörperlaufwerke oder dreidimensionalen Cross-Point-Speicher, wie etwa die Speichervorrichtung 310. Flüchtige Medien umfassen dynamischen Speicher, wie etwa den Hauptspeicher 306. Übliche Formen von Speichermedien umfassen, beispielsweise, eine Floppy-Disk, eine flexible Platte, eine Festplatte, ein Festkörperlaufwerk, Magnetband oder ein beliebiges anderes magnetisches Datenspeichermedium, eine CD-ROM, ein beliebiges anderes optisches Datenspeichermedium, ein beliebiges physisches Medium mit Mustern von Löchern, einen RAM, einen PROM und EPROM, einen FLASH-EPROM, NV-RAM oder einen beliebigen anderen Speicherchip oder -kassette.
  • Speichermedien sind verschieden von Übertragungsmedien, können aber in Verbindung mit diesen verwendet werden. Übertragungsmedien nehmen am Übertragen von Informationen zwischen Speichermedien teil. Beispielsweise umfassen Übertragungsmedien Koaxialkabel, Kupferdraht und Faseroptik, umfassend die Drähte, die den Bus 302 enthalten. Übertragungsmedien können auch die Form von akustischen oder Lichtwellen annehmen, wie etwa die, die bei Funkwellen- oder Infrarot-Datenkommunikationen erzeugt werden.
  • In einer Ausführungsform sind verschiedene Formen von Medien beim Transportieren von einer oder mehreren Sequenzen von einer oder mehreren Anweisungen zum Prozessor 304 zur Ausführung beteiligt. Beispielsweise werden die Anweisungen anfänglich auf einer magnetischen Platte oder einem Festkörperlaufwerk eines entfernten Computers getragen. Der entfernte Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen unter Verwendung eines Modems über eine Telefonleitung. Ein lokal beim Computersystem 300 befindliches Modem empfängt die Daten auf der Telefonleitung und verwendet einen Infrarotsender zum Umwandeln der Daten in ein Infrarotsignal. Ein Infrarotdetektor empfängt die im Infrarotsignal transportierten Daten, und entsprechende Schaltungsanordnungen platzieren die Daten auf dem Bus 302. Der Bus 302 transportiert die Daten zum Hauptspeicher 306, von wo aus der Prozessor 304 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher 306 empfangenen Anweisungen können optional auf der Speichervorrichtung 310 gespeichert werden, entweder vor oder nach Ausführung durch den Prozessor 304.
  • Das Computersystem 300 umfasst auch eine mit dem Bus 302 gekoppelte Kommunikationsschnittstelle 318. Die Kommunikationsschnittstelle 318 stellt eine Zwei-Wege-Datenkommunikationskopplung für eine Netzwerkverbindung 320 bereit, die mit einem lokalen Netzwerk 322 verbunden ist. Beispielsweise ist die Kommunikationsschnittstelle 318 eine ISDN-Karte (Integrated Service Digital Network), ein Kabelmodem, ein Satellitenmodem oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung mit einem entsprechenden Typ Telefonleitung. Als ein weiteres Beispiel ist die Kommunikationsschnittstelle 318 eine LAN-Karte (Local Area Network) zum Bereitstellen einer Datenkommunikationsverbindung für ein kompatibles LAN. In einigen Implementierungen werden auch drahtlose Verbindungen implementiert. In jeder solchen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren, die verschiedene Typen von Informationen repräsentieren.
  • Die Netzwerkverbindung 320 stellt typischerweise Datenkommunikation über ein oder mehrere Netzwerke für andere Datenvorrichtungen bereit. Beispielsweise stellt die Netzwerkverbindung 320 eine Verbindung über das lokale Netzwerk 322 zu einem Hostcomputer 324 oder zu einem Cloud-Datenzentrum oder Gerät, betrieben durch einen Internetdiensteanbieter (ISP) 326, bereit. Der ISP 326 stellt seinerseits Datenkommunikationsdienste über das weltweite Paketdaten-Kommunikationsnetzwerk bereit, das heute üblicherweise als das „Internet“ 328 bezeichnet wird. Das lokale Netzwerk 322 und das Internet 328 nutzen beide elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren. Die Signale durch die verschiedenen Netzwerke und die Signale auf der Netzwerkverbindung 320 und durch die Kommunikationsschnittstelle 318, die die digitalen Daten zum und vom Computersystem 300 transportieren, sind beispielhafte Formen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk 320 die Cloud 202 oder einen Teil der Cloud 202, wie oben beschrieben.
  • Das Computersystem 300 sendet Nachrichten und empfängt Daten, umfassend Programmcode, über das bzw. die Netzwerk(e), die Netzwerkverbindung 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Computersystem 300 Code zur Verarbeitung. Der empfangene Code wird durch den Prozessor 304 ausgeführt, wenn er empfangen wird und/oder in der Speichervorrichtung 310 oder einem anderen nicht-flüchtigen Speicher zur späteren Ausführung gespeichert wird.
  • Architektur von autonomen Fahrzeugen
  • 4 zeigt eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AV 100). Die Architektur 400 umfasst ein Wahrnehmungsmodul 402 (manchmal als eine Wahrnehmungsschaltung bezeichnet), ein Planungsmodul 404 (manchmal als eine Planungsschaltung bezeichnet), ein Steuermodul 406 (manchmal als eine Steuerschaltung bezeichnet), ein Lokalisierungsmodul 408 (manchmal als eine Lokalisierungsschaltung bezeichnet) und ein Datenbankmodul 410 (manchmal als eine Datenbankschaltung bezeichnet). Jedes Modul spielt eine Rolle beim Betrieb des AV 100. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In einigen Ausführungsformen ist ein beliebiges der Module 402, 404, 406, 408 und 410 eine Kombination aus Computersoftware (z. B. auf einem computerlesbaren Medium gespeicherter ausführbarer Code) und Computerhardware (z. B. ein oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen [ASICs]), Hardwarespeichervorrichtungen, andere Typen von integrierten Schaltungen, andere Typen von Computerhardware oder eine Kombination aus beliebigen oder allen diesen Dingen).
  • In Verwendung empfängt das Planungsmodul 404 Daten, die ein Ziel 412 repräsentieren, und bestimmt Daten, die eine Trajektorie 414 repräsentieren (manchmal als eine Route bezeichnet), die vom AV 100 befahren werden kann, um das Ziel 412 zu erreichen (z. B. dort anzukommen). Damit das Planungsmodul 404 die Daten bestimmen kann, die die Trajektorie 414 repräsentieren, empfängt das Planungsmodul 404 Daten vom Wahrnehmungsmodul 402, vom Lokalisierungsmodul 408 und vom Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert nahe physische Objekte unter Verwendung eines oder mehrerer Sensoren 121, wie z. B. auch in 1 gezeigt. Die Objekte werden klassifiziert (z. B. in Typen wie Fußgänger, Fahrrad, Auto, Verkehrszeichen usw. gruppiert), und eine Szenenbeschreibung, umfassend die klassifizierten Objekte 416, wird für das Planungsmodul 404 bereitgestellt.
  • Das Planungsmodul 404 empfängt auch Daten, die die AV-Position 418 repräsentieren, vom Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 bestimmt die AV-Position unter Verwendung von Daten von den Sensoren 121 und Daten vom Datenbankmodul 410 (z. B. geografische Daten) zum Berechnen einer Position. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einem GNSS-Sensor (GNSS: Global Navigation Satellite System - globales Satellitennavigationssystem) und geografische Daten, um einen Längengrad und Breitengrad des AV zu berechnen. In einer Ausführungsform umfassen Daten, die durch das Lokalisierungsmodul 408 verwendet werden, hochpräzise Karten der geometrischen Eigenschaften der Straßenzüge, Karten, die Netzwerkkonnektivitätseigenschaften der Straßen beschreiben, Karten, die physische Eigenschaften der Straßenzüge beschreiben (wie etwa Verkehrsgeschwindigkeit, Verkehrsaufkommen, die Anzahl von Fahrspuren für Autos und Fahrräder, Fahrbahnbreite, Fahrbahnverkehrsrichtungen oder Fahrbahnmarkierungstypen und -orte oder Kombinationen daraus), und Karten, die die räumlichen Orte von Straßenmerkmalen, wie etwa Überwegen, Verkehrszeichen oder andere Verkehrssignale verschiedener Typen, beschreiben.
  • Das Steuermodul 406 empfängt die Daten, die die Trajektorie 414 repräsentieren, und die Daten, die die AV-Position 418 repräsentieren, und betreibt die Steuerfunktionen 420a-c (z. B. Lenkung, Gas, Bremse, Zündung) des AV in einer Weise, die das AV 100 veranlasst, die Trajektorie 414 zum Ziel 412 zu befahren. Wenn beispielsweise die Trajektorie 414 ein Linksabbiegen umfasst, betreibt das Steuermodul 406 die Steuerfunktionen 420a-c in einer Weise, dass der Lenkwinkel der Lenkfunktion das AV 100 veranlasst, links abzubiegen, und das Gasgeben und Bremsen veranlassen das AV 100, anzuhalten und auf passierende Fußgänger zu warten, bevor das Abbiegen erfolgt.
  • Eingaben von autonomen Fahrzeugen
  • 5 zeigt ein Beispiel von Eingaben 502a-d (z. B. in 1 gezeigte Sensoren 121) und Ausgaben 504a-d (z. B. Sensordaten), die durch das Wahrnehmungsmodul 402 (4) verwendet werden. Eine Eingabe 502a ist ein LiDAR-System (LiDAR: Light Detection and Ranging - Lichtdetektion und -entfernungsmessung) (z. B. das in 1 gezeigte LiDAR 123). LiDAR ist eine Technologie, die Licht (z. B. Bursts von Licht wie etwa Infrarotlicht) verwendet, um Daten über physische Objekte in seiner Sichtlinie zu erhalten. Ein LiDAR-System erzeugt LiDAR-Ausgaben als die Ausgabe 504a. Beispielsweise sind LiDAR-Daten eine Sammlung von 3D- oder 2D-Punkten (auch als eine Punktwolke bekannt), die zum Erstellen einer Repräsentation der Umgebung 190 verwendet werden.
  • Eine andere Eingabe 502b ist ein RADAR-System. RADAR ist eine Technologie, die Funkwellen verwendet, um Daten über naheliegende physische Objekte zu erhalten. RADARs können Daten über Objekte erhalten, die sich nicht innerhalb der Sichtlinie eines LiDAR-Systems befinden. Ein RADAR-System 502b produziert RADAR-Daten als Ausgang 504b. Beispielsweise sind RADAR-Daten ein oder mehrerer elektromagnetische Hochfrequenzsignale, die zum Erstellen einer Repräsentation der Umgebung 190 verwendet werden.
  • Eine andere Eingabe 502c ist ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z. B. Digitalkameras, die einen Lichtsensor wie etwa eine CCD [Charge-Coupled Device] verwenden), um Informationen über naheliegende physische Objekte zu erhalten. Ein Kamerasystem erzeugt Kameraausgaben als die Ausgabe 504c. Kameradaten nehmen häufig die Form von Bilddaten an (z. B. Daten in einem Bilddatenformat wie etwa RAW, JPEG, PNG usw.). In manchen Beispielen weist das Kamerasystem mehrere unabhängige Kameras auf, z. B. für den Zweck von Stereopsis (Stereosehen), was es dem Kamerasystem ermöglicht, Tiefe wahrzunehmen. Obwohl die durch das Kamerasystem wahrgenommenen Objekte hier als „naheliegend“ beschrieben werden, ist dies relativ zu dem AV. In Verwendung kann das Kamerasystem dazu ausgelegt sein, Objekte weit, z. B. bis zu einem Kilometer oder mehr, vor dem AV zu „sehen“. Entsprechend kann das Kamerasystem Merkmale aufweisen, wie etwa Sensoren und Objektive, die für das Wahrnehmen von weit entfernten Objekten optimiert sind.
  • Eine andere Eingabe 502d ist ein Ampeldetektionssystem (TLD-System; TLD: Traffic Light Detection). Ein TLD-System verwendet eine oder mehrere Kameras, um Informationen über Ampeln, Straßenzeichen und andere physische Objekte, die visuelle Navigationsinformationen bereitstellen, zu erhalten. Ein TLD-System erzeugt TLD-Ausgaben als die Ausgabe 504d. TLD-Daten nehmen häufig die Form von Bilddaten an (z. B. Daten in einem Bilddatenformat wie etwa RAW, JPEG, PNG usw.). Ein TLD-System unterscheidet sich von einem System, das eine Kamera einbezieht, darin, dass ein TLD-System eine Kamera mit einem weiten Sichtfeld (z. B. unter Verwendung eines Weitwinkelobjektivs oder Fischaugenobjektivs) verwendet, um Informationen über so viele physische Objekte, die visuelle Navigationsinformationen bereitstellen, wie möglich zu erhalten, sodass das AV 100 Zugriff auf alle relevanten Navigationsinformationen hat, die durch diese Objekte bereitgestellt werden. Beispielsweise kann der Sichtwinkel des TLD-Systems etwa 120 Grad oder mehr sein.
  • In manchen Ausführungsformen werden die Ausgaben 504a-d unter Verwendung einer Sensorfusionstechnik kombiniert. Somit werden entweder die individuellen Ausgaben 504a-d anderen Systemen des AV 100 bereitgestellt (z. B. einem Planungsmodul 404 wie in 4 gezeigt bereitgestellt), oder die kombinierte Ausgabe kann anderen Systemen bereitgestellt werden, entweder in der Form einer einzelnen kombinierten Ausgabe oder mehrerer kombinierter Ausgaben des gleichen Typs (z. B. unter Verwendung der gleichen Kombinationstechnik oder Kombinieren der gleichen Ausgaben oder beides) oder unterschiedlicher Typen (z. B. unter Verwendung unterschiedlicher jeweiliger Kombinationstechniken oder Kombinieren unterschiedlicher jeweiliger Ausgaben oder beides). In manchen Ausführungsformen wird eine Frühfusionstechnik verwendet. Eine Frühfusionstechnik ist dadurch gekennzeichnet, dass sie Ausgaben kombiniert, bevor ein oder mehrere Datenverarbeitungsschritte an der kombinierten Ausgabe angewendet werden. In manchen Ausführungsformen wird eine Spätfusionstechnik verwendet. Eine Spätfusionstechnik ist dadurch gekennzeichnet, dass sie Ausgaben kombiniert, nachdem ein oder mehrere Datenverarbeitungsschritte an den individuellen Ausgaben angewendet werden.
  • Detektion von Sensorblockierung
  • Wie oben angemerkt, ist ein Problem, das auftreten kann, wenn sich auf die Ausgabe eines 2D-Sensors, wie etwa einer Kamera 502c, verlassen wird, Blockierung - wobei Staub, Wasser, Nebel, Ablagerungen oder andere Materie an einem Objektiv oder einem Gehäuse der Kamera haftet oder anderweitig den Sensor stört, der ein 2D-Bild der Umgebung des Sensors erfasst. Im Kontext autonomer Fahrzeuge kann eine solche Blockierung ein erhebliches Sicherheitsbedenken darstellen. Entsprechend ist es vorteilhaft, eine solche Blockierung zu detektieren und anzugehen. Darüber hinaus kann das Wissen über die Natur und das Ausmaß einer solchen Blockierung vorteilhaft sein, um eine angemessene Korrekturmaßnahme zu bestimmen. Beispielsweise kann signifikante Blockierung einen sofortigen Stopp des Fahrzeugbetriebs erfordern, wohingegen nicht-signifikante Blockierung in einer anderen Korrekturmaßnahme (z. B. Aktivieren einer Objektivreinigungseinrichtung, Verlangsamen des Fahrzeugs usw.) oder einer Bestimmung resultieren kann, dass das Fahrzeug trotz der nicht-signifikanten Blockierung weiter sicher betrieben werden kann.
  • 6A-6C zeigen Beispiele dafür, wie Ablagerungen ein Sichtfeld eines optischen Sensors zumindest teilweise blockieren können. 6A zeigt beispielhafte Bilder, die durch einen optischen Sensor des AV 100 aufgenommen wurden, während ein Blatt das Sichtfeld des optischen Sensors teilweise blockiert. In 6A haftet das Blatt an einem Sensorfenster in Verbindung mit dem optischen Sensor. Diese Blockierung kann enden, wenn sich der Wind dreht oder selbst in Reaktion auf ein Anhalten des Fahrzeugs, kann aber immer noch Auswirkungen auf die Fähigkeit des AV 100 haben, seine Umgebung zu überwachen, solange die Blockierung andauert. Die Bilder in 6A zeigen das Blatt nur leicht unscharf. Dies kann der Fall sein, wenn der optische Sensor eine sehr große Schärfentiefe aufweist oder wenn die Krümmung des Blattes verhindert, dass das Blatt flach gegen das mit dem optischen Sensor verknüpfte Sensorfenster geblasen wird.
  • 6B zeigt ein weiteres Beispiel, in dem die Straßenablagerungen so nah am optischen Sensor sind, dass nur ein Umfang der Straßenablagerungen deutlich unterscheidbar ist. Dies kann der Fall sein, wo die Straßenablagerungen eine flache oder abgeflachte Oberfläche gegen das Sensorfenster haben, sodass es schwierig wird, die Straßenablagerungen zu charakterisieren. Im Allgemeinen erscheinen, aufgrund der großen Schärfentiefe des optischen Sensors, Objekte nur so verschwommen, wenn sie in Kontakt mit dem Sensorfenster sind.
  • 6C zeigt ein weiteres Beispiel, in dem die Straßenablagerungen die Form einer Kunststofftüte annehmen. In diesem Fall können, obwohl die Kunststofftüte einen großen Teil des Sichtfelds des optischen Sensors abdeckt, immer noch hilfreiche Bilder durch zumindest einige abgedeckte Teile der Bilder empfangen werden. Aus diesen Gründen kann es für ein Blockierungsdetektionssystem vorteilhaft sein, nicht nur zu charakterisieren, welche Teile des Bildes blockiert sind, sondern, ob irgendein Teil der blockierten Teile zumindest teilweise transparent ist und daher immer noch relevante Informationen erfasst.
  • Während Personen in der Lage sind, aus den Beispielen aus 6A-C abzuleiten, dass eine Blockierung aufgetreten ist, kann dies, wie oben erörtert, für eine Datenverarbeitungsvorrichtung schwieriger sein. Das heißt, eine Datenverarbeitungsvorrichtung kann allgemein (z. B. ohne ausreichende spezialisierte Programmierung) nicht in der Lage sein, zwischen den Blockierungsbeispielen der 6A-C und Kamerabildern, die ohne Blockierung aufgenommen wurden, zu unterscheiden. Ein Ansatz, eine Datenverarbeitungsvorrichtung zu befähigen, Beispiele mit Blockierung von denjenigen ohne Blockierung zu unterscheiden, besteht darin, Maschinenlerntechniken einzusetzen. Allerdings erfordern diese Techniken typischerweise große Mengen an Daten, um ein genaues Maschinenlernmodell zu erzeugen. Blockierung kann in der Praxis relativ selten auftreten, und es kann daher schwierig sein, ausschließlich nicht-synthetische Bilder zu verwenden, um ein solches Modell zu trainieren.
  • Ausführungsformen der vorliegenden Offenbarung gehen diese Probleme an durch Bereitstellen einer synthetischen Erzeugung von hochgradig genauen Eingabedaten, die Kamerablockierungen repräsentieren. Insbesondere kann, in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung, ein Blockierungsobjekt (z. B. ein Blatt, Wasser, Schmutz usw.) gegen einen bekannten Hintergrund, wie etwa einen „Greenscreen“ oder einen anderen Hintergrund eines bekannten Farbbereichs erfasst werden. 7 zeigt ein beispielhaftes System 700 zum Erfassen eines Bildes eines Blockierungsobjekts gegen einen solchen Hintergrund. In 7 ist das Blockierungsobjekt ein Gegenstand von Straßenablagerungen 704, während der Hintergrund ein Chroma-Key-Hintergrund 718 ist. Ein Bild der Straßenablagerungen 704 kann durch einen optischen Sensor 702 erfasst werden. Der Ort der Straßenablagerungen 704 und/oder des Sensors 702 kann variiert werden, um Bilder der verschiedenen Typen von Straßenablagerungen 704 bei unterschiedlichen Abständen von einem optischen Sensor 702 zu erfassen. In einigen Ausführungsformen können die Abstände durch Indizien 706-716 markiert werden, um bei der Positionierung von Straßenablagerungen 704 bei konsistenten Abständen vom optischen Sensor 702 zu helfen. In einer Ausführungsform werden die Straßenablagerungen 704 vor dem Chroma-Key-Hintergrund 718 an einer Angelschnur oder einer anderen Stützstruktur, bei der es unwahrscheinlich ist, dass sie durch den optischen Sensor 702 erfasst wird, aufgehängt. Die Stützstruktur kann die gleiche oder eine ähnliche Farbe wie der Chroma-Key-Hintergrund 718 aufweisen, um ihre Entfernung von den Bildern zu erleichtern. In einer anderen Ausführungsform haften die Straßenablagerungen 704 an einem transparenten Medium, wie etwa einem Fenster, oder sie haften direkt am Sensor 702 (z. B. an einem Objektiv oder einen Gehäuse des Sensors). Der Chroma-Key-Hintergrund 718 kann verschiedene Formen annehmen, einschließlich der eines Bluescreens oder eines Greenscreens. Der Chroma-Key-Hintergrund 718 ermöglicht, dass Bilder der Straßenablagerungen 704 von ihrem Hintergrund extrahiert werden, und erleichtert das Durchführen einer Analyse, die eine Transparenz verschiedener Teile der Bilder der Straßenablagerungen zeigt. Beispielsweise ermöglicht in dem Fall, in dem die Straßenablagerungen 704 die Form einer Kunststofftüte ähnlich der in 6C dargestellten annehmen, eine Intensität oder Menge der Farbe des Chroma-Key-Hintergrunds 718, der durch die Kunststofftüte scheint, eine genaue Bestimmung der Transparenz der Kunststofftüte. Obwohl nur ein einzelnes Stück Straßenablagerungen 704 dargestellt ist, versteht es sich, dass in einigen Ausführungsformen mehrere Stücke Straßenablagerungen 704 auf einmal bildlich dargestellt sein können, um eine Konfiguration zu zeigen, in der mehrere Objekte das Sichtfeld des optischen Sensors blockieren. Während Straßenablagerungen 704 ein Beispiel für Blockierung sind, sind andere möglich. Beispielsweise kann ein transparentes Fenster, das Wassertröpfchen, Schlammspritzer, Kondensation oder ähnliches zeigt, zusätzlich oder alternativ zu den Straßenablagerungen 704 in der Konfiguration von 7 verwendet werden.
  • 7 zeigt auch, wie das System 700 eine oder mehrere Lichtquellen 720 umfassen kann, die relativ zu den Straßenablagerungen 704 und/oder dem Sensor 702 bewegt werden können. Dies ermöglicht dem System 700, die Beleuchtung der Straßenablagerungen in einer breiteren Vielfalt von Umständen genauer zu modellieren. Kontrolle über die Beleuchtungsvariation zu haben, kann helfen, eine breitere Vielfalt an Erscheinungsbildern für die Straßenablagerungen bereitzustellen, da diese Beleuchtung eine große Wirkung auf das Erscheinungsbild der Straßenablagerungen haben kann. Beispielsweise können Straßenablagerungen mit Hinterleuchtung je nach Beleuchtungsquelle/-ort ein ganz anderes Erscheinungsbild und/oder eine ganz andere Transparenz aufweisen. Eine hinterleuchtete Kunststofftüte kann je nach Beleuchtung eine unterschiedliche Transparenz aufweisen. Beleuchtung kann auch verwendet werden, um die Wirkung der Sonne zu simulieren, die im Sichtfeld des optischen Sensors vorhanden ist.
  • 8 stellt visuell einen Prozess zum Kombinieren von Daten, die aus einem durch das System 700 erfassten Bild mit teilweiser Blockierung 802 extrahiert wurden, mit einem separaten Hintergrundbild 808 (z. B. wie durch einen Sensor eines Fahrzeugs ohne Blockierung erfasst) dar, um synthetische Eingabedaten zu erzeugen, die für das Trainieren eines neuronalen Netzwerks geeignet sind. Der Prozess aus 8 kann, beispielsweise, durch das Datenverarbeitungssystem 300 aus 3 implementiert werden.
  • In 8 umfasst das Bild 802 Bilder der Straßenablagerungen auf einem Hintergrund mit durchgehender Farbe 803 (z. B. entsprechend dem Chroma-Key-Hintergrund 718). Die Bilder der Straßenablagerungen können aus dem einfarbigen Hintergrund 803 durch Durchführen einer Chroma-Keying-Operation extrahiert werden. Die verschiedenen Parameter für die Chroma-Keying-Operation können entsprechend den Spezifika des Bildes 802 festgelegt werden. Beispielsweise kann der Schwellentransparenzwert zum Separieren der Straßenablagerungen vom Hintergrund auf einen ausreichend hohen Wert festgelegt werden, um den Hintergrund 803 genau zu entfernen (z. B. 90 %, 95 %, 97 %, 98 %, 99 % usw.). Die Chroma-Keying-Operation kann eine Maske 804 produzieren, die die blockierten Teile des Sichtfelds des optischen Sensors (entsprechend den im Bild dargestellten Straßenablagerungen) weiß und die nicht blockierten Teile des Sichtfelds des optischen Sensors schwarz zeigt. Die Maske 804 kann die Form einer RGB- oder binären Maske annehmen. Die Chroma-Keying-Operation ermöglicht auch, dass der Übergang zwischen den weißen und schwarzen Regionen wohldefiniert ist, eine graduelle Änderung in der Transparenz der Straßenablagerungen an ihren Rändern darstellend. Die Chroma-Keying-Operation kann auch die Erstellung einer Texturschicht 806 ermöglichen, die den Teil des Bildes 803 repräsentiert, der die Straßenablagerungen bildet. Diese Texturschicht 806 kann so verwendet werden, um den weißen Teil der Maske 804 zu füllen, um in einem Bild zu resultieren, das die Straßenablagerungen umfasst, aber die Hintergrundfarbe 803 ausschließt. Es ist anzumerken, dass der karierte Teil der Texturschicht 806 repräsentativ für transparente Teile der Texturschicht 806 ist. In einigen Ausführungsformen können die extrahierten Pixel des Straßenablagerungsobjekts vergrößert werden, um die Peripherie der extrahierten Pixel außerhalb des weißen Bereichs der Maske 804 zu platzieren. Vergrößern der Größe der Straßenablagerungen in der Texturschicht 806 kann durchgeführt werden, um zu helfen, den Einschluss einer beliebigen Farbe zu verhindern, die die Peripherie des Straßenablagerungsobjekts umsäumt, die aus dem Chroma-Key-Hintergrund resultiert. In einigen Ausführungsformen kann das Bild der Straßenablagerungen, entweder vor der oder anschließend an die Entfernung der Hintergrundfarbe 803, um variierende Beträge gedreht werden, um mehr Variation in den Datenmengen bereitzustellen, bevor mit einer Chroma-Keying-Operation fortgefahren wird. Beispielsweise könnte das Bild 802 um zwischen 1 und 15 Grad radial versetzt werden, um eine große Anzahl von Blockierungsbildern aus einem einzelnen Bild zu produzieren. In einigen Ausführungsformen, wo mehrere Bilder von Straßenablagerungen zu einem synthetisierten Bild hinzuzufügen sind, können verschiedene Straßenablagerungsstücke um verschiedene Beträge gedreht werden.
  • Die Texturschicht 806 kann mit der Maske 804 kombiniert und auf das Hintergrundbild 808 überlagert werden, um das synthetisierte Trainingsbild 810 zu produzieren. Das Hintergrundbild 808 kann einen entsprechenden Hintergrund repräsentieren, der anderweitig in einem nicht-synthetisierten blockierten Bild erfasst werden könnte. Beispielsweise kann das Hintergrundbild 8008 durch einen optischen Sensor am AV 100 erfasst werden und so eine Umgebung des AV 100 repräsentieren. Das Hintergrundbild 808 kann Bilder von Straßen, der Autobahn und/oder Verkehrskreuzungen umfassen. Um die Genauigkeit von synthetisierten Bildern zu erhöhen, kann der Bildsensor, der zum Erfassen des Hintergrundbilds 808 verwendet wird, der gleiche oder ein ähnlicher wie der optische Sensor 702 sein, der zum Erfassen der Straßenablagerungen oder der Blockierungsgegenstände verwendet wird.
  • In einigen Ausführungsformen kann die Maske 804 als Metadaten mit synthetisierten Trainingsbildern 810 gespeichert werden. Beispielsweise kann die Maske 804 als Blockierungsbeschriftung auf Pixelebene verwendet werden, da die Maske 804 bestimmt, welche Pixel des resultierenden synthetisierten Bildes 810 durch die Straßenablagerungen blockiert und welche nicht blockiert sind. In einigen Ausführungsformen kann eine Blockierungsbeschriftung auf Bildebene als Teil der Erzeugung des synthetisierten Bildes erstellt werden. Die Blockierungsbeschriftung auf Bildebene ist ein binärer Wert, der anzeigt, ob die Bilder 810 ein „blockiertes“ Bild bilden. In einer Ausführungsform ist der binäre Wert indikativ dafür, ob ein Anteil des Sichtfelds, der blockiert ist, einen vorbestimmten Schwellenwert überschreitet. Wie nachfolgend erörtert, kann der Blockierungsschwellenwert entsprechend den betrieblichen Anforderungen für das Trainieren eines Maschinenlernmodells festgelegt werden. Beispielsweise kann die Schwelle in einem Versuch festgelegt werden, zu einer Evaluierung eines menschlichen Bedieners zu passen, ob ein Bild signifikante Blockierung umfasst. Signifikante Blockierung kann ihrerseits zumindest teilweise von einer Verwendung der Bilder abhängen. Beispielsweise kann eine Schwelle für optische Sensoren, die entscheidender für die autonome Navigation des AV 100 sind, niedriger sein, da mehr kleinere Blockierungen einen größeren Effekt auf den Betrieb des AV 100 haben können. In einer Ausführungsform ist die Schwelle auf eines oder mehrere aus 50 Prozent, 60 Prozent, 70 Prozent, 80 Prozent oder 90 Prozent festgelegt.
  • Während 8 die Erzeugung eines einzelnen synthetischen Bildes 810 darstellt, kann der Prozess aus 8 mehrmals wiederholt werden, um eine ausreichende Anzahl von synthetischen Bildern 810 für das genaue Trainieren eines Maschinenlernmodells zu erzeugen. Beispielsweise kann eine Vorrichtung 300 bereitgestellt werden mit oder ausgelegt sein zum Erzeugen einer breiten Vielfalt von Hintergrundbildern 808, wie etwa über Extraktion solcher Bilder aus Sensordaten während des Betriebs eines AV 100. In ähnlicher Weise können für die Vorrichtung 300 mehrere Bilder 802, umfassend Blockierungsobjekte, auf einem bekannten Hintergrund 803 bereitgestellt werden. Jede unterschiedliche Kombination aus Bild 802 und Bild 808 kann in einem anderen synthetischen Bild 810 resultieren, so schnelle Erzeugung großer Mengen von synthetischen Bildern 810 ermöglichend. Beispielsweise würde die Kombination von 100 Bildern 802 mit Blockierungsobjekten und 10.000 Hintergrundbildern 808 in einer Million unterschiedlichen synthetischen Bildern 810 resultieren. Programmatische Veränderung der Bilder 802, wie etwa Drehung des Blockierungsobjekts in mehrere Ausrichtungen, würde diese Anzahl noch weiter erhöhen. Entsprechend kann der Prozess aus 8 fertige Erzeugung großer Mengen von synthetischen Bildern 810 ermöglichen, ein Trainieren hochgradig genauer Maschinenlernmodelle ermöglichend.
  • Wie oben angemerkt, kann es, während der Prozess aus 8 Erzeugung hochgradig genauer synthetischer Bilder bereitstellen kann, nicht in allen Fällen wünschenswert sein, ein Maschinenlernmodell ausschließlich basierend auf synthetischen Bildern zu trainieren. Beispielsweise kann ein solches Training in einer Überanpassung resultieren, wobei das Maschinenlernmodell Besonderheiten in synthetischen Bildern identifiziert, die in nicht-synthetischen Bildern nicht vorhanden sind, so hochgradig genaue Detektion von Blockierung in synthetischen Bildern ermöglichend, aber ohne genaue Detektion von Blockierung in nicht-synthetischen Bildern. Da das Ziel des Modells sein kann, Blockierung in nicht-synthetischen Bildern zu detektieren, ist dies ein nicht wünschenswertes Ergebnis.
  • Um dies anzugehen, können Ausführungsformen der vorliegenden Offenbarung Training eines Maschinenlernmodells auf Basis von sowohl synthetischen als auch nicht-synthetischen Bildern bereitstellen, dadurch Überanpassung an synthetische Bilder vermeidend, ohne das nachteilige Fehlen von Daten, das aus dem Training ohne synthetische Daten resultiert. In einer Ausführungsform wird ein Maschinenlernmodell mit neuronalem Netzwerk verwendet und trainiert, um zu detektieren, welche Teile (z. B. Pixel) eines Bildes Blockierung sind und welche Teile nicht (z. B. eine Umgebung eines Sensors abseits der Blockierung reflektieren). Für das Trainieren eines neuronalen Netzwerks zum Detektieren, welche Teile eines Bildes blockiert sind, kann es notwendig sein, Eingaben bereitzustellen, die sowohl Bilder mit Blockierungen als auch Informationen, die identifizieren, welche Teile der Bilder die Blockierung enthalten, umfassen. Wie oben angemerkt, können die hier offenbarten Prozesse schnelle Erzeugung solcher Informationen für synthetische Bilder ermöglichen. Allerdings kann Bereitstellen dieser Informationen für nicht-synthetische Bilder schwierig oder mühselig sein. Beispielsweise kann Bereitstellen dieser Informationen im Allgemeinen erfordern, dass eine Person jedes Bild manuell überprüft und, bei einer gegebenen Granularität, kennzeichnet, welche Teile eines Bildes blockiert sind. Dieser Prozess kann erhebliche Zeit erfordern und begrenzte Genauigkeit haben, insbesondere, wenn sich die Granularität erhöht. Entsprechend können menschlich klassifizierte Bilder, wie etwa nicht-synthetische Bilder, weniger granuläre Blockierungsinformationen haben als synthetische Informationen, wo Blockierungsinformationen direkt während der Synthese bestimmt werden können. Beispielsweise können menschlich klassifizierte Bilder binäre Blockierungsindikatoren (z. B. Blockierung ist vorhanden oder nicht) oder Indikatoren für niedrige Granularität (z. B. Blockierung in einem gewissen Quadranten vorhanden) relativ zu synthetischen Bildern aufweisen.
  • Um dies anzugehen, stellen Ausführungsformen der vorliegenden Offenbarung eine neuronale Netzwerkarchitektur bereit, die trainiert werden kann, um hochgradig genaue (z. B. auf Pixelebene) Beschriftungen für nicht-synthetische Bilder, die Blockierung enthalten, zu erzeugen unter Verwendung einer Kombination aus Bildern mit Blockierungsinformationen mit hoher Granularität (z. B. pixelweise) und Bildern mit Blockierungsinformationen mit niedriger Granularität (z. B. einen binären Blockierungsindikator) als Eingabedaten. Ein Beispiel einer solchen Architektur ist in 9 als neuronale Netzwerktrainingsarchitektur 900 gezeigt. Die Architektur 900 kann beispielsweise auf einer Vorrichtung 300, wie in 3 beschrieben, implementiert werden. Die gesamte oder ein Teil der Architektur 900 kann ferner auf einem autonomen Fahrzeug implementiert werden, wie etwa AV 100 aus 1 (z. B. über Computerprozessoren 146). Beispielsweise kann die Architektur 900 auf einer Vorrichtung 300 außerhalb eines AV 100 für Trainingszwecke implementiert sein, und ein Teil der Architektur 900, wie etwa die von gestrichelten Linien 914 umrandeten Blöcke, kann nach dem Training innerhalb eines AV 100 implementiert sein, um Inferenz gegen nicht-synthetische Eingabedaten durchzuführen (um z. B. den Betrieb des AV 100 zu steuern).
  • Wie in 9 gezeigt, umfasst die neuronale Netzwerktrainingsarchitektur 900 ein neuronales Netzwerk 902, ausgelegt zum Erhalten, als Eingabedaten, von Daten entsprechend einem Bild 901, Verarbeiten der Daten entsprechend dem neuronalen Netzwerk 902 und Ausgeben von Blockierungsdaten auf Pixelebene 904 für die Eingabedaten. Das Bild 901 kann, beispielsweise, ein über den Prozess aus 8 erzeugtes synthetisches Bild sein. Alternativ kann das Bild 901 ein nicht-synthetisches Bild sein, z. B. erfasst während des Betriebs eines AV 100. Verarbeiten innerhalb des neuronalen Netzwerks 902 kann eine Vielzahl von Operationen umfassen, um die Eingabe in entsprechende Blockierungsdaten auf Pixelebene 904 zu transformieren. Beispielsweise kann das neuronale Netzwerk 902 ein faltendes neuronales Netzwerk sein, in dem Bilddaten durch eine oder mehrere Faltungen geführt werden, um Merkmale aus den Bilddaten zu extrahieren. Das neuronale Netzwerk 902 kann ferner eine oder mehrere verborgene Schichten (z. B. vollständig verbundene Schichten) umfassen, in denen Merkmale der Bilddaten mit Gewichten von individuellen Knoten innerhalb der verborgenen Schichten multipliziert werden, um die Knoten potenziell zu aktivieren, wobei die verborgenen Schichten mit einer Ausgabeschicht verbunden sind, die z. B. anzeigt, ob jedes Pixel einer Blockierung entspricht.
  • Anfänglich kann das neuronale Netzwerk 902 untrainiert sein. Daher können die durch die Architektur 900 in ihrem anfänglichen Zustand erzeugten Blockierungsdaten auf Pixelebene 904 eine niedrige Genauigkeit aufweisen (z. B. nicht besser als Zufall). Entsprechend können Bilder 901 mit bekannten Blockierungsinformationen durch das Netzwerk 902 geführt werden, um das Netzwerk 902 zu trainieren, ermöglichend, dass Eigenschaften des Netzwerks (z. B. die Faltungen und/oder Gewichte von verborgenen Schichten) in einer Weise festgelegt werden, die dazu führt, dass eine Ausgabe des Netzwerks 902 (die Blockierungsbeschriftungen auf Pixelebene 904) zu bekannten Blockierungsinformationen passt.
  • Im Falle eines Bildes 901 mit bekannten Blockierungsdaten auf Pixelebene 904 kann Training direkt von solchen Blockierungsdaten auf Pixelebene 904 erfolgen. Veranschaulichend kann, wo das Bild 901 ein durch den Prozess aus 8 erzeugtes synthetisches Bild ist, das Bild 901 von bekannten Blockierungsbeschriftungsdaten auf Pixelebene 907 (z. B. entsprechend der Maske 804) begleitet sein, was pixelweise anzeigt, ob ein Pixel einer Blockierung entspricht (und, potenziell, die Transparenz eines solchen Blockierung). Die ausgegebenen Blockierungsinformationen auf Pixelebene 904, die durch das neuronale Netzwerk 902 für das Bild 901 erzeugt werden, können daher mit den bekannten Blockierungsdaten auf Pixelebene 907 verglichen werden, gezeigt in 9 als Vergleich 906 (was, beispielsweise, eine Verlustfunktion repräsentieren kann), um das neuronale Netzwerk 902 einzustellen (z. B. über Rückwärtsausbreitung), sodass die ausgegebenen Blockierungsinformationen auf Pixelebene 904 enger mit den bekannten Blockierungsdaten auf Pixelebene 907 übereinstimmen.
  • Wie oben erörtert, kann ein Training ausschließlich basierend auf synthetischen Bildern nicht wünschenswert sein und kann zu Nachteilen führen, wie etwa Überanpassung. Darüber hinaus können nicht-synthetische Daten keine Beschriftungen umfassen, die so granulär sind wie synthetische Daten. Beispielsweise können solche nicht-synthetischen Daten nur bekannte binäre Blockierungsbeschriftungen 908 aufweisen. Entsprechend ermöglicht die Architektur 900 ferner Training basierend auf Bilddaten ohne bekannte Blockierungsbeschriftungsdaten auf Pixelebene 905, wie etwa nicht-synthetische Daten, die manuell als Blockierung enthaltend oder nicht-enthaltend gekennzeichnet wurden. In der Architektur 900 werden Bilder 901 repräsentierende Daten ohne entsprechende bekannte Blockierungsbeschriftungsdaten auf Pixelebene 905 über das neuronale Netzwerk 902 in der gleichen Weise bearbeitet, wie Bilder mit bekannten Blockierungsbeschriftungsdaten auf Pixelebene 905, so Blockierungsinformationen auf Pixelebene 904 erzeugend. Da davon ausgegangen wird, dass das Bild 901 in einem solchen Beispiel keine bekannten Blockierungsbeschriftungsdaten auf Pixelebene 905 aufweist, ist ein Vergleich 906 möglicherweise nicht möglich. Stattdessen wird die durch das neuronale Netzwerk 902 ausgegebene Blockierung auf Pixelebene 904 über eine Umwandlungsfunktion in ausgegebene binäre Blockierungsdaten 910 umgewandelt. Veranschaulichend kann die Umwandlungsfunktion eine Schwellensetzung repräsentieren, sodass, wenn ausgegebene Blockierungsdaten auf Pixelebene 904 die Schwelle erfüllen, die ausgegebenen binären Blockierungsdaten 910 wahr sind. Die Schwelle kann auf einen entsprechenden Wert festgelegt werden, z. B. passend zu einer beabsichtigten Schwelle eines menschlichen Bedieners, der bekannte binäre Blockierungsdaten 908 manuell erzeugt hat. Entsprechend können die ausgegebenen binären Blockierungsdaten 910 des neuronalen Netzwerks 902 die Schätzung des Netzwerks 902 repräsentieren, ob ein menschlicher Bediener das Eingabebild 901 als blockiert kennzeichnen würde. Danach werden diese ausgegebenen binären Blockierungsdaten 910 bei Vergleich 912 mit den bekannten binären Blockierungsdaten 908 verglichen, was beispielsweise eine Verlustfunktion des Netzwerks 902 repräsentieren kann. Ein Ergebnis dieses Vergleichs 912 wird dann verwendet, um das Netzwerk 902 so zu modifizieren, dass die ausgegebenen binären Blockierungsdaten 910 geführt werden, um zu den bekannten binären Blockierungsdaten 908 zu passen, so das Netzwerk 902 trainierend.
  • In der Praxis kann Training des neuronalen Netzwerks 902 erfolgen durch Führen mehrerer Bilder 901 durch die Architektur 900, umfassend beide Bilder mit bekannten Blockierungsdaten auf Pixelebene 907 und Bilder 901 mit bekannten binären Blockierungsdaten 908. Auf diese Weise wird ein trainiertes Netzwerk 902 erzeugt. Danach können, während der Inferenz, die durch Kasten 914 angezeigten Elemente verwendet werden, um ausgegebene Blockierungsdaten auf Pixelebene 904 aus neuen, Nicht-Trainingsdaten entsprechend einem Bild 901 zu erzeugen, denen sowohl bekannte Blockierungsdaten auf Pixelebene 907 als auch bekannte binäre Blockierungsdaten 908 fehlen können. Nichtsdestotrotz kann das Netzwerk 902 einer Vorrichtung, wie etwa einem Prozessor innerhalb eines AV 100, ermöglichen, ausgegebene Blockierungsdaten auf Pixelebene 904 für ein solches Eingabebild 901 zu erzeugen. Entsprechend kann eine Vorrichtung, die das Netzwerk 902 implementiert, die subjektive Beurteilung einer Person über eine objektive Beurteilung replizieren, bestimmend, welche Teile eines Bildes blockiert sind, und, potenziell, in welchem Ausmaß jeder Teil blockiert ist. Dies kann seinerseits einen genaueren und sichereren Betrieb einer Vorrichtung ermöglichen, die sich auf Sensordaten verlässt, die Bilder 901 erzeugen, wie etwa ein AV 100.
  • Beispielhafte Routine zur Erzeugung einer Trainingsdatenmenge für eine synthetische teilweise Blockierung
  • 10 ist ein Flussdiagramm, eine beispielhafte Routine 1000 zur Erzeugung einer Trainingsdatenmenge für eine synthetische teilweise Blockierung darstellend. Die Routine 1000 kann, beispielsweise, durch ein Datenverarbeitungssystem 206 aus 2 implementiert werden.
  • Die Routine 1000 beginnt bei Block 1002, wo das Datenverarbeitungssystem 206 Daten erhält, die Bilder einer teilweisen Blockierung gegen einen Chroma-Key-Hintergrund repräsentieren. Die Bilder können veranschaulichend durch ein Bildgebungssystem erfasst werden, wie etwa das System 700 aus 7. Jedes Bild kann eine teilweise Blockierung (z. B. Straßenablagerungen, Wasser, Schlamm, Kondensation usw.) vor einem oder mehreren Chroma-Key-Hintergründen, wie etwa einem Greenscreen, darstellen. Die Größe, Form, Ausrichtung und der Typ der teilweisen Blockierung kann von Bild zu Bild variieren. Beispielsweise können die Größe, Form, Ausrichtung und der Typ der Blockierungen innerhalb der erhaltenen Daten ausgewählt werden, um eine repräsentative Probe von teilweisen Blockierungen bereitzustellen, die während des Betriebs einer Zielvorrichtung, wie etwa eines autonomen Fahrzeugs, auftreten können. Die Anzahl von Blockierungen kann von Bild zu Bild variieren. Beispielsweise können einige Bilder einen einzelnen Gegenstand darstellen, der die Blockierung bildet, während andere mehrere Gegenstände oder unterschiedliche Typen von Blockierung in unterschiedlichen Teilen des Bildes darstellen können. Beleuchtung der Blockierung innerhalb der Bilder kann auch in Intensität, Position und Farbe variieren, um das Aussehen der Blockierung während unterschiedlicher Tageszeiten und/oder während spezifischer Typen von Wetter zu simulieren. In einigen Ausführungsformen kann die Blockierung während der Bilderfassung Windeffekten ausgesetzt sein, um Bewegung der Blockierung zu simulieren. Bewegung der Blockierung kann Bewegungsunschärfen im Bild verursachen, die unterschiedliche Transparenzeffekte im resultierenden Bild verursachen können. Ferner kann der Chroma-Key-Hintergrund von Bild zu Bild variieren.
  • Bei Block 1004 führt das Datenverarbeitungssystem 206 eine Chroma-Keying-Operation durch, um Bilder der Blockierung aus den Bildern zu extrahieren. Die Chroma-Keying-Operation wirkt veranschaulichend, um die Gesamtheit einer Farbe entsprechend dem relevanten Chroma-Key-Hintergrund für jedes Bild zu entfernen, so nur die Bilder des Blockierungsgegenstands hinterlassend. Die Chroma-Keying-Operation ermöglicht so dem Datenverarbeitungssystem 206, zwischen Pixeln, die die Blockierung bilden (diej enigen, die durch die Chroma-Keying-Operation nicht entfernt wurden), und denjenigen, die den Hintergrund bilden, zu unterscheiden.
  • In einigen Ausführungsformen kann die Chroma-Keying-Operation teilweise Transparenz einer Blockierung berücksichtigen. Beispielsweise kann eine durchscheinende Blockierung den Chroma-Key-Hintergrund teilweise, aber nicht vollständig blockieren. Die Chroma-Keying-Operation kann so eine teilweise Transparenz für Pixel festlegen, die eine teilweise Blockierung repräsentieren. In einem Beispiel geht die Chroma-Keying-Operation davon aus, dass eine Pixelfarbe in einem Bild mit teilweiser Blockierung ein gewichteter Durchschnitt der Chroma-Key-Hintergrundfarbe und der Blockierungsfarbe ist und legt so einen Farb- und Transparenzwert für das Pixel basierend auf einer Differenz zwischen der Pixelfarbe, der Blockierungsfarbe und der Hintergrundfarbe fest (z. B. so, dass die Hintergrundfarbe entfernt wird und das Pixel die Farbe der Blockierung annimmt, mit einem Transparenzwert, der danach bestimmt wird, wie eng die Pixelfarbe mit der Chroma-Key-Hintergrundfarbe übereinstimmt, im Vergleich mit der Blockierungsfarbe).
  • Bei Block 1006 überlagert das Datenverarbeitungssystem 206 die extrahierten Bilder der Blockierung auf einem oder mehreren Hintergrundbildern zum Erzeugen von Bildern mit synthetischen teilweisen Blockierungen. In einigen Ausführungsformen werden die extrahierten Bilder verwendet, um eine Textur zu erstellen. Die Textur kann dann auf einen Bereich des Bildes angewendet werden, der bei der Chroma-Keying-Operation als der Blockierung entsprechend identifiziert wurde. In einigen Ausführungsformen kann eine Größe/ein Maßstab und/oder eine Orientierung der Blockierung geändert werden, bevor die Bilder der Blockierung über die Hintergrundbilder gelegt werden, um eine breitere Vielfalt von Bildern mit synthetischen teilweisen Blockierungen zu erstellen. Beispielsweise kann die Blockierung größer gemacht werden, um eine größere Blockierung zu bilden, oder kleiner gemacht werden, um eine kleinere Blockierung zu bilden. Alle extrahierten Blockierungsbilder können mehrmals über ein Hintergrundbild gelegt werden, beispielsweise mit variierender Größe und Orientierung. Darüber hinaus können alle extrahierten Blockierungsbilder über mehrere unterschiedliche Hintergrundbilder gelegt werden. In dieser Weise kann eine breite Vielfalt von Bildern mit synthetischer teilweiser Blockierung aus einer kleinen Anzahl von erfassten Bildern mit teilweiser Blockierung erzeugt werden.
  • Zusätzlich erzeugt, bei Block 1008, das Datenverarbeitungssystem 206 Beschriftungsdaten für jedes Bild mit synthetischer teilweiser Blockierung, wobei die Beschriftungsdaten Teile jedes Bildes mit synthetischer teilweiser Blockierung, die Blockierung bilden, von Teilen, die die Hintergrundbilder repräsentieren, unterscheiden. Veranschaulichend können die Beschriftungsdaten individuelle Pixel jedes Bildes mit synthetischer Blockierung identifizieren, die den bei Block 1004 extrahierten Bildern entsprechen (z. B. diejenigen Pixel, die während der Chroma-Key-Operation nicht entfernt wurden). Demgegenüber können die Beschriftungsdaten Pixel, die dem Hintergrundbild entsprechen, als den Hintergrund bildend identifizieren, und nicht als Blockierung. In einigen Fällen können die Beschriftungsdaten ferner eine Transparenz für die Blockierung anzeigen, wie etwa durch Verknüpfen eines Opazitätswerts mit jedem als Blockierung identifizierten Pixel. Wie nachfolgend angemerkt, können die Beschriftungsdaten so Label mit hoher Granularität für jedes Bild mit synthetischer teilweiser Blockierung bereitstellen.
  • Bei Block 1010 verwendet das Datenverarbeitungssystem 206 die Beschriftungsdaten und die Bilder mit synthetischer teilweiser Blockierung, um ein Maschinenlernmodell zu trainieren. Beispielsweise können die Bilder mit synthetischer teilweiser Blockierung durch ein faltendes neuronales Netzwerk geführt werden, um das Netzwerk zu trainieren, teilweise Blockierungen innerhalb von Bildern zu identifizieren. Wie oben angemerkt, kann Trainieren eines Maschinenlernmodells zum Produzieren genauer Ergebnisse große Mengen von Daten erfordern. Entsprechend kann die Fähigkeit der Routine 1000, eine breite Vielfalt an Bildern mit synthetischer teilweiser Blockierung aus einer begrenzten Menge von erfassten Bildern mit teilweiser Blockierung zu produzieren, vorteilhaft für die Durchführung des Trainings sein.
  • Wie oben erörtert, kann, in einigen Fällen, Trainieren eines Maschinenlernmodells ausschließlich basierend auf synthetischen Daten nicht wünschenswert sein. Beispielsweise kann das Modell an synthetische Daten überangepasst sein, wie etwa durch Lernen, zwischen synthetischen und nicht-synthetischen Bildern zu unterscheiden. Durch diese Überanpassung kann das Modell während der Verwendung in nicht-synthetisierten Umgebungen (die die gewünschte Einsetzumgebung sein können) ungenau werden. Entsprechend kann, in einigen Ausführungsformen, das Training bei Block 1012 Trainieren eines Modells auf einer Kombination aus synthetischen Daten, wie etwa den während der Implementierung der Routine 1000 erzeugten, und nicht-synthetischen Daten, wie etwa manuell beschrifteten Blockierungsdaten, umfassen. In einigen solchen Fällen können nicht-synthetische Daten mit Beschriftungen mit einer niedrigeren Granularität als die synthetischen Daten verknüpft werden. Beispielsweise können, anstelle des Vorhandenseins von Beschriftungen auf Pixelebene, nicht-synthetische Daten mit einer binären oder einer anderen nicht auf Pixelebene basierenden Beschriftung manuell klassifiziert werden. Eine beispielhafte Routine 1100 zum Trainieren eines neuronalen Netzwerks mit Trainingsdaten, die mehrere Granularitätsniveaus aufweisen, ist in 11 gezeigt. Entsprechend kann die Implementierung von Block 1012 Implementierung der Routine 1100 aus 11 umfassen.
  • Wie oben angemerkt, stellt 11 eine beispielhafte Routine 1100 zum Trainieren eines neuronalen Netzwerks, wie etwa eines faltenden neuronalen Netzwerks, mit Trainingsdaten dar, die mehrere Granularitätsniveaus aufweisen. Die Routine 1100 kann, beispielsweise, durch ein Datenverarbeitungssystem 206 aus 2 implementiert werden. Veranschaulichend kann die Routine 1100 verwendet werden, um ein Modell zu trainieren, einem autonomen Fahrzeug ermöglichend, Teile von zweidimensionalen Sensordaten zu identifizieren, die eine Blockierung des Sensors bilden, so einen genaueren und sichereren Betrieb des Fahrzeugs ermöglichend.
  • Die Routine 1100 beginnt bei Block 1102, wo das Datenverarbeitungssystem 206 Trainingsdaten erhält, umfassend sowohl Daten mit Labels mit hoher Granularität als auch Daten mit Labels mit niedriger Granularität. Die Daten können beispielsweise 2D-Bilder repräsentieren, wie etwa Kamerabilder. Die Labels mit hoher Granularität können spezifische Teile der Bilder (sofern vorhanden) anzeigen, die ein Merkmal bilden, das zu unterscheiden das Netzwerk trainiert ist, wie etwa eine Blockierung. Während Blockierung ein Beispiel eines Merkmals ist, das ein neuronales Netzwerk zu unterscheiden trainiert sein kann, sind andere Merkmale möglich. Beispielsweise kann die Routine 1100 verwendet werden, um ein Modell zu trainieren, die Anwesenheit oder Abwesenheit anderer Darstellungen in den Bildern zu unterscheiden, wie etwa Fußgänger, Typen von Objekten usw. Die Labels mit niedriger Granularität können in ähnlicher Weise anzeigen, ob das Merkmal in einem entsprechenden Bild vorhanden ist, dies aber mit einer niedrigeren Granularität als die Labels mit hoher Granularität. In einer Ausführungsform sind die Labels mit hoher Granularität Beschriftungen auf Pixelebene, die anzeigen, welche Pixel des Bildes dem Merkmal entsprechen (oder, umgekehrt, welche nicht), während die Labels mit niedriger Granularität keine Beschriftungen auf Pixelebene bereitstellen und stattdessen Beschriftungen mit niedrigerer Granularität bereitstellen, wie etwa regionale Beschriftungen (z. B. welche Hälfte, welches Quartil usw. des Bildes entsprechende Bilder umfasst) oder binäre Beschriftungen (die z. B. eine Anwesenheit oder Abwesenheit eines Merkmals in einem Bild anzeigen). In einer anderen Ausführungsform sind die Labels mit hoher Granularität regionale Beschriftungen, während die Labels mit niedriger Granularität binäre Beschriftungen sind.
  • Danach trainiert das Datenverarbeitungssystem 206 das neuronale Netzwerk für Ausgaben mit hoher Granularität, sodass das Netzwerk, einmal trainiert, eine Ausgabe bereitstellen kann, die anzeigt, welche Teile einer gegebenen Eingabe ein Merkmal bilden, das das Netzwerk zu detektieren trainiert ist, mit einer Granularität gleich der der Trainingsdaten mit Labels mit hoher Granularität. Wo beispielsweise der Teil mit hoher Granularität der Eingabedatenmenge Beschriftungen der Blockierung auf Pixelebene bereitstellt, kann das Netzwerk trainiert werden, Beschriftungen der Blockierung auf Pixelebene auszugeben bei gegebenem Eingabebild, umfassend etwas Blockierung.
  • Trainieren des neuronalen Netzwerks umfasst veranschaulichend, bei Block 1104, iteratives Einspeisen von Objekten aus der Trainingsdatenmenge durch das Netzwerk und Aktualisieren von Gewichten des Netzwerks basierend auf einem Vergleich zwischen einer Ausgabe des Netzwerks und einem Label für das individuelle Datenelement. Für jedes Element der Trainingsdatenmenge variiert die Routine 1100 dann entsprechend, ob das Element mit einem Label mit hoher oder niedriger Granularität verknüpft ist, wie bei Block 1106 gezeigt.
  • In dem Fall, dass das Element mit einem Label mit hoher Granularität verknüpft ist, fährt die Routine 1100 mit Block 1108 fort, wo das neuronale Netzwerk basierend auf einem Vergleich der Ausgabe des Netzwerks mit dem Label mit hoher Granularität aktualisiert wird. Beispielsweise kann das System 206 Rückwärtsausbreitung implementieren, um Gewichte des Netzwerks basierend auf einer Differenz zwischen der Ausgabe des Netzwerks, entsprechend vorhergesagten Werten für das Label mit hoher Granularität, und tatsächlichen Werten für das Label mit hoher Granularität zu aktualisieren. Über viele Iterationen kann das Netzwerk so trainiert werden, Werte für Labels mit hoher Granularität genau vorherzusagen.
  • In dem Fall, dass das Element mit einem Label mit niedriger Granularität verknüpft ist, fährt die Routine 1100 mit Block 1110 fort, wo die Ausgabe des Netzwerks von hoher Granularität in niedrige Granularität umgewandelt wird. Zur Implementierung der Umwandlung kann das Datenverarbeitungssystem 206 die Ausgabe mit hoher Granularität durch eine Umwandlungsfunktion führen, die auf die bestimmten Daten in der Trainingsdatenmenge zugeschnitten sein kann. Wo beispielsweise die Daten mit niedriger Granularität binäre Daten sind, kann die Umwandlungsfunktion bestimmen, ob ein Schwellbetrag der Ausgabe ein gegebenes Merkmal anzeigt (z. B., ob eine Schwellenanzahl von Pixeln, Regionen usw. eine Blockierung bildet), und einen „Wahr“-Wert ausgeben, wenn die Schwelle erfüllt ist, oder, umgekehrt, einen „Falsch“-Wert, wenn die Schwelle nicht erfüllt ist. Wo die Daten mit niedriger Granularität eine regionale Anzeige eines Merkmals sind, kann die Umwandlungsfunktion in ähnlicher Weise einen Teil der Ausgabe entsprechend dieser Region gegen eine Schwelle evaluieren, wie etwa durch Ausgeben eines „Vorhanden“-Indikators des Merkmals in einer Region, wenn zumindest eine Schwelle der Region als das Merkmal in der Ausgabe mit hoher Granularität besitzend angezeigt wird. In einer Ausführungsform kann die Umwandlungsfunktion selbst ein Maschinenlernmodell sein. Beispielsweise kann das Umwandlungsfunktions-Maschinenlernmodell mit einer Menge von Gewichten initialisiert werden, um als einfache Schwellensetzfunktion zu wirken, während das neuronale Netzwerk zum Erzeugen von Ausgaben mit hoher Granularität, die indikativ für ein gegebenes Merkmal ist, trainiert wird. Wenn ausreichende Genauigkeit am neuronalen Netzwerk erreicht ist, können die Gewichte des neuronalen Netzwerks konstant gehalten werden, während das Umwandlungsfunktionsmodell trainiert wird. In einem Fall können das neuronale Netzwerk und das Umwandlungsfunktions-Maschinenlernmodell (das selbst ein neuronales Netzwerk sein kann) gleichzeitig trainiert werden, wie etwa durch iteratives Konstanthalten eines der zwei Modelle, während das andere bei jeder Iteration trainiert wird. Entsprechend wird eine Ausgabe mit hoher Granularität des Netzwerks in eine niedrigere Granularität umgewandelt, die zu einer Granularität für ein Label des Elements passt.
  • Danach wird, bei Block 1112, das Netzwerk basierend auf einem Vergleich der umgewandelten Ausgabe des Netzwerks mit einem Label mit niedriger Granularität aktualisiert. Beispielsweise kann das System 206 Rückwärtsausbreitung implementieren, um Gewichte des Netzwerks basierend auf einer Differenz zwischen der umgewandelten Ausgabe des Netzwerks, entsprechend vorhergesagten Werten für das Label mit niedriger Granularität, und tatsächlichen Werten für das Label mit niedriger Granularität zu aktualisieren. Über viele Iterationen kann das Netzwerk so trainiert werden, Werte für Labels mit hoher Granularität genau vorherzusagen, die, wenn umgewandelt, zu einem dem Element zugeordneten Label mit niedriger Granularität passen.
  • Die Routine 1100 variiert dann je nachdem, ob mehr Daten in der Trainingsdatenmenge vorhanden sind, wie bei Block 1114 gezeigt. Wenn das der Fall ist, kehrt die Routine 1100 zu Block 1104 zurück, wo zusätzliche Elemente aus der Trainingsdatenmenge verwendet werden, um Gewichte des Netzwerks zu aktualisieren, wie oben beschrieben. Wenn keine weiteren Trainingsdaten in der Datenmenge vorhanden sind, fährt die Routine 1100 mit Block 1116 fort, wo das trainierte Modell eingesetzt, ausgegeben oder zur Verwendung während der Inferenz an eine Zieldatenverarbeitungsvorrichtung gesendet werden kann. Beispielsweise kann ein Modell, das trainiert ist, Blockierungsindikationen auf Pixelebene für 2D-Bilder bereitzustellen, eingesetzt, ausgegeben oder an ein autonomes Fahrzeug gesendet werden (z. B. implementiert durch einen Prozessor 146 aus 1, basierend auf von einer Kamera 112 erhaltenen Sensordaten), um dem Fahrzeug zu ermöglichen, die Anwesenheit und das Ausmaß einer Blockierung eines Sensors genau zu detektieren und entsprechende Korrekturaktionen einzuleiten, wenn eine solche Blockierung geschehen sollte. Eine solche Korrekturaktion kann, beispielsweise, Reinigen eines Sensors (z. B. über einen Wischermechanismus oder ähnliches), Benachrichtigung an einen Bediener, Ausführung eines Manövers mit minimalem Risiko, wie etwa Verlangsamen und Verlassen einer Fahrbahn oder ähnliches umfassen. Daher kann ein neuronales Netzwerk, wie über die Routine 1100 trainiert, eine sicherere und genauere Verwendung von Sensordaten in autonomen Fahrzeugen oder anderen Kontexten bereitstellen.
  • Verschiedene beispielhafte Ausführungsformen der Offenbarung können durch die folgenden Klauseln beschrieben werden:
    • Klausel 1. Computerimplementiertes Verfahren, implementiert durch einen oder mehrere Hardwareprozessoren, wobei das Verfahren Folgendes umfasst:
      • Erhalten, unter Verwendung des einen oder der mehreren Hardwareprozessoren, von Daten, die Bilder mit teilweisen Blockierungen repräsentieren, wobei jedes Bild mit teilweiser Blockierung eine Blockierung vor einem Chroma-Key-Hintergrund darstellt;
      • Erzeugen, unter Verwendung des einen oder der mehreren Hardwareprozessoren, einer Trainingsdatenmenge, umfassend mehrere Bilder mit synthetischer teilweiser Blockierung, wobei Erzeugen der Trainingsdatenmenge, für jedes Bild mit synthetischer teilweiser Blockierung aus den Bildern mit synthetischer teilweiser Blockierung, Folgendes umfasst:
        • Durchführen einer Chroma-Keying-Operation zum Extrahieren von Bildern einer Blockierung aus einem Bild mit teilweiser Blockierung aus den Bildern mit teilweiser Blockierung;
        • Überlagern der extrahierten Bilder der Blockierung über ein Hintergrundbild zum Erzeugen des Bildes mit synthetischer teilweiser Blockierung; und
        • Erzeugen von Beschriftungsdaten für das Bild mit synthetischer teilweiser Blockierung, wobei die Beschriftungsdaten Teile des Bildes mit synthetischer teilweiser Blockierung, die die extrahierten Bilder der Blockierung repräsentieren, von Teilen des Bildes mit synthetischer teilweiser Blockierung, die das Hintergrundbild repräsentieren, unterscheiden; und
      • Trainieren, unter Verwendung des einen oder der mehreren Hardwareprozessoren, eines neuronalen Netzwerks unter Verwendung der mehreren Bilder mit synthetischer teilweiser Blockierung zum Identifizieren von Teilen der Eingabebilddaten, entsprechend Daten von einem Sensor eines autonomen Fahrzeugs, die Blockierung am Sensor des autonomen Fahrzeugs repräsentieren.
    • Klausel 2. Computerimplementiertes Verfahren wie in Klausel 1, wobei die Beschriftungsdaten identifizieren, dass Pixel des Hintergrundbilds durch die überlagerten extrahierten Bilder der Blockierung blockiert werden.
    • Klausel 3. Computerimplementiertes Verfahren wie in einer der Klauseln 1-2, wobei der Chroma-Key-Hintergrund ein Greenscreen ist.
    • Klausel 4. Computerimplementiertes Verfahren wie in einer der Klauseln 1-3, wobei die Blockierung Materie ist, die an einem Objektiv einer Bildgebungsvorrichtung, die die Bilder mit teilweiser Blockierung erfasst, haftet.
    • Klausel 5. Computerimplementiertes Verfahren wie in einer der Klauseln 1-4, wobei das neuronale Netzwerk ein faltendes neuronales Netzwerk ist.
    • Klausel 6. Computerimplementiertes Verfahren wie in einer der Klauseln 1-5, ferner umfassend zufälliges Auswählen des Hintergrundbilds aus mehreren Hintergrundbildern, erfasst durch eine am Fahrzeug montierte Bildgebungsvorrichtung, während ein Fahrzeug, das die am Fahrzeug montierte Bildgebungsvorrichtung trägt, auf einer Straße navigiert.
    • Klausel 7. Computerimplementiertes Verfahren wie in Klausel 6, wobei die am Fahrzeug montierte Bildgebungsvorrichtung im Wesentlichen die gleiche ist wie eine Bildgebungsvorrichtung zum Erfassen der Bilder mit teilweiser Blockierung.
    • Klausel 8. Computerimplementiertes Verfahren wie in einer der Klauseln 1-7, wobei Durchführen der Chroma-Keying-Operation Verknüpfen von Teilen der extrahierten Bilder der Blockierung mit Transparenzwerten umfasst.
    • Klausel 9. Computerimplementiertes Verfahren wie in einer der Klauseln 1-8, wobei Erzeugen der Trainingsdatenmenge, für zumindest ein Bild mit teilweiser Blockierung aus den Bildern mit teilweiser Blockierung, Drehen der extrahierten Bilder der Blockierung umfasst.
    • Klausel 10. Computerimplementiertes Verfahren wie in einer der Klauseln 1-9, wobei, für zumindest ein Bild mit synthetischer teilweiser Blockierung aus den Bildern mit teilweiser Blockierung, die extrahierten Bilder der Blockierung zwei Blockierungsteile darstellen, und wobei Erzeugen der Trainingsdatenmenge, für das zumindest eine Bild mit synthetischer teilweiser Blockierung, Folgendes umfasst:
      • Drehen eines ersten Blockierungsteils der extrahierten Bilder um einen ersten Betrag; und
      • Drehen eines zweiten Blockierungsteils der extrahierten Bilder um einen zweiten Betrag, der vom ersten Betrag verschieden ist.
    • Klausel 11. Computerimplementiertes Verfahren wie in Klausel 10, ferner umfassend Einstellen einer Größe des ersten Blockierungsteils der extrahierten Bilder des Blockierungselements um einen ersten Betrag und Einstellen einer Auflösung einer zweiten Untermenge der extrahierten Bilder des Blockierungselements um einen zweiten Betrag vor dem Überlagern der extrahierten Bilder über die verschiedenen Hintergrundbilder.
    • Klausel 12. Computerimplementiertes Verfahren wie in Klausel 1, wobei Durchführen der Chroma-Keying-Operation Extrahieren beliebiger Bilder mit einem Transparenzwert unter einem Schwellenwert umfasst.
    • Klausel 13. Computerimplementiertes Verfahren wie in Klausel 13, wobei der Schwellenwert mindestens 90 % ist.
    • Klausel 14. Computerimplementiertes Verfahren wie in Klausel 1, wobei, für zumindest ein Bild mit synthetischer teilweiser Blockierung aus den Bildern mit teilweiser Blockierung, Erzeugen der Trainingsdatenmenge Überlagern sowohl der extrahierten Bilder der Blockierung als auch der Bilder einer zweiten Blockierung auf dem Hintergrundbild umfasst, um das Bild mit synthetischer teilweiser Blockierung zu erzeugen.
    • Klausel 15. Computerimplementiertes Verfahren wie in Klausel 14, ferner umfassend Durchführen einer Chroma-Keying-Operation zum Extrahieren von Bildern der zweiten Blockierung aus zumindest einem der Bilder mit teilweiser Blockierung.
    • Klausel 16. Computerimplementiertes Verfahren wie in einer der Klauseln 1-15, wobei die Bilder mit teilweiser Blockierung mindestens zwei Bilder umfassen, die eine gegebene Blockierung bei unterschiedlichen Abständen von einer Vorrichtung, die die mindestens zwei Bilder erfasst, umfassen.
    • Klausel 17. Computerimplementiertes Verfahren wie in einer der Klauseln 1-16, wobei eine erste Untermenge der Bilder mit teilweiser Blockierung bei einem ersten Beleuchtungsniveau erfasst wird und eine zweite Untermenge der Bilder mit teilweiser Blockierung bei einem zweiten Beleuchtungsniveau erfasst wird, das verschieden vom ersten Beleuchtungsniveau ist.
    • Klausel 18. Computerimplementiertes Verfahren wie in Klausel 17, wobei eine Lichtquelle, die zum Beleuchten der Blockierung verwendet wird, sich in einer ersten Position zum Erzeugen des ersten Beleuchtungsniveaus und in einer zweiten Position, die verschieden von der ersten Position ist, zum Erzeugen des zweiten Beleuchtungsniveaus befindet.
    • Klausel 19. Computerimplementiertes Verfahren wie in Klausel 18, wobei eine Quantität von Licht, das durch die Lichtquelle emittiert wird, für das erste Beleuchtungsniveau größer als für das zweite Beleuchtungsniveau ist.
    • Klausel 20. Computerimplementiertes Verfahren wie in Klausel 18, wobei die Lichtquelle eine gerichtete Lichtquelle ist, die in eine erste Richtung ausgerichtet ist und eine erste Quantität von Licht emittiert, um das erste Beleuchtungsniveau zu erzeugen, und wobei die Lichtquelle in eine zweite Richtung ausgerichtet ist und eine zweite Quantität von Licht emittiert, um das zweite Beleuchtungsniveau zu erzeugen.
    • Klausel 21. System, umfassend:
      • einen Datenspeicher, umfassend computerausführbare Anweisungen; und
      • einen Prozessor, ausgelegt zum Ausführen der computerausführbaren Anweisungen, wobei Ausführen der computerausführbaren Anweisungen das System veranlasst zum:
        • Erhalten von Daten, die Bilder mit teilweisen Blockierungen repräsentieren, wobei jedes Bild mit teilweiser Blockierung eine Blockierung vor einem Chroma-Key-Hintergrund darstellt;
        • Erzeugen einer Trainingsdatenmenge, umfassend mehrere Bilder mit synthetischer teilweiser Blockierung, für jedes Bild mit synthetischer teilweiser Blockierung aus den Bildern mit synthetischer teilweiser Blockierung;
          • Durchführen einer Chroma-Keying-Operation zum Extrahieren von Bildern einer Blockierung aus einem Bild mit teilweiser Blockierung aus den Bildern mit teilweiser Blockierung;
          • Überlagern der extrahierten Bilder der Blockierung über ein Hintergrundbild zum Erzeugen des Bildes mit synthetischer teilweiser Blockierung; und
          • Erzeugen von Beschriftungsdaten für das Bild mit synthetischer teilweiser Blockierung, wobei die Beschriftungsdaten Teile des Bildes mit synthetischer teilweiser Blockierung, die die extrahierten Bilder der Blockierung repräsentieren, von Teilen des Bildes mit synthetischer teilweiser Blockierung, die das Hintergrundbild repräsentieren, unterscheiden; und
          • Trainieren eines neuronalen Netzwerks unter Verwendung der mehreren Bilder mit synthetischer teilweiser Blockierung zum Identifizieren von Teilen der Eingabebilddaten, entsprechend Daten von einem Sensor eines autonomen Fahrzeugs, die Blockierung am Sensor des autonomen Fahrzeugs repräsentieren.
    • Klausel 22. Ein oder mehrere nicht-flüchtige computerlesbare Medien, umfassend computerausführbare Anweisungen, die, wenn durch ein einen Prozessor umfassendes Datenverarbeitungssystem ausgeführt, das Datenverarbeitungssystem veranlassen zum:
      • Erhalten von Daten, die Bilder mit teilweisen Blockierungen repräsentieren, wobei jedes Bild mit teilweiser Blockierung eine Blockierung vor einem Chroma-Key-Hintergrund darstellt;
      • Erzeugen einer Trainingsdatenmenge, umfassend mehrere Bilder mit synthetischer teilweiser Blockierung, für jedes Bild mit synthetischer teilweiser Blockierung aus den Bildern mit synthetischer teilweiser Blockierung;
        • Durchführen einer Chroma-Keying-Operation zum Extrahieren von Bildern einer Blockierung aus einem Bild mit teilweiser Blockierung aus den Bildern mit teilweiser Blockierung;
        • Überlagern der extrahierten Bilder der Blockierung über ein Hintergrundbild zum Erzeugen des Bildes mit synthetischer teilweiser Blockierung; und
        • Erzeugen von Beschriftungsdaten für das Bild mit synthetischer teilweiser Blockierung, wobei die Beschriftungsdaten Teile des Bildes mit synthetischer teilweiser Blockierung, die die extrahierten Bilder der Blockierung repräsentieren, von Teilen des Bildes mit synthetischer teilweiser Blockierung, die das Hintergrundbild repräsentieren, unterscheiden; und
      • Trainieren eines neuronalen Netzwerks unter Verwendung der mehreren Bilder mit synthetischer teilweiser Blockierung zum Identifizieren von Teilen der Eingabebilddaten, entsprechend Daten von einem Sensor eines autonomen Fahrzeugs, die Blockierung am Sensor des autonomen Fahrzeugs repräsentieren.
  • Verschiedene zusätzliche beispielhafte Ausführungsformen der Offenbarung können durch die folgenden zusätzlichen Klauseln beschrieben werden:
    • Klausel 1. Computerimplementiertes Verfahren, implementiert durch einen oder mehrere Hardwareprozessoren, Folgendes umfassend:
      • Trainieren, unter Verwendung des einen oder der mehreren Hardwareprozessoren, eines neuronalen Netzwerks zum Ausgeben von Daten bei einer ersten Granularität, die höher als eine zweite Granularität ist, basierend auf einer Trainingsdatenmenge, umfassend eine erste Untermenge von Elementen, die bei einer ersten Granularität gelabelt sind, und eine zweite Untermenge von Elementen, die bei einer zweiten Granularität gelabelt sind, die niedriger als die erste Granularität ist, wobei Trainieren des neuronalen Netzwerks Folgendes umfasst:
        • für jedes Element in der ersten Untermenge von Elementen, die bei der ersten Granularität, die höher als die zweite Granularität ist, gelabelt sind:
          • Führen des bei der ersten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element; und
          • Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element und einem Label des Elements entsprechend der ersten Granularität;
          • für jedes Element in der zweiten Untermenge von Elementen, die bei der zweiten Granularität, die niedriger als die erste Granularität ist, gelabelt sind:
            • Führen des bei der zweiten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element;
            • Führen der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element durch eine Umwandlungsfunktion zum Umwandeln der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element in eine umgewandelte Ausgabe bei der zweiten Granularität; und
            • Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der umgewandelten Ausgabe bei der zweiten Granularität und einem Label des Elements entsprechend der zweiten Granularität.
    • Klausel 2. Computerimplementiertes Verfahren wie in Klausel 1, wobei das neuronale Netzwerk ein faltendes neuronales Netzwerk ist.
    • Klausel 3. Computerimplementiertes Verfahren wie in einer der Klauseln 1-2, wobei die erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, Bilder mit Beschriftungen auf Pixelebene sind, die Orte eines Merkmals in Bildern der ersten Untermenge identifizieren.
    • Klausel 4. Computerimplementiertes Verfahren wie in Klausel 3, wobei die zweite Untermenge von Elementen, die bei der zweiten Granularität gelabelt sind, Bilder mit zumindest einer von nicht auf Pixelebene basierenden regionalen Beschriftungen, die Orte des Merkmals in den Bildern der zweiten Untermenge identifizieren, oder binären Beschriftungen, die identifizieren, ob das Merkmal in den Bildern der zweiten Untermenge vorhanden ist, sind.
    • Klausel 5. Computerimplementiertes Verfahren wie in einer der Klauseln 1-2, wobei die erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, Bilder mit nicht auf Pixelebene basierenden regionalen Beschriftungen sind, die Orte eines Merkmals in den Bildern der zweiten Untermenge identifizieren, und wobei die zweite Untermenge von Elementen, die bei der zweiten Granularität gelabelt sind, Bilder mit binären Beschriftungen sind, die identifizieren, ob das Merkmal in den Bildern der zweiten Untermenge vorhanden ist.
    • Klausel 6. Computerimplementiertes Verfahren wie in einer der Klauseln 3-5, wobei das Merkmal eine Sensorblockierung ist.
    • Klausel 7. Computerimplementiertes Verfahren wie in einer der Klauseln 1-6, wobei die Umwandlungsfunktion eine Schwellensetzfunktion ist, die ein Label der ersten Granularität in ein Label der zweiten Granularität umwandelt.
    • Klausel 8. Computerimplementiertes Verfahren wie in Klausel 7, wobei die Umwandlungsfunktion ein Maschinenlernmodell ist.
    • Klausel 9. Computerimplementiertes Verfahren wie in Klausel 8, wobei das Maschinenlernmodell ein zweites neuronales Netzwerk ist.
    • Klausel 10. Computerimplementiertes Verfahren wie in einer der Klauseln 8-9, wobei das Maschinenlernmodell gleichzeitig mit dem neuronalen Netzwerk trainiert wird.
    • Klausel 11. Computerimplementiertes Verfahren wie in einer der Klauseln 1-10, wobei die zweite Untermenge von Elementen, die bei der zweiten Granularität gelabelt sind, die niedriger als die erste Granularität ist, manuell beschriftete Elemente umfasst.
    • Klausel 12. Computerimplementiertes Verfahren wie in einer der Klauseln 1-11, wobei die erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, die höher als die zweite Granularität ist, programmatisch erzeugte synthetische Elemente umfasst.
    • Klausel 13. Computerimplementiertes Verfahren wie in Klausel 12, ferner umfassend Erzeugen der programmatisch erzeugten synthetischen Elemente, wobei Erzeugen der programmatisch erzeugten synthetischen Elemente, für jedes der programmatisch erzeugten synthetischen Elemente, Folgendes umfasst:
      • Durchführen einer Chroma-Keying-Operation zum Extrahieren von Bildern eines Merkmals aus einem Bild mit einem teilweisen Merkmal;
      • Überlagern der extrahierten Bilder des Merkmals über ein Hintergrundbild zum Erzeugen des programmatisch erzeugten synthetischen Elements; und
      • Erzeugen von Beschriftungsdaten für die programmatisch erzeugten synthetischen Elemente, wobei die Beschriftungsdaten Teile der programmatisch erzeugten synthetischen Elemente, die die extrahierten Bilder des Merkmals repräsentieren, von Teilen der programmatisch erzeugten synthetischen Elemente, die das Hintergrundbild repräsentieren, unterscheiden.
    • Klausel 14. Computerimplementiertes Verfahren wie in einer der Klauseln 1-13, ferner umfassend Einsetzen des neuronalen Netzwerks im Anschluss an das Training zum Durchführen einer Inferenz gegen Eingaben und Bereitstellen von Ausgaben bei der ersten Granularität.
    • Klausel 15. Computerimplementiertes Verfahren wie in Klausel 14, wobei Einsetzen des neuronalen Netzwerks im Anschluss an das Training zum Durchführen einer Inferenz gegen Eingaben und Bereitstellen von Ausgaben bei der ersten Granularität Einsetzen des neuronalen Netzwerks in einem autonomen Fahrzeug umfasst.
    • Klausel 16. Computerimplementiertes Verfahren wie in Klausel 15, wobei Einsetzen des neuronalen Netzwerks in einem autonomen Fahrzeug das autonome Fahrzeug befähigt, Teile von Eingabebilddaten, entsprechend Daten von einem Sensor eines autonomen Fahrzeugs, zu identifizieren, die Blockierung am Sensor des autonomen Fahrzeugs repräsentieren.
    • Klausel 17. System, umfassend:
      • einen Datenspeicher, umfassend computerausführbare Anweisungen; und
      • einen Prozessor, ausgelegt zum Ausführen der computerausführbaren Anweisungen, wobei Ausführen der computerausführbaren Anweisungen das System veranlasst zum:
        • Trainieren eines neuronalen Netzwerks zum Ausgeben von Daten bei einer ersten Granularität, die höher als eine zweite Granularität ist, basierend auf einer Trainingsdatenmenge, umfassend eine erste Untermenge von Elementen, die bei einer ersten Granularität gelabelt sind, und eine zweite Untermenge von Elementen, die bei einer zweiten Granularität gelabelt sind, die niedriger als die erste Granularität ist, wobei Trainieren des neuronalen Netzwerks Folgendes umfasst:
          • für jedes Element in der ersten Untermenge von Elementen, die bei der ersten Granularität, die höher als die zweite Granularität ist, gelabelt sind:
            • Führen des bei der ersten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element; und
            • Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element und einem Label des Elements entsprechend der ersten Granularität;
            • für jedes Element in der zweiten Untermenge von Elementen, die bei der zweiten Granularität, die niedriger als die erste Granularität ist, gelabelt sind:
              • Führen des bei der zweiten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element;
              • Führen der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element durch eine Umwandlungsfunktion zum Umwandeln der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element in eine umgewandelte Ausgabe bei der zweiten Granularität; und
              • Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der umgewandelten Ausgabe bei der zweiten Granularität und einem Label des Elements entsprechend der zweiten Granularität; und
      • Speichern des trainierten neuronalen Netzwerks für anschließenden Einsatz zum Durchführen von Inferenz gegen Eingaben und Bereitstellen von Ausgaben bei der ersten Granularität.
    • Klausel 18. System wie in Klausel 17, wobei die erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, Bilder mit Beschriftungen auf Pixelebene sind, die Orte eines Merkmals in Bildern der ersten Untermenge identifizieren.
    • Klausel 19. System wie in Klausel 18, wobei das Merkmal eine Sensorblockierung ist.
    • Klausel 20. System wie in einer der Klauseln 17-19, wobei Einsetzen des neuronalen Netzwerks im Anschluss an das Training zum Durchführen von Inferenz gegen Eingaben und Bereitstellen von Ausgaben bei der ersten Granularität Einsetzen des neuronalen Netzwerks in einem autonomen Fahrzeug umfasst, wobei Einsetzen des neuronalen Netzwerks in einem autonomen Fahrzeug das autonome Fahrzeug befähigt, Teile von Eingabebilddaten, entsprechend Daten von einem Sensor eines autonomen Fahrzeugs, zu identifizieren, die Sensorblockierung am Sensor des autonomen Fahrzeugs repräsentieren.
    • Klausel 21. Ein oder mehrere nicht-flüchtige computerlesbare Medien, umfassend computerausführbare Anweisungen, die, wenn durch ein einen Prozessor umfassendes Datenverarbeitungssystem ausgeführt, das Datenverarbeitungssystem veranlassen zum:
      • Trainieren eines neuronalen Netzwerks zum Ausgeben von Daten bei einer ersten Granularität, die höher als eine zweite Granularität ist, basierend auf einer Trainingsdatenmenge, umfassend eine erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, und eine zweite Untermenge von Elementen, die bei der zweiten Granularität gelabelt sind, die niedriger als die erste Granularität ist, wobei Trainieren des neuronalen Netzwerks Folgendes umfasst:
        • für jedes Element in der ersten Untermenge von Elementen, die bei der ersten Granularität, die höher als die zweite Granularität ist, gelabelt sind:
          • Führen des bei der ersten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element; und
          • Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element und einem Label des Elements entsprechend der ersten Granularität;
          • für jedes Element in der zweiten Untermenge von Elementen, die bei der zweiten Granularität, die niedriger als die erste Granularität ist, gelabelt sind:
            • Führen des bei der zweiten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element;
            • Führen der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element durch eine Umwandlungsfunktion zum Umwandeln der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element in eine umgewandelte Ausgabe bei der zweiten Granularität; und
            • Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der umgewandelten Ausgabe bei der zweiten Granularität und einem Label des Elements entsprechend der zweiten Granularität; und
          • Speichern des trainierten neuronalen Netzwerks für anschließenden Einsatz zum Durchführen von Inferenz gegen Eingaben und Bereitstellen von Ausgaben bei der ersten Granularität.
  • In der vorstehenden Beschreibung wurden Ausführungsformen Bezug nehmend auf zahlreiche spezifische Einzelheiten beschrieben, die von Implementierung zu Implementierung variieren können. Die Beschreibung und die Zeichnungen sind dementsprechend als veranschaulichend anstatt beschränkend aufzufassen. Der einzige und ausschließliche Indikator des Schutzumfangs der Ansprüche und dessen, was durch die Anmelder als Schutzumfang der Ansprüche beabsichtigt ist, ist der wörtliche und äquivalente Schutzumfang der Menge von Ansprüchen, die aus dieser Anmeldung hervorgehen, in der spezifischen Form, in der solche Ansprüche ausgegeben werden, einschließlich aller nachfolgenden Korrekturen. Alle hier ausdrücklich dargelegten Definitionen für in solchen Ansprüchen enthaltene Begriffe sollen die Bedeutung solcher Begriffe, wie in den Ansprüchen verwendet, bestimmen. Darüber hinaus kann bei Verwendung des Begriffs „ferner umfassend“ in der vorhergehenden Beschreibung oder in den folgenden Ansprüchen das auf diese Formulierung Folgende ein zusätzlicher Schritt oder eine zusätzliche Einheit oder ein Unterschritt bzw. eine Untereinheit eines bereits erwähnten Schritts oder einer bereits erwähnten Einheit sein.

Claims (21)

  1. Computerimplementiertes Verfahren, implementiert durch einen oder mehrere Hardwareprozessoren, umfassend: Trainieren, unter Verwendung des einen oder der mehreren Hardwareprozessoren, eines neuronalen Netzwerks zum Ausgeben von Daten bei einer ersten Granularität, die höher als eine zweite Granularität ist, basierend auf einer Trainingsdatenmenge, umfassend eine erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, und eine zweite Untermenge von Elementen, die bei der zweiten Granularität gelabelt sind, die niedriger als die erste Granularität ist, wobei Trainieren des neuronalen Netzwerks Folgendes umfasst: für jedes Element in der ersten Untermenge von Elementen, die bei der ersten Granularität, die höher als die zweite Granularität ist, gelabelt sind: Führen des bei der ersten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element; und Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element und einem Label des Elements entsprechend der ersten Granularität; für jedes Element in der zweiten Untermenge von Elementen, die bei der zweiten Granularität, die niedriger als die erste Granularität ist, gelabelt sind: Führen des bei der zweiten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element; Führen der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element durch eine Umwandlungsfunktion zum Umwandeln der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element in eine umgewandelte Ausgabe bei der zweiten Granularität; und Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der umgewandelten Ausgabe bei der zweiten Granularität und einem Label des Elements entsprechend der zweiten Granularität.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei das neuronale Netzwerk ein faltendes neuronales Netzwerk ist.
  3. Computerimplementiertes Verfahren nach einem der Ansprüche 1-2, wobei die erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, Bilder mit Beschriftungen auf Pixelebene sind, die Orte eines Merkmals in Bildern der ersten Untermenge identifizieren.
  4. Computerimplementiertes Verfahren nach Anspruch 3, wobei die zweite Untermenge von Elementen, die bei der zweiten Granularität gelabelt sind, Bilder mit zumindest einer von nicht auf Pixelebene basierenden regionalen Beschriftungen, die Orte des Merkmals in den Bildern der zweiten Untermenge identifizieren, oder binären Beschriftungen, die identifizieren, ob das Merkmal in den Bildern der zweiten Untermenge vorhanden ist, sind.
  5. Computerimplementiertes Verfahren nach einem der Ansprüche 1-2, wobei die erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, Bilder mit nicht auf Pixelebene basierenden regionalen Beschriftungen sind, die Orte eines Merkmals in den Bildern der zweiten Untermenge identifizieren, und wobei die zweite Untermenge von Elementen, die bei der zweiten Granularität gelabelt sind, Bilder mit binären Beschriftungen sind, die identifizieren, ob das Merkmal in den Bildern der zweiten Untermenge vorhanden ist.
  6. Computerimplementiertes Verfahren nach einem der Ansprüche 3-5, wobei das Merkmal eine Sensorblockierung ist.
  7. Computerimplementiertes Verfahren nach einem der Ansprüche 1-6, wobei die Umwandlungsfunktion eine Schwellensetzfunktion ist, die ein Label der ersten Granularität in ein Label der zweiten Granularität umwandelt.
  8. Computerimplementiertes Verfahren nach Anspruch 7, wobei die Umwandlungsfunktion ein Maschinenlernmodell ist.
  9. Computerimplementiertes Verfahren nach Anspruch 8, wobei das Maschinenlernmodell ein zweites neuronales Netzwerk ist.
  10. Computerimplementiertes Verfahren nach einem der Ansprüche 8-9, wobei das Maschinenlernmodell gleichzeitig mit dem neuronalen Netzwerk trainiert wird.
  11. Computerimplementiertes Verfahren nach einem der Ansprüche 1-10, wobei die zweite Untermenge von Elementen, die bei der zweiten Granularität gelabelt sind, die niedriger als die erste Granularität ist, manuell beschriftete Elemente umfasst.
  12. Computerimplementiertes Verfahren nach einem der Ansprüche 1-11, wobei die erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, die höher als die zweite Granularität ist, programmatisch erzeugte synthetische Elemente umfasst.
  13. Computerimplementiertes Verfahren nach Anspruch 12, ferner umfassend Erzeugen der programmatisch erzeugten synthetischen Elemente, wobei Erzeugen der programmatisch erzeugten synthetischen Elemente, für jedes der programmatisch erzeugten synthetischen Elemente, Folgendes umfasst: Durchführen einer Chroma-Keying-Operation zum Extrahieren von Bildern eines Merkmals aus einem Bild mit einem teilweisen Merkmal; Überlagern der extrahierten Bilder des Merkmals über ein Hintergrundbild zum Erzeugen des programmatisch erzeugten synthetischen Elements; und Erzeugen von Beschriftungsdaten für die programmatisch erzeugten synthetischen Elemente, wobei die Beschriftungsdaten Teile der programmatisch erzeugten synthetischen Elemente, die die extrahierten Bilder des Merkmals repräsentieren, von Teilen der programmatisch erzeugten synthetischen Elemente, die das Hintergrundbild repräsentieren, unterscheiden.
  14. Computerimplementiertes Verfahren nach einem der Ansprüche 1-13, ferner umfassend Einsetzen des neuronalen Netzwerks im Anschluss an das Training zum Durchführen einer Inferenz gegen Eingaben und Bereitstellen von Ausgaben bei der ersten Granularität.
  15. Computerimplementiertes Verfahren nach Anspruch 14, wobei Einsetzen des neuronalen Netzwerks im Anschluss an das Training zum Durchführen einer Inferenz gegen Eingaben und Bereitstellen von Ausgaben bei der ersten Granularität Einsetzen des neuronalen Netzwerks in einem autonomen Fahrzeug umfasst.
  16. Computerimplementiertes Verfahren nach Anspruch 15, wobei Einsetzen des neuronalen Netzwerks in einem autonomen Fahrzeug das autonome Fahrzeug befähigt, Teile von Eingabebilddaten, entsprechend Daten von einem Sensor eines autonomen Fahrzeugs, zu identifizieren, die Blockierung am Sensor des autonomen Fahrzeugs repräsentieren.
  17. System, umfassend: einen Datenspeicher, umfassend computerausführbare Anweisungen; und einen Prozessor, ausgelegt zum Ausführen der computerausführbaren Anweisungen, wobei Ausführen der computerausführbaren Anweisungen das System veranlasst zum: Trainieren eines neuronalen Netzwerks zum Ausgeben von Daten bei einer ersten Granularität, die höher als eine zweite Granularität ist, basierend auf einer Trainingsdatenmenge, umfassend eine erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, und eine zweite Untermenge von Elementen, die bei der zweiten Granularität gelabelt sind, die niedriger als die erste Granularität ist, wobei Trainieren des neuronalen Netzwerks Folgendes umfasst: für jedes Element in der ersten Untermenge von Elementen, die bei der ersten Granularität, die höher als die zweite Granularität ist, gelabelt sind: Führen des bei der ersten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element; und Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element und einem Label des Elements entsprechend der ersten Granularität; für jedes Element in der zweiten Untermenge von Elementen, die bei der zweiten Granularität, die niedriger als die erste Granularität ist, gelabelt sind: Führen des bei der zweiten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element; Führen der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element durch eine Umwandlungsfunktion zum Umwandeln der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element in eine umgewandelte Ausgabe bei der zweiten Granularität; und Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der umgewandelten Ausgabe bei der zweiten Granularität und einem Label des Elements entsprechend der zweiten Granularität; und Speichern des trainierten neuronalen Netzwerks für anschließenden Einsatz zum Durchführen von Inferenz gegen Eingaben und Bereitstellen von Ausgaben bei der ersten Granularität.
  18. System nach Anspruch 17, wobei die erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, Bilder mit Beschriftungen auf Pixelebene sind, die Orte eines Merkmals in Bildern der ersten Untermenge identifizieren.
  19. System nach Anspruch 18, wobei das Merkmal eine Sensorblockierung ist.
  20. System nach einem der Ansprüche 17-19, wobei Einsetzen des neuronalen Netzwerks im Anschluss an das Training zum Durchführen von Inferenz gegen Eingaben und Bereitstellen von Ausgaben bei der ersten Granularität Einsetzen des neuronalen Netzwerks in einem autonomen Fahrzeug umfasst, wobei Einsetzen des neuronalen Netzwerks in einem autonomen Fahrzeug das autonome Fahrzeug befähigt, Teile von Eingabebilddaten, entsprechend Daten von einem Sensor eines autonomen Fahrzeugs, zu identifizieren, die Sensorblockierung am Sensor des autonomen Fahrzeugs repräsentieren.
  21. Ein oder mehrere nicht-flüchtige computerlesbare Medien, umfassend computerausführbare Anweisungen, die, wenn durch ein einen Prozessor umfassendes Datenverarbeitungssystem ausgeführt, das Datenverarbeitungssystem veranlassen zum: Trainieren eines neuronalen Netzwerks zum Ausgeben von Daten bei einer ersten Granularität, die höher als eine zweite Granularität ist, basierend auf einer Trainingsdatenmenge, umfassend eine erste Untermenge von Elementen, die bei der ersten Granularität gelabelt sind, und eine zweite Untermenge von Elementen, die bei der zweiten Granularität gelabelt sind, die niedriger als die erste Granularität ist, wobei Trainieren des neuronalen Netzwerks Folgendes umfasst: für jedes Element in der ersten Untermenge von Elementen, die bei der ersten Granularität, die höher als die zweite Granularität ist, gelabelt sind: Führen des bei der ersten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element; und Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der Ausgabe entsprechend dem bei der ersten Granularität gelabelten Element und einem Label des Elements entsprechend der ersten Granularität; für jedes Element in der zweiten Untermenge von Elementen, die bei der zweiten Granularität, die niedriger als die erste Granularität ist, gelabelt sind: Führen des bei der zweiten Granularität gelabelten Elements durch das neuronale Netzwerk zum Erzeugen einer Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element; Führen der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element durch eine Umwandlungsfunktion zum Umwandeln der Ausgabe entsprechend dem bei der zweiten Granularität gelabelten Element in eine umgewandelte Ausgabe bei der zweiten Granularität; und Aktualisieren von Gewichten des neuronalen Netzwerks basierend auf einem Vergleich zwischen der umgewandelten Ausgabe bei der zweiten Granularität und einem Label des Elements entsprechend der zweiten Granularität; und Speichern des trainierten neuronalen Netzwerks für anschließenden Einsatz zum Durchführen von Inferenz gegen Eingaben und Bereitstellen von Ausgaben bei der ersten Granularität.
DE102022119217.2A 2021-08-04 2022-08-01 Trainieren eines neuronalen Netzwerks unter Verwendung einer Datenmenge mit Labeln mehrerer Granularitäten Pending DE102022119217A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163229199P 2021-08-04 2021-08-04
US202163229335P 2021-08-04 2021-08-04
US63/229,199 2021-08-04
US63/229,335 2021-08-04

Publications (1)

Publication Number Publication Date
DE102022119217A1 true DE102022119217A1 (de) 2023-02-09

Family

ID=84540552

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102022119217.2A Pending DE102022119217A1 (de) 2021-08-04 2022-08-01 Trainieren eines neuronalen Netzwerks unter Verwendung einer Datenmenge mit Labeln mehrerer Granularitäten
DE102022119216.4A Pending DE102022119216A1 (de) 2021-08-04 2022-08-01 Erzeugung eines skalierbaren und realistischen Kamerablockierungsdatensatzes

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE102022119216.4A Pending DE102022119216A1 (de) 2021-08-04 2022-08-01 Erzeugung eines skalierbaren und realistischen Kamerablockierungsdatensatzes

Country Status (4)

Country Link
KR (2) KR20230020932A (de)
CN (2) CN115705723A (de)
DE (2) DE102022119217A1 (de)
GB (2) GB2611408B (de)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100516638B1 (ko) * 2001-09-26 2005-09-22 엘지전자 주식회사 화상 통신 시스템
US20140368669A1 (en) * 2012-10-04 2014-12-18 Google Inc. Gpu-accelerated background replacement
US9646227B2 (en) * 2014-07-29 2017-05-09 Microsoft Technology Licensing, Llc Computerized machine learning of interesting video sections
US10535138B2 (en) * 2017-11-21 2020-01-14 Zoox, Inc. Sensor data segmentation
US11496661B2 (en) * 2018-02-22 2022-11-08 Sony Corporation Image processing apparatus and image processing method
EP3540691B1 (de) * 2018-03-14 2021-05-26 Volvo Car Corporation Verfahren zur segmentierung und annotation von bildern
KR102565074B1 (ko) * 2018-08-06 2023-08-08 가부시키가이샤 시마쓰세사쿠쇼 교사 라벨 화상 수정 방법, 학습 완료 모델의 작성 방법 및 화상 해석 장치
EP3657379A1 (de) * 2018-11-26 2020-05-27 Connaught Electronics Ltd. Bildverarbeitungsvorrichtung für ein neuronales netzwerk zur erkennung von verunreinigungen einer bildaufnahmevorrichtung
US10867210B2 (en) * 2018-12-21 2020-12-15 Waymo Llc Neural networks for coarse- and fine-object classifications

Also Published As

Publication number Publication date
GB2611408B (en) 2024-04-03
DE102022119216A1 (de) 2023-02-09
GB202211257D0 (en) 2022-09-14
GB2611408A (en) 2023-04-05
GB202211259D0 (en) 2022-09-14
KR20230020933A (ko) 2023-02-13
KR20230020932A (ko) 2023-02-13
GB2611167A (en) 2023-03-29
CN115705722A (zh) 2023-02-17
GB2611167B (en) 2024-04-03
CN115705723A (zh) 2023-02-17

Similar Documents

Publication Publication Date Title
DE102020129854A1 (de) Sequenzielle fusion zur 3d-objektdetektion
DE102020131323A1 (de) Kamera-zu-lidar-kalibration und -validierung
DE102020111938A1 (de) Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie
DE102020133982A1 (de) Automatisierte objektannotation unter verwendung fusionierter kamera-/lidar-datenpunkte
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE112020000653T5 (de) Zusammenführen von daten aus mehreren lidar-vorrichtungen
DE102021108068A1 (de) Schätzung von bodenebenen unter verwendung eines semantischen lidar-netzes
DE102020135000A1 (de) Systeme und verfahren zur verkehrsampelerfassung
DE112019004633T5 (de) Systeme und verfahren zum verbessern des fahrzeugbetriebs unter verwendung beweglicher sensoren
DE112016006213T5 (de) System und Verfahren zum Fusionieren von Ausgängen von Sensoren, die unterschiedliche Auflösungen aufweisen
DE102021132853A1 (de) Auf deep learning basierende kamerakalibrierung
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102022100213A1 (de) Auf Maschinenlernen basierendes Framework für die Annotation befahrbarer Oberflächen
DE102020120873A1 (de) Lokalisierung basierend auf vordefinierten merkmalen der umgebung
DE102021118316A1 (de) Monokulare 3d-objekterkennung aus bildsemantiknetzwerk
DE102022102189A1 (de) Multimodales Segmentierungsnetz für ein verbessertes semantisches Labelingbei einer Kartenerzeugung
DE102021114032A1 (de) Identifizieren von hintergrundmerkmalen mittels lidar
DE102021131820A1 (de) Zusammenführen von lidar-informationen und kamerainformationen
DE102020134835A1 (de) Langzeit-objektverfolgung zur unterstützung autonomer fahrzeugnavigation
DE102020134834A1 (de) Objektverfolgung zur unterstützung autonomer fahrzeugnavigation
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung
DE102021101206A1 (de) Auflösung von entfernungsratenmehrdeutigkeit in sensorrückmeldungen
DE102021131844A1 (de) Systeme und verfahren zum implementieren von verdeckungspräsentationen über strassenmerkmale
DE102021133739A1 (de) Steuern eines autonomen fahrzeugs unter verwendung einer näheregel
DE112020003484T5 (de) Blockchain-ledger-validierung und dienst