DE102021128559A1 - Sicherheitszerlegung zur pfadbestimmung in autonomen systemen - Google Patents

Sicherheitszerlegung zur pfadbestimmung in autonomen systemen Download PDF

Info

Publication number
DE102021128559A1
DE102021128559A1 DE102021128559.3A DE102021128559A DE102021128559A1 DE 102021128559 A1 DE102021128559 A1 DE 102021128559A1 DE 102021128559 A DE102021128559 A DE 102021128559A DE 102021128559 A1 DE102021128559 A1 DE 102021128559A1
Authority
DE
Germany
Prior art keywords
data
location
vehicle
confidence
lane
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
DE102021128559.3A
Other languages
English (en)
Inventor
Aidin Ehsanibenafati
Jonas Nilsson
Amir Akbarzadeh
Hae Jong Seo
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE102021128559A1 publication Critical patent/DE102021128559A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3811Point data, e.g. Point of Interest [POI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/53Road markings, e.g. lane marker or crosswalk

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Evolutionary Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

Eine Architektur kann Fahrspurgraphen oder Pfadbestimmungen für Vorrichtungen wie beispielsweise Roboter oder autonome Fahrzeuge unter Verwendung mehrerer Datenquellen erzeugen und dabei geltende Anforderungen und Vorschriften für den Betrieb erfüllen. Ein System kann Daten aus mehreren Quellen fusionieren, die für die Bestimmung der Lokalisierung nützlich sind. Um die Einhaltung der Sicherheitsbestimmungen zu gewährleisten, werden diese fusionierten Daten mit Daten aus Systemen verglichen, bei denen die Sicherheit vertrauenswürdig ist, und solange mindestens zwei Komparatoren mit den fusionierten Lokalisierungsdaten übereinstimmen, können die fusionierten Lokalisierungsdaten verwendet und auf die Einhaltung der Sicherheitsvorschriften hin verifiziert werden. Dieses System kann darüber hinaus verfügbare Informationen, die für eine Fahrspurwahrnehmung nützlich sind, fusionieren. Diese fusionierten Daten werden mit Daten von Systemen verglichen, deren Sicherheit vertrauenswürdig ist, und solange mindestens zwei Komparatoren für diese sicherheitskonformen Systeme mit den fusionierten Fahrspurgraph-Daten übereinstimmen, können die fusionierten Fahrspurgraph-Daten für die Navigation bereitgestellt und als vorschriftsmäßig verifiziert werden.

Description

  • HINTERGRUND
  • Mit der zunehmenden Automatisierung in verschiedenen Industriezweigen, sei es bei Fahrzeugen, Robotern oder anderen automatisierten Systemen, besteht eine entsprechende Notwendigkeit, die Sicherheit der durch diese Automatisierung ausgeführten Vorgänge zu verbessern. Dies kann eine Verbesserung der Genauigkeit von Bewegungen oder der Navigation beinhalten, wie beispielsweise um einen optimalen Weg für eine automatisierte Maschine unter aktuellen Bedingungen einer Umgebung, in der sich diese Maschine befindet, zu bestimmen. Für viele Automatisierungssysteme gibt es verschiedene Sensoren und Quellen, die Daten bereitstellen, die bei der Bestimmung solcher Pfade nützlich sind. Um zu gewährleisten, dass solche Pfadbestimmungsansätze bestimmten Sicherheitsanforderungen oder -vorschriften genügen, werden individuelle Bestimmungen getroffen, die diesen Anforderungen oder Vorschriften genügen sollen. Ein solcher Ansatz kann in den meisten Fällen für einen sicheren Betrieb sorgen, kann aber auch zu einer weniger wünschenswerten Betriebserfahrung führen, wie beispielsweise für Fahrgäste in einem automatisierten Auto, das zwar eine sichere, aber nicht besonders ruhige oder ständig angenehme Fahrt bereitstellt.
  • Figurenliste
  • Verschiedene Ausführungsformen in Übereinstimmung mit der Erfindung werden nachstehend unter Bezugnahme auf die Zeichnungen beschrieben, in welchen:
    • 1A und 1B Beispiele von Komponenten eines autonomen Fahrzeugs veranschaulichen, gemäß mindestens einer Ausführungsform;
    • 2A, 2B und 2C Ansichten einer Architektur zur Erzeugung von Fahrspurgraphen, die verwendet werden kann, veranschaulichen, gemäß mindestens einer Ausführungsform;
    • 3 eine kombinierte Architektur zur Bestimmung einer Fahrspurkurve, die verwendet werden kann, veranschaulicht, gemäß mindestens einer Ausführungsform;
    • 4 einen beispielhaften Prozess zur Bestimmung eines Navigationspfads veranschaulicht, gemäß mindestens einer Ausführungsform;
    • 5 einen beispielhaften Prozess zur Verwendung einer Fusionspropagation für die Pfadbestimmung veranschaulicht, gemäß mindestens einer Ausführungsform;
    • 6 Komponenten eines Systems zur Bestimmung eines Navigationspfads veranschaulicht, gemäß mindestens einer Ausführungsform;
    • 7A eine Inferenzierungs- und/oder Trainingslogik veranschaulicht, gemäß mindestens einer Ausführungsform;
    • 7B eine Inferenzierungs- und/oder Trainingslogik veranschaulicht, gemäß mindestens einer Ausführungsform;
    • 8 ein beispielhaftes Rechenzentrumssystem veranschaulicht, gemäß mindestens einer Ausführungsform;
    • 9 ein Computersystem veranschaulicht, gemäß mindestens einer Ausführungsform;
    • 10 ein Computersystem veranschaulicht, gemäß mindestens einer Ausführungsform;
    • 11 zumindest Teile eines Grafikprozessors veranschaulicht, gemäß einer oder mehreren Ausführungsformen;
    • 12 zumindest Teile eines Grafikprozessors veranschaulicht, gemäß einer oder mehreren Ausführungsformen;
    • 13 ein beispielhaftes Datenflussdiagramm für eine fortgeschrittene Rechen-Pipeline ist, gemäß mindestens einer Ausführungsform;
    • 14 ein Systemdiagramm ist für ein beispielhaftes System zum Trainieren, Anpassen, Instanziieren und Nutzen von Modellen maschinellen Lernens in einer fortgeschrittenen Rechen-Pipeline, gemäß mindestens einer Ausführungsform; und
    • 15A und 15B ein Datenflussdiagramm für einen Prozess zum Trainieren eines Modells maschinellen Lernens sowie eine Client-Server-Architektur zur Verbesserung von Annotationswerkzeugen mit vortrainierten Annotationsmodellen veranschaulichen, gemäß mindestens einer Ausführungsform.
    • 16A und 16B veranschaulichen Komponenten, die mit einem Fahrzeugsystem verwendet werden können, gemäß mindestens einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ansätze in Übereinstimmung mit verschiedenen Ausführungsformen können für die Erzeugung von Navigationspfaden, Graphen oder Trajektorien für automatisierte oder halbautomatisierte Vorrichtungen, wie beispielsweise Fahrzeuge oder Roboter, sorgen. Insbesondere fusionieren verschiedene Ausführungsformen Informationen aus mehreren Quellen oder berücksichtigen sie auf andere Weise, um optimale Lokalisierungs- und Fahrspurgraph-Bestimmungen zu bestimmen, die auch mit entsprechenden Anforderungen oder Vorschriften übereinstimmen, die sich auf die Betriebssicherheit beziehen können. Für ein autonomes (oder halbautonomes) Fahrzeug oder einen Roboter kann dies ein Bestimmen eines optimalen Fahrspurgraphen zur Verwendung bei der Steuerung der Navigation oder Bewegung auf der Grundlage einer Kombination von beispielsweise Kartendaten und Echtzeit-Wahrnehmungsdaten beinhalten. In mindestens einer Ausführungsform kann ein System (z.B. eine elektronische Steuereinheit (ECU)) Sensordaten fusionieren bzw. zusammenführen, die zur Bestimmung der Lokalisierung bzw. Ortsbestimmung beitragen können, wie beispielsweise Daten von einem Radar- oder Kamerasystem. Um die Einhaltung von Sicherheitsvorschriften zu gewährleisten, können diese fusionierten Daten mit bzw. gegen Daten einzelner Systeme verglichen werden, auf deren Sicherheit Verlass ist, wie beispielsweise Daten eines sicherheitskonformen Kamera- oder Radarsystems. Solange mindestens zwei Vergleicher bzw. Komparatoren oder „Stimmer“ bzw. „Wähler“ für diese sicherheitskonformen Systeme mit den fusionierten Lokalisierungsdaten übereinstimmen, können die fusionierten Lokalisierungsdaten verwendet und als sicherheitskonform verifiziert werden. Diese fusionierten Lokalisierungsdaten können als Eingabe für ein Fahrspurwahrnehmungssystem bereitgestellt werden.
  • In ähnlicher Weise kann ein solches System (z.B. ECU) verfügbare und verlässliche Informationen, die zur Fahrspurwahrnehmung und Grapherzeugung nützlich sind, miteinander fusionieren bzw. verschmelzen bzw. zusammenführen oder auf andere Weise berücksichtigen, wie z.B. HD-Graphen und Live-Spurwahrnehmungsdaten, die unter Verwendung eines Kamera- oder LIDAR-Systems ermittelt werden können, sowie die fusionierten Lokalisierungsdaten. Um die Einhaltung von Sicherheitsvorschriften zu gewährleisten, können die fusionierten Fahrspurgraph-Daten auch mit Daten von Systemen verglichen werden, bei denen die Sicherheit gewährleistet ist bzw. auf deren Sicherheit vertraut wird, wie sie z.B. unter Verwendung von Daten von einem sicherheitskonformen Kamera- oder LIDAR-System erzeugt werden können. Solange mindestens zwei Komparatoren für diese sicherheitskonformen Systeme mit den fusionierten Fahrspurgraph-Daten übereinstimmen, können die fusionierten Fahrspurgraph-Daten zur Navigation bereitgestellt und als konform mit Sicherheitsvorschriften verifiziert werden. Falls die fusionierten Fahrspurgraph-Daten nicht mindestens zwei Stimmen von diesen Komparatoren erhalten oder anderweitig festgestellt wird, dass sie ein oder mehrere andere Sicherheitskriterien nicht erfüllen, dann kann eine andere dieser Fahrspurgraph- oder Navigationsbestimmungen verwendet werden. Ein solches System kann einen Wechsel zwischen Navigationsbestimmungen vorsehen, um sicherzustellen, dass das Fahrzeug jederzeit sicher fährt, selbst wenn eines oder mehrere der Systeme in dem Fahrzeug nicht verfügbar oder unzuverlässig wird.
  • Ein solches System kann auch zumindest ein gewisses Maß an Koppelnavigation (engl.: dead reckoning) nutzen, bei der historische Daten für begrenzte Zeiträume genutzt werden können, in denen Live-Wahrnehmungsdaten nicht verfügbar oder zumindest unzuverlässig sind. Ferner kann die Auswahl von Eingaben, die entweder für die Lokalisierungs- oder Live-Wahrnehmungsdaten zu fusionieren sind, im Laufe der Zeit abhängig von Vertrauen bzw. Konfidenz und Verfügbarkeit getauscht werden. Ein oder mehrere Arbiter bzw. Vermittler können die fusionierten Daten analysieren und bei Nichtverfügbarkeit oder Unzuverlässigkeit eines der sicherheitskonformen Signale substituieren, um sicherzustellen, dass das Fahrzeug weiterhin sicher operieren bzw. fahren kann. In einigen Ausführungsformen können auch mindestens zwei ECUs verwendet werden, z.B. eines für Fahrzeugdaten und eines für Satellitendaten, wobei eine Live-Umschaltung durchgeführt werden kann, um mit Fahrspurgraphen einer oder beider ECUs zu arbeiten, um sicherzustellen, dass das Fahrzeug weiterhin sicher fahren kann, falls ein Signal nicht verfügbar oder unzuverlässig ist.
  • Es sei ein in 1A dargestelltes autonomes Fahrzeug 100 betrachtet. In mindestens einer Ausführungsform kann das Fahrzeug 100, ohne darauf beschränkt zu sein, ein Personenkraftwagen sein, wie z.B. ein Pkw, ein Lkw, ein Bus und/oder eine andere Art von Fahrzeug, das einen oder mehrere Fahrgäste aufnimmt. In mindestens einer Ausführungsform kann das Fahrzeug 100 ein Sattelschlepper sein, der für den Transport von Gütern verwendet wird. In mindestens einer Ausführungsform kann das Fahrzeug 100 ein Flugzeug, ein Roboterfahrzeug oder eine andere Art von Fahrzeug sein, das für die Beförderung von Passagieren oder Fracht bestimmt sein kann oder auch nicht, aber dazu bestimmt sein kann, eine oder mehrere Aufgaben durchzuführen, die zumindest ein gewisses Maß an Bewegung oder Verbringung des Fahrzeugs erfordern.
  • Autonome Fahrzeuge können bezüglich Automatisierungsebenen beschrieben werden, die von der National Highway Traffic Safety Administration („NHTSA“), einer Abteilung des US-Verkehrsministeriums, und der Society of Automotive Engineers („SAE“) „Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles“ (z.B. Standard Nr. J 3016-201806 , veröffentlicht am 15. Juni 2018, Standard Nr. J 3016-201609 , veröffentlicht am 30. September 2016, sowie frühere und zukünftige Versionen dieses Standards) definiert wurden. In einer oder mehreren Ausführungsformen kann das Fahrzeug 100 zu Funktionalität in Übereinstimmung mit einer oder mehreren der Ebenen (engl.: level) 1 bis 5 der Ebenen des autonomen Fahrens auszuführen. Zum Beispiel kann das Fahrzeug 100 in mindestens einer Ausführungsform je nach Ausführungsform bedingt automatisiert (Level 3), hochautomatisiert (Level 4) und/oder vollständig automatisiert (Level 5) sein.
  • In mindestens einer Ausführungsform kann das Fahrzeug 100, ohne darauf beschränkt zu sein, Komponenten wie beispielsweise ein Fahrgestell, eine Fahrzeugkarosserie, Räder (z.B. 2, 4, 6, 8, 18 usw.), Reifen, Achsen und andere Komponenten eines Fahrzeugs beinhalten. In mindestens einer Ausführungsform kann das Fahrzeug 100, ohne darauf beschränkt zu sein, ein Antriebssystem 150 beinhalten, wie z.B. einen Verbrennungsmotor, ein Hybrid-Elektrokraftwerk, einen reinen Elektromotor und/oder einen anderen Antriebssystemtyp. In mindestens einer Ausführungsform kann das Antriebssystem 150 mit einem Antriebsstrang des Fahrzeugs 100 verbunden sein, der, ohne darauf beschränkt zu sein, ein Getriebe beinhalten kann, um den Antrieb des Fahrzeugs 100 zu ermöglichen. In mindestens einer Ausführungsform kann das Antriebssystem 150 im Ansprechen auf den Empfang von Signalen von einer Drosselklappe/einem oder mehreren Beschleunigern 152 gesteuert werden.
  • In mindestens einer Ausführungsform wird ein Lenksystem 154, das, ohne darauf beschränkt zu sein, ein Lenkrad umfassen kann, verwendet, um ein Fahrzeug 100 (z.B. entlang eines gewünschten Wegs oder einer Route) zu lenken, wenn ein Antriebssystem 150 in Betrieb ist (z.B. wenn das Fahrzeug in Bewegung ist). In mindestens einer Ausführungsform kann ein Lenksystem 154 Signale von einem oder mehreren Lenkaktuatoren 156 empfangen. Ein Lenkrad kann für die volle Automatisierungsfunktionalität (Level 5) optional sein. In mindestens einer Ausführungsform kann ein Bremssensorsystem 146 verwendet werden, um die Fahrzeugbremsen im Ansprechen auf den Empfang von Signalen von den Bremsaktuator(en) 148 und/oder Bremssensoren zu betätigen.
  • In mindestens einer Ausführungsform liefern eine oder mehrere Steuereinrichtungen 136, die, ohne darauf beschränkt zu sein, ein oder mehrere System-on-Chips („SoCs“) (in 1A nicht dargestellt) und/oder Grafikverarbeitungseinheiten („GPUs“) umfassen können, Signale (z.B. repräsentativ für Befehle) an eine oder mehrere Komponenten und/oder Systeme des Fahrzeugs 100. In mindestens einer Ausführungsform kann (können) die Steuereinrichtung(en) 136 beispielsweise Signale senden, um die Fahrzeugbremsen über den (die) Bremsaktor(en) 148 zu betätigen, um das Lenksystem 154 über den (die) Lenkaktor(en) 156 zu betätigen, um das Antriebssystem 150 über den (die) Drosselklappe/den bzw. die Beschleuniger 152 zu betätigen. Die Steuereinrichtung(en) 136 kann (können) eine oder mehrere eingebaute (z.B. integrierte) Rechenvorrichtungen umfassen, die Sensorsignale verarbeiten und Betriebsbefehle (z.B. Signale, die Befehle darstellen) ausgeben, um autonomes Fahren zu ermöglichen und/oder einen menschlichen Fahrer beim Fahren des Fahrzeugs 100 zu unterstützen. In mindestens einer Ausführungsform kann (können) die Steuereinrichtung(en) 136 eine erste Steuereinrichtung 136 für autonome Fahrfunktionen, eine zweite Steuereinrichtung 136 für funktionale Sicherheitsfunktionen, eine dritte Steuereinrichtung 136 für Funktionen der künstlichen Intelligenz (z.B. Computer Vision), eine vierte Steuereinrichtung 136 für Infotainment-Funktionen, eine fünfte Steuereinrichtung 136 für Redundanz in Notfällen und/oder andere Steuereinrichtungen umfassen. In mindestens einer Ausführungsform kann eine einzelne Steuereinrichtung 136 zwei oder mehr der oben genannten Funktionen übernehmen, können zwei oder mehr Steuereinrichtungen 136 eine einzige Funktion übernehmen und/oder eine beliebige Kombination davon.
  • In mindestens einer Ausführungsform liefern die Steuereinrichtung(en) 136 Signale zur Steuerung einer oder mehrerer Komponenten und/oder Systeme des Fahrzeugs 100 im Ansprechen auf Sensordaten, die von einem oder mehreren Sensoren (z.B. Sensoreingaben) empfangen werden. In mindestens einer Ausführungsform können Sensordaten zum Beispiel und ohne darauf beschränkt zu sein, von globalen Navigationssatellitensystem („GNSS“)-Sensor(en) 158 (z.B. Global Positioning System-Sensor(en)), RADAR-Sensor(en) 160, Ultraschallsensor(en) 162, LIDAR-Sensor(en) 164, Inertialmesseinheitssensor(en) („IMU“) 166 (z.B. Beschleunigungsmesser, Gyroskop(e), Magnetkompass(e), Magnetometer usw.), Mikrofon(e) 196, Stereokamera(s) 168, Weitwinkelkamera(s) 170 (z.B. Fischaugenkameras), Infrarotkamera(s) 172, Surround-Kamera(s) 174 (z.B. 360-Grad-Kameras), Fernkameras (in 1A nicht dargestellt), Mittelbereichskamera(s) (in 1A nicht dargestellt), Geschwindigkeitssensor(en) 144 (z.B. zur Messung der Geschwindigkeit des Fahrzeugs 100), Vibrationssensor(en) 142, Lenksensor(en) 140, Bremssensor(en) (z.B. als Teil des Bremssensorsystems 146), und/oder anderen Sensortypen empfangen werden.
  • In mindestens einer Ausführungsform können ein oder mehrere Steuereinrichtungen 136 Eingaben (z.B. repräsentiert durch Eingabedaten) von einem Kombiinstrument 132 des Fahrzeugs 100 empfangen und Ausgaben (z.B. repräsentiert durch Ausgabedaten, Anzeigedaten usw.) über eine Mensch-Maschine-Schnittstelle („HMI“)-Anzeige 164, einen akustischen Melder, einen Lautsprecher und/oder über andere Komponenten des Fahrzeugs 100 bereitstellen. In mindestens einer Ausführungsform können die Ausgabedaten Informationen wie beispielsweise Fahrzeuggeschwindigkeit, Drehzahl, Zeit, Kartendaten (z.B. eine hochauflösende Karte (in 1A nicht dargestellt), Standortdaten (z.B. der Standort des Fahrzeugs 100, wie beispielsweise auf einer Karte), Richtung, Standort anderer Fahrzeuge (z.B. ein Belegungsraster), Informationen über Objekte und den Status von Objekten, wie sie von der/den Steuereinheit(en) 136, usw. In mindestens einer Ausführungsform kann das HMI-Anzeige 134 beispielsweise Informationen über das Vorhandensein eines oder mehrerer Objekte (z.B. ein Straßenschild, ein Warnschild, eine sich ändernde Ampel usw.) und/oder Informationen über Fahrmanöver anzeigen, die das Fahrzeug durchgeführt hat, gerade durchführt oder durchführen wird (z.B. Spurwechsel jetzt, Ausfahrt 34B in zwei Meilen nehmen usw.).
  • In mindestens einer Ausführungsform beinhaltet das Fahrzeug 100 ferner eine Netzwerkschnittstelle 124, die drahtlose Antenne(n) 126 und/oder ein oder mehrere Modem(e) zur Kommunikation über ein oder mehrere Netzwerke verwenden kann. Zum Beispiel kann in mindestens einer Ausführungsform die Netzwerkschnittstelle 124 in der Lage sein, über Long-Term Evolution („LTE“), Wideband Code Division Multiple Access („WCDMA“), Universal Mobile Telecommunications System („UMTS“), Global System for Mobile Communication („GSM“), IMT-CDMA Multi-Carrier („CDMA2000“), usw. zu kommunizieren. In mindestens einer Ausführungsform können die drahtlose(n) Antenne(n) 126 auch die Kommunikation zwischen Objekten in der Umgebung (z.B. Fahrzeuge, mobile Geräte usw.) ermöglichen, wobei lokale Netzwerke wie Bluetooth, Bluetooth Low Energy („LE“), Z-Wave, ZigBee usw. und/oder WeitverkehrsNetzwerke mit geringer Leistung („LPWANs“) wie Lo-RaWAN, SigFox usw. verwendet werden.
  • 1B zeigt ein Beispiel für Kamerapositionen und Sichtfelder für das autonome Fahrzeug 100 von 1A, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform sind die Kameras und jeweilige Sichtfelder ein beispielhaftes Ausführungsbeispiel und sollen nicht beschränkend sein. Zum Beispiel können in mindestens einer Ausführungsform zusätzliche und/oder alternative Kameras enthalten sein, und/oder können Kameras an verschiedenen Stellen des Fahrzeugs 100 angeordnet sein.
  • In mindestens einer Ausführungsform können Kameratypen für Kameras, ohne darauf beschränkt zu sein, Digitalkameras umfassen, die zur Verwendung mit Komponenten und/oder Systemen des Fahrzeugs 100 angepasst sein können. In mindestens einer Ausführungsform können eine oder mehrere von Kameras auf Automotive Safety Integrity Level („ASIL“) B und/oder einem anderen ASIL arbeiten. In mindestens einer Ausführungsform können Kameratypen je nach Ausführungsform eine beliebige Bildaufnahmerate erreichen, z.B. 60 Einzelbilder bzw. Frames pro Sekunde (fps), 120 fps, 240 fps usw. In mindestens einer Ausführungsform können Kameras Rolling Shutters, Global Shutters, einen anderen Verschlusstyp oder eine Kombination davon verwenden. In mindestens einer Ausführungsform kann die Farbfilteranordnung eine Red-Clear-Clear-Clear („RCCC“)-Farbfilteranordnung, eine Red-Clear-Clear-Blue („RCCB“)-Farbfilteranordnung, eine Red-Blue-Green-Clear („RBGC“)-Farbfilteranordnung, eine Foveon X3-Farbfilteranordnung, eine Bayer-Sensor („RGGB“)-Farbfilteranordnung, eine Monochromsensor-Farbfilteranordnung und/oder eine andere Art von Farbfilteranordnung beinhalten. In mindestens einer Ausführungsform können zur Erhöhung der Lichtempfindlichkeit Clear-Pixel-Kameras, wie z.B. Kameras mit einer RCCC-, einer RCCB- und/oder einer RBGC-Farbfilteranordnung, verwendet werden.
  • In mindestens einer Ausführungsform können eine oder mehrere Kameras verwendet werden, um erweiterte Fahrerassistenzsystem-Funktionen („ADAS“; Advanced Driver Assistance System) auszuführen (z.B. als Teil einer redundanten oder ausfallsicheren Konstruktion). Zum Beispiel kann in mindestens einer Ausführungsform eine Multifunktions-Monokamera installiert sein, um Funktionen wie Spurverlassenswarnung, Verkehrszeichenassistent und intelligente Scheinwerfersteuerung bereitzustellen. In mindestens einer Ausführungsform können eine oder mehrere der Kameras (z.B. alle Kameras) gleichzeitig Bilddaten (z.B. Video) aufzeichnen und bereitstellen.
  • In mindestens einer Ausführungsform können eine oder mehrere von Kameras in einer Montagebaugruppe montiert sein, z.B. in einer kundenspezifisch gestalteten (dreidimensional („3D“) gedruckten) Baugruppe, um Streulicht und Reflexionen aus dem Inneren des Autos (z.B. Reflexionen vom Armaturenbrett, die sich in den Au-ßenspiegeln der Windschutzscheibe spiegeln) auszuschalten, die die Fähigkeit der Kamera zur Bilddatenerfassung beeinträchtigen können. In Bezug auf Flügelspiegelanordnungen können in mindestens einer Ausführungsform die Außenspiegel-Baugruppen kundenspezifisch in 3D gedruckt sein, so dass die Kameramontageplatte einer Form eines Flügelspiegels entspricht. In mindestens einer Ausführungsform können Kamera(s) in den Flügelspiegel integriert sein. In mindestens einer Ausführungsform können bei Seitenkameras eine oder mehrere Kamera(s) auch in vier Säulen an jeder Ecke eines Fahrgastraums integriert sein.
  • In mindestens einer Ausführungsform können Kameras mit einem Sichtfeld, das Teile der Umgebung vor dem Fahrzeug 100 einschließt (z.B. nach vorne gerichtete Kameras), für eine Umgebungsansicht verwendet werden, um dabei zu helfen, nach vorne gerichtete Pfade und Hindernisse zu identifizieren, sowie mit Hilfe von einer oder mehreren Steuereinheit(en) 136 und/oder Steuer-SoCs bei der Bereitstellung von Informationen zu helfen, die für die Erstellung eines Belegungsgitters und/oder die Bestimmung bevorzugter Fahrzeugpfade entscheidend sind. In mindestens einer Ausführungsform können nach vorne gerichtete Kameras verwendet werden, um viele gleiche ADAS-Funktionen wie beispielsweise LIDAR auszuführen, einschließlich, ohne darauf beschränkt zu sein, Notbremsung, Fußgängererkennung und Kollisionsvermeidung. In mindestens einer Ausführungsform können nach vorne gerichtete Kameras auch für ADAS-Funktionen und -Systeme verwendet werden, einschließlich, aber nicht beschränkt auf, Spurverlassenswarnungen („LDW“, Lane Departure Warnings), autonome Geschwindigkeitsregelung („ACC“, Autonomous Cruise Control) und/oder andere Funktionen wie Verkehrszeichenerkennung.
  • In mindestens einer Ausführungsform kann eine Vielzahl von Kameras in einer nach vorne gerichteten Konfiguration verwendet werden, die z.B. eine monokulare Kameraplattform umfasst, die einen CMOS („Complementary Metal Oxide Semi-conductor“)-Farbbildgeber enthält. In mindestens einer Ausführungsform kann eine Weitwinkelkamera 170 verwendet werden, um Objekte wahrzunehmen, die von der Peripherie ins Blickfeld kommen (z.B. Fußgänger, kreuzender Verkehr oder Fahrräder). Obwohl in 1B nur eine Weitwinkelkamera 170 dargestellt ist, kann es in anderen Ausführungsformen eine beliebige Anzahl (einschließlich Null) von Weitwinkelkamera(s) 170 am Fahrzeug 100 geben. In mindestens einer Ausführungsform kann eine beliebige Anzahl von Weitwinkelkamera(s) 198 (z.B. ein Weitwinkel-Stereokamerapaar) für die tiefenbasierte Objekterkennung verwendet werden, insbesondere für Objekte, für die ein neuronales Netzwerk noch nicht trainiert wurde. In mindestens einer Ausführungsform können die Weitbereichskamera(s) 198 auch zur Objekterkennung und -klassifizierung sowie zur grundlegenden Objektverfolgung verwendet werden.
  • In mindestens einer Ausführungsform kann eine beliebige Anzahl von Stereokamera(s) 168 auch in einer nach vorne gerichteten Konfiguration enthalten sein. In mindestens einer Ausführungsform kann eine oder mehrere von Stereokamera(s) 168 eine integrierte Steuereinheit enthalten, die eine skalierbare Verarbeitungseinheit umfasst, die eine programmierbare Logik („FPGA“) und einen Mehrkern-Mikroprozessor mit einer integrierten Controller Area Network („CAN“)- oder Ethernet-Schnittstelle auf einem einzigen Chip bereitstellen kann. In mindestens einer Ausführungsform kann eine solche Einheit verwendet werden, um eine 3D-Karte einer Umgebung des Fahrzeugs 100 zu erzeugen, einschließlich einer Abstandsschätzung für alle Punkte in einem Bild. In mindestens einer Ausführungsform können eine oder mehrere der Stereokamera(s) 168, ohne darauf beschränkt zu sein, kompakte(n) Stereosicht-Sensor(en) enthalten, die, ohne darauf beschränkt zu sein, zwei Kameralinsen (je eine links und rechts) und einen Bildverarbeitungschip enthalten können, der den Abstand zwischen dem Fahrzeug 100 und dem Zielobjekt messen und die erzeugten Informationen (z.B. Metadaten) verwenden kann, um autonome Notbrems- und Spurverlassenswarnfunktionen zu aktivieren. In mindestens einer Ausführungsform können zusätzlich oder alternativ zu den hier beschriebenen Stereokameras auch andere Typen von Stereokamera(s) 168 verwendet werden.
  • In mindestens einer Ausführungsform können Kameras mit einem Sichtfeld, das Teile der Umgebung seitlich des Fahrzeugs 100 einschließt (z.B. Seitensichtkameras), für die Umgebungsansicht verwendet werden und Informationen bereitstellen, die zur Erstellung und Aktualisierung eines Belegungsgitters sowie zur Erzeugung von Seitenaufprallwarnungen verwendet werden. Zum Beispiel könnte(n) in mindestens einer Ausführungsform die Surround- bzw. Umgebungskamera(s) 174 (z.B. vier Umgebungskameras wie in 1B dargestellt) an dem Fahrzeug 100 positioniert sein. In mindestens einer Ausführungsform kann (können) die Umgebungskamera(s) 174, ohne darauf beschränkt zu sein, eine beliebige Anzahl und Kombination von Weitwinkelkamera(s) 170, Fischaugenkamera(s), 360-Grad-Kamera(s) und/oder ähnliche Kameras umfassen. Zum Beispiel können in mindestens einer Ausführungsform vier Fischaugenkameras an einer Vorderseite, einer Rückseite und an Seiten des Fahrzeugs 100 positioniert sein. In mindestens einer Ausführungsform kann das Fahrzeug 100 drei Surround-Kamera(s) 174 (z.B. links, rechts und hinten) verwenden und eine oder mehrere andere Kamera(s) (z.B. eine nach vorne gerichtete Kamera) als eine vierte Rundumsicht-Kamera nutzen.
  • In mindestens einer Ausführungsform können Kameras mit einem Sichtfeld, das Teile einer Umgebung an der Rückseite des Fahrzeugs 100 einschließt (z.B. Rückfahrkameras), für die Einparkhilfe, die Umgebungsansicht, Heckkollisionswarnungen und das Erstellen und Aktualisieren eines Belegungsgitters verwendet werden. In mindestens einer Ausführungsform kann eine Vielzahl von Kameras verwendet werden, einschließlich, aber nicht beschränkt auf, Kameras, die auch als nach vorne gerichtete Kamera(s) geeignet sind (z.B. die Weitbereichskameras 198 und/oder die Mittelbereichskamera(s) 176, die Stereokamera(s) 168), die Infrarotkamera(s) 172 usw.), wie hierin beschrieben.
  • Damit ein solches Fahrzeug eine Aufgabe, wie z.B. die Navigation zu einem Ziel, erfüllen kann, kann ein Steuersystem eine oder mehrere Aktionen bestimmen, die zu einem bestimmten Zeitpunkt durchzuführen sind und dieser Aufgabe entsprechen. Bei einem autonomen Fahrzeug kann dies die Vornahme einer oder mehrerer Anpassungen umfassen, z.B. an einem Lenk- oder Bremssystem, um das Fahrzeug zu veranlassen, auf eine bestimmte Art und Weise entlang eines bestimmten Wegs zu manövrieren, z.B. eines Wegs, der das Fahrzeug veranlasst, auf einer aktuellen Fahrspur einer Straße innerhalb der Fahrspurmarkierungen zu navigieren, während es Kollisionen vermeidet und mit einer geeigneten Geschwindigkeit fährt. Um geeignete Aktionen zu bestimmen, kann es zumindest in einigen Systemen von Vorteil sein, zunächst den Pfad oder die Bewegungsbahn bzw. Trajektorie zu bestimmen, dem bzw. der das Fahrzeug folgen soll. Die Bestimmung eines Navigationspfads kann Schritte zur Ermittlung von Informationen über eine Umgebung umfassen, in der das Fahrzeug gerade operiert, wie z.B. eine hochauflösende (HD) Karte, ein Modell oder eine Darstellung der Straße und nahegelegener Objekte, die von einer Quelle stammen kann, die diese Umgebung zuvor modelliert hat, oder die in Echtzeit unter Verwendung von Sensoren oder anderen Mechanismen zur Wahrnehmung von Informationen über die Umgebung erzeugt werden können. Zumindest in einigen Ausführungsformen kann es auch von Vorteil sein, relevante Ortsbestimmungs- bzw. Lokalisierungsdaten oder Daten, die angeben, wo sich das Fahrzeug in dieser Umgebung befindet, mit ausreichender Genauigkeit zu bestimmen, um Sicherheits- oder Betriebsanforderungen zu erfüllen.
  • Wie erwähnt kann es jedoch, um den Fahrgästen eine angenehme Erfahrung zu bieten, wünschenswert sein, einen Weg oder eine Reihe von Abläufen zu bestimmen, die zusätzlich zur Sicherheit zumindest ein wenig für Sanftheit oder Komfort optimiert sind. In vielen Fällen geht es hierbei um ein Gleichgewicht zwischen Sicherheit und reibungslosem Betrieb, da es sehr wichtig ist, sicher zu fahren, aber innerhalb des Bereichs des sicheren Betriebs kann es wünschenswert sein, einen Weg zu bestimmen, der die angenehmste oder gleichmäßigste Fahrt bietet, z.B. eine Fahrt ohne schnelle Richtungsänderungen, Beschleunigung oder Verzögerung.
  • Erschwerend kommt zumindest bei einigen Automatisierungsarten die Tatsache hinzu, dass der Betrieb automatisierter oder halbautomatisierter Vorrichtungen oder Systeme, wie z.B. autonomer Fahrzeuge, häufig sehr spezifischen oder strengen Sicherheitsanforderungen oder -vorschriften unterliegt. Es kann zwar wünschenswert sein, Daten aus verschiedenen Quellen zu kombinieren, um einen optimalen Weg zu bestimmen, aber es kann schwierig sein, nachzuweisen, dass solche Bestimmungen diese Anforderungen oder Vorschriften erfüllen. Ferner werden Informationen aus verschiedenen Quellen aus Sicherheitsgründen oft getrennt gehalten, so dass der Ausfall eines bestimmten Sensors oder Teilsystems nicht den gesamten Betrieb des Fahrzeugs beeinträchtigt, was zu einer suboptimalen Wegbestimmung führen könnte. Daher kann es aus Sicherheitsgründen wünschenswert sein, Informationen von verschiedenen Sensoren, Teilsystemen oder Quellen in getrennten, parallelen oder redundanten Datenströmen zu halten. Unter dem Gesichtspunkt eines optimalen Betriebs kann es jedoch vorzuziehen sein, so viele Informationen wie möglich zu kombinieren, um zu jedem Zeitpunkt die bestmögliche Entscheidung zu treffen.
  • Als ein Beispiel könnte ein autonomes Fahrzeug ein automatisiertes Fahrsystem (ADS; Automated Driving System) nutzen, das komplizierte dynamische Fahraufgaben (DDT; Dynamic Driving Task) übernimmt. Die Automatisierungsstufen 3-5 der Society of Automotive Engineers (SAE) erfordern derzeit beispielsweise Fähigkeiten zur Unfallvermeidung, so dass menschliche Fahrer die Fahraufgabe während eines Störfalls nicht übernehmen müssen. Die Analyse von gefährlichen Ereignissen und deren Risiken kann mit Hilfe der Gefahrenanalyse und Risikobewertung (HARA; Hazard Analysis and Risk Assessment) gemäß der Norm ISO 26262 durchgeführt werden. Eine der Hauptfunktionalitäten eines beispielhaften ADS-Systems, die stark mit dem sicheren Betrieb des ADS-Systems verbunden ist, ist die Pfad bzw. Wegerkennung. Ein Pfad- bzw. Wegerkennungsmodul kann befahrbare Wege identifizieren und Informationen über die Straßengeometrie und -topologie liefern. Dazu können beispielsweise Daten für den mittigen Pfad bzw. Mittenpfad und/oder Begrenzungen der Fahrspuren, die unter Verwendung von Daten aus Quellen wie beispielsweise Bildern oder Videos, die von Kameras an dem Fahrzeug aufgenommen wurden, LIDAR-Daten, GPS-Daten, IMU-Daten oder HD-Kartendaten, die einer zuverlässigen Quelle erhalten wurden, gehören. Ein Ausfall eines Wegerkennungsmoduls kann zu gefährlichen Ereignissen führen, wie beispielsweise zum Verlassen der Fahrbahn oder zum Einfahren in die Fahrbahn des Gegenverkehrs. Die HARA-Analyse (Gefahrenanalyse und Risikobewertung) legt nahe, dass solche gefährlichen Ereignisse tödlich sein können, so dass ein Schutz gegen diese gefährlichen Ereignisse auf, zum Beispiel, der höchsten Fahrzeugsicherheits-Integritätsstufe bzw. Automotive Safety Integrity Level (ASIL) von ASIL D erforderlich ist. Um sicherzustellen, dass ein System gegen diese und andere gefährliche Ereignisse mit einer ausreichend hohen Integritätsstufe geschützt werden kann, muss jedes System, jeder Dienst oder jeder Prozess, der eine der oben genannten funktionalen Komponenten enthält oder sich auf diese stützt, mit strenger ASIL D-Konformität verifiziert und validiert werden, welches einen erheblichen Entwicklungsaufwand und hohe Kosten erfordern kann.
  • Dementsprechend können Ansätze in Übereinstimmung mit verschiedenen Ausführungsformen versuchen, gleichzeitig sowohl die Sicherheit als auch das Leistungsvermögen zu optimieren und gleichzeitig die Sicherheitskonformität jeglichen erzeugten Ergebnisses zu gewährleisten. In mindestens einer Ausführungsform kann ein Wegkennungsmodul eines ADS die Einhaltung von Sicherheitsvorschriften, wie z.B. ASIL D, bereitstellen, welches den Entwicklungs-, Verifizierungs- und Validierungsaufwand erheblich reduzieren kann, während es gleichzeitig für verbesserte Flexibilität und Robustheit des Designs sorgt. Ein solches System kann eine Fusion von Wegerkennungsquellen sowie eine Sicherheitsüberwachung (z.B. ASIL D) eines vom System erzeugten fusionierten Pfads bzw. Wegs ermöglichen. Ein solches System kann zur Laufzeit zwischen verschiedenen Kombinationen von Lokalisierungen und Live-Pfadwahrnehmungen umschalten und dabei eine hohe Verfügbarkeit gewährleisten. Ein solches System kann, basierend zumindest teilweise auf einem Prozess wie beispielsweise der Koppelnavigation, auch eine fortlaufende Fusion der fusionierten Lokalisierung und des fusionierten Pfads vorsehen. Falls ein Fahrzeug zu einem gegenwärtigen Zeitpunkt nicht in der Lage ist, Fahrbahnmarkierungen zu erkennen, diese Markierungen aber bereits früher erkannt wurden und Informationen für diese Markierungen gespeichert sind, dann kann das Fahrzeug Informationen über beispielsweise seine Geschwindigkeit und seinen Kurs zusammen mit diesen historischen Daten verwenden, um Wahrnehmungsdaten für mindestens eine bestimmte Zeitspanne, beispielsweise einige Sekunden, abhängig von Faktoren wie Geschwindigkeit und Umgebung, abzuleiten.
  • 2A veranschaulicht einen Überblick 200 über eine beispielhafte funktionale Sicherheitsarchitektur zur Pfad- bzw. Wegerkennung, die mit einem automatisierten oder halbautomatisierten System, Gerät oder Prozess in verwendet werden kann, Übereinstimmung mit verschiedenen Ausführungsformen. Eine solche Architektur kann ein automatisiertes Sicherheitssystem in die Lage versetzen, ein ADS mit SAE Level 3 und höher zu erreichen. Wie aufgezeigt werden wird, können Komponenten einer solchen Architektur ASIL D (höchster Grad der Gefahrenvermeidung im Automobilbereich), ASIL B(D) (ein geringerer Grad) und QM(D)-Konformität bereitstellen, wobei die Qualitätsmanagement (QM)-Konformität Gefahren repräsentiert, die keine Sicherheitsanforderungen vorschreiben. Wie erwähnt, kann es für ein solches System wichtig sein, zu vermeiden, dass Informationen über einen falschen oder unsicheren Pfad - etwa einen Pfad, der das Fahrzeug von der Straße abkommen lässt - an einen Fahrzeuglenker gesendet werden, was zu einem schweren Unfall oder einer Verletzung führen kann. Ein solches Pfad- bzw. Wegbestimmungssystem sollte daher sicherstellen, dass Informationen für den Pfad, die gesendet werden, die Sicherheitsintegrität gewährleisten, wie beispielsweise Pfaddaten, die A-SIL-D-konform sind. Um zu vermeiden, dass einzelne Fehler direkt zu einem falschen Pfad in einem ASIL-D-System führen, kann eine Redundanz auf Systemebene eingesetzt werden, so dass kein Ausfall einer einzelnen Komponente zu gefährlichem Verhalten oder fehlerhaftem Betrieb führen sollte.
  • Eine Architektur, wie sie in 2A dargestellt ist, kann unabhängig und vielfältig generierte Fahrspurgraphen verwenden, um zu überwachen und sicherzustellen, dass jeder endgültige Fahrspurgraph, der für das Fahren verwendet wird, sicher ist, wie z.B. mit ASIL D-Garantie. In mindestens einer Ausführungsform können Fahrspurgraphen unabhängig voneinander auf der Grundlage verschiedener Module erzeugt werden, wie z.B. Wahrnehmungsdatenquellen 212, die Daten von HD-Karten oder Live- Fahrspurwahrnehmungsquellen, wie z.B. eine oder mehrere Kameras oder eine Lidar-Quelle an einem Fahrzeug, bereitstellen oder nutzen. Ein ASIL D-Erfordernis für ein ADS kann in mindestens einer Ausführungsform dadurch erreicht werden, dass sichergestellt wird, dass ein unter Verwendung kombinierter Daten erzeugter Fahrspurgraph, oder ein „kombinierter“ oder „fusionierter“ Fahrspurgraph, sowohl mit Live-Fahrspurwahrnehmung als auch mit entsprechenden Kartendaten übereinstimmt, zumindest innerhalb einer akzeptablen Toleranz oder Abweichung. Dies kann als ein ASIL-Zerlegungsschema bzw. -Dekompositionsschema zwischen Paaren von unabhängigen Komponenten bezeichnet werden, bei dem z.B. ASIL D aufgeteilt und als ASIL B(D) für einen Wahrnehmungs-Fahrspurgraphkomparator und einen Karten-Fahrspurgraphkomparator eines Satzes von Fahrspurgraphkomparatoren 216 zugewiesen wird, konsistent mit ISO 26262.
  • Ein solches System kann zur Laufzeit zwischen verschiedenen diversen Modulen umschalten, um sicherzustellen, dass die endgültige Ausgabe Integrität, z.B. ASIL-D-Integrität, aufweist, was zumindest teilweise von der Verfügbarkeit dieser Module abhängt. Die Möglichkeit, zur Laufzeit umzuschalten, bietet Vorteile, darunter eine erhöhte Systemverfügbarkeit, da ein solches System möglicherweise nicht in der Lage ist, einen kontinuierlichen sicheren Betrieb zu gewährleisten, wenn nicht mindestens zwei verschiedene Module zur Verfügung stehen, um zu bestätigen, dass die endgültige Ausgabe die Sicherheits- und andere damit verbundene Anforderungen erfüllt. Für die jederzeitige Sicherheit reicht es unter Umständen nicht aus, dass ein Pfadbestimmungssystem jederzeit erkennen kann, ob ein kombinierter Pfad mit beispielsweise die ASIL-D-Integrität korrekt ist. In einigen Fällen, in denen ein Fahrer nicht als ein Backup eingesetzt werden kann, sollte ein solches System garantieren, dass es weiterhin korrekte Pfade erzeugen kann, bis das System einen sicheren Zustand erreicht hat, z.B. wenn ein Fahrzeug an einem sicheren Ort angehalten wird. In mindestens einer Ausführungsform können eine oder mehrere Softwarekomponenten verwendet werden, die relativ einfach und leichtgewichtig sind, was zumindest im Vergleich zu komplexeren Softwarekomponenten, die eine geringere Sicherheitsintegrität und eine höhere Latenz aufweisen können, Vorteile hat.
  • Die High-Level-Architektur 200 in 2A ist in zwei Abschnitte unterteilt, einen Abschnitt (oben in der Figur), der sich auf die Lokalisierung bezieht, und einen Abschnitt (unten in der Figur), der sich auf die Erstellung von Fahrspurgraphen bezieht. Diese Abschnitte sind in 2B bzw. 2C detaillierter dargestellt. Bei der Lokalisierung kann auf der Grundlage verfügbarer und zuverlässiger Informationen zumindest ein aktueller Standort eines Objekts (z.B. eines Fahrzeugs oder Roboters) in einer Umgebung, z.B. auf einer Straße, bestimmt werden. In diesem Beispiel kann es mehrere Lokalisierungsdatenquellen 202 geben, wie z.B. Kameras (z.B. Front-Weitwinkelkameras) und Radarsensoren, neben anderen solchen Optionen. Daten aus jeder dieser Quellen können verwendet werden, um eine entsprechende Lokalisierungsbestimmung zu generieren, z.B. eine kamerabasierte Lokalisierungsbestimmung und eine radarbasierte Lokalisierungsbestimmung, wobei jede Bestimmung die Analyse erfasster Bild- oder Sensordaten zum Zweck der Durchführung der jeweiligen Bestimmung beinhalten kann. In diesem Beispiel können diese separaten Bestimmungen an eine Lokalisierungsfusionskomponente 204 weitergeleitet werden, die eine „kombinierte“ oder „fusionierte“ Lokalisierungsbestimmung generieren kann, die zumindest teilweise auf den verfügbaren individuellen Lokalisierungsbestimmungen basiert, zumindest auf denjenigen, die mit einem Mindestvertrauen bzw. einer Mindestkonfidenz generiert wurden. Zum Kombinieren dieser Bestimmungen können verschiedene Algorithmen oder Ansätze verwendet werden, z.B. ein gewichteter oder räumlicher Mittelwert, ein neuronales Netzwerk zur Ableitung eines optimalen Werts basierend auf dem verfügbaren Input, oder eine komplexe Fusionsfunktion, neben anderen derartigen Optionen. Wenn Gewichtungen verwendet werden, können diese zumindest teilweise auf relativen Konfidenzwerten in den einzelnen Bestimmungen beruhen. Wie erwähnt, kann es von Vorteil sein, Daten aus verschiedenen Teilsystemen oder Quellen zu kombinieren oder zu fusionieren, da es Hindernisse oder andere Vorkommnisse geben kann, die dazu führen, dass zumindest ein Teil der Sicht einer Kamera oder eines Sensors unzuverlässig ist, wobei diese Daten von einer anderen Quelle zuverlässig bestimmt oder ergänzt werden können, während die zuverlässigen Daten dieser Kamera oder dieses Sensors erhalten bleiben. Die Verwendung nur dieses einen Systems kann zu Problemen führen, falls ein Teil der Sicht behindert ist, da eine zuverlässige Bestimmung möglicherweise nicht mit ausreichender Sicherheit möglich ist.
  • Ein oder mehrere Lokalisierungskomparatoren 206 können verwendet werden, die die einzelnen Lokalisierungsbestimmungen und die fusionierten Bestimmungen vergleichen. Wie nachstehend näher erläutert werden wird, können diese Komparatoren auch zusätzliche Eingaben verwenden, z.B. Lokalisierungsbestimmungen von anderen Systemen, wie z.B. satellitengestützten Systemen. Die Verwendung eines Satellitensystems kann in Situationen von Vorteil sein, in denen beispielsweise ein Problem am Fahrzeug auftritt und das Fahrzeug sicher an den Straßenrand fahren und anhalten muss. Ein Satellitensystem kann gegen Probleme an einem einzelnen Fahrzeug immun sein und über zusätzliche Sensoren und Verarbeitungsfunktionen verfügen, die zusätzliche zuverlässige Daten liefern. Die von den Lokalisierungskomparatoren erzeugten Ergebnisse können als Eingabe für einen Lokalisierungskonfidenzmonitor 208 bereitgestellt werden, der kontinuierlich einen Lokalisierungskonfidenzwert 210 für zumindest die fusionierten Lokalisierungsdaten bestimmen kann. Dabei kann die fusionierte Lokalisierungsbestimmung zu jedem Zeitpunkt mit den einzelnen Lokalisierungsbestimmungen verglichen werden, um festzustellen, ob eine ausreichende Übereinstimmung besteht. Wenn die fusionierte Lokalisierung mit den einzelnen ASIL D-Lokalisierungsbestimmungen übereinstimmt, können die fusionierten Lokalisierungsdaten verwendet und als ASIL D-konform (oder einer anderen Anforderung entsprechend) verifiziert werden.
  • Wie erwähnt, kann es vorkommen, dass ein einzelner Sensor oder eine einzelne Quelle nicht in der Lage ist, genaue Lokalisierungsdaten zu liefern, z.B. wenn die Sicht verdeckt ist, ein Sensor überlastet ist oder ein Ereignis die Zuverlässigkeit der Daten beeinträchtigt. In solchen Fällen kann die Zuverlässigkeit der Lokalisierungsdaten gering sein, oder zumindest geringer, als es die relevanten Sicherheitsstandards oder -anforderungen verlangen. In einer Architektur 200, wie sie in 2A dargestellt ist, können mehrere Quellen dynamisch verglichen, kombiniert oder in verschiedenen Kombinationen ausgewählt werden, so dass jede Quelle, die nicht übereinstimmt, zumindest für diesen Zeitpunkt ignoriert oder verworfen werden kann. In mindestens einer Ausführungsform reicht es aus, dass mindestens zwei dieser ASIL D-konformen Quellen übereinstimmen, damit eine entsprechende Lokalisierungsbestimmung von einer dieser Quellen verwendet werden kann. Ferner kann, wenn mindestens zwei dieser Quellen mit der fusionierten Lokalisierungsbestimmung übereinstimmen, die fusionierte Lokalisierungsbestimmung verwendet werden. Wie erwähnt, können ein oder mehrere Komparatoren 206 verwendet werden, um entsprechende Vergleiche durchzuführen, und können die Ergebnisse dieser Vergleiche von einem Monitor 208 analysiert werden, um zu bestimmen, welche Lokalisierungsbestimmung zuverlässig ist und verwendet werden sollte. In mindestens einer Ausführungsform können diese Komparatoren 206 als Wähler angesehen werden, da sie darüber abstimmen, ob zwei oder mehr Eingaben innerhalb eines akzeptablen Bereichs oder Schwellenwerts übereinstimmen. Der jeweilige Monitor kann dann die Ergebnisse dieser Wähler analysieren, und wenn mindestens zwei Wähler darüber übereinstimmen, dass die fusionierte Lokalisierungsbestimmung zuverlässig ist, dann kann die fusionierte Lokalisierungsbestimmung verwendet werden. In diesem Beispiel kann die Konfidenz- oder Zustandsbestimmung 210 zur Überprüfung bereitgestellt sein, um beispielsweise sicherzustellen, dass das System ordnungsgemäß funktioniert. Die Zustandsbestimmung 210 und die fusionierte (oder individuelle) Lokalisierungsbestimmung können auch als Eingabe für eine oder mehrere Wahrnehmungsdatenquellen, wie z.B. eine HD-Mapping-Quelle, bereitgestellt werden, um einen geeigneten Fahrspurgraphen zu bestimmen, der zumindest teilweise auf dieser Lokalisierungsbestimmung basiert.
  • Der Fahrspurgraph-Abschnitt dieser Architektur 200 arbeitet in einer Weise ähnlich wie der Lokalisierungsabschnitt. Es werden eine oder mehrere Wahrnehmungsdatenquellen 212 verwendet, die eine oder mehrere HD-Fahrspurgraph-Karten und eine oder mehrere Wahrnehmungsquellen, wie z.B. Kameras oder LIDAR, beinhalten können, die Daten erzeugen können, die analysiert werden können, um zu versuchen, Live- oder Echtzeit-Bestimmungen eines Fahrspurgraphen auf der Grundlage dieser Live-Wahrnehmungsdaten vorzunehmen, oder das, was die Subsysteme im (oder mit dem) Fahrzeug auf der Grundlage verfügbarer Informationen, wie z.B. Bild- oder Sensordaten, als den geeigneten Fahrspurgraphen wahrnehmen. Diese vorgeschlagenen Fahrspurgraphen können einem Fahrspurgraph-Fusionsmodul 214 zur Verfügung gestellt werden, das eine fusionierte oder kombinierte Fahrspurgraph-Bestimmung generieren kann, die zumindest teilweise auf der Fusion oder Kombination dieser einzelnen Fahrspurgraph-Bestimmungen (oder Vorhersagen) basiert. Eine Satz von Komparatoren 216 kann auch diese individuellen und fusionierten Fahrspurgraphen vergleichen, um zu bestimmen, ob sie ausreichend übereinstimmen. Die Ergebnisse dieser Vergleiche können einem Fahrspurgraph-Konfidenzmonitor 218 zur Verfügung gestellt werden, der bestimmen kann, ob die fusionierte Fahrspurgraph-Bestimmung mit zwei oder mehr dieser Einzelbestimmungen mit ausreichender Konfidenz übereinstimmt, und der eine Konfidenzbestimmung 220 zumindest für den fusionierten Fahrspurgraphen ausgeben kann. Falls die Konfidenz bzw. das Vertrauen in die fusionierte Bestimmung ausreichend hoch ist, z.B. zumindest einen minimalen Konfidenz-Schwellenwert oder -wert erfüllt, dann kann der fusionierte Fahrspurgraph 222 dem Steuersystem zur Verwendung z.B. bei der Navigation des Fahrzeugs bereitgestellt werden. Falls die Konfidenz in den fusionierten Fahrspurgraphen nicht ausreichend hoch ist, kann ein Fahrspurgraph aus einer der einzelnen oder anderen fusionierten Quellen verwendet werden, um einen weiterhin sicheren Betrieb zu gewährleisten, z.B. durch Auswahl eines einzelnen Fahrspurgraphen mit dem höchsten Konfidenz- oder Zustands- bzw. Gesundheitswert. Wie erwähnt, kann der Betrieb mit einem einzelnen Fahrspurgraphen einen sicheren Betrieb gewährleisten, ist aber unter Leistungsgesichtspunkten möglicherweise nicht so optimal.
  • 2B und 2C veranschaulichen detailliertere Ansichten der Lokalisierungs- und Fahrspurgraph-Bestimmungsabschnitte 230 bzw. 260 dieser Beispielarchitektur 200. In 2B ist dargestellt, dass Lokalisierungsdatenquellen wie beispielsweise Eckradare 232 und eine Frontkamera 236 Daten an entsprechende Lokalisierungsmodule 234, 238 liefern können, die individuelle Lokalisierungsbestimmungen erzeugen können, die einem Lokalisierungsfusionsmodul 240 zugeführt werden können, um eine fusionierte Lokalisierungsbestimmung zu erzeugen. Die fusionierten Lokalisierungsdaten können zusammen mit den jeweiligen individuellen Lokalisierungsbestimmungen separaten Kamera- und Radar-Lokalisierungskomponenten 242, 244 zum Vergleich zur Verfügung gestellt werden, die an einen Lokalisierungs-Konfidenz (oder Zustands)- Monitor 242 weitergeleitet werden können. Der Konfidenzmonitor kann primäre und sekundäre Lokalisierungsmonitore 244, 246 enthalten, die entsprechende Konfidenzbestimmungen erzeugen können, die von einem Lokalisierungsmonitor analysiert werden können, um einen einzelnen Lokalisierungskonfidenzwert zu erzeugen. In mindestens einigen Ausführungsformen können diese Konfidenzbestimmungen binär sein und angeben, ob eine fusionierte Bestimmung zuverlässig ist oder nicht. Zuverlässigkeit kann in mindestens einigen Ausführungsformen unter Verwendung eines Konfidenzwerts relativ zu einem Schwellenwert bestimmt werden. Diese Gesundheitsinformationen können an ein propagiertes Lokalisierungsmodul weitergeleitet werden, das von dem Lokalisierungsfusionsmodul für eine nachfolgende Fusionsbestimmung verwendet werden kann. Die weitergegebenen Fusionsinformationen und die fusionierten Lokalisierungsdaten können auch an einen Lokalisierungs-Arbiter 246 weitergeleitet werden.
  • In 2C ist der Teil 260 der Architektur zur Bestimmung des Fahrspurgraphen dargestellt, der die fusionierte (oder individuelle) Lokalisierungsbestimmung und den Konfidenzwert oder die Zustandsbestimmung für einen Kartenfahrspurgraphen 262 empfängt, der diese Informationen zum Beispiel mit HD-Kartendaten verwenden kann, um einen Fahrspurgraphen für den aktuellen Standort und die Umgebungsbedingungen oder den Zustand zu erzeugen. Eine oder mehrere Komponenten, wie z.B. eine Frontkamera, können Bilddaten liefern, die von einer Fahrspurwahrnehmungsgraph-Komponente 266 verwendet werden können, um einen Fahrspurgraph zu erstellen, der zumindest teilweise auf der Erkennung von Objekten wie Fahrspurmarkierungen und Fahrzeugen in den erfassten Bild- oder Videodaten basiert. Diese individuellen Fahrspurgraph-Bestimmungen können einem Fahrspurgraph-Fusionsmodul 274 zur Verfügung gestellt werden, das eine fusionierte Fahrspurgraph-Bestimmung erzeugen kann, die zumindest teilweise auf diesen oder anderen bereitgestellten individuellen Fahrspurgraph-Bestimmungen basiert. Die Bestimmung des fusionierten Fahrspurgraphen und die individuellen Fahrspurgraph-Bestimmungen können Komparatoren 268, 270 zum Vergleichen der Informationen und zum Bereitstellen der Ergebnisse an einen Fahrspurgraph-Zustandsmonitor bereitgestellt werden, der primäre und sekundäre Monitore 278, 280 zum Analysieren der Vergleichsdaten und zum Bereitstellen von Zustands- oder Konfidenz- bzw. Vertrauensbestimmungen an ein Überwachungsmodul oder eine Komponente 284 für den fusionierten Fahrspurgraph umfassen kann, welcher Zustands- oder Konfidenz- bzw. Vertrauensdaten für den fusionierten Fahrspurgraphen bestimmen und ausgeben kann, wodurch das System sicherstellen kann, dass der fusionierte Fahrspurgraph alle Sicherheitsanforderungen erfüllt usw. Diese Zustands- bzw. Gesundheitsinformationen können auch der propagierten Komponente für den fusionierten Fahrspurgraphen zur Verfügung gestellt werden, um Daten für das Fahrspurgraph-Fusionsmodul 274 für nachfolgende Bestimmungen des fusionierten Fahrspurgraphen bereitzustellen, sowie für einen Lokalisierungs-Arbiter 272, um zu bestimmen, ob die Daten des fusionierten Fahrspurgraphen verfügbar und zuverlässig sind, oder ob andernfalls eine oder mehrere der individuellen Fahrspurgraph-Bestimmungen verwendet werden sollten.
  • Wie dargestellt, kann zur Verbesserung der Genauigkeit der Fahrspurgraph-Funktion das Fahrspurgraph-Fusionsmodul 274 verschiedene Quellen von Fahrspurgraph-Daten nutzen, wie z.B. einen HD-Karten-basierten Fahrspurgraph und wahrnehmungsbasierte Fahrspurgraph-Daten, die miteinander fusioniert werden können. Diese Funktion kann in mindestens einer Ausführungsform dieser Architektur als QM(D) eingestuft werden, wobei jede geeignete Fusionsfunktion verwendet werden kann, um eine möglichst genaue Ausgabe des Fahrspurgraphen zu erreichen und zu erhalten. Ein Lokalisierungsfusionsmodul 240 kann in ähnlicher Weise arbeiten, wobei eine Lokalisierungsfunktion für eine QM(D)-Fusion mehrerer Lokalisierungsquellen sorgen kann, wie z.B. radarbasierte Lokalisierung und kamerabasierte Lokalisierungsquellen, um die beste Genauigkeit für die Lokalisierungsfunktion zu erreichen. Um die für den fusionierten Fahrspurgraphen und die fusionierte Lokalisierung erforderliche ASIL D-Integrität zu erreichen, können der fusionierte Fahrspurgraph und die fusionierte Lokalisierung mit zwei unabhängigen und unterschiedlichen ASIL B(D)-Quellen verglichen werden, z.B. mit dem HD-Karten-basierten Fahrspurgraph und dem wahrnehmungsbasierten Fahrspurgraph mit Kamera- und Radar-Lokalisierungen, wobei die Ergebnisse an einen ASIL D-Monitor gesendet werden, der den Status der beiden Vergleiche überprüft. Ein Beispiel für ein Zerlegungs- bzw. Dekompositionsschema kann somit wie folgt aussehen: ASIL D ASIL B ( D ) + ASIL B ( D )
    Figure DE102021128559A1_0001
    Fusionierte Lokalisierung Kamera-Lokalisierungskomparator Radar-Lokalisierungskomparator ASIL D ASIL B ( D ) + ASIL B ( D )
    Figure DE102021128559A1_0002
    fusionierter Fahrspurgraph HD-Karten-basierter Fahrspurgraph wahrnehmungsbasierter Fahrspurgraph
  • Die ASIL D-Monitore 242, 276 stellen eine einfache Überprüfung der Eingänge der Fahrspur- oder Lokalisierungskomparatoren bereit, um sicherzustellen, dass beide Komparatoren gleichzeitig gültig sind, damit eine ASIL D-konforme Fahrspur- oder Lokalisierungsbestimmung gewährleistet werden kann.
  • Einer der wichtigsten Aspekte eines ADS-Systems, das komplizierte fahrdynamische Aufgaben ausführt, ist die Verfügbarkeit des Systems im Falle eines Ausfalls. Bei ADS-Systemen der SAE-Automatisierungsstufen 3-5 sollte das System so ausgelegt sein, dass Ausfälle erkannt werden können und das System mit den anderen verfügbaren Komponenten und Signalen, die noch korrekt funktionieren, weiterarbeiten kann. Eine Komponente 282 für die Propagation des fusionierten Fahrspurgraphen kann Darstellungen der Fahrspurlinien auf der Straße generieren, beispielsweise basierend auf dem letzten guten Wert des fusionierten Fahrspurgraphen, der die Prüfungen sowohl des Wahrnehmungs- als auch des Karten-Fahrspurgraph-Komparators bestanden hat. Dieses Modul kann den letzten guten Wert des fusionierten Fahrspurgraphen nehmen und die neuen Fahrspurlinien um das Ego-Fahrzeug herum schätzen, z.B. unter Verwendung relativer Ego-Bewegung (z.B. die Richtung, Geschwindigkeit und Beschleunigung/Verzögerung des Fahrzeugs). Ein solcher Ansatz kann in einigen Ausführungsformen als Koppelnavigation bezeichnet werden, da er sich zumindest teilweise auf historische Daten stützt, wenn die aktuellen Daten möglicherweise nicht ausreichend zuverlässig sind. Das Modul 282 für den propagierten fusionierten Fahrspurgraphen in dieser Ausführungsform ist ASIL D-konform und kann Fahrspurlinien unabhängig erzeugen. In mindestens einigen Ausführungsformen wird dieser propagierte fusionierte Fahrspurgraph nur für einen begrenzten Zeitraum genau sein, was zumindest teilweise auf die Ego-Bewegungs-Natur der Fehlerakkumulation zurückzuführen ist. In ähnlicher Weise kann ein Modul 248 für die propagierte fusionierte Lokalisierung die genaue Position und Ausrichtung des Ego-Fahrzeugs mit sechs Freiheitsgraden (DOF; Degrees-of-Freedom) generieren, basierend zumindest teilweise auf dem letzten guten Wert der fusionierten Lokalisierung, der beispielsweise die Prüfungen sowohl des Kamera- als auch des Radar-Lokalisierungs-Komparators bestanden hat. Das Modul nimmt den letzten guten Wert der fusionierten Lokalisierung und schätzt die neue 6-DOF-Position und Orientierung des Ego-Fahrzeugs unter Verwendung der relativen Ego-Bewegung. Dieses Modul ist ebenfalls ASIL D-konform und kann 6-DOF-Lokalisierungswerte unabhängig erzeugen. Diese propagierte Lokalisierung ist möglicherweise ebenfalls nur für einen begrenzten Zeitraum genau, was zumindest teilweise auf die Ego-Bewegungs-Natur der Fehlerakkumulation zurückzuführen ist. Die Koppelnavigation kann daher zum Transformieren eines ASIL-D-gesicherten Fahrspurgraphen und zur Aufrechterhaltung der ASIL-D-Integrität ohne verfügbare Monitore für einen begrenzten Zeitraum verwendet werden.
  • Die propagierte Fusion sowohl für die Lokalisierung als auch für die Fusion des Fahrspurgraphen kann in Kombination mit der Umschaltung zwischen verschiedenen Varianten zur Laufzeit verwendet werden, um die Verfügbarkeit des Systems weiter zu verbessern. Falls das System beispielsweise mit radarbasierter Lokalisierung und kamerabasierter Pfadwahrnehmung arbeitet und die kamerabasierte Pfadwahrnehmung für einige Sekunden ausfällt, kann das System für einige Zeit mit dieser Variante der propagierten Fusion des Fahrspurgraphen fortfahren, bevor es auf die kamerabasierte und radarbasierte Lokalisierungsvariante umschaltet.
  • In diesem Beispiel kann der Lokalisierungs-Arbiter 246 bestimmen, wenn die fusionierten Lokalisierungsdaten nicht verfügbar oder nicht zuverlässig genug sind, und diese Daten den Komparatoren und dem Konfidenzmonitor bereitstellen, wodurch das System bestimmen kann, unter Verwendung der individuellen Lokalisierungsbestimmungen und nicht der fusionierten Lokalisierungsbestimmung zu arbeiten, zumindest für einen Fall oder eine Zeitspanne. Die Architektur erlaubt es, dass die Fusion der Lokalisierungsquellen und der Quellen des Fahrspurgraphen bei QM(D) erfolgt. Dies kann dazu führen, dass die Fusionsfunktion nicht zum Fahren zur Verfügung steht, wenn das Signal nicht genau genug ist, um die Tests der Komparatoren zu bestehen. Die Arbiter können die ASIL B(D)-Lokalisierungs- und Fahrspurgraph-Signale durchlassen, wenn das Fusionssignal nicht verfügbar ist. Bei einem solchen Ansatz bleibt die ASIL D-Ausgabe weiter gültig, da die Komparatoren unabhängig voneinander die durchkommenden Eingaben prüfen und der ASIL D-Monitor weiterhin die beiden unabhängigen ASIL B(D)-Werte überprüft.
  • In mindestens einer Ausführungsform kann es darüber hinaus von Vorteil sein, dynamisch zwischen verschiedenen Kombinationen von Lokalisierungen und Live-Pfadwahrnehmungen umschalten zu können. 3 veranschaulicht eine beispielhafte Architektur 300, die ein solches dynamisches Umschalten bereitstellen kann. Dies kann z.B. die Umschaltung zwischen zwei Lokalisierungsbestimmungen anstelle von Lokalisierung und Live-Pfadwahrnehmung zur Laufzeit beinhalten. In dieser beispielhaften Architektur dient der kartenbasierte Fahrspurgraph als eine ASIL-D-Komponente, und dasselbe ASIL-D-Zerlegungsargument, das für die vorherigen Architektur erläutert wurde, für die Lokalisierung verwendet werden. Dieses Umschalten zur Laufzeit zwischen dem Live-Wahrnehmungs-/Lokalisierungs- und dem reinen Lokalisierungs-Fahrspurgraphen kann ein erhebliches Maß an Flexibilität bieten und die Verfügbarkeit deutlich verbessern. Andere Arten dynamischer Umschaltung sind ebenfalls möglich, z.B. für kartenbasierte Fahrspurgraphen, die auf zwei unabhängigen Lokalisierungsquellen wie beispielsweise Kameralokalisierung und Radarlokalisierung basieren, sowie für Live-Wahrnehmung-basierte Fahrspurgraphen, die auf zwei unabhängigen Quellen von Live-Wahrnehmung, wie beispielsweise Kamera-Fahrspurwahrnehmung und LIDAR-Fahrspurwahrnehmung basieren. Andere dynamische Umschaltungen können für auf Karten basierende Fahrspurgraphen und auf Live-Wahrnehmung basierende Fahrspurgraphen durchgeführt werden.
  • Die Architektur 300 von 3 erlaubt darüber hinaus auch ein dynamisches Umschalten zwischen mindestens zwei elektronischen Steuereinheiten (ECUs), wie z.B. einer Haupt-ECU in einem Fahrzeug, die in einem oberen Teil der Architektur in 3 dargestellt ist, und einer satellitengestützten ECU, die in einem unteren Teil dargestellt ist. Wie dargestellt, kann jede ECU ähnliche Komponenten enthalten, um entsprechende Lokalisierungsdaten 302, 320 zu erfassen, eine fusionierte Lokalisierung unter Verwendung einer Fusionskomponente 304, 322 zu erzeugen, Komparatoren 306, 324 zu verwenden, um die fusionierten und individuellen Lokalisierungen zu vergleichen, und diese Informationen an einen Lokalisierungs-Konfidenzmonitor 308 zu liefern. In diesem Beispiel können zumindest einige der Lokalisierungsdaten von der Satelliten-ECU als Eingabe für die Komparatoren 306 der Haupt-ECU bereitgestellt werden, was dazu beitragen kann, die Übereinstimmung zwischen zusätzlichen Lokalisierungsbestimmungen zu bestimmen. Wie dargestellt, kann jede ECU die Lokalisierungsbestimmung übernehmen und diese mit einem Karten-Fahrspurgraph-Modul 312 verwenden. 328, und kann Daten von einer oder mehreren Wahrnehmungsdatenquellen 310, 330 verwenden, um fusionierte Fahrspurgraphen unter Verwendung entsprechender Fusionsmodule 316, 332 zu bestimmen, die mit individuellen Fahrspurgraphen durch entsprechende Komparatoren 314, 334 verglichen werden können, um Konfidenzbestimmungen durch entsprechende Fahrspurgraph-Konfidenzmonitore 318, 336 vorzunehmen. Die Konfidenzwerte für diese Fahrspurgraphen können verwendet werden, um zu bestimmen, welcher Fahrspurgraph zu verwenden ist. In mindestens einigen Ausführungsformen wird der Fahrspurgraph von der Haupt-ECU genutzt, es sei denn, es bietet keine ausreichende Konfidenz, in welchem Fall eine Fahrspurgraph-Bestimmung von der Satelliten-ECU genutzt werden kann. Ein Verteilen der funktionalen Komponenten über zwei ECUs hinweg kann die Verfügbarkeit im Normalbetrieb sogar noch weiter verbessern, indem Lokalisierungs- und Pfadwahrnehmungssignale über ECUs hinweg weitergegeben werden, welches einen verschlechterten Betrieb oder den Verlust einer der ECUs kompensieren kann.
  • In manchen Situationen kann es wünschenswert sein, zumindest einen Teil der Umschaltung auf eine Position in der Umgebung zurückzuführen. Falls ein Fahrzeug beispielsweise auf einer Autobahn mit sehr deutlichen Fahrspurmarkierungen fährt, kann die Live-Fahrspurwahrnehmung einen sehr genauen Fahrspurgraphen produzieren. Es kann jedoch vorkommen, dass sich das Fahrzeug an einer großen Kreuzung befindet, an der es keine eindeutigen Markierungen gibt, wie weiter vorzugehen ist. In solchen Situationen kann die Live-Fahrspurwahrnehmung möglicherweise keinen zuverlässigen Fahrspurgraphen liefern, aber kann ein kartenbasierter Fahrspurgraph ausreichend zuverlässig sein. Während einer Fahrt ist es also möglich, mehrfach zwischen einem Live-Fahrspurerkennungsmodus und einem Lokalisierungsmodus zu wechseln, um basierend auf Bedingungen, Zustand, oder Arten der Straße allein sicher weiterfahren zu können.
  • Bei autonomen Fahrzeugen, in denen Entscheidungen sehr schnell getroffen werden müssen, um die Sicherheit zu gewährleisten, können viele dieser Komponenten und ein Großteil dieser Verarbeitung im Fahrzeug selbst erfolgen, um Latenz- und Verbindungsprobleme zu vermeiden. Daher kann ein Fahrzeug über einen oder mehrere Prozessoren (z.B. CPUs oder GPUs) verfügen, um zumindest einen Teil dieser Verarbeitung durchzuführen. Teile dieser Funktionalität, die nicht so zeitkritisch sind, wie z.B. die Aktualisierung von Kartendaten, können u. a. von einem entfernten Server oder in der Cloud ausgeführt werden. Bei autonomen Fahrzeugen müssen Pfadbestimmungen möglicherweise in der Größenordnung von Millisekunden vorgenommen werden, so dass es wünschenswert ist, dass zumindest die unabhängigen Pfadbestimmungsmodule schnell und einfach Ergebnisse liefern, auf die man sich verlassen kann, falls ein Fusionsprozess in Verzug gerät oder für eine gewisse Zeit keine Ergebnisse in mindestens der gleichen Zeitskala liefern kann.
  • 4 veranschaulicht einen beispielhaften Prozess 400 zur Bestimmung eines Navigationspfads, wie beispielsweise eines Fahrspurgraphen, der in Übereinstimmung mit verschiedenen Ausführungsformen genutzt werden kann. Es versteht sich, dass für diesen und andere hierin erörterte Prozesse zusätzliche, weniger oder alternative Schritte in ähnlicher oder alternativer Reihenfolge oder zumindest teilweise parallel im Rahmen der verschiedenen Ausführungsformen durchgeführt werden können, sofern nicht ausdrücklich anders angegeben. Ferner versteht sich, obwohl dieses Beispiel in Bezug auf ein autonomes Fahrzeug beschrieben wird, das innerhalb einer bestimmten Fahrspur fährt, dass andere Arten von sicherheitskonformen Pfaden oder Graphen für andere autonome oder halbautonome Fahrzeuge, Vorrichtungen, Roboter, Prozesse oder Systeme in Übereinstimmung mit den verschiedenen Ausführungsformen bestimmt werden können.
  • In diesem Beispiel werden Lokalisierungsdaten 402 von mindestens zwei unabhängigen und vertrauenswürdigen Quellen erhalten. Dies kann z.B. die Erfassung von Bild- oder Sensordaten unter Verwendung verschiedener Kameras oder Sensoren und die Durchführung unabhängiger Lokalisierungsbestimmungen auf der Grundlage der jeweiligen Datentypen beinhalten. Vertrauenswürdige Daten in diesem Beispiel können sich auf Daten beziehen, die von einem System oder Prozess erhalten werden, für das bzw. den bestimmt wurde, dass er eine oder mehrere Vorschriften oder Anforderungen, die sich auf die Sicherheit beziehen können und die mit einem Mindestmaß an Konfidenz festgestellt wurden, erfüllt. Eine fusionierte Lokalisierungsbestimmung kann zumindest teilweise auf der Grundlage der unabhängigen Lokalisierungsbestimmungen aus diesen unabhängigen und vertrauenswürdigen Quellen erzeugt werden 404. Wie erwähnt, kann die fusionierte Bestimmung auf der Grundlage einer beliebigen Kombination oder Untermenge dieser einzelnen Bestimmungen erfolgen, die zumindest teilweise auf Faktoren wie Konfidenz und Verfügbarkeit beruhen können. Die fusionierten und individuellen Lokalisierungsbestimmungen können einem oder mehreren Komparatoren zur Verfügung gestellt werden 406, um Übereinstimmung zwischen zumindest den unabhängigen Bestimmungen und der fusionierten Lokalisierungsbestimmung zu bestimmen. In mindestens einer Ausführungsform vergleicht jeder Komparator eine jeweilige unabhängige Lokalisierungsbestimmung mit der fusionierten Bestimmung. Die Ergebnisse dieser Komparatoren können verwendet werden, um eine Konfidenz oder eine Gesundheit bzw. einen Zustand in der fusionierten Lokalisierungsbestimmung zu bestimmen, wie z.B. eine binäre Entscheidung darüber, ob die fusionierte Bestimmung verwendet werden sollte oder nicht, basierend auf der Konfidenz, die mindestens einen minimalen Konfidenzschwellenwert erfüllt, oder ob eine andere Lokalisierungsbestimmung zur Verwendung auszuwählen ist.
  • Die fusionierte Lokalisierungsbestimmung oder eine andere Lokalisierungsbestimmung, falls die fusionierte Bestimmung nicht gemäß den Zustands- oder Konfidenzinformationen ausgewählt wird, kann mit Live-Wahrnehmungsdaten aus mindestens zwei unabhängigen und vertrauenswürdigen Quellen versehen werden 410, um unabhängige Fahrspurgraphen zu erzeugen. Ein fusionierter Fahrspurgraph kann zumindest teilweise auf der Grundlage dieser individuellen Fahrspurgraphen aus diesen unabhängigen Quellen erzeugt werden 412. Der fusionierte Fahrspurgraph und die individuellen Fahrspurgraph-Bestimmungen können einem oder mehreren Komparatoren zum Vergleich zwischen dem fusionierten und den individuellen Fahrspurgraphen bereitgestellt werden 414. Die Konfidenz in den fusionierten Fahrspurgraph kann zumindest teilweise auf der Grundlage einer Reihe von Übereinstimmungen mit dem/den Komparator(en) bestimmt werden 416. Falls bestimmt wird 418, dass die Konfidenz oder der Zustand des fusionierten Fahrspurgraphen mindestens einen minimalen Konfidenzschwellenwert oder ein minimales Konfidenzkriterium erfüllt, dann kann der fusionierte Fahrspurgraph einer Betriebskomponente, wie z.B. einer Antriebseinheit oder einer anderen Vorrichtung, einem anderen System, Dienst oder Prozess, für die Navigation oder den Betrieb eines entsprechenden Fahrzeugs 420 zur Verfügung gestellt werden. Falls die Konfidenz in den fusionierten Fahrspurgraphen nicht mindestens einen minimalen Konfidenzschwellenwert oder ein minimales Konfidenzkriterium erfüllt, dann kann ein alternativer Fahrspurgraph ausgewählt werden 422, um für die Navigation oder den Betrieb zur Verfügung zu stehen, wobei der alternative Fahrspurgraph einer der individuellen Fahrspurgraphen oder ein fusionierter Fahrspurgraph von einem anderen System oder einer Steuereinheit sein kann, neben anderen solchen Optionen.
  • 5 veranschaulicht einen weiteren beispielhaften Prozess 500, der Koppelnavigation bei Lokalisierungs- oder Fahrspurgraph-Bestimmungen nutzen kann, gemäß verschiedenen Ausführungsformen. In diesem Beispiel werden Live-Wahrnehmungsdaten 502 von mindestens zwei unabhängigen und vertrauenswürdigen Quellen erhalten. Die von jeder dieser unabhängigen Quellen erhaltenen Live-Wahrnehmungsdaten können analysiert werden, um zu bestimmen 504, ob diese Daten zumindest ein minimales Konfidenzkriterium erfüllen, wie es beispielsweise notwendig sein kann, um die Einhaltung einer oder mehrerer Sicherheitsvorschriften oder -anforderungen zu gewährleisten. Falls von einer dieser unabhängigen Quellen über einen bestimmten Zeitraum hinweg keine Wahrnehmungsdaten empfangen werden, dann kann diese Quelle ähnlich wie eine dieser Quellen mit unzureichender Konfidenz behandelt werden. Falls bestimmt wird 506, dass die Wahrnehmungsdaten von mindestens einer dieser unabhängigen Quellen ein entsprechendes Kriterium nicht erfüllen, kann ein Koppelnavigationsprozess eingeleitet werden. Dies kann ein Zugreifen 580 auf aktuelle fusionierte und/oder unabhängige Lokalisierungsdaten sowie ein Bestimmen 510 der aktuellen Bewegung (z.B. Ego-Bewegung) oder des Zustands des Fahrzeugs beinhalten. Zumindest teilweise auf der Grundlage der jüngsten Lokalisierungsdaten und der Bewegung oder des Zustands des Fahrzeugs können Lokalisierungsdaten 512 für mindestens eine Zeitspanne abgeleitet werden, in der die Ableitung als zuverlässig eingestuft wird. Dies kann die Ableitung einer oder mehrerer individueller Lokalisierungsbestimmungen oder die Ableitung einer fusionierten Lokalisierung in verschiedenen Ausführungsformen beinhalten. Falls stattdessen bestimmt wird, dass alle Lokalisierungsdaten alle relevanten Kriterien erfüllen, können einzelne Lokalisierungsbestimmungen unter Verwendung der Live-Wahrnehmungsdaten bestimmt werden 514. Falls mehr als zwei Lokalisierungsbestimmungen zur Verfügung stehen, kann eine fusionierte Lokalisierungsbestimmung zumindest teilweise auf der Grundlage der verfügbaren Lokalisierungsbestimmungen generiert werden 516, wobei diese fusionierte Lokalisierungsinformationen mit einem Verfahren wie dem in 4 beschriebenen auf Sicherheitskonformität analysiert werden können. Falls nur die abgeleitete Lokalisierungsbestimmung verfügbar ist, kann diese für die Pfadbestimmung verwendet werden, zumindest um dem Fahrzeug einen sicheren Betrieb zu ermöglichen oder sich an einen sicheren Ort zu bewegen, bis wieder zuverlässige Daten verfügbar sind.
  • Verschiedene hierin vorgestellte Ansätze sind ausreichend leichtgewichtig, dass sie auf verschiedenen Arten von Vorrichtungen oder Systemen wie intelligenten Fahrzeugen, Robotern, Servern, Personal Computern, intelligenten Fahrzeugen oder automatisierten Anlagen in Echtzeit ausgeführt werden können. Eine solche Verarbeitung kann unter Verwendung von Daten durchgeführt werden, die in der Vorrichtung oder dem System erfasst oder erzeugt werden oder von einer externen Quelle empfangen werden, wie z.B. Sensor- oder Kartendaten, die über mindestens ein Netzwerk empfangen werden. Bei der Quelle kann es sich um eine beliebige geeignete Quelle handeln, z.B. ein separates Client-Gerät, ein Geräteverwaltungssystem oder einen Drittanbieter von Daten, um nur einige Beispiele zu nennen. In einigen Fällen kann die Verarbeitung und/oder Nutzung dieser Daten durch eines dieser anderen Geräte, Systeme oder Unternehmen erfolgen und dann einem Fahrzeug (oder einem anderen Empfänger) zur Nutzung bereitgestellt werden.
  • Als ein Beispiel veranschaulicht 6 eine beispielhafte Netzwerkkonfiguration 600, die zum Bereitstellen, Erzeugen, Ändern, Kodieren und/oder Übertragen von Daten verwendet werden kann. In mindestens einer Ausführungsform kann ein Fahrzeug 602 oder eine andere automatisierte oder halbautomatisierte Vorrichtung oder solches System Daten unter Verwendung von Komponenten einer Zustandsüberwachungsanwendung 604 auf dem Fahrzeug 602 und lokal auf diesem Fahrzeug gespeicherten Daten erzeugen oder empfangen. In mindestens einer Ausführungsform kann eine Fahrzeugüberwachungsanwendung 624, die auf einem Daten- oder Inhaltsserver 620 (z.B. einem Cloud-Server oder Edge-Server) ausgeführt wird, eine Sitzung initiieren, die mindestens dem Fahrzeug 602 zugeordnet ist, wobei ein Sitzungsverwalter und in einer Fahrzeugdatenbank 634 gespeicherte Benutzerdaten verwendet werden können, und kann bewirken, dass Inhalte in Bezug auf Pfade, Lokalisierung oder Betrieb von einem Datenverwalter 626 bestimmt oder verwaltet werden. Ein Pfaderzeugungsmodul 628 kann versuchen, Daten aus verschiedenen Quellen zu verwenden, um dem Fahrzeug 602 Karten-, Pfad- oder Lokalisierungsdaten zur Verfügung zu stellen, wobei Informationen verwendet werden können, die unter anderem lokal in einer Kartendatenbank 632 gespeichert, von einem Drittanbieterdienst 660 oder von einem Satelliten 670 empfangen werden. Die Übereinstimmung dieser Daten mit einer oder mehreren Sicherheitsanforderungen kann mit einem Sicherheitsmodul 630 ermittelt werden. In zumindest einigen Ausführungsformen können diese Daten dazu bestimmt sein, zumindest redundant zu den am Fahrzeug 602 ermittelten Daten zu sein. Zumindest ein Teil dieser Daten kann mit Hilfe eines geeigneten Übertragungsverwalters 622 an das Fahrzeug 602 übertragen werden, um sie per Download, Streaming oder über einen anderen Übertragungskanal zu senden. Ein Kodierer kann verwendet werden, um diese Daten vor der Übertragung an das Fahrzeug 602 zu kodieren und/oder zu komprimieren. In mindestens einer Ausführungsform kann ein Fahrzeug 602, das diese Daten empfängt, diese Daten einem entsprechenden Zustandsmonitor 604 zur Verfügung stellen, der auch (oder alternativ) einen Pfadgenerator 608 und ein Sicherheitskonformitätsmodul 6104 enthalten kann, um Daten zu analysieren, die an das Fahrzeug 602 gesendet oder von diesem erfasst werden, und um geeignete Betriebsanweisungen oder -bestimmungen zu generieren oder auszuwählen, die einem Steuersystem 606 für das Fahrzeug zur Verfügung gestellt werden, die das Fahrzeug veranlassen können, entlang eines bestimmten Pfades zu navigieren. Ein Dekodierer kann darüber hinaus verwendet werden, um über das/die Netzwerk(e) 640 empfangene Daten geeignet zu dekodieren. In mindestens einer Ausführungsform können zumindest einige dieser Daten (z.B. Kartendaten oder historische Wahrnehmungsdaten) bereits auf dem Fahrzeug 602 gespeichert, erzeugt oder für dieses zugänglich sein, so dass die Übertragung über das Netzwerk 640 zumindest für diesen Teil der Daten nicht erforderlich ist, z.B. wenn diese Daten zuvor heruntergeladen oder lokal auf einer Festplatte oder optischen Platte gespeichert wurden. In mindestens einer Ausführungsform kann ein Übertragungsmechanismus wie Datenstreaming verwendet werden, um diese Daten vom Server 620 zu übertragen. In mindestens einer Ausführungsform kann mindestens ein Teil dieser Daten von einer anderen Quelle bezogen, bestimmt oder gestreamt werden, z.B. von einem separaten Client-Gerät 650 oder einem Drittanbieterdienst 660, der auch Funktionalität zur Durchführung relevanter Bestimmungen enthalten kann. In mindestens einer Ausführungsform können Teile dieser Funktionalität unter Verwendung mehrerer Rechenvorrichtungen oder mehrerer Prozessoren in einer oder mehreren Rechenvorrichtungen, wie z.B. einer Kombination aus CPUs und GPUs, durchgeführt werden.
  • In diesem Beispiel können Vorrichtungen beliebige geeignete Vorrichtungen mit Rechen- oder Erfassungsfähigkeiten beinhalten, wie beispielsweise ein Fahrzeug, einen Roboter, ein automatisiertes System, einen Desktop-Computer, einen Notebook-Computer, eine Set-Top-Box, ein Streaming-Gerät, eine Spielekonsole, ein Smartphone, einen Tablet-Computer, ein intelligentes Fahrzeug, eine robotergestützte Maschine, ein VR-Headset, eine AR-Brille, einen tragbaren Computer oder ein intelligentes Fernsehgerät. Jede Vorrichtung kann in der Lage sein, Anforderungen über mindestens ein kabelgebundenes oder drahtloses Netzwerk, wie z.B. das Internet, ein Ethernet, ein lokales Netzwerk (LAN) oder ein Mobilfunknetzwerk, neben anderen solchen Optionen, zu senden und zu empfangen. In diesem Beispiel können diese Anforderungen an eine Adresse übermittelt oder von einer Adresse empfangen werden, die einem Cloud-Anbieter zugeordnet ist, der eine oder mehrere elektronische Ressourcen in einer Cloud-Anbieter-Umgebung, wie z.B. ein Rechenzentrum oder eine Serverfarm, betreiben oder kontrollieren kann. In mindestens einer Ausführungsform kann die Anforderung von mindestens einem Edge-Server empfangen oder verarbeitet werden, der an einem Netzwerkrand sitzt und außerhalb mindestens einer der Umgebung des Cloud-Anbieters zugeordneten Sicherheitsschicht ist. Auf diese Weise kann die Latenz verringert werden, indem die Client-Geräte mit Servern interagieren können, die sich in größerer Nähe befinden, während gleichzeitig die Sicherheit der Ressourcen in der Umgebung des Cloud-Anbieters verbessert wird.
  • In mindestens einer Ausführungsform kann ein solches System für Automatisierungsvorgänge verwendet werden. In anderen Ausführungsformen kann ein solches System für andere Zwecke verwendet werden, z.B. für die Bereitstellung von Bild- oder Video-Inhalten zum Testen oder Validieren von Anwendungen autonomer Maschinen oder für die Durchführung von Deep-Learning-Operationen. In mindestens einer Ausführungsform kann ein solches System mit einem Edge-Gerät implementiert werden oder eine oder mehrere virtuelle Maschinen (VMs) umfassen. In mindestens einer Ausführungsform kann ein solches System zumindest teilweise in einem Rechenzentrum oder zumindest teilweise unter Verwendung von Cloud-Computing-Ressourcen implementiert sein.
  • INFERENZIERUNGS- UND TRAININGSLOGIK
  • 7A veranschaulicht eine Inferenzierungs- und/oder Trainingslogik 715, die verwendet wird, um Inferenzierungs- und/oder Trainingsoperationen, die einer oder mehreren Ausführungsformen zugeordnet sind. Details zur Inferenzierungs- und/oder Trainingslogik 715 werden weiter unten in Verbindung mit 7A und/oder 7B bereitgestellt.
  • In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715, ohne darauf beschränkt zu sein, Code- und/oder Datenspeicher 701 zum Speichern von Vorwärts- und/oder Ausgabegewicht und/oder Eingangs-/ Ausgangsdaten und/oder anderen Parametern zum Konfigurieren von Neuronen oder Schichten eines neuronalen Netzwerks beinhalten, das zur Inferenzierung in Aspekten einer oder mehrerer Ausführungsformen trainiert und/oder verwendet wird. In zumindest einer Ausführungsform kann die Trainingslogik 715 Code und/oder Datenspeicher 701 beinhalten oder mit diesem gekoppelt sein, um Grafikcode oder andere Software zum Steuern des Timings und/oder der Reihenfolge zu speichern, in welcher Gewichts- und/oder andere Parameterinformationen zu laden sind, um Logik, einschließlich Ganzzahl- und/oder Gleitkommaeinheiten (kollektiv Arithmetik-Logik-Einheiten (ALUs)) zu konfigurieren. In zumindest einer Ausführungsform lädt Code, wie beispielsweise Grafikcode, Gewichts- oder andere Parameterinformationen in Prozessor-ALUs, basierend auf einer Architektur eines neuronalen Netzwerks, dem der Code entspricht. In zumindest einer Ausführungsform speichert der Code- und/oder Datenspeicher 701 Gewichtsparameter und/oder Ein-/Ausgabedaten jeder Schicht eines neuronalen Netzwerks, das in Verbindung mit einer oder mehreren Ausführungsformen während der Vorwärtspropagation von Ein-/Ausgabedaten und/oder Gewichtsparametern während des Trainings und/oder der Inferenzierung unter Verwendung von Aspekten einer oder mehrerer Ausführungsformen trainiert oder verwendet wurde. In zumindest einer Ausführungsform kann jeder Abschnitt des Code- und/oder Datenspeichers 701 in anderem On-Chip- oder Off-Chip-Datenspeicher, einschließlich des L1-, L2- oder L3-Caches oder Systemspeichers eines Prozessors, enthalten sein.
  • In mindestens einer Ausführungsform kann jeder beliebige Abschnitt des Code- und/oder Datenspeichers 701 intern oder extern zu einem oder mehreren Prozessoren oder anderen Hardware-Logikvorrichtungen oder Schaltungen sein. In zumindest einer Ausführungsform können Code und/oder der Code und/oder Datenspeicher 701 Cache-Speicher, dynamisches RAM („DRAM“), statisches RAM („SRAM“), nichtflüchtiger Speicher (z.B. Flash-Speicher) oder anderer Speicher sein. In zumindest einer Ausführungsform kann die Wahl, ob Code und/oder der Code und/oder Datenspeicher 701 beispielsweise intern oder extern zu einem Prozessor ist oder aus DRAM, SRAM, Flash-Speicher oder einem anderen Speichertyp besteht, von auf dem Chip bzw. on-chip gegenüber nicht auf dem Chip bzw. off-chip verfügbarem Speicher, Latenzanforderungen der durchgeführten Trainings- und/oder Inferenzierungsfunktionen, der Stapelgröße der bei der Inferenzierung und/oder dem Training eines neuronalen Netzwerks verwendeten Daten oder einer Kombination dieser Faktoren abhängen
  • In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715, ohne darauf beschränkt zu sein, einen Code- und/oder Datenspeicher 705 beinhalten zum Speichern von Rückwärts- und/oder Ausgangsgewichten und/oder Eingangs-/Ausgangsdaten, die Neuronen oder Schichten eines neuronalen Netzwerks entsprechen, das zur Inferenzierung in Aspekten einer oder mehrerer Ausführungsformen trainiert und/oder verwendet wird. In zumindest einer Ausführungsform speichert der Code- und /oder Datenspeicher 705 Gewichtsparameter und/oder Eingangs-/Ausgangsdaten jeder Schicht eines neuronalen Netzwerks, die in Verbindung mit einer oder mehreren Ausführungsformen während einer Rückwärtspropagation von Eingangs-/Ausgangsdaten und/oder Gewichtsparametern während des Trainings und/oder der Inferenzierung unter Verwendung von Aspekten einer oder mehrerer Ausführungsformen trainiert oder verwendet werden. In mindestens einer Ausführungsform kann die Trainingslogik 715 den Code und/oder Datenspeicher 705 beinhalten oder mit diesem gekoppelt sein, um Grafikcode oder andere Software zum Steuern des Timings und/oder der Reihenfolge zu speichern, in welchem bzw. welcher Gewichts- und/oder andere Parameterinformationen zum Konfigurieren von Logik einschließlich Ganzzahl- und/oder Gleitkommaeinheiten (kollektiv Arithmetik-Logik-Einheiten (ALUs)) zu laden sind. In mindestens einer Ausführungsform lädt Code, wie beispielsweise Grafikcode, basierend auf einer Architektur eines neuronalen Netzwerks, dem der Code entspricht, das Laden von Gewichts- oder anderer Parameterinformationen in Prozessor-ALUs. In mindestens einer Ausführungsform kann jeder beliebige Abschnitt des Code- und/oder Datenspeichers 705 in anderem On-Chip- oder Off-Chip-Datenspeicher, einschließlich des L1-, L2- oder L3-Cache oder Systemspeichers eines Prozessors, enthalten sein. In mindestens einer Ausführungsform kann jeder beliebige Abschnitt des Code- und/oder Datenspeichers 705 intern oder extern zu einem oder mehreren Prozessoren oder anderen Hardware-Logikvorrichtungen oder Schaltungen sein. In zumindest einer Ausführungsform kann der Code- und/oder Datenspeicher 705 Cache-Speicher, DRAM, SRAM, nichtflüchtiger Speicher (z.B. Flash-Speicher) oder anderer Speicher sein. In mindestens einer Ausführungsform kann die Wahl, ob der Code- und/oder Datenspeicher 705 beispielsweise intern oder extern zu einem Prozessor ist oder aus DRAM, SRAM, Flash-Speicher oder einem anderen Speichertyp besteht, von On-Chip gegenüber Off-Chip verfügbarem Speicher, Latenzanforderungen an durchgeführten Trainings- und/oder Inferenzierungsfunktionen, der Stapelgröße der bei der Inferenzierung und/oder dem Training eines neuronalen Netzwerks verwendeten Daten oder einer Kombination dieser Faktoren abhängen.
  • In mindestens einer Ausführungsform können der Code und/oder Datenspeicher 701 und der Code und/oder Datenspeicher 705 separate Speicherstrukturen sein. In zumindest einer Ausführungsform können der Code und/oder Datenspeicher 701 und der Code und/oder Datenspeicher 705 eine gleiche Speicherstruktur sein. In zumindest einer Ausführungsform können der Code und/oder Datenspeicher 701 und der Code und/oder Datenspeicher 705 teilweise eine gleiche Speicherstruktur und teilweise separate Speicherstrukturen sein. In mindestens einer Ausführungsform kann jeder beliebige Abschnitt des Code- und/oder Datenspeichers 701 und des Code- und/oder Datenspeichers 705 mit anderen On-Chip- oder Off-Chip-Datenspeichern, einschließlich des L1-, L2- oder L3-Cache oder Systemspeichers eines Prozessors, kombiniert sein.
  • In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715, ohne darauf beschränkt zu sein, eine oder mehrere Arithmetik-Logik-Einheiten („ALU(s)“) 710, einschließlich Ganzzahl- und/oder Gleitkommaeinheiten, beinhalten, um logische und/oder mathematische Operationen durchzuführen, die zumindest teilweise auf Trainings- und/oder Inferenzierungscode (beispielsweise Grafikcode) basieren oder durch diesen angezeigt werden, deren Ergebnis Aktivierungen (z.B. Ausgangswerte von Schichten oder Neuronen innerhalb eines neuronalen Netzwerks), die in einem Aktivierungsspeicher 720 gespeichert sind, erzeugen kann, die Funktionen von Eingangs-/Ausgangs- und/oder Gewichtsparameterdaten sind, die in dem Code und/oder Datenspeicher 701 und/oder dem Code und/oder Datenspeicher 705 gespeichert sind. In zumindest einer Ausführungsform werden in dem Aktivierungsspeicher 720 gespeicherte Aktivierungen in Übereinstimmung mit linearer algebraischer und/oder matrixbasierter Mathematik erzeugt, die von den ALU(s) 710 im Ansprechen auf das Ausführen von Anweisungen oder anderem Code durchgeführt wird, wobei Gewichtswerte, die in dem Code und/oder Datenspeicher 701 und/oder dem Code- und/oder Datenspeicher 705 gespeichert sind, als Operanden zusammen mit anderen Werten, wie beispielsweise Bias-Werten, Gradienteninformationen, Impulswerten oder anderen Parametern oder Hyperparametern, verwendet werden, von welchen beliebige oder alle in dem Code und/oder Datenspeicher 705 oder dem Code und/oder Datenspeicher 701 oder einem anderen Speicher auf oder außerhalb des Chips gespeichert sein können.
  • In mindestens einer Ausführungsform sind die ALU(s) 710 in einem oder mehreren Prozessoren oder anderen Hardware-Logikgeräten oder -Schaltungen enthalten, während in einer anderen Ausführungsform die ALU(s) 710 extern zu einem Prozessor oder einem anderen Hardware-Logikgerät oder einer Schaltung sein können, die sie verwenden (z.B. ein Co-Prozessor). In mindestens einer Ausführungsform können die ALUs 710 in den Ausführungseinheiten eines Prozessors oder anderweitig in einer Bank von ALUs enthalten sein, auf die die Ausführungseinheiten eines Prozessors zugreifen können, entweder innerhalb desselben Prozessors oder verteilt auf verschiedene Prozessoren unterschiedlichen Typs (z.B. zentrale Verarbeitungseinheiten, Grafikverarbeitungseinheiten, Festfunktionseinheiten usw.). In mindestens einer Ausführungsform können der Code- und/oder Datenspeicher 701, der Code- und/oder Datenspeicher 705 und der Aktivierungsspeicher 720 auf einem gleichen Prozessor oder auf einer anderen Hardware-Logikvorrichtung oder -schaltung liegen, während sie sich in einer anderen Ausführungsform auf verschiedenen Prozessoren oder anderen Hardware-Logikvorrichtungen oder -schaltungen oder in einer Kombination aus gleichen und verschiedenen Prozessoren oder anderen Hardware-Logikvorrichtungen oder -schaltungen befinden können. In mindestens einer Ausführungsform kann ein beliebiger Teil des Aktivierungsspeichers 720 in anderen On-Chip- oder Off-Chip-Datenspeichern enthalten sein, einschließlich des L1-, L2- oder L3-Cache oder Systemspeichers eines Prozessors. Ferner kann der Inferenzierungs- und/oder Trainingscode zusammen mit anderem Code gespeichert sein, auf den ein Prozessor oder eine andere Hardware-Logik oder -Schaltung zugreifen kann und der unter Verwendung der Abruf-, Decodier-, Planungs-, Ausführungs-, Ausscheidungs- und/oder anderen logischen Schaltungen eines Prozessors abgerufen und/oder verarbeitet wird.
  • In mindestens einer Ausführungsform kann der Aktivierungsspeicher 720 ein Cache-Speicher, DRAM, SRAM, nichtflüchtiger Speicher (z.B. Flash-Speicher) oder ein anderer Speicher sein. In mindestens einer Ausführungsform kann sich der Aktivierungsspeicher 720 vollständig oder teilweise innerhalb oder außerhalb eines oder mehrerer Prozessoren oder anderer logischer Schaltungen befinden. In mindestens einer Ausführungsform kann die Wahl, ob der Aktivierungsspeicher 720 z.B. innerhalb oder außerhalb eines Prozessors liegt oder DRAM, SRAM, Flash-Speicher oder einen anderen Speichertyp umfasst, von dem verfügbaren Speicher auf dem Chip im Vergleich zu außerhalb des Chips, den Latenzanforderungen der durchgeführten Trainings- und/oder Inferenzfunktionen, der Stapelgröße der bei der Inferenzierung und/oder dem Training eines neuronalen Netzwerks verwendeten Daten oder einer Kombination dieser Faktoren abhängen. In mindestens einer Ausführungsform kann die in 7A dargestellte Inferenzierungs- und/oder Trainingslogik 715 in Verbindung mit einem anwendungsspezifischen integrierten Schaltkreis („ASIC“) verwendet werden, wie z.B. einer TensorFlow® Processing Unit von Google, einer Inferenzverarbeitungseinheit (IPU) von Graphcore™ oder einem Nervana® (z.B. „Lake Crest“) Prozessor von Intel Corp. In mindestens einer Ausführungsform kann die in 7A dargestellte Inferenzierungs- und/oder Trainingslogik 715 in Verbindung mit Hardware der Zentralverarbeitungseinheit („CPU“), der Grafikverarbeitungseinheit („GPU“) oder anderer Hardware, wie z.B. Field Programmable Gate Arrays („FPGAs“), verwendet werden.
  • 7B veranschaulicht die Inferenzierungs- und/oder Trainingslogik 715, gemäß mindestens einer Ausführungsform oder mehreren Ausführungsformen. In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715, ohne darauf beschränkt zu sein, Hardware-Logik umfassen, in der Rechenressourcen dediziert oder anderweitig ausschließlich in Verbindung mit Gewichtswerten oder anderen Informationen verwendet werden, die einer oder mehreren Schichten von Neuronen innerhalb eines neuronalen Netzwerks entsprechen. In mindestens einer Ausführungsform kann die in 7B dargestellte Inferenzierungs- und/oder Trainingslogik 715 in Verbindung mit einer anwendungsspezifischen integrierten Schaltung (ASIC) verwendet werden, wie z.B. der TensorFlow® Processing Unit von Google, einer Inferenzierungsverarbeitungseinheit (IPU) von Graphcore™ oder einem Nervana® (z.B. „Lake Crest“)-Prozessor von Intel Corp. In mindestens einer Ausführungsform kann die in 7B veranschaulichte Inferenzierungs- und/oder Trainingslogik 715 in Verbindung mit Hardware der Zentralverarbeitungseinheit (CPU), der Grafikverarbeitungseinheit (GPU) oder anderer Hardware, wie z.B. FPGAs (Field Programmable Gate Arrays), verwendet werden. In mindestens einer Ausführungsform umfasst die Inferenzierungs- und/oder Trainingslogik 715, ohne darauf beschränkt zu sein, den Code- und/oder Datenspeicher 701 und den Code- und/oder Datenspeicher 705, die zum Speichern von Code (z.B. Graphencode), Gewichtswerten und/oder anderen Informationen, einschließlich Bias-Werten, Gradienteninformationen, Impulswerten und/oder anderen Parameter- oder Hyperparameterinformationen, verwendet werden können. In mindestens einer Ausführungsform, die in 7B dargestellt ist, ist jeder Code- und/oder Datenspeicher 701 und jeder Code- und/oder Datenspeicher 705 mit einer dedizierten Rechenressource verbunden, wie z.B. Rechenhardware 702 bzw. Rechenhardware 706. In mindestens einer Ausführungsform umfasst jede der Rechenhardware 702 und der Rechenhardware 706 eine oder mehrere ALUs, die mathematische Funktionen, wie lineare algebraische Funktionen, nur auf Informationen ausführen, die im Code- und/oder Datenspeicher 701 bzw. im Code- und/oder Datenspeicher 705 gespeichert sind, deren Ergebnis im Aktivierungsspeicher 720 gespeichert wird.
  • In mindestens einer Ausführungsform entspricht jeder der Code- und/oder Datenspeicher 701 und 705 und die entsprechende Rechenhardware 702 bzw. 706 verschiedenen Schichten eines neuronalen Netzwerks, so dass eine resultierende Aktivierung von einem Speicher-/Rechenpaar 701/702 aus Code- und/oder Datenspeicher 701 und Rechenhardware 702 als Eingabe für ein „Speicher-/Rechenpaar 705/706“ aus Code- und/oder Datenspeicher 705 und Rechenhardware 706 bereitgestellt wird, um eine konzeptionelle Organisation eines neuronalen Netzwerks zu spiegeln. In mindestens einer Ausführungsform kann jedes der Speicher-/Rechenpaare 701/702 und 705/706 mehr als einer neuronalen Netzwerkschicht entsprechen. In mindestens einer Ausführungsform können zusätzliche Speicher-/Rechenpaare (nicht dargestellt) im Anschluss an oder parallel zu den Speicher-/Rechenpaaren 701/702 und 705/706 in die Inferenzierungs- und/oder Trainingslogik 715 einbezogen sein.
  • RECHENZENTRUM
  • 8 veranschaulicht ein beispielhaftes Rechenzentrum 800, in welchem mindestens eine Ausführungsform verwendet werden kann. In mindestens einer Ausführungsform beinhaltet das Rechenzentrum 800 eine Rechenzentrum-Infrastrukturschicht 810, eine Frameworkschicht 820, eine Softwareschicht 830 und eine Anwendungsschicht 840.
  • In mindestens einer Ausführungsform, wie in 8 gezeigt, kann die Rechenzentrum-Infrastrukturschicht 810 einen Ressourcenorchestrator 812, gruppierte Rechenressourcen 814 und Knoten-Rechenressourcen („Knoten-C.R.s“) 816(1)-816(N) beinhalten, wobei „N“ eine beliebige ganze, positive Ganzzahl repräsentiert. In mindestens einer Ausführungsform können die Knoten-C.R.s 816(1)-816(N), ohne darauf beschränkt zu sein, eine beliebige Anzahl von Zentralverarbeitungseinheiten („CPUs“) oder anderen Prozessoren (einschließlich Beschleunigern, feldprogrammierbaren Gate-Arrays („FPGAs“), Grafikprozessoren usw.), Speichervorrichtungen (z.B. dynamischer Festspeicher), Speichergeräte (z.B. Solid-State- oder Festplattenlaufwerke), Netzwerk-Eingabe-/Ausgabe-Geräte („NW E/A“), Netzwerk-Switches, virtuelle Maschinen („VMs“), Leistungsmodule und Kühlmodule usw. beinhalten. In mindestens einer Ausführungsform können ein oder mehrere Knoten-C.R.s unter den Knoten-C.R.s 816(1)-816(N) ein Server mit einer oder mehreren der vorstehend erwähnten Rechenressourcen sein.
  • In mindestens einer Ausführungsform können die gruppierten Rechenressourcen 814 separate Gruppierungen von Knoten-C.R.s beinhalten, die in einem oder mehreren Racks (nicht dargestellt) untergebracht sind, oder in vielen Racks, die in Rechenzentren an verschiedenen geografischen Standorten untergebracht sind (ebenfalls nicht dargestellt). Separate Gruppierungen von Knoten-C.R.s können innerhalb der gruppierten Rechenressourcen 814 gruppierte Rechen-, Netzwerk-, Speicher- oder Speicherressourcen beinhalten, die zur Unterstützung einer oder mehrerer Arbeitslasten konfiguriert oder zugewiesen werden können. In mindestens einer Ausführungsform können mehrere Knoten-C.R.s mit CPUs oder Prozessoren in einem oder mehreren Racks gruppiert sein, um Rechenressourcen zur Unterstützung einer oder mehrerer Arbeitslasten bereitzustellen. In mindestens einer Ausführungsform können ein oder mehrere Racks auch eine beliebige Anzahl von Leistungs- bzw. Stromversorgungsmodulen, Kühlmodulen und Netzwerk-Switches in beliebiger Kombination beinhalten.
  • In mindestens einer Ausführungsform kann der Ressourcenorchestrator 812 einen oder mehrere Knoten-CRs 816(1)-816(N) und/oder gruppierte Rechenressourcen 814 konfigurieren oder anderweitig steuern. In mindestens einer Ausführungsform kann der Ressourcenorchestrator 812 eine Software-Design-Infrastruktur („SDI“)-Verwaltungseinheit für das Rechenzentrum 800 beinhalten. In mindestens einer Ausführungsform kann der Ressourcenorchestrator Hardware, Software oder eine Kombination davon umfassen.
  • In mindestens einer Ausführungsform, wie in 8 gezeigt, beinhaltet die Frameworkschicht 820 einen Job-Planer bzw. Auftragsplaner 822, einen Konfigurationsverwalter 824, einen Ressourcenverwalter 826 und ein verteiltes Dateisystem 828. In mindestens einer Ausführungsform kann die Frameworkschicht 820 ein Framework zur Unterstützung der Software 832 der Softwareschicht 830 und/oder einer oder mehrerer Anwendung(en) 842 der Anwendungsschicht 840 beinhalten. In mindestens einer Ausführungsform können die Software 832 oder die Anwendung(en) 842 jeweils webbasierte Dienstsoftware oder Anwendungen beinhalten, wie sie beispielsweise von Amazon Web Services, Google Cloud und Microsoft Azure bereitgestellt werden. In mindestens einer Ausführungsform kann die Frameworkschicht 820 eine Art von freiem und quelloffenem Software-Webanwendungs-Framework wie Apache Spark™ (nachstehend „Spark“) sein, das ein verteiltes Dateisystem 828 für die Verarbeitung großer Datenmengen (z.B. „Big Data“) verwenden kann, ist aber nicht darauf beschränkt. In mindestens einer Ausführungsform kann der Auftragsplaner 822 einen Spark-Treiber enthalten, um die Planung von Arbeitslasten zu erleichtern, die von verschiedenen Schichten des Rechenzentrums 800 unterstützt werden. In mindestens einer Ausführungsform kann der Konfigurationsverwalter 824 in der Lage sein, verschiedene Schichten zu konfigurieren, wie beispielsweise die Softwareschicht 830 und die Frameworkschicht 820, einschließlich Spark und das verteilte Dateisystem 828 zur Unterstützung der Verarbeitung großer Datenmengen. In mindestens einer Ausführungsform kann der Ressourcenverwalter 826 in der Lage sein, geclusterte oder gruppierte Rechenressourcen zu verwalten, die zur Unterstützung des verteilten Dateisystems 828 und des Auftragsplaners 822 gemappt oder zugeordnet sind. In mindestens einer Ausführungsform können geclusterte oder gruppierte Rechenressourcen die gruppierten Rechenressourcen 814 auf der Rechenzentrums-Infrastrukturschicht 810 umfassen. In mindestens einer Ausführungsform kann sich der Ressourcenverwalter 826 mit dem Ressourcenorchestrator 812 koordinieren, um diese gemappten oder zugeordneten Rechenressourcen zu verwalten.
  • In mindestens einer Ausführungsform kann die in der Softwareschicht 830 enthaltene Software 832 Software enthalten, die von mindestens Teilen der Knoten C.R.s 816(1)-816(N), der gruppierten Rechenressourcen 814 und/oder des verteilten Dateisystems 828 der Frameworkschicht 820 verwendet wird. Die eine oder die mehreren Arten von Software können unter anderem Internet-Suchsoftware, E-Mail-Virenscan-Software, Datenbanksoftware und Software für Streaming-Videoinhalte umfassen.
  • In mindestens einer Ausführungsform kann (können) die in der Anwendungsschicht 840 enthaltene(n) Anwendung(en) 842 eine oder mehrere Arten von Anwendungen umfassen, die von mindestens Teilen der Knoten C.R.s 816(1)-816(N), den gruppierten Rechenressourcen 814 und/oder dem verteilten Dateisystem 828 der Frameworkschicht 820 verwendet werden. Eine oder mehrere Arten von Anwendungen können eine beliebige Anzahl von Genomanwendungen, eine kognitives Rechnen und eine maschinelle Lernanwendung, einschließlich Trainings- oder Inferenzsoftware, maschinelle Lernsoftware (z.B. PyTorch, TensorFlow, Caffe usw.) oder andere maschinelle Lernanwendungen, die in Verbindung mit einer oder mehreren Ausführungsformen verwendet werden, umfassen, sind aber nicht darauf beschränkt.
  • In mindestens einer Ausführungsform können der Konfigurationsverwalter 824, der Ressourcenverwalter 826 und der Ressourcenorchestrator 812 eine beliebige Anzahl und Art von selbstmodifizierenden Aktionen implementieren, die auf einer beliebigen Menge und Art von Daten basieren, die auf jede technisch mögliche Weise erfasst werden. In mindestens einer Ausführungsform können selbstmodifizierende Aktionen einen Rechenzentrumsbetreiber des Rechenzentrums 800 davon entlasten, möglicherweise schlechte Konfigurationsentscheidungen zu treffen und möglicherweise nicht ausgelastete und/oder schlecht funktionierende Teile eines Rechenzentrums vermeiden.
  • In mindestens einer Ausführungsform kann das Rechenzentrum 800 Werkzeuge, Dienste, Software oder andere Ressourcen enthalten, um ein oder mehrere Modelle maschinellen Lernens zu trainieren oder Informationen unter Verwendung eines oder mehrerer Modelle maschinellen Lernens gemäß einer oder mehrerer hier beschriebener Ausführungsformen vorherzusagen oder abzuleiten. Zum Beispiel kann in mindestens einer Ausführungsform ein Modell maschinellen Lernens trainiert werden, indem Gewichtsparameter gemäß einer neuronalen Netzwerkarchitektur unter Verwendung von Software und Rechenressourcen berechnet werden, die oben in Bezug auf das Datenzentrum 800 beschrieben wurden. In mindestens einer Ausführungsform können trainierte Modelle maschinellen Lernens, die einem oder mehreren neuronalen Netzwerken entsprechen, verwendet werden, um unter Verwendung der oben beschriebenen Ressourcen in Bezug auf das Datenzentrum 800 Informationen abzuleiten oder vorherzusagen, indem Gewichtungsparameter verwendet werden, die durch ein oder mehrere hierin beschriebene Trainingsverfahren berechnet werden.
  • In mindestens einer Ausführungsform kann das Rechenzentrum CPUs, anwendungsspezifische integrierte Schaltkreise (ASICs), GPUs, FPGAs oder andere Hardware verwenden, um das Training und/oder die Inferenzierung mit den oben beschriebenen Ressourcen durchzuführen. Darüber hinaus können eine oder mehrere der oben beschriebenen Software- und/oder Hardwareressourcen als Dienst konfiguriert sein, um Benutzern das Training oder die Inferenzierung von Informationen zu ermöglichen, wie z.B. Bilderkennung, Spracherkennung oder andere Dienste der künstlichen Intelligenz.
  • Die Inferenzierungs- und/oder Trainingslogik 715 wird verwendet, um Inferenzierungs- und/oder Trainingsoperationen durchzuführen, die einer oder mehreren Ausführungsformen zugeordnet sind. Einzelheiten zur Inferenzierungs- und/oder Trainingslogik 715 werden nachstehend in Verbindung mit 7A und/oder 7B beschrieben. In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715 in dem System von 8 für Inferenzierungs- oder Vorhersageoperationen verwendet werden, die zumindest teilweise auf Gewichtsparametern basieren, die unter Verwendung von Trainingsoperationen für neuronale Netzwerke, Funktionen und/oder Architekturen neuronaler Netzwerke oder hierin beschriebenen Anwendungsfällen neuronaler Netzwerke berechnet werden.
  • Solche Komponenten können verwendet werden, um konstituierende Bilder unter Verwendung von Parametern, die aus einem oder mehreren Qualitätsbewertungswerten ermittelt wurden, zu einer einzigen Darstellung zusammenzusetzen.
  • COMPUTERSYSTEME
  • 9 ist ein Blockdiagramm, das ein beispielhaftes Computersystem veranschaulicht, das ein System mit miteinander verbundenen Geräten und Komponenten, ein System auf einem Chip bzw. System-on-a-Chip (SOC) oder eine Kombination davon 900 sein kann, das mit einem Prozessor gebildet ist, der Ausführungseinheiten zur Ausführung einer Anweisung enthalten kann, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann das Computersystem 900, ohne darauf beschränkt zu sein, eine Komponente, wie beispielsweise einen Prozessor 902, umfassen, um Ausführungseinheiten einschließlich Logik zur Ausführung von Algorithmen zur Verarbeitung von Daten zu verwenden, gemäß der Erfindung, wie in der hier beschriebenen Ausführungsform. In mindestens einer Ausführungsform kann das Computersystem 900 Prozessoren enthalten, wie z.B. die PEN-TIUM®-Prozessorfamilie, XeonTM, Itanium®, XScaleTM und/oder StrongARMTM, Intel® Core™ oder Intel® Nervana™-Mikroprozessoren, die von der Intel Corporation in Santa Clara, Kalifornien, erhältlich sind, obwohl auch andere Systeme (einschließlich PCs mit anderen Mikroprozessoren, technische Workstations, Set-Top-Boxen und dergleichen) verwendet werden können. In mindestens einer Ausführungsform kann das Computersystem 900 eine Version des Betriebssystems WINDOWS ausführen, das von der Microsoft Corporation in Redmond, Washington, erhältlich ist, obwohl auch andere Betriebssysteme (z.B. UNIX und Linux), eingebettete Software und/oder grafische Benutzeroberflächen verwendet werden können.
  • Ausführungsformen können auch in anderen Geräten wie Handheld-Geräten und eingebetteten Anwendungen verwendet werden. Einige Beispiele für Handheld-Geräte sind Mobiltelefone, Internetprotokollgeräte, Digitalkameras, persönliche digitale Assistenten („PDAs“) und Handheld-PCs. In mindestens einer Ausführungsform können eingebettete Anwendungen einen Mikrocontroller, einen digitalen Signalprozessor („DSP“), ein System auf einem Chip, Netzwerkcomputer („NetPCs“), Set-Top-Boxen, Netzwerk-Hubs, Wide-Area-Network-Switches („WAN“) oder jedes andere System umfassen, das eine oder mehrere Anweisungen gemäß mindestens einer Ausführungsform ausführen kann.
  • In mindestens einer Ausführungsform kann das Computersystem 900, ohne darauf beschränkt zu sein, einen Prozessor 902 enthalten, der, ohne darauf beschränkt zu sein, eine oder mehrere Ausführungseinheiten 908 enthalten kann, um ein Training und/oder eine Inferenzierung eines Modells maschinellen Lernens gemäß hierin beschriebenen Techniken durchzuführen. In mindestens einer Ausführungsform ist das Computersystem 900 ein Einzelprozessor-Desktop- oder -Serversystem, aber in einer anderen Ausführungsform kann das Computersystem 900 ein Multiprozessorsystem sein. In mindestens einer Ausführungsform kann der Prozessor 902, ohne darauf beschränkt zu sein, einen Mikroprozessor mit komplexem Befehlssatz („CISC“), einen Mikroprozessor mit reduziertem Befehlssatz („RISC“), einen Mikroprozessor mit sehr langem Befehlswort („VLIW“), einen Prozessor, der eine Kombination von Befehlssätzen implementiert, oder eine beliebige andere Prozessorvorrichtung, wie z.B. einen digitalen Signalprozessor, umfassen. In mindestens einer Ausführungsform kann der Prozessor 902 mit einem Prozessorbus 910 verbunden sein, der Datensignale zwischen dem Prozessor 902 und anderen Komponenten in dem Computersystem 900 übertragen kann.
  • In mindestens einer Ausführungsform kann der Prozessor 902, ohne darauf beschränkt zu sein, einen internen Cachespeicher der Ebene 1 („L1") („Cache“) 904 enthalten. In mindestens einer Ausführungsform kann der Prozessor 902 einen einzigen internen Cache oder mehrere Ebenen von internem Cache aufweisen. In mindestens einer Ausführungsform kann sich der Cachespeicher außerhalb des Prozessors 902 befinden. Andere Ausführungsformen können auch eine Kombination aus sowohl internen als auch externen Caches enthalten, je nach spezieller Implementierung und Bedürfnissen. In mindestens einer Ausführungsform kann eine Registerdatei 906 verschiedene Datentypen in verschiedenen Registern speichern, darunter, ohne darauf beschränkt zu sein, Ganzzahlregister, Gleitkommaregister, Statusregister und ein Befehlszeigerregister.
  • In mindestens einer Ausführungsform befindet sich die Ausführungseinheit 908, einschließlich, ohne darauf beschränkt zu sein, Logik zur Durchführung von Ganzzahl- und Gleitkommaoperationen, ebenfalls in dem Prozessor 902. In mindestens einer Ausführungsform kann der Prozessor 902 auch einen Nur-Lese-Speicher („ROM“) für Mikrocode („ucode“) enthalten, der Mikrocode für bestimmte Makrobefehle speichert. In mindestens einer Ausführungsform kann die Ausführungseinheit 908 eine Logik zur Verarbeitung eines gepackten Befehlssatzes 909 enthalten. In mindestens einer Ausführungsform können durch Aufnahme des gepackten Befehlssatzes 909 in den Befehlssatz eines Universalprozessors 902 zusammen mit der zugehörigen Schaltung zur Ausführung von Befehlen Operationen, die von vielen Multimedia-Anwendungen verwendet werden, unter Verwendung gepackter Daten in einem Universalprozessor 902 durchgeführt werden. In einer oder mehreren Ausführungsformen können viele Multimedia-Anwendungen beschleunigt und effizienter ausgeführt werden, indem die volle Breite des Datenbusses eines Prozessors für die Ausführung von Operationen mit gepackten Daten genutzt wird, wodurch die Notwendigkeit entfällt, kleinere Dateneinheiten über den Datenbus dieses Prozessors zu übertragen, um eine oder mehrere Operationen mit einem Datenelement nach dem anderen durchzuführen.
  • In mindestens einer Ausführungsform kann die Ausführungseinheit 908 auch in Mikrocontrollern, eingebetteten Prozessoren, Grafikgeräten, DSPs und anderen Arten von Logikschaltungen verwendet werden. In mindestens einer Ausführungsform kann das Computersystem 900, ohne darauf beschränkt zu sein, einen Speicher 920 enthalten. In mindestens einer Ausführungsform kann der Speicher 920 als ein dynamischer Direktzugriffsspeicher („DRAM“), ein statischer Direktzugriffsspeicher („SRAM“), ein Flash-Speicher oder eine andere Speichervorrichtung implementiert sein. In mindestens einer Ausführungsform kann der Speicher 920 eine oder mehrere Anweisung(en) 919 und/oder Daten 921 speichern, die durch Datensignale repräsentiert werden, die von dem Prozessor 902 ausgeführt werden können.
  • In mindestens einer Ausführungsform kann ein Systemlogik-Chip mit dem Prozessorbus 910 und dem Speicher 920 gekoppelt sein. In mindestens einer Ausführungsform kann ein Systemlogik-Chip, ohne darauf beschränkt zu sein, einen Speichercontroller-Hub („MCH“, Memory Controller Hub) 916 enthalten, und kann der Prozessor 902 mit dem MCH 916 über den Prozessorbus 910 kommunizieren. In mindestens einer Ausführungsform kann der MCH 916 einen Speicherpfad 918 mit hoher Bandbreite zu dem Speicher 920 für die Befehls- und Datenspeicherung und für die Speicherung von Grafikbefehlen, Daten und Texturen bereitstellen. In mindestens einer Ausführungsform kann der MCH 916 Datensignale zwischen dem Prozessor 902, dem Speicher 920 und anderen Komponenten in dem Computersystem 900 leiten und Datensignale zwischen dem Prozessorbus 910, dem Speicher 920 und einer System-E/A-Schnittstelle 922 überbrücken. In mindestens einer Ausführungsform kann ein Systemlogikchip einen Grafikport zur Kopplung mit einem Grafikcontroller bereitstellen. In mindestens einer Ausführungsform kann der MCH 916 über einen Speicherpfad 918 mit hoher Bandbreite mit dem Speicher 920 gekoppelt sein, und kann eine Grafik-/Videokarte 912 über eine Accelerated Graphics Port („AGP“)-Verbindung 914 mit dem MCH 916 gekoppelt sein.
  • In mindestens einer Ausführungsform kann das Computersystem 900 eine System-E/A-Schnittstelle 922 verwenden, bei dem es sich um einen proprietären Hub-Schnittstellenbus handelt, um den MCH 916 mit einem E/A-Controller-Hub („ICH“) 930 zu verbinden. In mindestens einer Ausführungsform kann der ICH 930 direkte Verbindungen zu einigen E/A-Geräten über einen lokalen E/A-Bus bereitstellen. In mindestens einer Ausführungsform kann der lokale E/A-Bus, ohne darauf beschränkt zu sein, einen Hochgeschwindigkeits-E/A-Bus zur Verbindung von Peripheriegeräten mit dem Speicher 920, einem Chipsatz und dem Prozessor 902 umfassen. Beispiele können, ohne darauf beschränkt zu sein, einen Audiocontroller 929, einen Firmware-Hub („Flash-BIOS“) 928, einen drahtlosen Transceiver 926, einen Datenspeicher 924, einen Legacy-E/A-Controller 923 mit Benutzereingabe- und Tastaturschnittstellen, einen seriellen Erweiterungsport 927, wie beispielsweise einen Universal Serial Bus („USB“)-Port, und einen Netzwerkcontroller 934 umfassen. In mindestens einer Ausführungsform kann der Datenspeicher 924 aus einem Festplattenlaufwerk, einem Diskettenlaufwerk, einem CD-ROM-Gerät, einem Flash-Speichergerät oder einem anderen Massenspeichergerät bestehen.
  • In mindestens einer Ausführungsform zeigt 9 ein System, das miteinander verbundene Hardwarevorrichtungen oder „Chips“ enthält, während in anderen Ausführungsformen 9 ein beispielhaftes System auf einem Chip („SoC“) veranschaulichen kann. In mindestens einer Ausführungsform können die in 9 dargestellten Vorrichtungen mit proprietären Interconnects bzw. Zwischenverbindungen, standardisierten Interconnects (z.B. PCle) oder einer Kombination davon verbunden sein. In mindestens einer Ausführungsform sind eine oder mehrere Komponenten des Computersystems 900 über Compute-Express-Verbindung (CXL)-Verbindungen miteinander verbunden.
  • Die Inferenzierungs- und/oder Trainingslogik 715 wird verwendet, um Inferenzierungs- und/oder Trainingsoperationen in Verbindung mit einer oder mehreren Ausführungsformen durchzuführen. Einzelheiten zur Inferenzierungs- und/oder Trainingslogik 715 sind hierin in Verbindung mit 7A und/oder 7B bereitgestellt. In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715 im System von 9 für Inferenzierungs- oder Vorhersageoperationen verwendet werden, die zumindest teilweise auf Gewichtsparametern basieren, die unter Verwendung von Trainingsoperationen für neuronale Netzwerke, Funktionen und/oder Architekturen neuronaler Netzwerke oder hierin beschriebenen Anwendungsfällen neuronaler Netzwerke berechnet werden.
  • Solche Komponenten können verwendet werden, um konstituierende Bilder unter Verwendung von Parametern, die aus einem oder mehreren Qualitätsbewertungswerten ermittelt wurden, zu einer einzigen Darstellung zusammenzusetzen.
  • 10 ist ein Blockdiagramm, das ein elektronisches Gerät 1000 zur Nutzung eines Prozessors 1010 veranschaulicht, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann das elektronische Gerät 1000 beispielsweise, und ohne darauf beschränkt zu sein, ein Notebook, ein Tower-Server, ein Rack-Server, ein Blade-Server, ein Laptop, ein Desktop, ein Tablet, ein mobiles Gerät, ein Telefon, ein eingebetteter Computer oder ein beliebiges anderes geeignetes elektronisches Gerät sein.
  • In mindestens einer Ausführungsform kann das elektronische Gerät 1000, ohne darauf beschränkt zu sein, einen Prozessor 1010 enthalten, der mit einer beliebigen Anzahl oder Art von Komponenten, Peripheriegeräten, Modulen oder Geräten kommunikativ verbunden ist. In mindestens einer Ausführungsform ist der Prozessor 1010 über einen Bus oder eine Schnittstelle gekoppelt, wie z.B. einen 1°C-Bus, einen Systemverwaltungsbus („SMBus“), einen Low-Pin-Count-Bus (LPC), eine serielle Peripherieschnittstelle („SPI“), einen High-Definition-Audio-Bus („HDA“), einen Serial-Advance-Technology-Attachment-Bus („SATA“), einen Universal-Serial-Bus („USB“) (Versionen 1, 2, 3, usw.) oder einen Universal Asynchronous Receiver/Transmitter-Bus („UART“). In mindestens einer Ausführungsform veranschaulicht 10 ein System, das miteinander verbundene Hardwarevorrichtungen oder „Chips“ enthält, während in anderen Ausführungsformen 10 ein beispielhaftes System auf einem Chip („SoC“) veranschaulichen kann. In mindestens einer Ausführungsform können die in 10 dargestellten Vorrichtungen mit proprietären Interconnects, standardisierten Interconnects (z.B. PCle) oder einer Kombination davon verbunden sein. In mindestens einer Ausführungsform sind eine oder mehrere Komponenten von 10 über Compute-Express-Verbindung (CXL)-Verbindungen miteinander verbunden.
  • In mindestens einer Ausführungsform kann 10 eine Anzeige 1024, einen berührungsempfindlichen Bildschirm bzw. Touchscreen 1025, eine berührungsempfindliche Sensorfläche bzw. ein Touchpad 1030, eine Nahfeldkommunikations- bzw. Near Field Communications-Einheit („NFC“) 1045, einen Sensor-Hub 1040, einen Wärmesensor 1046, einen Express-Chipsatz („EC“) 1035, ein Trusted Platform Module („TPM“) 1038, BIOS/Firmware/Flash-Speicher („BIOS, FW Flash“) 1022, einen DSP 1060, ein Laufwerk („SSD oder HDD“) 1020 wie beispielsweise eine Solid State Disk („SSD“) oder eine Festplatte („HDD“), eine Wireless Local Area Network-Einheit („WLAN“) 1050, eine Bluetooth-Einheit 1052, eine Wireless Wide Area Network-Einheit („WWAN“) 1056, ein Global Positioning System (GPS) 1055, eine Kamera („USB 3.0-Kamera“) 1054, wie z.B. eine USB 3.0-Kamera, und/oder eine Low Power Double Data Rate („LPDDR“)-Speichereinheit („LPDDR3“) 1015, die z.B. in einem LPDDR3-Standard implementiert ist, beinhalten. Diese Komponenten können jeweils in jeder geeigneten Weise implementiert sein.
  • In mindestens einer Ausführungsform können andere Komponenten über die hierin beschriebenen Komponenten kommunikativ mit dem Prozessor 1010 verbunden sein. In mindestens einer Ausführungsform können ein Beschleunigungsmesser 1041, ein Umgebungslichtsensor („ALS“; Ambient Light Sensor) 1042, ein Kompass 1043 und ein Gyroskop 1044 kommunikativ mit dem Sensor-Hub 1040 verbunden sein. In mindestens einer Ausführungsform können ein Wärmesensor 1039, ein Lüfter 1037, eine Tastatur 1046 und ein Touchpad 1030 kommunikativ mit dem EC 1035 gekoppelt sein. In mindestens einer Ausführungsform können Lautsprecher 1063, ein Kopfhörer 1064 und ein Mikrofon („mic“) 1065 kommunikativ mit einer Audioeinheit („audio codec and dass d amp“, Audio-Codierer/Decodierer und Klasse D-Verstärker) 1064 gekoppelt sein, die ihrerseits kommunikativ mit dem DSP 1060 gekoppelt sein kann. In mindestens einer Ausführungsform kann die Audioeinheit 1064 beispielsweise, und ohne darauf beschränkt zu sein, einen Audio-Codierer/Decodierer („Codec“) und einen Verstärker der Klasse D umfassen. In mindestens einer Ausführungsform kann eine SIM-Karte („SIM“) 1057 kommunikativ mit der WWAN-Einheit 1056 gekoppelt sein. In mindestens einer Ausführungsform können Komponenten wie die WLAN-Einheit 1050 und die Bluetooth-Einheit 1052 sowie die WWAN-Einheit 1056 in einem Next Generation Form Factor („NGFF“) implementiert sein.
  • Die Inferenzierungs- und/oder Trainingslogik 715 wird verwendet, um Inferenzierungs- und/oder Trainingsoperationen in Verbindung mit einer oder mehreren Ausführungsformen durchzuführen. Einzelheiten zur Inferenzierungs- und/oder Trainingslogik 715 sind hierin in Verbindung mit 7A und/oder 7B beschrieben. In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715 im System von 10 für Inferenzierungs- oder Vorhersageoperationen verwendet werden, die zumindest teilweise auf Gewichtsparametern basieren, die unter Verwendung von Trainingsoperationen für neuronale Netzwerke, Funktionen und/oder Architekturen neuronaler Netzwerke oder hierin beschriebenen Anwendungsfällen neuronaler Netzwerke berechnet werden.
  • Solche Komponenten können verwendet werden, um konstituierende Bilder unter Verwendung von Parametern, die aus einem oder mehreren Qualitätsbewertungswerten ermittelt wurden, zu einer einzigen Darstellung zusammenzusetzen.
  • 11 ist ein Blockdiagramm eines Verarbeitungssystems gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform enthält das System 1100 einen oder mehrere Prozessoren 1102 und einen oder mehrere Grafikprozessoren 1108 und kann ein Einzelprozessor-Desktop-System, ein Multiprozessor-Workstation-System oder ein Server-System mit einer großen Anzahl von Prozessoren 1102 oder Prozessorkernen 1107 sein. In mindestens einer Ausführungsform ist das System 1100 eine Verarbeitungsplattform, die in einen integrierten System-on-a-Chip (SoC)-Schaltkreis zur Verwendung in mobilen, tragbaren oder eingebetteten Geräten integriert ist.
  • In mindestens einer Ausführungsform kann das System 1100 eine serverbasierte Spielplattform, eine Spielkonsole, einschließlich einer Spiel- und Medienkonsole, eine mobile Spielkonsole, eine Handheld-Spielkonsole oder eine Online-Spielkonsole umfassen oder darin integriert sein. In mindestens einer Ausführungsform ist das System 1100 ein Mobiltelefon, ein Smartphone, ein Tablet-Computergerät oder ein mobiles Internetgerät. In mindestens einer Ausführungsform kann das Verarbeitungssystem 1100 auch ein Wearable-Gerät umfassen, mit diesem gekoppelt oder in dieses integriert sein, wie z.B. ein Wearable-Gerät für eine intelligente Uhr, eine intelligente Brille, ein Augmented-Reality-Gerät oder ein Virtual-Reality-Gerät. In mindestens einer Ausführungsform ist das Verarbeitungssystem 1100 ein Fernseh- oder Set-Top-Box-Gerät mit einem oder mehreren Prozessoren 1102 und einer grafischen Oberfläche, die von einem oder mehreren Grafikprozessoren 1108 erzeugt wird.
  • In mindestens einer Ausführungsform enthalten ein oder mehrere Prozessoren 1102 jeweils einen oder mehrere Prozessorkerne 1107 zur Verarbeitung von Befehlen, die bei ihrer Ausführung Operationen für System- und Anwendersoftware ausführen. In mindestens einer Ausführungsform ist jeder von einem oder mehreren Prozessorkernen 1107 so konfiguriert, dass er eine bestimmte Befehlssequenz 1109 verarbeitet. In mindestens einer Ausführungsform kann die Befehlssequenz 1109 Complex Instruction Set Computing (CISC), Reduced Instruction Set Computing (RISC) oder die Verarbeitung über ein Very Long Instruction Word (VLIW) ermöglichen. In mindestens einer Ausführungsform können die Prozessorkerne 1107 jeweils eine andere Befehlssequenz 1109 verarbeiten, die Befehle enthalten kann, um die Emulation anderer Befehlssequenzen zu erleichtern. In mindestens einer Ausführungsform kann der Prozessorkern 1107 auch andere Verarbeitungsgeräte enthalten, z.B. einen digitalen Signalprozessor (DSP).
  • In mindestens einer Ausführungsform enthält der Prozessor 1102 einen Cache-Speicher 1104. In mindestens einer Ausführungsform kann der Prozessor 1102 einen einzigen internen Cache-Speicher oder mehrere Ebenen von internen Cache-Speichern haben. In mindestens einer Ausführungsform wird der Cache-Speicher von verschiedenen Komponenten des Prozessors 1102 gemeinsam genutzt. In mindestens einer Ausführungsform verwendet der Prozessor 1102 auch einen externen Cache (z.B. einen Level-3 (L3) Cache oder Last Level Cache (LLC)) (nicht dargestellt), der von den Prozessorkernen 1107 unter Verwendung bekannter Cache-Kohärenztechniken gemeinsam genutzt werden kann. In mindestens einer Ausführungsform ist zusätzlich eine Registerdatei 1106 in dem Prozessor 1102 enthalten, die verschiedene Arten von Registern zum Speichern unterschiedlicher Datentypen enthalten kann (z.B. Ganzzahlregister, Gleitkommaregister, Statusregister und ein Befehlszeigerregister). In mindestens einer Ausführungsform kann die Registerdatei 1106 Universalregister oder andere Register enthalten.
  • In mindestens einer Ausführungsform sind ein oder mehrere Prozessor(en) 1102 mit einem oder mehreren Schnittstellenbus(en) 1110 gekoppelt, um Kommunikationssig-nale wie Adress-, Daten- oder Steuersignale zwischen dem Prozessor 1102 und anderen Komponenten im System 1100 zu übertragen. In mindestens einer Ausführungsform kann der Schnittstellenbus 1110 ein Prozessorbus sein, wie z.B. eine Version eines Direct Media Interface (DMI)-Busses. In mindestens einer Ausführungsform ist der Schnittstellenbus 1110 nicht auf einen DMI-Bus beschränkt und kann einen oder mehrere Peripheral Component Interconnect-Busse (z.B. PCI, PCI Express), Speicherbusse oder andere Arten von Schnittstellenbussen umfassen. In mindestens einer Ausführungsform umfassen der/die Prozessor(en) 1102 einen integrierten Speicher-Controller 1116 und einen Plattform-Controller-Hub 1130. In mindestens einer Ausführungsform ermöglicht der Speicher-Controller 1116 die Kommunikation zwischen einer Speichervorrichtung und anderen Komponenten des Systems 1100, während der Plattform-Controller-Hub (PCH) 1130 Verbindungen zu E/A-Geräten über einen lokalen E/A-Bus bereitstellt.
  • In mindestens einer Ausführungsform kann eine Speichervorrichtung 1120 ein dynamischer Direktzugriffsspeicher (DRAM), ein statischer Direktzugriffsspeicher (SRAM), ein Flash-Speicher, ein Phasenwechsel-Speicher oder eine andere Speichervorrichtung mit geeigneter Leistung sein, um als Prozessspeicher zu dienen. In mindestens einer Ausführungsform kann die Speichervorrichtung 1120 als Systemspeicher für das System 1100 arbeiten, um Daten 1122 und Anweisungen 1121 zur Verwendung zu speichern, wenn ein oder mehrere Prozessoren 1102 eine Anwendung oder einen Prozess ausführen. In mindestens einer Ausführungsform koppelt der Speichercontroller 1116 auch mit einem optionalen externen Grafikprozessor 1112, der mit einem oder mehreren Grafikprozessoren 1108 in den Prozessoren 1102 kommunizieren kann, um Grafik- und Medienoperationen durchzuführen. In mindestens einer Ausführungsform kann eine Anzeigevorrichtung 1111 mit Prozessor(en) 1102 verbunden sein. In mindestens einer Ausführungsform kann die Anzeigevorrichtung 1111 eine oder mehrere interne Anzeigevorrichtungen, wie in einem mobilen elektronischen Gerät oder einem Laptop, oder eine externe Anzeigevorrichtung, die über eine Anzeigeschnittstelle (z.B. DisplayPort usw.) verbunden ist, umfassen. In mindestens einer Ausführungsform kann die Anzeigevorrichtung 1111 eine kopfmontiertes Anzeige (HMD, Head Mounted Display) umfassen, wie z.B. ein stereoskopisches Anzeigegerät zur Verwendung in Virtual-Reality (VR)-Anwendungen oder Augmented-Reality (AR)-Anwendungen.
  • In mindestens einer Ausführungsform ermöglicht der Plattform-Controller-Hub 1130 die Verbindung von Peripheriegeräten mit der Speichervorrichtung 1120 und dem Prozessor 1102 über einen Hochgeschwindigkeits-E/A-Bus. In mindestens einer Ausführungsform umfassen die E/A-Peripheriegeräte unter anderem einen Audio-controller 1146, einen Netzwerkcontroller 1134, eine Firmware-Schnittstelle 1128, einen drahtlosen Transceiver 1126, Berührungssensoren 1125 und eine Datenspeichervorrichtung 1124 (z.B. ein Festplattenlaufwerk, einen Flash-Speicher usw.). In mindestens einer Ausführungsform kann die Datenspeichervorrichtung 1124 über eine Speicherschnittstelle (z.B. SATA) oder über einen Peripheriebus, wie z.B. einen Peripheral Component Interconnect Bus (z.B. PCI, PCI Express), verbunden sein. In mindestens einer Ausführungsform können die Berührungssensoren 1125 Touchscreen-Sensoren, Drucksensoren oder Fingerabdrucksensoren umfassen. In mindestens einer Ausführungsform kann der drahtlose Transceiver 1126 ein Wi-Fi-Transceiver, ein Bluetooth-Transceiver oder ein Mobilfunk-Transceiver sein, wie z.B. ein 3G-, 4G- oder Long Term Evolution (LTE)-Transceiver. In mindestens einer Ausführungsform ermöglicht die Firmware-Schnittstelle 1128 die Kommunikation mit der System-Firmware und kann z.B. eine einheitliche erweiterbare Firmware-Schnittstelle (UEFI, Unified Extensible Firmware Interface) sein. In mindestens einer Ausführungsform kann der Netzwerk-Controller 1134 eine Netzwerkverbindung mit einem kabelgebundenen Netzwerk ermöglichen. In mindestens einer Ausführungsform koppelt ein Hochleistungs-Netzwerk-Controller (nicht dargestellt) mit dem Schnittstellenbus 1110. In mindestens einer Ausführungsform ist der Audio-Controller 1146 ein Mehrkanal-High-Definition-Audio-Controller. In mindestens einer Ausführungsform enthält das System 1100 einen optionalen Legacy-E/A-Controller 1140 zur Kopplung von Legacy-Geräten (z.B. Personal System 2 (PS/2)) mit dem System 1100. In mindestens einer Ausführungsform kann der Plattform-Controller-Hub 1130 auch mit einem oder mehreren Universal Serial Bus (USB)-Controllern 1142 verbunden werden, die Eingabegeräte, wie z.B. Tastatur- und Mauskombinationen 1143, eine Kamera 1144 oder andere USB-Eingabegeräte verbinden.
  • In mindestens einer Ausführungsform kann eine Instanz des Speicher-Controllers 1116 und des Plattform-Controller-Hubs 1130 in einen diskreten externen Grafikprozessor, wie den externen Grafikprozessor 1112, integriert sein. In mindestens einer Ausführungsform können Plattform-Controller-Hub 1130 und/oder Speicher-Controller 1116 extern zu einem oder mehreren Prozessor(en) 1102 sein. Zum Beispiel kann das System 1100 in mindestens einer Ausführungsform einen externen Speicher-Controller 1116 und einen Plattform-Controller-Hub 1130 enthalten, der als Speicher-Controller-Hub und Peripherie-Controller-Hub innerhalb eines System-Chipsatzes konfiguriert sein kann, der mit dem/den Prozessor(en) 1102 in Verbindung steht.
  • Die Inferenzierungs- und/oder Trainingslogik 715 wird verwendet, um Inferenzierungs- und/oder Trainingsoperationen durchzuführen, die einer oder mehreren Ausführungsformen zugeordnet sind. Einzelheiten zur Inferenzierungs- und/oder Trainingslogik 715 sind hierin in Verbindung mit 7A und/oder 7B beschrieben. In mindestens einer Ausführungsform können Teile oder die Gesamtheit der Inferenzierungs- und/oder Trainingslogik 715 in den Grafikprozessor 1500 integriert sein. Beispielsweise können in mindestens einer Ausführungsform die hierin beschriebenen Trainings- und/oder Inferenzierungstechniken eine oder mehrere ALUs verwenden, die in einem Grafikprozessor verkörpert sind. Darüber hinaus können in mindestens einer Ausführungsform die hierin beschriebenen Inferenzierungs- und/oder Trainingsoperationen unter Verwendung einer anderen Logik als der in 7A oder 7B dargestellten Logik durchgeführt werden. In mindestens einer Ausführungsform können Gewichtsparameter in einem On-Chip- oder Off-Chip-Speicher und/oder Registern (dargestellt oder nicht dargestellt) gespeichert werden, die ALUs eines Grafikprozessors konfigurieren, um einen oder mehrere hierin beschriebene maschinelle Lernalgorithmen, neuronale Netzwerkarchitekturen, Anwendungsfälle oder Trainingsverfahren durchzuführen.
  • Solche Komponenten können verwendet werden, um konstituierende Bilder unter Verwendung von Parametern, die aus einem oder mehreren Qualitätsbewertungswerten ermittelt wurden, zu einer einzigen Darstellung zusammenzusetzen.
  • 12 ist ein Blockdiagramm eines Prozessors 1200 mit einem oder mehreren Prozessorkernen 1202A-1202N, einem integrierten Speichercontroller 1214 und einem integrierten Grafikprozessor 1208, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann der Prozessor 1200 zusätzliche Kerne bis zu und einschließlich des zusätzlichen Kerns 1202N enthalten, der durch gestrichelte, linierte Kästen dargestellt ist. In mindestens einer Ausführungsform enthält jeder der Prozessorkerne 1202A-1202N eine oder mehrere interne Cache-Einheiten 1204A-1204N. In mindestens einer Ausführungsform hat jeder Prozessorkern auch Zugriff auf eine oder mehrere gemeinsam genutzte Cache-Einheiten 1206.
  • In mindestens einer Ausführungsform repräsentieren die internen Cache-Einheiten 1204A-1204N und die gemeinsam genutzten Cache-Einheiten 1206 eine Cache-Speicherhierarchie innerhalb des Prozessors 1200. In mindestens einer Ausführungsform können die Cache-Speichereinheiten 1204A-1204N mindestens eine Ebene von Befehls- und Daten-Cache innerhalb jedes Prozessorkerns und eine oder mehrere Ebenen von gemeinsam genutztem Mid-Level-Cache, wie z.B. eine Ebene 2 (L2), Ebene 3 (L3), Ebene 4 (L4) oder andere Cache-Ebenen, umfassen, wobei die höchste Cache-Ebene vor dem externen Speicher als LLC klassifiziert wird. In mindestens einer Ausführungsform hält die Cache-Kohärenzlogik die Kohärenz zwischen verschiedenen Cache-Einheiten 1206 und 1204A-1204N aufrecht.
  • In mindestens einer Ausführungsform kann der Prozessor 1200 auch einen Satz von einer oder mehreren Bus-Controller-Einheiten 1216 und einen Systemagentenkern 1210 enthalten. In mindestens einer Ausführungsform verwalten die Bus-Controller-Einheiten 1216 eine Reihe von Peripherie-Bussen, wie z.B. einen oder mehrere PCI- oder PCI-Express-Busse. In mindestens einer Ausführungsform stellt der Systemagentenkern 1210 Verwaltungsfunktionen für verschiedene Prozessorkomponenten bereit. In mindestens einer Ausführungsform enthält der Systemagentenkern 1210 einen oder mehrere integrierte Speicher-Controller 1214, um den Zugriff auf verschiedene externe Speichervorrichtungen (nicht dargestellt) zu verwalten.
  • In mindestens einer Ausführungsform umfassen einer oder mehrere der Prozessorkerne 1202A-1202N Unterstützung für gleichzeitiges Multithreading. In mindestens einer Ausführungsform umfasst der Systemagentenkern 1210 Komponenten zum Koordinieren und Betreiben der Kerne 1202A-1202N während der Multithreading-Verarbeitung. In mindestens einer Ausführungsform kann der Systemagentenkern 1210 zusätzlich eine Leistungssteuerungseinheit (PCU) enthalten, die Logik und Komponenten zur Regelung eines oder mehrerer Leistungszustände der Prozessorkerne 1202A-1202N und des Grafikprozessors 1208 umfasst.
  • In mindestens einer Ausführungsform enthält der Prozessor 1200 zusätzlich den Grafikprozessor 1208 zur Ausführung von Grafikverarbeitungsoperationen. In mindestens einer Ausführungsform koppelt der Grafikprozessor 1208 mit gemeinsam genutzten Cache-Einheiten 1206 und dem Systemagentenkern 1210, einschließlich eines oder mehrerer integrierter Speicher-Controller 1214. In mindestens einer Ausführungsform enthält der Systemagentenkern 1210 auch eine Anzeige-Steuereinrichtung 1211, um die Ausgabe des Grafikprozessors an ein oder mehrere gekoppelte Anzeigen zu steuern. In mindestens einer Ausführungsform kann die Anzeige-Steuereinrichtung 1211 auch ein separates Modul sein, das über mindestens eine Zwischenverbindung mit dem Grafikprozessor 1208 gekoppelt ist, oder er kann in den Grafikprozessor 1208 integriert sein.
  • In mindestens einer Ausführungsform wird eine ringbasierte Interconnect- bzw. Verbindungseinheit 1212 verwendet, um interne Komponenten des Prozessors 1200 zu verbinden. In mindestens einer Ausführungsform kann auch eine alternative Verbindungseinheit verwendet werden, wie z.B. eine Punkt-zu-Punkt-Verbindung, eine geschaltete Verbindung oder andere Techniken. In mindestens einer Ausführungsform ist der Grafikprozessor 1208 über eine E/A-Verbindung 1213 mit der Ringverbindung 1212 gekoppelt.
  • In mindestens einer Ausführungsform repräsentiert die E/A-Verbindung 1213 mindestens eine von mehreren Arten von E/A-Verbindungen, einschließlich einer On-Package-E/A-Verbindung, die die Kommunikation zwischen verschiedenen Prozessorkomponenten und einem eingebetteten Hochleistungsspeichermodul 1218, wie z.B. einem eDRAM-Modul, ermöglicht. In mindestens einer Ausführungsform verwenden jeder der Prozessorkerne 1202A-1202N und der Grafikprozessor 1208 das eingebettete Speichermodul 1218 als gemeinsamen Last Level Cache.
  • In mindestens einer Ausführungsform sind die Prozessorkerne 1202A-1202N homogene Kerne, die eine gemeinsame Befehlssatzarchitektur ausführen. In mindestens einer Ausführungsform sind die Prozessorkerne 1202A-1202N in Bezug auf die Befehlssatzarchitektur (ISA, Instruction Set Architecture) heterogen, wobei einer oder mehrere der Prozessorkerne 1202A-1202N einen gemeinsamen Befehlssatz ausführen, während ein oder mehrere andere Kerne der Prozessorkerne 1202A-1202N eine Teilmenge eines gemeinsamen Befehlssatzes oder einen anderen Befehlssatz ausführen. In mindestens einer Ausführungsform sind die Prozessorkerne 1202A-1202N in Bezug auf die Mikroarchitektur heterogen, wobei ein oder mehrere Kerne mit einer relativ höheren Leistungsaufnahme mit einem oder mehreren Kernen mit einer niedrigeren Leistungsaufnahme gekoppelt sind. In mindestens einer Ausführungsform kann der Prozessor 1200 auf einem oder mehreren Chips oder als integrierte SoC-Schaltung implementiert sein.
  • Die Inferenzierungs- und/oder Trainingslogik 715 wird verwendet, um Inferenzierungs- und/oder Trainingsoperationen durchzuführen, die einer oder mehreren Ausführungsformen zugeordnet sind. Einzelheiten zur Inferenzierungs- und/oder Trainingslogik 715 sind hierin in Verbindung mit 7A und/oder 7B beschrieben. In mindestens einer Ausführungsform können Teile oder die Gesamtheit der Inferenzierungs- und/oder Trainingslogik 715 in den Prozessor 1200 integriert sein. Zum Beispiel können in mindestens einer Ausführungsform die hierin beschriebenen Trainings- und/oder Inferenzierungstechniken eine oder mehrere ALUs verwenden, die dem Grafikprozessor 1512, den Grafikkerne(n) 1202A-1202N oder in anderen Komponenten in 12 enthalten sind. Darüber hinaus können in mindestens einer Ausführungsform die hierin beschriebenen Inferenzierungs- und/oder Trainingsoperationen unter Verwendung einer anderen Logik als der in 7A oder 7B dargestellten Logik durchgeführt werden. In mindestens einer Ausführungsform können Gewichtsparameter in einem On-Chip- oder Off-Chip-Speicher und/oder Registern (dargestellt oder nicht dargestellt) gespeichert werden, die ALUs des Grafikprozessors 1200 konfigurieren, um einen oder mehrere hierin beschriebene Algorithmen maschinellen Lernens, neuronale Netzwerkarchitekturen, Anwendungsfälle oder Trainingstechniken durchzuführen.
  • Solche Komponenten können verwendet werden, um konstituierende Bilder unter Verwendung von Parametern, die aus einem oder mehreren Qualitätsbewertungswerten ermittelt wurden, zu einer einzigen Darstellung zusammenzusetzen.
  • VIRTUALISIERTE RECHENPLATTFORM
  • 13 ist ein beispielhaftes Datenflussdiagramm für einen Prozess 1300 zur Erzeugung und Bereitstellung einer Bildverarbeitungs- und Inferenzierungs-Pipeline, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann der Prozess 1300 zur Verwendung mit Bildverarbeitungsgeräten, Verarbeitungsgeräten und/oder anderen Gerätetypen in einer oder mehreren Einrichtungen 1302 eingesetzt werden. Der Prozess 1300 kann in einem Trainingssystem 1304 und/oder einem Einsatzsystem 1306 ausgeführt werden. In mindestens einer Ausführungsform kann das Trainingssystem 1304 verwendet werden, um das Training, den Einsatz und die Implementierung von Modellen des maschinellen Lernens (z.B. neuronale Netzwerke, Objekterkennungsalgorithmen, Computer-Vision-Algorithmen usw.) zur Verwendung in dem Einsatzsystem 1306 durchzuführen. In mindestens einer Ausführungsform kann das Einsatzsystem 1306 so konfiguriert sein, dass es Verarbeitungs- und Rechenressourcen auf eine verteilte Computerumgebung verlagert, um die Infrastrukturanforderungen in der Einrichtung 1302 zu reduzieren. In mindestens einer Ausführungsform können eine oder mehrere Anwendungen in einer Pipeline Dienste (z.B. Inferenzierung, Visualisierung, Rechenleistung, KI usw.) des Einsatzsystems 1306 während der Ausführung von Anwendungen nutzen oder aufrufen.
  • In mindestens einer Ausführungsform können einige der Anwendungen, die in erweiterten Verarbeitungs- und Inferenzierungs-Pipelines verwendet werden, Modelle maschinellen Lernens oder andere KI verwenden, um einen oder mehrere Verarbeitungsschritte durchzuführen. In mindestens einer Ausführungsform können Modelle maschinellen Lernens in der Einrichtung 1302 unter Verwendung von Daten 1308 (z.B. Bildgebungsdaten) trainiert werden, die in der Einrichtung 1302 erzeugt wurden (und auf einem oder mehreren PACS (Picture Archiving and Communication System)-Servern in der Einrichtung 1302 gespeichert sind), und können sie unter Verwendung von Bildgebungs- oder Sequenzierungsdaten 1308 aus einer oder mehreren anderen Einrichtung(en) oder einer Kombination davon trainiert werden. In mindestens einer Ausführungsform kann das Trainingssystem 1304 verwendet werden, um Anwendungen, Dienste und/oder andere Ressourcen zur Erzeugung funktionierender, einsatzfähiger Modelle maschinellen Lernens für das Einsatzsystem 1306 bereitzustellen.
  • In mindestens einer Ausführungsform kann eine Modellregistrierung 1324 durch einen Objektspeicher unterstützt werden, der Versionierung und Objektmetadaten unterstützen kann. In mindestens einer Ausführungsform kann auf den Objektspeicher z.B. über eine kompatible Anwendungsprogrammierschnittstelle (API) innerhalb einer Cloud-Plattform zugegriffen werden (z.B. eine Cloud 1426 in 14). In mindestens einer Ausführungsform können Modelle maschinellen Lernens innerhalb der Modellregistrierung 1324 von Entwicklern oder Partnern eines Systems, das mit einer API interagiert, hochgeladen, aufgelistet, geändert oder gelöscht werden. In mindestens einer Ausführungsform kann eine API Zugriff auf Verfahren bieten, die es Benutzern mit entsprechenden Anmeldeinformationen ermöglichen, Modelle mit Anwendungen zu verknüpfen, sodass Modelle als Teil der Ausführung von containerisierten Instanziierungen von Anwendungen ausgeführt werden können.
  • In mindestens einer Ausführungsform kann eine Trainings-Pipeline 1404 (14) ein Szenario umfassen, in dem die Einrichtung 1302 ihr eigenes Modell maschinellen Lernens trainiert oder ein bestehendes Modell maschinellen Lernens hat, das optimiert oder aktualisiert werden muss. In mindestens einer Ausführungsform können Bildgebungsdaten 1308, die von Bildgebungsvorrichtungen, Sequenzierungsvorrichtungen und/oder anderen Vorrichtungsarten erzeugt wurden, empfangen werden. In mindestens einer Ausführungsform kann nach dem Empfang von Bildgebungsdaten 1308 eine KI-gestützte Annotation 1310 verwendet werden, um bei der Erzeugung von Annotationen zu helfen, die den Bildgebungsdaten 1308 entsprechen, die als Grundwahrheitsdaten für ein Modell maschinellen Lernens zu verwenden sind. In mindestens einer Ausführungsform kann die KI-gestützte Annotation 1310 ein oder mehrere Modelle maschinellen Lernens (z.B. faltende neuronale Netzwerke (CNNs)) enthalten, die trainiert werden können, um Annotationen zu erzeugen, die bestimmten Arten von Bilddaten 1308 (z.B. von bestimmten Geräten) und/oder bestimmten Arten von Anomalien in Bilddaten 1308 entsprechen. In mindestens einer Ausführungsform können die Kl-unterstützten Annotationen 1310 dann direkt verwendet oder mit einem Annotationswerkzeug angepasst oder feinabgestimmt werden, um Grundwahrheitsdaten zu erzeugen. In mindestens einer Ausführungsform können KI-gestützte Annotationen 1310, gelabelte Klinikdaten 1312 oder eine Kombination davon als Grundwahrheitsdaten für das Training eines Modells maschinellen Lernens verwendet werden. In mindestens einer Ausführungsform kann ein trainiertes Modell maschinellen Lernens als Ausgabemodell 1316 bezeichnet werden und von dem Einsatzsystem 1306, wie hierin beschrieben, verwendet werden.
  • In mindestens einer Ausführungsform kann die Trainings-Pipeline 3804 (38) ein Szenario umfassen, in dem die Einrichtung 1302 ein Modell maschinellen Lernens zur Verwendung bei der Durchführung einer oder mehrerer Verarbeitungsaufgaben für eine oder mehrere Anwendungen in dem Einsatzsystem 1306 benötigt, die Einrichtung 1302 aber möglicherweise derzeit nicht über ein solches Modell maschinellen Lernens verfügt (oder nicht über ein Modell, das für diese Zwecke optimiert, effizient oder effektiv ist). In mindestens einer Ausführungsform kann ein vorhandenes Modell maschinellen Lernens aus der Modellregistrierung 1324 ausgewählt werden. In mindestens einer Ausführungsform kann die Modellregistrierung 1324 Modelle für maschinelles Lernen enthalten, die für die Durchführung einer Vielzahl von verschiedenen Inferenzierungs- bzw. Inferenzierungsaufgaben auf Bilddaten trainiert wurden. In mindestens einer Ausführungsform können die Modelle maschinellen Lernens in der Modellregistrierung 1324 auf Bildgebungsdaten von anderen Einrichtungen als der Einrichtung 1302 (z.B. Einrichtungen an einem anderen Standort) trainiert worden sein. In mindestens einer Ausführungsform können die Modelle maschinellen Lernens auf Bildgebungsdaten von einem Standort, zwei Standorten oder einer beliebigen Anzahl von Standorten trainiert worden sein. In mindestens einer Ausführungsform kann das Training, wenn es auf Bildgebungsdaten von einem bestimmten Standort trainiert wird, an diesem Standort stattfinden oder zumindest in einer Weise, die die Vertraulichkeit der Bildgebungsdaten schützt oder die Übertragung von Bildgebungsdaten außerhalb des Standorts beschränkt. In mindestens einer Ausführungsform kann ein Modell für maschinelles Lernen, sobald es an einem Ort trainiert - oder teilweise trainiert - wurde, zur Modellregistrierung 1324 hinzugefügt werden. In mindestens einer Ausführungsform kann ein Modell maschinellen Lernens dann an einer beliebigen Anzahl von anderen Einrichtungen neu trainiert oder aktualisiert werden, und kann ein neu trainiertes oder aktualisiertes Modell in der Modellregistrierung 1324 verfügbar gemacht werden. In mindestens einer Ausführungsform kann dann ein Modell maschinellen Lernens aus der Modellregistrierung 1324 ausgewählt - und als Ausgabemodell 1316 bezeichnet - und im Einsatzsystem 1306 verwendet werden, um eine oder mehrere Verarbeitungsaufgaben für eine oder mehrere Anwendungen eines Einsatzsystems durchzuführen.
  • In mindestens einer Ausführungsform kann die Trainings-Pipeline 1404 (14) in einem Szenario verwendet werden, in dem die Einrichtung 1302 ein Modell maschinellen Lernens zur Verwendung bei der Durchführung einer oder mehrerer Verarbeitungsaufgaben für eine oder mehrere Anwendungen im Einsatzsystem 1306 benötigt, aber die Einrichtung 1302 möglicherweise derzeit nicht über ein solches Modell maschinellen Lernens verfügt (oder möglicherweise nicht über ein Modell verfügt, das für solche Zwecke optimiert, effizient oder effektiv ist). In mindestens einer Ausführungsform könnte ein aus dem Modellregister 1324 ausgewähltes Modell maschinellen Lernens aufgrund von Unterschieden in den Populationen, genetischen Variationen, der Robustheit der zum Trainieren eines Modells maschinellen Lernens verwendeten Trainingsdaten, der Vielfalt der Anomalien der Trainingsdaten und/oder anderer Probleme mit den Trainingsdaten nicht für die in der Einrichtung 1302 erzeugten Bildgebungsdaten 1308 feinabgestimmt oder optimiert sein. In mindestens einer Ausführungsform kann die KI-gestützte Annotation 1310 verwendet werden, um bei der Erzeugung von Annotationen zu helfen, die den Bildgebungsdaten 1308 entsprechen und als Grundwahrheitsdaten für das Neutrainieren oder Aktualisieren eines Modells maschinellen Lernens verwendet werden. In mindestens einer Ausführungsform können gelabelte Daten 1312 als Grundwahrheitsdaten für das Training eines Modells maschinellen Lernens verwendet werden. In mindestens einer Ausführungsform kann das Neutrainieren oder Aktualisieren eines Modells maschinellen Lernens als Modelltraining 1314 bezeichnet werden. In mindestens einer Ausführungsform kann das Modelltraining 1314 - z.B. KI-unterstützte Annotationen 1310, gelabelte Klinikdaten 1312 oder eine Kombination davon - als Grundwahrheitsdaten für das Neutrainieren oder Aktualisieren eines Modells maschinellen Lernens verwendet werden. In mindestens einer Ausführungsform kann ein trainiertes Modell maschinellen Lernens als Ausgabemodell 1316 bezeichnet und vom Einsatzsystem 1306, wie hierin beschrieben, verwendet werden.
  • In mindestens einer Ausführungsform kann das Einsatzsystem 1306 Software 1318, Dienste 1320, Hardware 1322 und/oder andere Komponenten, Merkmale und Funktionen enthalten. In mindestens einer Ausführungsform kann das Einsatzsystem 1306 einen Software-„Stack“ enthalten, so dass die Software 1318 auf den Diensten 1320 aufgebaut sein kann und die Dienste 1320 zur Ausführung einiger oder aller Verarbeitungsaufgaben verwenden kann, und die Dienste 1320 und die Software 1318 auf der Hardware 1322 aufgebaut sein können und die Hardware 1322 zur Ausführung von Verarbeitungs-, Speicher- und/oder anderen Rechenaufgaben des Einsatzsystems 1306 verwenden. In mindestens einer Ausführungsform kann die Software 1318 eine beliebige Anzahl von verschiedenen Containern enthalten, wobei jeder Container eine Instanziierung einer Anwendung ausführen kann. In mindestens einer Ausführungsform kann jede Anwendung eine oder mehrere Verarbeitungsaufgaben in einer erweiterten Verarbeitungs- und Inferenzierungs-Pipeline durchführen (z.B. Inferenzierung, Objekterkennung, Merkmalserkennung, Segmentierung, Bildverbesserung, Kalibrierung usw.). In mindestens einer Ausführungsform kann eine erweiterte Verarbeitungs- und Inferenzierungs-Pipeline auf der Grundlage der Auswahl verschiedener Container definiert werden, die für die Verarbeitung von Bilddaten 1308 erwünscht oder erforderlich sind, zusätzlich zu Containern, die Bilddaten zur Verwendung durch jeden Container und/oder zur Verwendung durch die Einrichtung 1302 nach der Verarbeitung durch eine Pipeline empfangen und konfigurieren (z.B. zur Rückkonvertierung von Ausgaben in einen verwendbaren Datentyp. In mindestens einer Ausführungsform kann eine Kombination von Containern innerhalb der Software 1318 (die z.B. eine Pipeline bilden) als virtuelles Instrument bezeichnet sein (wie hierin ausführlicher beschrieben), und kann ein virtuelles Instrument Dienste 1320 und Hardware 1322 nutzen, um einige oder alle Verarbeitungsaufgaben von in Containern instanziierten Anwendungen auszuführen.
  • In mindestens einer Ausführungsform kann eine Datenverarbeitungs-Pipeline Eingangsdaten (z.B. Bildgebungsdaten 1308) in einem bestimmten Format als Reaktion auf eine Inferenzierungsanforderung (z.B. eine Anforderung von einem Benutzer des Einsatzsystems 1306 empfangen. In mindestens einer Ausführungsform können die Eingangsdaten ein oder mehrere Bilder, Videos und/oder andere Datendarstellungen repräsentieren, die von einer oder mehreren Bildgebungsvorrichtungen erzeugt werden. In mindestens einer Ausführungsform können die Daten als Teil der Datenverarbeitungs-Pipeline einer Vorverarbeitung unterzogen werden, um die Daten für die Verarbeitung durch eine oder mehrere Anwendungen vorzubereiten. In mindestens einer Ausführungsform kann eine Nachverarbeitung an einer Ausgabe einer oder mehrerer Inferenzierungsaufgaben oder anderer Verarbeitungsaufgaben einer Pipeline durchgeführt werden, um Ausgabedaten für eine nächste Anwendung vorzubereiten und/oder um Ausgabedaten für die Übertragung und/oder Verwendung durch einen Benutzer vorzubereiten (z.B. als Antwort auf eine Inferenzierungsanforderung). In mindestens einer Ausführungsform können Inferenzierungsaufgaben von einem oder mehreren Modellen maschinellen Lernens durchgeführt werden, z.B. von trainierten oder eingesetzten neuronalen Netzwerken, die Ausgabemodelle 1316 des Trainingssystems 1304 enthalten können.
  • In mindestens einer Ausführungsform können Aufgaben der Datenverarbeitungs-Pipeline in einem oder mehreren Containern gekapselt werden, die jeweils eine diskrete, voll funktionsfähige Instanziierung einer Anwendung und einer virtualisierten Rechenumgebung repräsentieren, die in der Lage ist, Modelle für maschinelles Lernen zu referenzieren. In mindestens einer Ausführungsform können Container oder Anwendungen in einem privaten (z.B. zugangsbeschränkten) Bereich einer Container-Registrierung bzw. -Registry (hierin ausführlicher beschrieben) veröffentlicht werden, und können trainierte oder eingesetzte Modelle in einer Modell-Registrierung bzw. -Registry 1324 gespeichert und mit einer oder mehreren Anwendungen verknüpft werden. In mindestens einer Ausführungsform können Abbildungen bzw. Images von Anwendungen (z.B. Container-Images) in einer Container-Registry verfügbar sein und kann, sobald sie von einem Benutzer aus einer Container-Registry für den Einsatz in einer Pipeline ausgewählt wurden, ein Image verwendet werden, um einen Container für eine Instanziierung einer Anwendung zur Verwendung durch das System eines Benutzers zu erzeugen.
  • In mindestens einer Ausführungsform können Entwickler (z.B. Softwareentwickler, Kliniker, Ärzte usw.) Anwendungen (z.B. in Form von Containern) zur Durchführung von Bildverarbeitung und/oder Inferenzierung auf bereitgestellte Daten entwickeln, veröffentlichen und speichern. In mindestens einer Ausführungsform kann die Entwicklung, Veröffentlichung und/oder Speicherung unter Verwendung eines Softwareentwicklungskits (SDK, Software Development Kit) erfolgen, das mit einem System verbunden ist (z.B. um sicherzustellen, dass eine entwickelte Anwendung und/oder ein entwickelter Container mit einem System konform oder kompatibel ist). In mindestens einer Ausführungsform kann eine entwickelte Anwendung lokal (z.B. in einer ersten Einrichtung, auf Daten von einer ersten Einrichtung) mit einem SDK getestet werden, das mindestens einige der Dienste 1320 als System unterstützen kann (z.B. ein System 1400 von 14). In mindestens einer Ausführungsform kann ein Entwickler aufgrund der Tatsache, dass DICOM-Objekte zwischen einem und Hunderten von Bildern oder anderen Datentypen enthalten können, für die Verwaltung (z.B. das Festlegen von Konstrukten, den Einbau von Vorverarbeitungen in eine Anwendung usw.) der Extraktion und Aufbereitung der eingehenden DICOM-Daten verantwortlich sein. In mindestens einer Ausführungsform kann eine Anwendung, nachdem sie vom System 1400 validiert wurde (z.B. hinsichtlich Genauigkeit), in einem Container-Register zur Auswahl und/oder Implementierung durch einen Benutzer verfügbar sein, um eine oder mehrere Verarbeitungsaufgaben in Bezug auf Daten in einer Einrichtung (z.B. einer zweiten Einrichtung) eines Benutzers durchzuführen.
  • In mindestens einer Ausführungsform können Entwickler dann Anwendungen oder Container über ein Netzwerk für den Zugriff und die Verwendung durch Benutzer eines Systems (z.B. das System 1400 von 14) freigeben. In mindestens einer Ausführungsform können fertige und validierte Anwendungen oder Container in einer Container-Registry gespeichert werden, und können zugehörige Modelle maschinellen Lernens in der Modell-Registry 1324 gespeichert werden. In mindestens einer Ausführungsform kann eine anfragende Entität - die eine Inferenzierungs- oder Bildverarbeitungsanforderung bereitstellt - eine Container-Registry und/oder Modell-Registry 1324 nach einer Anwendung, einem Container, einem Datensatz, einem Modell maschinellen Lernens usw. durchsuchen, eine gewünschte Kombination von Elementen zur Aufnahme in die Datenverarbeitungs-Pipeline auswählen und eine Bildverarbeitungsanforderung senden. In mindestens einer Ausführungsform kann eine Anforderung Eingangsdaten (und in einigen Beispielen zugehörige Patientendaten) enthalten, die zur Durchführung einer Anforderung erforderlich sind, und/oder eine Auswahl von Anwendungen und/oder Modellen maschinellen Lernens enthalten, die bei der Verarbeitung einer Anforderung auszuführen sind. In mindestens einer Ausführungsform kann eine Anforderung dann an eine oder mehrere Komponenten des Einsatzsystems 1306 (z.B. eine Cloud) weitergeleitet werden, um die Verarbeitung der Datenverarbeitungs-Pipeline durchzuführen. In mindestens einer Ausführungsform kann die Verarbeitung durch das Einsatzsystem 1306 die Referenzierung ausgewählter Elemente (z.B. Anwendungen, Container, Modelle usw.) aus einer Container-Registry und/oder Modell-Registry 1324 umfassen. In mindestens einer Ausführungsform können die Ergebnisse, sobald sie von einer Pipeline erzeugt wurden, an einen Benutzer als Referenz zurückgegeben werden (z.B. zur Anzeige in einer Anzeigeanwendungssuite, die auf einer lokalen, lokalen Workstation oder einem Terminal ausgeführt wird).
  • In mindestens einer Ausführungsform können zur Unterstützung der Verarbeitung oder Ausführung von Anwendungen oder Containern in Pipelines Dienste 1320 genutzt werden. In mindestens einer Ausführungsform können die Dienste 1320 Rechendienste, Dienste für künstliche Intelligenz (Kl), Visualisierungsdienste und/oder andere Diensttypen umfassen. In mindestens einer Ausführungsform können Dienste 1320 Funktionalität bereitstellen, die einer oder mehreren Anwendungen in der Software 1318 gemeinsam ist, so dass die Funktionalität zu einem Dienst abstrahiert werden kann, der von Anwendungen aufgerufen oder genutzt werden kann. In mindestens einer Ausführungsform kann die von den Diensten 1320 bereitgestellte Funktionalität dynamisch und effizienter ablaufen, während sie auch gut skaliert, indem sie Anwendungen die parallele Verarbeitung von Daten ermöglicht (z.B. unter Verwendung einer parallelen Rechenplattform 1430 (14)). In mindestens einer Ausführungsform muss nicht jede Anwendung, die dieselbe von einem Dienst 1320 angebotene Funktionalität nutzt, über eine entsprechende Instanz des Dienstes 1320 verfügen, sondern kann der Dienst 1320 von und zwischen verschiedenen Anwendungen gemeinsam genutzt werden. In mindestens einer Ausführungsform können die Dienste einen Inferenzierungsserver oder eine Inferenzierungs-Engine umfassen, die zur Ausführung von Erkennungs- oder Segmentierungsaufgaben verwendet werden können, als nicht beschränkende Beispiele. In mindestens einer Ausführungsform kann ein Modelltrainingsdienst enthalten sein, der Funktionen zum Trainieren und/oder Neutrainieren von Modellen maschinellen Lernens bereitstellt. In mindestens einer Ausführungsform kann ferner ein Datenerweiterungsdienst enthalten sein, der GPU-beschleunigte Daten (z.B. DICOM, RIS, CIS, RESTkonforme Daten, RPC, Rohdaten usw.) extrahieren, in der Größe verändern, skalieren und/oder andere Erweiterungen vornehmen kann. In mindestens einer Ausführungsform kann ein Visualisierungsdienst verwendet werden, der Bildwiedergabeeffekte hinzufügt - z.B. Raytracing, Rasterung, Entrauschung, Schärfung usw. - um zweidimensionalen (2D) und/oder dreidimensionalen (3D) Modellen mehr Realismus zu verleihen. In mindestens einer Ausführungsform können Dienste für virtuelle Instrumente enthalten sein, die Strahlformung, Segmentierung, Inferenzierung, Bildgebung und/oder Unterstützung für andere Anwendungen innerhalb von Pipelines virtueller Instrumente bieten.
  • In mindestens einer Ausführungsform, in der ein Dienst 1320 einen KI-Dienst (z.B. einen Inferenzierungsdienst) enthält, können ein oder mehrere Modelle maschinellen Lernens, die mit einer Anwendung zur Erkennung von Anomalien (z.B. Tumoren, Wachstumsanomalien, Narbenbildung usw.) verbunden sind, durch Aufrufen (z.B. als API-Aufruf) eines Inferenzierungsdienstes (z.B. eines Inferenzierungsservers) ausgeführt werden, um Modelle maschinellen Lernens oder deren Verarbeitung als Teil der Anwendungsausführung auszuführen. In mindestens einer Ausführungsform, in der eine andere Anwendung ein oder mehrere Modelle maschinellen Lernens für Segmentierungsaufgaben enthält, kann eine Anwendung einen Inferenzierungsdienst aufrufen, um Modelle maschinellen Lernens auszuführen, um eine oder mehrere der mit Segmentierungsaufgaben verbundenen Verarbeitungsoperationen durchzuführen. In mindestens einer Ausführungsform kann die Software 1318, die eine erweiterte Verarbeitungs- und Inferenzierungs-Pipeline implementiert, die eine Segmentierungsanwendung und eine Anomalieerkennungsanwendung enthält, rationalisiert werden, da jede Anwendung denselben Inferenzierungsdienst aufrufen kann, um eine oder mehrere Inferenzierungsaufgaben durchzuführen.
  • In mindestens einer Ausführungsform kann die Hardware 1322 GPUs, CPUs, Grafikkarten, ein KI/Deep-Learning-System (z.B. einen Kl-Supercomputer wie NVIDIAs DGX), eine Cloud-Plattform oder eine Kombination davon umfassen. In mindestens einer Ausführungsform können verschiedene Arten von Hardware 1322 verwendet werden, um eine effiziente, zweckgebundene Unterstützung für Software 1318 und Dienste 1320 im Einsatzsystem 1306 bereitzustellen. In mindestens einer Ausführungsform kann die Verwendung von GPU-Verarbeitung für die Verarbeitung vor Ort (z.B. in der Einrichtung 1302), innerhalb eines Al/Deep-Learning-Systems, in einem Cloud-System und/oder in anderen Verarbeitungskomponenten des Einsatzsystems 1306 implementiert werden, um die Effizienz, Genauigkeit und Wirksamkeit der Bildverarbeitung und -erzeugung zu verbessern. In mindestens einer Ausführungsform können die Software 1318 und/oder die Dienste 1320 für die GPU-Verarbeitung im Hinblick auf Deep Learning, maschinelles Lernen und/oder High-Performance-Computing optimiert sein, als nicht beschränkende Beispiele. In mindestens einer Ausführungsform kann zumindest ein Teil der Rechenumgebung des Einsatzsystems 1306 und/oder des Trainingssystems 1304 in einem Rechenzentrum auf einem oder mehreren Supercomputern oder Hochleistungsrechnern mit GPU-optimierter Software (z.B. Hardware- und Softwarekombination des DGX-Systems von NVIDIA) ausgeführt werden. In mindestens einer Ausführungsform kann die Hardware 1322 eine beliebige Anzahl von GPUs umfassen, die zur parallelen Verarbeitung von Daten, wie hierin beschrieben, herangezogen werden können. In mindestens einer Ausführungsform kann die Cloud-Plattform außerdem eine GPU-Verarbeitung für die GPU-optimierte Ausführung von Deep-Learning-Aufgaben, maschinellen Lernaufgaben oder anderen Rechenaufgaben umfassen. In mindestens einer Ausführungsform kann die Cloud-Plattform (z.B. NVIDIAs NGC) unter Verwendung von Kl/Deep-Learning-Supercomputern und/oder GPU-optimierter Software (z.B. wie auf NVIDIAs DGX-Systemen) als Hardware-Abstraktions- und Skalierungsplattform ausgeführt werden. In mindestens einer Ausführungsform kann die Cloud-Plattform ein Anwendungscontainer-Clustering-System oder ein Orchestrierungssystem (z.B. KUBERNETES) auf mehreren GPUs integrieren, um eine nahtlose Skalierung und Lastverteilung zu ermöglichen.
  • 14 ist ein Systemdiagramm für ein beispielhaftes System 1400 zum Erzeugen und Bereitstellen einer Bildverteilungs-Pipeline, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann das System 1400 verwendet werden, um den Prozess 1300 von 13 und/oder andere Prozesse, einschließlich erweiterter Verarbeitungs- und Inferenzierungs-Pipelines, zu implementieren. In mindestens einer Ausführungsform kann das System 1400 das Trainingssystem 1304 und das Einsatzsystem 1306 umfassen. In mindestens einer Ausführungsform können das Trainingssystem 1304 und das Einsatzsystem 1306 unter Verwendung von Software 1318, Diensten 1320 und/oder Hardware 1322, wie hierin beschrieben, implementiert sein.
  • In mindestens einer Ausführungsform kann das System 1400 (z.B. das Trainingssystem 1304 und/oder das Einsatzsystem 1306) in einer Cloud-Computing-Umgebung implementiert sein (z.B. unter Verwendung der Cloud 1426). In mindestens einer Ausführungsform kann das System 1400 lokal in Bezug auf eine Einrichtung des Gesundheitswesens oder als eine Kombination aus Cloud- und lokalen Rechenressourcen implementiert werden. In mindestens einer Ausführungsform kann der Zugriff auf APIs in der Cloud 1426 durch festgelegte Sicherheitsmaßnahmen oder - protokolle auf autorisierte Benutzer beschränkt werden. In mindestens einer Ausführungsform kann ein Sicherheitsprotokoll Web-Token enthalten, die von einem Authentifizierungsdienst (z.B. AuthN, AuthZ, Gluecon usw.) signiert und mit einer entsprechenden Autorisierung versehen sein können. In mindestens einer Ausführungsform können APIs virtueller Instrumente (wie hierin beschrieben) oder andere Instanzen des Systems 1400 auf eine Reihe öffentlicher IPs beschränkt werden, die für die Interaktion überprüft oder autorisiert wurden.
  • In mindestens einer Ausführungsform können verschiedene Komponenten des Systems 1400 unter Verwendung einer Vielzahl unterschiedlicher Netzwerktypen, einschließlich, aber nicht beschränkt auf lokale Netzwerke (LANs) und/oder WeitverkehrsNetzwerke (WANs), über verdrahtete und/oder drahtlose Kommunikationsprotokolle miteinander kommunizieren. In mindestens einer Ausführungsform kann die Kommunikation zwischen Einrichtungen und Komponenten des Systems 1400 (z.B. zum Senden von Ableitungsanforderungen, zum Empfangen von Ergebnissen von Ableitungsanforderungen usw.) über Datenbus(e), drahtlose Datenprotokolle (Wi-Fi), verdrahtete Datenprotokolle (z.B. Ethernet) usw. erfolgen.
  • In mindestens einer Ausführungsform kann das Trainingssystem 1304 Trainings-Pipelines 1404 ausführen, ähnlich denen, die hierin in Bezug auf 13 beschrieben sind. In mindestens einer Ausführungsform, in der ein oder mehrere Modelle für maschinelles Lernen in Einsatz-Pipelines 1410 durch das Einsatzsystem 1306 verwendet werden sollen, können die Trainings-Pipelines 1404 verwendet werden, um ein oder mehrere (z.B. vortrainierte) Modelle zu trainieren oder neu zu trainieren und/oder ein oder mehrere vortrainierte Modelle 1406 zu implementieren (z.B. ohne die Notwendigkeit eines erneuten Trainings oder einer erneuten Aktualisierung). In mindestens einer Ausführungsform können als Ergebnis der Trainings-Pipelines 1404 Ausgabemodell(e) 1316 erzeugt werden. In mindestens einer Ausführungsform können die Trainings-Pipelines 1404 eine beliebige Anzahl von Verarbeitungsschritten umfassen, wie z.B. die Konvertierung oder Anpassung von Bilddaten (oder anderen Eingabedaten). In mindestens einer Ausführungsform können für verschiedene Modelle maschinellen Lernens, die von dem Einsatzsystem 1306 verwendet werden, verschiedene Trainings-Pipelines 1404 verwendet werden. In mindestens einer Ausführungsform kann für ein erstes Modell maschinellen Lernens eine Trainings-Pipeline 1404 verwendet werden, die einem ersten Beispiel ähnlich ist, das in Bezug auf 13 beschrieben ist, für ein zweites Modell maschinellen Lernens kann eine Trainings-Pipeline 1404 verwendet werden, die einem zweiten Beispiel ähnlich ist, das in Bezug auf 13 beschrieben ist, und für ein drittes Modell maschinellen Lernens kann eine Trainings-Pipeline 1404 verwendet werden, die einem dritten Beispiel ähnlich ist, das in Bezug auf 13 beschrieben ist. In mindestens einer Ausführungsform kann eine beliebige Kombination von Aufgaben innerhalb des Trainingssystems 1304 verwendet werden, je nachdem, was für jedes jeweilige Modell maschinellen Lernens erforderlich ist. In mindestens einer Ausführungsform können eines oder mehrere der Modelle maschinellen Lernens bereits trainiert und einsatzbereit sein, so dass die Modelle maschinellen Lernens keiner Verarbeitung durch das Trainingssystem 1304 unterzogen zu werden brauchen und durch das Einsatzsystem 1306 implementiert werden können.
  • In mindestens einer Ausführungsform können das/die Ausgabemodell(e) 1316 und/oder das/die vortrainierte(n) Modell(e) 1406 alle Arten von Modellen maschinellen Lernens umfassen, je nach Implementierung oder Ausführungsform. In mindestens einer Ausführungsform und ohne darauf beschränkt zu sein, können die von dem System 1400 verwendeten Modelle maschinellen Lernens Modelle maschinellen Lernens unter Verwendung von linearer Regression, logistischer Regression, Entscheidungsbäumen, Unterstützungsvektormaschinen (SVM, Support Vector Machines), Naive Bayes, k-nächster Nachbar (Knn), K-Mittelwert-Clustering, Random Forest, Dimensionalitätsreduktionsalgorithmen, Gradient-Boosting-Algorithmen, neuronalen Netzwerken (z.B. Auto-Codierer, faltend, rekurrent, Perzeptrons, Long/Short Term Memory (LSTM), Hopfield, Boltzmann, Deep Belief, Deconvolutional, Generative Adversarial, Liquid State Machine usw.) und/oder andere Arten von Modellen maschinellen Lernens umfassen.
  • In mindestens einer Ausführungsform können die Trainings-Pipelines 1404 eine Klgestützte Annotation umfassen, wie hierin in Bezug auf mindestens 15B ausführlicher beschrieben. In mindestens einer Ausführungsform können beschriftete Daten 1312 (z.B. herkömmliche Beschriftungen) durch eine beliebige Anzahl von Techniken erzeugt werden. In mindestens einer Ausführungsform können Beschriftungen oder andere Anmerkungen in einem Zeichenprogramm (z.B. einem Anmerkungsprogramm), einem CAD-Programm (Computer Aided Design), einem Beschriftungsprogramm oder einer anderen Art von Programm erzeugt werden, das zur Erzeugung von Anmerkungen oder Beschriftungen für die Grundwahrheit geeignet ist, und/oder sie können in einigen Beispielen von Hand gezeichnet werden. In mindestens einer Ausführungsform können die Grundwahrheitsdaten synthetisch erzeugt werden (z.B. aus Computermodellen oder Renderings), real erzeugt werden (z.B. aus realen Daten entworfen und erzeugt werden), maschinell automatisiert werden (z.B. unter Verwendung von Merkmalsanalyse und Lernen, um Merkmale aus Daten zu extrahieren und dann Beschriftungen zu erzeugen), von Menschen beschriftet werden (z.B. legt ein Beschriftungsexperte die Position der Beschriftungen fest) und/oder eine Kombination davon. In mindestens einer Ausführungsform kann es für jede Instanz von Bilddaten 1308 (oder anderen Datentypen, die von Modellen maschinellen Lernens verwendet werden) entsprechende Grundwahrheitsdaten geben, die vom Trainingssystem 1304 erzeugt werden. In mindestens einer Ausführungsform kann die KI-gestützte Annotation als Teil der Einsatzpipelines 1410 durchgeführt werden; entweder zusätzlich zu oder anstelle der Kl-gestützten Annotation, die in den Trainings-Pipelines 1404 enthalten ist. In mindestens einer Ausführungsform kann das System 1400 eine mehrschichtige Plattform umfassen, die eine Softwareschicht (z.B. Software 1318) von Diagnoseanwendungen (oder anderen Anwendungstypen) enthalten kann, die eine oder mehrere medizinische Bildgebungs- und Diagnosefunktionen ausführen können. In mindestens einer Ausführungsform kann das System 1400 kommunikativ (z.B. über verschlüsselte Verbindungen) mit PACS-Servernetzwerken einer oder mehrerer Einrichtungen verbunden sein. In mindestens einer Ausführungsform kann das System 1400 so konfiguriert sein, dass es auf Daten von PACS-Servern zugreift und diese referenziert, um Operationen durchzuführen, wie z.B. das Trainieren von Modellen des maschinellen Lernens, den Einsatz von Modellen des maschinellen Lernens, die Bildverarbeitung, die Inferenzierung und/oder andere Operationen.
  • In mindestens einer Ausführungsform kann eine Softwareschicht als sichere, verschlüsselte und/oder authentifizierte API implementiert sein, über die Anwendungen oder Container aus einer externen Umgebung (z.B. Einrichtung 1302) aufgerufen werden können. In mindestens einer Ausführungsform können Anwendungen dann einen oder mehrere Dienste 1320 aufrufen oder ausführen, um Rechen-, Kl- oder Visualisierungsaufgaben auszuführen, die den jeweiligen Anwendungen zugeordnet sind, und können die Software 1318 und/oder die Dienste 1320 die Hardware 1322 nutzen, um Verarbeitungsaufgaben auf effektive und effiziente Weise auszuführen.
  • In mindestens einer Ausführungsform kann das Einsatzsystem 1306 Einsatz-Pipelines 1410 ausführen. In mindestens einer Ausführungsform können Einsatz-Pipelines 1410 eine beliebige Anzahl von Anwendungen enthalten, die sequenziell, nicht-sequenziell oder anderweitig auf Bildgebungsdaten (und/oder andere Datentypen) angewendet werden können, die von Bildgebungsvorrichtungen, Sequenzierungsvorrichtungen, Genomik-Vorrichtungen usw. erzeugt werden - einschließlich KI-unterstützter Annotation, wie oben beschrieben. In mindestens einer Ausführungsform, wie hierin beschrieben, kann eine Einsatz-Pipeline 1410 für ein einzelnes Gerät als ein virtuelles Instrument für eine Vorrichtung bezeichnet werden (z.B. ein virtuelles Ultraschallinstrument, ein virtuelles CT-Scan-Instrument, ein virtuelles Sequenzierungsinstrument usw.). In mindestens einer Ausführungsform kann es für eine einzelne Vorrichtung mehr als eine Einsatz-Pipeline 1410 geben, je nachdem, welche Informationen aus den von einer Vorrichtung erzeugten Daten gewünscht werden. In mindestens einer Ausführungsform kann es eine erste Einsatz-Pipeline 1410 geben, wenn die Erkennung von Anomalien von einer MRI-Maschine gewünscht wird, und eine zweite Einsatz-Pipeline 1410, wenn eine Bildverbesserung von der Ausgabe einer MRI-Maschine gewünscht wird.
  • In mindestens einer Ausführungsform kann eine Bilderzeugungsanwendung eine Verarbeitungsaufgabe enthalten, die die Verwendung eines Modells maschinellen Lernens beinhaltet. In mindestens einer Ausführungsform kann ein Benutzer sein eigenes Modell maschinellen Lernens verwenden oder ein Modell maschinellen Lernens aus der Modellregistrierung 1324 auswählen. In mindestens einer Ausführungsform kann ein Benutzer sein eigenes Modell maschinellen Lernens implementieren oder ein Modell maschinellen Lernens zur Aufnahme in eine Anwendung zur Durchführung einer Verarbeitungsaufgabe auswählen. In mindestens einer Ausführungsform können Anwendungen auswählbar und anpassbar sein, und durch die Definition von Konstrukten von Anwendungen wird die Bereitstellung und Implementierung von Anwendungen für einen bestimmten Benutzer als eine nahtlosere Benutzererfahrung dargestellt. In mindestens einer Ausführungsform können Entwicklungspipelines 1410 durch die Nutzung anderer Merkmale des Systems 1400 - wie beispielsweise die Dienste 1320 und die Hardware 1322 - noch benutzerfreundlicher sein, eine einfachere Integration ermöglichen und genauere, effizientere und zeitgerechtere Ergebnisse liefern.
  • In mindestens einer Ausführungsform kann das Einsatzsystem 1306 eine Benutzerschnittstelle 1414 (z.B. eine grafische Benutzerschnittstelle, eine Webschnittstelle usw.) enthalten, die verwendet werden kann, um Anwendungen zur Aufnahme in die Einsatz-Pipeline(s) 1410 auszuwählen, Anwendungen anzuordnen, Anwendungen oder Parameter oder Konstrukte davon zu modifizieren oder zu ändern, die Einsatz-Pipeline(s) 1410 während der Einrichtung und/oder Bereitstellung zu verwenden und mit ihr zu interagieren und/oder anderweitig mit dem Einsatzsystem 1306 zu interagieren. In mindestens einer Ausführungsform, die jedoch in Bezug auf das Trainingssystem 1304 nicht dargestellt ist, kann die Benutzerschnittstelle 1414 (oder eine andere Benutzerschnittstelle) für die Auswahl von Modellen zur Verwendung im Einsatzsystem 1306, für die Auswahl von Modellen für das Training oder das Neutrainieren im Trainingssystem 1304 und/oder für die sonstige Interaktion mit dem Trainingssystem 1304 verwendet werden.
  • In mindestens einer Ausführungsform kann der Pipeline-Verwalter 1412 zusätzlich zu einem Anwendungs-Orchestrierungssystem 1428 verwendet werden, um die Interaktion zwischen Anwendungen oder Containern der Einsatz-Pipeline(s) 1410 und Diensten 1320 und/oder Hardware 1322 zu verwalten. In mindestens einer Ausführungsform kann der Pipeline-Verwalter 1412 so konfiguriert sein, dass er die Interaktion zwischen Anwendungen und Anwendungen, zwischen Anwendungen und den Diensten 1320 und/oder zwischen Anwendungen oder Diensten und der Hardware 1322 erleichtert. In mindestens einer Ausführungsform ist dies, obwohl als in Software 1318 enthalten dargestellt, nicht als beschränkend beabsichtigt, und in einigen Beispielen (wie beispielsweise in 12cc dargestellt) kann der Pipeline-Verwalter 1412 in den Diensten 1320 enthalten sein. In mindestens einer Ausführungsform kann das Anwendungs-Orchestrierungssystem 1428 (z.B. Kubernetes, DOCKER usw.) ein Container-Orchestrierungssystem umfassen, das Anwendungen in Containern als logische Einheiten zur Koordination, Verwaltung, Skalierung und Bereitstellung gruppieren kann. In mindestens einer Ausführungsform kann durch die Zuordnung von Anwendungen aus der/den Einsatz-Pipeline(s) 1410 (z.B. eine Rekonstruktionsanwendung, eine Segmentierungsanwendung usw.) zu einzelnen Containern jede Anwendung in einer in sich geschlossenen Umgebung (z.B. auf Kernel-Ebene) ausgeführt werden, um die Geschwindigkeit und Effizienz zu erhöhen.
  • In mindestens einer Ausführungsform kann jede Anwendung und/oder jeder Container (oder ein Image davon) individuell entwickelt, modifiziert und bereitgestellt werden (z.B. kann ein erster Benutzer oder Entwickler eine erste Anwendung entwickeln, modifizieren und bereitstellen, und ein zweiter Benutzer oder Entwickler kann eine zweite Anwendung separat von einem ersten Benutzer oder Entwickler entwickeln, modifizieren und bereitstellen), was die Konzentration auf und die Aufmerksamkeit für eine Aufgabe einer einzelnen Anwendung und/oder eines einzelnen Containers ermöglichen kann, ohne durch Aufgaben einer anderen Anwendung oder eines anderen Containers behindert zu werden. In mindestens einer Ausführungsform kann die Kommunikation und Zusammenarbeit zwischen verschiedenen Containern oder Anwendungen durch den Pipeline-Verwalter 1412 und das Anwendungs-Orchestrierungssystem 1428 unterstützt werden. In mindestens einer Ausführungsform kann, solange eine erwartete Eingabe und/oder Ausgabe jedes Containers oder jeder Anwendung einem System bekannt ist (z.B. auf der Grundlage von Konstrukten von Anwendungen oder Containern), das Anwendungs-Orchestrierungssystem 1428 und/oder der Pipeline-Verwalter 1412 die Kommunikation unter und zwischen den Anwendungen oder Containern und die gemeinsame Nutzung von Ressourcen unter und zwischen ihnen erleichtern. In mindestens einer Ausführungsform können eine oder mehrere Anwendungen oder Container in der/den Einsatz-Pipeline(s) 1410 dieselben Dienste und Ressourcen gemeinsam nutzen, so dass das Anwendungs-Orchestrierungssystem 1428 die gemeinsame Nutzung von Diensten oder Ressourcen zwischen verschiedenen Anwendungen oder Containern orchestrieren, ausgleichen und festlegen kann. In mindestens einer Ausführungsform kann ein Planer verwendet werden, um die Ressourcenanforderungen von Anwendungen oder Containern, die aktuelle oder geplante Nutzung dieser Ressourcen und die Ressourcenverfügbarkeit zu verfolgen. In mindestens einer Ausführungsform kann ein Planer auf diese Weise verschiedenen Anwendungen Ressourcen zuweisen und Ressourcen zwischen und unter Anwendungen im Hinblick auf die Anforderungen und die Verfügbarkeit eines Systems verteilen. In einigen Beispielen kann ein Planer (und/oder eine andere Komponente des Anwendungs-Orchestrierungssystems 1428) die Ressourcenverfügbarkeit und -verteilung auf der Grundlage von Beschränkungen bestimmen, die einem System auferlegt werden (z.B. Benutzerbeschränkungen), wie z.B. Dienstgüte (QoS), Dringlichkeit des Bedarfs an Datenausgaben (z.B. um zu bestimmen, ob Echtzeitverarbeitung oder verzögerte Verarbeitung ausgeführt werden soll) usw.
  • In mindestens einer Ausführungsform können die von Anwendungen oder Containern im Einsatzsystem 1306 genutzten und gemeinsam genutzten Dienste 1320 Rechendienste 1416, KI-Dienste 1418, Visualisierungsdienste 1420 und/oder andere Diensttypen umfassen. In mindestens einer Ausführungsform können Anwendungen einen oder mehrere der Dienste 1320 aufrufen (z.B. ausführen), um Verarbeitungsvorgänge für eine Anwendung durchzuführen. In mindestens einer Ausführungsform können die Rechendienste 1416 von Anwendungen genutzt werden, um Supercomputing- oder andere High-Performance-Computing (HPC)-Aufgaben auszuführen. In mindestens einer Ausführungsform kann/können der/die Rechendienst(e) 1416 genutzt werden, um eine parallele Verarbeitung (z.B. unter Verwendung einer parallelen Rechenplattform 1430) zur Verarbeitung von Daten durch eine oder mehrere Anwendungen und/oder eine oder mehrere Aufgaben einer einzelnen Anwendung im Wesentlichen gleichzeitig durchzuführen. In mindestens einer Ausführungsform kann die parallele Datenverarbeitungsplattform 1430 (z.B. NVIDIAs CUDA) Allzweck-Computing auf GPUs (z.B. GPUs 1422) ermöglichen. In mindestens einer Ausführungsform kann eine Softwareschicht der parallelen Rechenplattform 1430 Zugriff auf virtuelle Befehlssätze und parallele Rechenelemente von GPUs für die Ausführung von Rechenkernen bieten. In mindestens einer Ausführungsform kann die parallele Rechenplattform 1430 Speicher enthalten, und in einigen Ausführungsformen kann ein Speicher zwischen mehreren Containern und/oder zwischen verschiedenen Verarbeitungsaufgaben innerhalb eines einzelnen Containers gemeinsam genutzt werden. In mindestens einer Ausführungsform können IPC (Inter-Process Communication)-Aufrufe für mehrere Container und/oder für mehrere Prozesse innerhalb eines Containers generiert werden, um dieselben Daten aus einem gemeinsam genutzten Speichersegment der parallelen Rechnerplattform 1430 zu verwenden (z.B. wenn mehrere verschiedene Stufen einer Anwendung oder mehrere Anwendungen dieselben Informationen verarbeiten). In mindestens einer Ausführungsform können dieselben Daten an derselben Stelle eines Speichers für eine beliebige Anzahl von Verarbeitungsaufgaben verwendet werden (z.B. zur selben Zeit, zu verschiedenen Zeiten usw.), anstatt eine Kopie der Daten zu erstellen und die Daten an verschiedene Stellen im Speicher zu verschieben (z.B. eine Lese-/Schreiboperation). In mindestens einer Ausführungsform können bei der Verwendung von Daten zur Erzeugung neuer Daten als Ergebnis der Verarbeitung diese Informationen über einen neuen Speicherort der Daten gespeichert und von verschiedenen Anwendungen gemeinsam genutzt werden. In mindestens einer Ausführungsform können der Speicherort von Daten und der Speicherort von aktualisierten oder geänderten Daten Teil einer Definition sein, wie eine Nutzlast innerhalb von Containern zu verstehen ist.
  • In mindestens einer Ausführungsform können die KI-Dienste 1418 genutzt werden, um Inferenzierungsdienste für die Ausführung von Modellen maschinellen Lernens durchzuführen, die mit Anwendungen verbunden sind (z.B. mit der Aufgabe, eine oder mehrere Verarbeitungsaufgaben einer Anwendung auszuführen). In mindestens einer Ausführungsform können die KI-Dienste 1418 das Kl-System 1424 nutzen, um Modelle maschinellen Lernens (z.B. neuronale Netzwerke wie CNNs) für Segmentierung, Rekonstruktion, Objekterkennung, Merkmalserkennung, Klassifizierung und/oder andere Inferenzaufgaben auszuführen. In mindestens einer Ausführungsform können die Anwendungen der Einsatzpipeline(s) 1410 ein oder mehrere Ausgabemodelle 1316 aus dem Trainingssystem 1304 und/oder andere Modelle von Anwendungen verwenden, um Inferenzierungen aus Bilddaten zu ziehen. In mindestens einer Ausführungsform können zwei oder mehr Beispiele für die Inferenzierung unter Verwendung des Anwendungs-Orchestrierungssystems 1428 (z.B. ein Planer) verfügbar sein. In mindestens einer Ausführungsform kann eine erste Kategorie einen Pfad mit hoher Priorität/geringer Latenz umfassen, der höhere Service Level Agreements erreichen kann, z.B. für die Durchführung von Inferenzierungen bei dringenden Anfragen während eines Notfalls oder für einen Radiologen während der Diagnose. In mindestens einer Ausführungsform kann eine zweite Kategorie einen Pfad mit Standardpriorität umfassen, der für Anfragen verwendet werden kann, die nicht dringlich sind oder bei denen die Analyse zu einem späteren Zeitpunkt durchgeführt werden kann. In mindestens einer Ausführungsform kann das Anwendungs-Orchestrierungssystem 1428 Ressourcen (z.B. Dienste 1320 und/oder Hardware 1322) auf der Grundlage von Prioritätspfaden für verschiedene Inferenzaufgaben der KI-Dienste 1418 verteilen.
  • In mindestens einer Ausführungsform kann gemeinsam genutzter Speicher an die KI-Dienste 1418 in dem System 1400 angebunden sein. In mindestens einer Ausführungsform kann der gemeinsam genutzte Speicher als Cache (oder ein anderer Speichergerätetyp) fungieren und zur Verarbeitung von Inferenzanforderungen von Anwendungen verwendet werden. In mindestens einer Ausführungsform kann eine Anfrage, wenn sie eingereicht wird, von einer Reihe von API-Instanzen des Einsatzsystems 1306 empfangen werden, und eine oder mehrere Instanzen können ausgewählt werden (z.B. für die beste Anpassung, für den Lastausgleich usw.), um eine Anfrage zu verarbeiten. In mindestens einer Ausführungsform kann zur Bearbeitung einer Anfrage eine Anfrage in eine Datenbank eingegeben werden, kann ein Modell maschinellen Lernens aus der Modellregistrierung 1324 gefunden werden, wenn es sich nicht bereits in einem Cache befindet, kann ein Validierungsschritt sicherstellen, dass ein geeignetes Modell maschinellen Lernens in einen Cache (z.B. einen gemeinsam genutzten Speicher) geladen wird, und/oder kann eine Kopie eines Modells in einem Cache gespeichert werden. In mindestens einer Ausführungsform kann ein Planer (z.B. der Pipeline-Verwalter 1412) verwendet werden, um eine Anwendung zu starten, auf die in einer Anforderung verwiesen wird, wenn eine Anwendung noch nicht läuft oder wenn nicht genügend Instanzen einer Anwendung vorhanden sind. In mindestens einer Ausführungsform kann ein Inferenzierungsserver gestartet werden, wenn noch kein Inferenzierungsserver zur Ausführung eines Modells gestartet ist. Pro Modell kann eine beliebige Anzahl von Inferenzierungsservern gestartet werden. In mindestens einer Ausführungsform können in einem Pull-Modell, in dem die Inferenzierungsserver geclustert sind, die Modelle zwischengespeichert werden, wenn ein Lastausgleich vorteilhaft ist. In mindestens einer Ausführungsform können Inferenzierungsserver statisch in entsprechende, verteilte Server geladen werden.
  • In mindestens einer Ausführungsform kann die Inferenzierung mit Hilfe eines Inferenzierungsservers durchgeführt werden, der in einem Container läuft. In mindestens einer Ausführungsform kann eine Instanz eines Inferenzierungsservers mit einem Modell (und optional einer Vielzahl von Versionen eines Modells) verbunden sein. In mindestens einer Ausführungsform kann eine neue Instanz eines Inferenzierungsservers geladen werden, wenn eine Anforderung zur Durchführung von Inferenzierungen für ein Modell nicht vorhanden ist. In mindestens einer Ausführungsform kann beim Starten eines Inferenzierungsservers ein Modell an einen Inferenzierungsserver übergeben werden, so dass ein und derselbe Container zur Bedienung verschiedener Modelle verwendet werden kann, solange der Inferenzierungsserver als eine andere Instanz läuft.
  • In mindestens einer Ausführungsform kann während der Anwendungsausführung eine Inferenzanforderung für eine bestimmte Anwendung empfangen werden, und kann ein Container (z.B. mit einer Instanz eines Inferenzierungsservers) geladen werden (falls noch nicht geschehen), und kann eine Startprozedur aufgerufen werden. In mindestens einer Ausführungsform kann die Vorverarbeitungslogik in einem Container eingehende Daten laden, dekodieren und/oder eine zusätzliche Vorverarbeitung durchführen (z.B. unter Verwendung von CPU(s) und/oder GPU(s)). In mindestens einer Ausführungsform kann ein Container, sobald die Daten für die Inferenzierung vorbereitet sind, die Inferenzierung wie erforderlich an den Daten durchführen. In mindestens einer Ausführungsform kann dies einen einzigen Inferenzaufruf für ein Bild (z.B. ein Handröntgenbild) umfassen oder eine Inferenzierung für Hunderte von Bildern (z.B. ein Brust-CT) erfordern. In mindestens einer Ausführungsform kann eine Anwendung die Ergebnisse vor der Fertigstellung zusammenfassen, was ohne Beschränkung einen einzelnen Konfidenzwert, eine Segmentierung auf Pixelebene, eine Segmentierung auf Voxel-Ebene, die Erstellung einer Visualisierung oder die Erstellung von Text zur Zusammenfassung der Ergebnisse umfassen kann. In mindestens einer Ausführungsform können verschiedenen Modellen oder Anwendungen unterschiedliche Prioritäten zugewiesen werden. Beispielsweise können einige Modelle eine Echtzeitpriorität (TAT < 1 min) haben, während andere eine niedrigere Priorität haben können (z.B. TAT < 10 min). In mindestens einer Ausführungsform kann die Ausführungszeit des Modells von der anfragenden Institution oder Einrichtung aus gemessen werden und kann die Zeit für die Traversierung des Partnernetzwerks sowie die Ausführung in einem Inferenzierungsdienst umfassen.
  • In mindestens einer Ausführungsform kann die Übertragung von Anfragen zwischen den Diensten 1320 und den Ableitungsanwendungen hinter einem Softwareentwicklungskit (SDK) verborgen sein, und kann ein robuster Transport über eine Warteschlange erfolgen. In mindestens einer Ausführungsform wird eine Anfrage über eine API für eine individuelle Anwendung/Tenant-ID-Kombination in eine Warteschlange gestellt, und zieht ein SDK eine Anfrage aus einer Warteschlange und gibt eine Anfrage an eine Anwendung weiter. In mindestens einer Ausführungsform kann der Name einer Warteschlange in einer Umgebung angegeben werden, aus der ein SDK sie abruft. In mindestens einer Ausführungsform kann die asynchrone Kommunikation über eine Warteschlange nützlich sein, da sie es jeder Instanz einer Anwendung ermöglicht, die Arbeit aufzunehmen, sobald sie verfügbar ist. Die Ergebnisse können über eine Warteschlange zurückübertragen werden, um sicherzustellen, dass keine Daten verloren gehen. In mindestens einer Ausführungsform können Warteschlangen auch die Möglichkeit bieten, Arbeit zu segmentieren, da Arbeit mit höchster Priorität an eine Warteschlange gehen kann, an die die meisten Instanzen einer Anwendung angeschlossen sind, während Arbeit mit niedrigster Priorität an eine Warteschlange gehen kann, an die nur eine einzige Instanz angeschlossen ist, die Aufgaben in der empfangenen Reihenfolge bearbeitet. In mindestens einer Ausführungsform kann eine Anwendung auf einer GPU-beschleunigten Instanz laufen, die in der Cloud 1426 generiert wird, und kann ein Inferenzierungsdienst Inferenzierungen auf einer GPU durchführen.
  • In mindestens einer Ausführungsform können Visualisierungsdienste 1420 genutzt werden, um Visualisierungen für die Anzeige der Ausgaben von Anwendungen und/oder der Einsatz-Pipeline(s) 1410 zu erzeugen. In mindestens einer Ausführungsform können die GPUs 1422 von den Visualisierungsdiensten 1420 genutzt werden, um Visualisierungen zu erzeugen. In mindestens einer Ausführungsform können Rendering-Effekte, wie z.B. Raytracing, von den Visualisierungsdiensten 1420 implementiert werden, um Visualisierungen von höherer Qualität zu erzeugen. In mindestens einer Ausführungsform können die Visualisierungen ohne Beschränkung 2D-Bildwiedergaben, 3D-Volumenwiedergaben, 3D-Volumenrekonstruktionen, 2D-Tomographieschichten, Virtual-Reality-Anzeigen, Augmented-Reality-Anzeigen usw. umfassen. In mindestens einer Ausführungsform können virtualisierte Umgebungen verwendet werden, um eine virtuelle interaktive Anzeige oder Umgebung (z.B. eine virtuelle Umgebung) für die Interaktion durch Benutzer eines Systems (z.B. Ärzte, Krankenschwestern, Radiologen usw.) zu erzeugen. In mindestens einer Ausführungsform können die Visualisierungsdienste 1420 einen internen Visualisierer, Kinematiken und/oder andere Rendering- oder Bildverarbeitungsfähigkeiten oder -funktionen umfassen (z.B. Raytracing, Rasterisierung, interne Optik usw.).
  • In mindestens einer Ausführungsform kann die Hardware 1322 GPUs 1422, das Kl-System 1424, die Cloud 1426 und/oder jede andere Hardware umfassen, die für die Ausführung des Trainingssystems 1304 und/oder des Einsatzsystems 1306 verwendet wird. In mindestens einer Ausführungsform können die GPUs 1422 (z.B. NVIDIAs TESLA und/oder QUADRO GPUs) eine beliebige Anzahl von GPUs umfassen, die für die Ausführung von Verarbeitungsaufgaben der Rechendienste 1416, der KI-Dienste 1418, der Visualisierungsdienste 1420, anderer Dienste und/oder beliebiger Merkmale oder Funktionen der Software 1318 verwendet werden können. In Bezug auf die KI-Dienste 1418 können GPUs 1422 beispielsweise zur Vorverarbeitung von Bilddaten (oder anderen Datentypen, die von Modellen maschinellen Lernens verwendet werden), zur Nachverarbeitung von Ausgaben von Modellen maschinellen Lernens und/oder zur Durchführung von Inferenzierungen (z.B. zur Ausführung von Modellen maschinellen Lernens) verwendet werden. In mindestens einer Ausführungsform können die Cloud 1426, das AI-System 1424 und/oder andere Komponenten des Systems 1400 GPUs 1422 verwenden. In mindestens einer Ausführungsform kann die Cloud 1426 eine GPU-optimierte Plattform für Deep-Learning-Aufgaben enthalten. In mindestens einer Ausführungsform kann das Kl-System 1424 GPUs verwenden, und kann die Cloud 1426 - oder zumindest ein Teil, der mit Deep Learning oder Inferencing beauftragt ist - unter Verwendung eines oder mehrerer KI-Systeme 1424 ausgeführt werden. Obwohl die Hardware 1322 als diskrete Komponenten dargestellt ist, ist dies nicht als Beschränkung zu verstehen, und alle Komponenten der Hardware 1322 können mit anderen Komponenten der Hardware 1322 kombiniert oder von ihnen genutzt werden.
  • In mindestens einer Ausführungsform kann das KI-System 1424 ein speziell entwickeltes Rechensystem (z.B. einen Supercomputer oder einen HPC) umfassen, das für Inferencing, Deep Learning, maschinelles Lernen und/oder andere Aufgaben der künstlichen Intelligenz konfiguriert ist. In mindestens einer Ausführungsform kann das KI-System 1424 (z.B. NVIDIAs DGX) GPU-optimierte Software (z.B. einen Software-Stack) enthalten, die unter Verwendung einer Vielzahl von GPUs 1422 zusätzlich zu CPUs, RAM, Speicher und/oder anderen Komponenten, Merkmalen oder Funktionen ausgeführt werden kann. In mindestens einer Ausführungsform können ein oder mehrere KI-Systeme 1424 in der Cloud 1426 (z.B. in einem Rechenzentrum) implementiert werden, um einige oder alle Kl-basierten Verarbeitungsaufgaben des Systems 1400 auszuführen.
  • In mindestens einer Ausführungsform kann die Cloud 1426 eine GPU-beschleunigte Infrastruktur (z.B. NGC von NVIDIA) enthalten, die eine GPU-optimierte Plattform für die Ausführung von Verarbeitungsaufgaben des Systems 1400 bereitstellen kann. In mindestens einer Ausführungsform kann die Cloud 1426 ein oder mehrere KI-Systeme 1424 zur Ausführung einer oder mehrerer KI-basierter Aufgaben des Systems 1400 enthalten (z.B. als Hardware-Abstraktions- und Skalierungsplattform). In mindestens einer Ausführungsform kann die Cloud 1426 in das Anwendungs-Orchestrierungssystem 1428 integriert werden, das mehrere GPUs nutzt, um eine nahtlose Skalierung und einen Lastausgleich zwischen und unter den Anwendungen und Diensten 1320 zu ermöglichen. In mindestens einer Ausführungsform kann die Cloud 1426 damit beauftragt werden, mindestens einige der Dienste 1320 des Systems 1400 auszuführen, einschließlich der Rechendienste 1416, der Kl-Dienste 1418 und/oder der Visualisierungsdienste 1420, wie hierin beschrieben. In mindestens einer Ausführungsform kann die Cloud 1426 kleine und große Batch-Inferenzierungen durchführen (z.B. die Ausführung von NVIDIAs TENSOR RT), eine beschleunigte parallele Rechen-API und Plattform 1430 (z.B. NVIDIAs CUDA) bereitstellen, ein Anwendungs-Orchestrierungssystem 1428 (z. B, KUBERNETES), eine Grafik-Rendering-API und -Plattform (z.B. für Raytracing, 2D-Grafik, 3D-Grafik und/oder andere Rendering-Techniken zur Erzeugung hochwertigerer Kinofilme) und/oder andere Funktionen für das System 1400 bereitstellen.
  • 15A zeigt ein Datenflussdiagramm für einen Prozess 1500 zum Trainieren, Neutrainieren oder Aktualisieren eines Modells maschinellen Lernens in Übereinstimmung mit mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann der Prozess 1500 unter Verwendung des Systems 1400 von 14 als nicht beschränkendes Beispiel ausgeführt werden. In mindestens einer Ausführungsform kann der Prozess 1500 die Dienste 1320 und/oder die Hardware 1322 des Systems 1400 nutzen, wie hierin beschrieben. In mindestens einer Ausführungsform können verfeinerte Modelle 1512, die durch den Prozess 1500 erzeugt wurden, durch das Einsatzsystem 1306 für eine oder mehrere containerisierte Anwendungen in Einsatz-Pipelines 1410 ausgeführt werden.
  • In mindestens einer Ausführungsform kann das Modelltraining 1314 das Neutrainieren oder Aktualisieren eines Ausgangsmodells 1504 (z.B. eines vortrainierten Modells) unter Verwendung neuer Trainingsdaten (z.B. neuer Eingabedaten, wie des Kundendatensatzes 1506, und/oder neuer, mit den Eingabedaten verbundener Grundwahrheitsdaten) umfassen. In mindestens einer Ausführungsform kann zum erneuten Trainieren oder Aktualisieren des Ausgangsmodells 1504 die Ausgangs- oder Verlustschicht(en) des Ausgangsmodells 1504 zurückgesetzt oder gelöscht und/oder durch eine aktualisierte oder neue Ausgangs- oder Verlustschicht(en) ersetzt werden. In mindestens einer Ausführungsform kann das Ausgangsmodell 1504 bereits feinabgestimmte Parameter (z.B. Gewichte und/oder Verzerrungen) haben, die von einem früheren Training übrig geblieben sind, so dass das Training oder das Neutrainieren 1314 nicht so lange dauert oder so viel Verarbeitung erfordert wie das Training eines Modells von Grund auf. In mindestens einer Ausführungsform können während des Modelltrainings 1314 durch Zurücksetzen oder Ersetzen der Ausgangs- oder Verlustschicht(en) des Ausgangsmodells 1504 die Parameter aktualisiert und für einen neuen Datensatz neu abgestimmt werden, und zwar auf der Grundlage von Verlustberechnungen, die mit der Genauigkeit der Ausgangs- oder Verlustschicht(en) bei der Erstellung von Vorhersagen für einen neuen Kundendatensatz 1506 (z.B. Bilddaten 1308 von 13) verbunden sind.
  • In mindestens einer Ausführungsform können die vorab trainierten Modelle 1406 in einem Datenspeicher oder einem Register gespeichert werden (z.B. Modellregister 1324 von 13). In mindestens einer Ausführungsform können die vorab trainierten Modelle 1406 zumindest teilweise in einer oder mehreren anderen Einrichtungen als der Einrichtung, die den Prozess 1500 ausführt, trainiert worden sein. In mindestens einer Ausführungsform können zum Schutz der Privatsphäre und der Rechte von Patienten, Probanden oder Kunden verschiedener Einrichtungen vortrainierte Modelle 1406 vor Ort trainiert worden sein, wobei Kunden- oder Patientendaten verwendet wurden, die vor Ort generiert wurden. In mindestens einer Ausführungsform können vortrainierte Modelle 1406 unter Verwendung der Cloud 1426 und/oder anderer Hardware 1322 trainiert werden, aber vertrauliche, datenschutzrechtlich geschützte Patientendaten dürfen nicht an Komponenten der Cloud 1426 (oder anderer externer Hardware) übertragen werden, von diesen verwendet werden oder für diese zugänglich sein. In mindestens einer Ausführungsform, in der ein vortrainiertes Modell 1406 unter Verwendung von Patientendaten von mehr als einer Einrichtung trainiert wird, kann das vortrainierte Modell 1406 individuell für jede Einrichtung trainiert worden sein, bevor es auf Patienten- oder Kundendaten von einer anderen Einrichtung trainiert wird. In mindestens einer Ausführungsform, z.B. wenn Kunden- oder Patientendaten aus Datenschutzgründen freigegeben wurden (z.B. durch eine Verzichtserklärung, für experimentelle Zwecke usw.) oder wenn Kunden- oder Patientendaten in einem öffentlichen Datensatz enthalten sind, können Kunden- oder Patientendaten aus einer beliebigen Anzahl von Einrichtungen verwendet werden, um das vortrainierte Modell 1406 vor Ort und/oder außerhalb des Standorts zu trainieren, z.B. in einem Rechenzentrum oder einer anderen Cloud-Computing-Infrastruktur.
  • In mindestens einer Ausführungsform kann ein Benutzer bei der Auswahl von Anwendungen zur Verwendung in Einsatz-Pipelines 1410 auch Modelle für maschinelles Lernen auswählen, die für bestimmte Anwendungen verwendet werden sollen.
  • In mindestens einer Ausführungsform kann ein Benutzer kein Modell zur Verwendung haben, so dass ein Benutzer ein vortrainiertes Modell 1406 zur Verwendung mit einer Anwendung auswählen kann. In mindestens einer Ausführungsform kann das vortrainierte Modell 1406 nicht dafür optimiert sein, genaue Ergebnisse für den Kundendatensatz 1506 einer Einrichtung eines Benutzers zu erzeugen (z.B. auf der Grundlage der Patientenvielfalt, der demografischen Merkmale, der Arten der verwendeten medizinischen Bildgebungsgeräte usw.). In mindestens einer Ausführungsform kann das vortrainierte Modell 1406 vor der Bereitstellung in der Einsatz-Pipeline 1410 zur Verwendung mit einer oder mehreren Anwendungen aktualisiert, neu trainiert und/oder für die Verwendung in einer entsprechenden Einrichtung feinabgestimmt werden.
  • In mindestens einer Ausführungsform kann ein Benutzer ein vortrainiertes Modell 1406 auswählen, das aktualisiert, neu trainiert und/oder feinabgestimmt werden soll, und das vortrainierte Modell 1406 kann als Ausgangsmodell 1504 für das Trainingssystem 1304 innerhalb des Prozesses 1500 bezeichnet werden. In mindestens einer Ausführungsform kann der Kundendatensatz 1506 (z.B. Bildgebungsdaten, Genomikdaten, Sequenzierungsdaten oder andere Datentypen, die von Geräten in einer Einrichtung erzeugt werden) verwendet werden, um das Modelltraining 1314 (das ohne Beschränkung Transferlernen umfassen kann) auf dem Ausgangsmodell 1504 durchzuführen, um ein verfeinertes Modell 1512 zu erzeugen. In mindestens einer Ausführungsform können die dem Kundendatensatz 1506 entsprechenden Grundwahrheitsdaten vom Trainingssystem 1304 erzeugt werden. In mindestens einer Ausführungsform können die Grundwahrheitsdaten zumindest teilweise von Klinikern, Wissenschaftlern, Ärzten, Praktikern in einer Einrichtung generiert werden (z.B. als markierte Klinikdaten 1312 von 13).
  • In mindestens einer Ausführungsform kann die KI-gestützte Annotation 1310 in einigen Beispielen verwendet werden, um Ground-Truth-Daten zu erzeugen. In mindestens einer Ausführungsform kann die KI-gestützte Annotation 1310 (z.B. unter Verwendung eines SDK für die KI-gestützte Annotation) Modell maschinellen Lernens (z.B. neuronale Netzwerke) nutzen, um vorgeschlagene oder vorhergesagte Grundwahrheitsdaten für einen Kundendatensatz zu erzeugen. In mindestens einer Ausführungsform kann der Benutzer 1510 Annotationswerkzeuge innerhalb einer Benutzeroberfläche (einer grafischen Benutzeroberfläche (GUI)) auf der Rechen- bzw. Computervorrichtung 1508 verwenden.
  • In mindestens einer Ausführungsform kann der Benutzer 1510 über das Computergerät 1508 mit einer grafischen Benutzeroberfläche interagieren, um (Auto-)Annotationen zu bearbeiten oder fein abzustimmen. In mindestens einer Ausführungsform kann eine Polygonbearbeitungsfunktion verwendet werden, um Eckpunkte eines Polygons an genauere oder feinere Positionen zu verschieben.
  • In mindestens einer Ausführungsform können, sobald dem Kundendatensatz 1506 Grundwahrheitsdaten zugeordnet sind, Grundwahrheitsdaten (z.B. aus KI-gestützter Annotation, manueller Beschriftung usw.) während des Modelltrainings 1314 verwendet werden, um ein verfeinertes Modell 1512 zu erstellen. In mindestens einer Ausführungsform kann der Kundendatensatz 1506 beliebig oft auf das Ausgangsmodell 1504 angewendet werden, und die Grundwahrheitsdaten können zur Aktualisierung der Parameter des Ausgangsmodells 1504 verwendet werden, bis ein akzeptables Genauigkeitsniveau für das verfeinerte Modell 1512 erreicht ist. In mindestens einer Ausführungsform kann das verfeinerte Modell 1512, sobald es generiert ist, in einer oder mehreren Einsatzpipelines 1410 in einer Einrichtung eingesetzt werden, um eine oder mehrere Verarbeitungsaufgaben in Bezug auf medizinische Bildgebungsdaten durchzuführen.
  • In mindestens einer Ausführungsform kann das verfeinerte Modell 1512 zu den bereits trainierten Modellen 1406 in der Modellregistrierung 1324 hochgeladen werden, um von einer anderen Einrichtung ausgewählt zu werden. In mindestens einer Ausführungsform kann dieser Prozess in einer beliebigen Anzahl von Einrichtungen abgeschlossen werden, so dass das verfeinerte Modell 1512 beliebig oft an neuen Datensätzen weiter verfeinert werden kann, um ein universelleres Modell zu erzeugen.
  • 15B ist eine beispielhafte Darstellung einer Client-Server-Architektur 1532 zur Verbesserung von Anmerkungswerkzeugen mit vorab trainierten Anmerkungsmodellen gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform können KI-gestützte Annotationswerkzeuge 1536 auf der Grundlage einer Client-Server-Architektur 1532 instanziiert werden. In mindestens einer Ausführungsform können die Annotationswerkzeuge 1536 in bildgebenden Anwendungen Radiologen beispielsweise bei der Identifizierung von Organen und Anomalien unterstützen. In mindestens einer Ausführungsform können Bildgebungsanwendungen Softwaretools enthalten, die dem Benutzer 1510 helfen, als nicht beschränkendes Beispiel einige extreme Punkte auf einem bestimmten Organ von Interesse in Rohbildern 1534 (z.B. in einem 3D-MRI- oder CT-Scan) zu identifizieren und automatisch kommentierte Ergebnisse für alle 2D-Schichten eines bestimmten Organs zu erhalten. In mindestens einer Ausführungsform können die Ergebnisse in einem Datenspeicher als Trainingsdaten 1538 gespeichert und als (z.B. und ohne Beschränkung darauf) Grundwahrheitsdaten für das Training verwendet werden. In mindestens einer Ausführungsform kann ein Deep-Learning-Modell, wenn die Datenverarbeitungsvorrichtung 1508 Extrempunkte für die KI-unterstützte Annotation 1310 sendet, diese Daten als Eingabe empfangen und Inferenzierungsergebnisse eines segmentierten Organs oder einer Abnormalität zurückgeben. In mindestens einer Ausführungsform können voreingestellte Annotationswerkzeuge, wie das Klunterstützte Annotationswerkzeug 1536B in 15B, durch API-Aufrufe (z.B. API-Aufruf 1544) an einen Server, wie einen Annotationsassistenzserver 1540, der einen Satz vortrainierter Modelle 1542 enthalten kann, die z.B. in einem Annotationsmodellregister gespeichert sind, verbessert werden. In mindestens einer Ausführungsform kann eine Annotationsmodellregistrierung vorab trainierte Modelle 1542 (z.B. Modelle für maschinelles Lernen, wie Deep-Learning-Modelle) speichern, die vorab trainiert wurden, um eine KI-gestützte Annotation für ein bestimmtes Organ oder eine Anomalie durchzuführen. Diese Modelle können mit Hilfe von Trainings-Pipelines 1404 weiter aktualisiert werden. In mindestens einer Ausführungsform können die vorinstallierten Annotationswerkzeuge im Laufe der Zeit verbessert werden, wenn neue beschriftete Klinikdaten 1312 hinzugefügt werden.
  • Solche Komponenten können verwendet werden, um konstituierende Bilder unter Verwendung von Parametern, die aus einem oder mehreren Qualitätsbewertungswerten ermittelt wurden, zu einer einzigen Darstellung zusammenzusetzen.
  • AUTOMATISIERTE TECHNOLOGIE
  • 16A ist ein Blockdiagramm, das eine beispielhafte Systemarchitektur für das autonome Fahrzeug 1600 aus 16A veranschaulicht, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform ist jede(s) der Komponenten, Merkmale und Systeme des Fahrzeugs 1600 in 16A als über einen Bus 1602 verbunden dargestellt. In mindestens einer Ausführungsform kann der Bus 1602, ohne darauf beschränkt zu sein, eine CAN-Datenschnittstelle (hierin alternativ als „CAN-Bus“ bezeichnet) umfassen. In mindestens einer Ausführungsform kann ein CAN-Bus ein Netzwerk innerhalb des Fahrzeugs 1600 sein, das zur Unterstützung der Steuerung verschiedener Merkmale und Funktionen des Fahrzeugs 1600 verwendet wird, wie z.B. Betätigung von Bremsen, Beschleunigung, Bremsen, Lenkung, Scheibenwischern usw. In mindestens einer Ausführungsform kann der Bus 1602 so konfiguriert sein, dass er Dutzende oder sogar Hunderte von Knoten hat, von denen jeder seine eigene eindeutige Kennung (z.B. eine CAN-ID) hat. In mindestens einer Ausführungsform kann der Bus 1602 ausgelesen werden, um den Lenkradwinkel, die Fahrgeschwindigkeit, die Motorumdrehungen pro Minute („RPMs“), die Tastenpositionen und/oder andere Fahrzeugstatusanzeigen zu ermitteln. In mindestens einer Ausführungsform kann der Bus 1602 ein CAN-Bus sein, der ASIL B-konform ist.
  • In mindestens einer Ausführungsform können zusätzlich zu oder alternativ zu CAN auch FlexRay und/oder Ethernet verwendet werden. In mindestens einer Ausführungsform kann es eine beliebige Anzahl von Bussen 1602 geben, die, ohne darauf beschränkt zu sein, null oder mehr CAN-Busse, null oder mehr FlexRay-Busse, null oder mehr Ethernet-Busse und/oder null oder mehr andere Arten von Bussen mit einem anderen Protokoll umfassen können. In mindestens einer Ausführungsform können zwei oder mehr Busse 1602 verwendet werden, um unterschiedliche Funktionen auszuführen, und/oder sie können für Redundanz verwendet werden. Zum Beispiel kann ein erster Bus 1602 für die Kollisionsvermeidungsfunktionalität und ein zweiter Bus 1602 für die Betätigungssteuerung verwendet werden. In mindestens einer Ausführungsform kann jeder Bus 1602 mit beliebigen Komponenten des Fahrzeugs 1600 kommunizieren, und können zwei oder mehr Busse 1602 mit gleichen Komponenten kommunizieren. In mindestens einer Ausführungsform kann jede beliebige Anzahl von System(en) auf Chip(s) („SoC(s)“) 1604, jede von Steuereinrichtung(en) 1636 und/oder jeder Computer in dem Fahrzeug Zugriff auf dieselben Eingangsdaten (z.B. Eingaben von Sensoren des Fahrzeugs 1600) haben und mit einem gemeinsamen Bus, wie beispielsweise dem CAN-Bus, verbunden sein.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 ein oder mehrere Steuergerät(e) 1636 enthalten, wie sie hierin in Bezug auf 16A beschrieben sind. Die Steuereinrichtung(en) 1636 können für eine Vielzahl von Funktionen verwendet werden. In mindestens einer Ausführungsform kann (können) das (die) Steuergerät(e) 1636 mit verschiedenen anderen Komponenten und Systemen des Fahrzeugs 1600 gekoppelt sein, und kann (können) für die Steuerung des Fahrzeugs 1600, die künstliche Intelligenz des Fahrzeugs 1600, das Infotainment für das Fahrzeug 1600 und/oder dergleichen verwendet werden.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 eine beliebige Anzahl von SoCs 1604 enthalten. Jeder der SoCs 1604 kann, ohne darauf beschränkt zu sein, zentrale Verarbeitungseinheiten („CPU(s)“) 1606, Grafikverarbeitungseinheiten („GPU(s)“) 1608, Prozessor(en) 1610, Cache(s) 1612, einen oder mehrere Beschleuniger 1614, einen oder mehrere Datenspeicher 1616 und/oder andere nicht dargestellte Komponenten und Merkmale enthalten. In mindestens einer Ausführungsform können SoC(s) 1604 zur Steuerung des Fahrzeugs 1600 in einer Vielzahl von Plattformen und Systemen verwendet werden. Zum Beispiel können in mindestens einer Ausführungsform SoC(s) 1604 in einem System (z.B. System des Fahrzeugs 1600) mit einer High-Definition („HD“)-Karte 1622 kombiniert sein, die Kartenauffrischungen und/oder -aktualisierungen über die Netzwerkschnittstelle 1624 von einem oder mehreren Servern (in 16A nicht dargestellt) erhalten kann.
  • In mindestens einer Ausführungsform kann (können) die CPU(s) 1606 einen CPU-Cluster oder CPU-Komplex (hierin alternativ als „CCPLEX“ bezeichnet) umfassen. In mindestens einer Ausführungsform, kann/können die CPU(s) 1606 mehrere Kerne und/oder Level-2-Caches („L2“) enthalten. In mindestens einer Ausführungsform kann (können) die CPU(s) 1606 beispielsweise acht Kerne in einer kohärenten Multiprozessorkonfiguration umfassen. In mindestens einer Ausführungsform kann (können) die CPU(s) 1606 vier Dual-Kern-Cluster umfassen, wobei jeder Cluster über einen dedizierten L2-Cache verfügt (z.B. einen 2 MB L2-Cache). In mindestens einer Ausführungsform kann (können) die CPU(s) 1606 (z.B. CCPLEX) so konfiguriert sein, dass sie den gleichzeitigen Clusterbetrieb unterstützen, so dass eine beliebige Kombination von Clustern der CPU(s) 1606 zu einem beliebigen bestimmten Zeitpunkt aktiv sein kann.
  • In mindestens einer Ausführungsform können eine oder mehrere der CPU(s) 1606 Energieverwaltungsfunktionen implementieren, die, ohne darauf beschränkt zu sein, eine oder mehrere der folgenden Funktionen umfassen: einzelne Hardwareblöcke können im Leerlauf automatisch getaktet werden, um dynamische Energie zu sparen; jeder Kerntakt kann getaktet werden, wenn der Kern aufgrund der Ausführung von Wait for Interrupt („WFI“)/Wait for Event („WFE“)-Anweisungen nicht aktiv Anweisungen ausführt; jeder Kern kann unabhängig energiegesteuert werden; jeder Kerncluster kann unabhängig getaktet werden, wenn alle Kerne getaktet oder energiegesteuert werden; und/oder jeder Kerncluster kann unabhängig energiegesteuert werden, wenn alle Kerne energiegesteuert werden. In mindestens einer Ausführungsform kann/können die CPU(s) 1606 außerdem einen erweiterten Algorithmus für die Verwaltung von Energiezuständen implementieren, bei dem die zulässigen Energiezustände und die erwarteten Aufwachzeiten festgelegt werden und die Hardware/der Mikrocode den besten Energiezustand bestimmt, der für den Kern, den Cluster und CCPLEX einzunehmen ist. In mindestens einer Ausführungsform können Prozessorkerne vereinfachte Energiezustands-Eintrittssequenzen in Software unterstützen, wobei die Arbeit an Mikrocode ausgelagert wird.
  • In mindestens einer Ausführungsform kann (können) die GPU(s) 1608 eine integrierte GPU enthalten (hier alternativ als „iGPU“ bezeichnet). In mindestens einer Ausführungsform kann (können) die GPU(s) 1608 programmierbar sein und für parallele Arbeitslasten effizient sein. In mindestens einer Ausführungsform kann (können) die GPU(s) 1608 einen erweiterten Tensor-Befehlssatz verwenden. In mindestens einer Ausführungsform kann (können) GPU(s) 1608 einen oder mehrere Streaming-Mikroprozessoren enthalten, wobei jeder Streaming-Mikroprozessor einen Cache der Ebene eins („L1“) enthalten kann (z. B. einen L1-Cache mit einer Speicherkapazität von mindestens 96 KB), und sich zwei oder mehr Streaming-Mikroprozessoren einen L2-Cache (z. B. einen L2-Cache mit einer Speicherkapazität von 512 KB) teilen können. In mindestens einer Ausführungsform kann (können) die GPU(s) 1608 mindestens acht Streaming-Mikroprozessoren enthalten. In mindestens einer Ausführungsform kann (können) die GPU(s) 1608 eine oder mehrere Anwendungsprogrammierschnittstellen (API(s)) für Berechnungen verwenden. In mindestens einer Ausführungsform kann (können) die GPU(s) 1608 eine oder mehrere parallele Rechenplattformen und/oder Programmiermodelle (z. B. CUDA von NVIDIA) verwenden.
  • In mindestens einer Ausführungsform können eine oder mehrere der GPU(s) 1608 für beste Leistung in Automobil- und eingebetteten Anwendungsfällen energieoptimiert sein. In einer Ausführungsform könnte(n) die GPU(s) 1608 beispielsweise auf einem Fin-Feldeffekttransistor („FinFET“)-Schaltkreis gefertigt sein. In mindestens einer Ausführungsform kann jeder Streaming-Mikroprozessor eine Anzahl von Gemischtgenauigkeits- bzw. Mixed-Precision-Verarbeitungskernen enthalten, die in mehrere Blöcke unterteilt sind. Beispielsweise, und ohne darauf beschränkt zu sein, könnten 64 PF32-Kerne und 32 PF64-Kerne in vier Verarbeitungsblöcke partitioniert sein. In mindestens einer Ausführungsform könnten jedem Verarbeitungsblock 16 FP32 Kerne, 8 FP64 Kerne, 16 INT32 Kerne, zwei gemischt-präzise NVIDIA TENSOR Kerne für Deep-Learning-Matrix-Arithmetik, ein Level-Null („L0“) Anweisungscache, ein Warp-Planer, eine Versendeeinheit und/oder eine 64 KB große Registerdatei zugewiesen sein. In mindestens einer Ausführungsform können Streaming-Mikroprozessoren unabhängige parallele Ganzzahl- und Gleitkomma-Datenpfade enthalten, um eine effiziente Ausführung von Arbeitslasten mit einer Mischung aus Berechnungen und Adressierungsberechnungen zu ermöglichen. In mindestens einer Ausführungsform können Streaming-Mikroprozessoren unabhängige Thread-Planungsfunktionen enthalten, um eine feinkörnigere Synchronisation und Kooperation zwischen parallelen Threads zu ermöglichen. In mindestens einer Ausführungsform können Streaming-Mikroprozessoren einen kombinierten L1-Datencache und eine Einheit für gemeinsam genutzten Speicher enthalten, um die Leistung zu verbessern und gleichzeitig die Programmierung zu vereinfachen.
  • In mindestens einer Ausführungsform können eine oder mehrere der GPU(s) 1608 einen Speicher mit hoher Bandbreite („HBM“) und/oder ein 16-GB-HBM2-Speicher-Subsystem enthalten, um in einigen Beispielen eine Spitzen-Speicherbandbreite von etwa 900 GB/Sekunde bereitzustellen. In mindestens einer Ausführungsform kann zusätzlich oder alternativ zu dem HBM-Speicher ein synchroner Grafik-Direktzugriffsspeicher („SGRAM“) verwendet werden, z.B. ein synchroner Grafik-Direktzugriffsspeicher mit doppelter Datenrate vom Typ 5 („GDDR5“).
  • In mindestens einer Ausführungsform kann (können) GPU(s) 1608 eine Unified-Memory-Technologie bzw. Technologie für vereinigten Speicher enthalten. In mindestens einer Ausführungsform kann die Unterstützung von Adressübersetzungsdiensten („ATS“) verwendet werden, damit die GPU(s) 1608 direkt auf Seitentabellen der CPU(s) 1606 zugreifen kann. In mindestens einer Ausführungsform kann, wenn eine Speicherverwaltungseinheit („MMU“) der GPU(s) 1608 einen Fehler feststellt, eine Adressübersetzungsanforderung an die CPU(s) 1606 gesendet werden. Als Antwort darauf kann (können) in mindestens einer Ausführungsform CPU(s) 1606 in ihren Seitentabellen nach einer virtuell-physischen Zuordnung für die Adresse suchen und die Übersetzung zurück an die GPU(s) 1608 übertragen. In mindestens einer Ausführungsform kann die Unified-Memory-Technologie einen einzigen vereinheitlichten virtuellen Adressraum für den Speicher sowohl der CPU(s) 1606 als auch der GPU(s) 1608 ermöglichen, wodurch die Programmierung der GPU(s) 1608 und die Portierung von Anwendungen auf die GPU(s) 1608 vereinfacht wird.
  • In mindestens einer Ausführungsform kann (können) die GPU(s) 1608 eine beliebige Anzahl von Zugriffszählern enthalten, die die Häufigkeit des Zugriffs der GPU(s) 1608 auf den Speicher anderer Prozessoren verfolgen können. In mindestens einer Ausführungsform können Zugriffszähler dazu beitragen, dass Speicherseiten in den physischen Speicher eines Prozessors verschoben werden, der am häufigsten auf Seiten zugreift, wodurch die Effizienz für von Prozessoren gemeinsam genutzte Speicherbereiche verbessert wird.
  • In mindestens einer Ausführungsform können ein oder mehrere SoC(s) 1604 eine beliebige Anzahl von Cache(s) 1612 enthalten, einschließlich der hierin beschriebenen. In mindestens einer Ausführungsform könnte(n) der/die Cache(s) 1612 beispielsweise einen Level-3-Cache („L3“) umfassen, der sowohl für die CPU(s) 1606 als auch für die GPU(s) 1608 verfügbar ist (z.B. der sowohl mit der/den CPU(s) 1606 als auch mit der/den GPU(s) 1608 verbunden ist). In mindestens einer Ausführungsform kann (können) der (die) Cache(s) 1612 einen Zurückschreibe-bzw. Write-Back-Cache umfassen, der die Zustände von Leitungen verfolgen kann, z.B. durch Verwendung eines Cache-Kohärenzprotokolls (z.B. MEI, MESI, MSI usw.). In mindestens einer Ausführungsform kann ein L3-Cache 4 MB oder mehr umfassen, je nach Ausführungsform, obwohl auch kleinere Cache-Größen verwendet werden können.
  • In mindestens einer Ausführungsform können ein oder mehrere SoC(s) 1604 einen oder mehrere Beschleuniger 1614 (z.B. Hardware-Beschleuniger, Software-Beschleuniger oder eine Kombination davon) enthalten. In mindestens einer Ausführungsform kann (können) der (die) SoC(s) 1604 einen Hardware-Beschleunigungscluster enthalten, der optimierte Hardware-Beschleuniger und/oder einen großen On-Chip-Speicher umfassen kann. In mindestens einer Ausführungsform kann ein großer On-Chip-Speicher (z.B. 4 MB SRAM) den Hardware-Beschleunigungscluster in die Lage versetzen, neuronale Netzwerke und andere Berechnungen zu beschleunigen. In mindestens einer Ausführungsform kann der Hardware-Beschleunigungscluster zur Ergänzung der GPU(s) 1608 und zur Auslagerung einiger Aufgaben der GPU(s) 1608 verwendet werden (z.B. um mehr Zyklen der GPU(s) 1608 für die Ausführung anderer Aufgaben freizugeben). In mindestens einer Ausführungsform könnte(n) der/die Beschleuniger 1614 für gezielte Arbeitslasten (z.B. Wahrnehmung, neuronale Faltungsnetzwerke („CNNs“, Convolutional Neural Networks), rekurrente Neuronale Netzwerke („RNNs“, Recurrent Neuronal Networks) usw.) verwendet werden, die stabil genug sind, um für Beschleunigung geeignet zu sein. In mindestens einer Ausführungsform kann ein CNN regionenbasierte oder regional faltende neuronale Netzwerke Netzwerk („RCNNs“, regional convolutional neural networks) und schnelle bzw. Fast RCNs (z.B. wie für die Objekterkennung verwendet) oder eine andere Art von CNN umfassen.
  • In mindestens einer Ausführungsform kann (können) der (die) Beschleuniger 1614 (z.B. ein Hardware-Beschleunigungscluster) einen Deep-Learning-Beschleuniger („DLA“; Deep Learning Accelerator) enthalten. Der/die DLA(s) kann (können), ohne darauf beschränkt zu sein, eine oder mehrere Tensor-Verarbeitungseinheiten („TPUs“, Tensor Processing Units) umfassen, die so konfiguriert sein können, dass sie zusätzliche zehn Billionen Operationen pro Sekunde für Deep-Learning-Anwendungen und Inferenzierung bereitstellen. In mindestens einer Ausführungsform können TPUs Beschleuniger sein, die für die Ausführung von Bildverarbeitungsfunktionen (z.B. für CNNs, RCNNs usw.) konfiguriert und optimiert sind. (Ein) DLA(s) (kann) können darüber hinaus für einen bestimmten Satz von Typen neuronaler Netzwerke und Fließkommaoperationen sowie für Inferenzierung optimiert sein. In mindestens einer Ausführungsform kann das Design von DLA(s) mehr Leistung pro Millimeter bieten als eine typische Universal-GPU und typischerweise die Leistung einer CPU weit übertreffen. In mindestens einer Ausführungsform kann (können) die TPU(s) mehrere Funktionen ausführen, einschließlich einer Einzelinstanz-Faltungsfunktion, die z.B. INT8-, INT16- und FP16-Datentypen sowohl für Merkmale als auch für Gewichte unterstützt, sowie Nachverarbeitungs- bzw. Postprozessorfunktionen. In mindestens einer Ausführungsform können DLA(s) schnell und effizient neuronale Netzwerke, insbesondere CNNs, auf verarbeiteten oder unverarbeiteten Daten für eine Vielzahl von Funktionen ausführen, einschließlich, zum Beispiel und ohne darauf beschränkt zu sein: ein CNN für die Identifizierung und Erkennung von Objekten unter Verwendung von Daten von Kamerasensoren; ein CNN für die Abstandsschätzung unter Verwendung von Daten von Kamerasensoren; ein CNN für die Erkennung und Identifizierung von Einsatzfahrzeugen und die Erkennung unter Verwendung von Daten von Mikrofonen 1696; ein CNN für die Gesichtserkennung und die Identifizierung des Fahrzeugbesitzers unter Verwendung von Daten von Kamerasensoren; und/oder ein CNN für sicherheitsrelevante und/oder sicherheitsbezogene Ereignisse.
  • In mindestens einer Ausführungsform können DLA(s) eine beliebige Funktion der GPU(s) 1608 übernehmen, und kann durch die Verwendung eines Inferenzbeschleunigers ein Entwickler auf beispielsweise entweder DLA(s) oder GPU(s) 1608 für jede beliebige Funktion abzielen. In mindestens einer Ausführungsform kann der Entwickler beispielsweise die Verarbeitung von CNNs und Fließkommaoperationen auf DLA(s) konzentrieren und andere Funktionen der/den GPU(s) 1608 und/oder anderen Beschleuniger(n) 1614 überlassen.
  • In mindestens einer Ausführungsform kann (können) der (die) Beschleuniger 1614 (z.B. ein Hardwarebeschleunigercluster) einen oder mehrere programmierbaren Bildverarbeitungsbeschleuniger („PVA“, Programmable Vision Accelerator) enthalten, der hierin alternativ als Computer-Vision-Beschleuniger bezeichnet werden kann. In mindestens einer Ausführungsform kann (können) der (die) PVA(s) so ausgelegt und konfiguriert sein, dass er (sie) Computer-Vision-Algorithmen für fortschrittliche Fahrerassistenzsysteme („ADAS“) 1638, autonomes Fahren, Augmented-Reality („AR“)-Anwendungen und/oder Virtual-Reality („VR“)-Anwendungen beschleunigt. (Ein) PVA(s) (kann) können ein Gleichgewicht zwischen Leistung und Flexibilität bereitstellen. In mindestens einer Ausführungsform kann jeder/können PVA(s) beispielsweise, und ohne darauf beschränkt zu sein, eine beliebige Anzahl von Computer-Kernen mit reduziertem Befehlssatz („RISC“-Kerne, Reduced Instruction Set Computer-Kerne), direkten Speicherzugriff („DMA“, Direct Memory Access) und/oder eine beliebige Anzahl von Vektorprozessoren umfassen.
  • In mindestens einer Ausführungsform können RISC-Kerne mit Bildsensoren (z.B. Bildsensoren einer beliebigen von hierin beschriebenen Kameras), einem oder mehreren Bildsignalprozessor(en) und/oder dergleichen interagieren. In mindestens einer Ausführungsform kann jeder von RISC-Kernen eine beliebige Menge an Speicher enthalten. In mindestens einer Ausführungsform können die RISC-Kerne je nach Ausführungsform eine beliebige Anzahl von Protokollen verwenden. In mindestens einer Ausführungsform können RISC-Kerne ein Echtzeitbetriebssystem („RTOS“) ausführen. In mindestens einer Ausführungsform können RISC-Kerne mit einem oder mehreren integrierten Schaltkreisen, anwendungsspezifischen integrierten Schaltkreisen („ASICs“) und/oder Speicherbausteinen implementiert sein. In mindestens einer Ausführungsform können RISC-Kerne beispielsweise einen Anweisungs-Cache und/oder einen eng gekoppelten RAM enthalten.
  • In mindestens einer Ausführungsform kann der DMA Komponenten des/der PVA(s) ermöglichen, unabhängig von der/den CPU(s) 1606 auf den Systemspeicher zuzugreifen. In mindestens einer Ausführungsform kann der DMA eine beliebige Anzahl von Funktionen unterstützen, die zur Optimierung des PVA verwendet werden, einschließlich der, aber nicht beschränkt auf die, Unterstützung mehrdimensionaler Adressierung und/oder zirkulärer Adressierung. In mindestens einer Ausführungsform kann der DMA bis zu sechs oder mehr Dimensionen der Adressierung unterstützen, die, ohne darauf beschränkt zu sein, Blockbreite, Blockhöhe, Blocktiefe, horizontale Blockabstufung, vertikale Blockabstufung und/oder Tiefenabstufung umfassen können.
  • In mindestens einer Ausführungsform können Vektorprozessoren programmierbare Prozessoren sein, die für eine effiziente und flexible Ausführung der Programmierung für Computer-Vision-Algorithmen ausgelegt sein können und Signalverarbeitungsfunktionen bereitstellen. In mindestens einer Ausführungsform kann der PVA einen PVA-Kern und zwei Vektorverarbeitungs-Subsystem-Partitionen umfassen. In mindestens einer Ausführungsform kann der PVA-Kern ein Prozessor-Subsystem, DMA-Engine(s) (z.B. zwei DMA-Engines) und/oder andere Peripheriegeräte umfassen. In mindestens einer Ausführungsform kann das Vektorverarbeitungs-Subsystem als primäre Verarbeitungs-Engine der PVA arbeiten und eine Vektorverarbeitungseinheit („VPU“), einen Anweisungscache und/oder einen Vektorspeicher (z.B. „VMEM“) enthalten. In mindestens einer Ausführungsform kann der VPU-Kern einen digitalen Signalprozessor enthalten, wie z.B. einen digitalen Signalprozessor mit Einzelbefehl und Mehrfachdaten („SIMD“) und sehr langen Anweisungsworten („VLIW“). In mindestens einer Ausführungsform kann eine Kombination aus SIMD und VLIW den Durchsatz und die Geschwindigkeit erhöhen.
  • In mindestens einer Ausführungsform kann jeder der Vektorprozessoren einen Anweisungscache enthalten und mit einem dedizierten Speicher gekoppelt sein. Als Ergebnis kann in mindestens einer Ausführungsform jeder der Vektorprozessoren so konfiguriert sein, dass er unabhängig von anderen Vektorprozessoren ausgeführt wird. In mindestens einer Ausführungsform können die Vektorprozessoren, die in einem bestimmten PVA enthalten sind, so konfiguriert sein, dass sie Datenparallelität verwenden. Zum Beispiel kann in mindestens einer Ausführungsform eine Vielzahl von Vektorprozessoren, die in einem einzigen PVA enthalten sind, einen gleichen Computer-Vision-Algorithmus ausführen, aber auf verschiedenen Regionen eines Bildes. In mindestens einer Ausführungsform können in einem bestimmten PVA enthaltene Vektorprozessoren gleichzeitig verschiedene Computer-Vision-Algorithmen auf einem gleichen Bild ausführen oder sogar verschiedene Algorithmen auf aufeinanderfolgenden Bildern oder Teilen eines Bildes ausführen. In mindestens einer Ausführungsform kann unter anderem eine beliebige Anzahl von PVAs in einem Hardware-Beschleunigungscluster enthalten sein, und kann eine beliebige Anzahl von Vektorprozessoren in jedem PVA enthalten sein. In mindestens einer Ausführungsform können die PVA(s) einen zusätzlichen ECC (Error Correcting Code)-Speicher enthalten, um die Sicherheit des Gesamtsystems zu erhöhen.
  • In mindestens einer Ausführungsform kann (können) der (die) Beschleuniger 1614 (z.B. ein Hardwarbeschleunigercluster) ein Computer-Vision-Netzwerk auf dem Chip und einen statischen Direktzugriffsspeicher („SRAM“) umfassen, um einen SRAM mit hoher Bandbreite und geringer Latenz für den (die) Beschleuniger 1614 bereitzustellen. In mindestens einer Ausführungsform kann der On-Chip-Speicher aus mindestens 4 MB SRAM bestehen, der z.B., und ohne darauf beschränkt zu sein, aus acht feldkonfigurierbaren Speicherblöcken besteht, auf die sowohl ein PVA als auch ein DLA zugreifen können. In mindestens einer Ausführungsform kann jedes Paar von Speicherblöcken eine erweiterte Peripheriebus-Schnittstelle („APB“, Advanced Peripheral Bus), Konfigurationsschaltungen, eine Steuereinrichtung und einen Multiplexer enthalten. In mindestens einer Ausführungsform kann jeder Speichertyp verwendet werden. In mindestens einer Ausführungsform können ein PVA und ein DLA auf den Speicher über ein Backbone zugreifen, das einem PVA und einem DLA einen Hochgeschwindigkeitszugriff auf den Speicher ermöglicht. In mindestens einer Ausführungsform kann das Backbone ein Computer-Vision-Netzwerk auf dem Chip umfassen, das einen PVA und einen DLA mit dem Speicher verbindet (z.B. unter Verwendung des APB).
  • In mindestens einer Ausführungsform kann das Computer-Vision-Netzwerk auf dem Chip eine Schnittstelle enthalten, die vor der Übertragung von Steuersignalen/Adressen/Daten bestimmt, dass sowohl ein PVA als auch ein DLA bereitstehende und gültige Signale liefern. In mindestens einer Ausführungsform kann eine Schnittstelle separate Phasen und separate Kanäle für die Übertragung von Steuersignalen/Adressen/Daten sowie eine Burst-Kommunikation für eine kontinuierliche Datenübertragung bereitstellen. In mindestens einer Ausführungsform kann eine Schnittstelle den Standards der International Organization for Standardization („ISO“) 26262 oder der International Electrotechnical Commission („IEC“) 61508 entsprechen, obwohl auch andere Standards und Protokolle verwendet werden können.
  • In mindestens einer Ausführungsform können ein oder mehrere SoC(s) 1604 einen Echtzeit-Strahlenverfolgungs-Hardwarebeschleuniger enthalten. In mindestens einer Ausführungsform kann der Echtzeit-Strahlenverfolgungs-Hardwarebeschleuniger verwendet werden, um schnell und effizient Positionen und Ausmaße von Objekten (z.B. innerhalb eines Weltmodells) zu bestimmen, um Echtzeit-Visualisierungssimulationen zu erzeugen, für die RADAR-Signalinterpretation, für die Schallausbreitungssynthese und/oder -analyse, für die Simulation von SONAR-Systemen, für die allgemeine Wellenausbreitungssimulation, für den Vergleich mit LIDAR-Daten zum Zweck der Lokalisierung und/oder für andere Funktionen und/oder für andere Zwecke.
  • In mindestens einer Ausführungsform kann/können der/die Beschleuniger 1614 (z.B. ein Hardwarebeschleunigercluster) eine breite Palette von Anwendungen für autonomes Fahren haben. In mindestens einer Ausführungsform kann ein PVA ein programmierbarer Bildverarbeitungsbeschleuniger sein, der für wichtige Verarbeitungsschritte in ADAS und autonomen Fahrzeugen verwendet werden kann. In mindestens einer Ausführungsform sind die Fähigkeiten eines PVA eine gute Ergänzung für algorithmische Domänen, die eine vorhersagbare Verarbeitung bei geringer Leistung und niedriger Latenz benötigen. Mit anderen Worten: Ein PVA eignet sich gut für halbdichte oder dichte reguläre Berechnungen, selbst bei kleinen Datensätzen, die vorhersagbare Laufzeiten mit geringer Latenz und niedrigem Stromverbrauch erfordern. In mindestens einer Ausführungsform, autonomen Fahrzeugen, wie z.B. das Fahrzeug 1600, sind PVAs für die Ausführung klassischer Computer-Vision-Algorithmen entwickelt, da diese effizient bei der Objekterkennung sind und mit Ganzzahlen-Mathematik arbeiten.
  • Zum Beispiel wird gemäß mindestens einer Ausführungsform der Technologie ein PVA verwendet, um Computer-Stereo-Vision durchzuführen. In mindestens einer Ausführungsform kann in einigen Beispielen ein auf semiglobalem Matching basierender Algorithmus verwendet werden, obwohl dies nicht beschränkend sein soll. In mindestens einer Ausführungsform verwenden Anwendungen für das autonome Fahren der Stufe 3-5 Bewegungsschätzung/Stereo-Matching on-the-fly (z.B. Struktur aus Bewegung, Fußgänger-erkennung, Fahrspurerkennung usw.). In mindestens einer Ausführungsform kann der PVA eine Computer-Stereo-Vision-Funktion auf Eingaben von zwei monokularen Kameras ausführen.
  • In mindestens einer Ausführungsform kann ein PVA verwendet werden, um einen dichten optischen Fluss durchzuführen. Zum Beispiel könnte in mindestens einer Ausführungsform ein PVA RADAR-Rohdaten verarbeiten (z.B. mit einer 4D-Fast-Fourier-Transformation), um verarbeitete RADAR-Daten bereitzustellen. In mindestens einer Ausführungsform wird ein PVA für die Flugzeittiefenverarbeitung verwendet, indem z.B. Flugzeit-Rohdaten verarbeitet werden, um verarbeitete Flugzeitdaten bereitzustellen.
  • In mindestens einer Ausführungsform kann ein DLA verwendet werden, um jede Art von Netzwerk zu betreiben, um die Kontrolle und die Fahrsicherheit zu verbessern, einschließlich zum Beispiel, und ohne darauf beschränkt zu sein, ein neuronales Netzwerk, das ein Konfidenz- bzw. Vertrauensmaß für jede Objekterkennung ausgibt. In mindestens einer Ausführungsform kann eine Konfidenz als eine Wahrscheinlichkeit dargestellt oder interpretiert werden, oder als Bereitstellung einer relativen „Gewichtung“ jeder Erkennung im Vergleich zu anderen Erkennungen. In mindestens einer Ausführungsform ermöglicht die Konfidenz dem System, weitere Entscheidungen darüber zu treffen, welche Erkennungen als echte positive Erkennungen und nicht als falsch positive Erkennungen zu betrachten sind. In mindestens einer Ausführungsform kann ein System einen Schwellenwert für die Konfidenz festlegen und nur Erkennungen, die den Schwellenwert überschreiten, als echte positive Erkennungen betrachten. In einer Ausführungsform, in der ein automatisches Notbremssystem („AEB“) verwendet wird, würden falsch positive Erkennungen dazu führen, dass das Fahrzeug automatisch eine Notbremsung durchführt, was natürlich unerwünscht ist. In mindestens einer Ausführungsform können sehr sichere Erkennungen als Auslöser für das AEB betrachtet werden. In mindestens einer Ausführungsform kann ein DLA ein neuronales Netzwerk zur Regression des Konfidenzwertes verwenden. In mindestens einer Ausführungsform kann das neuronale Netzwerk als Eingabe mindestens eine Teilmenge von Parametern verwenden, wie z.B. die Abmessungen des Begrenzungsrahmens, die (z.B. von einem anderen Teilsystem) erhaltene Schätzung der Bodenebene, die Ausgabe eines oder mehrerer IMU-Sensor(s/en) 1666, die mit der Ausrichtung des Fahrzeugs 1600 korreliert, die Entfernung, die 3D-Positionsschätzungen des Objekts, die von dem neuronalen Netzwerk und/oder anderen Sensoren (z.B. LIDAR-Sensor(en) 1664 oder RADAR-Sensor(en) 1660) erhalten werden, und andere.
  • In mindestens einer Ausführungsform kann (können) einer oder mehrere der SoC(s) 1604 Datenspeicher 1616 (z.B. einen Speicher) enthalten. In mindestens einer Ausführungsform kann (können) der (die) Datenspeicher 1616 ein On-Chip-Speicher des (der) SoC(s) 1604 sein, der (die) neuronale(n) Netzwerke speichern kann (können), die auf der (den) GPU(s) 1608 und/oder einem DLA ausgeführt werden. In mindestens einer Ausführungsform kann (können) der (die) Datenspeicher 1616 groß genug sein, um mehrere Instanzen von neuronalen Netzwerken zur Redundanz und Sicherheit zu speichern. In mindestens einer Ausführungsform kann (können) der (die) Datenspeicher 1616 L2 oder L3 Cache(s) umfassen.
  • In mindestens einer Ausführungsform kann (können) ein oder mehrere SoC(s) 1604 eine beliebige Anzahl von Prozessoren 1610 (z.B. eingebettete Prozessoren) enthalten. In mindestens einer Ausführungsform kann (können) der (die) Prozessor(en) 1610 einen Boot- und Energieverwaltungsprozessor umfassen, der ein dedizierter Prozessor und ein Subsystem sein kann, um Boot-Energie- und Verwaltungsfunktionen und die damit verbundene Sicherheitsdurchsetzung zu handhaben. In mindestens einer Ausführungsform kann der Boot- und Energieverwaltungsprozessor ein Teil einer Bootsequenz von SoC(s) 1604 sein und kann Laufzeit-Energieverwaltungsdienste bereitstellen. In mindestens einer Ausführungsform kann ein Boot- und Energieverwaltungsprozessor Takt- und Spannungsprogrammierung, Unterstützung bei Systemübergängen mit niedrigem Energiebedarf, Verwaltung von SoC(s) 1604-Temperaturen und Temperatursensoren und/oder Verwaltung von SoC(s) 1604-Energie- bzw. Leistungszuständen bereitstellen. In mindestens einer Ausführungsform kann jeder Temperatursensor als ein Ringoszillator implementiert sein, dessen Ausgangsfrequenz proportional zur Temperatur ist, und kann das (können die) SoC(s) 1604 Ringoszillatoren verwenden, um Temperaturen der CPU(s) 1606, der GPU(s) 1608 und/oder des/den Beschleuniger(s/n) 1614 zu erfassen. In mindestens einer Ausführungsform kann der Boot- und Energieverwaltungsprozessor, wenn bestimmt wird, dass die Temperaturen einen Schwellenwert überschreiten, in eine Temperaturfehlerroutine eintreten und SoC(s) 1604 in einen Zustand mit geringerer Leistung versetzen und/oder das Fahrzeug 1600 in einen Chauffeur-zusicherem-Halt-Modus versetzen (z.B. das Fahrzeug 1600 zu einem sicheren Halt bringen).
  • In mindestens einer Ausführungsform kann/können der/die Prozessor(en) 1610 außerdem eine Reihe von eingebetteten Prozessoren enthalten, die als Audioverarbeitungs-Engine dienen können. In mindestens einer Ausführungsform kann die Audioverarbeitungs-Engine ein Audio-Subsystem sein, das eine vollständige Hardware-Unterstützung für Mehrkanal-Audio über mehrere Schnittstellen sowie eine breite und flexible Palette von Audio-E/A-Schnittstellen ermöglicht. In mindestens einer Ausführungsform ist die Audioverarbeitungs-Engine ein dedizierter Prozessorkern mit einem digitalen Signalprozessor mit dediziertem RAM.
  • In mindestens einer Ausführungsform kann (können) der (die) Prozessor(en) 1610 außerdem eine „Immer eingeschaltet“-Prozessor-Engine enthalten, die die erforderlichen Hardware-Funktionen zur Unterstützung der Sensorverwaltung mit geringem Stromverbrauch und der Wake-Use-Cases bzw. Aufwachverwendungsfälle bereitstellen kann. In mindestens einer Ausführungsform kann die „Immer eingeschaltet“-Prozessor-Engine, ohne darauf beschränkt zu sein, einen Prozessorkern, ein eng gekoppeltes RAM, unterstützende Peripheriegeräte (z.B. Zeitgeber und Unterbrechungs-Steuereinrichtungen bzw. Interrupt-Controller), verschiedene E/A-Steuereinrichtungs-Peripheriegeräte und Weiterleitungs- bzw. Routing-Logik umfassen.
  • In mindestens einer Ausführungsform kann (können) der (die) Prozessor(en) 1610 außerdem eine Safety- bzw. Sicherheitscluster-Engine enthalten, die, ohne darauf beschränkt zu sein, ein dediziertes Prozessor-Subsystem zur Handhabung der Sicherheitsverwaltung für Automobilanwendungen umfasst. In mindestens einer Ausführungsform kann die Sicherheitscluster-Engine, ohne darauf beschränkt zu sein, zwei oder mehr Prozessorkerne, einen eng gekoppelten Arbeitsspeicher, unterstützende Peripheriegeräte (z.B. Zeitgeber, eine Unterbrechungs-Steuereinrichtung usw.) und/oder Weiterleitungslogik umfassen. In einem Sicherheitsmodus können zwei oder mehr Kerne in mindestens einer Ausführungsform in einem Verriegelungsschritt- bzw. Lockstep-Modus arbeiten und als ein einziger Kern mit einer Vergleichslogik arbeiten, um etwaige Unterschiede zwischen ihren Operationen zu erfassen. In mindestens einer Ausführungsform kann (können) der (die) Prozessor(en) 1610 außerdem eine Echtzeit-Kamera-Engine enthalten, die, ohne darauf beschränkt zu sein, ein dediziertes Prozessor-Subsystem zur Handhabung der Echtzeit-Kameraverwaltung umfassen kann. In mindestens einer Ausführungsform kann (können) der (die) Prozessor(en) 1610 außerdem einen Signalprozessor mit hohem Dynamikbereich umfassen, der, ohne darauf beschränkt zu sein, einen Bildsignalprozessor umfassen kann, der eine Hardware-Engine ist, die Teil der Kameraverarbeitungs-Pipeline ist.
  • In mindestens einer Ausführungsform kann (können) der (die) Prozessor(en) 1610 einen Videobildkompositor enthalten, der ein Verarbeitungsblock sein kann (z.B. auf einem Mikroprozessor implementiert), der Videonachbearbeitungsfunktionen implementiert, die von einer Videowiedergabeanwendung benötigt werden, um ein endgültiges Bild für ein Abspielerfenster zu erzeugen. In mindestens einer Ausführungsform kann der Videobildkompositor eine Linsenverzerrungskorrektur an der/den Weitwinkelkamera(s) 1670, der/den Surround-Kamera(s) 1674 und/oder an den Sensoren der Überwachungskamera(s) in der Kabine durchführen. In mindestens einer Ausführungsform wird/werden der/die Sensor(en) der kabineninternen Überwachungskamera(n) vorzugsweise von einem neuronalen Netzwerk überwacht, das auf einer anderen Instanz des/der SoC(s) 1604 läuft und so konfiguriert ist, dass es Ereignisse in der Kabine erkennt und entsprechend reagiert. In mindestens einer Ausführungsform kann ein System in der Kabine, ohne darauf beschränkt zu sein, ein Lippenlesen durchführen, um den Mobilfunkdienst zu aktivieren und einen Anruf zu tätigen, E-Mails zu diktieren, das Fahrzeugziel zu ändern, das Infotainment-System des Fahrzeugs und Einstellungen zu aktivieren oder zu ändern oder sprachaktiviertes Surfen im Internet zu ermöglichen. In mindestens einer Ausführungsform sind bestimmte Funktionen für den Fahrer verfügbar, wenn das Fahrzeug in einem autonomen Modus betrieben wird, und ansonsten deaktiviert.
  • In mindestens einer Ausführungsform kann der Videobildkompositor eine erweiterte zeitliche Rauschunterdrückung für sowohl räumliche als auch zeitliche Rauschunterdrückung enthalten. In mindestens einer Ausführungsform, in der Bewegung in einem Video vorkommt, gewichtet die Rauschunterdrückung beispielsweise die räumlichen Informationen entsprechend und verringert das Gewicht der Informationen, die von benachbarten Frames geliefert werden. In mindestens einer Ausführungsform, in der ein Bild oder ein Teil eines Bildes keine Bewegung enthält, kann die von dem Videobildkompositor durchgeführte zeitliche Rauschreduzierung Informationen aus dem vorherigen Bild verwenden, um das Rauschen in dem aktuellen Bild zu reduzieren.
  • In mindestens einer Ausführungsform kann der Videobildkompositor auch so konfiguriert sein, dass er eine Stereoentzerrung an eingegebenen Stereoobjektivrahmen durchführt. In mindestens einer Ausführungsform kann der Videobildkompositor auch für die Zusammenstellung der Benutzeroberfläche verwendet werden, wenn die Arbeitsoberfläche des Betriebssystems in Gebrauch ist und die GPU(s) 1608 nicht zum kontinuierlichen Rendern neuer Oberflächen erforderlich sind. In mindestens einer Ausführungsform kann der Videobildkompositor zur Entlastung der GPU(s) 1608 verwendet werden, wenn die GPU(s) 1608 eingeschaltet und aktiv mit dem 3D-Rendering beschäftigt sind, um die Leistung und das Ansprechvermögen zu verbessern.
  • In mindestens einer Ausführungsform können ein oder mehrere der SoC(s) 1604 außerdem eine serielle MIPI (Mobile Industry Processor Interface)-Kameraschnittstelle zum Empfangen von Video und Eingaben von Kameras, eine Hochgeschwindigkeitsschnittstelle und/oder einen Videoeingabeblock enthalten, der für die Kamera und verwandte Pixeleingabefunktionen verwendet werden kann. In mindestens einer Ausführungsform können ein oder mehrere SoC(s) 1604 außerdem einen oder mehrere Eingangs-/Ausgangs-Steuereinrichtungen enthalten, die per Software gesteuert werden können und für den Empfang von E/A-Signalen verwendet werden können, die keiner bestimmten Rolle zugeordnet sind.
  • In mindestens einer Ausführungsform können ein oder mehrere der SoC(s) 1604 außerdem eine breite Palette von Peripherieschnittstellen enthalten, um die Kommunikation mit Peripheriegeräten, Audio-Encodern/Decodern („Codecs“), einer Energieverwaltung und/oder anderen Geräten zu ermöglichen. Der/die SoC(s) 1604 kann/können verwendet werden, um Daten von Kameras (z.B. verbunden über Gigabit Multimedia Serial Link und Ethernet), Sensoren (z.B. LIDAR-Sensor(en) 1664, RADAR-Sensor(en) 1660, usw., die über Ethernet verbunden sein können), Daten von dem Bus 1602 (z.B. Geschwindigkeit des Fahrzeugs 1600, Lenkradposition, usw.), Daten von einem oder mehreren GNSS-Sensor(en) 1658 (z.B. verbunden über Ethernet oder CAN), usw. zu verarbeiten. In mindestens einer Ausführungsform können ein oder mehrere SoC der SoC(s) 1604 außerdem dedizierte Hochleistungs-Massenspeicher-Steuereinrichtungen enthalten, die ihre eigenen DMA-Engines enthalten können und die verwendet werden können, um die CPU(s) 1606 von Routine-Datenverwaltungsaufgaben zu befreien.
  • In mindestens einer Ausführungsform kann (können) der (die) SoC(s) 1604 eine Ende-zu-Ende-Plattform mit einer flexiblen Architektur sein, die die Automatisierungsebenen 3 bis 5 überspannt und dadurch eine umfassende funktionale Sicherheitsarchitektur bereitstellt, die Computer-Vision- und ADAS-Verfahren für Diversität und Redundanz nutzt und eine Plattform für einen flexiblen, zuverlässigen Fahrsoftware-Stack zusammen mit Deep-Learning-Tools bereitstellt. In mindestens einer Ausführungsform kann (können) der (die) SoC(s) 1604 schneller, zuverlässiger und sogar energie- und platzsparender als herkömmliche Systeme sein. Zum Beispiel können in mindestens einer Ausführungsform der/die Beschleuniger 1614 in Kombination mit der/den CPU(s) 1606, der/den GPU(s) 1608 und dem/den Datenspeicher(n) 1616 eine schnelle, effiziente Plattform für autonome Fahrzeuge der Stufe 3-5 bilden.
  • In mindestens einer Ausführungsform können Computer-Vision-Algorithmen auf CPUs ausgeführt werden, die mit einer höheren Programmiersprache, wie z.B. der Programmiersprache C, konfiguriert sein können, um eine Vielzahl von Verarbeitungsalgorithmen für eine Vielzahl von visuellen Daten auszuführen. In mindestens einer Ausführungsform sind CPUs jedoch oft nicht in der Lage, Leistungsanforderungen vieler Computer-Vision-Anwendungen zu erfüllen, z.B. in Bezug auf die Ausführungszeit und den Stromverbrauch. In mindestens einer Ausführungsform sind viele CPUs nicht in der Lage, komplexe Objekterkennungsalgorithmen in Echtzeit auszuführen, die in fahrzeuginternen ADAS-Anwendungen und in praktischen autonomen Fahrzeugen der Stufe 3-5 verwendet werden.
  • Hierin beschriebene Ausführungsformen ermöglichen eine gleichzeitige und/oder sequenzielle Ausführung mehrerer neuronaler Netzwerke und eine Kombination der Ergebnisse, um autonome Fahrfunktionen der Stufe 3-5 zu ermöglichen. Zum Beispiel kann in mindestens einer Ausführungsform ein CNN, das auf einem DLA oder einer diskreten GPU (z.B. der/den GPU(s) 1620) ausgeführt wird, eine Text- und Worterkennung beinhalten, die es einem Supercomputer ermöglichen, Verkehrszeichen zu lesen und zu verstehen, einschließlich von Zeichen, für die das neuronale Netzwerk nicht speziell trainiert wurde. In mindestens einer Ausführungsform kann ein DLA außerdem ein neuronales Netzwerk enthalten, das in der Lage ist, ein Schild zu identifizieren, zu interpretieren und semantisch zu verstehen und dieses semantische Verständnis an Wegplanungsmodule weiterzugeben, die auf einem CPU-Komplex laufen.
  • In mindestens einer Ausführungsform können mehrere neuronale Netzwerke gleichzeitig ausgeführt werden, wie beim Fahren in der Stufe 3, 4 oder 5. In mindestens einer Ausführungsform kann z.B. ein Warnschild mit der Aufschrift „Vorsicht: Blinkende Lichter weisen auf Vereisung hin“ zusammen mit einem elektrischen Licht von mehreren neuronalen Netzwerken unabhängig oder gemeinsam interpretiert werden. In mindestens einer Ausführungsform kann ein solches Schild selbst von einem ersten eingesetzten neuronalen Netzwerk (z.B. einem trainierten neuronalen Netzwerk) als Verkehrsschild identifiziert werden, und kann ein Text „Blinkende Lichter deuten auf Vereisung hin“ von einem zweiten eingesetzten neuronalen Netzwerk interpretiert werden, das eine Wegplanungssoftware des Fahrzeugs (die vorzugsweise auf einem CPU-Komplex ausgeführt wird) darüber informiert, dass dann, wenn blinkende Lichter erkannt werden, eine Vereisung vorliegt. In mindestens einer Ausführungsform kann ein blinkendes Licht durch den Betrieb eines dritten eingesetzten neuronalen Netzwerks über mehrere Frames hinweg identifiziert werden, das eine Wegplanungssoftware des Fahrzeugs über ein Vorhandensein (oder ein Fehlen) von blinkenden Lichtern informiert. In mindestens einer Ausführungsform können alle drei neuronalen Netzwerke gleichzeitig laufen, z.B. innerhalb eines DLA und/oder auf einer oder mehreren GPU(s) 1608.
  • In mindestens einer Ausführungsform kann ein CNN zur Gesichtserkennung und Identifizierung des Fahrzeugbesitzers Daten von Kamerasensoren verwenden, um die Anwesenheit eines autorisierten Fahrers und/oder Besitzers des Fahrzeugs 1600 zu identifizieren. In mindestens einer Ausführungsform kann eine „Immer eingeschaltet“-Sensorverarbeitungs-Engine verwendet werden, um das Fahrzeug zu entriegeln, wenn sich der Besitzer der Fahrertür nähert und die Lichter einschaltet, und um in einem Sicherheitsmodus das Fahrzeug zu deaktivieren, wenn der Besitzer das Fahrzeug verlässt. Auf diese Weise sorgen die SoC(s) 1604 für Sicherheit gegen Diebstahl und/oder räuberische Angriffe auf Kraftfahrer bzw. Carjacking.
  • In mindestens einer Ausführungsform kann ein CNN zur Erkennung und Identifizierung von Einsatzfahrzeugen Daten von Mikrofonen 1696 verwenden, um Sirenen von Einsatzfahrzeugen zu erkennen und zu identifizieren. In mindestens einer Ausführungsform verwenden SoC(s) 1604 ein CNN zur Klassifizierung von Umgebungs- und Stadtgeräuschen sowie zur Klassifizierung visueller Daten. In mindestens einer Ausführungsform wird ein CNN, das auf einem DLA läuft, trainiert, um eine relative Annäherungsgeschwindigkeit eines Einsatzfahrzeugs zu identifizieren (z.B. unter Verwendung eines Dopplereffekts). In mindestens einer Ausführungsform kann ein CNN auch darauf trainiert sein, Einsatzfahrzeuge zu identifizieren, die spezifisch für einen lokalen Bereich sind, in dem ein Fahrzeug fährt, wie von einem oder mehreren GNSS-Sensor(en) 1658 identifiziert. In mindestens einer Ausführungsform wird ein CNN bei einem Betrieb in Europa versuchen, europäische Sirenen zu erkennen, und bei einem Betrieb in den Vereinigten Staaten wird ein CNN versuchen, nur nordamerikanische Sirenen zu identifizieren. In mindestens einer Ausführungsform kann, sobald ein Einsatzfahrzeug erkannt wird, ein Steuerprogramm verwendet werden, um eine Sicherheitsroutine für Einsatzfahrzeuge auszuführen, ein Fahrzeug zu verlangsamen, an einen Straßenrand zu fahren, ein Fahrzeug zu parken und/oder ein Fahrzeug im Leerlauf laufen zu lassen, mit Hilfe von Ultraschallsensor(en) 1662, bis ein oder mehrere Einsatzfahrzeug(e) vorbeifahren.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 eine oder mehrere CPU(s) 1618 (z.B. diskrete CPU(s) oder dCPU(s)) enthalten, die über eine Hochgeschwindigkeitsverbindung (z.B. PCle) mit dem/den SoC(s) 1604 verbunden sein können. In mindestens einer Ausführungsform kann (können) die CPU(s) 1618 beispielsweise einen X86-Prozessor umfassen. Die CPU(s) 1618 kann/können verwendet werden, um eine Vielzahl von Funktionen auszuführen, einschließlich der Schlichtung potenziell inkonsistenter Ergebnisse zwischen ADAS-Sensoren und dem (der) SoC(s) 1604 und/oder der Überwachung des Status und der Gesundheit der Steuereinrichtung(en) 1636 und/oder eines Infotainment-Systems auf einem Chip („Infotainment-SoC“) 1630, zum Beispiel.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 GPU(s) 1620 (z.B. diskrete GPU(s) oder dGPU(s)) enthalten, die mit dem/den SoC(s) 1604 über eine Hochgeschwindigkeitsverbindung (z.B. NVIDIAs NVLINK) gekoppelt sein können. In mindestens einer Ausführungsform kann/können die GPU(s) 1620 zusätzliche künstliche Intelligenzfunktionalität bereitstellen, z.B. durch Ausführen redundanter und/oder unterschiedlicher neuronaler Netzwerke, und kann/können zum Trainieren und/oder Aktualisieren neuronaler Netzwerke verwendet werden, die zumindest teilweise auf Eingaben (z.B. Sensordaten) von Sensoren des Fahrzeugs 1600 basieren.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 ferner eine Netzwerkschnittstelle 1624 enthalten, die, ohne darauf beschränkt zu sein, eine oder mehrere drahtlose Antennen 1626 (z.B. eine oder mehrere drahtlose Antennen 1626 für verschiedene Kommunikationsprotokolle, wie eine Mobilfunkantenne, eine Bluetooth-Antenne usw.) umfassen kann. In mindestens einer Ausführungsform kann die Netzwerkschnittstelle 1624 verwendet werden, um eine drahtlose Verbindung über das Internet zur Cloud (z.B. mit Server(n) und/oder anderen Netzwerkgeräten), mit anderen Fahrzeugen und/oder mit Computergeräten (z.B. Client-Geräten von Fahrgästen) zu ermöglichen. In mindestens einer Ausführungsform kann zur Kommunikation mit anderen Fahrzeugen eine direkte Verbindung zwischen dem Fahrzeug 160 und einem anderen Fahrzeug und/oder eine indirekte Verbindung (z.B. über Netzwerke und über Internet) hergestellt werden. In mindestens einer Ausführungsform kann die direkte Verbindung über eine Fahrzeug-zu-Fahrzeug-Kommunikationsverbindung hergestellt werden. Die Fahrzeug-zu-Fahrzeug-Kommunikationsverbindung kann dem Fahrzeug 1600 Informationen über Fahrzeuge in der Nähe des Fahrzeugs 1600 liefern (z.B. Fahrzeuge vor, neben und/oder hinter dem Fahrzeug 1600). In mindestens einer Ausführungsform kann eine solche vorgenannte Funktionalität Teil einer kooperativen adaptiven Geschwindigkeitsregelungsfunktion des Fahrzeugs 1600 sein.
  • In mindestens einer Ausführungsform kann die Netzwerkschnittstelle 1624 ein SoC enthalten, das Modulations- und Demodulationsfunktionen bereitstellt und es der/den Steuereinrichtung(en) 1636 ermöglicht, über drahtlose Netzwerke zu kommunizieren. In mindestens einer Ausführungsform kann die Netzwerkschnittstelle 1624 ein Funkfrequenz-Frontend für die Aufwärtskonvertierung von Basisband auf Funkfrequenz und die Abwärtskonvertierung von Funkfrequenz auf Basisband enthalten. In mindestens einer Ausführungsform können die Frequenzumwandlungen auf jede technisch mögliche Weise durchgeführt werden. Zum Beispiel können Frequenzumwandlungen durch bekannte Verfahren und/oder unter Verwendung von Super-Heterodyn-Verfahren durchgeführt werden. In mindestens einer Ausführungsform kann die Hochfrequenz-Frontend-Funktionalität durch einen separaten Chip bereitgestellt werden. In mindestens einer Ausführungsform kann die Netzwerkschnittstelle eine drahtlose Funktionalität zur Kommunikation über LTE, WCDMA, UMTS, GSM, CDMA2000, Bluetooth, Bluetooth LE, Wi-Fi, Z-Wave, Zig-Bee, LoRaWAN und/oder andere drahtlose Protokolle umfassen.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 außerdem Datenspeicher 1628 enthalten, die, ohne darauf beschränkt zu sein, einen Speicher außerhalb des Chips (z.B. außerhalb des/der SoC(s) 1604) enthalten können. In mindestens einer Ausführungsform kann (können) der (die) Datenspeicher 1628, ohne darauf beschränkt zu sein, ein oder mehrere Speicherelemente umfassen, darunter RAM, SRAM, dynamischer Direktzugriffsspeicher („DRAM“), Video-Direktzugriffsspeicher („VRAM“), Flash, Festplatten und/oder andere Komponenten und/oder Geräte, die mindestens ein Bit von Daten speichern können.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 außerdem einen oder mehrere GNSS-Sensor(en) 1658 (z.B. GPS und/oder unterstützte GPS-Sensoren) enthalten, um bei der Kartierung, der Wahrnehmung, der Erzeugung von Belegungsrastern und/oder den Pfadplanungsfunktionen zu assistieren. In mindestens einer Ausführungsform kann eine beliebige Anzahl von GNSS-Sensor(en) 1658 verwendet werden, einschließlich, zum Beispiel und ohne darauf beschränkt zu sein, ein GPS, das einen USB-Anschluss mit einer Ethernet-zu-Seriell-Brücke (z.B. RS-232) verwendet.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 außerdem einen oder mehrere RADAR-Sensor(en) 1660 enthalten. Der/die RADAR-Sensor(en) 1660 kann/können von dem Fahrzeug 1600 zur Fahrzeugerfassung mit großer Reichweite verwendet werden, auch bei Dunkelheit und/oder schlechten Wetterbedingungen. In mindestens einer Ausführungsform können die RADAR-Funktionssicherheitsstufen ASIL B sein. Der/die RADAR-Sensor(en) 1660 kann/können ein CAN und/oder den Bus 1602 (z.B. zur Übertragung der von dem/den RADAR-Sensor(en) 1660 erzeugten Daten) zur Steuerung und zum Zugriff auf Objektverfolgungsdaten verwenden, wobei in einigen Beispielen der Zugriff auf Rohdaten über Ethernet erfolgt. In mindestens einer Ausführungsform kann eine breite Palette von RADAR-Sensortypen verwendet werden. Zum Beispiel, und ohne darauf beschränkt zu sein, kann/können der/die RADAR-Sensor(en) 1660 für die Verwendung von Front-, Heck- und Seiten-RADAR geeignet sein. In mindestens einer Ausführungsform sind einer oder mehrere des/der RADAR-Sensor(en) 1660 Puls-Doppler-RADAR-Sensor(en).
  • In mindestens einer Ausführungsform kann/können der/die RADAR-Sensor(en) 1660 verschiedene Konfigurationen umfassen, wie z.B. große Reichweite mit engem Sichtfeld, geringe Reichweite mit breitem Sichtfeld, seitliche Abdeckung mit geringer Reichweite usw. In mindestens einer Ausführungsform kann RADAR mit großer Reichweite für die adaptive Geschwindigkeitsregelungsfunktion verwendet werden. In mindestens einer Ausführungsform können RADAR-Systeme mit großer Reichweite ein breites Sichtfeld bereitstellen, das durch zwei oder mehr unabhängige Abtastungen realisiert wird, z.B. innerhalb eines Bereichs von 250 m. In mindestens einer Ausführungsform kann/können der/die RADAR-Sensor(en) 1660 dabei assistieren, zwischen statischen und sich bewegenden Objekten zu unterscheiden, und kann/können von dem ADAS-System 1638 für den Notbremsassistenten und die Vorwärtskollisionswarnung verwendet werden. Die in einem RADAR-System mit großer Reichweite enthaltenen Sensoren 1660 können, ohne darauf beschränkt zu sein, ein monostatisches multimodales RADAR mit mehreren (z.B. sechs oder mehr) festen RADAR-Antennen und einer Hochgeschwindigkeits-CAN- und FlexRay-Schnittstelle umfassen. In mindestens einer Ausführungsform mit sechs Antennen können mittlere vier Antennen ein fokussiertes Strahlenmuster erzeugen, das dafür ausgelegt ist, die Umgebung des Fahrzeugs 1600 bei höheren Geschwindigkeiten mit minimalen Störungen durch den Verkehr auf den benachbarten Fahrspuren zu erfassen. In mindestens einer Ausführungsform können zwei andere Antennen das Sichtfeld erweitern, so dass Fahrzeuge, die in eine Spur des Fahrzeugs 1600 einfahren oder diese verlassen, schnell erfasst werden können.
  • In mindestens einer Ausführungsform können RADAR-Systeme mit mittlerer Reichweite beispielsweise eine Reichweite von bis zu 160 m (vorne) oder 80 m (hinten) und ein Sichtfeld von bis zu 42 Grad (vorne) oder 150 Grad (hinten) aufweisen. In mindestens einer Ausführungsform können Kurzstrecken-RADAR-Systeme, ohne darauf beschränkt zu sein, eine beliebige Anzahl von RADAR-Sensoren 1660 umfassen, die so ausgelegt sind, dass sie an beiden Enden des hinteren Stoßfängers installiert werden können. Wenn es an beiden Enden des hinteren Stoßfängers installiert ist, kann ein RADAR-Sensorsystem in mindestens einer Ausführungsform zwei Strahlen erzeugen, die tote Winkel hinter und neben dem Fahrzeug ständig überwachen. In mindestens einer Ausführungsform können RADAR-Systeme mit kurzer Reichweite in dem ADAS-System 1638 zur Totwinkelerkennung und/oder Spurwechselassistenz verwendet werden.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 außerdem einen oder mehrere Ultraschall-Sensor(en) 1662 enthalten. Der/die Ultraschallsensor(en) 1662, der/die an der Vorderseite, der Rückseite und/oder an den Seiten des Fahrzeugs 1600 positioniert sein kann/können, kann/können zur Einparkhilfe und/oder zur Erstellung und Aktualisierung eines Belegungsrasters verwendet werden. In mindestens einer Ausführungsform kann eine Vielzahl von Ultraschallsensor(en) 1662 verwendet werden, und können unterschiedliche Ultraschallsensor(en) 1662 für unterschiedliche Erfassungsbereiche (z.B. 2,5 m, 4 m) verwendet werden. In mindestens einer Ausführungsform kann (können) der (die) Ultraschallsensor(en) 1662 auf funktionalen Sicherheitsstufen von ASIL B arbeiten.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 LIDAR-Sensor(en) 1664 enthalten. Der/die LIDAR-Sensor(en) 1664 kann/können für Objekt- und Fußgängererkennung, Notbremsung, Kollisionsvermeidung und/oder andere Funktionen verwendet werden. In mindestens einer Ausführungsform kann (können) der (die) LIDAR-Sensor(en) 1664 die funktionale Sicherheitsstufe ASIL B sein. In mindestens einer Ausführungsform kann das Fahrzeug 1600 mehrere LIDAR-Sensoren 1664 (z.B. zwei, vier, sechs usw.) umfassen, die Ethernet verwenden können (z.B. um Daten an einen Gigabit-Ethernet-Switch zu liefern).
  • In mindestens einer Ausführungsform kann (können) der/die LIDAR-Sensor(en) 1664 in der Lage sein, eine Liste von Objekten und deren Entfernungen für ein 360-Grad-Sichtfeld bereitzustellen. In mindestens einer Ausführungsform kann (können) der (die) handelsübliche(n) LIDAR-Sensor(en) 1664 eine beworbene Reichweite von ca. 100 m haben, mit einer Genauigkeit von 2 cm-3 cm und mit Unterstützung für eine 100-Mbit/s-Ethernet-Verbindung, zum Beispiel. In mindestens einer Ausführungsform können ein oder mehrere nicht vorstehende LIDAR-Sensoren 1664 verwendet werden. In einer solchen Ausführungsform kann/können der/die LIDAR-Sensor(en) 1664 als eine kleine Vorrichtung implementiert sein, die in die Front, das Heck, die Seiten und/oder die Ecken des Fahrzeugs 1600 eingebettet sein kann. In mindestens einer Ausführungsform kann (können) der (die) LIDAR-Sensor(en) 1664 ein horizontales Sichtfeld von bis zu 120 Grad und ein vertikales Sichtfeld von bis zu 35 Grad bereitstellen, mit einer Reichweite von 200 m, selbst bei Objekten mit geringem Reflexionsvermögen. In mindestens einer Ausführungsform kann (können) der/die frontseitige(n) LIDAR-Sensor(en) 1664 für ein horizontales Sichtfeld zwischen 45 Grad und 135 Grad konfiguriert sein.
  • In mindestens einer Ausführungsform können auch LIDAR-Technologien, wie z.B. 3D-Flash-LIDAR, verwendet werden. 3D-Flash-LIDAR verwendet einen Blitz eines Lasers als eine Sendequelle, um die Umgebung des Fahrzeugs 1600 bis hin zu ca. 200 m zu beleuchten. In mindestens einer Ausführungsform umfasst eine Flash-LIDAR-Einheit, ohne darauf beschränkt zu sein, einen Empfänger bzw. Rezeptor, der die Laufzeit des Laserimpulses und das reflektierte Licht an jedem Pixel aufzeichnet, was wiederum der Entfernung von dem Fahrzeug 1600 zu Objekten entspricht. In mindestens einer Ausführungsform kann das Flash-LIDAR ermöglichen, dass mit jedem Laserblitz hochgenaue und verzerrungsfreie Bilder der Umgebung erzeugt werden. In mindestens einer Ausführungsform können vier Flash-LIDAR-Sensoren eingesetzt werden, einer an jeder Seite des Fahrzeugs 1600. In mindestens einer Ausführungsform umfassen 3D-Flash-LIDAR-Systeme, ohne darauf beschränkt zu sein, eine Festkörper-3D-Festanordnungs-LIDAR-Kamera ohne bewegliche Teile außer einem Gebläse (z.B. eine nichtabtastende LIDAR-Vorrichtung). In mindestens einer Ausführungsform kann das Flash-LIDAR-Gerät einen 5-Nanosekunden-Laserimpuls der Klasse I (augensicher) pro Bild verwenden und das reflektierte Laserlicht in Form von 3D-Entfernungspunktwolken und koregistrierten Intensitätsdaten erfassen.
  • In mindestens einer Ausführungsform kann das Fahrzeug außerdem einen oder mehrere IMU-Sensor(en) 1666 enthalten. In mindestens einer Ausführungsform kann/können der/die IMU-Sensor(en) 1666 in der Mitte der Hinterachse des Fahrzeugs 1600 angeordnet sein, in mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann (können) der (die) IMU-Sensor(en) 1666 beispielsweise, und ohne darauf beschränkt zu sein, einen oder mehrere Beschleunigungsmesser, Magnetometer, Gyroskop(e), Magnetkompass(e) und/oder andere Sensortypen umfassen. In mindestens einer Ausführungsform, z.B. bei sechsachsigen Anwendungen, kann/können der/die IMU-Sensor(en) 1666, ohne darauf beschränkt zu sein, Beschleunigungsmesser und Gyroskope umfassen. In mindestens einer Ausführungsform, z.B. bei neunachsigen Anwendungen, kann/können der/die IMU-Sensor(en) 1666, ohne darauf beschränkt zu sein, Beschleunigungsmesser, Gyroskope und Magnetometer umfassen.
  • In mindestens einer Ausführungsform kann (können) der (die) IMU-Sensor(en) 1666 als ein miniaturisiertes, hochleistungsfähiges GPS-gestütztes Trägheitsnavigationssystem („GPS/INS“) implementiert sein, das mikroelektromechanische Systeme („MEMS“) Trägheitssensoren, einen hochempfindlichen GPS-Empfänger und fortschrittliche Kalman-Filteralgorithmen kombiniert, um Schätzungen von Position, Geschwindigkeit und Lage zu liefern. In mindestens einer Ausführungsform kann/können der/die IMU-Sensor(en) 1666 das Fahrzeug 1600 in die Lage versetzen, den Kurs zu schätzen, ohne dass Eingaben von einem magnetischen Sensor erforderlich sind, indem Änderungen der Geschwindigkeit vom GPS direkt beobachtet und mit dem/den IMU-Sensor(en) 1666 korreliert werden. In mindestens einer Ausführungsform können der/die IMU-Sensor(en) 1666 und der/die GNSS-Sensor(en) 1658 in einer einzigen integrierten Einheit kombiniert sein.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 Mikrofon(e) 1696 enthalten, die in dem und/oder um das Fahrzeug 1600 herum angeordnet sind. In mindestens einer Ausführungsform kann (können) das (die) Mikrofon(e) 1696 u. a. zur Erkennung und Identifizierung von Einsatzfahrzeugen verwendet werden.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 ferner eine beliebige Anzahl von Kameratypen enthalten, einschließlich einer oder mehreren Stereokamera(s) 1668, Weitwinkelkamera(s) 1670, Infrarotkamera(s) 1672, Umgebungskamera(s) 1674, Fernkamera(s) 1698, Mittelbereichskamera(s) 1676 und/oder andere Kameratypen. In mindestens einer Ausführungsform können Kameras verwendet werden, um Bilddaten rund um einen gesamten Umfang des Fahrzeugs 1600 zu erfassen. In mindestens einer Ausführungsform hängen die Typen der verwendeten Kameras von dem Fahrzeug 1600 ab. In mindestens einer Ausführungsform kann eine beliebige Kombination von Kameratypen verwendet werden, um die notwendige Abdeckung um das Fahrzeug 1600 herum bereitzustellen. In mindestens einer Ausführungsform kann die Anzahl der Kameras je nach Ausführungsform unterschiedlich sein. Zum Beispiel kann in mindestens einer Ausführungsform das Fahrzeug 1600 sechs Kameras, sieben Kameras, zehn Kameras, zwölf Kameras oder eine andere Anzahl von Kameras umfassen. Die Kameras können, als Beispiel und ohne darauf beschränkt zu sein, Gigabit Multimedia Serial Link („GMSL“) und/oder Gigabit Ethernet unterstützen. In mindestens einer Ausführungsform ist jede Kamera wie zuvor hierin in Bezug auf 16A und 16B ausführlicher beschrieben ausgebildet.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 außerdem einen oder mehrere Vibrations- bzw. Schwingungssensor(en) 1642 enthalten. In mindestens einer Ausführungsform kann/können der/die Schwingungssensor(en) 1642 Schwingungen von Komponenten des Fahrzeugs 1600, wie z.B. der Achse(n), messen. Zum Beispiel können in mindestens einer Ausführungsform Änderungen der Schwingungen eine Änderung der Straßenoberfläche anzeigen. In mindestens einer Ausführungsform, wenn zwei oder mehr Schwingungssensoren 1642 verwendet werden, können Unterschiede zwischen Schwingungen verwendet werden, um die Reibung oder den Schlupf der Straßenoberfläche zu bestimmen (z.B. wenn der Unterschied in der Schwingung zwischen einer angetriebenen Achse und einer frei drehenden Achse besteht).
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 ein ADAS-System 1638 enthalten. In mindestens einer Ausführungsform kann das ADAS-System 1638 in einigen Beispielen, ohne darauf beschränkt zu sein, ein SoC enthalten. In mindestens einer Ausführungsform kann das ADAS-System 1638, ohne darauf beschränkt zu sein, eine beliebige Anzahl und Kombination eines autonomen/adaptiven/automatischen Geschwindigkeitsregelungssystems („ACC“), eines kooperativen adaptiven Geschwindigkeitsregelungssystems („CACC“), eines Vorwärts-Crash-Warnsystems („FCW“), eines automatischen Notbremssystems („AEB“), eines Spurverlassenswarnsystems („LDW“), eines Spurhalteassistenzsystems („LKA“), eines Warnsystems für den toten Winkel („BSW“), eines Warnsystem für den rückwärtigen Querverkehr („RCTW“), eines Kollisionswarnsystems („CW“), eines Spurzentrierungssystems („LC“) und/oder andere Systeme, Merkmale und/oder Funktionalität beinhalten.
  • In mindestens einer Ausführungsform kann das ACC-System RADAR-Sensor(en) 1660, LIDAR-Sensor(en) 1664 und/oder eine beliebige Anzahl von Kamera(s) verwenden. In mindestens einer Ausführungsform kann das ACC-System ein in Längsrichtung wirkendes bzw. longitudinales ACC-System und/oder ein in Seitenrichtung wirkendes bzw. laterales ACC-System umfassen. In mindestens einer Ausführungsform überwacht und steuert das longitudinale ACC-System den Abstand zu einem Fahrzeug unmittelbar vor dem Fahrzeug 1600 und passt die Geschwindigkeit des Fahrzeugs 1600 automatisch an, um einen sicheren Abstand zu vorausfahrenden Fahrzeugen einzuhalten. In mindestens einer Ausführungsform führt das laterale ACC-System eine Abstandskontrolle durch und rät dem Fahrzeug 1600, die Spur zu wechseln, wenn dies erforderlich ist. In mindestens einer Ausführungsform ist das laterale ACC mit anderen ADAS-Anwendungen wie beispielsweise LC und CW verbunden.
  • In mindestens einer Ausführungsform verwendet das CACC-System Informationen von anderen Fahrzeugen, die über die Netzwerkschnittstelle 1624 und/oder die Funkantenne(n) 1626 von anderen Fahrzeugen über eine drahtlose Verbindung oder indirekt über eine Netzwerkverbindung (z.B. über das Internet) empfangen werden können. In mindestens einer Ausführungsform können direkte Verbindungen durch eine Fahrzeug-zu-Fahrzeug („V2V“) Kommunikationsverbindung bereitgestellt werden, während indirekte Verbindungen durch eine Infrastruktur-zu-Fahrzeug („I2V“) Kommunikationsverbindung bereitgestellt werden können. Im Allgemeinen liefert das V2V-Kommunikationskonzept Informationen über unmittelbar vorausfahrende Fahrzeuge (z.B. Fahrzeuge, die sich unmittelbar vor und in derselben Spur wie Fahrzeug 1600 befinden), während das I2V-Kommunikationskonzept Informationen über Verkehr weiter voraus liefert. In mindestens einer Ausführungsform kann ein CACC-System entweder eine oder beide der I2V- und V2V-Informationsquellen enthalten. In mindestens einer Ausführungsform kann ein CACC-System angesichts der Informationen über Fahrzeuge vor dem Fahrzeug 1600 zuverlässiger sein und hat das Potenzial, den Verkehrsfluss zu verbessern und Staus auf der Straße zu reduzieren.
  • In mindestens einer Ausführungsform ist ein FCW-System so konzipiert, dass es einen Fahrer vor einer Gefahr warnt, so dass ein solcher Fahrer korrigierend eingreifen kann. In mindestens einer Ausführungsform verwendet ein FCW-System eine nach vorne gerichtete Kamera und/oder RADAR-Sensor(en) 1660, die mit einem dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, der bzw. das elektrisch gekoppelt ist, um eine Rückmeldung an den Fahrer bereitzustellen, z.B. mit einer Anzeige, einem Lautsprecher und/oder einer vibrierenden Komponente. In mindestens einer Ausführungsform kann ein FCW-System eine Warnung ausgeben, z.B. in Form eines Tons, einer optischen Warnung, einer Vibration und/oder eines schnellen Bremsimpulses.
  • In mindestens einer Ausführungsform erfasst ein AEB-System eine drohende Vorwärtskollision mit einem anderen Fahrzeug oder einem anderen Objekt und kann automatisch die Bremsen betätigen, falls ein Fahrer nicht innerhalb eines bestimmten Zeit- oder Abstandsparameters korrigierend eingreift. In mindestens einer Ausführungsform kann das AEB-System nach vorne gerichtete Kamera(s) und/oder RADAR-Sensor(en) 1660 verwenden, die mit einem dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind. In mindestens einer Ausführungsform wird dann, wenn ein AEB-System eine Gefahr erkennt, alarmiert das AEB-System typischerweise zuerst den Fahrer, um korrigierende Maßnahmen zu ergreifen, um eine Kollision zu vermeiden, und falls dieser Fahrer keine korrigierende Maßnahmen ergreift, kann das AEB-System automatisch die Bremsen betätigen, um eine Auswirkung einer vorhergesagten Kollision zu verhindern oder zumindest abzuschwächen. In mindestens einer Ausführungsform kann ein AEB-System Techniken wie eine dynamische Bremsunterstützung und/oder eine Voraufprall-Bremsung umfassen.
  • In mindestens einer Ausführungsform stellt ein LDW-System optische, akustische und/oder taktile Warnungen, wie z.B. Lenkrad- oder Sitzvibrationen, bereit, um den Fahrer zu warnen, wenn das Fahrzeug 1600 die Fahrbahnmarkierungen überquert. In mindestens einer Ausführungsform wird ein LDW-System nicht aktiviert, wenn ein Fahrer ein absichtliches Verlassen der Fahrspur anzeigt, indem er beispielsweise einen Blinker betätigt. In mindestens einer Ausführungsform kann das LDW-System nach vorne gerichtete Kameras verwenden, die mit einem dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, der bzw. das elektrisch an eine Rückmeldung an den Fahrer gekoppelt ist, wie z.B. mit einer Anzeige, einem Lautsprecher und/oder einer vibrierenden Komponente. In mindestens einer Ausführungsform ist ein LKA-System eine Variante eines LDW-Systems. Das LKA-System stellt Lenkeingaben oder eine Bremsung bereit, um das Fahrzeug 1600 zu korrigieren, wenn das Fahrzeug 1600 beginnt, seine Fahrspur zu verlassen.
  • In mindestens einer Ausführungsform erfasst und warnt ein BSW-System einen Fahrer vor Fahrzeugen im toten Winkel des Fahrzeugs. In mindestens einer Ausführungsform kann ein BSW-System eine optische, akustische und/oder taktile Warnung ausgeben, um darauf hinzuweisen, dass das Zusammenführen oder Wechseln der Fahrspur unsicher ist. In mindestens einer Ausführungsform kann ein BSW-System eine zusätzliche Warnung ausgeben, wenn der Fahrer einen Blinker betätigt. In mindestens einer Ausführungsform kann ein BSW-System (eine) nach hinten gerichtete Kamera(s) und/oder (einen) RADAR-Sensor(en) 1660 verwenden, der/die mit einem dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt ist/sind, der/die elektrisch an eine Fahrerrückmeldung gekoppelt ist/sind, wie z.B. eine Anzeige, ein Lautsprecher und/oder eine vibrierende Komponente.
  • In mindestens einer Ausführungsform kann ein RCTW-System eine visuelle, akustische und/oder taktile Benachrichtigung bereitstellen, wenn ein Objekt außerhalb des Bereichs einer Rückfahrkamera erkannt wird, wenn das Fahrzeug 1600 rückwärtsfährt. In mindestens einer Ausführungsform umfasst ein RCTW-System ein AEB-System, um sicherzustellen, dass die Fahrzeugbremsen betätigt werden, um einen Unfall zu vermeiden. In mindestens einer Ausführungsform kann ein RCTW-System einen oder mehrere nach hinten gerichtete(n) RADAR-Sensor(en) 1660 verwenden, der/die mit einem dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt ist/sind, der/die elektrisch an eine Rückmeldung an den Fahrer gekoppelt ist, wie z.B. mit einer Anzeige, einem Lautsprecher und/oder einer vibrierende Komponente.
  • In mindestens einer Ausführungsform können herkömmliche ADAS-Systeme anfällig für falsch positive Ergebnisse sein, die für einen Fahrer ärgerlich und ablenkend sein können, aber typischerweise nicht katastrophal sind, weil herkömmliche ADAS-Systeme einen Fahrer warnen und es diesem Fahrer erlauben, zu entscheiden, ob eine Sicherheitsbedingung wirklich existiert, und entsprechend zu handeln. In mindestens einer Ausführungsform entscheidet das Fahrzeug 1600 im Falle widersprüchlicher Ergebnisse selbst, ob das Ergebnis eines Primärcomputers oder eines Sekundärcomputers (z.B. eine erste Steuereinheit 1636 oder eine zweite Steuereinheit 1636) beachtet wird. In mindestens einer Ausführungsform kann das ADAS-System 1638 beispielsweise ein Backup- und/oder Sekundärcomputer sein, der Wahrnehmungsinformationen an ein Rationalitätsmodul des Backup-Computers liefert. In mindestens einer Ausführungsform kann ein Backup-Computer-Rationalitätsmonitor redundante diverse Software auf Hardwarekomponenten ausführen, um Fehler in der Wahrnehmung und bei dynamischen Fahraufgaben zu erkennen. In mindestens einer Ausführungsform können die Ausgaben des ADAS-Systems 1638 an eine übergeordnete MCU weitergeleitet werden. In mindestens einer Ausführungsform bestimmt eine übergeordnete MCU, wie der Konflikt zu lösen ist, um einen sicheren Betrieb zu gewährleisten, falls Ausgaben eines Primärcomputers und eines Sekundärcomputers in Konflikt stehen.
  • In mindestens einer Ausführungsform kann ein Primärcomputer so konfiguriert sein, dass er einer übergeordneten MCU einen Konfidenz- bzw. Vertrauenswert liefert, der das Vertrauen dieses Primärcomputers in ein gewähltes Ergebnis angibt. In mindestens einer Ausführungsform kann diese übergeordnete MCU der Anweisung dieses Primärcomputers folgen, falls dieser Konfidenzwert einen Schwellenwert überschreitet, unabhängig davon, ob dieser Sekundärcomputer ein widersprüchliches oder inkonsistentes Ergebnis liefert. In mindestens einer Ausführungsform, in der ein Konfidenzwert einen Schwellenwert nicht erreicht und der Primärcomputer und der Sekundärcomputer unterschiedliche Ergebnisse (z.B. einen Konflikt) anzeigen, kann eine übergeordnete MCU zwischen den Computern vermitteln, um ein geeignetes Ergebnis zu bestimmen.
  • In mindestens einer Ausführungsform kann eine übergeordnete MCU so konfiguriert sein, dass sie ein neuronales Netzwerk bzw. neuronale Netzwerke ausführt, das bzw. die so trainiert und konfiguriert ist bzw. sind, dass es bzw. sie zumindest teilweise auf der Grundlage von Ausgaben eines Primärcomputers und eines Sekundärcomputers Bedingungen bestimmt bzw. bestimmen, unter denen dieser Sekundärcomputer Fehlalarme liefert. In mindestens einer Ausführungsform kann (können) das (die) neuronale(n) Netzwerk(e) in einer übergeordneten MCU lernen, wann der Ausgabe eines Sekundärcomputers vertraut werden kann und wann nicht. Zum Beispiel kann in mindestens einer Ausführungsform, wenn dieser Sekundärcomputer ein RADAR-basiertes FCW-System ist, ein neuronales Netzwerk in dieser übergeordneten MCU lernen, wenn ein FCW-System metallische Objekte identifiziert, die in Wirklichkeit keine Gefahren sind, wie z.B. ein Abflussgitter oder ein Gullydeckel, der einen Alarm auslöst. In mindestens einer Ausführungsform kann dann, wenn ein Sekundärcomputer ein kamerabasiertes LDW-System ist, ein neuronales Netzwerk in dieser übergeordneten MCU lernen, das LDW-System zu übersteuern, wenn Radfahrer oder Fußgänger vorhanden sind und ein Verlassen der Fahrspur tatsächlich ein sicherstes Manöver ist. In mindestens einer Ausführungsform kann eine übergeordnete MCU mindestens einen DLA oder eine GPU enthalten, der/die für die Ausführung von neuronalen Netzwerken mit zugehörigem Speicher geeignet ist. In mindestens einer Ausführungsform kann eine übergeordnete MCU eine Komponente des/der SoC(s) 1604 umfassen und/oder als solche enthalten sein.
  • In mindestens einer Ausführungsform kann das ADAS-System 1638 einen Sekundärcomputer enthalten, der die ADAS-Funktionalität unter Verwendung klassischer Regeln der Computer Vision ausführt. In mindestens einer Ausführungsform kann dieser Sekundärcomputer klassische Computer-Vision-Regeln (wenn-dann bzw. ifthen) verwenden, und kann das Vorhandensein eines neuronalen Netzwerks (von neuronalen Netzwerken) in einer übergeordneten MCU die Zuverlässigkeit, Sicherheit und Leistung verbessern. Zum Beispiel macht in mindestens einer Ausführungsform eine diverse Implementierung und absichtliche Nicht-Identität ein Gesamtsystem fehlertoleranter, insbesondere gegenüber Fehlern, die durch Software (oder die Software-Hardware-Schnittstelle) verursacht werden. Wenn beispielsweise in mindestens einer Ausführungsform ein Softwarefehler in der auf einem Primärcomputer laufenden Software auftritt und ein nicht identischer Softwarecode, der auf einem Sekundärcomputer läuft, ein gleiches Gesamtergebnis liefert, dann kann eine übergeordnete MCU ein größeres Vertrauen haben, dass ein Gesamtergebnis korrekt ist und ein Fehler in Software oder Hardware auf diesem Primärcomputer keinen wesentlichen Fehler verursacht.
  • In mindestens einer Ausführungsform kann eine Ausgabe des ADAS-Systems 1638 in den Wahrnehmungsblock eines Primärcomputers und/oder in den Block für dynamische Fahraufgaben des Primärcomputers eingespeist werden. Wenn das ADAS-System 1638 beispielsweise eine Vorwärtsaufprallwarnung aufgrund eines unmittelbar vorausliegenden Objekts anzeigt, kann ein Wahrnehmungsblock in mindestens einer Ausführungsform diese Information bei der Identifizierung von Objekten verwenden. In mindestens einer Ausführungsform kann der Sekundärcomputer über ein eigenes neuronales Netzwerk verfügen, welches trainiert ist und somit ein Risiko von Fehlalarmen reduziert, wie hierin beschrieben.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 außerdem ein Infotainment-SoC 1630 (z.B. ein bordeigenes Infotainment-System (IVI)) enthalten. Obwohl als SoC dargestellt und beschrieben, kann das Infotainment-System 1630 in mindestens einer Ausführungsform kein SoC sein und kann, ohne darauf beschränkt zu sein, zwei oder mehr diskrete Komponenten umfassen. In mindestens einer Ausführungsform kann das Infotainment-SoC 1630, ohne darauf beschränkt zu sein, eine Kombination aus Hardware und Software umfassen, die verwendet werden kann, um Audio (z.B. Musik, einen persönlichen digitalen Assistenten, Navigationsanweisungen, Nachrichten, Radio usw.), Video (z.B. TV, Filme, Streaming usw.), Telefon (z.B. Freisprechen), Netzwerkkonnektivität (z.B. LTE, WiFi usw.) und/oder Informationsdienste (z.B. Navigationssysteme, Einparkhilfe hinten, ein Radiodatensystem, fahrzeugbezogene Informationen wie Kraftstoffstand, zurückgelegte Gesamtstrecke, Bremskraftstoffstand, Ölstand, Tür öffnen/schließen, Luftfilterinformationen usw.) an Fahrzeug 1600 bereitzustellen. Das Infotainment-SoC 1630 könnte beispielsweise Radios, Plattenspieler, Navigationssysteme, Videoabspieler, USB- und Bluetooth-Konnektivität, Carputer, In-Car-Entertainment, WiFi, Audiobedienelemente am Lenkrad, eine Freisprecheinrichtung, ein Heads-Up-Anzeige („HUD“, Head-Up Display), eine HMI-Anzeige 1634, ein Telematikgerät, ein Bedienfeld (z.B. zur Steuerung und/oder Interaktion mit verschiedenen Komponenten, Funktionen und/oder Systemen) und/oder andere Komponenten umfassen. In mindestens einer Ausführungsform kann das Infotainment-SoC 1630 außerdem verwendet werden, um dem/den Benutzer(n) des Fahrzeugs Informationen (z.B. visuell und/oder akustisch) zur Verfügung zu stellen, z.B. Informationen von dem ADAS-System 1638, Informationen zum autonomen Fahren wie beispielsweise geplante Fahrzeugmanöver, Trajektorien bzw. Bewegungsbahnen, Umgebungsinformationen (z.B. Kreuzungsinformationen, Fahrzeuginformationen, Straßeninformationen usw.) und/oder andere Informationen.
  • In mindestens einer Ausführungsform kann das Infotainment-SoC 1630 eine beliebige Menge und Art von GPU-Funktionalität enthalten. In mindestens einer Ausführungsform kann das Infotainment-SoC 1630 über den Bus 1602 (z.B. einen CAN-Bus, Ethernet) mit anderen Geräten, Systemen und/oder Komponenten des Fahrzeugs 1600 kommunizieren. In mindestens einer Ausführungsform kann das Infotainment-SoC 1630 mit einer Überwachungs-MCU gekoppelt sein, so dass die GPU des Infotainment-Systems einige Selbstfahrfunktionen ausführen kann, wenn die primäre(n) Steuereinheit(en) 1636 (z.B. primäre und/oder Backup-Computer des Fahrzeugs 1600) ausfallen. In mindestens einer Ausführungsform kann das Infotainment-SoC 1630 das Fahrzeug 1600 in einen Chauffeur-zu-sicherem-Halt-Modus versetzen, wie hierin beschrieben.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1600 ferner ein Kombiinstrument 1632 (z.B. ein digitales Armaturenbrett, ein elektronisches Kombiinstrument, eine digitale Instrumententafel usw.) enthalten. In mindestens einer Ausführungsform kann das Kombiinstrument 1632, ohne darauf beschränkt zu sein, eine Steuereinrichtung bzw. einen Controller und/oder einen Supercomputer (z.B. eine diskrete Steuereinrichtung oder einen diskreten Supercomputer) enthalten. In mindestens einer Ausführungsform kann das Kombiinstrument 1632, ohne darauf beschränkt zu sein, eine beliebige Anzahl und Kombination von Instrumenten wie Tachometer, Kraftstoffstand, Öldruck, Drehzahlmesser, Kilometerzähler, Blinker, Schaltstellungsanzeige, Sicherheitsgurt-Warnleuchte(n), Parkbrems-Warnleuchte(n), Motor-Fehlfunktionsleuchte(n), Informationen über zusätzliche Rückhaltesysteme (z.B. Airbags), Beleuchtungssteuerungen, Sicherheitssystemsteuerungen, Navigationsinformationen usw. enthalten. In einigen Beispielen können Informationen von dem Infotainment-SoC 1630 und dem Kombiinstrument 1632 angezeigt und/oder gemeinsam genutzt werden. In mindestens einer Ausführungsform kann das Kombiinstrument 1632 als Teil des Infotainment-SoCs 1630 enthalten sein oder umgekehrt.
  • Die Inferenzierungs- und/oder Trainingslogik 715 wird verwendet, um Inferenzierungs- und/oder Trainingsoperationen in Verbindung mit einer oder mehreren Ausführungsformen durchzuführen. Einzelheiten zur Inferenzierungs- und/oder Trainingslogik 715 sind hierin nachstehend in Verbindung mit den 7A und/oder 7B bereitgestellt. In mindestens einer Ausführungsform kann die Inferenzierungs- und/oder Trainingslogik 715 im System von 16A für Inferenzierungs- oder Vorhersageoperationen verwendet werden, die zumindest teilweise auf Gewichtsparametern basieren, die unter Verwendung von Trainingsoperationen für neuronale Netzwerke, Funktionen und/oder Architekturen neuronaler Netzwerke oder hierin beschriebenen Anwendungsfällen neuronaler Netzwerke berechnet werden.
  • 16B ist ein Diagramm eines Systems 1676 für die Kommunikation zwischen dem/den Cloud-basierten Server(n) und dem autonomen Fahrzeug 1600 aus 16A, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann das System 1676, ohne darauf beschränkt zu sein, den/die Server 1678, das/die Netzwerk(e) 1690 und eine beliebige Anzahl und Art von Fahrzeugen, einschließlich des Fahrzeugs 1600, umfassen. In mindestens einer Ausführungsform kann/können der/die Server 1678, ohne darauf beschränkt zu sein, eine Vielzahl von GPUs 1684(A)-1684(H) (hierin kollektiv als GPUs 1684 bezeichnet), PCIe-Switches 1682(A)-1682(H) (hierin kollektiv als PCIe-Switches 1682 bezeichnet), und/oder CPUs 1680(A)-1680(B) (hierin kollektiv als CPUs 1680 bezeichnet) umfassen. Die GPUs 1684, die CPUs 1680 und die PCIe-Switches 1682 können über Hochgeschwindigkeitsverbindungen miteinander verbunden sein, wie z.B., und ohne darauf beschränkt zu sein, die von NVIDIA entwickelten NVLink-Schnittstellen 1688 und/oder PCIe-Verbindungen 1686. In mindestens einer Ausführungsform sind die GPUs 1684 über ein NVLink- und/oder NVSwitch-SoC und die GPUs 1684 und PCIe-Switches 1682 über PCIe-Verbindungen verbunden. In mindestens einer Ausführungsform sind zwar acht GPUs 1684, zwei CPUs 1680 und vier PCIe-Switches 1682 dargestellt, dies soll jedoch nicht als beschränkend sein. In mindestens einer Ausführungsform kann jeder der Server 1678, ohne darauf beschränkt zu sein, eine beliebige Anzahl von GPUs 1684, CPUs 1680 und/oder PCIe-Switches 1682 in beliebiger Kombination enthalten. Zum Beispiel könnte(n) in mindestens einer Ausführungsform jeder (der) Server 1678 acht, sechzehn, zweiunddreißig und/oder mehr GPUs 1684 enthalten.
  • In mindestens einer Ausführungsform können der/die Server 1678 über Netzwerk(e) 1690 und von Fahrzeugen Bilddaten empfangen, die für Bilder repräsentativ sind, die unerwartete oder geänderte Straßenbedingungen, wie z.B. kürzlich begonnene Straßenarbeiten, zeigen. In mindestens einer Ausführungsform kann/können der/die Server 1678 über das/die Netzwerk(e) 1690 und an die Fahrzeuge neuronale Netzwerke 1692, aktualisierte neuronale Netzwerke 1692 und/oder Karteninformationen 1694 übertragen, einschließlich, ohne darauf beschränkt zu sein, Informationen bezüglich des Verkehrs und der Straßenbedingungen. In mindestens einer Ausführungsform können die Aktualisierungen der Karteninformationen 1694, ohne darauf beschränkt zu sein, Aktualisierungen für die HD-Karte 1622 beinhalten, wie z.B. Informationen über Baustellen, Schlaglöcher, Umleitungen, Überschwemmungen und/oder andere Hindernisse. In mindestens einer Ausführungsform können neuronale Netzwerke 1692, aktualisierte neuronale Netzwerke 1692 und/oder Karteninformationen 1694 aus neuem Training und/oder Erfahrungen resultieren, die in Daten dargestellt werden, die von einer beliebigen Anzahl von Fahrzeugen in einer Umgebung empfangen werden, und/oder zumindest teilweise auf Training basieren, das in einem Datenzentrum (z.B. unter Verwendung von Server(n) 1678 und/oder anderen Servern) durchgeführt wird.
  • In mindestens einer Ausführungsform können der/die Server 1678 verwendet werden, um Modelle für maschinelles Lernen (z.B. neuronale Netzwerke) zu trainieren, die zumindest teilweise auf Trainingsdaten basieren. In mindestens einer Ausführungsform können die Trainingsdaten von Fahrzeugen erzeugt werden und/oder in einer Simulation (z.B. unter Verwendung einer Spiele-Engine) erzeugt werden. In mindestens einer Ausführungsform wird eine beliebige Menge von Trainingsdaten markiert (z.B. wenn das zugehörige neuronale Netzwerk von überwachtem Lernen profitiert) und/oder einer anderen Vorverarbeitung unterzogen. In mindestens einer Ausführungsform wird eine beliebige Menge von Trainingsdaten nicht getaggt und/oder vorverarbeitet (z.B. wenn das zugehörige neuronale Netzwerk kein überwachtes Lernen benötigt). In mindestens einer Ausführungsform können die Modelle maschinellen Lernens, sobald sie trainiert sind, von den Fahrzeugen (z.B. durch Übertragung an die Fahrzeuge über das/die Netzwerk(e) 1690 verwendet werden, und/oder können die Modelle maschinellen Lernens von dem/den Servern) 1678 zur Fernüberwachung der Fahrzeuge verwendet werden.
  • In mindestens einer Ausführungsform können der/die Server 1678 Daten von Fahrzeugen empfangen und Daten auf aktuelle neuronale Netzwerke in Echtzeit anwenden, um ein intelligentes Inferenzieren in Echtzeit durchzuführen. In mindestens einer Ausführungsform können Server 1678 Deep-Learning-Supercomputer und/oder dedizierte Kl-Computer umfassen, die von GPU(s) 1684 angetrieben werden, wie z.B. von NVIDIA entwickelte DGX- und DGX Station-Maschinen. In mindestens einer Ausführungsform können der/die Server 1678 jedoch auch Deep-Learning-Infrastrukturen umfassen, die CPU-betriebene Rechenzentren verwenden.
  • In mindestens einer Ausführungsform kann die Deep-Learning-Infrastruktur des/der Server(s) 1678 in der Lage sein, schnell und in Echtzeit zu inferenzieren, und kann diese Fähigkeit nutzen, um den Zustand bzw. die Gesundheit der Prozessoren, der Software und/oder der zugehörigen Hardware in dem Fahrzeug 1600 zu bewerten und zu überprüfen. Zum Beispiel kann in mindestens einer Ausführungsform die Deep-Learning-Infrastruktur periodische Aktualisierungen von dem Fahrzeug 1600 empfangen, wie z.B. eine Sequenz von Bildern und/oder Objekten, die das Fahrzeug 1600 in dieser Sequenz von Bildern lokalisiert hat (z.B. über Computer-Vision und/oder andere Machine-Learning-Objektklassifizierungsverfahren). In mindestens einer Ausführungsform kann die Deep-Learning-Infrastruktur ihr eigenes neuronales Netzwerk ausführen, um Objekte zu identifizieren und sie mit Objekten zu vergleichen, die von dem Fahrzeug 1600 identifiziert wurden, und falls die Ergebnisse nicht übereinstimmen und die Deep-Learning-Infrastruktur zu dem Schluss kommt, dass die KI im Fahrzeug 1600 eine Fehlfunktion aufweist, dann kann/können der/die Server 1678 ein Signal an das Fahrzeug 1600 senden, das einen ausfallsicheren Computer des Fahrzeugs 1600 anweist, die Kontrolle zu übernehmen, die Passagiere zu benachrichtigen und ein sicheres Parkmanöver durchzuführen.
  • In mindestens einer Ausführungsform kann/können der/die Server 1678 GPU(s) 1684 und einen oder mehrere programmierbare Inferenzbeschleuniger (z.B. TensorRT 3-Geräte von NVIDIA) enthalten. In mindestens einer Ausführungsform kann eine Kombination von GPU-betriebenen Servern und Inferenzbeschleunigung eine Echtzeit-Reaktionsfähigkeit ermöglichen. In mindestens einer Ausführungsform, z.B. wenn die Leistung weniger kritisch ist, können Server, die von CPUs, FPGAs und anderen Prozessoren betrieben werden, für die Inferenzierung verwendet werden. In mindestens einer Ausführungsform wird die Inferenzierungs- und/oder Trainingslogik 715 verwendet, um eine oder mehrere Ausführungsformen durchzuführen. Details zu der Inferenzierungs- und/oder Trainingslogik 715 werden nachstehend in Verbindung mit 7A und/oder 7B bereitgestellt.
  • Andere Variationen sind im Sinne der Erfindung. Während offenbart Techniken verschiedenen Modifikationen und alternativen Konstruktionen zugänglich sind, sind bestimmte veranschaulichte Ausführungsformen derselben in den Zeichnungen gezeigt und wurden vorstehend im Einzelnen beschrieben. Es versteht sich jedoch, dass die Offenbarung nicht auf eine bestimmte Form oder bestimmte Formen zu beschränken ist, sondern dass im Gegenteil beabsichtigt ist, alle Modifikationen, alternativen Konstruktionen und Äquivalente abzudecken, die in den Gedanken und den Rahmen der Erfindung fallen, wie er in den beigefügten Ansprüchen definiert ist.
  • Die Verwendung der Begriffe „ein“ und „eine“ und „der“ und ähnlicher Bezeichnungen im Zusammenhang mit der Beschreibung erfindungsgemäßer Ausführungsformen (insbesondere im Zusammenhang mit den nachfolgenden Ansprüchen) ist so auszulegen, dass sie sowohl die Einzahl als auch die Mehrzahl umfasst, sofern hierin nichts anderes angegeben oder durch Kontext eindeutig widerlegt wird, und nicht als Definition eines Begriffs. Die Begriffe „bestehend aus“, „mit“, „einschließlich“ und „enthaltend“ sind, sofern nicht anders angegeben wird, als offene Begriffe zu verstehen (d.h. „einschließlich, aber nicht beschränkt auf‟). Der Begriff „verbunden“ ist, wenn er unverändert bleibt und sich auf physische Verbindungen bezieht, als teilweise oder ganz in einem Bauteil enthalten, an ihm angebracht oder mit ihm verbunden zu verstehen, auch wenn etwas dazwischen liegt. Die Aufzählung von Wertebereichen dient lediglich als Kurzbezeichnung für jeden einzelnen Wert, der in den Bereich fällt, sofern hierin nichts anderes angegeben wird, und jeder einzelne Wert wird in die Spezifikation aufgenommen, als ob er darin einzeln aufgeführt wäre. In mindestens einer Ausführungsform ist die Verwendung des Begriffs „Menge“ (z.B. „eine Menge von Elementen“) oder „Teilmenge“, sofern nichts anderes angegeben oder durch Kontext widerlegt wird, als eine nicht leere Sammlung zu verstehen, die ein oder mehrere Elemente umfasst. Sofern nicht anders vermerkt oder durch den Kontext widerlegt, bezeichnet der Begriff „Teilmenge“ einer entsprechenden Menge nicht unbedingt eine echte Teilmenge der entsprechenden Menge, sondern Teilmenge und entsprechende Menge können gleich sein.
  • Konjunktivische Sprache, wie z.B. Phrasen der Form „mindestens eines von A, B und C“ oder „mindestens eines von A, B und C“, wird, sofern nicht ausdrücklich anders angegeben oder anderweitig eindeutig durch Kontext widersprochen, im Allgemeinen so verstanden, dass damit ausgedrückt wird, dass ein Element, ein Begriff usw. entweder A oder B oder C oder eine beliebige nicht leere Teilmenge der Menge von A und B und C sein kann. So beziehen sich z.B. im dargestellten Beispiel einer Menge mit drei Elementen die konjunktivischen Ausdrücke „mindestens eines von A, B und C“ und „mindestens eines von A, B und C“ auf eine der folgenden Mengen: {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}. Eine solche konjunktivische Sprache soll also nicht generell bedeuten, dass bei bestimmten Ausführungsformen jeweils mindestens eines von A, mindestens eines von B und mindestens eines von C vorhanden sein muss. Zusätzlich, sofern nicht anders vermerkt oder durch Kontext widersprochen, zeigt der Begriff „Mehrzahl“ einen Zustand an, in dem er plural ist (z.B. „eine Mehrzahl von Elementen“ zeigt mehrere Elemente an). In mindestens einer Ausführungsform beträgt die Anzahl der Elemente in einer Mehrzahl mindestens zwei, kann aber auch mehr sein, wenn dies entweder explizit oder durch Kontext angegeben wird. Sofern nicht anders angegeben oder aus Kontext ersichtlich, bedeutet „basierend auf“ „zumindest teilweise basierend auf“ und nicht „ausschließlich basierend auf“.
  • Operationen der hierin beschriebenen Prozesse können in jeder geeigneten Reihenfolge ausgeführt werden, sofern hierin nicht anders angegeben oder durch eindeutig widerlegt. In mindestens einer Ausführungsform wird ein Prozess wie die hierin beschriebenen Prozesse (oder Variationen und/oder Kombinationen davon) unter der Steuerung eines oder mehrerer Computersysteme durchgeführt, die mit ausführbaren Anweisungen konfiguriert sind und als Code (z.B. ausführbare Anweisungen, ein oder mehrere Computerprogramme oder eine oder mehrere Anwendungen) implementiert sind, die gemeinsam auf einem oder mehreren Prozessoren, durch Hardware oder Kombinationen davon ausgeführt werden. In mindestens einer Ausführungsform ist der Code auf einem computerlesbaren Speichermedium gespeichert, z.B. in Form eines Computerprogramms, das eine Vielzahl von Anweisungen umfasst, die von einem oder mehreren Prozessoren ausgeführt werden können. In mindestens einer Ausführungsform ist ein computerlesbares Speichermedium ein nicht-transitorisches computerlesbares Speichermedium, das transitorische Signale (z.B. eine sich ausbreitende transiente elektrische oder elektromagnetische Übertragung) ausschließt, aber nicht-transitorische Datenspeicherschaltungen (z.B. Puffer, Cache und Warteschlangen) innerhalb von Transceivern für transitorische Signale enthält. In mindestens einer Ausführungsform ist Code (z.B. ausführbarer Code oder Quellcode) auf einem Satz von einem oder mehreren nicht-transitorischen, computerlesbaren Speichermedien gespeichert, auf denen ausführbare Anweisungen (oder ein anderer Speicher zum Speichern von ausführbaren Anweisungen) gespeichert sind, die, wenn sie von einem oder mehreren Prozessoren eines Computersystems ausgeführt werden (d.h. als Ergebnis der Ausführung), das Computersystem veranlassen, hierin beschriebene Operationen durchzuführen. In mindestens einer Ausführungsform umfasst ein Satz nicht-transitorischer computerlesbarer Speichermedien mehrere nicht-transitorische computerlesbare Speichermedien, und einem oder mehreren der einzelnen nicht-transitorischen Speichermedien mehrerer nicht-transitorischer computerlesbarer Speichermedien fehlt der gesamte Code, während mehrere nicht-transitorische computerlesbare Speichermedien gemeinsam den gesamten Code speichern. In mindestens einer Ausführungsform werden ausführbare Befehle so ausgeführt, dass verschiedene Befehle von verschiedenen Prozessoren ausgeführt werden - zum Beispiel speichert ein nicht-transitorisches computerlesbares Speichermedium Befehle und führt eine zentrale Verarbeitungseinheit („CPU“) einige der Befehle aus, während eine Grafikverarbeitungseinheit („GPU“) andere Befehle ausführt. In mindestens einer Ausführungsform weisen verschiedene Komponenten eines Computersystems separate Prozessoren auf und führen verschiedene Prozessoren verschiedene Teilmengen von Befehlen aus.
  • Demgemäß sind in mindestens einer Ausführungsform Computersysteme so konfiguriert, dass sie einen oder mehrere Dienste implementieren, die einzeln oder gemeinsam Operationen der hierin beschriebenen Prozesse durchführen, und sind solche Computersysteme mit anwendbarer Hardware und/oder Software konfiguriert, die die Durchführung von Operationen ermöglichen. Ferner ist ein Computersystem, das mindestens eine Ausführungsform der Erfindung implementiert, ein einzelnes Gerät und in einer anderen Ausführungsform ein verteiltes Computersystem, das mehrere Geräte umfasst, die unterschiedlich arbeiten, so dass das verteilte Computersystem die hierin beschriebenen Operationen durchführt und ein einzelnes Gerät nicht alle Operationen durchführt.
  • Die Verwendung von Beispielen oder beispielhaften Formulierungen (z.B. „wie beispielsweise“) dient lediglich der besseren Veranschaulichung von Ausführungsformen der Erfindung und stellt keine Beschränkung des Umfangs der Erfindung dar, sofern nicht anders angegeben. Keine Formulierung in der Beschreibung ist so auszulegen, dass ein nicht beanspruchtes Element als wesentlich für die Praxis der Erfindung angesehen wird.
  • Alle Referenzen, einschließlich Veröffentlichungen, Patentanmeldungen und Patente, die hierin zitiert werden, werden hiermit durch Verweis in demselben Umfang einbezogen, als ob jede Referenz einzeln und ausdrücklich als durch Verweis einbezogen angegeben wäre und hierin in ihrer Gesamtheit wiedergegeben würde.
  • In der Beschreibung und den Ansprüchen können die Begriffe „gekoppelt“ und „verbunden“ sowie deren Ableitungen verwendet werden. Es versteht sich, dass diese Begriffe nicht als Synonyme füreinander gedacht sind. Vielmehr kann in bestimmten Beispielen „verbunden“ oder „gekoppelt“ verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem oder indirektem physischem oder elektrischem Kontakt zueinander stehen. „Gekoppelt“ kann auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt zueinander stehen, aber dennoch miteinander kooperieren oder interagieren.
  • Sofern nicht ausdrücklich anders angegeben, beziehen sich Begriffe wie „Verarbeitung“, „Rechnen“, „Berechnen“, „Bestimmen“ oder dergleichen in der gesamten Spezifikation auf Aktionen und/oder Prozesse eines Computers oder Rechensystems oder eines ähnlichen elektronischen Rechengeräts, die Daten, die als physische, z.B. elektronische, Größen in den Registern und/oder Speichern des Rechensystems repräsentiert sind, manipulieren und/oder in andere Daten umwandeln, die in ähnlicher Weise als physische Größen in den Speichern, Registern oder anderen derartigen Informationsspeicher-, -übertragungs- oder -Anzeigevorrichtungen des Rechensystems repräsentiert werden.
  • In vergleichbarer Weise kann sich der Begriff „Prozessor“ auf eine beliebige Vorrichtung oder einen Teil einer Vorrichtung beziehen, die elektronische Daten aus Registern und/oder Speicher verarbeitet und diese elektronischen Daten in andere elektronische Daten umwandelt, die in Registern und/oder Speicher gespeichert werden können. Als nicht beschränkende Beispiele kann „Prozessor“ eine CPU oder eine GPU sein. Eine „Datenverarbeitungsplattform“ kann einen oder mehrere Prozessoren umfassen. Wie hierin verwendet, können „Software“-Prozesse z.B. Software- und/oder Hardware-Entitäten umfassen, die im Laufe der Zeit Arbeit verrichten, wie z.B. Aufgaben, Threads und intelligente Agenten. Außerdem kann sich jeder Prozess auf mehrere Prozesse beziehen, um Anweisungen nacheinander oder parallel, kontinuierlich oder intermittierend auszuführen. Die Begriffe „System“ und „Verfahren“ werden hier austauschbar verwendet, insofern als ein System eine oder mehrere Verfahren verkörpern kann und Verfahren als ein System betrachtet werden können.
  • In dem vorliegenden Dokument kann auf das Erhalten, Erlangen, Empfangen oder Eingeben von analogen oder digitalen Daten in ein Subsystem, Computersystem oder eine computerimplementierte Maschine Bezug genommen werden. Ein Prozess des Erhaltens, Erlangens, Empfangens oder Eingebens von analogen und digitalen Daten kann auf verschiedene Weise durchgeführt werden, z.B. durch Empfangen von Daten als Parameter eines Funktionsaufrufs oder eines Aufrufs einer Anwendungsprogrammierschnittstelle. In einigen Implementierungen kann der Prozess des Erhaltens, Erlangens, Empfangens oder Eingebens von analogen oder digitalen Daten durch die Übertragung von Daten über eine serielle oder parallele Schnittstelle durchgeführt werden. In einer anderen Implementierung kann der Prozess des Erhaltens, Erlangens, Empfangens oder Eingebens von analogen oder digitalen Daten durch die Übertragung von Daten über ein Computernetzwerk von der bereitstellenden Einheit zur erfassenden Einheit durchgeführt werden. Es kann auch auf das Bereitstellen, Ausgeben, Übertragen, Senden oder Präsentieren analoger oder digitaler Daten Bezug genommen werden. In verschiedenen Beispielen kann der Prozess des Bereitstellens, Ausgebens, Übertragens, Sendens oder Darstellens analoger oder digitaler Daten durch die Übertragung von Daten als Eingabe- oder Ausgabeparameter eines Funktionsaufrufs, eines Parameters einer Anwendungsprogrammierschnittstelle oder eines Inter-Prozess-Kommunikationsmechanismus erfolgen.
  • Obwohl die vorstehende Diskussion beispielhafte Implementierungen der beschriebenen Techniken darlegt, können auch andere Architekturen verwendet werden, um die beschriebene Funktionalität zu implementieren, und sollen diese in den Anwendungsbereich dieser Offenbarung fallen. Obwohl vorstehend zu Diskussionszwecken spezifische Verteilungen von Verantwortlichkeiten definiert sind, können verschiedene Funktionen und Verantwortlichkeiten je nach den Umständen auf unterschiedliche Weise verteilt und aufgeteilt werden.
  • Auch wenn der Gegenstand in einer Sprache beschrieben wurde, die sich auf strukturelle Merkmale und/oder methodische Handlungen bezieht, versteht sich ferner, dass der in den beigefügten Ansprüchen beanspruchte Gegenstand nicht notwendigerweise auf bestimmte beschriebene Merkmale oder Handlungen beschränkt ist. Vielmehr werden bestimmte Merkmale und Handlungen als beispielhafte Ausführungsformen der Ansprüche offenbart.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 3016201806 [0007]
    • US 3016201609 [0007]

Claims (20)

  1. Verfahren, umfassend: Erzeugen einer Lokalisierungsbestimmung unter Verwendung von mindestens zwei Quellen von Lokalisierungsdaten; Vergleichen der Lokalisierungsbestimmung mit mindestens zwei vertrauenswürdigen Lokalisierungswerten, um die Konfidenz in die Lokalisierungsbestimmung zu verifizieren; Erzeugen eines Navigationspfads unter Verwendung von mindestens zwei Quellen der Umgebungswahrnehmung und der Lokalisierungsbestimmung; Vergleichen des Navigationspfads mit mindestens zwei vertrauenswürdigen Quellen von Navigationspfaddaten, um die Konfidenz in den Navigationspfad zu verifizieren; und Bereitstellen des Navigationspfads für ein Steuersystem, um ein Objekt innerhalb der Umgebung zu navigieren.
  2. Verfahren nach Anspruch 1, wobei das Objekt ein Fahrzeug ist und wobei der Navigationspfad einen Fahrspurgraphen umfasst, der unter Verwendung mindestens einer Quelle von Kartendaten und mindestens einer Quelle der Umgebungswahrnehmung entsprechend dem Fahrzeug erzeugt wurde.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Quellen von Lokalisierungsdaten mindestens eines umfassen von: einer Kamera, einem globalen Positionierungssystem (GPS) oder einem Radarsystem.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Quellen der Umgebungswahrnehmung mindestens eines umfassen von: einer Kamera, einem Radarsystem oder einem LIDAR-System, einem Ultraschallsystem oder hochauflösende (HD) Kartendaten.
  5. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Bestimmen einer Konfidenz der Lokalisierungsbestimmung vor der Durchführung des Vergleichs mit den mindestens zwei vertrauenswürdigen Lokalisierungswerten; und Ersetzen der Lokalisierungsbestimmung durch einen vertrauenswürdigsten Lokalisierungswert aus den mindestens zwei Quellen von Lokalisierungsdaten, falls die Konfidenz unter einen Konfidenzschwellenwert fällt.
  6. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Bestimmen einer Konfidenz des Navigationspfades vor der Durchführung des Vergleichs mit den mindestens zwei vertrauenswürdigen Quellen von Navigationspfaddaten; und Ersetzen des Navigationspfads durch Navigationsdaten aus den mindestens zwei Quellen von Lokalisierungsdaten entsprechend einem höchsten Konfidenzniveau, falls die Konfidenz unter einen Konfidenzschwellenwert fällt.
  7. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Bestimmen, dass mindestens eine Quelle von Lokalisierungsdaten vorübergehend nicht verfügbar oder unzuverlässig ist; und Verwenden historischer Lokalisierungsdaten anstelle der mindestens einen Quelle von Lokalisierungsdaten.
  8. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: dynamisches Anpassen einer Auswahl der mindestens zwei Quellen von Lokalisierungsdaten oder der mindestens zwei Quellen der Umgebungswahrnehmung auf der Grundlage einer Verfügbarkeits- oder Konfidenzbestimmung.
  9. Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: Erzeugen eines zweiten Navigationspfads unter Verwendung eines Parallelpfadgenerators; und dynamisches Bestimmen, ob der Navigationspfad oder der zweite Navigationspfad für die Navigation des Objekts bereitzustellen ist.
  10. Fahrzeugsteuersystem, umfassend: ein Lokalisierungsfusionsmodul zum Erzeugen einer fusionierten Lokalisierungsbestimmung basierend zumindest teilweise auf unabhängigen Lokalisierungsbestimmungen, die von mindestens zwei unabhängigen Quellen empfangen wurden; einen Lokalisierungsmonitor zum Bestimmen einer Konfidenz in der fusionierten Lokalisierungsbestimmung basierend zumindest teilweise auf einer Übereinstimmung der fusionierten Lokalisierungsbestimmung und der unabhängigen Lokalisierungsbestimmungen; Fahrspurgraph-Fusionsmodul zur Erzeugung eines fusionierten Fahrspurgraphen basierend zumindest teilweise auf unabhängigen Fahrspurgraphen, die von mindestens zwei unabhängigen Quellen empfangen wurden, und ferner basierend zumindest teilweise auf der fusionierten Lokalisierungsbestimmung; einen Fahrspurgraph-Monitor zum Bestimmen einer Konfidenz in dem fusionierten Fahrspurgraphen basierend zumindest teilweise auf einer Übereinstimmung des fusionierten Fahrspurgraphen und der unabhängigen Fahrspurgraphen; und ein Steuersystem zum Veranlassen des Fahrzeugs, im Ansprechen auf den fusionierten Fahrspurgraphen, der mindestens eine minimale Konfidenz aufweist, in Übereinstimmung mit dem fusionierten Fahrspurgraphen zu navigieren.
  11. Fahrzeugsteuersystem nach Anspruch 10, wobei das Steuersystem dazu angeordnet ist, das Fahrzeug zu veranlassen, im Ansprechen auf die fusionierte Fahrspur, die weniger als eine minimale Konfidenz aufweist, in Übereinstimmung mit einem alternativen Fahrspurgraphen zu navigieren, wobei der alternative Fahrspurgraph mindestens umfasst: einen der unabhängigen Fahrspurgraphen oder einen Fahrspurgraph aus einer sekundären Fahrspurgraphenquelle.
  12. Fahrzeugsteuersystem nach Anspruch 10 oder 11, ferner umfassend: eine Vielzahl von Sensoren von zwei oder mehr Sensortypen, die dazu konfiguriert sind, Daten zur Verwendung bei der Bestimmung von mindestens einer der unabhängigen Lokalisierungsbestimmungen oder der unabhängigen Fahrspurgraphen zu erfassen, wobei die Sensortypen mindestens eines von Kameras, Radar, Ultraschall, LIDAR, GPS oder IMU-Daten beinhalten.
  13. Fahrzeugsteuersystem nach einem der Ansprüche 10 bis 12, ferner umfassend: eine Vielzahl von Lokalisierungskomparatoren zum Vergleichen der unabhängigen Lokalisierungsbestimmungen mit der fusionierten Lokalisierungsbestimmung; und eine Vielzahl von Spurgraphenkomparatoren zum Vergleichen der unabhängigen Fahrspurgraphen mit dem fusionierten Fahrspurgraphen, wobei der Lokalisierungsmonitor die Konfidenz in die fusionierte Lokalisierungsbestimmung basierend zumindest teilweise auf den Ergebnissen der Lokalisierungskomparatoren bestimmt, und wobei der Fahrspurgraph-Monitor die Konfidenz in den fusionierten Fahrspurgraphen basierend zumindest teilweise auf den Ergebnissen der Fahrspurgraph-Komparatoren bestimmt.
  14. Fahrzeugsteuersystem nach einem der Ansprüche 10 bis 13, ferner umfassend: einen Arbiter zum Bestimmen, wenn mindestens eine Quelle von Lokalisierungsdaten vorübergehend nicht verfügbar oder unzuverlässig ist, wobei historische Lokalisierungsdaten anstelle der mindestens einen Quelle von Lokalisierungsdaten verwendet werden können.
  15. Fahrzeugsteuersystem nach einem der Ansprüche 10 bis 14, wobei das Fahrzeugsteuersystem in der Lage ist, eine Auswahl der mindestens zwei unabhängigen Quellen auf der Grundlage einer Verfügbarkeits- oder Konfidenzbestimmung dynamisch anzupassen.
  16. System, umfassend: eine oder mehrere Verarbeitungseinheiten; und Speicher, der Anweisungen enthält, die dann, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, das System veranlassen zum: Erzeugen einer Lokalisierungsbestimmung unter Verwendung von mindestens zwei Quellen von Lokalisierungsdaten; Vergleichen der Lokalisierungsbestimmung mit mindestens zwei vertrauenswürdigen Lokalisierungswerten, um die Konfidenz in die Lokalisierungsbestimmung zu verifizieren; Erzeugen eines Navigationspfads unter Verwendung von mindestens zwei Quellen der Umgebungswahrnehmung und der Lokalisierungsbestimmung; Vergleichen des Navigationspfads mit mindestens zwei vertrauenswürdigen Quellen von Navigationspfaddaten, um die Konfidenz in den Navigationspfad zu verifizieren; und Bereitstellen des Navigationspfads für ein Steuersystem, um ein Objekt innerhalb der Umgebung zu navigieren.
  17. System nach Anspruch 16, wobei die eine oder die mehreren Verarbeitungseinheiten ferner angeordnet sind zum: Bestimmen einer Konfidenz der Lokalisierungsbestimmung vor der Durchführung des Vergleichs mit den mindestens zwei vertrauenswürdigen Lokalisierungswerten; Ersetzen der Lokalisierungsbestimmung durch den vertrauenswürdigsten Lokalisierungswert aus den mindestens zwei Quellen von Lokalisierungsdaten, falls die Konfidenz unter einen Konfidenzschwellenwert fällt; Bestimmen einer Konfidenz des Navigationspfads vor der Durchführung des Vergleichs mit den mindestens zwei vertrauenswürdigen Quellen von Navigationspfaddaten; und Ersetzen des Navigationspfads durch die vertrauenswürdigsten Navigationsdaten aus den mindestens zwei Quellen von Lokalisierungsdaten, falls die Konfidenz unter einen Konfidenzschwellenwert fällt.
  18. System nach Anspruch 16 oder 17, wobei eine oder mehrere Verarbeitungseinheiten ferner angeordnet sind zum: Bestimmen, dass mindestens eine Quelle von Lokalisierungsdaten vorübergehend nicht verfügbar oder unzuverlässig ist; und Verwenden historischer Lokalisierungsdaten anstelle der mindestens einen Quelle von Lokalisierungsdaten.
  19. System nach einem der Ansprüche 16 bis 18, wobei eine oder mehrere Verarbeitungseinheiten ferner angeordnet sind zum: Erzeugen eines zweiten Navigationspfads unter Verwendung eines Parallelpfadgenerators; und Dynamischen Bestimmen, ob der Navigationspfad oder der zweite Navigationspfad für die Navigation des Objekts bereitzustellen ist.
  20. System nach einem der Ansprüche 16 bis 19, wobei das System mindestens eines umfasst von: einem System zur Durchführung von Simulationsoperationen; einem System zur Durchführung von Simulationsoperationen zur Prüfung oder Validierung von Anwendungen autonomer Maschinen; einem System zum Rendern einer grafischen Ausgabe; einem System zur Durchführung von Deep-Learning-Operationen; einem System, das unter Verwendung eines Edge-Geräts realisiert ist; einem System, das eine oder mehrere virtuelle Maschinen (VMs) enthält; einem System, das zumindest teilweise in einem Rechenzentrum implementiert ist; oder einem System, das zumindest teilweise unter Verwendung von Cloud-Computing-Ressourcen implementiert ist.
DE102021128559.3A 2020-11-09 2021-11-03 Sicherheitszerlegung zur pfadbestimmung in autonomen systemen Pending DE102021128559A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063111250P 2020-11-09 2020-11-09
US63/111,250 2020-11-09
US17/483,019 2021-09-23
US17/483,019 US20220144304A1 (en) 2020-11-09 2021-09-23 Safety decomposition for path determination in autonomous systems

Publications (1)

Publication Number Publication Date
DE102021128559A1 true DE102021128559A1 (de) 2022-05-12

Family

ID=81256369

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021128559.3A Pending DE102021128559A1 (de) 2020-11-09 2021-11-03 Sicherheitszerlegung zur pfadbestimmung in autonomen systemen

Country Status (4)

Country Link
US (1) US20220144304A1 (de)
JP (1) JP2022076453A (de)
CN (1) CN115840438A (de)
DE (1) DE102021128559A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022206924A1 (de) 2022-07-06 2024-01-11 Robert Bosch Gesellschaft mit beschränkter Haftung Computerimplementiertes Verfahren und Steuergerät zum Bestimmen eines geforderten Sicherheitsintegritätsniveaus sicherheitsbezogener Fahrzeugfunktionen

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11697346B1 (en) * 2022-03-29 2023-07-11 GM Global Technology Operations LLC Lane position in augmented reality head-up display system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102463176B1 (ko) * 2017-10-16 2022-11-04 삼성전자주식회사 위치 추정 장치 및 방법
US10648820B2 (en) * 2018-01-03 2020-05-12 Deere & Company Methods and apparatus for assessing coordinate data
US20200232806A1 (en) * 2019-01-23 2020-07-23 Uber Technologies, Inc Local map server and multiplexer
DE102019003246A1 (de) * 2019-05-08 2020-11-12 Daimler Ag Verfahren zur Ermittlung von Messwerten mittels mindestens zweier unterschiedlicher Messverfahren und dessen Verwendung

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022206924A1 (de) 2022-07-06 2024-01-11 Robert Bosch Gesellschaft mit beschränkter Haftung Computerimplementiertes Verfahren und Steuergerät zum Bestimmen eines geforderten Sicherheitsintegritätsniveaus sicherheitsbezogener Fahrzeugfunktionen

Also Published As

Publication number Publication date
US20220144304A1 (en) 2022-05-12
JP2022076453A (ja) 2022-05-19
CN115840438A (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
DE112021000135T5 (de) Sensorfusion für anwendungen autonomer maschinen durch maschinelles lernen
DE102021121558A1 (de) Auf neuronalen netzen basierende bestimmung der blickrichtung unter verwendung räumlicher modelle
DE112020006410T5 (de) Dreidimensionale kreuzungsstrukturvorhersage für anwendungen zum autonomen fahren
DE112020003043T5 (de) Erkennung und klassifizierung von kreuzungsregionen für autonome maschinenanwendungen
DE102021126648A1 (de) Imitationstraining mittels synthetischen daten
DE112020002126T5 (de) Erkennung von kreuzungsposen in autonomen maschinenanwendungen
DE102021126254A1 (de) Überwachen der Aufmerksamkeit und der kognitiven Belastung der Insassen für autonome und halbautonome Fahranwendungen
DE112020001897T5 (de) Trainieren neuronaler Netze unter Verwendung von Grundwahrheitsdaten, die mit Karteninformationen ergänzt wurden, für autonome Maschinenanwendungen
DE112020000413T5 (de) Detektion von orientierungspunkten unter verwendung von kurvenanpassung für anwendungen für autonomes fahren
DE112020006404T5 (de) Planung und steuerung von spurwechseln in autonomen maschinenapplikationen
DE102021100065A1 (de) Verwendung neuronaler netze zur fehlererkennung bei anwendungen für autonomes fahren
DE102021123159A1 (de) Adaptiver objektverfolgungsalgorithmus für autonome maschinenanwendungen
DE102021129528A1 (de) Erkennung von Einsatzfahrzeugen für Anwendungen im Bereich des autonomen Fahrens
DE112020001400T5 (de) Iterative erzeugung räumlicher graphen
DE102022121121A1 (de) Objektverfolgung unter Verwendung von LiDAR-Daten für autonome Maschinenanwendungen
DE112021000104T5 (de) Projizieren von mit fischaugenobjektiven aufgenommenen bildern zur merkmalserkennung in autonomen maschinenanwendungen
DE102022123130A1 (de) Trainieren von objekterkennungsmodellen unter verwendung von transferlernen
DE102022121251A1 (de) Kontextbasierte Zustandsschätzung
DE102020130749A1 (de) System zum maschinellen lernen zur blickbestimmung mit adaptiver gewichtung von eingaben
DE102022120817A1 (de) Robuste zustandsschätzung
DE102022104026A1 (de) Erzeugung von ground-truth-daten für die wahrnehmung durch tiefe neuronale netze in anwendungen für autonomes fahren
DE102020131353A1 (de) Auf einem neuronalen netz basierende gesichtsanalyse mittels gesichtslandmarken und zugehörigen vertrauenswerten
DE102022131123A1 (de) Konsistentes sampling für räumliches hashing
DE102022124361A1 (de) Sichtweiteabschätzung unter verwendung von deep learning in autonomen maschinenanwendungen
DE102022117298A1 (de) Zusammenfügungsqualitätsbewertung für rundumsichtsysteme

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G01C0021340000

Ipc: G01B0011000000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G01B0011000000

Ipc: G01C0021000000