DE112020001396T5 - Formfusion zur bildanalyse - Google Patents

Formfusion zur bildanalyse Download PDF

Info

Publication number
DE112020001396T5
DE112020001396T5 DE112020001396.0T DE112020001396T DE112020001396T5 DE 112020001396 T5 DE112020001396 T5 DE 112020001396T5 DE 112020001396 T DE112020001396 T DE 112020001396T DE 112020001396 T5 DE112020001396 T5 DE 112020001396T5
Authority
DE
Germany
Prior art keywords
data
network
segmentation
image
vehicle
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
DE112020001396.0T
Other languages
English (en)
Inventor
David Jesus Acuna Marrero
Towaki Takikawa
Varun Jampani
Sanja Fidler
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 DE112020001396T5 publication Critical patent/DE112020001396T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Image Analysis (AREA)

Abstract

Verschiedene Arten von Bildanalyse profitieren von einer Multi-Stream-Architektur, die es der Analyse ermöglicht, Formdaten zu berücksichtigen. Ein Formstrom kann Bilddaten parallel zu einem primären Strom verarbeiten, wobei Daten von Schichten eines Netzwerks im primären Strom als Eingabe an ein Netzwerk des Formstroms bereitgestellt werden. Die Formdaten können mit den primären Analysedaten fusioniert werden, um eine genauere Ausgabe zu erzeugen, wie etwa um genaue Grenzinformationen zu erzeugen, wenn die Formdaten mit semantischen Segmentierungsdaten verwendet werden, die durch den primären Strom erzeugt werden. Eine Gate-Struktur kann verwendet werden, um die Zwischenschichten des primären und des Formstroms zu verbinden, wobei Aktivierungen auf höherer Ebene verwendet werden, um Aktivierungen auf niedrigerer Ebene in dem Formstrom zu gaten. Eine solche Gate-Struktur kann helfen, den Formstrom auf die relevanten Informationen zu fokussieren, und reduziert jegliches zusätzliche Gewicht des Formstroms.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht Priorität gegenüber (a) der vorläufigen US-Patentanmeldung mit Seriennummer 62/822,685, eingereicht am 22. März 2019 mit dem Titel „Gated Shape CNNs for Semantic Segmentation“ und (b) der vorläufigen US-Patentanmeldung mit Seriennummer 62/872,650, eingereicht am 10. Juli 2019 mit dem Titel „Gated Shape CNNs for Semantic Segmentation“ und (c) der nicht-vorläufigen US-Patentanmeldung mit Seriennummer 16/825,192, eingereicht am 20. März 2020 und mit dem Titel „Shape Fusion for Image Analysis“, von denen jede in ihrer Gesamtheit und für alle Zwecke durch Bezugnahme hierin aufgenommen wird.
  • ALLGEMEINER STAND DER TECHNIK
  • Computervision wird für eine zunehmende Vielfalt von Aufgaben verwendet, die mit ständig steigenden Leistungsanforderungen verbunden sind. Für Anwendungen wie etwa autonomes oder assistiertes Fahren oder Robotersteuerung kann eine genaue Objektklassifizierung entscheidend sein. Herkömmliche Ansätze bieten nicht immer das Maß an Präzision, das für diese und andere derartige Anwendungen erforderlich ist. Herkömmliche Verfahren zur Bildsegmentierung bilden beispielsweise eine dichte Bilddarstellung, bei der die Farb-, Form- und Texturinformationen alle zusammen in einem tiefen neuronalen Netzwerk verarbeitet werden, was möglicherweise nicht ideal ist, da diese Parameter sehr unterschiedliche Informationsmengen enthalten, die für die Erkennung relevant sind.
  • Figurenliste
  • Verschiedene Ausführungsformen gemäß der vorliegenden Offenbarung werden unter Bezugnahme auf die Zeichnungen beschrieben, in denen Folgendes gilt:
    • 1 veranschaulicht einen Satz von Kameras eines Fahrzeugs, der verwendet werden kann, gemäß mindestens einer Ausführungsform;
    • 2A, 2B, 2C und 2D veranschaulichen Bilder von Objekten in einer nahen Umgebung, die analysiert werden können, gemäß mindestens einer Ausführungsform;
    • 3 veranschaulicht eine beispielhafte Bildverarbeitungspipeline gemäß mindestens einer Ausführungsform;
    • 4 veranschaulicht Daten in verschiedenen Zuständen durch eine Bildverarbeitungspipeline gemäß mindestens einer Ausführungsform;
    • 5 veranschaulicht eine Formstromausgabe für Eingabebilder gemäß mindestens einer Ausführungsform;
    • 6A und 6B veranschaulichen semantische Segmentierungen für verschiedene Ansichten eines Bildes gemäß mindestens einer Ausführungsform;
    • 7 veranschaulicht eine Grenzausgabe für einen Satz Eingabebilder gemäß mindestens einer Ausführungsform;
    • 8 veranschaulicht Komponenten einer automatisierten oder halbautomatisierten Vorrichtung gemäß mindestens einer Ausführungsform;
    • 9 veranschaulicht einen Prozess zum Bestimmen von durchzuführenden Aktionen teilweise basierend auf Grenzen, die aus Bilddaten bestimmt wurden, gemäß mindestens einer Ausführungsform;
    • 10 veranschaulicht einen Prozess zum Analysieren von Bilddaten gemäß mindestens einer Ausführungsform;
    • 11A veranschaulicht Ableitungs- und/oder Trainingslogik gemäß mindestens einer Ausführungsform;
    • 11B veranschaulicht Ableitungs- und/oder Trainingslogik gemäß mindestens einer Ausführungsform;
    • 12 veranschaulicht ein beispielhaftes Rechenzentrumssystem gemäß mindestens einer Ausführungsform;
    • 13 veranschaulicht ein Computersystem gemäß mindestens einer Ausführungsform;
    • 14 veranschaulicht ein Computersystem gemäß mindestens einer Ausführungsform;
    • 15 und 16 veranschaulichen mindestens Teile eines Grafikprozessors gemäß mindestens einer Ausführungsform;
    • 17A veranschaulicht ein beispielhaftes autonomes Fahrzeug gemäß mindestens einer Ausführungsform;
    • 17B veranschaulicht eine beispielhafte Systemarchitektur für das autonome Fahrzeug aus 17A gemäß mindestens einer Ausführungsform; und
    • 17C veranschaulicht ein System zur Kommunikation zwischen (einem) cloudbasierten Server(n) und dem autonomen Fahrzeug aus 17A gemäß mindestens einer Ausführungsform.
  • DETAILLIERTE BESCHREIBUNG
  • Computervision umfasst im Allgemeinen eine oder mehrere Computervorrichtungen, die Bilddaten (z. B. ein oder mehrere Bilder oder Videoinhalte) analysieren, um zu versuchen, Informationen über Objekte, die in diesen Bilddaten dargestellt sind, zu bestimmen oder zu extrahieren, um beispielsweise etwas über diese Objekte zu klassifizieren. Dies kann zum Beispiel das Analysieren von hochdimensionalen Daten beinhalten, die aus den erfassten Bilddaten extrahiert wurden, um zu versuchen, Objekte oder Objekttypen, die in den Bilddaten dargestellt sind, zu erkennen und von Menschen lesbare Beschreibungen oder Labels zu erzeugen, die diese Objekte identifizieren. Verschiedene Ansätze können ein trainiertes tiefes neuronales Netzwerk verwenden, um spezifische Aspekte der erfassten Bilddaten abzuleiten, wie etwa semantische Grenzen für in den Bilddaten dargestellte Objekte. Die Grenzen dieser Objekte werden hier als semantische Grenzen bezeichnet, da jede Grenze einem semantischen Label oder anderen semantischen Daten zugeordnet werden kann, die etwa einen durch eine gegebene Grenze definierten Objekttyp identifizieren können. Ein solcher Ansatz kann helfen, Objekte in den Bilddaten sowie Form, Lage und möglicherweise Entfernung zu diesen Objekten zu identifizieren, was für Anwendungen von Vorteil sein kann, zu denen Aufgaben wie etwa Navigation oder Komponentenmanipulation gehören.
  • 1 veranschaulicht ein beispielhaftes Fahrzeug 100, das Aspekte verschiedener Ausführungsformen für solche Zwecke nutzen kann. Wie veranschaulicht, beinhaltet das Fahrzeug 100 eine Anzahl von Kameras oder Bildsensoren an verschiedenen Stellen des Fahrzeugs, um Bilddaten zu erfassen, die eine Umgebung darstellen, in der sich das Fahrzeug befindet. Diese können mindestens zwei Stereokamerabaugruppen beinhalten, einschließlich nach vorne und nach hinten gerichteter Stereokameras 168. Die von diesen Kameras erfassten stereoskopischen Daten können verwendet werden, um Objekte vor und hinter dem Fahrzeug 100 zu erkennen, wobei die Objekte andere Fahrzeuge, Fußgänger, Straßenschilder und dergleichen umfassen können. Während die Bilddaten von jeder Kamera unter Verwendung von Computervision analysiert werden können, um Typen dieser Objekte zu erkennen, ermöglicht der Stereoaspekt der Daten, die Entfernungen zu diesen Objekten vom Fahrzeug 100 zu bestimmen. Dies kann unter anderem für Aufgaben oder Anwendungen wie etwa Fußgängererkennung und Kollisionsvermeidung wichtig sein. In diesem Beispiel können dedizierte Stereokameras eine Disparitätsschätzung unterstützen, während jede dieser Kameras optische Fluss- oder allgemeine Computervision-Bestimmungen unterstützen kann, was eine Objekterkennung beinhalten kann.
  • 2A und 2B veranschaulichen ein linkes Bild 202 und ein entsprechendes rechtes Bild 204 eines stereoskopischen Paars von Bildern, die von einer nach vorne gerichteten stereoskopischen Kamera eines Fahrzeugs aufgenommen wurden. Die einzelnen Bilder können separat analysiert (oder nur ein einzelnes Bild kann erfasst und analysiert) werden, um Objekte in den Bildern zu erkennen, wie etwa andere Fahrzeuge, Fahrspurmarkierungen und Straßenschilder. Wo Entfernungsinformationen benötigt werden, können Unterschiede in den Positionen dieser Objekte in den Bildern 202, 204 verwendet werden, um die Disparität oder die Entfernung von der nach vorne gerichteten Kamera zu diesen Objekten zu bestimmen. In einigen Ausführungsformen können Daten von mindestens einem dieser Bilder verwendet werden, um eine semantische Karte 206 zu erzeugen, wie in 2C veranschaulicht ist, die eine Identifizierung von in den Bilddaten erkannten Objekten sowie eine Angabe eines Typs jedes Objekts beinhaltet. In Ausführungsformen, bei denen auch Entfernungsinformationen benötigt werden, können Disparitätsinformationen mit der semantischen Segmentierung verwendet werden, um eine Tiefenkarte 208 zu erzeugen, wie in 2D veranschaulicht ist, wobei die Entfernungen verschiedener erkannter Objekte durch unterschiedliche Farben oder Schattierungen dargestellt werden können, wobei heller gefärbte Objekte in diesem Beispiel näher an der Kamera sind als dunklere gefärbte Objekte. In Kombination mit den Computervisionsdaten können solche Tiefendaten nicht nur die Identifizierung von nahegelegenen Objekten, sondern auch die relative Entfernung zu diesen Objekten bereitstellen. Durch das Überwachen dieser Informationen im Zeitverlauf können auch andere Informationen wie etwa die relative Geschwindigkeit und der Kurs bestimmt werden, die für Aufgaben wie die Navigation wichtig sein können.
  • Wie bereits erwähnt, kann ein Prozess wie Bildsegmentierung Darstellungen von Farb-, Form- und Texturinformationen verwenden, die zusammen in einem Netzwerk verarbeitet werden, wie etwa einem tiefen neuronalen Faltungsnetzwerk (Convolutional Neural Network - CNN), aber ein solcher Ansatz ist möglicherweise nicht ideal, da sie sehr unterschiedliche Arten von Informationen enthalten, die relevant zur Erkennung sind. Ansätze gemäß verschiedenen Ausführungsformen verwenden stattdessen eine Multi-Stream-CNN-Architektur zur Bildanalyse (z. B. semantische Segmentierung), die Forminformationen als einen separaten Verarbeitungszweig oder „Formstrom“ bestimmt, der Informationen parallel zu einem primären Strom verarbeiten kann, der etwa ein herkömmlich trainiertes neuronales Netzwerk zum Durchführen einer Bildanalyse verwenden kann. In mindestens einer Ausführungsform können Aktivierungen auf höherer Ebene in dem primären Strom verwendet werden, um Aktivierungen auf niedrigerer Ebene in dem Formstrom zu steuern. Dies kann dazu beitragen, Rauschen zu entfernen und es dem Formstrom zu ermöglichen, sich auf die Verarbeitung relevanter grenzbezogener Informationen zu konzentrieren. In mindestens einer Ausführungsform kann eine sehr flache Architektur für den Formstrom verwendet werden, der mit der Auflösung auf Bildebene arbeitet, scharfe Vorhersagen um Objektgrenzen erzeugt und die Leistung bei dünneren und kleineren Objekten in Bezug auf Ansätze, die keinen Formstrom verwenden, signifikant steigert.
  • Ein primärer Strom kann in mindestens einer Ausführungsform ein neuronales Faltungsnetzwerk (CNN) verwenden, um beispielsweise eine semantische Bildsegmentierung durchzuführen. In einem solchen Netzwerk können vollständig verbundene Schichten eines herkömmlichen CNN in Faltungsschichten umgewandelt werden. Die alleinige Verwendung von Klassifikationsarchitekturen für die dichte Pixelvorhersage kann mehrere Nachteile haben, die mit einem Verlust räumlicher Auflösung der Ausgabe aufgrund der Verwendung von Pooling-Schichten zusammenhängen können. Spezialisierte CNNs können dann verwendet werden, um die räumliche Auflösung der Netzwerkausgabe wiederherzustellen. Um die gewünschte Genauigkeit der erzeugten Ergebnisse zu erzielen, kann es von Vorteil sein, eine vollständige und detaillierte Objektgrenze zu betrachten, um eine unterscheidende Codierung der Form zu erhalten, während Farbe und Textur Informationen auf relativ niedrigem Niveau enthalten können. Durch die Integration zusätzlicher Konnektivität können die verschiedenen Arten von Informationen über verschiedene Ebenen der Netzwerktiefe hinweg fließen.
  • Ansätze gemäß verschiedenen Ausführungsformen können eine Multi-Stream- (z. B eine Zweistrom-) CNN-Architektur 300 für die semantische Segmentierung verwenden, wie die in 3 veranschaulichte. Eine solche Architektur 300 kann Forminformationen explizit als einen separaten Verarbeitungszweig verdrahten. Insbesondere kann die Architektur einen primären Datenstrom 320 beinhaltet, der ein Bildanalysenetzwerk verwendet, wie etwa ein klassisches CNN, das für die semantische Segmentierung nützlich ist. Die Architektur 300 kann auch einen separaten, parallelen Verarbeitungszweig beinhalten, der hier als Formstrom 304 bezeichnet wird. In mindestens einer Ausführungsform können der primäre Strom 302 und der Formstrom 304 parallel arbeiten, wobei Informationen von diesen Strömen erst in den obersten Schichten fusioniert werden. In mindestens einer Ausführungsform verwendet diese Architektur 300 einen Gating-Mechanismus, um Zwischenschichten der parallelen Ströme zu verbinden. Es versteht sich, dass die im Formstrom 304 dargestellte Anzahl von Schichten nur ein Beispiel ist und dass in anderen Ausführungsformen unterschiedliche Anzahlen von Schichten verwendet werden können. Die Fusion von Informationen zwischen den Strömen 302, 304 wird in der Nähe eines Endes der Pipeline unter Verwendung eines Fusionsmoduls 306 durchgeführt. Um Grenzen hoher Qualität vorherzusagen, kann beim Training eine Verlustfunktion verwendet werden, welche die vorhergesagten semantischen Segmentierungsmasken dazu anregt, sich an Ground-Truth-Grenzen auszurichten. In diesem Beispiel stammen Daten, die als Eingabe in den Formstrom 304 bereitgestellt werden, aus aufeinanderfolgenden Faltungsschichten des Formstroms. Die Daten in mindestens einer Ausführungsform würden Merkmale beinhalten, die für das in der jeweiligen Schicht codierte Bild repräsentativ sind. Die Merkmalsdaten aus aufeinanderfolgenden Schichten helfen dabei, Abschnitte des Bildes zu identifizieren und zu entfernen, die nicht den Grenzen entsprechen, da die Daten aus dem primären Strom als eine Folge von Aufmerksamkeitskarten fungieren können.
  • In mindestens einer Ausführungsform kann ein bestimmter Gate-Typ verwendet werden, um zu ermöglichen, dass die parallelen Zweige interagieren. Dies kann ermöglichen, dass Informationen auf höherer Ebene, die im klassischen Strom enthalten sind, verwendet werden, um Aktivierungen im Formstrom in sehr frühen Verarbeitungsstadien zu entrauschen. Dadurch kann sich der Formstrom 304 auf die Verarbeitung relevanter Informationen fokussieren. Um sicherzustellen, dass Forminformationen an den gewünschten Strom geleitet werden, kann das Netzwerk mit einem semantischen Grenzverlust überwacht werden. Eine zweite Verlustfunktion kann verwendet werden, die dazu führt, dass die vorhergesagte semantische Segmentierung korrekt an den semantischen Ground-Truth-Grenzen ausgerichtet wird, was das Fusionsmodul 306 (oder Schicht(en)) weiter dazu anregt, Informationen zu nutzen, die vom Formstrom 304 stammen.
  • In mindestens einer Ausführungsform kann der primäre Datenstrom 302 des Netzwerks eine beliebige Backbone-Architektur sein, die ein herkömmliches Segmentierungs-CNN umfassen kann. Der Formstrom 304 kann Forminformationen in Form von semantischen Grenzen verarbeiten. Der Formstrom kann durch einen Satz von Restblöcken sowie durch die Verwendung von mindestens einer gegateten Faltungsschicht (Gated Convolution Layer - GCL) sowie durch lokale Überwachung dazu veranlasst werden, nur grenzbezogene Informationen zu verarbeiten. In mindestens einer Ausführungsform können Merkmale des semantischen Bereichs aus dem primären Strom und Grenzmerkmale aus dem Formstrom in dem Fusionsmodul 306 fusioniert werden, um ein verfeinertes Segmentierungsergebnis zu erzeugen, insbesondere um Grenzen herum. Ein Fusionsmodul 306 kann in mindestens einer Ausführungsform Informationen aus den zwei Strömen auf eine Multiskalen-Weise kombinieren, beispielsweise unter Verwendung eines Atrous-Spatial-Pyramid-Pooling-Moduls (ASPP). Hohe Qualitätsgrenzen auf den Segmentierungsmasken können beispielsweise unter Verwendung eines Dual-Task-Regularisierers sichergestellt werden.
  • In mindestens einer Ausführungsform nimmt ein als ℜθ (I) mit Parameter θ bezeichneter Primärstrom 302 das Bild I ∈ ℝ 3xHxW mit der Höhe H und der Breite W als Eingabe und erzeugt dichte Pixelmerkmale. Der primäre Datenstrom 302 kann in mindestens einer Ausführungsform ein beliebiges Feedforward-Vollfaltungsnetzwerk sein, wie etwa ein ResNet-basiertes oder VGGbasiertes semantisches Segmentierungsnetzwerk. In einer Ausführungsform kann eine ResNetähnliche Architektur wie ResNet-101 und WideResNet für den primären Strom verwendet werden. Die Ausgabemerkmaldarstellung des primären Stroms kann wie folgt angegeben werden: r C x H m × W m
    Figure DE112020001396T5_0001
    wobei m die Schrittlänge des primären Stroms ist.
  • In mindestens einer Ausführungsform kann der Formstrom 304 als S Ø
    Figure DE112020001396T5_0002
    mit Parametern ø bezeichnet werden und kann Bildgradienten ∇I sowie die Ausgabe der ersten Faltungsschicht des Primärstroms als Eingabe verwenden. Der Formstrom kann dann als Ausgabe semantische Grenzen erzeugen. In mindestens einer Ausführungsform besteht die Architektur aus einigen wenigen Restblöcken (z. B. Res 1 in der Figur), die mit gegateten Faltungsschichten (GCL) verschachtelt sind. Die gegateten Faltungsschichten können dazu beitragen, dass der Formstrom nur grenzrelevante Informationen verarbeitet. Die ausgegebene Grenzkarte des Formstroms kann als s ∈ ℝHxW bezeichnet werden. Da binäre Ground-Truth-(GT)-Kanten von semantischen GT-Segmentierungsmasken erhalten werden können, kann der überwachte binäre Kreuzentropieverlust an Ausgangsgrenzen verwendet werden, um den Formstrom zu überwachen.
  • In zumindest einer Ausführungsform kann das Fusionsmodul 306, das als Fγ mit Parameter γ bezeichnet werden kann, die dichte Merkmalsdarstellung r, die von dem regulären Zweig kommt, als Eingabe nehmen und diese Darstellung mit der Ausgabe der Grenzkarte s durch den Formzweig auf eine Art und Weise fusionieren, dass mehrskalige Kontextinformationen erhalten bleiben. Regionsmerkmale können mit Grenzmerkmalen und einer verfeinerten semantischen Segmentierungsausgabe kombiniert werden. In mindestens einer Ausführungsform kann für eine Segmentierungsvorhersage von K semantischen Klassen eine kategoriale Verteilung ausgegeben werden, die durch Folgendes gegeben sein kann: ƒ = p ( y \ s , r ) = F γ ( s , r ) K × H × W ,
    Figure DE112020001396T5_0003
    was eine Wahrscheinlichkeit darstellt, dass Pixel zu jeder der K Klassen gehören. In mindestens einer Ausführungsform kann die Grenzkarte s mit der dichten Merkmalsdarstellung r unter Verwendung von ASPP verschmolzen werden. Wie erwähnt, ermöglicht dies, dass die mehrskaligen kontextbezogenen Informationen erhalten bleiben.
  • Da Aufgaben wie das Schätzen der semantischen Segmentierung und semantischen Grenzen eng miteinander verbunden sind, kann eine gegatete Faltungsschicht (GCL) verwendet werden, die den Informationsfluss aus dem primären Strom 302 in den Formstrom 304 erleichtert. Eine GCL kann dabei helfen sicherzustellen, dass der Formstrom 304 nur relevante Informationen verarbeitet, indem Informationen herausgefiltert werden, die als irrelevant für Form oder Grenzen bestimmt wurden. Es sollte beachtet werden, dass in dieser Architektur der Formstrom keine Merkmale aus dem primären Strom enthält, sondern stattdessen GCL verwendet, um seine Aktivierungen zu deaktivieren, die von den im primären Strom enthaltenen Informationen auf höherer Ebene als nicht relevant erachtet werden. Dies kann man sich als Zusammenarbeit zwischen zwei parallelen Strömen vorstellen, wobei der stärkere Strom, der ein semantisches Verständnis einer Szene auf höherer Ebene gebildet hat, dem anderen Strom hilft, sich nur auf relevante Teile zu konzentrieren. Ein solcher Ansatz ermöglicht es dem Formstrom, eine effektive flache Architektur anzunehmen, die Bilder mit einer sehr hohen Auflösung verarbeitet.
  • GCL kann an mehreren Stellen zwischen dem primären Strom 302 und dem Formstrom 304 verwendet werden. Nehmen wir beispielsweise an, dass m die Anzahl von Stellen bezeichnet und t ∈ 0,1, ..., m ein Laufindex ist, wobei rt und st Zwischendarstellungen der entsprechenden regulären und Formströme bezeichnen, die unter Verwendung einer GCL verarbeitet werden. Um GCL anzuwenden, wird eine Aufmerksamkeitskarte αt ∈ ℝHxW erhalten, indem rt und st verkettet werden, gefolgt von einer normalisierten 1 x 1 Faltungsschicht C1x1 , der wiederum eine Sigmoidfunktion σ folgt, wie gegeben sein kann durch: α t = σ ( C 1 x 1 ( s t | | r t ) )
    Figure DE112020001396T5_0004
    wobei II die Verkettung von Merkmalkarten bezeichnet. Angesichts der Aufmerksamkeitskarte αt wird GCL auf st als elementweises Produkt ⊙ mit Aufmerksamkeitskarte α angewendet, gefolgt von einer Restverbindung und kanalweiser Gewichtung mit Kernel wt. An jedem Pixel kann (i,j) GCL
    Figure DE112020001396T5_0005
    berechnet werden, wie gegeben sein kann durch: s ^ t i , j ( s t w t ) ( i , j ) ( ( s t ( i , j ) α t ( i , j ) ) + s t ( i , j ) ) T w t
    Figure DE112020001396T5_0006
  • In mindestens einer Ausführungsform wird ŝt dann zur weiteren Verarbeitung an die nächste Schicht im Formstrom weitergegeben. Sowohl die Aufmerksamkeitskarten-Berechnung als auch die gegatete Faltung sind differenzierbar und daher kann die Backpropagation nahtlos durchgeführt werden. Intuitiv kann α auch als Aufmerksamkeitskarte angesehen werden, die Bereiche mit wichtigen Grenzinformationen stärker gewichtet. In mindestens einer Ausführungsform können drei GCLs verwendet werden, die mit der dritten, vierten und letzten Schicht des primären Stroms verbunden sind. Bilineare Interpolation kann bei Bedarf verwendet werden, um die Merkmalkarten, die aus dem primären Strom stammen, hochzurechnen.
  • In zumindest einer Ausführungsform können der primäre und der Formstrom gemeinsam mit dem Fusionsmodul nahtlos trainiert werden. Segmentierung und Grenzkartenvorhersage können während des Trainings gemeinsam überwacht werden. In diesem Fall kann die Grenzkarte eine binäre Darstellung aller Umrisse von Objekten und Objektklassen in der Szene sein, wie in 5 veranschaulicht. Ein binärer Kreuzentropie-(binary cross-entropy - BCE)-Verlust kann mit vorhergesagten Grenzkarten s verwendet werden und ein Kreuzentropie-(CE)-Verlust kann mit vorhergesagter semantischer Segmentierung f verwendet werden, wie gegeben sein kann durch: θ Ø , γ = λ 1 BCE θ , Ø ( s , s ^ ) + λ 2 CE θ Ø , γ ( y ^ , f )
    Figure DE112020001396T5_0007
    wobei ŝ ∈ ℝHxw GT-Grenzen bezeichnet und ŷ ∈ ℝHxW GT-semantische Labels bezeichnet. λ1, λ2 sind hier zwei Hyperparameter, die die Gewichtung zwischen den Verlusten steuern.
  • Wie in 3 veranschaulicht, wird die BCE-Überwachung auf Grenzkarten s durchgeführt, bevor diese Karten in das Fusionsmodul 306 eingespeist werden. Somit aktualisiert der BCE-Verlust BCE θ , Ø
    Figure DE112020001396T5_0008
    die Parameter sowohl des primären als auch des Formstroms. Eine endgültige kategoriale Verteilung ƒ semantischer Klassen kann mit CE-Verlust CE θ Ø , γ
    Figure DE112020001396T5_0009
    am Ende überwacht werden, wobei alle Netzwerkparameter aktualisiert werden. Im Fall von BCE an Grenzen kann ein Koeffizient β verwendet werden, um ein hohes Ungleichgewicht zwischen Grenz- und Nicht-Grenzpixeln zu berücksichtigen.
  • Wie oben erwähnt, kann p(y\r,s) ∈ ℝKxHxW eine kategoriale Verteilungsausgabe des Fusionsmoduls bezeichnen. Angenommen ζ = RHxw ist ein Potential, das darstellt, ob ein bestimmtes Pixel zu einer semantischen Grenze im Eingabebild / gehört. Dieser Wert kann berechnet werden, indem eine räumliche Ableitung der Segmentierungsausgabe vorgenommen wird, die wie folgt angegeben werden kann: ζ = 1 2 ( G arg max  p ( y k | r , s ) ) k
    Figure DE112020001396T5_0010
    wobei G den Gauß-Filter bezeichnet. Wenn angenommen wird, dass ζ eine binäre GT-Maske ist, die in der gleichen Art und Weise aus den GT-semantischen Labels ƒ̂ berechnet wurde, kann eine Verlustfunktion verwendet werden, wie gegeben sein kann durch: r e g θ Ø , γ = λ 3 p + | ζ ( p + ) ζ ^ ( p + ) |
    Figure DE112020001396T5_0011
    wobei (p+) den Satz aller Pixelkoordinaten ungleich Null sowohl in ζ als auch in ζ enthält. Es kann wünschenswert sein, sicherzustellen, dass Grenzpixel benachteiligt werden, wenn eine Fehlanpassung mit GT-Grenzen auftritt, und zu vermeiden, dass Nichtgrenzen-Pixel die Verlustfunktion dominieren. Es ist anzumerken, dass die obige Regularisierungsverlustfunktion die Dualität zwischen Grenzvorhersage und semantischer Segmentierung im Grenzraum ausnutzt.
  • In mindestens einer Ausführungsform kann die Grenzvorhersage aus dem Formstrom s ∈ ℝHxW verwendet werden, um die Beständigkeit zwischen der binären Grenzvorhersage s und der vorhergesagten Semantik p(y|r,s) sicherzustellen, wie gegeben sein kann durch: r e g θ Ø , γ = λ 4 k , p I s p [ y ^ k p log p  y k p | r , s ) ]
    Figure DE112020001396T5_0012
    wobei p und k über alle Bildpixel bzw. semantischen Klassen laufen. In diesem Fall entspricht
    Figure DE112020001396T5_0013
    = {1: s > Schwellenwert} der Indikatorfunktion und Schwellenwert ist ein Konfidenzschwellenwert, wie etwa 0,8. Eine totale Dual-Task-Regularisierer-Verlustfunktion kann somit gegeben sein durch: θ Ø , γ = r e g θ Ø , γ + r e g θ Ø , γ
    Figure DE112020001396T5_0014
    In diesem Fall sind λ3, λ4 zwei Hyperparameter, die die Gewichtung des Regularisierers steuern.
  • Um eine Backpropagation durch die obige Verlustfunktion zu ermöglichen, können Gradienten der räumlichen Ableitung am Segmentierungsausgang bestimmt werden. Wenn man beispielsweise g =||. || annimmt, können die partiellen Ableitungen in Bezug auf einen gegebenen Parameter η gegeben sein durch: L η i = j , l G L ζ j ζ j g l  arg  m a x k   p ( y k ) l η i
    Figure DE112020001396T5_0015
  • Da arg max keine differenzierbare Funktion ist, kann ein Gumbel-Softmax-Trick verwendet werden. Während eines Rückwärtsdurchlaufs kann der Argmax-Operator mit einem Softmax mit der Temperatur τ angenähert werden, wie gegeben sein kann durch:  arg  m a x k   p ( y k ) l η i = η i exp ( log  p ( y k ) + g k τ ) j exp ( log  p ( y j ) + g j τ )
    Figure DE112020001396T5_0016
    wobei gj~ Gumbel(0,I) und τ ein Hyperparameter ist. Der Operator ∇G * kann durch Filtern mit einem Sobel-Kernel berechnet werden.
  • In mindestens einer Ausführungsform kann eine Deeplab-v3+-Methodik verwendet werden, jedoch mit einfacheren Codierern. Netzwerke können beispielsweise unter Verwendung von PyTorch implementiert werden. Mindestens eine Ausführungsform kann 800 x 800 als Trainingsauflösung und synchronisierte Stapelnorm verwenden. Das Training kann auf einer Arbeitsstation wie etwa einer NVIDIA DGX Station unter Verwendung von 8 GPUs mit einer Gesamtchargengröße von 16 durchgeführt werden. Für Stadtlandschaften kann eine Lernrate von 1e-2 mit einer polynomialen Zerfallsrichtlinie verwendet werden. Ein Trainingsprozess kann beispielsweise für 100 Epochen zur Ablation durchgeführt werden. Für einen Verbindungsverlust können Werte wie etwa τ1 = 20, τ2 = 1, τ3 = 1, und τ4 = 1 eingestellt werden, mit x = 1 für den Gumbel-Softmax.
  • 4 veranschaulicht Zustände von Daten, die eine Analysepipeline 400 durchlaufen, gemäß mindestens einer Ausführungsform. In diesem Beispiel wird ein Bild 402, das eine Darstellung eines Fahrzeugs beinhaltet, als Eingabe in die Pipeline bereitgestellt, die zuerst zur Analyse an einen primären Strom 30 weitergeleitet wird, wie etwa zum Bestimmen einer semantischen Segmentierung unter Verwendung eines tiefen CNN. In diesem Beispiel werden Daten 404, 406 von Schichten des Primärstrom-Netzwerks als Eingabe für das Netzwerk des Formstroms 304 bereitgestellt. Wie veranschaulicht, sind die von verschiedenen Schichten des Primärstrom-Netzwerks empfangenen Daten 404, 406 unterschiedlich und können zusammen analysiert werden, um Formdaten 408 zu erzeugen, die eine relativ genaue Darstellung der Formen der Objekte im Eingabebild sind, wie veranschaulicht durch die zutreffende Form des Fahrzeugs in den Formdaten 408. Die Formdaten 408 können mit einer Ausgabe des primären Stroms an einem Fusionsnetzwerk oder einer Fusionsschicht kombiniert werden, die eine semantische Segmentierungsmaske 410 erzeugen können, aus der Grenzdaten 412 generiert werden können. Wie veranschaulicht, behält die semantische Segmentierungsmaske 410 die semantischen Informationen bei, die Typen von Objekten anzeigen, die aus dem Bild erkannt werden (oder zumindest zwischen verschiedenen Objekten unterscheiden, wenn sie nicht identifiziert werden). Wie erwähnt, kann ein Dual-Task-Regularisierer verwendet werden, wobei eine Dual-Task-Verlustfunktion die vorhergesagten semantischen Segmentierungsmasken dazu anregt, sich an Ground-Truth-Grenzen auszurichten, um Grenzvorhersagen hoher Qualität sicherzustellen. In mindestens einer Ausführungsform ermöglicht dies, dass die semantischen Grenzen die semantischen Masken beeinflussen, sowie dass die semantischen Masken die semantischen Grenzen beeinflussen.
  • 5 veranschaulicht Beispiele 500 von Formdaten, die von einem Formstrom für ein Paar von Eingabebildern ausgegeben werden. Wie veranschaulicht, weisen die Eingabebilder eine Vielzahl von Objekten unterschiedlicher Größe, Form und Position auf. Die Formstromausgabe für jedes davon erzeugt hochgenaue Formdaten, die zwischen verschiedenen Objekten unterscheiden und in der Lage sind, eine äußere Form dieser Objekte zu bestimmen, ohne falsche Objektformen aufgrund von Merkmalen oder Mustern innerhalb oder auf einer Oberfläche dieser Objekte zu erzeugen. 6A veranschaulicht ein Eingabebild 600, das mehrere verschiedene berücksichtigte Abschnitte aufweisen kann, die auf verschiedenen Bildausschnitten basieren können, um genauere Daten für verschiedene Entfernungsbereiche zu erhalten. Wie veranschaulicht, entspricht jeder Ausschnittbereich einem anderen Entfernungsbereich, beispielsweise indem er Punkte aufweist, die nicht näher als eine bestimmbare Entfernung sind. Wie in den Ansichten 650 von 6B veranschaulicht, kann dies helfen, größere Detailebenen für weiter entfernte Objekte zu erhalten, da eine semantische Segmentierungsmaske bei Crop-Faktor 0 die Bestimmung von Objekten in der Entfernung erschweren kann, aber bei einem Crop-Faktor von 400 leichter festgestellt werden kann, dass sich in der Ferne eine Person hinter einem Fahrzeug befindet. Für die entfernungsbasierte Auswertung können daher unterschiedliche Crops verwendet werden, die zu unterschiedlichen Vorhersagen bei unterschiedlichen Crop-Faktoren führen. Es hat sich gezeigt, dass die Verwendung von Formdaten bei jedem dieser verschiedenen Crop-Faktoren genauere Ergebnisse liefert. 7 veranschaulicht Ansichten 700 von resultierenden Grenzausgabedaten für drei verschiedene Eingabebilder. Wie veranschaulicht, bieten die Grenzdaten einen genauen Überblick über Objekte und Merkmale, die in den Eingabebildern enthalten sind. In mindestens einer Ausführungsform können die Grenzdaten farbcodiert oder anderweitig gekennzeichnet sein, um die aus dem primären Strom bestimmten semantischen Informationen beizubehalten, die sonst in der semantischen Segmentierung hätten dargestellt werden können.
  • 8 veranschaulicht eine beispielhafte Systemarchitektur 800, die gemäß mindestens einer Ausführungsform verwendet werden kann. In diesem Beispiel wird die Architektur als Teil einer automatisierten Vorrichtung 802 verwendet. Dies kann eine vollautomatisierte Vorrichtung sein, wie etwa ein autonomes Fahrzeug oder ein unbemannter Roboter, oder ein halbautomatisches Fahrzeug, wie etwa ein Fahrzeug mit Fahrerassistenz. In diesem Beispiel kann mindestens eine Kamera 804 verwendet werden, um Bilddaten einer Umgebung zu erfassen, in der sich die automatisierte Vorrichtung 802 befindet. Die Bilddaten können einem Bildverarbeitungs-Subsystem 806 bereitgestellt werden, das ein Vorverarbeitungsmodul 808 beinhalten kann, um jede gewünschte oder notwendige Vorverarbeitung der Bilddaten durchzuführen. Die Bilddaten können dann an ein Wahrnehmungsmodul 810 weitergegeben werden, das auf einer Multi-Stream-Architektur basieren kann, wie hierin erörtert. Dies kann in mindestens einer Ausführungsform das Verarbeiten von Daten mit primären und Formströmen und dann das Fusionieren der Informationen beinhalten, um semantische Grenzdaten zu erzeugen, um zu bewirken, dass die Grenzbestimmung die Form berücksichtigt, wie hierin erörtert. Generierte semantische Grenzdaten können einem Steuersubsystem 812 der automatisierten Vorrichtung 802 bereitgestellt werden. In diesem Subsystem kann ein Zustandsanalysemodul 814 die Grenzdaten als Informationen über einen aktuellen Zustand der Umgebung annehmen und kann auch Zustandsinformationen für die automatisierte Vorrichtung 802 akzeptieren, die von einem Satz von Sensoren über ein Subsystem zur Zustandsüberwachung erhalten werden können. Die Zustandsinformationen können beliebige relevante Informationen beinhalten, wie etwa Standort, Ausrichtung, Bewegung, Temperatur, Druck und dergleichen. Das Zustandsanalysemodul 814 kann dann eine oder mehrere durchzuführende Aktionen bestimmen, wie zum Beispiel das Anpassen eines Navigationspfads basierend auf dem aktuellen Standort und der Richtung der Vorrichtung sowie eines unter Verwendung der semantischen Grenzinformationen erfassten Objekts in der Umgebung. Das Zustandsanalysemodul 814 kann dann Anweisungen an ein Steuersystem 816 bereitstellen, das aktionsfähige Anweisungen für eine oder mehrere umsetzbare Komponenten 820 erzeugen und bereitstellen kann, die für ein Fahrzeug neben anderen solchen Optionen Lenk-, Beschleunigungs- und Bremskomponenten oder -baugruppen beinhalten können.
  • 9 veranschaulicht einen beispielhaften Prozess 900 zum Bestimmen von Grenzen aus eingegebenen Bilddaten, der gemäß verschiedenen Ausführungsformen verwendet werden kann. Es versteht sich für diesen und andere in dieser Schrift erörterte Prozesse, dass im Rahmen der verschiedenen Ausführungsformen, sofern nicht anders angegeben, zusätzliche, alternative oder weniger Schritte in ähnlicher oder alternativer Reihenfolge oder parallel durchgeführt werden können. In mindestens einer Ausführungsform kann ein solcher Prozess unter Verwendung einer Zweistrom-CNN-Architektur zur semantischen Segmentierung implementiert werden, die sich zu einem separaten parallelen Strom formt, wobei ein Gating-Mechanismus verwendet wird, um die Zwischenschichten zu verbinden, und eine Verlustfunktion verwendet wird, welche die Dualität zwischen den Aufgaben der semantischen Segmentierung und der semantischen Grenzvorhersage ausnutzt. Eine solche Architektur kann klare Vorhersagen um Objektgrenzen erzeugen und die Leistung bei dünneren und kleineren Objekten erheblich steigern.
  • In diesem Beispiel wird ein Bild empfangen 902, das für eine Umgebung erfasst wurde. Dies kann neben anderen solchen Optionen ein einzelnes Standbild, ein Bild eines Satzes oder einer Folge von Bildern oder ein Frame von Video- oder Streaming-Bilddaten beinhalten. In diesem Beispiel kann zumindest eine gewisse Vorverarbeitung durchgeführt werden 904, wie zum Beispiel Entfernen von Rauschen, Einstellung einer Auflösung, Einstellen von Bildqualitätsparametern, Durchführen einer Linsenfehlerkorrektur oder Einstellen einer Farbtiefe, neben anderen solchen Optionen. Sobald eine beliebige Vorverarbeitung abgeschlossen ist, kann das Bild als Eingabe an ein semantisches Segmentierungsnetzwerk bereitgestellt werden 906. Es versteht sich, dass der Begriff „Bild“ in vielen Beispielen der Vereinfachung halber verwendet wird, aber zumindest in einigen Ausführungsformen und Situationen auch Bilddaten verwendet werden können, die möglicherweise nicht in Form eines vollständigen Bildes eines standardmäßigen Bildformats vorliegen. Das Bild kann durch einen primären Zweig der Architektur verarbeitet werden, wie etwa ein tiefes neuronales Faltungsnetzwerk, das für semantische Segmentierung trainiert ist. Daten von Schichten dieses semantischen Segmentierungsnetzwerks können als Eingabe für ein Formbestimmungsnetzwerk eines Formzweigs der Architektur bereitgestellt werden 908. Wie erwähnt, können Daten durch die Formbestimmungs- und semantischen Segmentierungsnetzwerke parallel verarbeitet werden. Die Ausgabe der Segmentierungs- und Formbestimmungsnetzwerke kann dann als Eingabe an ein Fusionsmodul bereitgestellt werden 910, das etwa ein ASPP-Modul zur Fusion beinhalten kann. Die Formdaten können dann in einer mehrskaligen Weise mit den semantischen Segmentierungsdaten kombiniert 912 oder fusioniert werden, um eine semantische Vorhersage zu generieren, wie etwa eine semantische Segmentierungsmaske. Zumindest teilweise basierend auf diesen semantischen Vorhersagedaten kann ein Satz von Grenzen hoher Qualität für das Eingabebild generiert werden 914. Daten für diese Grenzen können dann zur Verwendung beim Bestimmen einer oder mehrerer durchzuführender Aktionen bereitgestellt werden 916. Bei einem autonomen Fahrzeug kann dies unter anderem das Anweisen einer Navigationsaktion, bei der Robotik einer Armmanipulationsaktion oder im Sicherheitsbereich das Auslösen eines Alarms beinhalten.
  • 10 veranschaulicht einen beispielhaften Prozess 1000 zum Vorhersagen von Objektgrenzen für ein Bild, der gemäß mindestens einer Ausführungsform verwendet werden kann. In diesem Beispiel wird ein Bild empfangen 1002, das eine Darstellung eines oder mehrerer Objekte beinhaltet. Das Bild kann verarbeitet werden 1004, um Segmentierungsdaten für das Bild abzuleiten. Parallel dazu können Daten für das Bild verarbeitet werden 1006, um Formdaten für das eine oder die mehreren Objekte abzuleiten. In diesem Beispiel werden die Daten für das Bild von Schichten eines Netzwerks empfangen, welches das Bild verarbeitet, um die Segmentierung abzuleiten. Die Formdaten und Segmentierungsdaten können dann fusioniert 1008 oder auf andere Weise kombiniert oder zusammen analysiert werden, um Grenzen des einen oder der mehreren Objekte in dem Bild abzuleiten. In mindestens einer Ausführungsform wird die Fusion unter Verwendung von Schichten eines trainierten Fusionsnetzwerks durchgeführt. In mindestens einer Ausführungsform beinhalten die Grenzen semantische Informationen, die für das eine oder die mehreren Objekte bestimmt wurden, wie etwa Informationen über die Objekttypen oder die Identifizierung dieser Objekte.
  • ABLEITUNGS- UND TRAININGSLOGIK
  • 11A veranschaulicht Ableitungs- und/oder Trainingslogik 1115, die verwendet wird, um Ableitungs- und/oder Trainingsoperationen durchzuführen, die mit einer oder mehreren Ausführungsformen verknüpft sind. Details bezüglich der Ableitungs- und/oder Trainingslogik 1115 sind unten in Verbindung mit den 11A und/oder 11B bereitgestellt.
  • In mindestens einer Ausführungsform kann die Ableitungs- und/oder Trainingslogik 1115 ohne Einschränkung Folgendes beinhalten: Code- und/oder Datenspeicher 1101, um Gewichtung und/oder Eingabe-/Ausgabedaten und/oder andere Parameter vorwärtsgerichtet zu speichern und/oder auszugeben, um Neuronen oder Schichten eines neuronalen Netzwerks zu konfigurieren, das in Aspekten einer oder mehrerer Ausführungsformen trainiert und/oder zum Ableiten verwendet wird. In mindestens einer Ausführungsform kann die Trainingslogik 1115 einen Code- und/oder Datenspeicher 1101 beinhalten oder mit diesem gekoppelt sein, um Grafikcode oder andere Software zur Steuerung der zeitlichen Abfolge und/oder der Reihenfolge zu speichern, in der Gewichtungs- und/oder andere Parameterinformationen geladen werden sollen, um die Logik zu konfigurieren, einschließlich Ganzzahl- und/oder Gleitkommaeinheiten (zusammen als arithmetische Logikeinheiten (arithmetic logic units - ALUs) bezeichnet). In mindestens einer Ausführungsform lädt Code, wie z. B. Grafikcode, Gewichtungs- oder andere Parameterinformationen in Prozessor-ALUs basierend auf einer Architektur eines neuronalen Netzwerks, dem der Code entspricht. In mindestens einer Ausführungsform speichert der Code- und/oder Datenspeicher 1101 Gewichtungsparameter und/oder Eingabe-/Ausgabedaten jeder Schicht eines neuronalen Netzwerks, die mit einer oder mehreren Ausführungsformen trainiert oder in Verbindung damit verwendet wird, während der Vorwärtspropagation von Eingabe-/Ausgabedaten und/oder Gewichtungsparametern während des Trainings und/oder der Ableitung unter Verwendung von Aspekten einer oder mehrerer Ausführungsformen. In mindestens einer Ausführungsform kann ein beliebiger Abschnitt des Code- und/oder Datenspeichers 1101 in einem anderen chipinternen oder chipexternen Datenspeicher, einschließlich des L1-, L2- oder L3-Caches oder Systemspeichers eines Prozessors, integriert sein.
  • In mindestens einer Ausführungsform kann ein beliebiger Abschnitt des Code- und/oder Datenspeichers 1101 intern oder extern zu einem oder mehreren Prozessoren oder anderen Hardwarelogikvorrichtungen oder -schaltungen sein. In mindestens einer Ausführungsform kann der Code- und/oder Datenspeicher 1101 ein Cache-Speicher, ein dynamischer zufällig adressierbarer Speicher (dynamic randomly addressable memory - „DRAM“), ein statischer zufällig adressierbarer Speicher („SRAM“), ein nicht flüchtiger Speicher (z. B. Flash-Speicher) oder ein anderer Speicher sein. In mindestens einer Ausführungsform kann die Wahl, ob der Code- und/oder Datenspeicher 1101 beispielsweise intern oder extern zu einem Prozessor ist oder aus DRAM, SRAM, Flash oder einem anderen Speichertyp besteht, von dem verfügbaren Speicher auf dem Chip im Vergleich zu außerhalb des Chips, den Latenzanforderungen der durchzuführenden Trainings- und/oder Ableitungsfunktionen, der Chargengröße der Daten, die bei der Ableitung und/oder dem Training eines neuronalen Netzwerks verwendet werden, oder einer Kombination dieser Faktoren abhängen.
  • In mindestens einer Ausführungsform kann die Ableitungs- und/oder Trainingslogik 1115 ohne Einschränkung Folgendes beinhalten: einem Code- und/oder Datenspeicher 1105, um Gewichtung und/oder Eingabe-/Ausgabedaten rückwärtsgerichtet zu speichern und/oder auszugeben, die Neuronen oder Schichten eines neuronalen Netzwerks entsprechen, das in Aspekten einer oder mehrerer Ausführungsformen trainiert und/oder zum Ableiten verwendet wird. In mindestens einer Ausführungsform speichert der Code- und/oder Datenspeicher 1105 Gewichtungsparameter und/oder Eingabe-/Ausgabedaten jeder Schicht eines neuronalen Netzwerks, die mit einer oder mehreren Ausführungsformen trainiert oder in Verbindung damit verwendet wird, während der Backpropagation von Eingabe-/Ausgabedaten und/oder Gewichtungsparametern während des Trainings und/oder der Ableitung unter Verwendung von Aspekten einer oder mehrerer Ausführungsformen. In mindestens einer Ausführungsform kann die Trainingslogik 1115 einen Code- und/oder Datenspeicher 1105 beinhalten oder mit diesem gekoppelt sein, um Grafikcode oder andere Software zur Steuerung der zeitlichen Abfolge und/oder der Reihenfolge zu speichern, in der Gewichtungs- und/oder andere Parameterinformationen geladen werden sollen, um die Logik zu konfigurieren, einschließlich Ganzzahl- und/oder Gleitkommaeinheiten (zusammen als arithmetische Logikeinheiten (ALUs) bezeichnet). In mindestens einer Ausführungsform lädt Code, wie z.B. Grafikcode, Gewichtungs- oder andere Parameterinformationen in Prozessor-ALUs basierend auf einer Architektur eines neuronalen Netzwerks, dem der Code entspricht. In mindestens einer Ausführungsform kann ein beliebiger Abschnitt des Code- und/oder Datenspeichers 1105 in einem anderen chipinternen oder chip externen Datenspeicher, einschließlich des L1-, L2- oder L3-Caches oder Systemspeichers eines Prozessors, integriert sein. In mindestens einer Ausführungsform kann ein beliebiger Abschnitt des Code- und/oder Datenspeichers 1105 intern oder extern zu einem oder mehreren Prozessoren oder anderen Hardwarelogikvorrichtungen oder -schaltungen sein. In mindestens einer Ausführungsform kann der Code- und/oder Datenspeicher 1105 ein Cache-Speicher, ein DRAM, ein SRAM, ein nicht flüchtiger Speicher (z. B. Flash-Speicher) oder ein anderer Speicher sein. In mindestens einer Ausführungsform kann die Wahl, ob der Code- und/oder Datenspeicher 1105 beispielsweise intern oder extern zu einem Prozessor ist oder aus DRAM, SRAM, Flash oder einem anderen Speichertyp besteht, von dem verfügbaren Speicher auf dem Chip im Vergleich zu außerhalb des Chips, den Latenzanforderungen der durchzuführenden Trainings- und/oder Ableitungsfunktionen, der Chargengröße der Daten, die bei der Ableitung und/oder dem Training eines neuronalen Netzwerks verwendet werden, oder einer Kombination dieser Faktoren abhängen.
  • In mindestens einer Ausführungsform können der Code- und/oder Datenspeicher 1101 und der Code- und/oder Datenspeicher 1105 separate Speicherstrukturen sein. In mindestens einer Ausführungsform können der Code- und/oder Datenspeicher 1101 und der Code- und/oder Datenspeicher 1105 dieselbe Speicherstruktur sein. In mindestens einer Ausführungsform können der Code- und/oder Datenspeicher 1101 und der Code- und/oder Datenspeicher 1105 teilweise dieselbe Speicherstruktur und teilweise separate Speicherstrukturen sein. In mindestens einer Ausführungsform kann ein beliebiger Abschnitt des Code- und/oder Datenspeichers 1101 und/oder des Code- und/oder Datenspeichers 1105 in einem anderen chipinternen oder chip externen Datenspeicher, einschließlich des L1-, L2- oder L3-Caches oder Systemspeichers eines Prozessors, integriert sein.
  • In mindestens einer Ausführungsform kann die Ableitungs- und/oder Trainingslogik 1115 ohne Einschränkung Folgendes beinhalten: eine oder mehrere arithmetische Logikeinheit(en) („ALU(s)“) 1110, die Ganzzahl- und/oder Gleitkommaeinheiten beinhalten, um logische und/oder mathematische Operationen durchzuführen, die mindestens teilweise auf Trainings- und/oder Ableitungscode (z. B. Grafikcode) basieren oder durch diesen angezeigt werden, deren Ergebnis Aktivierungen (z. B. Ausgabewerte von Schichten oder Neuronen innerhalb eines neuronalen Netzwerks) erzeugen, die in einem Aktivierungsspeicher 1120 gespeichert sind und die Funktionen von Eingabe-/Ausgabe- und/oder Gewichtsparameterdaten sind, die in dem Code- und/oder Datenspeicher 1101 und/oder dem Code- und/oder Datenspeicher 1105 gespeichert sind. In mindestens einer Ausführungsform werden im Aktivierungsspeicher 1120 gespeicherte Aktivierungen gemäß linearer algebraischer und/oder matrixbasierter Mathematik erzeugt, die von ALU(s) 1110 als Reaktion auf Durchführungsanweisungen oder anderen Code durchgeführt wird, wobei im Code- und/oder Datenspeicher 1105 und/oder Code- und/oder Datenspeicher 1101 gespeicherte Gewichtungswerte als Operanden zusammen mit anderen Werten, wie z.B. Neigungswerten, Gradienteninformationen, Impulswerten oder anderen Parametern oder Hyperparametern, verwendet werden, die einzeln oder alle im Code- und/oder Datenspeicher 1105 oder Code- und/oder Datenspeicher 1101 oder einem anderen Speicher innerhalb oder außerhalb des Chips gespeichert sein können.
  • In mindestens einer Ausführungsform sind die ALU(s) 1110 in einem oder mehreren Prozessoren oder anderen Hardwarelogikvorrichtungen oder -schaltungen beinhaltet, wohingegen in einer weiteren Ausführungsform die ALU(s) 1110 außerhalb eines Prozessors oder einer anderen Hardwarelogikvorrichtung oder -schaltung liegen können, die sie verwendet (z. B. ein Co-Prozessor). In mindestens einer Ausführungsform können die ALUs 1110 in den Ausführungseinheiten eines Prozessors oder anderweitig in einer Bank von ALUs beinhaltet sein, auf welche die Ausführungseinheiten eines Prozessors zugreifen können, und zwar entweder innerhalb desselben Prozessors oder verteilt auf verschiedene Prozessoren unterschiedlichen Typs (z. B. zentrale Verarbeitungseinheiten, Grafikverarbeitungseinheiten, feste Funktionseinheiten usw.). In mindestens einer Ausführungsform können sich der Code- und/oder Datenspeicher 1101, der Code- und/oder Datenspeicher 1105 und der Aktivierungsspeicher 1120 auf demselben Prozessor oder einer anderen Hardwarelogikvorrichtung oder -schaltung befinden, wohingegen sie sich in einer anderen Ausführungsform in verschiedenen Prozessoren oder anderen Hardwarelogikvorrichtungen oder -schaltungen oder in einer Kombination aus gleichen und verschiedenen Prozessoren oder anderen Hardwarelogikvorrichtungen oder -schaltungen befinden können. In mindestens einer Ausführungsform kann ein beliebiger Abschnitt des Aktivierungsspeichers 1120 in einem anderen chipinternen oder chipexternen Datenspeicher, einschließlich des L1-, L2- oder L3-Caches oder Systemspeichers eines Prozessors, integriert sein. Darüber hinaus kann der Ableitungs- und/oder Trainingscode mit anderem Code gespeichert sein, auf den ein Prozessor oder eine andere Hardwarelogik 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 1120 ein Cache-Speicher, ein DRAM, ein SRAM, ein nicht flüchtiger Speicher (z. B. Flash-Speicher) oder ein anderer Speicher sein. In mindestens einer Ausführungsform kann sich der Aktivierungsspeicher 1120 ganz 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 Code- und/oder Aktivierungsspeicher 1120 beispielsweise intern oder extern zu einem Prozessor ist oder aus DRAM, SRAM, Flash oder einem anderen Speichertyp besteht, von dem verfügbaren Speicher auf dem Chip im Vergleich zu außerhalb des Chips, den Latenzanforderungen der durchzuführenden Trainings- und/oder Ableitungsfunktionen, der Chargengröße der Daten, die bei der Ableitung und/oder dem Training eines neuronalen Netzwerks verwendet werden, oder einer Kombination dieser Faktoren abhängen. In mindestens einer Ausführungsform kann die in 11A veranschaulichte Ableitungs- und/oder Trainingslogik 1115 in Verbindung mit einer anwendungsspezifischen integrierten Schaltung (application-specific integrated circuit - „ASIC“) verwendet werden, wie z. B. der Tensorflow® Processing Unit von Google, einer Ableitungsverarbeitungseinheit (inference processing unit - IPU) von Graphcore™ oder einem Nervana®(z. B. „Lake Crest“)-Prozessor von Intel Corp. In mindestens einer Ausführungsform kann die in 11A veranschaulichte Ableitungs- und/oder Trainingslogik 1115 in Verbindung mit der Hardware der zentralen Verarbeitungseinheit (central processing unit - „CPU“), der Grafikverarbeitungseinheit (graphic processing unit - „GPU“) oder anderer Hardware, wie z. B. feldprogrammierbaren Gate-Anordnungen (field programmable gate arrays - „FPGAs“), verwendet werden.
  • 11B veranschaulicht Ableitungs- und/oder Trainingslogik 1115 gemäß mindestens einer oder mehreren Ausführungsformen. In mindestens einer Ausführungsform kann die Ableitungs- und/oder Trainingslogik 1115 ohne Einschränkung Hardwarelogik beinhalten, in der Rechenressourcen dediziert oder anderweitig ausschließlich in Verbindung mit Gewichtungswerten 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 11B veranschaulichte Ableitungs- und/oder Trainingslogik 1115 in Verbindung mit einer anwendungsspezifischen integrierten Schaltung (ASIC) verwendet werden, wie z. B. der Tensorflow® Processing Unit von Google, einer Ableitungsverarbeitungseinheit (IPU) von Graphcore™ oder einem Nervana®(z.B. „Lake Crest“)-Prozessor von Intel Corp. In mindestens einer Ausführungsform kann die in 11B veranschaulichte Ableitungs- und/oder Trainingslogik 1115 in Verbindung mit der Hardware der zentralen Verarbeitungseinheit (CPU), der Grafikverarbeitungseinheit (GPU) oder anderer Hardware, wie z. B. feldprogrammierbaren Gate-Anordnungen (FPGAs), verwendet werden. In mindestens einer Ausführungsform beinhaltet die Ableitungs- und/oder Trainingslogik 1115 ohne Einschränkung den Code- und/oder Datenspeicher 1101 und den Code- und/oder Datenspeicher 1105, die zum Speichern von Code (z. B. Grafikcode), Gewichtungswerten und/oder anderen Informationen, einschließlich Neigungswerten, Gradienteninformationen, Impulswerten und/oder anderen Parameter- oder Hyperparameterinformationen, verwendet werden können. In mindestens einer Ausführungsform, die in 11B veranschaulicht ist, ist jeder des Code- und/oder Datenspeichers 1101 und des Code- und/oder Datenspeichers 1105 mit einer dedizierten Rechenressource, wie z. B. der Berechnungshardware 1102 bzw. der Berechnungshardware 1106, assoziiert. In mindestens einer Ausführungsform umfasst jede der Berechnungshardware 1102 und der Berechnungshardware 1106 eine oder mehrere ALUs, die mathematische Funktionen, wie z. B. lineare algebraische Funktionen, nur an Informationen durchführen, die im Code- und/oder Datenspeicher 1101 bzw. im Code- und/oder Datenspeicher 1105 gespeichert sind, wobei das Ergebnis davon im Aktivierungsspeicher 1120 gespeichert wird.
  • In mindestens einer Ausführungsform entspricht jeder von dem Code- und/oder Datenspeicher 1101 und 1105 und die entsprechende Berechnungshardware 1102 bzw. 1106 derartig unterschiedlichen Schichten eines neuronalen Netzwerks, dass die sich ergebende Aktivierung von einem „Speicher/Berechnung-Paar 1101/1102“ des Code- und/oder Datenspeichers 1101 und der Berechnungshardware 1102 als eine Eingabe für das „Speicher/Berechnung-Paar 1105/1106“ des Code- und/oder Datenspeichers 1105 und der Berechnungshardware 1106 bereitgestellt wird, um die konzeptionelle Organisation eines neuronalen Netzwerk widerzuspiegeln. In mindestens einer Ausführungsform kann jedes der Speicher/Berechnung-Paare 1101/1102 und 1105/1106 mehr als einer Schicht des neuronalen Netzwerks entsprechen. In mindestens einer Ausführungsform können zusätzliche Speicher/Berechnung-Paare (nicht gezeigt) im Anschluss an oder parallel zu den Speicher/Berechnung-Paaren 1101/1102 und 1105/1106 in die Ableitungs- und/oder Trainingslogik 1115 integriert werden.
  • RECHENZENTRUM
  • 12 veranschaulicht ein beispielhaftes Rechenzentrum 1200, in dem mindestens eine Ausführungsform verwendet werden kann. In mindestens einer Ausführungsform beinhaltet das Rechenzentrum 1200 eine Rechenzentrum-Infrastrukturschicht 1210, eine Rahmenschicht 1220, eine Softwareschicht 1230 und eine Anwendungsschicht 1240.
  • In mindestens einer Ausführungsform kann, wie in 12 gezeigt, die Rechenzentrum-Infrastrukturschicht 1210 einen Ressourcenorchestrierer 1212, gruppierte Rechenressourcen 1214 und Knotenberechnungsressourcen (node computing resources - „Knoten-C.R.s“) 1216(1)-1216(N) beinhalten, wobei „N“ eine beliebige ganze positive Zahl darstellt. In mindestens einer Ausführungsform können die Knoten-C.R.s 1216(1)-1216(N) eine beliebige Anzahl von zentralen Verarbeitungseinheiten („CPUs“) oder anderen Prozessoren (einschließlich Beschleunigern, feldprogrammierbaren Gate-Anordnungen (FPGAs), Grafikprozessoren usw.), Arbeitsspeichervorrichtungen (z. B. dynamischer Festwertspeicher), Datenspeichervorrichtungen (z. B. Festkörper- oder Festplattenlaufwerke), Netzwerk-Eingabe-/Ausgabe(„NW-E/A“)-Vorrichtungen, Netzwerk-Switches, virtuellen Maschinen („VMs“), Leistungsmodulen und Kühlmodulen usw. beinhalten, sind aber nicht darauf beschränkt. In mindestens einer Ausführungsform kann es sich bei einer oder mehreren Knoten-C.R.s unter den Knoten-C.R.s 1216(1)-1216(N) um einen Server handeln, der eine oder mehrere der vorstehend erwähnten Rechenressourcen aufweist.
  • In mindestens einer Ausführungsform können gruppierte Rechenressourcen 1214 separate Gruppierungen von Knoten-C.R.s beinhalten, die in einem oder mehreren Racks (nicht gezeigt) untergebracht sind, oder vielen Racks, die in Rechenzentren an verschiedenen geografischen Standorten (ebenfalls nicht gezeigt) untergebracht sind. Separate Gruppierungen von Knoten-C.R.s innerhalb der gruppierten Rechenressourcen 1214 können gruppierte Rechen-, Netzwerk-, Arbeitsspeicher- oder Datenspeicherressourcen beinhalten, die zur Unterstützung einer oder mehrerer Arbeitslasten konfiguriert oder zugewiesen sein können. In mindestens einer Ausführungsform können mehrere Knoten-C.R.s, die CPUs oder Prozessoren beinhalten, 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 Leistungsmodulen, Kühlmodulen und Netzwerk-Switches in beliebiger Kombination beinhalten.
  • In mindestens einer Ausführungsform kann der Ressourcenorchestrierer 1212 einen oder mehrere Knoten-C.R.s 1216(1)-1216(N) und/oder gruppierte Rechenressourcen 1214 konfigurieren oder anderweitig steuern. In mindestens einer Ausführungsform kann der Ressourcenorchestrierer 1212 eine Verwaltungseinheit für Software-Design-Infrastruktur („SDI“) für das Rechenzentrum 1200 beinhalten. In mindestens einer Ausführungsform kann der Ressourcenorchestrierer Hardware, Software oder eine Kombination davon beinhalten.
  • In mindestens einer Ausführungsform beinhaltet, wie in 12 gezeigt, die Rahmenschicht 1220 einen Aufgabenplaner 1222, einen Konfigurationsverwalter 1224, einen Ressourcenverwalter 1226 und ein verteiltes Dateisystem 1228. In mindestens einer Ausführungsform kann die Rahmenschicht 1220 einen Rahmen zur Unterstützung von Software 1232 der Softwareschicht 1230 und/oder einer oder mehrerer Anwendung(en) 1242 der Anwendungsschicht 1240 beinhalten. In mindestens einer Ausführungsform kann/können die Software 1232 bzw. die Anwendung(en) 1242 webbasierte Dienst-Software oder -anwendungen beinhalten, wie sie beispielsweise von Amazon Web Services, Google Cloud und Microsoft Azure bereitgestellt werden. In mindestens einer Ausführungsform kann es sich bei der Rahmenschicht 1220 um eine Art freien und quelloffenen Software-Webanwendungsrahmen wie Apache Spark™ (im nachfolgend „Spark“) handeln, der ein verteiltes Dateisystem 1228 für die Verarbeitung großer Datenmengen (z. B. „Big Data“) verwenden kann, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform kann der Aufgabenplaner 1222 einen Spark-Treiber beinhalten, um die Planung von Arbeitslasten zu erleichtern, die von verschiedenen Schichten des Rechenzentrums 1200 unterstützt werden. In mindestens einer Ausführungsform kann der Konfigurationsverwalter 1224 in der Lage sein, unterschiedliche Schichten zu konfigurieren, z. B. die Softwareschicht 1230 und die Rahmenschicht 1220, einschließlich Spark und des verteilten Dateisystems 1228 zur Unterstützung der Verarbeitung großer Datenmengen. In mindestens einer Ausführungsform kann der Ressourcenverwalter 1226 in der Lage sein, geclusterte oder gruppierte Rechenressourcen zu verwalten, die zur Unterstützung des verteilten Dateisystems 1228 und des Aufgabenplaners 1222 zugeordnet oder zugewiesen sind. In mindestens einer Ausführungsform können geclusterte oder gruppierte Rechenressourcen die gruppierte Rechenressource 1214 auf der Rechenzentrum-Infrastrukturschicht 1210 beinhalten. In mindestens einer Ausführungsform können sich der Ressourcenverwalter 1226 und der Ressourcenorchestrierer 1212 aufeinander abstimmen, um diese zugeordneten oder zugewiesenen Rechenressourcen zu verwalten.
  • In mindestens einer Ausführungsform kann die Software 1232, die in der Softwareschicht 1230 enthalten ist, Software beinhalten, die mindestens durch Abschnitte von Knoten-C.R.s 1216(1)-1216(N), gruppierten Rechenressourcen 1214 und/oder dem verteilten Dateisystem 1228 der Netzwerkschicht 1220 verwendet wird. Zu einer oder mehreren Arten von Software können Internet-Webseiten-Such-Software, E-Mai-Virus-Scan-Software, Datenbank-Software und Streaming-Videoinhalts-Software gehören, ohne darauf beschränkt zu sein.
  • In mindestens einer Ausführungsform kann/können die Anwendung(en) 1242, die in der Anwendungsschicht 1240 enthalten ist/sind, eine oder mehrere Arten von Anwendungen beinhalten, die von mindestens Abschnitten der Knoten-C.R.s 1216(1)-1216(N), gruppierten Rechenressourcen 1214 und/oder dem verteilten Dateisystem 1228 der Rahmenschicht 1220 verwendet werden. Zu einer oder mehreren Arten von Anwendungen können eine beliebige Anzahl einer genomischen Anwendung, einer kognitiven Berechnung und einer Anwendung für maschinelles Lernen gehören, einschließlich Trainings- oder Ableitungs-Software, Rahmensoftware für maschinelles Lernen (z. B. PyTorch, TensorFlow, Caffe usw.) oder anderer Anwendungen für maschinelles Lernen, die in Verbindung mit einer oder mehreren Ausführungsformen verwendet werden, ohne darauf beschränkt zu sein.
  • In mindestens einer Ausführungsform können Konfigurationsverwalter 1224, Ressourcenverwalter 1226 und Ressourcenorchestrierer 1212 eine beliebige Anzahl und Art von selbstmodifizierenden Aktionen basierend auf einer beliebigen Menge und Art von Daten umsetzen, die auf jede technisch machbare Weise erfasst werden. In mindestens einer Ausführungsform können selbstmodifizierende Aktionen einen Rechenzentrumsbetreiber des Rechenzentrums 1200 davon entlasten, möglicherweise schlechte Konfigurationsentscheidungen zu treffen und möglicherweise nicht ausgelastete und/oder schlecht funktionierende Abschnitte eines Rechenzentrums zu vermeiden.
  • In mindestens einer Ausführungsform kann das Rechenzentrum 1200 Werkzeuge, Dienste, Software oder andere Ressourcen beinhalten, um ein oder mehrere Modelle für maschinelles Lernen zu trainieren oder Informationen unter Verwendung eines oder mehrerer Modelle für maschinelles Lernen gemäß einer oder mehreren in dieser Schrift beschriebenen Ausführungsformen vorherzusagen oder abzuleiten. Zum Beispiel kann in mindestens einer Ausführungsform ein Modell für maschinelles Lernen trainiert werden, indem Gewichtungsparameter gemäß einer Architektur eines neuronalen Netzwerks unter Verwendung von Software und Rechenressourcen berechnet werden, die vorstehend in Bezug auf das Rechenzentrum 1200 beschrieben sind. In mindestens einer Ausführungsform können trainierte Modelle für maschinelles Lernen, die einem oder mehreren neuronalen Netzwerken entsprechen, verwendet werden, um Informationen unter Verwendung der vorstehend in Bezug auf das Rechenzentrum 1200 beschriebenen Ressourcen abzuleiten oder vorherzusagen, indem Gewichtungsparameter verwendet werden, die durch eine oder mehrere in dieser Schrift beschriebene Trainingstechniken 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 Ableitung unter Verwendung der vorstehend beschriebenen Ressourcen durchzuführen. Darüber hinaus können eine oder mehrere der vorstehend beschriebenen Software- und/oder Hardware-Ressourcen als Dienst konfiguriert sein, um Benutzern das Trainieren oder Durchführen der Ableitung von Informationen zu ermöglichen, wie z. B. Bilderkennung, Spracherkennung oder andere Dienste der künstlichen Intelligenz.
  • Die Ableitungs- und/oder Trainingslogik 1115 wird verwendet, um Ableitungs- und/oder Trainingsvorgänge durchzuführen, die mit einer oder mehreren Ausführungsformen assoziiert sind. Details bezüglich der Ableitungs- und/oder Trainingslogik 1115 sind unten in Verbindung mit den 11A und/oder 11B bereitgestellt. In mindestens einer Ausführungsform kann die Ableitungs- und/oder Trainingslogik 1115 im System aus 12 für Ableitungs- oder Vorhersagevorgänge verwendet werden, die mindestens teilweise auf Gewichtungsparametern basieren, die unter Verwendung von Trainingsvorgängen für neuronale Netzwerke, Funktionen und/oder Architekturen von neuronalen Netzwerken oder in dieser Schrift beschriebenen Anwendungsfällen für neuronale Netzwerke berechnet wurden.
  • Derartige Komponenten können verwendet werden, um eine Klassifizierung oder Segmentierung von einem oder mehreren Objekten durchzuführen, die in Bilddaten in mindestens einer Ausführungsform dargestellt sind. Dies kann die Verwendung eines Formstroms parallel zu einem primären Bildanalysestrom beinhalten, um den primären Strom zu zwingen, Forminformationen für das Objekt bzw. die Objekte zu berücksichtigen.
  • COMPUTERSYSTEME
  • 13 ist ein Blockdiagramm, das ein beispielhaftes Computersystem veranschaulicht, das ein System mit miteinander verbundenen Vorrichtungen und Komponenten, ein System-on-a-Chip (SOC) oder eine Kombination davon sein kann 1300, die mit einem Prozessor gebildet ist, der Ausführungseinheiten beinhalten kann, um eine Anweisung auszuführen, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann das Computersystem 1300 ohne Einschränkung eine Komponente, wie z. B. einen Prozessor 1302, beinhalten, um Ausführungseinheiten einschließlich Logik zur Durchführung von Algorithmen zur Verarbeitung von Daten gemäß der vorliegenden Offenbarung zu verwenden, wie z. B. in der in dieser Schrift beschriebenen Ausführungsform. In mindestens einer Ausführungsform kann das Computersystem 1300 Prozessoren, wie z.B. die PENTIUM®-Prozessorfamilie, die Mikroprozessoren Xeon™, Itanium®, XScale™ und/oder StrongARM™, Intel® Core™ oder Intel® Nervana™, die von der Intel Corporation in Santa Clara, Kalifornien, erhältlich sind, beinhalten, obwohl auch andere Systeme (einschließlich PCs mit anderen Mikroprozessoren, Engineering-Arbeitsstationen, Set-Top-Boxen und dergleichen) verwendet werden können. In mindestens einer Ausführungsform kann das Computersystem 1300 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 in anderen Vorrichtungen verwendet werden, wie etwa tragbaren Vorrichtungen und eingebetteten Anwendungen. Einige Beispiele für tragbare Vorrichtungen sind Mobiltelefone, Internetprotokoll-Vorrichtungen, Digitalkameras, persönliche digitale Assistenten („PDAs“) und tragbare PCs. In mindestens einer Ausführungsform können eingebettete Anwendungen einen Mikrocontroller, einen Digitalsignalprozessor („DSP“), ein System-on-a-Chip, Netzwerkcomputer („NetPCs“), Set-Top-Boxen, Netzwerk-Hubs, Weitverkehrsnetzwerk(wide area network - „WAN“)-Switches oder ein beliebiges anderes System beinhalten, das eine oder mehrere Anweisungen gemäß mindestens einer Ausführungsform durchführen kann.
  • In mindestens einer Ausführungsform kann das Computersystem 1300 ohne Einschränkung einen Prozessor 1302 beinhalten, der ohne Einschränkung eine oder mehrere Ausführungseinheiten 1308 beinhalten kann, um ein Training und/oder eine Ableitung für ein Modell für maschinelles Lernen gemäß in dieser Schrift beschriebenen Techniken durchzuführen. In mindestens einer Ausführungsform ist das Computersystem 1300 ein Einzelprozessor-Desktop- oder -Serversystem, aber in einer anderen Ausführungsform kann das Computersystem 1300 ein Multiprozessorsystem sein. In mindestens einer Ausführungsform kann der Prozessor 1302 ohne Einschränkung einen Mikroprozessor für einen Rechner mit komplexem Anweisungssatz (complex instruction set computer - „CISC“), einen Mikroprozessor für das Berechnen mit reduziertem Anweisungssatz (reduced instruction set computing - „RISC“), einen Mikroprozessor für sehr lange Anweisungswörter (very long instruction word - „VLIW“), einen Prozessor, der eine Kombination von Anweisungssätzen implementiert, oder eine beliebige andere Prozessorvorrichtung, wie zum Beispiel einen Digitalsignalprozessor, beinhalten. In mindestens einer Ausführungsform kann der Prozessor 1302 mit einem Prozessorbus 1310 gekoppelt sein, der Datensignale zwischen dem Prozessor 1302 und anderen Komponenten im Computersystem 1300 übertragen kann.
  • In mindestens einer Ausführungsform kann der Prozessor 1302 ohne Einschränkung einen internen Level-1(„L1“)-Cache-Speicher („Cache“) 1304 beinhalten. In mindestens einer Ausführungsform kann der Prozessor 1302 einen einzelnen internen Cache oder mehrere Ebenen von internem Cache aufweisen. In mindestens einer Ausführungsform kann sich der Cache-Speicher extern zu dem Prozessor 1302 befinden. Andere Ausführungsformen können auch eine Kombination aus sowohl internen als auch externen Caches beinhalten, und zwar in Abhängigkeit von der jeweiligen Implementierung und den Anforderungen. In mindestens einer Ausführungsform kann die Registerdatei 1306 unterschiedliche Arten von Daten in verschiedenen Registern speichern, einschließlich, ohne Einschränkung, Ganzzahlregistem, Gleitkommaregistern, Statusregistern und Befehlszeigerregistern.
  • In mindestens einer Ausführungsform befindet sich die Ausführungseinheit 1308, die ohne Einschränkung eine Logik zum Durchführen von Ganzzahl- und Gleitkommaoperationen beinhaltet, ebenfalls im Prozessor 1302. In mindestens einer Ausführungsform kann der Prozessor 1302 auch einen Festwertspeicher (read only memory - „ROM“) mit Mikrocode („ucode“) beinhalten, der Mikrocode für bestimmte Makrobefehle speichert. In mindestens einer Ausführungsform kann die Ausführungseinheit 1308 eine Logik zum Handhaben eines Paket-Anweisungssatzes 1309 beinhalten. In mindestens einer Ausführungsform können durch die Aufnahme des Paket-Anweisungssatzes 1309 in einen Anweisungssatz eines Universalprozessors 1302 zusammen mit der zugehörigen Schaltung zur Ausführung der Anweisungen Vorgänge, die von vielen Multimedia-Anwendungen verwendet werden, unter Verwendung von Paketdaten in einem Universalprozessor 1302 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 Durchführung von Vorgängen an Paketdaten genutzt wird, wodurch die Notwendigkeit entfällt, kleinere Dateneinheiten über den Datenbus des Prozessors zu übertragen, um einen oder mehrere Vorgänge an einem Datenelement nach dem anderen durchzuführen.
  • In mindestens einer Ausführungsform kann die Ausführungseinheit 1308 auch in Mikrocontrollern, eingebetteten Prozessoren, Grafikvorrichtungen, DSPs und anderen Arten von Logikschaltungen verwendet werden. In mindestens einer Ausführungsform kann das Computersystem 1300 ohne Einschränkung einen Speicher 1320 beinhalten. In mindestens einer Ausführungsform kann der Speicher 1320 als dynamischer Direktzugriffsspeicher („DRAM“), statischer Direktzugriffsspeicher („SRAM“), Flash-Speichervorrichtung oder eine andere Speichervorrichtung implementiert sein. In mindestens einer Ausführungsform kann der Speicher 1320 (eine) Anweisung(en) 1319 und/oder Daten 1321 speichern, die durch Datensignale dargestellt werden, die vom Prozessor 1302 ausgeführt werden können.
  • In mindestens einer Ausführungsform kann der Systemlogikchip an den Prozessorbus 1310 und den Speicher 1320 gekoppelt sein. In mindestens einer Ausführungsform kann der Systemlogikchip ohne Einschränkung einen Speichersteuerungs-Hub (memory controller hub - „MCH“) 1316 beinhalten und kann der Prozessor 1302 mit dem MCH 1316 über den Prozessorbus 1310 kommunizieren. In mindestens einer Ausführungsform kann der MCH 1316 einen Speicherpfad 1318 mit hoher Bandbreite zum Speicher 1320 für die Anweisungs- und Datenspeicherung sowie für die Speicherung von Grafikbefehlen, Daten und Texturen bereitstellen. In mindestens einer Ausführungsform kann der MCH 1316 Datensignale zwischen dem Prozessor 1302, dem Speicher 1320 und anderen Komponenten im Computersystem 1300 leiten und Datensignale zwischen dem Prozessorbus 1310, dem Speicher 1320 und einer System-E/A 1322 überbrücken. In mindestens einer Ausführungsform kann der Systemlogikchip einen Grafikport zur Kopplung mit eine Grafiksteuerung bereitstellen. In mindestens einer Ausführungsform kann der MCH 1316 durch einen Speicherpfad 1318 mit hoher Bandbreite mit dem Speicher 1320 gekoppelt sein und kann die Grafik-/Videokarte 1312 durch eine Accelerated-Graphics-Port(„AGP“)-Zusammenschaltung 1314 mit dem MCH 1316 gekoppelt sein.
  • In mindestens einer Ausführungsform kann das Computersystem 1300 die System-E/A 1322 verwenden, die ein proprietärer Hubschnittstellenbus ist, um den MCH 1316 an den E/A-Steuerungshub (I/O controller hub - „ICH“) 1330 zu koppeln. In mindestens einer Ausführungsform kann der ICH 1330 direkte Verbindungen zu einigen E/A-Vorrichtungen über einen lokalen E/A-Bus bereitstellen. In mindestens einer Ausführungsform kann der lokale E/A-Bus ohne Einschränkung einen Hochgeschwindigkeits-E/A-Bus zur Verbindung von Peripheriegeräten mit dem Speicher 1320, dem Chipsatz und dem Prozessor 1302 beinhalten. Beispiele können ohne Einschränkung eine Audiosteuerung 1329, ein Firmware-Hub („Flash-BIOS“) 1328, ein drahtloser Transceiver 1326, ein Datenspeicher 1324, eine Legacy-E/A-Steuerung 1323 mit Benutzereingabe- und Tastaturschnittstellen 1325, ein serieller Erweiterungsport 1327, wie z. B. Universal Serial Bus („USB“), und eine Netzwerksteuerung 1334 sein. Der Datenspeicher 1324 kann ein Festplattenlaufwerk, ein Diskettenlaufwerk, eine CD-ROM-Vorrichtung, eine Flash-Speichervorrichtung oder eine andere Massenspeichervorrichtung umfassen.
  • In mindestens einer Ausführungsform veranschaulicht 13A ein System, das miteinander verbundene Hardwarevorrichtungen oder „Chips“ beinhaltet, wohingegen in anderen Ausführungsformen 13A ein beispielhaftes System-on-a-Chip („SoC“) veranschaulichen kann. In mindestens einer Ausführungsform können Vorrichtungen mit proprietären Zusammenschaltungen, standardisierten Zusammenschaltungen (z. B. PCIe) oder einer Kombination davon miteinander verbunden sein. In mindestens einer Ausführungsform sind eine oder mehrere Komponenten des Computersystems 1300 unter Verwendung von Compute-Express-Link(CXL)-Zusammenschaltungen miteinander verbunden.
  • Die Ableitungs- und/oder Trainingslogik 1115 wird verwendet, um Ableitungs- und/oder Trainingsvorgänge durchzuführen, die mit einer oder mehreren Ausführungsformen assoziiert sind. Details bezüglich der Ableitungs- und/oder Trainingslogik 1115 sind unten in Verbindung mit den 11A und/oder 11B bereitgestellt. In mindestens einer Ausführungsform kann die Ableitungs- und/oder Trainingslogik 1115 im System aus 13A für Ableitungs- oder Vorhersagevorgänge verwendet werden, die mindestens teilweise auf Gewichtungsparametern basieren, die unter Verwendung von Trainingsvorgängen für neuronale Netzwerke, Funktionen und/oder Architekturen von neuronalen Netzwerken oder in dieser Schrift beschriebenen Anwendungsfällen für neuronale Netzwerke berechnet wurden.
  • Derartige Komponenten können verwendet werden, um eine Klassifizierung oder Segmentierung von einem oder mehreren Objekten durchzuführen, die in Bilddaten in mindestens einer Ausführungsform dargestellt sind. Dies kann die Verwendung eines Formstroms parallel zu einem primären Bildanalysestrom beinhalten, um den primären Strom zu zwingen, Forminformationen für das Objekt bzw. die Objekte zu berücksichtigen.
  • 14 ist ein Blockdiagramm, das eine elektronische Vorrichtung 1400 zur Verwendung eines Prozessors 1410 gemäß mindestens einer Ausführungsform veranschaulicht. In mindestens einer Ausführungsform kann die elektronische Vorrichtung 1400 zum Beispiel und ohne Einschränkung ein Notebook, ein Tower-Server, ein Rack-Server, ein Blade-Server, ein Laptop, ein Desktop, ein Tablet, eine mobile Vorrichtung, ein Telefon, ein eingebetteter Computer oder eine beliebige andere geeignete elektronische Vorrichtung sein.
  • In mindestens einer Ausführungsform kann das System 1400 ohne Einschränkung einen Prozessor 1410 beinhalten, der kommunikativ an eine beliebige geeignete Anzahl oder Art von Komponenten, Peripheriegeräten, Modulen oder Vorrichtungen gekoppelt ist. In mindestens einer Ausführungsform ist der Prozessor 1410 unter Verwendung eines Busses oder einer Schnittstelle gekoppelt, wie z. B. eines 1 °C-Busses, eines Systemverwaltungsbusses (System Management Bus - „SMBus“), eines Low-Pin-Count(LPC)-Busses, einer seriellen peripheren Schnittstelle (Serial Peripheral Interface - „SPI“), eines High-Definition-Audio(„HDA“)-Busses, eines Serial-Advance-Technology-Attachment(„SATA“)-Busses, eines Universal Serial Bus („USB“) (Versionen 1, 2, 3) oder eines Universal-Asynchronous-Receiver/Transmitter(„UART“)-Busses. In mindestens einer Ausführungsform veranschaulicht 14 ein System, das miteinander verbundene Hardwarevorrichtungen oder „Chips“ beinhaltet, wohingegen in anderen Ausführungsformen 14 ein beispielhaftes System-on-a-Chip („SoC“) veranschaulichen kann. In mindestens einer Ausführungsform können die in 14 veranschaulichten Vorrichtungen mit proprietären Zusammenschaltungen, standardisierten Zusammenschaltungen (z. B. PCIe) oder einer Kombination davon miteinander verbunden sein. In mindestens einer Ausführungsform sind eine oder mehrere Komponenten aus 14 unter Verwendung von Compute-Express-Link(CXL)-Zusammenschaltungen miteinander verbunden.
  • In mindestens einer Ausführungsform kann 14 Folgendes beinhalten: eine Anzeige 1424, einen Touchscreen 1425, ein Touchpad 1430, eine Nahfeldkommunikationseinheit (Near Field Communications - „NFC“) 1445, einen Sensorhub 1440, einen Wärmesensor 1446, einen Express-Chipsatz („EC“) 1435, ein Trusted-Platform-Modul („TPM“) 1438, BIOS-/Firmware-/Flash-Speicher („BIOS, FW Flash“) 1422, einen DSP 1460, ein Laufwerk 1420, wie etwa ein Festkörperlaufwerk (Solid State Disk - „SSD“) oder ein Festplattenlaufwerk (Hard Disk Drive - „HDD“), eine drahtlose lokale Netzwerkeinheit (wireless local area network - „WLAN“) 1450, eine Bluetooth-Einheit 1452, eine drahtlose Weitbereichsnetzwerkeinheit (Wireless Wide Area Network - „WWAN“) 1456, ein globales Positionsbestimmungssystem (GPS) 1455, eine Kamera („USB 3.0-Kamera“) 1454, wie etwa eine USB 3.0-Kamera und/oder eine Speichereinheit mit doppelter Datenrate bei niedriger Leistung (Low Power Double Data Rate - „LPDDR“) („LPDDR3“) 1415, die zum Beispiel im LPDDR3-Standard implementiert ist. Diese Komponenten können jeweils auf eine beliebige geeignete Weise implementiert sein.
  • In mindestens einer Ausführungsform können andere Komponenten kommunikativ mit dem Prozessor 1410 durch die vorstehend erörterten Komponenten gekoppelt sein. In mindestens einer Ausführungsform können ein Beschleunigungsmesser 1441, ein Umgebungslichtsensor (Ambient Light Sensor - „ALS“) 1442, ein Kompass 1443 und ein Gyroskop 1444 kommunikativ mit dem Sensor-Hub 1440 gekoppelt sein. In mindestens einer Ausführungsform können ein Wärmesensor 1439, ein Lüfter 1437, eine Tastatur 1446 und ein Touchpad 1430 kommunikativ mit dem EC 1435 gekoppelt sein. In mindestens einer Ausführungsform können ein Lautsprecher 1463, ein Kopfhörer 1464 und ein Mikrofon („Mic“) 1465 kommunikativ mit einer Audioeinheit („Audio Codec und Class D Amp“) 1462 gekoppelt sein, die wiederum kommunikativ mit dem DSP 1460 gekoppelt sein kann. In mindestens einer Ausführungsform kann die Audioeinheit 1464 beispielsweise und ohne Einschränkung einen Audiocodierer/-decodierer („Codec“) und einen Klasse-D-Verstärker beinhalten. In mindestens einer Ausführungsform kann eine SIM-Karte („SIM“) 1457 kommunikativ mit der WWAN-Einheit 1456 gekoppelt sein. In mindestens einer Ausführungsform können Komponenten, wie zum Beispiel die WLAN-Einheit 1450 und die Bluetooth-Einheit 1452 sowie die WWAN-Einheit 1456, in einem Next Generation Form Factor („NGFF“) implementiert sein.
  • Die Ableitungs- und/oder Trainingslogik 1115 wird verwendet, um Ableitungs- und/oder Trainingsvorgänge durchzuführen, die mit einer oder mehreren Ausführungsformen assoziiert sind. Details bezüglich der Ableitungs- und/oder Trainingslogik 1115 sind unten in Verbindung mit den 11A und/oder 11B bereitgestellt. In mindestens einer Ausführungsform kann die Ableitungs- und/oder Trainingslogik 1115 im System aus 14 für Ableitungs- oder Vorhersagevorgänge verwendet werden, die mindestens teilweise auf Gewichtungsparametern basieren, die unter Verwendung von Trainingsvorgängen für neuronale Netzwerke, Funktionen und/oder Architekturen von neuronalen Netzwerken oder in dieser Schrift beschriebenen Anwendungsfällen für neuronale Netzwerke berechnet wurden.
  • Derartige Komponenten können verwendet werden, um eine Klassifizierung oder Segmentierung von einem oder mehreren Objekten durchzuführen, die in Bilddaten in mindestens einer Ausführungsform dargestellt sind. Dies kann die Verwendung eines Formstroms parallel zu einem primären Bildanalysestrom beinhalten, um den primären Strom zu zwingen, Forminformationen für das Objekt bzw. die Objekte zu berücksichtigen.
  • 15 ist ein Blockdiagramm eines Verarbeitungssystems gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform beinhaltet das System 1500 einen oder mehrere Prozessoren 1502 und einen oder mehrere Grafikprozessoren 1508 und kann ein Einzelprozessor-Desktopsystem, ein Multiprozessor-Arbeitsstationssystem oder ein ServerSystem mit einer großen Anzahl von Prozessoren 1502 oder Prozessorkernen 1507 sein. In mindestens einer Ausführungsform ist das System 1500 eine Verarbeitungsplattform, die in eine integrierte System-on-a-Chip(SoC)-Schaltung zur Verwendung in mobilen, tragbaren oder eingebetteten Vorrichtungen integriert ist.
  • In mindestens einer Ausführungsform kann das System 1500 eine serverbasierte Spielplattform, eine Spielkonsole, die eine Spiel- und Medienkonsole beinhaltet, eine mobile Spielkonsole, eine tragbare Spielekonsole oder eine Online-Spielekonsole beinhalten oder darin integriert sein. In mindestens einer Ausführungsform ist das System 1500 ein Mobiltelefon, ein Smartphone, eine Tablet-Rechenvorrichtung oder eine mobile Internetvorrichtung. In mindestens einer Ausführungsform kann das Verarbeitungssystem 1500 auch eine tragbare Vorrichtung, wie etwa eine tragbare Smartwatch-Vorrichtung, eine intelligente Brillenvorrichtung, eine Augmented-Reality-Vorrichtung oder eine Virtual-Reality-Vorrichtung beinhalten, mit dieser gekoppelt oder darin integriert sein. In mindestens einer Ausführungsform ist das Verarbeitungssystem 1500 ein Fernsehgerät oder eine Set-Top-Box-Vorrichtung mit einem oder mehreren Prozessoren 1502 und einer grafischen Schnittstelle, die von einem oder mehreren Grafikprozessoren 1508 erzeugt wird.
  • In mindestens einer Ausführungsform beinhalten ein oder mehrere Prozessoren 1502 jeweils einen oder mehrere Prozessorkerne 1507, um Anweisungen zu verarbeiten, die, wenn sie ausgeführt werden, Vorgänge für System- und Benutzersoftware ausführen. In mindestens einer Ausführungsform ist jeder von dem einem oder den mehreren Prozessorkernen 1507 so konfiguriert, dass er einen spezifischen Anweisungssatz 1509 verarbeitet. In mindestens einer Ausführungsform kann der Anweisungssatz 1509 das Berechnen mit komplexem Anweisungssatz (CISC), das Berechnen mit reduziertem Anweisungssatz (RISC) oder das Berechnen über ein sehr langes Anweisungswort (VLIW) erleichtern. In mindestens einer Ausführungsform können die Prozessorkerne 1507 jeweils einen anderen Anweisungssatz 1509 verarbeiten, der Anweisungen beinhalten kann, um die Emulation anderer Anweisungssätze zu erleichtern. In mindestens einer Ausführungsform kann der Prozessorkern 1507 auch andere Verarbeitungsvorrichtungen beinhalten, wie etwa einen Digitalsignalprozessor (DSP).
  • In mindestens einer Ausführungsform beinhaltet der Prozessor 1502 einen Cache-Speicher 1504. In mindestens einer Ausführungsform kann der Prozessor 1502 einen einzelnen internen Cache oder mehrere Ebenen von internem Cache aufweisen. In mindestens einer Ausführungsform wird der Cache-Speicher von verschiedenen Komponenten des Prozessors 1502 gemeinsam genutzt. In mindestens einer Ausführungsform verwendet der Prozessor 1502 auch einen externen Cache (z. B. einen Level-3(L3)-Cache oder Last-Level-Cache (LLC)) (nicht gezeigt), der unter Verwendung bekannter Cache-Kohärenztechniken von den Prozessorkernen 1507 gemeinsam genutzt werden kann. In mindestens einer Ausführungsform ist im Prozessor 1502 zusätzlich eine Registerdatei 1506 enthalten, die unterschiedliche Arten von Registern zum Speichern unterschiedlicher Arten von Daten beinhalten kann (z. B. Ganzzahlregister, Gleitkommaregister, Statusregister und ein Anweisungszeigerregister). In mindestens einer Ausführungsform kann die Registerdatei 1506 Universalregister oder andere Register beinhalten.
  • In mindestens einer Ausführungsform ist/sind ein oder mehrere Prozessor(en) 1502 mit einem oder mehreren Schnittstellenbus(sen) 1510 gekoppelt, um Kommunikationssignale, wie etwa Adress-, Daten- oder Steuersignale, zwischen dem Prozessor 1502 und anderen Komponenten im System 1500 zu übermitteln. In mindestens einer Ausführungsform kann der Schnittstellenbus 1510 ein Prozessorbus sein, wie z.B. eine Version eines Direct-Media-Interface(DMI)-Busses. In mindestens einer Ausführungsform ist die Schnittstelle 1510 nicht auf einen DMI-Bus beschränkt, sondern kann einen oder mehrere Peripheral-Component-Interconnect-Busse (z. B. PCI, PCI Express), Speicherbusse oder andere Arten von Schnittstellenbussen beinhalten. In mindestens einer Ausführungsform beinhaltet/beinhalten der/die Prozessor(en) 1502 eine integrierte Speichersteuerung 1516 und einen Plattformsteuerungshub 1530. In mindestens einer Ausführungsform ermöglicht die Speichersteuerung 1516 die Kommunikation zwischen einer Speichervorrichtung und anderen Komponenten des Systems 1500, während der Plattformsteuerungshub (platform controller hub - PCH) 1530 Verbindungen zu E/A-Vorrichtungen über einen lokalen E/A-Bus bereitstellt.
  • In mindestens einer Ausführungsform kann die Speichervorrichtung 1520 ein dynamischer Direktzugriffsspeicher (DRAM), ein statischer Direktzugriffsspeicher (SRAM), eine Flash-Speichervorrichtung, eine Phasenänderungsspeichervorrichtung oder eine andere Speichervorrichtung sein, die eine geeignete Leistung aufweist, um als Prozessspeicher zu dienen. In mindestens einer Ausführungsform kann die Speichervorrichtung 1520 als Systemspeicher für das System 1500 arbeiten, um Daten 1522 und Anweisungen 1521 zur Verwendung zu speichern, wenn ein oder mehrere Prozessoren 1502 eine Anwendung oder einen Prozess ausführen. In mindestens einer Ausführungsform ist die Speichersteuerung 1516 auch mit einem optionalen externen Grafikprozessor 1512 gekoppelt, der mit einem oder mehreren Grafikprozessoren 1508 in den Prozessoren 1502 kommunizieren kann, um Grafik- und Medienvorgänge durchzuführen. In mindestens einer Ausführungsform kann eine Anzeigevorrichtung 1511 mit dem/den Prozessor(en) 1502 verbunden sein. In mindestens einer Ausführungsform kann die Anzeigevorrichtung 1511 eine oder mehrere von einer internen Anzeigevorrichtung, wie in einer mobilen elektronischen Vorrichtung oder einer Laptop-Vorrichtung, oder einer externen Anzeigevorrichtung beinhalten, die über eine Anzeigeschnittstelle (z. B. DisplayPort usw.) angeschlossen ist. In mindestens einer Ausführungsform kann die Anzeigevorrichtung 1511 eine am Kopf befestigte Anzeige (head mounted display - HMD) beinhalten, wie z.B. eine stereoskopische Anzeigevorrichtung zur Verwendung bei Virtual-Reality(VR)-Anwendungen oder Augmented-Reality(AR)-Anwendungen.
  • In mindestens einer Ausführungsform ermöglicht der Plattformsteuerungshub 1530 den Peripheriegeräten, sich über einen Hochgeschwindigkeits-E/A-Bus mit der Speichervorrichtung 1520 und dem Prozessor 1502 zu verbinden. In mindestens einer Ausführungsform umfassen die E/A-Peripheriegeräte unter anderem eine Audiosteuerung 1546, eine Netzwerksteuerung 1534, eine Firmware-Schnittstelle 1528, einen drahtlosen Transceiver 1526, Berührungssensoren 1525 und eine Datenspeichervorrichtung 1524 (z. B. Festplattenlaufwerk, Flash-Speicher usw.). In mindestens einer Ausführungsform kann die Datenspeichervorrichtung 1524 über eine Speicherschnittstelle (z. B. SATA) oder über einen Peripheriebus, wie zum Beispiel einen Peripheral-Component-Interconnect-Bus (z. B. PCI, PCI Express), verbunden sein. In mindestens einer Ausführungsform können die Berührungssensoren 1525 Touchscreen-Sensoren, Drucksensoren oder Fingerabdrucksensoren beinhalten. In mindestens einer Ausführungsform kann der drahtlose Transceiver 1526 ein Wi-Fi-Transceiver, ein Bluetooth-Transceiver oder ein Mobilfunknetz-Transceiver wie etwa ein 3G-, 4G- oder Long-Term-Evolution(LTE)-Transceiver sein. In mindestens einer Ausführungsform ermöglicht die Firmware-Schnittstelle 1528 die Kommunikation mit der System-Firmware und kann z. B. ein Unified Extensible Firmware Interface (UEFI) sein. In mindestens einer Ausführungsform kann die Netzwerksteuerung 1534 eine Netzwerkverbindung zu einem drahtgebundenen Netzwerk ermöglichen. In mindestens einer Ausführungsform ist eine Hochleistungs-Netzwerksteuerung (nicht gezeigt) mit dem Schnittstellenbus 1510 gekoppelt. In mindestens einer Ausführungsform ist die Audiosteuerung 1546 eine Mehrkanal-High-Definition-Audiosteuerung. In mindestens einer Ausführungsform beinhaltet das System 1500 eine optionale Legacy-E/A-Steuerung 1540 zur Kopplung von Legacy-Vorrichtungen (z. B. Personal System 2 (PS/2)) mit dem System. In mindestens einer Ausführungsform kann der Plattformsteuerungshub 1530 auch mit einer oder mehreren Universal-Serial-Bus(USB)-Steuerungen 1542 verbunden sein, um Eingabevorrichtungen zu verbinden, wie zum Beispiel Kombinationen aus Tastatur und Maus 1543, eine Kamera 1544 oder andere USB-Eingabevorrichtungen.
  • In mindestens einer Ausführungsform kann eine Instanz der Speichersteuerung 1516 und des Plattformsteuerungshubs 1530 in einen diskreten externen Grafikprozessor, wie etwa den externen Grafikprozessor 1512, integriert sein. In mindestens einer Ausführungsform können der Plattformsteuerungshub 1530 und/oder die Speichersteuerung 1516 extern zu einem oder mehreren Prozessor(en) 1502 sein. Zum Beispiel kann das System 1500 in mindestens einer Ausführungsform eine externe Speichersteuerung 1516 und einen Plattformsteuerungshub 1530 beinhalten, der als Speichersteuerungshub und Peripheriesteuerungshub innerhalb eines Systemchipsatzes konfiguriert sein kann, der mit dem/den Prozessor(en) 1502 in Kommunikation steht.
  • Die Ableitungs- und/oder Trainingslogik 1115 wird verwendet, um Ableitungs- und/oder Trainingsvorgänge durchzuführen, die mit einer oder mehreren Ausführungsformen assoziiert sind. Details bezüglich der Ableitungs- und/oder Trainingslogik 1115 sind unten in Verbindung mit den 11A und/oder 11B bereitgestellt. In mindestens einer Ausführungsform können Abschnitte oder die gesamte Ableitungs- und/oder Trainingslogik 1115 in den Grafikprozessor 1500 integriert sein. Zum Beispiel können in mindestens einer Ausführungsform die in dieser Schrift beschriebenen Trainings- und/oder Ableitungstechniken eine oder mehrere der in dem Grafikprozessor 1512 verkörperten ALUs verwenden. Darüber hinaus können in mindestens einer Ausführungsform die in dieser Schrift beschriebenen Ableitungs- und/oder Trainingsvorgänge unter Verwendung einer anderen als der in den 11A oder 11B veranschaulichten Logik durchgeführt werden. In mindestens einer Ausführungsform können Gewichtungsparameter im chipinternen oder chipexternen Speicher und/oder in Registern (gezeigt oder nicht gezeigt) gespeichert werden, die ALUs des Grafikprozessors 1500 konfigurieren, um eine(n) oder mehrere in dieser Schrift beschriebene Algorithmen für maschinelles Lernen, neuronale Netzwerkarchitekturen, Anwendungsfälle oder Trainingstechniken durchzuführen.
  • Derartige Komponenten können verwendet werden, um eine Klassifizierung oder Segmentierung von einem oder mehreren Objekten durchzuführen, die in Bilddaten in mindestens einer Ausführungsform dargestellt sind. Dies kann die Verwendung eines Formstroms parallel zu einem primären Bildanalysestrom beinhalten, um den primären Strom zu zwingen, Forminformationen für das Objekt bzw. die Objekte zu berücksichtigen.
  • 16 ist ein Blockdiagramm eines Prozessors 1600 mit einem oder mehreren Prozessorkemen 1602A-1602N, einer integrierten Speichersteuerung 1614 und einem integrierten Grafikprozessor 1608 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann der Prozessor 1600 zusätzliche Kerne bis einschließlich des zusätzlichen Kerns 1602N enthalten, dargestellt durch Kästen mit gestrichelten Linien. In mindestens einer Ausführungsform beinhaltet jeder der Prozessorkerne 1602A-1602N eine oder mehrere interne Cache-Einheiten 1604A-1604N. In mindestens einer Ausführungsform weist jeder Prozessorkern auch Zugriff auf eine oder mehrere gemeinsam genutzte Cache-Einheiten 1606 auf.
  • In mindestens einer Ausführungsform stellen die internen Cache-Einheiten 1604A-1604N und die gemeinsam genutzten Cache-Einheiten 1606 eine Cache-Speicherspeicherhierarchie innerhalb des Prozessors 1600 dar. In mindestens einer Ausführungsform können die Cache-Speichereinheiten 1604A-1604N mindestens ein Level von Anweisungs- und Daten-Cache innerhalb jedes Prozessorkerns und ein oder mehrere Level von gemeinsam genutztem Cache mittleren Levels, wie z. B. ein Level 2 (L2), Level 3 (L3), Level 4 (L4) oder andere Cache-Level, beinhalten, wobei ein höchstes Cache-Level vor dem externen Speicher als LLC klassifiziert ist. In mindestens einer Ausführungsform hält die Cache-Kohärenzlogik die Kohärenz zwischen verschiedenen Cache-Einheiten 1606 und 1604A-1604N aufrecht.
  • In mindestens einer Ausführungsform kann der Prozessor 1600 auch einen Satz von einer oder mehreren Bussteuerungseinheiten 1616 und einem Systemagentenkern 1610 beinhalten. In mindestens einer Ausführungsform verwalten eine oder mehrere Bussteuereinheiten 1616 einen Satz von peripheren Bussen, wie zum Beispiel einen oder mehrere PCI- oder PCI-Express-Busse. In mindestens einer Ausführungsform stellt der Systemagentenkern 1610 eine Verwaltungsfunktionalität für verschiedene Prozessorkomponenten bereit. In mindestens einer Ausführungsform beinhaltet der Systemagentenkern 1610 eine oder mehrere integrierte Speichersteuerungen 1614, um den Zugriff auf verschiedene externe Speichervorrichtungen (nicht gezeigt) zu verwalten.
  • In mindestens einer Ausführungsform beinhalten einer oder mehrere der Prozessorkerne 1602A-1602N Unterstützung für simultanes Multithreading. In mindestens einer Ausführungsform beinhaltet der Systemagentenkern 1610 Komponenten zur Koordinierung und zum Betrieb der Kerne 1602A-1602N während der Multi-Thread-Verarbeitung. In mindestens einer Ausführungsform kann der Systemagentenkern 1610 zusätzlich eine Leistungssteuereinheit (power control unit - PCU) beinhalten, die Logik und Komponenten zur Regulierung eines oder mehrerer Leistungszustände der Prozessorkerne 1602A-1602N und des Grafikprozessors 1608 beinhaltet.
  • In mindestens einer Ausführungsform beinhaltet der Prozessor 1600 zusätzlich den Grafikprozessor 1608, um Grafikverarbeitungsvorgänge auszuführen. In mindestens einer Ausführungsform ist der Grafikprozessor 1608 mit gemeinsam genutzten Cache-Einheiten 1606 und dem Systemagentenkern 1610, einschließlich einer oder mehrerer integrierter Speichersteuerungen 1614, gekoppelt. In mindestens einer Ausführungsform beinhaltet der Systemagentenkern 1610 auch eine Anzeigesteuerung 1611 zum Führen der Grafikprozessorausgabe zu einer oder mehreren gekoppelten Anzeigen. In mindestens einer Ausführungsform kann die Anzeigesteuerung 1611 auch ein separates Modul sein, das über mindestens eine Zusammenschaltung mit dem Grafikprozessor 1608 gekoppelt ist, oder sie kann in den Grafikprozessor 1608 integriert sein.
  • In mindestens einer Ausführungsform wird eine ringbasierte Zusammenschaltungseinheit 1612 verwendet, um interne Komponenten des Prozessors 1600 zu koppeln. In mindestens einer Ausführungsform kann eine alternative Zusammenschaltungseinheit verwendet werden, wie z. B. eine Punkt-zu-Punkt-Zusammenschaltung, eine geschaltete Zusammenschaltung oder andere Techniken. In mindestens einer Ausführungsform ist der Grafikprozessor 1608 über eine E/A-Verknüpfung 1613 mit der Ringzusammenschaltung 1612 gekoppelt.
  • In mindestens einer Ausführungsform stellt die E/A-Verküpfung 1613 mindestens eine von mehreren Arten von E/A-Zusammenschaltungen dar, was eine E/A-Zusammenschaltung auf dem Gehäuse beinhaltet, welche die Kommunikation zwischen verschiedenen Prozessorkomponenten und einem eingebetteten Hochleistungsspeichermodul 1618, wie etwa einem eDRAM-Modul, erleichtert. In mindestens einer Ausführungsform verwenden jeder der Prozessorkerne 1602A-1602N und der Grafikprozessor 1608 eingebettete Speichermodule 1618 als einen gemeinsam genutzten Last-Level-Cache.
  • In mindestens einer Ausführungsform sind die Prozessorkerne 1602A-1602N homogene Kerne, die eine gemeinsame Anweisungssatzarchitektur ausführen. In mindestens einer Ausführungsform sind die Prozessorkerne 1602A-1602N in Bezug auf die Anweisungssatzarchitektur (instruction set architecture - ISA) heterogen, wobei einer oder mehrere der Prozessorkerne 1602A-1602N einen gemeinsamen Anweisungssatz ausführen, während ein oder mehrere andere Kerne der Prozessorkerne 1602A-1602N eine Teilmenge eines gemeinsamen Anweisungssatzes oder einen anderen Anweisungssatz ausführen. In mindestens einer Ausführungsform sind die Prozessorkerne 1602A-1602N in Bezug auf die Mikroarchitektur heterogen, wobei ein oder mehrere Kerne mit einem relativ gesehen höheren Leistungsverbrauch mit einem oder mehreren Kernen mit einem niedrigeren Leistungsverbrauch gekoppelt sind. In mindestens einer Ausführungsform kann der Prozessor 1600 auf einem oder mehreren Chips oder als integrierte SoC-Schaltung implementiert sein.
  • Die Ableitungs- und/oder Trainingslogik 1115 wird verwendet, um Ableitungs- und/oder Trainingsvorgänge durchzuführen, die mit einer oder mehreren Ausführungsformen assoziiert sind. Details bezüglich der Ableitungs- und/oder Trainingslogik 1115 sind unten in Verbindung mit den 11A und/oder 11B bereitgestellt. In mindestens einer Ausführungsform können Abschnitte oder die gesamte Ableitungs- und/oder Trainingslogik 1115 in den Prozessor 1600 integriert sein. In mindestens einer Ausführungsform können die in dieser Schrift beschriebenen Trainings- und/oder Ableitungstechniken beispielsweise eine oder mehrere der ALUs verwenden, die im Grafikprozessor 1512, in dem/den Grafikkern(en) 1602A-1602N oder in anderen Komponenten in 16 verkörpert sind. Darüber hinaus können in mindestens einer Ausführungsform die in dieser Schrift beschriebenen Ableitungs- und/oder Trainingsvorgänge unter Verwendung einer anderen als der in den 11A oder 11B veranschaulichten Logik durchgeführt werden. In mindestens einer Ausführungsform können Gewichtungsparameter im chipinternen oder chipexternen Speicher und/oder in Registern (gezeigt oder nicht gezeigt) gespeichert werden, die ALUs des Grafikprozessors 1600 konfigurieren, um eine(n) oder mehrere in dieser Schrift beschriebene Algorithmen für maschinelles Lernen, neuronale Netzwerkarchitekturen, Anwendungsfälle oder Trainingstechniken durchzuführen.
  • Derartige Komponenten können verwendet werden, um eine Klassifizierung oder Segmentierung von einem oder mehreren Objekten durchzuführen, die in Bilddaten in mindestens einer Ausführungsform dargestellt sind. Dies kann die Verwendung eines Formstroms parallel zu einem primären Bildanalysestrom beinhalten, um den primären Strom zu zwingen, Forminformationen für das Objekt bzw. die Objekte zu berücksichtigen.
  • AUTONOMES FAHRZEUG
  • 17A veranschaulicht ein beispielhaftes autonomes Fahrzeug 1700 gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann das autonome Fahrzeug 1700 (in dieser Schrift alternativ als „Fahrzeug 1700“ bezeichnet) ohne Einschränkung ein Personenkraftwagen sein, wie z. B. ein Auto, ein Truck, ein Bus und/oder eine andere Art von Fahrzeug, das einen oder mehrere Fahrgäste aufnimmt. In mindestens einer Ausführungsform kann das Fahrzeug 1a00 ein Sattelschlepper sein, der zum Transport von Fracht verwendet wird. In mindestens einer Ausführungsform kann das Fahrzeug 1a00 ein Flugzeug, ein Roboterfahrzeug oder eine andere Art von Fahrzeug sein.
  • Autonome Fahrzeuge können in Form von Automatisierungslevels 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. J3016-201806, veröffentlicht am 15. Juni 2018, Standard Nr. J3016-201609, veröffentlicht am 30. September 2016, sowie frühere und zukünftige Versionen dieses Standards) definiert werden. In einer oder mehreren Ausführungsformen kann das Fahrzeug 1700 zu einer Funktionalität gemäß einem oder mehreren von Level 1-Level 5 der Levels für autonomes Fahren in der Lage sein. Zum Beispiel kann in mindestens einer Ausführungsform das Fahrzeug 1700 in Abhängigkeit von der Ausführungsform zu einer bedingten Automatisierung (Level 3), einer hohen Automatisierung (Level 4) und/oder einer vollständigen Automatisierung (Level 5) in der Lage sein.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 ohne Einschränkung Komponenten wie 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 1700 ohne Einschränkung ein Antriebssystem 1750 beinhalten, wie z. B. einen Verbrennungsmotor, ein Hybridelektrotriebwerk, einen vollelektrischen Motor und/oder eine andere Art von Antriebssystem. In mindestens einer Ausführungsform kann das Antriebssystem 1750 mit einem Antriebsstrang des Fahrzeugs 1700 verbunden sein, der ohne Einschränkung ein Getriebe beinhalten kann, um den Antrieb des Fahrzeugs 1700 zu ermöglichen. In mindestens einer Ausführungsform kann das Antriebssystem 1750 als Reaktion auf den Empfang von Signalen von einer Drossel/(einem) Fahrpedalen 1752 gesteuert werden.
  • In mindestens einer Ausführungsform wird ein Lenksystem 1754, das ohne Einschränkung ein Lenkrad beinhalten kann, verwendet, um ein Fahrzeug 1700 zu lenken (z. B. entlang eines gewünschten Pfads oder einer gewünschten Route), wenn ein Antriebssystem 1750 in Betrieb ist (z. B., wenn das Fahrzeug in Bewegung ist). In mindestens einer Ausführungsform kann ein Lenksystem 1754 Signale von (einem) Lenkaktor(en) 1756 empfangen. Für die vollständige Automatisierungsfunktionalität (Level 5) kann ein Lenkrad optional sein. In mindestens einer Ausführungsform kann ein Bremssensorsystem 1746 verwendet werden, um die Fahrzeugbremsen als Reaktion auf den Empfang von Signalen von (einem) Bremsaktor(en) 1748 und/oder Bremssensoren zu betreiben.
  • In mindestens einer Ausführungsform stellen (eine) Steuerung(en) 1736, die ohne Einschränkung ein oder mehrere System-on-Chips („SoCs“) (in 17A nicht gezeigt) und/oder (eine) Grafikverarbeitungseinheit(en) („GPU(s)“) beinhalten können, Signale (z. B. repräsentativ für Befehle) für ein(e) oder mehrere Komponenten und/oder Systeme des Fahrzeugs 1700 bereit. Zum Beispiel kann/können in mindestens einer Ausführungsform die Steuerung(en) 1736 Signale zum Betreiben der Fahrzeugbremsen über den/die Bremsaktor(en) 1748, zum Betreiben des Lenksystems 1754 über den/die Lenkaktor(en) 1756 und/oder zum Betreiben des Antriebssystems 1750 über die Drossel/das/die Fahrpedal(e) 1752 senden. Die Steuerung(en) 1736 kann/können eine oder mehrere bordeigene (z. B. integrierte) Rechenvorrichtungen (z. B. Supercomputer) beinhalten, die Sensorsignale verarbeiten und Betriebsbefehle ausgeben (z. B. Signale, die Befehle darstellen), um autonomes Fahren zu ermöglichen und/oder einen menschlichen Fahrer beim Führen des Fahrzeugs 1700 zu unterstützen. In mindestens einer Ausführungsform kann/können die Steuerung(en) 1736 eine erste Steuerung 1736 für Funktionen des autonomen Fahrens, eine zweite Steuerung 1736 für funktionelle Sicherheitsfunktionen, eine dritte Steuerung 1736 für eine Funktionalität der künstlichen Intelligenz (z. B. Computervision), eine vierte Steuerung 1736 für eine Infotainment-Funktionalität, eine fünfte Steuerung 1736 für Redundanz in Notfällen und/oder andere Steuerungen beinhalten. In mindestens einer Ausführungsform kann eine einzelne Steuerung 1736 zwei oder mehrere der vorstehenden Funktionalitäten handhaben, können zwei oder mehr Steuerungen 1736 eine einzelne Funktionalität handhaben und/oder eine beliebige Kombination davon.
  • In mindestens einer Ausführungsform stellt/stellen die Steuerung(en) 1736 Signale zum Steuern einer/eines oder mehrerer Komponenten und/oder Systeme des Fahrzeugs 1700 als Reaktion auf Sensordaten bereit, die von einem oder mehreren Sensoren (z. B. Sensoreingaben) empfangen werden. In mindestens einer Ausführungsform können die Sensordaten zum Beispiel und ohne Einschränkung empfangen werden von (einem) Sensor(en) 1758 von globalen Navigationssatellitensystemen („GNSS“) (z. B. (einem) Sensor(en) des globalen Positionsbestimmungssystems), (einem) RADAR-Sensor(en) 1760, (einem) Ultraschallsensor(en) 1762, (einem) LIDAR-Sensor(en) 1764, (einem) Sensor(en) 1766 einer Trägheitsmesseinheit (inertial measurement unit - „IMU“) (z. B. (einem) Beschleunigungsmesser, Gyroskop(en), Magnetkompass(en), (einem) Magnetometer usw.), (einem) Mikrofon(en) 1796, (einer) Stereokamera(s) 1768, (einer) Weitsichtkamera(s) 1770 (z. B. Fischaugenkameras), (einer) Infrarotkamera(s) 1772, (einer) Rundumkamera(s) 1774 (z.B. 360-Grad-Kameras), Weitsichtkameras (in 17A nicht gezeigt), (einer) Mittelstreckenkamera(s) (in 17A nicht gezeigt), (einem) Geschwindigkeitssensor(en) 1744 (z. B. zum Messen der Geschwindigkeit des Fahrzeugs 1700), (einem) Vibrationssensor(en) 1742, (einem) Lenksensor(en) 1740, (einem) Bremssensor(en) (z. B. als Teil des Bremssensorsystems 1746) und/oder anderen Sensorarten.
  • In mindestens einer Ausführungsform kann/können ein oder mehrere der Steuerung(en) 1736 Eingaben (z. B. durch Eingabedaten dargestellt) von einem Kombiinstrument 1732 des Fahrzeugs 1700 empfangen und Ausgaben (z. B. durch Ausgabedaten, Anzeigedaten usw. dargestellt) über eine Mensch-Maschine-Schnittstellen(human-machine interface - „HMI“)-Anzeige 1734, einen akustischen Melder, einen Lautsprecher und/oder über andere Komponenten des Fahrzeugs 1700 bereitstellen. In mindestens einer Ausführungsform können die Ausgaben Informationen wie Fahrzeuggeschwindigkeit, Drehzahl, Zeit, Kartendaten (z. B. eine hochauflösende Karte (in 17A nicht gezeigt), Standortdaten (z. B. den Standort des Fahrzeugs 1700, z. B. auf einer Karte), Richtung, Standort anderer Fahrzeuge (z. B. ein Belegungsgitter), Informationen über Objekte und den Status von Objekten, wie von der/den Steuerung(en) 1736 wahrgenommen, usw. beinhalten. Beispielsweise kann in mindestens einer Ausführungsform die HMI-Anzeige 1734 Informationen über das Vorhandensein eines oder mehrerer Objekte (z. B. eines Straßenschilds, eines Warnschilds, einer sich ändernden Ampel usw.) und/oder Informationen über Fahrmanöver anzeigen, die das Fahrzeug durchgeführt hat, gerade durchführt oder durchführen wird (z. B. jetzt die Spur wechseln, in zwei Meilen die Ausfahrt 34B nehmen usw.).
  • In mindestens einer Ausführungsform beinhaltet das Fahrzeug 1700 ferner eine Netzwerkschnittstelle 1724, die (eine) drahtlose Antenne(n) 1726 und/oder (ein) Modem(s) zur Kommunikation über ein oder mehrere Netzwerke verwenden kann. Zum Beispiel kann in mindestens einer Ausführungsform die Netzwerkschnittstelle 1724 in der Lage sein, über Long-Term-Evolution („LTE“), Breitband-Codemultiplexverfahren (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 kann/können die drahtlose(n) Antenne(n) 1726 auch die Kommunikation zwischen Objekten in der Umgebung (z. B. Fahrzeugen, mobilen Vorrichtungen usw.) unter Verwendung von (einem) lokalen Netzwerk(en), wie z. B. Bluetooth, Bluetooth Low Energy („LE“), Z-Wave, ZigBee usw., und/oder (einem) Weitverkehrsnetzwerk(en) mit geringer Leistung (low power wide-area network - „LPWANs“), wie z. B. LoRaWAN, SigFox usw., ermöglichen.
  • Die Ableitungs- und/oder Trainingslogik 1115 wird verwendet, um Ableitungs- und/oder Trainingsvorgänge durchzuführen, die mit einer oder mehreren Ausführungsformen assoziiert sind. Details bezüglich der Ableitungs- und/oder Trainingslogik 1115 sind unten in Verbindung mit den 11A und/oder 11B bereitgestellt. In mindestens einer Ausführungsform kann die Ableitungs- und/oder Trainingslogik 1115 im System aus 17A für Ableitungs- oder Vorhersagevorgänge verwendet werden, die mindestens teilweise auf Gewichtungsparametern basieren, die unter Verwendung von Trainingsvorgängen für neuronale Netzwerke, Funktionen und/oder Architekturen von neuronalen Netzwerken oder in dieser Schrift beschriebenen Anwendungsfällen für neuronale Netzwerke berechnet wurden.
  • Derartige Komponenten können verwendet werden, um eine Klassifizierung oder Segmentierung von einem oder mehreren Objekten durchzuführen, die in Bilddaten in mindestens einer Ausführungsform dargestellt sind. Dies kann die Verwendung eines Formstroms parallel zu einem primären Bildanalysestrom beinhalten, um den primären Strom zu zwingen, Forminformationen für das Objekt bzw. die Objekte zu berücksichtigen.
  • Unter erneuter Bezugnahme auf 1 ist ein Beispiel für Kamerapositionen und Sichtfelder für das autonome Fahrzeug 1700 aus 17A gemäß mindestens einer Ausführungsform veranschaulicht. In mindestens einer Ausführungsform stellen die Kameras und die entsprechenden Sichtfelder eine beispielhafte Ausführungsform dar und sind nicht als einschränkend aufzufassen. Zum Beispiel können in mindestens einer Ausführungsform zusätzliche und/oder alternative Kameras enthalten sein und/oder können sich die Kameras an unterschiedlichen Positionen am Fahrzeug 1700 befinden.
  • In mindestens einer Ausführungsform können die Kameraarten für Kameras Digitalkameras beinhalten, ohne darauf beschränkt zu sein, die zur Verwendung mit den Komponenten und/oder Systemen des Fahrzeugs 1700 ausgelegt sind. In mindestens einer Ausführungsform kann/können eine oder mehrere der Kamera(s) mit dem Automobilsicherheitsintegritätslevel (Automotive Safety Integrity Level - „ASIL“) B und/oder mit einem anderen ASIL betrieben werden. In mindestens einer Ausführungsform können die Kameraarten in Abhängigkeit von der Ausführungsform zu einer beliebigen Bildaufnahmerate in der Lage sein, wie z. B. 60 Bilder pro Sekunde (frames per second - fps), 120 fps, 240 fps usw. In mindestens einer Ausführungsform können Kameras in der Lage sein, Rollblendenverschlüsse, globale Blendenverschlüsse, eine andere Art von Blendenverschluss oder eine Kombination davon zu verwenden. In mindestens einer Ausführungsform kann eine Farbfilteranordnung eine Rot-Klar-Klar-Klar(red clear clear clear-„RCCC“)-Farbfilteranordnung, eine Rot-Klar-Klar-Blau(red clear clear blue - „RCCB“)-Farbfilteranordnung, eine Rot-Blau-Grün-Klar(red blue green clear - „RBGC“)-Farbfilteranordnung, eine Foveon-X3-Farbfilteranordnung, ein Bayer-Sensoren(„RGGB“)-Farbfilteranordnung, eine Monochrom-Sensor-Farbfilteranordnung und/oder eine andere Art von Farbfilteranordnung beinhalten. In mindestens einer Ausführungsform können Klarpixelkameras, wie zum Beispiel Kameras mit einer RCCC-, einer RCCB- und/oder einer RBGC-Farbfilteranordnung, in einem Bestreben zur Erhöhung der Lichtempfindlichkeit verwendet werden.
  • In mindestens einer Ausführungsform kann/können eine oder mehrere der Kamera(s) verwendet werden, um Funktionen der weiterentwickelten Fahrerassistenzsysteme (advanced driver assistance system - „ADAS“) durchzuführen (z. B. als Teil eines redundanten oder ausfallsicheren Designs). Zum Beispiel kann in mindestens einer Ausführungsform eine Multifunktions-Monokamera installiert sein, die Funktionen wie Spurverlassenswarnung, Verkehrszeichenassistent und intelligente Scheinwerfersteuerung bereitstellt. In mindestens einer Ausführungsform kann/können eine oder mehrere der Kamera(s) (z. B. alle Kameras) simultan Bilddaten (z. B. ein Video) aufnehmen und bereitstellen.
  • In mindestens einer Ausführungsform können eine oder mehrere der Kameras in einer Montagebaugruppe, z. B. einer kundenspezifisch entworfenen (dreidimensional („3D“) gedruckten) Baugruppe, montiert sein, um Streulicht und Reflexionen aus dem Inneren des Autos (z. B. Reflexionen vom Armaturenbrett, die sich in den Windschutzscheibenspiegeln spiegeln) auszuschließen, welche die Bilddatenerfassungsfähigkeiten der Kamera beeinträchtigen können. Unter Bezugnahme auf Außenspiegel-Montagebaugruppen können in mindestens einer Ausführungsform die Außenspiegelbaugruppen kundenspezifisch in 3D gedruckt werden, sodass die Kameramontageplatte der Form des Außenspiegels entspricht. In mindestens einer Ausführungsform kann/können die Kamera(s) in den Außenspiegel integriert sein. Bei Seitensichtkameras kann/können die Kamera(s) in mindestens einer Ausführungsform auch in vier Säulen an jeder Ecke des Fahrerhauses integriert sein.
  • In mindestens einer Ausführungsform können Kameras mit einem Sichtfeld, das Abschnitte der Umgebung vor dem Fahrzeug 1700 beinhaltet (z.B. nach vom gerichtete Kameras), für die Rundumsicht verwendet werden, um dabei zu helfen, nach vorn gerichtete Pfade und Hindernisse zu identifizieren, sowie mit Hilfe einer oder mehrerer Steuerungen 1736 und/oder Steuer-SoCs beim Bereitstellen von Informationen zu helfen, die für die Erzeugung eines Belegungsgitters und/oder die Bestimmung bevorzugter Fahrzeugpfade entscheidend sind. In mindestens einer Ausführungsform können nach vorn gerichtete Kameras verwendet werden, um viele der gleichen ADAS-Funktionen wie LIDAR auszuführen, einschließlich, ohne Einschränkung, Notbremsung, Fußgängererkennung und Kollisionsvermeidung. In mindestens einer Ausführungsform können nach vorn gerichtete Kameras auch für ADAS-Funktionen und -Systeme verwendet werden, einschließlich, ohne Einschränkung, Spurverlassenswarnungen (Lane Departure Warning - „LDW“), autonomer Geschwindigkeitssteuerung (Autonomous Cruise Control - „ACC“) und/oder anderer Funktionen wie Verkehrszeichenerkennung.
  • In mindestens einer Ausführungsform kann eine Vielfalt von Kameras in einer nach vorn gerichteten Konfiguration verwendet werden, zum Beispiel einschließlich einer monokularen Kameraplattform, die einen CMOS(„Complementary Metal Oxide Semiconductor“ - komplementärer Metall-Oxid-Halbleiter)-Farbbildgeber beinhaltet. In mindestens einer Ausführungsform kann die Weitsichtkamera 1770 verwendet werden, um Objekte wahrzunehmen, die aus der Peripherie ins Blickfeld kommen (z. B. Fußgänger, kreuzender Verkehr oder Fahrräder). Obwohl in 1 nur eine Weitsichtkamera 1770 veranschaulicht ist, kann in anderen Ausführungsformen eine beliebige Anzahl (einschließlich null) von Weitsichtkamera(s) 1770 am Fahrzeug 1700 vorhanden sein. In mindestens einer Ausführungsform kann eine beliebige Anzahl von Weitsichtkamera(s) 1798 (z. B. ein Weitsichtstereokamerapaar) zur tiefenbasierten Objekterkennung verwendet werden, insbesondere für Objekte, für die noch kein neuronales Netzwerk trainiert wurde. In mindestens einer Ausführungsform kann/können die Weitsichtkamera(s) 1798 auch zur Objekterkennung und -klassifizierung sowie zur grundlegenden Objektverfolgung verwendet werden.
  • In mindestens einer Ausführungsform kann eine beliebige Anzahl der Stereokamera(s) 1768 auch in einer nach vorn gerichteten Konfiguration enthalten sein. In mindestens einer Ausführungsform kann/können eine oder mehrere der Stereokamera(s) 1768 eine integrierte Steuereinheit beinhalten, 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 einzelnen Chip bereitstellen kann. In mindestens einer Ausführungsform kann eine solche Einheit verwendet werden, um eine 3D-Karte der Umgebung des Fahrzeugs 1700 zu erzeugen, einschließlich einer Entfernungsschätzung für alle Punkte im Bild. In mindestens einer Ausführungsform kann/können eine oder mehrere der Stereokamera(s) 1768 ohne Einschränkung (einen) kompakte(n) Stereosichtsensor(en) beinhalten, die ohne Einschränkung zwei Kameralinsen (je eine links und rechts) und einen Bildverarbeitungschip beinhalten können, der die Entfernung von dem Fahrzeug 1700 zu einem 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 andere Arten von Stereokamera(s) 1768 zusätzlich oder alternativ zu den in dieser Schrift beschriebenen verwendet werden.
  • In mindestens einer Ausführungsform können Kameras mit einem Sichtfeld, das Abschnitte der Umgebung seitlich des Fahrzeugs 1700 beinhaltet (z. B. Seitensichtkameras), für die Rundumsicht verwendet werden, wodurch Informationen bereitgestellt werden, die zur Erstellung und Aktualisierung des Belegungsgitters sowie zur Erzeugung von Seitenaufprallkollisionswarnungen verwendet werden. Zum Beispiel könnte(n) in mindestens einer Ausführungsform die Rundumkamera(s) 1774 (z. B. vier Rundumkameras 1774, wie in 1 veranschaulicht) am Fahrzeug 1700 positioniert sein. In mindestens einer Ausführungsform kann/können die Rundumkamera(s) 1774 ohne Einschränkung eine beliebige Anzahl und Kombination von Weitsichtkamera(s) 1770, Fischaugenkamera(s), 360-Grad-Kamera(s) und/oder dergleichen beinhalten. Zum Beispiel können in mindestens einer Ausführungsform vier Fischaugenkameras an der Vorderseite, der Rückseite und den Seiten des Fahrzeugs 1700 positioniert sein. In mindestens einer Ausführungsform kann das Fahrzeug 1700 drei Rundumkamera(s) 1774 (z. B. links, rechts und hinten) verwenden und kann eine oder mehrere andere Kamera(s) (z. B. eine nach vorn gerichtete Kamera) als eine vierte Rundumkamera nutzen.
  • In mindestens einer Ausführungsform können Kameras mit einem Sichtfeld, das Abschnitte der Umgebung hinter dem Fahrzeug 1700 beinhaltet (z.B. Rückfahrkameras), als Einparkhilfe, für die Rundumsicht, Heckkollisionswarnungen und das Erstellen und Aktualisieren des Belegungsgitters verwendet werden. In mindestens einer Ausführungsform kann eine Vielfalt von Kameras verwendet werden, einschließlich, aber nicht beschränkt auf, Kameras, die auch als nach vorn gerichtete Kamera(s) geeignet sind (z. B. Weitsichtkameras 1798 und/oder (eine) Mittelstreckenkamera(s) 1776, Stereokamera(s) 1768, Infrarotkamera(s) 1772 usw.), wie in dieser Schrift beschrieben.
  • Die Ableitungs- und/oder Trainingslogik 1115 wird verwendet, um Ableitungs- und/oder Trainingsvorgänge durchzuführen, die mit einer oder mehreren Ausführungsformen assoziiert sind. Details bezüglich der Ableitungs- und/oder Trainingslogik 1115 sind unten in Verbindung mit den 11A und/oder 11B bereitgestellt. In mindestens einer Ausführungsform kann die Ableitungs- und/oder Trainingslogik 1115 im System aus 1 für Ableitungs- oder Vorhersagevorgänge verwendet werden, die mindestens teilweise auf Gewichtungsparametern basieren, die unter Verwendung von Trainingsvorgängen für neuronale Netzwerke, Funktionen und/oder Architekturen von neuronalen Netzwerken oder in dieser Schrift beschriebenen Anwendungsfällen für neuronale Netzwerke berechnet wurden.
  • Derartige Komponenten können verwendet werden, um eine Klassifizierung oder Segmentierung von einem oder mehreren Objekten durchzuführen, die in Bilddaten in mindestens einer Ausführungsform dargestellt sind. Dies kann die Verwendung eines Formstroms parallel zu einem primären Bildanalysestrom beinhalten, um den primären Strom zu zwingen, Forminformationen für das Objekt bzw. die Objekte zu berücksichtigen.
  • 17B ist ein Blockdiagramm, das eine beispielhafte Systemarchitektur für das autonome Fahrzeug 1700 aus 17A veranschaulicht, gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform ist jede/jedes der Komponenten, Merkmale und Systeme des Fahrzeugs 1700 in 17B als über einen Bus 1702 verbunden veranschaulicht. In mindestens einer Ausführungsform kann der Bus 1702 ohne Einschränkung eine CAN-Datenschnittstelle (in dieser Schrift alternativ als „CAN-Bus“ bezeichnet) beinhalten. In mindestens einer Ausführungsform kann ein CAN-Bus ein Netzwerk innerhalb des Fahrzeugs 1700 sein, das zur Unterstützung der Steuerung verschiedener Merkmale und Funktionen des Fahrzeugs 1700 verwendet wird, wie z. B. Betätigung der Bremsen, Beschleunigung, Bremsen, Lenkung, Scheibenwischer usw. In mindestens einer Ausführungsform kann der Bus 1702 so konfiguriert sein, dass er Dutzende oder sogar Hunderte von Knoten aufweist, jeder mit seiner eigenen eindeutigen Kennung (z. B. einer CAN-ID). In mindestens einer Ausführungsform kann der Bus 1702 ausgelesen werden, um den Lenkradwinkel, Grundgeschwindigkeit, die Umdrehungen des Motors pro Minute (revolutions per minute - „RPMs“), Tastenpositionen und/oder andere Fahrzeugstatusindikatoren zu ermitteln. In mindestens einer Ausführungsform kann der Bus 1702 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 eine beliebige Anzahl von Bussen 1702 vorhanden sein, die ohne Einschränkung 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 beinhalten können. In mindestens einer Ausführungsform können zwei oder mehr Busse 1702 verwendet werden, um unterschiedliche Funktionen auszuführen, und/oder können sie zur Redundanz verwendet werden. Zum Beispiel kann ein erster Bus 1702 für die Kollisionsvermeidungsfunktionalität verwendet werden und kann ein zweiter Bus 1702 für die Antriebssteuerung verwendet werden. In mindestens einer Ausführungsform kann jeder Bus 1702 mit beliebigen Komponenten des Fahrzeugs 1700 kommunizieren und können zwei oder mehr Busse 1702 mit denselben Komponenten kommunizieren. In mindestens einer Ausführungsform können jedes von einer beliebigen Anzahl von (einem) System(s)-on-Chip(s) („SoC(s)“) 1704, jede der Steuerung(en) 1736 und/oder jeder Computer im Fahrzeug Zugriff auf dieselben Eingabedaten (z. B. Eingaben von Sensoren des Fahrzeugs 1700) haben und mit einem gemeinsamen Bus, wie z. B. dem CAN-Bus, verbunden sein.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 eine oder mehrere Steuerung(en) 1736 beinhalten, wie z. B. diejenigen, die in dieser Schrift in Bezug auf 17A beschrieben sind. Die Steuerung(en) 1736 können für eine Vielfalt von Funktionen verwendet werden. In mindestens einer Ausführungsform kann/können die Steuerung(en) 1736 mit beliebigen von verschiedenen anderen Komponenten und Systemen des Fahrzeugs 1700 gekoppelt sein und können sie zur Steuerung des Fahrzeugs 1700, der künstlichen Intelligenz des Fahrzeugs 1700, des Infotainments für das Fahrzeug 1700 und/oder dergleichen verwendet werden.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 eine beliebige Anzahl von SoCs 1704 beinhalten. Jedes der SoCs 1704 kann ohne Einschränkung zentrale Verarbeitungseinheiten („CPU(s)“) 1706, Grafikverarbeitungseinheiten („GPU(s)“) 1708, (einen) Prozessor(en) 1710, (einen) Cache(s) 1712, (einen) Beschleuniger 1714, (einen) Datenspeicher 1716 und/oder andere nicht veranschaulichte Komponenten und Merkmale beinhalten. In mindestens einer Ausführungsform können das/die SoC(s) 1704 zur Steuerung des Fahrzeugs 1700 in einer Vielfalt von Plattformen und Systemen verwendet werden. Zum Beispiel kann/können in mindestens einer Ausführungsform das/die SoC(s) 1704 in einem System (z. B. System des Fahrzeugs 1700) mit einer High-Definition(„HD“)-Karte 1722 kombiniert werden, die Kartenauffrischungen und/oder -aktualisierungen über die Netzwerkschnittstelle 1724 von einem oder mehreren Servern (in 17B nicht gezeigt) erhalten kann.
  • In mindestens einer Ausführungsform kann/können die CPU(s) 1706 einen CPU-Cluster oder CPU-Komplex (in dieser Schrift alternativ als „CCPLEX“ bezeichnet) beinhalten. In mindestens einer Ausführungsform kann/können die CPU(s) 1706 mehrere Kerne und/oder Level-Zwei(„L2“)-Caches beinhalten. Zum Beispiel kann/können in mindestens einer Ausführungsform die CPU(s) 1706 acht Kerne in einer kohärenten Mehrprozessorkonfiguration beinhalten. In mindestens einer Ausführungsform kann/können die CPU(s) 1706 vier Doppelkerncluster beinhalten, wobei jeder Cluster über einen dedizierten L2-Cache verfügt (z. B. einen L2-Cache mit 2 MB). In mindestens einer Ausführungsform kann/können die CPU(s) 1706 (z. B. CCPLEX) so konfiguriert sein, dass sie den simultanen Clusterbetrieb unterstützt/unterstützen, sodass eine beliebige Kombination von Clustern von CPU(s) 1706 zu einem beliebigen gegebenen Zeitpunkt aktiv sein kann.
  • In mindestens einer Ausführungsform kann/können eine oder mehrere der CPU(s) 1706 Leistungsverwaltungsfähigkeiten implementieren, die ohne Einschränkung eines oder mehrere der folgenden Merkmale beinhalten: einzelne Hardwareblöcke können automatisch taktgesteuert werden, wenn sie inaktiv sind, um dynamische Leistung zu sparen; jeder Kerntakt kann gesteuert werden, wenn der Kern aufgrund der Ausführung von Wait-for-Interrupt(„WFI“)-/Wait-for-Event(„WFE“)-Anweisungen keine Anweisungen aktiv ausführt; jeder Kern kann unabhängig leistungsgesteuert sein; jeder Kerncluster kann unabhängig taktgesteuert sein, wenn alle Kerne taktgesteuert oder leistungsgesteuert sind; und/oder jeder Kerncluster kann unabhängig leistungsgesteuert sein, wenn alle Kerne leistungsgesteuert sind. In mindestens einer Ausführungsform kann/können die CPU(s) 1706 ferner einen erweiterten Algorithmus zur Verwaltung von Leistungszuständen implementieren, bei dem zulässige Leistungszustände und erwartete Aufwachzeiten spezifiziert werden und die Hardware/der Mikrocode den besten Leistungszustand bestimmt, in den ein Kern, ein Cluster und ein CCPLEX eintreten soll. In mindestens einer Ausführungsform können die Verarbeitungskerne vereinfachte Leistungszustand-Eintrittsequenzen in der Software unterstützen, wobei die Arbeit in den Mikrocode ausgelagert wird.
  • In mindestens einer Ausführungsform kann/können die GPU(s) 1708 eine integrierte GPU (in dieser Schrift alternativ als „iGPU“ bezeichnet) beinhalten. In mindestens einer Ausführungsform können die GPU(s) 1708 programmierbar sein und für parallele Arbeitslasten effizient sein. In mindestens einer Ausführungsform kann/können die GPU(s) 1708 einen erweiterten Tensor-Anweisungssatz verwenden. In mindestens einer Ausführungsform kann/können die GPU(s) 1708 einen oder mehrere Streaming-Mikroprozessoren beinhalten, wobei jeder Streaming-Mikroprozessor einen Level-Eins(„L1“)-Cache beinhalten kann (z. B. einen L1-Cache mit einer Speicherkapazität von mindestens 96 KB), und zwei oder mehr Streaming-Mikroprozessoren können einen L2-Cache gemeinsam nutzen (z. B. einen L2-Cache mit einer Speicherkapazität von 512 KB). In mindestens einer Ausführungsform kann/können die GPU(s) 1708 mindestens acht Streaming-Mikroprozessoren beinhalten. In mindestens einer Ausführungsform kann/können die GPU(s) 1708 (eine) Berechnungs-Anwendungsprogrammierschnittstelle(n) (API(s)) verwenden. In mindestens einer Ausführungsform kann/können die GPU(s) 1708 eine oder mehrere Parallelrechenplattformen und/oder Programmiermodelle (z. B. CUDA von NVIDIA) verwenden.
  • In mindestens einer Ausführungsform können eine oder mehrere der GPU(s) 1708 für die beste Leistung in Automobil- und eingebetteten Anwendungsfällen leistungsoptimiert sein. In einer Ausführungsform könnte(n) die GPU(s) 1708 zum Beispiel auf einem Fin-Feldeffekttransistor („FinFET“) gefertigt sein. In mindestens einer Ausführungsform kann jeder Streaming-Mikroprozessor eine Anzahl von Verarbeitungskernen mit gemischter Genauigkeit beinhalten, die in mehrere Blöcke partitioniert sind. Zum Beispiel, und ohne Einschränkung, 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 NVIDIA TENSOR COREs mit gemischter Genauigkeit für Deep-Learning-Matrixarithmetik, ein Level-Null(„L0“) Anweisungs-Cache, ein Warp-Planer, eine Verteilungseinheit und/oder eine Registerdatei mit 64 KB zugewiesen sein. In mindestens einer Ausführungsform können Streaming-Mikroprozessoren unabhängige parallele Ganzzahl- und Gleitkomma-Datenpfade beinhalten, um eine effiziente Ausführung von Arbeitslasten mit einer Mischung aus Berechnung und Adressierungsberechnungen zu ermöglichen. In mindestens einer Ausführungsform können Streaming-Mikroprozessoren eine unabhängige Thread-Planungsfunktion beinhalten, um eine feinkörnigere Synchronisation und Kooperation zwischen parallelen Threads zu ermöglichen. In mindestens einer Ausführungsform können Streaming-Mikroprozessoren eine Einheit aus kombiniertem LI-Daten-Cache und gemeinsam genutztem Speicher beinhalten, um die Leistung zu verbessern, während die Programmierung vereinfacht wird.
  • In mindestens einer Ausführungsform kann/können eine oder mehrere der GPU(s) 1708 einen Speicher mit hoher Bandbreite (high bandwidth memory - „HBM“) und/oder ein 16-GB-HBM2-Speicherteilsystem beinhalten, um in einigen Beispielen eine Spitzenspeicherbandbreite von etwa 900 GB/Sekunde bereitzustellen. In mindestens einer Ausführungsform kann zusätzlich oder alternativ zum HBM-Speicher ein synchroner Grafik-Direktzugriffsspeicher („SGRAM“) verwendet werden, z. B. ein synchroner Grafik-Double-Data-Rate-Typ-Fünf-Direktzugriffsspeicher („GDDR5“).
  • In mindestens einer Ausführungsform kann/können die GPU(s) 1708 eine einheitliche Speichertechnologie beinhalten. In mindestens einer Ausführungsform kann die Unterstützung von Adressübersetzungsdiensten (address translation services - „ATS“) verwendet werden, um zu ermöglichen, dass die GPU(s) 1708 direkt auf Seitentabellen der CPU(s) 1706 zugreift/zugreifen. In mindestens einer Ausführungsform kann, wenn die Speicherverwaltungseinheit (memory management unit - „MMU“) der GPU(s) 1708 eine Auslassung erleidet, eine Adressübersetzungsanforderung an die CPU(s) 1706 übertragen werden. Als Reaktion darauf kann/können die CPU(s) 1706 in mindestens einer Ausführungsform in ihren Seitentabellen nach einer Virtuell-zu-Physisch-Zuordnung für die Adresse suchen und die Übersetzung zurück an die GPU(s) 1708 übertragen. In mindestens einer Ausführungsform kann die einheitliche Speichertechnologie einen einzelnen einheitlichen virtuellen Adressraum für den Speicher sowohl der CPU(s) 1706 als auch der GPU(s) 1708 ermöglichen, wodurch die Programmierung der GPU(s) 1708 und die Portierung von Anwendungen auf die GPU(s) 1708 vereinfacht werden.
  • In mindestens einer Ausführungsform kann/können die GPU(s) 1708 eine beliebige Anzahl von Zugriffszählern beinhalten, welche die Häufigkeit des Zugriffs der GPU(s) 1708 auf den Speicher anderer Prozessoren verfolgen können. In mindestens einer Ausführungsform kann/können der/die Zugriffszähler dazu beitragen, sicherzustellen, dass Speicherseiten in den physischen Speicher des Prozessors verschoben werden, der am häufigsten auf Seiten zugreift, wodurch die Effizienz für Speicherbereiche, die von mehreren Prozessoren gemeinsam genutzt werden, verbessert wird.
  • In mindestens einer Ausführungsform kann/können ein oder mehrere der SoC(s) 1704 eine beliebige Anzahl von Cache(s) 1712 beinhalten, einschließlich der in dieser Schrift beschriebenen. In mindestens einer Ausführungsform könnte(n) der/die Cache(s) 1712 beispielsweise einen Level-Drei(„L3“)-Cache beinhalten, der sowohl der/den CPU(s) 1706 als auch der/den GPU(s) 1708 zur Verfügung steht (der z. B. sowohl mit der/den CPU(s) 1706 als auch der/den GPU(s) 1708 verbunden ist). In mindestens einer Ausführungsform kann/können der/die Cache(s) 1712 einen Rückschreib-Cache beinhalten, der die Status von Zeilen verfolgen kann, wie z. B. durch die Verwendung eines Cache-Kohärenzprotokolls (z. B. MEI, MESI, MSI usw.). In mindestens einer Ausführungsform kann der L3-Cache in Abhängigkeit von der Ausführungsform 4 MB oder mehr beinhalten, obwohl auch kleinere Cache-Größen verwendet werden können.
  • In mindestens einer Ausführungsform kann/können ein oder mehrere der SoC(s) 1704 einen oder mehrere Beschleuniger 1714 beinhalten (z. B. Hardware-Beschleuniger, Software-Beschleuniger oder eine Kombination davon). In mindestens einer Ausführungsform kann/können das/die SoC(s) 1704 einen Hardware-Beschleunigungscluster beinhalten, der optimierte Hardware-Beschleuniger und/oder einen großen chipinternen Speicher beinhalten kann. In mindestens einer Ausführungsform kann der großer chipinterne Speicher (z. B. 4 MB SRAM) einen Hardware-Beschleunigungscluster zur Beschleunigung neuronaler Netzwerke und anderer Berechnungen ermöglichen. In mindestens einer Ausführungsform kann ein Hardware-Beschleunigungscluster verwendet werden, um die GPU(s) 1708 zu ergänzen und einige Tasks der GPU(s) 1708 auszulagern (um z. B. mehr Zyklen der GPU(s) 1708 für die Durchführung anderer Tasks freizumachen). In mindestens einer Ausführungsform könnte(n) der/die Beschleuniger 1714 für zielgerichtete Arbeitslasten (z. B. Wahrnehmung, neuronale Faltungsnetzwerke („CNNs“), rekurrente neuronale Netzwerke („RNNs“) usw.) verwendet werden, die stabil genug sind, um für eine Beschleunigung geeignet zu sein. In mindestens einer Ausführungsform kann ein CNN ein regionsbasiertes oder regionales neuronales Faltungsnetzwerk („RCNN“) und schnelles RCNN (wie z. B. für die Objekterkennung verwendet) oder eine andere Art von CNN beinhalten.
  • In mindestens einer Ausführungsform kann/können der/die Beschleuniger 1714 (z. B. Hardware-Beschleunigungscluster) (einen) Deep-Learning-Beschleuniger (deep learning accelerator(s) - „DLA(s)“) beinhalten. Der/Die DLA(s) kann/können ohne Einschränkung eine oder mehrere Tensor-Verarbeitungseinheiten („TPU(s)“) beinhalten, die so konfiguriert sein können, dass sie zusätzliche zehn Billionen Vorgänge pro Sekunde für Deep-Learning-Anwendungen und -Ableitung bereitstellen. In mindestens einer Ausführungsform kann/können die TPU(s) Beschleuniger sein, die für die Ausführung von Bildverarbeitungsfunktionen (z. B. für CNNs, RCNNs usw.) konfiguriert und optimiert sind. Der/Die DLA(s) kann/können ferner für einen spezifischen Satz von Arten von neuronalen Netzwerken und Gleitkommavorgängen sowie für die Ableitung optimiert sein. In mindestens einer Ausführungsform kann das Design der DLA(s) mehr Leistung pro Millimeter bereitstellen als eine typische Universal-GPU und übertrifft typischerweise die Leistung einer CPU bei weitem. In mindestens einer Ausführungsform kann/können die TPU(s) mehrere Funktionen durchführen, einschließlich einer Einzelinstanz-Faltungsfunktion, die z. B. INT8-, INT16- und FP16-Datenarten sowohl für Merkmale als auch für Gewichtungen unterstützt, sowie Postprozessorfunktionen. In mindestens einer Ausführungsform kann/können der/die DLA(s) neuronale Netzwerke, insbesondere CNNs, an verarbeiteten oder unverarbeiteten Daten für eine Vielfalt von Funktionen schnell und effizient ausführen, darunter zum Beispiel und ohne Einschränkung: ein CNN für die Identifizierung und Erkennung von Objekten unter Verwendung von Daten von Kamerasensoren; ein CNN für die Entfernungsschätzung unter Verwendung von Daten von Kamerasensoren; ein CNN für die Erkennung und Identifizierung und Erkennung von Einsatzfahrzeugen unter Verwendung von Daten von Mikrofonen 1796; ein CNN für die Gesichtserkennung und Identifizierung von Fahrzeugbesitzem unter Verwendung von Daten von Kamerasensoren; und/oder ein CNN für sicherheitsrelevante Ereignisse.
  • In mindestens einer Ausführungsform kann/können der/die DLA(s) eine beliebige Funktion der GPU(s) 1708 durchführen und durch die Verwendung eines Ableitungsbeschleunigers kann ein Designer beispielsweise entweder (einen) DLA(s) oder (eine) GPU(s) 1708 für eine beliebige Funktion anvisieren. In mindestens einer Ausführungsform kann der Designer beispielsweise die Verarbeitung von CNNs und Gleitkommavorgängen auf DLA(s) konzentrieren und andere Funktionen der/den GPU(s) 1708 und/oder anderen Beschleuniger(n) 1714 überlassen.
  • In mindestens einer Ausführungsform kann/können der/die Beschleuniger 1714 (z. B. Hardware-Beschleunigungscluster) (einen) programmierbare(n) Sichtbeschleuniger (programmable vision accelerator - „PVA“) beinhalten, der in dieser Schrift alternativ als ein Beschleuniger für Computervision bezeichnet werden kann. In mindestens einer Ausführungsform kann/können (ein) PVA(s) zur Beschleunigung von Algorithmen der Computervision für weiterentwickelte Fahrerassistenzsysteme („ADAS“) 1738, autonomes Fahren, Augmented-Reality(„AR“)-Anwendungen und/oder Virtual-Reality(„VR“)-Anwendungen konstruiert und konfiguriert sein. Der/Die PVA(s) kann/können ein Gleichgewicht zwischen Leistung und Flexibilität bereitstellen. In mindestens einer Ausführungsform können alle PVA(s) beispielsweise und ohne Einschränkung eine beliebige Anzahl von Kernen eines Rechners mit reduziertem Anweisungssatz („RISC“), direkten Speicherzugriff (direct memory access - „DMA“) und/oder eine beliebige Anzahl von Vektorprozessoren beinhalten.
  • In mindestens einer Ausführungsform können RISC-Kerne mit Bildsensoren (z.B. Bildsensoren einer beliebigen der in dieser Schrift beschriebenen Kameras), (einem) Bildsignalprozessor(en) und/oder dergleichen interagieren. In mindestens einer Ausführungsform kann jeder der RISC-Kerne eine beliebige Menge an Speicher beinhalten. In mindestens einer Ausführungsform können die RISC-Kerne in Abhängigkeit von der Ausführungsform ein beliebiges von einer Anzahl von Protokollen verwenden. In mindestens einer Ausführungsform können die RISC-Kerne ein Echtzeitbetriebssystem (real-time operating system - „RTOS“) ausführen. In mindestens einer Ausführungsform können die RISC-Kerne unter Verwendung einer oder mehrerer Vorrichtungen für integrierte Schaltungen, anwendungsspezifischer integrierter Schaltungen („ASICs“) und/oder Speichervorrichtungen implementiert sein. In mindestens einer Ausführungsform könnten die RISC-Kerne beispielsweise einen Anweisungs-Cache und/oder einen eng gekoppelten RAM beinhalten.
  • In mindestens einer Ausführungsform kann DMA es den Komponenten des/der PVA(s) ermöglichen, unabhängig von der/den CPU(s) 1706 auf den Systemspeicher zuzugreifen. In mindestens einer Ausführungsform kann DMA eine beliebige Anzahl von Merkmalen unterstützen, die zur Bereitstellung der Optimierung eines PVA verwendet werden, einschließlich der Unterstützung von mehrdimensionaler Adressierung und/oder zirkulärer Adressierung, ohne darauf beschränkt zu sein. In mindestens einer Ausführungsform kann DMA bis zu sechs oder mehr Dimensionen der Adressierung unterstützen, die ohne Einschränkung Blockbreite, Blockhöhe, Blocktiefe, horizontale Blockabstufung, vertikale Blockabstufung und/oder Tiefenabstufung beinhalten können.
  • In mindestens einer Ausführungsform können Vektorprozessoren programmierbare Prozessoren sein, die so konstruiert sein können, dass sie die Programmierung für Algorithmen der Computervision effizient und flexibel ausführen und Signalverarbeitungsfähigkeiten bereitstellen. In mindestens einer Ausführungsform kann der PVA einen PVA-Kern und zwei Vektorverarbeitungsteilsystempartitionen beinhalten. In mindestens einer Ausführungsform kann der PVA-Kern ein Prozessorteilsystem, (eine) DMA-Engine(s) (z. B. zwei DMA-Engines) und/oder andere Peripheriegeräte beinhalten. In mindestens einer Ausführungsform kann das Vektorverarbeitungsteilsystem als primäre Verarbeitungs-Engine des PVA arbeiten und kann eine Vektorverarbeitungseinheit (vector processing unit - „VPU“), einen Anweisungs-Cache und/oder einen Vektorspeicher (z. B. „VMEM“) beinhalten. In mindestens einer Ausführungsform kann die VPU einen Digitalsignalprozessor beinhalten, wie z. B. einen Single-Instruction-Multiple-Data(„SIMD“)-Very-Long-Instruction-Word(„VLIW“)-Digitalsignalprozessor. 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 Anweisungs-Cache beinhalten und mit einem dedizierten Speicher gekoppelt sein. Daher 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 Vektorprozessoren, die in einem konkreten PVA enthalten sind, so konfiguriert sein, dass sie Datenparallelität einsetzen. Zum Beispiel kann in mindestens einer Ausführungsform eine Vielzahl von Vektorprozessoren, die in einem einzelnen PVA enthalten ist, denselben Algorithmus der Computervision ausführen, jedoch an unterschiedlichen Regionen eines Bildes. In mindestens einer Ausführungsform können die in einem konkreten PVA enthaltenen Vektorprozessoren simultan unterschiedliche Algorithmen der Computervision an demselben Bild ausführen oder sogar unterschiedliche Algorithmen an sequentiellen Bildern oder Abschnitten 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 der PVAs enthalten sein. In mindestens einer Ausführungsform kann/können der/die PVA(s) einen zusätzlichen Speicher für Fehlerkorrekturcode (error correcting code - „ECC“) beinhalten, um die Gesamtsystemsicherheit zu erhöhen.
  • In mindestens einer Ausführungsform kann/können der/die Beschleuniger 1714 (z. B. ein Hardware-Beschleunigungscluster) ein Netzwerk auf dem Chip für Computervision und einen statischen Direktzugriffsspeicher („SRAM“) beinhalten, um einen SRAM mit hoher Bandbreite und niedriger Latenz für den/die Beschleuniger 1714 bereitzustellen. In mindestens einer Ausführungsform kann der chipinterne Speicher mindestens 4 MB SRAM beinhalten, der z. B. und ohne Einschränkung aus acht feldkonfigurierbaren Speicherblöcken besteht, auf die sowohl der PVA als auch der DLA zugreifen können. In mindestens einer Ausführungsform kann jedes Paar von Speicherblöcken eine weiterentwickelte Peripheriebus(advanced peripheral bus - „APB“)-Schnittstelle, eine Konfigurationsschaltung, eine Steuerung und einen Multiplexer beinhalten. In mindestens einer Ausführungsform kann eine beliebige Art von Speicher verwendet werden. In mindestens einer Ausführungsform können der PVA und DLA auf den Speicher über einen Backbone zugreifen, der dem PVA und DLA einen Hochgeschwindigkeitszugriff auf den Speicher bereitstellt. In mindestens einer Ausführungsform kann der Backbone ein Netzwerk auf dem Chip für Computervision beinhalten, das den PVA und DLA mit dem Speicher verbindet (z. B. unter Verwendung von APB).
  • In mindestens einer Ausführungsform kann das Netzwerk auf dem Chip für Computervision eine Schnittstelle beinhalten, die vor der Übertragung eines beliebigen Steuersignals/einer beliebigen Adresse/beliebiger Daten bestimmt, dass sowohl der PVA als auch der DLA einsatzbereite und gültige Signale bereitstellen. 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-artige Kommunikation für eine kontinuierliche Datenübertragung bereitstellen. In mindestens einer Ausführungsform kann eine Schnittstelle mit den Standards der International Organization for Standardization („ISO“) 26262 oder der International Electrotechnical Commission („IEC“) 61508 konform sein, obwohl andere Standards und Protokolle verwendet werden können.
  • In mindestens einer Ausführungsform können ein oder mehrere der SoC(s) 1704 einen Echtzeitstrahlverfolgungs-Hardware-Beschleuniger beinhalten. In mindestens einer Ausführungsform kann der Echtzeitstrahlverfolgungs-Hardware-Beschleuniger verwendet werden, um schnell und effizient Positionen und Ausdehnungen von Objekten (z. B. innerhalb eines Weltmodells) zu bestimmen, um Echtzeitvisualisierungssimulationen 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 Zwecke der Lokalisierung und/oder für andere Funktionen und/oder für andere Anwendungen.
  • In mindestens einer Ausführungsform weist/weisen der/die Beschleuniger 1714 (z. B. Hardware-Beschleunigercluster) ein breites Spektrum von Verwendungen für das autonome Fahren auf. In mindestens einer Ausführungsform kann der PVA ein programmierbarer Sichtbeschleuniger sein, der für wichtige Verarbeitungsstufen im ADAS und in autonomen Fahrzeugen verwendet werden kann. In mindestens einer Ausführungsform sind die Fähigkeiten des PVA eine gute Ergänzung für algorithmische Domänen, die eine vorhersagbare Verarbeitung bei niedriger Leistung und niedriger Latenz benötigen. Anders ausgedrückt zeigt der PVA eine gute Leistung für halbdichte oder dichte reguläre Berechnungen, auch an kleinen Datensätzen, die vorhersagbare Laufzeiten mit niedriger Latenz und niedriger Leistung benötigen. In mindestens einer Ausführungsform sind in autonomen Fahrzeugen, wie z. B. dem Fahrzeug 1700, PVAs für die Ausführung klassischer Algorithmen für Computervision konstruiert, da diese effizient bei der Objekterkennung sind und mit Ganzzahl-Mathematik arbeiten.
  • Zum Beispiel, gemäß mindestens einer Ausführungsform der Technologie, wird der PVA verwendet, um Stereo-Computervision durchzuführen. In mindestens einer Ausführungsform kann in einigen Beispielen ein auf semiglobalem Abgleich basierender Algorithmus verwendet werden, obwohl dies nicht als Einschränkung auszulegen ist. In mindestens einer Ausführungsform verwenden Anwendungen für das autonome Fahren auf Level 3-5 Bewegungsschätzung/Stereo-Abgleich spontan (z. B. Struktur aus Bewegung, Fußgängererkennung, Fahrspurerkennung usw.). In mindestens einer Ausführungsform kann der PVA eine Funktion der Stereo-Computervision an Eingaben von zwei monokularen Kameras durchführen.
  • In mindestens einer Ausführungsform kann der PVA verwendet werden, um einen dichten optischen Fluss durchzuführen. Zum Beispiel könnte der PVA in mindestens einer Ausführungsform RADAR-Rohdaten verarbeiten (z. B. unter Verwendung einer schnellen 4D-Fourier-Transformation), um verarbeitete RADAR-Daten bereitzustellen. In mindestens einer Ausführungsform wird der PVA für die Laufzeit-Tiefenverarbeitung verwendet, indem z.B. Laufzeit-Rohdaten verarbeitet werden, um verarbeitete Laufzeitdaten bereitzustellen.
  • In mindestens einer Ausführungsform kann der DLA verwendet werden, um eine beliebige Art von Netzwerk auszuführen, um die Steuerung und Fahrsicherheit zu verbessern, einschließlich zum Beispiel und ohne Einschränkung eines neuronalen Netzwerks, das ein Maß an Konfidenz für jede Objekterkennung ausgibt. In mindestens einer Ausführungsform kann die 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 es einem System, weitere Entscheidungen darüber zu treffen, welche Erkennungen als richtig positive Erkennungen und nicht als falsch positive Erkennungen betrachtet werden sollten. In mindestens einer Ausführungsform kann ein System zum Beispiel einen Schwellenwert für die Konfidenz festlegen und nur Erkennungen, die den Schwellenwert überschreiten, als richtig positive Erkennungen betrachten. In einer Ausführungsform, in der ein automatisches Notbrems(automatic emergency braking - „AEB“)-System 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 Erkennungen mit hoher Konfidenz als Auslöser für AEB betrachtet werden. In mindestens einer Ausführungsform kann der DLA ein neuronales Netzwerk zur Regression des Konfidenzwerts ausführen. In mindestens einer Ausführungsform kann das neuronale Netzwerk als seine Eingabe mindestens eine Teilmenge von Parametern verwenden, wie z. B. die Abmessungen des Begrenzungsrahmens, die (z. B. von einem anderen Teilsystem) erhaltene Bodenebenenschätzung, die Ausgabe von (einem) IMU-Sensor(en) 1766, die mit der Ausrichtung des Fahrzeugs 1700 korreliert, die Entfernung, die 3D-Positionsschätzungen des Objekts, die vom neuronalen Netzwerk und/oder anderen Sensoren (z. B. dem/den LIDAR-Sensor(en) 1764 oder RADAR-Sensor(en) 1760) erhalten werden, usw.
  • In mindestens einer Ausführungsform kann/können ein oder mehrere der SoC(s) 1704 (einen) Datenspeicher 1716 (z. B. Speicher) beinhalten. In mindestens einer Ausführungsform kann es sich bei dem/den Datenspeicher(n) 1716 um einen chipinternen Speicher des/der SoC(s) 1704 handeln, der neuronale Netzwerke speichern kann, die auf der/den GPU(s) 1708 und/oder dem DLA ausgeführt werden sollen. In mindestens einer Ausführungsform kann die Kapazität des/der Datenspeicher(s) 1716 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 1716 (einen) L2- oder L3-Cache(s) beinhalten.
  • In mindestens einer Ausführungsform kann/können ein oder mehrere der SoC(s) 1704 eine beliebige Anzahl des Prozessors/der Prozessoren 1710 (z. B. eingebettete Prozessoren) beinhalten. In mindestens einer Ausführungsform kann/können der/die Prozessor(en) 1710 einen Booting- und Leistungsverwaltungsprozessor beinhalten, der ein dedizierter Prozessor und ein Teilsystem sein kann, um die Booting-Leistungs- und -verwaltungsfunktionen und die damit verbundene Sicherheitsdurchsetzung zu handhaben. In mindestens einer Ausführungsform kann der Booting- und Leistungsverwaltungsprozessor ein Teil der Booting-Sequenz des/der SoC(s) 1704 sein und Laufzeit-Leistungsverwaltungsdienste bereitstellen. In mindestens einer Ausführungsform kann der Booting-Leistungs- und -verwaltungsprozessor Takt- und Spannungsprogrammierung, Unterstützung bei Übergängen des Systems in einen Zustand mit niedriger Leistung, Verwaltung von Thermik und Temperatursensoren des/der SoC(s) 1704 und/oder Verwaltung von Leistungszuständen des/der SoC(s) 1704 bereitstellen. In mindestens einer Ausführungsform kann jeder Temperatursensor als Ringoszillator implementiert sein, dessen Ausgangsfrequenz proportional zur Temperatur ist, und kann/können das/die SoC(s) 1704 Ringoszillatoren verwenden, um Temperaturen der CPU(s) 1706, GPU(s) 1708 und/oder dem/den Beschleuniger(n) 1714 zu erkennen. In mindestens einer Ausführungsform, wenn bestimmt wird, dass Temperaturen einen Schwellenwert überschreiten, kann der Booting- und Leistungsverwaltungsprozessor dann in eine Temperaturfehlerroutine eintreten und den/die SoC(s) 1704 in einen Zustand mit niedrigerer Leistung versetzen und/oder das Fahrzeug 1700 in einen Modus des Chauffierens zu einem sicheren Halt versetzen (z. B. das Fahrzeug 1700 zu einem sicheren Halt bringen).
  • In mindestens einer Ausführungsform kann/können der/die Prozessor(en) 1710 ferner einen Satz von eingebetteten Prozessoren beinhalten, die als eine Audioverarbeitungs-Engine dienen können. In mindestens einer Ausführungsform kann die Audioverarbeitungs-Engine ein Audioteilsystem 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) 1710 ferner eine stets eingeschaltete Prozessor-Engine beinhalten, welche die notwendigen Hardware-Merkmale zur Unterstützung der Sensorverwaltung mit niedriger Leistung und der Aufwach-Anwendungsfälle bereitstellen kann. In mindestens einer Ausführungsform kann die stets eingeschaltete Prozessor-Engine ohne Einschränkung einen Prozessorkern, einen eng gekoppelten RAM, unterstützende Peripheriegeräte (z. B. Timer und Unterbrechungssteuerungen), verschiedene E/A-Steuerungsperipheriegeräte und Routing-Logik beinhalten.
  • In mindestens einer Ausführungsform kann/können der/die Prozessor(en) 1710 ferner eine Sicherheitscluster-Engine beinhalten, die ohne Einschränkung ein dediziertes Prozessorteilsystem zur Handhabung der Sicherheitsverwaltung für Automobilanwendungen beinhaltet. In mindestens einer Ausführungsform kann die Sicherheitscluster-Engine ohne Einschränkung zwei oder mehr Prozessorkerne, einen eng gekoppelten RAM, unterstützende Peripheriegeräte (z. B. Timer, eine Unterbrechungssteuerung usw.) und/oder Routing-Logik beinhalten. In einem Sicherheitsmodus können zwei oder mehr Kerne in mindestens einer Ausführungsform in einem Gleichschrittmodus arbeiten und als ein einzelner Kern mit einer Vergleichslogik funktionieren, um beliebige Unterschiede zwischen ihren Vorgängen zu erkennen. In mindestens einer Ausführungsform kann/können der/die Prozessor(en) 1710 ferner eine Echtzeitkamera-Engine beinhalten, die ohne Einschränkung ein dediziertes Prozessorteilsystem zur Handhabung der Echtzeitkameraverwaltung beinhalten kann. In mindestens einer Ausführungsform kann/können der/die Prozessor(en) 1710 ferner einen Signalprozessor mit hohem Dynamikbereich beinhalten, der ohne Einschränkung einen Bildsignalprozessor beinhalten kann, der eine Hardware-Engine ist, die Teil einer Kameraverarbeitungspipeline ist.
  • In mindestens einer Ausführungsform kann/können der/die Prozessor(en) 1710 einen Videobildkompositor beinhalten, der ein Verarbeitungsblock sein kann (z. B. auf einem Mikroprozessor implementiert), der Videonachverarbeitungsfunktionen implementiert, die von einer Videowiedergabeanwendung benötigt werden, um das endgültige Bild für das Fenster des Wiedergabeprogramms zu erzeugen. In mindestens einer Ausführungsform kann der Videobildkompositor eine Linsenverzerrungskorrektur an der/den Weitsichtkamera(s) 1770, der/den Rundumkamera(s) 1774 und/oder an dem/den kabinenintemen Überwachungskamerasensor(en) durchführen. In mindestens einer Ausführungsform werden der/die kabinenintemen Überwachungskamerasensor(en) vorzugsweise von einem neuronalen Netzwerk überwacht, das auf einer anderen Instanz des/der SoC(s) 1704 läuft und so konfiguriert ist, dass es Ereignisse in der Kabine erkennt und entsprechend reagiert. In mindestens einer Ausführungsform kann ein kabineninternes System ohne Einschränkung Lippenlesen durchführen, um den Mobilfunkdienst zu aktivieren und einen Anruf zu tätigen, E-Mails zu diktieren, das Ziel des Fahrzeugs zu ändern, das Infotainmentsystem des Fahrzeugs und dessen Einstellungen zu aktivieren oder zu ändern oder sprachaktiviertes Surfen im Internet bereitzustellen. In mindestens einer Ausführungsform stehen dem Fahrer bestimmte Funktionen zur Verfügung, wenn das Fahrzeug in einem autonomen Modus betrieben wird, und sind ansonsten deaktiviert.
  • In mindestens einer Ausführungsform kann der Videobildkompositor eine erweiterte zeitliche Rauschunterdrückung sowohl für die räumliche als auch für die zeitliche Rauschunterdrückung beinhalten. In mindestens einer Ausführungsform, in der Bewegung in einem Video vorkommt, gewichtet die Rauschunterdrückung zum Beispiel die räumlichen Informationen entsprechend, indem sie die Gewichtung der Informationen, die von benachbarten Frames bereitgestellt werden, verringert. In mindestens einer Ausführungsform, in der ein Bild oder ein Abschnitt eines Bildes keine Bewegung enthält, kann die vom Videobildkompositor durchgeführte zeitliche Rauschunterdrückung Informationen aus dem vorherigen Bild verwenden, um das Rauschen im aktuellen Bild zu unterdrücken.
  • In mindestens einer Ausführungsform kann der Videobildkompositor auch so konfiguriert sein, dass er eine Stereoentzerrung an den eingegebenen Stereolinsen-Frames durchführt. In mindestens einer Ausführungsform kann der Videobildkompositor ferner für die Benutzerschnittstellenzusammensetzung verwendet werden, wenn der Desktop des Betriebssystems in Gebrauch ist und die GPU(s) 1708 nicht zum kontinuierlichen Rendern neuer Oberflächen benötigt wird/werden. In mindestens einer Ausführungsform kann, wenn die GPU(s) 1708 eingeschaltet ist/sind und aktiv 3D-Rendering durchführt/durchführen, der Videobildkompositor verwendet werden, um die GPU(s) 1708 zu entlasten, um die Leistung und Reaktionsfähigkeit zu verbessern.
  • In mindestens einer Ausführungsform kann/können ein oder mehrere der SoC(s) 1704 ferner eine serielle Mobile-Industry-Processor-Interface(„MIPI“)-Kameraschnittstelle zum Empfangen von Videos und Eingaben von Kameras, eine Hochgeschwindigkeitsschnittstelle und/oder einen Videoeingabeblock beinhalten, der für Kamera- und zugehörige Pixeleingabefunktionen verwendet werden kann. In mindestens einer Ausführungsform kann/können ein oder mehrere der SoC(s) 1704 ferner (eine) Eingabe/Ausgabe-Steuerung(en) beinhalten, die durch Software gesteuert werden können und für den Empfang von E/A-Signalen verwendet werden können, die keiner bestimmten Rolle zugewiesen sind.
  • In mindestens einer Ausführungsform kann/können ein oder mehrere der SoC(s) 1704 ferner eine breite Palette von Peripherieschnittstellen beinhalten, um die Kommunikation mit Peripheriegeräten, Audiocodierem/-decodierem („Codecs“), Leistungsverwaltungs- und/oder anderen Vorrichtungen zu ermöglichen. Der/Die SoC(s) 1704 können verwendet werden, um Daten von Kameras (z. B. über Gigabit Multimedia Serial Link und Ethernet verbunden), Sensoren (z. B. dem/den LIDAR-Sensor(en) 1764, RADAR-Sensor(en) 1760 usw., die über Ethernet verbunden sein können), Daten vom Bus 1702 (z. B. Geschwindigkeit des Fahrzeugs 1700, Lenkradposition usw.), Daten von (einem) GNSS-Sensor(en) 1758 (z. B. über Ethernet oder CAN-Bus verbunden) usw. zu verarbeiten. In mindestens einer Ausführungsform kann/können ein oder mehrere der SoC(s) 1704 ferner dedizierte Hochleistungs-Massenspeichersteuerungen beinhalten, die ihre eigenen DMA-Engines beinhalten können und die verwendet werden können, um die CPU(s) 1706 von routinemäßigen Datenverwaltungs-Tasks zu befreien.
  • In mindestens einer Ausführungsform kann/können das/die SoC(s) 1704 eine Ende-zu-Ende-Plattform mit einer flexiblen Architektur sein, welche die Automatisierungslevel 3-5 überspannt und dadurch eine umfassende funktionelle Sicherheitsarchitektur bereitstellt, die Techniken der Computervision und des ADAS für Diversität und Redundanz nutzt und effizient einsetzt und eine Plattform für einen flexiblen, zuverlässigen Fahrsoftwarestapel zusammen mit Deep-Learning-Werkzeugen bereitstellt. In mindestens einer Ausführungsform kann/können das/die SoC(s) 1704 schneller, zuverlässiger und sogar energieeffizienter und raumeffizienter sein als herkömmliche Systeme. Zum Beispiel kann/können in mindestens einer Ausführungsform der/die Beschleuniger 1714, wenn er/sie mit der/den CPU(s) 1706, der/den GPU(s) 1708 und dem/den Datenspeicher(n) 1716 kombiniert ist/sind, eine schnelle, effiziente Plattform für autonome Fahrzeuge der Level 3-5 bereitstellen.
  • In mindestens einer Ausführungsform können Algorithmen der Computervision auf CPUs ausgeführt werden, die unter Verwendung einer Programmiersprache auf hohem Level, wie z. B. der Programmiersprache C, konfiguriert werden können, um eine große Vielfalt von Verarbeitungsalgorithmen über eine große Vielfalt von visuellen Daten auszuführen. In mindestens einer Ausführungsform sind die CPUs jedoch oft nicht in der Lage, die Leistungsanforderungen vieler Anwendungen der Computervision zu erfüllen, wie z. B. in Bezug auf die Ausführungszeit und den Leistungsverbrauch. 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 Level 3-5 verwendet werden.
  • Die in dieser Schrift beschriebenen Ausführungsformen ermöglichen es, dass mehrere neuronale Netzwerke simultan und/oder sequentiell ausgeführt und die Ergebnisse miteinander kombiniert werden, um eine autonome Fahrfunktionalität der Level 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) 1720) ausgeführt wird, eine Text- und Worterkennung beinhalten, die es einem Supercomputer ermöglicht, Verkehrsschilder zu lesen und zu verstehen, einschließlich Schildern, für die das neuronale Netzwerk nicht speziell trainiert wurde. In mindestens einer Ausführungsform kann der DLA ferner ein neuronales Netzwerk beinhalten, das in der Lage ist, Zeichen zu identifizieren, zu interpretieren und ein semantisches Verständnis davon bereitzustellen und dieses semantische Verständnis an Pfadplanungsmodule weiterzugeben, die auf CPU-Komplex laufen.
  • In mindestens einer Ausführungsform können mehrere neuronale Netzwerke simultan ausgeführt werden, z. B. für das Fahren bei Level 3, 4 oder 5. In mindestens einer Ausführungsform kann zum Beispiel 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 Schild selbst von einem ersten eingesetzten neuronalen Netzwerk (z. B. einem trainierten neuronalen Netzwerk) als Verkehrsschild identifiziert werden und kann ein Text „Blinkende Lichter weisen auf Verweisung hin“ von einem zweiten eingesetzten neuronalen Netzwerk interpretiert werden, das die Wegplanungssoftware des Fahrzeugs (die vorzugsweise auf dem CPU-Komplex ausgeführt wird) darüber informiert, dass, wenn blinkende Lichter erkannt werden, Vereisungen vorliegen. In mindestens einer Ausführungsform kann ein blinkendes Licht identifiziert werden, indem ein drittes eingesetztes neuronales Netzwerk über mehrere Frames hinweg betrieben wird und die Wegplanungssoftware des Fahrzeugs über das Vorhandensein (oder Nichtvorhandensein) von blinkenden Lichtern informiert. In mindestens einer Ausführungsform können alle drei neuronalen Netzwerke simultan laufen, z. B. innerhalb des DLA und/oder auf der/den GPU(s) 1708.
  • In mindestens einer Ausführungsform kann ein CNN zur Gesichtserkennung und Fahrzeugbesitzeridentifizierung Daten von Kamerasensoren verwenden, um das Vorhandensein eines autorisierten Fahrers und/oder Besitzers des Fahrzeugs 1700 zu identifizieren. In mindestens einer Ausführungsform kann eine stets eingeschaltete Sensorverarbeitungs-Engine verwendet werden, um das Fahrzeug zu entriegeln, wenn sich der Besitzer der Fahrertür nähert und die Lichter einschaltet, und um im Sicherheitsmodus das Fahrzeug zu deaktivieren, wenn der Besitzer das Fahrzeug verlässt. Auf diese Weise stellt/stellen das/die SoC(s) 1704 Sicherheit gegen Diebstahl und/oder Carjacking bereit.
  • In mindestens einer Ausführungsform kann ein CNN zur Erkennung und Identifizierung von Einsatzfahrzeugen Daten von Mikrofonen 1796 verwenden, um Sirenen von Einsatzfahrzeugen zu erkennen und zu identifizieren. In mindestens einer Ausführungsform verwendet/verwenden das/die SoC(s) 1704 das CNN zur Klassifizierung von Umgebungs- und Stadtgeräuschen sowie zur Klassifizierung von visuellen Daten. In mindestens einer Ausführungsform wird das CNN, das auf dem DLA läuft, dafür trainiert, die relative Annäherungsgeschwindigkeit des Einsatzfahrzeugs zu identifizieren (z. B. durch Verwendung des Dopplereffekts). In mindestens einer Ausführungsform kann das CNN auch dafür trainiert werden, Einsatzfahrzeuge zu identifizieren, die für das lokale Gebiet, in dem das Fahrzeug betrieben wird, spezifisch sind, wie durch den/die GNSS-Sensor(en) 1758. In mindestens einer Ausführungsform versucht das CNN, wenn es in Europa betrieben wird, europäische Sirenen zu erkennen, und in den Vereinigten Staaten versucht das CNN, 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, um das Fahrzeug zu verlangsamen, an den Straßenrand zu fahren, das Fahrzeug zu parken und/oder das Fahrzeug im Leerlauf laufen zu lassen, und zwar mit der Hilfe des Ultraschallsensors/der Ultraschallsensoren 1762, bis das/die Einsatzfahrzeug/e vorbeigefahren ist/sind.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 (eine) CPU(s) 1718 (z. B. diskrete CPU(s) oder dCPU(s)) beinhalten, die über eine Hochgeschwindigkeitszusammenschaltung (z. B. PCIe) mit dem/den SoC(s) 1704 gekoppelt sein kann/können. In mindestens einer Ausführungsform kann/können die CPU(s) 1718 z. B. einen X86-Prozessor beinhalten. Die CPU(s) 1718 kann/können dazu verwendet werden, eine beliebige einer Vielfalt von Funktionen durchzuführen, z. B. die Vermittlung potenziell inkonsistenter Ergebnisse zwischen ADAS-Sensoren und dem/den SoC(s) 1704 und/oder die Überwachung des Status und Zustands der Steuerung(en) 1736 und/oder eines Infotainmentsystems auf einem Chip („Infotainment-SoC“) 1730.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 (eine) GPU(s) 1720 (z. B. diskrete GPU(s) oder dGPU(s)) beinhalten, die über eine Hochgeschwindigkeitszusammenschaltung (z. B. NVLINK von NVIDIA) mit dem/den SoC(s) 1704 gekoppelt sein kann/können. In mindestens einer Ausführungsform kann/können die GPU(s) 1720 eine zusätzliche Funktionalität für künstliche Intelligenz 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 1700 basieren.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 ferner eine Netzwerkschnittstelle 1724 beinhalten, die ohne Einschränkung (eine) drahtlose Antenne(n) 1726 beinhalten kann (z. B. eine oder mehrere drahtlose Antennen 1726 für unterschiedliche Kommunikationsprotokolle, wie z. B. eine Mobilfunkantenne, eine Bluetooth-Antenne usw.). In mindestens einer Ausführungsform kann die Netzwerkschnittstelle 1724 verwendet werden, um eine drahtlose Verbindung über das Internet mit der Cloud (z. B. mit (einem) Server(n) und/oder anderen Netzwerkvorrichtungen), mit anderen Fahrzeugen und/oder mit Rechenvorrichtungen (z. B. Client-Vorrichtungen von Fahrgästen) zu ermöglichen. In mindestens einer Ausführungsform kann zur Kommunikation mit anderen Fahrzeugen eine direkte Verknüpfung zwischen dem Fahrzeug 170 und dem anderen Fahrzeug hergestellt werden und/oder kann eine indirekte Verknüpfung (z. B. über Netzwerke und das Internet) hergestellt werden. In mindestens einer Ausführungsform können direkte Verknüpfungen unter Verwendung einer Fahrzeug-zu-Fahrzeug-Kommunikationsverknüpfung hergestellt werden. Eine Fahrzeug-zu-Fahrzeug-Kommunikationsverknüpfung kann dem Fahrzeug 1700 Informationen über Fahrzeuge in der Nähe des Fahrzeugs 1700 bereitstellen (z. B. Fahrzeuge vor, neben und/oder hinter dem Fahrzeug 1700). In mindestens einer Ausführungsform kann die vorgenannte Funktionalität Teil einer kooperativen adaptiven Geschwindigkeitssteuerungsfunktionalität des Fahrzeugs 1700 sein.
  • In mindestens einer Ausführungsform kann die Netzwerkschnittstelle 1724 ein SoC beinhalten, das eine Modulations- und Demodulationsfunktionalität bereitstellt und es der/den Steuerung(en) 1736 ermöglicht, über drahtlose Netzwerke zu kommunizieren. In mindestens einer Ausführungsform kann die Netzwerkschnittstelle 1724 ein Hochfrequenz-Frontend für die Aufwärtskonvertierung vom Basisband auf die Hochfrequenz und die Abwärtskonvertierung von der Hochfrequenz auf das Basisband beinhalten. In mindestens einer Ausführungsform können die Frequenzkonvertierungen auf eine beliebige technisch machbare Weise durchgeführt werden. Die Frequenzkonvertierungen könnten z. B. durch hinreichend bekannte Prozesse und/oder unter Verwendung von Überlagerungsverfahren durchgeführt werden. In mindestens einer Ausführungsform kann die Hochfrequenz-Frontend-Funktionalität durch einen separaten Chip bereitgestellt sein. 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, ZigBee, LoRaWAN und/oder andere drahtlose Protokolle beinhalten.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 ferner (einen) Datenspeicher 1728 beinhalten, der ohne Einschränkung chipexternen (z. B. außerhalb des/der SoC(s) 1704) Speicher beinhalten kann. In mindestens einer Ausführungsform kann/können der/die Datenspeicher 1728 ohne Einschränkung ein oder mehrere Speicherelemente beinhalten, darunter RAM, SRAM, dynamischen Direktzugriffsspeicher („DRAM“), Video-Direktzugriffsspeicher („VRAM“), Flash, Festplatten und/oder andere Komponenten und/oder Vorrichtungen, die mindestens ein Datenbit speichern können.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 ferner (einen) GNSS-Sensor(en) 1758 (z. B. GPS- und/oder unterstützte GPS-Sensoren) beinhalten, um bei der Kartierung, Wahrnehmung, Erzeugung des Belegungsgitters und/oder Pfadplanungsfunktionen zu helfen. In mindestens einer Ausführungsform kann eine beliebige Anzahl von (einem) GNSS-Sensor(en) 1758 verwendet werden, zum Beispiel und ohne Einschränkung ein GPS unter Verwendung eines USB-Steckers mit einer Ethernet-zu-Seriell(z. B. RS-232)-Brücke.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 ferner (einen) RADAR-Sensor(en) 1760 beinhalten. Der/die RADAR-Sensor(en) 1760 kann/können vom Fahrzeug 1700 zur Fahrzeugerkennung mit großer Reichweite verwendet werden, auch bei Dunkelheit und/oder schlechten Wetterbedingungen. In mindestens einer Ausführungsform können die RADAR-Funktionssicherheitslevel ASIL B sein. Der/die RADAR-Sensor(en) 1760 kann/können CAN und/oder den Bus 1702 (z. B. zur Übertragung der von dem/den RADAR-Sensor(en) 1760 erzeugten Daten) zur Steuerung von und zum Zugriff auf Objektverfolgungsdaten verwenden, wobei in einigen Beispielen der Zugriff auf Rohdaten über Ethernet erfolgt. In mindestens einer Ausführungsform kann eine große Vielfalt von RADAR-Sensorarten verwendet werden. Zum Beispiel und ohne Einschränkung kann/können der/die RADAR-Sensor(en) 1760 für die Verwendung als Front-, Heck- und Seiten-RADAR geeignet sein. In mindestens einer Ausführungsform ist/sind einer oder mehrere des/der RADAR-Sensor(en) 1760 (ein) Puls-Doppler-RADAR-Sensor(en).
  • In mindestens einer Ausführungsform kann/können der/die RADAR-Sensor(en) 1760 unterschiedliche Konfigurationen beinhalten, z. B. mit großer Reichweite und schmalem Sichtfeld, mit geringer Reichweite und breitem Sichtfeld, mit seitlicher Abdeckung mit kurzer Reichweite usw. In mindestens einer Ausführungsform kann das RADAR mit großer Reichweite für die adaptive Geschwindigkeitssteuerungsfunktionalität 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 Scans realisiert wird, z. B. innerhalb einer Reichweite von 250 m. In mindestens einer Ausführungsform kann/können der/die RADAR-Sensor(en) 1760 dabei helfen, zwischen statischen und sich bewegenden Objekten zu unterscheiden, und kann/können vom ADAS-System 1738 für den Notbremsassistenten und die Vorwärtskollisionswarnung verwendet werden. Der/die Sensor(en) 1760, der/die in einem RADAR-System mit großer Reichweite enthalten ist/sind, kann/können ohne Einschränkung ein monostatisches multimodales RADAR mit mehreren (z. B. sechs oder mehr) festen RADAR-Antennen und einer Hochgeschwindigkeits-CAN- und FlexRay-Schnittstelle beinhalten. In mindestens einer Ausführungsform mit sechs Antennen können die zentralen vier Antennen ein fokussiertes Strahlenmuster erzeugen, das dazu konstruiert ist, die Umgebung des Fahrzeugs 1700 bei höheren Geschwindigkeiten mit minimalen Störungen durch den Verkehr auf den benachbarten Fahrspuren aufzuzeichnen. In mindestens einer Ausführungsform können die beiden anderen Antennen das Sichtfeld erweitern, wodurch es möglich ist, Fahrzeuge, die in die Fahrspur des Fahrzeugs 1700 einfahren oder diese verlassen, schnell zu erkennen.
  • 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) beinhalten. In mindestens einer Ausführungsform können RADAR-Systeme mit kurzer Reichweite ohne Einschränkung eine beliebige Anzahl von (einem) RADAR-Sensor(en) 1760 beinhalten, die für die Installation an beiden Enden des hinteren Stoßfängers konstruiert sind. Wenn das RADAR-Sensorsystem an beiden Enden des hinteren Stoßfängers installiert ist, kann es in mindestens einer Ausführungsform zwei Strahlen erzeugen, die den toten Winkel hinter und neben dem Fahrzeug konstant überwachen. In mindestens einer Ausführungsform können RADAR-Systeme mit kurzer Reichweite im ADAS-System 1738 zur Erkennung des toten Winkels und/oder zur Unterstützung beim Fahrspurwechsel verwendet werden.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 ferner (einen) Ultraschallsensor(en) 1762 beinhalten. Der/die Ultraschallsensor(en) 1762, der/die vorne, hinten und/oder an den Seiten des Fahrzeugs 1700 positioniert sein kann/können, kann/können als Einparkhilfe und/oder zur Erstellung und Aktualisierung eines Belegungsgitters verwendet werden. In mindestens einer Ausführungsform kann eine große Vielfalt von (einem) Ultraschallsensor(en) 1762 verwendet werden und es kann/können (ein) unterschiedliche(r) Ultraschallsensor(en) 1762 für unterschiedliche Erkennungsreichweiten (z. B. 2,5 m, 4 m) verwendet werden. In mindestens einer Ausführungsform kann/können der/die Ultraschallsensor(en) 1762 bei funktionellen Sicherheitslevels von ASIL B arbeiten.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 (einen) LIDAR-Sensor(en) 1764 beinhalten. Der/die LIDAR-Sensor(en) 1764 kann/können zur Objekt- und Fußgängererkennung, Notbremsung, Kollisionsvermeidung und/oder zu anderen Funktionen verwendet werden. In mindestens einer Ausführungsform kann/können der/die LIDAR-Sensor(en) 1764 dem funktionellen Sicherheitslevel ASIL B entsprechen. In mindestens einer Ausführungsform kann das Fahrzeug 1700 mehrere LIDAR-Sensoren 1764 (z. B. zwei, vier, sechs usw.) beinhalten, die Ethernet verwenden können (um z. B. Daten für einen Gigabit-Ethernet-Switch bereitzustellen).
  • In mindestens einer Ausführungsform kann/können der/die LIDAR-Sensor(en) 1764 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 (ein) handelsübliche(r) LIDAR-Sensor(en) 1764 zum Beispiel eine beworbene Reichweite von ungefähr 100 m aufweisen, mit einer Genauigkeit von 2 cm-3 cm und mit Unterstützung für eine 100 Mbps-Ethernet-Verbindung. In mindestens einer Ausführungsform können ein oder mehrere nicht vorstehende LIDAR-Sensoren 1764 verwendet werden. In einer solchen Ausführungsform kann/können der/die LIDAR-Sensor(en) 1764 als eine kleine Vorrichtung implementiert werden, die in die Front, das Heck, die Seiten und/oder die Ecken des Fahrzeugs 1700 eingebettet werden kann. In mindestens einer Ausführungsform kann/können der/die LIDAR-Sensor(en) 1764 in einer solchen Ausführungsform ein horizontales Sichtfeld von bis zu 120 Grad und ein vertikales Sichtfeld von bis zu 35 Grad mit einer Reichweite von 200 m selbst bei Objekten mit niedrigem Reflexionsvermögen bereitstellen. In mindestens einer Ausführungsform kann/können der/die an der Front montierte(n) LIDAR-Sensor(en) 1764 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-Blitz-LIDAR, verwendet werden. 3D-Blitz-LIDAR verwendet einen Blitz eines Lasers als eine Übertragungsquelle, um die Umgebung des Fahrzeugs 1700 bis zu ungefähr 200 m zu erleuchten. In mindestens einer Ausführungsform umfasst eine Blitz-LIDAR-Einheit ohne Einschränkung einen Rezeptor, der die Laserpuls-Laufzeit und das reflektierte Licht an jedem Pixel aufzeichnet, was wiederum der Reichweite vom Fahrzeug 1700 zu Objekten entspricht. In mindestens einer Ausführungsform kann Blitz-LIDAR ermöglichen, dass mit jedem Laserblitz hochgenaue und verzerrungsfreie Bilder der Umgebung erzeugt werden. In mindestens einer Ausführungsform können vier Blitz-LIDAR-Sensoren eingesetzt werden, einer an jeder Seite des Fahrzeugs 1700. In mindestens einer Ausführungsform beinhalten 3D-Blitz-LIDAR-Systeme ohne Einschränkung eine Festkörper-3D-Staring-Array-LIDAR-Kamera ohne bewegliche Teile außer einem Lüfter (z. B. eine nicht scannende LIDAR-Vorrichtung). In mindestens einer Ausführungsform kann/können die Blitz-LIDAR-Vorrichtung(en) einen 5-Nanosekunden-Laserpuls der Klasse I (augensicher) pro Bild verwenden und können das reflektierte Laserlicht in Form von 3D-Reichweitenpunktwolken und gemeinsam registrierten Intensitätsdaten erfassen.
  • In mindestens einer Ausführungsform kann das Fahrzeug ferner (einen) IMU-Sensor(en) 1766 beinhalten. In mindestens einer Ausführungsform kann/können der/die IMU-Sensor(en) 1766 in mindestens einer Ausführungsform in der Mitte der Hinterachse des Fahrzeugs 1700 angeordnet sein. In mindestens einer Ausführungsform kann/können der/die IMU-Sensor(en) 1766 zum Beispiel und ohne Einschränkung (einen) Beschleunigungsmesser, (ein) Magnetometer, (ein) Gyroskop(e), (einen) Magnetkompass(e) und/oder andere Sensorarten beinhalten. In mindestens einer Ausführungsform, wie z. B. bei sechsachsigen Anwendungen, kann/können der/die IMU-Sensor(en) 1766 ohne Einschränkung Beschleunigungsmesser und Gyroskope beinhalten. In mindestens einer Ausführungsform, wie z. B. bei neunachsigen Anwendungen, kann/können der/die IMU-Sensor(en) 1766 ohne Einschränkung Beschleunigungsmesser, Gyroskope und Magnetometer beinhalten.
  • In mindestens einer Ausführungsform kann/können der/die IMU-Sensor(en) 1766 als ein miniaturisiertes GPS-gestütztes Hochleistungs-Trägheitsnavigationssystem (GPS-Aided Inertial Navigation System - „GPS/INS“) implementiert sein, das Trägheitssensoren von mikroelektromechanischen Systemen („MEMS“), einen hochempfindlichen GPS-Empfänger und weiterentwickelte Kalman-Filteralgorithmen kombiniert, um Schätzungen von Position, Geschwindigkeit und Stellung bereitzustellen. In mindestens einer Ausführungsform kann/können der/die IMU-Sensor(en) 1766 es dem Fahrzeug 1700 ermöglichen, den Kurs zu schätzen, ohne dass Eingaben von einem Magnetsensor erforderlich sind, indem vom GPS an den/die IMU-Sensor(en) 1766 Änderungen der Geschwindigkeit direkt beobachtet und korreliert werden. In mindestens einer Ausführungsform können der/die IMU-Sensor(en) 1766 und der/die GNSS-Sensor(en) 1758 in einer einzelnen integrierten Einheit kombiniert sein.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 (ein) Mikrofon(e) 1796 beinhalten, das/die im und/oder um das Fahrzeug 1700 herum platziert ist/sind. In mindestens einer Ausführungsform kann/können das/die Mikrofon(e) 1796 unter anderem zur Erkennung und Identifizierung von Einsatzfahrzeugen verwendet werden.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 ferner eine beliebige Anzahl von Kameraarten beinhalten, darunter (eine) Stereokamera(s) 1768, (eine) Weitsichtkamera(s) 1770, (eine) Infrarotkamera(s) 1772, (eine) Rundumkamera(s) 1774, (eine) Weitsichtkamera(s) 1798, (eine) Mittelstreckenkamera(s) 1776 und/oder andere Kameraarten. In mindestens einer Ausführungsform können Kameras verwendet werden, um Bilddaten um die gesamte Peripherie des Fahrzeugs 1700 herum zu erfassen. In mindestens einer Ausführungsform hängt die Art der verwendeten Kameras vom Fahrzeug 1700 ab. In mindestens einer Ausführungsform kann eine beliebige Kombination von Kameraarten verwendet werden, um die notwendige Abdeckung um das Fahrzeug 1700 herum bereitzustellen. In mindestens einer Ausführungsform kann die Anzahl der Kameras in Abhängigkeit von der Ausführungsform unterschiedlich sein. In mindestens einer Ausführungsform könnte das Fahrzeug 1700 zum Beispiel sechs Kameras, sieben Kameras, zehn Kameras, zwölf Kameras oder eine andere Anzahl von Kameras beinhalten. Kameras können zum Beispiel und ohne Einschränkung Gigabit Multimedia Serial Link („GMSL“) und/oder Gigabit Ethernet unterstützen. In mindestens einer Ausführungsform ist jede der Kamera(s) in dieser Schrift bereits in Bezug auf 17A und 1 detaillierter beschrieben.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 ferner (einen) Vibrationssensor(en) 1742 beinhalten. In mindestens einer Ausführungsform kann/können der/die Vibrationssensor(en) 1742 Vibrationen von Komponenten des Fahrzeugs 1700, wie z. B. der Achse(n), messen. Zum Beispiel können in mindestens einer Ausführungsform Änderungen der Vibrationen eine Änderung des Straßenbelags angeben. In mindestens einer Ausführungsform, wenn zwei oder mehr Vibrationssensoren 1742 verwendet werden, können die Unterschiede zwischen den Vibrationen verwendet werden, um die Reibung oder den Schlupf des Straßenbelags zu bestimmen (z. B., wenn der Unterschied der Vibration zwischen einer leistungsbetriebenen Achse und einer sich frei drehenden Achse besteht).
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 das ADAS-System 1738 beinhalten. Das ADAS-System 1738 kann in einigen Beispielen ohne Einschränkung ein SoC beinhalten. In mindestens einer Ausführungsform kann das ADAS-System 1738 ohne Einschränkung eine beliebige Anzahl und Kombination eines autonomen/adaptiven/automatischen Geschwindigkeitssteuerungs(autonomous/adaptive/automatic cruise control - „ACC“)-Systems, eines kooperativen adaptiven Geschwindigkeitssteuerungs(cooperative adaptive cruise control - „CACC“)-Systems, eines Vorwärtszusammenstoßwarn(forward crash warning - „FCW“)-Systems, eines automatischen Notbrems(„AEB“)-Systems, eines Spurverlassenswarn(lane departure warning - „LDW“)-Systems, eines Spurhalteassistenz(lane keep assist - „LKA“)-Systems, eines Totwinkelwarn(blind spot warning - „BSW“)-Systems, eines Querverkehrswarn(rear cross-traffic warning - „RCTW“)-Systems, eines Kollisionswarn(collision warning - „CW“)-Systems, eines Spurzentrierungs(lane centering - „LC“)-Systems und/oder anderer Systeme, Merkmale und/oder Funktionen beinhalten.
  • In mindestens einer Ausführungsform kann das ACC-System (einen) RADAR-Sensor(en) 1760, (einen) LIDAR-Sensor(en) 1764 und/oder eine beliebige Anzahl von (einer) Kamera(s) verwenden. In mindestens einer Ausführungsform kann das ACC-System ein Längs-ACC-System und/oder ein Quer-ACC-System beinhalten. In mindestens einer Ausführungsform überwacht und steuert das Längs-ACC-System die Entfernung zum Fahrzeug, das sich unmittelbar vor dem Fahrzeug 1700 befindet, und passt die Geschwindigkeit des Fahrzeugs 1700 automatisch an, um eine sichere Entfernung zu vorausfahrenden Fahrzeugen einzuhalten. In mindestens einer Ausführungsform führt das Quer-ACC-System eine Entfernungsbeibehaltung durch und rät dem Fahrzeug 1700, die Fahrspuren zu wechseln, wenn dies erforderlich ist. In mindestens einer Ausführungsform ist die Quer-ACC mit anderen ADAS-Anwendungen, wie zum Beispiel LC und CW, verbunden.
  • In mindestens einer Ausführungsform verwendet das CACC-System Informationen von anderen Fahrzeugen, die über die Netzwerkschnittstelle 1724 und/oder die drahtlose(n) Antenne(n) 1726 von anderen Fahrzeugen über eine drahtlose Verknüpfung oder indirekt über eine Netzwerkverbindung (z. B. über das Internet) empfangen werden können. In mindestens einer Ausführungsform können direkte Verknüpfungen durch eine Fahrzeug-zu-Fahrzeug(„F-F“)-Kommunikationsverknüpfung bereitgestellt werden, während indirekte Verknüpfungen durch eine Infrastruktur-zu-Fahrzeug(„I-F“)-Kommunikationsverknüpfung bereitgestellt werden können. Im Allgemeinen stellt das F-F-Kommunikationskonzept Informationen über unmittelbar vorausfahrende Fahrzeuge (z. B. Fahrzeuge, die sich unmittelbar vor dem und auf derselben Spur wie das Fahrzeug 1700 befinden) bereit, während das I-F-Kommunikationskonzept Informationen über den weiter entfernt vorausfahrenden Verkehr bereitstellt. In mindestens einer Ausführungsform kann das CACC-System entweder eine oder beide der I-F- und F-F-Informationsquellen beinhalten. In mindestens einer Ausführungsform kann das CACC-System angesichts der Informationen über Fahrzeuge vor dem Fahrzeug 1700 zuverlässiger sein und hat es das Potenzial, die Gleichmäßigkeit des Verkehrsflusses zu verbessern und Staus auf der Straße zu reduzieren.
  • In mindestens einer Ausführungsform ist das FCW-System so konstruiert, dass es den Fahrer vor einer Gefahr warnt, sodass der Fahrer eine korrigierende Aktion durchführen kann. In mindestens einer Ausführungsform verwendet das FCW-System eine nach vorn gerichtete Kamera und/oder (einen) RADAR-Sensor(en) 1760, die mit einem/einer dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, die elektrisch mit einer Rückmeldung des Fahrers gekoppelt sind, wie z. B. einer Anzeige, einem Lautsprecher und/oder einer vibrierenden Komponente. In mindestens einer Ausführungsform kann das FCW-System eine Warnung bereitstellen, z. B. in Form eines Tons, einer optischen Warnung, einer Vibration und/oder eines schnellen Bremsimpulses.
  • In mindestens einer Ausführungsform erkennt das AEB-System eine drohende Vorwärtskollision mit einem anderen Fahrzeug oder einem anderen Objekt und kann automatisch die Bremsen betätigen, wenn der Fahrer nicht innerhalb eines spezifizierten Zeit- oder Entfernungsparameters eine korrigierende Aktion durchführt. In mindestens einer Ausführungsform kann das AEB-System (eine(n)) nach vorn gerichtete(n) Kamera(s) und/oder RADAR-Sensor(en) 1760 verwenden, die mit einem/einer dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind. In mindestens einer Ausführungsform, wenn das AEB-System eine Gefahr erkennt, warnt das AEB-System typischerweise zuerst den Fahrer, um eine korrigierende Aktion durchzuführen, um eine Kollision zu vermeiden, und, wenn der Fahrer keine korrigierende Aktion durchführt, kann das AEB-System automatisch die Bremsen in dem Bestreben betätigen, die Auswirkungen der vorhergesagten Kollision zu verhindern oder mindestens abzuschwächen. In mindestens einer Ausführungsform kann das AEB-System Techniken, wie zum Beispiel dynamische Bremsunterstützung und/oder Bremsung aufgrund eines bevorstehenden Zusammenstoßes, beinhalten.
  • In mindestens einer Ausführungsform stellt das LDW-System optische, akustische und/oder taktile Warnungen bereit, wie z. B. Lenkrad- oder Sitzvibrationen, um den Fahrer zu warnen, wenn das Fahrzeug 1700 die Fahrspurmarkierungen überquert. In mindestens einer Ausführungsform wird das LDW-System nicht aktiviert, wenn der Fahrer ein absichtliches Verlassen der Fahrspur durch Betätigen des Blinkers angibt. In mindestens einer Ausführungsform kann das LDW-System nach vorne gerichtete Kameras verwenden, die mit einem/einer dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, die elektrisch mit einer Rückmeldung des Fahrers gekoppelt sind, wie z. B. einer Anzeige, einem Lautsprecher und/oder einer vibrierenden Komponente. In mindestens einer Ausführungsform ist das LKA-System eine Variation des LDW-Systems. Das LKA-System stellt eine Lenkeingabe oder eine Bremsung bereit, um das Fahrzeug 1700 zu korrigieren, wenn das Fahrzeug 1700 beginnt, die Fahrspur zu verlassen.
  • In mindestens einer Ausführungsform erkennt und warnt das BSW-System den Fahrer vor Fahrzeugen im toten Winkel eines Automobils. In mindestens einer Ausführungsform kann das BSW-System einen optischen, akustischen und/oder taktilen Alarm bereitstellen, um anzugeben, dass das Einfädeln in oder Wechseln der Fahrspuren unsicher ist. In mindestens einer Ausführungsform kann das BSW-System eine zusätzliche Warnung ausgeben, wenn der Fahrer den Blinker betätigt. In mindestens einer Ausführungsform kann das BSW-System (eine(n) nach hinten gerichtete(n) Kamera(s) und/oder RADAR-Sensor(en) 1760 verwenden, die mit einem/einer dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, die elektrisch mit einer Rückmeldung des Fahrers gekoppelt sind, wie z. B. einer Anzeige, einem Lautsprecher und/oder einer vibrierenden Komponente.
  • In mindestens einer Ausführungsform kann das RCTW-System eine optische, akustische und/oder taktile Benachrichtigung bereitstellen, wenn ein Objekt außerhalb der Reichweite der Heckkamera erkannt wird, wenn das Fahrzeug 1700 rückwärtsfährt. In mindestens einer Ausführungsform beinhaltet das RCTW-System das AEB-System, um sicherzustellen, dass die Fahrzeugbremsen betätigt werden, um einen Zusammenstoß zu vermeiden. In mindestens einer Ausführungsform kann das RCTW-System einen oder mehrere nach hinten gerichtete RADAR-Sensor(en) 1760 verwenden, die mit einem/einer dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, die elektrisch mit einer Rückmeldung des Fahrers gekoppelt sind, wie z. B. einer Anzeige, einem Lautsprecher und/oder einer vibrierenden Komponente.
  • In mindestens einer Ausführungsform können herkömmliche ADAS-Systeme anfällig für falsch positive Ergebnisse sein, die für den Fahrer ärgerlich und ablenkend sein können, aber typischerweise nicht katastrophal sind, da herkömmliche ADAS-Systeme den Fahrer warnen und es dem Fahrer ermöglichen, zu entscheiden, ob eine Sicherheitsbedingung wirklich vorliegt und entsprechend zu handeln. In mindestens einer Ausführungsform entscheidet das Fahrzeug 1700 im Falle von widersprüchlichen Ergebnissen selbst, ob das Ergebnis eines primären Computers oder eines sekundären Computers (z. B. einer ersten Steuerung 1736 oder einer zweiten Steuerung 1736) zu beachten ist. In mindestens einer Ausführungsform kann das ADAS-System 1738 beispielsweise ein Backup- und/oder sekundärer Computer sein, der Wahrnehmungsinformationen für ein Rationalitätsmodul eines Backup-Computers bereitstellt. In mindestens einer Ausführungsform kann der Rationalitätsmonitor des Backup-Computers eine redundante, diverse Software auf Hardware-Komponenten ausführen, um Fehler in der Wahrnehmung und bei dynamischen Fahr-Tasks zu erkennen. In mindestens einer Ausführungsform können die Ausgaben des ADAS-Systems 1738 für eine Kontroll-MCU bereitgestellt werden. In mindestens einer Ausführungsform, wenn Ausgaben vom primären Computer und sekundären Computer einander widersprechen, bestimmt die Kontroll-MCU, wie der Widerspruch beizulegen ist, um einen sicheren Betrieb sicherzustellen.
  • In mindestens einer Ausführungsform kann der primäre Computer so konfiguriert sein, dass er der Kontroll-MCU eine Konfidenzbewertung bereitstellt, welche die Konfidenz des primären Computers in das gewählte Ergebnis angibt. In mindestens einer Ausführungsform, wenn die Konfidenzbewertung einen Schwellenwert überschreitet, kann die Kontroll-MCU der Führung des primären Computers folgen, unabhängig davon, ob der sekundäre Computer ein widersprüchliches oder inkonsistentes Ergebnis bereitstellt. In mindestens einer Ausführungsform, in der die Konfidenzbewertung den Schwellenwert nicht erreicht und der primäre und der sekundäre Computer unterschiedliche Ergebnisse angeben (z. B. einen Widerspruch), kann die Kontroll-MCU zwischen den Computern vermitteln, um ein geeignetes Resultat zu bestimmen.
  • In mindestens einer Ausführungsform kann die Kontroll-MCU so konfiguriert sein, dass sie ein neuronales Netzwerk/neuronale Netzwerke ausführt, das/die so trainiert und konfiguriert ist/sind, dass es/sie mindestens teilweise basierend auf den Ausgaben des primären Computers und des sekundären Computers die Bedingungen bestimmt/bestimmen, unter denen der sekundäre Computer Fehlalarme bereitstellt. In mindestens einer Ausführungsform kann/können das neuronale Netzwerk/die neuronalen Netzwerke in der Kotroll-MCU lernen, wann der Ausgabe des sekundären Computers vertraut werden kann und wann nicht. Zum Beispiel kann/können in mindestens einer Ausführungsform, wenn der sekundäre Computer ein RADAR-basiertes FCW-System ist, ein neuronales Netzwerk/neuronale Netzwerke in der Kontroll-MCU lernen, wenn das FCW-System metallische Objekte identifiziert, die tatsächlich keine Gefahren sind, wie z. B. ein Abflussgitter oder ein Gullydeckel, das/der einen Alarm auslöst. In mindestens einer Ausführungsform, wenn der sekundäre Computer ein kamerabasiertes LDW-System ist, kann ein neuronales Netzwerk in der Kontroll-MCU lernen, die LDW zu überschreiben, wenn Fahrradfahrer oder Fußgänger vorhanden sind und ein Verlassen der Fahrspur tatsächlich das sicherste Manöver ist. In mindestens einer Ausführungsform kann die Kontroll-MCU mindestens eines von einem DLA oder einer GPU beinhalten, der/die für die Ausführung von (einem) neuronalen Netzwerk(en) mit assoziiertem Speicher geeignet ist. In mindestens einer Ausführungsform kann die Kontroll-MCU eine Komponente eines oder mehrerer SoC(s) 1704 umfassen und/oder als solche enthalten sein.
  • In mindestens einer Ausführungsform kann das ADAS-System 1738 einen sekundären Computer beinhalten, der die ADAS-Funktionalität unter Verwendung der traditionellen Regeln der Computervision durchführt. In mindestens einer Ausführungsform kann der sekundäre Computer klassische Regeln der Computervision (wenn-dann) verwenden und kann das Vorhandensein eines neuronalen Netzwerks/von neuronalen Netzwerken in der Kontroll-MCU die Zuverlässigkeit, Sicherheit und Leistung verbessern. Zum Beispiel macht in mindestens einer Ausführungsform die vielfältige Implementation und absichtliche Nicht-Identität das Gesamtsystem fehlertoleranter, insbesondere gegenüber Fehlern, die durch Software(oder Software-Hardware-Schnittstellen)-Funktionalität verursacht werden. Wenn zum Beispiel in mindestens einer Ausführungsform ein Software-Bug oder -Fehler in der auf dem primären Computer laufenden Software vorliegt und ein nicht identischer Software-Code, der auf dem sekundären Computer läuft, dasselbe Gesamtergebnis bereitstellt, dann kann die Kontroll-MCU eine größere Konfidenz darin haben, dass das Gesamtergebnis korrekt ist und der Bug in der Software oder Hardware auf dem primären Computer keinen wesentlichen Fehler verursacht.
  • In mindestens einer Ausführungsform kann die Ausgabe des ADAS-Systems 1738 in den Wahrnehmungsblock des primären Computers und/oder in den Block für dynamische Fahr-Tasks des primären Computers eingespeist werden. Wenn das ADAS-System 1738 z. B. eine Vorwärtszusammenstoßwarnung aufgrund eines unmittelbar vorausliegenden Objekts angibt, kann der Wahrnehmungsblock in mindestens einer Ausführungsform diese Information bei der Identifizierung von Objekten verwenden. In mindestens einer Ausführungsform kann der sekundäre Computer über sein eigenes neuronales Netzwerk verfügen, das trainiert ist und somit das Risiko von falsch positiven Ergebnissen reduziert, wie in dieser Schrift beschrieben.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 ferner ein Infotainment-SoC 1730 (z. B. ein fahrzeuginternes Infotainment-System (in-vehicle infotainment system - IVI-System)) beinhalten. Obwohl als ein SoC veranschaulicht und beschrieben, kann das Infotainment-System 1730 in mindestens einer Ausführungsform kein SoC sein und kann ohne Einschränkung zwei oder mehr diskrete Komponenten beinhalten. In mindestens einer Ausführungsform kann das Infotainment-SoC 1730 ohne Einschränkung eine Kombination aus Hardware und Software beinhalten, 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, Rückwärtseinparkhilfe, ein Radiodatensystem, fahrzeugbezogene Informationen wie Kraftstofffüllstand, insgesamt zurückgelegte Strecke, Bremsflüssigkeitsfüllstand, Ölfüllstand, Tür öffnen/schließen, Luftfilterinformationen usw.) für das Fahrzeug 1700 bereitzustellen. Das Infotainment-SoC 1730 könnte beispielsweise Radios, Plattenspieler, Navigationssysteme, Videowiedergabevorrichtungen, USB- und Bluetooth-Konnektivität, Carputer, In-Car-Entertainment, WiFi, Audiosteuerungen am Lenkrad, eine Freisprech-Sprachsteuerung, eine Heads-up-Anzeige (heads-up display - „HUD“), eine HMI-Anzeige 1734, eine Telematikvorrichtung, ein Steuerfeld (z. B. zur Steuerung von und/oder Interaktion mit verschiedenen Komponenten, Merkmalen und/oder Systemen) und/oder andere Komponenten beinhalten. In mindestens einer Ausführungsform kann das Infotainment-SoC 1730 ferner dazu verwendet werden, dem/den Benutzer(n) des Fahrzeugs Informationen (z. B. optisch und/oder akustisch) bereitzustellen, wie z. B. Informationen vom ADAS-System 1738, Informationen zum autonomen Fahren, wie z. B. geplante Fahrzeugmanöver, Trajektorien, Umgebungsinformationen (z. B. Kreuzungsinformationen, Fahrzeuginformationen, Straßeninformationen usw.) und/oder andere Informationen.
  • In mindestens einer Ausführungsform kann das Infotainment-SoC 1730 eine beliebige Menge und Art von GPU-Funktionalität beinhalten. In mindestens einer Ausführungsform kann das Infotainment-SoC 1730 über den Bus 1702 (z. B. CAN-Bus, Ethernet usw.) mit anderen Vorrichtungen, Systemen und/oder Komponenten des Fahrzeugs 1700 kommunizieren. In mindestens einer Ausführungsform kann das Infotainment-SoC 1730 mit einer Kontroll-MCU gekoppelt sein, sodass die GPU des Infotainment-Systems einige Selbstfahrfunktionen ausführen kann, falls die primäre(n) Steuerung(en) 1736 (z. B. primäre und/oder Backup-Computer des Fahrzeugs 1700) ausfällt/ausfallen. In mindestens einer Ausführungsform kann das Infotainment-SoC 1730 das Fahrzeug 1700 in einen Modus des Chauffierens zu einem sicheren Halt versetzen, wie in dieser Schrift beschrieben.
  • In mindestens einer Ausführungsform kann das Fahrzeug 1700 ferner ein Kombiinstrument 1732 (z. B. ein digitales Armaturenbrett, ein elektronisches Kombiinstrument, eine digitale Instrumententafel usw.) beinhalten. In mindestens einer Ausführungsform kann das Kombiinstrument 1732 ohne Einschränkung eine Steuerung und/oder einen Supercomputer (z. B. eine diskrete Steuerung oder einen diskreten Supercomputer) beinhalten. In mindestens einer Ausführungsform kann das Kombiinstrument 1732 ohne Einschränkung eine beliebige Anzahl und Kombination eines Satzes von Messausrüstung beinhalten, wie z. B. Geschwindigkeitsmesser, Kraftstofffüllstand, Öldruck, Drehzahlmesser, Wegstreckenzähler, Blinker, Schaltknüppelpositionsangabe, Sicherheitsgurt-Warnleuchte(n), Feststellbremsen-Warnleuchte(n), Motor-Fehlfunktionsleuchte(n), Informationen über ergänzende Rückhaltesysteme (z. B. Airbags), Beleuchtungssteuerungen, Sicherheitssystemsteuerungen, Navigationsinformationen usw. In einigen Beispielen können Informationen angezeigt und/oder vom Infotainment-SoC 1730 und dem Kombiinstrument 1732 gemeinsam genutzt werden. In mindestens einer Ausführungsform kann das Kombiinstrument 1732 als Teil des Infotainment-SoC 1730 enthalten sein oder umgekehrt.
  • Die Ableitungs- und/oder Trainingslogik 1115 wird verwendet, um Ableitungs- und/oder Trainingsvorgänge durchzuführen, die mit einer oder mehreren Ausführungsformen assoziiert sind. Details bezüglich der Ableitungs- und/oder Trainingslogik 1115 sind unten in Verbindung mit den 11A und/oder 11B bereitgestellt. In mindestens einer Ausführungsform kann die Ableitungs- und/oder Trainingslogik 1115 im System aus 17B für Ableitungs- oder Vorhersagevorgänge verwendet werden, die mindestens teilweise auf Gewichtungsparametern basieren, die unter Verwendung von Trainingsvorgängen für neuronale Netzwerke, Funktionen und/oder Architekturen von neuronalen Netzwerken oder in dieser Schrift beschriebenen Anwendungsfällen für neuronale Netzwerke berechnet wurden.
  • Derartige Komponenten können verwendet werden, um eine Klassifizierung oder Segmentierung von einem oder mehreren Objekten durchzuführen, die in Bilddaten in mindestens einer Ausführungsform dargestellt sind. Dies kann die Verwendung eines Formstroms parallel zu einem primären Bildanalysestrom beinhalten, um den primären Strom zu zwingen, Forminformationen für das Objekt bzw. die Objekte zu berücksichtigen.
  • 17C ist eine Darstellung eines Systems 1776 zur Kommunikation zwischen (einem) cloudbasierten Server(n) und dem autonomen Fahrzeug 1700 aus 17A gemäß mindestens einer Ausführungsform. In mindestens einer Ausführungsform kann das System 1776 ohne Einschränkung den/die Server 1778, das/die Netzwerk(e) 1790 und eine beliebige Anzahl und Art von Fahrzeugen, einschließlich des Fahrzeugs 1700, beinhalten. In mindestens einer Ausführungsform kann/können der/die Server 1778 ohne Einschränkung eine Vielzahl von GPUs 1784(A)-1784(H) (in dieser Schrift kollektiv als GPUs 1784 bezeichnet), PCIe-Switches 1782(A)-1782(D) (in dieser Schrift kollektiv als PCIe-Switches 1782 bezeichnet) und/oder CPUs 1780(A)-1780(B) (in dieser Schrift kollektiv als CPUs 1780 bezeichnet) beinhalten. Die GPUs 1784, CPUs 1780 und PCIe-Switches 1782 können mit Hochgeschwindigkeitszusammenschaltungen miteinander verbunden sein, wie z. B. und ohne Einschränkung den von NVIDIA entwickelten NVLink-Schnittstellen 1788 und/oder PCIe-Verbindungen 1786. In mindestens einer Ausführungsform sind die GPUs 1784 über ein NVLink- und/oder NVSwitch-SoC verbunden und sind die GPUs 1784 und die PCIe-Switches 1782 über PCIe-Zusammenschaltungen verbunden. In mindestens einer Ausführungsform sind zwar acht GPUs 1784, zwei CPUs 1780 und vier PCIe-Switches 1782 veranschaulicht, jedoch ist dies nicht als Einschränkung auszulegen. In mindestens einer Ausführungsform kann jeder der Server 1778 ohne Einschränkung eine beliebige Anzahl von GPUs 1784, CPUs 1780 und/oder PCIe-Switches 1782 in beliebiger Kombination beinhalten. Zum Beispiel könnte(n) in mindestens einer Ausführungsform der/die Server 1778 jeweils acht, sechzehn, zweiunddreißig und/oder mehr GPUs 1784 beinhalten.
  • In mindestens einer Ausführungsform kann/können der/die Server 1778 über das/die Netzwerk(e) 1790 und von Fahrzeugen Bilddaten empfangen, die Bilder darstellen, die unerwartete oder veränderte Straßenbedingungen zeigen, wie z. B. kürzlich begonnene Straßenarbeiten. In mindestens einer Ausführungsform kann/können der/die Server 1778 über das/die Netzwerk(e) 1790 und an die Fahrzeuge neuronale Netzwerke 1792, aktualisierte neuronale Netzwerke 1792 und/oder Karteninformationen 1794 übertragen, einschließlich, ohne Einschränkung, Informationen über Verkehrs- und Straßenbedingungen. In mindestens einer Ausführungsform können Aktualisierungen der Karteninformationen 1794 ohne Einschränkung Aktualisierungen für die HD-Karte 1722 beinhalten, wie z.B. Informationen über Baustellen, Schlaglöcher, Umleitungen, Überschwemmungen und/oder andere Hindernisse. In mindestens einer Ausführungsform können die neuronalen Netzwerke 1792, aktualisierten neuronalen Netzwerke 1792 und/oder Karteninformationen 1794 aus einem neuen Training und/oder Erfahrungen resultieren, das/die in Daten dargestellt wird/werden, die von einer beliebigen Anzahl von Fahrzeugen in der Umgebung empfangen wurden, und/oder mindestens teilweise basierend auf Training, das in einem Rechenzentrum (z. B. unter Verwendung von dem/den Server(n) 1778 und/oder anderen Servern) durchgeführt wurde.
  • In mindestens einer Ausführungsform können der/die Server 1778 verwendet werden, um Modelle des maschinellen Lernens (z. B. neuronale Netzwerke) mindestens teilweise basierend auf Trainingsdaten zu trainieren. In mindestens einer Ausführungsform können die Trainingsdaten von Fahrzeugen erzeugt werden und/oder können sie 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 assoziierte neuronale Netzwerk von überwachtem Lernen profitiert) und/oder einer anderen Vorverarbeitung unterzogen. In mindestens einer Ausführungsform wird eine beliebige Menge von Trainingsdaten nicht markiert und/oder vorverarbeitet (z. B., wenn das assoziierte neuronale Netzwerk kein überwachtes Lernen erfordert). In mindestens einer Ausführungsform können, sobald die Modelle für maschinelles Lernen trainiert sind, die Modelle für maschinelles Lernen von den Fahrzeugen verwendet werden (z. B. über das/die Netzwerk(e) 1790 an die Fahrzeuge übertragen werden) und/oder können die Modelle für maschinelles Lernen von dem/den Server(n) 1778 verwendet werden, um die Fahrzeuge aus der Ferne zu überwachen.
  • In mindestens einer Ausführungsform kann/können der/die Server 1778 Daten von Fahrzeugen empfangen und die Daten auf aktuelle neuronale Echtzeit-Netzwerke zur intelligenten Echtzeit-Ableitung anwenden. In mindestens einer Ausführungsform kann/können der/die Server 1778 Deep-Learning-Supercomputer und/oder dedizierte KI-Computer beinhalten, die von (einer) GPU(s) 1784 angetrieben werden, wie z. B. die von NVIDIA entwickelten DGX- und DGX-Station-Maschinen. In mindestens einer Ausführungsform kann/können der/die Server 1778 jedoch eine Deep-Learning-Infrastruktur beinhalten, die CPU-angetriebene Rechenzentren verwendet.
  • In mindestens einer Ausführungsform kann die Deep-Learning-Infrastruktur des/der Server(s) 1778 zur schnellen Echtzeit-Ableitung in der Lage sein und kann diese Fähigkeit nutzen, um den Zustand von Prozessoren, Software und/oder assoziierter Hardware im Fahrzeug 1700 zu bewerten und zu verifizieren. Zum Beispiel kann in mindestens einer Ausführungsform die Deep-Learning-Infrastruktur periodische Aktualisierungen vom Fahrzeug 1700 empfangen, wie z. B. eine Sequenz von Bildern und/oder Objekten, die das Fahrzeug 1700 in dieser Sequenz von Bildern lokalisiert hat (z. B. über Computervision und/oder andere Objekt-Klassifizierungstechniken des maschinellen Lernens). In mindestens einer Ausführungsform kann die Deep-Learning-Infrastruktur ihr eigenes neuronales Netzwerk laufen lassen, um Objekte zu identifizieren und sie mit Objekten zu vergleichen, die vom Fahrzeug 1700 identifiziert wurden, und wenn die Ergebnisse nicht übereinstimmen und die Deep-Learning-Infrastruktur zu dem Schluss kommt, dass die KI im Fahrzeug 1700 eine Fehlfunktion aufweist, dann kann/können der/die Server 1778 ein Signal an das Fahrzeug 1700 übertragen, das einen ausfallsicheren Computer des Fahrzeugs 1700 anweist, die Kontrolle zu übernehmen, die Fahrgäste zu benachrichtigen und ein sicheres Parkmanöver durchzuführen.
  • In mindestens einer Ausführungsform kann/können der/die Server 1778 (eine) GPU(s) 1784 und einen oder mehrere programmierbare Ableitungsbeschleuniger (z. B. TensorRT 3 von NVIDIA) beinhalten. In mindestens einer Ausführungsform kann die Kombination von GPUangetriebenen Servern und Ableitungsbeschleunigung eine Reaktionsfähigkeit in Echtzeit ermöglichen. In mindestens einer Ausführungsform, wenn z. B. die Leistung weniger kritisch ist, können von CPUs, FPGAs und anderen Prozessoren angetriebene Server für die Ableitung verwendet werden. In mindestens einer Ausführungsform wird die Ableitungs- und/oder Trainingslogik 1115 wird verwendet, um eine oder mehrere Ausführungsformen durchzuführen. Details bezüglich der Ableitungs- und/oder Trainingslogik 1115 sind unten in Verbindung mit den 11A und/oder 11B bereitgestellt.
  • Andere Variationen liegen innerhalb des Geistes der vorliegenden Offenbarung. Somit können zwar bezüglich der offenbarten Techniken diverse Modifikationen und alternative Konstruktionen vorgenommen werden, bestimmte veranschaulichte Ausführungsformen davon werden jedoch in den Zeichnungen gezeigt und wurden vorangehend ausführlich beschrieben. Allerdings versteht es sich, dass nicht die Absicht verfolgt wird, die Offenbarung auf die konkrete(n) offenbarte(n) Form oder Formen einzuschränken, sondern die Absicht ganz im Gegenteil darin besteht, sämtliche Modifikationen, alternativen Konstruktionen und Äquivalente abzudecken, die in den Geist und Umfang der wie in den beigefügten Patentansprüchen definierten Offenbarung fallen.
  • Die Verwendung der Ausdrücke „ein“ und „eine“ und „der/die/das“ und ähnlicher Referenten im Zusammenhang der Beschreibung der offenbaren Ausführungsformen (besonders im Zusammenhang der folgenden Patentansprüche) soll so ausgelegt werden, dass sie sowohl den Singular als auch den Plural abdeckt, sofern in dieser Schrift nicht anderweitig angegeben oder im eindeutigen Widerspruch zum Kontext, und nicht als eine Definition eines Ausdrucks. Die Begriffe „umfassend“, „aufweisend“, „beinhaltend“ und „enthaltend“ sind als offene Begriffe auszulegen (d. h. „einschließlich, aber nicht begrenzt auf“), sofern nicht anderweitig angegeben. Der Begriff „verbunden“ ist als teilweise oder vollständig ineinander enthalten, aneinander befestigt oder aneinander angefügt auszulegen, wenn er unmodifiziert vorliegt und sich auf physische Verbindungen bezieht, selbst, wenn ein Element dazwischen eingefügt ist. Die Nennung von Wertebereichen in dieser Schrift soll lediglich als schnelles Verfahren des einzelnen Bezugnehmens auf jeden separaten Wert dienen, der in den Bereich fällt, es sei denn, in dieser Schrift ist etwas anderes angegeben, und jeder separate Wert ist in die Beschreibung eingeschlossen, als ob er einzeln in dieser Schrift wiedergegeben wäre. Die Verwendung des Begriffs „Satz“ (z. B. „ein Satz von Objekten“) oder „Teilmenge“ ist als eine nicht leere Zusammenstellung auszulegen, die ein oder mehrere Elemente umfasst, es sei denn, es ist etwas anderes angemerkt oder dies widerspricht dem Kontext. Sofern es nicht anders angegeben ist oder der Kontext dem anderweitig widerspricht, bezeichnet ferner der Begriff „Teilmenge“ nicht notwendigerweise eine richtige Teilmenge des entsprechenden Satzes, sondern können die Teilmenge und der entsprechende Satz auch gleich sein.
  • Verbindende Sprache, wie etwa Ausdrücke der Form „wenigstens eines von A, B und C“ oder „mindestens eines von A, B und C“, sind andernfalls in dem Kontext zu verstehen, in dem sie allgemein verwendet werden, um darzustellen, dass ein Objekt, ein Begriff usw. entweder A oder B oder C oder eine beliebige nicht leere Teilmenge des Satzes aus A und B und C sein kann, es sei denn, es ist etwas anderes angegeben oder etwas anderes geht eindeutig aus dem Kontext hervor. Zum Beispiel beziehen sich die verbindenden Ausdrücke „wenigstens eines von A, B und C“ und „mindestens eines von A, B und C“ in dem veranschaulichenden Beispiel eines Satzes, der drei Elemente aufweist, auf einen der folgenden Sätze: {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}. Somit soll solche verbindende Sprache im Allgemeinen nicht ausdrücken, dass bestimmte Ausführungen erforderlich machen, dass zumindest eines von A, zumindest eines von B und zumindest eines von C vorhanden ist. Außerdem, sofern nicht anders angemerkt oder durch den Kontext widerlegt, bezeichnet der Begriff „Vielzahl“ einen Zustand der Pluralität (z. B. gibt „eine Vielzahl von Objekten“ mehrere Objekte an). Bei einer Vielzahl handelt es sich um mindestens zwei Objekte, es können aber auch mehr sein, wenn dies entweder explizit oder durch den Kontext angegeben wird. Sofern nicht anders angegeben oder anderweitig aus dem Kontext ersichtlich, bedeutet „basierend auf“ mindestens teilweise basierend auf und nicht „ausschließlich basierend auf“.
  • In dieser Schrift beschriebene Vorgänge von Prozessen können in einer beliebigen geeigneten Reihenfolge durchgeführt werden, sofern es in dieser Schrift nicht anders angegeben ist oder der Kontext dem anderweitig eindeutig widerspricht. In mindestens einer Ausführungsform wird ein Prozess, wie zum Beispiel die in dieser Schrift beschriebenen Prozesse (oder Variationen und/oder Kombinationen davon), unter der Kontrolle von einem oder mehreren Computersystemen ausgeführt, die mit ausführbaren Anweisungen konfiguriert sind, und ist als Code (z. B. ausführbare Anweisungen, ein oder mehrere Computerprogramme oder eine oder mehrere Anwendungen), die kollektiv auf einem oder mehreren Prozessoren ausgeführt werden, durch Hardware oder Kombinationen davon implementiert. In mindestens einer Ausführungsform ist der Code auf einem computerlesbaren Speichermedium gespeichert, zum Beispiel in Form eines Computerprogramms, das eine Vielzahl von Anweisungen umfasst, die durch einen oder mehrere 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 der Transceiver von transitorischen Signalen einschließt. In mindestens einer Ausführungsform ist der 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 gespeichert sind (oder ein anderer Speicher zum Speichern ausführbarer Anweisungen), die bei Ausführung (d. h. als Ergebnis der Ausführung) durch einen oder mehrere Prozessoren eines Computersystems das Computersystem dazu veranlassen, in dieser Schrift beschriebene Vorgänge durchzuführen. Ein Satz von nicht transitorischen computerlesbaren Speichermedien umfasst in mindestens einer Ausführungsform 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 kollektiv den gesamten Code speichern. In mindestens einer Ausführungsform werden ausführbare Anweisungen so ausgeführt, dass verschiedene Anweisungen von verschiedenen Prozessoren ausgeführt werden - beispielsweise speichert ein nicht transitorisches computerlesbares Speichermedium Anweisungen und führt eine zentrale Verarbeitungseinheit („CPU“) einige der Anweisungen aus, während eine Grafikverarbeitungseinheit („GPU“) andere Anweisungen ausführt. In mindestens einer Ausführungsform weisen unterschiedliche Komponenten eines Computersystems separate Prozessoren auf und führen unterschiedliche Prozessoren unterschiedliche Teilmengen von Anweisungen aus.
  • Dementsprechend sind in mindestens einer Ausführungsform Computersysteme dazu konfiguriert, einen oder mehrere Dienste umzusetzen, die einzeln oder gemeinsam Vorgänge der in dieser Schrift beschriebenen Prozesse ausführen, und derartige Computersysteme sind mit anwendbarer Hardware und/oder Software konfiguriert, welche die Durchführung von Operationen ermöglicht. Ferner ist ein Computersystem, das mindestens eine Ausführungsform der vorliegenden Offenbarung implementiert, eine einzelne Vorrichtung und in einer anderen Ausführungsform ein verteiltes Computersystem, das mehrere Vorrichtungen umfasst, die unterschiedlich arbeiten, sodass das verteilte Computersystem die in dieser Schrift beschriebenen Vorgänge durchführt und sodass eine einzelne Vorrichtung nicht alle Vorgänge durchführt.
  • Die Verwendung aller Beispiele oder eine beispielhafte Wortwahl (z. B. „wie etwa“), die in dieser Schrift bereitgestellt sind, soll lediglich die Ausführungsformen der Offenbarung besser veranschaulichen und stellt keine Einschränkung des Schutzumfangs der Offenbarung dar, es sei denn, es ist etwas anderes beansprucht. Keinerlei Wortwahl in der Beschreibung sollte so ausgelegt werden, dass sie ein beliebiges nicht beanspruchtes Element als für die Implementation der Offenbarung wesentlich angibt.
  • Alle Referenzen, die Veröffentlichungen, Patentanmeldungen und Patente beinhalten, die in dieser Schrift erwähnt werden, sind hiermit durch Bezugnahme in demselben Maße aufgenommen, als wäre jede Referenz einzeln und konkret als durch Referenz integriert angegeben und in ihrer Gesamtheit in dieser Schrift dargestellt.
  • In der Beschreibung und den Patentansprüchen können die Ausdrücke „gekoppelt“ und „verbunden“ zusammen mit ihren Ableitungen verwendet werden. Es versteht sich, dass diese Begriffe nicht als Synonyme füreinander bestimmt sein können. Vielmehr kann in bestimmten Beispielen „verbunden“ oder „gekoppelt“ verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem oder indirektem physischen oder elektrischen Kontakt miteinander stehen. Mit „gekoppelt“ kann auch gemeint sein, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen, jedoch trotzdem miteinander zusammenwirken oder interagieren.
  • Sofern nicht ausdrücklich anders angegeben, versteht es sich, dass sich in der gesamten Beschreibung Ausdrücke wie „Verarbeiten“, „Rechnen“, „Berechnen“, „Bestimmen“ oder Ähnliches auf Aktionen und/oder Prozesse eines Computers oder Computersystems oder einer ähnlichen elektronischen Rechenvorrichtung beziehen, die als physische Größen dargestellte Daten, wie etwa Elektronik, Größen innerhalb der Register und/oder Speicher des Computersystems, manipulieren und/oder in andere Daten umwandeln, die ähnlich als physische Größen in den Speichern, Registern oder anderen derartigen Informationsspeicher-, -übermittlungs- oder -anzeigevorrichtungen des Computersystems dargestellt sind.
  • In ähnlicher Weise kann sich der Ausdruck „Prozessor“ auf jede Vorrichtung oder einen Abschnitt einer Vorrichtung beziehen, die/der elektronische Daten aus Registern und/oder Speicher verarbeitet und diese elektronischen Daten in andere elektronische Daten umwandelt, die in Register und/oder Speicher gespeichert werden können. Als nicht einschränkende Beispiele kann der „Prozessor“ eine CPU oder eine GPU sein. Eine „Rechenplattform“ kann einen oder mehrere Prozessoren umfassen. Wie in dieser Schrift verwendet, kann der Begriff „Software“-Prozesse z. B. Software- und/oder Hardware-Entitäten beinhalten, die im Verlauf der Zeit Arbeit verrichten, wie z. B. Tasks, 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 in dieser Schrift insofern austauschbar verwendet, dass ein System ein oder mehrere Verfahren verkörpern kann und die Verfahren als System betrachtet werden können.
  • Im vorliegenden Dokument kann Bezug genommen werden auf das Erhalten, Erfassen, Empfangen oder Eingeben von analogen oder digitalen Daten in ein Teilsystem, ein Computersystem oder eine computerumgesetzte Maschine. Das Erhalten, Erfassen, Empfangen oder Eingeben von analogen und digitalen Daten kann auf vielfältige Weise erfolgen, z. B. durch das Empfangen von Daten als Parameter eines Funktionsaufrufs oder eines Aufrufs einer Anwendungsprogrammierschnittstelle. In einigen Implementationen kann der Prozess des Erhaltens, Erfassens, Empfangens oder Eingebens von analogen oder digitalen Daten durch die Übertragung von Daten über eine serielle oder parallele Schnittstelle erfolgen. In einer anderen Implementation kann der Prozess des Erhaltens, Erfassens, Empfangens oder Eingebens von analogen oder digitalen Daten durch die Übertragung von Daten über ein Computemetzwerk von der bereitstellenden Entität zur erfassenden Entität erfolgen. Es kann auch auf das Bereitstellen, Ausgeben, Übermitteln, Senden oder Darstellen von analogen oder digitalen Daten Bezug genommen werden. In verschiedenen Beispielen kann der Prozess des Bereitstellens, Ausgebens, Übermittelns, Sendens oder Darstellens von analogen oder digitalen Daten durch die Übertragung von Daten als Eingabe- oder Ausgabeparameter eines Funktionsaufrufs, Parameter einer Anwendungsprogrammierschnittstelle oder eines Interprozess-Kommunikationsmechanismus erfolgen.
  • Obwohl die vorstehende Erörterung beispielhafte Implementationen beschriebener Techniken darlegt, können andere Architekturen verwendet werden, um die beschriebene Funktionalität zu implementieren, und sollen im Schutzumfang dieser Offenbarung liegen. Darüber hinaus können, obwohl spezifische Verteilungen von Verantwortlichkeiten vorstehend zum Zwecke der Erörterung definiert sind, verschiedene Funktionen und Verantwortlichkeiten in Abhängigkeit von den Umständen unterschiedlich verteilt und aufgeteilt werden.
  • Darüber hinaus versteht es sich, obwohl der Gegenstand in für Strukturmerkmale oder methodische Handlungen konkreter Sprache beschrieben wurde, dass der in den beigefügten Patentansprüchen beanspruchte Gegenstand nicht notwendigerweise auf die konkreten Merkmale oder Handlungen beschränkt ist. Vielmehr werden spezifische Merkmale und Handlungen als beispielhafte Formen der Implementation der Patentansprüche offenbart.

Claims (20)

  1. Computerimplementiertes Verfahren, umfassend: Empfangen eines Bildes einer Szene mit einem oder mehreren Objekten; Verarbeiten des Bildes, um Segmentierungsdaten für das Bild abzuleiten; Verarbeiten von Daten für das Bild parallel zum Ableiten der Segmentierungsdaten, um Formdaten für das eine oder die mehreren Objekte abzuleiten; und Fusionieren der Formdaten mit den Segmentierungsdaten, um eine Segmentierung des Bildes entsprechend dem einen oder den mehreren Objekten abzuleiten.
  2. Computerimplementiertes Verfahren nach Anspruch 1, ferner umfassend: Ableiten der Segmentierungsdaten und der Formdaten unter Verwendung verbundener Zwischenschichten eines oder mehrerer neuronaler Faltungsnetzwerke (CNNs).
  3. Computerimplementiertes Verfahren nach Anspruch 2, ferner umfassend: Fusionieren der Formdaten mit den Segmentierungsdaten auf einer oder mehreren Schichten des einen oder der mehreren CNNs.
  4. Computerimplementiertes Verfahren nach Anspruch 2, wobei die Zwischenschichten unter Verwendung einer Vielzahl von gegateten Faltungsschichten verbunden sind.
  5. Computerimplementiertes Verfahren nach Anspruch 4, wobei die gegateten Faltungsschichten zwischen Restblöcken eines jeweiligen CNN verschachtelt sind.
  6. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Daten für das Bild von einem Formnetzwerk eines Formstroms verarbeitet werden und wobei die Daten für das Bild von Schichten eines Segmentierungsnetzwerks eines primären Stroms zum Verarbeiten des Bildes empfangen werden, um die Segmentierung abzuleiten.
  7. Computerimplementiertes Verfahren nach Anspruch 4, wobei Aktivierungen auf höherer Ebene in dem Segmentierungsnetzwerk verwendet werden, um Aktivierungen auf niedrigerer Ebene in dem Formnetzwerk zu gaten.
  8. Computerimplementiertes Verfahren nach Anspruch 1, ferner umfassend: Fusionieren der Formdaten mit den Segmentierungsdaten unter Verwendung von Schichten eines Fusionsnetzwerks.
  9. Computerimplementiertes Verfahren nach Anspruch 8, ferner umfassend: Trainieren des Fusionsnetzwerks unter Verwendung einer Dual-Task-Verlustfunktion, um Netzwerkparameter für das Fusionsnetzwerk zu optimieren.
  10. Computerimplementiertes Verfahren nach Anspruch 8, wobei das Fusionsnetzwerk ein Atrous-Spatial-Pyramid-Pooling(ASPP)-Modul zum Durchführen von mehrskaligem Pooling der Formdaten mit den Segmentierungsdaten beinhaltet.
  11. System, umfassend: mindestens einen Prozessor; und Speicher, der Anweisungen beinhaltet, die bei Ausführung durch den mindestens einen Prozessor das System zu Folgendem veranlassen: Empfangen eines Bildes mit Darstellungen eines oder mehrerer Objekte; Verarbeiten des Bildes unter Verwendung des Segmentierungsnetzwerks, um Segmentierungsdaten für das Bild abzuleiten; Verarbeiten von Daten für das Bild parallel zum Ableiten der Segmentierungsdaten unter Verwendung eines Formnetzwerks, um Formdaten für das eine oder die mehreren Objekte abzuleiten; und Fusionieren der Formdaten mit den Segmentierungsdaten, um eine Segmentierung des Bildes entsprechend Grenzen des einen oder der mehreren Objekte abzuleiten.
  12. System nach Anspruch 11, wobei das Segmentierungsnetzwerk und das Formnetzwerk neuronale Faltungsnetzwerke (CNNs) sind und wobei Zwischenschichten des Segmentierungsnetzwerks und des Formnetzwerks verbunden sind.
  13. System nach Anspruch 12, wobei die Zwischenschichten unter Verwendung einer Vielzahl von gegateten Faltungsschichten verbunden sind.
  14. System nach Anspruch 13, wobei die gegateten Faltungsschichten zwischen Restblöcken des Formnetzwerks verschachtelt sind.
  15. System nach Anspruch 11, wobei die Daten für das Bild von dem Formnetzwerk von aufeinanderfolgenden Schichten des Segmentierungsnetzwerks empfangen werden.
  16. System nach Anspruch 11, wobei die Anweisungen bei Ausführung das System ferner zu Folgendem veranlassen: Fusionieren der Formdaten mit den Segmentierungsdaten unter Verwendung von Schichten eines Fusionsnetzwerks, wobei das Fusionsnetzwerk unter Verwendung einer Dual-Task-Verlustfunktion trainiert wird, um Netzwerkparameter für das Fusionsnetzwerk zu optimieren.
  17. Steuersystem, umfassend: eine Kamera; einen Steuermechanismus; mindestens einen Prozessor; und Speicher, der Anweisungen beinhaltet, die bei Ausführung durch den mindestens einen Prozessor das Steuersystem zu Folgendem veranlassen: Erfassen, unter Verwendung der Kamera, eines Bildes mit Darstellungen eines oder mehrerer Objekte; Verarbeiten des Bildes unter Verwendung des Segmentierungsnetzwerks, um semantische Segmentierungsdaten für das Bild abzuleiten; Verarbeiten von Daten für das Bild parallel zum Ableiten der Segmentierungsdaten unter Verwendung eines Formnetzwerks, um Formdaten für das eine oder die mehreren Objekte abzuleiten; Fusionieren der Formdaten mit den semantischen Segmentierungsdaten, um semantische Grenzen für das eine oder die mehreren Objekte abzuleiten; und Bereitstellen der semantischen Grenzen an einen Steuermechanismus, um eine oder mehrere durchzuführende Aktionen zumindest teilweise basierend auf den semantischen Grenzen zu bestimmen.
  18. Steuersystem nach Anspruch 17, wobei das Segmentierungsnetzwerk und das Formnetzwerk neuronale Faltungsnetzwerke (CNNs) sind und wobei Zwischenschichten des Segmentierungsnetzwerks und des Formnetzwerks verbunden sind.
  19. System nach Anspruch 18, wobei die Zwischenschichten unter Verwendung einer Vielzahl von gegateten Faltungsschichten verbunden sind, die zwischen Restblöcken des Formnetzwerks verschachtelt sind.
  20. Steuersystem nach Anspruch 17, wobei die Anweisungen bei Ausführung das System ferner zu Folgendem veranlassen: Fusionieren der Formdaten mit den semantischen Segmentierungsdaten unter Verwendung von Schichten eines Fusionsnetzwerks, wobei das Fusionsnetzwerk unter Verwendung einer Dual-Task-Verlustfunktion trainiert wird, um Netzwerkparameter für das Fusionsnetzwerk zu optimieren.
DE112020001396.0T 2019-03-22 2020-03-21 Formfusion zur bildanalyse Pending DE112020001396T5 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962822685P 2019-03-22 2019-03-22
US62/822,685 2019-03-22
US201962872650P 2019-07-10 2019-07-10
US62/872,650 2019-07-10
US16/825,192 US11676284B2 (en) 2019-03-22 2020-03-20 Shape fusion for image analysis
US16/825,192 2020-03-20
PCT/US2020/024081 WO2020198083A1 (en) 2019-03-22 2020-03-21 Shape fusion for image analysis

Publications (1)

Publication Number Publication Date
DE112020001396T5 true DE112020001396T5 (de) 2021-12-16

Family

ID=72513627

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020001396.0T Pending DE112020001396T5 (de) 2019-03-22 2020-03-21 Formfusion zur bildanalyse

Country Status (4)

Country Link
US (2) US11676284B2 (de)
CN (1) CN113597613A (de)
DE (1) DE112020001396T5 (de)
WO (1) WO2020198083A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
US11100646B2 (en) * 2019-09-06 2021-08-24 Google Llc Future semantic segmentation prediction using 3D structure
US20230040994A1 (en) * 2019-12-27 2023-02-09 Sony Semiconductor Solutions Corporation Information processing apparatus, information processing system, information processing program, and information processing method
US11798270B2 (en) * 2020-04-27 2023-10-24 Molecular Devices, Llc Systems and methods for image classification
DE102020111955A1 (de) * 2020-05-04 2021-11-04 Airbus Defence and Space GmbH Gesichtserkennung mit neuronalen Netzen
CN111352112B (zh) * 2020-05-08 2022-11-29 泉州装备制造研究所 基于视觉、激光雷达和毫米波雷达的目标检测方法
US20220153262A1 (en) * 2020-11-19 2022-05-19 Nvidia Corporation Object detection and collision avoidance using a neural network
US12081644B2 (en) * 2021-02-01 2024-09-03 Sap Se Efficient distributed privacy-preserving computations
CN112494063B (zh) * 2021-02-08 2021-06-01 四川大学 一种基于注意力机制神经网络的腹部淋巴结分区方法
CN113191972B (zh) * 2021-04-27 2023-04-14 西安交通大学 一种轻量真实图像去噪的神经网络设计及训练方法
CN113378725B (zh) * 2021-06-15 2023-06-06 山东大学 一种基于多尺度-通道注意力网络的刀具故障诊断方法、设备及存储介质
US20230092248A1 (en) * 2021-09-17 2023-03-23 Samsung Electronics Co., Ltd. Method and apparatus for scene segmentation for three-dimensional scene reconstruction
CN114332701B (zh) * 2021-12-27 2024-05-28 北京航空航天大学 一种基于任务区分检测再识别联合网络的目标跟踪方法
TWI819752B (zh) * 2022-08-18 2023-10-21 緯創資通股份有限公司 拍攝系統及影像融合的方法
CN115713681B (zh) * 2022-11-22 2023-06-13 中国农业科学院农业资源与农业区划研究所 一种融合物联网和卫星数据生成时空连续农作物参数的方法和系统
WO2024173583A1 (en) * 2023-02-14 2024-08-22 University Of Miami Residual convolutional neural network for low-computational power applications
CN116541663B (zh) * 2023-06-21 2023-09-19 四川信息职业技术学院 一种基于卡尔曼滤波提高双套站传感器数据质量的方法
CN116954264B (zh) * 2023-09-08 2024-03-15 杭州牧星科技有限公司 分布式高亚音速无人机集群控制系统及其方法
CN117726916B (zh) * 2024-02-18 2024-04-19 电子科技大学 一种图像分辨率融合增强的隐式融合方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169974A (zh) * 2017-05-26 2017-09-15 中国科学技术大学 一种基于多监督全卷积神经网络的图像分割方法
US10303956B2 (en) * 2017-08-23 2019-05-28 TuSimple System and method for using triplet loss for proposal free instance-wise semantic segmentation for lane detection
US10685446B2 (en) * 2018-01-12 2020-06-16 Intel Corporation Method and system of recurrent semantic segmentation for image processing
CN110555358B (zh) * 2018-06-01 2023-09-12 苹果公司 用于检测和识别ar/vr场景中的特征部的方法和设备
EP3579196A1 (de) * 2018-06-05 2019-12-11 Cristian Sminchisescu Kleidungsübertragungsverfahren, system und vorrichtung
CN109190626A (zh) * 2018-07-27 2019-01-11 国家新闻出版广电总局广播科学研究院 一种基于深度学习的多路径特征融合的语义分割方法
US10922589B2 (en) * 2018-10-10 2021-02-16 Ordnance Survey Limited Object-based convolutional neural network for land use classification
CN109461157B (zh) * 2018-10-19 2021-07-09 苏州大学 基于多级特征融合及高斯条件随机场的图像语义分割方法
US10872275B2 (en) * 2019-03-22 2020-12-22 Nokia Technologies Oy Semantic segmentation based on a hierarchy of neural networks

Also Published As

Publication number Publication date
WO2020198083A1 (en) 2020-10-01
US11676284B2 (en) 2023-06-13
US20200302612A1 (en) 2020-09-24
CN113597613A (zh) 2021-11-02
US20230342941A1 (en) 2023-10-26

Similar Documents

Publication Publication Date Title
DE112020001396T5 (de) Formfusion zur bildanalyse
DE112020002602T5 (de) Multi-objektverfolgung mit hilfe von korrelationsfiltern in videoanalyseanwendungen
DE112020006410T5 (de) Dreidimensionale kreuzungsstrukturvorhersage für anwendungen zum autonomen fahren
DE112020003043T5 (de) Erkennung und klassifizierung von kreuzungsregionen für autonome maschinenanwendungen
DE102020117792A1 (de) Wirksames einsetzen von hindernis- und spurerkennungen, um spurzuweisungen für objekte in einer umgebung zu bestimmen
DE112020002126T5 (de) Erkennung von kreuzungsposen in autonomen maschinenanwendungen
DE112020000413T5 (de) Detektion von orientierungspunkten unter verwendung von kurvenanpassung für anwendungen für autonomes fahren
DE102021126254A1 (de) Überwachen der Aufmerksamkeit und der kognitiven Belastung der Insassen für autonome und halbautonome Fahranwendungen
DE112020006404T5 (de) Planung und steuerung von spurwechseln in autonomen maschinenapplikationen
DE102021126648A1 (de) Imitationstraining mittels synthetischen daten
DE102021123159A1 (de) Adaptiver objektverfolgungsalgorithmus für autonome maschinenanwendungen
DE102021100065A1 (de) Verwendung neuronaler netze zur fehlererkennung bei anwendungen für autonomes fahren
DE112020001400T5 (de) Iterative erzeugung räumlicher graphen
DE102019113114A1 (de) Verhaltensgesteuerte wegplanung in autonomen maschinenanwendungen
DE102021129528A1 (de) Erkennung von Einsatzfahrzeugen für Anwendungen im Bereich des autonomen Fahrens
DE112020006181T5 (de) Blickbestimmung mit blendung als eingabe
DE112021000104T5 (de) Projizieren von mit fischaugenobjektiven aufgenommenen bildern zur merkmalserkennung in autonomen maschinenanwendungen
DE102022121121A1 (de) Objektverfolgung unter Verwendung von LiDAR-Daten für autonome Maschinenanwendungen
DE102022118649A1 (de) Belief Propagation für das Abstandsbild-Mapping in autonomen Maschinenanwendungen
DE102023120759A1 (de) Adaptive cruise control using future trajectory prediction for autonomous systems and applications
DE102020130749A1 (de) System zum maschinellen lernen zur blickbestimmung mit adaptiver gewichtung von eingaben
DE102022104026A1 (de) Erzeugung von ground-truth-daten für die wahrnehmung durch tiefe neuronale netze in anwendungen für autonomes fahren
DE102022124361A1 (de) Sichtweiteabschätzung unter verwendung von deep learning in autonomen maschinenanwendungen
DE102022107848A1 (de) System und verfahren zur aktualisierung von karten mit hoher auflösung
DE102022129438A1 (de) Partikelbasierte Gefahrenerfassung für autonome Maschinenanwendungen

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: G06K0009340000

Ipc: G06V0030148000