DE102021118316A1 - Monokulare 3d-objekterkennung aus bildsemantiknetzwerk - Google Patents

Monokulare 3d-objekterkennung aus bildsemantiknetzwerk Download PDF

Info

Publication number
DE102021118316A1
DE102021118316A1 DE102021118316.2A DE102021118316A DE102021118316A1 DE 102021118316 A1 DE102021118316 A1 DE 102021118316A1 DE 102021118316 A DE102021118316 A DE 102021118316A DE 102021118316 A1 DE102021118316 A1 DE 102021118316A1
Authority
DE
Germany
Prior art keywords
network
vehicle
data
properties
encoded
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
DE102021118316.2A
Other languages
English (en)
Inventor
Donghyeon Won
Oscar Olof Beijbom
Varun Kumar Reddy Bankiti
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 DE102021118316A1 publication Critical patent/DE102021118316A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/10Path keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • 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
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/10Path keeping
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Electromagnetism (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Traffic Control Systems (AREA)

Abstract

Es werden Techniken zur monokularen 3D-Objekterkennung aus einem Bildsemantiknetzwerk bereitgestellt. Ein Bildsemantiknetzwerk (Image Semantics Network, ISN) ist ein einstufiges Einbildobjekterkennungsnetzwerk, das auf Einzelaufnahmedetektion (Single Shot Detection, SSD) basiert. In einer Ausführungsform ergänzt das ISN die SSD-Ausgaben, um kodierte 3D-Eigenschaften des Objekts zusammen mit einer 2D-Begrenzungsbox und Klassifizierungsergebnissen bereitzustellen. Für jede Priorbox wird eine 3D-Begrenzungsbox für das Objekt erzeugt, wobei die Abmessungen und die Position der Priorbox, die kodierten 3D-Eigenschaften und die kameraeigenen Parameter verwendet werden.

Description

  • GEBIET DER ERFINDUNG
  • Die folgende Beschreibung betrifft allgemein Wahrnehmungssysteme für autonome Fahrzeuge.
  • HINTERGRUND
  • Es gibt eine Anzahl von Sensoren, mit denen ein autonomes Fahrzeug seine Umgebung erkennen kann, z. B. Kameras, Light Detection and Ranging(LiDAR)- und Radio Detection and Ranging(RADAR)-Sensoren. Zweidimensionale (2D) Bilder aus Kameras und dreidimensionale (3D) Punktwolken aus LiDAR-Sensoren werden typischerweise in eine „Pipeline“ zur Wahrnehmungsverarbeitung eingegeben, die dazu eingerichtet ist, Objekte in den Bildern und Punktwolken zu erkennen und zu klassifizieren oder zu markieren, um eine 3D-Objekterkennung bereitzustellen. Bestehende Wahrnehmungspipelines enthalten oft ein faltendes neuronales Netzwerk (Convolutional Neural Network, CNN), das zweidimensionale (2D) Begrenzungsboxen regressiert, und ein separates CNN, das 3D-Begrenzungsboxen regressiert. Studien haben gezeigt, dass die Verschmelzung dieser beiden Modalitäten eine genauere Wahrnehmung liefern kann als einzeln. Die Verschmelzung dieser beiden Modalitäten ist jedoch aufgrund der unterschiedlichen Dimensionen komplex. Außerdem besteht der Wunsch, von teuren LiDAR-Sensoren wegzukommen und sich ausschließlich auf preiswertere Kameras, RADAR und Sonar zu verlassen, um Eingaben für die Wahrnehmungspipeline zu erzeugen.
  • KURZDARSTELLUNG
  • Es werden Techniken zur monokularen 3D-Objekterkennung aus einem Bildsemantiknetzwerk bereitgestellt. In einer Ausführungsform umfasst ein Verfahren: das Empfangen, unter Verwendung eines oder mehrerer Prozessoren eines Fahrzeugs, von Bildern aus einer Kamera des Fahrzeugs; Erzeugen, unter Verwendung eines Objekterkennungsnetzwerks mit den Bildern als Eingabe, von zweidimensionalen (2D) Begrenzungsboxen, die in den Bildern erkannte Objekte enthalten, und einer entsprechenden Klassifizierungsbewertung für jede 2D-Begrenzungsbox; für jede mit jeder 2D-Begrenzungsbox verbundene Priorbox: Erzeugen, unter Verwendung des einen oder der mehreren Prozessoren, kodierter 3D-Eigenschaften des Objekts; Erzeugen einer 3D-Begrenzungsbox für das Objekt unter Verwendung der Abmessungen und der Position der Priorbox, der kodierten 3D-Eigenschaften und der kameraeigenen Parameter; Berechnen einer Route oder Bewegungsbahn für das Fahrzeug unter zumindest teilweiser Verwendung der erzeugten 3D-Begrenzungsboxen; und Bewirken, unter Verwendung einer Steuervorrichtung des Fahrzeugs, dass das Fahrzeug entlang der Route oder Bewegungsbahn fährt.
  • In einer Ausführungsform ist das Objekterkennungsnetzwerk ein einstufiges Einbildobjekterkennungsnetzwerk.
  • In einer Ausführungsform ist das Objekterkennungsnetzwerk ein Bildsemantiknetzwerk mit einem Einzelaufnahmedetektor.
  • In einer Ausführungsform umfasst das Schätzen der kodierten 3D-Eigenschaften unter Verwendung des einen oder der mehreren Prozessoren ferner: für jede Priorbox das Schätzen eines Vektors von Parametern, die einen ersten Satz von Versätzen von einer Mitte der 2D-Begrenzungsbox, einen zweiten Satz von Versätzen von einer Mitte des Objekts, das der 2D-Begrenzungsbox zugeordnet ist, Breite, Länge und Höhe des Objekts, die radiale Entfernung von einer Mitte der Kamera zur Objektmitte und den Blickwinkel enthalten.
  • In einer Ausführungsform enthält der Vektor der Parameter ferner den Klassifizierungswert für jedes erkannte Objekt.
  • In einer Ausführungsform gibt das Objekterkennungsnetzwerk sechs Gruppen von Parametern aus, darunter Klassifizierung, 2D-Lokalisierung, Abmessung, Ausrichtung, radiale Entfernung und Mittenprojektion, und das Verfahren umfasst ferner: Berechnen einer Verlustfunktion für jede Gruppe von Parametern einzeln; und Verwenden der Verlustfunktionen zum Trainieren des Objekterkennungsnetzwerks.
  • Eine oder mehrere der offenbarten Ausführungsformen bieten einen oder mehrere der folgenden Vorteile. Ein einstufiges Einzelbildnetzwerk erzeugt 3D-Begrenzungsboxen und kodierte 3D-Eigenschaften von Objekten, die durch verschiedene Anwendungen verwendet werden können, die eine schnelle und genaue Objekterkennung erfordern, einschließlich unter anderem die Wahrnehmungspipeline eines AF oder jeder anderen Anwendung, die 3D-Objekterkennung verwendet. Die 3D-Begrenzungsboxen und kodierten 3D-Eigenschaften der Objekte, die durch den erweiterten Erkennungskopf eines ISN ausgegeben werden, vereinfachen die Fusion mit der Ausgabe aus 3D-Objektdetektoren wie z. B. LiDAR-Punktwolken.
  • Diese und andere Aspekte, Merkmale und Implementierungen können als Verfahren, Vorrichtungen, Systeme, Komponenten, Programmprodukte, Einrichtungen oder Schritte zum Ausführen einer Funktion und auf andere Weise ausgedrückt werden.
  • Diese und andere Aspekte, Merkmale und Implementierungen werden aus den folgenden Beschreibungen einschließlich der Ansprüche ersichtlich.
  • Figurenliste
    • 1 zeigt ein Beispiel für ein autonomes Fahrzeug (AF) mit autonomer Fähigkeit gemäß einer oder mehreren Ausführungsformen.
    • 2 veranschaulicht ein Beispiel für eine „Cloud“-Rechenumgebung gemäß einer oder mehreren Ausführungsformen.
    • 3 veranschaulicht ein Computersystem gemäß einer oder mehreren Ausführungsformen.
    • 4 zeigt ein Beispiel für die Architektur eines AF gemäß einer oder mehreren Ausführungsformen.
    • 5 zeigt ein Beispiel für Eingaben und Ausgaben, die durch ein Wahrnehmungsmodul gemäß einer oder mehreren Ausführungsformen verwendet werden können.
    • 6 zeigt ein Beispiel für ein LiDAR-System gemäß einer oder mehreren Ausführungsformen.
    • 7 zeigt das LiDAR-System im Betrieb gemäß einer oder mehreren Ausführungsformen.
    • 8 zeigt die Funktionsweise des LiDAR-Systems in zusätzlicher Detaillierung gemäß einer oder mehreren Ausführungsformen.
    • 9 zeigt ein Blockdiagramm der Zusammenhänge zwischen Eingaben und Ausgaben eines Planungsmoduls gemäß einer oder mehreren Ausführungsformen.
    • 10 zeigt einen gerichteten Graphen, der bei der Wegplanung gemäß einer oder mehreren Ausführungsformen verwendet wird.
    • 11 zeigt ein Blockdiagramm der Ein- und Ausgaben eines Steuermoduls gemäß einer oder mehreren Ausführungsformen.
    • 12 zeigt ein Blockdiagramm der Eingaben, Ausgaben und Komponenten einer Steuervorrichtung gemäß einer oder mehreren Ausführungsformen.
    • 13 ist ein Blockdiagramm eines Bildsemantiknetzwerks mit monokularer 3D-Objekterkennung gemäß einer oder mehreren Ausführungsformen.
    • 14 veranschaulicht eine Ausgabe des Netzwerks von 13 gemäß einer oder mehreren Ausführungsformen.
    • 15 ist eine Vorderansicht einer 3D-Boxschätzgeometrie gemäß einer oder mehreren Ausführungsformen.
    • 16 ist eine Vogelperspektive der 3D-Box-Schätzgeometrie von 15 gemäß einer oder mehreren Ausführungsformen.
    • 17 ist ein Flussdiagramm eines Prozesses einer monokularen 3D-Objekterkennung gemäß einer oder mehreren Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zwecks Erläuterung zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der vorliegenden Erfindung bereitzustellen. Es versteht sich jedoch, dass die vorliegende Erfindung auch ohne diese spezifischen Details umgesetzt werden kann. In anderen Fällen werden bekannte Strukturen und Vorrichtungen in Blockdiagrammform dargestellt, um eine unnötige Verschleierung der vorliegenden Erfindung zu vermeiden.
  • Zur leichteren Beschreibung sind in den Zeichnungen spezifische Anordnungen oder Reihenfolgen von schematischen Elementen abgebildet, wie zum Beispiel solche, die Vorrichtungen, Module, Anweisungsblöcke und Datenelemente darstellen. Es versteht sich jedoch für den Fachmann, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht bedeuten soll, dass eine bestimmte Reihenfolge oder Sequenz der Bearbeitung oder eine Trennung der Prozesse erforderlich ist. Ferner soll die Aufnahme eines schematischen Elements in eine Zeichnung nicht bedeuten, dass dieses Element in allen Ausführungsformen erforderlich ist oder dass die durch dieses Element dargestellten Merkmale in einigen Ausführungsformen nicht in andere Elemente aufgenommen oder mit anderen Elementen kombiniert werden dürfen.
  • Ferner ist in den Zeichnungen, in denen Verbindungselemente, wie beispielsweise durchgezogene oder gestrichelte Linien oder Pfeile, verwendet werden, um eine Verbindung, Beziehung oder Verknüpfung zwischen oder unter zwei oder mehreren anderen schematischen Elementen darzustellen, das Fehlen solcher Verbindungselemente nicht so zu verstehen, dass keine Verbindung, Beziehung oder Verknüpfung bestehen kann. Mit anderen Worten werden einige Verbindungen, Beziehungen oder Verknüpfungen zwischen Elementen in den Zeichnungen nicht dargestellt, um die Offenbarung nicht zu verschleiern. Zur leichteren Veranschaulichung wird außerdem ein einzelnes Verbindungselement verwendet, um mehrere Verbindungen, Zusammenhänge oder Verknüpfungen zwischen Elementen darzustellen. Wenn zum Beispiel ein Verbindungselement eine Kommunikation von Signalen, Daten oder Anweisungen darstellt, sollte dem Fachmann klar sein, dass ein solches Element einen oder mehrere Signalwege (zum Beispiel einen Bus) darstellt, je nachdem, was erforderlich ist, um die Kommunikation zu bewirken.
  • Im Folgenden wird im Detail Bezug auf Ausführungsformen genommen, deren Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der verschiedenen beschriebenen Ausführungsformen zu ermöglichen. Jedoch wird einem Durchschnittsfachmann klar sein, dass die verschiedenen beschriebenen Ausführungsformen auch ohne diese spezifischen Details umgesetzt werden können. In anderen Fällen sind allgemein bekannte Verfahren, Vorgehensweisen, Komponenten, Schaltungen und Netzwerke nicht ausführlich beschrieben, um eine unnötige Verschleierung der Aspekte der Ausführungsformen zu vermeiden.
  • Im Folgenden werden mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder in einer beliebigen Kombination anderer Merkmale verwendet werden können. Allerdings kann es sein, dass ein einzelnes Merkmal keines der oben erörterten Probleme oder nur eines der oben erörterten Probleme behandelt. Einige der oben erörterten Probleme werden möglicherweise durch keines der hier beschriebenen Merkmale vollständig behandelt. Auch wenn Überschriften angegeben sind, können Informationen, die sich auf eine bestimmte Überschrift beziehen, aber nicht in dem Abschnitt mit dieser Überschrift zu finden sind, auch an anderer Stelle in dieser Beschreibung gefunden werden. Ausführungsformen werden hier gemäß der folgenden Übersicht beschrieben:
    1. 1. Allgemeiner Überblick
    2. 2. Systemübersicht
    3. 3. Architektur autonomer Fahrzeuge
    4. 4. Eingaben autonomer Fahrzeuge
    5. 5. Planung autonomer Fahrzeuge
    6. 6. Steuerung autonomer Fahrzeuge
    7. 7. Monokulare 3D-Objekterkennung aus einem Bildsemantiknetzwerk (ISN)
  • Allgemeiner Überblick
  • Es werden Techniken zur monokularen 3D-Objekterkennung aus einem Bildsemantiknetzwerk bereitgestellt. Ein Bildsemantiknetzwerk (Image Semantics Network, ISN) ist ein einstufiges Einbildobjekterkennungsnetzwerk, das auf einem Einzelaufnahmedetektor (Single Shot Detector, SSD) basiert. In einer Ausführungsform ergänzt das ISN die SSD-Ausgaben, um kodierte 3D-Eigenschaften des Objekts zusammen mit einer 2D-Begrenzungsbox und einem Klassifizierungsergebnis zu liefern. Für jede Priorbox, die zum Erzeugen einer 2D-Begrenzungsbox verwendet wird, wird eine 3D-Begrenzungsbox für das Objekt erzeugt, wobei die Abmessungen und die Position der Priorbox, die kodierten 3D-Eigenschaften und die kameraeigenen Parameter verwendet werden.
  • Systemübersicht
  • 1 zeigt ein Beispiel für ein autonomes Fahrzeug 100, das über autonome Fähigkeit verfügt.
  • Wie hier verwendet, bezieht sich der Begriff „autonome Fähigkeit“ auf eine Funktion, ein Merkmal oder eine Einrichtung, die es ermöglicht, ein Fahrzeug teilweise oder vollständig ohne menschliches Eingreifen in Echtzeit zu betreiben, einschließlich, aber nicht beschränkt auf vollständig autonome Fahrzeuge, hochgradig autonome Fahrzeuge und bedingt autonome Fahrzeuge.
  • Wie hier verwendet, ist ein autonomes Fahrzeug (AF) ein Fahrzeug, das über autonome Fähigkeiten verfügt.
  • Wie hier verwendet, umfasst „Fahrzeug“ Transportmittel für den Transport von Gütern oder Personen. Zum Beispiel Autos, Busse, Züge, Flugzeuge, Drohnen, Lastwagen, Boote, Schiffe, Tauchboote, Lenkflugkörper usw. Ein fahrerloses Kraftfahrzeug ist ein Beispiel für ein Fahrzeug.
  • Wie hier verwendet, bezieht sich „Bewegungsbahn“ auf einen Weg oder eine Route zum Betreiben eines AF von einem ersten raumzeitlichen Ort zu einem zweiten raumzeitlichen Ort. In einer Ausführungsform wird der erste raumzeitliche Ort als Anfangs- oder Startort und der zweite raumzeitliche Ort als Bestimmungsort, Endort, Ziel, Zielposition oder Zielort bezeichnet. In einigen Beispielen besteht eine Bewegungsbahn aus einem oder mehreren Segmenten (z. B. Straßenabschnitten), und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Abschnitten eines Fahrstreifens oder einer Einmündung). In einer Ausführungsform entsprechen die raumzeitlichen Orte den Orten der realen Welt. Die raumzeitlichen Orte sind zum Beispiel Abhol- oder Absetzorte zum Abholen oder Absetzen von Personen oder Gütern.
  • Wie hier verwendet, umfasst „Sensor(en)“ eine oder mehrere Hardwarekomponenten, die Informationen über die Umgebung rund um den Sensor erfassen. Einige der Hardwarekomponenten können sensorische Komponenten (z. B. Bildsensoren, biometrische Sensoren), Sende- und/oder Empfangskomponenten (z. B. Laser- oder Hochfrequenzwellensender und -empfänger), elektronische Komponenten wie Analog-Digital-Wandler, eine Datenspeichervorrichtung (z. B. ein RAM und/oder ein nicht-flüchtiger Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie eine ASIC (anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder einen Mikrocontroller umfassen.
  • Wie hier verwendet, ist eine „Szeneriebeschreibung“ eine Datenstruktur (z. B. Liste) oder ein Datenstrom, der ein oder mehrere klassifizierte oder markierte Objekte enthält, die durch einen oder mehrere Sensoren auf dem AF-Fahrzeug erfasst oder durch eine AF-externe Quelle bereitgestellt werden.
  • Wie hier verwendet, ist eine „Straße“ ein physischer Bereich, der durch ein Fahrzeug befahren werden kann und einem benannten Verkehrsweg (z. B. Stadtstraße, Autobahn usw.) oder einem unbenannten Verkehrsweg (z. B. eine Einfahrt an einem Haus oder Bürogebäude, ein Abschnitt eines Parkplatzes, ein Abschnitt eines leeren Grundstücks, ein Feldweg in einem ländlichen Gebiet usw.) entsprechen kann. Da einige Fahrzeuge (z. B. Allradkleinlastwagen, Geländewagen, usw.) in der Lage sind, eine Vielzahl physischer Bereiche zu befahren, die nicht speziell für den Fahrzeugverkehr ausgelegt sind, kann eine „Straße“ ein physischer Bereich sein, der nicht formell durch eine Gemeinde oder andere Regierungs- oder Verwaltungsbehörde als Verkehrsweg definiert ist.
  • Wie hier verwendet, ist ein „Fahrstreifen“ ein Abschnitt einer Straße, der durch ein Fahrzeug befahren werden kann und dem größten Teil oder der Gesamtheit des Zwischenraums zwischen den Fahrstreifenmarkierungen oder nur einem Teil (z. B. weniger als 50 %) des Zwischenraums zwischen den Fahrstreifenmarkierungen entsprechen kann. Zum Beispiel könnte eine Straße mit weit auseinanderliegenden Fahrstreifenmarkierungen zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, sodass ein Fahrzeug das andere überholen kann, ohne die Fahrstreifenmarkierungen zu überqueren, und könnte daher so interpretiert werden, dass ein Fahrstreifen schmaler als der Zwischenraum zwischen den Fahrstreifenmarkierungen ist oder dass zwei Fahrstreifen zwischen den Fahrstreifenmarkierungen liegen. Ein Fahrstreifen könnte auch bei Fehlen von Fahrstreifenmarkierungen interpretiert werden. Beispielsweise kann ein Fahrstreifen basierend auf physischen Merkmalen einer Umgebung, z. B. Felsen und Bäume entlang einem Verkehrsweg in einem ländlichen Gebiet, definiert werden.
  • „Eine oder mehrere“ umfasst eine Funktion, die durch ein Element ausgeführt wird, eine Funktion, die durch mehr als ein Element ausgeführt wird, z. B. auf verteilte Weise, wobei mehrere Funktionen durch ein Element ausgeführt werden, mehrere Funktionen durch mehrere Elemente ausgeführt werden, oder eine beliebige Kombination des oben Genannten.
  • Es versteht sich auch, dass die Begriffe „erste/r/s“, „zweite/r/s“ usw. hier zwar in einigen Fällen zur Beschreibung verschiedener Elemente verwendet werden, diese Elemente jedoch nicht durch diese Begriffe eingeschrä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 sein, und in ähnlicher Weise könnte ein zweiter Kontakt als ein dritter Kontakt bezeichnet sein, ohne vom Schutzbereich der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, aber sie sind nicht derselbe Kontakt.
  • Die Terminologie, die bei der Beschreibung der verschiedenen hier beschriebenen Ausführungsformen verwendet wird, dient nur der Beschreibung bestimmter Ausführungsformen und ist nicht als einschränkend beabsichtigt. Bei der Beschreibung der verschiedenen beschriebenen Ausführungsformen und der beigefügten Ansprüche sollen die Singularformen „ein“, „eine“ sowie „der“, „die“, „das“ auch die Pluralformen einschließen, sofern der Zusammenhang nicht eindeutig etwas anderes vorgibt. Es versteht sich auch, dass der Begriff „und/oder“ wie hier verwendet sich auf alle möglichen Kombinationen eines oder mehrerer der zugeordneten aufgelisteten Punkte bezieht und diese umfasst. Es versteht sich ferner, dass die Begriffe „enthalten“, „einschließlich“, „umfassen“ und/oder „umfassend“, wenn in dieser Beschreibung verwendet, das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente und/oder Komponenten davon angibt, aber nicht das Vorhandensein oder die Hinzufügung eines/einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente, Komponenten und/oder Gruppen davon ausschließt.
  • Wie hier verwendet, ist der Begriff „falls“ gegebenenfalls so auszulegen, dass er je nach Zusammenhang „wenn“ oder „bei“ oder „als Reaktion auf das Bestimmen“ oder „als Reaktion auf das Erkennen“ bedeutet. In ähnlicher Weise ist die Formulierung „falls bestimmt wird“ oder „falls [ein angegebener Zustand oder ein Ereignis] erkannt wird“ je nach Zusammenhang gegebenenfalls so auszulegen, dass sie „beim Bestimmen“ oder „als Reaktion auf das Bestimmen“ oder „bei Erkennen [des angegebenen Zustands oder Ereignisses]“ oder „als Reaktion auf das Erkennen [des angegebenen Zustands oder Ereignisses]“ bedeutet.
  • Wie hier verwendet, bezieht sich ein AF-System auf das AF zusammen mit der Anordnung von Hardware, Software, gespeicherten Daten und in Echtzeit erzeugten Daten, die den Betrieb des AF unterstützen. In einer Ausführungsform ist das AF-System in das AF integriert. In einer Ausführungsform ist das AF-System über mehrere Orte verteilt. Zum Beispiel ist ein Teil der Software des AF-Systems auf einer Cloud-Rechenumgebung implementiert, ähnlich der Cloud-Rechenumgebung 300, die im Folgenden mit Bezug auf 3 beschrieben wird.
  • Allgemein beschreibt dieses Dokument Technologien, die auf alle Fahrzeuge anwendbar sind, die über eine oder mehrere autonome Fähigkeiten verfügen, einschließlich vollständig autonomer Fahrzeuge, hochgradig autonomer Fahrzeuge und bedingt autonomer Fahrzeuge, wie z. B. sogenannte Stufe-5-, Stufe-4- und Stufe-3-Fahrzeuge (siehe SAE International Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatischen Straßen-Kraftfahrzeug-Fahrsystemen), die durch Verweis in ihrer Gesamtheit aufgenommen wurde, für weitere Einzelheiten über die Klassifizierung von Autonomiegraden in Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind auch auf teilautonome Fahrzeuge und fahrerunterstützte Fahrzeuge anwendbar, wie z. B. sogenannte Stufe-2- und Stufe-I-Fahrzeuge (siehe SAE International's Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatisierten Straßen-Kraftfahrzeug-Fahrsystemen)). In einer Ausführungsform können eines oder mehrere der Fahrzeugsysteme der Stufen 1, 2, 3, 4 und 5 unter bestimmten Betriebsbedingungen basierend auf dem Verarbeiten von Sensoreingaben bestimmte Fahrzeugfunktionen (z B. Lenken, Bremsen und Verwenden von Karten) automatisieren. Die in diesem Dokument beschriebenen Technologien können Fahrzeugen auf allen Stufen zugute kommen, von vollständig autonomen Fahrzeugen bis hin zu durch Menschen betriebenen Fahrzeugen.
  • Mit Bezug auf 1 betreibt ein AF-System 120 das AF 100 entlang einer Bewegungsbahn 198 durch eine Umgebung 190 bis zu einem Zielort 199 (mitunter auch als Endort bezeichnet), wobei Objekte (z. B. natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Radfahrer und andere Hindernisse) vermieden und Straßenregeln (z. B. Betriebsregeln oder Fahrpräferenzen) befolgt werden.
  • In einer Ausführungsform beinhaltet das AF-System 120 Vorrichtungen 101, die dazu eingerichtet sind, Betriebsbefehle aus den Computerprozessoren 146 zu empfangen und darauf zu reagieren. In einer Ausführungsform ähneln die Computerprozessoren 146 dem nachfolgend mit Bezug auf 3 beschriebenen Prozessor 304. Beispiele für Vorrichtungen 101 beinhalten eine Lenksteuerung 102, Bremsen 103, Gangschaltung, Gaspedal oder andere Beschleunigungssteuerungsmechanismen, Scheibenwischer, Seitentürschlösser, Fenstersteuervorrichtungen und Blinker.
  • In einer Ausführungsform umfasst das AF-System 120 Sensoren 121 zur Messung oder Ableitung von Zuständen oder Bedingungen des AF 100, wie z. B. die Position des AF, die Lineargeschwindigkeit und -beschleunigung, die Winkelgeschwindigkeit und -beschleunigung und die Fahrtrichtung (z. B. eine Ausrichtung des vorderen Endes des AF 100). Beispiele für Sensoren 121 sind GNSS, Trägheitsmesseinheiten (IMU), die sowohl lineare Fahrzeugbeschleunigungen als auch Winkelbeschleunigungen messen, Raddrehzahlsensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren sowie Lenkwinkel- und Winkelgeschwindigkeitssensoren.
  • In einer Ausführungsform umfassen die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AF. Zum Beispiel Monokular- oder Stereo-Videokameras 122 im sichtbaren Licht-, Infrarot- oder Wärmespektrum (oder beiden Spektren), LiDAR 123, RADAR, Ultraschallsensoren, Time-of-Flight(TOF)-Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
  • In einer Ausführungsform umfasst das AF-System 120 eine Datenspeichereinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen im Zusammenhang mit Computerprozessoren 146 oder durch Sensoren 121 gesammelten Daten. In einer Ausführungsform ähnelt die Datenspeichereinheit 142 dem ROM 308 oder der Speichervorrichtung 310, die nachfolgend mit Bezug auf 3 beschrieben werden. In einer Ausführungsform ähnelt der Speicher 144 dem nachfolgend beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 historische, Echtzeit- und/oder vorausschauende Informationen über die Umgebung 190. In einer Ausführungsform umfassen die gespeicherten Informationen Karten, Fahrleistungen, Aktualisierungen zu Verkehrsstaus oder Wetterbedingungen. In einer Ausführungsform werden Daten, die sich auf die Umgebung 190 beziehen, über einen Kommunikationskanal aus einer entfernt gelegenen Datenbank 134 an das AF 100 übertragen.
  • In einer Ausführungsform umfasst das AF-System 120 Kommunikationsvorrichtungen 140 zum Übermitteln gemessener oder abgeleiteter Eigenschaften von Zuständen und Bedingungen anderer Fahrzeuge, wie z. B. Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen sowie Linear- und Winkelfahrtrichtungen an das AF-System 100. Diese Vorrichtungen umfassen Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen für drahtlose Kommunikation über Punkt-zu-Punkt- oder Ad-hoc-Netzwerke oder beides. In einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funk- und optische Kommunikation) oder andere Medien (z. B. Luft- und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug(V2V)-Kommunikation, Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und in einigen Ausführungsformen eine oder mehrere andere Kommunikationsarten) wird mitunter als Fahrzeugzu-alles (V2X)-Kommunikation bezeichnet. Die V2X-Kommunikation entspricht in der Regel einem oder mehreren Kommunikationsstandards für die Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
  • In einer Ausführungsform enthalten die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Zum Beispiel drahtgebundene, drahtlose, WiMAX-, Wi-Fi-, Bluetooth-, Satelliten-, Zellular-, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten aus einer entfernt gelegenen Datenbank 134 an das AF-System 120. In einer Ausführungsform ist die entfernt gelegene Datenbank 134 wie in 2 beschrieben in eine Cloud-Rechenumgebung 200 eingebettet. Die Kommunikationsschnittstellen 140 übertragen die aus den Sensoren 121 gesammelten Daten oder andere Daten, die sich auf den Betrieb des AF 100 beziehen, an die entfernt gelegene Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die sich auf Teleoperationen beziehen, an das AF 100. In einigen Ausführungsformen kommuniziert das AF 100 mit anderen entfernten (z. B. „Cloud“-) Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernt gelegene Datenbank 134 auch digitale Daten (z. B. Speichern von Daten wie Straßen- und Wegestandorte). Diese Daten werden im Speicher 144 des AF 100 gespeichert oder über einen Kommunikationskanal aus der entfernt gelegenen Datenbank 134 an das AF 100 übertragen.
  • In einer Ausführungsform speichert und überträgt die entfernt gelegene Datenbank 134 historische Informationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Bewegungsbahn 198 gefahren sind. In einer Ausführungsform können diese Daten im Speicher 144 des AF 100 gespeichert oder über einen Kommunikationskanal aus der entfernt gelegenen Datenbank 134 an das AF 100 übertragen werden.
  • Die im AF 100 befindlichen Rechenvorrichtungen 146 erzeugen auf algorithmische Weise Steueraktionen, die sowohl auf Echtzeit-Sensordaten als auch auf vorherigen Informationen basieren, sodass das AF-System 120 seine autonomen Fahrfähigkeiten ausführen kann.
  • In einer Ausführungsform umfasst das AF-System 120 Computerperipherievorrichtungen 132, die mit Rechenvorrichtungen 146 gekoppelt sind, um Informationen und Warnungen an einen Benutzer (z. B. einen Insassen oder einen entfernt befindlichen Benutzer) des AF 100 zu liefern und Eingaben von diesem zu empfangen. In einer Ausführungsform ähneln die Peripherievorrichtungen 132 der Anzeigevorrichtung 312, der Eingabevorrichtung 314 und der Cursorsteuervorrichtung 316, die nachfolgend mit Bezug auf 3 behandelt werden. Die Kopplung erfolgt drahtlos oder drahtgebunden. Zwei oder mehrere der Schnittstellenvorrichtungen können zu einer einzelnen Vorrichtung integriert sein.
  • Beispielfür eine Cloud-Rechenumgebung
  • 2 veranschaulicht ein Beispiel für eine „Cloud“-Rechenumgebung. Cloud Computing ist ein Modell zum Bereitstellen von Diensten, das einen komfortablen, bedarfsgerechten Netzwerkzugang zu einem gemeinsam genutzten Bestand konfigurierbarer Rechenressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Anwendungen, virtuelle Maschinen und Dienste) ermöglicht. In typischen Cloud-Rechensystemen sind in einem oder mehreren großen Cloud-Rechenzentren die Rechner untergebracht, die zum Erbringen der durch die Cloud bereitgestellten Dienste verwendet werden. Mit Bezug auf 2 umfasst die Cloud-Rechenumgebung 200 Cloud-Rechenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Die Rechenzentren 204a, 204b und 204c bieten Cloud-Rechendienste für die mit der Cloud 202 verbundenen Computersysteme 206a, 206b, 206c, 206d, 206e und 206f.
  • Die Cloud-Rechenumgebung 200 enthält ein oder mehrere Cloud-Rechenzentren. Allgemein bezieht sich ein Cloud-Rechenzentrum, z. B. das in 2 dargestellte Cloud-Rechenzentrum 204a, auf die physische Anordnung von Servern, die eine Cloud, z. B. die in 2 dargestellte Cloud 202, oder einen bestimmten Abschnitt einer Cloud bilden. Beispielsweise sind die Server physisch im Cloud-Rechenzentrum in Räumen, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Rechenzentrum hat eine oder mehrere Zonen, die einen oder mehrere Räume mit Servern umfassen. Jeder Raum hat eine oder mehrere Reihen von Servern, und jede Reihe enthält ein oder mehrere Racks. Jedes Rack enthält einen oder mehrere einzelne Serverknoten. In einigen Ausführungen sind Server in Zonen, Räumen, Racks und/oder Reihen basierend auf den physischen Infrastrukturanforderungen der Rechenzentrumseinrichtung, die Strom, Energie, Heizung, Wärme und/oder andere Anforderungen umfassen, in Gruppen angeordnet. In einer Ausführungsform ähneln die Serverknoten dem in 3 beschriebenen Computersystem. Das Rechenzentrum 204a weist viele Rechensysteme auf, die über viele Racks verteilt sind.
  • Die Cloud 202 umfasst die Cloud-Rechenzentren 204a, 204b und 204c sowie die Netzwerk- und Netzwerkressourcen (z. B. Netzwerkgeräte, Knoten, Router, Switches und Netzwerkkabel), die die Cloud-Rechenzentren 204a, 204b und 204c miteinander verbinden und dazu beitragen, den Zugang der Computersysteme 206a-f zu den Cloud-Rechendiensten zu ermöglichen. In einer Ausführungsform stellt das Netzwerk eine Kombination aus einem oder mehreren lokalen Netzwerken, Weitverkehrsnetzwerken oder Internetnetzwerken dar, die über drahtgebundene oder drahtlose Verbindungen mittels terrestrischer oder satellitengestützter Verbindungstechnik gekoppelt sind. Daten, die über das Netzwerk ausgetauscht werden, werden unter Verwendung einer Anzahl von Netzwerkschichtprotokollen übertragen, wie z. B. Internet Protocol (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay, usw. Ferner werden in Ausführungsformen, in denen das Netzwerk eine Kombination aus mehreren Teilnetzwerken darstellt, in jedem der zugrunde liegenden Teilnetzwerke unterschiedliche Netzwerkschichtprotokolle verwendet. In einigen Ausführungsformen stellt das Netzwerk ein oder mehrere miteinander verbundene Internetnetzwerke dar, wie z. B. das öffentliche Internet.
  • Die Verbraucher der Rechensysteme 206a-f oder Cloud-Rechendienste sind über Netzwerkverbindungen und Netzwerkadapter mit der Cloud 202 verbunden. In einer Ausführungsform sind die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen, z. B. Server, Desktops, Laptops, Tablets, Smartphones, Geräte für das Internet der Dinge (IoT), autonome Fahrzeuge (darunter Autos, Drohnen, Pendelfahrzeuge, Züge, Busse usw.) und Verbraucherelektronik, implementiert. In einer Ausführungsform sind die Rechensysteme 206a-f in oder als Bestandteil von anderen Systemen implementiert.
  • Computersystem
  • 3 veranschaulicht ein Computersystem 300. In einer Implementierung ist das Computersystem 300 eine Spezialrechenvorrichtung. Die Spezialrechenvorrichtung ist fest verdrahtet, um die Techniken auszuführen, oder enthält digitale elektronische Vorrichtungen wie ein(e) oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder feldprogrammierbare Gate-Arrays (FPGAs), die dauerhaft programmiert sind, um die Techniken auszuführen, oder kann einen oder mehrere Universal-Hardware-Prozessoren umfassen, die dazu programmiert sind, die Techniken gemäß Programmanweisungen in Firmware, Arbeitsspeicher, anderen Speichern oder einer Kombination davon auszuführen. Derartige Spezialcomputervorrichtungen können auch kundenspezifische fest verdrahtete Logik, ASICs oder FPGAs mit kundenspezifischer Programmierung kombinieren, um die Techniken zu erzielen. In verschiedenen Ausführungsformen sind die Spezialrechenvorrichtungen Desktop-Computersysteme, tragbare Computersysteme, Handgeräte, Netzwerkgeräte oder sonstige Vorrichtungen, die zur Implementierung der Techniken festverdrahtete und/oder programmgesteuerte Logik enthalten.
  • In einer Ausführungsform umfasst das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Übermitteln von Informationen und einen mit einem Bus 302 gekoppelten Hardwareprozessor 304 zum Verarbeiten von Informationen. Der Hardwareprozessor 304 ist zum Beispiel ein Allzweck-Mikroprozessor. Das Computersystem 300 beinhaltet auch einen Hauptspeicher 306, wie beispielsweise einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speichervorrichtung, die mit dem Bus 302 zum Speichern von Informationen und Anweisungen gekoppelt ist, die durch den Prozessor 304 ausgeführt werden sollen. In einer Ausführungsform wird der Hauptspeicher 306 zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen durch den Prozessor 304 verwendet. Derartige in nichtflüchtigen, für den Prozessor 304 zugänglichen Speichermedien gespeicherte Anweisungen machen aus dem Computersystem 300 eine Spezialmaschine, die auf das Ausführen der in den Anweisungen angegebenen Funktionen zugeschnitten ist.
  • In einer Ausführungsform beinhaltet das Computersystem 300 ferner einen Nur-LeseSpeicher (ROM) 308 oder eine andere statische Speichervorrichtung, die mit dem Bus 302 gekoppelt ist, um statische Informationen und Anweisungen für den Prozessor 304 zu speichern. Eine Speichervorrichtung 310, wie beispielsweise eine Magnetplatte, eine optische Platte, ein Solid-State-Laufwerk oder ein dreidimensionaler Kreuzpunktespeicher, ist vorhanden und mit dem Bus 302 zum Speichern von Informationen und Anweisungen gekoppelt.
  • In einer Ausführungsform ist das Computersystem 300 über den Bus 302 an ein Display 312, wie z. B. eine Kathodenstrahlröhre (CRT), ein Flüssigkristalldisplay (LCD), ein Plasmadisplay, ein Leuchtdioden(LED)-Display oder ein organisches Leuchtdioden(OLED)-Display, zum Anzeigen von Informationen für einen Computerbenutzer gekoppelt. Eine Eingabevorrichtung 314 mit alphanumerischen und anderen Tasten ist mit dem Bus 302 zum Übermitteln von Informationen und Befehlsauswahlen an den Prozessor 304 gekoppelt. Eine andere Art von Benutzereingabevorrichtung ist eine Cursorsteuervorrichtung 316, z. B. eine Maus, ein Trackball, ein berührungsempfindliches Display oder Cursorrichtungstasten zum Übermitteln von Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 und zum Steuern der Cursorbewegung auf dem Display 312. Diese Eingabevorrichtung verfügt in der Regel über zwei Freiheitsgrade in zwei Achsen, eine erste Achse (z. B. x-Achse) und eine zweite Achse (z. B. y-Achse), mit denen die Vorrichtung Positionen in einer Ebene angeben kann.
  • Gemäß einer Ausführungsform werden die hier beschriebenen Techniken durch das Computersystem 300 als Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Sequenzen von einer oder mehreren Anweisungen ausführt, die im Hauptspeicher 306 enthalten sind. Derartige Anweisungen werden aus einem anderen Speichermedium, z. B. der Speichervorrichtung 310, in den Hauptspeicher 306 eingelesen. Die Ausführung der im Hauptspeicher 306 enthaltenen Anweisungssequenzen veranlasst den Prozessor 304, die hier beschriebenen Prozessschritte durchzuführen. In alternativen Ausführungsformen wird eine fest verdrahtete Schaltungsanordnung anstelle von oder in Kombination mit Softwareanweisungen verwendet.
  • Der Begriff „Speichermedium“. wie hier verwendet, betrifft alle nicht-flüchtigen Medien, die Daten und/oder Anweisungen speichern, die eine Maschine veranlassen, auf eine bestimmte Art und Weise zu arbeiten. Derartige Speichermedien umfassen nichtflüchtige Medien und/oder flüchtige Medien. Nichtflüchtige Medien umfassen z. B. optische Platten, Magnetplatten, Solid-State-Laufwerke oder dreidimensionale Kreuzpunktespeicher, wie z. B. die Speichervorrichtung 310. Flüchtige Medien umfassen dynamischen Speicher, wie beispielsweise den Hauptspeicher 306. Übliche Formen von Speichermedien umfassen zum Beispiel eine Floppy-Disk, eine Diskette, eine Festplatte, ein Solid-State-Laufwerk, ein Magnetband oder jedes andere magnetische Datenspeichermedium, eine CD-ROM, ein beliebiges anderes optisches Datenspeichermedium, ein beliebiges physisches Medium mit Lochmustern, einen RAM, einen PROM und EPROM, einen FLASH-EPROM, NV-RAM, oder einen beliebigen anderen Speicherchip oder eine Speicherkassette.
  • Speichermedien unterscheiden sich von Übertragungsmedien, können aber zusammen mit diesen verwendet werden. Übertragungsmedien sind am Übertragen von Informationen zwischen Speichermedien beteiligt. Zum Beispiel umfassen Übertragungsmedien Koaxialkabel, Kupferdraht und Lichtwellenleiter, einschließlich der Leitungen, die den Bus 302 umfassen. Übertragungsmedien können auch die Form von akustischen Wellen oder Lichtwellen annehmen, wie etwa jene, die bei Funkwellen- und Infrarotdatenkommunikation erzeugt werden.
  • In einer Ausführungsform sind verschiedene Formen von Medien am Transportieren von einer oder mehreren Sequenzen von einer oder mehreren Anweisungen an den Prozessor 304 zur Ausführung beteiligt. Zum Beispiel werden die Anweisungen zuerst auf einer Magnetplatte oder einem Solid-State-Laufwerk eines entfernt gelegenen Computers getragen. Der entfernt gelegene Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen unter Verwendung eines Modems über eine Telefonleitung. Ein am Computersystem 300 lokal vorhandenes Modem empfängt die Daten über die Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die in dem Infrarotsignal transportierten Daten, und eine entsprechende Schaltungsanordnung stellt die Daten auf den Bus 302. Der Bus 302 transportiert die Daten an den Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher 306 empfangenen Anweisungen können gegebenenfalls entweder vor oder nach dem Ausführen durch den Prozessor 304 auf der Speichervorrichtung 310 gespeichert werden.
  • Das Computersystem 300 enthält auch eine Kommunikationsschnittstelle 318, die mit dem Bus 302 gekoppelt ist. Die Kommunikationsschnittstelle 318 stellt eine bidirektionale Datenkommunikationskopplung mit einer Netzwerkverbindung 320 bereit, die mit einem lokalen Netzwerk 322 verbunden ist. Die Kommunikationsschnittstelle 318 ist zum Beispiel eine Integrated Services Digital Network(ISDN)-Karte, ein Kabelmodem, Satellitenmoden oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung mit einem entsprechenden Typ einer Telefonleitung. Als weiteres Beispiel ist die Kommunikationsschnittstelle 318 eine Karte eines lokalen Netzwerks (LAN), um eine Datenkommunikationsverbindung zu einem kompatiblen LAN bereitzustellen. Bei einigen Implementierungen sind auch drahtlose Verbindungen implementiert. Bei jeder derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren, die verschiedene Arten von Informationen darstellen.
  • Die Netzwerkverbindung 320 stellt typischerweise eine Datenkommunikation über ein oder mehrere Netzwerke zu anderen Datenvorrichtungen bereit. Zum Beispiel stellt die Netzwerkverbindung 320 eine Verbindung durch das lokale Netzwerk 322 zu einem Hostcomputer 324 oder zu einem Cloud-Rechenzentrum oder Geräten bereit, die durch einen Internetdienstanbieter (ISP) 326 betrieben werden. Der ISP 326 stellt wiederum Datenkommunikationsdienste über das weltweite paketorientierte Datenkommunikationsnetzwerk bereit, das jetzt allgemein als das „Internet“ 328 bezeichnet wird. Sowohl das lokale Netzwerk 322 als auch das Internet 328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren. Die Signale über die verschiedenen Netzwerke und die Signale auf der Netzwerkverbindung 320 und über die Kommunikationsschnittstelle 318, die die digitalen Daten an das und aus dem Computersystem 300 transportieren, sind Beispielformen 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), die Netzwerkverbindung 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Computersystem 300 einen Code zum Verarbeiten. Der empfangene Code wird sofort beim Empfang durch den Prozessor 304 ausgeführt und/oder auf der Speichervorrichtung 310 oder einem anderen nichtflüchtigen Speicher zum späteren Ausführen gespeichert.
  • Architektur autonomer Fahrzeuge
  • 4 zeigt eine Beispielarchitektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AF 100). Die Architektur 400 enthält ein Wahrnehmungsmodul 402 (mitunter als Wahrnehmungsschaltung bezeichnet), ein Planungsmodul 404 (mitunter als Planungsschaltung bezeichnet), ein Steuermodul 406 (mitunter als Steuerschaltung bezeichnet), ein Lokalisierungsmodul 408 (mitunter als Lokalisierungsschaltung bezeichnet) und ein Datenbankmodul 410 (mitunter als Datenbankschaltung bezeichnet). Jedes Modul spielt eine Rolle beim Betrieb des AF 100. Die Module 402, 404, 406, 408 und 410 können zusammen Bestandteil des in 1 gezeigten AF-Systems 120 sein. In einigen Ausführungsformen sind die Module 402, 404, 406, 408 und 410 eine Kombination aus Computersoftware (z. B. ausführbarem Code, der auf einem computerlesbaren Medium gespeichert ist) und Computerhardware (z. B. ein oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen [ASICs], Hardware-Speichervorrichtungen, andere Arten von integrierten Schaltungen, andere Arten von Computerhardware oder eine Kombination von beliebigen oder allen dieser Dinge).
  • Beim Betrieb empfängt das Planungsmodul 404 Daten, die einen Zielort 412 darstellen, und ermittelt Daten, die eine Bewegungsbahn 414 (mitunter auch als Route bezeichnet) darstellen, die durch das AF 100 gefahren werden kann, um den Zielort 412 zu erreichen (z. B. am Zielort anzukommen). Damit das Planungsmodul 404 die die Bewegungsbahn 414 repräsentierenden Daten ermitteln kann, empfängt das Planungsmodul 404 Daten aus dem Wahrnehmungsmodul 402, dem Lokalisierungsmodul 408 und dem Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert nahegelegene physische Objekte mittels eines oder mehrerer Sensoren 121, z. B. wie ebenfalls in 1 gezeigt. Die Objekte werden klassifiziert (z. B. gruppiert in Arten wie Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrszeichen usw.), und eine Szeneriebeschreibung einschließlich der klassifizierten Objekte 416 wird dem Planungsmodul 404 zur Verfügung gestellt.
  • Das Planungsmodul 404 empfängt auch Daten, die die AF-Position 418 repräsentieren, aus dem Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 ermittelt die AF-Position unter Verwendung von Daten aus den Sensoren 121 und Daten aus dem Datenbankmodul 410 (z. B. geografische Daten), um eine Position zu berechnen. Zum Beispiel verwendet das Lokalisierungsmodul 408 Daten aus einem GNSS(Globales Navigationssatellitensystem)-Sensor und geografische Daten, um einen Längen- und Breitengrad des AF zu berechnen. In einer Ausführungsform beinhalten die durch das Lokalisierungsmodul 408 verwendeten Daten hochpräzise Karten der geometrischen Eigenschaften der Fahrbahn, Karten, die die Verbindungseigenschaften des Straßennetzes beschreiben, Karten, die die physischen Eigenschaften der Straßen beschreiben (wie z. B. die Verkehrsgeschwindigkeit, das Verkehrsaufkommen, die Anzahl der Fahrstreifen für den Auto- und Fahrradverkehr, die Fahrstreifenbreite, die Fahrstreifenrichtungen oder die Arten und Orte von Fahrstreifenmarkierungen oder Kombinationen davon), und Karten, die die räumliche Lage von Straßenmerkmalen wie Fußgängerüberwegen, Verkehrsschildern oder anderen Verkehrssignalen verschiedener Arten beschreiben.
  • Das Steuermodul 406 empfängt die Daten, die die Bewegungsbahn 414 repräsentieren, und die Daten, die die AF-Position 418 repräsentieren, und führt die Steuerfunktionen 420a-c (z. B. Lenken, Drosselklappenbetätigung, Bremsen, Zündung) des AF so aus, dass das AF 100 auf der Bewegungsbahn 414 bis zum Zielort 412 fährt. Falls zum Beispiel die Bewegungsbahn 414 eine Linkskurve enthält, führt das Steuermodul 406 die Steuerfunktionen 420a-c so aus, dass der Lenkwinkel der Lenkfunktion das AF 100 zum Linksabbiegen veranlasst und das Betätigen der Drosselklappe und Bremsen das AF 100 zum Anhalten und Warten auf passierende Fußgänger oder entgegenkommende Fahrzeuge veranlasst, bevor das Abbiegen durchgeführt wird.
  • Eingaben autonomer Fahrzeuge
  • 5 zeigt ein Beispiel für die Eingaben 502a-d (z. B. Sensoren 121 in 1) und Ausgaben 504a-d (z. B. Sensordaten), die durch das Wahrnehmungsmodul 402 (4) verwendet werden. Eine Eingabe 502a ist ein LiDAR(„Light Detection and Ranging“)-System (z. B. LiDAR 123 wie in 1 gezeigt). LiDAR ist eine Technologie, die Licht (z. B. Lichtblitze wie Infrarotlicht) verwendet, um Daten über physische Objekte in Sichtlinie zu erhalten. Ein LiDAR-System erzeugt LiDAR-Daten als Ausgabe 504a. LiDAR-Daten sind beispielsweise Sammlungen von 3D- oder 2D-Punkten (auch als Punktwolken bekannt), die zur Konstruktion einer Darstellung der Umgebung 190 verwendet werden.
  • Eine weitere Eingabe 502b ist ein RADAR-System. RADAR ist eine Technologie, die Funkwellen verwendet, um Daten über nahe gelegene physische Objekte zu erhalten. RADAR-Einrichtungen können Daten über Objekte erhalten, die sich nicht in Sichtlinie eines LiDAR-Systems befinden. Ein RADAR-System 502b erzeugt RADAR-Daten als Ausgabe 504b. Zum Beispiel sind RADAR-Daten ein oder mehrere elektromagnetische Hochfrequenzsignale, die zur Konstruktion einer Darstellung der Umgebung 190 verwendet werden.
  • Eine weitere Eingabe 502c ist ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z. B. Digitalkameras, die einen Lichtsensor, wie ein ladungsgekoppeltes Bauelement [CCD], verwenden), um Informationen über nahe gelegene physische Objekte zu erhalten. Ein Kamerasystem erzeugt Kameradaten als Ausgabe 504c. Kameradaten liegen häufig in Form von Bilddaten vor (z. B. Daten in einem Bilddatenformat wie RAW, JPEG, PNG usw.). In einigen Beispielen verfügt das Kamerasystem über mehrere unabhängige Kameras, z. B. zwecks Stereopsis (Stereosehen), wodurch das Kamerasystem in der Lage ist, die Tiefe wahrzunehmen. Obwohl die durch das Kamerasystem wahrgenommenen Objekte hier als „nahe“ beschrieben werden, gilt dies relativ zum AF. Beim Betrieb kann das Kamerasystem dazu ausgelegt sein, weit entfernte Objekte zu „sehen“, z. B. bis zu einem Kilometer oder mehr vor dem AF. Dementsprechend kann das Kamerasystem über Merkmale wie Sensoren und Objektive verfügen, die für die Wahrnehmung weit entfernter Objekte optimiert sind.
  • Eine weitere Eingabe 502d ist ein Ampelerkennungs(AE)-System. Ein AE-System verwendet eine oder mehrere Kameras, um Informationen über Ampeln, Straßenschilder und andere physische Objekte zu erhalten, die visuelle Betriebsinformationen liefern. Ein AE-System erzeugt AE-Daten als Ausgabe 504d. AE-Daten liegen häufig in Form von Bilddaten vor (z. B. Daten in einem Bilddatenformat wie RAW, JPEG, PNG usw.). Ein AE-System unterscheidet sich von einem System mit einer Kamera dadurch, dass bei einem AE-System eine Kamera mit weitem Sichtfeld (z. B. mit einem Weitwinkelobjektiv oder einem Fischaugenobjektiv) verwendet wird, um Informationen über möglichst viele physische Objekte zu liefern, die visuelle Betriebsinformationen bereitstellen, sodass das AF 100 Zugriff auf alle relevanten Betriebsinformationen hat, die durch diese Objekte bereitgestellt werden. Beispielsweise kann der Blickwinkel des AE-Systems ca. 120 Grad oder mehr betragen.
  • In einigen Ausführungsformen werden die Ausgaben 504a-d mittels einer Sensorfusionstechnik kombiniert. So werden entweder die einzelnen Ausgaben 504a-d anderen Systemen des AF 100 (z. B. einem Planungsmodul 404 wie in 4 dargestellt) zur Verfügung gestellt, oder die kombinierte Ausgabe kann den anderen Systemen entweder in Form einer einzelnen kombinierten Ausgabe oder mehrerer kombinierter Ausgaben derselben Art (z. B. unter Verwendung derselben Kombinationstechnik oder Kombination derselben Ausgaben oder beides) oder unterschiedlicher Arten (z. B. unter Verwendung jeweils unterschiedlicher Kombinationstechniken oder Kombination jeweils unterschiedlicher Ausgaben oder beides) zur Verfügung gestellt werden. In einigen Ausführungsformen wird eine frühzeitige Fusionstechnik verwendet. Eine frühzeitige Fusionstechnik zeichnet sich dadurch aus, dass die Ausgaben kombiniert werden, bevor ein oder mehrere Datenverarbeitungsschritte auf die kombinierte Ausgabe angewendet werden. In einigen Ausführungsformen wird eine späte Fusionstechnik verwendet. Eine späte Fusionstechnik zeichnet sich dadurch aus, dass die Ausgaben kombiniert werden, nachdem ein oder mehrere Datenverarbeitungsschritte auf die einzelnen Ausgaben angewendet wurden.
  • 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 aus einem Lichtemitter 606 (z. B. einem Laseremitter). Das durch ein LiDAR-System emittierte Licht liegt in der Regel 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 zum LiDAR-System 602 reflektiert. (Das durch ein LiDAR-System emittierte Licht durchdringt normalerweise keine physischen Objekte, z. B. physische Objekte in fester Form.) Das LiDAR-System 602 verfügt auch über einen oder mehrere Lichtdetektoren 610, die das reflektierte Licht detektieren. In einer Ausführungsform erzeugen ein oder mehrere dem LiDAR-System zugeordnete Datenverarbeitungssysteme ein Bild 612, das das Sichtfeld 614 des LiDAR-Systems darstellt. Das Bild 612 enthält Informationen, die die Begrenzungen 616 eines physischen Objekts 608 repräsentieren. Auf diese Weise wird das Bild 612 verwendet, um die Begrenzungen 616 eines oder mehrerer physischer Objekte in der Nähe eines AF zu ermitteln.
  • 7 zeigt das LiDAR-System 602 im Betrieb. In dem in dieser Figur dargestellten Szenario empfängt das AF 100 sowohl die Kamerasystemausgabe 504c in Form eines Bildes 702 als auch die LiDAR-Systemausgabe 504a in Form von LiDAR-Datenpunkten 704. Beim Betrieb vergleicht das Datenverarbeitungssystem des AF 100 das Bild 702 mit den Datenpunkten 704. Insbesondere wird ein im Bild 702 identifiziertes physisches Objekt 706 ebenfalls unter den Datenpunkten 704 identifiziert. Auf diese Weise nimmt das AF 100 die Begrenzungen des physischen Objekts anhand der Kontur und Dichte der Datenpunkte 704 wahr.
  • 8 zeigt die Funktionsweise des LiDAR-Systems 602 noch detaillierter. Wie oben beschrieben, erkennt das AF 100 die Begrenzung eines physischen Objekts anhand der Eigenschaften der durch das LiDAR-System 602 erfassten Datenpunkte. Wie in 8 gezeigt, reflektiert ein ebenes Objekt, wie z. B. der Boden 802, das durch ein LiDAR-System 602 emittierte Licht 804a-d auf konsistente Weise. Anders ausgedrückt, da das LiDAR-System 602 Licht in gleichmäßigen Abständen emittiert, reflektiert der Boden 802 das Licht mit dem gleichen konsistenten Abstand zum LiDAR-System 602 zurück. Während sich das AF 100 über den Boden 802 bewegt, erkennt das LiDAR-System 602 weiterhin das durch den nächsten gültigen Bodenpunkt 806 reflektierte Licht, falls nichts die Straße versperrt. Falls jedoch ein Objekt 808 die Straße versperrt, wird das durch das LiDAR-System 602 emittierte Licht 804e-f von den Punkten 810a-b in einer Weise reflektiert, die nicht mit der erwarteten Gleichmäßigkeit übereinstimmt. Aus diesen Informationen kann das AF 100 ermitteln, dass das Objekt 808 vorhanden ist.
  • Wegplanung
  • 9 zeigt in einem Blockdiagramm 900 die Zusammenhänge zwischen Ein- und Ausgaben eines Planungsmoduls 404 (z. B. wie in 4 gezeigt). Allgemein ist die Ausgabe eines Planungsmoduls 404 eine Route 902 aus einem Startpunkt 904 (z. B. Quellenort oder Anfangsort) und einem Endpunkt 906 (z. B. Ziel- oder Endort). Die Route 902 ist in der Regel durch ein oder mehrere Segmente definiert. Ein Segment ist zum Beispiel eine Entfernung, die mindestens über einen Abschnitt einer Straße, einer Landstraße, einer Autobahn, einer Einfahrt oder eines anderen für den Autoverkehr geeigneten physischen Bereichs zurückzulegen ist. In einigen Beispielen, z. B. falls das AF 100 ein geländegängiges Fahrzeug wie z. B. ein vierradgetriebener (4WD) oder allradgetriebener (AWD) PKW, SUV, Kleinlaster o. ä. ist, umfasst die Route 902 „geländegängige“ Segmente wie unbefestigte Wege oder offene Felder.
  • Zusätzlich zur Route 902 gibt ein Planungsmodul auch Routenplanungsdaten auf Fahrstreifenebene 908 aus. Die Routenplanungsdaten auf Fahrstreifenebene 908 werden verwendet, um Segmente der Route 902 basierend auf den Bedingungen des Segments zu einem bestimmten Zeitpunkt zu durchfahren. Falls die Route 902 beispielsweise eine Autobahn mit mehreren Fahrstreifen umfasst, enthalten die Routenplanungsdaten auf Fahrstreifenebene 908 die Bewegungsbahnplanungsdaten 910, die das AF 100 verwenden kann, um einen Fahrstreifen unter den mehreren Fahrstreifen auszuwählen, z. B. in Abhängigkeit davon, ob sich eine Ausfahrt nähert, ob eine oder mehrere der Fahrstreifen andere Fahrzeuge aufweisen oder aufgrund anderer Faktoren, die im Laufe einiger Minuten oder weniger variieren. In ähnlicher Weise enthalten bei einigen Implementierungen die Routenplanungsdaten auf Fahrstreifenebene 908 auch Geschwindigkeitsbeschränkungen 912, die spezifisch für ein Segment der Route 902 gelten. Falls das Segment zum Beispiel Fußgänger oder unerwarteten Verkehr enthält, können die Geschwindigkeitsbeschränkungen 912 das AF 100 auf eine Fahrgeschwindigkeit beschränken, die langsamer als eine erwartete Geschwindigkeit ist, z. B. eine Geschwindigkeit, die auf den Geschwindigkeitsbegrenzungsdaten für das Segment basiert.
  • In einer Ausführungsform umfassen die Eingaben an das Planungsmodul 404 auch die Datenbankdaten 914 (z. B. aus dem in 4 dargestellten Datenbankmodul 410), die aktuellen Standortdaten 916 (z. B. die in 4 dargestellte AF-Position 418), die Zielortdaten 918 (z. B. für den in 4 dargestellten Zielort 412) und die Objektdaten 920 (z. B. die klassifizierten Objekte 416, die durch das Wahrnehmungsmodul 402 wahrgenommen werden, wie in 4 gezeigt). In einigen Ausführungsformen enthalten die Daten der Datenbank 914 Regeln, die bei der Planung verwendet werden. Regeln werden durch eine formale Sprache spezifiziert, z. B. durch boolesche Logik. In jeder gegebenen Situation, in der sich das AF 100 befindet, sind mindestens einige der Regeln auf die Situation anwendbar. Eine Regel gilt für eine gegebene Situation, falls die Regel Bedingungen enthält, die basierend auf den dem AF 100 zur Verfügung stehenden Informationen, z. B. Informationen über die Umgebung, erfüllt sind. Regeln können eine Priorität aufweisen. Beispielsweise kann eine Regel, die besagt: „Falls die Straße eine Autobahn ist, auf den äußerst linken Fahrstreifen wechseln“, eine niedrigere Priorität als „Falls die Ausfahrt sich innerhalb von 2 Kilometern nähert, auf den äußerst rechten Fahrstreifen wechseln“ haben.
  • 10 zeigt einen gerichteten Graphen 1000, der bei der Wegplanung z. B. durch das Planungsmodul 404 verwendet wird (4). Allgemein wird ein gerichteter Graph 1000 wie der in 10 gezeigte verwendet, um einen Weg zwischen einem beliebigen Startpunkt 1002 und Endpunkt 1004 zu ermitteln. In der Praxis kann die Entfernung zwischen dem Startpunkt 1002 und dem Endpunkt 1004 relativ groß (z. B. in zwei verschiedenen Ballungsgebieten) oder relativ klein (z. B. zwei Einmündungen, die an einen Stadtblock angrenzen oder zwei Fahrstreifen einer Straße mit mehreren Fahrstreifen) sein.
  • In einer Ausführungsform hat der gerichtete Graph 1000 Knoten 1006a-d, die verschiedene Orte zwischen dem Startpunkt 1002 und dem Endpunkt 1004 darstellen, die durch ein AF 100 belegt werden könnten. In einigen Beispielen, z. B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Ballungsräume darstellen, stellen die Knoten 1006a-d Straßensegmente dar. In einigen Beispielen, z. B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Orte auf derselben Straße darstellen, stellen die Knoten 1006a-d verschiedene Positionen auf dieser Straße dar. Auf diese Weise enthält der gerichtete Graph 1000 Informationen in unterschiedlicher Granularität. In einer Ausführungsform ist ein gerichteter Graph mit hoher Granularität auch ein Teilgraph eines anderen gerichteten Graphen mit einem größeren Maßstab. Zum Beispiel hat ein gerichteter Graph, bei dem der Startpunkt 1002 und der Endpunkt 1004 weit entfernt sind (z. B. viele Kilometer auseinander liegend), die meisten seiner Informationen in einer niedrigen Granularität und basiert auf gespeicherten Daten, enthält aber auch einige Informationen mit hoher Granularität für den Abschnitt des Graphen, der physische Orte im Sichtfeld des AF 100 darstellt.
  • Die Knoten 1006a-d unterscheiden sich von Objekten 1008a-b, die sich nicht mit einem Knoten überlappen können. In einer Ausführungsform, wenn die Granularität gering ist, stellen die Objekte 1008a-b Regionen dar, die nicht mit dem Auto befahren werden können, z. B. Gebiete, die keine Straßen oder Wege aufweisen. Bei hoher Granularität stellen die Objekte 1008a-b physische Objekte im Sichtfeld des AF 100 dar, z. B. andere Kraftfahrzeuge, Fußgänger oder andere Objekte, mit denen das AF 100 den physischen Raum nicht teilen kann. In einer Ausführungsform sind einige oder alle der Objekte 1008a-b statische Objekte (z. B. ein Objekt, das seine Position nicht ändert, wie eine Straßenlampe oder ein Strommast) oder dynamische Objekte (z. B. ein Objekt, das seine Position ändern kann, wie ein Fußgänger oder ein anderes Kraftfahrzeug).
  • Die Knoten 1006a-d sind durch die Kanten 1010a-c verbunden. Falls zwei Knoten 1006a-b durch eine Kante 1010a verbunden sind, ist es möglich, dass ein AF 100 zwischen dem einen Knoten 1006a und dem anderen Knoten 1006b fahren kann, z. B. ohne zu einem Zwischenknoten fahren zu müssen, bevor es am anderen Knoten 1006b ankommt. (Wenn von einem zwischen Knoten fahrenden AF 100 gesprochen wird, ist gemeint, dass sich das AF 100 zwischen den beiden physischen Positionen bewegt, die durch die jeweiligen Knoten dargestellt werden.) Die Kanten 1010a-c sind oft bidirektional, in dem Sinne, dass ein AF 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 AF 100 von einem ersten Knoten zu einem zweiten Knoten fahren kann, das AF 100 jedoch nicht vom zweiten Knoten zum ersten Knoten fahren kann. Die Kanten 1010a-c sind unidirektional, wenn sie z. B. Einbahnstraßen, einzelne Fahrstreifen einer Straße, einer Landstraße oder einer Autobahn oder andere Merkmale darstellen, die aufgrund rechtlicher oder physischer Randbedingungen nur in einer Richtung befahren werden können.
  • In einer Ausführungsform verwendet das Planungsmodul 404 den gerichteten Graphen 1000 zum Identifizieren eines Weges 1012, der aus Knoten und Kanten zwischen dem Startpunkt 1002 und dem Endpunkt 1004 besteht.
  • Eine Kante 1010a-c ist einem Kostenwert 1014a-b zugeordnet. Der Kostenwert 1014ab ist ein Wert, der die Ressourcen darstellt, die aufgewendet werden, falls das AF 100 diese Kante auswählt. Eine typische Ressource ist die Zeit. Falls zum Beispiel eine Kante 1010a eine physische Entfernung darstellt, die doppelt so groß wie die einer anderen Kante 1010b ist, kann der zugeordnete Kostenwert 1014a der ersten Kante 1010a doppelt so groß wie der zugeordnete Kostenwert 1014b der zweiten Kante 1010b sein. Andere Faktoren, die sich auf die Zeit auswirken, sind der erwartete Verkehr, die Anzahl der Kreuzungen, Geschwindigkeitsbeschränkungen usw. Eine weitere typische Ressource ist der Kraftstoffverbrauch. Zwei Kanten 1010a-b können die gleiche physische Entfernung darstellen, aber eine Kante 1010a kann mehr Kraftstoff als eine andere Kante 1010b erfordern, z. B. aufgrund von Straßenbedingungen, voraussichtlichem Wetter usw.
  • Wenn das Planungsmodul 404 einen Weg 1012 zwischen dem Startpunkt 1002 und dem Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 in der Regel einen Weg mit optimiertem Kostenwert, z. B. den Weg mit dem geringsten Gesamtkostenwert, wenn die einzelnen Kostenwerte der Kanten addiert werden.
  • Steuerung autonomer Fahrzeuge
  • 11 zeigt in einem Blockdiagramm 1100 die Ein- und Ausgaben eines Steuermoduls 406 (z. B. wie in 4 gezeigt). Ein Steuermodul arbeitet gemäß einer Steuervorrichtung 1102, die z. B. einen oder mehrere Prozessoren (z. B. einen oder mehrere Computerprozessoren wie Mikroprozessoren oder Mikrocontroller oder beides) ähnlich dem Prozessor 304, einen Kurzzeit- und/oder Langzeitdatenspeicher (z. B. Direktzugriffsspeicher oder Flashspeicher oder beides) ähnlich dem Hauptspeicher 306, ROM 1308 und Speichervorrichtung 210 und im Speicher gespeicherte Anweisungen enthält, die Operationen der Steuervorrichtung 1102 durchführen, wenn die Anweisungen ausgeführt werden (z. B. durch den einen oder die mehreren Prozessoren).
  • In einer Ausführungsform empfängt die Steuervorrichtung 1102 Daten, die eine gewünschte Ausgabe 1104 darstellen. Die gewünschte Ausgabe 1104 umfasst in der Regel ein Tempo, z. B. eine Geschwindigkeit, und eine Fahrtrichtung. Die gewünschte Ausgabe 1104 kann zum Beispiel auf Daten basieren, die aus einem Planungsmodul 404 empfangen werden (z. B. wie in 4 gezeigt). Die Steuervorrichtung 1102 erzeugt gemäß der gewünschten Ausgabe 1104 Daten, die als Drosselklappeneingabe 1106 und als Lenkeingabe 1108 verwendet werden können. Die Drosselklappeneingabe 1106 stellt die Größe dar, in der die Drosselklappe (z.B. Beschleunigungssteuerung) eines AF 100 zu betätigen ist, z. B. durch Betätigen des Lenkpedals oder durch Betätigen einer anderen Drosselklappensteuerung, um die gewünschte Ausgabe 1104 zu erreichen. In einigen Beispielen umfasst die Drosselklappeneingabe 1106 auch Daten, die zum Betätigen der Bremse (z. B. Verlangsamungssteuerung) des AF 100 verwendet werden können. Die Lenkeingabe 1108 stellt einen Lenkwinkel dar, z. B. den Winkel, in dem die Lenksteuerung (z. B. Lenkrad, Lenkwinkelsteller oder eine andere Funktion zur Steuerung des Lenkwinkels) des AF positioniert werden sollte, um die gewünschte Ausgabe 1104 zu erreichen.
  • In einer Ausführungsform empfängt die Steuervorrichtung 1102 eine Rückmeldung, die bei der Anpassung der für die Drosselklappe und Lenkung bereitgestellten Eingaben verwendet wird. Falls beispielsweise das AF 100 auf eine Störung 1110 wie z. B. einen Hügel trifft, wird die gemessene Geschwindigkeit 1112 des AF 100 unter die gewünschte Ausgabegeschwindigkeit abgesenkt. In einer Ausführungsform wird der Steuervorrichtung 1102 eine Messwertausgabe 1114 zur Verfügung gestellt, sodass die nötigen Anpassungen, z. B. basierend auf der Differenz 1113 zwischen der gemessenen Geschwindigkeit und der gewünschten Ausgabe, durchgeführt werden. Die gemessene Ausgabe 1114 umfasst die gemessene Position 1116, die gemessene Geschwindigkeit 1118 (einschließlich Drehzahl und Fahrtrichtung), die gemessene Beschleunigung 1120 und andere durch Sensoren des AF 100 messbare Ausgaben.
  • In einer Ausführungsform werden Informationen über die Störung 1110 im Voraus erkannt, z. B. durch einen Sensor wie eine Kamera oder einen LiDAR-Sensor, und einem vorausschauenden Rückmeldemodul 1122 zur Verfügung gestellt. Das vorausschauende Rückmeldemodul 1122 liefert dann Informationen an die Steuervorrichtung 1102, die die Steuervorrichtung 1102 zur entsprechenden Anpassung verwenden kann. Falls zum Beispiel die Sensoren des AF 100 einen Hügel erkennen („sehen“), können diese Informationen durch die Steuervorrichtung 1102 genutzt werden, um sich darauf vorzubereiten, die Drosselklappe zum geeigneten Zeitpunkt zu betätigen, um eine wesentliche Verlangsamung zu vermeiden.
  • 12 zeigt ein Blockdiagramm 1200 der Eingaben, Ausgaben und Komponenten der Steuervorrichtung 1102. Die Steuervorrichtung 1102 weist einen Geschwindigkeitsprofilersteller 1202 auf, der den Betrieb einer Drosselklappen-/Bremssteuervorrichtung 1204 beeinflusst. Beispielsweise weist der Geschwindigkeitsprofilersteller 1202 die Drosselklappen-/Bremssteuervorrichtung 1204 an, eine Beschleunigung oder Verlangsamung unter Verwendung der Drosselklappe/Bremse 1206 einzuleiten, abhängig z. B. von der Rückmeldung, die durch die Steuervorrichtung 1102 empfangen und durch den Geschwindigkeitsprofilersteller 1202 verarbeitet wird.
  • Die Steuervorrichtung 1102 weist auch eine Seitenführungssteuervorrichtung 1208 auf, die den Betrieb einer Lenksteuervorrichtung 1210 beeinflusst. Zum Beispiel weist die Seitenführungssteuervorrichtung 1208 die Lenksteuervorrichtung 1204 an, die Position des Lenkwinkelstellers 1212 abhängig von z. B. der Rückmeldung anzupassen, die durch die Steuervorrichtung 1102 empfangen und durch die Seitenführungssteuervorrichtung 1208 verarbeitet wird.
  • Die Steuervorrichtung 1102 empfängt mehrere Eingaben, mit denen ermittelt wird, wie die Drosselklappe/Bremse 1206 und der Lenkwinkelsteller 1212 gesteuert werden sollen. Ein Planungsmodul 404 liefert Informationen, die durch die Steuervorrichtung 1102 verwendet werden, um z. B. eine Bewegungsrichtung zu wählen, wenn das AF 100 den Betrieb aufnimmt, und um zu ermitteln, welches Straßensegment befahren werden soll, wenn das AF 100 eine Einmündung erreicht. Ein Lokalisierungsmodul 408 liefert der Steuervorrichtung 1102 Informationen, die zum Beispiel den aktuellen Standort des AF 100 beschreiben, sodass die Steuervorrichtung 1102 ermitteln kann, ob sich das AF 100 an einem Ort befindet, der basierend auf der Art und Weise, in der die Drosselklappe/Bremse 1206 und der Lenkwinkelsteller 1212 gesteuert werden, erwartet wird. In einer Ausführungsform empfängt die Steuervorrichtung 1102 Informationen aus anderen Eingaben 1214, z. B. Informationen, die aus Datenbanken, Computernetzwerken usw. empfangen werden.
  • Monokulare 3D-Objekterkennung aus ISN
  • 13 ist ein Blockdiagramm eines Bildsemantiknetzwerks (ISN) 1300 gemäß einer oder mehreren Ausführungsformen. Wie bereits beschrieben, ist das ISN 1300 ein einstufiges Einbildobjekterkennungsnetzwerk, das auf SSD basiert. Das ISN 1300 nimmt das Eingangsbild 1301, sagt die Klasse jedes Pixels im Bild 1301 voraus und gibt semantische Segmentierungsdaten (z. B. einen Klassifizierungswert) für jedes Pixel im Bild 1301 aus. Das ISN 1300 wird mit einer Bilddatenmenge trainiert, die Bilder enthält, bei denen jedes Bild mit 2D-Begrenzungsboxen und Segmentierungsmarkierungen für Klassen in der Bilddatenmenge gekennzeichnet ist. Ein Klassifizierungsergebnis ist ein Wahrscheinlichkeitswert, der angibt, mit welcher Wahrscheinlichkeit die Klasse des Pixels richtig vorhergesagt wurde. In einer Ausführungsform enthält das ISN 1300 einen Backbone und einen Detektionskopf. In einer Ausführungsform ist der Backbone ein vollständig gefaltetes neuronales Netzwerk (Fully Convolutional Neural Network, FCNN), wie in „PointPillars: Fast Encoders for Object Detection from Point Clouds“, arXiv:1812.05784v2 [cs.LG] vom 7. Mai 2019 beschrieben, und der Erkennungskopf ist ein SSD, wie in W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, und A. C. Berg. SSD: „Single shot multibox detector“ in ECCV, 2016, beschrieben. Im ISN 1300 können verschiedene Verlustfunktionen verwendet werden, unter anderem: Klassifikationsverlust, Lokalisierungsverlust und Attributverlust.
  • In einer Ausführungsform enthält das ISN 1300 zwei Teilnetzwerke: ein Top-Down-Netzwerk, das Merkmale mit zunehmend kleinerer räumlicher Auflösung erzeugt, und ein zweites Netzwerk, das Upsampling (d. h. Abtastratenerhöhung) und Verkettung der Top-Down-Merkmale durchführt. Das Top-Down-Netzwerk kann durch eine Reihe von Blöcken charakterisiert werden. Jeder Block arbeitet mit Stride S (gemessen relativ zum ursprünglichen Eingangsbild 1301). Ein Block hat L 3x3 2D-Faltungsschichten mit F Ausgabekanälen, jeweils gefolgt von BatchNorm und einer ReLU. Die erste Faltung innerhalb der Schicht hat Stride S S i n ,
    Figure DE102021118316A1_0001
    um sicherzustellen, dass der Block auf Stride S arbeitet, nachdem er einen Eingabeblob mit Stride Sin erhalten hat. Alle nachfolgenden Faltungen in einem Block haben Stride 1.
  • Die endgültigen Merkmale aus jedem Top-Down-Block werden durch Upsampling und Verkettung wie folgt kombiniert. Zuerst werden die Merkmale aus einem anfänglichen Stride Sin zu einem endgültigen Stride Sout (beide wieder gemessen in Bezug auf das Originalbild 1301) durch eine transponierte 2D-Faltung mit F endgültigen Merkmalen hochgesampelt. Als Nächstes wird BatchNorm und ReLU auf die hochgesampelten Merkmale angewendet. Die endgültigen Ausgabemerkmale sind eine Verkettung aller Merkmale, die aus verschiedenen Strides stammen.
  • In einer Ausführungsform werden die SSD-Ausgaben erweitert, um kodierte 3D-Eigenschaften des Objekts zusammen mit einer 2D-Begrenzungsbox und Klassifizierungsergebnissen bereitzustellen. Die kodierten 3D-Eigenschaften enthalten Informationen über die Abmessung, Ausrichtung und Position einer 3D-Begrenzungsbox für das Objekt in einem Format, das zusammen mit der Priorbox und den kameraeigenen Parametern in eine 3D-Begrenzungsbox im Fahrzeugkoordinatensystem dekodiert werden kann.
  • Für jede Priorbox werden die Abmessungen und die Position der Priorbox, die kodierten 3D-Eigenschaften und die kamerainternen Parameter in den 3D-Begrenzungsboxgenerator 1302 eingegeben, der eine 3D-Begrenzungsbox für das Objekt erzeugt. Das Beispiel-ISN 1300 ist nur ein Beispiel für ein Bildsemantiknetzwerk, das mit den offenbarten Ausführungsformen verwendet werden kann. Jedes Netzwerk oder jeder Satz von Netzwerken, die auf einem einzelnen Bild arbeiten, um die Segmentierung, die Bildklassifizierung und die 2D- und 3D-Erkennung zu schätzen, kann mit den offenbarten Ausführungsformen verwendet werden.
  • 14 veranschaulicht eine Ausgabe des ISN 1300 von 13 gemäß einer oder mehreren Ausführungsformen. In diesem Beispiel werden mehrere 3D-Begrenzungsboxen gezeigt, darunter die Begrenzungsbox 1401 (ein SUV), 1402 (ein Fußgänger/Jogger), 1403 (ein Motorrad) und 1404 (ein Motorrad). Die Begrenzungsbox 1404 wird mit geschätzten Geometriedaten für das Objekt angezeigt, einschließlich Breite (B), Länge (L) und Höhe (H) und Entfernung, sämtlich in Metern. Man beachte, dass in 14 die geschätzten Geometriedaten mit den Bodenwirklichkeits(Ground Truth, GT)-Daten verglichen werden. Wie ersichtlich ist, liegen die geschätzten Geometriedaten nahe an den GT-Daten, was auf die Genauigkeit der Geometriedatenschätzung hinweist. Die Berechnung der kodierten 3D-Eigenschaften des Objekts aus den Bilddaten wird im Folgenden unter Bezugnahme auf 15 und 16 beschrieben.
  • 15 ist eine Vorderansicht einer 3D-Boxschätzgeometrie gemäß einer oder mehreren Ausführungsformen. 16 ist eine Vogelperspektive der 3D-Box-Schätzgeometrie von 15 gemäß einer oder mehreren Ausführungsformen.
  • Für jede Priorbox 1500, bezeichnet als P(xp, yp, wp, hp), gibt der Erkennungskopf des ISN 1300 einen 12+K großen Vektor V von Parametern aus: V = ( δ x , δ y , δ w , δ h , W , L , H , R , ϕ x , ϕ y , δ u , δ v , c 1 , c 2 , , c K ) ,
    Figure DE102021118316A1_0002
    wobei
    • • δx, δy, δw, δh mit P(xp, yp, wp, hp) kombiniert werden, um eine 2D-Begrenzungsbox 1501 zu erhalten
    • • W, L, H entsprechen der Objektbreite, -länge und -höhe in Metern
    • • R ist die radiale Entfernung von der Kameramitte zur Objektmitte
    • • ϕx, ϕy werden kombiniert, um den Blickwinkel ϕ zu erhalten
    • • δu, δv werden mit P kombiniert, um die 3D-Mittenprojektion des Objekts auf das Bild zu erhalten
    • • c1, c2, ..., cK sind die Klassifizierungswerte (Konfidenzwerte) für K Klassen
  • Ausgehend von der Priorbox 1500 und den Versätzen für den Mittelpunkt (δu, δv) und die Größe (δw, δh) ergibt sich die 2D-Begrenzungsbox 1501 wie folgt:
    • • Mittelpunkt (x, y) = (xp + δxwp, yp + δyhp), stellt den Mittelpunkt der 2D-Begrenzungsbox 1501 dar
    • • Größe (w, h) = (wpeδw , hpeδh , stellt die 2D-Begrenzungsbox 1501 dar
  • Bezugnehmend auf 15 und 16 wird bei gegebener Priorbox 1501, den kodierten 3D-Eigenschaften des Objekts (W, L, H, R, ϕx, ϕy, δu, δv), und den kameraeigenen Merkmalen Q die 3D-Begrenzungsbox 1502 für das Objekt wie folgt bestimmt: Q = [ f x 0 p x 0 f y p y 0 0 1 ] ,
    Figure DE102021118316A1_0003
    • • Größe S=(B, L, H), Abmessungen der 3D-Begrenzungsbox 1502
    • • Mittelpunkt C =(Rcos α sin β, Rsin β, R sin α cos β), wobei
      • Strahlgierwinkel α = tan 1 f x u p x
        Figure DE102021118316A1_0004
      • Strahlnickwinkel β = tan 1 v p y f y 2 + ( u p x ) 2
        Figure DE102021118316A1_0005
      • Mittenprojektion ( u , v ) = ( x p w p δ u , y p + h p 2 h p δ v )
        Figure DE102021118316A1_0006
      • Gierwinkel θ = tan 1 ϕ y ϕ x + α
        Figure DE102021118316A1_0007
  • In einer Ausführungsform sind die SSD-Ausgaben in sechs Gruppen gruppiert, nämlich: Klassifizierung, 2D-Lokalisierung, Abmessungen, Ausrichtung, radiale Entfernung und Mittenprojektion. Der Verlust wird für jede Gruppe von Ausgaben einzeln berechnet. Für die 2D-Lokalisierung, die Abmessungen, die Ausrichtung, die radiale Entfernung und die Mittenprojektion wird das Verfahren „SmoothL1Loss“ verwendet, wie unter FasterRCNN: Shaoqing Ren, Kaiming He, Ross Girshick, und Jian Sun. Faster R-CNN: „Towards real-time object detection with region proposal networks“ beschrieben. In NIPS, 2015: l o s s ( x , y ) = 1 n i z i ,
    Figure DE102021118316A1_0008
    z i = [ 0.5 ( x i y i ) 2 , if | x i y i | < 1 | x i y i | 0.5, otherwise ,
    Figure DE102021118316A1_0009
    wobei x der Bodenwahrheitswert und y der geschätzte Wert der oben erwähnten Eigenschaften ist.
  • Für Klassifizierungsverlust wird die Funktion MultiLabelSoftMarginLoss verwendet. In Anbetracht des vorhergesagten Verlustbewertungsvektors x und des einmalcodierten Zielklassenvektors y ist MultiLabelSoftMarginLoss definiert als: l o s s ( x , y ) = 1 K i y [ i ] log ( ( 1 + exp ( x [ i ] ) ) 1 ) + ( 1 y [ i ] ) l o g ( exp ( x [ i ] ) ( 1 + exp ( x [ i ] ) ) ) .
    Figure DE102021118316A1_0010
  • 17 ist ein Flussdiagramm eines Prozesses 1700 einer monokularen 3D-Objekterkennung gemäß einer oder mehreren Ausführungsformen. Der Prozess 1700 kann zum Beispiel mittels des in 3 beschriebenen Computersystems 300 implementiert werden.
  • Der Prozess 1700 beginnt mit dem Empfangen von Bildern aus einer AF-Kamera (1701). Der Prozess 1700 läuft weiter mit dem Erzeugen von kodierten 3D-Eigenschaften, einer 2D-Begrenzungsbox und eines Klassifizierungsergebnisses (1702) für jedes in einem Bild erkannte Objekt. Der Prozess 1700 fährt fort mit dem Erzeugen einer 3D-Begrenzungsbox für jedes Objekt unter Verwendung der Abmessungen und der Position der Priorbox, der kodierten 3D-Eigenschaften und der kameraeigenen Parameter (1703). Der Prozess 1700 fährt fort mit dem Berechnen einer Route oder Bewegungsbahn für das Fahrzeug unter zumindest teilweiser Verwendung der erzeugten 3D-Begrenzungsboxen (1704); und mit dem Bewirken, unter Verwendung einer Steuervorrichtung des Fahrzeugs, dass das Fahrzeug entlang der Route oder Bewegungsbahn fährt (1705).
  • In der vorstehenden Beschreibung sind Ausführungsformen der Erfindung unter Bezugnahme auf zahlreiche spezifische Details beschrieben, die von Implementierung zu Implementierung verschieden sein können. Die Beschreibung und die Zeichnungen sind dementsprechend in einem veranschaulichenden statt einem einschränkenden Sinn zu sehen. Der einzige und ausschließliche Indikator für den Schutzbereich der Erfindung und das, was durch die Anmelder als Schutzbereich der Erfindung beabsichtigt ist, ist der wörtliche und äquivalente Schutzbereich des Satzes der Ansprüche, die aus dieser Anmeldung hervorgehen, in der spezifischen Form, in der diese Ansprüche publiziert sind, einschließlich etwaiger späterer Korrekturen. Alle hier ausdrücklich dargelegten Definitionen für Begriffe, die in diesen Ansprüchen enthalten sind, regeln die Bedeutung der in den Ansprüchen verwendeten Begriffe. Darüber hinaus kann bei Verwendung des Begriffs „ferner umfassend“ in der vorstehenden Beschreibung oder in den folgenden Ansprüchen das auf diese Formulierung Folgende ein zusätzlicher Schritt oder eine zusätzliche Einheit oder ein Unterschritt bzw. eine Untereinheit eines bereits erwähnten Schritts oder einer bereits erwähnten Einheit sein.

Claims (12)

  1. Verfahren, umfassend: Empfangen, unter Verwendung eines oder mehrerer Prozessoren eines Fahrzeugs, von Bildern aus einer Kamera des Fahrzeugs; Erzeugen, unter Verwendung eines Objekterkennungsnetzwerks mit den Bildern als Eingabe, von zweidimensionalen (2D) Begrenzungsboxen, die in den Bildern erkannte Objekte enthalten, und entsprechenden Klassifizierungsergebnissen für jede Objekterkennung; für jedes Objekt, das jeder 2D-Begrenzungsbox zugeordnet ist: Erzeugen von kodierten dreidimensionalen (3D) Eigenschaften des Objekts unter Verwendung des einen oder der mehreren Prozessoren; Erzeugen einer 3D-Begrenzungsbox für das Objekt unter Verwendung einer Priorbox, der kodierten 3D-Eigenschaften und kameraeigener Parameter; Berechnen einer Route oder Bewegungsbahn für das Fahrzeug unter zumindest teilweiser Verwendung der erzeugten 3D-Begrenzungsboxen; und Bewirken, unter Verwendung einer Steuervorrichtung des Fahrzeugs, dass das Fahrzeug entlang der Route oder Bewegungsbahn fährt.
  2. Verfahren gemäß Anspruch 1, wobei das Objekterkennungsnetzwerk ein einstufiges Einbildobjekterkennungsnetzwerk ist.
  3. Verfahren gemäß Anspruch 1, wobei das Objekterkennungsnetzwerk ein Bildsemantiknetzwerk mit einem Einzelaufnahmedetektor ist.
  4. Verfahren gemäß Anspruch 1, wobei die kodierten 3D-Eigenschaften Abmessungen, radiale Entfernung, Blickwinkel und Versätze der Mittenprojektion umfassen.
  5. Verfahren gemäß Anspruch 1, wobei das Erzeugen von kodierten dreidimensionalen (3D) Eigenschaften des Objekts unter Verwendung des einen oder der mehreren Prozessoren ferner umfasst: für jede Priorbox das Schätzen eines Vektors von Parametern, die einen Satz von Versätzen von einer unteren Mitte der Priorbox, Breite, Länge und Höhe des Objekts, radiale Entfernung von einer Mitte der Kamera zur Objektmitte und Blickwinkel umfassen.
  6. Verfahren gemäß Anspruch 1, wobei das Objekterkennungsnetzwerk sechs Gruppen von Parametern ausgibt, darunter Klassifizierung, 2D-Lokalisierung, Abmessung, Ausrichtung, radiale Entfernung und Mittenprojektion, und das Verfahren ferner umfasst: Berechnen einer Verlustfunktion für jede Gruppe von Parametern einzeln; und Verwenden der Verlustfunktionen zum Trainieren des Objekterkennungsnetzwerks.
  7. System, umfassend: einen oder mehrere Sensoren; einen oder mehrere Prozessoren; Speicheranweisungen, die beim Ausführen durch den einen oder die mehreren Prozessoren den einen oder die mehreren Prozessoren veranlassen, Operationen durchzuführen, die Folgendes umfassen: Empfangen von Bildern aus einer Kamera eines Fahrzeugs; Erzeugen, unter Verwendung eines Objekterkennungsnetzwerks mit den Bildern als Eingabe, von zweidimensionalen (2D) Begrenzungsboxen, die in den Bildern erkannte Objekte enthalten, und entsprechenden Klassifizierungsergebnissen für jede Objekterkennung; für jedes Objekt, das jeder 2D-Begrenzungsbox zugeordnet ist: Erzeugen kodierter dreidimensionaler (3D) Eigenschaften des Objekts; Erzeugen einer 3D-Begrenzungsbox für das Objekt unter Verwendung einer Priorbox, der kodierten 3D-Eigenschaften und kameraeigener Parameter; Berechnen einer Route oder Bewegungsbahn für das Fahrzeug unter zumindest teilweiser Verwendung der erzeugten 3D-Begrenzungsboxen; und Bewirken, unter Verwendung einer Steuervorrichtung des Fahrzeugs, dass das Fahrzeug entlang der Route oder Bewegungsbahn fährt.
  8. System gemäß Anspruch 7, wobei das Objekterkennungsnetzwerk ein einstufiges Einbildobjekterkennungsnetzwerk ist.
  9. System gemäß Anspruch 7, wobei das Objekterkennungsnetzwerk ein Bildsemantiknetzwerk mit einem Einzelaufnahmedetektor ist.
  10. System gemäß Anspruch 7, wobei die kodierten 3D-Eigenschaften Abmessungen, radiale Entfernung, Blickwinkel und Versatz der Mittenprojektion umfassen.
  11. System gemäß Anspruch 7, wobei das Erzeugen von kodierten dreidimensionalen (3D) Eigenschaften des Objekts ferner umfasst: für jede Priorbox das Schätzen eines Vektors von Parametern, die einen Satz von Versätzen von einer unteren Mitte der Priorbox, Breite, Länge und Höhe des Objekts, radiale Entfernung von einer Mitte der Kamera zur Objektmitte und Blickwinkel umfassen.
  12. System gemäß Anspruch 7, wobei das Objekterkennungsnetzwerk sechs Gruppen von Parametern ausgibt, darunter Klassifizierung, 2D-Lokalisierung, Abmessung, Ausrichtung, radiale Entfernung und Mittenprojektion, und das Verfahren ferner umfasst: Berechnen einer Verlustfunktion für jede Gruppe von Parametern einzeln; und Verwenden der Verlustfunktionen zum Trainieren des Objekterkennungsnetzwerks.
DE102021118316.2A 2020-07-22 2021-07-15 Monokulare 3d-objekterkennung aus bildsemantiknetzwerk Pending DE102021118316A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/936,415 2020-07-22
US16/936,415 US20220026917A1 (en) 2020-07-22 2020-07-22 Monocular 3d object detection from image semantics network

Publications (1)

Publication Number Publication Date
DE102021118316A1 true DE102021118316A1 (de) 2022-01-27

Family

ID=76193583

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021118316.2A Pending DE102021118316A1 (de) 2020-07-22 2021-07-15 Monokulare 3d-objekterkennung aus bildsemantiknetzwerk

Country Status (5)

Country Link
US (1) US20220026917A1 (de)
KR (1) KR102549258B1 (de)
CN (1) CN113970924A (de)
DE (1) DE102021118316A1 (de)
GB (1) GB2599191A (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11804042B1 (en) * 2020-09-04 2023-10-31 Scale AI, Inc. Prelabeling of bounding boxes in video frames
US11854280B2 (en) * 2021-04-27 2023-12-26 Toyota Research Institute, Inc. Learning monocular 3D object detection from 2D semantic keypoint detection
US11948381B2 (en) * 2021-08-20 2024-04-02 Motional Ad Llc Determining object mobility parameters using an object sequence
GB2624653A (en) * 2022-11-24 2024-05-29 Continental Autonomous Mobility Germany GmbH A system and method for object detection from a curved mirror

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10438371B2 (en) * 2017-09-22 2019-10-08 Zoox, Inc. Three-dimensional bounding box from two-dimensional image and point cloud data
CN111133447B (zh) * 2018-02-18 2024-03-19 辉达公司 适于自主驾驶的对象检测和检测置信度的方法和***
US10816992B2 (en) * 2018-04-17 2020-10-27 Baidu Usa Llc Method for transforming 2D bounding boxes of objects into 3D positions for autonomous driving vehicles (ADVs)
US11010592B2 (en) * 2018-11-15 2021-05-18 Toyota Research Institute, Inc. System and method for lifting 3D representations from monocular images
US11494937B2 (en) * 2018-11-16 2022-11-08 Uatc, Llc Multi-task multi-sensor fusion for three-dimensional object detection
US10983217B2 (en) * 2018-11-30 2021-04-20 Huawei Technologes Co. Ltd. Method and system for semantic label generation using sparse 3D data
US11494979B2 (en) * 2019-01-04 2022-11-08 Qualcomm Incorporated Bounding box estimation and lane vehicle association
CN111126269B (zh) * 2019-12-24 2022-09-30 京东科技控股股份有限公司 三维目标检测方法、装置以及存储介质
US11373332B2 (en) * 2020-01-06 2022-06-28 Qualcomm Incorporated Point-based object localization from images

Also Published As

Publication number Publication date
GB202105747D0 (en) 2021-06-09
US20220026917A1 (en) 2022-01-27
KR102549258B1 (ko) 2023-06-29
KR20220012804A (ko) 2022-02-04
CN113970924A (zh) 2022-01-25
GB2599191A (en) 2022-03-30

Similar Documents

Publication Publication Date Title
DE102020129854A1 (de) Sequenzielle fusion zur 3d-objektdetektion
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102020111938A1 (de) Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie
DE102020123585A1 (de) Erweiterte objektverfolgung mittels radar
DE102021101758A1 (de) Ampeldetektionssystem für ein fahrzeug
DE102020131323A1 (de) Kamera-zu-lidar-kalibration und -validierung
DE102020133744A1 (de) Vordergrundextraktion unter verwendung von flächenanpassung
DE102020133982A1 (de) Automatisierte objektannotation unter verwendung fusionierter kamera-/lidar-datenpunkte
DE112019006119T5 (de) Erstellung von bewegungsgraphen und routenplanung auf fahrspurebene
DE102021112349A1 (de) Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
DE112020000653T5 (de) Zusammenführen von daten aus mehreren lidar-vorrichtungen
DE102021105001A1 (de) Steuerungsarchitekturen für autonome fahrzeuge
DE102021118316A1 (de) Monokulare 3d-objekterkennung aus bildsemantiknetzwerk
DE112020002695T5 (de) Autonomer fahrzeugbetrieb mittels linearer temporaler logik
DE102021133742A1 (de) Planung einer trajektorie eines autonomen fahrzeugs mit dynamischem zustand
DE102020126217A1 (de) Navigieren von Mehrwege-Stopp-Kreuzungen mit einem autonomen Fahrzeug
DE102020135000A1 (de) Systeme und verfahren zur verkehrsampelerfassung
DE102020134834A1 (de) Objektverfolgung zur unterstützung autonomer fahrzeugnavigation
DE112019006282T5 (de) Betrieb eines Fahrzeugs unter Verwendung mehrerer Bewegungsbeschränkungen
DE112019004633T5 (de) Systeme und verfahren zum verbessern des fahrzeugbetriebs unter verwendung beweglicher sensoren
DE102021133739A1 (de) Steuern eines autonomen fahrzeugs unter verwendung einer näheregel
DE102021108068A1 (de) Schätzung von bodenebenen unter verwendung eines semantischen lidar-netzes
DE102021109466A1 (de) Trajektorieerzeugung unter verwendung eines strassennetzmodells
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung