DE102023121895A1 - Hardwarefreundliches Multi-Kernel-Faltungsnetzwerk - Google Patents

Hardwarefreundliches Multi-Kernel-Faltungsnetzwerk Download PDF

Info

Publication number
DE102023121895A1
DE102023121895A1 DE102023121895.6A DE102023121895A DE102023121895A1 DE 102023121895 A1 DE102023121895 A1 DE 102023121895A1 DE 102023121895 A DE102023121895 A DE 102023121895A DE 102023121895 A1 DE102023121895 A1 DE 102023121895A1
Authority
DE
Germany
Prior art keywords
feature maps
feature
channels
electronic device
processing
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
DE102023121895.6A
Other languages
English (en)
Inventor
Qingfeng Liu
Mostafa El-Khamy
Sukhwan Lim
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102023121895A1 publication Critical patent/DE102023121895A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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/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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Neurology (AREA)
  • Algebra (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Processing (AREA)

Abstract

Offenbart werden ein System und ein Verfahren zum Verarbeiten und Kombinieren von Feature-Maps unter Verwendung eines hardwarefreundlichen Multi-Kernel-Faltungs-Block (HFMCB). Das Verfahren beinhaltet ein Splitten einer Eingabe-Feature-Map in eine Mehrzahl von Feature-Maps, wobei jede von der Mehrzahl von Feature-Maps eine reduzierte Anzahl von Kanälen aufweist; ein Verarbeiten einer jeden von der Mehrzahl von Feature-Maps mit einer unterschiedlichen Reihe von Kernels; und ein Kombinieren der verarbeiteten Mehrzahl von Feature-Maps.

Description

  • Querverweis auf eine verwandte Anmeldung
  • Die vorliegende Anmeldung nimmt gemäß 35 U.S.C. § 119(e) die Priorität der am 17. Oktober 2022 eingereichten vorläufigen US-Anmeldung Nr. 63/416,781 in Anspruch, deren Offenbarung hierin vollinhaltlich durch Bezugnahme aufgenommen wird.
  • Technisches Gebiet
  • Die Offenbarung bezieht sich im Allgemeinen auf ein hardwarefreundliches Multi-Kernel-Faltungsnetzwerk (HFMCN). Insbesondere betrifft der hierin offenbarte Gegenstand Verbesserungen an einer auf dem HFMCN basierten Bildsignalverarbeitung.
  • Kurzfassung
  • In Bezug auf Bildverarbeitungseffizienz und -genauigkeit haben neuronale Faltungsnetzwerke (CNNs) eine erhebliche Verbesserung ermöglicht. Die Durchführung einer Super-Auflösung (SR), eine Bildrauschunterdrückung (NR) und/oder einer temporären Rauschunterdrückung (TNR) ist jeweils unter Verwendung von CNNs möglich. Das Design von CNNs kann jedoch komplex und rechenintensiv sein, was deren Implementierung in einer Hardware schwierig gestaltet.
  • Eine Herausforderung, die sich bei einem Design für eine Bildsignalverarbeitung (ISP) stellt, ist die Minimierung des rechnerischen Aufwands. Dies kann nur dann erreicht werden, wenn für alle Anwendungen ein Single-Core-Netzwerk verwendet wird. Die Netzwerke für SR, NR und TNR werden aber normalerweise unabhängig voneinander entwickelt, wobei sie nur wenige Charakteristika in ihrem Design gemein haben.
  • SR-Netzwerke können Attention- und Dense-Verbindungen nutzen, ohne z. B. ein Eingabe-Bild zu downsampeln, wohingegen NR-Netzwerke eine U-Net-Struktur (U-förmige Netzwerkverbindungen zwischen einem Encoder und einem Dekodierer) verwenden können, welche das Eingabe-Bild downsampelt.
  • Zur Lösung dieses Problems wird ein als HFMCN bezeichnetes Allzweck-Netzwerk offenbart, welches für eine oder mehrere SR-, NR und TNR-Aufgaben effizient verwendet werden kann. Das HFMCN kann im Vergleich zu traditionellen Netzwerkkonfigurationen für Hardwareimplementierungen zudem besser geeignet sein.
  • Eine weitere sich bei der ISP stellende Herausforderung ist, dass das Design der Hardware-Aware-Netzwerke die Auswahl an Netzwerkkomponenten einschränken kann. Bestimmte Komponenten, wie Attention-Mechanismen, erweiterte Faltungen, parametrisch gleichgerichtete Lineareinheiten (PReLU) und Dense-Verbindungen, die in SR- und NR-Netzwerken weit verbreitet sind, erweisen sich in einer Hardware häufig als ineffizient. Zudem wird ein hoch rezeptives Feld normalerweise mit einer besseren Leistung bei SR und NR in Verbindung gebracht, doch werden Netzwerke mit einem hoch rezeptiven Feld möglicherweise nicht von den aktuellen Hardware-Designkonfigurationen unterstützt, um so den rechnerischen Aufwand zu reduzieren.
  • Um diesen Herausforderungen zu entgegnen, wird ein elementarer Block des offenbarten allgemeinen Netzwerks, HFMCN, eingeführt. Dieser elementare Block wird als ein hardwarefreundlicher Multi-Kernel-Faltungs-Block (HFMCB) bezeichnet, welcher hardwarefreundliche Operatoren beinhaltet. Der HFMCB geht die Beschränkungen eines Hardware-Aware-Netzwerk-Designs an, indem er eine praktische Lösung zum effizienten Implementieren von Bildwiederherstellungs- (z. B. ISP-) Netzwerken auf einer Hardware bereitstellt.
  • Um diesen Problemen zu entgegnen, werden hierin Systeme und Verfahren zum Bereitstellen eines SR-, NR- und TNR-Systems beschrieben, welches einen Kompromiss zwischen dem Stand der Technik entsprechender Leistung und Komplexität erreichen kann.
  • Die Offenbarung sieht einen HFMCB zum Erhalten diverser Features mit unterschiedlichen rezeptiven Feldern vor. Dieser kann sich auf unwirksame kaskadierte Strukturentwürfe bessernd auswirken und bei einer effizienten Nutzung einer Parallelverarbeitung als geeigneter erweisen. Darüber hinaus können die Operationen innerhalb des HFMCB mit Sorgfalt ausgewählt werden, damit sie hardwarefreundlich sind.
  • Zusätzlich sieht die Offenbarung ein HFMCN vor, welches einen oder mehrere HFMCBs so stapelt, dass für mehrere ISP-Prozesse, wie z. B. SR-, NR- und TNR-Aufgaben, ein besserer Kompromiss zwischen Genauigkeit und Komplexität erreicht werden kann.
  • In einer Ausführungsform ist ein Verfahren zum Verarbeiten und Kombinieren von Feature-Maps unter Verwendung eines HFMCB vorgesehen. Das Verfahren beinhaltet ein Splitten einer Eingabe-Feature-Map in eine Mehrzahl von Feature-Maps, wobei jede von der Mehrzahl von Feature-Maps eine reduzierte Anzahl von Kanälen aufweist; ein Verarbeiten einer jeden von der Mehrzahl von Feature-Maps mit einer unterschiedlichen Reihe von Kernels; und ein Kombinieren der verarbeiteten Mehrzahl von Feature-Maps.
  • In einer Ausführungsform ist eine elektronische Vorrichtung zum Verarbeiten und Kombinieren von Feature-Maps unter Verwendung eines HFMCB vorgesehen. Die elektronische Vorrichtung beinhaltet zumindest einen Prozessor; und zumindest einen Speicher, welcher mit dem zumindest einen Prozessor funktionell verbunden ist, wobei der zumindest eine Speicher Anweisungen speichert, welche, wenn sie ausgeführt werden, den zumindest einen Prozessor anweisen, ein Verfahren zum Verarbeiten und Kombinieren der Feature-Maps unter Verwendung des HFMCB durchzuführen, durch Splitten einer Eingabe-Feature-Map in eine Mehrzahl von Feature-Maps, wobei jede von der Mehrzahl von Feature-Maps eine reduzierte Anzahl von Kanälen aufweist, Verarbeiten von einer jeden von der Mehrzahl von Feature-Maps mit einer unterschiedlichen Reihe von Kernels; und Kombinieren der verarbeiteten Mehrzahl von Feature-Maps.
  • In einer Ausführungsform ist ein Verfahren zum Anwenden eines HFMCN auf ein Eingabe-Bild unter Verwendung von einem oder mehreren HFMCBs vorgesehen. Das Verfahren beinhaltet ein Anwenden einer tiefenweise separierbaren Faltungsfunktion auf das Eingabe-Bild, wodurch eine Kanalgröße einer Feature-Map von einer ersten Anzahl von Kanälen auf eine zweite Anzahl von Kanälen erhöht wird; ein Anwenden des einen oder der mehreren HFMCBs auf die Feature-Map, welche die zweite Anzahl von Kanälen aufweist, wobei das Anwenden des einen oder der mehreren HFMCBs ein Splitten der Feature-Map in eine Mehrzahl von Feature-Maps beinhaltet, wobei jede von der Mehrzahl von Feature-Maps eine dritte Anzahl von Kanälen aufweist, welche kleiner als die zweite Anzahl von Kanälen ist; ein Verarbeiten einer jeden von der Mehrzahl von Feature-Maps mit einer unterschiedlichen Reihe von Kernels, und ein Kombinieren der verarbeiteten Mehrzahl von Feature-Maps; und ein Verarbeiten der kombinierten Mehrzahl von Feature-Maps unter Verwendung einer anwendungsspezifischen Schicht (ASL) zum Ausgeben eines verarbeiteten Ausgabe-Bildes.
  • Kurzbeschreibung der Zeichnungen
  • In dem nachstehenden Abschnitt werden Aspekte des hierin offenbarten Gegenstands unter Bezugnahme auf beispielhafte Ausführungsformen, welche in den Zeichnungen dargestellt sind, näher erläutert. Es zeigen:
    • 1 einen HFMCB gemäß einer Ausführungsform;
    • 2 einen Information-Multi-Distillation-Block (IMDB) gemäß einer Ausführungsform;
    • 3 ein HFMCN gemäß einer Ausführungsform;
    • 4 ein HFMCN-Netzwerkdesign für eine SR-Aufgabe gemäß einer Ausführungsform;
    • 5 ein HFMCN-Netzwerkdesign für eine NR-Aufgabe gemäß einer Ausführungsform;
    • 6 ein HFMCN-Netzwerkdesign für eine TNR-Aufgabe gemäß einer Ausführungsform; und
    • 7 ein Blockdiagramm einer elektronischen Vorrichtung in einer Netzwerkumgebung gemäß einer Ausführungsform.
  • Ausführliche Beschreibung
  • Für ein gründliches Verständnis der Offenbarung sind in der nachstehenden ausführlichen Beschreibung zahlreiche spezifische Details aufgeführt. Fachleuten ist jedoch klar, dass die offenbarten Aspekte auch ohne diese spezifischen Details praktizierbar sind. Um nicht zur Verschleierung des hierin offenbarten Gegenstands beizutragen, hat man in anderen Fällen auf eine ausführliche Beschreibung von hinreichend bekannten Verfahren, Vorgehensweisen, Komponenten und Schaltungen verzichtet.
  • Eine in der gesamten Beschreibung erfolgende Bezugnahme auf „eine einzelne Ausführungsform“ oder „eine Ausführungsform“ bedeutet, dass ein spezielles Merkmal, eine spezielle Struktur oder eine spezielle Charakteristik, welche in Verbindung mit der Ausführungsform beschrieben sind, in zumindest einer hierin offenbarten Ausführungsform enthalten sein können. Somit muss die Erwähnung der Ausdrücke „in einer einzelnen Ausführungsform“ oder „in einer Ausführungsform“ oder „gemäß einer Ausführungsform“ (oder anderer Ausdrücke mit ähnlichem Bedeutungsgehalt) an verschiedenen Stellen in der gesamten Beschreibung nicht notwendiger immer auf dieselbe Ausführungsform Bezug nehmen. Zudem können die speziellen Merkmale, Strukturen oder Charakteristiken in geeigneter Weise in einer oder mehreren Ausführungsformen kombiniert sein. In dieser Hinsicht bedeutet das Wort „beispielhaft“ „als ein Beispiel, Exemplar oder eine Darstellung dienend“. Eine beliebige hierin offenbarte Ausführungsform ist gegenüber anderen Ausführungsformen nicht als unbedingt bevorzugt oder vorteilhaft aufzufassen. Daneben können die speziellen Merkmale, Strukturen oder Charakteristiken in einer geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert sein. Zudem kann abhängig vom Kontext der Erörterung ein Begriff im Singular die entsprechenden Pluralformen beinhalten und ein Begriff im Plural die entsprechende Singularform beinhalten. Desgleichen kann ein mit Bindestrich versehener Ausdruck (z. B. „two-dimensional <<zweidimensiona>>, „predetermined“ «vorbestimmt», „pixel-specific“ <<pixelspezifisch<< etc.) mitunter gegen eine nicht mit einem Bindestrich versehene Version ausgetauscht werden (z. B. „two dimensional“, „predetermined“, „pixel specific“ etc.) und ein in Großbuchstaben erscheinender Eintrag (z. B. „Counter Clock“ <<Gegentak>>, „Row Select“ <<Zeilenauswahl>>, „PIXOUT“ etc.) kann gegen eine nicht in Großbuchstaben erscheinende Version ausgetauscht werden (z. B. „counter clock“, „row select“, „pixout“, etc.). Diese Art von mitunter austauschbar verwendeten Ausdrücken ist nicht als im Widerspruch zueinander zu verstehen.
  • Zudem kann abhängig vom Kontext der Erörterung ein Ausdruck im Singular die entsprechenden Formen im Plural beinhalten und ein Ausdruck im Plural die entsprechende Singularform beinhalten. Es wird ferner darauf hingewiesen, dass die verschiedenen hierin gezeigten und erörterten Figuren (einschließlich der Darstellungen der Komponenten) lediglich der Veranschaulichung dienen und nicht maßstabsgetreu wiedergegeben sind. Die Abmessungen einiger der Elemente können in Beziehung zu anderen Elementen der Deutlichkeit halber überdimensioniert dargestellt sein. Sofern es als angebracht erscheint, sind zudem zur Bezeichnung einander entsprechender und/oder analoger Elemente die Bezugszeichen von Figur zu Figur wiederholt aufgeführt worden.
  • Die hierin verwendete Terminologie dient der Erläuterung einiger beispielhafter Ausführungsformen und soll den beanspruchten Gegenstand nicht einschränken. Die hierin verwendeten im Singular verwendeten Begriffe „ein/e/r/s“ und „der/die/das“ sollen zusätzlich Formen im Plural beinhalten, wenn aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Es wird ferner darauf hingewiesen, dass die Begriffe „weist auf” und/oder „aufweisend“ bei Verwendung in dieser Beschreibung das Vorhandensein von angegebenen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten vorgeben, jedoch nicht das Vorhandensein oder das Hinzukommen von einem oder mehreren anderen Merkmalen, Ganzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen derselben ausschließen.
  • Es wird darauf hingewiesen, dass, wenn ein Element oder eine Schicht als sich befindend auf, „verbunden mit“ oder „gekoppelt an“ ein/em weiteres/n Element oder eine/r weitere/n Schicht bezeichnet ist, dieses oder diese direkt auf dem anderen Element oder der anderen Schicht befindlich sein kann, mit dem anderen Element oder der anderen Schicht verbunden oder gekoppelt sein kann oder dazwischen befindliche Elemente oder Schichten vorhanden sein können. Wenn demgegenüber ein Element bezeichnet wird als „direkt“ befindlich „auf“, „direkt verbunden mit“ oder „direkt gekoppelt an“ ein/em anderen/s Element oder eine/r andere/n Schicht, sind keine dazwischen befindlichen Elemente oder Schichten vorhanden. Identische Bezugszeichen beziehen sich durchweg auf identische Elemente. Der hierin verwendete Begriff „und/oder“ beinhaltet sämtliche Kombination von einem oder mehreren der entsprechenden aufgeführten Elemente.
  • Die hierin verwendeten Begriffe „erste/r/s“, „zweite/r/s“ etc. dienen der Kennzeichnung von Nomen, denen sie voranstehen, und implizieren keinerlei Ordnung (z. B. räumlich, zeitlich, logisch etc.), es sei denn, sie wären explizit als solche definiert. Ferner können in zwei oder mehreren Figuren identische Bezugszeichen zur Bezeichnung von Teilen, Komponenten, Blöcken, Schaltungen, Einheiten oder Modulen mit einer identischen oder ähnlichen Funktionalität verwendet werden. Ein derartiger Gebrauch dient jedoch ausschließlich dem Zweck einer vereinfachten Darstellung und Erörterung; dadurch soll nicht impliziert werden, dass die Design- und Architekturdetails von solchen Komponenten oder Einheiten in allen Ausführungsformen identisch sind oder dass derart allgemein bezeichnete Teile/Module die einzige Möglichkeit der Implementierung eines Teils der hierin offenbarten beispielhaften Ausführungsformen sind.
  • Wenn nicht anders angegeben, weisen alle Begriffe (einschließlich der technischen und wissenschaftlichen Begriffe), welche hierin verwendet werden, die gleiche Bedeutung auf, wie sie ein Durchschnittsfachmann auf dem Gebiet der Technik, auf welches sich der Gegenstand bezieht, allgemein verstehen würde. Es wird ferner darauf hingewiesen, dass Begriffe, wie sie in allgemein gebräuchlichen Wörterbüchern definiert sind, so zu interpretieren sind, als stimme deren Bedeutungsgehalt mit ihrer im Kontext der einschlägigen Technik geltenden Bedeutung überein, und sie nicht idealisiert oder übermäßig formal zu interpretieren sind, außer sie wären hierin ausdrücklich so definiert.
  • Der hierin verwendete Begriff „Modul“ bezieht sich auf eine beliebige Kombination aus einer Software, Firmware und/oder Hardware, welche zum Bereitstellen der hierin beschriebenen Funktionalität in Verbindung mit einem Modul konfiguriert ist. Zum Beispiel kann eine Software als ein Softwarepaket, ein Code und/oder ein Anweisungssatz oder Anweisungen verkörpert sein, wobei der Begriff „Hardware“, wie er in einer beliebigen hierin beschriebenen Ausführungsform verwendet wird, eine Anordnung, einen festverdrahteten Schaltungsaufbau, einen programmierbaren Schaltungsaufbau, einen Zustandsmaschinenschaltungsaufbau und/oder eine Firmware, welche Anweisungen speichert, welche durch den programmierbaren Schaltungsaufbau ausgeführt werden, z. B. einzeln oder in Kombination, beinhalten kann. Die Module können, zusammengenommen oder einzeln, als ein Schaltungsaufbau verkörpert sein, der z. B. Teil eines größeren Systems ist, jedoch nicht auf eine integrierte Schaltung (IC), ein System-on-Chip (SoC), eine Anordnung und so weiter beschränkt sein.
  • Gemäß einer Ausführungsform sieht die vorliegende Offenbarung einen HFMCB zum Erhalten diverser Features mit unterschiedlichen rezeptiven Feldern vor. Dieser kann sich mit der Ineffizienz der Hardware des kaskadierten Struktur-Designs befassen und bei einer effizienten Nutzung einer Parallelverarbeitung als geeigneter erweisen. Darüber hinaus können die Operationen innerhalb des HFMCB mit Sorgfalt ausgewählt werden, damit sie hardwarefreundlich sind.
  • Darüber hinaus sieht die vorliegende Offenbarung gemäß einer Ausführungsform zudem ein HFMCN vor, welches HFMCBs zum Erreichen eines besseren Kompromisses zwischen Genauigkeit und Komplexität für mehrere ISP-Prozesse, wie z. B. SR-, NR-, und TNR-Aufgaben, stapelt.
  • 1 stellt einen HFMCB gemäß einer Ausführungsformen dar.
  • Ein HFMCB kann auf einer Hardware oder einer Software implementiert sein. Zum Beispiel kann der HFMCB auf einem Eingabe-Bild implementiert sein, welches von einem Prozessor 720, einer Kamera 780, einem Sensor 776 oder einer anderen elektronischen Vorrichtung in 7 erhalten wird. Die Anleitung eines oder mehrerer Schritte des HFMCB kann durch einen Prozessor 720 (oder einen Controller) erfolgen und durchgeführt werden sowie auf einer elektronischen Vorrichtung 701 durchgeführt werden. Ferner kann die Ausgabe des HFMCB an zusätzliche Prozessoren oder elektronische Vorrichtungen zur Weiterverarbeitung bereitgestellt (z. B. übertragen) werden.
  • Bezugnehmend auf 1 ist ein detailliertes Block-Design eines HFMCB gezeigt. (m,n,t) sind als ein Tupel zur Beschreibung des Blocks definiert. Diese Parameter beinhalten die Eingabe-Kanalgröße (m), die Kanalgröße einer Expansion (n) und die Ausgabe-Kanalgröße von einem jeweiligen Block (t). Das Tupel kann eine geordnete, unveränderbare Sequenz von Werten sein.
  • Für jedes Eingabe-Feature (z. B. für jeden Eingabe-Datensatz) wird bei Schritt 101 eine tiefenweise separierbare Faltung (z. B. eine tiefenweise separierbare Faltungsroutine oder -funktion) als ein Expansionsblock mit einer 3x3-Kernelgröße, welche die Kanalgröße eines Eingabe-Features (z. B. einer Feature-Map) von m auf n erhöht, angewendet und bei Schritt 102 eine punktweise Faltung mit einer 1x1-Kernelgröße durchgeführt. Die tiefenweise Faltung wendet einen separaten Filter an jeden Eingabe-Kanal an, wodurch ein Satz von Ausgabe-Feature-Maps, einer für jeden Eingabe-Kanal, erzeugt wird. Ein Feature-Map kann ein Array (z. B. ein zweidimensionales Array) von Zahlen sein, welche eine Ausgabe einer Faltungsschicht darstellen.
  • Durch Separieren der Operationen einer Faltung in tiefenweise und punktweise Stufen, kann die Anzahl der erforderlichen Parameter und Berechnungen, deutlich reduziert werden, während gleichzeitig immer noch eine hohe Genauigkeit bei Aufgaben, wie z. B. einer Bildklassifizierung, einer Objekterfassung und einer semantischen Segmentierung, erreicht wird.
  • Bei Schritt 103 wird als die Aktivierungsfunktion eine gleichgerichtete Lineareinheit (ReLU) verwendet.
  • Danach werden in den Schritten 104 und 105 1x1-Faltungsfunktionen bei einem jeweiligen Schritt angewendet, um die Feature-Map entlang der Kanaldimensionierung in zwei Gruppen zu unterteilen, wo jeder Zweig eine Feature-Größe (Kanalgröße) n/2 aufweist.
  • In einem ersten Zweig werden bei Schritt 106 die tiefenweise separierbare Faltung und bei Schritt 107 die punktweise Faltung zum Erhalten eines unterschiedlichen rezeptiven Feldes von Features von einem zweiten Zweig verwendet. Beide Zweige wenden die ReLU als die Aktvierungsfunktion in Schritt 108 für den ersten Zweig und Schritt 109 für den zweiten Zweig an.
  • Schließlich werden die beiden Zweige unter Verwendung einer elementweisen Summenoperation summiert, um ein zusammengeführtes Feature zu bilden, worauf ein Durchführen einer 1x1-Faltungsfunktion in Schritt 110 folgt, um die Feature-Map-Größe (Kanalgröße) an t anzupassen. Wenn die Eingabe-Kanalgröße und Ausgabe-Kanalgröße identisch sind, nämlich m = t, kann eine Skip-Connection (z. B. eine Residual-Connection) angewendet werden, so dass Informationen eine oder mehrere Schichten in dem Netzwerk umgehen und direkt der Ausgabe der tieferen Schichten hinzugefügt werden können.
  • Dementsprechend kann eine Mehrzahl von Feature-Maps mit einem unterschiedlichen Satz von Schichten nacheinander verarbeitet werden, wobei jede Schicht mit einem unterschiedlichen Kernel verarbeitet werden kann.
  • 2 stellt einen IMDB gemäß einer Ausführungsform dar.
  • Ein IMDB kann auf einer Hardware oder einer Software implementiert sein. Zum Beispiel kann der IMDB auf einem Eingabe-Bild implementiert sein, welches von einem Prozessor 700, einer Kamera 780, einem Sensor 776 oder einer anderen elektronischen Vorrichtung erhalten wird. Die Anleitung eines oder mehrerer Schritte des IMDB kann durch einen Prozessor 720 (oder einen Controller) erfolgen und durchgeführt werden sowie auf einer elektronischen Vorrichtung 701 durchgeführt werden. Ferner kann die Ausgabe des IMDB an zusätzliche Prozessoren oder elektronische Vorrichtungen zur Weiterverarbeitung bereitgestellt (z. B. übertragen) werden.
  • Bezugnehmend auf 2 werden hierarchische (kaskadierende) Features schrittweise extrahiert und dann durch Verwendung einer 1x1-Faltungsoperation aggregiert. Die kaskadierende Konfiguration, welche in 2 dargestellt ist, kann für die Durchführung von unterschiedlichen ISP-Funktionen auf einer Hardware nicht ideal sein, da die 3x3-Faltung (z. B. eine quadratische Faltung), welche in den Schritten 201, 203, 205 und 207 durchgeführt wird, und das in den Schritten 202, 204 und 206 durchgeführte Splitten in einer hierarchischen Weise durchgeführt werden, wodurch viele unterschiedliche Sätze von Daten mit unterschiedlichen Kanalgrößen (z. B. m, 2m/3, m/3 etc.) erzeugt werden. Ein Kombinieren dieser Sätze von Daten in einer Konkatenationsoperation in Schritt 208, ein Durchführen einer 1x1-Faltungsoperation in Schritt 209 und ein Summieren der Daten kann ein ineffizientes Hardware-Design für viele ISP-Prozesse sein. Somit stellen der HFMCB und das HFMCN, welche hierin offenbart sind, eine verbesserte Lösung für ein Hardware-Design für ISP-Prozesse bereit.
  • Dementsprechend kann der hierin offenbarte HFMCB ein temporäres Differenznetzwerk (TDN) und ein Wide-Residual-Netzwerk ohne signifikante Veränderungen an einem Information-Multi-Distillation-Netzwerk (IMDN) verwenden. Der HFMCB kann eine 3x3-Faltungsfunktion mit einer kleineren Expansionsrate für einen besseren Kompromiss zwischen Rechenaufwand und Genauigkeit verwenden, wodurch die Tiefe verringert und die Breite des Netzwerks für eine effiziente Nutzung der Hardware erhöht wird, und anstelle einer normalen Faltung eine tiefenweise separierbare Faltung für eine bessere Effizienz verwenden. Der HFMCB kann zudem Komponenten verwerfen, welche die Hardware nicht effizient nutzen (z. B. können Komponenten verworfen werden, welche sich nicht hardwarefreundlich verhalten), wie z. B. eine Contrast-Aware-Channel-Attention- und -Kaskadierungsstruktur(en) innerhalb des IMDB. Kanalaufteilungs- und Konkatenations-Operationen können durch hardwarefreundlichere Operationen ersetzt werden.
  • Gemäß einer Ausführungsform beinhaltet der HFMCB eine Reihe von Blöcken, die aus einer 3x3-Faltung und einer ReLU-Aktivierung bestehen. Die Blöcke verwenden zudem eine Kombination aus der tiefenweisen separierbaren Faltung und der 1x1-Faltung, um den rechnerischen Aufwand zu mindern und die Effizienz zu steigern. Der HFMCB beinhaltet des Weiteren Skip-Connections, welche zum Zweck eines verbesserten Trainings und einer besseren Genauigkeit ermöglichen, dass Informationen eine oder mehrere Schichten in dem Netzwerk umgehen und der Ausgabe der tieferen Schicht(en) direkt hinzugefügt werden können.
  • Der HFMCB nutzt eine grundlegende Idee von einem TDN, in welchem eine Expansionsfaltung innerhalb des Blocks verwendet wird. Anstelle der Verwendung der 1x1-Faltung, wie im TDN, verwendet der HFMCB die 3x3-Faltung mit einer viel kleineren Expansionsrate für einen Kompromiss aus verbessertem rechnerischem Aufwand und Genauigkeit. Der HFMCB verwendet zudem ein breiteres Residual-Netzwerk (ResNet), welches die Tiefe des Netzwerks reduziert und die Breite des Netzwerks erhöht, wodurch das rezeptive Feld, das durch die Hardware bevorzugt wird, reduziert wird, während immer noch verbesserte Ergebnisse erreicht werden.
  • Darüber hinaus kann der HFMCB auf dem IMDN basieren, jedoch gegenüber dem ursprünglichen IMDN deutliche Veränderungen aufweisen. Der HFMCB kann Komponenten verwerfen, die sich nicht hardwarefreundlich verhalten, wie z. B. Contrast-Aware-Channel-Attention- und -Kaskadierungsstruktur(en) innerhalb des IMDB. Der HFMCB kann zudem Kanalaufteilungsoperationen und eine Konkatenation mit hardwarefreundlicheren Operationen ersetzen, wie z. B. zwei 1x1-Faltungen zum Imitieren des Verhaltens einer Kanalaufteilung, sowie eine elementweise Summenoperation zum Ersetzen der Kanalkonkatenation. Zusätzlich verwendet der HFMCB eine Rectified-Linear-Unit- (ReLU) Funktion anstelle einer Parametric-ReLU (PReLU) zum Reduzieren der Menge von Hardwareressourcen, welche verbraucht werden.
  • 3 stellt ein HFMCN gemäß einer Ausführungsform dar.
  • Ein HFMCN kann auf einer Hardware oder einer Software implementiert sein. Das HFMCN kann z. B. auf einem von einem Prozessor 700, einer Kamera 780, einem Sensor 776 oder einer anderen elektronischen Vorrichtung erhaltenen Eingabe-Bild implementiert sein. Die Durchführung eines oder mehrerer Schritte des HFMCN kann durch einen Prozessor 720 (oder einen Controller) angeleitet werden, und kann auf einer elektronischen Vorrichtung 701 durchgeführt werden. Ferner kann die Ausgabe des HFMCN zusätzlichen Prozessoren oder elektronischen Vorrichtungen zur Weiterverarbeitung bereitgestellt (z. B. übertragen) werden. Darüber hinaus kann das HFMCN eine Anzahl von HFMCBs beinhalten, welche ebenfalls durch eine Hardware oder Software implementiert sind.
  • Bezugnehmend auf 3 ist das HFMCN durch ein Tupel (m,n,t,k) charakterisiert. Diese Parameter zeigen die Eingabe-Kanalgröße von einem jeweiligen HFMCB (m), die Kanalgröße einer Expansion (n), die Ausgabe-Kanalgröße von einem jeweiligen Block (t) sowie die Häufigkeit an, mit der die HFMCBs wiederholt werden (k).
  • Bei Schritt 301 ist ein Eingabe-Bild bereitgestellt. Zum Verarbeiten des Eingabe-Bildes wird eine Faltungsschicht, welche die Low-Level-Features unter Verwendung einer 3x3-Faltungsfunktion extrahiert, auf das Eingabe-Bild bei Schritt 302 angewendet. Diese Features können dann eine Skip-Connection verwenden, bevor sie dann durch eine anwendungsspezifische Schicht (ASL) gelangen, wenn die Eingabe- und Ausgabe-Kanalgrößen identisch sind (z. B. m=t).
  • Anschließend wird eine Reihe von HFMCB-Blöcken in den Schritten 303(1) bis 303 (n) zusammengestapelt. Ein jeweiliger HFMCB-Block kann dem in 1 gezeigten HFMCB entsprechen. In diesem Fall kann die Anzahl von HFMCB-Blöcken, die zusammengestapelt werden, k sein. Wenn z. B. 5 HFMCB-Blöcke zusammengestapelt sind, dann wäre k gleich 5, und es würden sich fünf HFMCB-Operation ereignen (303(1), 303(2), 303(3), 303(4) und 303(5)). Bei Schritt 304 wird eine 1x1-Faltungsfunktion auf die Ausgabe von der Reihe von HFMCB-Blöcken in den Schritten 303(1) bis 303(n) angewendet.
  • Anschließend wird ein ASL-Verfahren bei Schritt 305 durchgeführt. Das ASL-Verfahren unterscheidet sich abhängig von der spezifischen Aufgabe, welche durchgeführt wird. Zum Beispiel wird in der ASL für eine SR-Aufgabe ein Subpixel-Upsampling verwendet, für eine NR-Aufgabe ein 3x3-Faltungsblock verwendet, und für die ASL in einer auf TNR bezogenen Aufgabe wird eine 3x3-Falutng verwendet, auf welche eine Sigmoid-Schicht folgt.
  • Ein Vorteil, den die Verwendung eines Common-Core-Netzwerkdesigns für unterschiedliche Aufgaben hat, ist seine Kompatibilität mit vielen verschiedenen Hardware-Designs und die Verfügbarkeit einer optimalen Komplexität.
  • Ein HFMCN-Netzwerkdesign für eine SR-Aufgabe ist z. B. nachstehend aufgeführt.
  • 4 stellt ein HFMCN-Netzwerkdesign für eine SR-Aufgabe gemäß einer Ausführungsform dar.
  • Bezugnehmend auf 4 weist ein Design des HFMCN eine spezifische (m,n,t,k) Konfiguration von (6,8,6,2) auf. Die Schritte 401, 402, 403(1) bis 403(n) und 404 sind jeweils identisch zu den Schritten 301, 302, 303(1) bis 303(n) und 304 in 3, wobei die Erläuterungen der Schritte 401, 402, 403(1) bis 403(n) und 404 deren jeweiliger Wiedergabe in den Schritten 301, 302, 303(1) bis 303(n) und 304 entsprechen können.
  • Schritt 405 bezieht sich auf das ASL-Verfahren (der z. B. Schritt 305 in 3 entspricht), nachdem die Schritte 401-404 durchgeführt worden sind. In Schritt 405 verwendet das ASL-Verfahren bei SR aber zur Verbesserung der Leistung ein Subpixel-Upsampling.
  • Insgesamt bietet das basierend auf einem SR-Verfahren entworfene HFMCN-Netzwerk gegenüber herkömmlichen SR-Verfahren erhebliche Verbesserungen.
  • 5 stellt einen HFMCN-Netzwerkentwurf für eine NR-Aufgabe gemäß einer Ausführungsform dar.
  • Bezugnehmend auf 5 weist ein Design des HFMCN eine spezifische (m,n,t,k) Konfiguration von (6,8,6,2) auf. Die Schritte 501, 502, 503(1) bis 503(n) und 504 sind jeweils identisch mit den Schritten 301, 302, 303(1) bis 303(n) und 304 in 3, wobei die Erläuterungen in den Schritten 501, 502, 503(1) bis 503(n) und 504 deren jeweiliger Wiedergabe in den Schritten 301, 302, 303(1) bis 303(n) und 304 entsprechen können.
  • Schritt 505 bezieht sich auf das ASL-Verfahren (das z. B. Schritt 305 in 3 entspricht), nachdem die Schritte 501 bis 504 durchgeführt worden sind. In Schritt 505 verwendet das ASL-Verfahren bei NR einen 3x3-Faltungsvorgang zur Leistungsverbesserung.
  • Darüber hinaus kann ein HFMCN-Design für eine TNR-Aufgabe verwendet werden. Die TNR-Aufgabe kann einer Fusionsimplementierung entsprechen. Zum Beispiel kann ein effizientes mehrstufiges Video-Rauschunterdrückungs- (EMVD-) Verfahren unter Verwendung eines HFMCN-Designs konfiguriert werden.
  • Die EMVD ist ein effizientes Video-Rauschunterdrückungsverfahren, das eine zeitlich-räumliche Korrelation, welche in natürlichen Videos durch die Verarbeitungsstufen inhärent vorhanden ist, welche wiederholt angewendet werden, rekursiv verwendet, z. B. eine temporale Fusion, eine räumliche Rauschunterdrückung und eine zeitlich-räumliche Verfeinerung.
  • Gemäß einer Ausführungsform kann eine HFMCN-Fusionsimplementierung zur Durchführung einer TNR-Aufgabe eine Farbtransformationsstufe, eine Frequenztransformationsstufe oder eine inverse Frequenztransformationsstufe und eine Fusionsstufe beinhalten. Daneben kann das HFMCN vier Kanaleingaben und eine Kanalausgabe aufweisen.
  • In der Farbtransformationsstufe kann ein Eingabe-Bild von einem Rot-Grün-Blau-(RGB-) Datensatz in einen YUV-Datensatz umgewandelt werden.
  • Die Frequenztransformationsstufe oder inverse Frequenztransformationsstufe kann einen Zerlegungsschritt und einen Rekonstruktionsschritt beinhalten. Der Zerlegungsschritt kann ein Transformieren einer Einzel-Kanal-Eingabe (welche durch einen YUV-Datensatz dargestellt wird) in eine Halbauflösungs-Vierkanal-Feature-Map unter Verwendung einer wavelet_haar-Transformation beinhalten.
  • Der Zerlegungsschritt kann unter Verwendung eines 2x2-Kernel-Größe-, Stride-2-Faltungsschritts, welcher einen 1x2x2x4-Kernel auf die Eingabe anwendet, durchgeführt werden. Dieser Schritt kann auf bi-orthogonalen Wavelets basieren und so konzipiert sein, dass die Eingabe-Frequenzen in vier Teilbänder dekorreliert werden. Diese Teilbänder können ein Tiefpass-Teilband (LL) und drei Hochpass-Teilbänder (LH, HL und HH) beinhalten.
  • Die resultierende Ausgabe der wavelet_haar-Transformation kann eine Halbauflösungs-4-Kanal-Feature-Map sein, welche für eine Weiterverarbeitung in der Frequenztransformationsstufe oder inversen Frequenztransformationsstufe verwendet werden kann.
  • Der Rekonstruktionsschritt kann die Verwendung einer wavelet_haar-inverse-Funktion beinhalten. Dieser Schritt kann zur Wiederherstellung der ursprünglichen Auflösung des Eingabe-Signals verwendet werden, nachdem dieses unter Verwendung der wavelet_haar-Transformation in vier Teilbänder transformiert worden ist.
  • Der Rekonstruktionsschritt kann ein Durchführen einer 1x1-Kernel-Größe-, Stride-1-Faltung unter Verwendung eines 4x1x1x4-Kernel beinhalten. Zur Wiederherstellung der ursprünglichen Auflösung des Eingabe-Signals kann eine Subpixel-Upsamling-Technik angewendet werden. Das Subpixel-Upsampling kann ein Erhöhen der räumlichen Auflösung eines Bildes durch Interpolieren der Werte von benachbarten Pixeln beinhalten. In diesem Fall kann die Subpixel-Upsampling-Technik zur Wiederherstellung der ursprünglichen Auflösung des Eingabe-Signals aus dessen Halbauflösungs-Darstellung in die vier Teilbänder verwendet werden.
  • In der Fusionsstufe kann das HFMCN zum Erhalten von Gewichten für die Fusion verwendet werden.
  • Das HFMCN kann vier Kanaleingaben und eine Kanalausgabe aufweisen.
  • 6 stellt einen HFMCN-Netzwerkentwurf für eine TNR-Aufgabe (z. B. eine Fusionsimplementierung) gemäß einer Ausführungsform dar.
  • Bezugnehmend auf 6 weist ein Entwurf des HFMCN eine spezifische (m,n,t,k)-Konfiguration von (6,8,6,2) auf. Die Schritte 601, 602, 603(1) bis 603(n) und 604 sind jeweils identisch mit den Schritten 301, 302, 303(1) bis 303(n) und 304 in 3, wobei die Erläuterungen der Schritte 601, 602, 603(1) bis 603(n) und 604 deren jeweiliger Wiedergabe in den Schritten 301, 302, 303(1) bis 303(n) und 304 entsprechen können.
  • Der Schritt 605 bezieht sich auf den ASL-Prozess (der z. B. Schritt 305 in 3 entspricht), nachdem die Schritte 601-604 durchgeführt worden sind. In Schritt 605 verwendet der ASL-Prozess für die Fusionsaufgabe jedoch eine 3x3-Faltungs-Sigmoidfunktion zur Leistungsverbesserung. Der HFMCN-Netzwerkentwurf von 6 kann weniger komplex sein als herkömmliche TDN-Netzwerkentwürfe.
  • 7 ist ein Blockdiagramm von einer elektronischen Vorrichtung in einer Netzwerkumgebung 700 gemäß einer Ausführungsform.
  • Bezugnehmend auf 7 kann eine elektronische Vorrichtung 701 in einer Netzwerkumgebung 700 mit einer elektronischen Vorrichtung 720 über ein erstes Netzwerk 798 (z. B. ein drahtloses Nahbereichskommunikationsnetzwerk), oder einer elektronischen Vorrichtung 704 oder einen Server 708 über ein zweites Netzwerk 799 (z. B. ein drahtloses Kommunikationsnetzwerk mit großer Reichweite) kommunizieren. Die elektronische Vorrichtung 701 kann mit der elektronischen Vorrichtung 704 über den Server 708 kommunizieren. Die elektronische Vorrichtung 701 kann einen Prozessor 720, einen Speicher 730, eine Eingabevorrichtung 740, eine Tonausgabevorrichtung 755, eine Anzeigevorrichtung 760, ein Audiomodul 770, ein Sensormodul 776, eine Schnittstelle 777, ein Haptikmodul 779, ein Kameramodul 780, ein Leistungsverwaltungsmodul 788, eine Batterie 789, ein Kommunikationsmodul 790, eine Teilnehmeridentifikationsmodul- (SIM-) Karte 796 oder ein Antennenmodul 794 beinhalten. In einer Ausführungsform kann auf zumindest eine (z. B. die Anzeigevorrichtung 760 oder das Kameramodul 780) der Komponenten in der elektronischen Vorrichtung 701 verzichtet werden, oder es können eine oder mehrere andere Komponenten der elektronischen Vorrichtung 701 hinzugefügt werden. Einige der Komponenten können als eine einzelne integrierte Schaltung (IC) implementiert sein. Das Sensormodul 776 (z. B. ein Fingerabdrucksensor, ein Irissensor oder ein Helligkeitssensor) kann z. B. in die Anzeigevorrichtung 760 (z. B. eine Anzeige) eingebettet sein.
  • Der Prozessor 720 kann eine Software (z. B. ein Programm 740) zum Steuern von zumindest einer anderen Komponente (z. B. einer Hardware- oder einer Softwarekomponente) der elektronischen Vorrichtung 701, welche mit dem Prozessor 720 gekoppelt ist, ausführen und kann verschiedene Datenverarbeitungen und -berechnungen durchführen.
  • Als zumindest ein Teil der Datenverarbeitungen oder -berechnungen kann der Prozessor 720 einen Befehl oder Daten, welche von einer anderen Komponente (z. B. dem Sensormodul 746 oder dem Kommunikationsmodul 790) empfangen werden, in einen flüchtigen Speicher 732 laden, den Befehl oder die Daten, welche in dem flüchtigen Speicher 732 gespeichert sind, verarbeiten und die resultierenden Daten in einem nichtflüchtigen Speicher 734 speichern. Der Prozessor 720 kann einen Hauptprozessor 721 (z. B. eine zentrale Verarbeitungseinheit (CPU) oder einen Anwendungsprozessor (AP)) und einen Hilfsprozessor 723 (z. B. eine Grafikverarbeitungseinheit (GPU), einen Bildsignalprozessor (ISP), einen Sensorhubprozessor oder einen Kommunikationsprozessor (CP)) beinhalten, welcher unabhängig von oder in Verbindung mit dem Hauptprozessor 721 betreibbar ist. Zusätzlich oder alternativ kann der Hilfsprozessor 723 so angepasst sein, dass er weniger Leistung als der Hauptprozessor 721 aufnimmt oder eine spezielle Funktion ausführt. Der Hilfsprozessor 723 kann separat von oder als Teil des Hauptprozessors 721 implementiert sein.
  • Der Hilfsprozessor 723 kann, anstelle des Hauptprozessors 721, während der Hauptprozessor 721 sich in einem inaktiven (z. B. Ruhe-) Zustand befindet, oder zusammen mit dem Hauptprozessor 721, während der Hauptprozessor 721 sich in einem aktiven Zustand (z. B. beim Ausführen einer Anwendung) befindet, zumindest einige der Funktionen oder Zustände, welche auf zumindest eine Komponente (z. B. die Anzeigevorrichtung 760, das Sensormodul 776 oder das Kommunikationsmodul 790) aus den Komponenten der elektronischen Vorrichtung 701 bezogen sind, steuern. Der Hilfsprozessor 723 (z. B. ein Bildsignalprozessor oder ein Kommunikationsprozessor) kann als ein Teil einer weiteren Komponente (z. B. des Kameramoduls 780 oder des Kommunikationsmoduls 790) implementiert sein, welche funktional in Beziehung zu dem Hilfsprozessor 723 steht.
  • Der Speicher 730 kann verschiedene Daten speichern, welche durch zumindest eine Komponente (z. B. den Prozessor 720 oder das Sensormodul 776) der elektronischen Vorrichtung 701 verwendet werden. Die verschiedenen Daten können beispielsweise eine Software (z. B. das Programm 740) und Eingabedaten oder Ausgabedaten für einen darauf bezogenen Befehl beinhalten. Der Speicher 730 kann den flüchtigen Speicher 732 oder den nichtflüchtigen Speicher 734 beinhalten.
  • Das Programm 740 kann in dem Speicher 730 als Software gespeichert sein und kann z. B. ein Betriebssystem (OS) 742, eine Middleware 744 oder eine Anwendung 746 beinhalten.
  • Die Eingabevorrichtung 750 kann einen Befehl oder Daten, welche durch eine andere Komponente (z. B. den Prozessor 720) der elektronischen Vorrichtung 701 verwendet werden sollen, von außerhalb (z. B. von einem Benutzer) der elektronischen Vorrichtung 701 empfangen. Die Eingabevorrichtung 750 kann z. B. ein Mikrophon, eine Maus oder eine Tastatur beinhalten.
  • Die Tonausgabevorrichtung 755 kann Tonsignale nach außerhalb der elektronischen Vorrichtung 701 ausgeben. Die Tonausgabevorrichtung 755 kann z. B. einen Lautsprecher oder einen Empfänger beinhalten. Der Lautsprecher kann für allgemeine Zwecke, wie z. B. eine Wiedergabe von Multimedia oder eine Aufzeichnung, verwendet werden, wobei der Empfänger zum Empfangen eines eingehenden Anrufs verwendet werden. Der Empfänger kann als separat von, oder als ein Teil des Lautsprechers implementiert sein.
  • Die Anzeigevorrichtung 760 kann Informationen visuell nach außerhalb (z. B. einem Benutzer) der elektronischen Vorrichtung 701 bereitstellen. Die Anzeigevorrichtung 760 kann z. B. eine Anzeige, eine Hologrammvorrichtung oder einen Projektor und eine Steuerungsschaltungsanordnung zum Steuern einer/s entsprechenden von der Anzeige, der Hologrammvorrichtung und einem Projektor beinhalten. Die Anzeigevorrichtung 760 kann eine Berührungsschaltungsanordnung, welche geeignet ist, eine Berührung zu erfassen, oder eine Sensorschaltungsanordnung (z. B. einen Drucksensor) beinhalten, welcher geeignet ist, die Intensität einer Kraft, die sie durch die Berührung erfahren hat, zu messen.
  • Das Audiomodul 770 kann einen Ton in ein elektrisches Signal umwandeln und umgekehrt. Das Audiomodul 770 kann den Ton über die Eingabevorrichtung 750 erhalten oder den Ton über die Tonausgabevorrichtung 755 oder einen Kopfhörer einer externen elektronischen Vorrichtung 702 direkt (z. B. drahtgebunden) oder drahtlos gekoppelt mit der elektronischen Vorrichtung 701 ausgeben.
  • Das Sensormodul 776 kann einen Betriebszustand (z. B. eine Leistung oder eine Temperatur) von der elektronischen Vorrichtung 701 oder einen Umgebungszustand (z. B. einen Zustand eines Benutzers) außerhalb der elektronischen Vorrichtung 701 erfassen und dann ein elektrisches Signal oder einen Datenwert entsprechend dem erfassten Zustand erzeugen. Das Sensormodul 776 kann z. B. einen Gestensensor, einen Gyrosensor, einen Atmosphärendrucksensor, einen Magnetsensor, einen Beschleunigungssensor, einen Griffsensor, einen Näherungssensor, einen Farbsensor, einen Infrarot- (IR-) Sensor, einen biometrischen Sensor, einen Temperatursensor, einen Feuchtigkeitssensor oder einen Helligkeitssensor beinhalten.
  • Die Schnittstelle 777 kann ein oder mehrere spezifizierte Protokolle unterstützen, welche für die elektronische Vorrichtung 701 verwendet werden sollen, die mit der externen elektronischen Vorrichtung 702 direkt (z. B. drahtgebunden) oder drahtlos gekoppelt werden soll. Die Schnittstelle 777 kann z. B. eine High-Definition-Multimedia-Schnittstelle (HDMI), eine Universal-Serial-Bus- (USB-) Schnittstelle, eine Secure-Digital- (SD-) Card-Schnittstelle oder eine Audioschnittstelle beinhalten.
  • Ein Verbindungsanschluss 778 kann einen Verbinder beinhalten, über den die elektronische Vorrichtung 701 mit der externen elektronischen Vorrichtung 702 physikalisch verbunden ist. Der Verbindungsanschluss 778 kann z. B. einen HDMI-Verbinder, einen USB-Verbinder, einen SD-Card-Verbinder oder einen Audioverbinder (z. B. einen Kopfhörerverbinder) beinhalten.
  • Das Haptikmodul 779 kann ein elektrisches Signal in einen mechanischen Reiz (z. b. eine Vibration oder eine Bewegung) oder in einen elektrischen Reiz umwandeln, der durch einen Benutzer über taktile Empfindung oder kinästhetische Empfindung erkannt werden kann. Das Haptikmodul 779 kann z. B. einen Elektromotor, ein piezoelektrisches Element oder einen elektrischen Stimulator beinhalten.
  • Das Kameramodul 780 kann ein Standbild oder bewegte Bilder aufnehmen. Das Kameramodul 780 kann eine oder mehrere Linsen, Bildsensoren, Bildsignalprozessoren oder Blitzlichter beinhalten. Das Leistungsverwaltungsmodul 788 kann eine der elektronischen Vorrichtung 701 zugeführte Leistung verwalten. Das Leistungsverwaltungsmodul 788 kann als zumindest ein Teil von, z. B. einer integrierten Leistungsverwaltungsschaltung (PMIC), implementiert sein.
  • Die Batterie 789 kann der zumindest einen Komponente der elektronischen Vorrichtung 701 Leistung zuführen. Die Batterie 789 kann z. B. eine Primärzelle, die nicht wiederaufladbar ist, eine Sekundärzelle, die wiederaufladbar ist, oder eine Brennstoffzelle beinhalten.
  • Das Kommunikationsmodul 790 kann ein Einrichten eines direkten (z. B. drahtgebundenen) Kommunikationskanals oder eines drahtlosen Kommunikationskanals zwischen der elektronischen Vorrichtung 701 und der externen elektronischen Vorrichtung (z. B. der elektronischen Vorrichtung 702, der elektronischen Vorrichtung 704 oder dem Server 708) sowie ein Durchführen einer Kommunikation über den eingerichteten Kommunikationskanal unterstützen. Das Kommunikationsmodul 790 kann einen oder mehrere Kommunikationsprozessoren, welche unabhängig von dem Prozessor 720 (z. B. dem AP) betreibbar sind, beinhalten und unterstützt eine direkte (z. B. drahtgebundene) Kommunikation oder eine drahtlose Kommunikation. Das Kommunikationsmodul 790 kann ein drahtloses Kommunikationsmodul 792 (z. B. ein zelluläres Kommunikationsmodul, ein drahtloses Nahbereichs-Kommunikationsmodul oder ein globales Navigationssatellitensystem- (GNSS-) Kommunikationsmodul) oder ein drahtgebundenes Kommunikationsmodul 794 (z. B. ein Local-Area-Network- (LAN-) Kommunikationsmodul oder ein Power-Line-Communication- (PLC-) Modul) beinhalten. Ein entsprechendes von diesen Kommunikationsmodulen kann mit der externen elektronischen Vorrichtung über das erste Netzwerk 798 (z. B. ein Nahbereichs-Kommunikationsnetzwerk, wie z. B. Bluetooth™, Wireless-Fidelity-(Wi-Fi-) Direct oder einen Standard der Infrared-Data-Association (IrDA)) oder das zweite Netzwerk 799 (z. B. ein Kommunikationsnetzwerk hoher Reichweite, wie z. B. ein zelluläres Netzwerk, das Internet oder ein Computernetzwerk (z. B. ein LAN oder Wide-Area-Network (WAN)) kommunizieren. Diese verschiedenen Arten von Kommunikationsmodulen können als eine einzelne Komponente (z. B. eine einzelne IC) implementiert sein oder können als mehrere Komponenten (z. B. mehrere ICs), die voneinander getrennt sind, implementiert sein. Das drahtlose Kommunikationsmodul 792 kann die elektronische Vorrichtung 701 in einem Kommunikationsnetzwerk, wie z. B. dem ersten Netzwerk 798 oder dem zweiten Netzwerk 799, unter Verwendung von Teilnehmerinformationen (z. B. einer internationalen mobilen Teilnehmeridentität (IMSI)), welche in dem Teilnehmeridentifikationsmodul 796 gespeichert sind, identifizieren und authentifizieren.
  • Das Antennenmodul 797 kann ein Signal oder eine Leistung nach oder von außerhalb (z. B. der externen elektronischen Vorrichtung) der elektronischen Vorrichtung 701 übertragen oder empfangen. Das Antennenmodul 797 kann eine oder mehrere Antennen beinhalten, und davon kann zumindest eine Antenne, welche für ein Kommunikationsschema geeignet ist, welches in dem Kommunikationsnetzwerk verwendet wird, wie z. B. dem ersten Netzwerk 798 oder dem zweiten Netzwerk 799, ausgewählt werden, z. B. durch das Kommunikationsmodul 790 (z. B. das drahtlose Kommunikationsmodul 792). Das Signal oder die Leistung können dann zwischen dem Kommunikationsmodul 790 und der externen elektronischen Vorrichtung über die ausgewählte zumindest eine Antenne übertragen oder empfangen werden.
  • Befehle oder Daten können zwischen der elektronischen Vorrichtung 701 und der externen elektronischen Vorrichtung 704 über den Server 708, welcher mit dem zweiten Netzwerk 799 gekoppelt ist, übertragen oder empfangen werden. Jede von den elektronischen Vorrichtungen 702 und 704 kann eine Vorrichtung eines identischen Typs oder eines unterschiedlichen Typs wie die elektronische Vorrichtung 701 sein. Alle oder ein Teil der an der elektronischen Vorrichtung 701 auszuführenden Betriebsabläufe können an einer oder mehreren der externen elektronischen Vorrichtungen 702, 704 oder 708 ausgeführt werden. Wenn z. B. die elektronische Vorrichtung 701 eine Funktion oder einen Dienst automatisch, oder in Reaktion auf eine Anforderung von einem Benutzer oder einer anderen Vorrichtung, durchführen soll, dann kann die elektronische Vorrichtung 701, anstatt die Funktion oder den Dienst auszuführen oder zusätzlich dazu, die eine oder die mehreren externen elektronischen Vorrichtungen auffordern, zumindest einen Teil der Funktion oder des Dienstes durchzuführen. Die eine oder die mehreren externen elektronischen Vorrichtungen, welche die Anforderung empfangen, können den zumindest einen Teil der angeforderten Funktion oder des angeforderten Dienstes oder eine zusätzliche Funktion oder einen zusätzlichen Dienst, welche/r auf die Anforderung bezogen ist, durchführen und ein Ergebnis der Durchführung an die elektronische Vorrichtung 701 übertragen. Die elektronische Vorrichtung 701 kann das Ergebnis, mit oder ohne eine weitere Verarbeitung des Ergebnisses, als zumindest einen Teil von einer Antwort auf die Anforderung bereitstellen. Zu diesem Zweck kann beispielsweise eine Cloud-Computing-, eine Distributed-Computing-, oder eine Client-Server-Computing-Technologie verwendet werden.
  • Die in dieser Beschreibung beschriebenen Ausführungsformen des Gegenstands sowie die dazugehörigen Betriebsabläufe können in einer digitalen elektronischen Schaltungsanordnung oder in einer Computer-Software, -Firmware oder -Hardware einschließlich der in dieser Beschreibung offenbarten Strukturen und deren strukturellen Entsprechungen oder in Kombinationen von einer oder mehreren derselben implementiert sein. Die Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands können als ein oder mehrere Computerprogramme, d. h. als ein oder mehrere Module von Computer-Programmieranweisungen, welche auf einem Computerspeichermedium zur Ausführung durch die oder zum Steuern des Betriebs der Datenverarbeitungsvorrichtung verschlüsselt sind, implementiert sein. Alternativ oder zusätzlich können die Programmieranweisungen auf einem künstlich erzeugten ausgebreiteten Signal, z. B. einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal, verschlüsselt sein, welches erzeugt wird, um Informationen zur Übertragung an eine geeignete Empfängervorrichtung für eine Ausführung durch eine Datenverarbeitungsvorrichtung zu verschlüsseln. Ein Computerspeichermedium kann eine computerlesbare Speichervorrichtung, ein computerlesbares Speichersubstrat, ein/e Random- oder Serial-Access-Speicherarray- oder -vorrichtung oder eine Kombination aus denselben sein oder in denselben enthalten sein. Wenngleich außerdem ein Computerspeichermedium kein ausgebreitetes Signal ist, kann ein Computerspeichermedium eine Quelle oder ein Bestimmungsort von Computerprogrammieranweisungen sein, welche in einem künstlich erzeugten ausgebreiteten Signal verschlüsselt sind. Das Computerspeichermedium kann zudem eine oder mehrere separate physikalische Komponenten oder Medien (z. B. mehrere CDs, Speicherdisks oder andere Speichervorrichtungen) sein oder in diesen enthalten sein. Zusätzlich können die in dieser Beschreibung beschriebenen Betriebsabläufe als Betriebsabläufe implementiert sein, welche durch eine Datenverarbeitungsvorrichtung an Daten durchgeführt werden, die auf einer oder mehreren computerlesbaren Speichervorrichtungen gespeichert sind oder von anderen Quellen empfangen werden.
  • Wenngleich diese Beschreibung viele spezifische Implementierungsdetails enthalten kann, sind die Implementierungsdetails nicht als Einschränkungen des Schutzbereichs eines beliebigen beanspruchten Gegenstands auszulegen, sondern sind vielmehr als Erläuterungen von Merkmalen aufzufassen, welche für spezielle Ausführungsformen spezifisch sind. Bestimmte Merkmale, welche in dieser Beschreibung im Zusammenhang mit separaten Ausführungsformen erläutert werden, können auch in Kombination mit einer einzelnen Ausführungsform implementiert sein. Umgekehrt können zudem verschiedene Merkmale, welche im Zusammenhang mit einer einzelnen Ausführungsform erläutert werden, in mehreren Ausführungsformen separat oder in einer geeigneten Teilkombination implementiert sein. Selbst wenn außerdem Merkmale vorstehend als in gewissen Kombinationen fungierend beschrieben und anfänglich auch sogar als solche beansprucht sein können, können ein oder mehrere Merkmale einer beanspruchten Kombination in einigen Fällen von der Kombination ausgeschlossen sein, wobei sich die beanspruchte Kombination auf eine Teilkombination oder eine Variation von einer Teilkombination beziehen kann.
  • Während Betriebsabläufe in der Zeichnung gleichermaßen in einer speziellen Reihenfolge dargestellt sind, ist dies nicht so zu versehen, als wäre es erforderlich, diese Betriebsabläufe in der gezeigten speziellen Reihenfolge oder einer sequenziellen Reihenfolge durchzuführen, oder alle dargestellten Betriebsabläufe durchzuführen, um wünschenswerte Resultate zu erzielen. Unter bestimmten Umständen kann eine Multitasking- und Parallelverarbeitung von Vorteil sein. Außerdem ist das Getrenntsein von verschiedenen Systemkomponenten in den vorstehend beschriebenen Ausführungsformen nicht so verstehen, als sei ein derartiges Getrenntsein in allen Ausführungsformen notwendig, wobei darauf hingewiesen wird, dass die beschriebenen Programmierkomponenten und - systeme im Allgemeinen in ein einzelnes Softwareprodukt zusammen integriert sein können oder zu mehreren Softwareprodukten verpackt sein können.
  • Dementsprechend sind hierin spezielle Ausführungsformen des Gegenstands beschrieben worden. Andere Ausführungsformen liegen im Bereich der nachfolgenden Ansprüche. In einigen Fällen können die in den Ansprüchen aufgeführten Handlungsabläufe in einer unterschiedlichen Reihenfolge durchgeführt werden und dennoch wünschenswerte Ergebnisse erzielen. Daneben setzen die in den beigefügten Figuren abgebildeten Verfahren nicht notwendigerweise die im Speziellen dargestellte Reihenfolge oder eine sequenzielle Reihenfolge voraus, um wünschenswerte Ergebnisse zu erzielen. kann Die Multitasking- und Parallelverarbeitung kann bei bestimmten Implementierungen nicht von Vorteil sein.
  • Wie für Fachleute ersichtlich wird, können die hierin beschriebenen innovativen Konzepte innerhalb eines umfassenden Bereichs unterschiedlicher Anwendungen modifiziert und variiert werden. Dementsprechend ist der Schutzbereich des beanspruchten Gegenstands nicht auf eine beliebige der spezifischen beispielhaften Lehren, welche oben erläutert worden sind, zu beschränken, sondern ist stattdessen durch die nachstehenden Ansprüche definiert.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 63/416781 [0001]

Claims (20)

  1. Verfahren zum Verarbeiten und Kombinieren von Feature-Maps unter Verwendung eines hardwarefreundlichen Multi-Kernel-Faltungs-Blocks (HFMCB), wobei das Verfahren folgende Schritte beinhaltet: Splitten einer Eingabe-Feature-Map in eine Mehrzahl von Feature-Maps, wobei jede von der Mehrzahl von Feature-Maps eine reduzierte Anzahl von Kanälen aufweist; Verarbeiten einer jeden von der Mehrzahl von Feature-Maps mit einer unterschiedlichen Reihe von Kernels; und Kombinieren der verarbeiteten Mehrzahl von Feature-Maps.
  2. Verfahren nach Anspruch 1, wobei das Splitten der Eingabe-Feature-Map in die Mehrzahl von Feature-Maps ein Anwenden einer 1x1-Faltungsfunktion zum Reduzieren der Anzahl von Kanälen für jede von der Mehrzahl von Feature-Maps beinhaltet.
  3. Verfahren nach Anspruch 1, wobei die reduzierte Anzahl von Kanälen für jede von der Mehrzahl von Feature-Maps gleich ist.
  4. Verfahren nach Anspruch 3, wobei das Kombinieren der verarbeiteten Mehrzahl von Feature-Maps ein Anwenden einer gewichteten Summe der Mehrzahl von Feature-Maps beinhaltet.
  5. Verfahren nach Anspruch 1, wobei das Verarbeiten von einer jeden von der Mehrzahl von Feature-Maps ein Anwenden einer tiefenweise separierbaren Faltungsfunktion auf eine echte Teilmenge von Feature-Maps beinhaltet, welche in der Mehrzahl von Feature-Maps enthalten sind.
  6. Verfahren nach Anspruch 1, wobei jede von der Mehrzahl von Feature-Maps parallel mit der unterschiedlichen Reihe von Kernels verarbeitet wird.
  7. Verfahren nach Anspruch 1, wobei jede von der Mehrzahl von Feature-Maps eindeutige rezeptive Felder beinhaltet.
  8. Elektronische Vorrichtung zum Verarbeiten und Kombinieren von Feature-Maps unter Verwendung eines hardwarefreundlichen Multi-Kernel-Faltungsblocks (HFMCB), aufweisend: zumindest einen Prozessor; und zumindest einen Speicher, welcher mit dem zumindest einen Prozessor funktionell verbunden ist, wobei der zumindest eine Speicher Anweisungen speichert, welche, wenn sie ausgeführt werden, den zumindest eine Prozessor anweisen, ein Verfahren zum Verarbeiten und Kombinieren der Feature-Maps unter Verwendung des HFMCB durchzuführen, durch: Splitten einer Eingabe-Feature-Map in eine Mehrzahl von Feature-Maps, wobei jede von der Mehrzahl von Feature-Maps eine reduzierte Anzahl von Kanälen aufweist, Verarbeiten von einer jeden von der Mehrzahl von Feature-Maps mit einer unterschiedlichen Reihe von Kernels; und Kombinieren der verarbeiteten Mehrzahl von Feature-Maps.
  9. Elektronische Vorrichtung nach Anspruch 8, wobei das Splitten der Eingabe-Feature-Map in die Mehrzahl von Feature-Maps ein Anwenden einer 1x1-Faltungsfunktion zum Reduzieren der Anzahl von Kanälen für jede von der Mehrzahl von Feature-Maps beinhaltet.
  10. Elektronische Vorrichtung nach Anspruch 8, wobei die reduzierte Anzahl von Kanälen für jede von der Mehrzahl von Feature-Maps gleich ist.
  11. Elektronische Vorrichtung nach Anspruch 10, wobei das Kombinieren der verarbeiteten Mehrzahl von Feature-Maps ein Anwenden einer gewichteten Summe der Mehrzahl von Feature-Maps beinhaltet.
  12. Elektronische Vorrichtung nach Anspruch 8, wobei das Verarbeiten einer jeden von der Mehrzahl von Feature-Maps ein Anwenden einer tiefenweise separierbaren Faltungsfunktion auf eine echte Teilmenge von Feature-Maps beinhaltet, welche in der Mehrzahl von Feature-Maps enthalten sind.
  13. Elektronische Vorrichtung nach Anspruch 8, wobei jede von der Mehrzahl von Feature-Maps parallel zu der unterschiedlichen Reihe von Kernels verarbeitet wird.
  14. Elektronische Vorrichtung nach Anspruch 8, wobei jede von der Mehrzahl von Feature-Maps eindeutige rezeptive Felder beinhaltet.
  15. Verfahren zum Anwenden eines hardwarefreundlichen Multi-Kernel-Faltungsnetzwerks (HFMCN) auf ein Eingabe-Bild unter Verwendung von einem oder mehreren hardwarefreundlichen Multi-Kernel-Faltungsblocks (HFMCBs), wobei das Verfahren folgende Schritte beinhaltet: Anwenden einer tiefenweise separierbaren Faltungsfunktion auf das Eingabe-Bild, wodurch eine Kanalgröße einer Feature-Map von einer ersten Anzahl von Kanälen auf eine zweite Anzahl von Kanälen erhöht wird; Anwenden des einen oder der mehreren HFMCBs auf die Feature-Map, welche die zweite Anzahl von Kanälen aufweist, wobei das Anwenden des einen oder der mehreren HFMCBs folgende Schritte beinhaltet: Splitten der Feature-Map in eine Mehrzahl von Feature-Maps, wobei jede von der Mehrzahl von Feature-Maps eine dritte Anzahl von Kanälen aufweist, welche kleiner als die zweite Anzahl von Kanälen ist, Verarbeiten einer jeden von der Mehrzahl von Feature-Maps mit einer unterschiedlichen Reihe von Kernels, und Kombinieren der verarbeiteten Mehrzahl von Feature-Maps; und Verarbeiten der kombinierten Mehrzahl von Feature-Maps unter Verwendung einer anwendungsspezifischen Schicht (ASL) zum Ausgeben eines verarbeiteten Ausgabe-Bildes.
  16. Verfahren nach Anspruch 15, wobei das Verarbeiten der kombinierten Mehrzahl von Feature-Maps unter Verwendung der ASL, zumindest ein Anwenden einer Subpixel-Upsampling-Funktion auf die kombinierte Mehrzahl von Feature-Maps, ein Anwenden einer viereckigen Faltungsfunktion auf die Mehrzahl von Feature-Maps oder ein Anwenden einer viereckigen Faltungs-Sigmoid-Funktion auf die Mehrzahl von Feature-Maps beinhaltet, um das verarbeitete Ausgabe-Bild zu erhalten.
  17. Verfahren nach Anspruch 15, wobei das Anwenden der tiefenweise separierbaren Faltungsfunktion auf das Eingabe-Bild ein Anwenden einer quadratischen Faltungsfunktion auf das Eingabe-Bild beinhaltet, um die Kanalgröße der Feature-Map von der ersten Anzahl von Kanälen auf die zweite Anzahl von Kanälen zu erhöhen.
  18. Verfahren nach Anspruch 15, wobei das Verarbeiten einer j eden von der Mehrzahl von Feature-Maps ein Anwenden der tiefenweise separierbaren Faltungsfunktion auf eine echte Teilmenge von Feature-Maps beinhaltet, welche in der Mehrzahl von Feature-Maps enthalten ist.
  19. Verfahren nach Anspruch 15, wobei das Kombinieren der verarbeiteten Mehrzahl von Feature-Maps ein Anwenden einer gewichteten Summe von der Mehrzahl von Feature-Maps beinhaltet.
  20. Verfahren nach Anspruch 15, wobei jede von der Mehrzahl von Feature-Maps eindeutige rezeptive Felder beinhaltet.
DE102023121895.6A 2022-10-17 2023-08-16 Hardwarefreundliches Multi-Kernel-Faltungsnetzwerk Pending DE102023121895A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263416781P 2022-10-17 2022-10-17
US63/416,781 2022-10-17
US18/320,745 US20240127589A1 (en) 2022-10-17 2023-05-19 Hardware friendly multi-kernel convolution network
US18/320,745 2023-05-19

Publications (1)

Publication Number Publication Date
DE102023121895A1 true DE102023121895A1 (de) 2024-04-18

Family

ID=90469666

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023121895.6A Pending DE102023121895A1 (de) 2022-10-17 2023-08-16 Hardwarefreundliches Multi-Kernel-Faltungsnetzwerk

Country Status (3)

Country Link
US (1) US20240127589A1 (de)
KR (1) KR20240053525A (de)
DE (1) DE102023121895A1 (de)

Also Published As

Publication number Publication date
US20240127589A1 (en) 2024-04-18
KR20240053525A (ko) 2024-04-24

Similar Documents

Publication Publication Date Title
DE102017115519A1 (de) Superpixel-Verfahren für faltende neuronale Netze
DE102019130702A1 (de) Stilbasierte architektur für generative neuronale netzwerke
DE102017121887A1 (de) Ausführen von Kerndurchschreiten in Hardware
DE102019122818A1 (de) Neuronale Netzwerkvorrichtung für eine neuronale Netzwerkoperation, Verfahren zum Betreiben einer neuronalen Netzwerkvorrichtung und Anwendungsprozessor, der die neuronale Netzwerkvorrichtung beinhaltet
DE102017121257A1 (de) Ausführen von Mittelwert-Poolbildung in Hardware
EP4109393A1 (de) Verfahren und vorrichtung zum entfernen von moiré-mustern
DE102017009505A1 (de) Erzeugen einer kompakten Videomerkmaldarstellung in einer digitalen Medienumgebung
DE112016005776T5 (de) Systeme und Verfahren zum Bereitstellen eines Bild-Klassifikators
DE112019003529T5 (de) Datendarstellung für dynamische Genauigkeit in Kernen neuronaler Netze
DE102022119386A1 (de) Verfahren und einrichtung zum durchführen einer dichten vorhersage unter verwendung von transformatorblöcken
DE112014005109T5 (de) Support-Vector-Maschine-Basiertes Objekterkennungsystem und assoziiertes Verfahren
DE102019126719A1 (de) Energieeffiziente Speichersysteme und Verfahren
CN111340077A (zh) 基于注意力机制的视差图获取方法和装置
DE102015101543A1 (de) Verarbeitung von primitivblöcken in parallelen kachelungsmaschinen-pipes
DE112019002560T5 (de) Vorrichtung, verfahren und system zum bereitstellen eines verzögerten taktsignals an eine schaltung für sperrdaten
WO2023154006A2 (en) Method and system for a high-frequency attention network for efficient single image super-resolution
DE102021104689A1 (de) Verfahren und Schaltung für eine Leistungsverbrauchsreduktion in aktiven Phasenschiebern
CN113781318A (zh) 一种图像颜色映射方法、装置、终端设备及存储介质
DE102017117381A1 (de) Beschleuniger für dünnbesetzte faltende neuronale Netze
DE102019119746A1 (de) Bildsignalprozessor, Verfahren zum Betreiben des Bildsignalprozessors und Anwendungsprozessor mit dem Bildsignalprozessor
DE102023121895A1 (de) Hardwarefreundliches Multi-Kernel-Faltungsnetzwerk
DE102020100210A1 (de) Neuronaler Netzwerkprozessor zum Komprimieren von Merkmalsabbildungsdaten und Computersystem dasselbe enthaltend
DE102019113874A1 (de) Hochpräzises niedrigbit-convolutional-neural-network
DE102021115704A1 (de) System und verfahren zur disparitätsschätzung basierend auf kosten-volumen-aufmerksamkeit
Liu et al. A robust iterative algorithm for image restoration

Legal Events

Date Code Title Description
R012 Request for examination validly filed