DE102022105545A1 - Deep-Guided-Filter-Decoder mit niedriger Komplexität für pixelweise Prädiktionsaufgabe - Google Patents

Deep-Guided-Filter-Decoder mit niedriger Komplexität für pixelweise Prädiktionsaufgabe Download PDF

Info

Publication number
DE102022105545A1
DE102022105545A1 DE102022105545.0A DE102022105545A DE102022105545A1 DE 102022105545 A1 DE102022105545 A1 DE 102022105545A1 DE 102022105545 A DE102022105545 A DE 102022105545A DE 102022105545 A1 DE102022105545 A1 DE 102022105545A1
Authority
DE
Germany
Prior art keywords
feature
guide
dgf
dimensionality
image
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
DE102022105545.0A
Other languages
English (en)
Inventor
Qingfeng Liu
Hai Su
Mostafa El-Khamy
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 DE102022105545A1 publication Critical patent/DE102022105545A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/403Edge-driven scaling; Edge-based scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • 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
    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • 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/20004Adaptive image processing
    • G06T2207/20012Locally adaptive
    • 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/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)

Abstract

Ein Verfahren zur Bildverarbeitung umfasst: Bestimmen eines ersten Merkmals, wobei das erste Merkmale eine Dimensionalität D1 aufweist; Bestimmen eines zweiten Merkmals, wobei das zweite Merkmal eine Dimensionalität D2 aufweist und auf einer Ausgabe eines Merkmalsextraktionsnetzwerks basiert; Erzeugen eines dritten Merkmals, indem das erste Merkmal verarbeitet wird, wobei das dritte Merkmal eine Dimensionalität D3 aufweist; Erzeugen einer Führung durch Verarbeiten des zweiten Merkmals, wobei die Führung die Dimensionalität D3 aufweist; Erzeugen eines Filters, der ausgegeben wird, indem ein Deep Guided Filter (DGF) bei dem dritten Merkmal unter Verwendung der Führung angewandt wird; Erzeugen einer Karte auf Basis der Filterausgabe; und Ausgeben eines verarbeiteten Bildes basierend auf der Karte.

Description

  • GEBIET
  • Die vorliegende Offenbarung betrifft allgemein Verfahren und Vorrichtungen für eine Deep-Guided-Filter(DGF)-Bildverarbeitung und Verfahren zum Trainieren oder Optimieren des DGF mit niedriger Komplexität.
  • HINTERGRUND
  • Semantische Segmentierung ist ein Prozess, der, unter anderem, in bestimmten Computervisionsaufgaben verwendet wird. Eine semantische Segmentierung, die auf neuronalen Netzen basiert, kann ein dichtes Prädiktionsnetzwerk verwenden, dessen Ziel es ist, Pixel (z. B. jedes Pixel) in einem eingegebenen Bild in eine Kategorie zu klassifizieren (z. B. eine eingestellte Kategorie oder eine vordefinierte Kategorie). Für manche Aufgaben, wie beispielsweise das Anwenden eines Glättungsfilters bei einem Bild, bei einer inhaltsbewussten Bildsignalverarbeitung (Image Signal Processing, ISP) oder bei autonomem Fahren kann das Erzielen von Genauigkeit bei einer solchen Klassifizierung in der semantischen Grenzregion wichtig sein. Bei einigen Prozessen kann allerdings das Erzielen einer solchen Genauigkeit auf Kosten erhöhter Rechenkomplexität gehen, was einen beeinträchtigenden Zeitaufwand und/oder Rechenressourcen involvieren kann.
  • KURZFASSUNG
  • Gemäß einigen Ausführungsformen umfasst ein Verfahren zur Bildverarbeitung: Bestimmen eines ersten Merkmals, wobei das erste Merkmale eine Dimensionalität D1 aufweist; Bestimmen eines zweiten Merkmals, wobei das zweite Merkmal eine Dimensionalität D2 aufweist und auf einer Ausgabe eines Merkmalsextraktionsnetzwerks basiert; Erzeugen eines dritten Merkmals, indem das erste Merkmal verarbeitet wird, wobei das dritte Merkmal eine Dimensionalität D3 aufweist; Erzeugen einer Führung durch Verarbeiten des zweiten Merkmals, wobei die Führung die Dimensionalität D3 aufweist; Erzeugen eines Filters, der ausgegeben wird, indem ein Deep Guided Filter (DGF) bei dem dritten Merkmal unter Verwendung der Führung angewandt wird; Erzeugen einer Karte auf Basis der Filterausgabe; und Ausgeben eines verarbeiteten Bildes basierend auf der Karte.
  • Gemäß einigen Ausführungsformen umfasst ein System eine Verarbeitungsschaltung, die eingerichtet ist, ein Verfahren zur Bildverarbeitung zu implementieren. Das Verfahren umfasst: Bestimmen eines ersten Merkmals, wobei das erste Merkmale eine Dimensionalität D1 aufweist; Bestimmen eines zweiten Merkmals, wobei das zweite Merkmal eine Dimensionalität D2 aufweist und auf einer Ausgabe eines Merkmalsextraktionsnetzwerks basiert; Erzeugen eines dritten Merkmals, indem das erste Merkmal verarbeitet wird, wobei das dritte Merkmal eine Dimensionalität D3 aufweist; Erzeugen einer Führung durch Verarbeiten des zweiten Merkmals, wobei die Führung die Dimensionalität D3 aufweist; Erzeugen eines Filters, der ausgegeben wird, indem ein Deep Guided Filter (DGF) bei dem dritten Merkmal unter Verwendung der Führung angewandt wird; Erzeugen einer Karte auf Basis der Filterausgabe; und Ausgeben eines verarbeiteten Bildes basierend auf der Karte.
  • Figurenliste
  • Bestimmte Aspekte, Merkmale und Vorteile bestimmter Ausführungsformen der vorliegenden Offenbarung werden aus der folgenden detaillierten Beschreibung und den beiliegenden Zeichnungen klar ersichtlich sein. Es zeigen:
    • 1 eine beispielhafte Ausführungsform eines Kommunikationssystems 100, das für eine elektronische Kommunikation eingerichtet ist;
    • 2 ein Vergleichsbeispiel eines Bildverarbeitungsverfahrens, das einen DGF verwendet;
    • 3 eine beispielhafte Ausführungsform eines Bildverarbeitungsverfahrens, das einen DGF verwendet;
    • 4 eine beispielhafte Ausführungsform des DGF, der in dem in 3 gezeigten Bildverarbeitungsverfahren verwendet wird;
    • 5 eine andere beispielhafte Ausführungsform eines Bildverarbeitungsverfahrens, das einen DGF verwendet;
    • 6 eine beispielhafte Ausführungsform eines DGF mit dualer Auflösung;
    • 7 eine beispielhafte Ausführungsform eines DGF mit einfacher Auflösung;
    • 8 eine beispielhafte Ausführungsform eines DGF-Trainingsprozesses; und
    • 9 eine beispielhafte Ausführungsform eines Systems, das eingerichtet ist, eine Bildverarbeitung, die DGF verwendet, zu verwalten.
  • DETAILLIERTE BESCHREIBUNG
  • Bestimmte Ausführungsformen, die hierin beschrieben sind, schaffen eine Bildglättung mittels Verwendung eines verbesserten DGF und semantischer Segmentierung und können einen DGF mit niedriger Komplexität und Prädiktion auf Pixelebene umfassen. Diese Bildverarbeitung kann Teil eines größeren Bildverarbeitungsverfahrens oder eines Prozesses sein oder kann unabhängig verwendet werden. Bei einigen Ausführungsformen wird ein Glättungsfilter, der ein Bild glättet, angewandt. Bei einigen Ausführungsformen kann es wünschenswert sein, eine schwächere oder weniger Glättung bei Grenzen zwischen unterschiedlichen semantischen Bereichen des Bildes im Vergleich zu anderen Bereichen des Bildes anzuwenden, um dabei zu helfen, eine deutliche Unterscheidung zwischen diesen semantischen Bereichen aufrechtzuerhalten (z. B. Grenzen zwischen Gras und Himmel im Bild). Semantische Segmentierung kann verwendet werden, um dabei zu helfen, solche Grenzen zu identifizieren oder zu definieren und entsprechend kann dann ein Glätten durchgeführt werden.
  • Bestimmte vergleichende Glättungs-Bildverarbeitungstechniken, wie jene, die in 2 gezeigt sind und im Nachfolgenden detailliert beschrieben sind, beinhalten, eine „Führung“ bzw. „Guidance“ in einen DGF einzugeben. DGFs können zum Beispiel kantenerhaltende Glättungsfilter umfassen (Glättungsfilter, die scharfe Kanten zwischen semantischen Bereichen erhalten). Der DGF kann eine Führung verwenden, die explizit (z. B. über eine „Glättungs“-Gewichtung oder Metrik) oder implizit angibt, wie viel Glättung angewandt werden sollte. Zum Beispiel kann eine Führung angeben, ob ein oder mehrere Pixel Teil einer semantischen Grenze sind (oder eine Wahrscheinlichkeit, dass ein oder mehrere Pixel Teil einer semantischen Grenze sind) und eine Glättung kann entsprechend angewandt werden (z. B. stark bei Pixeln, die nicht an Grenzen liegen, und weniger stark an Grenzpixeln). Gemäß einem weiteren Beispiel kann eine Führung angeben, dass ein Teil eines Bildes eine starke Abweichung oder eine geringe Abweichung aufweist, und eine Glättung kann entsprechend angewandt werden (z. B. stark bei Teilen mit geringer Abweichung und weniger stark bei Teilen mit starker Abweichung).
  • Gemäß bestimmten beispielhaften Ausführungsformen, die im Vorliegenden beschrieben sind, wie beispielsweise jenen, die in 3 gezeigt und im Nachfolgenden detailliert beschrieben sind, kann ein verbesserter DGF eine Führung verwenden, die eine niedrigere Auflösung aufweist (d. h. kleinerer Dimensionalität und/oder kleinerer Größe (wobei „Dimensionalität“ oder „Größe“, wie im Vorliegenden verwendet, sich auf eine Menge an Daten oder eine Anzahl an Datenpunkten beziehen kann (z. B. hat ein Bild, das eine Höhe von drei Pixeln aufweist und eine Breite von drei Pixeln aufweist, eine Dimensionalität von 3x3, d. h. eine Dimensionalität von neun))), als eine Führung, die bei Vergleichstechniken verwendet wird. Dies kann zu einem schnelleren Prozess führen und/oder einem Prozess, der weniger Rechenressourcen verwendet.
  • 1 stellt eine beispielhafte Ausführungsform eines Kommunikationssystems 100 dar, das für eine elektronische Kommunikation eingerichtet ist (z. B. Mobilfunk, Wi-Fi, Satellit oder eine andere elektronische Kommunikation). Das Kommunikationssystem 100 umfasst ein Netzwerksystem 102 und ein Netzwerk 104 und eine Vorrichtung 106.Das Netzwerksystem 102 kann einen oder mehrere Server umfassen. Das Netzwerk 104 kann zum Beispiel ein Mobilfunk-, Wi-Fi-, Satelliten- oder anderes Netzwerk umfassen. Die Vorrichtung 106 kann zum Beispiel eine beliebige Vorrichtung umfassen, die eingerichtet ist, über das Netzwerk 104 zu kommunizieren (z. B. eine mobile Vorrichtung, ein Smartphone, ein Tablet, ein Desktop-Computer, ein Laptop, eine Local-Area-Network(LAN)-Vorrichtung, die lokale Vorrichtungen versorgt und welche diese mit dem Netzwerk 104 verbindet (wie beispielsweise ein Router), eine Vorrichtung für das Internet der Dinge (IoT) oder eine andere geeignete Kommunikationsvorrichtung. Die im Vorliegenden beschriebenen Techniken können durch das Kommunikationssystem 100 oder durch eine oder mehrere Komponenten implementiert werden.
  • Bei einigen Ausführungsformen können die im Vorliegenden beschriebenen Techniken durch das Netzwerksystem 102 implementiert werden, um ein Bild zu verarbeiten, das auf dem Netzwerksystem 102 gespeichert ist (z. B. ein Bild, das durch die Vorrichtung 106 über das Netzwerk 104 an das Netzwerksystem 102 gesendet wurde) und/oder einen DGF trainieren oder optimieren. Bei einigen Ausführungsformen kann das optimierte oder trainierte DGF oder optimierte Parameter desselben von dem Netzwerksystem 102 über das Netzwerk 104 an die Vorrichtung 106 gesendet werden. Bei einigen Ausführungsformen können die im Vorliegenden beschriebenen Techniken durch die Vorrichtung 106 implementiert werden, um ein Bild zu verarbeiten, das in der Vorrichtung 106 gespeichert ist, und/oder einen DGF zu trainieren oder zu optimieren, der in der Vorrichtung 106 gespeichert ist.
  • Obwohl bestimmte Ausführungsformen, die im Vorliegenden beschrieben sind, als durch das Netzwerksystem 102 oder die Vorrichtung 106 durchgeführt beschrieben werden können, sollte es klar sein, dass die Ausführungsformen nicht derart beschränkt sind und zum Beispiel durch entweder das Netzwerksystem 102, die Vorrichtung 106 oder eine Kombination daraus durchgeführt werden können.
  • 2 stellt ein Vergleichsbeispiel eines Bildverarbeitungsverfahrens 200 dar, das einen DGF verwendet. Das Bildverarbeitungsverfahren 200 kann durch die Vorrichtung 106 durchgeführt werden. Das Bildverarbeitungsverfahren 200 kann umfassen, eine Karte für einen Bildglättungsprozess zu bestimmen, der bei einem eingegebenen Bild zu verwenden ist. Das Bildverarbeitungsverfahren 200 umfasst, ein erstes Merkmal zu bestimmen und zu verarbeiten (202), ein zweites Merkmal zu bestimmen und zu verarbeiten (204), eine Karte zu erzeugen (206), eine Führung zu erzeugen (208), mit einem DGF zu verarbeiten (210) und das eingegebene Bild mit einer präziseren Karte zu verarbeiten (212). Eine Ausgabe des Bildverarbeitungsverfahrens 200 kann ein geglättetes Bild umfassen. Die präzisere Karte kann angeben ob oder wie viel Glättung bei einem oder mehreren Pixeln des eingegebenen Bildes anzuwenden ist. Die präzisere Karte kann dies auf einer pixelweisen Basis angeben. Ein Glätten kann entsprechend angewandt werden.
  • Bei (202) wird ein erstes Merkmal eines eingegebenen Bildes bestimmt und verarbeitet. Der Begriff „Merkmale“, wie er im Vorliegenden verwendet wird, kann sich auf einen oder mehrere dimensionale Tensoren beziehen. Das eingegebene Bild kann zum Beispiel auf eine beliebige zweckmäßige Art und Weise codiert sein und kann zum Beispiel eine Dimensionalität D4 gleich H × W × 3 haben, wobei H eine Höhe des eingegebenen Bildes ist, die als Anzahl an Reihen von Pixeln ausgedrückt ist, W eine Breite des eingegebenen Bildes ist, die als Anzahl an Spalten von Pixeln angegeben ist, und 3 eine Dimensionalität des Farbschemas des eingegebenen Bildes ist (andere dimensionale Farbschemata können in anderen Ausführungsformen verwendet werden). Andere Dimensionalitäten für das eingegebene Bild können auch durch die vorliegende Offenbarung miteingeschlossen sein. Obwohl das oben beschriebene beispielhafte eingegebene Bild und andere Bilder, die im Vorliegenden beschrieben sind, zwei räumliche Dimensionen haben, müssen die Bilder nicht Bilder mit lediglich zwei räumlichen Dimensionen sein (z. B. können die Bilder drei räumliche Dimensionen haben, welche Höhe und Breite und Tiefe umfassen).
  • Das erste Merkmal kann ein semantisches Merkmal sein, das semantische Informationen codiert. Bestimmen des ersten Merkmals kann umfassen, einen oder mehrere dimensionale Tensoren basierend auf dem eingegebenen Bild zu identifizieren, auszuwählen oder zu erzeugen, der eine semantische Bezeichnung oder semantische Wahrscheinlichkeit für jedes einer Mehrzahl von Pixelbereichen des eingegebenen Bildes angibt oder verwendet wird, um diese zu erzeugen (die Bereiche könnten benachbarte Pixel des Bildes umfassen oder können nicht benachbarte Pixel umfassen). Das erste Merkmal kann eine Dimensionalität D1 gleich hs × ws × cs haben, wobei hs < H und ws < W. Die Dimensionalität D1 kann kleiner sein als die Dimensionalität D4. Das erste Merkmal kann eine Ausgabe eines Atrous Spatial Pyramid Pooling (ASPP) (z. B. eine direkte Ausgabe oder eine verarbeitete Ausgabe) eines umfangreicheren Bildverarbeitungsverfahrens sein, welches das Bildverarbeitungsverfahren 200 umfasst.
  • Eine Verarbeitung des ersten Merkmals kann umfassen, eine Faltung bei dem ersten Merkmal anzuwenden (z. B. eine 1 × 1-Faltung, wie beispielsweise eine Kernelfaltung von 1 × 1 × c s × c s '
    Figure DE102022105545A1_0001
    um die Dimensionen des ersten Merkmals zu ändern (z. B. von hs × ws × cs zu h s × w s × c s '
    Figure DE102022105545A1_0002
    Eine Verarbeitung des ersten Merkmals kann auch umfassen, ein bilineares Upsampling zu implementieren, um die Dimensionen zu ändern (was z. B. zu einem Merkmal mit Dimensionen h g × w g × c s '
    Figure DE102022105545A1_0003
    führt). Das resultierende Merkmal kann eine Eingabe für den Kartenerzeugungsprozess sein (206).
  • Bei (204) wird ein zweites Merkmal des eingegebenen Bildes bestimmt und verarbeitet. Ein Bestimmen des zweiten Merkmals kann umfassen, einen oder mehrere dimensionale Tensoren basierend auf dem eingegebenen Bild, das Randinformation codiert, zu identifizieren, auszuwählen oder zu erzeugen. Das zweite Merkmal kann eine Ausgabe von einem Merkmalsextraktionsnetzwerk (Feature Extraction Network, FXN) (z. B. eine direkte Ausgabe oder eine verarbeitete Ausgabe) eines umfangreicheren Bildverarbeitungsverfahrens umfassen, welches das Bildverarbeitungsverfahren 200 umfasst. Das zweite Merkmal kann eine Dimensionalität D2 gleich hg × wg × cg aufweisen. Die Dimensionalität D2 kann kleiner sein als D1 und D4. In einigen Ausführungsformen H > hg > hs und W > wg > ws.
  • Eine Verarbeitung des zweiten Merkmals kann umfassen, eine Faltung bei dem zweiten Merkmal anzuwenden (z. B. eine 1 × 1 -Faltung, wie beispielsweise eine Kernelfaltung von 1 × 1 × c g × c g '
    Figure DE102022105545A1_0004
    um die Dimensionen des zweiten Merkmals zu ändern (z. B. von hg × wg × cg zu h g × w g × c g '
    Figure DE102022105545A1_0005
    ). Das resultierende Merkmal kann eine Eingabe für den Kartenerzeugungsprozess sein (206).
  • Bei (206) erzeugt die Vorrichtung 106 eine Karte für das eingegebene Bild. Die Karte kann eine vorläufige oder unpräzise Karte sein, die später durch Verwendung des DGF präzisiert wird. Eine Erzeugung der Karte kann umfassen, das verarbeitete erste Merkmal und das verarbeitete zweite Merkmal zu aggregieren (z. B. zu verketten) (z. B. um ein Merkmal mit Dimensionen h g × w g × ( c s ' + c g ' )
    Figure DE102022105545A1_0006
    zu erzeugen). Eine Erzeugung der Karte kann eine oder mehrere (z. B. zwei aufeinanderfolgende) 3 × 3 Depthwise-Separable(DS)-Faltungen, eine 1 × 1-Faltung und/oder ein bilineares Upsampling umfassen, um eine vorläufige Karte mit den Dimensionen H × W × c zu erzeugen. Die vorläufige Karte, die bei (206) erzeugt wird, kann bei (210) in den DGF eingegeben werden.
  • Bei (208) erzeugt die Vorrichtung 106 eine Führung für den DGF. Die Führung basiert auf dem eingegebenen Bild. Eine Erzeugung der Führung kann eine 3 × 3-Faltung und eine 1 × 1-Faltung beinhalten, wodurch eine Führung mit den Dimensionen H × W × c entsteht. So kann die Dimensionalität der Führung mit der Dimensionalität der vorläufigen Karte übereinstimmen.
  • Bei (210) gibt die Vorrichtung 106 die vorläufige Karte und die Führung in den DGF ein und verwendet den DGF, um eine präzisere Karte zu bestimmen. Bei (212) verwendet die Vorrichtung 106 die präzisere Karte, um das eingegebene Bild zu verarbeiten. Die Verarbeitung umfasst ein Glätten des eingegebenen Bildes unter Verwendung der präziseren Karte.
  • Bei diesem Vergleichsbeispiel kann die Dimensionalität der Führung größer sein als jene einer Führung, die in bestimmten beispielhaften Ausführungsformen verwendet wird, die im Vorliegenden offenbart werden (z. B. wie in 3 gezeigt) und so kann die DGF-Verarbeitung, die bei (210) stattfindet, länger dauern und/oder mehr Rechenressourcen beinhalten als für die DGF-Verarbeitung, die in der beispielhaften Ausführungsform stattfindet, die vorliegend offenbart ist.
  • Es wird nun auf 3 Bezug genommen; 3 stellt eine beispielhafte Ausführungsform eines Bildverarbeitungsverfahrens 300 dar, das einen DGF verwendet. Das Bildverarbeitungsverfahren 300 verwendet eine Führung mit einer niedrigeren Dimensionalität als der Führung, die in dem Bildverarbeitungsverfahren 200 verwendet wird, und so kann eine bestimmte DGF-Verarbeitung, die in dem Bildverarbeitungsverfahren 300 verwendet wird, schneller und/oder mit weniger Rechenressourcen abgeschlossen werden.
  • Das Bildverarbeitungsverfahren 300 umfasst, ein erstes Merkmal zu bestimmen und zu verarbeiten, um ein drittes Merkmal zu erzeugen (302), ein zweites Merkmal zu bestimmen und zu verarbeiten, um ein viertes Merkmal zu erzeugen (304), eine Führung zu erzeugen (306), mit einem DGF zu verarbeiten (308), eine Karte zu erzeugen (310) und ein eingegebenes Bild unter Verwendung der präziseren Karte zu verarbeiten (312).
  • Bei (302) wird ein erstes Merkmal eines eingegebenen Bildes bestimmt und verarbeitet, um ein drittes Merkmal zu erzeugen. Das eingegebene Bild kann dem im Vorliegenden unter Bezugnahme auf 2 beschriebenen Bild ähnlich sein und kann eine Dimensionalität D4 aufweisen. Das erste Merkmal kann eine Dimensionalität D1 haben, die kleiner ist als D4. Eine Verarbeitung des ersten Merkmals kann umfassen, eine Faltung bei dem ersten Merkmal anzuwenden (z. B. eine 1 × 1 -Faltung, wie beispielsweise eine Kernelfaltung von 1 × 1 × c s × c s '
    Figure DE102022105545A1_0007
    um die Dimensionen des ersten Merkmals zu ändern (z. B. von hs × ws × cs zu h s × w s × c s '
    Figure DE102022105545A1_0008
    ). Eine Verarbeitung des ersten Merkmals kann auch umfassen, ein bilineares Upsampling zu implementieren, um die Dimensionen zu ändern (was z. B. zu einem dritten Merkmal mit Dimensionen h g × w g × c s '
    Figure DE102022105545A1_0009
    führt). Das resultierende dritte Merkmal kann eine Eingabe zur Verarbeitung mit dem DGF sein (308).
  • Bei (304) wird ein zweites Merkmal des eingegebenen Bildes bestimmt und verarbeitet, um ein viertes Merkmal zu erzeugen. Bestimmen des zweiten Merkmals kann umfassen, einen oder mehrere dimensionale Tensoren basierend auf dem eingegebenen Bild zu identifizieren, auszuwählen oder zu erzeugen, der die Wahrscheinlichkeit angibt, dass oder ob jedes einer Mehrzahl von Pixelbereichen eines Bildes (die Bereiche können benachbarte Pixel des Bildes umfassen oder können nicht benachbarte Pixel umfassen) Teil einer semantischen Grenze ist. Das zweite Merkmal kann eine Ausgabe von einem Merkmalsextraktionsnetzwerk (Feature Extraction Network, FXN) (z. B. eine direkte Ausgabe oder eine verarbeitete Ausgabe) eines umfangreicheren Bildverarbeitungsverfahrens umfassen, welches das Bildverarbeitungsverfahren 300 umfasst. Das zweite Merkmal kann eine Dimensionalität D2 gleich hg × wg × cg aufweisen. Die Dimensionalität D2 kann kleiner sein als D1 und D4. In einigen Ausführungsformen H > hg > hs und W > wg > ws.
  • Eine Verarbeitung des zweiten Merkmals kann umfassen, eine Faltung bei dem zweiten Merkmal anzuwenden (z. B. eine 1 × 1 -Faltung, wie beispielsweise eine Kernelfaltung von 1 × 1 × c g × c g '
    Figure DE102022105545A1_0010
    ), um die Dimensionen des zweiten Merkmals zu ändern (z. B. von hg × wg × cg zu h g × w g × c g '
    Figure DE102022105545A1_0011
    ). Das resultierende vierte Merkmal kann eine Eingabe zum Erzeugen der Führung (306) sein und kann eine Eingabe zum Erzeugen der Karte sein (310).
  • Bei (306) erzeugt die Vorrichtung 106 eine Führung basierend auf dem vierten Merkmal. Ein Erzeugen der Führung kann umfassen, eine Faltung bei dem vierten Merkmal anzuwenden (z. B. eine 1 × 1-Faltung, wie beispielsweise eine Kernelfaltung von 1 × 1 × c g ' × c s '
    Figure DE102022105545A1_0012
    ), um die Dimensionen des vierten Merkmals zu ändern (z.B. von hg × wg × cg zu h g × w g × c g '  zu  h g × w g × c s '
    Figure DE102022105545A1_0013
    ). Die Führung kann so Dimensionen von h g × w g × c s '
    Figure DE102022105545A1_0014
    aufweisen, was eine kleinere Dimensionalität sein kann als die Dimensionen H×W×c der Führung, die im Vorliegenden unter Bezugnahme auf 2 erläutert wird. Bei der in 3 gezeigten beispielhaften Ausführungsform kann die Führung die gleichen Dimensionen wie das dritte Merkmal aufweisen. Die Führung kann eine Eingabe in eine DGF-Verarbeitung bei (308) sein.
  • Bei (308) verwendet die Vorrichtung 106 einen DGF, um das dritte Merkmal unter Verwendung der Führung zu verarbeiten, eine Filterausgabe zu erzeugen, die als Eingabe für den Kartenerzeugungsprozess dienen kann (310). Die Eingabe für den Kartenerzeugungsprozess kann die gleichen Dimensionen aufweisen wie das dritte Merkmal und wie die Führung. Die Dimensionen können in dem in 3 dargestellten Beispiel h g × w g × c s '
    Figure DE102022105545A1_0015
    sein. Der DGF kann zum Beispiel der in 4 gezeigte DGF sein, der im Nachfolgenden detaillierter erläutert wird. Da die Führung eine kleinere Dimensionalität aufweist als die im Vorliegenden unter Bezugnahme auf 2 beschriebene, kann eine Verarbeitung mit dem DGF (308) schneller sein und/oder weniger Rechenressourcen verbrauchen als die DGF-Verarbeitung (210).
  • Bei (310) verwendet die Vorrichtung 106 die Ausgabe des DGF und das vierte Merkmal, um eine Karte zu erzeugen. Eine Erzeugung der Karte kann umfassen, die Ausgabe des DGF und das vierte Merkmal zu aggregieren (z. B. zu verketten) (z. B. um ein Merkmal mit Dimensionen h g × w g × ( c s ' + c g ' )
    Figure DE102022105545A1_0016
    zu erzeugen). Eine Erzeugung der Karte kann eine oder mehrere (z. B. zwei aufeinanderfolgende) 3 × 3 DS-Faltungen, eine 1 × 1-Faltung und/oder ein bilineares Upsampling umfassen, um eine Karte mit den Dimensionen H × W × c zu erzeugen. Bei (312) kann die Karte verwendet werden, um ein Bild zu verarbeiten (z. B. kann das Bild basierend auf der Karte geglättet werden).
  • So kann das Bildverarbeitungsverfahren 300 eine Verbesserung gegenüber dem Bildverarbeitungsverfahren 200 darstellen, zumindest da die verwendete Führung eine geringere Dimensionalität aufweist als die im Vorliegenden unter Bezugnahme auf 2 bezogene Führung, und so kann eine Verarbeitung mit dem DGF (308) schneller sein und/oder weniger Rechenressourcen verwenden als die DGF-Verarbeitung (210).
  • Es wird nun auf 4 Bezug genommen; 4 stellt eine beispielhafte Ausführungsform des DGF dar, der in dem in 3 gezeigten Bildverarbeitungsverfahren verwendet wird. Der dargestellte DGF 400 empfängt als Eingabe ein drittes Merkmal 402, wie beispielsweise das dritte Merkmal, das erzeugt wurde, indem das erste Merkmal bei (302) in 3 verarbeitet wurde. Der DGF 400 empfängt auch eine Führung 404 als Eingabe, beispielsweise die Führung, die bei (306) in 3 dargestellt ist. Die Führung 404 kann Dimensionen von h g × w g × c s '
    Figure DE102022105545A1_0017
    aufweisen, was kleiner sein kann als die Dimensionen der Führung, die bei (208) in 2 erzeugt wird. Bei dem in 4 dargestellten Beispiel weist das eingegebene Bild, auf dem das erste und das zweite Merkmal basieren, Dimensionen von H=480 und W=640 auf und die Führung 404 weist Dimensionen von 120×160×256 auf, die h g × w g × c s '
    Figure DE102022105545A1_0018
    entsprechen, aber in anderen Implementierungen können andere Dimensionen verwendet werden. Die Führung 404 weist kleinere Dimensionen auf als das eingegebene Bild, das verarbeitet wird. Das dritte Merkmal 402 und die Führung 404 können die gleichen Dimensionen aufweisen.
  • Der DGF 400 umfasst, oder wird definiert durch, einen Ablauf an Vorgängen, die das eingegebene dritte Merkmal 402 und die eingegebene Führung 404 nutzen. Einer oder mehrere dieser Vorgänge können als eine oder mehrere Schichten in einem Netzwerk implementiert sein. Der Ablauf an Vorgängen kann 3 × 3 tiefenweise erweiterte Faltungen (dilated convolutions), 1×1-Faltungen, Aggregationen (z. B. Verkettungen), elementweise Selbst-Multiplikationen, Punktprodukte, Subtraktionen, Additionen und/oder andere geeignete Operationen, wie in 4 gezeigt, umfassen, wobei Symbole verwendet werden, die einem Fachmann des relevanten Fachgebiets bekannt sind. Jeder Vorgang wird so durchgeführt, dass er ein Merkmal erzeugt, das die gleichen Dimensionen aufweist wie das dritte Merkmal 402 und die Führung 404 (in dem dargestellten Beispiel 120×160×256). Indem sichergestellt wird, dass die Führung 404 relativ geringe Dimensionen aufweist (z. B. mittels der in 3 gezeigten Verarbeitung), kann der Ablauf von Vorgängen, der den DGF 400 definiert, schneller und/oder mit weniger Rechenressourcen durchgeführt werden als mit einer Führung, die im Vergleich größere Dimensionen aufweist.
  • Tabelle 1 unten zeigt Beispiel-Code, der dem Ablauf von Vorgängen bzw. Operationen entspricht, welche den DGF 400 definieren (rechte Spalte) und beispielhaften Vergleichs-Code, der dem Ablauf an Vorgängen für den Vergleichs-DGF entspricht, der bei (210) in 2 verwendet wird. Der Code, der dem DGF 400 entspricht, kann schneller und/oder mit weniger Rechenressourcen ausgeführt werden als der Vergleichs-Code, zumindest da der Code, der dem DGF 400 entspricht, eine Führung verwendet, die eine kleinere Dimensionalität aufweist als die Führung, die durch den Vergleichs-Code verwendet wird. Tabelle 1
    Vergleichs-DGF DGF 400
     Drittes Merkmal: f  Drittes Merkmal:f
     Führung: g  Führung: g
     Ausgabe: q  Ausgabe: q
     Schritte:  Schritte:
     (1)  (1)
    m ƒ = b o x F i l t e r ( ƒ ) m g = b o x F i l t e r ( g ) c o r r g = b o x F i l t e r ( g . g ) c o r r g ƒ = b o x F i l t e r ( g . ƒ )
    Figure DE102022105545A1_0019
    m ƒ = d e p t h w i s e D i l a t e d C o n v ( ƒ ) m g = d e p t h w i s e D i l a t e d C o n v ( g ) c o r r g = d e p t h w i s e D i l a t e d C o n v ( g . g ) c o r r g ƒ = d e p t h w i s e D i l a t e d C o n v ( g . ƒ )
    Figure DE102022105545A1_0020
     (2)  (2)
    v a r g = c o r r g m g . m g c o v g ƒ = c o r r g ƒ m g . m ƒ
    Figure DE102022105545A1_0021
    v a r g = c o r r g m g . m g c o v g ƒ = c o r r g ƒ m g . m ƒ
    Figure DE102022105545A1_0022
     (3)  (3)
    a = c o v g ƒ . / ( v a r g + ) b = m ƒ a . m g
    Figure DE102022105545A1_0023
     (4)
    c = c o n c a t e ( [ c o v g ƒ , v a r g ] ) a = p o i n t w i s e C o n v B l o c k ( c ) b = m ƒ a . m g
    Figure DE102022105545A1_0024
    m a = b o x F i l t e r ( a ) m b = b o x F i l t e r ( b )
    Figure DE102022105545A1_0025
     (5)
     (4) m a = d e p t h w i s e D i l a t e d C o n v ( a ) m b = d e p t h w i s e D i l a t e d C o n v ( b )
    Figure DE102022105545A1_0026
    q = m a . g + m b
    Figure DE102022105545A1_0027
     (5) q = m a . g + m b
    Figure DE102022105545A1_0028
  • Es wird nun auf 5 Bezug genommen; 5 stellt eine beispielhafte Ausführungsform eines Bildverarbeitungsverfahrens 500 dar, das einen DGF verwendet. Das Bildverarbeitungsverfahren 500 verwendet eine Führung mit einer niedrigeren Dimensionalität als der Führung, die in dem Bildverarbeitungsverfahren 200 verwendet wird. Bei einigen Ausführungsformen weist ein drittes Merkmal, das in den DGF zur Verarbeitung eingegeben wird, bei dem Bildverarbeitungsverfahren 500 eine andere Dimensionalität auf als (z. B. niedriger als) eine Dimensionalität einer Führung, die ebenfalls in den DGF eingegeben wird. Bei einigen Ausführungsformen kann die Führung in dem DGF einem Downsampling unterzogen werden (in ihrer Dimensionalität reduziert werden) und ein oder mehrere DGF-Vorgänge können bei der niedrigeren Dimensionalität durchgeführt werden, wodurch eine Verarbeitungszeit und/oder Anzahl an Rechenressourcen, die verwendet werden, verbessert wird bzw. werden. Die Führung kann auch als Eingabe in einen Kartenerzeugungsprozess ohne ein solches Downsampling eingegeben werden (z. B. kann sie mit einer Ausgabe des DGF aggregiert werden (z. B. verkettet werden)). Das Bildverarbeitungsverfahren 500 kann zum Beispiel unter Verwendung von DGF-Ausführungsformen implementiert werden, die in 6 oder 7 gezeigt sind. Aus zumindest diesen Gründen kann eine bestimmte DGF-Verarbeitung, die in dem Bildverarbeitungsverfahren 500 verwendet wird, schneller und/oder mit weniger Rechenressourcen abgeschlossen werden.
  • Das Bildverarbeitungsverfahren 500 kann durch die Vorrichtung 106 durchgeführt werden und umfasst, ein erstes Merkmal zu bestimmen und zu verarbeiten, um ein drittes Merkmal zu erzeugen (502), ein zweites Merkmal zu bestimmen und zu verarbeiten, um eine Führung zu erzeugen (504), mit einem DGF zu verarbeiten (506), eine Karte zu erzeugen (508) und ein eingegebenes Bild unter Verwendung der Karte zu verarbeiten (510). Das erste Merkmal kann eine Dimensionalität D1 aufweisen, das zweite Merkmal kann eine Dimensionalität D2 aufweisen, das dritte Merkmal kann eine Dimensionalität D3 aufweisen, die Führung kann eine Dimensionalität D4 aufweisen und ein Eingabebild, auf dem das erste Merkmal und das zweite Merkmal basieren, kann eine Dimensionalität D5 aufweisen. Bei dem Bildverarbeitungsverfahren 500 gilt D3 < D4.
  • Bei (502) kann die Vorrichtung 106 das erste Merkmal unter Verwendung eines Prozesses bestimmen, der dem im Vorstehenden unter Bezugnahme auf (302) beschriebenen Prozess ähnlich ist (z. B. kann das erste Merkmal auf einer Ausgabe von einem ASPP-Modul basieren). Das erste Merkmal kann eine Dimensionalität D1 aufweisen. In dem dargestellten Beispiel gilt D1 = 32×64×512, aber andere Dimensionen können in anderen Ausführungsformen implementiert sein.
  • Eine Verarbeitung des ersten Merkmals bei (502), um das dritte Merkmal zu erzeugen, kann ebenfalls ähnlich wie bei dem oben unter Bezugnahme auf (302) beschriebenen Prozess durchgeführt werden, aber es ist hier anzumerken, dass das dritte Merkmal derart erzeugt wird, dass es eine Dimensionalität D3 aufweist, die kleiner ist als eine Dimensionalität D2 der Führung. Es wird zum Beispiel eine 1×1-Faltung durchgeführt, um die Dimensionalität des ersten Merkmals einzustellen (z. B. zu reduzieren), wodurch das dritte Merkmal erzeugt wird. In dem dargestellten Beispiel gilt D3 = 32×64×64 und die 1×1-Faltung kann eine Kernel-Faltung von 1×1×512×64 umfassen, aber in anderen Ausführungsformen können andere Dimensionen und andere 1×1-Faltungen implementiert werden.
  • Bei (504) kann die Vorrichtung 106 das zweite Merkmal unter Verwendung eines Prozesses bestimmen, der dem im Vorstehenden unter Bezugnahme auf (304) beschriebenen Prozess ähnlich ist (z. B. kann das zweite Merkmal auf einer Ausgabe von einem FXN basieren). Das zweite Merkmal kann eine Dimensionalität D2 aufweisen. In dem dargestellten Beispiel gilt D2 = 128×256×128, aber andere Dimensionen können in anderen Ausführungsformen implementiert sein.
  • Eine Verarbeitung des zweiten Merkmals bei (504), um die Führung zu erzeugen, kann ebenfalls ähnlich dem Prozess durchgeführt werden, der oben unter Bezugnahme auf (304) beschrieben ist. Es wird zum Beispiel eine 1×1-Faltung durchgeführt, um die Dimensionalität des zweiten Merkmals einzustellen (z. B. zu reduzieren), wodurch die Führung mit einer Dimensionalität von D4 erzeugt wird. In dem dargestellten Beispiel gilt D4 = 128×256×48 und die 1×1-Faltung kann eine Kernel-Faltung von 1×1×128×48 umfassen, aber in anderen Ausführungsformen können andere Dimensionen und andere 1×1-Faltungen implementiert werden. Die Dimensionalität D4 der Führung ist höher als die Dimensionalität D3 des dritten Merkmals.
  • Bei (506) kann die Vorrichtung 106 den DGF verwenden, um das dritte Merkmal mit Hilfe der Führung zu verarbeiten, um eine Filterausgabe zu erzeugen. Bei einigen Ausführungsformen kann der DGF ein Dual-Auflösungs-DGF sein und kann zum Beispiel den DGF 600 umfassen, der im Nachfolgenden unter Bezugnahme auf 6 beschrieben ist. Bei einigen Ausführungsformen kann der DGF ein DGF mit einfacher Auflösung sein und kann zum Beispiel den DGF 700 umfassen, der im Nachfolgenden unter Bezugnahme auf 7 beschrieben ist. Der DGF kann ein Merkmal ausgeben, das für einen Kartenerzeugungsprozess bei (508) zu verwenden ist. In dem dargestellten Beispiel weist das dritte Merkmal Dimensionen von 32×64×64 auf, die Führung weist Dimensionen von 128×256×48 auf und die Ausgabe des DGF weist Dimensionen von 128×256×64 auf, aber in anderen Ausführungsformen können andere Dimensionen implementiert sein.
  • Bei (508) verwendet die Vorrichtung 106 die Ausgabe des DGF und der Führung, um eine Karte zu erzeugen. Eine Erzeugung der Karte kann umfassen, die Ausgabe des DGF und der Führung zu aggregieren (z. B. zu verketten). Eine Erzeugung der Karte kann eine oder mehrere (z. B. zwei aufeinanderfolgende) 3×3-DS-Faltungen umfassen. Bei (510) kann die Karte verwendet werden, um das eingegebene Bild zu verarbeiten (z. B. kann das ein eingegebenes Bild basierend auf der Karte geglättet werden).
  • So kann das Bildverarbeitungsverfahren 500 eine Verbesserung gegenüber dem Bildverarbeitungsverfahren 200 darstellen, zumindest da eine Verarbeitung mit dem DGF bei (506) schneller sein kann und/oder möglicherweise weniger Rechenressourcen verwendet als die DGF-Verarbeitung (210).
  • Es wird nun auf 6 Bezug genommen; 6 stellt eine beispielhafte Ausführungsform eines Dual-Auflösungs-DGF dar, der in dem in 5 gezeigten Bildverarbeitungsverfahren verwendet wird. Der dargestellte DGF 600 empfängt als Eingabe ein drittes Merkmals 602, wie beispielsweise das dritte Merkmal, das erzeugt wurde, indem das erste Merkmal bei (502) in 5 verarbeitet wurde. Der DGF 600 empfängt auch eine Führung 604 als Eingabe, beispielsweise die Führung, die bei (504) in 5 dargestellt ist. Die Führung 604 kann Dimensionen haben, die kleiner sind als die Dimensionen der Führung, die bei (208) in 2 erzeugt wird. Die Führung 604 weist eine Dimensionalität D4 auf, die größer ist als eine Dimensionalität D3 des dritten Merkmals. Bei dem in 6 dargestellten Beispiel weist das dritte Merkmal 602 Dimensionen von 32×64×c auf und die Führung 604 weist Dimensionen von 128×256×48 auf, aber in anderen Implementierungen können andere Dimensionen verwendet werden.
  • Der DGF 600 umfasst, oder wird definiert durch, einen Ablauf an Vorgängen, der das dritte Merkmal 602 unter Verwendung der Führung 604 verarbeitet. Einer oder mehrere dieser Vorgänge können als eine oder mehrere Schichten in einem Netzwerk implementiert sein. Der Ablauf an Vorgängen kann Max Pooling, bilineares Upsampling, 33 tiefenweise erweiterte Faltungen (dilated convolutions), 1×1-Faltungen, Aggregationen (z. B. Verkettungen), elementweise Selbst-Multiplikationen, Punktprodukte, Subtraktionen, Additionen und/oder andere geeignete Operationen, wie in 6 gezeigt, umfassen, wobei Symbole verwendet werden, die einem Fachmann des relevanten Fachgebiets bekannt sind.
  • Der Ablauf an Vorgängen umfasst ein Downsampling (Verringern der Dimensionalität von) der Führung 604, um mit der Dimensionalität D3 des dritten Merkmals übereinzustimmen (z. B. über einen Prozess, der Max Pooling umfasst), und eine Durchführung einer Mehrzahl von Operationen bei der verringerten Dimensionalität D3. Der Ablauf an Vorgängen kann einen oder mehrere Upsampling-Prozesse (Prozesse, die eine Dimensionalität erhöhen, wie beispielsweise einen bilinearen Upsampling-Prozess) nach der Mehrzahl von Vorgängen bei der verringerten Dimensionalität D3 (z. B. an oder nahe einem Ende des Ablaufs an Vorgängen) umfassen, eine Weiterverarbeitung der einem Upsampling unterzogenen Merkmale (z. B. mittels Punktprodukt oder Aggregationsoperationen) nach dem einen oder den mehreren Upsampling-Prozessen, und Ausgeben eines Merkmals, das eine höhere Dimensionalität aufweist als D3.
  • Die Weiterverarbeitung der einem Upsampling unterzogenen Merkmale umfasst, eine Punktproduktoperation bei einer höheren Auflösungsversion der Führung durchzuführen (z. B. bei einer höheren Auflösungsversion der Führung, die durch 1×1-Faltung der Führung 604 erzeugt wird), die eine Dimensionalität gleich der Ausgabe des DGF 600 aufweist.
  • Indem ein drittes Merkmal 602 und eine Führung 604 erzeugt und verwendet werden, die relativ kleine Dimensionen aufweisen (z. B. mittels der in 5 dargestellten Verarbeitung), kann der Ablauf an Operationen, der den DGF 600 definiert, schneller und/oder mit weniger Rechenressourcen durchgeführt werden als eine Führung mit relativ höheren Dimensionen.
  • Es wird nun auf 7 Bezug genommen; 7 stellt eine beispielhafte Ausführungsform eines DGF mit „einer Auflösung“ bzw. mit „einer Dimension“ dar, die in dem Bildverarbeitungsverfahren verwendet werden kann, das in 3 oder in 5 gezeigt ist. Der dargestellte DGF 700 empfängt als Eingabe ein drittes Merkmals 702, wie beispielsweise das dritte Merkmal, das erzeugt wurde, indem das erste Merkmal bei (502) in 5 verarbeitet wurde. Der DGF 700 empfängt auch eine Führung 704 als Eingabe, beispielsweise die Führung, die bei (504) in 5 dargestellt ist. Die Führung 704 kann Dimensionen haben, die kleiner sind als die Dimensionen der Führung, die bei (208) in 2 erzeugt wird. Die Führung 704 weist eine Dimensionalität D4 auf, die größer ist als eine Dimensionalität D3 des dritten Merkmals. Bei dem in 7 dargestellten Beispiel weist das dritte Merkmal 704 Dimensionen von 32×64×c auf und die Führung 704 weist Dimensionen von 128×256×48 auf, aber in anderen Implementierungen können andere Dimensionen verwendet werden.
  • Der DGF 700 umfasst, oder wird definiert durch, einen Ablauf an Vorgängen, der das dritte Merkmal 702 unter Verwendung der Führung 704 verarbeitet. Einer oder mehrere dieser Vorgänge können als eine oder mehrere Schichten in einem Netzwerk implementiert sein. Der Ablauf an Vorgängen kann Max Pooling, bilineares Upsampling, 3×3 tiefenweise erweiterte Faltungen (dilated convolutions), 1×1-Faltungen, Aggregationen (z. B. Verkettungen), elementweise Selbst-Multiplikationen, Punktprodukte, Subtraktionen, Additionen und/oder andere geeignete Operationen, wie in 7 gezeigt, umfassen, wobei Symbole verwendet werden, die einem Fachmann des relevanten Fachgebiets bekannt sind.
  • Der Ablauf an Vorgängen umfasst Downsampling (Verringern der Dimensionalität von) der Führung 704, um mit der Dimensionalität D3 des dritten Merkmals übereinzustimmen (z. B. über einen Prozess, der Max Pooling umfasst), und Durchführen einer Mehrzahl von Operationen bei der verringerten Dimensionalität D3. Der Ablauf an Vorgängen kann eine Weiterverarbeitung der einem Upsampling unterzogenen Merkmale (z. B. mittels Punktprodukt oder Aggregationsoperationen) nach dem einen oder den mehreren Upsampling-Prozessen, und Ausgeben eines Merkmals, das eine höhere Dimensionalität aufweist als D3, umfassen. Die Weiterverarbeitung der einem Upsampling unterzogenen Merkmale umfasst, eine Punktproduktoperation bei einer niedrigeren Auflösungsversion der Führung durchzuführen (z. B. einer niedrigeren Auflösungsversion der Führung, die durch den Prozess erzeugt wird, der Max Pooling umfasst), die eine Dimensionalität aufweist, die kleiner ist als die Ausgabe des DGF 700.
  • Der Ablauf an Operationen kann einen endgültigen Upsampling-Prozess (einen Prozess, der eine Dimensionalität erhöht, wie beispielsweise einen bilinearen Upsampling-Prozess) nach der Mehrzahl von Operationen bei der verringerten Dimensionalität D3 (z. B. an oder in der Nähe eines Endes des Ablaufs an Operationen) umfassen und das Ergebnis des Upsampling-Prozesses kann die Ausgabe von dem DGF 700 sein.
  • Indem ein drittes Merkmal 700 und eine Führung 704 erzeugt und verwendet werden, die relativ kleine Dimensionen aufweisen (z. B. mittels der in 5 dargestellten Verarbeitung), kann der Ablauf an Operationen, der den DGF 700 definiert, schneller und mit weniger Rechenressourcen durchgeführt werden als eine Führung mit relativ höheren Dimensionen.
  • 8 stellt eine beispielhafte Ausführungsform eines DGF-Trainingsprozesses 800 dar. Obwohl das Nachfolgende als Beispiel das Netzwerksystem 102 als den DGF-Trainings-Prozess 800 implementierend beschreibt, kann der DGF-Trainingsprozess bei anderen Ausführungsformen durch die Vorrichtung 106 oder durch das Netzwerksystem 102 oder durch eine Kombination daraus durchgeführt werden. Der DGF-Trainingsprozess 800 kann verwendet werden, um Parameter, die in einem DGF (z. B. dem DGF 400, dem DGF 600 oder dem DGF 700, die im Vorliegenden beschrieben werden) verwendet werden, zu optimieren oder zu verbessern. Der DGF-Trainingsprozess 800 kann auch verwendet werden, um andere Parameter zu optimieren oder zu verbessern, die bei dem Bildverarbeitungsverfahren 300 (z. B. Parameter, die bei (302), (304) und/oder (306) verwendet werden) oder dem Bildverarbeitungsverfahren 500 (z. B. Parameter, die bei (502) und/oder (504) verwendet werden) verwendet werden. Die Parameter, die optimiert oder verbessert werden, können zum Beispiel Koeffizienten umfassen, die in Netzwerken verwendet werden (z. B. Netzwerke, die verwendet werden, um Faltungen zu implementieren, oder Batch-Normalisierungs-Schichten, die in bestimmten Prozessen verwendet werden).
  • Ein vergleichbarer Ansatz für Training umfasst Softmax-Kreuzentropie zum Training von semantischer Segmentierung, was verwendet werden kann, um einen Aufgabenverlust auf Pixelebene zu bestimmen. Dieser Verlust kann zum Beispiel bei oder als Verlustfunktion für ein Training verwendet werden. Der vorliegend beschriebene DGF-Trainingsprozess 800 verwendet das Lernen von semantischen Grenzen (Semantic Boundary Learning, SBL) als Multitask-Verlust sowie einen Aufgabenverlust auf Pixelebene (z. B. Softmax-Kreuzentropie), was die Trainingsfähigkeit verbessern kann (z. B. Fähigkeit, feinkörnige Bildstrukturen zu lernen). Der DGF-Trainingsprozess 800 umfasst, eine Karte zu bestimmen (802), Segmentierungs-Labels für Ground Truth (GT) zu bestimmen (804), SBL-Verarbeitung (806), SBL-gewichtete Kreuzentropie (SBL-WCE) zu bestimmen (810) und Parameter zu optimieren (812).
  • Bei (802) bestimmt das Netzwerksystem 102 eine Karte, die verwendet werden kann, um ein eingegebenes Bild zu verarbeiten (z. B. zu glätten). Die Karte kann, zum Beispiel, unter Verwendung von Prozessen des Bildverarbeitungsverfahrens 300 (z. B. bei (310)) oder des Bildverarbeitungsverfahrens 500 (z. B. bei (508)) bestimmt werden. Die Karte kann für eine SBL-Verarbeitung bei (806) eingegeben werden.
  • Bei (804) bestimmt das Netzwerksystem 102 GT-Segmentierungs-Label, die als Eingabe bei der SBL-Verarbeitung bei (806) verwendet werden können. Die GT-Segmentierungs-Label können in der SBL-Verarbeitung bei (806) verwendet werden, um eine semantische Grenze als Tensor einer Form (H, W, C) zu prädizieren, wobei H und W die Höhe und Breite und C die Anzahl an Klassen bezeichnet.
  • Bei (806) führt das Netzwerksystem 102 eine SBL-Verarbeitung unter Verwendung der Karte, die bei (802) bestimmt wurde, und der GT-Segmentierungs-Labels, die bei (804) bestimmt wurden, durch. SBL kann die Verwendung eines verbesserten Deep-Netzwerks mit einem semantischen Grenzerfassungszweig und ein Trainieren des Netzwerks unter Verwendung eines bestimmten SBL umfassen. Die SBL-Verarbeitung umfasst, einen CE-Verlust zu bestimmen, der zwischen (z. B. als Differenz von) einer semantischen GT-Grenze (z. B. einer angenäherten GT-Grenzkarte, die basierend auf den bei (804) bestimmten GT-Segmentierungs-Labels bestimmt wird) und einer prädizierten Grenze (z. B. einer semantischen Grenze, die anhand einer Karte für prädizierte semantische Segmentierung abgeleitet wird) berechnet wird.
  • Die SBL-Verarbeitung 806 kann eine Mehrzahl von Prozessen umfassen, die bei einer eingegebenen Karte mit Dimensionen H×W×K durchgeführt werden (wobei K eine Anzahl an Klassen ist, die der Prozess beabsichtigt, zu klassifizieren), einschließlich einen oder mehrere Gumbel-Softmax-Prozesse, einen oder mehrere Dreiecksfilterprozesse, eine oder mehrere Gradientengrößenberechnungen, einen oder mehrere Schwellenwertprozesse, Bestimmen der prädizierten Grenze, bestimmten einer approximierten GT-Grenzkarte und Bestimmen von Kreuzentropie(CE)-Verlust (z. B. Softmax-CE-Verlust). Eine oder mehrere dieser Prozesse können als eine oder mehrere Schichten in einem Netzwerk implementiert sein.
  • Die Gumbel-Softmax-Prozesse können als Gumbel-Softmax-Schicht implementiert sein. Bei einigen Ausführungsformen ist die Gumbel-Softmax-Schicht ein differenzierbarer Ersatz für eine Argmax(·)-Funktion. π k i , j
    Figure DE102022105545A1_0029
    bezeichne den Wert eines Pixels (i, j) in dem k-ten Kanal des Soft-Logits-Volumens und y k i , j
    Figure DE102022105545A1_0030
    bezeichne die Logits und S ( y k i , j )
    Figure DE102022105545A1_0031
    bezeichne die Ausgabe der Gumbel-Softmax-Schicht bei Pixel (i, j): S ( y k i , j ) = exp ( ( π k i , j + g k i , j ) / τ ) k = 0 K exp ( ( π k i , j + g k i , j ) / τ ) ,   k = 0,1,2, , K
    Figure DE102022105545A1_0032
    wobei g k i , j
    Figure DE102022105545A1_0033
    Zufallsrauschen ist, das aus einer Gumbel-Verteilung entnommen wurde und τ=0,5 die Temperatur der Softmax-Funktion ist und K die Anzahl an Klassen ist. Die Gumbel-Verteilung kann definiert sein als: g k i , j = log ( log ( U + ) )  und  U U n i f o r m ( 0,1 )
    Figure DE102022105545A1_0034
    wobei ∈ = 1e - 10 eine kleine Zahl für numerische Stabilität ist und U eine Zufallsvariable ist, die eine einheitliche Verteilung im Intervall [0, 1] aufweist.
  • Bei einigen Ausführungsformen können die Dreiecksfilterprozesse als trennbare Dreiecksfilterschicht implementiert sein. Trennbare Dreiecksfilter können als Vorverarbeitung für Kantenerfassungsaufgaben verwendet werden. Trennbare Dreiecksfilter glätten das Bild und unterbinden Rauschen in der Nähe der Kanten. Der Kernel kann basierend auf der Bandbreite berechnet werden (z. B. kann ein Kernel für Bandbreite n (eine ungerade Zahl) [ 1 s , 2 s , , n 2 + 1 s , , 2 s , 1 s ] ,   s = i = 1 n i
    Figure DE102022105545A1_0035
    sein). Dieser Kernel kann sequenziell in horizontalen und vertikalen Richtungen für jede Klasse in der Ausgabe der Gumbel-Softmax-Schicht angewandt werden. Diese Schicht erfordert keine lernbaren Parameter. Bei einigen Ausführungsformen ist die Bandbreite n = 9.
  • Bei einigen Ausführungsformen kann die Gradientengrößenberechnung auf, in gewissen Aspekten, ähnliche Weise wie bei der Dreiecksfilterschicht berechnet werden. Ein Kernel ƒ=[-0,5, 0, 0,5] kann als 1-D-Kernel verwendet werden. Dieser Kernel wird verwendet, um mit jedem Kanal des eingegebenen Tensors zu falten. Zum Berechnen des Gradienten in einer horizontalen Richtung kann Kernel ƒ verwendet werden, und zum Berechnen des Gradienten in der vertikalen Richtung kann ƒT verwendet werden. Die Größe kann als L2-Norm der Gradienten von zwei Richtungen berechnet werden. Es ist zu beachten, dass bei einigen Ausführungsformen die Gradientengröße unter Verwendung eines 2D-Filters mit 2D-Kernel berechnet werden kann.
  • Bei einigen Ausführungsformen können Schwellenwertprozesse umfassen, alle Pixel mit Werten, die kleiner sind als ein Schwellenwert, auf einen voreingestellten Wert einzustellen (z. B. auf null). Die derart verarbeitete Karte kann verwendet werden, um eine Grenze zu prädizieren.
  • Bei einigen Ausführungsformen kann eine approximierte GT-Grenzkarte unter Verwendung von Bildverzerrung mittels Lichtfluss bestimmt werden. Die GT-Grenze kann zum Beispiel eine sein, die von einer GT-Grenze von einem anderen, ähnlichen Bild verzerrt wurde (z. B. benachbarte Frames in einem Video).
  • Eine Eingabe, die verwendet wird, um den CE-Verlust zu bestimmen, ist eine Gradientengrößenkarte f pro Klasse, die basierend auf der prädizierten Grenze bestimmt wird, und eine Gradientengrößenkarte ξ ^ ^ ,
    Figure DE102022105545A1_0036
    die basierend auf der approximierten GT-Grenzkarte bestimmt wird.
  • Bei einigen Ausführungsformen kann die Gradientengrößenkarte pro Klasse als Label für eine semantische Grenze verwendet werden und während eines Trainings in einem Berechnungsgraphen berechnet werden. Der Verlust kann ein L1-Norm-Verlust sein, der zwischen ξ̂ und ξ berechnet wird. S(yk) bezeichne die Klasse k in der Ausgabe des Gumbel-Softmax S(·)-Operators, yk bezeichne die Logits von Klasse k und G stehe für ein Dreiecksfiltern und ∇ sei der Gradientenoperator. ξk stehe für die Gradientenkarte der prädizierten Segmentierungskarte von Klasse k und B ξ +
    Figure DE102022105545A1_0037
    bezeichne die positiven (prädizierten Grenz-) Pixel in ξ und B ξ ^ +
    Figure DE102022105545A1_0038
    bezeichne die positiven (Grenz-) Pixel in ξ̂. Der Verlust L kann wie folgt berechnet werden: L S B L = B + ξ B + ξ ^ | ξ ( B + ) ξ ^ ( B + ) | ,   0,5 B ξ + | ξ ( B ξ + ) ξ ^ ( B ξ + ) | | B ξ + | + 0,5 B ξ ^ + | ξ ( B ξ ^ + ) ξ ^ ( B ξ ^ + ) | | B ξ ^ + |
    Figure DE102022105545A1_0039
    ξ k = 1 2 ( G S ( y k ) )
    Figure DE102022105545A1_0040
  • Bei einigen Ausführungsformen weisen ξ und ξ̂ eine Form (H, W, K) auf. Um den Pixelsatz B ξ +
    Figure DE102022105545A1_0041
    und B ξ ^ +
    Figure DE102022105545A1_0042
    zu erhalten, kann ein Schwellenwert T = 0,1 bei ξ und ξ̂ angewendet werden, um räumliche, binäre Masken Mξ und Mξ̂ zu erhalten. Die Masken können verwendet werden, um den nachfolgenden Verlust mittels elementweiser Multiplikation zu maskieren (⊙): L S B L = 0,5 L 1 + 0,5 L 2
    Figure DE102022105545A1_0043
    L 1 = c j i M ξ i , j , c | ξ i , j , c ξ ^ i , j , c | c j i M ξ i , j , c
    Figure DE102022105545A1_0044
    L 2 = c j i M ξ ^ i , j , c | ξ i , j , c ξ ^ i , j , c | c j i M ξ ^ i , j , c
    Figure DE102022105545A1_0045
    wobei i ∈ {0,1,2,···,H-1}; j ∈ {0,1,2,···,W-1}; c ∈ {0,1,2,···,C-1}.
  • Bei einigen Ausführungsformen ist es nicht erforderlich, dass es lernbare Parameter in den Dreiecksfilterschichten und den Gradientengrößenberechnungsschichten gibt.
  • Bei (808) bestimmt das Netzwerksystem 102 einen Grenzfehler basierend auf den prädizierten Grenzen und der approximierten GT-Grenzkarte, die bei (806) bestimmt wird. Der Grenzfehler kann eine Eingabe zur Bestimmung von SBL-WCE bei (810) sein. Der Grenzfehler kann als Diskrepanz zwischen der prädizierten Grenze und der approximierten GT-Grenzkarte bestimmt sein, und kann als Gewichtung für einen Verlust der gewichteten Kreuzentropie (WCE) verwendet werden (z. B. eine Softmax-Kreuzentropie), um eine Prädiktionsgenauigkeit in Grenzregionen bei (810) weiter zu verbessern. Die Grenzfehler können als Tensor mit Dimensionen H×W×1 ausgedrückt werden.
  • Bei einigen Ausführungsformen wird der Grenzfehler als räumliche Gewichtsmaske bestimmt. Die räumliche Gewichtsmaske kann bei einem Softmax-Kreuzentropie-Verlust, der bestimmt wurde, angewandt werden, um die Prädiktionsgenauigkeit in den Grenzregionen weiter zu verbessern. Die räumliche Gewichtungsmaske kann eine pixelweise Fehlerkarte sein. Jedes Pixel kann einen anderen Wert abhängig davon aufweisen, ob das Pixel in der prädizierten Grenzkarte den gleichen (oder ähnlichen) Wert wie das entsprechende Pixel in der approximierten GT-Grenzkarte aufweist. Die nachfolgende Gleichung zeigt ein Beispiel dafür, wie die pixelweise Grenzfehlermaske bei Softmax-Kreuzentropie angewandt wird, wobei wi,j die Gewichtung bei Pixel (i, j) bezeichnet, ti,j,c das Ground-Truth-Label an Stelle (i,j) angibt und yi,j,c die Softmax-Ausgabe der semantischen Prädiktion ist: L S B L W C E = j H 1 i W 1 w i , j c = 0 C t i , j , c log y i , j , c
    Figure DE102022105545A1_0046
      w i = 0,5 R c ( M ξ i , j , c ) | R c ( ξ i , j , c ) R c ( ξ ^ i , j , c ) | + 0,5 R c ( M ξ ^ i , j , c ) | R c ( ξ i , j , c ) R c ( ξ ^ i , j , c ) | ,
    Figure DE102022105545A1_0047
    • Mξ räumliche Maske, erhalten durch Schwellenwertverfahren bei ξ
    • Mξ̂ räumliche Maske, erhalten durch Schwellenwertverfahren bei ξ̂
  • Wobei Rc(·) eine logische ODER-Operation entlang einer Kanaldimension bezeichnet. Der Gesamtverlust ist folglich: L = λ 1 L S B L W C E + λ 2 L S B L ,
    Figure DE102022105545A1_0048
    wobei λ1 und λ2 die Gewichtungen zum Ausgleichen der zwei Verlustterme sind.
  • Bei (810) bestimmt das Netzwerksystem 102 die SBL-WCE basierend auf dem CE-Verlust, der mittels der SBL-Verarbeitung bei (806) bestimmt wurde, und dem Grenzfehler, der bei (808) bestimmt wurde. Die SBL-WCE kann als Verlust für eine Verlustfunktion dienen oder als Verlustfunktion selbst, um eine Optimierung bei (812) zu trainieren. Bei einer Bestimmung der SBL-WCE kann der Grenzfehler, der bei (808) bestimmt wird, als Gewichtung für den CE-Verlust, der bei (806) bestimmt wird, verwendet werden.
  • Bei (812) kann das Netzwerksystem 102 den SBL-WCE als Verlust für eine Verlustfunktion oder als Verlustfunktion selbst verwenden, um die Parameter des Bildverarbeitungsverfahrens, das trainiert wird, zu optimieren oder zu verbessern. Daher verwendet der DGF-Trainingsprozess 800 SBL als Multitask-Verlust sowie als Aufgabenverlust auf Pixelebene (z. B. Softmax-Kreuzentropie), was die Trainingsfähigkeit (z. B. Fähigkeit, feinkörnige Bildstrukturen zu lernen) verbessern kann und zu einem verbesserten Bildverarbeitungsverfahren führen kann.
  • 9 zeigt ein Beispiel für ein System 900, das eingerichtet ist, eine Bildverarbeitung zu implementieren, gemäß einigen Ausführungsformen. Bezug nehmend auf 9 kann die elektronische Vorrichtung 901 (die der Vorrichtung 106 ähnlich oder gleich sein kann) in dem System 900 mit einer elektronischen Vorrichtung 902 über ein erstes Netzwerk 998 (z. B. ein Kommunikationsnetzwerk für kurze Reichweiten, wie beispielsweise ein WiFi-Netzwerk oder Local Area Network) kommunizieren, oder mit einer elektronischen Vorrichtung 904 oder einem Server 908 (der dem Netzwerksystem 102 ähnlich oder gleich sein kann) über ein zweites Netzwerk 999 (welches dem Netzwerk 104 ähnlich oder gleich sein kann), wie beispielsweise ein drahtloses Kommunikationsnetzwerk mit großer Reichweite (z. B. ein Mobilfunknetzwerk, wie beispielsweise ein 5G-Netzwerk). Die elektronische Vorrichtung 901 kann mit der elektronischen Vorrichtung 904 über den Server 908 kommunizieren. Die elektronische Vorrichtung 901 kann einen Prozessor 920, einen Speicher 930, eine Eingabevorrichtung 950, eine Tonausgabevorrichtung 955, eine Anzeigevorrichtung 960, ein Audiomodul 970, ein Sensormodul 976, eine Schnittstelle 977, ein haptisches Modul 979, ein Kameramodul 980, ein Leistungsverwaltungsmodul 988, eine Batterie 989, ein Kommunikationsmodul 990, ein Teilnehmerkennungsmodul (SIM) 996 und/oder ein Antennenmodul 997 umfassen. Bei einer Ausführungsform kann mindestens eine der Komponenten (z. B. die Anzeigevorrichtung 960 oder das Kameramodul 980) aus der elektronischen Vorrichtung 901 ausgelassen werden, oder eines oder mehrere andere Komponenten können zu der elektronischen Vorrichtung 901 hinzugefügt werden. Bei einer Ausführungsform können einige der Komponenten als einzelne integrierte Schaltung (IC) implementiert sein. Zum Beispiel kann das Sensormodul 976 (z. B. ein Fingerabdrucksensor, ein Irissensor oder ein Belichtungssensor) in der Anzeigevorrichtung 960 (z. B. einer Anzeige) eingebaut sein, oder die Anzeigevorrichtung 960 kann einen oder mehrere Sensoren zusätzlich zu dem Sensormodul 976 umfassen.
  • Bei einigen Ausführungsformen kann die elektronische Vorrichtung 901 eine Rechenvorrichtung oder einen Prozessor umfassen, die bzw. der eingerichtet ist, eine Bildverarbeitung zu implementieren, wie beispielsweise die Verfahren für eine Bildverarbeitung, die vorliegend beschrieben sind.
  • Der Prozessor 920 kann zum Beispiel Software ausführen (z. B. ein Programm 940), um mindestens eine andere mit dem Prozessor 920 gekoppelte Komponente (z. B. eine Hardware- oder Software-Komponente) der elektronischen Vorrichtung 901 zu steuern, und kann verschiedene Datenverarbeitungsvorgänge und/oder -berechnungen durchführen. Zumindest als Teil der Datenverarbeitungsvorgänge und/oder -berechnungen kann der Prozessor 920 einen Befehl oder Daten, die von einer anderen Komponente empfangen wurden (z. B. dem Sensormodul 976 oder dem Kommunikationsmodul 990) in einen flüchtigen Speicher 932 laden, den Befehl oder die Daten, die in dem flüchtigen Speicher 932 gespeichert sind, verarbeiten und die resultierenden Daten in einem nichtflüchtigen Speicher 934 speichern. Der Prozessor 920 kann einen Hauptprozessor 921 (z. B. eine zentrale Prozessoreinheit (CPU) oder einen Anwendungsprozessor (AP)) umfassen sowie einen zusätzlichen Prozessor 923 (z. B. einen Grafikprozessor (GPU), einen Bildsignalprozessor (ISP), einen Sensor-Hub-Prozessor oder einen Kommunikationsprozessor (CP)), der unabhängig von oder in Verbindung mit dem Hauptprozessor 921 betätigbar ist. Zudem oder alternativ kann der zusätzliche Prozessor 923 in der Lage sein, weniger Leistung zu verbrauchen, als der Hauptprozessor 921, und/oder eine bestimmte Funktion auszuführen. Der zusätzliche Prozessor 923 kann separat von oder als Teil des Hauptprozessors 921 implementiert sein.
  • Der zusätzliche Prozessor 923 kann mindestens einige der Funktionen oder Zustände, die mindestens eine Komponente (z. B. die Anzeigevorrichtung 960, das Sensormodul 976 oder das Kommunikationsmodul 990) von den Komponenten der elektronischen Vorrichtungen 901 betreffen, anstelle des Hauptprozessors 921 steuern, während sich der Hauptprozessor 921 in einem inaktiven (z. B. Standby-)Zustand befindet, oder zusammen mit dem Hauptprozessor 921 steuern, während sich der Hauptprozessor 921 in einem aktiven Zustand befindet (z. B. eine Anwendung ausführt). Gemäß einer Ausführungsform kann der zusätzliche Prozessor 923 (z. B. ein Bildsignalprozessor oder ein Kommunikationsprozessor) als Teil einer anderen Komponente (z. B. des Kameramoduls 980 oder des Kommunikationsmoduls 990) implementiert sein, die funktional zu dem zusätzlichen Prozessor 923 in Bezug steht.
  • Der Speicher 930 kann verschiedene Daten speichern, die von mindestens einer Komponente (z. B. dem Prozessor 920 oder dem Sensormodul 976) der elektronischen Vorrichtung 901 verwendet werden. Die verschiedenen Daten können zum Beispiel Software (z. B. das Programm 940) und Eingabedaten oder Ausgabedaten für einen damit zusammenhängenden Befehl umfassen. Der Speicher 930 kann den flüchtigen Speicher 932 und/oder den nichtflüchtigen Speicher 934 umfassen.
  • Das Programm 940 kann in dem Speicher 930 als Software gespeichert sein und kann zum Beispiel ein Betriebssystem (OS) 942, Middleware 944 oder eine Anwendung 946 umfassen.
  • Die Eingabevorrichtung 950 kann einen Befehl oder Daten, die von einer anderen Komponente (z. B. dem Prozessor 920) der elektronischen Vorrichtung 901 zu verwenden sind, von außerhalb (z. B. einem Nutzer) der elektronischen Vorrichtung 901 empfangen. Die Eingabevorrichtung 950 kann zum Beispiel ein Mikrofon, eine Maus und/oder eine Tastatur umfassen.
  • Die Tonausgabevorrichtung 955 kann Tonsignale nach außen in Bezug auf die elektronische Vorrichtung 901 ausgeben. Die Tonausgabevorrichtung 955 kann zum Beispiel einen Lautsprecher oder einen Empfänger umfassen. Der Lautsprecher kann für allgemeine Zwecke verwendet werden, wie beispielsweise zum Abspielen von Multimedia oder einer Aufnahme, und der Empfänger kann verwendet werden, um einen eingehenden Anruf zu empfangen. Gemäß einer Ausführungsform kann der Empfänger separat von oder als Teil des Lautsprechers implementiert sein.
  • Die Anzeigevorrichtung 960 kann visuell Informationen nach außen (z. B. an einen Nutzer) der elektronischen Vorrichtung 901 liefern. Die Anzeigevorrichtung 960 kann zum Beispiel eine Anzeige, eine Hologrammvorrichtung und/oder einen Projektor und eine Steuerschaltung umfassen, um von der Anzeige, der Hologrammvorrichtung und dem Projektor ein jeweiliges Element zu steuern. Gemäß einer Ausführungsform kann die Anzeigevorrichtung 960 eine Touch-Schaltung umfassen, die fähig ist, eine Berührung zu erfassen, oder eine Sensorschaltung (z. B. einen Drucksensor) umfassen, die fähig ist, die Intensität einer Kraft, die durch die Berührung aufgebracht wird, zu messen.
  • Das Audiomodul 970 kann einen Ton in ein elektrisches Signal umwandeln und umgekehrt. Gemäß einer Ausführungsform kann das Audiomodul 970 den Ton über die Eingabevorrichtung 950 erhalten und/oder den Ton über die Tonausgabevorrichtung 955 oder einen Kopfhörer einer externen elektronischen Vorrichtung 902 ausgeben, die direkt (z. B. verkabelt) oder drahtlos mit der elektronischen Vorrichtung 701 gekoppelt ist.
  • Das Sensormodul 976 kann einen Betriebszustand (z. B. eine Leistung oder Temperatur) der elektronischen Vorrichtung 901 und/oder einen Umweltzustand (z. B. einen Zustand eines Nutzers) extern von der elektronischen Vorrichtung 901 erfassen und dann ein elektrisches Signal oder einen Datenwert erzeugen, der dem erfassten Zustand entspricht. Das Sensormodul 976 kann zum Beispiel einen Gestensensor, einen Gyroskopsensor, einen Atmosphärendrucksensor, einen magnetischen Sensor, einen Beschleunigungssensor, einen Griffsensor, einen Näherungssensor, einen Farbsensor, einen Infrarot(IR)-Sensor, einen biometrischen Sensor, einen Temperatursensor, einen Feuchtigkeitssensor und/oder einen Belichtungssensor umfassen.
  • Die Schnittstelle 977 kann eines oder mehrere spezifizierte Protokolle unterstützen, die für die elektronische Vorrichtung 901 zu verwenden sind, die mit der externen elektronischen Vorrichtung 902 direkt (z. B. verkabelt) oder drahtlos gekoppelt werden soll. Gemäß einer Ausführungsform kann die Schnittstelle 977 zum Beispiel High Definition Multimedia Interface (HDMI), eine Schnittstelle für universellen seriellen Bus (USB), eine Schnittstelle für Secure-Digital(SD)-Card und/oder eine Audioschnittstelle umfassen.
  • Ein Verbindungsanschluss 978 kann einen Verbinder umfassen, über den die elektronische Vorrichtung 901 physisch mit der externen elektronischen Vorrichtung 902 verbunden werden kann. Gemäß einer Ausführungsform kann der Verbindungsanschluss 978 zum Beispiel einen HDMI-Verbinder, einen USB-Verbinder, einen SD-Kartenverbinder und/oder einen Audioverbinder (z. B. einen Kopfhörerverbinder) umfassen.
  • Das haptische Modul 979 kann ein elektrisches Signal in einen mechanischen Impuls (z. B. eine Vibration oder eine Bewegung) und/oder in einen elektrischen Impuls umwandeln, der von einem Nutzer über den Tastsinn oder ein kinästhetisches Gefühl erkannt werden kann. Gemäß einer Ausführungsform kann das haptische Modul 979 zum Beispiel einen Elektromotor, ein piezoelektrisches Element und/oder einen elektrischen Impulsgeber umfassen.
  • Das Kameramodul 980 kann ein Standbild oder bewegte Bilder aufnehmen. Gemäß einer Ausführungsform kann das Kameramodul 980 eine oder mehrere Linsen, Bildsensoren, Bildsignalprozessoren und/oder Blitze umfassen.
  • Das Leistungsverwaltungsmodul 988 kann eine Leistung verwalten, die der elektronischen Vorrichtung 901 zugeführt wird. Das Leistungsverwaltungsmodul 988 kann als zumindest ein Teil von, zum Beispiel, einer integrierten Leistungsverwaltungsschaltung (PMIC) implementiert sein.
  • Die Batterie 989 kann zumindest einer Komponente der elektronischen Vorrichtung 901 Leistung zuführen. Gemäß einer Ausführungsform kann die Batterie 989 zum Beispiel eine Primärzelle, die nicht wiederaufladbar ist, eine Sekundärbatterie, die wiederaufladbar ist, und/oder eine Brennstoffzelle umfassen.
  • Das Kommunikationsmodul 990 kann das Herstellen eines direkten (z. B. verkabelten) Kommunikationskanals oder eines drahtlosen Kommunikationskanals zwischen der elektronischen Vorrichtung 901 und der externen elektronischen Vorrichtung (z. B. der elektronischen Vorrichtung 902, der elektronischen Vorrichtung 904 und/oder dem Server 908) und das Durchführen einer Kommunikation über den hergestellten Kommunikationskanal unterstützen. Das Kommunikationsmodul 990 kann einen oder mehrere Kommunikationsprozessoren umfassen, die unabhängig von dem Prozessor 920 (z. B. dem AP) betriebsfähig sind, und kann eine direkte (z. B. verkabelte) Kommunikation und/oder eine drahtlose Kommunikation unterstützen. Gemäß einer Ausführungsform kann das Kommunikationsmodul 990 ein drahtloses Kommunikationsmodul 992 (z. B. ein Mobilfunkkommunikationsmodul, ein drahtloses Kommunikationsmodul im Nahbereich und/oder ein Kommunikationsmodul für ein globales Navigationssatellitensystem (GNSS)) oder ein verkabeltes Kommunikationsmodul 994 umfassen (z. B. ein Local-Area-Network(LAN)-Kommunikationsmodul oder ein Power-Line-Communication(PLC)-Modul). Ein entsprechendes dieser Kommunikationsmodule kann mit der externen elektronischen Vorrichtung über das erste Netzwerk 998 (z. B. ein Kommunikationsnetzwerk im Nahbereich, wie beispielsweise direkt Bluetooth®, Wireless-Fidelity (Wi-Fi) und/oder einen Standard der Infrared Data Association (IrDA)) oder über das zweite Netzwerk 999 kommunizieren (z. B. ein Kommunikationsnetzwerk im Fernbereich, wie beispielsweise ein Mobilfunknetz, das Internet und/oder ein Computernetzwerk (z. B. LAN oder Wide Area Network (WAN)). Bluetooth® ist eine eingetragene Marke von Bluetooth SIG, Inc. Kirkland, WA. Diese verschiedenen Arten an Kommunikationsmodulen können in Form einer einzelnen Komponente (z. B. ein einzelner IC) oder mehrerer Komponenten (z. B. mehrere ICs), die voneinander getrennt sind, implementiert sein. Das drahtlose Kommunikationsmodul 992 kann die elektronische Vorrichtung 901 in einem Kommunikationsnetzwerk wie beispielsweise dem ersten Netzwerk 998 oder dem zweiten Netzwerk 999 unter Verwendung von Teilnehmerinformationen (z. B. International Mobile Subscriber Identity (IMSI)), die in dem Teilnehmerkennungsmodul 996 gespeichert sind, identifizieren und authentifizieren.
  • Das Antennenmodul 997 kann ein Signal und/oder eine Leistung nach außen übertragen und/oder von außerhalb (z. B. der externen elektronischen Vorrichtung) der elektronischen Vorrichtung 901 empfangen. Gemäß einer Ausführungsform kann das Antennenmodul 997 eine oder mehrere Antennen umfassen und daher kann mindestens eine Antenne, die für ein Kommunikationssystem geeignet ist, das in dem Kommunikationsnetzwerk verwendet wird, wie beispielsweise das erste Netzwerk 998 und/oder das zweite Netzwerk 999, ausgewählt werden, zum Beispiel durch das Kommunikationsmodul 990 (z. B. das drahtlose Kommunikationsmodul 992). Das Signal und/oder die Leistung kann dann zwischen dem Kommunikationsmodul 990 und der externen elektronischen Vorrichtung über die mindestens eine ausgewählte Antenne übertragen und/oder empfangen werden.
  • Mindestens einige der oben beschriebenen Komponenten können wechselseitig gekoppelt sein und Signale (z. B. Befehle und/oder Daten) dazwischen über ein inter-peripheres Kommunikationssystem (z. B. einen Bus, einen General Purpose Input and Output (GPIO), eine Serial Peripheral Interface (SPI) und/oder eine Mobile Industry Processor Interface (MIPI)) kommunizieren.
  • Gemäß einer Ausführungsform können Befehle und/oder Daten zwischen der elektronischen Vorrichtung 901 und der externen elektronischen Vorrichtung 904 über den Server 908, der mit dem zweiten Netzwerk 999 gekoppelt ist, übertragen und/oder empfangen werden. Jede der elektronischen Vorrichtungen 902 und 904 kann eine Vorrichtung eines gleichen Typs oder eines anderen Typs sein als die elektronische Vorrichtung 901. Alle oder einige der Vorgänge, die in der oder durch die elektronische Vorrichtung 901 auszuführen sind, kann bzw. können in einer oder mehreren der externen elektronischen Vorrichtungen 902, 904 oder dem Server 908 ausgeführt werden. Zum Beispiel falls die elektronische Vorrichtung 901 eine Funktion und/oder einen Service automatisch oder ansprechend auf eine Anfrage von einem Nutzer oder einer anderen Vorrichtung durchführen soll, kann die elektronische Vorrichtung 901 anstelle von oder zusätzlich zu der Ausführung der Funktion und/oder des Services anfordern, dass die eine oder mehreren externen elektronischen Vorrichtungen mindestens einen Teil der Funktion und/oder des Services durchführen. Die eine oder die mehreren externen elektronischen Vorrichtungen, welche die Anfrage empfangen, können zumindest den Teil der Funktion und/oder des Services, der angefordert wird, durchführen, und/oder eine zusätzliche Funktion und/oder einen zusätzlichen Service mit Bezug auf die Anforderung durchführen und ein Ergebnis des Durchführens an die elektronische Vorrichtung 901 übertragen. Die elektronische Vorrichtung 901 kann das Ergebnis mit oder ohne weitere Verarbeitung des Ergebnisses als mindestens einen Teil einer Antwort auf die Anfrage bereitstellen. Zu diesem Zweck kann zum Beispiel Cloud Computing, eine verteilte Verarbeitung und/oder Client-Server-Computertechnologie verwendet werden.
  • Eine Ausführungsform kann als Software implementiert sein (z. B. das Programm 940), das eine oder mehrere Anweisungen umfasst, die in einem Speichermedium (z. B. internen Speicher 936 oder externen Speicher 938) gespeichert sind, das durch eine Maschine (z. B. die elektronische Vorrichtung 901) lesbar ist. Zum Beispiel kann der Prozessor der elektronischen Vorrichtung 901 mindestens eine der einen oder mehreren Anweisungen, die in dem Speichermedium gespeichert sind, aufrufen und sie ausführen, mit oder ohne eine oder mehrere andere Komponenten zu verwenden, die von dem Prozessor gesteuert werden. So kann eine Maschine betrieben werden, um mindestens eine Funktion gemäß der mindestens einen aufgerufenen Anweisung durchzuführen. Die eine oder mehreren Anweisungen können Code umfassen, der von einem Compiler erzeugt wird oder Code, der durch einen Interpreter ausführbar ist. Ein maschinell lesbares Speichermedium kann in Form eines nicht-transitorischen Speichermediums bereitgestellt sein. Der Begriff „nicht-transitorisch“ bedeutet, dass das Speichermedium eine physische Vorrichtung ist und kein Signal (z. B. eine elektromagnetische Welle) umfasst, aber dieser Begriff unterscheidet nicht dahingehend, wo Daten semi-permanent in dem Speichermedium gespeichert werden und wo die Daten vorübergehend in dem Speichermedium gespeichert werden.
  • Gemäß einer Ausführungsform kann ein Verfahren der Offenbarung in einem Computerprogrammprodukt umfasst und bereitgestellt werden. Das Computerprogrammprodukt kann als Produkt zwischen einem Verkäufer und einem Käufer gehandelt werden. Das Computerprogrammprodukt kann in Form eines maschinell lesbaren Speichermediums (z. B. einer Compact Disc Read Only Memory (CD-ROM)) vertrieben werden oder online (z. B. per Download oder Upload) über einen Application Store (z. B. Play Store™) vertrieben werden oder direkt zwischen zwei Nutzervorrichtungen (z. B. Smartphones). Falls es online vertrieben wird, kann zumindest ein Teil des Computerprogrammprodukts vorübergehend erzeugt oder zumindest vorübergehend in dem maschinell lesbaren Speichermedium, wie beispielsweise einem Speicher des Herstellerservers, einem Server des Application Stores oder einem Relayserver gespeichert sein.
  • Hierin werden Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die beigefügten Zeichnungen im Detail beschrieben. Es ist anzumerken, dass gleiche oder ähnliche Elemente mit den gleichen Bezugszeichen bezeichnet sein können, auch wenn sie in unterschiedlichen Zeichnungen gezeigt sind. In der vorliegenden Beschreibung sollen konkrete Details, wie beispielsweise detaillierte Konfigurationen und Komponenten, dem Gesamtverständnis der Ausführungsformen der vorliegenden Offenbarung dienen. Es können verschiedene Änderungen und Abwandlungen an den vorliegend beschriebenen Ausführungsformen vorgenommen werden, ohne vom Schutzumfang der vorliegenden Offenbarung abzuweichen. Bestimmte detaillierte Beschreibungen können zum Zwecke der Klarheit und Kürze ausgelassen sein.
  • Die vorliegende Offenbarung schafft verschiedene Abwandlungen und verschiedene Ausführungsformen. Es versteht sich, dass der vorliegende Offenbarungsgehalt nicht auf die verschiedenen Ausführungsformen beschränkt ist, die hierin explizit beschrieben sind oder auf die ausführlich eingegangen wurde, und dass die vorliegende Offenbarung Abwandlungen, Äquivalente und Alternativen im Schutzumfang der vorliegenden Offenbarung umfasst.
  • Obwohl Begriffe, die eine Ordnungszahl umfassen, wie beispielsweise erstes, zweites usw. verwendet werden können, um verschiedene Elemente zu beschreiben, sind die Elemente durch solche Begriffe nicht beschränkt. Solche Begriffe werden verwendet, um ein Element von einem anderen Element zu unterscheiden und implizieren keine spezifische Reihenfolge. Im Sinne des vorliegenden Textes umfasst der Begriff „und/oder“ sämtliche Kombinationen eines oder mehrerer assoziierter Einheiten. Singularformen sollen auch Pluralformen umfassen, außer der Kontext gibt eindeutig anderes an. In der vorliegenden Offenbarung versteht es sich, dass die Begriffe „umfassen“ oder „aufweisen“ das Vorhandensein eines Merkmals, einer Anzahl, eines Schritts, eines Vorgangs, eines strukturellen Elements, eines Teils oder einer Kombination daraus angeben, und nicht das Vorhandensein oder die Wahrscheinlichkeit, dass ein oder mehrere andere Merkmale, Anzahlen, Schritte, Vorgänge, strukturelle Elemente, Teile oder Kombinationen daraus hinzugefügt werden.
  • Gemäß einer Ausführungsform kann mindestens eine Komponente (z. B. ein Manager, ein Satz an Anweisungen, die durch einen Prozessor ausgeführt werden können, ein Programm oder ein Modul) der oben beschriebenen Komponenten eine einzelne Einheit oder mehrere Einheiten umfassen. Eine oder mehrere der oben beschriebenen Komponenten können ausgelassen werden oder eine oder mehrere andere Komponenten können hinzugefügt werden. Alternativ oder zusätzlich kann eine Mehrzahl an Komponenten (z. B. ein Manager, ein Satz an Anweisungen, die durch einen Prozessor ausgeführt werden können, ein Programm oder ein Modul) in einer einzelnen Komponente integriert sein. In diesem Fall kann die integrierte Komponente immer noch eine oder mehrere Funktionen von jeder der Mehrzahl an Komponenten auf die gleiche oder eine ähnliche Art durchführen, wie wenn sie durch eine entsprechende der Mehrzahl an Komponenten vor der Integration durchgeführt werden. Vorgänge, die durch den Manager, den Satz an Anweisungen, die durch einen Prozessor ausgeführt werden können, das Programm, das Modul oder eine andere Komponente durchgeführt werden, können sequenziell parallel, wiederholt oder heuristisch ausgeführt werden oder eine oder mehrere der Vorgänge können in einer anderen Reihenfolge ausgeführt oder ausgelassen werden oder eine oder mehrere Vorgänge können hinzugefügt werden.

Claims (11)

  1. Verfahren zur Bildverarbeitung aufweisend: Bestimmen eines ersten Merkmals, wobei das erste Merkmale eine Dimensionalität D1 aufweist; Bestimmen eines zweiten Merkmals, wobei das zweite Merkmal eine Dimensionalität D2 aufweist und auf einer Ausgabe eines Merkmalsextraktionsnetzwerks basiert; Erzeugen eines dritten Merkmals, indem das erste Merkmal verarbeitet wird, wobei das dritte Merkmal eine Dimensionalität D3 aufweist; Erzeugen einer Führung durch Verarbeiten des zweiten Merkmals, wobei die Führung die Dimensionalität D3 aufweist; Erzeugen eines Filters, der ausgegeben wird, indem ein Deep Guided Filter (DGF) bei dem dritten Merkmal unter Verwendung der Führung angewandt wird; Erzeugen einer Karte auf Basis der Filterausgabe; und Ausgeben eines verarbeiteten Bildes basierend auf der Karte.
  2. Verfahren nach Anspruch 1, ferner aufweisend ein Bestimmen des zweiten Merkmals auf Basis eines Bildes, das zu verarbeiten ist, sodass das zweite Merkmal eine Randinformation codiert.
  3. Verfahren nach Anspruch 1 oder 2, ferner aufweisend ein Bestimmen des ersten Merkmals auf Basis eines Bildes, das zu verarbeiten ist, sodass das erste Merkmal eine semantische Information über das zu verarbeitende Bild codiert.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei D1 größer ist als D2.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei das erste Merkmal und das zweite Merkmal basierend auf einem zu verarbeitenden Bild bestimmt werden, das zu verarbeitende Bild eine Dimensionalität D4 aufweist und D4 größer ist als jeweils D1, D2 und D3.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei: ein Verarbeiten des zweiten Merkmals aufweist, eine erste Faltung bei dem zweiten Merkmal anzuwenden, um ein erstes gefaltetes Merkmal zu erzeugen und ein Ausgeben des verarbeiteten Bildes auf Basis der Filterausgabe aufweist, die Filterausgabe mit dem ersten gefalteten Merkmal zu aggregieren.
  7. Verfahren nach Anspruch 6, wobei ein Aggregieren der Filterausgabe mit dem ersten gefalteten Merkmal aufweist, die Filterausgabe mit dem ersten gefalteten Merkmal zu verketten.
  8. Verfahren nach Anspruch 6 oder 7, wobei ein Verarbeiten des zweiten Merkmals aufweist, eine zweite Faltung bei dem ersten gefalteten Merkmal anzuwenden, um ein zweites gefaltetes Merkmal zu erzeugen, und die Führung auf dem zweiten gefalteten Merkmal basiert.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei eine Anwendung des DGF bei dem dritten Merkmal unter Verwendung der Führung aufweist: Erzeugen einer Downsampling unterzogenen Version der Führung; Erhalten von Koeffizienten unter Verwendung eines Filterprozesses, bei dem die Downsampling unterzogene Version der Führung verwendet wird; Upsampling der Koeffizienten, um einer Dimensionalität der Führung zu entsprechen; und Anwenden der Koeffizienten bei der Führung.
  10. Verfahren nach einem der Ansprüche 1 bis 8, wobei ein Anwenden des DGF bei dem dritten Merkmal unter Verwendung der Führung aufweist: Erzeugen einer Downsampling unterzogenen Version der Führung; Erhalten von Koeffizienten unter Verwendung eines Filterprozesses, bei dem die Downsampling unterzogene Version der Führung verwendet wird; Anwenden der Koeffizienten auf die Downsampling unterzogene Version der Führung, um ein Ergebnis zu erzeugen; und Upsampling des Ergebnisses.
  11. System aufweisend: eine Verarbeitungsschaltung (920), die eingerichtet ist, ein Verfahren von einem der Ansprüche 1 bis 10 zu implementieren.
DE102022105545.0A 2021-03-16 2022-03-09 Deep-Guided-Filter-Decoder mit niedriger Komplexität für pixelweise Prädiktionsaufgabe Pending DE102022105545A1 (de)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US202163161827P 2021-03-16 2021-03-16
US63/161,827 2021-03-16
US202163190128P 2021-05-18 2021-05-18
US63/190,128 2021-05-18
US202163224312P 2021-07-21 2021-07-21
US63/224,312 2021-07-21
US17/563,012 US20220301128A1 (en) 2021-03-16 2021-12-27 Method and device for deep guided filter processing
US17/563,012 2021-12-27

Publications (1)

Publication Number Publication Date
DE102022105545A1 true DE102022105545A1 (de) 2022-09-22

Family

ID=83114697

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022105545.0A Pending DE102022105545A1 (de) 2021-03-16 2022-03-09 Deep-Guided-Filter-Decoder mit niedriger Komplexität für pixelweise Prädiktionsaufgabe

Country Status (5)

Country Link
US (1) US20220301128A1 (de)
KR (1) KR20220129473A (de)
CN (1) CN115082330A (de)
DE (1) DE102022105545A1 (de)
TW (1) TW202240535A (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116758104B (zh) * 2023-08-21 2023-11-14 山东科技大学 一种基于改进GCNet的多实例人像抠图方法

Also Published As

Publication number Publication date
US20220301128A1 (en) 2022-09-22
KR20220129473A (ko) 2022-09-23
CN115082330A (zh) 2022-09-20
TW202240535A (zh) 2022-10-16

Similar Documents

Publication Publication Date Title
DE112017002799B4 (de) Verfahren und system zum generieren multimodaler digitaler bilder
DE102019000171A1 (de) Digitalumgebung zur Verortung semantischer Klassen
DE102020105535A1 (de) Neuronale Netzwerkvorrichtung und Verfahren zum Quantisieren von Parametern eines neuronalen Netzwerks
DE102018130924A1 (de) Systeme und Verfahren zur dynamischen Gesichtsanalyse mittels eines rekurrenten neuronalen Netzes
DE102017220307B4 (de) Vorrichtung und Verfahren zum Erkennen von Verkehrszeichen
DE202021102736U1 (de) Elektronische Vorrichtung, enthaltend eine Anzeige mit variabler Schirmgrösse
DE102018117813A1 (de) Zeitlich stabile Datenrekonstruktion mit einem externen rekurrenten neuronalen Netzwerk
DE102017113232A1 (de) Tensorverarbeitung unter verwendung eines formats mit geringer genauigkeit
DE102020125207A1 (de) Unbeaufsichtigtes training von neuronalem netz zur bildkompression mit hohem dynamikumfang
DE102015209822A1 (de) Erfassungseinrichtung, Erfassungsprogramm, Erfassungsverfahren, mit Erfassungseinrichtung ausgerüstetes Fahrzeug, Parameterberechnungseinrichtung, Parameter berechnende Parameter, Parameterberechnungsprogramm, und Verfahren zum Berechnen von Parametern
DE112009004059T5 (de) Verfahren zum Entfernen von Unschärfe von einem Bild und Aufzeichnungsmedium, auf dem das Verfahren aufgezeichnet ist
DE112011101927T5 (de) Semantisches Parsen von Objekten in Videos
DE112016005776T5 (de) Systeme und Verfahren zum Bereitstellen eines Bild-Klassifikators
DE102019122818A1 (de) Neuronale Netzwerkvorrichtung für eine neuronale Netzwerkoperation, Verfahren zum Betreiben einer neuronalen Netzwerkvorrichtung und Anwendungsprozessor, der die neuronale Netzwerkvorrichtung beinhaltet
DE112016005905T5 (de) Verfahren und System zum Verschmelzen erfasster Messungen
DE112016005809T5 (de) Lichtfeld-Rendering eines Bildes unter Verwendung variabler Rechenkomplexität
DE102017009505A1 (de) Erzeugen einer kompakten Videomerkmaldarstellung in einer digitalen Medienumgebung
WO2020093914A1 (en) Content-weighted deep residual learning for video in-loop filtering
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE112016005482T5 (de) Objektdetektion mit adaptiven Kanalmerkmalen
DE102019122402A1 (de) Das klassifizieren von zeitreihenbilddaten
DE102021124228A1 (de) Verfahren und vorrichtung zur detailgradzuordnungsschätzung auf mehrrahmenbasis und zur adaptiven mehrrahmen-entrauschung
DE102022105545A1 (de) Deep-Guided-Filter-Decoder mit niedriger Komplexität für pixelweise Prädiktionsaufgabe
DE102021107510A1 (de) Training eines neuronalen netzwerks unter speicherbeschränkung
DE102017009118A1 (de) Bildabgleich für serienbilder