DE102023101354A1 - Sensorfusion - Google Patents

Sensorfusion Download PDF

Info

Publication number
DE102023101354A1
DE102023101354A1 DE102023101354.8A DE102023101354A DE102023101354A1 DE 102023101354 A1 DE102023101354 A1 DE 102023101354A1 DE 102023101354 A DE102023101354 A DE 102023101354A DE 102023101354 A1 DE102023101354 A1 DE 102023101354A1
Authority
DE
Germany
Prior art keywords
data
sensor
vehicle
image
procedure
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
DE102023101354.8A
Other languages
English (en)
Inventor
Gaurab Banerjee
Vijay Nagasamy
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies 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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102023101354A1 publication Critical patent/DE102023101354A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125Traffic data processing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/862Combination of radar systems with sonar systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/865Combination of radar systems with lidar systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/867Combination of radar systems with cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/89Radar or analogous systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/86Combinations of sonar systems with lidar systems; Combinations of sonar systems with systems not using wave reflection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/88Sonar systems specially adapted for specific applications
    • G01S15/93Sonar systems specially adapted for specific applications for anti-collision purposes
    • G01S15/931Sonar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/41Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • G01S7/417Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section involving the use of neural networks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/803Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • 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
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/017Detecting movement of traffic to be counted or controlled identifying vehicles
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/04Detecting movement of traffic to be counted or controlled using optical or ultrasonic detectors
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096708Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control
    • G08G1/096725Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control where the received information generates an automatic action on the vehicle control
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096766Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/88Sonar systems specially adapted for specific applications
    • G01S15/89Sonar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Electromagnetism (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Biomedical Technology (AREA)
  • Atmospheric Sciences (AREA)
  • Molecular Biology (AREA)
  • Signal Processing (AREA)
  • Biophysics (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Eine Vielzahl von Bildern kann von einer Vielzahl von Sensoren erlangt werden und aus der Vielzahl von Bildern kann eine Vielzahl von abgeflachten Patches extrahiert werden. Jedem der Vielzahl von abgeflachten Patches kann eine Bildposition in der Vielzahl von Bildern und ein Sensortyptoken, das einen Sensortyp identifiziert, der verwendet wurde, um ein Bild in der Vielzahl von Bildern zu erlangen, aus dem der jeweilige abgeflachte Patch erlangt wurde, hinzugefügt werden. Die abgeflachten Patches können in einen flachen Tensor verkettet werden und ein Aufgabentoken hinzufügen, das dem flachen Tensor eine Verarbeitungsaufgabe angibt, wobei der flache Tensor ein eindimensionales Feld ist, das zwei oder mehr Datentypen beinhaltet. Der flache Tensor kann in ein erstes tiefes neuronales Netzwerk eingegeben werden, das eine Vielzahl von Codiererschichten und eine Vielzahl von Decodiererschichten beinhaltet und eine Umwandlerausgabe ausgibt. Die Umwandlerausgabe kann in ein zweites tiefes neuronales Netzwerk eingegeben werden, das eine durch das Token angegebene Objektvorhersage bestimmt, und die Objektvorhersagen können ausgegeben werden.

Description

  • GEBIET DER TECHNIK
  • Die Offenbarung betrifft ein Sensorsystem in Fahrzeugen.
  • ALLGEMEINER STAND DER TECHNIK
  • Bilder können durch Sensoren erlangt und unter Verwendung eines Computers verarbeitet werden, um Daten bezüglich Objekten in einer Umgebung um ein System zu bestimmen. Der Betrieb eines Erfassungssystems kann Erlangen genauer und aktueller Daten bezüglich Objekten in der Umgebung des Systems beinhalten. Ein Computer kann Bilder von einem oder mehreren Bildsensoren erlangen, die verarbeitet werden können, um Positionen von Objekten zu bestimmen. Aus Bildern extrahierte Objektpositionsdaten können von einem Computer verwendet werden, um Systeme zu betreiben, die Fahrzeuge, Roboter, Sicherheits- und Objektverfolgungssysteme beinhalten.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Ein Erfassungssystem kann von einem oder mehreren Sensoren eines oder mehrerer Sensortypen (d. h. Sensormodalitäten) Daten bezüglich einer Umgebung um das System erlangen und die Daten verarbeiten, um Identitäten und/oder Positionen von Objekten zu bestimmen. Zum Beispiel kann ein tiefes neuronales Netzwerk trainiert und dann verwendet werden, um Objekte in Bilddaten, die durch Sensoren erlangt werden, in Systemen, einschließlich Fahrzeugführung, Roboterbetrieb, Sicherheit, Fertigung und Produktverfolgung, zu bestimmen. Fahrzeugführung kann den Betrieb von Fahrzeugen in autonomen oder teilautonomen Modi in Umgebungen beinhalten, die eine Vielzahl von Objekten beinhalten. Roboterführung kann Führen eines Roboterendeffektors, zum Beispiel eines Greifers, beinhalten, um ein Teil aufzunehmen und das Teil zur Montage in einer Umgebung auszurichten, die eine Vielzahl von Teilen beinhaltet. Sicherheitssysteme können Merkmale beinhalten, wobei ein Computer Videodaten von einer Kamera erlangt, die einen sicheren Bereich beobachtet, um autorisierten Benutzern Zugang zu gewähren und nicht autorisierten Zutritt in einer Umgebung zu detektieren, die eine Vielzahl von Benutzern beinhaltet. In einem Herstellungssystem kann ein tiefes neuronales Netzwerk die Position und Ausrichtung eines oder mehrerer Teile in einer Umgebung bestimmen, die eine Vielzahl von Teilen beinhaltet. In einem Produktverfolgungssystem kann ein tiefes neuronales Netzwerk eine Position und Ausrichtung eines oder mehrerer Pakete in einer Umgebung bestimmen, die eine Vielzahl von Paketen beinhaltet.
  • Die Fahrzeugführung wird in dieser Schrift als nicht einschränkendes Beispiel für die Verwendung eines Computers zum Detektieren von Objekten, zum Beispiel Fahrzeugen und Fußgängern, in einer Verkehrsszene und zum Bestimmen eines Fahrzeugwegs zum Betreiben eines Fahrzeugs auf Grundlage der detektierten Objekte beschrieben. Eine Verkehrsszene ist eine Umgebung um ein Verkehrsinfrastruktursystem oder ein Fahrzeug, die einen Abschnitt einer Fahrbahn und Objekte, einschließlich Fahrzeugen und Fußgängern usw., beinhalten kann. Zum Beispiel kann eine Rechenvorrichtung in einem Fahrzeug oder einem Verkehrsinfrastruktursystem dazu programmiert sein, ein oder mehrere Bilder von einem oder mehreren Sensoren zu erlangen, die in dem Fahrzeug oder dem Verkehrsinfrastruktursystem beinhaltet sind, Objekte in den Bildern zu detektieren und Kennzeichnungen, die die Objekte identifizieren, zusammen mit Positionen der Objekte zu kommunizieren.
  • Die Sensoren können Video- oder Standbildkameras beinhalten, die Bilder erlangen, die sichtbaren oder Infrarotwellenlängen von Licht entsprechen. Sensoren können auch Lidarsensoren, die typischerweise Infrarotwellenlängen von Licht emittieren, Radarsensoren, die Funkwellen emittieren, und Ultraschallsensoren, die Schallwellen emittieren, beinhalten. Lidar-, Radar- und Ultraschallsensoren messen jeweils Entfernungen zu Punkten in der Umgebung. In einigen Beispielen können Sensoren, die in einem Fahrzeug beinhaltet sind, ein oder mehrere Bilder einer Verkehrsszene erlangen und die Bilder verarbeiten, um Positionen von Objekten zu bestimmen, die in den Bildern beinhaltet sind. Die Position der Objekte kann einer Rechenvorrichtung in dem Fahrzeug ermöglichen, einen Fahrzeugweg zu bestimmen, auf dem das Fahrzeug zu betreiben ist. In einigen Beispielen können stationäre Sensoren, die in einem Verkehrsinfrastruktursystem beinhaltet sind, Daten bezüglich Objekten in einer Verkehrsszene bereitstellen, um Daten zu ergänzen, die zum Beispiel von Sensoren erlangt werden, die in dem Fahrzeug beinhaltet sind.
  • Vorteilhafterweise können in dieser Schrift beschriebene Techniken die Fähigkeit einer Rechenvorrichtung in einem Fahrzeug verbessern, zukünftige Positionen von Objekten in einer Umgebung um das Fahrzeug vorherzusagen, indem Daten von Sensoren, die Multimodalitätsdaten erlangen, verwendet werden. Eine Sensormodalität ist der Datentyp, den ein Sensor erlangt. Zum Beispiel kann eine Rot-Grün-Blau-Videokamera (RGB-Videokamera) ein Farbbild erlangen, das ein zweidimensionales Feld (2D-Feld) von Pixeln mit Pixelwerten beinhaltet, die die Intensitäten von Licht messen, das von Flächen in der Umgebung reflektiert oder emittiert wird. Lidarsensoren messen Entfernungen zu Flächen in der Umgebung, indem sie Laserimpulse emittieren und die Laufzeit oder Phasenverschiebung eines zurückgekehrten Signals messen. Ein Radarsensor misst Entfernungen zu Flächen in der Umgebung, indem modulierte Radiowellen emittiert werden und eine Phasenverschiebung des Rücksignals gemessen wird. Ein Ultraschallsensor emittiert modulierte Hochfrequenzschallwellen und misst das Rücksignal, um Entfernungen zu Flächen in der Umgebung zu bestimmen. Jeder dieser Sensortypen wird als Sensormodalität bezeichnet und jede Sensormodalität erlangt in Abhängigkeit von der Wellenlänge der emittierten Energie und der zum Erlangen der Daten verwendeten Technik Daten bezüglich Objekten oder Flächen in der Umgebung mit unterschiedlichen Qualitäten.
  • Eine RGB- oder Infrarotkamera kann bei gut beleuchteten Bedingungen, wie etwa Tageslicht, Daten mit einer hohen räumlichen Auflösung erlangen, funktioniert jedoch bei schlechten Sichtverhältnissen nicht gut. Ein Lidarsensor kann Entfernungen zu Objekten und Flächen in der Umgebung bestimmen, kann jedoch eine geringere räumliche Auflösung als ein Bildsensor aufweisen. Ein Radarsensor kann eine noch geringere räumliche Auflösung aufweisen, kann jedoch mit hoher Empfindlichkeit metallische Objekte bei schlechten Sichtverhältnissen detektieren. Ein Ultraschallsensor kann zum Beispiel eine hohe Auflösung aufweisen, weist jedoch eine begrenzte Reichweite auf. Das Kombinieren mehrerer Sensormodalitäten, um Objekte in einer Umgebung um ein Fahrzeug zu detektieren, kann von den Stärken jeder Sensormodalität profitieren, während die jeweiligen Schwächen ausgeglichen werden. Das Kombinieren mehrerer Sensormodalitäten kann trotz Änderungen der Sicht, zum Beispiel aufgrund von Wetter oder Tageszeit, eine zuverlässige Objektdetektion bereitstellen.
  • Das Kombinieren von Multimodalitätsdaten zum Detektieren von Objekten in einer Umgebung um ein Fahrzeug durch getrenntes Verarbeiten von Daten von jedem Sensor und Kombinieren der Ergebnisse kann dazu führen, dass Rechenressourcen für jede Sensormodalität reserviert werden. Zum Beispiel kann jede Sensormodalität ein separates tiefes neuronales Netzwerk nutzen, um Objekte vorherzusagen. Zusätzliche Rechenressourcen können reserviert werden, um die von jedem tiefen neuronalen Netzwerk ausgegebenen Vorhersagen zu kombinieren, um eine einzelne Objektvorhersage in einer Form zu bestimmen, die durch eine Rechenvorrichtung in einem Fahrzeug verwendet werden kann, um das Fahrzeug zu betreiben. Vorteilhafterweise kann ein wie in dieser Schrift beschriebenes multimodales Umwandlernetzwerk Ineffizienzen mit derartigen reservierten Ressourcen beheben, indem eingegebene multimodale Sensordaten direkt empfangen werden (d. h. ohne intervenierende neuronale Netzwerke, die für spezifische Sensortypen reserviert sind), und eine einzelne Ausgabeobj ektvorhersage bestimmen, während weniger Rechenressourcen und weniger Zeit als bei Systemen verwendet werden, die für jede Modalität separate Rechenressourcen einsetzen.
  • In dieser Schrift ist ein Verfahren offenbart, das Erlangen einer Vielzahl von Bildern von einer Vielzahl von Sensoren und Extrahieren einer Vielzahl von abgeflachten Patches aus der Vielzahl von Bildern, Hinzufügen einer Bildposition in der Vielzahl von Bildern und eines Sensortyptokens, das einen Sensortyp identifiziert, der verwendet wurde, um ein Bild in der Vielzahl von Bildern zu erlangen, aus dem der jeweilige abgeflachte Patch erlangt wurde, zu jedem der Vielzahl von abgeflachten Patches beinhaltet. Das Verfahren beinhaltet ferner Verketten der abgeflachten Patches in einen Tensor und Hinzufügen eines Aufgabentokens, das dem Tensor eine Verarbeitungsaufgabe angibt, wobei der Tensor ein Feld ist, das mehr als einen Datentyp beinhaltet, Eingeben des Tensors in ein erstes tiefes neuronales Netzwerk, das eine Vielzahl von Codiererschichten und eine Vielzahl von Decodiererschichten beinhaltet und eine Umwandlerausgabe ausgibt, Eingeben der Umwandlerausgabe in ein zweites tiefes neuronales Netzwerk, das eine durch das Aufgabentoken angegebene Objektvorhersage bestimmt, und Ausgeben der Obj ektvorhersage. Ein Fahrzeug kann durch Bestimmen eines Fahrzeugwegs auf Grundlage der Objektvorhersage betrieben werden. Die Sensortypen können eine Videokamera, einen Lidarsensor, einen Radarsensor und einen Ultraschallsensor beinhalten. Die Vielzahl von Bildern kann ein Kamerabild, ein Lidarbild, ein Radarbild und ein Ultraschallbild beinhalten. Die Vielzahl von Bildern kann umformatiert werden, damit sie einem zweidimensionalen Kamerabildfeld entspricht, wobei eine Pixelposition in dem zweidimensionalen Feld einen Strahl von einem Punkt in dem Sensor, der in der Vielzahl von Sensoren beinhaltet ist, zu der Pixelposition in dem zweidimensionalen Feld bestimmt und wobei ein Pixelwert in dem zweidimensionalen Feld durch eine Entfernung von dem Punkt in dem Sensor zu einem Punkt, an dem der Strahl einen Datenpunkt schneidet, der in einer Lidarpunktwolke, einer Radarpunktwolke oder einer Ultraschallpunktwolke beinhaltet ist, bestimmt ist.
  • Die abgeflachten Patches können durch Auswählen von rechteckigen Bildabschnitten und Kopieren von Bildpixeln von links oben nach rechts unten aus den rechteckigen Bildabschnitten in abgeflachte lineare Felder generiert werden. Die Decodiererschichten können eine Self-Attention-Schicht beinhalten, die Gewichtungen für Positionen in dem Tensor beinhaltet, die während Training auf Grundlage von Ground Truth bestimmt wurden. Eine erste Hinzufügungs- und Normalisierungsschicht, die in den Decodiererschichten beinhaltet ist, kann den Gewichtungen, die durch die Self-Attention-Schicht generiert werden, die Eingabetensoren hinzufügen und normalisiert die Ergebnisse auf einen Wert von eins. Eine Ausgabe von der ersten Hinzufügungs- und Normalisierungsschicht kann in ein oder mehrere Feed-Forward-Netzwerke eingegeben werden. Eine zweite Hinzufügungs- und Normalisierungsschicht kann die Ausgabe von dem einen oder den mehreren Feed-Forward-Netzwerken der Ausgabe von der ersten Hinzufügungs- und Normalisierungsschicht hinzufügen und normalisiert die Ergebnisse auf einen Wert von eins. Die Codiererschichten können eine Self-Attention-Schicht, eine erste Hinzufügungs- und Normalisierungsschicht, eine Codierer-Decodierer-Attention-Schicht, eine zweite Hinzufügungs- und Normalisierungsschicht, ein oder mehrere neuronale Decodierernetzwerke und eine dritte Hinzufügungs- und Normalisierungsschicht beinhalten. Die durch das Aufgabentoken identifizierte Verarbeitungsaufgabe kann eine oder mehrere von Objektposition, Objekttiefenschätzung, Objektklassifizierung und Objektsegmentierung beinhalten. Die Objektvorhersage kann eine x,y-Position eines Objekts, eine Entfernung eines Objekts von dem Sensor, eine Klassenkennzeichnung eines Objekts, wobei eine Objektklassenkennzeichnung ein Fahrzeug oder einen Fußgänger beinhaltet, und ein Bildsegment auf Grundlage eines zweidimensionalen Umrisses eines Objekts beinhalten. Die Self-Attention-Schicht kann eine Attention-Funktion beinhalten, die eine Abfrage und einen Satz von Schlüssel-Wert-Paaren einer Ausgabe zuordnet.
  • Ferner ist ein computerlesbares Medium offenbart, das Programmanweisungen zum Ausführen einiger oder aller der vorstehenden Verfahrensschritte speichert. Ferner ist ein Computer offenbart, der dazu programmiert ist, einige oder alle der vorstehenden Verfahrensschritte auszuführen, einschließlich eines Rechengeräts, das dazu programmiert ist, ein Bild in ein tiefes neuronales Netzwerk einzugeben, um eine Vielzahl von Bildern von einer Vielzahl von Sensoren zu erlangen und eine Vielzahl von abgeflachten Patches aus der Vielzahl von Bildern zu extrahieren, jedem der Vielzahl von abgeflachten Patches eine Bildposition in der Vielzahl von Bildern und ein Sensortyptoken, das einen Sensortyp identifiziert, der verwendet wurde, um ein Bild in der Vielzahl von Bildern zu erlangen, aus dem der jeweilige abgeflachte Patch erlangt wurde, hinzuzufügen. Die Anweisungen können ferner Anweisungen zum Verketten der abgeflachten Patches in einen Tensor und Hinzufügen eines Aufgabentokens, das dem Tensor eine Verarbeitungsaufgabe angibt, wobei der Tensor ein Feld ist, das mehr als einen Datentyp beinhaltet, Eingeben des Tensors in ein erstes tiefes neuronales Netzwerk, das eine Vielzahl von Codiererschichten und eine Vielzahl von Decodiererschichten beinhaltet und eine Umwandlerausgabe ausgibt, Eingeben der Umwandlerausgabe in ein zweites tiefes neuronales Netzwerk, das eine durch das Aufgabentoken angegebene Objektvorhersage bestimmt, und Ausgeben der Objektvorhersage beinhalten. Ein Fahrzeug kann durch Bestimmen eines Fahrzeugwegs auf Grundlage der Obj ektvorhersage betrieben werden. Die Sensortypen können eine Videokamera, einen Lidarsensor, einen Radarsensor und einen Ultraschallsensor beinhalten. Die Vielzahl von Bildern kann ein Kamerabild, ein Lidarbild, ein Radarbild und ein Ultraschallbild beinhalten. Die Vielzahl von Bildern kann umformatiert werden, damit sie einem zweidimensionalen Kamerabildfeld entspricht, wobei eine Pixelposition in dem zweidimensionalen Feld einen Strahl von einem Punkt in dem Sensor, der in der Vielzahl von Sensoren beinhaltet ist, zu der Pixelposition in dem zweidimensionalen Feld bestimmt und wobei ein Pixelwert in dem zweidimensionalen Feld durch eine Entfernung von dem Punkt in dem Sensor zu einem Punkt, an dem der Strahl einen Datenpunkt schneidet, der in einer Lidarpunktwolke, einer Radarpunktwolke oder einer Ultraschallpunktwolke beinhaltet ist, bestimmt ist.
  • Die Anweisungen können ferner Anweisungen zum Generieren der abgeflachten Patches durch Auswählen von rechteckigen Bildabschnitten und Kopieren von Bildpixeln von links oben nach rechts unten aus den rechteckigen Bildabschnitten in abgeflachte lineare Felder beinhalten. Die Decodiererschichten können eine Self-Attention-Schicht beinhalten, die Gewichtungen für Positionen in dem Tensor beinhaltet, die während Training auf Grundlage von Ground Truth bestimmt wurden. Eine erste Hinzufügungs- und Normalisierungsschicht, die in den Decodiererschichten beinhaltet ist, kann den Gewichtungen, die durch die Self-Attention-Schicht generiert werden, die Eingabetensoren hinzufügen und normalisiert die Ergebnisse auf einen Wert von eins. Eine Ausgabe von der ersten Hinzufügungs- und Normalisierungsschicht kann in ein oder mehrere Feed-Forward-Netzwerke eingegeben werden. Eine zweite Hinzufügungs- und Normalisierungsschicht kann die Ausgabe von dem einen oder den mehreren Feed-Forward-Netzwerken der Ausgabe von der ersten Hinzufügungs- und Normalisierungsschicht hinzufügen und normalisiert die Ergebnisse auf einen Wert von eins. Die Codiererschichten können eine Self-Attention-Schicht, eine erste Hinzufügungs- und Normalisierungsschicht, eine Codierer-Decodierer-Attention-Schicht, eine zweite Hinzufügungs- und Normalisierungsschicht, ein oder mehrere neuronale Decodierernetzwerke und eine dritte Hinzufügungs- und Normalisierungsschicht beinhalten. Die durch das Aufgabentoken identifizierte Verarbeitungsaufgabe kann eine oder mehrere von Objektposition, Objekttiefenschätzung, Objektklassifizierung und Objektsegmentierung beinhalten. Die Objektvorhersage kann eine x,y-Position eines Objekts, eine Entfernung eines Objekts von dem Sensor, eine Klassenkennzeichnung eines Objekts, wobei eine Objektklassenkennzeichnung ein Fahrzeug oder einen Fußgänger beinhaltet, und ein Bildsegment auf Grundlage eines zweidimensionalen Umrisses eines Objekts beinhalten. Die Self-Attention-Schicht kann eine Attention-Funktion beinhalten, die eine Abfrage und einen Satz von Schlüssel-Wert-Paaren einer Ausgabe zuordnet.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines beispielhaften Fahrzeugverwaltungssystems.
    • 2 ist ein Diagramm eines beispielhaften Fahrzeugs, das Sensoren beinhaltet.
    • 3 ist ein Diagramm eines beispielhaften neuronalen Umwandlernetzwerks für mehrere Sensoren.
    • 4 ist ein Diagramm beispielhafter Bilder mehrerer Sensoren.
    • 5 ist ein Diagramm beispielhafter Bildeingabedaten.
    • 6 ist ein Diagramm beispielhafter Bildeingabedaten mehrerer Sensoren.
    • 7 ist ein Diagramm eines beispielhaften neuronalen Bildumwandlernetzwerks für mehrere Sensoren.
    • 8 ist ein Ablaufplan eines beispielhaften Prozesses zum Bestimmen von Obj ektvorhersagen.
    • 9 ist ein Ablaufplan eines beispielhaften Prozesses zum Betreiben eines Fahrzeugs auf Grundlage einer Objektvorhersage.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist ein Diagramm eines Systems 100, das ein Verkehrsinfrastruktursystem 105 beinhalten kann, das einen Servercomputer 120 und stationäre Sensoren 122 beinhaltet. Das System 100 beinhaltet ein Fahrzeug 110, das in einem autonomen („autonom“ für sich bedeutet in dieser Offenbarung „vollautonom“), einem teilautonomen und einem insassengesteuerten (auch als nicht autonom bezeichneten) Modus betreibbar ist. Eine oder mehrere Rechenvorrichtungen 115 des Fahrzeugs 110 können Daten bezüglich des Betriebs des Fahrzeugs 110 von Sensoren 116 empfangen. Die Rechenvorrichtung 115 kann das Fahrzeug 110 in einem autonomen Modus, einem teilautonomen Modus oder einem nicht autonomen Modus betreiben.
  • Die Rechenvorrichtung 115 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Ferner beinhaltet der Speicher eine oder mehrere Formen von computerlesbaren Medien und speichert Anweisungen, die durch den Prozessor zum Durchführen verschiedener Vorgänge, einschließlich der in dieser Schrift offenbarten, ausführbar sind. Zum Beispiel kann die Rechenvorrichtung 115 Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Beschleunigungssteuerung in dem Fahrzeug 110 durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Klimaregelung, Innen- und/oder Außenleuchten usw. des Fahrzeugs zu betreiben sowie um zu bestimmen, ob und wann die Rechenvorrichtung 115 im Gegensatz zu einem menschlichen Bediener derartige Vorgänge zu steuern hat.
  • Die Rechenvorrichtung 115 kann mehr als eine Rechenvorrichtung, z. B. Steuerungen oder dergleichen, die in dem Fahrzeug 110 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten beinhaltet sind, z. B. eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113, eine Lenksteuerung 114 usw., beinhalten oder z. B. über einen Fahrzeugkommunikationsbus, wie weiter unten beschrieben, kommunikativ mit dieser bzw. diesen gekoppelt sein. Die Rechenvorrichtung 115 ist im Allgemeinen zur Kommunikation an einem Fahrzeugkommunikationsnetzwerk angeordnet, das z. B. einen Bus in dem Fahrzeug 110, wie etwa ein Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netzwerk des Fahrzeugs 110 kann zusätzlich oder alternativ drahtgebundene oder drahtlose Kommunikationsmechanismen, wie sie bekannt sind, beinhalten, z. B. Ethernet oder andere Kommunikationsprotokolle.
  • Über das Fahrzeugnetzwerk kann die Rechenvorrichtung 115 Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen, z. B. Steuerungen, Aktoren, Sensoren usw., einschließlich der Sensoren 116, empfangen. Alternativ oder zusätzlich kann in Fällen, in denen die Rechenvorrichtung 115 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerk zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als die Rechenvorrichtung 115 dargestellt sind. Ferner können, wie nachfolgend erwähnt, verschiedene Steuerungen oder Erfassungselemente, wie etwa die Sensoren 116, der Rechenvorrichtung 115 Daten über das Fahrzeugkommunikationsnetzwerk bereitstellen.
  • Zusätzlich kann die Rechenvorrichtung 115 dazu konfiguriert sein, über ein Netzwerk 130, das, wie nachstehend beschrieben, Hardware, Firmware und Software beinhaltet, die es der Rechenvorrichtung 115 ermöglichen, über ein Netzwerk 130, wie etwa drahtloses Internet (WI-FI®) oder Mobilfunknetzwerke, mit einem entfernten Servercomputer 120 zu kommunizieren, durch eine Fahrzeug-Infrastruktur-Schnittstelle 111 (F-I-Schnittstelle) mit einem entfernten Servercomputer 120, z. B. einem Cloud-Server, zu kommunizieren. Die F-I-Schnittstelle 111 kann dementsprechend Prozessoren, einen Speicher, Sendeempfänger usw. beinhalten, die dazu konfiguriert sind, verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien zu nutzen, z. B. Mobilfunk, BLUETOOTH® und drahtgebundene und/oder drahtlose Paketnetzwerke. Die Rechenvorrichtung 115 kann zum Kommunizieren mit anderen Fahrzeugen 110 über die F-I-Schnittstelle 111 unter Verwendung von Fahrzeug-Fahrzeug-Netzwerken (F-F-Netzwerken), z. B. gemäß dedizierter Nahbereichskommunikation (dedicated short range communications - DSRC) und/oder dergleichen, konfiguriert sein, die z. B. ad hoc zwischen Fahrzeugen 110 in der Nähe gebildet werden oder über infrastrukturbasierte Netzwerke gebildet werden. Die Rechenvorrichtung 115 beinhaltet auch einen nicht flüchtigen Speicher, wie er bekannt ist. Die Rechenvorrichtung 115 kann durch Speichern von Daten zum späteren Abrufen und Übertragen über das Fahrzeugübertragungsnetzwerk und eine Fahrzeug-Infrastruktur-Schnittstelle (F-I-Schnittstelle) 111 an einen Servercomputer 120 oder eine mobile Benutzervorrichtung 160 Daten in einem nicht flüchtigen Speicher protokollieren.
  • Wie bereits erwähnt, ist in Anweisungen, die in dem Speicher gespeichert und durch den Prozessor der Rechenvorrichtung 115 ausführbar sind, im Allgemeinen Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, z. B. Bremsen, Lenkung, Antrieb usw., ohne Eingreifen eines menschlichen Bedieners beinhaltet. Unter Verwendung von in der Rechenvorrichtung 115 empfangenen Daten, z. B. der Sensordaten von den Sensoren 116, dem Servercomputer 120 usw., kann die Rechenvorrichtung 115 ohne einen Fahrer zum Betreiben des Fahrzeugs 110 verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten und/oder Vorgänge des Fahrzeugs 110 steuern. Zum Beispiel kann die Rechenvorrichtung 115 eine Programmierung zum Regulieren des Betriebsverhaltens des Fahrzeugs 110 (d. h. physischer Manifestationen des Betriebs des Fahrzeugs 110), wie etwa Geschwindigkeit, Beschleunigung, Abbremsung, Lenkung usw., und des taktischen Verhaltens (d. h. Steuerung des Betriebsverhaltens auf eine Weise, die typischerweise ein effizientes Abfahren einer Route erzielen soll), wie etwa einer Entfernung zwischen Fahrzeugen und/oder eines Zeitraums zwischen Fahrzeugen, Spurwechseln, des Mindestabstands zwischen Fahrzeugen, der Mindestzeit zur Wegquerung bei Linksabbiegung, der Zeit bis zur Ankunft an einer konkreten Position und der Mindestzeit bis zum Überqueren der Kreuzung an einer Kreuzung (ohne Ampel) beinhalten.
  • Steuerungen beinhalten im in dieser Schrift verwendeten Sinne Rechenvorrichtungen, die typischerweise dazu programmiert sind, ein spezifisches Fahrzeugteilsystem zu überwachen und/oder zu steuern. Beispiele beinhalten eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113 und eine Lenksteuerung 114. Eine Steuerung kann eine elektronische Steuereinheit (electronic control unit - ECU) sein, wie sie bekannt ist, die möglicherweise zusätzliche Programmierung beinhaltet, wie sie in dieser Schrift beschrieben ist. Die Steuerungen können kommunikativ mit der Rechenvorrichtung 115 verbunden sein und Anweisungen von dieser empfangen, um das Teilsystem gemäß den Anweisungen zu betätigen. Zum Beispiel kann die Bremssteuerung 113 Anweisungen zum Betreiben der Bremsen des Fahrzeugs 110 von der Rechenvorrichtung 115 empfangen.
  • Die eine oder mehreren Steuerungen 112, 113, 114 für das Fahrzeug 110 können bekannte elektronische Steuereinheiten (ECUs) oder dergleichen beinhalten, die als nicht einschränkende Beispiele eine oder mehrere Antriebsstrangsteuerungen 112, eine oder mehrere Bremssteuerungen 113 und eine oder mehrere Lenksteuerungen 114 beinhalten. Jede der Steuerungen 112, 113, 114 kann jeweilige Prozessoren und Speicher und einen oder mehrere Aktoren beinhalten. Die Steuerungen 112, 113, 114 können mit einem Kommunikationsbus des Fahrzeugs 110 programmiert und verbunden sein, wie etwa zum Beispiel einem Controller-Area-Network-Bus (CAN-Bus) oder einem Local-Interconnect-Network-Bus (LIN-Bus), um Anweisungen von der Rechenvorrichtung 115 zu empfangen und Aktoren auf Grundlage der Anweisungen zu steuern.
  • Die Sensoren 116 können eine Vielfalt von Vorrichtungen beinhalten, die für die Bereitstellung von Daten über den Fahrzeugkommunikationsbus bekannt sind. Zum Beispiel kann ein Radar, das an einem vorderen Stoßfänger (nicht gezeigt) des Fahrzeugs 110 befestigt ist, eine Entfernung von dem Fahrzeug 110 zu einem nächsten Fahrzeug vor dem Fahrzeug 110 bereitstellen oder kann ein Sensor des globalen Positionsbestimmungssystems (GPS), der in dem Fahrzeug 110 angeordnet ist, geografische Koordinaten des Fahrzeugs 110 bereitstellen. Die durch das Radar und/oder die anderen Sensoren 116 bereitgestellte(n) Entfernung(en) und/oder die durch den GPS-Sensor bereitgestellten geografischen Koordinaten kann/können durch die Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 zum Beispiel autonom oder teilautonom zu betreiben.
  • Das Fahrzeug 110 ist im Allgemeinen ein Landfahrzeug 110, das autonom und/oder teilautonom betrieben werden kann und das drei oder mehr Räder aufweist, z. B. ein PKW, ein Kleinlaster usw. Das Fahrzeug 110 beinhaltet einen oder mehrere Sensoren 116, die F-I-Schnittstelle 111, die Rechenvorrichtung 115 und eine oder mehrere Steuerungen 112, 113, 114. Die Sensoren 116 können Daten in Bezug auf das Fahrzeug 110 und die Umgebung, in der das Fahrzeug 110 betrieben wird, sammeln. Beispielhaft und nicht einschränkend können die Sensoren 116 z. B. Höhenmesser, Kameras, LIDAR, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Gyroskope, Temperatursensoren, Drucksensoren, Hallsensoren, optische Sensoren, Spannungssensoren, Stromsensoren, mechanische Sensoren, wie etwa Schalter, usw. beinhalten. Die Sensoren 116 können verwendet werden, um die Umgebung zu erfassen, in der das Fahrzeug 110 betrieben wird, z. B. können die Sensoren 116 Phänomene, wie etwa Wetterbedingungen (Niederschlag, äußere Umgebungstemperatur usw.), die Neigung einer Straße, die Position einer Straße (z. B. unter Verwendung von Straßenrändern, Spurmarkierungen usw.) oder Positionen von Zielobjekten, wie etwa Nachbarfahrzeugen 110, detektieren. Die Sensoren 116 können ferner verwendet werden, um Daten zu sammeln, die dynamische Daten des Fahrzeugs 110 beinhalten, die sich auf den Betrieb des Fahrzeugs 110 beziehen, wie etwa Geschwindigkeit, Gierrate, Lenkwinkel, Motordrehzahl, Bremsdruck, Öldruck, den auf die Steuerungen 112, 113, 114 in dem Fahrzeug 110 angewandten Leistungspegel, Konnektivität zwischen Komponenten und genaue und aktuelle Leistungsfähigkeit von Komponenten des Fahrzeugs 110.
  • Fahrzeuge können dazu ausgestattet sein, sowohl in einem autonomen als auch in einem insassengesteuerten Modus betrieben zu werden. Unter einem teil- oder vollautonomen Modus wird ein Betriebsmodus verstanden, in dem ein Fahrzeug teilweise oder vollständig durch eine Rechenvorrichtung als Teil eines Systems, das Sensoren und Steuerungen aufweist, gesteuert werden kann. Das Fahrzeug kann besetzt oder unbesetzt sein, wobei das Fahrzeug in beiden Fällen teilweise oder vollständig ohne Unterstützung eines Insassen gesteuert werden kann. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als ein Modus definiert, in dem jedes von Antrieb (z. B. über einen Antriebsstrang, der eine Brennkraftmaschine und/oder einen Elektromotor beinhaltet), Bremsung und Lenkung des Fahrzeugs durch einen oder mehrere Fahrzeugcomputer gesteuert wird; in einem teilautonomen Modus steuert/steuern der/die Fahrzeugcomputer eines oder mehrere von Antrieb, Bremsung und Lenkung des Fahrzeugs. In einem nicht autonomen Modus wird keines von diesen durch einen Computer gesteuert.
  • 2 ist ein Diagramm eines beispielhaften Fahrzeugs 110, das eine Videokamera 202, einen Lidarsensor 204, einen Radarsensor 206, zwei nach vorn gerichtete Ultraschallsensoren 208, 210 und zwei nach hinten gerichtete Ultraschallsensoren 212, 214 (zusammen Sensoren 116) aufweist. Eine Rechenvorrichtung 115 in einem Fahrzeug 110 kann Sensordaten von einem oder mehreren Sensoren 116 erlangen und die Sensordaten in ein Softwareprogramm eingeben, um Daten bezüglich Objekten in einer Umgebung um das Fahrzeug 110 zu bestimmen. Zum Beispiel kann eine Rechenvorrichtung 115 Sensordaten verwenden, um Positionen anderer Fahrzeuge in einer Umgebung um ein Fahrzeug 110 zu bestimmen. Die Rechenvorrichtung 115 kann eine Vielzahl von Positionen eines Fahrzeugs über eine Vielzahl von Zeitschritten bestimmen und die Vielzahl von Positionen verwenden, um das Fahrzeug zu verfolgen, wobei sich das Verfolgen auf das Bestimmen einer Geschwindigkeit und einer Richtung eines Objekts bezieht. Die Verfolgungsdaten können von einer Rechenvorrichtung 115 verwendet werden, um zum Beispiel eine zukünftige Position eines anderen Fahrzeugs in einer Umgebung um ein Fahrzeug 110 vorherzusagen.
  • Daten bezüglich Objekten in einer Umgebung um ein Fahrzeug 110, die durch Verarbeiten von Sensordaten bestimmt werden, die von Sensoren 116 erlangt werden, können verwendet werden, um das Fahrzeug 110 zu betreiben. Zum Beispiel kann eine Rechenvorrichtung 115 einen Fahrzeugweg bestimmen, auf dem ein Fahrzeug 110 zu betreiben ist, der Kontakt oder Beinahekontakt mit Objekten in der Umgebung vermeidet, einschließlich Verfolgen sich bewegender Objekte, um zukünftige Positionen der Objekte vorherzusagen. Objekte von Interesse können zum Beispiel Fahrzeuge und Fußgänger beinhalten. Ein Fahrzeugweg kann eine Polynomfunktion sein, die von der Rechenvorrichtung 115 auf Grundlage von Ober- und Untergrenzen zu Quer- und Längsbeschleunigungen bestimmt wird. Eine Rechenvorrichtung 115 kann bewirken, dass ein Fahrzeug 110 auf dem Fahrzeugweg fährt, indem sie über die Steuerungen 112, 113, 114 den Fahrzeugantriebsstrang, die Fahrzeuglenkung und die Fahrzeugbremsen steuert.
  • Unterschiedliche Sensordaten, die durch unterschiedliche Sensoren 116 erlangt werden, weisen unterschiedliche Stärken und Schwächen in Bezug auf ihre Fähigkeit auf, Daten bezüglich Objekten in einer Umgebung um ein Fahrzeug 110 zu erlangen. Zum Beispiel kann eine Videokamera 202 Bilddaten mit einer hohen räumlichen Auflösung mit Bildraten von bis zu 60 Bildern pro Sekunde erlangen. Ein Einzelbild von Videodaten ist eine zweidimensionale (2D) Ansicht von Licht, das von Objekten und Flächen in der Umgebung um das Fahrzeug 110 reflektiert oder emittiert wird. Videodaten stellen nicht direkt dreidimensionale Daten (3D-Daten) bezüglich Objekten und Flächen in der Umgebung bereit. 3D-Daten bezüglich Objekten und Flächen in der Umgebung können durch Verarbeiten von Videodaten abgeleitet werden. Zum Beispiel kann ein Objekt in einer Vielzahl von Videoeinzelbildern verfolgt werden und die 3D-Bewegung des Objekts auf Grundlage von Daten bezüglich der Vergrößerung und 3D-Stellung der Videokamera 202 in Bezug auf eine Bodenebene, wie etwa eine Fahrbahn, aus den Verfolgungsdaten abgeleitet werden. Das Bestimmen von Objektdaten unter Verwendung von Videokameradaten kann nachts, bei schlechten Lichtverhältnissen und wenn das Wetter, wie etwa Regen oder Schnee, die von der Videokamera 202 erhaltene Sicht auf die Umgebung verdeckt, schwierig sein.
  • Ein Lidarsensor 204 kann Lichtimpulse emittieren, typischerweise im Bereich des Infrarotspektrums, und Rücksignale erlangen, die von Objekten und Flächen in der Umgebung reflektiert werden, um Punktwolkendaten zu generieren, die Entfernungen von dem Lidarsensor 204 zu Punkten auf den Objekten und Flächen beinhalten. Lidarpunktwolkendaten weisen typischerweise eine geringere räumliche (2D) und zeitliche Auflösung als Videodaten auf, haben jedoch den Vorteil, dass 3D-Positionen mit hoher Auflösung direkt ohne weitere Verarbeitung gemessen werden. Die geringere räumliche und zeitliche Auflösung macht die Identifizierung und das Verfolgen von Objekten in Lidar-Punktwolkendaten typischerweise schwieriger als in Videodaten. Ein Lidarsensor hat auch den Vorteil, nachts und bei schlechten Lichtverhältnissen betrieben zu werden, da er sein eigenes Licht emittiert, anstatt auf Umgebungslicht angewiesen zu sein. Da er sich auf übertragenes und reflektiertes Licht stützt, können Wetterbedingungen Lidarpunktwolkendaten auf ähnliche Weise wie Videodaten nachteilig beeinflussen.
  • Ein Radarsensor 206 emittiert modulierte Funkwellen und erlangt Rücksignale, die von Objekten und Flächen in der Umgebung reflektiert werden. Radardaten beinhalten typischerweise Entfernungsdaten mit hoher Auflösung, aber eine räumliche 2D-Auflösung mit sehr niedriger Auflösung. Radardaten können Bewegungsdaten direkt bereitstellen, indem die Doppler-Verschiebung in den Rückdaten gemessen wird. Radardaten weisen eine hohe Empfindlichkeit gegenüber metallischen Objekten und Flächen auf, die Funkwellen reflektieren, wie etwa Fahrzeuge, Gebäude und Straßenbelag, weisen jedoch eine geringe Empfindlichkeit gegenüber Funkwellen absorbierenden Objekten, wie etwa Fußgängern und Blätter, auf. Radarsensoren 206 haben den Vorteil, bei schlechten Lichtverhältnissen und den meisten schlechten Wetterbedingungen betrieben zu werden. Die Ultraschallsensoren 208, 210, 212, 214 weisen eine mäßige Entfernungsauflösung und eine geringe räumliche Auflösung auf und werden nur über begrenzte Entfernungen betrieben. Zum Beispiel werden die Ultraschallsensoren 208, 210, 212, 214 typischerweise für Anwendungen, wie etwa Parken oder Fahren auf Parkplätzen oder Parkstrukturen, verwendet, bei denen sich zu detektierende Objekte und Flächen in der Nähe des Fahrzeugs 110 befinden, d. h. innerhalb von einem oder zwei Metern.
  • Multimodalitätssensordaten können durch eine Rechenvorrichtung 115 verwendet werden, um Einschränkungen jeder Sensormodalität zu überwinden. Zum Beispiel können Videokameradaten verwendet werden, um eine 2D-Position eines Objekts, wie etwa eines Fahrzeugs, zu bestimmen. Lidarpunktwolkendaten, die ungefähr zur gleichen Zeit erlangt werden und ungefähr das gleiche Sichtfeld wie die Videokameradaten abdecken, können mit den verarbeiteten Videokameradaten kombiniert werden, um die 3D-Entfernung zu einem detektierten Fahrzeug zu bestimmen. Typischerweise werden Daten von jeder Sensormodalität separat verarbeitet und die Ergebnisse nach der Verarbeitung kombiniert. Das separate Verarbeiten jeder Sensormodalität erfordert doppelte Rechenressourcen für jede Sensormodalität. Das Kombinieren der Ergebnisse von mehreren Sensormodalitäten erfordert weitere Verarbeitung, um die Bedingungen zu bestimmen, unter denen jede Sensormodalität betrieben wurde, als die Daten erlangt wurden. Zum Beispiel kann bei schlechten Lichtverhältnissen auf Videodaten eine geringere Bedeutung angewandt werden als auf Lidarpunktwolkendaten. Es ist zusätzliche Verarbeitung erforderlich, um Umgebungsbedingungen zu bestimmen, die Sensordaten beeinflussen können, bevor die Ergebnisse kombiniert werden.
  • Vorteilhafterweise kombiniert ein wie in dieser Schrift erörtertes multimodales tiefes neuronales Netzwerk mehrere Sensormodalitäten und verarbeitet die Modalitäten zusammen mit einem einzelnen Verarbeitungssystem mit tiefem neuronalen Netzwerk. Das Verarbeitungssystem mit tiefem neuronalen Netzwerk ist dazu trainiert, Daten von jedem Sensor in Abhängigkeit von der Qualität der Eingabedaten auszuwerten und angemessen zu kombinieren. Das multimodale tiefe neuronale Netzwerk kombiniert einen einzelnen Eingabeprozessor mit einer Vielzahl von Ausgabeprozessoren, um zu ermöglichen, dass eine Vielzahl von Ausgabevorhersagetypen bestimmt wird, während minimale Rechenressourcen verwendet werden.
  • 3 ist ein Diagramm eines multimodalen Objektsdetektionssystems 300. Das multimodale Objektdetektionssystem 300 nimmt eine Vielzahl von multimodalen Sensordaten 302, 304, 306, 308 als Eingabe. Sensordatentypen, die in den multimodalen Sensordaten 302, 304, 306, 308 beinhaltet sind, können zum Beispiel Videobilder, Lidarpunktwolken, Radar-Punktwolken und Ultraschalldaten beinhalten. Die Vielzahl von multimodalen Sensordaten 302, 304, 306, 308 wird in einen Eingabecodierer 310 eingegeben, der die multimodalen Sensordaten 302, 304, 306, 308 in ein gemeinsames Format formatiert und sie in einen finalen Eingabetensor 314 organisiert, der zur Verarbeitung durch einen Fusionsumwandler 316 geeignet ist. Der Eingabecodierer 310 ist nachstehend in Bezug auf 4, 5 und 6 beschrieben. Der finale Eingabetensor 314 beinhaltet auch ein Token, das angibt, welcher Typ von Ausgabeobjektvorhersage 320, 322, 324, 326 an der Umwandlerausgabe 318 durchgeführt werden wird. Der Fusionsumwandler 316 ist ein tiefes neuronales Netzwerk, das Codierer des tiefen neuronalen Netzwerks, neuronale Decodierernetzwerke und Attention-Köpfe beinhaltet, die den finalen Eingabetensor 314 verarbeiten, um eine Umwandlerausgabe 318 zu erzeugen. Umwandlerausgabe 318. Der Fusionsumwandler 316 ist nachstehend in Bezug auf 7 erörtert.
  • Der Fusionsumwandler 316 wandelt die multimodalen Eingabedaten in ein gemeinsames Objektformat um, das Daten bezüglich Objekten beinhaltet, die in dem finalen Eingabetensor 314 beinhaltet sind. Die Umwandlerausgabe 318 beinhaltet Daten bezüglich Objektkennzeichnungen, Positionen, Größe, Entfernung usw., die umgewandelt und codiert jegliche Daten bezüglich der Quelle der Objektdaten, d. h., der Sensormodalität oder - modalitäten, die die Daten erzeugt hat/haben, ersetzen.. Die Umwandlerausgabe 318 beinhaltet auch ein Aufgabentoken, das bestimmt, welches der Vielzahl von Obj ektvorhersagenetzwerken 320, 322, 324, 326 zu verwenden ist, um den finalen Eingabetensor 314 zu verarbeiten. Jedes Objektvorhersagenetzwerk 320, 322, 324, 326 nimmt die Umwandlerausgabe 318 als Eingabe und gibt eine Objektvorhersage bezüglich der Objektdaten aus, die durch ein Aufgabentoken identifiziert werden, das in der Umwandlerausgabe 318 beinhaltet ist. Die Objektvorhersage beinhaltet eine oder mehrere von Objektposition, Objekttiefenschätzung, Objektklassifizierung und Objektsegmentierung.
  • Jedes der Objektvorhersagenetzwerke 320, 322, 324, 326 ist trainiert, um einen einzelnen Objektvorhersagetyp auf Grundlage der Ausgabe von dem Fusionsumwandler 316 zu bestimmen. Der Eingabecodierer 310 und der Fusionsumwandler 316 bilden einen Backbone für eine Vielzahl von Objektvorhersagesystemen, wobei jedes Objektvorhersagesystem einen Eingabecodierer 310, einen Fusionsumwandler 316 und eines der Objektvorhersagenetzwerke 320, 322, 324, 326 beinhaltet. Der Eingabecodierer beinhaltet eine Aufgabe in dem finalen Eingabetensor 314, um dem multimodalen Objektdetektionssystem 300 anzugeben, welches Objektvorhersagenetzwerk 320, 322, 324, 326 die Umwandlerausgabe 318 empfangen sollte.
  • Die Objektvorhersagenetzwerke 320, 322, 324, 326 sind tiefe neuronale Netzwerke, die zur Eingabe der Umwandlerausgabe 318 und Ausgabe von Vorhersagen bezüglich Objekten, die in der Umwandlerausgabe 318 beinhaltet sind, trainiert sind. Ein Objektvorhersagenetzwerk 320, 322, 324, 326 kann trainiert sein, um Objektvorhersagen unter Verwendung von Ground-Truth-Daten zu bestimmen, die globale Koordinatendaten bezüglich der in den multimodalen Sensordaten 302, 304, 306, 308 beinhalteten Objekte beinhalten. Während des Trainings generieren Parameter, die in den Objektvorhersagenetzwerken 320, 322, 324, 326 beinhaltet sind, Gewichtungen, von denen während des Trainings bestimmt wurde, auf Grundlage von Ground Truth zu korrekten Vorhersagen beizutragen. Die Objektvorhersagenetzwerke 320, 322, 324, 326 können eine x,y-Position eines Objekts, eine Entfernung eines Objekts von dem Sensor, eine Klassenkennzeichnung eines Objekts, wobei eine Objektklassenkennzeichnung ein Fahrzeug oder einen Fußgänger beinhaltet, und ein Bildsegment auf Grundlage eines zweidimensionalen Umrisses eines Objekts bestimmen.
  • Die reale Position eines Objekts, das in multimodalen Sensordaten beinhaltet ist, kann in globalen Koordinaten relativ zu der Position eines Fahrzeugs 110, das die Sensoren 116 beinhaltet, bestimmt werden. Während des Trainings kann eine ausgegebene Objektpositionsvorhersage von dem tiefen neuronalen Netzwerk, das dazu trainiert ist, Objektpositionen vorherzusagen, mit der Ground-Truth-Position des Objekts verglichen werden, um eine Verlustfunktion zu bestimmen. Die Verlustfunktion kann in das tiefe neuronale Netzwerk eingegeben werden, um Parameter auszuwählen, die dem tiefen neuronalen Netzwerk ermöglichen, die korrekte Objektposition für die eingegebenen Objektdaten zu bestimmen. Auf ähnliche Weise können andere tiefe neuronale Netzwerke trainiert sein, um Objekttiefe, Objektklasse und Objektsegmente auf Grundlage von für jeden Vorhersagetyp bestimmten Ground Truth vorherzusagen. Die Objekttiefenwahrnehmung kann Objektpositionsdaten aus Kameradaten mit Objektentfernungsdaten von einem oder mehreren von Lidarsensoren, Radarsensoren und Ultraschallsensoren kombinieren. Die Objektklassifizierung kennzeichnet ein detektiertes Objekt mit einer Objektklassenkennzeichnung, zum Beispiel „Fahrzeug“, „Fußgänger“ usw. Die Objektsegmentierung gibt Bilddaten aus, die eine gekennzeichnete zusammenhängende Region beinhalten, die die Pixel beinhaltet, die in dem Bild des Objekts in den Multimodalitätseingabedaten beinhaltet sind.
  • 4 ist ein Diagramm des ersten Schritts beim Verarbeiten von Eingabedaten durch den Eingabecodierer 310. Der Eingabecodierer 310 nimmt Multimodalitätsdaten als Eingabe und formatiert sie in ein konsistentes Format zur Verarbeitung durch den Fusionsumwandler 316. Alle Datenmodalitäten werden so formatiert, dass sie mit dem Bilddatenformat übereinstimmen. Bilddaten sind als ein rechteckiges Feld von Pixeln mit feststehenden x,y-Abmessungen, zum Beispiel 1920 x 1080, formatiert. 4 zeigt ein Eingabebild 402, das unabhängig von der Größe und Bittiefe auf eine konsistente Bildfeldgröße und Bittiefe formatiert ist, um mit einem zweidimensionalen Kamerabildfeld, das heißt dem Ausgabebild 404, zur weiteren Verarbeitung übereinzustimmen. Lidarpunktwolkendaten 406, Radarpunktwolkendaten 410 und Ultraschallpunktwolkendaten werden in ein Lidarbild 408, ein Radarbild 412 und ein Ultraschallbild konvertiert.
  • Eine Radarpunktwolke 406 beinhaltet Lidardatenpunkte, die x-,y- und z-Koordinaten in einem 3D-Volumen aufweisen. Jeder Lidardatenpunkt kann einen Wert aufweisen, der proportional zur Stärke des Rücksignals ist, oder einen Wert von „1“ aufweisen, um das Vorhandensein eines Rücksignals an diesem Datenpunkt im 3D-Raum anzugeben. Die Lidarpunktwolke 406 kann in ein Datenformat des Lidarbilds 408 konvertiert werden, indem angenommen wird, dass die Pixelpositionen, die in dem Feld des Lidarbilds 408 beinhaltet sind, Positionen von Strahlen sind, die von einem Punkt in dem Lidarsensor 204 ausgehen und durch jede Pixelposition des Felds des Lidarbilds 408 verlaufen. Der Wert jedes Pixels in dem Feld des Lidarbilds 408 ist die Entfernung von der Mitte des Lidarsensors 204, mit der der Strahl, der durch das Pixel verläuft, einen x,y,z-Datenpunkt in der Lidarpunktwolke 406 schneidet.
  • Eine Radarpunktwolke 410 beinhaltet Radardatenpunkte, die x-,y- und z-Koordinaten in einem 3D-Volumen aufweisen. Radardatenpunkte können einen Wert aufweisen, der proportional zur Bewegung des Objekts oder einer Fläche im Raum, wie durch Doppler-Frequenzverschiebung gemessen, ist, oder einen Wert von „1“ aufweisen, um das Vorhandensein eines Rücksignals an diesem Datenpunkt im 3D-Raum anzugeben. In ähnlicher Weise wie eine Lidarpunktwolke 406 kann eine Radarpunktwolke 410 in ein Datenformat des Radarbilds 412 konvertiert werden, indem angenommen wird, dass die Pixel, die in dem Feld des Radarbilds 412 beinhaltet sind, Strahlen sind, die von einem Punkt in dem Radarsensor 206 ausgehen und durch jedes Pixel des Felds des Radarbilds 412 verlaufen. Der Wert jedes Pixels in dem Feld des Radarbilds 412 ist die Entfernung von der Mitte des Radarsensors 204, mit der der Strahl, der durch das Pixel verläuft, einen x,y,z-Datenpunkt in der Radarpunktwolke 410 schneidet. Ultraschallbilder können auf ähnliche Weise wie ein Lidarbild 408 und ein Radarbild 412 gebildet werden.
  • 5 ist ein Diagramm, das veranschaulicht, wie Daten des Eingabebilds 502 zur Verarbeitung durch den Eingabecodierer 310 aus 3 umformatiert werden. Das Eingabebild 502 wird zunächst in eine Vielzahl von Patches 504 unterteilt. Die Patches 504 können i xj-Patches sein, wobei i und j kleine ganze Zahlen sind, zum Beispiel i = 3 und j = 3, wie in 5 veranschaulicht, das heißt in diesem Beispiel neun Pixel in drei Zeilen und drei Spalten. Die Patches 504 können zusammenhängend oder überlappend sein und können vollständige Objekte oder Abschnitte von Objekten beinhalten, die durch den Fusionsumwandler 316 zu detektieren sind. Die abgeflachten Patches können durch Auswählen von rechteckigen Bildabschnitten und Kopieren von Bildpixeln von links oben nach rechts unten aus den rechteckigen Bildabschnitten in abgeflachte lineare Felder generiert werden. Die Patches 504 werden zunächst abgeflacht, um abgeflachte lineare Felder 506 zu bilden, indem Pixel von den Patches 504 auf Rasterweise emittiert werden, beginnend am oberen linken Pixel des Patches 504, und entlang der Zeilen von oben nach unten abgetastet wird, wie durch die in den Pixeln von Patch 504 beinhalteten Zahlen angegeben. Die Pixel von einem Patch 504 werden in ein abgeflachtes lineares Feld 506 eingetragen und jedes Pixel des abgeflachten linearen Felds 506 wird mit einem Patcheinbettungsfeld 508 verkettet, das die Pixeladresse aus dem Eingabebild 502 jedes Pixels in dem abgeflachten linearen Feld 506 beinhaltet, um durch Hinzufügen eines Sensortokens 512, das angibt, welcher Sensortyp die in dem Eingabebild 502 beinhalteten Daten generiert hat, einen abgeflachten Eingabetensor 510 zu bilden. Ein Tensor ist ein Feld, das mehr als einen Datenelementtyp beinhaltet.
  • 6 ist ein Diagramm, das veranschaulicht, wie abgeflachte Multimodalitätseingabetensoren 602, 604, 606 zur Verarbeitung durch den Eingabecodierer 310 aus 3 kombiniert werden. Die abgeflachten Eingabetensoren 602, 604, 606 von einem oder mehreren unterschiedlichen Typen von Sensormodalitäten werden verkettet, um einen verketteten Eingabetensor 608 zu bilden. Ein Aufgabentoken 610 wird an den verketteten Eingabetensor 608 angehängt und jedem Element in dem verketteten Eingabetensor 608 wird eine Positionseinbettung 612 hinzugefügt, um die Position jedes Datenelements in dem finalen Eingabetensor 314 anzugeben. Das Aufgabentoken 610 gibt an, welche Objektdetektionsaufgabe an der Umwandlerausgabe 318 durchgeführt werden wird, die sich aus der Verarbeitung des finalen Eingabetensors 314 durch den Fusionsumwandler 316 durch das Objektvorhersagenetzwerk 320, 322, 324, 326 ergibt, die mit dem Aufgabentoken 610 übereinstimmt.
  • 7 ist ein Diagramm eines tiefen neuronalen Netzwerks des Fusionsumwandlers 316. Der Fusionsumwandler 316 ist ein Attention-basiertes tiefes neuronales Netzwerk, das einen finalen Eingabetensor 314, der durch den Eingabecodierer 310 ausgegeben wird, als Eingabe empfängt und eine Umwandlerausgabe 318 an eine der Vielzahl von Objektvorhersagenetzwerken 320, 322, 324, 326 ausgibt. Der Fusionsabschnitt des Fusionsumwandlers 316 bezieht sich auf die Fähigkeit des Fusionsumwandlers, Bilddaten von einer Vielzahl von Sensormodalitäten zu einem einzigen Ergebnis zu kombinieren oder zu fusionieren. Attention-basierte tiefe neuronale Netzwerke, wie etwa der Fusionsumwandler 316, beinhalten eine oder mehrere Decodiererschichten 702, 704, denen eine oder mehrere Codiererschichten 706, 742 folgen. Die Codiererschichten 702, 704 und die Decodiererschichten 706, 742 in dem Fusionsumwandler 316 führen ähnliche Funktionen wie Codiererschichten und Decodiererschichten durch, die in herkömmlichen neuronalen Faltungsnetzwerken beinhaltet sind, anstatt sich jedoch auf wiederholte 2D-Faltungsvorgänge an 2D-Bilddaten zu stützen, um Verbindungen zwischen räumlich verteilten Daten zu bestimmen, nimmt ein Fusionsumwandler 316 Daten als abgeflachte Tensoren als Eingabe und bestimmt Gewichtungen und fügt diese abgeflachten Tensoren hinzu, um Verbindungen zwischen räumlich verteilten Daten zu bestimmen. Die Gewichtungen für Positionen in dem Tensor können während des Trainings auf Grundlage von Ground Truth bestimmt werden. Das Bestimmen von Verbindungen zwischen räumlich verteilten Daten in abgeflachten Tensoren wird als Self-Attention-Funktion bezeichnet, da sie ausschließlich bei Dateneingaben in die Self-Attention-Schichten 708, 718, 728 bestimmt werden.
  • Eine Attention-Funktion ist ein Prozess des Zuordnens einer Abfrage und eines Satzes von Schlüssel-Wert-Paaren zu einer Ausgabe, wobei die Abfrage, die Schlüssel, die Werte und die Ausgabe alle Vektoren sind. Die Ausgabe kann als eine gewichtete Summe der Werte bestimmt werden, wobei die jedem Wert zugewiesene Gewichtung durch eine Kompatibilitätsfunktion der Abfrage mit dem entsprechenden Schlüssel berechnet wird. Eine Abfrage kann auf Grundlage des Aufgabentokens 610 bestimmt werden, der in dem finalen Eingabetensor 314 beinhaltet ist. Zum Beispiel kann eine Abfrage eine logische Operation sein, die auf einer Anweisung, wie etwa „Sind die Daten an diesem Punkt in dem abgeflachten Tensor in einem Objekt beinhaltet“, basiert. In diesem Beispiel kann ein Schlüssel eine Folge von Pixeln sein, die in einem Abschnitt eines Objekts in einem Trainingsdatensatz beinhaltet ist, und der Wert kann ein Maß dafür sein, wie genau Pixel an einer Position in dem abgeflachten Tensor mit dem Schlüssel übereinstimmen. Wiederholte Anwendungen der Attention-Funktion können Schlüssel auf höherer Ebene kombinieren, die an entfernten Positionen in den Daten des abgeflachten Tensor bestimmt werden, und können kombiniert werden, um Daten bezüglich Objekten zu bestimmen, die in dem eingegebenen abgeflachten Tensor beinhaltet sind. Durch Kombinieren von Daten bezüglich Objekten von Abschnitten des finalen Eingabetensors 314, die Daten von mehreren Sensormodalitäten beinhalten, kann die Attention-Funktion Objektdaten auf Grundlage von Multimodalitätseingabedaten bestimmen.
  • Beginnend mit der ersten Codiererschicht 702 wird ein finaler Eingabetensor 314 in eine erste Self-Attention-Schicht 708 eingegeben. Da der ersten Self-Attention-Schicht 708 keine Verarbeitungsergebnisse einer vorherigen Schicht zur Verfügung stehen, können die in der ersten Self-Attention-Schicht 708 zugewiesenen Gewichtungen zufällig zugewiesen werden, um mit dem Training zu beginnen. Das Trainieren eines Fusionsumwandlers 316 verläuft auf dieselbe Weise wie das Trainieren eines herkömmlichen tiefen neuronalen Netzwerks, wobei ein Trainingsdatensatz mit einer Vielzahl von Bildern von einer Vielzahl von Sensormodalitäten, die zu detektierende Objekte beinhaltet, durch Benutzer, die die richtigen Antworten bestimmen, oder Ground Truth, das durch den Fusionsumwandler 316 zu erhalten ist, vorbereitet wird. Der Trainingsdatensatz wird eine Vielzahl von Malen verarbeitet, während die Parameter, die den Betrieb des Fusionsumwandlers 316 steuern, variiert werden und eine Verlustfunktion bestimmt wird, die die Umwandlerausgabe 318 mit dem Ground Truth vergleicht. Durch Minimieren der Verlustfunktion kann ein Satz von Parametern bestimmt werden, der den Fusionsumwandler 316 trainiert, um Ergebnisse zu erzeugen, die das Ground Truth mit einem vom Benutzer bestimmten Wert abgleichen.
  • Das Trainieren des Fusionsumwandlers 316 wird durch die erste Hinzufügungs- und Normalisierungsschicht 710 unterstützt. Die Hinzufügungs- und Normalisierungsschicht nimmt Eingaben von dem finalen Eingabetensor 314 und fügt sie der Ausgabe von der Self-Attention-Schicht 708 hinzu und normalisiert das Ergebnis, damit es sich zu einem Wert summiert, zum Beispiel 1. Diese Normalisierung wird auf Grundlage von Mittelwert- und Varianzwerten durchgeführt, die über den gesamten Trainingsdatensatz akkumuliert werden, wodurch die Ergebnisse gezwungen werden, innerhalb eines definierten Bereichs von Werten zu bleiben, und verhindert wird, dass anomale Ergebnisse die Trainingsdaten verzerren, was dazu beiträgt, dass sich das Training schneller gültigen Ergebnissen annähert.
  • Im Anschluss an die erste Hinzufügungs- und Normalisierungsschicht 710 werden die normalisierten Ergebnisse in eine Vielzahl von Feed-Forward-Netzwerken 712, 714 eingegeben, wo die normalisierten Ergebnisse durch Eingeben der normalisierten Ergebnisse in herkömmliche, vollständig verbundene neuronale Netzwerkknoten parallel verarbeitet werden. Die Feed-Forward-Netzwerke 712, 714 sind vollständig verbundene neuronale Netzwerke, die lineare und/oder nicht lineare Funktionen auf Grundlage der eingegebenen abgeflachten Tensordaten berechnen. Die Ausgabe von den Feed-Forward-Netzwerken 712, 714 wird an einer zweiten Hinzufügungs- und Normalisierungsschicht 716 mit der Ausgabe von der ersten Hinzufügungs- und Normalisierungsschicht 710 kombiniert. Der Betrieb der zweiten Hinzufügungs- und Normalisierungsschicht 716 ist derselbe wie vorstehend in Bezug auf die erste Hinzufügungs- und Normalisierungsschicht 710 beschrieben, wobei die Ergebnisse normalisiert werden, um anomale Ergebnisse zu verhindern und das Training zu beschleunigen.
  • Die zweiten Codiererschichten 704 werden auf ähnliche Weise betrieben wie die ersten Codiererschichten 702 und beinhalten eine zweite Self-Attention-Schicht 718, eine dritte Hinzufügungs- und Normalisierungsschicht 720, eine Vielzahl von Feed-Forward-Netzwerken 722, 724 und eine vierte Hinzufügungs- und Normalisierungsschicht 726. In den zweiten Codiererschichten 704 beinhaltet die zweite Self-Attention-Schicht 718 Eingaben von den ersten Codiererschichten 702 und erfordert keine zufällige Eingabe. Die Ergebnisse der Verarbeitung des finalen Eingabetensors 314 mit den ersten Codiererschichten 702 werden verwendet, um die zweite Self-Attention-Schicht zu lenken, um die Schlüssel-, die Wert- und die Ausgabevektorgewichtung zu bestimmen.
  • Der Fusionsumwandler 316 kann eine Vielzahl von Codiererschichten 702, 704 beinhalten. Von der letzten Codiererschicht 702, 704 ausgegebene latente Variablen 748 werden in die erste Decodiererschicht 706 eingegeben. Die Ausgabe von der letzten Codiererschicht 704 beinhaltet latente Variablen 748, die Objektdaten codieren, die Objektdaten von mehreren Sensormodalitäten kombinieren. Der Trainingsdatensatz kann Daten beinhalten, bei denen ein Objekt in Bildern von einer oder mehreren der Modalitäten verdeckt ist, was ermöglicht, dass der Fusionsumwandler 316 dazu trainiert wird, zu erkennen, wann Objektdaten von einer Modalität zum Beispiel gegenüber einer anderen der Modalitäten bevorzugt verwendet werden können.
  • Der Fusionsumwandler 316 kann eine Vielzahl von Decodiererschichten 706, 742 beinhalten. Die Decodiererschichten 706, 742 geben latente Variablen 748 in eine erste Self-Attention-Schicht des Decodierers ein, die die eingegebenen latenten Variablen 748 auf dieselbe Weise verarbeitet, wie vorstehend in Bezug auf die erste Self-Attention-Schicht beschrieben. Im Anschluss an die erste Self-Attention-Schicht 728 des Decodierers normalisiert eine erste Hinzufügungs- und Normalisierungsschicht 730 des Decodierers die Ausgabe von der ersten Self-Attention-Schicht 728 des Decodierers in Kombination mit eingegebenen latenten Variablen 748, um ein schnelles Annähern der Ergebnisse während des Trainings zu ermöglichen, wie vorstehend erörtert.
  • Die Ausgabe von der ersten Decodierer-Hinzufügungs- und Normalisierungsschicht 728 wird in die erste Codierer-Decodierer-Attention-Schicht 732 eingegeben, wo latente Variablen 748, die von der letzten Codiererschicht 704 eingegeben werden, mit der Ausgabe der ersten Decodierer-Self-Attention-Schicht 728 kombiniert werden, um dabei zu helfen, die Verarbeitung auf Abschnitte der abgeflachten Tensordaten zu konzentrieren, die von den Codiererschichten 702, 704 als wichtig bestimmt wurden. Im Anschluss an die erste Codierer-Decodierer-Attention-Schicht 732 normalisiert eine zweite Decodierer-Hinzufügungs- und Normalisierungsschicht 734 die Daten, wie vorstehend erörtert, um eine schnelle Annäherung der Ergebnisse während des Trainings zu ermöglichen. Im Anschluss an die zweite Decodierer-Hinzufügungs- und Normalisierungsschicht 734 verarbeitet eine Vielzahl von Feed-Forward-Netzwerken 736, 738 jeden Abschnitt der abgeflachten Tensordaten parallel. Die Feed-Forward-Netzwerke 736, 738 sind vollständig verbundene neuronale Netzwerke, die lineare und/oder nicht lineare Funktionen auf Grundlage der eingegebenen abgeflachten Tensordaten berechnen. Im Anschluss an die Feed-Forward-Netzwerke 736, 738 normalisiert eine dritte Decodierer-Hinzufügungs- und Normalisierungsschicht 740 die Ausgabe von den Feed-Forward-Netzwerken 736, 738, um eine schnelle Annäherung der Ergebnisse während des Trainings zu ermöglichen.
  • Die Ausgabe von der ersten Decodiererschicht 706 wird in die zweite Decodiererschicht 742 eingegeben, die die abgeflachten Tensordaten auf ähnliche Weise wie die erste Decodiererschicht 706 verarbeitet. Der Fusionsumwandler 316 kann eine Vielzahl von Decodiererschichten 706, 742 beinhalten. Im Anschluss an die Decodiererschichten 706, 742 nimmt eine lineare Schicht 744 die durch die Decodiererschichten 706, 742 ausgegebenen abgeflachten Tensordaten als Eingabe. Die lineare Schicht 744 beinhaltet ein vollständig verbundenes neuronales Netzwerk, das die von den Decodiererschichten 706, 742 ausgegebenen Gleitkommazahlen in ganzzahlige Symbole für Obj ektdaten übersetzt, die durch die Objektvorhersagenetzwerke 320, 322, 324, 326 verarbeitet werden können. Zum Beispiel können die ganzzahligen Symbole Objektkennungen, Positionen in Pixelkoordinaten, Objekttiefe usw. sein. Im Anschluss an die lineare Schicht 744 übersetzt eine Softmax-Funktion 746 die durch die Decodiererschichten 706, 742, 744 ausgegebenen Daten in Wahrscheinlichkeiten, wobei die durch die lineare Schicht 744 ausgegebenen Objektdaten von Bruchzahlen begleitet werden, die sich zu eins addieren und angeben, welches ganzzahlige Symbol am wahrscheinlichsten ist. Die Objektdaten und Wahrscheinlichkeiten werden als Umwandlerausgabe 318 von dem Objektvorhersagenetzwerk 320, 322, 324, 326 ausgegeben, das durch das Aufgabentoken 610 angegeben wird.
  • Die Objektvorhersagenetzwerke 320, 322, 324, 326 sind tiefe neuronale Netzwerke, die die Umwandlerausgabe 318 verarbeiten, um Vorhersagen bezüglich Objekten, zu bilden, die in dem multimodalen finalen Eingabetensor 314 beinhaltet sind. Durch Verarbeiten multimodaler Daten mit einem einzelnen Backbone-Fusionsumwandler 316 können sowohl das Trainieren als auch der Betrieb eines multimodalen Objektdetektionssystems 300 hinsichtlich der Verwendung von Rechenressourcen und Zeit effizienter gestaltet werden. Ein multimodales Objektdetektionssystem 300, das einen einzelnen Backbone des Fusionsumwandlers 316 verwendet, kann unter Verwendung eines kleineren Trainingsdatensatzes schneller trainiert werden als der Versuch, eine Vielzahl von tiefen neuronalen Netzwerken für jede Modalität zu trainieren. Da der Backbone des Fusionsumwandlers 316 trainiert werden kann, um relative Stärken und Schwächen der verschiedenen Modalitätsdaten zu erkennen, ist kein zusätzliches Training und keine Nachbearbeitung erforderlich, um zu bestimmen, wie multimodale Daten zu kombinieren sind. Das Trainieren der Objektvorhersagenetzwerke 320, 322, 324 326 wird effizienter, da sie sich alle auf ein gemeinsames Datenformat stützen, das jegliche Unterschiede klein hält, die durch unterschiedliche Datenmodalitäten verursacht werden.
  • 8 ist ein Ablaufplan eines Prozesses 800 zum Bestimmen von Objekten in Bilddaten, die durch Multimodalitätssensoren 116 erlangt werden, die in einem Fahrzeug 110 beinhaltet sind, und ist in Bezug auf 1-7 beschrieben. Der Prozess 800 kann durch einen Prozessor der Rechenvorrichtung 115 umgesetzt sein, der Daten von Sensoren 116 als Eingabe nimmt, Befehle ausführt und Objektvorhersagen ausgibt. Der Prozess 800 beinhaltet mehrere Blöcke, die in der veranschaulichten Reihenfolge ausgeführt werden können. Alternativ oder zusätzlich könnte der Prozess 800 weniger Blöcke beinhalten oder kann beinhalten, dass die Blöcke in anderen Reihenfolgen ausgeführt werden.
  • Der Prozess 800 beginnt bei Block 802, wo eine Rechenvorrichtung 115 Multimodalitätssensordaten als Eingabe nimmt. Die Multimodalitätsdaten können ein Bild, das von einer Videokamera 202 erlangt wird, Lidarpunktwolkendaten, die von einem Lidarsensor 204 erlangt werden, Radarpunktwolkendaten, die von einem Radarsensor 206 erlangt werden, und Ultraschallpunktwolkendaten, die von einem Ultraschallsensor 208, 210, 212, 214 erlangt werden, beinhalten.
  • Bei Block 804 formatiert die Rechenvorrichtung 115 eine oder mehrere der Lidarpunktwolkendaten 406, der Radarpunktwolkendaten 410 und der Ultraschallpunktwolkendaten um, damit sie mit dem Feld des Bilds 404 übereinstimmen, das von einer Videokamera erlangt wurde, wie vorstehend in Bezug auf 4 erörtert.
  • Bei Block 806 codiert die Rechenvorrichtung 115 die umformatierten Multimodalitätsdaten in abgeflachte Eingabetensoren 510 , wie vorstehend in Bezug auf 5 erörtert.
  • Bei Block 808 verkettet die Rechenvorrichtung 115 die abgeflachten Eingabetensoren 602, 604, 606 in einen finalen Eingabetensor 314, wie vorstehend in Bezug auf 6 erörtert.
  • Bei Block 810 wird der finale Eingabetensor 314 in einen Fusionsumwandler 316 eingegeben, um den finalen Eingabetensor 314 zu verarbeiten und Objektdaten und Wahrscheinlichkeiten zu bestimmen, die als Umwandlerausgabe 318 ausgegeben werden, wie vorstehend in Bezug auf 7 erörtert.
  • Bei Block 812 werden die Objektdaten und Wahrscheinlichkeiten, die durch den Fusionsumwandler 316 als Umwandlerausgabe 318 ausgegeben werden, in eines von einer Vielzahl von Objektvorhersagenetzwerken 320, 322, 324, 326 eingegeben, um Objektkennzeichnungen, Objektpositionen, Objekttiefe usw. vorherzusagen. Im Anschluss an Block 812 endet der Prozess 800.
  • 9 ist ein Diagramm eines Ablaufplans eines Prozesses zu Betreiben eines Fahrzeugs 110 auf Grundlage einer Objektvorhersage auf Grundlage eines Prozesses 800, der vorstehend in Bezug auf 8 beschrieben ist, und ist in Bezug auf 1-8 beschrieben. Der Prozess 900 kann durch einen Prozessor einer Rechenvorrichtung 115 umgesetzt sein, der Daten von Sensoren 116 als Eingabe nimmt und Befehle ausführt und das Fahrzeug 110 betreibt. Der Prozess 900 beinhaltet mehrere Blöcke, die in der veranschaulichten Reihenfolge ausgeführt werden können. Alternativ oder zusätzlich könnte der Prozess 900 weniger Blöcke beinhalten oder kann beinhalten, dass die Blöcke in anderen Reihenfolgen ausgeführt werden.
  • Der Prozess 900 beginnt bei Block 902, bei dem eine Rechenvorrichtung 115 in einem Fahrzeug 110 Multimodalitätsdaten bezüglich einer Umgebung um das Fahrzeug 110 erlangt.
  • Bei Block 904 bestimmt die Rechenvorrichtung 115 unter Verwendung eines multimodalen Objektdetektionssystems 300 Objektdaten und den Objektdaten zugeordnete Wahrscheinlichkeiten, wie vorstehend in Bezug auf 3-8 beschrieben.
  • Bei Block 906 gibt die Rechenvorrichtung 115 Befehle an die Steuerungen 112, 113, 114 aus, um einen Fahrzeugantriebsstrang, eine Fahrzeuglenkung und Fahrzeugbremsen zu steuern, um eine Fahrzeugbewegung zu steuern, um ein Fahrzeug 110 entlang des Fahrzeugwegs zu betreiben, der auf Grundlage von bei Block 904 bestimmten Objektdaten und Wahrscheinlichkeiten bestimmt wurde. Im Anschluss an Block 906 endet der Prozess 900.
  • Rechenvorrichtungen, wie etwa die in dieser Schrift erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorstehend identifizierten, und zum Ausführen von Blöcken oder Schritten von vorstehend beschriebenen Prozessen ausführbar sind. Zum Beispiel können die vorstehend erörterten Prozessblöcke als computerausführbare Befehle umgesetzt sein.
  • Computerausführbare Befehle können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder - technologien erstellt sind, einschließlich unter anderem, entweder allein oder in Kombination Java™, C, C++, Python, Julia, SCALA, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Befehle, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Befehle aus, wodurch ein oder mehrere Prozesse durchgeführt werden, die einen oder mehrere der in dieser Schrift beschriebenen Prozesse beinhalten. Derartige Befehle und andere Daten können in Dateien gespeichert und unter Verwendung einer Vielfalt von computerlesbaren Medien übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Datenspeichermedium, einem Direktzugriffsspeicher usw., gespeichert ist.
  • Ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhaltet ein beliebiges nicht transitorisches (z. B. physisches) Medium, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, die nicht flüchtige Medien und flüchtige Medien beinhalten, ohne darauf beschränkt zu sein. Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, die Glasfasern, Drähte, drahtlose Kommunikation beinhalten, einschließlich der Innenaufbauelemente, die einen an einen Prozessor eines Computers gekoppelten Systembus umfassen. Übliche Formen von computerlesbaren Medien beinhalten zum Beispiel RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das ein Computer auslesen kann.
  • Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern nicht ausdrücklich etwas anderes angegeben ist. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Patentanspruch nicht eine ausdrückliche gegenteilige Einschränkung nennt.
  • Der Ausdruck „beispielhaft“ wird in dieser Schrift in dem Sinne verwendet, dass er ein Beispiel bedeutet, z. B. sollte eine Bezugnahme auf eine „beispielhafte Apparatur“ einfach als Bezugnahme auf ein Beispiel für eine Apparatur gelesen werden.
  • Das einen Wert oder ein Ergebnis modifizierende Adverb „ungefähr“ bedeutet, dass eine Form, eine Struktur, eine Messung, ein Wert, eine Bestimmung, eine Berechnung usw. von einer/einem genau beschriebenen Geometrie, Entfernung, Messung, Wert, Bestimmung, Berechnung usw. aufgrund von Mängeln hinsichtlich Materialien, Bearbeitung, Fertigung, Sensormessungen, Berechnungen, Verarbeitungszeit, Kommunikationszeit usw. abweichen kann.
  • In den Zeichnungen geben gleiche Bezugszeichen jeweils gleiche Elemente an. Ferner könnten einige oder alle dieser Elemente geändert werden. Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, wenngleich die Schritte oder Blöcke derartiger Prozesse usw. gemäß einer bestimmten Abfolge erfolgend beschrieben worden sind, derartige Prozesse so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der in dieser Schrift beschriebenen Reihenfolge durchgeführt werden. Ferner versteht es sich, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden könnten. Mit anderen Worten sind die Beschreibungen von Prozessen in dieser Schrift zum Zweck des Veranschaulichens gewisser Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
  • Gemäß der vorliegenden Erfindung ist ein Computer bereitgestellt, der Folgendes aufweist: einen Prozessor; und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die durch den Prozessor zu Folgendem ausführbar sind: Erlangen einer Vielzahl von Bildern von einer Vielzahl von Sensoren und Extrahieren einer Vielzahl von abgeflachten Patches aus der Vielzahl von Bildern; Hinzufügen, zu jedem der Vielzahl von abgeflachten Patches, einer Bildposition in der Vielzahl von Bildern und eines Sensortyptokens, das einen Sensortyp identifiziert, der verwendet wurde, um ein Bild in der Vielzahl von Bildern zu erlangen, aus dem der jeweilige abgeflachte Patch erlangt wurde; Verketten der abgeflachten Patches in einen Tensor und Hinzufügen eines Aufgabentokens, das dem Tensor eine Verarbeitungsaufgabe angibt, wobei der Tensor ein Feld ist, das mehr als einen Datentyp beinhaltet; Eingeben des Tensors in ein erstes tiefes neuronales Netzwerk, das eine Vielzahl von Codiererschichten und eine Vielzahl von Decodiererschichten beinhaltet und eine Umwandlerausgabe ausgibt; Eingeben der Umwandlerausgabe in ein zweites tiefes neuronales Netzwerk, das eine durch das Aufgabentoken angegebene Objektvorhersage bestimmt; und Ausgeben der Objektvorhersage.
  • Gemäß einer Ausführungsform ist die Erfindung ferner dadurch gekennzeichnet, dass die Anweisungen ferner Anweisungen zum Betreiben des Fahrzeugs durch Bestimmen eines Fahrzeugwegs auf Grundlage der Objektvorhersage beinhalten.
  • Gemäß einer Ausführungsform beinhalten die Sensortypen eine Videokamera, einen Lidarsensor, einen Radarsensor und einen Ultraschallsensor.
  • Gemäß einer Ausführungsform beinhaltet die Vielzahl von Bildern ein Kamerabild, ein Lidarbild, ein Radarbild und ein Ultraschallbild.
  • Gemäß einer Ausführungsform ist die Erfindung ferner dadurch gekennzeichnet, dass die Anweisungen ferner Anweisungen zum Umformatieren der Vielzahl von Bildern beinhalten, damit sie einem zweidimensionalen Kamerabildfeld entspricht, wobei eine Pixelposition in dem zweidimensionalen Feld einen Strahl von einem Punkt in dem Sensor, der in der Vielzahl von Sensoren beinhaltet ist, zu der Pixelposition in dem zweidimensionalem Feld bestimmt und wobei ein Pixelwert in dem zweidimensionalen Feld durch eine Entfernung von dem Punkt in dem Sensor zu einem Punkt, an dem der Strahl einen Datenpunkt schneidet, der in einer Lidarpunktwolke, einer Radarpunktwolke oder einer Ultraschallpunktwolke beinhaltet ist, bestimmt ist.
  • Gemäß einer Ausführungsform ist die Erfindung ferner dadurch gekennzeichnet, dass die Anweisungen ferner Anweisungen zum Generieren der abgeflachten Patches durch Auswählen von rechteckigen Bildabschnitten und Kopieren von Bildpixeln von links oben nach rechts unten aus den rechteckigen Bildabschnitten in abgeflachte lineare Felder beinhalten.
  • Gemäß einer Ausführungsform beinhalten die Decodiererschichten eine Self-Attention-Schicht, die Gewichtungen für Positionen in dem Tensor beinhaltet, die während Training auf Grundlage von Ground Truth bestimmt wurden.
  • Gemäß einer Ausführungsform fügt eine erste Hinzufügungs- und Normalisierungsschicht, die in den Decodiererschichten beinhaltet ist, den Gewichtungen, die durch die Self-Attention-Schicht generiert werden, die Eingabetensoren hinzu und normalisiert die Ergebnisse auf einen Wert von eins.
  • Gemäß einer Ausführungsform wird eine Ausgabe von der ersten Hinzufügungs- und Normalisierungsschicht in ein oder mehrere Feed-Forward-Netzwerke eingegeben.
  • Gemäß einer Ausführungsform fügt eine zweite Hinzufügungs- und Normalisierungsschicht die Ausgabe von dem einen oder den mehreren Feed-Forward-Netzwerken der Ausgabe von der ersten Hinzufügungs- und Normalisierungsschicht hinzu und normalisiert die Ergebnisse auf einen Wert von eins.
  • Gemäß einer Ausführungsform beinhalten die Codiererschichten eine Self-Attention-Schicht, eine erste Hinzufügungs- und Normalisierungsschicht, eine Codierer-Decodierer-Attention-Schicht, eine zweite Hinzufügungs- und Normalisierungsschicht, ein oder mehrere neuronale Decodierernetzwerke und eine dritte Hinzufügungs- und Normalisierungsschicht.
  • Gemäß einer Ausführungsform beinhaltet die durch das Aufgabentoken identifizierte Verarbeitungsaufgabe eine oder mehrere von Objektposition, Objekttiefenschätzung, Objektklassifizierung und Objektsegmentierung.
  • Gemäß einer Ausführungsform beinhaltet die Objektvorhersage eine x,y-Position eines Objekts, eine Entfernung eines Objekts von dem Sensor, eine Klassenkennzeichnung eines Objekts, wobei eine Objektklassenkennzeichnung ein Fahrzeug oder einen Fußgänger beinhaltet, und ein Bildsegment auf Grundlage eines zweidimensionalen Umrisses eines Objekts.
  • Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Erlangen einer Vielzahl von Bildern von einer Vielzahl von Sensoren und Extrahieren einer Vielzahl von abgeflachten Patches aus der Vielzahl von Bildern; Hinzufügen, zu jedem der Vielzahl von abgeflachten Patches, einer Bildposition in der Vielzahl von Bildern und eines Sensortyptokens, das einen Sensortyp identifiziert, der verwendet wurde, um ein Bild in der Vielzahl von Bildern zu erlangen, aus dem der jeweilige abgeflachte Patch erlangt wurde; Verketten der abgeflachten Patches in einen Tensor und Hinzufügen eines Aufgabentokens, das dem Tensor eine Verarbeitungsaufgabe angibt, wobei der Tensor ein Feld ist, das mehr als einen Datentyp beinhaltet; Eingeben des Tensors in ein erstes tiefes neuronales Netzwerk, das eine Vielzahl von Codiererschichten und eine Vielzahl von Decodiererschichten beinhaltet und eine Umwandlerausgabe ausgibt; Eingeben der Umwandlerausgabe in ein zweites tiefes neuronales Netzwerk, das eine durch das Aufgabentoken angegebene Objektvorhersage bestimmt; und Ausgeben der Objektvorhersage.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Bestimmen eines Fahrzeugwegs auf Grundlage der Objektvorhersage.
  • In einem Aspekt der Erfindung beinhalten die Sensortypen eine Videokamera, einen Lidarsensor, einen Radarsensor und einen Ultraschallsensor.
  • In einem Aspekt der Erfindung beinhaltet die Vielzahl von Bildern ein Kamerabild, ein Lidarbild, ein Radarbild und ein Ultraschallbild.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Umformatieren der Vielzahl von Bildern, damit sie einem zweidimensionalen Kamerabildfeld entspricht, wobei eine Pixelposition in dem zweidimensionalen Feld einen Strahl von einem Punkt in dem Sensor, der in der Vielzahl von Sensoren beinhaltet ist, zu der Pixelposition in dem zweidimensionalem Feld bestimmt und wobei ein Pixelwert in dem zweidimensionalen Feld durch eine Entfernung von dem Punkt in dem Sensor zu einem Punkt, an dem der Strahl einen Datenpunkt schneidet, der in einer Lidarpunktwolke, einer Radarpunktwolke oder einer Ultraschallpunktwolke beinhaltet ist, bestimmt ist.
  • In einem Aspekt der Erfindung beinhaltet das Verfahren Generieren der abgeflachten Patches durch Auswählen von rechteckigen Bildabschnitten und Kopieren von Bildpixeln von links oben nach rechts unten aus den rechteckigen Bildabschnitten in abgeflachte lineare Felder.
  • In einem Aspekt der Erfindung beinhalten die Decodiererschichten eine Self-Attention-Schicht, die Gewichtungen für Positionen in dem Tensor beinhaltet, die während Training auf Grundlage von Ground Truth bestimmt wurden.

Claims (15)

  1. Verfahren, das Folgendes umfasst: Erlangen einer Vielzahl von Bildern von einer Vielzahl von Sensoren und Extrahieren einer Vielzahl von abgeflachten Patches aus der Vielzahl von Bildern; Hinzufügen, zu jedem der Vielzahl von abgeflachten Patches, einer Bildposition in der Vielzahl von Bildern und eines Sensortyptokens, das einen Sensortyp identifiziert, der verwendet wurde, um ein Bild in der Vielzahl von Bildern zu erlangen, aus dem der jeweilige abgeflachte Patch erlangt wurde; Verketten der abgeflachten Patches in einen Tensor und Hinzufügen eines Aufgabentokens, das dem Tensor eine Verarbeitungsaufgabe angibt, wobei der Tensor ein Feld ist, das mehr als einen Datentyp beinhaltet; Eingeben des Tensors in ein erstes tiefes neuronales Netzwerk, das eine Vielzahl von Codiererschichten und eine Vielzahl von Decodiererschichten beinhaltet und eine Umwandlerausgabe ausgibt; Eingeben der Umwandlerausgabe in ein zweites tiefes neuronales Netzwerk, das eine durch das Aufgabentoken angegebene Objektvorhersage bestimmt; und Ausgeben der Objektvorhersage.
  2. Verfahren nach Anspruch 1, das ferner Betreiben eines Fahrzeugs durch Bestimmen eines Fahrzeugwegs auf Grundlage der Objektvorhersage umfasst.
  3. Verfahren nach Anspruch 1, wobei die Sensortypen eine Videokamera, einen Lidarsensor, einen Radarsensor und einen Ultraschallsensor beinhalten.
  4. Verfahren nach Anspruch 1, wobei die Vielzahl von Bildern ein Kamerabild, ein Lidarbild, ein Radarbild und ein Ultraschallbild beinhaltet.
  5. Verfahren nach Anspruch 4, das ferner Umformatieren der Vielzahl von Bildern umfasst, damit sie einem zweidimensionalen Kamerabildfeld entspricht, wobei eine Pixelposition in dem zweidimensionalen Feld einen Strahl von einem Punkt in dem Sensor, der in der Vielzahl von Sensoren beinhaltet ist, zu der Pixelposition in dem zweidimensionalem Feld bestimmt und wobei ein Pixelwert in dem zweidimensionalen Feld durch eine Entfernung von dem Punkt in dem Sensor zu einem Punkt, an dem der Strahl einen Datenpunkt schneidet, der in einer Lidarpunktwolke, einer Radarpunktwolke oder einer Ultraschallpunktwolke beinhaltet ist, bestimmt ist.
  6. Verfahren nach Anspruch 1, das ferner Generieren der abgeflachten Patches durch Auswählen von rechteckigen Bildabschnitten und Kopieren von Bildpixeln von links oben nach rechts unten aus den rechteckigen Bildabschnitten in abgeflachte lineare Felder umfasst.
  7. Verfahren nach Anspruch 1, wobei die Decodiererschichten eine Self-Attention-Schicht beinhalten, die Gewichtungen für Positionen in dem Tensor beinhaltet, die während Training auf Grundlage von Ground Truth bestimmt wurden.
  8. Verfahren nach Anspruch 7, wobei eine erste Hinzufügungs- und Normalisierungsschicht, die in den Decodiererschichten beinhaltet ist, den Gewichtungen, die durch die Self-Attention-Schicht generiert werden, die Eingabetensoren hinzufügt und die Ergebnisse auf einen Wert von eins normalisiert.
  9. Verfahren nach Anspruch 8, wobei eine Ausgabe von der ersten Hinzufügungs- und Normalisierungsschicht in ein oder mehrere Feed-Forward-Netzwerke eingegeben wird.
  10. Verfahren nach Anspruch 9, wobei eine zweite Hinzufügungs- und Normalisierungsschicht die Ausgabe von dem einen oder den mehreren Feed-Forward-Netzwerken der Ausgabe von der ersten Hinzufügungs- und Normalisierungsschicht hinzufügt und die Ergebnisse auf einen Wert von eins normalisiert.
  11. Verfahren nach Anspruch 1, wobei die Codiererschichten eine Self-Attention-Schicht, eine erste Hinzufügungs- und Normalisierungsschicht, eine Codierer-Decodierer-Attention-Schicht, eine zweite Hinzufügungs- und Normalisierungsschicht, ein oder mehrere neuronale Decodierernetzwerke und eine dritte Hinzufügungs- und Normalisierungsschicht beinhalten.
  12. Verfahren nach Anspruch 1, wobei die durch das Aufgabentoken identifizierte Verarbeitungsaufgabe eine oder mehrere von Objektposition, Objekttiefenschätzung, Objektklassifizierung und Objektsegmentierung beinhaltet.
  13. Verfahren nach Anspruch 1, wobei die Objektvorhersage eine x,y-Position eines Objekts, eine Entfernung eines Objekts von dem Sensor, eine Klassenkennzeichnung eines Objekts, wobei eine Objektklassenkennzeichnung ein Fahrzeug oder einen Fußgänger beinhaltet, und ein Bildsegment auf Grundlage eines zweidimensionalen Umrisses eines Objekts beinhalten kann.
  14. Verfahren nach Anspruch 11, wobei die Self-Attention-Schicht eine Attention-Funktion beinhaltet, die eine Abfrage und einen Satz von Schlüssel-Wert-Paaren einer Ausgabe zuordnet.
  15. System, das einen Computer umfasst, der dazu programmiert ist, die Verfahren nach einem der Ansprüche 1-14 durchzuführen.
DE102023101354.8A 2022-01-26 2023-01-19 Sensorfusion Pending DE102023101354A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/584,449 US20230237783A1 (en) 2022-01-26 2022-01-26 Sensor fusion
US17/584,449 2022-01-26

Publications (1)

Publication Number Publication Date
DE102023101354A1 true DE102023101354A1 (de) 2023-07-27

Family

ID=87068551

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023101354.8A Pending DE102023101354A1 (de) 2022-01-26 2023-01-19 Sensorfusion

Country Status (3)

Country Link
US (1) US20230237783A1 (de)
CN (1) CN116504053A (de)
DE (1) DE102023101354A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116902003B (zh) * 2023-07-31 2024-02-06 合肥海普微电子有限公司 基于激光雷达与摄像头混合模态的无人驾驶方法
CN117036732B (zh) * 2023-08-07 2024-04-16 深圳市同鑫科技有限公司 一种基于融合模型的机电设备检测系统、方法及设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11422546B2 (en) * 2014-12-19 2022-08-23 Raytheon Technologies Corporation Multi-modal sensor data fusion for perception systems
US10551838B2 (en) * 2017-08-08 2020-02-04 Nio Usa, Inc. Method and system for multiple sensor correlation diagnostic and sensor fusion/DNN monitor for autonomous driving application
US11500099B2 (en) * 2018-03-14 2022-11-15 Uatc, Llc Three-dimensional object detection
CN108663677A (zh) * 2018-03-29 2018-10-16 上海智瞳通科技有限公司 一种多传感器深度融合提高目标检测能力的方法
US11494937B2 (en) * 2018-11-16 2022-11-08 Uatc, Llc Multi-task multi-sensor fusion for three-dimensional object detection
DE102020100685A1 (de) * 2019-03-15 2020-09-17 Nvidia Corporation Vorhersage zeitlicher informationen in autonomenmaschinenanwendungen
KR20210134638A (ko) * 2019-03-29 2021-11-10 인텔 코포레이션 자율 차량 시스템
US11941813B2 (en) * 2019-08-23 2024-03-26 Nantcell, Inc. Systems and methods for performing segmentation based on tensor inputs
US11113584B2 (en) * 2020-02-04 2021-09-07 Nio Usa, Inc. Single frame 4D detection using deep fusion of camera image, imaging RADAR and LiDAR point cloud
US11688181B2 (en) * 2020-06-25 2023-06-27 Nvidia Corporation Sensor fusion for autonomous machine applications using machine learning
US11586865B2 (en) * 2021-02-18 2023-02-21 Volkswagen Aktiengesellschaft Apparatus, system and method for fusing sensor data to do sensor translation
US20220375211A1 (en) * 2021-05-06 2022-11-24 Google Llc Multi-layer perceptron-based computer vision neural networks
US20220012848A1 (en) * 2021-09-25 2022-01-13 Intel Corporation Methods and apparatus to perform dense prediction using transformer blocks

Also Published As

Publication number Publication date
US20230237783A1 (en) 2023-07-27
CN116504053A (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
DE102020110458A1 (de) Fahrzeugpfadvorhersage
DE112019001657T5 (de) Signalverarbeitungsvorrichtung und signalverarbeitungsverfahren, programm und mobiler körper
DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
DE102020129854A1 (de) Sequenzielle fusion zur 3d-objektdetektion
DE102018129295A1 (de) Systeme und Verfahren zum Abbilden von Fahrbahnstörobjekten in autonomen Fahrzeugen
DE102019133536A1 (de) Verfahren und Vorrichtung zum Ermöglichen der sequentiellen Bodenansichts-Bildprojektionssynthese und der komplizierten Szenenrekonstruktion an Kartenanomalie-Hotspots
DE102019101938A1 (de) Erstellung kognitiver Karten für Fahrzeuge
DE112017001322T5 (de) Signalverarbeitungsvorrichtung und Signalverarbeitungsverfahren
DE102023101354A1 (de) Sensorfusion
DE112018004507T5 (de) Informationsverarbeitungseinrichtung, bewegungseinrichtung und verfahren und programm
DE102018129063A1 (de) Systeme und verfahren zur freiraum-inferenz zum brechen von geclusterten objekten in fahrzeugwahrnehmungssystemen
DE102021124913A1 (de) Metrik-backpropagation für die beurteilung der leistung von untersystemen
DE112018004891T5 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren, programm und mobiler körper
DE102021132853A1 (de) Auf deep learning basierende kamerakalibrierung
DE102020107149A1 (de) Fahrzeugkapsel-netzwerke
DE102021128041A1 (de) Verbesserung eines neuronalen fahrzeugnetzwerks
DE102022102189A1 (de) Multimodales Segmentierungsnetz für ein verbessertes semantisches Labelingbei einer Kartenerzeugung
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102021109466A1 (de) Trajektorieerzeugung unter verwendung eines strassennetzmodells
DE112021006402T5 (de) Schätzung von Automatikbelichtungswerten einer Kamera durch Priorisieren eines Objekts von Interesse auf Basis von kontextuellen Eingaben aus 3D-Karten
DE102021118316A1 (de) Monokulare 3d-objekterkennung aus bildsemantiknetzwerk
DE102023104789A1 (de) Verfolgung mehrerer objekte
DE102021133739A1 (de) Steuern eines autonomen fahrzeugs unter verwendung einer näheregel
DE112021005708T5 (de) Verfahren und Systeme zur Verfolgung einer Fahrspur über die Zeit
DE112021000146T5 (de) Systeme und verfahren zur erkennung von radschlupf bei fahrzeugen

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE