DE102022210129A1 - Bildverarbeitung über isotonische faltungs-neuronalnetze - Google Patents

Bildverarbeitung über isotonische faltungs-neuronalnetze Download PDF

Info

Publication number
DE102022210129A1
DE102022210129A1 DE102022210129.4A DE102022210129A DE102022210129A1 DE 102022210129 A1 DE102022210129 A1 DE 102022210129A1 DE 102022210129 A DE102022210129 A DE 102022210129A DE 102022210129 A1 DE102022210129 A1 DE 102022210129A1
Authority
DE
Germany
Prior art keywords
feature map
sensor
size
image
channels
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
DE102022210129.4A
Other languages
English (en)
Inventor
Asher Trockman
Filipe Cabrita Condessa
Devin Willmott
Jeremy Zieg Kolter
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102022210129A1 publication Critical patent/DE102022210129A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • G06T2207/10044Radar image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10132Ultrasound image
    • 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/20021Dividing image into blocks, subimages or windows
    • 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]

Landscapes

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

Abstract

Ein Faltungs-Neuronalnetzsystem umfasst einen Sensor und eine Steuerung, wobei die Steuerung ausgelegt ist zum Empfangen eines Bildes von dem Sensor; Aufteilen des Bildes in Patches, wobei jedes Patch die Größe p aufweist; Extrahieren einer Merkmalabbildung, die eine Anzahl von Kanälen auf der Basis eines Merkmaldetektors der Größe p aufweist, über eine erste Faltungsschicht, wobei der Merkmaldetektor ein Stride gleich der Größe p aufweist; Verfeinern der Merkmalabbildung durch abwechselndes Anwenden von tiefenweisen Faltungsschichten und punktweisen Faltungsschichten, um eine verfeinerte Merkmalabbildung zu erhalten, wobei die Anzahl der Kanäle in der Merkmalabbildung und die Größe der Merkmalabbildung im Verlauf aller Operationen in der Verfeinerung konstant bleibt; und Ausgeben der verfeinerten Merkmalabbildung.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft allgemein Bildverarbeitung unter Verwendung eines isotonischen Faltungs-Neuronalnetzes. Spezieller betrifft die vorliegende Anmeldung Verbesserungen, die reduzierte Parameter in einem isotonischen Faltungs-Neuronalnetz erlauben.
  • Hintergrund
  • Objekterkennung ist ein Grundproblem in der Computervision, bei dem ein Bild in eine vordefinierte Anzahl von Klassen klassifiziert wird. CNN (Faltungs-Neuronalnetze) haben bezüglich dieses Problems aufgrund der Verfügbarkeit großer und gekennzeichneter Datenmengen und einer leistungsstarken Berechnungsinfrastruktur hochmoderne Ergebnisse erzielt. CNN extrahieren automatisch diskrimminative Klassifizierungsmerkmale aus den Trainingsbildern und verwenden sie in Kombination zur Erkennung komplexer Objekte. Dadurch können CNN herkömmliche Computervisionsansätze an Datenmengen auf großem Maßstab wie ImageNet deutlich übertreffen, da letztere gewöhnlich heuristische Merkmale verwenden.
  • Kurzfassung
  • Eine erste beispielhafte Ausführungsform offenbart ein Computer-implementiertes Verfahren zum Verarbeiten eines Bildes unter Verwendung eines Faltungs-Neuronalnetzes. Das Computer-implementierte Verfahren umfasst: Empfangen eines Bildes; Aufteilen des Bildes in Patches, wobei jedes Patch die Größe p aufweist; Extrahieren einer Merkmalabbildung, die eine Anzahl von Kanälen auf der Basis eines Merkmaldetektors der Größe p aufweist, über eine erste Faltungsschicht, wobei der Merkmaldetektor ein Stride gleich der Größe p aufweist; Verfeinern der Merkmalabbildung durch abwechselndes Anwenden von tiefenweisen Faltungsschichten und punktweisen Faltungsschichten, um eine verfeinerte Merkmalabbildung zu erhalten, wobei die Anzahl der Kanäle in der Merkmalabbildung und die Größe der Merkmalabbildung im Verlauf aller Operationen in der Verfeinerung konstant bleibt; und Ausgeben der verfeinerten Merkmalabbildung.
  • Eine zweite beispielhafte Ausführungsform offenbart ein Computer-implementiertes Verfahren zum Verarbeiten eines Bildes unter Verwendung eines Faltungs-Neuronalnetzes. Das Computer-implementierte Verfahren umfasst: Empfangen eines Bildes der Größe L × W; Aufteilen des Bildes in Patches, wobei eine kombinierte Größe jedes Patch gleich L × W ist; Extrahieren einer Merkmalabbildung, die eine Anzahl von Kanälen auf der Basis eines Merkmaldetektors einer Größe gleich der Patchgröße aufweist, über eine erste Faltungsschicht, wobei der Merkmaldetektor ein Stride gleich der Patchgröße aufweist; Verfeinern der Merkmalabbildung durch abwechselndes Anwenden von tiefenweisen Faltungsschichten und punktweisen Faltungsschichten, um eine verfeinerte Merkmalabbildung zu erhalten, wobei die Anzahl der Kanäle in der Merkmalabbildung und die Größe der Merkmalabbildung im Verlauf aller Operationen in der Verfeinerung konstant bleibt; und Ausgeben der verfeinerten Merkmalabbildung.
  • Eine dritte beispielhafte Ausführungsform offenbart ein Faltungs-Neuronalnetzsystem, umfassend: einen Sensor; und eine Steuerung, wobei die Steuerung ausgelegt ist zum Empfangen eines Bildes von dem Sensor, Aufteilen des Bildes in Patches, wobei jedes Patch die Größe p aufweist; Extrahieren einer Merkmalabbildung, die eine Anzahl von Kanälen auf der Basis eines Merkmaldetektors der Größe p aufweist, über eine erste Faltungsschicht, wobei der Merkmaldetektor ein Stride gleich der Größe p aufweist; Verfeinern der Merkmalabbildung durch abwechselndes Anwenden von tiefenweisen Faltungsschichten und punktweisen Faltungsschichten, um eine verfeinerte Merkmalabbildung zu erhalten, wobei die Anzahl der Kanäle in der Merkmalabbildung und die Größe der Merkmalabbildung im Verlauf aller Operationen in der Verfeinerung konstant bleibt; und Ausgeben der verfeinerten Merkmalabbildung.
  • Figurenliste
    • 1 ist eine Blockdarstellung eines Systems zum Trainieren eines neuronalen Netzes.
    • 2 ist ein Flussdiagramm eines isotropischen Faltungs-Neuronalnetzes, wobei die Anzahl der Kanäle in der Merkmalabbildung und die Größe der Merkmalabbildung im Verlauf aller Operationen konstant bleiben.
    • 3 ist eine Blockdarstellung eines Datenannotationssystems, das ein Maschinenlernmodell benutzt.
    • 4 ist eine grafische Darstellung von Patch-Einbettungsgewichten für einen ConvMixer-1024/20 mit Patchgröße 14.
    • 5 ist eine Blockdarstellung eines elektronischen Datenverarbeitungssystems.
    • 6 ist eine grafische Darstellung von Bild, Patchgröße und Kanaltiefe.
    • 7 ist eine grafische Darstellung von Gewichtsvektoren für die Patcheinbettungen des Bildes von 6.
    • 8 ist eine grafische Darstellung eines 2-dimensionalen Layouts der Kanaltiefe für jedes Patch.
    • 9 ist eine grafische Darstellung eines 3-dimensionalen Layouts für jede Merkmalabbildung mit Kanaltiefe.
    • 10 ist eine grafische Darstellung spezifischer Teilmengen von 64 tiefenweisen Faltungskernen aus schrittweise tieferen Schichten von ConvMixer-1536/20.
    • 11 ist eine schematische Darstellung eines Steuersystems, das dafür ausgelegt ist, ein Fahrzeug zu steuern.
    • 12 ist eine schematische Darstellung eines Steuersystems, das dafür ausgelegt ist, eine Produktionsmaschine zu steuern.
    • 13 ist eine schematische Darstellung eines Steuersystems, das dafür ausgelegt ist, ein Elektrowerkzeug zu steuern.
    • 14 ist eine schematische Darstellung eines Steuersystems, das dafür ausgelegt ist, einen automatisierten persönlichen Assistenten zu steuern.
    • 15 ist eine schematische Darstellung eines Steuersystems, das dafür ausgelegt ist, ein Überwachungssystem zu steuern.
    • 16 ist eine schematische Darstellung eines Steuersystems, das dafür ausgelegt ist, ein medizinisches Bildgebungssystem zu steuern.
  • Ausführliche Beschreibung
  • Wie erforderlich werden hier ausführliche Ausführungsformen der vorliegenden Erfindung offenbart; es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich beispielhaft für die Erfindung sind, die in verschiedenen und alternativen Formen realisiert werden kann. Die Figuren sind nicht unbedingt maßstabsgetreu; einige Merkmale können übertrieben oder minimiert sein, um Einzelheiten bestimmter Komponenten zu zeigen. Spezifische Struktur- und Funktionsdetails, die hier offenbart werden, sind deshalb nicht als Einschränkung aufzufassen, sondern lediglich als repräsentative Grundlage, um es Fachleuten zu lehren, die vorliegende Erfindung verschiedenartig einzusetzen.
  • Der Ausdruck „im Wesentlichen“ kann hier verwendet werden, um offenbarte oder beanspruchte Ausführungsformen zu beschreiben. Der Ausdruck „im Wesentlichen“ kann einen Wert oder ein relatives Charakteristikum modifizieren, der bzw. das in der vorliegenden Offenbarung offenbart oder beansprucht wird. In solchen Fällen kann „im Wesentlichen“ bedeuten, dass der Wert oder das relative Charakteristikum, das er modifiziert, innerhalb von ± 0%, 0,1%, 0,5%, 1%, 2%, 3%, 4%, 5% oder 10% des Werts oder des relativen Charakteristikums modifiziert wird.
  • Der Ausdruck Sensor bezieht sich auf eine Vorrichtung, die eine physikalische Eigenschaft detektiert oder misst und sie aufzeichnet, angibt oder anderweitig darauf reagiert. Der Ausdruck Sensor umfasst einen optischen, Licht-, Bildgebungs- oder Photonensensor (z. B. ein CCD (Charge-Coupled Device), einen CMOS-APS (Aktivpixelsensor), einen IR-Sensor (Infrarot), einen CMOS-Sensor), einen akustischen, Schall- oder Vibrationssensor (z. B. ein Mikrofon, ein Geofon, Hydrofon), einen Kraftfahrzeugsensor (z. B. Radgeschwindigkeit, Parken, Radar, Sauerstoff, toter Winkel, Drehmoment), einen chemischen Sensor (z. B. einen ISFET (ionenempfindlichen Feldeffekttransistor), Sauerstoff-, Kohlendioxid-, Chemiwiderstand-, holografischer Sensor), einen Elektrischer-Strom-, einen Elektrisches-Potential-, einen Magnet- oder Hochfrequenzsensor (z. B. Halleffekt, Magnetometer, Magnetowiderstand, Faradayscher Becher, Galvanometer), einen Umgebungs-, Wetter-, Feuchtigkeits- oder Feuchtesensor (z. B. Wetterradar, Actinometer), einen Durchfluss- oder Fluidgeschwindigkeitssensor (z. B. Luftmassensensor, Anemometer), einen Sensor für ionisierende Strahlung oder subatomische Teilchen (z. B. Ionisierungskammer, Geigerzähler, Neutronendetektor), einen Navigationssensor (z. B. einen GPS-Sensor (Global Positioning System), MHD-Sensor (magnetohydrodynamisch)), einen Positions-, Winkel-, Verschiebungs-, Distanz-, Geschwindigkeits- oder Beschleunigungssensor (z. B. einen LIDAR-, Beschleunigungsmesser-, Ultrabreitbandradar-, piezoelektrischen Sensor), einen Kraft-, Dichte- oder Pegelsensor (z. B. Dehnungsmesssensor, Kerndichtemessgerät), einen thermischen, Wärme- oder Temperatursensor (z. B. Infrarotthermometer, Pyrometer, Thermoelement, Thermistor, Mikrowellenradiometer) oder andere Vorrichtungen, Module, Maschinen oder Subsysteme, deren Zweck darin besteht, eine physikalische Eigenschaft zu detektieren oder zu messen und diese aufzuzeichnen, anzugeben oder anderweitig darauf zu reagieren.
  • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes. Das System 100 kann eine Eingabeschnittstelle zum Zugreifen auf Trainingsdaten 192 für das neuronale Netz umfassen. Zum Beispiel kann, wie in 1 dargestellt, die Eingabeschnittstelle durch eine Datenspeicherungsschnittstelle 180 dargestellt werden, die auf die Trainingsdaten 192 aus einer Datenspeicherung 190 zugreifen kann. Die Datenspeicherungsschnittstelle 180 kann zum Beispiel eine Speicherschnittstelle oder eine persistente Speicherungsschnittstelle sein, z. B. eine Festplatten- oder eine SSD-Schnittstelle, kann aber auch eine persönliche, lokale oder großflächige Netzwerkschnittstelle sein, wie etwa eine Bluetooth-, Zigbee- oder Wifi-Schnittstelle oder eine Ethernet- oder faseroptische Schnittstelle. Die Die Datenspeicherung 190 kann eine interne Datenspeicherung des Systems 100 sein, wie etwa eine Festplatte oder ein SSD, kann aber auch externe Datenspeicherung sein, z. B. eine netzwerkzugängliche Datenspeicherung.
  • Bei einigen Ausführungsformen kann die Datenspeicherung 190 ferner eine Datenrepräsentation 194 einer untrainierten Version des neuronalen Netzes umfassen, worauf das System 100 aus der Datenspeicherung 190 zugreifen kann. Es versteht sich jedoch, dass auf die Trainingsdaten 192 und die Datenrepräsentation 194 des untrainierten neuronalen Netzes auch jeweils aus einer anderen Datenspeicherung zugegriffen werden kann, z. B. über ein anderes Teilsystem der Datenspeicherungsschnittstelle 180. Jedes Teilsystem kann von einer Art sein, wie oben für die Datenspeicherungsschnittstelle 180 beschrieben. Bei anderen Ausführungsformen kann die Datenrepräsentation 194 des untrainierten neuronalen Netzes intern durch das System 100 auf der Basis von Entwurfsparametern für das neuronale Netz erzeugt werden und kann deshalb nicht ausdrücklich in der Datenspeicherung 190 gespeichert sein. Das System 100 kann ferner ein Prozessorteilsystem 160 umfassen, das für Folgendes ausgelegt sein kann: Bereitstellen einer iterativen Funktion während des Betriebs des Systems 100 als Ersatz für einen Stapel von Schichten des zu trainierenden neuronalen Netzes. Bei einer Ausführungsform können die jeweiligen Schichten des Stapels von Schichten, der ersetzt wird, untereinander geteilte Gewichte aufweisen und können als Eingabe eine Ausgabe einer vorherigen Schicht empfangen, oder für eine erste Schicht des Stapels von Schichten eine anfängliche Aktivierung und einen Teil der Eingabe des Stapels von Schichten. Das System kann auch mehrere Schichten umfassen. Das Prozessorteilsystem 160 kann ferner dafür ausgelegt sein, das neuronale Netz unter Verwendung der Trainingsdaten 192 iterativ zu trainieren. Eine Iteration des Trainings durch das Prozessorteilsystem 160 kann hier einen Vorwärtsausbreitungsteil und einen Rückwärtsausbreitungsteil umfassen. Das Prozessorteilsystem 160 kann dafür ausgelegt sein, den Vorwärtsausbreitungsteil, neben anderen Operationen, die den Vorwärtsausbreitungsteil definieren, die ausgeführt werden können, durch Bestimmen eines Gleichgewichtspunkts der iterativen Funktion auszuführen, an dem die iterative Funktion auf einen Fixpunkt konvergiert, wobei Bestimmen des Gleichgewichtspunkts Verwendung eines numerischen Wurzelfindungsalgorithmus umfasst, um eine Wurzellösung für die iterative Funktion minus ihrer Eingabe zu finden, und durch Bereitstellen des Gleichgewichtspunkts als Ersatz für eine Ausgabe des Stapels von Schichten in dem neuronalen Netz. Das System 100 kann ferner eine Ausgabeschnittstelle zum Ausgeben einer Datenrepräsentation 196 des trainierten neuronalen Netzes umfassen, wobei diese Daten auch als Trainiertes-Modell-Daten 196 bezeichnet werden können. Zum Beispiel kann, wie auch in 1 dargestellt ist, die Ausgabeschnittstelle durch die Datenspeicherungsschnittstelle 180 dargestellt werden, wobei diese Schnittstelle bei diesen Ausführungsformen eine Eingabe/Ausgabe-(„EA“-)Schnittstelle sein kann, über die die Trainiertes-Modell-Daten 196 in der Datenspeicherung 190 gespeichert werden können. Die Datenrepräsentation 194, die das „untrainierte“ neuronale Netz definiert, kann zum Beispiel während oder nach dem Training insofern mindestens teilweise durch die Datenrepräsentation 196 des trainierten neuronalen Netzes ersetzt werden, als die Parameter des neuronalen Netzes, wie etwa Gewichte, Hyperparameter und andere Arten von Parametern neuronaler Netze, angepasst werden können, um das Training an den Trainingsdaten 192 widerzuspiegeln. Dies ist auch in 1 durch die Bezugszahlen 194, 196 dargestellt, die sich auf denselben Datensatz in der Datenspeicherung 190 beziehen. Bei anderen Ausführungsformen kann die Datenrepräsentation 196 getrennt von der das „untrainierte“ neuronale Netz definierenden Datenrepräsentation 194 gespeichert werden. Bei einigen Ausführungsformen kann die Ausgabeschnittstelle von der Datenspeicherungsschnittstelle 180 getrennt sein, kann aber im Allgemeinen von einer Art sein wie oben für die Datenspeicherungsschnittstelle 180 beschrieben.
  • 2 ist ein Flussdiagramm eines isotropischen Faltungs-Neuronalnetzes 200, wobei die Anzahl der Kanäle in der Merkmalabbildung und die Größe der Merkmalabbildung im Verlauf aller Operationen konstant bleiben. In Schritt 202 führt eine Steuerung eine Faltung durch. Die Faltung kann eine pixelweise Faltung (z. B. 1 × 1) oder eine patchweise Faltung (z. B. p × p) sein. Wenn die Faltung patchweise ist, wie p × p, wäre das Stride p, so dass keine Überlappung besteht.
  • In Schritt 204 führt die Steuerung eine Aktivierungsfunktion aus, die eine nichtlineare Funktion umfasst, die auf jedes Element der Merkmalabbildung angewandt wird. Die Aktivierungsfunktion ist als eine GELU (Gaussian Error Linear Unit) gezeigt, aber die Aktivierungsfunktion kann auch eine ReLU (Rectified Linear Unit), eine ELU (Exponential Linear Unit), eine Leaky-ReLU (Leaky Rectified Linear Unit), eine SELU (Scaled Exponential Linear Unit) oder eine andere Aktivierungsfunktion sein. In Schritt 206 führt die Steuerung eine Batch-Normierungsfunktion aus, die eine Mittelung von Werten über den gesamten Batch ist. Die Schritte 202, 204 und 206 bilden eine Faltungsschicht.
  • In Schritt 208 befindet sich eine tiefenweise Faltung. In Schritt 210 führt die Steuerung eine Aktivierungsfunktion aus, wie in Schritt 204 beschrieben. In Schritt 212 führt die Steuerung eine Batch-Normierungsfunktion aus, die eine Mittelung von Werten über das gesamte Batch ist. Die Schritte 208, 210 und 212 bilden eine tiefenweise Faltungsschicht. Die Steuerung kann gegebenenfalls die Eingangsmerkmalabbildung der tiefenweisen Faltungsschicht zur Ausgabe hinzufügen.
  • In Schritt 214 befindet sich eine punktweise Faltung, die Faltung kann eine pixelweise Faltung (z. B. 1 × 1) sein. In Schritt 216 führt die Steuerung eine Aktivierungsfunktion aus, wie in Schritt 204 beschrieben. In Schritt 218 führt die Steuerung eine Batch-Normierungsfunktion aus, die eine Mittelung von Werten über das gesamte Batch ist. Die Schritte 214, 216 und 218 bilden eine punktweise Faltungsschicht. Die Steuerung kann gegebenenfalls die Eingangsmerkmalabbildung der pixelweisen Faltungsschicht zur Ausgabe hinzufügen.
  • In Schritt 220 mittelt die Steuerung über alle Pixel in den Merkmalabbildungen. In Schritt 222 führt die Steuerung eine lineare Transformation aus, um Klassen vorherzusagen.
  • Einer der Vorteile der Kombination abwechselnder Faltungen tiefenweise und punktweise umfasst eine Verringerung der Parameter mit Bezug auf traditionelle CNN. Die hier dargestellte Architektur umfasst drei Phasen: (1) eine Patcheinbettung zum Projizieren von Eingaben auf einen höherdimensionalen Raum zur Verarbeitung, (2) wiederholte Anwendungen eines Voll-Faltungs-Blocks und (3) globales Pooling, gefolgt von einem linearen Klassifizierer (z. B. Softmax). Der erste Schritt (1) kann eine p × p-Kernfaltung von 3→h Kanälen mit Stride p umfassen, wobei p die Patchgröße ist. Schritt (2) umfasst dann eine k × k-Kern-tiefenweise-trennbare-Faltung von h→h-Kanälen (mit Stopfung, so dass Eingangs- und Ausgangsdimensionen gleich sind), gefolgt von einer 1×1-Kernfaltung von h→h-Kanälen. Jeder Faltung folgt eine Aktivierungsfunktion wie oben beschrieben (z. B. GELU) und nach-Aktivierungs-Batch-Normierungsfunktion (z. B. BatchNorm).
  • Danach kommt Mischung. Die Tiefenweise-Trennbare-Faltung hat verbesserte Ergebnisse mit einer relativ großen Kerngröße k, wie etwa 9, produziert. Diese Schicht mischt räumliche Informationen, einschließlich von fernen Orten aufgrund der großen Kerngröße. Als Nächstes mischt die 1×1-Faltung Kanalinformationen. Diese sind den Schritten Token-Mischung und Kanalmischung des MLP-Mischers analog.
  • Isotropie. Nach dem Patcheinbettungsschritt trägt die interne Auflösung des Netzes immer h/p×w/p. Das Durchführen von Faltungen mit großen Kerngrößen an hochauflösenden internen Repräsentationen kann kostspielig sein. Im Fourierbereich ist die Laufzeit dieser Operation jedoch unabhängig von der Kerngröße, dies könnte in ausgewählten Tief-Lern-Rahmen ausgenutzt werden, in denen der Rahmen automatisch zu FFT-Verarbeitung wechselt.
  • 3 zeigt ein Datenannotationssystem 300 zur Implementierung eines Systems zum Annotieren von Daten. Das Datenannotationssystem 300 kann mindestens ein Datenverarbeitungssystem 302 umfassen. Das Datenverarbeitungssystem 302 kann mindestens einen Prozessor 304 umfassen, der wirksam mit einer Speichereinheit 308 verbunden ist. Der Prozessor 304 kann eine oder mehrere integrierte Schaltungen umfassen, die die Funktionalität einer CPU (Zentralverarbeitungseinheit) 306 implementieren. Die CPU 306 kann eine im Handel erhältliche Verarbeitungseinheit sein, die einen Anweisungssatz implementiert, wie etwa eine der Anweisungssatzfamilien x86, ARM, Power oder MIPS. Während des Betriebs kann die CPU 306 gespeicherte Programmanweisungen ausführen, die aus der Speichereinheit 308 abgerufen werden. Die gespeicherten Programmanweisungen können Software umfassen, die den Betrieb der CPU 306 steuert, um die hier beschriebene Operation auszuführen. In einigen Beispielen kann der Prozessor 304 ein SoC (System auf einem Chip), das Funktionalität der CPU 306, der Speichereinheit 308, einer Netzwerkschnittstelle und von Eingabe-/Ausgabeschnittstellen in einer einzigen integrierten Vorrichtung integriert, sein. Das Datenverarbeitungssystem 302 kann zur Verwaltung verschiedener Aspekte des Betriebs ein Betriebssystem implementieren.
  • Die Speichereinheit 308 kann flüchtigen Speicher und nichtflüchtigen Speicher zum Speichern von Anweisungen und Daten umfassen. Der nichtflüchtige Speicher kann Halbleiterspeicher umfassen, wie etwa NAND-Flash-Speicher, magnetische und optische Speicherungsmedien und eine beliebige andere geeignete Datenspeicherungsvorrichtung, die Daten behält, wenn das Datenverarbeitungssystem 302 deaktiviert wird oder die Stromversorgung verliert. Der flüchtige Speicher kann statischen und dynamischen RAM (Direktzugriffsspeicher) umfassen, der Programmanweisungen und Daten speichert. Zum Beispiel kann die Speichereinheit 308 ein Maschinenlernmodell 310 oder einen Algorithmus, eine Trainingsdatenmenge 312 für das Maschinenlernmodell 310, einen unverarbeiteten Quellendatensatz 315 speichern. Das Modell 310 kann ein Faltungs-Neuronalnetz umfassen, so wie es in der vorliegenden Offenbarung beschrieben und in 2 dargestellt wird. Außerdem kann die Trainingsdatenmenge 312 Merkmale und den Merkmalextraktor umfassen, wie in der vorliegenden Offenbarung beschrieben und in 2, 4, 6, 7, 8, 9 und 10 dargestellt. Und die unverarbeitete Quelle 315 kann Daten von mehreren Eingangsmodalitäten umfassen, wie in der vorliegenden Offenbarung beschrieben und in 6, 11, 12, 13, 14, 15 und 16 dargestellt.
  • Das Datenverarbeitungssystem 302 kann eine Netzwerkschnittstellenvorrichtung 322 umfassen, die dafür ausgelegt ist, Kommunikation mit externen Systemen und Vorrichtungen bereitzustellen. Zum Beispiel kann die Netzwerkschnittstellenvorrichtung 322 eine drahtgebundene und/oder drahtlose Ethernet-Schnittstelle umfassen, so wie sie von der Standardfamilie IEEE 802.11 (Institute of Electrical and Electronics Engineers) definiert wird. Die Netzwerkschnittstellenvorrichtung 322 kann eine Mobilfunk-Kommunikationsschnittstelle zur Kommunikation mit einem Mobilfunknetz (z. B. 3G, 4G, 5G) umfassen. Die Netzwerkschnittstellenvorrichtung 322 kann ferner dafür ausgelegt sein, eine Kommunikationsschnittstelle zu einem externen Netzwerk 324 oder einer Cloud bereitzustellen.
  • Das externe Netzwerk 324 kann als World-Wide Web oder das Internet bezeichnet werden. Das externe Netzwerk 324 kann ein Standard-Kommunikationsprotokoll zwischen Datenverarbeitungsvorrichtungen herstellen. Das externe Netzwerk 324 kann leichten Austausch von Informationen und Daten zwischen Datenverarbeitungsvorrichtungen und Netzwerken erlauben. Mit dem externen Netzwerk 324 können sich ein oder mehrere Server 330 in Kommunikation befinden.
  • Das Datenverarbeitungssystem 302 kann eine Eingabe/Ausgabe- bzw. E/A-Schnittstelle 320 umfassen, die dafür ausgelegt sein kann, digitale und/oder analoge Eingaben und Ausgaben bereitzustellen. Die E/A-Schnittstelle 320 kann zusätzliche serielle Schnittstellen zur Kommunikation mit externen Vorrichtungen umfassen (z. B. eine USB-Schnittstelle (Universal Serial Bus)).
  • Das Datenverarbeitungssystem 302 kann eine Mensch-Maschine-Schnittstellen- bzw. HMI-Vorrichtung 318 umfassen, die eine beliebige Vorrichtung umfassen kann, die es dem System 300 ermöglicht, Steuereingaben zu empfangen. Beispiele für Eingabevorrichtungen wären Menschen-Schnittstelleneingänge wie Tastaturen, Mäuse, Touchscreens, Spracheingabevorrichtungen und andere ähnliche Vorrichtungen. Das Datenverarbeitungssystem 302 kann eine Anzeigevorrichtung 332 umfassen. Das Datenverarbeitungssystem 302 kann Hardware und Software zum Ausgeben von Grafik- und Textinformationen an die Anzeigevorrichtung 332 umfassen. Die Anzeigevorrichtung 332 kann einen elektronischen Anzeigebildschirm, einen Projektor, einen Drucker oder eine beliebige andere geeignete Vorrichtung zum Anzeigen von Informationen für einen Benutzer oder Bediener umfassen. Das Datenverarbeitungssystem 302 kann ferner dafür ausgelegt sein, Interaktion mit Fern-HMI- und Fern-Anzeigevorrichtungen über die Netzwerkschnittstellenvorrichtung 322 zu erlauben.
  • Das System 300 kann unter Verwendung eines oder mehrerer Datenverarbeitungssysteme implementiert werden. Obwohl das Beispiel ein einziges Datenverarbeitungssystem 302 abbildet, das alle beschriebenen Merkmale implementiert, ist beabsichtigt, dass verschiedene Merkmale und Funktionen getrennt und durch mehrere Datenverarbeitungseinheiten in Kommunikation miteinander implementiert werden können. Die konkrete ausgewählte Systemarchitektur kann von vielfältigen Faktoren abhängen.
  • Das System 300 kann einen Maschinenlernalgorithmus 310 implementieren, der dafür ausgelegt ist, die unverarbeitete Quellendatenmenge 315 zu analysieren. Die unverarbeitete Quellendatenmenge 315 kann unverarbeitete bzw. Roh-Sensordaten umfassen, die eine Eingangsdatenmenge für ein Maschinenlernsystem repräsentieren können. Die unverarbeitete Quellendatenmenge 315 kann Video, Videosegmente, Bilder, Informationen auf Textbasis und unverarbeitete oder teilweise verarbeitete Sensordaten (z.B. eine Radarkarte von Objekten) umfassen. In einigen Beispielen kann der Maschinenlernalgorithmus 310 ein Neuronalnetzalgorithmus sein, der dafür ausgelegt ist, eine vorbestimmte Funktion auszuführen. Zum Beispiel kann der Neuronalnetzalgorithmus in Kraftfahrzeuganwendungen dafür ausgelegt sein, Fußgänger in Videobildern zu identifizieren.
  • Das Computersystem 300 kann eine Trainingsdatenmenge 312 für den Maschinenlernalgorithmus 310 speichern. Die Trainingsdatenmenge 312 kann eine Menge von zuvor konstruierten Daten zum Training des Maschinenlernalgorithmus 310 repräsentieren. Die Trainingsdatenmenge 312 kann von dem Maschinenlernalgorithmus 310 zum Lernen von einem Neuronalnetzalgorithmus zugeordneten Gewichtsfaktoren verwendet werden. Die Trainingsdatenmenge 312 kann eine Menge von Quellendaten umfassen, die entsprechende Ergebnisse oder Resultate aufweist, die der Maschinenlernalgorithmus 310 über den Lernprozess zu duplizieren versucht. In diesem Beispiel kann die Trainingsdatenmenge 312 Quellenvideos mit und ohne Fußgänger und entsprechende Anwesenheits- und Ortsinformationen umfassen. Die Quellenvideos können verschiedene Szenarien umfassen, in denen Fußgänger identifiziert werden.
  • Der Maschinenlernalgorithmus 310 kann unter Verwendung der Trainingsdatenmenge 312 als Eingabe in einem Lernmodus betrieben werden. Der Maschinenlernalgorithmus 310 kann über eine Anzahl von Iterationen unter Verwendung der Daten aus der Trainingsdatenmenge 312 ausgeführt werden. Mit jeder Iteration kann der Maschinenlernalgorithmus 310 interne Gewichtsfaktoren auf der Basis der erzielten Ergebnisse aktualisieren. Zum Beispiel kann der Maschinenlernalgorithmus 310 Ausgangsergebnisse (z.B. Annotationen) mit denen vergleichen, die in der Trainingsdatenmenge 312 enthalten sind. Da die Trainingsdatenmenge 312 die erwarteten Ergebnisse umfasst, kann der Maschinenlernalgorithmus 310 bestimmen, wann die Leistungsfähigkeit akzeptabel ist. Nachdem der Maschinenlernalgorithmus 310 ein vorbestimmtes Leistungsfähigkeitsniveau erreicht (z.B. 100% Übereinstimmung mit den der Trainingsdatenmenge 312 zugeordneten Ergebnissen), kann der Maschinenlernalgorithmus 310 unter Verwendung von Daten ausgeführt werden, die sich nicht in der Trainingsdatenmenge 312 befinden. Der trainierte Maschinenlernalgorithmus 310 kann auf neue Datenmengen angewandt werden, um annotierte Daten zu erzeugen.
  • Der Maschinenlernalgorithmus 310 kann dafür ausgelegt werden, ein bestimmtes Merkmal in den unverarbeiteten Quellendaten 315 zu identifizieren. Die unverarbeiteten Quellendaten 315 können mehrere Instanzen oder Eingangsdatenmengen umfassen, wofür Annotationsergebnisse erwünscht sind. Zum Beispiel kann der Maschinenlernalgorithmus 310 dafür ausgelegt sein, die Anwesenheit eines Fußgängers in Videobildern zu identifizieren und die Vorfälle zu annotieren. Der Maschinenlernalgorithmus 310 kann dafür programmiert werden, die unverarbeiteten Quellendaten 315 zu verarbeiten, um die Anwesenheit der bestimmten Merkmale zu identifizieren. Der Maschinenlernalgorithmus 310 kann dafür ausgelegt sein, ein Merkmal in den unverarbeiteten Quellendaten 315 als ein vorbestimmtes Merkmal (z.B. einen Fußgänger) zu identifizieren. Die unverarbeiteten Quellendaten 315 können aus vielfältigen Quellen abgeleitet werden. Zum Beispiel können die unverarbeiteten Quellendaten 315 tatsächliche Eingangsdaten sein, die von einem Maschinenlernsystem gesammelt werden. Die unverarbeiteten Quellendaten 315 können zum Testen des Systems maschinenerzeugt werden. Beispielsweise können die unverarbeiteten Quellendaten 315 unverarbeitete Videobilder von einer Kamera umfassen.
  • In dem Beispiel kann der Maschinenlernalgorithmus 310 die unverarbeiteten Quellendaten 315 verarbeiten und eine Angabe einer Repräsentation eines Bildes ausgeben. Die Ausgabe kann auch ergänzte Repräsentation des Bildes umfassen. Ein Maschinenlernalgorithmus 310 kann ein Konfidenzniveau oder einen Faktor für jede erzeugte Ausgabe erzeugen. Zum Beispiel kann ein Konfidenzwert, der eine vorbestimmte Hochkonfidenzschwelle überschreitet, angeben, dass der Maschinenlernalgorithmus 310 zuversichtlich ist, dass das identifizierte Merkmale dem bestimmten Merkmal entspricht. Ein Konfidenzwert von weniger als einer Niedrig-Konfidenzschwelle kann angeben, dass der Maschinenlernalgorithmus 310 eine gewisse Ungewissheit hat, dass das bestimmte Merkmal anwesend ist.
  • 4 ist eine grafische Darstellung von Patch-Einbettungsgewichtsvisualisierungen 400 für einen ConvMixer-1024/20 mit Patchgröße 14 wie in Tabelle 1 beschrieben.
  • Beispielhafte Maschinenarchitektur und maschinen-lesbares Medium. 5 ist eine Blockdarstellung eines zur Implementierung der Systeme oder zur Ausführung der Verfahren, die hier offenbart werden, geeigneten elektronischen Datenverarbeitungssystems. Die Maschine von 5 ist als selbständige Vorrichtung gezeigt, was für die Implementierung der Konzepte innerhalb der vorliegenden Offenbarung geeignet ist. Für die oben beschriebenen Serveraspekte können mehrere solche Maschinen verwendet werden, die in einem Datencenter, einem Teil einer Cloud-Architektur und so weiter operieren. Bezüglich Serveraspekten werden nicht alle der dargestellten Funktionen und Vorrichtungen benutzt. Zum Beispiel besitzen, obwohl ein System, eine Vorrichtung usw., womit ein Benutzer mit einem Server und/oder den Cloud-Architekturen in Interaktion tritt, einen Bildschirm, einen Berührungsschirmeingang usw. aufweisen kann, Server oft keine Bildschirme, Berührungsschirme, Kameras und so weiter und treten typischerweise mittels verbundener Systeme, die geeignete Eingabe- und Ausgabeaspekte aufweisen, mit Benutzern in Interaktion. Die nachfolgende Architektur sollte deshalb als mehrere Arten von Vorrichtungen und Maschinen einschließend aufgefasst werden und abhängig von dem Formfaktor und Zweck können verschiedene Aspekte in beliebiger konkreter Vorrichtung oder Maschine vorliegen oder nicht (zum Beispiel besitzen Server selten Kameras, während Wearables selten magnetische Datenträger umfassen). Die beispielhafte Erläuterung von 5 ist jedoch dafür geeignet, es Fachleuten zu erlauben, zu bestimmen, wie die zuvor beschriebenen Ausführungsformen mit einer geeigneten Kombination von Hardware und Software zu verwenden sind, wobei eine angemessene Modifikation der dargestellten Ausführungsform für die konkrete Vorrichtung, Maschine usw. verwendet wird.
  • Obwohl nur eine einzige Maschine dargestellt ist, soll der Ausdruck „Maschine“ auch so aufgefasst werden, dass er eine beliebige Ansammlung von Maschinen umfasst, die einzeln oder zusammen eine Menge (oder mehrere Mengen) von Anweisungen ausführen, um eine beliebige oder mehrere der hier besprochenen Methodologien auszuführen.
  • Das Beispiel für die Maschine 500 umfasst mindestens einen Prozessor 502 (z.B. Steuerung, Mikrocontroller, eine CPU (Zentralverarbeitungseinheit), eine GPU (Grafikverarbeitungseinheit), eine TPU (Tensorverarbeitungseinheit), eine APU (Advanced Processing Unit) oder Kombinationen davon), einen oder mehrere Speicher, wie etwa einen Hauptspeicher 504, einen statischen Speicher 506 oder andere Arten von Speicher, die über die Verbindung 508 miteinander kommunizieren. Die Verbindung 508 kann ein Bus oder eine andere Art von Verbindungskanal sein. Die Maschine 500 kann weitere optionale Aspekte umfassen, wie etwa eine Grafikanzeigeeinheit 510, die eine beliebige Art von Anzeige umfasst. Die Maschine 500 kann auch andere optionale Aspekte umfassen, wie etwa eine alphanumerische Eingabevorrichtung 512 (z.B. eine Tastatur, ein Touchscreen und so weiter), eine Benutzeroberflächen- bzw. Ul-Navigationsvorrichtung 514 (z.B. eine Maus, ein Trackball, eine Berührungsvorrichtung und so weiter), eine Speicherungseinheit 516 (z.B. ein Laufwerk oder andere Speicherungsvorrichtung(en)), eine Signalerzeugungsvorrichtung 518 (z.B. einen Lautsprecher), Sensor(en) 521 (z.B. globaler Positionsbestimmungssensor, Beschleunigungsmesser, Mikrofon(e), Kamera(s) und so weiter), eine Ausgabesteuerung 528 (z.B. eine drahtgebundene oder drahtlose Verbindung zur Verbindung und/oder Kommunikation mit einer oder mehreren anderen Vorrichtungen, wie etwa einem USB (Universal Serial Bus), NFC( Nahfeldkommunikation), IR (Infrarot), ein serieller/paralleler Bus usw.) und eine Netzwerkschnittstellenvorrichtung 520 (z.B. drahtgebunden und/oder drahtlos) zur Verbindung mit einem oder mehreren Netzwerken 526 und/oder zur Kommunikation über diese.
  • Die verschiedenen Speicher (d.h. 504, 506 und/oder Speicher von Prozessor(en) 502) und/oder die Speicherungseinheit 516 können eine oder mehrere Mengen von Anweisungen und Datenstrukturen (z.B. Software) 524 speichern, die eine beliebige oder mehrere der hier beschriebenen Methodologien oder Funktionen realisieren oder von ihnen benutzt werden. Diese Anweisungen bewirken, wenn sie durch Prozessor(en) 502 ausgeführt werden, verschiedene Operationen zur Implementierung der offenbarten Ausführungsformen.
  • 6 ist eine grafische Darstellung eines Bildes 600 mit einer Länge 602 und Breite 604 (hier als n × n) gezeigt, einer Patchgröße, die durch eine Patchlänge 606 und Patchbreite 608 (hier als p × p gezeigt) definiert ist, und Kanaltiefe 610 (hier als c gezeigt). Wenn zum Beispiel das Bild ein auf RGB (rot grün blau) basierendes Bild ist, könnte c die Anzahl der Eingangskanäle oder 3 für RGB sein. Wenn das Bild jedoch abhängig davon, wie es repräsentiert wird, mehr oder weniger Kanäle aufweisen kann. Man betrachte ein Bild, das etwa erzeugt wird durch Schall, IR, RADAR, LIDAR, magnetische Bildgebung usw. können mehr als 3 Kanäle aufweisen.
  • 7 ist eine grafische Darstellung von Gewichtsvektoren für die Patcheinbettungen des Bildes von 6. Hier ist h die Anzahl der Kanäle in der Merkmalabbildung, die von der Architektur abhängt. Da Patch und Stride gleich sind, besteht keine Überlappung, und y1 würde dem oberen linken Patch des Bildes entsprechen, y2 dem oberen mittleren Patch des Bildes, y3 dem oberen rechten Patch des Bildes und so weiter.
  • 8 ist eine grafische Darstellung eines 2-dimensionalen Layouts 800 der Kanaltiefe für jedes Patch. Ein Vorteil des Betrachtens eines 2D-Layouts umfasst, dass die punktweise Faltung an jedem Pixel getrennt wird und deshalb die räumliche Beziehung nicht berücksichtigt wird, um somit Dicht-Matrixmultiplikation zu erlauben, die effizienter sein kann.
  • 9 ist eine grafische Darstellung eines 3-dimensionalen Layouts 900 für jede Merkmalabbildung mit Kanaltiefe. Das 3D-Layout hält räumliche Beziehung aufrecht, so dass die Tiefe nun durch h repräsentiert wird, das heißt, die Dimension der Patcheinbettungen, oder anders ausgedrückt, h ist die Anzahl der Kanäle in der Merkmalabbildung.
  • 10 ist eine grafische Darstellung spezifischer Teilmengen von 64 tiefenweisen Faltungskernen aus schrittweise tieferen Schichten von ConvMixer-1536/20. Die Bilder entsprechen (a) Schicht 1, (b) Schicht 4, (c) Schicht 6, (d) Schicht 9, (e) Schicht 11, (f) Schicht 13, (g) Schicht 15, (h) Schicht 17 und (i) Schicht 19.
  • Faltungen wurden zunehmend durch Selbst-Aufmerksamkeits- und allgemeinere lineare Transformationen ersetzt, oft in Netzen, die auf das traditionelle pyramidenförmige Design verzichten. Diese Netze haben ein nachsichtigeres induktives Bias und erfordern folglich oft viel mehr Daten. Diese Netze tendieren dazu, Gewichtsteilen zu vergrößern, Pooling zu vermeiden und Informationen von entfernten räumlichen Orten zu mischen. Die vorliegende Offenbarung präsentiert eine einfache und dennoch wettbewerbsfähige Voll-Faltungs-Architektur, die die Eigenschaften beibehält, die unter Verwendung der Selbst-Aufmerksamkeits- und allgemeineren linearen Transformationen aufgeopfert wurden, erhöhen aber die Dateneffizienz und Trainierbarkeit. Die einfache und dennoch wettbewerbsfähige Voll-Faltungs-Architektur „ConvMixer“ erreicht die hohe Genauigkeit an ImageNet-1K und CIFAR-10 ohne Vortraining und typischerweise mit einem Bruchteil der Parameter. Man erreicht zum Beispiel 96,3% Genauigkeit an CIFAR-10 mit 672K Parametern und 77,5% Top-1-Genauigkeit an ImageNet-1K mit 14,6M Parametern.
  • Faltungs-Neuronalnetze waren viele Jahre lang der dominante Ansatz bei Computervisions-Aufgaben. In der letzten Zeit hat sich mit dem Aufkommen von Visionstransformierern das Interesse jedoch auf alternative Architekturen verlagert, mit einem großen Fokus auf Selbst-Aufmerksamkeit, die anstelle von Faltung neuartige Operatoren präsentieren. Diese Architekturen sind oft einfacher als moderne Faltungsnetze: Sie schließen z.B. tendenziell Abwärtsabtastung (wie Striding und Pooling) aus und umfassen stattdessen identische Blöcke, die wiederholt auf Merkmalabbildungen angewandt werden, die alle dieselbe Größe aufweisen (oder isotropisch sind).
  • Dieses Abkommen von relativ komplexen Faltungsnetzen geht mit der Einführung von Patcheinbettungen einher. Das heißt, die erste Schicht ist eine lineare Transformation, die identisch auf sich nicht überlappende rechteckige Regionen der Eingabe angewandt werden (6). Dann verarbeitet das Modell die Patcheinbettungen anstelle des Originalbildes (7).
  • Bei diesen neuen Architekturen lag das Hauptaugenmerk primär auf unkonventionellen und oft ausdrucksstärkeren Operatoren wie Selbst-Aufmerksamkeit oder einfach Mehrschicht-Perzeptronen. Bei Computervisions-Aufgaben wurden diese neuen Operationen jedoch gleichzeitig mit neuartigen Netzentwürfen eingeführt. Die vorliegende Offenbarung veranschaulicht den Vorteil des Entflechtens des Effekts der Operatoren von dem der Architektur. Selbst-Aufmerksamkeit wird oft in traditionell entworfene neuronale Netze oder fusionierte Faltung und Selbst-Aufmerksamkeit gelegt. Die vorliegende Offenbarung präsentiert nur traditionelle Operationen (d.h., Faltung) in isotropischen Architekturen.
  • Die vorliegende Offenbarung präsentiert eine äußerst einfache Architektur im Geiste der Visionstransformierer unter Verwendung von Patcheinbettungen, die nur standardmäßige tiefenweise und punktweise Faltungsoperationen verwenden.
  • Trotz ihrer Einfachheit und ihrer Verwendung von theoretisch weniger kostspieligen Faltungsschichten ist diese Architektur mit jetzt-kanonischen Modellen wie ResNet und DeiT wettbewerbsfähig, sogar wenn alle in derselben modernen Pipeline trainiert werden (d.h. nahezu Vorgabeeinstellungen in timm).
  • Dadurch werden die Vorteile der neuen einfachen isotropischen Architekturentwürfe hervorgehoben, die in vielen neueren Arbeiten benutzt werden. Um zu betonen, dass es Patcheinbettungen sind, die diesen Netzentwurf ermöglichen, überdies: Statt schrittweisem Abwärtsabtasten wandelt die Patch-Schicht die Eingaben sofort in eine vernünftige vorbestimmte Größe um, die im ganzen Netz aufrechterhalten wird.
  • Dieses Modell mit der Bezeichnung ConvMixer besteht aus Patcheinbettungen, gefolgt von wiederholten Anwendungen eines einfachen Voll-Faltungs-Blocks.
  • Entscheidenderweise der Gebrauch des „3D-Layouts“ für Patcheinbettungen mit der Dimension h, wie in 9 dargestellt, was für die Patchgröße p als Faltung implementiert werden kann: z 0 = BN  ( σ { Conv C in h ( X , stride = p , kern_große = p ) } )
    Figure DE102022210129A1_0001
  • Der Block besteht aus tiefenweiser Faltung, gefolgt von punktweiser (z.B. 1×1-)Faltung, vorauf jeweils eine Aktivierungs- und Nach-Aktivierungs-BatchNorm folgt: z l ' = BN ( σ { ConvDepthwise ( z l 1 ) } ) + z l 1
    Figure DE102022210129A1_0002
    Z l + 1 = BN ( σ { ConvPointwise ( z l 0 ) } )
    Figure DE102022210129A1_0003
  • Nach mehreren Anwendungen dieses Blocks führt das System dann globales Pooling durch, um einen Merkmalvektor der Größe h zu erhalten, der dann mit einem linearen Klassifizierer klassifiziert werden kann.
  • Entwurfsparameter. Eine Instanziierung von ConvMixer hängt von vier Parametern ab: (1) der verborgenen Dimension h (d.h., der Dimension der Patcheinbettungen), (2) der Tiefe d oder der Anzahl der Wiederholungen des Voll-Faltungs-Blocks, (3) der Patchgröße p, die die interne Auflösung des Modells steuert, (4) der Kerngröße k der tiefenweisen Faltungsschicht. Die Nomenklatur von ConvMixers basiert gemäß ihrer verborgenen Dimension und Tiefe, wie ConvMixer-h/d. Wie später in der vorliegenden Offenbarung veranschaulicht wird, funktionieren ConvMixers am besten mit ungewöhnlich großen Kerngrößen und kleinen Patchgrößen. Die (beabsichtigte) Eingangsgröße n, dividiert durch die Patchgröße p, wird als die interne Auflösung bezeichnet.
  • Motivation. Diese Architektur basiert auf dem Prinzip des Mischens. Man betrachte zum Beispiel tiefenweise Faltung zum Mischen von räumlichen Orten und punktweise Faltung zum Mischen von Kanalorten. Ein Grundprinzip ist, dass MLPs und Selbst-Aufmerksamkeit entfernte räumliche Orte mischen können, d.h., sie können ein beliebig großes rezeptives Feld aufweisen. Folglich kann man hypothetisieren, dass zum Mischen entfernter räumlicher Orte große Kerne entscheidend wären.
  • Patcheinbettungen. Einfach eine Faltung mit Kerngröße p, Stride p und h Kernen. h ist die Patcheinbettungsdimension. Bei einer anderen Ausführungsform kann dies zu einer h × (n/p)2-Matrix umgeformt werden. Somit bleiben die räumlichen Daten intakt und funktionieren mit h × n/p × n/p-Tensoren. Da dieses Modell durchweg dieselbe interne Auflösung aufrechterhält, was durch Patcheinbettungen ermöglicht wird, kann es als isotropisch bezeichnet werden.
  • Während Selbst-Aufmerksamkeit und MLPs (Mehrschicht-Perzeptrons) flexibler sind, um somit große rezeptive Felder und inhaltsbewusstes Verhalten zu erlauben, hat eine Faltung mehrere Vorteile. Ihr induktives Bias, das Translationsinvarianz umfasst, ist geeignet für Visionsaufgaben und führt zu hoher Dateneffizienz. Ferner kann Voll-Faltung auf Eingaben variabler Größe angewandt werden, was in der Praxis nützlich ist und Trainingsbeschleunigungen erlaubt; Faltung ist sehr gut für Optimierungen auf niedriger Ebene geeignet.
  • Es folgt eine Implementierung einer Ausführungsform dieses Modells in PyTorch, mit der Fähigkeit zu 81,4% Top-1-Genauigkeit an ImageNet mit minimaler Abstimmung. Die Module Reduce und Residual befinden sich in der einops-Package und sind nachfolgend gezeigt.
 1 def ConvMixer(dim, depth, kern_größe =9, patch_größe=7, n_classes=1000):
 2 return nn.Sequential(
 3 nn.Conv2d(3, dim, kern_größe =patch_größe, stride=patch_größe),
 4 nn.GELU(), nn.BatchNorm2d(dim),
 5 *(nn.Sequential(
 6 Residual(nn.Sequential(
 7 nn.Conv2d(dim, dim, kern_größe , groups=dim, padding="same"),
 8 nn.GELU(), nn.BatchNorm2d(dim))),
 9 nn.Conv2d(dim, dim, kern_größe =1),
 10 nn.GELU(), nn.BatchNorm2d(dim)
 11 ) for i in range(depth)],
 12 Reduce("b c h w → b c", "mean"),
 13 nn.Linear(dim, n_classes))
  • Dies ist eine beispielhafte PyTorch-Implementierung von ConvMixer mit h = dim, d = depth, p = patch_größe, k = kern_größe.
  • Bei einer Ausführungsform wurde ein Experiment auf kleinem Maßstab an CIFAR-10 durchgeführt, wobei ConvMixers über 96% Genauigkeit mit sogar nur 0,7M Parametern erreichen. Dadurch wurde die Dateneffizienz eines induktiven Faltungs-Bias demonstriert. Es wurden mehrere Konfigurationen für Restverbindungen verwendet, und es wurde entdecket, dass der Ausschluss einer nach punktweiser Faltung (Gl. 3) zu schnellerer Konvergenz führte. Ersetzung von Batch Norm mit LayerNorm verringerte die Genauigkeit um ≈ 1%. Siehe Tabelle 1. Tabelle 1: Kleine Ablationsstudie des Trainierens eines ConvMixer-256/8 an CIFAR-10
    Ablation von ConvMixer-256/8 an CIFAR-10
    Ablation CIFAR-10 Gen. (%)
    Grundlinie 95,88
    BatchNorm → LayerNorm 94,44
    GELU → ReLU 95,51
    - Mixup und CutMix 95,92
    - Zufalls-Löschung 95,24
    - RandAug 92,86
    - Zufalls-Skalierung 86,24
    - Gradientennorm-Clipping 86,33
  • Ergebnisse. Ein ConvMixer-1536/20 mit etwa 50M Parametern erreichte 81,4% Top-1-Genauigkeit an ImageNet, und ein ConvMixer-768/32 mit 20M Parametern erreichte etwa 80,2% (siehe Tabelle 1). Breitere ConvMixer scheinen in weniger Epochen zu konvergieren, sind aber speicher- und rechenintensiv. ConvMixers mit kleineren Patches funktionierten wesentlich besser. Größere Patches erfordern tiefere ConvMixers. Obwohl man erwarten kann, dass große Kerne entscheidend sind, empfing jedoch ConvMixer-1536/20 81,37% Genauigkeit mit k = 9 und 80,4% mit k = 3, was ein kleinerer Effekt als erwartet ist. Im Hinblick auf Parameter ist Setzen von k = 9 ein guter Kompromiss, aber Durchsatz und Trainingszeit sind etwa zweimal so schnell für k = 3.
  • Tabelle 2 zeigt, dass ConvMixers wettbewerbsfähige Genauigkeiten für ein gegebenes Parameterbudget erreichen: DeiT-B erhält 81,8% Genauigkeit für 86M Param., während ConvMixer-1536/20 81,37% Genauigkeit für 52M Param. erhält. Derselbe ConvMixer übertrifft auch ResNet-152, trainiert auf dieselbe Weise, mit 79,64% Genauigkeit und 60M Param. Ein vergleichbarer ConvMixer ist jedoch 4× langsamer als ResNet und bis zu 7× langsamer als DeiT. Zukünftige Optimierungen können dies ändern. Der Grund dafür liegt hauptsächlich darin, dass ConvMixer p = 7 benutzt hat, während DeiT p = 16 benutzte, wodurch dieser Vergleich begrenzt wird. Für einen engeren Vergleich erhält ConvMixer-512/16 mit p = 16 und 5,8M Parametern 72,6% Genauigkeit, während DeiT-Ti mit 5M Parametern 72,2% Genauigkeit erhält; der ConvMixer ist ≈ 2,5× langsamer. Für ähnliche Patchgröße und Parameter ist ConvMixer-768/32 etwas genauer als ResMLP-S12/8, hat aber 0,3× den Durchsatz. Tabelle 2: Alle Durchsätze, gemessen an einer RTX8000-GPU unter Verwendung der Batch-Größe 64.
    Vergleich mit anderen einfachen Modellen, trainiert an ImageNet-1k nur mit der Eingangsgröße 224.
    Netz PatchGröße Anz. Param. (×106) Durchsatz (Bld/s) Anz. Epochen Batch-Größe ImNet Top-1 (%)
    ConvMixer-1536/20 7 51,6 89 150 - 81,37
    ConvMixer-768/32 7 21,1 203 300 - 80,16
    ConvMixer-1024/16 7 19,4 173 110 - 79,45
    ConvMixer-1024/20 14 24,4 520 150 - 76,94
    ConvMixer-1512/16 16 5,8 1129 90 - 72,60
    ResNet-152 - 60,19 872 150 - 79,64
    ResNet-101 - 44,55 1040 150 - 78,33
    ResNet-50 - 25,56 1942 150 - -
    DeiT-Ti 16 5 2727 300 - 72,2
    DeiT-S 16 22 1491 300 - 79,8
    DeiT-B 16 86 703 300 - 81,8
    ResMLP-B24 16 116 1191 400 - 81,0
    ResMLP-S12/8 8 22,1 638 400 - 79,1
    ResMLP-B24/8 8 129,1 140 400 - 81,0
    Vit-B/16 16 86 704 300 4096 77,9
    Mixer-B/16 16 59 816 300 4096 76,44
    MobileNetv3 large/1,0 MobileNetv3 small/1,0 5,4 3466 75,2
    2,5 4156 67,5
    Isotropic MobileNetv3 Isotropic MobileNetv3 8 20 80,6
    16 20 77,6
  • Isotropische Architekturen. Visionstransformierer haben ein neues Paradigma isotropischer Architekturen inspiriert, die Patcheinbettungen für die erste Schicht benutzen. Diese Modelle sehen wiederholten Transformierer-Codierer-Blöcken ähnlich, wobei verschiedene Operationen die Selbst-Aufmerksamkeits- und MLP-Operationen ersetzen. Zum Beispiel ersetzt MLP-Mixer beides mit über verschiedene Dimensionen angewandten MLPs (d.h., räumliches und Kanal-Ortsmischung); ResMLP ist eine dateneffiziente Variante dieses Prinzips. CycleMLP, gMLP und der Visionspermutator ersetzen einen dieser Blöcke oder beide mit verschiedenen neuartigen Operationen. Diese sind alle relativ leistungsstark, was typischerweise der neuartigen Wahl von Operationen zugeschrieben wird. Eine Studie aus der Zeit vor Visionstransformierern untersucht isotropische (oder „isometrische“) MobileNets und implementiert sogar Patcheinbettungen unter einem anderen Namen. Ihre Architektur wiederholt einfach einen isotropischen MobileNetv3-Block. Sie identifizieren eine Kompromiss zwischen Patchgröße und Genauigkeit, der mit den Erfahrungen der Erfinder übereinstimmt, und trainieren ähnlich leistungsstarke Modelle (siehe Anhang 2). Ihr Block ist jedoch wesentlich komplexer als hier; die vorliegende Arbeit zeichnet sich durch Einfachheit und Motivation aus. Es werden die Gemeinsamkeiten dieser Arbeiten betont: Patcheinbettungen ermöglichen eine einfache Architektur.
  • Visionstransformierer-Leistungsfähigkeit kann vergrößert werden, indem Standard-Patcheinbettungen mit einem anderen Stamm ersetzt werden, zum Beispiel einem Standard-Faltungs-Stamm, oder durch wiederholtes Kombinieren von nahegelegenen Patcheinbettungen. Dies kann jedoch einfach über komplexere Stämme faltungs-artige induktive Biasse, d.h., Lokalität, zu Visionstransformierern hinzufügen. Anders ausgedrückt, verflechten die Arbeiten die Entfernung von Patcheinbettungen und die Vergrößerung der Lokalität von Tokens, was mittels anderer Mittel geschehen kann, wie etwa Verwendung von 3D-Layout-Patcheinbettungen mit lokalitätserhaltenden Operationen wie Faltung.
  • Die oben präsentierte Architektur kann in mehreren Ausführungsformen verwendet werden, bei denen Bilddaten oder Modalitäten von Bilddaten verwendet werden. 11-16 veranschaulichen beispielhafte Ausführungsformen, aber die Konzepte der vorliegenden Offenbarung können auf zusätzliche Ausführungsformen angewandt werden. Einige beispielhafte Ausführungsformen wären industrielle Anwendungen, bei denen die Modalitäten Video, Gewicht, IR, 3D-Kamera und Schall umfassen können; Elektrowerkzeug- oder Geräteanwendungen, bei denen die Modalitäten Drehmoment, Druck, Temperatur, Distanz oder Schall umfassen können; medizinische Anwendungen, bei denen die Modalitäten Ultraschall, Video, CAT-Scan, MRI oder Schall umfassen können; robotische Anwendungen, bei denen die Modalitäten Video, Ultraschall, LIDAR, IR oder Schall umfassen können; und Sicherheitsanwendungen, bei denen die Modalitäten Video, Schall, IR oder LIDAR umfassen können. Die Modalitäten können diverse Datenmengen aufweisen, zum Beispiel kann eine Videodatenmenge ein Bild umfassen, eine LIDAR-Datenmenge kann eine Punktwolke umfassen, und eine Mikrofon-Datenmenge kann eine Zeitreihe umfassen.
  • 11 ist eine schematische Darstellung eines Steuersystems 1102, das dafür ausgelegt ist, ein Fahrzeug zu steuern, wobei es sich um ein mindestens teilweise autonomes Fahrzeug oder einen mindestens teilweise autonomen Roboter handeln kann. Das Fahrzeug umfasst einen Sensor 1104 und einen Aktor 1106. Der Sensor 1104 kann einen oder mehrere auf Wellenenergie basierende Sensoren (z.B. einen CCD (Charge Coupled Device) oder Video), Radar, LiDAR, ein Mikrofonarray, Ultraschall, Infrarot, thermische Bildgebung, akustische Bildgebung oder andere Technologien (z.B. Positionsbestimmungssensoren wie etwa GPS) umfassen. Einer oder mehrere des einen oder der mehreren spezifischen Sensoren können in das Fahrzeug integriert sein. Als Alternative oder zusätzlich zu einem oder mehreren oben identifizierten spezifischen Sensoren kann das Steuermodul 1102 ein Softwaremodul umfassen, das bei Ausführung dafür ausgelegt ist, einen Zustand des Aktors 1104 zu bestimmen.
  • Bei Ausführungsformen, bei denen das Fahrzeug ein mindestens teilweise autonomes Fahrzeug ist, kann der Aktor 1106 in einem Bremsensystem, einem Antriebssystem, einem Motor, einem Antriebsstrang oder einem Lenksystem des Fahrzeugs realisiert sein. Aktorsteuerbefehle können so bestimmt werden, dass der Aktor 1106 so gesteuert wird, dass das Fahrzeug Kollisionen mit detektierten Objekten vermeidet. Detektierte Objekte können auch abhängig davon klassifiziert werden, was der Klassifizierer es als am wahrscheinlichsten ansieht, wie etwa Fußgänger oder Bäume. Die Aktorsteuerbefehle können abhängig von der Klassifikation bestimmt werden. Zum Beispiel kann das Steuersystem 1102 ein Bild (z.B. optisch, akustisch, thermisch) oder eine andere Eingabe von dem Sensor 1104 zu einer oder mehrere Hintergrundklassen und einer oder mehreren Objektklassen (z.B. Fußgänger, Fahrräder, Fahrzeuge, Bäume, Verkehrsschilder, Ampeln, Straßenschutt oder Bautonnen/-kegel usw.) segmentieren und Steuerbefehle zu dem Aktor 1106 senden, der in diesem Fall in einem Bremsensystem oder Antriebssystem realisiert ist, um Kollision mit Objekten zu vermeiden. In einem anderen Beispiel kann das Steuersystem 1102 ein Bild zu einer oder mehreren Hintergrundklassen und einer oder mehreren Markiererklassen (z.B. Spurmarkierungen, Leitplanken, Rand einer Straße, Fahrzeugspuren usw.) segmentieren und Steuerbefehle zu dem Aktor 1106 senden, der hier in einem Lenksystem realisiert ist, um zu bewirken, dass das Fahrzeug Überquerung von Markierungen vermeidet und in einer Spur bleibt. In einem Szenario, bei dem eine adversarische Attacke auftreten kann, kann das oben beschriebene System ferner dafür trainiert werden, Objekte besser zu detektieren oder eine Änderung der Beleuchtungsbedingungen oder eines Winkels für einen Sensor oder eine Kamera am Fahrzeug zu identifizieren.
  • Bei anderen Ausführungsformen, bei denen das Fahrzeug 1100 ein mindestens teilweise autonomer Roboter ist, kann das Fahrzeug 1100 ein mobiler Roboter sein, der dafür ausgelegt ist, eine oder mehrere Funktionen auszuführen, wie etwa Fliegen, Schwimmen, Tauchen und Schreiten. Der mobile Roboter kann ein mindestens teilweise autonomer Rasenmäher oder ein mindestens teilweise autonomer Reinigungsroboter sein. Bei solchen Ausführungsformen kann der Aktorsteuerbefehl 1106 so bestimmt werden, dass eine Antriebseinheit, Lenkeinheit und/oder Bremseneinheit des mobilen Roboters so gesteuert werden kann, dass der mobile Roboter Kollisionen mit identifizierten Objekten vermeiden kann.
  • Bei einer anderen Ausführungsformen ist das Fahrzeug 1100 ein mindestens teilweise autonomer Roboter in Form eines Gartenroboters. Bei einer solchen Ausführungsform kann das Fahrzeug 1100 einen optischen Sensor als Sensor 1104 verwenden, um einen Zustand von Pflanzen in einer Umgebung in der Nähe des Fahrzeugs 1100 zu bestimmen. Der Aktor 1106 kann eine Düse sein, die dafür ausgelegt ist, Chemikalien zu sprühen. Abhängig von einer identifizierten Spezies und/oder einem identifizierten Zustand der Pflanzen kann der Aktorsteuerbefehl 1102 so bestimmt werden, dass bewirkt wird, dass der Aktor 1106 die Pflanzen mit einer geeigneten Menge geeigneter Chemikalien besprüht.
  • Das Fahrzeug 1100 kann ein mindestens teilweise autonomer Roboter in Form eines Haushaltsgeräts sein. Nicht einschränkende Beispiele für Haushaltsgeräte wären eine Waschmaschine, ein Herd, ein Backofen, eine Mikrowelle oder ein Geschirrspüler. In einem solchen Fahrzeug 1100 kann der Sensor 1104 ein optischer oder akustischer Sensor sein, der dafür ausgelegt ist, einen Zustand eines Objekts zu detektieren, das Verarbeitung durch das Haushaltsgerät unterzogen werden soll. Falls das Haushaltsgerät zum Beispiel eine Waschmaschine ist, kann der Sensor 1104 einen Zustand der Wäsche in der Waschmaschine detektieren. Auf der Basis des detektierten Zustands der Wäsche kann ein Aktorsteuerbefehl bestimmt werden.
  • Bei dieser Ausführungsform würde das Steuersystem 1102 Bild-(optische oder akustische) und Annotationsinformationen von dem Sensor 1104 empfangen. Unter Verwendung dieser und einer vorgeschriebenen Anzahl von Klassen k und des Ähnlichkeitsmaßes K, die im System gespeichert sind, kann das Steuersystem 1102 das in 10 beschriebene Verfahren verwenden, um jedes Pixel des von dem Sensor 1104 empfangenen Bildes zu klassifizieren. Auf der Basis dieser Klassifikation können Signale zu dem Aktor 1106 gesendet werden, um zum Beispiel zu bremsen oder zu lenken, um Kollisionen mit Fußgängern oder Bäumen zu vermeiden, zu lenken, um zwischen detektierten Spurmarkierungen zu bleiben, oder beliebige der durch den Aktor 1106 ausgeführten Aktionen wie oben beschrieben. Signale können auch auf der Basis dieser Klassifikation zu dem Sensor 1104 gesendet werden, um zum Beispiel eine Kameralinse zu fokussieren oder zu bewegen.
  • 12 zeigt eine schematische Darstellung des Steuersystems 1202, das dafür ausgelegt ist, ein System 1200 (z.B. eine Produktionsmaschine) zu steuern, wie etwa eine Stanzmaschine, einen Fräser oder eine Bohrmaschine des Produktionssystems 102, wie etwa ein Teil einer Produktionslinie. Das Steuersystem 1202 kann dafür ausgelegt sein, den Aktor 14 zu steuern, der dafür ausgelegt ist, das System 100 (z.B. Produktionsmaschine) zu steuern.
  • Der Sensor 1204 des Systems 1200 (z.B. Produktionsmaschine) kann ein Wellenenergiesensor sein, wie etwa ein optischer oder akustischer Sensor oder ein Sensorarray, ausgelegt zum Erfassen einer oder mehrerer Eigenschaften eines hergestellten Produkts. Das Steuersystem 1202 kann dafür ausgelegt sein, aus einer oder mehreren der erfassten Eigenschaften einen Zustand eines hergestellten Produkts zu bestimmen. Der Aktor 1206 kann dafür ausgelegt sein, das System 1202 (z.B. Produktionsmaschine) abhängig von dem bestimmten Zustand des hergestellten Produkts 104 für einen nachfolgenden Herstellungsschritt des hergestellten Produkts zu steuern. Der Aktor 1206 kann dafür ausgelegt sein, Funktionen von 11 (z.B. Produktionsmaschine) an nachfolgenden hergestellten Produkten des Systems (z.B. Produktionsmaschine) abhängig von dem bestimmten Zustand des vorherigen hergestellten Produkts zu steuern.
  • Bei dieser Ausführungsform würde das Steuersystem 1202 Bild- (z.B. optische oder akustische) und Annotationsinformationen von dem Sensor 1204 empfangen. Unter Verwendung dieser und einer vorgeschriebenen Anzahl von Klassen k und des Ähnlichkeitsmaßes K, die im System gespeichert sind, kann das Steuersystem 1202 das in 10 beschriebene Verfahren verwenden, um jedes Pixel des von dem Sensor 1204 empfangenen Bildes zu klassifizieren, um zum Beispiel ein Bild eines hergestellten Objekts in zwei oder mehr Klassen zu segmentieren, um Anomalien in dem hergestellten Produkt zu detektieren, um die Anwesenheit von Objekten an dem hergestellten Produkt, wie etwa Strichcodes, sicherzustellen. Auf der Basis dieser Klassifikation können Signale zu dem Aktor 1206 gesendet werden. Wenn das Steuersystem 1202 zum Beispiel Anomalien in einem Produkt detektiert, kann der Aktor 1206 anomale oder defekte Produkte von der Linie markieren oder entfernen. In einem anderen Beispiel kann, wenn das Steuersystem 1202 die Anwesenheit von Strichcodes oder anderen an dem Produkt zu platzierenden Objekten detektiert, der Aktor 1106 diese Objekte anbringen oder sie entfernen. Auf Basis dieser Klassifikation können auch Signale zu dem Sensor 1204 gesendet werden, zum Beispiel, um eine Kameralinse zu fokussieren oder zu bewegen.
  • 13 zeigt eine schematische Darstellung eines Steuersystems 1302, das dafür ausgelegt ist, ein Elektrowerkzeug 1300, wie etwa einen elektrischen Bohrer oder Schraubenzieher, der einen mindestens teilweise autonomen Modus aufweist, zu steuern. Das Steuersystem 1302 kann dafür ausgelegt sein, den Aktor 1306 zu steuern, der dafür ausgelegt ist, das Elektrowerkzeug 1300 zu steuern.
  • Der Sensor 1304 des Elektrowerkzeugs 1300 kann ein Wellenenergiesensor sein, wie etwa ein optischer oder akustischer Sensor, der dafür ausgelegt ist, eine oder mehrere Eigenschaften einer Arbeitsoberfläche und/oder einer in die Arbeitsoberfläche getriebenen Befestigungsvorrichtung zu erfassen. Das Steuersystem 1302 kann dafür ausgelegt sein, einen Zustand der Arbeitsoberfläche und/oder der Befestigungsvorrichtung relativ zu der Arbeitsoberfläche aus einer oder mehreren der erfassten Eigenschaften zu bestimmen.
  • Bei dieser Ausführungsform würde das Steuersystem 1302 Bild- (z.B. optische oder akustische) und Annotationsinformationen von dem Sensor 1304 empfangen. Unter Verwendung dieser und einer vorgeschriebenen Anzahl von Klassen k und des Ähnlichkeitsmaßes K, die im System gespeichert sind, kann das Steuersystem 1302 das in 10 beschriebene Verfahren verwenden, um jedes Pixel des von dem Sensor 1304 empfangenen Bildes zu klassifizieren, um zum Beispiel ein Bild einer Arbeitsoberfläche oder Befestigungsvorrichtung in zwei oder mehr Klassen zu segmentieren, um Anomalien in der Arbeitsoberfläche oder der Befestigungsvorrichtung zu detektieren. Auf der Basis dieser Klassifikation können Signale zu dem Aktor 1306, zum Beispiel zu dem Druck oder der Drehzahl des Werkzeugs gesendet werden, oder beliebige der durch den Aktor 1306 ausgeführten Aktionen, wie in den obigen Abschnitten beschrieben. Auf der Basis dieser Klassifikation können Signale zum Beispiel auch zu dem Sensor 1304 gesendet werden, um eine Kameralinse zu fokussieren oder zu bewegen. In einem anderen Beispiel kann das Bild ein Zeitreihenbild von Signalen von dem Elektrowerkzeug 1300 sein, wie etwa Druck, Drehmoment, Umdrehungen pro Minute, Temperatur, Strom usw., wobei das Elektrowerkzeug ein Bohrhammer, eine Bohrmaschine, ein Hammer (rotierend oder abbrechend), ein Schlagschrauber, eine Säbelsäge, ein oszillierendes Mehrfachwerkzeug und das Elektrowerkzeug entweder kabellos oder kabelgebunden ist.
  • 14 zeigt eine schematische Darstellung eines Steuersystems 1402, das dafür ausgelegt ist, einen automatisierten persönlichen Assistenten 1401 zu steuern. Das Steuersystem 1402 kann dafür ausgelegt sein, den Aktor 1406 zu steuern, der dafür ausgelegt ist, den automatisierten persönlichen Assistenten 1401 zu steuern. Der automatisierte persönliche Assistent 1401 kann dafür ausgelegt sein, ein Haushaltsgerät, wie etwa eine Waschmaschine, einen Herd, einen Backofen, eine Mikrowelle oder ein Geschirrspüler, zu steuern.
  • Bei dieser Ausführungsform würde das Steuersystem 1402 Bild- (z.B. optische oder akustische) und Annotationsinformationen von dem Sensor 1404 empfangen. Unter Verwendung dieser und einer vorgeschriebenen Anzahl von Klassen k und des Ähnlichkeitsmaßes K, die im System gespeichert sind, kann das Steuersystem 1402 das in 10 beschriebene Verfahren verwenden, um jedes Pixel des von dem Sensor 1404 empfangenen Bildes zu klassifizieren, um zum Beispiel ein Bild eines Haushaltsgeräts oder eines anderen Objekts, das zu manipulieren oder zu betreiben ist, zu segmentieren. Auf der Basis dieser Klassifikation können Signale zu dem Aktor 1406 gesendet werden, um zum Beispiel bewegliche Teile des automatisierten persönlichen Assistenten 1401 zur Interaktion mit Haushaltsgeräten zu steuern, oder beliebige der durch den Aktor 1406 ausgeführten Aktionen, wie in den obigen Abschnitten beschrieben. Auf der Basis dieser Klassifikation können Signale zum Beispiel auch zu dem Sensor 1404 gesendet werden, um eine Kameralinse zu fokussieren oder zu bewegen.
  • 15 zeigt eine schematische Darstellung eines Steuersystems 1502, das dafür ausgelegt ist, ein Überwachungssystem 1500 zu steuern. Das Überwachungssystem 1500 kann dafür ausgelegt sein, Zugang durch die Tür 252 physisch zu kontrollieren. Der Sensor 1504 kann dafür ausgelegt sein, eine Szene zu detektieren, die bei der Entscheidung, ob Zugang gewährt wird, relevant ist. Der Sensor 1504 kann ein optischer oder akustischer Sensor oder ein Sensorarray sein, ausgelegt zum Erzeugen und Übertragen von Bild- und/oder Videodaten. Solche Daten können von dem Steuersystem 1502 zur Detektion des Gesichts einer Person verwendet werden.
  • Das Überwachungssystem 1500 kann auch ein Beaufsichtigungssystem sein. Bei einer solchen Ausführungsform kann der Sensor 1504 ein Wellenenergiesensor sein, wie etwa ein optischer Sensor, ein Infrarotsensor, ein akustischer Sensor, der dafür ausgelegt ist, eine Szene zu detektieren, die beaufsichtigt wird, und das Steuersystem 1502 ist dafür ausgelegt, eine Anzeige 1508 zu steuern. Das Steuersystem 1502 ist dafür ausgelegt, eine Klassifikation einer Szene zu bestimmen, z.B. ob die durch den Sensor 1504 detektierte Szene verdächtig ist. Es kann ein Perturbationsobjekt benutzt werden, um bestimmte Arten von Objekten zu detektieren, um es dem System zu erlauben, solche Objekte in nicht optimalen Bedingungen (z.B. Nacht, Nebel, Regen, störende Hintergrundgeräusche usw.) zu identifizieren. Das Steuersystem 1502 ist dafür ausgelegt, als Reaktion auf die Klassifikation einen Aktorsteuerbefehl zu der Anzeige 1508 zu senden. Die Anzeige 1508 kann dafür ausgelegt sein, den angezeigten Inhalt als Reaktion auf den Aktorsteuerbefehl zu justieren. Zum Beispiel kann die Anzeige 1508 ein Objekt, das durch die Steuerung 1502 als verdächtig betrachtet wird, hervorheben.
  • Bei dieser Ausführungsform würde das Steuersystem 1502 Bild- (z.B. optische oder akustische) und Annotationsinformationen von dem Sensor 1504 empfangen. Unter Verwendung dieser und einer vorgeschriebenen Anzahl von Klassen k und des Ähnlichkeitsmaßes K, die im System gespeichert sind, kann das Steuersystem 1502 das in 10 beschriebene Verfahren verwenden, um jedes Pixel des von dem Sensor 1504 empfangenen Bildes zu klassifizieren, um zum Beispiel die Anwesenheit verdächtiger oder unerwünschter Objekte in der Szene zu detektieren, um Arten von Beleuchtungs- oder Sichtbedingungen zu detektieren oder Bewegung zu detektieren. Auf der Basis dieser Klassifikation können Signale zu dem Aktor 1506 gesendet werden, um zum Beispiel Türen oder andere Eingänge zu verriegeln oder zu entriegeln, um einen Alarm oder ein anderes Signal zu aktivieren oder beliebige der durch den Aktor 1506 ausgeführten Aktionen, wie in den obigen Abschnitten beschrieben. Auf Basis dieser Klassifikation können auch Signale zu dem Sensor 1504 gesendet werden, zum Beispiel, um eine Kameralinse zu fokussieren oder zu bewegen.
  • 16 zeigt eine schematische Darstellung eines Steuersystems 1602, das dafür ausgelegt ist, ein Bildgebungssystem 1600 zu steuern, zum Beispiel eine MRI-Vorrichtung, eine Röntgenbildgebungsvorrichtung oder Ultraschallvorrichtung. Der Sensor 1604 kann zum Beispiel ein Bildgebungssensor oder ein akustisches Sensorarray sein. Das Steuersystem 1602 kann dafür ausgelegt sein, eine Klassifikation des gesamten erfassten Bildes oder eines Teils davon zu bestimmen. Das Steuersystem 1602 kann dafür ausgelegt sein, als Reaktion auf die durch das trainierte neuronale Netz erhaltene Klassifikation einen Aktorsteuerbefehl zu bestimmen oder auszuwählen. Zum Beispiel kann das Steuersystem 1602 eine Region eines erfassten (optischen oder akustischen) Bildes als potenziell anomal interpretieren. In diesem Fall kann der Aktorsteuerbefehl bestimmt oder ausgewählt werden, um zu bewirken, dass die Anzeige 1606 die Bildgebung anzeigt und die potenziell anomale Region hervorhebt.
  • Bei dieser Ausführungsform würde das Steuersystem 1602 Bild- und Annotationsinformationen von dem Sensor 1604 empfangen. Unter Verwendung dieser und einer vorgeschriebenen Anzahl von Klassen k und des Ähnlichkeitsmaßes K, die im System gespeichert sind, kann das Steuersystem 1602 das in 10 beschriebene Verfahren verwenden, um jedes Pixel des von dem Sensor 1604 empfangenen Bildes zu klassifizieren. Auf der Basis dieser Klassifikation können Signale zu dem Aktor 1606 gesendet werden, um zum Beispiel anomale Regionen des Bildes zu detektieren, oder beliebige der durch den Aktor 1606 ausgeführten Aktionen, wie in den obigen Abschnitten beschrieben.
  • Der Programmcode, der die hier beschriebenen Algorithmen und/oder Methodologien realisiert, kann individuell oder kollektiv als ein Programmprodukt in vielfältigen verschiedenen Formen verteilt werden. Der Programmcode kann unter Verwendung eines computer-lesbaren Speicherungsmediums mit computer-lesbaren Programmanweisungen darauf verteilt werden, um zu bewirken, dass ein Prozessor Aspekte einer oder mehrerer Ausführungsformen ausführt. Computer-lesbare Speicherungsmedien, die naturgemäß nicht transitorisch sind, können flüchtige und nichtflüchtige und wechselbare und nicht wechselbare greifbare Medien umfassen, die in einer beliebigen Methode oder Technologie zur Speicherung von Informationen implementiert werden, wie etwa computer-lesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten. Computer-lesbare Speicherungsmedien können ferner RAM, ROM, EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), Flash-Speicher oder andere Halbleiter-Speichertechnologie, tragbaren CD-ROM (Compact Disc Read-Only Memory) oder andere optische Speicherung, Magnetkassetten, Magnetband, magnetische Datenträger oder andere magnetische Speicherungsvorrichtungen oder ein beliebiges anderes Medium umfassen, das zum Speichern der gewünschten Informationen verwendet und durch einen Computer gelesen werden kann. Computer-lesbare Programmanweisungen können in einen Computer, eine andere Art von programmierbarer Datenverarbeitungsvorrichtung oder eine andere Vorrichtung von einem computer-lesbaren Speicherungsmedium oder über ein Netzwerk in einen externen Computer oder eine externe Speicherungsvorrichtung heruntergeladen werden.
  • In einem computer-lesbaren Medium gespeicherte computer-lesbare Programmanweisungen können verwendet werden, um einen Computer, andere Arten von programmierbarer Datenverarbeitungsvorrichtung oder andere Vorrichtungen dazu anzuweisen, auf eine bestimmte Weise zu funktionieren, so dass die in dem computer-lesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel produzieren, der Anweisungen umfasst, die die in den Flussdiagrammen oder Darstellungen angegebenen Funktionen, Schritte und/oder Operationen implementieren. Bei bestimmten alternativen Ausführungsformen können die in den Flussdiagrammen und Darstellungen angegebenen Funktionen, Schritte und/oder Operationen vereinbar mit einer oder mehreren Ausführungsformen umgeordnet, seriell verarbeitet und/oder gleichzeitig verarbeitet werden. Außerdem können beliebige der Flussdiagramme und/oder Darstellungen vereinbar mit einer oder mehreren Ausführungsformen mehr oder weniger Knoten oder Blöcke enthalten als die dargestellten.
  • Obwohl die gesamte Erfindung durch eine Beschreibung verschiedener Ausführungsformen veranschaulicht wurde und obwohl diese Ausführungsformen in beträchtlichem Detail beschrieben wurden, wird vom Anmelder nicht beabsichtigt, den Schutzumfang der angefügten Ansprüche auf irgendeine Weise auf solche Einzelheiten zu beschränken oder zu begrenzen. Fachleuten werden ohne Weiteres zusätzliche Vorteile und Modifikationen einfallen. Die Erfindung in ihren allgemeineren Aspekten wird deshalb nicht auf die spezifischen Einzelheiten, repräsentativen Vorrichtungen und Verfahren und die Anschauungsbeispiele, die gezeigt und beschrieben wurden, beschränkt. Dementsprechend können Abweichungen von solchen Einzelheiten vorgenommen werden, ohne vom Wesen oder Schutzumfang des allgemeinen erfindungsgemäßen Konzepts abzuweichen.
  • Claims (19)

    1. Computer-implementiertes Verfahren zum Verarbeiten eines Bildes unter Verwendung eines Faltungs-Neuronalnetzes, wobei das Computer-implementierte Verfahren Folgendes umfasst: Empfangen eines Bildes; Aufteilen des Bildes in Patches, wobei jedes Patch die Größe p aufweist; Extrahieren einer Merkmalabbildung, die eine Anzahl von Kanälen auf der Basis eines Merkmaldetektors der Größe p aufweist, über eine erste Faltungsschicht, wobei der Merkmaldetektor ein Stride gleich der Größe p aufweist; Verfeinern der Merkmalabbildung durch abwechselndes Anwenden von tiefenweisen Faltungsschichten und punktweisen Faltungsschichten, um eine verfeinerte Merkmalabbildung zu erhalten, wobei die Anzahl der Kanäle in der Merkmalabbildung und die Größe der Merkmalabbildung im Verlauf aller Operationen in der Verfeinerung konstant bleibt; und Ausgeben der verfeinerten Merkmalabbildung.
    2. Verfahren nach Anspruch 1, wobei das Verfahren Empfangen des Bildes von einem Sensor umfasst.
    3. Verfahren nach Anspruch 2, wobei der Sensor einer von Video, RADAR, LIDAR oder Ultraschall ist und sich mit einer Steuerung in Kommunikation befindet, die dafür ausgelegt ist, ein autonomes Fahrzeug auf der Basis der verfeinerten Merkmalabbildung zu steuern.
    4. Verfahren nach Anspruch 2, wobei der Sensor einer von Video, Schall, IR oder LIDAR ist und sich in Kommunikation mit einer Steuerung befindet, die dafür ausgelegt ist, eine Zugangstür auf der Basis der verfeinerten Merkmalabbildung zu steuern.
    5. Verfahren nach Anspruch 2, wobei der Sensor einer von Video, Schall, Ultraschall, IR oder LIDAR ist und sich in Kommunikation mit einer Steuerung befindet, die dafür ausgelegt ist, ein mechanisches System auf der Basis der verfeinerten Merkmalabbildung zu steuern.
    6. Verfahren nach Anspruch 1, wobei die erste Faltungsschicht eine Aktivierungsfunktion umfasst, die eine GELU (Gaussian Error Linear Unit) ist.
    7. Verfahren nach Anspruch 1, ferner umfassend: Mitteln der Merkmalabbildung über räumliche Orte für jeden Kanal, um einen Mittelwert für alle Kanäle zu erhalten; Transformieren des Mittelwerts für alle Kanäle, um eine Wahrscheinlichkeit zu erhalten, dass das Eingangsbild einer spezifischen Klasse entspricht; und Ausgeben der Wahrscheinlichkeit, dass das Bild zu der spezifischen Klasse gehört.
    8. Computer-implementiertes Verfahren zum Verarbeiten eines Bildes unter Verwendung eines Faltungs-Neuronalnetzes, wobei das Computer-implementierte Verfahren Folgendes umfasst: Empfangen eines Bildes der Größe L × W; Aufteilen des Bildes in Patches, wobei eine kombinierte Größe jedes Patch gleich L × W ist; Extrahieren einer Merkmalabbildung, die eine Anzahl von Kanälen auf der Basis eines Merkmaldetektors einer Größe gleich der Patchgröße aufweist, über eine erste Faltungsschicht, wobei der Merkmaldetektor ein Stride gleich der Patchgröße aufweist; Verfeinern der Merkmalabbildung durch abwechselndes Anwenden von tiefenweisen Faltungsschichten und punktweisen Faltungsschichten, um eine verfeinerte Merkmalabbildung zu erhalten, wobei die Anzahl der Kanäle in der Merkmalabbildung und die Größe der Merkmalabbildung im Verlauf aller Operationen in der Verfeinerung konstant bleibt; und Ausgeben der verfeinerten Merkmalabbildung.
    9. Verfahren nach Anspruch 8, wobei jede Patchgröße p × p ist.
    10. Verfahren nach Anspruch 8, wobei das Verfahren Empfangen des Bildes von einem Sensor umfasst.
    11. Verfahren nach Anspruch 10, wobei der Sensor einer von Video, RADAR, LIDAR oder Ultraschall ist und sich mit einer Steuerung in Kommunikation befindet, die dafür ausgelegt ist, ein autonomes Fahrzeug auf der Basis der verfeinerten Merkmalabbildung zu steuern.
    12. Verfahren nach Anspruch 10, wobei der Sensor einer von Video, Schall, IR oder LIDAR ist und sich in Kommunikation mit einer Steuerung befindet, die dafür ausgelegt ist, eine Zugangstür auf der Basis der verfeinerten Merkmalabbildung zu steuern.
    13. Verfahren nach Anspruch 10, wobei der erste Sensor einer von Video, Schall, Ultraschall, IR oder LIDAR ist und sich in Kommunikation mit einer Steuerung befindet, die dafür ausgelegt ist, ein mechanisches System auf der Basis der verfeinerten Merkmalabbildung zu steuern.
    14. Verfahren nach Anspruch 8, ferner umfassend: Mitteln der Merkmalabbildung über räumliche Orte für jeden Kanal, um einen Mittelwert für alle Kanäle zu erhalten; Transformieren des Mittelwerts für alle Kanäle, um eine Wahrscheinlichkeit zu erhalten, dass das Eingangsbild einer spezifischen Klasse entspricht; und Ausgeben der Wahrscheinlichkeit, dass das Bild zu der spezifischen Klasse gehört.
    15. Faltungs-Neuronalnetzsystem, umfassend: einen Sensor; und eine Steuerung, wobei die Steuerung ausgelegt ist zum Empfangen eines Bildes von dem Sensor, Aufteilen des Bildes in Patches, wobei jedes Patch die Größe p aufweist; Extrahieren einer Merkmalabbildung, die eine Anzahl von Kanälen auf der Basis eines Merkmaldetektors der Größe p aufweist, über eine erste Faltungsschicht, wobei der Merkmaldetektor ein Stride gleich der Größe p aufweist; Verfeinern der Merkmalabbildung durch abwechselndes Anwenden von tiefenweisen Faltungsschichten und punktweisen Faltungsschichten, um eine verfeinerte Merkmalabbildung zu erhalten, wobei die Anzahl der Kanäle in der Merkmalabbildung und die Größe der Merkmalabbildung im Verlauf aller Operationen in der Verfeinerung konstant bleibt; und Ausgeben der verfeinerten Merkmalabbildung.
    16. Faltungs-Neuronalnetzsystem nach Anspruch 15, wobei der Sensor einer von Video, RADAR, LIDAR oder Ultraschall ist und die Steuerung ferner dafür ausgelegt ist, ein autonomes Fahrzeug auf der Basis der verfeinerten Merkmalabbildung zu steuern.
    17. Faltungs-Neuronalnetzsystem nach Anspruch 15, wobei der Sensor einer von Video, Schall, IR oder LIDAR ist und die Steuerung ferner dafür ausgelegt ist, eine Zugangstür auf der Basis der verfeinerten Merkmalabbildung zu steuern.
    18. Faltungs-Neuronalnetzsystem nach Anspruch 15, wobei der Sensor einer von Video, Schall, Ultraschall, IR oder LIDAR ist und die Steuerung ferner dafür ausgelegt ist, ein mechanisches System auf der Basis der verfeinerten Merkmalabbildung zu steuern.
    19. Faltungs-Neuronalnetzsystem nach Anspruch 15, wobei die Steuerung ferner für Folgendes ausgelegt ist: Mitteln der Merkmalabbildung über räumliche Orte für jeden Kanal, um einen Mittelwert für alle Kanäle zu erhalten; Transformieren des Mittelwerts für alle Kanäle, um eine Wahrscheinlichkeit zu erhalten, dass das Eingangsbild einer spezifischen Klasse entspricht; und Ausgeben der Wahrscheinlichkeit, dass das Bild zu der spezifischen Klasse gehört.
    DE102022210129.4A 2021-09-28 2022-09-26 Bildverarbeitung über isotonische faltungs-neuronalnetze Pending DE102022210129A1 (de)

    Applications Claiming Priority (2)

    Application Number Priority Date Filing Date Title
    US17/487,631 US11922291B2 (en) 2021-09-28 2021-09-28 Image processing via isotonic convolutional neural networks
    US17/487,631 2021-09-28

    Publications (1)

    Publication Number Publication Date
    DE102022210129A1 true DE102022210129A1 (de) 2023-03-30

    Family

    ID=85477154

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE102022210129.4A Pending DE102022210129A1 (de) 2021-09-28 2022-09-26 Bildverarbeitung über isotonische faltungs-neuronalnetze

    Country Status (4)

    Country Link
    US (1) US11922291B2 (de)
    JP (1) JP2023049041A (de)
    CN (1) CN115880560A (de)
    DE (1) DE102022210129A1 (de)

    Cited By (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE102023200345A1 (de) 2023-01-18 2024-07-18 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Verarbeiten eines Digitalbildes zur Anomalieoder Normalitätsdetektion

    Families Citing this family (4)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US12026621B2 (en) * 2020-11-30 2024-07-02 Robert Bosch Gmbh Method and system for low-query black-box universal attacks
    US20240037282A1 (en) * 2022-07-26 2024-02-01 Robert Bosch Gmbh Method and system of crown based for adversarial attacks
    CN117332320B (zh) * 2023-11-21 2024-02-02 浙江大学 一种基于残差卷积网络的多传感器融合pmsm故障诊断方法
    CN117746510B (zh) * 2024-02-19 2024-05-28 河海大学 一种基于点云特征图的实时三维行为识别方法

    Family Cites Families (3)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    CN106295476B (zh) * 2015-05-29 2019-05-17 腾讯科技(深圳)有限公司 人脸关键点定位方法和装置
    US10713794B1 (en) * 2017-03-16 2020-07-14 Facebook, Inc. Method and system for using machine-learning for object instance segmentation
    US11263782B2 (en) * 2017-10-11 2022-03-01 Qualcomm Incorporated Image signal processor for processing images

    Cited By (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE102023200345A1 (de) 2023-01-18 2024-07-18 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Verarbeiten eines Digitalbildes zur Anomalieoder Normalitätsdetektion

    Also Published As

    Publication number Publication date
    CN115880560A (zh) 2023-03-31
    US11922291B2 (en) 2024-03-05
    JP2023049041A (ja) 2023-04-07
    US20230096021A1 (en) 2023-03-30

    Similar Documents

    Publication Publication Date Title
    DE102022210129A1 (de) Bildverarbeitung über isotonische faltungs-neuronalnetze
    DE102019120880A1 (de) End-to-end-deep-generative-modell für simultane lokalisierung und abbildung
    DE102017116192A1 (de) Verwenden von virtuellen Daten zum Testen und Trainieren von Parkplatzerfassungssystemen
    DE102019118999A1 (de) Lidar-basierte objektdetektion und -klassifikation
    DE102021207269A1 (de) Verfahren und system zum erlernen von perturbationsmengen beim maschinenlernen
    DE102017105628A1 (de) Verfahren und system zur virtuellen sensordatenerzeugung mit tiefen-ground-truth-annotation
    DE102022206060A1 (de) Verteidigung von multimodalen fusionsmodellen gegen angreifer mit nur einer quelle
    CN108537825B (zh) 一种基于迁移学习回归网络的目标跟踪方法
    DE102021213118A1 (de) Verfahren und ein system für black-box-universalangriffe mit geringer abfrage
    DE102022212583A1 (de) Bildquantisierung unter Verwendung von Maschinenlernen
    DE102021205230A1 (de) Gefahrendetektions-ensemblearchitektursystem und-verfahren
    DE112022001546T5 (de) Systeme und Verfahren zur Erzeugung von Objekterkennungs-Labels unter Verwendung fovealer Bildvergrößerung für autonomes Fahren
    DE102022211512A1 (de) Verbesserungen in einem umschaltenden rekurrenten kalman-netz
    DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
    DE102020200503A1 (de) Verfahren zum Generieren von gelabelten Daten, insbesondere für das Training eines neuronalen Netzes, mittels Verbesserung initialer Label
    DE102023203691A1 (de) Verfahren und System zur Erkennung von Anomalien auf Graphenebene
    DE102020213076A1 (de) Verfahren und vorrichtung für eine fortschrittliche faltung an verschlüsselten daten
    DE102023207516A1 (de) Systeme und Verfahren zur Experten-geführten Halbüberwachung mit Contrastive Loss für Maschinenlernmodelle
    DE102021201178A1 (de) Computerimplementiertes verfahren zum erzeugen von zuverlässigkeitsangaben für computervision
    DE102023207534A1 (de) System und Verfahren zur universellen Bereinigung von Eingangsstörungen mit entrauschten Diffusionsmodellen
    DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
    DE102021210415A1 (de) Verfahren und system zum erlernen des gemeinsamen latenten adversarischen trainings
    DE102022206063A1 (de) System und verfahren zum vorschalten von robustifiziereren für vortrainierte modelle gegen feindliche angriffe
    US20220237897A1 (en) Computer-implemented method for analyzing relevance of visual parameters for training a computer vision model
    EP3561701A1 (de) Verfahren und vorrichtung zum bestimmen einer körperlichen form, verfahren zur herstellung einer berechnungseinrichtung, berechnungseinrichtung und verwendung der berechnungseinrichtung

    Legal Events

    Date Code Title Description
    R012 Request for examination validly filed