DE102020134755A1 - Verarbeiten von videoframes über neuronales faltungsnetzwerk durch verwenden von statistiken vorhergehender frames - Google Patents

Verarbeiten von videoframes über neuronales faltungsnetzwerk durch verwenden von statistiken vorhergehender frames Download PDF

Info

Publication number
DE102020134755A1
DE102020134755A1 DE102020134755.3A DE102020134755A DE102020134755A1 DE 102020134755 A1 DE102020134755 A1 DE 102020134755A1 DE 102020134755 A DE102020134755 A DE 102020134755A DE 102020134755 A1 DE102020134755 A1 DE 102020134755A1
Authority
DE
Germany
Prior art keywords
frame
state vector
features
self
until
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
DE102020134755.3A
Other languages
English (en)
Inventor
Noam Elron
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102020134755A1 publication Critical patent/DE102020134755A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06T5/00Image enhancement or restoration
    • 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/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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/045Combinations of networks
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/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)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

Eine beispielhafte Vorrichtung zur Videobildgebung beinhaltet einen Merkmalsschätzer, um einen lokalen Wert eines Merkmals zur Durchschnittswertbildung in einem komprimierten Satz von Merkmalen eines aktuellen Frames zu berechnen. Die Vorrichtung beinhaltet auch einen Validierer, um eine Gültigkeitsabbildung zu berechnen, die ein Gewicht für die frameweite Durchschnittswertbildung basierend auf dem komprimierten aktuellen Frame umfasst. Die Vorrichtung beinhaltet ferner einen Vektorgenerator, um einen Zustandsvektor basierend auf dem lokalen Wert des Merkmals und dem Gewicht zu erzeugen. Die Vorrichtung beinhaltet ferner einen Relevanzberechner, um eine Relevanz für das lokale Verarbeiten für jede Koordinate in einem wiederhergestellten Zustandsvektor, der einem vorhergehenden Frame zugeordnet ist, zu berechnen. Die Vorrichtung beinhaltet ferner einen Vektormodulator, um den wiederhergestellten Zustandsvektor mit dem Relevanzmerkmal zu multiplizieren, um einen Satz von Ausgangsmerkmalen zu erzeugen.

Description

  • Hintergrund
  • Neuronale Faltungsnetzwerke (Convolutional-Neural-Networks - CNN) können trainiert werden, um verschiedene Wiederherstellungsaufgaben für Eingangsbilder auszuführen. Zum Beispiel können solche Wiederherstellungsaufgaben Entfernen von Rauschen, Schärfen, Farbkorrektur, usw. beinhalten.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das ein beispielhaftes System zum Verarbeiten von Bildern durch Verwenden einer Selbstnormalisierungsseitenkette veranschaulicht;
    • 2 ist ein Blockdiagramm, das eine beispielhafte Selbstnormalisierungsseitenkette veranschaulicht;
    • 3 ist ein Ablaufdiagramm, das ein Verfahren zum Verarbeiten von Videoframes über ein neuronales Faltungsnetzwerk durch Verwenden von Statistiken vorhergehender Frames veranschaulicht;
    • 4 ist ein Ablaufdiagramm, das ein Verfahren zum Verarbeiten von Videoframes durch Verwenden einer Selbstnormalisierungsseitenkette veranschaulicht;
    • 5 ist ein Blockdiagramm, das ein beispielhaftes Datenverarbeitungsgerät veranschaulicht, das Videoframes durch Verwenden eines neuronalen Faltungsnetzwerks verarbeiten kann; und
    • 6 ist ein Blockdiagramm, das computerlesbare Medien zeigt, die Code zum Verarbeiten von Videoframes durch Verwenden eines neuronalen Faltungsnetzwerks speichern.
  • Über die Offenbarung und die Figuren hinweg werden dieselben Zahlen verwendet, um auf ähnliche Komponenten und Merkmale zu verweisen. Zahlen in der 100er Reihe beziehen sich auf Merkmale, die original in 1 zu finden sind; Zahlen in der 200er Reihe beziehen sich auf Merkmale, die original in 2 zu finden sind; und so weiter.
  • Beschreibung der Ausführungsformen
  • Tiefe neuronale Faltungsnetzwerke (CNN) können verwendet werden, um Bild- und Videowiederherstellungsaufgaben, wie zum Beispiel Entfernen von Rauschen, Schärfen, Farbkorrektur, usw., auszuführen. Die Leistung von tiefen CNN kann jedoch erheblich nachlassen, wenn die Parameter der Verschlechterung empfangener Bilder unterschiedlich sind als die Parameter der Verschlechterung, die verwendet werden, wenn das Netzwerk trainiert wird. Zum Beispiel können die Parameter der Verschlechterung den Rauschpegel oder den Unschärferadius in dem Eingangsbild oder Videoframe beinhalten.
  • Einige CNN-basierte Prozesse werden durch Verwenden von Mehrzweck-CNN-Hardwarebeschleunigern implementiert. Die Anforderung für einen spezifischen Schätzer für jeden Typ von Verschlechterung kann jedoch die durch Mehrzweck-CNN-Hardwarebeschleuniger unterstützten Anwendungsfälle beschränken. Zusätzlich kann das Entwerfen dieser Mehrzweck-CNN-Hardwarebeschleuniger einen hohen Grad an Vorwissen über die Verschlechterung einbeziehen.
  • Die vorliegende Offenbarung bezieht sich allgemein auf Techniken zum Verarbeiten von Videoframes. Insbesondere beinhalten die hierin beschriebenen Techniken eine Vorrichtung, ein Verfahren und ein System zum Verarbeiten von Videoframes über ein neuronales Faltungsnetzwerk durch Verwenden von Statistiken vorhergehender Frames. Eine beispielhafte Vorrichtung beinhaltet einen Merkmalsschätzer, um einen lokalen Wert eines Merkmals zum Bilden eines Durchschnittswerts in einem komprimierten Satz von Merkmalen eines aktuellen Frames zu berechnen. Die Vorrichtung beinhaltet auch einen Validierer, um eine Gültigkeitsabbildung zu berechnen, die ein Gewicht für die frameweite Durchschnittswertbildung basierend auf dem komprimierten aktuellen Frame umfasst. Die Vorrichtung beinhaltet ferner einen Vektorgenerator, um einen Zustandsvektor basierend auf dem lokalen Wert des Merkmals und dem Gewicht zu erzeugen. Die Vorrichtung beinhaltet ferner einen Relevanzberechner, um eine Relevanz für das lokale Verarbeiten für jede Koordinate in einem wiederhergestellten Zustandsvektor, der einem vorhergehenden Frame zugeordnet ist, zu berechnen. Die Vorrichtung beinhaltet ferner einen Vektormodulator, um den wiederhergestellten Zustandsvektor mit dem Relevanzmerkmal zu multiplizieren, um einen Satz von Ausgangsmerkmalen zu erzeugen.
  • Die hierin beschriebenen Techniken ermöglichen somit das Verwenden einzelner Durchläufe durch Verwenden von Zustandsvektoren, anstatt dass zwei Durchläufe über jeden Frame verwendet werden müssen. Zum Beispiel können die Techniken Ressourcen sparen, die beim Berechnen eines frameweiten Durchschnitts auf einen Frame in einem ersten Durchlauf und beim Anwenden des frameweiten Durchschnitts auf den Frame in einem zweiten Durchlauf verwendet werden. Somit ermöglichen die hierin beschriebenen Techniken dadurch auch eine Echtzeit-Frameverarbeitung eines Videostreams ohne Frameverzögerung oder Berechnungsmehraufwand. Darüber hinaus können die hierin beschriebenen Techniken verwendet werden, um Verschlechterungsparameter in dem laufenden Betrieb implizit zu schätzen, und die Verarbeitung eines aktuellen Frames durch ein CNN entsprechend anzupassen. Zum Beispiel werden die Verschlechterungsparameter von Interesse während der Trainingsphase des CNN bestimmt, und basieren ausschließlich auf der Diversität der Trainingsdaten, ohne jegliche Vorkenntnisse über die Aufgabe oder die Verschlechterung zu erfordern. In einigen Beispielen kann eine Selbstnormalisierungsseitenkette gemeinsam mit dem neuronalen Hauptnetzwerk ohne jegliches Vorwissen über die Verschlechterung selbst und die Varianz in ihrer Parametrisierung trainiert werden. Zum Beispiel kann die Selbstnormalisierungsseitenkette durch Verwenden von verrauschten und sauberen Bildpaaren ohne jegliche Informationen bezüglich bestimmter Rauschprofile trainiert werden. Experimente haben offenbart, dass die hierin beschriebenen Techniken eine implizite Codierung der Bildgebungsbedingungen ermöglichen, die ausschließlich auf der Vielfalt in dem Trainingssatz basiert. In Experimenten durch Verwenden eines hochoptimierten Entwurfs eines CNN-Beschleunigers erhöhte die Verwendung einer Selbstnormalisierungsseitenkette die Anzahl trainierbarer Parameter nur um ungefähr 0,5%, während die Leistung um einen erheblichen Betrag verbessert wurde. Die hierin beschriebenen Techniken verbessern somit effizient die Leistung, indem sie die Anpassung des Verarbeitens an Änderungen der Bildgebungsbedingungen erleichtern, indem sie robuste Statistiken von über den gesamten Frame hinweg sammeln. Darüber hinaus können die Techniken verwendet werden, um ein CNN für eine Vielzahl von Aufgaben zu trainieren.
  • Darüber hinaus können die trainierbaren Komponenten in der Selbstnormalisierungsseitenkette sehr klein sein. Zum Beispiel können nicht mehr als eine oder zwei Faltungs- und Aktivierungsstufen verwendet werden. Der durch die Selbstnormalisierungsseitenkette erzeugte Speicherverkehr ist ebenfalls vernachlässigbar. Zum Beispiel können nur wenige Werte zwischen Frames gespeichert und wiederhergestellt werden. Insbesondere kann ein Zustandsvektor, der statistische Eigenschaften enthält, in seiner Größe mit der Menge statistischer Komplexität und nicht mit der Größe des Frames korreliert werden. Die Verwendung eines solchen Zustandsvektors kann um Größenordnungen effizienter sein als das Übertragen ganzer Merkmalsabbildungen zwischen Frames, da die Größe der Merkmale mit der Größe der Frames korreliert werden kann.
  • Darüber hinaus kann die Implementierung der Selbstnormalisierungsseitenkette vernachlässigbare Flächen- und Energiekosten haben. Im Gegensatz dazu kann das Erreichen einer solchen Leistungsverbesserung durch Erhöhen des Empfangsfeldes des CNN viel höhere Kosten für den Silizium-Fußabdruck des Beschleunigers verursachen, und kann sogar unmöglich sein.
  • Zusätzlich kann die Selbstnormalisierungsseitenkette an jegliche existierende CNN-Topologie angehängt werden. Zum Beispiel kann die CNN-Basistopologie unter anderen CNN-Topologien ein Single-Scale-Feed-Forward, das wie im Jahr 2015 veröffentlichte U-Net, Long-Short-Term-Memory (LSTM) sein.
  • 1 ist ein Blockdiagramm, das ein beispielhaftes System zum Verarbeiten von Bildern durch Verwenden einer Selbstnormalisierungsseitenkette veranschaulicht. Beispielhaftes System 100 kann in Datenverarbeitungsgerät 500 in 5 durch Verwenden von Verfahren 300 und 400 der 3 und 4 implementiert werden Als ein Beispiel kann das System 100 in einem Bildsignalprozessor (Image-Signal-Processor - ISP) implementiert sein. Zum Beispiel kann der ISP ein Gerät sein, das die Bilder direkt aus einem Kameramodul heraus durchlaufen. Der ISP kann Mengen über die Szene als ein Rückmeldungsmechanismus für die Kamerasteuerung messen. Zum Beispiel kann der ISP verwendet werden, um Autofokus auszuführen. Der ISP kann auch verwendet werden, um die Bildqualität zu verbessern. Zum Beispiel kann der ISP verwendet werden, um Anti-Vignettierung, Entrauschen, Enttrüben, Farbkorrektur usw. auszuführen. In einigen Beispielen kann der ISP auch eine Computer-Vision-Engine enthalten. Zum Beispiel kann die Computer-Vision-Engine verwendet werden, um eine Erkennung eines menschlichen Gesichts auszuführen. In verschiedenen Beispielen kann das System 100 als Teil einer Nachbearbeitungsanwendung verwendet werden. Zum Beispiel kann die Nachbearbeitungsanwendung für Hintergrundunschärfe in einer Videokonferenz-App, Fotofilter, usw. verwendet werden. In einigen Beispielen kann das System 100 auf einem Anzeigegerät verwendet werden. Zum Beispiel kann das System 100 verwendet werden, um Anzeigefarben für eine aktuelle Raumbeleuchtung zu korrigieren.
  • Das beispielhafte System 100 beinhaltet neuronales Faltungsnetzwerk 102. Das System 100 beinhaltet ferner Selbstnormalisierungsseitenkette 104, die kommunizierend mit dem neuronalen Faltungsnetzwerk 102 gekoppelt ist. Das System 100 beinhaltet auch Speicherung 106, die kommunizierend mit der Selbstnormalisierungsseitenkette 104 gekoppelt ist. Das neuronale Faltungsnetzwerk 102 beinhaltet eine Anzahl von Faltungsschichten 108A, 108B, 108C, 108D, 108E und 108F. Die Faltungsschicht 108B ist kommunizierend mit der Selbstnormalisierungsseitenkette gekoppelt. Das neuronale Faltungsnetzwerk 102 beinhaltet Verketter 110, der kommunizierend mit den Faltungsschichten 108D und 108E und der Selbstnormalisierungsseitenkette 104 gekoppelt ist.
  • In dem Beispiel von 1 empfängt das CNN 102 des Systems 100 Eingangsframes 112. Zum Beispiel können die Eingangsframes 112 aufeinanderfolgende Frames eines Streaming-Videos sein, die durch das CNN 102 verarbeitet werden sollen. Die Selbstnormalisierungsseitenkette 104 kann parallel zu dem CNN 102 arbeiten, um Zustandsvektor 114A basierend auf einem aktuellen Eingangsframe 112 zu erzeugen. Die Selbstnormalisierungsseitenkette 104 kann den Zustandsvektor 114A in der Speicherung 106 speichern, und zuvor gespeicherten Zustandsvektor 114B, der einem vorhergehenden Eingangsframe 112 entspricht, hierin bezeichnet als ein wiederhergestellter Zustandsvektor 114B, abrufen Das CNN 102 kann somit den wiederhergestellten Zustandsvektor 114B von der Selbstnormalisierungsseitenkette 104 empfangen, um das Verarbeiten des aktuellen Eingangsframes 112 zu modifizieren. Ausgangsmerkmale 116 können dann durch das CNN 102 für jeden Eingangsframe 112 basierend auf dem wiederhergestellten Zustandsvektor 114B, der einem vorhergehenden Eingangsframe 112 zugeordnet ist, erzeugt werden.
  • In verschiedenen Beispielen kann die Selbstnormalisierungsseitenkette 104 den Zustandsvektor 114A basierend auf von einer Faltungsschicht des neuronalen Faltungsnetzwerks 102 empfangenen Merkmalen erzeugen. In dem Beispiel von 2 wurde die Faltungsschicht 108B ausgewählt, um Merkmale für die Selbstnormalisierungsseitenkette 104 bereitzustellen. In verschiedenen Beispielen kann jedoch jegliche der Faltungsschichten 108A-108E kommunizierend mit der Selbstnormalisierungsseitenkette 104 gekoppelt sein, und Merkmale an diese bereitstellen. Der Zustandsvektor 114A kann Statistiken beinhalten, die einem aktuellen Eingangsframe 112 zugeordnet sind. Zum Beispiel kann der Zustandsvektor 114A eine frameweite Statistik für den aktuellen Eingangsframe 112 sein.
  • Als ein Beispiel kann der Zustandsvektor 114A kumulierte frameweite gewichtete Durchschnittswerte von internen Merkmalsabbildungen beinhalten, wie in 2 detaillierter beschrieben. Traditionelle CNN können ein beschränktes Empfangsfeld haben. Wenn zum Beispiel jedes Ausgangspixel erzeugt wird, ist für ein CNN nur ein begrenzter Bereich des Eingangsframes verfügbar. Somit kann ein CNN, das unter unbekannten Bedingungen arbeitet, nur einen kleinen Teil eines Eingangsbildes verwenden, um aktuelle Verschlechterungsparameter zu schätzen. Das Verwenden von Durchschnittswerten über den gesamten Frame ermöglicht es dem Netzwerk, Statistiken zu sammeln, die weit robuster sind, und eine viel aussagekräftigere Schätzung der Bildgebungsbedingungen zu erhalten.
  • Zusätzlich ermöglicht das Verwenden des frameweiten Durchschnitts von vorhergehenden Frames die Verarbeitung des Videoframes in einem Durchlauf. Im Gegensatz dazu kann das Verwenden eines Durchschnittswerts von aktuellen Frames die Verwendung von zwei Durchläufen erforderlich machen. Außerdem können die frameweiten Durchschnittswerte zwischen aufeinanderfolgenden Videoframes sehr nahe beieinander sein, da sich die Verschlechterungsparameter sehr langsam entwickeln können.
  • Die Selbstnormalisierungsseitenkette 104 kann somit den Zustandsvektor 114 in der Speicherung 106 zum Abrufen bei dem Verarbeiten des nächsten Eingangsframes 112 speichern. In verschiedenen Beispielen kann die Selbstnormalisierungsseitenkette 104 dann den wiederhergestellten Zustandsvektor 114B, der einem vorhergehenden Eingangsframe 112 zugeordnet ist, von der Speicherung 106 abrufen, und den wiederhergestellten Zustandsvektor 114B dem Verketter 110 des den aktuellen Eingangsframe 112 verarbeitenden CNN 102 bereitstellen.
  • Das CNN 102 kann somit einen Eingangsframe 112 empfangen, und die Merkmale der Selbstnormalisierungsseitenkette 104 von der Faltungsschicht 108B senden. Das CNN 102 kann einen Zustandsvektor 114 empfangen, der basierend auf Merkmalen für einen vorhergehenden Frame an dem Verketter 110 erzeugt wurde. Der Verketter 110 kann die Statistik des Zustandsvektors 114 mit dem Ausgang der Faltungsschicht 108D verketten, und die verketteten Merkmale an die Faltungsschicht 108E senden. Der wiederhergestellte Zustandsvektor 114B kann somit verwendet werden, um die Merkmale von der Schicht 108D durch den in dem aktuellen Eingangsframe 112 vorhandenen Grad der Verschlechterung zu normalisieren. Wie hierin verwendet, bezieht sich Normalisierung auf das Modifizieren von Werten, um ein Bild vor der Verschlechterung in einen Originalzustand zu bringen. In verschiedenen Beispielen kann der Verketter 110 zwischen anderen Faltungsschichten des neuronalen Faltungsnetzwerks 102 angeordnet sein.
  • Das Diagramm von 1 ist nicht dazu beabsichtigt, anzugeben, dass das beispielhafte System 100 alle der in 1 gezeigten Komponenten beinhalten soll. Vielmehr kann das beispielhafte System 100 durch Verwenden von weniger oder zusätzlichen in 1 nicht veranschaulichten Komponenten (zum Beispiel zusätzliche Eingangsframes, Ausgangsmerkmale, Schichten, Zustandsvektoren, Speicherungen, Selbstnormalisierungsseitenketten, usw.) implementiert werden.
  • 2 ist ein Blockdiagramm, das eine beispielhafte Selbstnormalisierungsseitenkette veranschaulicht. Beispielhafte Selbstnormalisierungsseitenkette 200 kann in dem System 100 von 1 und dem Datenverarbeitungsgerät 500 in 5 durch Verwenden des Verfahrens 400 von 4 implementiert werden.
  • Die beispielhafte Selbstnormalisierungsseitenkette 200 beinhaltet in ähnlicher Weise nummerierte Elemente von 1. Zum Beispiel beinhaltet die Selbstnormalisierungsseitenkette 200 einen Zustandsvektor 114, der als in einer Speicherung 106 gespeichert gezeigt ist. Die Selbstnormalisierungsseitenkette beinhaltet ferner Komprimierer 202. Die Selbstnormalisierungsseitenkette 200 beinhaltet ferner Relevanzberechner 204, der kommunizierend mit dem Komprimierer 202 gekoppelt ist. Die Selbstnormalisierungsseitenkette 200 beinhaltet ferner auch Schätzer des lokalen Werts 206, der kommunizierend mit dem Komprimierer 202 gekoppelt ist. Die Selbstnormalisierungsseitenkette 200 beinhaltet auch Validierer 208, der kommunizierend mit dem Komprimierer 202 gekoppelt ist. Die Selbstnormalisierungsseitenkette beinhaltet gewichteten frameweiten Durchschnittswertbildner 210, der kommunizierend mit dem Schätzer des lokalen Werts 206 und dem Validierer 208 gekoppelt ist. Die Selbstnormalisierungsseitenkette 200 beinhaltet auch Modulator 212, der kommunizierend mit dem Relevanzberechner 204 und der Speicherung 106 gekoppelt ist.
  • In dem Beispiel von 2 empfängt die Selbstnormalisierungsseitenkette 200 Eingangskanäle 214. Zum Beispiel können die Eingangskanäle Abmessungen von HxBxC haben, wobei H die Höhe ist, W die Breite ist, und C die Anzahl der Originalkanäle ist. Der Komprimierer 202 kann die Anzahl von Kanälen auf eine Anzahl S von Kanälen reduzieren, um Ausgangskanäle 216 mit einer Dimension von HxBxS zu erzeugen. Zum Beispiel kann die Anzahl von Kanälen S kleiner oder gleich der Anzahl von Kanälen C sein. Die Ausgangskanäle 216 mit reduzierter Anzahl von Kanälen S können dann an den Relevanzberechner 204, den Schätzer des lokalen Werts 206 und den Validierer 208 gesendet werden.
  • Der Relevanzberechner 204 bestimmt die Relevanz jedes Werts in dem wiederhergestellten Zustandsvektor für das lokale Verarbeiten. Zum Beispiel kann der Relevanzberechner 204 eine Relevanzabbildung erzeugen, die die Relevanz jedes Werts in dem wiederhergestellten Zustandsvektor zu jeder Koordinate in dem aktuellen Frame angibt. Die Dimensionen der Relevanzabbildung können HxBxS sein, und die Dimensionen des wiederhergestellten Zustandsvektors können 1x1xS sein. Als ein Beispiel, wenn die Verschlechterung in einem Frame uneinheitlich ist, dann kann der Zustandsvektor eine Anzahl von Schichten schätzen, und die Relevanzabbildung kann verwendet werden, um zu bestimmen, welche Schicht in welchem Bereich des Frames verwendet werden soll. Zum Beispiel kann eine uneinheitliche Verschlechterung dunkle Bildbereiche eines Frames mit einem Rauschpegel beinhalten, und helle Bereiche eines Frames haben einen unterschiedlichen Rauschpegel. In diesem Beispiel kann die Relevanzabbildung die Bildhelligkeit messen, und kann verwendet werden, um zu bestimmen, welche Schicht in welchem Bereich des Frames verwendet werden soll.
  • Der Schätzer des lokalen Werts 206 kann die lokalen Werte von Merkmalen zur Durchschnittswertbildung berechnen. Zum Beispiel kann der Schätzer des lokalen Werts 206 ein trainiertes CNN sein, das trainiert ist, um lokale Werte von Merkmalen empfangener Frames zu schätzen.
  • Der Validierer 208 kann ein Gewicht für die frameweite Durchschnittswertbildung berechnen, wobei ein Ausreißerzurückweisungsmechanismus erzeugt wird. Zum Beispiel kann Samples, die als Ausreißer verdächtigt werden, ein Gewicht von Null zugewiesen und diese somit aus der Statistik herausgelassen werden. Somit kann eine gewichtete Durchschnittswertbildung zu einer präziseren Kumulierung von Statistiken führen. In verschiedenen Beispielen kann das Gewicht in einer Gültigkeitsabbildung, die unterschiedliche Gewichte für unterschiedliche Sample-Positionen eines Frames beinhaltet, enthalten sein. Als ein Beispiel kann eine Gültigkeitsabbildung für den Fall von Bildschärfen erzeugt werden. Die Unschärfegröße kann am besten von hervorstechenden (starken) Kanten geschätzt werden. Gültigkeitsabbildungen in dem Fall von Unschärfe können somit typischerweise Werte ungleich Null nur an den Kanten enthalten.
  • Der gewichtete frameweite Durchschnittswertbildner 210 kann eine gewichtete Durchschnittswertbildung des geschätzten Zustands über den gesamten Frame ausführen. Zum Beispiel kann die gewichtete Durchschnittswertbildung ausgeführt werden, um einen Zustandsvektor durch Verwenden der folgenden Gleichung zu erzeugen: Z u s t a n d ( s ) = x , y S c h a ¨ t z u n g ( x , y , s ) G u ¨ l t i h k e i t ( x , y , s ) x , y G u ¨ l t i h k e i t ( x , y , s ) + ε
    Figure DE102020134755A1_0001
    In einigen Beispielen kann die Implementierung der gewichteten Durchschnittswertbildung 2S Akkumulatoren verwenden, die an jedem Pixel aktualisiert werden können. Die gewichtete Durchschnittswertbildung kann auch S Teilungsoperationen an dem Ende des Frames beinhalten. In verschiedenen Beispielen kann die gewichtete Durchschnittswertbildung basierend auf der Gültigkeitsabbildung ausgeführt werden. Um das obige Beispiel von Schärfen fortzusetzen, dürfen bei der gewichteten frameweiten Durchschnittswertbildung nur Kanten in den Zustandsvektor einbezogen werden, und alle anderen Bereiche können ein Gewicht von Null in dem gewichteten Durchschnitt erhalten. Somit kann das Gewicht verwendet werden, um alle unsicheren Messungen von der Schätzung des Zustandsvektors über die gewichtete frameweite Durchschnittswertbildung zu blockieren.
  • Der Modulator 212 kann Zustandsvektoren basierend auf Relevanzabbildungen modulieren. Zum Beispiel kann jeder wiederhergestellte Zustandsvektor 114B durch die Relevanzabbildung für einen bestimmten Frame moduliert werden. Zum Beispiel kann die Modulation eine Multiplikation des wiederhergestellten Zustandsvektors mit der Relevanz sein. In verschiedenen Beispielen eine punktweise Multiplikation des wiederhergestellten Zustandsvektors von dem vorhergehenden Frame mit der Relevanzabbildung. Auf diese Weise wird die Anwendung des Zustandsvektors auf den aktuellen Prozess basierend auf den aktuellen Eingangskanälen 214 moduliert.
  • Die Selbstnormalisierungsseitenkette 200 kann gemeinsam mit dem neuronalen Hauptnetzwerk trainiert werden. Zum Beispiel kann das Training durch Verwenden sauberer und verrauschter Bildpaare als ein Trainingsdatensatz ausgeführt werden. Somit kann das Training ohne jegliches Vorwissen über die Verschlechterung selbst oder die Varianz bei der Parametrisierung der Verschlechterung ausgeführt werden. Auf diese Weise kann eine implizite Codierung der Bildgebungsbedingungen ausschließlich basierend auf der Vielfalt in dem Trainingssatz erreicht werden.
  • In verschiedenen Beispielen kann die Selbstnormalisierungsseitenkette 200 zu jeglicher CNN-Basistopologie an unterschiedlichen Positionen in dem Datenfluss hinzugefügt werden. Zum Beispiel kann die CNN-Basistopologie ein Single-Scale-Feed-Forward, U-Net, LSTM, usw. sein. Als ein Beispiel kann die CNN-Basistopologie das Single-Scale-Feed-Forward-CNN 102 von 1 sein. In einigen Beispielen können mehrere Selbstnormalisierungsseitenketten 200 an unterschiedlichen Positionen in einem einzelnen CNN angebracht sein.
  • Das Diagramm von 2 ist nicht dazu beabsichtigt, anzugeben, dass die beispielhafte Selbstnormalisierungsseitenkette 200 alle der in 2 gezeigten Komponenten beinhalten soll. Vielmehr kann die beispielhafte Selbstnormalisierungsseitenkette 200 durch Verwenden von weniger oder zusätzlichen in 2 nicht veranschaulichten Komponenten, (zum Beispiel zusätzliche Eingangskanäle, Ausgangszustandsvektoren, CNN, Speicherungen, usw.), implementiert werden. Zum Beispiel kann das System 200 ohne den Komprimierer 202 implementiert werden.
  • Als ein Beispiel wurde die Selbstnormalisierungsseitenkette mit einem CNN verwendet, das für die Aufgabe des Entrauschens eines Bild- oder Videoframes mit einem unbekannten Rauschprofil, auch bekannt als blindes Entrauschen, trainiert wurde. Das beispielhafte CNN beinhaltete eine Selbstnormalisierungsseitenkette, und die Reihenfolge des Zustandsvektors war S = 6. Das Training wurde sowohl an der Basis als auch an den selbstnormalisierten CNN an Bildfeldern mit zufälligen signalabhängigen Rauschprofilen ausgeführt. In der Schlussfolgerung wurde eine weit verbesserte Leistung im Vergleich zu der CNN-Basis beobachtet, mit einer PSNR-Erhöhung von 0,7dB. Zusätzlich wurde im Vergleich zu der CNN-Basis eine weit bessere Ausgangsbildqualität beobachtet. Darüber hinaus war bei Beobachtung der 6 Zustände als eine Funktion des durchschnittlichen Eingangsrauschpegels eine erhebliche Korrelation sichtbar. Somit enthielt der erzeugte Zustandsvektor tatsächlich eine Codierung eines variierenden Verschlechterungsparameters. Zusätzlich wurde beim Beobachten einer Sample-Gültigkeitsabbildung festgestellt, dass hervorstechende Kanten als ungültig markiert waren. Insbesondere wurden diese Samples als Ausreißer ausgewiesen, und von der Durchschnittswertbildung entfernt. Dies steht im Einklang mit der herkömmlichen Rauschschätzungspraxis, wobei in der Umgebung von Kanten gesammelte Samples durch die Kante kontaminiert sind und nicht verwendet werden können. All das Obige wird jedoch nur erreicht, indem die Variabilität in dem Trainingsdatensatz ohne Vorwissen über die bestimmten Verschlechterungsparameter oder die bestimmte auszuführende Aufgabe gelernt wird.
  • 3 ist ein Ablaufdiagramm, das ein Verfahren zum Verarbeiten von Videoframes über ein neuronales Faltungsnetzwerk durch Verwenden von Statistiken vorhergehender Frames veranschaulicht. Beispielhaftes Verfahren 300 kann in dem System 100 von 1 und dem Datenverarbeitungsgerät 500 von 5, oder den computerlesbaren Medien 600 von 6 implementiert werden.
  • Bei Block 302 wird ein Frame eines Videostreams empfangen. Zum Beispiel kann der Frame in einem neuronalen Faltungsnetzwerk empfangen werden.
  • Bei Block 304 werden Eingangskanalwerte erzeugt, die dem Frame entsprechen. Zum Beispiel können die Eingangskanalwerte des Frames durch eine Faltungsschicht eines neuronalen Faltungsnetzwerks erzeugt werden. In einigen Beispielen können die Eingangskanalwerte als Eingang in eine kommunizierend mit dem CNN gekoppelte Selbstnormalisierungsseitenkette gesendet werden, wobei die Selbstnormalisierungsseitenkette frameweite Statistiken basierend auf den Eingangskanalwerten erzeugen soll. Zum Beispiel können die frameweiten Statistiken durch Verwenden der Selbstnormalisierungsseitenkette von 2 berechnet und bei dem Verarbeiten eines anschließenden aufeinanderfolgenden Frames verwendet werden. In verschiedenen Beispielen kann eine Anzahl von Sätzen von Kanalwerten durch Verwenden einer Anzahl unterschiedlicher Faltungsschichten des CNN erzeugt werden.
  • Bei Block 306 wird ein Ausgangszustandsvektor empfangen. Zum Beispiel kann der Ausgangszustandsvektor an einer Schicht des CNN von einer Selbstnormalisierungsseitenkette empfangen werden. Zum Beispiel kann die Schicht eine Verkettungsschicht sein, die den Ausgangszustandsvektor mit einem Merkmalsvektor von einer vorhergehenden Schicht verketten kann. Der Ausgangszustandsvektor kann auf frameweiten Statistiken basieren, die einem vorhergehenden Frame entsprechen. Zum Beispiel kann der vorhergehende Frame ein aufeinanderfolgender vorhergehender Frame von dem empfangenen Frame von Block 302 sein. Zum Beispiel können die frameweiten Statistiken, die einem vorhergehenden Frame entsprechen, von einer Speicherung abgerufen worden sein, und können kommunizierend mit der Selbstnormalisierungsseitenkette gekoppelt sein. In einigen Beispielen kann das CNN Ausgangszustandsvektoren einschließlich frameweiter Statistiken von einer Anzahl von Selbstnormalisierungsseitenketten empfangen. Zum Beispiel können die Selbstnormalisierungsseitenketten kommunizierend mit verschiedenen unterschiedlichen Schichten des CNN gekoppelt sein.
  • Bei Block 308 wird der Frame basierend auf dem Ausgangszustandsvektor verarbeitet, der frameweite Statistiken beinhaltet, die basierend auf Eingangskanalwerten, die dem vorhergehenden Frame entsprechen, berechnet wurden. Zum Beispiel kann das CNN Rauschen in dem Frame, das auf dem Ausgangszustandsvektor basiert, reduzieren.
  • Dieses Prozessablaufdiagramm ist nicht dazu beabsichtigt, anzugeben, dass die Blöcke des beispielhaften Verfahrens 300 in jeglicher bestimmten Reihenfolge ausgeführt werden sollen, oder dass alle Blöcke in jedem Fall enthalten sein sollen. Ferner kann jegliche Anzahl von nicht gezeigten zusätzlichen Blöcken in dem beispielhaften Verfahren 300 enthalten sein, abhängig von den Details der spezifischen Implementierung. Zum Beispiel kann das Verfahren 300 das Empfangen von Ausgangszustandsvektoren von einer Anzahl von kommunizierend mit dem CNN gekoppelten Selbstnormalisierungsseitenketten beinhalten.
  • 4 ist ein Ablaufdiagramm, das ein Verfahren zum Verarbeiten von Videoframes durch Verwenden einer Selbstnormalisierungsseitenkette veranschaulicht. Beispielhaftes Verfahren 400 kann in dem System 100 von 1, dem Datenverarbeitungsgerät 500 von 5, oder in den computerlesbaren Medien 600 von 6 durch Verwenden der Selbstnormalisierungsseitenkette 200 von 2 implementiert werden.
  • Bei Block 402 werden Eingangskanäle eines Videoframes empfangen. Zum Beispiel können die Eingangskanäle von einer Faltungsschicht eines mit einer Selbstnormalisierungsseitenkette gekoppelten neuronalen Faltungsnetzwerks empfangen werden. Zum Beispiel können die Eingangskanäle von einem mit einer Anzahl von CNN der Selbstnormalisierungsseitenkette gekoppelten Host-CNN empfangen werden.
  • Bei Block 404 werden die Eingangskanäle komprimiert, um einen komprimierten Satz von Kanälen zu erzeugen. Zum Beispiel kann die Anzahl von Eingangskanälen reduziert werden, um einen komprimierten Satz von Kanälen mit einer geringeren Anzahl von Kanälen zu erzeugen.
  • Bei Block 406 werden lokale Werte von Merkmalen für den komprimierten Satz von Kanälen berechnet. Zum Beispiel können die lokalen Werte der Merkmale über eine Sequenz von Faltungsschichten und Aktivierungsschichten eines trainierten neuronalen Faltungsnetzwerks berechnet werden. In einigen Beispielen können die Schichten ein bis drei Schichten tief sein. In verschiedenen Beispielen werden die Gewichte der Faltungsschichten während eines gemeinsamen Trainings des Selbstnormalisierungsseitenketten-CNN mit dem Host-CNN bestimmt. Als ein Beispiel können die lokalen Werte durch Verwenden des Schätzers des lokalen Werts 206 von 2 berechnet werden.
  • Bei Block 408 wird ein Gewicht für die frameweite Durchschnittswertbildung berechnet. Zum Beispiel kann Samples, die als Ausreißer verdächtigt werden, ein Gewicht von Null zugewiesen und diese somit aus der Statistik herausgelassen werden. Als ein Beispiel kann ein Validierer eine Aktivierungsschicht an dem Ausgang haben, die einen Bereich von Werten erkennt und diese auf Null setzt. Zum Beispiel kann die Aktivierung eine ReLU-Aktivierungsfunktion sein, die alle negativen Werte auf Null setzt, gemäß der Gleichung: R e L U ( x ) = m a x ( x ,0 )
    Figure DE102020134755A1_0002
    In verschiedenen Beispielen können viele der Gewichte, die bei der Durchschnittswertbildung verwendet werden sollen, damit enden, Null zu sein. Es kann somit bestimmt werden, dass solche Samples nicht gut genug sind, um bei der Kumulierung von frameweiten Informationen verwendet zu werden, um den Zustandsvektor von Block 410 zu bilden. Auf diese Weise kann ein Validierer einen Ausreißerzurückweisungsmechanismus bereitstellen, indem er nicht vertrauenswürdige Messungen erkennt und sie von der Durchschnittswertbildung entfernt.
  • Bei Block 410 wird ein gewichteter frameweiter Durchschnittswert über eine Gesamtheit des Frames berechnet, um einen Zustandsvektor für den Frame zu erzeugen, und der Zustandsvektor wird an eine Speicherung gesendet. Zum Beispiel können die gewichteten frameweiten Durchschnittswerte von für den vorhergehenden Videoframe erzeugten internen Merkmalsabbildungen kumuliert werden, um den Zustandsvektor zu erzeugen.
  • Bei Block 412 wird eine Relevanz jeder Koordinate in einem wiederhergestellten Zustandsvektor für das lokale Verarbeiten des Frames berechnet. Zum Beispiel kann der wiederhergestellte Zustandsvektor dem vorhergehenden Frame entsprechen.
  • Bei Block 414 wird ein wiederhergestellter Zustandsvektor basierend auf einer Relevanzabbildung moduliert, um einen Ausgangszustandsvektor zu erzeugen. Zum Beispiel kann der wiederhergestellte Zustandsvektor mit der Relevanzabbildung multipliziert werden, um den Ausgangszustandsvektor zu erzeugen.
  • Dieses Prozessablaufdiagramm ist nicht dazu beabsichtigt, anzugeben, dass die Blöcke des beispielhaften Verfahrens 400 in jeglicher bestimmten Reihenfolge ausgeführt werden sollen, oder dass alle Blöcke in jedem Fall enthalten sein sollen. Ferner kann jegliche Anzahl von nicht gezeigten zusätzlichen Blöcken in dem beispielhaften Verfahren 400 enthalten sein, abhängig von den Details der spezifischen Implementierung.
  • Jetzt Bezug nehmend auf 5, ist ein Blockdiagramm gezeigt, das ein beispielhaftes Datenverarbeitungsgerät veranschaulicht, das Videoframes durch Verwenden eines neuronalen Faltungsnetzwerks verarbeiten kann. Datenverarbeitungsgerät 500 kann zum Beispiel unter anderem ein Laptop-Computer, ein Desktop-Computer, ein Tablet-Computer, ein mobiles Gerät oder ein tragbares Gerät sein. In einigen Beispielen kann das Datenverarbeitungsgerät 500 ein Videoanzeigegerät sein. Das Datenverarbeitungsgerät 500 kann zentrale Verarbeitungseinheit (Central-Processing-Unit - CPU) 502, die dazu ausgelegt ist, gespeicherte Anweisungen auszuführen, sowie Speichergerät 504, das Anweisungen speichert, die durch die CPU 502 ausführbar sind, beinhalten. Die CPU 502 kann mit dem Speichergerät 504 über Bus 506 gekoppelt sein. Zusätzlich kann die CPU 502 ein Single-Core-Prozessor, ein Multi-Core-Prozessor, ein Datenverarbeitungs-Cluster, oder jegliche Anzahl anderer Konfigurationen sein. Darüber hinaus kann das Datenverarbeitungsgerät 500 mehr als eine CPU 502 beinhalten. In einigen Beispielen kann die CPU 502 ein System-on-Chip (SoC) mit einer Multi-Core-Prozessorarchitektur sein. In einigen Beispielen kann die CPU 502 ein spezialisierter digitaler Signalprozessor (DSP) sein, der zum Bildverarbeiten verwendet wird. Das Speichergerät 504 kann einen Random-Access-Memory (RAM), einen Read-Only-Memory (ROM), einen Flash-Speicher oder jegliche anderen geeigneten Speichersysteme beinhalten. Zum Beispiel kann das Speichergerät 504 einen Dynamic-Random-Access-Memory (DRAM) beinhalten.
  • Das Speichergerät 504 kann einen Random-Access-Memory (RAM), einen Read-Only-Memory (ROM), einen Flash-Speicher oder jegliche anderen geeigneten Speichersysteme beinhalten. Zum Beispiel kann das Speichergerät 504 einen Dynamic-Random-Access-Memory (DRAM) beinhalten.
  • Das Datenverarbeitungsgerät 500 kann auch grafische Verarbeitungseinheit (Graphics-Processing-Unit - GPU) 508 beinhalten. Wie gezeigt, kann die CPU 502 über den Bus 506 mit der GPU 508 gekoppelt sein. Die GPU 508 kann dazu ausgelegt sein, jegliche Anzahl von Grafikoperationen innerhalb des Datenverarbeitungsgeräts 500 auszuführen. Zum Beispiel kann die GPU 508 dazu ausgelegt sein, Grafikbilder, Grafikframes, Videos oder dergleichen zu rendern oder zu manipulieren, um einem Benutzer des Datenverarbeitungsgeräts 500 angezeigt zu werden.
  • Das Speichergerät 504 kann einen Random-Access-Memory (RAM), einen Read-Only-Memory (ROM), einen Flash-Speicher oder jegliche anderen geeigneten Speichersysteme beinhalten. Zum Beispiel kann das Speichergerät 504 einen Dynamic-Random-Access-Memory (DRAM) beinhalten. Das Speichergerät 504 kann Gerätetreiber 510 beinhalten, die dazu ausgelegt sind, die Anweisungen zum Trainieren mehrerer neuronaler Faltungsnetzwerke auszuführen, um eine sequenzunabhängige Verarbeitung auszuführen. Die Gerätetreiber 510 können Software, ein Anwendungsprogramm, ein Anwendungscode oder dergleichen sein.
  • Die CPU 502 kann auch durch den Bus 506 mit Eingangs/Ausgangs (Input/Output - I/O) -Geräteschnittstelle 512 verbunden sein, die dazu ausgelegt ist, das Datenverarbeitungsgerät 500 mit einem oder mehreren I/O-Geräten 514 zu verbinden. Die I/O-Geräte 514 können zum Beispiel eine Tastatur und ein Zeigegerät beinhalten, wobei das Zeigegerät unter anderem ein Touchpad oder einen Touchscreen beinhalten kann. Die I/O-Geräte 514 können eingebaute Komponenten des Datenverarbeitungsgeräts 500 sein, oder können Geräte sein, die extern mit dem Datenverarbeitungsgerät 500 verbunden sind. In einigen Beispielen kann der Speicher 504 über einen direkten Speicherzugriff (Direct-Memory-Access - DMA) kommunizierend mit den I/O-Geräten 514 gekoppelt sein.
  • Die CPU 502 kann auch durch den Bus 506 mit Anzeigeschnittstelle 516 verbunden sein, die dazu ausgelegt ist, das Datenverarbeitungsgerät 500 mit Anzeigegerät 518 zu verbinden. Das Anzeigegerät 518 kann einen Anzeigebildschirm beinhalten, der eine eingebaute Komponente des Datenverarbeitungsgeräts 500 ist. Das Anzeigegerät 518 kann unter anderem auch einen Computermonitor, ein Fernsehgerät oder einen Projektor beinhalten, der intern oder extern mit dem Datenverarbeitungsgerät 500 verbunden ist.
  • Das Datenverarbeitungsgerät 500 beinhaltet auch Speicherungsgerät 520. Das Speicherungsgerät 520 ist ein physikalischer Speicher, wie zum Beispiel eine Festplatte, ein optisches Laufwerk, ein Thumbdrive, eine Anordnung von Laufwerken, ein Solid-State-Laufwerk, oder jegliche Kombinationen davon. Das Speicherungsgerät 520 kann auch entfernt angeordnete Speicherungslaufwerke beinhalten.
  • Das Datenverarbeitungsgerät 500 kann auch Netzwerkschnittstellensteuerung (Network-Interface-Controller - NIC) 522 beinhalten. Die NIC 522 kann dazu ausgelegt sein, das Datenverarbeitungsgerät 500 durch den Bus 506 mit Netzwerk 524 zu verbinden. Das Netzwerk 524 kann unter anderem ein Wide-Area-Network (WAN), ein Local-Area-Network (LAN) oder das Internet sein. In einigen Beispielen kann das Gerät mit anderen Geräten durch eine drahtlose Technologie kommunizieren. Zum Beispiel kann das Gerät mit anderen Geräten über eine drahtlose Local-Area-Network-Verbindung kommunizieren. In einigen Beispielen kann das Gerät mit anderen Geräten über Bluetooth® oder eine ähnliche Technologie verbunden sein oder kommunizieren.
  • Das Datenverarbeitungsgerät 500 beinhaltet ferner Kamera 526. Zum Beispiel kann die Kamera 526 einen oder mehrere Bildverarbeitungssensoren beinhalten. In einigen Beispielen kann die Kamera 526 einen Prozessor zum Erzeugen von Videoframes beinhalten.
  • Das Datenverarbeitungsgerät 500 beinhaltet ferner Selbstnormalisierungsseitenkette 528. Zum Beispiel kann die Selbstnormalisierungsseitenkette 528 verwendet werden, um Verschlechterungsparameter in dem laufenden Betrieb zu schätzen. Die Selbstnormalisierungsseitenkette 528 kann Kanalkomprimierer 530, Merkmalsschätzer 532, Validierer 534, Vektorgenerator 536, Relevanzberechner 538 und Vektormodulator 540 beinhalten. In einigen Beispielen kann jede der Komponenten 530-540 der Selbstnormalisierungsseitenkette 528 ein Mikrocontroller, ein eingebetteter Prozessor, oder ein Softwaremodul sein. Der Kanalkomprimierer 530 kann den komprimierten Satz von Merkmalen erzeugen, indem er eine Anzahl von Kanälen eines Eingangssatzes von Merkmalen von einer Schicht eines neuronalen Faltungsnetzwerks reduziert. Der Merkmalsschätzer 532 kann einen lokalen Wert eines Merkmals zur Durchschnittswertbildung in einem komprimierten Satz von Merkmalen eines aktuellen Frames berechnen. Der Validierer 534 kann eine Gültigkeitsabbildung berechnen, die ein Gewicht für das frameweite Bilden eines Durchschnittswerts basierend auf dem komprimierten aktuellen Frame umfasst. In einigen Beispielen kann der Validierer 534 bestimmte Koordinaten des komprimierten aktuellen Frames über das Gewicht von der Kumulierung ausschließen. Der Vektorgenerator 536 kann einen Zustandsvektor basierend auf dem lokalen Wert des Merkmals und dem Gewicht erzeugen. In einigen Beispielen kann der Zustandsvektor ein kumulierter frameweiter gewichteter Durchschnittswert interner Merkmalsabbildungen sein. Zum Beispiel können die kumulierten frameweiten gewichteten Durchschnittswerte als geschätzte Werte von Verschlechterungsparametern für den aktuellen Frame verwendet werden. Der Relevanzberechner 538 kann eine Relevanz für das lokale Verarbeiten für jede Koordinate in einem wiederhergestellten Zustandsvektor, der einem vorhergehenden Frame zugeordnet ist, berechnen. Der Vektormodulator 540 kann den wiederhergestellten Zustandsvektor mit dem Relevanzmerkmal multiplizieren, um einen Satz von Ausgangsmerkmalen zu erzeugen. Zum Beispiel kann der Satz von Ausgangsmerkmalen relevante Statistiken für den aktuellen Frame sein.
  • Das Datenverarbeitungsgerät 500 beinhaltet auch neuronales Faltungsnetzwerk (CNN) 542. In verschiedenen Beispielen kann das CNN 542 den Satz von Merkmalen des aktuellen Frames erzeugen, und den Satz von Ausgangsmerkmalen empfangen. Zum Beispiel kann das CNN 542 eine erste Schicht zum Erzeugen des Satzes von Merkmalen des aktuellen Frames und einen Verketter zum Empfangen des Satzes von Ausgangsmerkmalen beinhalten, und ein Bild basierend auf dem Satz von Ausgangsmerkmalen verarbeiten. In verschiedenen Beispielen kann das CNN 542 basierend auf Trainingsdaten trainiert werden. Zum Beispiel können ein oder mehrere Verschlechterungsparameter von Interesse während des Trainings basierend auf der Diversität in den Trainingsdaten bestimmt werden. Als ein Beispiel kann, um sicherzustellen, dass ein selbstnormalisiertes CNN das Messen von Geräuschpegeln lernt, das selbstnormalisierte CNN durch Verwenden diverser Geräuschpegel von niedrigen bis hohen Geräuschpegeln trainiert werden. Die Selbstnormalisierungsseitenkette kann lernen, dass dies etwas ist, auf das sie achten muss. Als ein anderes Beispiel können, um ein selbstnormalisiertes CNN zu trainieren, Trübung für Bilder zu entfernen, die Trainingsdaten trübe Bilder mit unterschiedlichen Schattierungen beinhalten, und die Selbstnormalisierungsseitenkette des selbstnormalisierten CNN kann lernen, die Farbe des Grauschleiers zu schätzen. Zum Beispiel können die unterschiedlichen Schattierungen unter anderen Schattierungen bläuliche, rötliche und gelbliche Trübungen beinhalten. Somit können, wenn das CNN 542 mit der Selbstnormalisierungsseitenkette 528 trainiert wird, die Trainingsdaten alle dynamischen Bedingungen umfassen, denen das selbstnormalisierte CNN in seinem Betrieb begegnen kann. Als ein weiteres Beispiel können die Trainingsdaten Daten beinhalten, die allen Stunden eines Tages entsprechen. In verschiedenen Beispielen umfasst eine Topologie des neuronalen Faltungsnetzwerks ein Single-Scale-Feed-Forward-Netzwerk, ein U-Net, ein Long-Short-Term-Memory (LSTM) -Netzwerk, oder jegliche Kombination davon.
  • Das Blockdiagramm von 5 ist nicht dazu beabsichtigt, anzugeben, dass das Datenverarbeitungsgerät 500 alle der in 5 gezeigten Komponenten beinhalten soll. Vielmehr kann das Datenverarbeitungsgerät 500 weniger oder zusätzliche in 5 nicht veranschaulichte Komponenten, wie zum Beispiel zusätzliche Puffer, zusätzliche Prozessoren, und dergleichen beinhalten. Das Datenverarbeitungsgerät 500 kann abhängig von den Details der spezifischen Implementierung jegliche Anzahl zusätzlicher in 5 nicht gezeigter Komponenten beinhalten. Darüber hinaus kann jegliche der Funktionalitäten des Kanalkomprimierers 530, des Merkmalsschätzers 532, des Validierers 534, des Vektorgenerators 536, des Relevanzberechners 538 und des Vektormodulators 540 teilweise oder vollständig in Hardware und/oder in dem Prozessor 502 implementiert werden. Zum Beispiel kann die Funktionalität mit einer anwendungsspezifischen integrierten Schaltung, in einer in dem Prozessor 502 implementierten Logik, oder in jeglichem anderen Gerät implementiert werden. Zusätzlich kann jegliche der Funktionalitäten der CPU 502 teilweise oder vollständig in Hardware und/oder in einem Prozessor implementiert werden. Zum Beispiel kann die Funktionalität der Selbstnormalisierungsseitenkette 528 mit einer anwendungsspezifischen integrierten Schaltung, in einer in einem Prozessor implementierten Logik, in einer in einer spezialisierten Grafikverarbeitungseinheit, wie zum Beispiel der GPU 508, implementierten Logik, oder in jeglichem anderen Gerät implementiert werden . In verschiedenen Beispielen können der Relevanzberechner 538, der Merkmalsschätzer 532 und der Validierer 534 jeweils ein separates neuronales Faltungsnetzwerk mit zwei oder drei Faltungsschichten sein.
  • 6 ist ein Blockdiagramm, das computerlesbare Medien 600 zeigt, die Code zum Verarbeiten von Videoframes durch Verwenden eines neuronalen Faltungsnetzwerks speichern. Auf die computerlesbaren Medien 600 kann durch Prozessor 602 über Computerbus 604 zugegriffen werden. Darüber hinaus kann das computerlesbare Medium 600 Code beinhalten, der dazu ausgelegt ist, dem Prozessor 602 vorzuschreiben, die hierin beschriebenen Verfahren auszuführen. In einigen Ausführungsformen können die computerlesbaren Medien 600 nichtflüchtige computerlesbare Medien sein. In einigen Beispielen können die computerlesbaren Medien 600 Speicherungsmedien sein.
  • Die verschiedenen hierin diskutierten Softwarekomponenten können auf einem oder mehreren computerlesbaren Medien 600 gespeichert sein, wie in 6 angegeben. Zum Beispiel kann Kanalkomprimierungsmodul 606 dazu ausgelegt sein, die Eingangskanäle zu komprimieren, um einen komprimierten Satz von Kanälen zu erzeugen. Merkmalsschätzermodul 608 kann dazu ausgelegt sein, lokale Werte von Merkmalen für einen komprimierten Satz von Kanälen zu berechnen. Validierermodul 610 kann dazu ausgelegt sein, ein Gewicht für die frameweite Durchschnittswertbildung zu berechnen. Vektorgeneratormodul 612 kann dazu ausgelegt sein, gewichtete frameweite Durchschnittswerte von für den vorhergehenden Videoframe erzeugten internen Merkmalsabbildungen zu kumulieren, um einen Zustandsvektor für den Frame zu erzeugen. Zum Beispiel kann der Vektorgenerator 612 dazu ausgelegt sein, einen gewichteten frameweiten Durchschnittswert über eine Gesamtheit des Frames zu berechnen, um einen Zustandsvektor für den Frame zu erzeugen, und den Zustandsvektor an eine Speicherung zu senden. Relevanzberechnermodul 614 kann dazu ausgelegt sein, eine Relevanz jeder Koordinate in einem wiederhergestellten Zustandsvektor für das lokale Verarbeiten des Frames zu berechnen, wobei der wiederhergestellte Zustandsvektor dem vorhergehenden Frame entspricht. Vektormodulatormodul 616 kann dazu ausgelegt sein, einen wiederhergestellten Zustandsvektor basierend auf einer Relevanzabbildung zu modulieren, um den Ausgangszustandsvektor zu erzeugen. Neuronales Faltungsnetzwerk (CNN) -Modul 618 kann dazu ausgelegt sein, einen Frame eines Videostreams zu empfangen. Das CNN-Modul 618 kann auch dazu ausgelegt sein, Eingangskanalwerte zu erzeugen, die dem Frame entsprechen. Das CNN-Modul 618 kann auch dazu ausgelegt sein, einen Ausgangszustandsvektor zu empfangen, der frameweite Statistiken umfasst, die basierend auf Eingangskanalwerten, die einem vorhergehenden Frame des Videostreams entsprechen, berechnet werden. Das CNN-Modul 618 kann auch dazu ausgelegt sein, den Frame des Videostreams basierend auf dem Ausgangszustandsvektor zu verarbeiten. In einigen Beispielen kann das CNN-Modul 618 auch dazu ausgelegt sein, eine Anzahl von Sätzen von Eingangskanalwerten zu erzeugen. In verschiedenen Beispielen kann das CNN-Modul 618 auch dazu ausgelegt sein, Ausgangszustandsvektoren von einer Anzahl von Selbstnormalisierungsseitenketten zu empfangen.
  • Das Blockdiagramm von 6 ist nicht dazu beabsichtigt, anzugeben, dass die computerlesbaren Medien 600 alle der in 6 gezeigten Komponenten beinhalten sollen. Darüber hinaus können die computerlesbaren Medien 600 abhängig von den Details der spezifischen Implementierung jegliche Anzahl zusätzlicher in 6 nicht gezeigter Komponenten beinhalten.
  • Beispiele
  • Beispiel 1 ist eine Vorrichtung zur Videobildgebung Die Vorrichtung beinhaltet einen Merkmalsschätzer, um einen lokalen Wert eines Merkmals zur Durchschnittswertbildung in einem komprimierten Satz von Merkmalen eines aktuellen Frames zu berechnen. Die Vorrichtung beinhaltet auch einen Validierer, um eine Gültigkeitsabbildung zu berechnen, die ein Gewicht für die frameweite Durchschnittswertbildung basierend auf dem komprimierten aktuellen Frame beinhaltet. Die Vorrichtung beinhaltet ferner einen Vektorgenerator, um einen Zustandsvektor basierend auf dem lokalen Wert des Merkmals und dem Gewicht zu erzeugen. Die Vorrichtung beinhaltet ferner auch einen Relevanzberechner, um eine Relevanz für das lokale Verarbeiten für jede Koordinate in einem wiederhergestellten Zustandsvektor, der einem vorhergehenden Frame zugeordnet ist, zu berechnen. Die Vorrichtung beinhaltet auch einen Vektormodulator, um den wiederhergestellten Zustandsvektor mit dem Relevanzmerkmal zu modulieren, um einen Satz von Ausgangsmerkmalen zu erzeugen.
  • Beispiel 2 beinhaltet die Vorrichtung von Beispiel 1, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet die Vorrichtung ein kommunizierend mit der Vorrichtung gekoppeltes neuronales Faltungsnetzwerk, wobei das neuronale Faltungsnetzwerk eine erste Schicht zum Erzeugen des Satzes von Merkmalen des aktuellen Frames und einen Verketter zum Empfangen des Satzes von Ausgangsmerkmalen und zum Verarbeiten eines Bilds basierend auf dem Satz von Ausgangsmerkmalen beinhaltet.
  • Beispiel 3 beinhaltet die Vorrichtung von irgendeinem der Beispiele 1 bis 2, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet die Vorrichtung einen Kanalkomprimierer, um den komprimierten Satz von Merkmalen zu erzeugen, indem eine Anzahl von Kanälen eines Eingangssatzes von Merkmalen von einer Schicht eines neuronalen Faltungsnetzwerks reduziert wird.
  • Beispiel 4 beinhaltet die Vorrichtung von irgendeinem der Beispiele 1 bis 3, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhalten der Relevanzberechner, der Merkmalsschätzer und der Validierer jeweils ein separates neuronales Faltungsnetzwerk mit zwei oder drei Faltungsschichten.
  • Beispiel 5 beinhaltet die Vorrichtung von irgendeinem der Beispiele 1 bis 4, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel soll der Validierer bestimmte Koordinaten des komprimierten aktuellen Frames über das Gewicht von der Kumulierung ausschließen.
  • Beispiel 6 beinhaltet die Vorrichtung von irgendeinem der Beispiele 1 bis 5, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet der Zustandsvektor kumulierte frameweite gewichtete Durchschnittswerte interner Merkmalsabbildungen.
  • Beispiel 7 beinhaltet die Vorrichtung von irgendeinem der Beispiele 1 bis 6, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet die Vorrichtung ein kommunizierend mit der Vorrichtung gekoppeltes neuronales Faltungsnetzwerk, wobei das neuronale Faltungsnetzwerk den Satz von Merkmalen des aktuellen Frames erzeugen und den Satz von Ausgangsmerkmalen empfangen soll.
  • Beispiel 8 beinhaltet die Vorrichtung von irgendeinem der Beispiele 1 bis 7, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet die Vorrichtung ein neuronales Faltungsnetzwerk, das gemeinsam mit der Vorrichtung trainiert wird. Verschlechterungsparameter von Interesse werden während des Trainings basierend auf der Diversität der Trainingsdaten bestimmt.
  • Beispiel 9 beinhaltet die Vorrichtung von irgendeinem der Beispiele 1 bis 8, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet der Satz von Ausgangsmerkmalen relevante Statistiken für den aktuellen Frame.
  • Beispiel 10 beinhaltet die Vorrichtung von irgendeinem der Beispiele 1 bis 9, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet die Vorrichtung ein kommunizierend mit der Vorrichtung gekoppeltes neuronales Faltungsnetzwerk, eine Topologie des neuronalen Faltungsnetzwerks einschließlich eines Single-Scale-Feed-Forward-Netzwerks, eines U-Net, eines Long-Short-Term-Memory (LSTM) -Netzwerks, oder jeglicher Kombination davon.
  • Beispiel 11 ist ein Verfahren zur Videobildgebung. Das Verfahren beinhaltet das Empfangen, in einem neuronalen Faltungsnetzwerk (CNN), eines Frames eines Videostreams. Das Verfahren beinhaltet auch das Erzeugen, über eine Faltungsschicht des CNN, von Eingangskanalwerten, die dem Frame entsprechen. Das Verfahren beinhaltet ferner das Empfangen eines Ausgangszustandsvektors, der frameweite Statistiken beinhaltet, die basierend auf Eingangskanalwerten, die einem vorhergehenden Frame des Videostreams entsprechen, berechnet werden. Das Verfahren beinhaltet ferner auch das Verarbeiten, über das neuronale Faltungsnetzwerk, des Frames des Videostroms basierend auf dem Ausgangszustandsvektor.
  • Beispiel 12 beinhaltet das Verfahren von Beispiel 11, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das Verfahren das Kumulieren, über eine kommunikativ mit dem neuronalen Faltungsnetzwerk gekoppelte Selbstnormalisierungsseitenkette, von gewichteten frameweiten Durchschnittswerten von für den vorhergehenden Videoframe erzeugten internen Merkmalsabbildungen, um einen Zustandsvektor für den Frame zu erzeugen.
  • Beispiel 13 beinhaltet das Verfahren von irgendeinem der Beispiele 11 bis 12, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das Verfahren das Komprimieren, über eine Selbstnormalisierungsseitenkette, der Eingangskanäle, um einen komprimierten Satz von Kanälen zu erzeugen.
  • Beispiel 14 beinhaltet das Verfahren von irgendeinem der Beispiele 11 bis 13, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das Verfahren das Berechnen, über eine Selbstnormalisierungsseitenkette, von lokalen Werten von Merkmalen für einen komprimierten Satz von Kanälen.
  • Beispiel 15 beinhaltet das Verfahren von irgendeinem der Beispiele 11 bis 14, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das Verfahren das Berechnen, über eine Selbstnormalisierungsseitenkette, eines Gewichts für die frameweite Durchschnittswertbildung.
  • Beispiel 16 beinhaltet das Verfahren von irgendeinem der Beispiele 11 bis 15, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das Verfahren das Berechnen, über eine Selbstnormalisierungsseitenkette, eines gewichteten frameweiten Durchschnittswerts über eine Gesamtheit des Frames, um einen Zustandsvektor für den Frame zu erzeugen, und den Zustandsvektor an eine Speicherung zu senden.
  • Beispiel 17 beinhaltet das Verfahren von irgendeinem der Beispiele 11 bis 16, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das Verfahren das Berechnen, über eine Selbstnormalisierungsseitenkette, einer Relevanz jeder Koordinate in einem wiederhergestellten Zustandsvektor für ein lokales Verarbeiten des Frames. Der wiederhergestellte Zustandsvektor entspricht dem vorhergehenden Frame.
  • Beispiel 18 beinhaltet das Verfahren von irgendeinem der Beispiele 11 bis 17, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das Verfahren das Modulieren, über eine Selbstnormalisierungsseitenkette, eines wiederhergestellten Zustandsvektors basierend auf einer Relevanzabbildung, um den Ausgangszustandsvektor zu erzeugen.
  • Beispiel 19 beinhaltet das Verfahren von irgendeinem der Beispiele 11 bis 18, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das Verfahren das Erzeugen, über eine Anzahl unterschiedlicher Faltungsschichten des CNN, einer Anzahl von Sätzen von Eingangskanalwerten .
  • Beispiel 20 beinhaltet das Verfahren von irgendeinem der Beispiele 11 bis 19, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das Verfahren das Empfangen von Ausgangszustandsvektoren von einer Anzahl von kommunizierend mit dem CNN gekoppelten Selbstnormalisierungsseitenketten.
  • Beispiel 21 ist mindestens ein computerlesbares Medium zur Videobildgebung, in dem Anweisungen gespeichert sind, die dem Prozessor vorschreiben, einen Frame eines Videostreams zu empfangen. Das computerlesbare Medium beinhaltet Anweisungen, die dem Prozessor vorschreiben, Eingangskanalwerte zu erzeugen, die dem Frame entsprechen. Das computerlesbare Medium beinhaltet Anweisungen, die dem Prozessor vorschreiben, einen Ausgangszustandsvektor, der frameweite Statistiken beinhaltet, die basierend auf Eingangskanalwerten, die einem vorhergehenden Frame des Videostreams entsprechen, berechnet werden, zu empfangen. Das computerlesbare Medium beinhaltet Anweisungen, die dem Prozessor vorschreiben, den Frame des Videostreams basierend auf dem Ausgangszustandsvektor zu verarbeiten.
  • Beispiel 22 beinhaltet das computerlesbare Medium von Beispiel 21, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das computerlesbare Medium Anweisungen, um den Prozessor dazu zu veranlassen, gewichtete frameweite Durchschnittswerte von für den vorhergehenden Videoframe erzeugten internen Merkmalsabbildungen zu kumulieren, um einen Zustandsvektor für den Frame zu erzeugen.
  • Beispiel 23 beinhaltet das computerlesbare Medium von irgendeinem der Beispiele 21 bis 22, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das computerlesbare Medium Anweisungen, um den Prozessor dazu zu veranlassen, die Eingangskanäle zu komprimieren, um einen komprimierten Satz von Kanälen zu erzeugen.
  • Beispiel 24 beinhaltet das computerlesbare Medium von irgendeinem der Beispiele 21 bis 23, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das computerlesbare Medium Anweisungen, um den Prozessor dazu zu veranlassen, lokale Werte von Merkmalen für einen komprimierten Satz von Kanälen zu berechnen.
  • Beispiel 25 beinhaltet das computerlesbare Medium von irgendeinem der Beispiele 21 bis 24, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das computerlesbare Medium Anweisungen, um den Prozessor dazu zu veranlassen, ein Gewicht für eine frameweite Durchschnittswertbildung zu berechnen.
  • Beispiel 26 beinhaltet das computerlesbare Medium von irgendeinem der Beispiele 21 bis 25, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das computerlesbare Medium Anweisungen, einen gewichteten frameweiten Durchschnittswert über eine Gesamtheit des Frames zu berechnen, um einen Zustandsvektor für den Frame zu erzeugen, und den Zustandsvektor an eine Speicherung zu senden.
  • Beispiel 27 beinhaltet das computerlesbare Medium von irgendeinem der Beispiele 21 bis 26, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das computerlesbare Medium Anweisungen, eine Relevanz jeder Koordinate in einem wiederhergestellten Zustandsvektor für das lokale Verarbeiten des Frames zu berechnen. Der wiederhergestellte Zustandsvektor entspricht dem vorhergehenden Frame.
  • Beispiel 28 beinhaltet das computerlesbare Medium von irgendeinem der Beispiele 21 bis 27, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das computerlesbare Medium Anweisungen, einen wiederhergestellten Zustandsvektor basierend auf einer Relevanzabbildung zu modulieren, um den Ausgangszustandsvektor zu erzeugen.
  • Beispiel 29 beinhaltet das computerlesbare Medium von irgendeinem der Beispiele 21 bis 28, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das computerlesbare Medium Anweisungen, eine Anzahl von Sätzen von Eingangskanalwerten zu erzeugen.
  • Beispiel 30 beinhaltet das computerlesbare Medium von irgendeinem der Beispiele 21 bis 29, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das computerlesbare Medium Anweisungen, Ausgangszustandsvektoren von einer Anzahl von Selbstnormalisierungsseitenketten zu empfangen.
  • Beispiel 31 ist ein System zur Videobildgebung. Das System beinhaltet einen Merkmalsschätzer, um einen lokalen Wert eines Merkmals zur Durchschnittswertbildung in einem komprimierten Satz von Merkmalen eines aktuellen Frames zu berechnen. Das System beinhaltet auch einen Validierer, um eine Gültigkeitsabbildung zu berechnen, die ein Gewicht für die frameweite Durchschnittswertbildung basierend auf dem komprimierten aktuellen Frame beinhaltet. Das System beinhaltet ferner einen Vektorgenerator, um einen Zustandsvektor basierend auf dem lokalen Wert des Merkmals und dem Gewicht zu erzeugen. Das System beinhaltet ferner auch einen Relevanzberechner, um eine Relevanz für das lokale Verarbeiten für jede Koordinate in einem wiederhergestellten Zustandsvektor, der einem vorhergehenden Frame zugeordnet ist, zu berechnen. Das System beinhaltet auch einen Vektormodulator, um den wiederhergestellten Zustandsvektor mit dem Relevanzmerkmal zu modulieren, um einen Satz von Ausgangsmerkmalen zu erzeugen.
  • Beispiel 32 beinhaltet das System von Beispiel 31, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das System ein kommunizierend mit der Vorrichtung gekoppeltes neuronales Faltungsnetzwerk, wobei das neuronale Faltungsnetzwerk eine erste Schicht zum Erzeugen des Satzes von Merkmalen des aktuellen Frames und einen Verketter zum Empfangen des Satzes von Ausgangsmerkmalen und zum Verarbeiten eines Bilds basierend auf dem Satz von Ausgangsmerkmalen beinhaltet.
  • Beispiel 33 beinhaltet das System von irgendeinem der Beispiele 31 bis 32, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das System einen Kanalkomprimierer, um den komprimierten Satz von Merkmalen zu erzeugen, indem eine Anzahl von Kanälen eines Eingangssatzes von Merkmalen von einer Schicht eines neuronalen Faltungsnetzwerks reduziert wird.
  • Beispiel 34 beinhaltet das System von irgendeinem der Beispiele 31 bis 33, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhalten der Relevanzberechner, der Merkmalsschätzer und der Validierer jeweils ein separates neuronales Faltungsnetzwerk mit zwei oder drei Faltungsschichten.
  • Beispiel 35 beinhaltet das System von irgendeinem der Beispiele 31 bis 34, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel soll der Validierer bestimmte Koordinaten des komprimierten aktuellen Frames über das Gewicht von der Kumulierung ausschließen.
  • Beispiel 36 beinhaltet das System von irgendeinem der Beispiele 31 bis 35, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet der Zustandsvektor kumulierte frameweite gewichtete Durchschnittswerte interner Merkmalsabbildungen.
  • Beispiel 37 beinhaltet das System von irgendeinem der Beispiele 31 bis 36, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das System ein kommunizierend mit der Vorrichtung gekoppeltes neuronales Faltungsnetzwerk, wobei das neuronale Faltungsnetzwerk den Satz von Merkmalen des aktuellen Frames erzeugen und den Satz von Ausgangsmerkmalen empfangen soll.
  • Beispiel 38 beinhaltet das System von irgendeinem der Beispiele 31 bis 37, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das System ein neuronales Faltungsnetzwerk, das gemeinsam mit der Vorrichtung trainiert wird. Verschlechterungsparameter von Interesse werden während des Trainings basierend auf der Diversität der Trainingsdaten bestimmt.
  • Beispiel 39 beinhaltet das System von irgendeinem der Beispiele 31 bis 38, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet der Satz von Ausgangsmerkmalen relevante Statistiken für den aktuellen Frame.
  • Beispiel 40 beinhaltet das System von irgendeinem der Beispiele 31 bis 39, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das System ein kommunizierend mit der Vorrichtung gekoppeltes neuronales Faltungsnetzwerk, eine Topologie des neuronalen Faltungsnetzwerks einschließlich eines Single-Scale-Feed-Forward-Netzwerks, eines U-Net, eines Long-Short-Term-Memory (LSTM) -Netzwerks, oder jeglicher Kombination davon.
  • Beispiel 41 ist ein System zur Videobildgebung. Das System beinhaltet Mittel zum Berechnen einen lokalen Werts eines Merkmals zur Durchschnittswertbildung in einem komprimierten Satz von Merkmalen eines aktuellen Frames. Das System beinhaltet auch Mittel zum Berechnen einer Gültigkeitsabbildung, die ein Gewicht für die frameweite Durchschnittswertbildung basierend auf dem komprimierten aktuellen Frame beinhaltet. Das System beinhaltet ferner Mittel zum Erzeugen eines Zustandsvektors basierend auf dem lokalen Wert des Merkmals und dem Gewicht. Das System beinhaltet ferner auch Mittel zum Berechnen einer Relevanz für das lokale Verarbeiten für jede Koordinate in einem wiederhergestellten Zustandsvektor, der einem vorhergehenden Frame zugeordnet ist. Das System beinhaltet auch Mittel zum Modulieren des wiederhergestellten Zustandsvektors mit dem Relevanzmerkmal, um einen Satz von Ausgangsmerkmalen zu erzeugen.
  • Beispiel 42 beinhaltet das System von Beispiel 41, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das System Mittel zum Erzeugen des Satzes von Merkmalen des aktuellen Frames und Mittel zum Empfangen des Satzes von Ausgangsmerkmalen und zum Verarbeiten eines Bilds basierend auf dem Satz von Ausgangsmerkmalen.
  • Beispiel 43 beinhaltet das System von irgendeinem der Beispiele 41 bis 42, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das System Mittel zum Erzeugen des komprimierten Satzes von Merkmalen, indem eine Anzahl von Kanälen eines Eingangssatzes von Merkmalen von einer Schicht eines neuronalen Faltungsnetzwerks reduziert wird.
  • Beispiel 44 beinhaltet das System von irgendeinem der Beispiele 41 bis 43, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhalten die Mittel zum Berechnen der Relevanz, die Mittel zum Berechnen der Gültigkeitsabbildung, und die Mittel zum Berechnen des lokalen Wertes jeweils ein separates neuronales Faltungsnetzwerk mit zwei oder drei Faltungsschichten.
  • Beispiel 45 beinhaltet das System von irgendeinem der Beispiele 41 bis 44, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel sollen die Mittel zum Berechnen der Gültigkeitsabbildung bestimmte Koordinaten des komprimierten aktuellen Frames über das Gewicht von der Kumulierung ausschließen.
  • Beispiel 46 beinhaltet das System von irgendeinem der Beispiele 41 bis 45, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet der Zustandsvektor kumulierte frameweite gewichtete Durchschnittswerte interner Merkmalsabbildungen.
  • Beispiel 47 beinhaltet das System von irgendeinem der Beispiele 41 bis 46, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das System Mittel zum Erzeugen des Satzes von Merkmalen des aktuellen Frames und Mittel zum Empfangen des Satzes von Ausgangsmerkmalen. Die Mittel zum Erzeugen des Satzes von Merkmalen des aktuellen Frames und die Mittel zum Empfangen des Satzes von Ausgangsmerkmalen beinhalten Schichten eines neuronalen Faltungsnetzwerks.
  • Beispiel 48 beinhaltet das System von irgendeinem der Beispiele 41 bis 47, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das System Mittel zum Erzeugen von Merkmalen basierend auf Eingangsframes. Verschlechterungsparameter von Interesse werden basierend auf der Diversität der Trainingsdaten während eines Trainings der Mittel zum Erzeugen der Merkmale bestimmt.
  • Beispiel 49 beinhaltet das System von irgendeinem der Beispiele 41 bis 48, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet der Satz von Ausgangsmerkmalen relevante Statistiken für den aktuellen Frame.
  • Beispiel 50 beinhaltet das System von irgendeinem der Beispiele 41 bis 49, einschließlich oder ausschließlich optionaler Merkmale. In diesem Beispiel beinhaltet das System Mittel zum Erzeugen von Merkmalen basierend auf Eingangsframes, eine Topologie der Mittel zum Erzeugen der Merkmale einschließlich eines Single-Scale-Feed-Forward-Netzwerks, eines U-Net, eines Long-Short-Term-Memory (LSTM) -Netzwerks, oder jeglicher Kombination davon.
  • Nicht alle hierin beschriebenen und veranschaulichten Komponenten, Merkmale, Strukturen, Charakteristiken, usw. müssen in einem bestimmten Aspekt oder bestimmten Aspekten enthalten sein. Falls die Spezifikation angibt, dass zum Beispiel eine Komponente, ein Merkmal, eine Struktur oder eine Charakteristik enthalten sein „kann“ oder „könnte“, muss diese bestimmte Komponente, das bestimmte Merkmal, die bestimmte Struktur oder die bestimmte Charakteristik nicht enthalten sein. Falls sich die Spezifikation oder der Anspruch auf „ein“ Element beziehen, bedeutet dies nicht, dass es nur eines von dem Element gibt. Falls sich die Spezifikation oder die Ansprüche auf „ein zusätzliches“ Element beziehen, schließt dies nicht aus, dass es mehr als eines des zusätzlichen Elements gibt.
  • Es ist zu beachten, dass, obwohl einige Aspekte unter Bezugnahme auf bestimmte Implementierungen beschrieben wurden, andere Implementierungen gemäß einigen Aspekten möglich sind. Zusätzlich müssen die Anordnung und/oder Reihenfolge von Schaltungselementen oder anderen Merkmalen, die in den Zeichnungen veranschaulicht und/oder hierin beschrieben sind, nicht auf die bestimmte veranschaulichte und beschriebene Weise angeordnet sein. Viele andere Anordnungen sind gemäß einigen Aspekten möglich.
  • In jedem in einer Figur gezeigten System können die Elemente in einigen Fällen jeweils eine selbe Bezugsnummer oder eine unterschiedliche Bezugsnummer haben, um anzudeuten, dass die dargestellten Elemente unterschiedlich und/oder ähnlich sein könnten. Jedoch kann ein Element flexibel genug sein, um unterschiedliche Implementierungen zu haben, und mit einigen oder allen der hierin gezeigten oder beschriebenen Systeme zu arbeiten. Die verschiedenen in den Figuren gezeigten Elemente können dieselben oder unterschiedliche sein. Welches als ein erstes Element bezeichnet wird, und welches ein zweites Element genannt wird, ist willkürlich.
  • Es versteht sich, dass Besonderheiten in den vorgenannten Beispielen irgendwo in einem oder mehreren Aspekten verwendet werden können. Beispielsweise können alle optionalen Merkmale des oben beschriebenen Datenverarbeitungsgeräts auch in Bezug auf eines der Verfahren oder das computerlesbare Medium wie hierin beschrieben implementiert werden. Darüber hinaus sind, obwohl Ablaufdiagramme und/oder Zustandsdiagramme hierin verwendet worden sein können, um Aspekte zu beschreiben, die Techniken nicht auf diese Diagramme oder auf entsprechende Beschreibungen hierin beschränkt. Zum Beispiel muss sich der Ablauf nicht durch jeden veranschaulichten Kasten oder Zustand oder in genau derselben Reihenfolge wie hierin veranschaulicht und beschrieben bewegen.
  • Die vorliegenden Techniken sind nicht auf die hierin aufgelisteten besonderen Details beschränkt. Tatsächlich werden Fachleute, die den Vorteil dieser Offenbarung haben, erkennen, dass viele andere Variationen von der vorstehenden Beschreibung und den Zeichnungen innerhalb des Umfangs der vorliegenden Techniken gemacht werden können. Dementsprechend sind es die folgenden Ansprüche, einschließlich jeglicher Ergänzungen dazu, die den Umfang der vorliegenden Techniken definieren.

Claims (25)

  1. Vorrichtung zur Videobildgebung, wobei die Vorrichtung Folgendes umfasst: einen Merkmalsschätzer, um einen lokalen Wert eines Merkmals in einem komprimierten Satz von Merkmalen eines aktuellen Frames zu berechnen; einen Validierer, um eine Gültigkeitsabbildung zu berechnen, die ein Gewicht für die frameweite Durchschnittswertbildung basierend auf dem komprimierten Satz von Merkmalen des aktuellen Frames beinhaltet; einen Vektorgenerator, um einen Zustandsvektor basierend auf dem lokalen Wert des Merkmals und dem Gewicht zu erzeugen; einen Relevanzberechner, um eine Relevanz für das lokale Verarbeiten für jede Koordinate in einem wiederhergestellten Zustandsvektor, der einem vorhergehenden Frame zugeordnet ist, zu berechnen; und einen Vektormodulator, um den wiederhergestellten Zustandsvektor mit der Relevanz zu modulieren, um einen Satz von Ausgangsmerkmalen zu erzeugen.
  2. Vorrichtung nach Anspruch 1, die ein kommunikativ mit der Vorrichtung gekoppeltes neuronales Faltungsnetzwerk beinhaltet, wobei das neuronale Faltungsnetzwerk Folgendes beinhaltet: eine erste Schicht, um den Satz von Merkmalen des aktuellen Frames zu erzeugen; und einen Verketter, um den Satz von Ausgangsmerkmalen zu empfangen und ein Bild basierend auf dem Satz von Ausgangsmerkmalen zu verarbeiten.
  3. Vorrichtung nach Anspruch 1 oder 2, die einen Kanalkomprimierer beinhaltet, um den komprimierten Satz von Merkmalen zu erzeugen, indem eine Anzahl von Kanälen eines Eingangssatzes von Merkmalen von einer Schicht eines neuronalen Faltungsnetzwerks reduziert wird.
  4. Vorrichtung nach einem der Ansprüche 1 bis 3, wobei der Relevanzberechner, der Merkmalsschätzer und der Validierer jeweils ein separates neuronales Faltungsnetzwerk mit zwei oder drei Faltungsschichten beinhalten.
  5. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei der Validierer eine oder mehrere Koordinaten des komprimierten aktuellen Frames über das Gewicht von der Kumulierung ausschließen soll.
  6. Vorrichtung nach einem der Ansprüche 1 bis 5, wobei der Zustandsvektor kumulierte frameweite gewichtete Durchschnittswerte interner Merkmalsabbildungen beinhaltet.
  7. Vorrichtung nach einem der Ansprüche 1 bis 6, die ein kommunizierend mit der Vorrichtung gekoppeltes neuronales Faltungsnetzwerk beinhaltet, wobei das neuronale Faltungsnetzwerk den Satz von Merkmalen des aktuellen Frames erzeugen und den Satz von Ausgangsmerkmalen empfangen soll.
  8. Vorrichtung nach einem der Ansprüche 1 bis 7, die ein gemeinsam mit der Vorrichtung trainiertes neuronales Faltungsnetzwerk beinhaltet, wobei Verschlechterungsparameter von Interesse während des Trainings basierend auf der Diversität der Trainingsdaten bestimmt werden.
  9. Vorrichtung nach einem der Ansprüche 1 bis 8, wobei der Satz von Ausgangsmerkmalen relevante Statistiken für den aktuellen Frame beinhaltet.
  10. Vorrichtung nach einem der Ansprüche 1 bis 9, die ein kommunizierend mit der Vorrichtung gekoppeltes neuronales Faltungsnetzwerk, eine Topologie des neuronalen Faltungsnetzwerks einschließlich eines Single-Scale-Feed-Forward-Netzwerks, eines U-Net, eines Long-Short-Term-Memory (LSTM) - Netzwerks, oder jeglicher Kombination davon beinhaltet.
  11. Verfahren zur Videobildgebung, wobei das Verfahren Folgendes umfasst: das Empfangen, in einem neuronalen Faltungsnetzwerk (CNN), eines Frames eines Videostreams; das Erzeugen, über eine Faltungsschicht des CNN, von Eingangskanalwerten, die dem Frame entsprechen; das Empfangen eines Ausgangszustandsvektors, der frameweite Statistiken umfasst, die basierend auf Eingangskanalwerten, die einem vorhergehenden Frame des Videostreams entsprechen, berechnet werden; und das Verarbeiten, über das CNN, des Frames des Videostreams basierend auf dem Ausgangszustandsvektor.
  12. Verfahren nach Anspruch 11, das das Kumulieren, über eine kommunikativ mit dem neuronalen Faltungsnetzwerk gekoppelte Selbstnormalisierungsseitenkette, von gewichteten frameweiten Durchschnittswerten von für den vorhergehenden Videoframe erzeugten internen Merkmalsabbildungen beinhaltet, um einen Zustandsvektor für den Frame zu erzeugen.
  13. Verfahren nach Anspruch 11 oder 12, das das Komprimieren, über eine Selbstnormalisierungsseitenkette, der Eingangskanäle beinhaltet, um einen komprimierten Satz von Kanälen zu erzeugen.
  14. Verfahren nach einem der Ansprüche 11 bis 13, das das Berechnen, über eine Selbstnormalisierungsseitenkette, von lokalen Werten von Merkmalen für einen komprimierten Satz von Kanälen beinhaltet.
  15. Verfahren nach einem der Ansprüche 11 bis 14, das das Berechnen, über eine Selbstnormalisierungsseitenkette, eines Gewichts für die frameweite Durchschnittswertbildung beinhaltet.
  16. Verfahren nach einem der Ansprüche 11 bis 15, das Folgendes beinhaltet: das Berechnen, über eine Selbstnormalisierungsseitenkette, eines gewichteten frameweiten Durchschnittswerts über eine Gesamtheit des Frames, um einen Zustandsvektor für den Frame zu erzeugen; und das Senden des Zustandsvektors an eine Speicherung.
  17. Verfahren nach einem der Ansprüche 11 bis 16, das das Berechnen, über eine Selbstnormalisierungsseitenkette, einer Relevanz jeder Koordinate in einem wiederhergestellten Zustandsvektor für das lokale Verarbeiten des Frames beinhaltet, wobei der wiederhergestellte Zustandsvektor dem vorhergehenden Frame entspricht.
  18. Verfahren nach einem der Ansprüche 11 bis 17, das das Modulieren, über eine Selbstnormalisierungsseitenkette, eines wiederhergestellten Zustandsvektors basierend auf einer Relevanzabbildung beinhaltet, um den Ausgangszustandsvektor zu erzeugen.
  19. Verfahren nach einem der Ansprüche 11 bis 18, das das Erzeugen, über eine Anzahl unterschiedlicher Faltungsschichten des CNN, mehrerer Sätze von Eingangskanalwerten beinhaltet.
  20. Verfahren nach einem der Ansprüche 11 bis 19, das das Empfangen von Ausgangszustandsvektoren von mehreren kommunizierend mit dem CNN gekoppelten Selbstnormalisierungsseitenketten beinhaltet.
  21. Mindestens ein computerlesbares Medium, das Anweisungen umfasst, die als Reaktion darauf, dass sie auf einem Datenverarbeitungsgerät ausgeführt werden, das Datenverarbeitungsgerät dazu veranlassen, mindestens: einen Frame eines Videostreams zu empfangen; Eingangskanalwerte, die dem Frame entsprechen, zu erzeugen; einen Ausgangszustandsvektor zu empfangen, der frameweite Statistiken umfasst, die basierend auf Eingangskanalwerten, die einem vorhergehenden Frame des Videostreams entsprechen, berechnet werden; und den Frame des Videostreams basierend auf dem Ausgangszustandsvektor zu verarbeiten.
  22. Mindestens ein computerlesbares Medium nach Anspruch 21, wobei die Anweisungen das Datenverarbeitungsgerät dazu veranlassen, gewichtete frameweite Durchschnittswerte von für den vorhergehenden Frame erzeugten internen Merkmalsabbildungen zu kumulieren, um einen Zustandsvektor für den Frame zu erzeugen.
  23. Mindestens ein computerlesbares Medium nach Anspruch 21 oder Anspruch 22, wobei die Anweisungen das Datenverarbeitungsgerät dazu veranlassen, die Eingangskanäle zu komprimieren, um einen komprimierten Satz von Kanälen zu erzeugen.
  24. Mindestens ein computerlesbares Medium nach einem der Ansprüche 21 bis 23, wobei die Anweisungen das Datenverarbeitungsgerät dazu veranlassen, lokale Werte von Merkmalen für einen komprimierten Satz von Kanälen zu berechnen.
  25. Mindestens ein computerlesbares Medium nach einem der Ansprüche 21 bis 24, wobei die Anweisungen das Datenverarbeitungsgerät dazu veranlassen, ein Gewicht für die frameweite Durchschnittswertbildung zu berechnen.
DE102020134755.3A 2020-02-13 2020-12-22 Verarbeiten von videoframes über neuronales faltungsnetzwerk durch verwenden von statistiken vorhergehender frames Pending DE102020134755A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/790,456 2020-02-13
US16/790,456 US11823352B2 (en) 2020-02-13 2020-02-13 Processing video frames via convolutional neural network using previous frame statistics

Publications (1)

Publication Number Publication Date
DE102020134755A1 true DE102020134755A1 (de) 2021-08-19

Family

ID=70970990

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020134755.3A Pending DE102020134755A1 (de) 2020-02-13 2020-12-22 Verarbeiten von videoframes über neuronales faltungsnetzwerk durch verwenden von statistiken vorhergehender frames

Country Status (3)

Country Link
US (1) US11823352B2 (de)
CN (1) CN113256506A (de)
DE (1) DE102020134755A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023028908A1 (en) * 2021-09-01 2023-03-09 Intel Corporation Dynamic temporal normalization for deep learning in video understanding applications
US11663705B2 (en) * 2021-09-17 2023-05-30 Nanjing University Of Posts And Telecommunications Image haze removal method and apparatus, and device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170272775A1 (en) * 2015-11-19 2017-09-21 Hua Zhong University Of Science Technology Optimization of interframe prediction algorithms based on heterogeneous computing
US10699128B2 (en) * 2016-09-21 2020-06-30 Cisco Technology, Inc. Method and system for comparing content
JP2018110637A (ja) * 2017-01-10 2018-07-19 コニカミノルタ株式会社 動態画像処理装置
WO2018140158A1 (en) * 2017-01-30 2018-08-02 Euclid Discoveries, Llc Video characterization for smart enconding based on perceptual quality optimization
EP3364342A1 (de) * 2017-02-17 2018-08-22 Cogisen SRL Verfahren zur bildverarbeitung und videokompression
CN106952269B (zh) * 2017-02-24 2019-09-20 北京航空航天大学 近邻可逆的视频前景物体序列检测分割方法及系统
US10373320B2 (en) * 2017-03-17 2019-08-06 Uurmi Systems PVT, LTD Method for detecting moving objects in a video having non-stationary background
WO2018220711A1 (ja) * 2017-05-30 2018-12-06 オリンパス株式会社 画像処理装置
US11544348B2 (en) * 2018-03-05 2023-01-03 Tata Consultancy Services Limited Neural network based position estimation of target object of interest in video frames
US10419773B1 (en) * 2018-03-22 2019-09-17 Amazon Technologies, Inc. Hybrid learning for adaptive video grouping and compression
US11176654B2 (en) * 2019-03-27 2021-11-16 Sharif University Of Technology Quality assessment of a video
US11257226B1 (en) * 2019-07-17 2022-02-22 Amazon Technologies, Inc. Low-overhead motion classification
US11200678B2 (en) * 2019-09-17 2021-12-14 Sony Corporation Image-based mask frame interpolation

Also Published As

Publication number Publication date
CN113256506A (zh) 2021-08-13
US11823352B2 (en) 2023-11-21
US20200184606A1 (en) 2020-06-11

Similar Documents

Publication Publication Date Title
DE102013021991B4 (de) Adaptiver Filtermechanismus zur Entfernung von Kodierbildfehlern in Videodaten
DE102020201787A1 (de) Erzeugen von blickkorrigierten bildern unter verwendung eines bidirektional trainierten netzwerks
DE602005004694T2 (de) Verfahren und Vorrichtung für lokal adaptive Bildverarbeitungsfilter
DE60020795T2 (de) Echtzeitmodellierung des Verhaltens menschlicher Sehvermögenssysteme
DE60111756T2 (de) Verfahren zum verbessern der kompressionsfähigkeit und der bildqualität von abgetasteten dokumenten
DE112009004059T5 (de) Verfahren zum Entfernen von Unschärfe von einem Bild und Aufzeichnungsmedium, auf dem das Verfahren aufgezeichnet ist
DE102020214863A1 (de) Selbstüberwachtes verfahren und system zur tiefenschätzung
DE112016001040T5 (de) Verfahren und System zur Echtzeit-Rauschbeseitung und -Bildverbesserung von Bildern mit hohem Dynamikumfang
CN110232670B (zh) 一种基于高低频分离的图像视觉效果增强的方法
CN103839234B (zh) 一种基于可控核的双几何非局部均值图像去噪方法
DE112016005905T5 (de) Verfahren und System zum Verschmelzen erfasster Messungen
DE102020134755A1 (de) Verarbeiten von videoframes über neuronales faltungsnetzwerk durch verwenden von statistiken vorhergehender frames
DE102021103293A1 (de) Ein Bayes'sches Bildentrauschungsverfahren, das auf Verteilungsbeschränkungen von rauschhaltigen Bildern basiert
DE102020133963A1 (de) Systeme und Verfahren zur Abbildrauschunterdrückung unter Verwendung von tiefen gefalteten Netzwerken
DE112006002075T5 (de) Verfahren zur adaptiven Bildkontrastverstärkung
DE102018214198A1 (de) System zum Bewerten eines Bildes, Betriebsassistenzverfahren und Steuereinheit für eine Arbeitsvorrichtung sowie Arbeitsvorrichtung
DE102020122844A1 (de) System und verfahren für tiefgehendes maschinelles lernen für computer-vision-anwendungen
DE112008000875T5 (de) Automatische Bildverbesserung
CN114219722A (zh) 一种利用时频域层级处理的低光照图像增强方法
DE60023837T2 (de) Vorrichtung und verfahren zur filterung
CN103839244A (zh) 一种实时的图像融合方法及装置
DE112011101573T5 (de) Verfahren und System zum Erzeugen von Ausgabebilddaten
EP3655920B1 (de) Verfahren und vorrichtung zur bewertung von bildausschnitten für eine korrespondenzbildung
DE202023101378U1 (de) Ein System zur Verbesserung der schlechten Sichtbarkeit durch Bildverbesserungstechnik unter Verwendung von Contrast Stretched - CLAHE (CS-CLAHE)
DE60306800T2 (de) Verfahren und system zur messung von videobildverschlechterung, hervorgerufen durch kodierung zur bitratenreduktion