DE112020000487T5 - Automatisches wählen von datenproben zur annotation - Google Patents

Automatisches wählen von datenproben zur annotation Download PDF

Info

Publication number
DE112020000487T5
DE112020000487T5 DE112020000487.2T DE112020000487T DE112020000487T5 DE 112020000487 T5 DE112020000487 T5 DE 112020000487T5 DE 112020000487 T DE112020000487 T DE 112020000487T DE 112020000487 T5 DE112020000487 T5 DE 112020000487T5
Authority
DE
Germany
Prior art keywords
bounding box
data samples
data
label
bounding
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
DE112020000487.2T
Other languages
English (en)
Inventor
Holger Caesar
Oscar Olof Beijbom
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motional AD LLC
Original Assignee
Motional AD LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motional AD LLC filed Critical Motional AD LLC
Publication of DE112020000487T5 publication Critical patent/DE112020000487T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/809Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Image Analysis (AREA)

Abstract

Unter anderem sind Techniken zur automatischen Auswahl von Datenproben zur Annotation beschrieben. Die Techniken verwenden Bounding-Box-Vorhersage basierend auf einer Bounding-Box-Bewertungsverteilung, räumlicher Wahrscheinlichkeitsdichte, die aus Bounding-Box-Größen und -Positionen bestimmt wird, und einer Ensemble-Bewertungsvarianz, die aus den Ausgaben mehrerer maschineller Lernmodelle bestimmt wird, um Datenproben zur Annotationen auszuwählen. In einer Ausführungsform werden zeitliche Inkonsistenz-Hinweise verwendet, um Datenproben zur Annotation auszuwählen. In einer Ausführungsform werden digitale Kartenbeschränkungen oder andere kartenbasierte Daten verwendet, um Datenproben von der Annotation auszuschließen. In einer beispielhaften Anwendung werden die annotierten Datenproben verwendet, um ein maschinelles Lernmodell zu trainieren, das Wahrnehmungsdaten für eine autonome Fahrzeuganwendung ausgibt.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Die vorliegende Anmeldung beansprucht den Vorteil der am 23. Januar 2019 eingereichten vorläufigen US-Anmeldung 62/796,064 .
  • GEBIET DER ERFINDUNG
  • Die vorliegende Beschreibung bezieht sich auf maschinelles Lernen und insbesondere auf die Verwendung aktiver Lerntechniken zur automatischen Auswahl von Datenproben zur Annotation.
  • HINTERGRUND
  • Faltende neuronale Netzwerke (CNN: Convolutional Neural Networks) wurden erfolgreich für Wahrnehmungsaufgaben in autonomen Fahranwendungen eingesetzt. Die CNN-Struktur enthält Schichten, die mittels Trainingsdaten lernen. Das Erlernen des Klassifizierens von Bild- und Videoproben erfordert, dass ein menschlicher Annotierer jede Datenprobe mit einem Label versieht. Das Annotieren von Tausenden von Datenproben ist mühsam und redundant.
  • KURZFASSUNG
  • Ein aktives Lernsystem und -verfahren wird offenbart, um automatisch Datenproben (z. B. Bilder, Punktwolken) aus einem Datenprobenpool auszuwählen, die ein Mensch annotieren soll. Das System und das Verfahren verwenden eine Bounding-Box-Vorhersage basierend auf einer Bounding-Box-Bewertungswahrscheinlichkeitsverteilung, einer räumlichen Wahrscheinlichkeitsdichte, die aus Bounding-Box-Größen und -Positionen in den Datenproben bestimmt wird, und Ensemble-Bewertungsvarianzen, die aus den Ausgaben mehrerer maschineller Lernmodelle bestimmt werden, um Datenproben zur Annotationen auszuwählen. In einer Ausführungsform werden zeitliche Inkonsistenz-Hinweise verwendet, um Datenproben (z. B. aufeinanderfolgende Videobilder) zur Annotation auszuwählen, die zeitliches Rauschen (z. B. Flimmern) aufweisen. In einer Ausführungsform werden digitale Karten verwendet, um Datenproben von der Annotation auszuschließen, die gegen Kartenbeschränkungen (harte und/oder statistische Beschränkungen) verstoßen. In einer beispielhaften Anwendung werden die annotierten Datenproben verwendet, um ein maschinelles Lernmodell (z. B. ein CNN) zu trainieren, das Wahrnehmungsdaten (z. B. gelabelte Objekte und Szenen) für eine autonome Fahrzeuganwendung ausgibt. In einer Ausführungsform ist das aktive Lernsystem in einem Planungsmodul eines autonomen Fahrzeugs implementiert.
  • Zu den Vorteilen des offenbarten aktiven Lernsystems gehört die automatische Auswahl einer Teilmenge von Daten aus einem großen Probenpool zur menschlichen Annotation, wodurch Zeit und Kosten bei der manuellen Erstellung von Trainingsdatensätzen für maschinelle Lernmodelle für autonome Fahrzeuganwendungen reduziert werden.
  • In einer Ausführungsform umfasst ein Verfahren: Erhalten, unter Verwendung eines Computersystems, eines Satzes von Datenproben, wobei jede Datenprobe eine oder mehrere Bounding Boxes enthält, wobei jede Bounding Box ein potenzielles Objekt oder eine potenzielle Szene in einer Umgebung enthält, wobei jede Bounding Box ein Label und eine Bounding-Box-Bewertung aufweist, die eine Konfidenz dafür angibt, dass das Label korrekt ist; und Auswählen, unter Verwendung des Computersystems, einer Teilmenge von Datenproben zur Annotation basierend auf einer Bounding-Box-Vorhersagekonfidenz, die unter Verwendung einer Wahrscheinlichkeitsverteilung von Bounding-Box-Bewertungen bestimmt wird, und einer Ensemble-Bewertungsvarianz basierend auf Differenzen in Ensemble-Bewertungen, die aus Sätzen von Vorhersagen berechnet werden, die von mehreren maschinellen Lernmodellen ausgegeben werden.
  • In einer Ausführungsform umfasst das Verfahren ferner: Auswählen, unter Verwendung des Computersystems, der Teilmenge von Datenproben zur Annotation basierend auf der Bounding-Box-Vorhersagekonfidenz, einer räumlichen Wahrscheinlichkeitsdichte der Bounding Boxes, parametrisiert durch Bounding-Box-Größe und -Position, und der Ensemble-Bewertungsvarianz.
  • In einer Ausführungsform umfasst die Bounding-Box-Vorhersage ferner: für jedes Label, Erzeugen einer Wahrscheinlichkeitsverteilung von Bounding-Box-Bewertungen; und Bestimmen, basierend auf der Verteilung, einer Likelihood, dass eine spezielle Bounding Box inkorrekt gelabelt ist; und Auswählen oder Ausschließen der speziellen Bounding Box für die bzw. von der Annotation basierend auf der Likelihood.
  • In einer Ausführungsform wird die Verteilung durch ein Histogramm mit Bins approximiert, die Bereiche von Bounding-Box-Bewertungen repräsentieren, und jedes Bin ist mit einer Likelihood assoziiert.
  • In einer Ausführungsform wird für jedes Bin die Likelihood aus einem Verhältnis einer Anzahl von inkorrekt gelabelten Bounding Boxes, die dem Bin zugeordnet sind, und einer Anzahl von gelabelten Bounding Boxes, die dem Bin zugeordnet sind, berechnet.
  • In einer Ausführungsform umfasst das Verfahren ferner: für jedes Label, jeden Sensor und jede Skalierung, Bestimmen der räumlichen Wahrscheinlichkeitsdichte unter Verwendung eines Gaußschen Mischmodells (GMM) über einen Satz von Bounding Boxes für das Label, den Sensor und die Skalierung, wobei das GMM durch Bounding-Box-Größe und -Position parametrisiert wird.
  • In einer Ausführungsform wird die räumliche Wahrscheinlichkeitsdichte für das Label bestimmt, indem die räumlichen Dichten für das Label durch einen größten Dichtewert unter allen räumlichen Dichtewerten für das Label geteilt werden.
  • In einer Ausführungsform umfasst das Verfahren ferner: Verarbeiten der Datenproben durch mehrere verschiedene maschinelle Lernmodelle, um vorhergesagte gelabelte Bounding Boxes zu erzeugen; Berechnen einer Ensemble-Bewertung für jeden paarweisen Vergleich der vorhergesagten gelabelten Bounding Boxes, wobei jede vorhergesagte gelabelte Bounding Box eine Ground Truth für den Vergleich mit den anderen vorhergesagten gelabelten Bounding Boxes ist; und Berechnen einer Ensemble-Bewertungsvarianz basierend auf den Ensemble-Bewertungen.
  • In einer Ausführungsform beinhalten die mehreren verschiedenen maschinellen Lernmodelle mehrere verschiedene neuronale Netzwerke, die durch Trainingsdatenproben abgestimmt werden, die von verschiedenen Arten von Sensoren bereitgestellt werden.
  • In einer Ausführungsform beinhalten die verschiedenen Arten von Sensoren LiDAR, RADAR und eine Kamera.
  • In einer Ausführungsform werden die mehreren unterschiedlichen neuronalen Netzwerke in unterschiedlichen zufälligen Reihenfolgen der Trainingsdatenproben trainiert.
  • In einer Ausführungsform umfasst das Verfahren ferner: Detektieren, durch das Computersystem, einer zeitlichen Inkonsistenz zwischen aufeinanderfolgenden Datenproben; und gemäß der Detektion einer zeitlichen Inkonsistenz, Auswählen der aufeinanderfolgenden Datenproben zur Annotation.
  • In einer Ausführungsform umfasst das Verfahren ferner: Verwenden, durch das Computersystem, von Karteneinschränkungen, um einen Fehler zu detektieren, der mit einer Bounding Box assoziiert ist; und gemäß der Detektion eines Fehlers, Ausschließen der Bounding Box von der Annotation.
  • Diese und andere Aspekte, Merkmale und Implementierungen können als Verfahren, Einrichtungen, Systeme, Komponenten, Programmprodukte, Mittel oder Schritte zum Durchführen einer Funktion oder auf andere Weisen ausgedrückt werden.
  • Diese und andere Aspekte, Merkmale und Implementierungen werden aus den folgenden Beschreibungen, einschließlich den Ansprüchen, ersichtlich werden.
  • Figurenliste
    • 1 zeigt ein Beispiel für ein autonomes Fahrzeug mit autonomer Fähigkeit.
    • 2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung.
    • 3 veranschaulicht 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.
    • 6 zeigt ein Beispiel für ein LiDAR-System.
    • 7 zeigt das LiDAR-System im Betrieb.
    • 8 zeigt den Betrieb des LiDAR-Systems mit zusätzlichen Einzelheiten.
    • 9 zeigt ein Blockdiagramm der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls.
    • 10 zeigt einen gerichteten Graphen, der bei der Pfadplanung verwendet wird.
    • 11 zeigt ein Blockdiagramm der Eingaben und Ausgaben eines Steuermoduls.
    • 12 zeigt ein Blockdiagramm der Eingaben, Ausgaben und Komponenten einer Steuerung.
    • 13 zeigt eine Szene, die von einem Wahrnehmungsmodul ausgegeben wird und Bounding Boxes und entsprechende Labels und Bounding-Box-Bewertungen enthält.
    • 14 zeigt ein Blockdiagramm eines aktiven Lernsystems zum automatischen Auswählen von Datenproben zur Annotation.
    • 15 zeigt ein gestapeltes Histogramm von Bounding-Box-Bewertungen.
    • 16 zeigt einen Plot der räumlichen GMM-Dichte für ein spezielles Label und einen speziellen Sensor.
    • 17 zeigt ein Blockdiagramm eines Ensemble-Systems.
    • 18 zeigt ein Flussdiagramm eines aktiven Lernprozesses zum automatischen Auswählen von Proben zur Annotation.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung sind für Erläuterungszwecke zahlreiche spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der vorliegenden Erfindung bereitzustellen. Es wird jedoch ersichtlich werden, dass die vorliegende Erfindung ohne diese spezifischen Einzelheiten umgesetzt werden kann. In anderen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt, um eine unnötige Verundeutlichung der vorliegenden Erfindung zu vermeiden.
  • In den Zeichnungen sind zur Vereinfachung der Beschreibung spezifische Anordnungen oder Reihenfolgen schematischer Elemente, wie etwa jener, die Vorrichtungen, Module, Anweisungsblöcke und Datenelemente repräsentieren, gezeigt. Fachleute sollten jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht andeuten soll, dass eine spezielle Verarbeitungsreihenfolge oder -sequenz oder eine Trennung von Prozessen notwendig ist. Ferner soll der Einschluss eines schematischen Elements in einer Zeichnung nicht andeuten, dass ein solches Element in allen Ausführungsformen notwendig ist oder die durch ein solches Element repräsentierten Merkmale in manchen Ausführungsformen möglicherweise nicht in anderen Elementen enthalten sind oder möglicherweise nicht mit diesen kombiniert werden.
  • In den Zeichnungen, in denen verbindende Elemente, wie etwa durchgezogene oder gestrichelte Linien oder Pfeile, zum Veranschaulichen einer Verbindung, einer Beziehung oder einer Assoziation zwischen oder unter zwei oder mehr anderen schematischen Elementen verwendet werden, soll das Nichtvorhandensein irgendwelcher solcher verbindender Elemente ferner nicht andeuten, dass keine Verbindung, Beziehung oder Assoziation vorhanden sein kann. Mit anderen Worten sind manche Verbindungen, Beziehungen oder Assoziationen zwischen Elementen nicht in den Zeichnungen gezeigt, sodass die Offenbarung nicht verundeutlicht wird. Zusätzlich wird zur Vereinfachung der Veranschaulichung ein einzelnes verbindendes Element verwendet, um mehrere Verbindungen, Beziehungen oder Assoziationen zwischen Elementen zu repräsentieren. Wenn ein verbindendes Element beispielsweise eine Kommunikation von Signalen, Daten oder Anweisungen repräsentiert, sollten Fachleute verstehen, dass ein solches Element einen oder mehrere Signalpfade (z. B. einen Bus), wie möglicherweise benötigt, repräsentiert, um die Kommunikation zu bewirken.
  • Nun wird ein ausführlicher Bezug auf Ausführungsformen genommen, deren Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der folgenden ausführlichen Beschreibung sind zahlreiche spezifische Einzelheiten dargelegt, um ein vollständiges Verständnis der verschiedenen beschriebenen Ausführungsformen bereitzustellen. Einem Durchschnittsfachmann wird jedoch ersichtlich werden, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten umgesetzt werden können. In anderen Fällen wurden wohlbekannte Verfahren, Prozeduren, Komponenten, Schaltungen und Netzwerke nicht ausführlich beschrieben, sodass Aspekte der Ausführungsformen nicht unnötig verundeutlicht werden.
  • Nachfolgend sind mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder mit einer beliebigen Kombination anderer Merkmale verwendet werden können. Ein beliebiges individuelles Merkmal spricht jedoch möglicherweise keines der oben besprochenen Probleme an oder könnte nur eines der oben besprochenen Probleme ansprechen. Manche der oben besprochenen Probleme könnten möglicherweise nicht vollständig durch irgendwelche der hierin beschriebenen Merkmale angesprochen werden. Obwohl Überschriften bereitgestellt sind, können Informationen bezüglich einer speziellen Überschrift, die aber nicht in dem Abschnitt mit dieser Überschrift aufgefunden werden, auch andernorts in dieser Beschreibung aufgefunden werden. Ausführungsformen sind hierin gemäß der folgenden Gliederung beschrieben:
    1. 1. Allgemeiner Überblick
    2. 2. Systemüberblick
    3. 3. Architektur eines autonomen Fahrzeugs
    4. 4. Eingaben in das autonome Fahrzeug
    5. 5. Planung des autonomen Fahrzeugs
    6. 6. Steuerung des autonomen Fahrzeugs
    7. 7. Aktives Lernsystem
  • Allgemeiner Überblick
  • Unter anderem sind hierin Techniken zur automatischen Auswahl von Datenproben (z. B. Bilder, Punktwolken) beschrieben, die ein Mensch annotieren soll. Die Techniken verwenden Bounding-Box-Vorhersagen, räumliche Wahrscheinlichkeitsdichten, die aus Bounding-Box-Größen und -Positionen bestimmt werden, und eine Ensemble-Bewertungsvarianz, die aus den Ausgaben mehrerer maschineller Lernmodelle bestimmt wird, um Datenproben zur Annotationen auszuwählen. In einer Ausführungsform werden zeitliche Inkonsistenz-Hinweise verwendet, um Datenproben zur Annotation auszuwählen. In einer Ausführungsform werden digitale Kartenbeschränkungen oder andere kartenbasierte Daten verwendet, um Datenproben von der Annotation auszuschließen. In einer beispielhaften Anwendung werden die annotierten Datenproben verwendet, um ein maschinelles Lernmodell (z. B. ein CNN) zu trainieren, das Wahrnehmungsdaten (z. B. gelabelte Objekte und Szenen) für eine autonome Fahrzeuganwendung ausgibt. In einer Ausführungsform kann das aktive Lernsystem durch ein Planungsmodul eines autonomen Fahrzeugs implementiert werden.
  • Systemüberblick
  • 1 zeigt ein Beispiel für ein autonomes Fahrzeug 100 mit autonomer Fähigkeit.
  • Wie hierin verwendet, bezieht sich der Begriff „autonome Fähigkeit“ auf eine Funktion, ein Merkmal oder eine Einrichtung, die/das ermöglicht, dass ein Fahrzeug teilweise oder vollständig ohne einen menschlichen Eingriff in Echtzeit betrieben wird, einschließlich unter anderem vollautonome Fahrzeuge, hochautonome Fahrzeuge und bedingt autonome Fahrzeuge.
  • Wie hierin verwendet, ist ein autonomes Fahrzeug (AV) 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, Luftfahrzeuge usw. Ein fahrerloses Auto ist ein Beispiel eines Fahrzeugs.
  • 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, endgültiger Ort, Ziel, Zielposition oder Zielort bezeichnet. In manchen Beispielen besteht die Trajektorie aus einem oder mehreren Segmenten (z. B. Straßenabschnitten), und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Teilen einer Fahrbahn oder Kreuzung). In einer Ausführungsform entsprechen die raumzeitlichen Orte Orten der realen Welt. Beispielsweise sind die raumzeitlichen Orte Abhol- oder Abladeorte zum Abholen oder Abladen 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. Manche der Hardwarekomponenten können Erfassungskomponenten (z. B. Bildsensoren, biometrische Sensoren), Übertragungs- und/oder Empfangskomponenten (z. B. Laser- oder Hochfrequenzwellen-Sender und -Empfänger), elektronische Komponenten wie etwa Analog-Digital-Wandler, eine Datenspeicherungsvorrichtung (wie etwa einen 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-Fahrzeug detektiert oder durch eine Quelle extern zu dem AV bereitgestellt werden.
  • Wie hierin verwendet, ist eine „Straße“ ein physischer Bereich, der von einem Fahrzeug durchfahren werden kann, und kann einer benannten Verkehrsstraße entsprechen (z. B. Stadtstraße, Autobahn usw.) oder kann einer unbenannten Verkehrsstraße entsprechen (z. B. einer Einfahrt in einem Haus oder Bürogebäude, einem Abschnitt eines Parkplatzes, einem Abschnitt eines leeren Grundstücks, einem Feldweg in einem ländlichen Gebiet usw.). Da manche Fahrzeuge (z. B. Allrad-Pickup-Trucks, Geländewagen usw.) in der Lage sind, eine Vielfalt physischer Bereiche zu durchfahren, die nicht spezifisch für den Fahrzeugverkehr konzipiert sind, kann eine „Straße“ ein physischer Bereich sein, der nicht formell durch irgendeine Gemeinde oder andere Regierungsstelle oder Behörde als eine Verkehrsstraße definiert ist.
  • Wie hierin verwendet, ist eine „Fahrbahn“ ein Teil einer Straße, auf dem ein Fahrzeug fahren kann. Eine Fahrbahn wird manchmal basierend auf Fahrbahnmarkierungen identifiziert. Beispielsweise kann eine Fahrbahn dem Großteil oder dem gesamten Raum zwischen Fahrbahnmarkierungen entsprechen, oder kann nur einem Teil (z. B. weniger als 50 %) des Raums zwischen Fahrbahnmarkierungen entsprechen. Beispielsweise könnte eine Straße mit Fahrbahnmarkierungen zwei oder mehr Fahrzeuge zwischen den Markierungen unterbringen, sodass ein Fahrzeug an dem anderen vorbeifahren kann, ohne die Fahrbahnmarkierungen zu überfahren, und könnte somit als eine Fahrbahn aufweisend, die schmaler als der Raum zwischen den Fahrbahnmarkierungen ist, oder als zwei Fahrbahnen zwischen den Fahrbahnmarkierungen aufweisend interpretiert werden. Eine Fahrbahn könnte auch bei Nichtvorhandensein von Fahrbahnmarkierungen interpretiert werden. Beispielsweise kann eine Fahrbahn basierend auf physischen Merkmalen einer Umgebung definiert werden, z. B. Gestein und Bäume entlang einer Verkehrsstraße in einem ländlichen Gebiet oder z. B. natürliche Hindernisse, die in einem unbebauten Gebiet vermieden werden sollen. Eine Fahrbahn könnte auch unabhängig von Fahrbahnmarkierungen oder physischen Merkmalen interpretiert werden. Beispielsweise könnte eine Fahrbahn basierend auf eine beliebigen hindernisfreien Pfad in einem Gebiet interpretiert werden, dem anderweitig Merkmale fehlen, die als Fahrbahnabgrenzungen interpretiert werden würden. In einem beispielhaften Szenario könnte ein AV eine Fahrbahn durch einen hindernisfreien Teil eines Feldes oder unbebauten Grundstücks interpretieren. In einem anderen beispielhaften Szenario könnte ein AV eine Fahrbahn durch eine breite (z. B. breit genug für zwei oder mehr Fahrbahnen) Straße interpretieren, die keine Fahrbahnmarkierungen aufweist. In diesem Szenario könnte das AV Informationen über die Fahrbahn zu anderen AVs kommunizieren, sodass die anderen AVs die gleichen Fahrbahninformationen verwenden können, um die Pfadplanung untereinander zu koordinieren.
  • Der Begriff „Over-the Air(OTA)-Client“ beinhaltet ein beliebiges AV oder eine beliebige elektronische Vorrichtung (z. B. Computer, Steuerung, IdD-Vorrichtung, elektronische Steuereinheit (ECU)), die in ein AV eingebettet ist, mit diesem gekoppelt ist oder mit diesem in Kommunikation steht.
  • Der Begriff „Over-the-Air(OTA)-Aktualisierung“ bedeutet eine beliebige Aktualisierung, Änderung, Löschung oder Hinzufügung bei Software, Firmware, Daten oder Konfigurationseinstellungen, oder eine beliebige Kombination davon, die einem OTA-Client unter Verwendung proprietärer und/oder standardisierter Drahtloskommunikationstechnologie geliefert wird, einschließlich unter anderem: zellularer Mobilkommunikationen (z. B. 2G, 3G, 4G, 5G), Funk-Drahtlosnetzwerken (z. B. WiFi) und/oder Satelliten-Internet.
  • Der Begriff „Edge-Knoten“ bedeutet eine oder mehrere Edge-Vorrichtungen, die mit einem Netzwerk gekoppelt sind und ein Portal zur Kommunikation mit AVs bereitstellen und mit anderen Edge-Knoten und einer Cloud-basierten Rechenplattform kommunizieren können, um OTA-Aktualisierungen zu planen und zu OTA-Clients zu liefern.
  • Der Begriff „Edge-Vorrichtung“ bedeutet eine Vorrichtung, die einen Edge-Knoten implementiert und einen physischen drahtlosen Zugangspunkt (AP) in Unternehmens- oder Dienstanbieter(z. B. Verizon□, AT&T□ )-Kernnetzen bereitstellt. Beispiele für Edge-Vorrichtungen beinhalten unter anderem: Computer, Steuerungen, Sender, Router, Routing-Switches, integrierte Zugangsvorrichtungen (IADs: Integrated Access Devices), Multiplexer, Zugangsvorrichtungen für städtische Netzwerke (MAN) und großflächige Netzwerke (WAN).
  • „Ein oder mehr“ beinhaltet eine Funktion, die durch ein Element durchgeführt wird, eine Funktion, die durch mehr als ein Element durchgeführt wird, z. B. auf eine verteilte Weise, mehrere Funktionen, die durch ein Element durchgeführt werden, mehrere Funktionen, die durch mehrere Elemente durchgeführt werden, oder eine beliebige Kombination des Obenstehenden.
  • Es versteht sich außerdem, dass, obwohl die Begriffe erster, zweiter usw. in manchen Fällen hierin zum Beschreiben verschiedener Elemente verwendet werden, diese Elemente nicht durch diese Begriffe beschränkt werden sollten. Diese Begriffe 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 verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, aber sie sind nicht derselbe Kontakt.
  • Die in der Beschreibung der verschiedenen hierin beschriebenen Ausführungsformen verwendete Terminologie soll nur spezielle Ausführungsformen beschreiben und 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, insofern der Zusammenhang deutlich nicht etwas anderes angibt. Es versteht sich auch, dass sich der Begriff „und/oder“, wie hierin verwendet, auf beliebige und alle möglichen Kombinationen eines oder mehrerer der assoziierten aufgelisteten Elemente bezieht und diese einschließt. Es versteht sich ferner, dass die Begriffe „beinhaltet“, „einschließlich“, „umfasst“ und/oder „umfassend“, wenn in dieser Beschreibung verwendet, das Vorhandensein genannter Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, aber nicht das Vorhandensein oder den Zusatz einer/eines oder mehrerer anderer Elemente, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließt.
  • Wie hierin verwendet, soll der Begriff „falls“ optional so ausgelegt werden, dass er in Abhängigkeit vom Zusammenhang „wenn“ oder „bei“ oder „als Reaktion auf das Bestimmen“ oder „als Reaktion auf das Detektieren“ bedeutet. Gleichermaßen soll der Ausdruck „falls bestimmt wird“ oder „falls[eine genannte Bedingung oder ein genanntes Ereignis] detektiert wird“ optional so ausgelegt werden, dass er in Abhängigkeit vom Zusammenhang „bei der Bestimmung“ oder „als Reaktion auf das Bestimmen“ oder „bei der Detektion [der genannten Bedingung oder des genannten Ereignisses]“ oder „als Reaktion auf das Detektieren [der genannten Bedingung oder des genannten Ereignisses]“ bedeutet.
  • 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 in dem AV integriert. In einer Ausführungsform ist das AV-System über mehrere Orte verteilt. Beispielsweise ist ein Teil der Software des AV-Systems in einer Cloud-Rechenumgebung implementiert, ähnlich der unten mit Bezug auf 3 beschriebenen Cloud-Rechenumgebung 300.
  • Im Allgemeinen beschreibt dieses Dokument Technologien, die bei beliebigen Fahrzeugen anwendbar sind, die eine oder mehrere autonome Fähigkeiten aufweisen, einschließlich vollautonomen Fahrzeugen, hochautonomen Fahrzeugen und bedingt autonomen Fahrzeugen, wie etwa sogenannten Stufe-5-, Stufe-4- bzw. Stufe-3-Fahrzeugen (siehe Standard von SAE International J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems, der durch Bezugnahme in seiner Gesamtheit aufgenommen wird, für weitere Einzelheiten über die Klassifikation von Autonomiestufen in Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind auch bei teilautonomen Fahrzeugen und fahrergestützten Fahrzeugen anwendbar, wie etwa sogenannten Stufe-2- und Stufe-1-Fahrzeugen (siehe Standard von 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 Fahrzeugsysteme der Stufe 1, 2, 3, 4 und 5 gewisse Fahrzeugoperationen (z.B. Lenkung, Bremsung und Kartenverwendung) unter gewissen Betriebsbedingungen basierend auf der Verarbeitung von Sensoreingaben automatisieren. Die in diesem Dokument beschriebenen Technologien können für Fahrzeuge in beliebigen Stufen vorteilhaft sein, angefangen von vollautonomen Fahrzeugen bis zu menschlich betriebenen Fahrzeugen.
  • Autonome Fahrzeuge sind gegenüber einen menschlichen Fahrer erfordernde Fahrzeuge vorteilhaft. Bei einem Vorteil handelt es sich um Sicherheit. Beispielsweise traten 2016 in den Vereinigten Staaten 6 Millionen Kraftfahrzeugunfälle, 2,4 Millionen Verletzungen, 40.000 Todesopfer und 13 Millionen Fahrzeuge in Autounfällen auf, mit geschätzten gesellschaftlichen Kosten von $910+ Milliarden. Verkehrstote in den USA pro 100 Millionen gefahrenen Meilen wurden von 1965 bis 2015 von etwa sechs auf etwa eins reduziert, teilweise aufgrund zusätzlicher in den Fahrzeugen eingesetzter Sicherheitsmaßnahmen. Beispielsweise wird angenommen, dass eine zusätzliche halbe Sekunde an Warnungszeit für einen in Kürze stattfindenden Unfall 60 % von Auffahrunfällen mindert. Passive Sicherheitsmaßnahmen (z. B. Sicherheitsgurte, Airbags) haben jedoch wahrscheinlich ihre Grenze für die Verbesserung dieser Anzahl erreicht. Somit sind aktive Sicherheitsmaßnahmen, wie etwa automatisierte Steuerung eines Fahrzeugs, wahrscheinlich der nächste Schritt bei der Verbesserung dieser Statistiken. Da menschliche Fahrer wahrscheinlich in 95 % der Unfälle für ein kritisches Vorunfallereignis verantwortlich sind, werden automatisierte Fahrsysteme wahrscheinlich bessere Sicherheitsauswirkungen erreichen, z. B. durch zuverlässiges Erkennen und Vermeiden kritischer Situationen besser als Menschen; bessere Entscheidungsfindung, Einhalten von Verkehrsregeln und Vorhersagen zukünftiger Ereignisse besser als Menschen; und zuverlässige Steuerung eines Fahrzeugs besser als ein Mensch.
  • Mit Bezug auf 1 betreibt ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 zu einem Bestimmungsort 199 (manchmal als ein endgültiger Ort bezeichnet), während Objekte (z. B. natürliche Behinderungen 191, Fahrzeuge 193, Fußgänger 192, Fahrräder und andere Hindernisse) vermieden und Straßenregeln (z. B. Betriebsregeln oder Fahrpräferenzen) eingehalten werden.
  • In einer Ausführungsform beinhaltet das AV-System 120 Vorrichtungen 101, die so instrumentiert sind, dass sie Betriebsbefehle von den Computerprozessoren 146 empfangen und auf diese reagieren. In einer Ausführungsform ähneln die Rechenprozessoren 146 dem unten mit Bezug auf 3 beschriebenen Prozessor 304. Beispiele für die Vorrichtungen 101 beinhalten eine Lenkungssteuerung 102, Bremsen 103, Gänge, Gaspedal oder andere Beschleunigungssteuermechanismen, Scheibenwischer, Seitentürverriegelungen, Fenstersteuerungen und Blinker.
  • In einer Ausführungsform beinhaltet das AV-System 120 Sensoren 121 zum Messen oder Inferieren von Eigenschaften des Status oder Zustands des AV 100, wie etwa die Position des AV, Linear- und Winkelgeschwindigkeit und -beschleunigung und Kurs (z. B. eine Orientierung des führenden Endes des AV 100). Beispiele für die Sensoren 121 sind GPS, inertiale Messeinheiten (IMU), die sowohl Fahrzeuglinearbeschleunigungen als auch Winkelraten messen, Radgeschwindigkeitssensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren 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 Licht, Infrarotspektrum oder thermischen Spektrum (oder beiden), LiDAR 123, RADAR, Ultraschallsensoren, Laufzeit(ToF)-Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Luftfeuchtigkeitssensoren 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 ähnelt die Datenspeicherungseinheit 142 dem ROM 308 oder der Speicherungsvorrichtung 310, die nachstehend in Bezug auf 3 beschrieben sind. In einer Ausführungsform ähnelt der Speicher 144 dem unten 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 bezüglich der Umgebung 190 von einer entfernten Datenbank 134 über einen Kommunikationskanal zu dem AV 100 übertragen.
  • In einer Ausführungsform beinhaltet das AV-System 120 Kommunikationsvorrichtungen 140 zum Kommunizieren von gemessenen oder inferierten Eigenschaften der Status oder Zustände anderer Fahrzeuge, wie etwa Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen und Linear- und Winkelkurse, zu dem 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 beide. In einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funkkommunikationen und optischer Kommunikationen) oder andere Medien (z. B. Luft und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug- (V2V) und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und in manchen Ausführungsformen einer oder mehrerer anderer Kommunikationsarten) wird manchmal als eine Fahrzeug-zu-Allem(V2X)-Kommunikation bezeichnet. Eine V2X-Kommunikation entspricht typischerweise einem oder mehreren Kommunikationsstandards zur Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
  • In einer Ausführungsform beinhalten die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Beispielsweise drahtgebundene, drahtlose, WiMAX-, WiFi-, Bluetooth-, Satelliten-, zellulare, optische, Nahfeld-, Infrarot- oder Funk-Schnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernten Datenbank 134 zu dem AV-System 120. In einer Ausführungsform ist die entfernte Datenbank 134 in einer Cloud-Rechenumgebung 200 eingebettet, wie in 2 beschrieben. Die Kommunikationsschnittstellen 140 übertragen von den Sensoren 121 gesammelte Daten oder andere Daten bezüglich des Betriebs des AV 100 zu der entfernten Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die sich auf Teleoperationen beziehen, zu dem AV 100. In manchen Ausführungsformen kommuniziert das AV 100 mit anderen Fern(z. B. „Cloud“)-Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernte Datenbank 134 auch digitale Daten (z. B. Speichern von Daten wie etwa Landstraßen- und Stadtstraßenorten). Solche Daten werden auf dem Speicher 144 im AV 100 gespeichert oder von der entfernten Datenbank 134 über einen Kommunikationskanal zu dem AV 100 übertragen.
  • In einer Ausführungsform speichert und überträgt die entfernte Datenbank 134 historische Informationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Trajektorie 198 fuhren. In einer Implementierung können solche Daten auf dem Speicher 144 im AV 100 gespeichert oder von der entfernten Datenbank 134 über einen Kommunikationskanal zu dem AV 100 übertragen werden.
  • Die sich am AV 100 befindlichen Rechenvorrichtungen 146 erzeugen algorithmisch Steuerhandlungen basierend auf sowohl Echtzeit-Sensordaten als auch vorherigen Informationen, was dem AV-System 120 ermöglicht, seine autonomen Fahrfähigkeiten auszuführen.
  • In einer Ausführungsform beinhaltet das AV-System 120 mit den Rechenvorrichtungen 146 gekoppelte Computerperipheriegeräte 132 zum Bereitstellen von Informationen und Warnungen an einen Benutzer (z. B. einen Insassen oder einen Fernbenutzer) des AV 100 und Empfangen einer Eingabe von diesem. In einer Ausführungsform ähneln die Peripheriegeräte 132 der Anzeige 312, der Eingabevorrichtung 314 und der Cursor-Steuerung 316, die unten mit Bezug auf 3 besprochen sind. Die Kopplung ist drahtlos oder drahtgebunden. Zwei oder mehr beliebige der Schnittstellenvorrichtungen können in eine einzelne Vorrichtung integriert sein.
  • 2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung. Cloud-Computing ist ein Dienstlieferungsmodell zum Ermöglichen eines zweckmäßigen On-Demand-Netzwerkzugangs für einen gemeinsam genutzten Pool konfigurierbarer Rechenressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Speicherung, Anwendungen, virtuelle Maschinen und Dienste). In typischen Cloud-Rechensystemen sind die zum Liefern der durch die Cloud bereitgestellten Dienste verwendeten Maschinen in einem oder mehreren großen Cloud-Datenzentren untergebracht. Jetzt mit Bezug auf 2 beinhaltet die Cloud-Rechenumgebung 200 Cloud-Datenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Die Datenzentren 204a, 204b und 204c stellen Computersystemen 206a, 206b, 206c, 206d, 206e und 206f, die mit der Cloud 202 verbunden sind, Cloud-Rechendienste bereit.
  • Die Cloud-Rechenumgebung 200 beinhaltet ein oder mehrere Cloud-Datenzentren. Im Allgemeinen bezieht sich ein Cloud-Datenzentrum, zum Beispiel das in 2 gezeigte Cloud-Datenzentrum 204a, auf die physische Anordnung von Servern, die eine Cloud bilden, zum Beispiel die in 2 gezeigte Cloud 202, oder einen speziellen Teil einer Cloud. Beispielsweise sind Server in dem Cloud-Datenzentrum physisch in Räume, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Datenzentrum weist eine oder mehrere Zonen auf, die einen oder mehrere Serverräume beinhalten. Jeder Raum weist eine oder mehrere Serverreihen auf, und jede Reihe beinhaltet ein oder mehrere Racks. Jedes Rack beinhaltet einen oder mehrere individuelle Serverknoten. In manchen Implementierungen sind Server in Zonen, Räume, Racks und/oder Reihen basierend auf physischen Infrastrukturanforderungen der Datenzentrumeinrichtung, einschließlich Leistungs-, Energie-, thermalen, Wärme- und/oder anderer Anforderungen, in Gruppen angeordnet. In einer Ausführungsform ähneln die Serverknoten dem in 3 beschriebenen Computersystem. Das Datenzentrum 204a weist viele Rechensysteme auf, die über viele Racks verteilt sind.
  • Die Cloud 202 beinhaltet Cloud-Datenzentren 204a, 204b und 204c zusammen mit dem Netzwerk und Networking-Ressourcen (zum Beispiel Networking-Geräten, Knoten, Routern, Switches und Vernetzungskabeln), die die Cloud-Datenzentren 204a, 204b und 204c miteinander verbinden und dabei helfen, den Zugang der Rechensysteme 206a-f auf Cloud-Rechensysteme zu ermöglichen. In einer Ausführungsform repräsentiert das Netzwerk eine beliebige Kombination eines oder mehrerer Lokalnetzwerke, großflächiger Netzwerke oder Inter-Netzwerke, die unter Verwendung drahtgebundener oder drahtloser Links gekoppelt sind, die unter Verwendung terrestrischer Verbindungen oder Satellitenverbindungen eingesetzt werden. Über das Netzwerk ausgetauschte Daten werden unter Verwendung einer beliebigen Anzahl von Netzwerkschichtprotokollen transferiert, wie etwa Internetprotokoll (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay usw. Ferner werden in Ausführungsformen, in denen das Netzwerk eine Kombination mehrerer Teilnetzwerke repräsentiert, unterschiedliche Netzwerkschichtprotokolle an jedem der zugrundeliegenden Teilnetzwerke verwendet. In manchen Ausführungsformen repräsentiert das Netzwerk ein oder mehrerer miteinander verbundene Inter-Netzwerke, wie etwa das öffentliche Internet.
  • Die Rechensysteme 206a-f oder Verbraucher der Cloud-Rechensysteme sind über Netzwerklinks und Netzwerkadapter mit der Cloud 202 verbunden. In einer Ausführungsform werden die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen implementiert, zum Beispiel Server, Desktops, Laptops, Tablets, Smartphones, Internet-der-Dinge(IdD)-Vorrichtungen, autonome Fahrzeuge (einschließlich Autos, Drohnen, Shuttles, Zügen, Bussen usw.) und Verbraucherelektronik. In einer Ausführungsform werden die Rechensysteme 206a-f in anderen Systemen oder als ein Teil von diesen implementiert.
  • 3 veranschaulicht ein Computersystem 300. In einer Implementierung ist das Computersystem 300 eine Spezialzweck-Rechenvorrichtung. Die Spezialzweck-Rechenvorrichtung ist festverdrahtet, um die Techniken durchzuführen, oder beinhaltet digitale elektronische Vorrichtungen wie etwa eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder feldprogrammierbare Gate-Arrays (FPGAs), die persistent programmiert sind, um die Techniken durchzuführen, oder können einen oder mehrere Allgemeinzweck-Hardwareprozessoren beinhalten, die programmiert sind, die Techniken gemäß Programmanweisungen in Firmware, Speicher, anderer Speicherung oder einer Kombination durchzuführen. Solche Spezialzweck-Rechenvorrichtungen können auch benutzerdefinierte festverdrahtete Logik, ASICs oder FPGAs mit benutzerdefinierter Programmierung kombinieren, um die Techniken zu verwirklichen. In verschiedenen Ausführungsformen sind die Spezialzweck-Rechenvorrichtungen Desktop-Computersysteme, tragbare Computersysteme, Handheld-Vorrichtungen, Netzwerkvorrichtungen oder eine beliebige andere Vorrichtung, die festverdrahtete Logik und/oder Programmlogik einbezieht, um die Techniken zu implementieren.
  • In einer Ausführungsform beinhaltet das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen und einen mit dem Bus 302 gekoppelten Hardwareprozessor 304 zum Verarbeiten von Informationen. Der Hardwareprozessor 304 ist beispielsweise ein Allgemeinzweck-Mikroprozessor. Das Computersystem 300 beinhaltet außerdem einen Hauptspeicher 306, wie etwa einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speicherungsvorrichtung, der/die mit dem Bus 302 gekoppelt ist, zum Speichern von Informationen und Anweisungen, die durch den Prozessor 304 auszuführen sind. In einer Implementierung wird der Hauptspeicher 306 zum Speichern temporärer Variablen oder anderen Zwischeninformationen während der Ausführung von durch den Prozessor 304 auszuführenden Anweisungen verwendet. Derartige Anweisungen, wenn sie in für den Prozessor 304 zugreifbaren, nichttransitorischen Speicherungsmedien gespeichert sind, bilden das Computersystem 300 in einer Spezialzweck-Maschine aus, die zum Durchführen der in den Anweisungen spezifizierten Operationen angepasst ist.
  • In einer Ausführungsform beinhaltet das Computersystem 300 ferner einen Nur-LeseSpeicher (ROM) 308 oder eine andere statische Speicherungsvorrichtung, die mit dem Bus 302 gekoppelt ist, zum Speichern statischer Informationen und Anweisungen für den Prozessor 304. Eine Speicherungsvorrichtung 310, wie etwa eine magnetische Platte, eine optische Platte, ein Solid-State-Laufwerk oder ein dreidimensionaler Cross-Point-Speicher, ist bereitgestellt und mit dem Bus 302 gekoppelt, um Informationen und Anweisungen zu speichern.
  • In einer Ausführungsform ist das Computersystem 300 über den Bus 302 mit einer Anzeige 312 gekoppelt, wie etwa einer Kathodenstrahlröhre (CRT)-, einer Flüssigkristallanzeige (LCD), einer Plasmaanzeige, einer Leuchtdioden(LED)-Anzeige oder einer Organisch-Leuchtdioden(OLED)-Anzeige, um Informationen für einen Computerbenutzer anzuzeigen. Eine Eingabevorrichtung 314, die alphanumerische und andere Tasten beinhaltet, ist mit dem Bus 302 zum Kommunizieren von Informationen und Befehlsauswahlen zu dem Prozessor 304 gekoppelt. Eine andere Art von Benutzereingabevorrichtung ist eine Cursor-Steuerung 316, wie etwa eine Maus, ein Trackball, eine berührungsgestützte Anzeige oder Cursorrichtungstasten zum Kommunizieren von Richtungsinformationen und Befehlsauswahlen zu dem Prozessor 304 und zum Steuern der Cursorbewegung auf der Anzeige 312. Diese Eingabevorrichtung weist typischerweise zwei Freiheitsgrade in zwei Achsen auf, einer ersten Achse (z. B. x-Achse) und einer zweiten Achse (z. B. y-Achse), was der Vorrichtung ermöglicht, Positionen in einer Ebene zu spezifizieren.
  • Gemäß einer Ausführungsform werden die Techniken hierin durch das Computersystem 300 als Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Sequenzen einer oder mehrerer im Hauptspeicher 306 enthaltener Anweisungen ausführt. Solche Anweisungen werden von einem anderen Speicherungsmedium, wie etwa der Speicherungsvorrichtung 310, in den Hauptspeicher 306 gelesen. Die Ausführung der im Hauptspeicher 306 enthaltenen Anweisungssequenzen veranlasst, dass der Prozessor 304 die hierin beschriebenen Prozessschritte durchführt. In alternativen Ausführungsformen wird eine festverdrahtete Schaltungsanordnung anstelle von oder in Kombination mit Softwareanweisungen verwendet.
  • Der Begriff „Speicherungsmedien“, wie hierin verwendet, bezieht sich auf beliebige nichttransitorische Medien, die Daten und/oder Anweisungen speichern, die veranlassen, dass eine Maschine auf eine spezifische Weise arbeitet. Solche Speicherungsmedien beinhalten nichtflüchtige Medien und/oder flüchtige Medien. Nichtflüchtige Medien beinhalten beispielsweise optische Platten, Magnetplatten, Solid-State-Laufwerke oder dreidimensionalen Cross-Point-Speicher, wie etwa die Speicherungsvorrichtung 310. Flüchtige Medien beinhalten dynamischen Speicher, wie etwa den Hauptspeicher 306. Übliche Formen von Speicherungsmedien beinhalten beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Solid-State-Laufwerk, Magnetband oder ein beliebiges anderes magnetisches Datenspeicherungsmedium, eine CD-ROM, ein beliebiges anderes optisches Datenspeicherungsmedium, ein beliebiges physisches Medium mit Lochmustern, einen RAM, einen PROM und EPROM, einen FLASH-EPROM, NV-RAM oder einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette.
  • Speicherungsmedien unterscheiden sich von Übertragungsmedien, können jedoch in Verbindung mit diesen verwendet werden. Übertragungsmedien nehmen bei dem Transfer von Informationen zwischen Speicherungsmedien teil. Beispielsweise beinhalten Übertragungsmedien Koaxialkabel, Kupferdraht und Faseroptik, einschließlich der Drähte, die den Bus 302 umfassen. Übertragungsmedien können auch die Form akustischer Wellen oder Lichtwellen annehmen, wie etwa jene, die während Funkwellen- oder Infrarot-Datenkommunikationen erzeugt werden.
  • In einer Ausführungsform sind verschiedene Formen von Medien beim Führen einer oder mehrerer Sequenzen einer oder mehrerer Anweisungen zu dem Prozessor 304 zur Ausführung beteiligt. Beispielsweise werden die Anweisungen anfänglich auf einer magnetischen Platte oder einem Solid-State-Laufwerk eines Ferncomputers geführt. Der Ferncomputer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen über eine Telefonleitung unter Verwendung eines Modems. Ein Modem lokal zu dem Computersystem 300 empfängt die Daten auf der Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die in dem Infrarotsignal geführten Daten und eine geeignete Schaltungsanordnung platziert die Daten auf den Bus 302. Der Bus 302 führt die Daten zum Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher 306 empfangenen Anweisungen können optional in der Speicherungsvorrichtung 310 entweder vor oder nach der Ausführung durch den Prozessor 304 gespeichert werden.
  • Das Computersystem 300 beinhaltet auch eine Kommunikationsschnittstelle 318, die mit dem Bus 302 gekoppelt ist. Die Kommunikationsschnittstelle 318 stellt eine Zweiwege-Datenkommunikationskopplung mit einem Netzwerklink 320 bereit, der mit einem Lokalnetzwerk 322 verbunden ist. Beispielsweise ist die Kommunikationsschnittstelle 318 eine ISDN(Integrated Service Digital Network)-Karte, ein Kabelmodem, ein Satellitenmodem oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung mit einer entsprechenden Art von Telefonleitung. Als ein anderes Beispiel ist die Kommunikationsschnittstelle 318 eine Lokalnetzwerk(LAN)-Karte zum Bereitstellen einer Datenkommunikationsverbindung mit einem kompatiblen LAN. In manchen Implementierungen werden auch Drahtlos-Links implementiert. In einer beliebigen derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme führen, die verschiedene Informationsarten repräsentieren.
  • Der Netzwerklink 320 stellt typischerweise eine Datenkommunikation über ein oder mehrere Netzwerke zu anderen Datenvorrichtungen bereit. Beispielsweise stellt der Netzwerklink 320 eine Verbindung über das Lokalnetzwerk 322 zu einem Host-Computer 324 oder zu einem Cloud-Datenzentrum oder -Gerät bereit, der/das durch einen Internetdienstanbieter (ISP) 326 betrieben wird. Der ISP 326 stellt im Gegenzug Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetzwerk bereit, heutzutage gewöhnlich bezeichnet als das „Internet“ 328. Sowohl das Lokalnetzwerk 322 als auch das Internet 328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme führen. Die Signale über die verschiedenen Netzwerke und die Signale auf dem Netzwerklink 320 und über die Kommunikationsschnittstelle 318, die die digitalen Daten zu und von dem Computersystem 300 führen, sind beispielhafte Formen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk 320 die Cloud 202 oder einen Teil der oben beschriebenen Cloud 202.
  • Das Computersystem 300 sendet Nachrichten und empfängt Daten, einschließlich Programmcode, über das (die) Netzwerk(e), den Netzwerklink 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 wie empfangen ausgeführt und/oder in der Speicherungsvorrichtung 310 oder einer anderen nichtflüchtigen Speicherung zur späteren Ausführung gespeichert.
  • Architektur eines autonomen Fahrzeugs
  • 4 zeigt eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AV 100). Die Architektur 400 beinhaltet 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 beim Betrieb des AV 100 eine Rolle. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In manchen Ausführungsformen sind beliebige der Module 402, 404, 406, 408 und 410 eine Kombination von Computersoftware (z. B. ausführbarer Code, der auf einem computerlesbaren Medium gespeichert ist) und Computerhardware (z. B. ein/e oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen [ASICs], Hardwarespeichervorrichtungen, andere Arten von integrierten Schaltungen, andere Arten von Computerhardware oder eine Kombination beliebiger oder aller dieser Dinge). Jedes der Module 402, 404, 406, 408 und 410 wird manchmal als eine Verarbeitungsschaltung (z. B. Computerhardware, Computersoftware oder eine Kombination beider) bezeichnet. Eine Kombination beliebiger oder aller der Module 402, 404, 406, 408 und 410 ist auch ein Beispiel für eine Verarbeitungsschaltung.
  • Im Gebrauch empfängt das Planungsmodul 404 Daten, die einen Bestimmungsort 412 repräsentieren, und bestimmt Daten, die eine Trajektorie 414 (manchmal als eine Route bezeichnet) repräsentieren, auf der das AV 100 fahren kann, um den Bestimmungsort 412 zu erreichen (z. B. dort anzukommen). Damit das Planungsmodul 404 die die Trajektorie 414 repräsentierenden Daten bestimmt, empfängt das Planungsmodul 404 Daten vom Wahrnehmungsmodul 402, vom Lokalisierungsmodul 408 und vom Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert nahegelegene physische Objekte unter Verwendung eines oder mehrerer Sensoren 121, z. B. wie auch in 1 gezeigt. Die Objekte werden klassifiziert (z. B. in Typen wie etwa Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrsschild usw. gruppiert) und dem Planungsmodul 404 wird eine Szenenbeschreibung einschließlich der klassifizierten Objekte 416 bereitgestellt. In einer Ausführungsform beinhaltet das Wahrnehmungsmodul 402 einen Objektdetektor, der Objekte detektiert und labelt. Ein beispielhafter Objektdetektor ist ein faltendes neuronales Netzwerk (CNN). In einer Ausführungsform kann der Objektdetektor ein Bild oder eine Punktwolke ausgeben, das/die Bounding Boxes um die detektierten Objekte herum, Labels für die Objekte und Bounding-Box-Bewertungen, die einen Konfidenzgrad angeben, dass die detektierten Objekte korrekt gelabelt wurden, enthält. In einer Ausführungsform kann die Bounding-Box-Bewertung im Bereich von [0,0 1,0] liegen, wobei 0,0 ein inkorrekt gelabeltes Objekt angibt, 1,0 ein korrekt gelabeltes Objekt angibt und Werte dazwischen einen Konfidenzgrad angeben, dass das Objekt korrekt gelabelt wurde.
  • 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), um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einem GNSS(globales Satellitennavigationssystem)-Sensor und geografische Daten, um einen Längengrad und Breitengrad des AV zu berechnen. In einer Ausführungsform beinhalten die durch das Lokalisierungsmodul 408 verwendeten Daten hochpräzise Karten der geometrischen Eigenschaften der Verkehrsstraße, Karten, die Straßennetzkonnektivitätseigenschaften beschreiben, Karten, die physische Eigenschaften der Verkehrsstraße beschreiben (wie etwa Verkehrsgeschwindigkeit, Verkehrsvolumen, die Anzahl von Fahrzeug- und Fahrrad-Verkehrsfahrbahnen, Fahrbahnbreite, Fahrbahnverkehrsrichtung oder Fahrbahnmarkierungsarten und -orte oder Kombinationen davon), und Karten, die die räumlichen Orte von Straßenmerkmalen beschreiben, wie etwa Fußgängerüberwege, Verkehrsschilder oder andere Verkehrssignale verschiedener Arten. In einer Ausführungsform werden die hochpräzisen Karten erstellt, indem zu Karten mit niedriger Präzision durch automatische oder manuelle Annotation Daten hinzugefügt werden.
  • Das Steuermodul 406 empfängt die die Trajektorie 414 repräsentierenden Daten und die die AV-Position 418 repräsentierenden Daten und betreibt die Steuerfunktionen 420a-c (z. B. Lenkung, Gasgeben, Bremsen, Zündung) des AV auf eine Weise, die bewirken wird, dass das AV 100 entlang der Trajektorie 414 zu dem Bestimmungsort 412 fährt. Falls beispielsweise die Trajektorie 414 eine Linksabbiegung beinhaltet, wird das Steuermodul 406 die Steuerfunktionen 420a-c auf eine Weise betreiben, dass der Lenkwinkel der Lenkfunktion bewirken wird, dass das AV 100 nach links abbiegt, und das Gasgeben und Bremsen bewirken werden, dass das AV 100 anhält und darauf wartet, dass Fußgänger und Fahrzeuge passieren, bevor das Abbiegen vorgenommen wird.
  • Eingaben in das autonome Fahrzeug
  • 5 zeigt ein Beispiel für Eingaben 502a-d (z. B. die in 1 gezeigten Sensoren 121) und Ausgaben 504a-d (z. B. Sensordaten), die durch das Wahrnehmungsmodul 402 (4) verwendet werden. Eine Eingabe 502a ist ein LiDAR(Lichtdetektion und -entfernungsmessung)-System (z. B. das in 1 gezeigte LiDAR 123). LiDAR ist eine Technologie, die Licht (z. B. Impulse von Licht wie etwa Infrarotlicht) verwendet, um Daten über physische Objekte in ihrer Sichtlinie zu erhalten. Ein LiDAR-System erzeugt LiDAR-Daten als die Ausgabe 504a. Beispielsweise sind LiDAR-Daten Sammlungen von 3D- oder 2D-Punkten (auch als Punktwolken 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 nahegelegene 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 erzeugt RADAR-Daten als die Ausgabe 504b. Beispielsweise sind RADAR-Daten ein oder mehrere elektromagnetische Hochfrequenz-Signale, 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 nahegelegene physische Objekte zu erhalten. Ein Kamerasystem erzeugt Kameradaten 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 Stereopsis (Stereovision), was dem Kamerasystem ermöglicht, Tiefe wahrzunehmen. Obwohl die durch das Kamerasystem wahrgenommenen Objekte hier als „nahegelegen“ beschrieben sind, ist dies relativ zu dem AV. Im Gebrauch kann das Kamerasystem dazu ausgelegt sein, Objekte zu „sehen“, die sich entfernt, z. B. bis zu einem Kilometer oder mehr, vor dem AV befinden. Dementsprechend kann das Kamerasystem Merkmale wie etwa Sensoren und Objekte aufweisen, die zum 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, Verkehrsschilder und andere physische Objekte zu erhalten, die visuelle Navigationsinformationen bereitstellen. Ein TLD-System erzeugt TLD-Daten 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 eine Kamera einbeziehenden System darin, dass ein TLD-System eine Kamera mit einem weiten Sichtfeld verwendet (z. B. unter Verwendung eines Weitwinkelobjektivs oder eines Fischaugenobjekivs), um Informationen über so viele physische Objekte, die visuelle Navigationsinformationen bereitstellen, wie möglich zu erhalten, sodass das AV 100 einen Zugang zu allen relevanten Navigationsinformationen aufweist, die durch diese Objekte bereitgestellt werden. Beispielsweise kann der Sichtwinkel des TLD-Systems etwa 120 Grad oder mehr betragen.
  • 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 bereitgestellt, wie in 4 gezeigt), oder die kombinierte Ausgabe kann den 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 verschiedener jeweiliger Kombinationstechniken oder Kombinieren verschiedener jeweiliger Ausgaben oder beides). In manchen Ausführungsformen wird eine Frühfusionstechnik verwendet. Eine Frühfusionstechnik ist gekennzeichnet durch das Kombinieren von Ausgaben, bevor ein oder mehrere Datenverarbeitungsschritte an der kombinierten Ausgabe angewendet werden. In manchen Ausführungsformen wird eine Spätfusionstechnik verwendet. Eine Spätfusionstechnik ist gekennzeichnet durch das Kombinieren von Ausgaben, nachdem ein oder mehrere Datenverarbeitungsschritte an den individuellen Ausgaben angewendet werden.
  • 6 zeigt ein Beispiel für ein LiDAR-System 602 (z. B. die in 5 gezeigte Eingabe 502a). Das LiDAR-System 602 emittiert Licht 604a-c von einem Lichtemitter 606 (z. B. einem Laser-Sender). Durch ein LiDAR-System emittiertes Licht liegt typischerweise nicht im sichtbaren Spektrum; beispielsweise wird häufig Infrarotlicht verwendet. Ein Teil des emittierten Lichts 604b trifft auf ein physisches Objekt 608 (z. B. ein Fahrzeug) und wird zurück zu dem LiDAR-System 602 reflektiert. (Von einem LiDAR-System emittiertes Licht dringt typischerweise nicht in physische Objekte, z. B. physische Objekte in fester Form, ein.) Das LiDAR-System 602 weist auch einen oder mehrere Lichtdetektoren 610 auf, die das reflektierte Licht detektieren. In einer Ausführungsform erzeugen ein oder mehrere mit dem LiDAR-System assoziierte Datenverarbeitungssysteme ein Bild 612, das das Sichtfeld 614 des LiDAR-Systems repräsentiert. Das Bild 612 beinhaltet Informationen, die die Abgrenzungen 616 eines physischen Objekts 608 repräsentieren. Auf diese Weise wird das Bild 612 zum Bestimmen der Abgrenzungen 616 eines oder mehrerer physischer Objekte in der Nähe eines AV verwendet.
  • 7 zeigt das LiDAR-System 602 im Betrieb. In dem in dieser Figur gezeigten Szenario empfängt das AV 100 sowohl die Kamerasystemausgabe 504c in der Form eines Bildes 702 als auch die LiDAR-Systemausgabe 504a in der Form von LiDAR-Datenpunkten 704. Im Gebrauch vergleichen die Datenverarbeitungssysteme des AV 100 das Bild 702 mit den Datenpunkten 704. Insbesondere wird ein im Bild 702 identifiziertes physisches Objekt 706 auch unter den Datenpunkten 704 identifiziert. Auf diese Weise nimmt das AV 100 die Abgrenzungen des physischen Objekts basierend auf der Kontur und der Dichte der Datenpunkte 704 wahr.
  • 8 zeigt den Betrieb des LiDAR-Systems 602 mit zusätzlichen Einzelheiten. Wie oben beschrieben, detektiert das AV 100 die Abgrenzung eines physischen Objekts basierend auf Charakteristiken der durch das LiDAR-System 602 detektierten Datenpunkte. Wie in 8 gezeigt, wird ein flaches Objekt, wie etwa der Boden 802, von einem LiDAR-System 602 emittiertes Licht 804a-d konsistent reflektieren. Anders ausgedrückt, da das LiDAR-System 602 Licht unter Verwendung eines konstanten Abstands emittiert, wird der Boden 802 Licht zurück zu dem LiDAR-System 602 mit dem gleichen konsistenten Abstand reflektieren. Während das AV 100 über den Boden 802 fährt, wird das LiDAR-System 602 fortfahren, durch den nächsten gültigen Bodenpunkt 806 reflektiertes Licht zu detektieren, falls nichts die Straße versperrt. Falls jedoch ein Objekt 808 die Straße versperrt, wird durch das LiDAR-System 602 emittiertes Licht 804e-f von Punkten 810a-b inkonsistent zu der voraussichtlichen konsistenten Weise reflektiert. Aus diesen Informationen kann das AV 100 bestimmen, dass das Objekt 808 vorhanden ist.
  • Pfadplanung
  • 9 zeigt ein Blockdiagramm 900 der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls 404 (z. B. wie in 4 gezeigt). Im Allgemeinen ist die Ausgabe eines Planungsmoduls 404 eine Route 902 von einem Startpunkt 904 (z. B. Quellstandort oder Anfangsstandort) zu einem Endpunkt 906 (z. B. Bestimmungsort oder endgültigen Ort). Die Route 902 wird typischerweise durch ein oder mehrere Segmente definiert. Beispielsweise ist ein Segment eine zu fahrende Distanz über zumindest einen Abschnitt einer Straße, Landstraße, Autobahn, Einfahrt oder ein anderer physischer Bereich, der sich zur Fahrt eines Kraftfahrzeugs eignet. In manchen Beispielen, falls z. B. das AV 100 ein geländefähiges Fahrzeug ist, wie etwa ein Vierrad(4WD)- oder Allrad(AWD)-Auto, SUV, Pickup-Truck oder dergleichen, beinhaltet die Route 902 „Off-Road“-Segmente, wie etwa unbefestigte Pfade oder offene Felder.
  • Zusätzlich zu der Route 902 gibt ein Planungsmodul auch Routenplanungsdaten 908 auf Fahrbahnebene aus. Die Routenplanungsdaten 908 auf Fahrbahnebene werden verwendet, um Segmente der Route 902 basierend auf Zuständen des Segments zu einer speziellen Zeit zu durchfahren. Falls die Route 902 eine mehrspurige Autobahn beinhaltet, beinhalten die Routenplanungsdaten 908 auf Fahrbahnebene Trajektorieplanungsdaten 910, die das AV 100 verwendet kann, um eine Fahrbahn unter den mehreren Fahrbahnen zu wählen, z. B. basierend darauf, ob sich einer Ausfahrt genähert wird, ob eine oder mehrere der Fahrbahnen andere Fahrzeuge aufweisen, oder andere Faktoren, die im Verlauf weniger Minuten oder weniger variieren. Gleichermaßen beinhalten die Routenplanungsdaten 908 auf Fahrbahnebene in manchen Implementierungen für ein Segment der Route 902 spezifische Geschwindigkeitsbeschränkungen 912. Falls das Segment beispielsweise Fußgänger oder unerwarteten Verkehr beinhaltet, können die Geschwindigkeitsbeschränkungen 912 das AV 100 auf eine Fahrgeschwindigkeit einschränken, die langsamer als eine voraussichtliche Geschwindigkeit ist, z. B. eine Geschwindigkeit basierend auf Geschwindigkeitsbegrenzungsdaten für das Segment.
  • In einer Ausführungsform beinhalten die Eingaben in das Planungsmodul 404 Datenbankdaten 914 (z. B. von dem in 4 gezeigten Datenbankmodul 410), aktuelle Standortdaten 916 (z. B. die in 4 gezeigte AV-Position 418), Bestimmungsortdaten 918 (z. B. für den in 4 gezeigten Bestimmungsort 412) und Objektdaten 920 (z. B. die klassifizierten Objekte 416, wie durch das in 4 gezeigte Wahrnehmungsmodul 402 wahrgenommen). In manchen Ausführungsformen beinhalten die Datenbankdaten 914 bei der Planung verwendete Regeln. Regeln werden unter Verwendung einer formellen Sprache spezifiziert, z. B. unter Verwendung von boolescher Logik. In einer beliebigen gegebenen Situation, auf die das AV 100 trifft, werden zumindest manche der Regeln für die Situation gelten. Eine Regel gilt für eine gegebene Situation, falls die Regel Bedingungen aufweist, die basierend auf dem AV 100 zur Verfügung stehenden Informationen erfüllt werden, z. B. Informationen über die umliegende Umgebung. Regeln können eine Priorität aufweisen. Beispielsweise kann eine Regel, die besagt „fallsdie Straße eine Schnellstraße ist, soll sich zu der am weitesten links gelegenen Spur bewegt werden“, eine niedrigere Priorität aufweisen als „fallssich der Ausfahrt innerhalb einer Meile genähert wird, soll sich zu der am weitesten rechts gelegenen Spur bewegt werden“.
  • 10 zeigt einen gerichteten Graphen 1000, der bei der Pfadplanung z. B. durch das Planungsmodul 404 (4) verwendet wird. Im Allgemeinen wird ein gerichteter Graph 1000, wie der in 10 gezeigte, zum Bestimmen eines Pfads zwischen einem beliebigen Startpunkt 1002 und einem Endpunkt 1004 verwendet. In der realen Welt kann die den Startpunkt 1002 und den Endpunkt 1004 trennende Distanz relativ groß sein (z. B. in zwei unterschiedlichen Großstadtgebieten) oder kann relativ klein sein (z. B. zwei Kreuzungen, die an einen Häuserblock angrenzen, oder zwei Fahrbahnen einer mehrspurigen Straße).
  • In einer Ausführungsform weist der gerichtete Graph 1000 Knoten 1006a-d auf, die unterschiedliche Orte zwischen dem Startpunkt 1002 und dem Endpunkt 1004 repräsentieren, die durch ein AV 100 belegt sein könnten. In manchen Beispielen, z. B. wenn der Startpunkt 1002 und der Endpunkt 1004 unterschiedliche Großstadtgebiete repräsentieren, repräsentieren die Knoten 1006a-d Segmente von Straßen. In manchen Beispielen, z. B. wenn der Startpunkt 1002 und der Endpunkt 1004 unterschiedliche Orte auf derselben Straße repräsentieren, repräsentieren die Knoten 1006a-d unterschiedliche Positionen auf dieser Straße. Auf diese Weise beinhaltet der gerichtete Graph 1000 Informationen bei unterschiedlichen Granularitätsstufen. In einer Ausführungsform ist der eine hohe Granularität aufweisende gerichtete Graph auch ein Teilgraph eines anderen gerichteten Graphen mit einem größeren Maßstab. Beispielsweise weist ein gerichteter Graph, in dem der Startpunkt 1002 und der Endpunkt 1004 weit voneinander entfernt sind (z. B. mehrere Meilen getrennt), den Großteil seiner Informationen mit niedriger Granularität auf und basiert auf gespeicherten Daten, beinhaltet aber auch einige hochgranulare Informationen für den Abschnitt des Graphen, der physische Orte im Sichtfeld des AV 100 repräsentiert.
  • Die Knoten 1006a-d unterscheiden sich von den Objekten 1008a-b, die sich nicht mit einem Knoten überlappen können. In einer Ausführungsform, wenn die Granularität niedrig ist, repräsentieren die Objekte 1008a-b Gebiete, die das Kraftfahrzeug nicht durchfahren kann, z. B. Bereiche, die keine Straßen oder Landstraßen aufweisen. Wenn die Granularität hoch ist, repräsentieren die Objekte 1008a-b physische Objekte im Sichtfeld des AV 100, z. B. andere Kraftfahrzeuge, Fußgänger oder andere Entitäten, mit denen das AV 100 keinen physischen Raum teilen kann. In einer Ausführungsform sind manche oder alle der Objekte 1008a-b statische Objekte (z. B. ein Objekt, das seine Position nicht ändert, wie etwa eine Straßenlampe oder ein Strommast) oder dynamische Objekte (z. B. ein Objekt, das in der Lage ist, seine Position zu ändern, wie etwa ein Fußgänger oder ein anderes Auto).
  • Die Knoten 1006a-d sind durch Kanten 1010a-c verbunden. Falls zwei Knoten 1006ab durch eine Kante 1010a verbunden sind, ist es für das AV 100 möglich, zwischen einem Knoten 1006a und dem anderen Knoten 1006b zu fahren, z. B. ohne zu einem Zwischenknoten fahren zu müssen, bevor es an dem anderen Knoten 1006b ankommt. (Wenn sich auf ein zwischen Knoten fahrendes AV 100 bezogen wird, bedeutet dies, dass das AV 100 zwischen den beiden physischen Positionen fährt, die durch die jeweiligen Knoten repräsentiert werden.) Die Kanten 1010a-c sind häufig bidirektional in dem Sinne, dass ein AV 100 von einem ersten Knoten zu einem zweiten Knoten oder vom zweiten Knoten zum ersten Knoten fährt. In einer Ausführungsform sind die Kanten 1010a-c unidirektional in dem Sinne, dass ein AV 100 von einem ersten Knoten zu einem zweiten Knoten fahren kann, das AV 100 jedoch nicht oder vom zweiten Knoten zum ersten Knoten fahren kann. Die Kanten 1010a-c sind unidirektional, wenn sie beispielsweise Einbahnstraßen, individuelle Fahrbahnen einer Straße, Landstraße oder Autobahn oder andere Merkmale, auf denen aufgrund rechtlicher oder physischer Beschränkungen nur in einer Richtung gefahren werden kann, repräsentieren.
  • In einer Ausführungsform verwendet das Planungsmodul 404 den gerichteten Graphen 1000, um einen Pfad 1012 zu identifizieren, der aus Knoten und Kanten zwischen dem Startpunkt 1002 und dem Endpunkt 1004 besteht.
  • Eine Kante 1010a-c weist assoziierte Kosten 1014a-b auf. Die Kosten 1014a-b sind ein Wert, der die Ressourcen repräsentiert, die verbraucht werden, falls das AV 100 diese Kante wählt. Eine typische Ressource ist Zeit. Falls beispielsweise eine Kante 1010a eine physische Distanz repräsentiert, die zweimal die einer anderen Kante 1010b ist, dann können die assoziierten Kosten 1014a der ersten Kante 1010a zweimal so groß sein wie die assoziierten Kosten 1014b der zweiten Kante 1010b. Andere Faktoren, die die Zeit beeinflussen, beinhalten erwarteter Verkehr, Anzahl von Kreuzungen, Geschwindigkeitsbegrenzung usw. Eine andere typische Ressource ist Kraftstoffeffizienz. Zwei Kanten 1010a-b können die gleiche physische Distanz repräsentieren, aber eine Kante 1010a kann mehr Kraftstoff erfordern als die andere Kante 1010b, z. B. infolge von Straßenbedingungen, erwartetem Wetter usw.
  • Wenn das Planungsmodul 404 einen Pfad 1012 zwischen dem Startpunkt 1002 und dem Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 typischerweise einen für die Kosten optimierten Pfad, z. B. den Pfad, der die geringsten Gesamtkosten aufweist, wenn die individuellen Kosten der Kanten zusammenaddiert werden.
  • Steuerung des autonomen Fahrzeugs
  • 11 zeigt ein Blockdiagramm 1100 der Eingaben und Ausgaben eines Steuermoduls 406 (z. B. wie in 4 gezeigt). Ein Steuermodul arbeitet gemäß einer Steuerung 1102, die beispielsweise einen oder mehrere Prozessoren (z. B. einen oder mehrere Computerprozessoren wie etwa Mikroprozessoren oder Mikrocontroller oder beides) ähnlich dem Prozessor 304, Kurzzeit- und/oder Langzeit-Datenspeicherung (z. B. Speicher-Direktzugriffsspeicher oder Flash-Speicher oder beides) ähnlich dem Hauptspeicher 306, dem ROM 1308 und der Speicherungsvorrichtung 210 und im Speicher gespeicherte Anweisungen, die Operationen der Steuerung 1102 ausführen, wenn die Anweisungen (z. B. durch den einen oder die mehreren Prozessoren) ausgeführt werden, beinhaltet.
  • In einer Ausführungsform empfängt die Steuerung 1102 Daten, die eine gewünschte Ausgabe 1104 repräsentieren. Die gewünschte Ausgabe 1104 beinhaltet typischerweise eine Bahngeschwindigkeit, z. B. eine Geschwindigkeit und einen Kurs. Die gewünschte Ausgabe 1104 kann beispielsweise auf Daten basieren, die von einem Planungsmodul 404 (z. B. wie in 4 gezeigt) empfangen werden. Gemäß der gewünschten Ausgabe 1104 erzeugt die Steuerung 1102 Daten, die als eine Gaspedaleingabe 1106 und eine Lenkeingabe 1108 verwendbar sind. Die Gaspedaleingabe 1106 repräsentiert den Betrag, mit dem das Gaspedal (z.B. Beschleunigungssteuerung) eines AV 100 zu betätigen ist, z. B. durch Einwirken auf das Lenkpedal oder Einwirken auf eine andere Gaspedalsteuerung, um die gewünschte Ausgabe 1104 zu erreichen. In manchen Beispielen beinhaltet die Gaspedaleingabe 1106 auch Daten, die zum Betätigen der Bremse (z. B. Verlangsamungssteuerung) des AV 100 verwendbar sind. Die Lenkeingabe 1108 repräsentiert einen Lenkwinkel, z. B. den Winkel, mit dem die Lenksteuerung (z. B. Lenkrad, Lenkwinkelaktor oder eine andere Funktionalität zum Steuern des Lenkwinkels) des AV positioniert werden sollte, um die gewünschte Ausgabe 1104 zu erreichen.
  • In einer Ausführungsform empfängt die Steuerung 1102 eine Rückmeldung, die zum Anpassen der Eingaben verwendet wird, die dem Gaspedal und der Lenkung bereitgestellt werden. Falls das AV 100 beispielsweise auf eine Beeinträchtigung 1110 trifft, wie etwa einen Hügel, wird die gemessene Geschwindigkeit 1112 des AV 100 unter die gewünschte Ausgabegeschwindigkeit gesenkt. In einer Ausführungsform wird eine jegliche gemessene Ausgabe 1114 der Steuerung 1102 bereitgestellt, sodass die notwendigen Anpassungen durchgeführt werden, z. B. basierend auf dem Unterschied 1113 zwischen der gemessenen Geschwindigkeit und der gewünschten Ausgabe. Die gemessene Ausgabe 1114 beinhaltet eine gemessene Position 1116, eine gemessene Bahngeschwindigkeit 1118 (einschließlich Geschwindigkeit und Kurs), eine gemessene Beschleunigung 1120 und andere Ausgaben, die durch Sensoren des AV 100 messbar sind.
  • In einer Ausführungsform werden Informationen über die Beeinträchtigung 1110 im Voraus detektiert, z. B. durch einen Sensor wie etwa eine Kamera oder ein LiDAR-Sensor, und einem prädiktiven Rückmeldemodul 1122 bereitgestellt. Das prädiktive Rückmeldemodul 1122 stellt dann der Steuerung 1102 Informationen bereit, die die Steuerung 1102 verwenden kann, um eine entsprechende Anpassung vorzunehmen. Falls die Sensoren des AV 100 beispielsweise einen Hügel detektieren („sehen“), können diese Informationen durch die Steuerung 1102 verwendet werden, um sich darauf vorzubereiten, das Gaspedal zu der geeigneten Zeit zu betätigen, um eine erhebliche Verlangsamung zu vermeiden.
  • 12 zeigt ein Blockdiagramm 1200 der Eingaben, Ausgaben und Komponenten der Steuerung 1102. Die Steuerung 1102 weist einen Geschwindigkeitsprofilersteller 1202 auf, der den Betrieb einer Gaspedal-/Bremssteuerung 1204 beeinflusst. Beispielsweise weist der Geschwindigkeitsprofilersteller 1202 die Gaspedal-/Bremssteuerung 1202 an, Beschleunigung zu bewirken und Verlangsamung zu bewirken, unter Verwendung des Gaspedals/der Bremse 1206, in Abhängigkeit von z. B. der Rückmeldung, die durch die Steuerung 1102 empfangen und durch den Geschwindigkeitsprofilersteller 1202 verarbeitet wird.
  • Die Steuerung 1102 weist auch eine Lateralverfolgungssteuerung 1208 auf, die den Betrieb einer Lenksteuerung 1210 beeinflusst. Beispielsweise weist die Lateralverfolgungssteuerung 1208 die Lenksteuerung 1210 an, die Position des Lenkwinkelaktors 1212 in Abhängigkeit von z. B. einer Rückmeldung, die durch die Steuerung 1102 empfangen und durch die Lateralverfolgungssteuerung 1208 verarbeitet wird, anzupassen.
  • Die Steuerung 1102 empfängt mehrere Eingaben, die zum Bestimmen verwendet werden, wie das Gaspedal/die Bremse 1206 und der Lenkwinkelaktor 1212 zu steuern sind. Ein Planungsmodul 404 stellt Informationen bereit, die durch die Steuerung 1102 verwendet werden, um z. B. einen Kurs zu wählen, wenn das AV 100 den Betrieb beginnt, und um zu bestimmen, welches Straßensegment zu durchfahren ist, wenn das AV 100 eine Kreuzung erreicht. Ein Lokalisierungsmodul 408 stellt der Steuerung 1102 Informationen bereit, die den aktuellen Standort des AV 100 beschreiben, sodass die Steuerung 1102 beispielsweise basierend auf der Weise, mit der das Gaspedal/die Bremse 1206 und der Lenkwinkelaktor 1212 gesteuert wird, bestimmen kann, ob sich das AV 100 an einem erwarteten Standort befindet. In einer Ausführungsform empfängt die Steuerung 1102 Informationen von anderen Eingaben 1214, z. B. Informationen, die von Datenbanken, Computernetzwerken usw. empfangen werden.
  • Aktives Lernsvstem
  • 13 zeigt eine beispielhafte Datenprobe 1300, die von einem Wahrnehmungsmodul 402 ausgegeben wird und 10 Bounding Boxes 1301a-1301k mit entsprechenden Bounding-Box-Labels und -Bewertungen enthält. In dem gezeigten Beispiel ist die Datenprobe ein Bild, das von einer Videokamera aufgenommen wurde. Die Bounding-Box-Labels identifizieren das Objekt und die Bounding-Box-Bewertungen geben einen Konfidenzgrad an, dass die entsprechende Bounding Box ein korrekt gelabeltes Objekt enthält. In jeder Datenprobe kann es Bounding Boxes, die ein Objekt enthalten, Bounding Boxes, die kein Objekt enthalten, und Bounding Boxes, die möglicherweise ein Objekt enthalten, geben. In der Datenprobe 1300 reichen die Bounding-Box-Bewertungen von 0,00 bis 1,00, wobei 0,00 bedeutet, dass kein Objekt detektiert wurde, 1,00 bedeutet, dass ein Objekt detektiert und korrekt gelabelt wurde, und die dazwischen liegenden Zahlen einen Konfidenzgrad repräsentieren, dass ein Objekt detektiert und korrekt gelabelt wurde. Beispielsweise enthält die Bounding Box 1301c ein Auto und weist eine Bounding-Box-Bewertung von 1,00 auf, was angibt, dass das Auto detektiert und korrekt als „Auto“ gelabelt wurde. Ebenso enthält die Bounding Box 1301d einen Fußgänger und weist eine Bounding-Box-Bewertung von 0,96 auf, was eine hohe Konfidenz angibt, dass der Fußgänger korrekt als eine „Person“ gelabelt wurde. Die Bounding Box 1301k enthält kein Objekt und weist daher eine Bounding-Box-Bewertung von 0,00 auf. Es ist zu beachten, dass in der Praxis jede Bounding Box für jede Klasse eine Bounding-Box-Bewertung aufweist. Nach verschiedenen Filterungsschritten werden jedoch nur Bounding Boxes mit hohen Bewertungen (höher als eine spezifizierte Schwelle) in die Ausgabe des Wahrnehmungsmoduls aufgenommen.
  • Tausende von Datenproben mit Bounding Boxes und Bounding-Box-Bewertungen können von Wahrnehmungsmodulen in AVs gesammelt und in einer Datenbank gespeichert werden. Um den Aufwand und die Zeit für das manuelle Labeling zu reduzieren, wird ein aktives Lernsystem verwendet, um automatisch einen menschlichen Annotierer darüber abzufragen, welche nicht gelabelten Bounding Boxes zu labeln sind, oder welche inkorrekt gelabelten Bounding Boxes neu zu labeln sind, wie nachstehend unter Bezugnahme auf 14 beschrieben. In einer Ausführungsform ist das aktive Lernsystem in einem Wahrnehmungsmodul 402 eines AV 100 implementiert, und die ausgewählten Datenproben werden vom Computersystem 300 des AV 100 dem menschlichen Annotierer über eine drahtlose Übertragung oder einen anderen Übertragungsmechanismus (z. B. Thumbdrive) bereitgestellt. In anderen Ausführungsformen stellt das AV 100 die gesammelten Datenproben dem menschlichen Annotierer zur Verfügung, und eine aktive Lernanwendung, die auf einem vom AV 100 entfernten Computersystem installiert ist, wird verwendet, um automatisch Datenproben zum Annotieren auszuwählen.
  • Da es zu viele Sensordaten gibt, um sie in einem praktischen System zu speichern, hilft das hierin offenbarte aktive Lernsystem, die Menge der in der Datenbank gespeicherten Datenproben zu reduzieren, indem fehlerhafte Annotationen in der Datenbank identifiziert werden und ein Gleichgewicht zwischen Quantität und Qualität von Datenproben in der Datenbank gefunden wird, um Systemleistung und Kosten zu optimieren. Darüber hinaus können die Effekte verschiedener Arten von Annotationsfehlern (z. B. fehlende Objekte, ungenaue Position) auf die Leistungsfähigkeit analysiert, sowie dasselbe neuronale Netzwerk mit unterschiedlichen Datenmengen trainiert werden.
  • 14 zeigt ein Blockdiagramm eines aktiven Lernsystems 1400 zum automatischen Auswählen einer Teilmenge von Datenproben 1401 zur Annotation. In dem gezeigten Beispiel beinhaltet das aktive Lernsystem 1400 Datenproben 1401, ein Bounding-Box-Vorhersagemodul 1402, ein Räumliche-Wahrscheinlichkeitsdichte-Modul 1403, ein Ensemble-Bewertungsvarianz-Modul 1404, ausgewählte Datenproben 1405 und einen Annotierer 1406.
  • Es gibt Szenarien, in denen nicht gelabelte oder inkorrekt gelabelte Daten reichlich vorhanden sind, aber manuelles Labeln durch einen Menschen teuer ist. In solchen Szenarien fragt das aktive Lernsystem 1400 den Annotierer 1406 automatisch nach Labeln ab. Die Datenproben 1401 (z. B. Bilder, Punktwolken) beinhalten Bounding Boxes mit bekannten Labeln und Bounding Boxes mit unbekannten Labeln. Die gelabelten Bounding Boxes können korrekt oder inkorrekt gelabelt sein. Das aktive Lernsystem 1400 wählt automatisch eine Teilmenge von Bounding Boxes mit unbekannten und/oder inkorrekten Labeln für das manuelle Labeln (Annotieren) durch den Annotierer 1406 aus.
  • Insbesondere ruft in einem ersten Schritt das Bounding-Box-Vorhersagemodul 1402 einen Satz gelabelter Bounding Boxes und ihre entsprechenden Bounding-Box-Bewertungen aus den Eingabedatenproben 1401 ab. Das Bounding-Box-Vorhersagemodul 1402 erzeugt dann eine Wahrscheinlichkeitsverteilung von Bounding-Box-Bewertungen über den Satz von gelabelten Bounding Boxes. In einer Ausführungsform wird die Wahrscheinlichkeitsverteilung durch ein gestapeltes Histogramm approximiert, wie in 15 gezeigt.
  • 15 zeigt ein gestapeltes Histogramm von Bounding-Box-Bewertungen. Für jedes Label wird ein gestapeltes Histogramm basierend auf einer Anzahl korrekt und inkorrekt gelabelter Bounding Boxes im Satz gelabelter Bounding Boxes erzeugt. In diesem Beispiel ist das gestapelte Histogramm für ein „Fußgänger“-Label. Die x-Achse enthält die Bins des Histogramms, die Bereiche von Bounding-Box-Bewertungen (0,0-1,0) repräsentieren. Die y-Achse ist die Anzahl der Bounding Boxes in jedem Bin. Jedes Bin weist eine Anzahl 1501 von inkorrekt gelabelten Bounding Boxes und eine Anzahl 1502 von korrekt gelabelten Bounding Boxes auf. Diese Anzahlen hängen von einer optimalen Konfidenzschwelle 1503 und einem Ground-Truth-Label ab. Die optimale Konfidenzschwelle 1503 wägt eine Beziehung zwischen falsch positiven Ergebnissen (zu viele Detektionen) und falsch negativen Ergebnissen (zu viele fehlende Detektionen) ab. Beispielsweise wird angenommen, dass Bounding Boxes mit Bewertungen, die links von der optimalen Konfidenzschwelle 1503 liegen, inkorrekte Labels aufweisen, und Bounding Boxes mit Bewertungen, die rechts von der optimalen Konfidenzschwelle 1503 liegen, korrekte Labels aufweisen.
  • Die Likelihood 1504, dass eine gegebene Bounding-Box-Bewertung inkorrekt klassifiziert wird, wird durch das Verhältnis der Anzahl inkorrekt gelabelter Bounding Boxes 1501 und der Summe der Anzahl inkorrekt gelabelter Bounding Boxes 1501 und der Anzahl korrekt gelabelter Bounding Boxes 1502 bestimmt. Wie aus 15 ersehen werden kann, gibt es einen Spitzenwert 1505 in der Likelihood 1504 nahe der optimalen Konfidenzschwelle 1503 des Fußgänger-Labels. Wenn nicht gelabelte Bounding Boxes zur Annotation ausgewählt werden, wählt das aktive Lernsystem 1400 Bounding Boxes mit Bounding-Box-Bewertungen um den Spitzenwert 1505 aus.
  • Unter erneuter Bezugnahme auf 14 besteht der nächste Schritt, der von dem aktiven Lernsystem 1400 durchgeführt wird, darin, eine räumliche Wahrscheinlichkeitsdichte über einen Satz von Bounding Boxes für jedes Label, jeden Sensor und jede Skalierung zu berechnen. Da die meisten Datenproben während der Fahrt von einem AV gesammelt werden und die Sensoren (z. B. Kamera, LiDAR, RADAR) normalerweise fest positioniert sind, kann die räumliche Wahrscheinlichkeitsdichte verwendet werden, um Ausreißer-Bounding-Boxes zu identifizieren, die nicht zur Annotation geeignet wären.
  • In einer Ausführungsform wird für jedes Label, jeden Sensor (z. B. eine Kamera) und jede Skalierung ein Gaußsches Mischmodell (GMM) auf den Satz von Bounding Boxes angewendet. Das GMM wird durch die Bounding-Box-Größe (Breite, Höhe) und die Bounding-Box-Position (x, y) im Probenreferenzrahmen parametrisiert, wobei x, y die Positionskoordinaten der oberen linken Ecke der Bounding Box im Probenreferenzrahmen (z. B. Bildreferenzrahmen) sein können. Um die räumlichen Dichten als Wahrscheinlichkeiten zu behandeln, werden die räumlichen Dichten auf einen Bereich von [0, 1] normiert, indem die räumlichen Dichten durch den größten räumlichen Dichtewert dividiert werden, der in der Menge von Bounding Boxes angetroffen wird. In einer Ausführungsform kann ein Minimalwert für den größten räumlichen Dichtewert erzwungen werden (z. B. 1e-4), um zu vermeiden, dass aus der Normierung Fehler aufgrund der Division durch Null auftreten.
  • Unter erneuter Bezugnahme auf 16 zeigt der Plot die räumliche Wahrscheinlichkeitsdichte des GMM für das Label „Fahrrad_ohne_Fahrer“ und die Kamera B0 für eine Bounding-Box-Skalierung mittlerer Größe (z. B. einen Box-Faktor von 1,0). In diesem Beispiel zeigt die Kamera B0 nach hinten, weshalb die räumliche Wahrscheinlichkeitsdichte entlang der vertikalen Achse symmetrisch ist. Falls die Kamera zur Seite des AV 100 zeigen würde, wäre die räumliche Wahrscheinlichkeitsdichte möglicherweise nicht symmetrisch.
  • Die räumliche Wahrscheinlichkeitsdichte zeigt an, wo sich wahrscheinlich ein Fahrrad ohne Fahrer im Bild befinden würde. Der Plot kann als eine Wahrscheinlichkeitsverteilung von Fahrrädern ohne Fahrer über den Bildraum angesehen werden. Aus dem Plot ist ersichtlich, dass die meisten Dichten in einem mittleren Band 1600 gruppiert sind und dass es Likelihood-Spitzen gibt, die sich in die untere linke und rechte Seite des Plots erstrecken. Bei der Auswahl von Bounding Boxes zur Annotation wählt das aktive Lernsystem 1400 Bounding Boxes im mittleren Band 1600 aus. Bounding Boxes im oberen Teil des Plots und im unteren Teil des Plots sind wahrscheinlich Ausreißer. Da beispielsweise der obere Teil den Himmel im Bild repräsentiert (vorausgesetzt, dass das AV nicht auf dem Dach liegt), ist es unwahrscheinlich, dass ein Fahrrad im Himmel detektiert werden würde. Dementsprechend werden Bounding Boxes, die außerhalb des mittleren Bandes 1600 liegen, von der Annotation ausgeschlossen.
  • Unter erneuter Bezugnahme auf 14 besteht der nächste Schritt, der von dem aktiven Lernsystem 1400 durchgeführt wird, darin, dass das Ensemble-Bewertungsvarianz-Modul 1404 eine Ensemble-Bewertungsvarianz berechnet. Wie in 17 gezeigt, werden N maschinelle Lernmodelle (ML-Modelle) 1701a-1701n (z. B. 3 neuronale Netzwerke) mit Trainingsdaten (z. B. Trainingsbildern) trainiert. In einer Ausführungsform wird ein einzelnes neuronales Basis-Netzwerk trainiert, N Kopien des neuronalen Basis-Netzwerks werden erstellt und jede Kopie wird unter Verwendung einer anderen zufälligen Reihenfolge der Trainingsdaten fein abgestimmt. Das „Ensemble“ von maschinellen Lernmodellen (z. B. CNNs) erzeugt N Sätze von Vorhersagen, die in ein Paarweiser-Komparator-Modul 1702 eingespeist werden. Das Paarweiser-Komparator-Modul 1702 berechnet die paarweise Übereinstimmung zwischen den N Sätzen von Vorhersagen, um N Ensemble-Bewertungen zu erzeugen (z. B. Satz von N Mean-Average-Precision(mAP)-Werten), wobei jeder Satz von Vorhersagen wiederum die „Ground Truth“ für die anderen Sätze von Vorhersagen auf Box-Ebene ist. Ein Ensemble-Bewertungsvarianz-Generator 1703 berechnet dann eine Ensemble-Bewertungsvarianz, die ein Maß für die Differenz zwischen den N Ensemble-Bewertungen ist. Bei der Auswahl von Datenproben (z. B. Bildern) zur Annotation wählt das aktive Lernsystem 1400 Datenproben mit der höchsten Ensemble-Bewertungsvarianz (höchsten Unsicherheit) aus. In einer alternativen Ausführungsform werden modalübergreifende Ensembles verwendet, bei denen ein Maß für die Übereinstimmung zwischen Objektdetektionen hergestellt wird, die von mehreren verschiedenen Sensoren (z. B. RADAR, LiDAR und Kamera) ausgegeben werden.
  • In einer Ausführungsform werden zeitliche Inkonsistenz-Hinweise verwendet, um zu bestimmen, ob aufeinanderfolgende Frames von Datenproben (z. B. aufeinanderfolgende Videoframes) zeitliches Rauschen (z. B. „Flimmern“) enthalten. Beispielsweise kann ein Objekt verschwinden und dann in nachfolgenden Videoframes wieder angezeigt werden. Objektverfolgungsalgorithmen (z. B. Konturverfolgung, kernelbasierte Verfolgung, CNN-basierte Ansätze) können verwendet werden, um die Objekte über Frames hinweg zu verfolgen und „Flimmern“ zu detektieren. Die Datenproben, die ein Flimmern verursachen, werden zur Annotation ausgewählt.
  • In einer Ausführungsform werden digitale Karten verwendet, um zu bestimmen, ob Objekte Karteneinschränkungen verletzen. Beispielsweise verstößt ein Auto, das in einem Gebäude detektiert wird, gegen eine Karteneinschränkung. Bounding Boxes, die gegen Karteneinschränkungen verstoßen, werden von der Auswahl zur Annotation ausgeschlossen. Die Karteneinschränkungen müssen keine harten Einschränkungen sein. In einer Ausführungsform wird die Likelihood, dass sich ein Fußgänger auf einer Straße, einem Bürgersteig usw. befindet, statistisch modelliert.
  • 18 zeigt ein Flussdiagramm eines aktiven Lernprozesses zum automatischen Auswählen von Datenproben zur Annotation. Der Prozess 1800 kann durch das in 14 gezeigte aktive Lernsystem beispielsweise unter Verwendung des in 3 gezeigten AV-Computersystems 300 implementiert werden.
  • Der Prozess 1800 beginnt mit dem Erhalten von Datenproben, die Bounding Boxes und entsprechende Bounding-Box-Bewertungen enthalten (1801). Beispielsweise können Datenproben von einem Objektdetektor in einem Wahrnehmungsmodul eines AV erzeugt werden, wie unter Bezugnahme auf die 4 und 5 beschrieben. Der Objektdetektor kann ein neuronales Netzwerk (z. B. ein CNN) sein. Der Objektdetektor kann als Eingabe Bilder und/oder Punktwolken annehmen, die von einer Kamera bzw. LiDAR/RADAR aufgenommen wurden. Der Objektdetektor gibt das Bild oder die Punktwolke mit Bounding Boxes, die die detektierten Objekte umgeben, Labels, die die Objekte labeln, und Bounding-Box-Bewertungen, die die Konfidenz des Objektdetektors angeben, dass die Bounding Boxes korrekt gelabelt wurden, aus.
  • Der Prozess 1800 fährt fort mit dem Erzeugen einer Verteilung der Bounding-Box-Bewertungen (1802). Beispielsweise ist der Prozess 1800 in der Lage, Bounding Boxes mit Bounding-Box-Bewertungen links von der optimalen Konfidenzschwelle 1503 (15) als inkorrekt gelabelt und Bounding Boxes mit Bounding-Box-Bewertungen rechts von der optimalen Konfidenzschwelle 1503 als korrekt gelabelt zu identifizieren. Ein gestapeltes Histogramm kann dann erstellt werden, um die Verteilung unter Verwendung der Anzahl von inkorrekt und korrekt gelabelten Bounding Boxes zu approximieren, wie in Bezug auf 15 beschrieben. Für jedes Bin des gestapelten Histogramms wird eine Likelihood berechnet und zur Auswahl von Bounding Boxes zur Annotation verwendet.
  • Der Prozess 1800 fährt fort mit dem Erzeugen einer räumlichen Wahrscheinlichkeitsdichte über einen Satz von Bounding Boxes für jedes Label, jeden Sensor und jede Skalierung basierend auf der Box-Größe und -Position (1803). Beispielsweise kann ein GMM, das durch Box-Größe und -Position in einer Bildprobe parametrisiert ist, verwendet werden, um die räumliche Wahrscheinlichkeitsdichte für den Satz von Bounding Boxes zu erzeugen. Die räumliche Wahrscheinlichkeitsdichte wird verwendet, um Ausreißer-Bounding-Boxes zu bestimmen, die zur Annotation ausgewählt werden sollen, wie in Bezug auf 16 beschrieben.
  • Der Prozess 1800 fährt fort mit dem Erzeugen einer Ensemble-Bewertungsvarianz aus Sätzen von Vorhersagen, die von mehreren maschinellen Lernmodellen ausgegeben werden (1804). Beispielsweise werden N maschinelle Lernmodelle (ML-Modelle) (z. B. 3 CNNs) mit Trainingsdaten (z. B. Trainingsbildern) trainiert. Das „Ensemble“ von maschinellen Lernmodellen erzeugt N Sätze von Vorhersagen, die in ein Paarweiser-Komparator-Modul eingespeist werden. Das Paarweiser-Komparator-Modul berechnet die paarweise Übereinstimmung zwischen den N Sätzen von Vorhersagen, um N Ensemble-Bewertungen zu erzeugen (z. B. Satz von N mAP-Werten), wobei jeder Satz von Vorhersagen wiederum die „Ground Truth“ für die anderen Sätze von Vorhersagen auf Box-Ebene ist. Ein Ensemble-Bewertungsvarianz-Generator berechnet dann eine Ensemble-Bewertungsvarianz, die ein Maß für die Differenz zwischen den N Ensemble-Bewertungen ist. Bei der Auswahl von Bounding Boxes zur Annotation wählt das aktive Lernsystem Datenproben mit der höchsten Varianz aus. In einer alternativen Ausführungsform werden modalübergreifende Ensembles verwendet, bei denen ein Maß für die Übereinstimmung zwischen Objektdetektionen hergestellt wird, die von mehreren verschiedenen Sensoren (z. B. RADAR, LiDAR und Kamera) ausgegeben werden.
  • Der Prozess 1800 fährt fort mit dem Verwenden spezieller Kombinationen aus Bounding-Box-Bewertungsverteilung, räumlicher Wahrscheinlichkeitsdichte und Ensemble-Bewertungsvarianz, um Datenproben zur Annotation auszuwählen (1805). In einer Ausführungsform werden die Ensemble-Bewertungsvarianz und die Verteilung der Bounding-Box-Bewertungen verwendet, um Datenproben zur Annotation auszuwählen, ohne die räumliche Wahrscheinlichkeitsdichte zu verwenden. In einer Ausführungsform werden die Ensemble-Bewertungsvarianz und die räumliche Wahrscheinlichkeitsdichte verwendet, um Datenproben zur Annotation auszuwählen, ohne die Verteilung der Bounding-Box-Bewertungen zu verwenden. In einer Ausführungsform werden die Verteilung der Bounding-Box-Bewertungen und die räumliche Wahrscheinlichkeitsdichte verwendet, um Datenproben zur Annotation auszuwählen, ohne die Ensemble-Bewertungsvarianz zu verwenden.
  • In der vorstehenden Beschreibung wurden Ausführungsformen der Erfindung mit Bezug auf zahlreiche spezifische Einzelheiten beschrieben, die von Implementierung zu Implementierung variieren können. Die Beschreibung und Zeichnungen sind dementsprechend als veranschaulichend anstatt beschränkend anzusehen. Der alleinige und ausschließliche Indikator des Schutzumfangs der Erfindung, und was durch die Anmelder als der Schutzumfang der Erfindung beabsichtigt ist, ist der wörtliche und äquivalente Schutzumfang des Satzes von Ansprüchen, die aus dieser Anmeldung hervorgehen, in der spezifischen Form, in der derartige Ansprüche hervorgehen, einschließlich einer beliebigen anschließenden Korrektur. Jegliche hierin ausdrücklich dargelegte Definitionen für in derartigen Ansprüchen enthaltenen Begriffe sollen die Bedeutung solcher Begriffe regulieren, wie in den Ansprüchen verwendet. Zusätzlich kann, wenn der Begriff „ferner umfassend“ in der vorstehenden Beschreibung oder in den folgenden Ansprüchen verwendet wird, das, was diesem Ausdruck folgt, ein zusätzlicher Schritt oder eine zusätzliche Entität oder ein Teilschritt/eine Teilentität eines zuvor vorgetragenen Schritts oder einer zuvor vorgetragenen Entität sein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/796064 [0001]

Claims (26)

  1. Verfahren, das Folgendes umfasst: Erhalten, unter Verwendung eines oder mehrerer Prozessoren, eines Satzes von Datenproben, wobei jede Datenprobe eine oder mehrere Bounding Boxes enthält, wobei jede Bounding Box ein potenzielles Objekt oder eine potenzielle Szene in einer Umgebung enthält, wobei jede Bounding Box ein Label und eine Bounding-Box-Bewertung, die eine Konfidenz angibt, dass das Label korrekt ist, aufweist; und Auswählen, unter Verwendung des einen oder der mehreren Prozessoren, einer Teilmenge von Datenproben zur Annotation basierend auf einer Bounding-Box-Vorhersagekonfidenz, die unter Verwendung einer Wahrscheinlichkeitsverteilung von Bounding-Box-Bewertungen bestimmt wurde, und einer Ensemble-Bewertungsvarianz basierend auf Differenzen in Ensemble-Bewertungen, die aus Sätzen von Vorhersagen berechnet werden, die durch mehrere maschinelle Lernmodelle ausgegeben wurden.
  2. Verfahren nach Anspruch 2, ferner umfassend: Auswählen, unter Verwendung des einen oder der mehreren Prozessoren, der Teilmenge von Datenproben zur Annotation basierend auf der Bounding-Box-Vorhersagekonfidenz, einer räumlichen Wahrscheinlichkeitsdichte der Bounding Boxes, die durch Bounding-Box-Größe und -Position parametrisiert ist, und der Ensemble-Bewertungsvarianz.
  3. Verfahren nach Anspruch 1, wobei die Bounding-Box-Vorhersage ferner Folgendes umfasst: für jedes Label: Erzeugen einer Wahrscheinlichkeitsverteilung von Bounding-Box-Bewertungen; und Bestimmen, auf Basis der Verteilung, einer Likelihood, dass eine spezielle Bounding Box inkorrekt gelabelt ist; und Auswählen oder Ausschließen der speziellen Bounding Box für die bzw. von der Annotation basierend auf der Likelihood.
  4. Verfahren nach Anspruch 3, wobei die Verteilung durch ein Histogramm mit Bins approximiert wird, die Bereiche von Bounding-Box-Bewertungen repräsentieren, und jedes Bin mit einer Likelihood assoziiert ist.
  5. Verfahren nach Anspruch 4, wobei für jedes Bin die Likelihood aus einem Verhältnis einer Anzahl von inkorrekt gelabelten Bounding Boxes, die dem Bin zugeordnet sind, und einer Summe der Anzahl von inkorrekt gelabelten Bounding Boxes und einer Anzahl von gelabelten Bounding Boxes, die dem Bin zugeordnet sind, berechnet wird.
  6. Verfahren nach Anspruch 2, ferner umfassend: für jedes Label, jeden Sensor und jede Skalierung: Bestimmen der räumlichen Wahrscheinlichkeitsdichte unter Verwendung eines Gaußschen Mischmodells (GMM) über einen Satz von Bounding Boxes für das Label, den Sensor und die Skalierung, wobei das GMM durch Bounding-Box-Größe und -Position parametrisiert wird.
  7. Verfahren nach Anspruch 6, wobei die räumliche Wahrscheinlichkeitsdichte für das Label bestimmt wird, indem die räumlichen Dichten für das Label durch einen größten Dichtewert unter allen räumlichen Dichtewerten für das Label geteilt werden.
  8. Verfahren nach Anspruch 1, ferner umfassend: Verarbeiten der Datenproben mittels mehrerer verschiedener maschineller Lernmodelle, um vorhergesagte gelabelte Bounding Boxes zu erzeugen; Berechnen einer Ensemble-Bewertung für jeden paarweisen Vergleich der vorhergesagten gelabelten Bounding Boxes, wobei jede vorhergesagte gelabelte Bounding Box eine Ground Truth für den Vergleich mit den anderen vorhergesagten gelabelten Bounding Boxes ist; und Berechnen einer Ensemble-Bewertungsvarianz basierend auf den Ensemble-Bewertungen.
  9. Verfahren nach Anspruch 8, wobei die mehreren verschiedenen maschinellen Lernmodelle mehrere verschiedene neuronale Netzwerke beinhalten, die durch Trainingsdatenproben abgestimmt werden, die von verschiedenen Arten von Sensoren bereitgestellt werden.
  10. Verfahren nach Anspruch 9, wobei die verschiedenen Arten von Sensoren LiDAR, RADAR und eine Kamera beinhalten.
  11. Verfahren nach Anspruch 9, wobei die mehreren unterschiedlichen neuronalen Netzwerke an unterschiedlichen zufälligen Reihenfolgen der Trainingsdatenproben trainiert werden.
  12. Verfahren nach Anspruch 1, ferner umfassend: Detektieren, durch den einen oder die mehreren Prozessoren, einer zeitlichen Inkonsistenz zwischen aufeinanderfolgenden Datenproben; gemäß einer Detektion der zeitlichen Inkonsistenz, Auswählen mindestens einer der aufeinanderfolgenden Datenproben zur Annotation.
  13. Verfahren nach Anspruch 1, ferner umfassend: Verwenden, durch den einen oder die mehreren Prozessoren, von Karteneinschränkungen, um einen Fehler zu detektieren, der mit einer Bounding Box assoziiert ist; und gemäß einer Detektion des Fehlers, Ausschließen der Bounding Box von der Annotation.
  14. Aktives Lernsystem, das Folgendes umfasst: eine Speicherungsvorrichtung, die Datenproben beinhaltet; einen oder mehrere Prozessoren; Speicher, der Anweisungen speichert, die bei Ausführung durch den einen oder die mehreren Prozessoren bewirken, dass der eine oder die mehreren Prozessoren ein beliebiges der Verfahren der vorangegangenen Ansprüche 1-13 durchführen, Erhalten eines Satzes von Datenproben, wobei jede Datenprobe eine oder mehrere Bounding Boxes enthält, wobei jede Bounding Box ein potenzielles Objekt oder eine potenzielle Szene in einer Umgebung enthält, wobei jede Bounding Box ein Label und eine Bounding-Box-Bewertung, die eine Konfidenz angibt, dass das Label korrekt ist, aufweist; und Auswählen einer Teilmenge von Datenproben zur Annotation basierend auf einer Bounding-Box-Vorhersagekonfidenz, die unter Verwendung einer Wahrscheinlichkeitsverteilung von Bounding-Box-Bewertungen bestimmt wurde, und einer Ensemble-Bewertungsvarianz basierend auf Differenzen in Ensemble-Bewertungen, die aus Sätzen von Vorhersagen berechnet werden, die durch mehrere maschinelle Lernmodelle ausgegeben wurden.
  15. System nach Anspruch 14, ferner umfassend: Auswählen der Teilmenge von Datenproben zur Annotation basierend auf der Bounding-Box-Vorhersagekonfidenz, einer räumlichen Wahrscheinlichkeitsdichte der Bounding Boxes, die durch Bounding-Box-Größe und -Position parametrisiert sind, und der Ensemble-Bewertungsvarianz.
  16. System nach Anspruch 14, wobei die Bounding-Box-Vorhersage ferner Folgendes umfasst: für jedes Label: Erzeugen einer Wahrscheinlichkeitsverteilung von Bounding-Box-Bewertungen; und Bestimmen, auf Basis der Verteilung, einer Likelihood, dass eine spezielle Bounding Box inkorrekt gelabelt ist; und Auswählen oder Ausschließen der speziellen Bounding Box für die bzw. von der Annotation basierend auf der Likelihood.
  17. System nach Anspruch 16, wobei die Verteilung durch ein Histogramm mit Bins approximiert wird, die Bereiche von Bounding-Box-Bewertungen repräsentieren, und jedes Bin mit einer Likelihood assoziiert ist.
  18. System nach Anspruch 17, wobei für jedes Bin die Likelihood aus einem Verhältnis einer Anzahl von inkorrekt gelabelten Bounding Boxes, die dem Bin zugeordnet sind, und einer Summe der Anzahl von inkorrekt gelabelten Bounding Boxes und einer Anzahl von gelabelten Bounding Boxes, die dem Bin zugeordnet sind, berechnet wird.
  19. System nach Anspruch 15, ferner umfassend: für jedes Label, jeden Sensor und jede Skalierung: Bestimmen der räumlichen Wahrscheinlichkeitsdichte unter Verwendung eines Gaußschen Mischmodells (GMM) über einen Satz von Bounding Boxes für das Label, den Sensor und die Skalierung, wobei das GMM durch Bounding-Box-Größe und -Position parametrisiert wird.
  20. System nach Anspruch 19, wobei die räumliche Wahrscheinlichkeitsdichte für das Label bestimmt wird, indem die räumlichen Dichten für das Label durch einen größten Dichtewert unter allen räumlichen Dichtewerten für das Label geteilt werden.
  21. System nach Anspruch 14, ferner umfassend: Verarbeiten der Datenproben mittels mehrerer verschiedener maschineller Lernmodelle, um vorhergesagte gelabelte Bounding Boxes zu erzeugen; Berechnen einer Ensemble-Bewertung für jeden paarweisen Vergleich der vorhergesagten gelabelten Bounding Boxes, wobei jede vorhergesagte gelabelte Bounding Box eine Ground Truth für den Vergleich mit den anderen vorhergesagten gelabelten Bounding Boxes ist; und Berechnen einer Ensemble-Bewertungsvarianz basierend auf den Ensemble-Bewertungen.
  22. System nach Anspruch 21, wobei die mehreren verschiedenen maschinellen Lernmodelle mehrere verschiedene neuronale Netzwerke beinhalten, die durch Trainingsdatenproben abgestimmt werden, die von verschiedenen Arten von Sensoren bereitgestellt werden.
  23. System nach Anspruch 22, wobei die verschiedenen Arten von Sensoren LiDAR, RADAR und eine Kamera beinhalten.
  24. System nach Anspruch 22, wobei die mehreren unterschiedlichen neuronalen Netzwerke an unterschiedlichen zufälligen Reihenfolgen der Trainingsdatenproben trainiert werden.
  25. System nach Anspruch 14, ferner umfassend: Detektieren einer zeitlichen Inkonsistenz zwischen aufeinanderfolgenden Datenproben; gemäß einer Detektion der zeitlichen Inkonsistenz, Auswählen mindestens einer der aufeinanderfolgenden Datenproben zur Annotation.
  26. System nach Anspruch 14, ferner umfassend: Verwenden von Karteneinschränkungen, um einen Fehler zu detektieren, der mit einer Bounding Box assoziiert ist; und gemäß einer Detektion des Fehlers, Ausschließen der Bounding Box von der Annotation.
DE112020000487.2T 2019-01-23 2020-01-23 Automatisches wählen von datenproben zur annotation Pending DE112020000487T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962796064P 2019-01-23 2019-01-23
US62/796,064 2019-01-23
PCT/IB2020/050542 WO2020152627A1 (en) 2019-01-23 2020-01-23 Automatically choosing data samples for annotation

Publications (1)

Publication Number Publication Date
DE112020000487T5 true DE112020000487T5 (de) 2021-11-18

Family

ID=69467590

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020000487.2T Pending DE112020000487T5 (de) 2019-01-23 2020-01-23 Automatisches wählen von datenproben zur annotation

Country Status (6)

Country Link
US (1) US11521010B2 (de)
KR (1) KR102593948B1 (de)
CN (1) CN113196291A (de)
DE (1) DE112020000487T5 (de)
GB (2) GB202304340D0 (de)
WO (1) WO2020152627A1 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11055540B2 (en) * 2019-06-28 2021-07-06 Baidu Usa Llc Method for determining anchor boxes for training neural network object detection models for autonomous driving
JP7215390B2 (ja) * 2019-10-10 2023-01-31 トヨタ自動車株式会社 路上障害物検知装置、路上障害物検知方法、及び路上障害物検知プログラム
US11776215B1 (en) * 2019-12-16 2023-10-03 Scale AI, Inc. Pre-labeling data with cuboid annotations
JP7196205B2 (ja) * 2020-05-15 2022-12-26 バイドゥドットコム タイムズ テクノロジー (ベイジン) カンパニー リミテッド 部分的ポイントクラウドベースの歩行者速度推定方法
US11663486B2 (en) * 2020-06-23 2023-05-30 International Business Machines Corporation Intelligent learning system with noisy label data
US20220012535A1 (en) * 2020-07-08 2022-01-13 Vmware, Inc. Augmenting Training Data Sets for ML Classifiers Using Classification Metadata
US20220063666A1 (en) * 2020-09-01 2022-03-03 Motional Ad Llc Scoring autonomous vehicle trajectories using reasonable crowd data
US11769318B2 (en) 2020-11-23 2023-09-26 Argo AI, LLC Systems and methods for intelligent selection of data for building a machine learning model
US20220188695A1 (en) * 2020-12-16 2022-06-16 Argo AI, LLC Autonomous vehicle system for intelligent on-board selection of data for training a remote machine learning model
CN112734035B (zh) * 2020-12-31 2023-10-27 成都佳华物链云科技有限公司 一种数据处理方法及装置、可读存储介质
US11657591B2 (en) * 2021-01-15 2023-05-23 Argo AI, LLC Autonomous vehicle system for intelligent on-board selection of data for building a remote machine learning model
CN112422590B (zh) * 2021-01-25 2021-04-27 中国人民解放军国防科技大学 基于主动学习的网络流量分类方法及装置
KR102581154B1 (ko) * 2021-04-06 2023-09-21 고려대학교 세종산학협력단 모델 앙상블을 이용한 객체 탐지 방법 및 장치
US11710254B2 (en) 2021-04-07 2023-07-25 Ford Global Technologies, Llc Neural network object detection
EP4092565A1 (de) * 2021-05-19 2022-11-23 Continental Autonomous Mobility Germany GmbH Vorrichtung und verfahren zur beschleunigung eines annotationsqualitätsprüfungsprozesses
CN113408916B (zh) * 2021-06-28 2023-12-29 河南唐都科技有限公司 基于智能ai和移动app的消防设施检测及现场验收评定***
US11887324B2 (en) 2021-06-30 2024-01-30 Motional Ad Llc Cross-modality active learning for object detection
US11880428B2 (en) 2021-11-12 2024-01-23 Toyota Motor Engineering & Manufacturing North America, Inc. Methods and systems for updating perception models based on geolocation features
US20230169149A1 (en) * 2021-12-01 2023-06-01 International Business Machines Corporation Image recognition training data quality enhancement
WO2023225605A1 (en) * 2022-05-20 2023-11-23 Tesla, Inc. Systems and methods for labeling images for training machine learning model
CN117054968B (zh) * 2023-08-19 2024-03-12 杭州优航信息技术有限公司 基于线性阵列麦克风的声源定位***及其方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205482A1 (en) * 2002-01-24 2004-10-14 International Business Machines Corporation Method and apparatus for active annotation of multimedia content
US8769396B2 (en) * 2009-06-05 2014-07-01 Microsoft Corporation Calibration and annotation of video content
US9070202B2 (en) * 2013-03-14 2015-06-30 Nec Laboratories America, Inc. Moving object localization in 3D using a single camera
US20160026898A1 (en) * 2014-07-24 2016-01-28 Agt International Gmbh Method and system for object detection with multi-scale single pass sliding window hog linear svm classifiers
US10037312B2 (en) * 2015-03-24 2018-07-31 Fuji Xerox Co., Ltd. Methods and systems for gaze annotation
US10410096B2 (en) * 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
US9767381B2 (en) * 2015-09-22 2017-09-19 Xerox Corporation Similarity-based detection of prominent objects using deep CNN pooling layers as features
US9972092B2 (en) * 2016-03-31 2018-05-15 Adobe Systems Incorporated Utilizing deep learning for boundary-aware image segmentation
US11144761B2 (en) * 2016-04-04 2021-10-12 Xerox Corporation Deep data association for online multi-class multi-object tracking
WO2018009552A1 (en) * 2016-07-05 2018-01-11 Nauto Global Limited System and method for image analysis
US10354159B2 (en) * 2016-09-06 2019-07-16 Carnegie Mellon University Methods and software for detecting objects in an image using a contextual multiscale fast region-based convolutional neural network
US10424064B2 (en) * 2016-10-18 2019-09-24 Adobe Inc. Instance-level semantic segmentation system
US11379695B2 (en) * 2016-10-24 2022-07-05 International Business Machines Corporation Edge-based adaptive machine learning for object recognition
US20180129742A1 (en) * 2016-11-10 2018-05-10 Qualcomm Incorporated Natural language object tracking
US10380741B2 (en) * 2016-12-07 2019-08-13 Samsung Electronics Co., Ltd System and method for a deep learning machine for object detection
US10228693B2 (en) * 2017-01-13 2019-03-12 Ford Global Technologies, Llc Generating simulated sensor data for training and validation of detection models
EP3399465A1 (de) 2017-05-05 2018-11-07 Dassault Systèmes Anlegen eines datensatzes für vollständig überwachtes lernen
US10809361B2 (en) * 2017-05-31 2020-10-20 Uatc, Llc Hybrid-view LIDAR-based object detection
US11042155B2 (en) * 2017-06-06 2021-06-22 Plusai Limited Method and system for closed loop perception in autonomous driving vehicles
US10579897B2 (en) * 2017-10-02 2020-03-03 Xnor.ai Inc. Image based object detection
US10535138B2 (en) * 2017-11-21 2020-01-14 Zoox, Inc. Sensor data segmentation
US10671887B2 (en) * 2017-12-05 2020-06-02 Axis Ab Best image crop selection
CN108257148B (zh) * 2018-01-17 2020-09-25 厦门大学 特定对象的目标建议窗口生成方法及其在目标跟踪的应用
US10241588B1 (en) * 2018-01-31 2019-03-26 Piccolo Labs Inc. System for localizing devices in a room
US11537139B2 (en) * 2018-03-15 2022-12-27 Nvidia Corporation Determining drivable free-space for autonomous vehicles
US10649459B2 (en) * 2018-04-26 2020-05-12 Zoox, Inc. Data segmentation using masks
US10489918B1 (en) * 2018-05-09 2019-11-26 Figure Eight Technologies, Inc. Video object tracking
CN108830300A (zh) * 2018-05-28 2018-11-16 深圳市唯特视科技有限公司 一种基于混合监督检测的目标传输方法
CN108875600A (zh) * 2018-05-31 2018-11-23 银江股份有限公司 一种基于yolo的车辆信息检测和跟踪方法、装置及计算机存储介质
US11592818B2 (en) * 2018-06-20 2023-02-28 Zoox, Inc. Restricted multi-scale inference for machine learning
US10885721B2 (en) * 2018-09-28 2021-01-05 Jido Inc. Method for detecting objects and localizing a mobile computing device within an augmented reality experience
US10936902B1 (en) * 2018-11-27 2021-03-02 Zoox, Inc. Training bounding box selection
US10509987B1 (en) * 2019-01-22 2019-12-17 StradVision, Inc. Learning method and learning device for object detector based on reconfigurable network for optimizing customers' requirements such as key performance index using target object estimating network and target object merging network, and testing method and testing device using the same
US10977518B1 (en) * 2019-03-15 2021-04-13 Amazon Technologies, Inc. Machine learning based adaptive instructions for annotation
US11294884B2 (en) * 2019-08-09 2022-04-05 International Business Machines Corporation Annotation assessment and adjudication

Also Published As

Publication number Publication date
GB2589751A8 (en) 2021-08-18
KR20210112293A (ko) 2021-09-14
GB2589751A (en) 2021-06-09
GB202020160D0 (en) 2021-02-03
GB202304340D0 (en) 2023-05-10
US11521010B2 (en) 2022-12-06
KR102593948B1 (ko) 2023-10-25
GB2589751B (en) 2023-05-17
CN113196291A (zh) 2021-07-30
US20200272854A1 (en) 2020-08-27
WO2020152627A1 (en) 2020-07-30

Similar Documents

Publication Publication Date Title
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102020111938A1 (de) Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie
DE102020131323A1 (de) Kamera-zu-lidar-kalibration und -validierung
DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
DE102021101758A1 (de) Ampeldetektionssystem für ein fahrzeug
DE102020129854A1 (de) Sequenzielle fusion zur 3d-objektdetektion
DE102020133982A1 (de) Automatisierte objektannotation unter verwendung fusionierter kamera-/lidar-datenpunkte
DE102020129456A1 (de) Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien
DE102020133744A1 (de) Vordergrundextraktion unter verwendung von flächenanpassung
DE112019006119T5 (de) Erstellung von bewegungsgraphen und routenplanung auf fahrspurebene
DE102020210499A1 (de) Datengesteuerte regelwerke
DE112020000110T5 (de) Nutzung von in fahrzeugen erfassten fahrgastaufmerksamkeitsdaten fürlokalisierungs- und standortbezogene dienste
DE112020000653T5 (de) Zusammenführen von daten aus mehreren lidar-vorrichtungen
DE102021112349A1 (de) Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
DE112019006282T5 (de) Betrieb eines Fahrzeugs unter Verwendung mehrerer Bewegungsbeschränkungen
DE102020126217A1 (de) Navigieren von Mehrwege-Stopp-Kreuzungen mit einem autonomen Fahrzeug
DE102020135000A1 (de) Systeme und verfahren zur verkehrsampelerfassung
DE112020002695T5 (de) Autonomer fahrzeugbetrieb mittels linearer temporaler logik
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung
DE102021124913A1 (de) Metrik-backpropagation für die beurteilung der leistung von untersystemen
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102020128155A1 (de) Bedingte bewegungsvorhersagen
DE102021110157A1 (de) Av-wegplanung mit kalibrierungsinformationen
DE102021131844A1 (de) Systeme und verfahren zum implementieren von verdeckungspräsentationen über strassenmerkmale
DE102021131820A1 (de) Zusammenführen von lidar-informationen und kamerainformationen

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009000000

Ipc: G06V0010000000

R012 Request for examination validly filed