DE102019008142A1 - Lernen von Darstellungen unter Nutzung gemeinsamer semantischer Vektoren - Google Patents

Lernen von Darstellungen unter Nutzung gemeinsamer semantischer Vektoren Download PDF

Info

Publication number
DE102019008142A1
DE102019008142A1 DE102019008142.0A DE102019008142A DE102019008142A1 DE 102019008142 A1 DE102019008142 A1 DE 102019008142A1 DE 102019008142 A DE102019008142 A DE 102019008142A DE 102019008142 A1 DE102019008142 A1 DE 102019008142A1
Authority
DE
Germany
Prior art keywords
feature
features
video
vectors
semantic
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
DE102019008142.0A
Other languages
English (en)
Inventor
Xingyu Liu
Hailin Jin
Joonyoung Lee
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.)
Adobe Inc
Original Assignee
Adobe Inc
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 Adobe Inc filed Critical Adobe Inc
Publication of DE102019008142A1 publication Critical patent/DE102019008142A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • 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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/274Syntactic or semantic context, e.g. balancing
    • 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/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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biophysics (AREA)
  • Image Analysis (AREA)

Abstract

Offenbart wird hier eine Technologie zum Lernen einer Bewegung in einem Video. Bei einer Implementierung extrahiert ein künstliches neuronales Netzwerk Merkmale aus einem Video. Ein CP-Modul (Correspondence Proposal CP, Entsprechungsvorschlag) führt für wenigstens einige der Merkmale eine Suche nach entsprechenden Merkmalen in dem Video auf Grundlage einer semantischen Ähnlichkeit eines gegebenen Merkmals zu anderen der Merkmale durch. Das CP-Modul generiert sodann einen gemeinsamen semantischen Vektor für jedes der Merkmale wenigstens auf Grundlage der semantischen Ähnlichkeit des gegebenen Merkmals zu einem oder mehreren der entsprechenden Merkmale und eines raumzeitlichen Abstandes des gegebenen Merkmals zu dem einen oder den mehreren der entsprechenden Merkmale. Das künstliche neuronale Netzwerk kann unter Nutzung der gemeinsamen semantischen Vektoren, die für die aus dem Video extrahierten Merkmale generiert worden sind, eine Bewegung in dem Video identifizieren.

Description

  • Technisches Gebiet
  • Aspekte der Offenbarung betreffen das Gebiet des maschinellen Lernens und der künstlichen Intelligenz und insbesondere das Lernen von Darstellungen in künstlichen neuronalen Netzwerken.
  • Hintergrund
  • Maschinelles Lernen ist an einem Punkt angekommen, wo künstliche neuronale Netzwerke das Lernen (oder Erkennen) von Aufgaben auf einem Niveau der Zuverlässigkeit, das zu demjenigen von Menschen gleich ist oder dieses sogar übertrifft, routinemäßig durchführen. Maschinelles Lernen ist nunmehr beispielsweise zu einer hochgenauen Bildklassifizierung, Objektdetektion, semantischen Segmentierung und Bildzerlegung fähig. Das Lernen einer Bewegung in einem Video bleibt jedoch ein schwieriges Gebiet.
  • Ein Video kann als Sequenz von Bildern, die sich mit der Zeit ändern, betrachtet werden. Um Darstellungen einer Bewegung in einem Video erfolgreich zu modellieren, erkennen Modelle maschinellen Lernens sowohl die Merkmale in den statischen Bildern des Videos wie auch die Entsprechung der Merkmale über Frames hinweg. Bisherige Lösungen implizieren einen ersten Schritt des Extrahierens von Merkmalen aus den Bildern, die ein Video bilden, so beispielsweise von Objekten, Kanten oder dergleichen. In einem zweiten Schritt werden Entsprechungen zwischen den Merkmalen identifiziert. Ein Objekt in einem Frame kann beispielsweise derart bestimmt werden, dass es einem oder mehreren Objekten in anderen Frames entspricht. Diese Beziehung kann auf vielerlei Arten ausgedrückt werden, so beispielsweise als zeitlicher Abstand zwischen Objekten oder als Abstand in einem Merkmalsraum zwischen Objekten. Die extrahierten Daten, also die Merkmale und ihre Entsprechungen, werden sodann in ein künstliches neuronales Netzwerk eingespeist, das eine Bewegung (oder andere Muster) in den Daten erkennen kann.
  • Um Muster in Daten zu erkennen, werden die künstlichen neuronalen Netzwerke während einer Trainingsphase mit Daten, für die die Ergebnisse bekannt sind, konfiguriert. Bei einem stark vereinfachten Beispiel ist ein künstliches neuronales Netzwerk aus Schichten von Neuronen zusammengesetzt. Die Schichten sind auf verschiedene Weisen miteinander verbunden, und die Neuronen feuern in Reaktion auf verschiedene Eingaben. Die Eingaben an der ersten Schicht sind diejenigen Daten, die analysiert werden, so beispielsweise das Volumen von Daten, die ein Video beschreiben. Die Ausgaben an der finalen Schicht stellen dar, was das neuronale Netzwerk gelernt oder erkannt hat. Dazwischen sind Zwischenschichten oder „verborgene Schichten“ vorhanden, die eine zusätzliche Verarbeitung vornehmen.
  • Jedes Neuron verfügt über eine Regel, die das Neuron anweist, auf Grundlage seiner Eingabe zu feuern (oder eben nicht zu feuern). Die Eingaben sind gewichtet, wobei sich die Gewichtungen auf Grundlage eines Rückkopplungsprozesses ändern können. Für den Fall von Videodaten sind die Eingaben in die erste Schicht eines künstlichen neuronalen Netzwerkes Vektoren, die mit nummerischen oder symbolischen Beschreibungen von Eigenschaften der Videodaten besiedelt sind. Die Eingaben in die verborgenen Schichten sind die Ausgaben der Neuronen in der ersten Schicht. Innerhalb der verborgenen Schichten sind die Ausgaben aus einer Schicht die Eingaben in eine nachfolgende Schicht. Die letzte Schicht des künstlichen neuronalen Netzwerkes nimmt die Ausgabe der letzten verborgenen Schicht als Eingabe und gibt selbst Werte aus, die dasjenige identifizieren, was gelernt worden ist, als die Signale durch die verschiedenen Schichten der Neuronen gelaufen sind.
  • Während der Trainingsphase eines neuronalen Netzwerkes ändern sich die Gewichtungen, die den Neuronen zugeordnet sind, auf Grundlage des Unterschiedes bzw. der Differenz zwischen dem Ergebnis, das von dem neuronalen Netzwerk erzeugt wird, und der korrekten Klassifizierung der Eingabe in das neuronale Netzwerk. Mit der Zeit sind die Gewichtungen nach vielen Rückkopplungszyklen derart konfiguriert, dass das neuronale Netzwerk neue Daten genau erkennen kann. Die finale Konfigurierung der Gewichtungen und Neuronen wird als Modell des untersuchten Gegenstandes betrachtet, so beispielsweise als Gesichtserkennungsmodell, als Spracherkennungsmodell oder im Falle einer Bewegung in einem Video als Bewegungsdarstellungsmodell.
  • Verschiedene Lösungswege zum Erkennen einer Bewegung in einem Video modellieren die Entsprechung zwischen Merkmalen auf verschiedene Arten. Ein Lösungsweg beschreibt die Entsprechung von Merkmalen über Frames hinweg beispielsweise durch deren zeitliche Beziehungen, während ein anderer Lösungsweg Pixelflows über Bilder hinweg modelliert und wieder ein anderer Lösungsweg den Abstand in einem Merkmalsraum zwischen Merkmalspaaren modelliert. Bedauerlicherweise treten bei diesen Lösungswegen aufgrund des problematischen Verhaltens der Merkmale (beispielsweise der Objekte) in einem Video Probleme auf, wenn sie mit einer schnellen Bewegung oder einer niedrigen Framerate konfrontiert sind. Die Merkmale erscheinen beispielsweise gegebenenfalls nicht in jedem Frame und sind, wenn sie doch auftreten, gegebenenfalls in Frames zu finden, die sehr weit voneinander entfernt sind. Bei einem weiteren Beispiel können sich Merkmale von Frame zu Frame verformen oder ihre Stellung verändern, was die Leistungsfähigkeit der Modelle zudem hemmt.
  • Bei einem ersten Lösungsweg wird ein faltungstechnisches neuronales Netzwerk dafür benutzt, die Merkmale in einem Video zu extrahieren, die jeweils durch einen semantischen Vektor beschrieben werden können. Faltungstechnische neuronale Netzwerke arbeiten, indem sie die Neuronen in den verborgenen Schichten auf beschränkte rezeptive Felder fokussieren. Obwohl in vollständig verbundenen (fully connected) neuronalen Netzwerken jedes Neuron in einer Schicht mit jedem Neuron in einer anderen Schicht verbunden ist, ist in faltungstechnischen neuronalen Netzwerken jedes Neuron nur mit einer beschränkten Anzahl von Neuronen in anderen Schichten verbunden. Dies ermöglicht, dass faltungstechnische neuronale Netzwerke spezifische Merkmale immer dort identifizieren, wo diese in einem Bild befindlich sein können, weshalb sie für die Merkmalsgenerierung sehr geeignet sind.
  • Beim ersten Lösungsweg wiederum identifiziert das faltungstechnische neuronale Netzwerk die Objekte, die Kanten oder die anderen derartigen Elemente, die in jedem Frame des Videos auftreten. Deren entsprechende semantische Vektoren beschreiben nummerische oder symbolische Charakteristiken der Merkmale. Ein rekurrentes neuronales Netzwerk wird sodann dafür benutzt, die zeitlichen Beziehungen zwischen den Merkmalen zu detektieren. Rekurrente neuronale Netzwerke zeigen bei Standardvergleichswerten (benchmarks) jedoch schlechtes Verhalten und sind infolge des Problems der explodierenden Gradienten und des Problems der verschwindenden Gradienten schwer zu trainieren.
  • Ein zweiter Lösungsweg setzt ebenfalls ein faltungstechnisches neuronales Netzwerk dafür ein, die Merkmale in einem Video zu erkennen, diesmal jedoch gekoppelt mit einem Zweig des optischen Flows, um eine Entsprechung über Frames hinweg zu modellieren. Die Ergebnisse des faltungstechnischen neuronalen Netzwerkes und der Analyse des optischen Flows werden sodann an ein neuronales Deep-Netzwerk gesendet. Diese Technik arbeitet bei Standardvergleichswerten (benchmarks) nicht gut, da der Zweig des optischen Flows auf Pixelebene gegebene Flows im Gegensatz zu einer auf Merkmalsebene gegebenen Entsprechung aufnimmt.
  • Schließlich ist ein dreidimensionales faltungstechnisches neuronales Netzwerk mit RGB-ausschließlichen Eingaben dafür eingesetzt worden, dynamische Änderungen gemeinsam und explizit mit dem statischen Aussehen zu lernen. Bei diesem Lösungsweg kann eine Kurzstreckenbewegung von Merkmalen in einem Video erkannt werden. Die Faltungsvorgänge arbeiten jedoch lokal und können daher eine Langstreckenbewegung, die bei sich schnell bewegenden Objekten oder niedrigen Frameraten auftritt, nicht erlernen.
  • Um diesem Problem beizukommen, sind nichtlokale neuronale Netzwerke vorgeschlagen worden, bei denen die erkannten Merkmale durch ihren paarweise gegebenen Merkmalsabstand global neugewichtet werden. Gekoppelt mit dreidimensionalen faltungstechnischen neuronalen Netzwerken können nichtlokale neuronale Netzwerke eine Langstreckenbewegung lernen, dies jedoch nicht sehr effektiv. Die neugewichteten Merkmale erzeugen vielmehr zu viel Rauschen, was zu fehleranfälligen Bewegungsklassifizierungen führt.
  • Es sollte daher einsichtig sein, dass ungeachtet dessen, dass die Technologie maschinellen Lernens bei vielen Arten von Erkennungsaufgaben beeindruckende Ergebnisse gezeigt hat, das Erkennen einer Bewegung in einem Video eine problematische Herausforderung bleibt. Allgemein bleibt das Erkennen des Verhaltens bei vielen Typen von Datensätzen, die zu einem Video analog sind, ebenfalls ein Problem. Einige dynamische Datensätze können beispielsweise als Abfolge von sich ändernden Bildern visualisiert werden. Das Erkennen des dynamischen Verhaltens in derartigen Datensätzen kann ebenso problematisch und schwierig wie das Erkennen einer Bewegung in einem Video sein.
  • Kurze Zusammenfassung
  • Es werden hier Verbesserungen für Entsprechungsvorschläge offenbart, die das Lernen einer Bewegung in einem Video und allgemeiner das Lernen des Verhaltens bei dynamischen Daten verbessern. Bei einer Implementierung stellt ein Entsprechungsvorschlagsmodul (Correspondence Propososal CP, Entsprechungsvorschlag) (CP-Modul) auf semantisch ähnliche Merkmalspaare in einem Video ab und betrachtet positionsbezogene Information der Merkmalspaare in dem Video. Das CP-Modul erzeugt gemeinsame semantische Vektoren, die semantische und positionsbezogene Information für die Merkmalspaare mit expliziter Codierung darin aufweisen. Die gemeinsamen semantischen Vektoren werden in ein künstliches neuronales Netzwerk eingespeist, das sodann eine Bewegung in dem Video unter Nutzung der gemeinsamen semantischen Vektoren als Eingabe erkennen kann. Das Abstellen auf semantisch ähnliche Merkmalspaare und das Hinzufügen bzw. Addieren von positionsbezogener Information stellen einen Fortschritt gegenüber bisherigen Lösungen dar und führen im Vergleich zur Leistungsfähigkeit anderer Lösungswege zu einem gemessen an gängigen Standardvergleichswerten (benchmarks) verbesserten Lernen einer Bewegung in einem Video.
  • Bei einer Implementierung extrahiert ein künstliches neuronales Netzwerk Merkmale aus einem Video. Das CP-Modul führt eine Suche nach entsprechenden Merkmalen in dem Video auf Grundlage einer semantischen Ähnlichkeit eines gegebenen Merkmals zu anderen der Merkmale durch. Das CP-Modul generiert sodann einen gemeinsamen semantischen Vektor für jedes der Merkmale wenigstens auf Grundlage der semantischen Ähnlichkeit des gegebenen Merkmals zu einem oder mehreren der entsprechenden Merkmale und eines raumzeitlichen Abstandes des gegebenen Merkmals zu dem einen oder den mehreren der entsprechenden Merkmale. Das künstliche neuronale Netzwerk identifiziert eine Bewegung in dem Video unter Nutzung der von dem CP-Modul generierten gemeinsamen semantischen Vektoren.
  • Die vorliegende kurze Zusammenfassung soll in vereinfachter Form eine Auswahl von Konzepten bereitstellen, die nachstehend in der Detailbeschreibung weiter erläutert werden. Es sollte einsichtig sein, dass diese Übersicht weder die Schlüsselmerkmale oder die wesentlichen Merkmale des beanspruchten Erfindungsgegenstandes identifizieren, noch dafür verwendet werden soll, den Umfang des beanspruchten Erfindungsgegenstandes zu beschränken.
  • Figurenliste
  • Viele Aspekte der Offenbarung erschließen sich besser anhand der nachfolgenden Zeichnungsfiguren. Die Komponenten in den Zeichnungsfiguren sind nicht unbedingt maßstabsgetreu; vielmehr liegt das Hauptaugenmerk auf der klaren Darstellung der Prinzipien der vorliegenden Offenbarung. Darüber hinaus bezeichnen in den Zeichnungsfiguren gleiche Bezugszeichen entsprechende Teile über mehrere Ansichten hinweg. Obwohl einige Ausführungsformen in Verbindung mit den Zeichnungsfiguren beschrieben werden, ist die Offenbarung nicht auf die hier offenbarten Ausführungsformen beschränkt. Beabsichtigt ist vielmehr, alle Alternativen, Modifikationen und Äquivalente abzudecken.
    • 1 zeigt eine Lernarchitektur bei einer Implementierung.
    • 2 zeigt einen Lernprozess bei einer Implementierung.
    • 3 zeigt ein Entsprechungsvorschlagsmodul bei einer Implementierung.
    • 4 zeigt einen weiteren Lernprozess bei einer Implementierung.
    • 5 zeigt ein Betriebsszenario bei einer Implementierung.
    • 6 zeigt eine Lernarchitektur bei einer Implementierung.
    • 7 zeigt eine weitere Lernarchitektur bei einer Implementierung.
    • 8 zeigt ein Rechensystem, das zum Implementieren der verschiedenen Betriebsumgebungen, Module, Architekturen, Prozesse, Szenarien und Sequenzen, die nachstehend anhand der Figuren erläutert werden, geeignet ist.
  • Detailbeschreibung
  • Es wird hier ein Entsprechungsvorschlagsmodul (CP-Modul) offenbart, das dafür in ein künstliches neuronales Netzwerk eingefügt werden kann, die von dem neuronalen Netzwerk benutzten Daten zu verbessern, um eine Bewegung, eine Handlung oder ein anderes derartiges dynamisches Verhalten in einem Video, bei Bilddaten oder dergleichen zu klassifizieren. Das CP-Modul verbessert das Lernen einer Bewegung in einem Video durch Erzeugen von gemeinsamen semantischen Vektoren, die sowohl über semantische wie auch raumzeitliche Information über darin codierte extrahierte Merkmale verfügen. Zusätzlich wählt das CP-Modul die entsprechenden Merkmale, die beim Erzeugen der gemeinsamen semantischen Vektoren berücksichtigt werden, auf Grundlage ihrer semantischen Ähnlichkeit zu einem gegebenen Merkmal aus. Das künstliche neuronale Netzwerk nimmt die gemeinsamen semantischen Vektoren als Eingabe und gibt eine oder mehrere gelernte Bewegungen, die in dem Video dargestellt sind, aus.
  • Das Einbeziehen der raumzeitlichen Information in die gemeinsamen semantischen Vektoren stellt einen Fortschritt gegenüber bisherigen Lösungswegen für das Problem des Lernens einer Bewegung in einem Video dar. Die Berücksichtigung der semantischen Ähnlichkeit beim Identifizieren der entsprechenden Merkmale stellt einen weiteren Fortschritt dar. Die Kombination der beiden Strategien ermöglicht, dass das künstliche neuronale Netzwerk eine Langstreckenbewegung in einem Video genauer als bisherige Lösungen erkennt. Dies rührt daher, dass die raumzeitliche Information ermöglicht, dass das künstliche neuronale Netzwerk berücksichtigt, wo in den jeweiligen Frames hiervon jedes Merkmal eines Entsprechungspaares befindlich ist. Das Auswählen der entsprechenden Merkmale (die die Entsprechungspaare zu einem gegebenen Merkmal bilden) auf Grundlage einer semantischen Ähnlichkeit zu dem gegebenen Merkmal verengt zudem das Gebiet von möglichen Merkmalen in anderen Frames, die gegebenenfalls dieselben wie ein gegebenes Merkmal sind. Die semantische (das Aussehen betreffende) und die raumzeitliche (die Bewegung betreffende) Information, die in den gemeinsamen semantischen Vektoren implizit codiert ist, stellt einen angereicherten bzw. erweiterten Satz von Daten dar, die, wenn sie in das künstliche neuronale Netzwerk während der Trainingsphasen und der Lernphasen im Betrieb eingespeist werden, die Fähigkeit des künstlichen neuronalen Netzwerkes, eine Bewegung in einem Video zu erkennen, verbessern.
  • Bei einer Implementierung extrahiert ein künstliches neuronales Hauptnetzwerk Merkmale aus einem Video und stellt sowohl semantische wie auch positionsbezogene Information für jedes Merkmal bereit. Beispiele für Merkmale beinhalten Objekte, Kanten, Pixel oder andere derartige Elemente, die aus dem Video extrahiert werden können. Die semantische Information beschreibt nummerisch oder symbolisch eine oder mehrere Eigenschaften eines gegebenen Merkmals, so beispielsweise dessen Farbkomponenten, Länge, Fläche, Zirkularität bzw. Kreisförmigkeit, Gradientengröße, Gradientenrichtung, Textur oder Graustufenintensität. Die positionsbezogene Information beschreibt ein Merkmal durch dessen räumliche Position in einem Frame und dessen zeitliche Position in dem Video. Die positionsbezogene Information beschreibt die raumzeitliche Position eines gegebenen Merkmals.
  • Das CP-Modul nimmt zwei Hauptfunktionen war, nämlich die Merkmalsgruppierung und die Bewegungseinbettung. Dies bedeutet, dass das CP-Modul einen Satz von entsprechenden Merkmalen für jedes Merkmal, das aus dem Video extrahiert ist, ausfindig macht und gruppiert und sodann einen gemeinsamen semantischen Vektor für jedes Merkmal, das das Aussehen und die Bewegung des darin codierten Merkmals aufweist, generiert. Das CP-Modul sucht nach den entsprechenden Merkmalen auf Grundlage einer semantischen Ähnlichkeit eines gegebenen Merkmals zu anderen der Merkmale. In einigen Fällen ist die Suche eine Nächster-Nachbar-Suche nach den top-k ähnlichsten Merkmalen.
  • Die entsprechenden Merkmale werden jeweils durch ihre semantische Information und ihre raumzeitliche Information beschrieben. Die semantische Information kann in semantischen Vektoren, die Anzahlen oder Symbole zur Beschreibung von Charakteristiken eines Merkmals beinhalten, dargestellt werden.
  • Die raumzeitliche Information kann der Ort eines Merkmals in dem Video sein, der mittels der Höhe (H), der Breite (W) und des Frames (T) in dem Video dort, wo das Merkmal zu finden ist, beschrieben wird. In einigen Fällen kann die semantische und raumzeitliche Information in einem Videodarstellungstensor kombiniert werden, der von dem CP-Modul als Punktwolke (point cloud) von Merkmalen mit TxHxW Punkten betrachtet wird.
  • Das CP-Modul nutzt die semantische Information und die raumzeitliche Information für die entsprechenden Merkmale, um einen gemeinsamen semantischen Vektor für jedes gegebene Merkmal zu generieren. Der sich ergebende gemeinsame semantische Vektor zeigt daher das Aussehen und die Bewegung seines darin codierten entsprechenden Merkmals.
  • Um die gemeinsamen semantischen Vektoren zu generieren, identifiziert das CP-Modul Paarungen eines gegebenen Merkmals mit den entsprechenden Merkmalen hiervon, die durch die Ähnlichkeitssuche ausfindig gemacht werden. Das CP-Modul generiert einen verketteten Vektor für jede Paarung, der aus den semantischen Vektoren für jedes Merkmal in einem Paar und der raumzeitlichen Versetzung zwischen beiden zusammengesetzt ist. Mit anderen Worten, jeder verkettete Vektor beinhaltet zwei semantische Vektoren und eine raumzeitliche Versetzungsinformation. Bei einer Alternative kann jeder verkettete Vektor einen Abstand zwischen den beiden semantischen Vektoren anstatt die beiden semantischen Vektoren selbst beinhalten. Ein Satz von verketteten Vektoren entsprechend den Merkmalspaaren wird so von dem CP-Modul erzeugt.
  • Die verketteten Vektoren können in ein oder mehrere interne neuronale Netzwerke eingespeist werden, die von dem neuronalen Hauptnetzwerk, das die Merkmale aus dem Video extrahiert hat, verschieden sind. Obwohl das neuronale Hauptnetzwerk Merkmale aus dem Video extrahiert hat, sind die internen neuronalen Netzwerke dafür trainiert, eine Mengenfunktion (set function) anzunähern. In einigen Fällen sind die internen neuronalen Netzwerke neuronale MLP-Netzwerke (Multi-layer Perceptron MLP). Die internen neuronalen Netzwerke nehmen die verketteten Vektoren als Eingabe, führen die Mengenfunktion (set function) an den Vektoren aus und geben potenzielle gemeinsame semantische Vektoren aus.
  • Jeder potenzielle gemeinsame semantische Vektor, der ausgegeben wird, entspricht einem der verketteten Vektoren, der als Eingabe zugeleitet worden ist, und beinhaltet eine nummerische oder symbolische semantische Darstellung der Bewegung, die aus dem verketteten Vektor gelernt worden ist. Es werden daher mehrere potenzielle gemeinsame semantische Vektoren erzeugt, die den mehreren verketteten Vektoren, die den internen neuronalen Netzwerken als Eingabe zugeleitet worden sind, entsprechen.
  • Die potenziellen gemeinsamen semantischen Vektoren werden sodann durch einen Pooling-Vorgang aggregiert, wofür Beispiele ein Max-Pooling, ein Durchschnitts-Pooling und dergleichen beinhalten. Die Ausgabe des Pooling-Vorganges ist der gemeinsame semantische Vektor, der die Bewegung des Merkmals in dem Video darstellt. Das CP-Modul erzeugt auf diese Weise einen gemeinsamen Vektor für jedes Merkmal in dem Video.
  • Die finale Ausgabe des CP-Moduls ist daher ein Satz von gemeinsamen semantischen Vektoren, die denjenigen Merkmalen entsprechen, die von dem künstlichen neuronalen Hauptnetzwerk aus dem Video extrahiert worden sind. Die gemeinsamen semantischen Vektoren werden als Eingabe in das künstliche neuronale Hauptnetzwerk eingespeist. Das künstliche neuronale Netzwerk, das anhand derartiger Daten trainiert worden ist, kann eine Bewegung in dem Video aus den Signalen erkennen und klassifizieren, die von den Neuronen in dem neuronalen Netzwerk in Reaktion auf die gemeinsamen semantischen Vektoren erzeugt worden sind. Das künstliche neuronale Netzwerk kann beispielsweise das Dribbeln mit einem Basketball, das Rollen einer Dose oder eine menschliche Geste aus den gemeinsamen semantischen Vektoren, die von dem CP-Modul generiert worden sind, erkennen.
  • 1 zeigt eine Lernarchitektur 100 bei einer Implementierung. Die Lernarchitektur 100 beinhaltet ein künstliches neuronales Netzwerk 101 (hier als neuronales Netzwerk 101 bezeichnet). Das neuronale Netzwerk 101 beinhaltet verschiedene Schichten, die durch eine Schicht 103 und eine Schicht 105 dargestellt sind. Das neuronale Netzwerk 101 beinhaltet zudem ein Entsprechungsvorschlagsmodul (CP-Modul) 104, das zwischen der Schicht 103 und der Schicht 105 eingefügt ist. Die Lernarchitektur 100 kann in Hardware, Software oder Firmware sowie auf einem oder mehreren physischen oder virtuellen Rechensystemen, für das ein Rechensystem 801 in 8 repräsentativ ist, implementiert sein.
  • Das neuronale Netzwerk 101 stellt einen beliebigen Typ von künstlichem neuronalem Netzwerk dar, das eine Bewegung in Videodaten lernen kann. Beispiele für das neuronale Netzwerk 101 beinhalten unter anderem faltungstechnische neuronale Netzwerke (Convolutional Neural Networks CNNs), 3D-CNNs und einen beliebigen anderen Typ von künstlichem neuronalen Deep-Netzwerk.
  • Das neuronale Netzwerk 101 nimmt Videodaten 107 als Eingabe und stellt eine Angabe 109 einer Bewegung, die aus den Videodaten 107 gelernt worden ist, als Ausgabe bereit. Die Videodaten 107 können beispielsweise Darstellungen eines sich durch eine Szene bewegenden Objektes, einer menschlichen Geste oder dergleichen beinhalten, die das neuronale Netzwerk 101 erkennen und klassifizieren (das heißt lernen) kann. Die Videodaten 107 können die RGB-Werte (Rot-Grün-Blau RGB) der Pixel in dem Video oder auch alternative Darstellungen von RGB-Werten beinhalten, so beispielsweise HSV-Werte (Hue-Saturation-Value HSV, Farbton-Sättigungs-Wert) und HSL-Werte (Hue-Saturation-Lightness HSL, Farbton-Sättigungs-Helligkeit). In einigen Fällen beinhalten die Videodaten 107 primär RGB-Werte. Wenigstens die Hälfte der Videodaten 107 können beispielsweise RGB-Werte sein. In einigen Fällen beinhalten die Videodaten 107 ausschließlich RGB-Werte. Es sollte zudem einsichtig sein, dass das neuronale Netzwerk 101 einen beliebigen Typ von dynamischen Daten als Eingabe nehmen und eine Vielzahl von dynamischen Verhaltensweisen, die in den Daten dargestellt sind, erkennen kann.
  • Die Schicht 103 des neuronalen Netzwerkes 101 stellt eine oder mehrere Schichten von Neuronen dar, die Videodaten als Eingabe nehmen und Merkmale aus dem Video extrahieren können. Die Schicht 105 des neuronalen Netzwerkes 101 stellt eine oder mehrere Neuronenschichten dar, die gemeinsame semantische Vektoren als Eingabe nehmen, eine Bewegung aus den gemeinsamen semantischen Vektoren extrahieren (oder lernen) und eine Angabe der gelernten Bewegung ausgeben können.
  • Das CP-Modul nimmt die durch die Schicht 103 extrahierten Merkmale als Eingabe und generiert die gemeinsamen semantischen Vektoren zur Ausgabe an die Schicht 105. Bei einigen Implementierungen werden die durch die Schicht 103 extrahierten Merkmale dem CP-Modul 104 in einem Videodarstellungstensor präsentiert. In einigen Fällen fügt das CP-Modul 104 die sich ergebenden gemeinsamen semantischen Vektoren wieder zu dem Videodarstellungstensor hinzu bzw. addiert diese dazu und speist den modifizierten Videodarstellungstensor in die Schicht 105 ein. Bei einigen Szenarien ersetzen die gemeinsamen semantischen Vektoren die ursprünglichen semantischen Vektoren, die den Merkmalen, denen die gemeinsamen semantischen Vektoren entsprechen, zugeordnet sind.
  • Die Videodaten 107 stellen ein oder mehrere Segmente eines Videos dar, aus dem die Schicht 103 Merkmale extrahieren kann. Die Videodaten 107 beinhalten Frames 108 mit Merkmalen, die von der Schicht 103 entdeckt werden können. Der Ort eines jeden der Merkmale in dem Video kann mittels der Höhe (H), der Breite (W) und des Frames (T), an dem ein gegebenes Merkmal in dem Video zu finden ist, definiert werden.
  • Die Angabe 109 stellt das Endergebnis der Lernarchitektur 100 dar, so beispielsweise eine Beschreibung der Bewegung eines Objektes oder einer Entität in den Videodaten 107. Dies bedeutet, dass das neuronale Netzwerk 101 dasjenige, was ein bestimmtes Merkmal ist, sowie das Wesen von dessen Bewegung in dem Video beschreiben kann. Die Angabe 109 kann in Form eines Berichtes, einer Mitteilung, eines Datenbankeintrages, einer Interprozess-Mitteilung, einer Intraprozess-Mitteilung, einer angezeigten Information, aufgezeichneter Daten oder eines beliebigen anderen Typs von Angabe vorliegen.
  • Das CP-Modul 104 stellt ein beliebiges Hardware- und/oder Softwareelement / beliebige Hardware- und/oder Softwareelemente dar, die gemeinsame semantische Vektoren aus Merkmalen, die aus einem Video extrahiert werden, wie hier beschrieben ist, erzeugen können. Das CP-Modul 104 setzt einen Lernprozess 200 dafür ein, die gemeinsamen semantischen Vektoren zu extrahieren, aus denen eine Bewegung durch andere Abschnitte des neuronalen Netzwerkes 101 gelernt werden kann. Implementiert sein kann der Lernprozess 200 in Programmanweisungen im Zusammenhang mit einem beliebigen von Hardware, Softwareanwendungen, Modulen, Komponenten oder anderen derartigen Programmierelementen, die das CP-Modul 104 umfassen können. Die Programmanweisungen leiten das zugrunde liegende physische oder virtuelle Rechensystem / die zugrunde liegenden physischen oder virtuellen Rechensysteme dazu an, so zu arbeiten, wie für den Lernprozess 200 beschrieben ist, der sich im Übrigen auf die Schritte in 2 bezieht.
  • Im Betrieb empfängt das CP-Modul 104 einen Videodarstellungstensor von der Schicht 103 (Schritt 201). Die Eingabe und die Ausgabe des CP-Moduls 104 sind beide Videodarstellungstensoren der Form THW×C, wobei T die Anzahl von Frames bezeichnet, H×W die räumliche Abmessung bezeichnet und C die Anzahl von Kanälen bezeichnet.
  • Das CP-Modul 104 betrachtet den Videodarstellungstensor als Punktwolke, deren Datenpunkte den Merkmalen, die durch die Schicht 103 aus den Videodaten 107 extrahiert worden sind, entsprechen. In dem Tensor ist jeder Punkt mittels des raumzeitlichen Ortes eines der Merkmale, die aus dem Video extrahiert worden sind, definiert. Bei diesem Beispiel sind die raumzeitlichen Orte der Merkmale durch ihre THW-Koordinaten in dem Video bezeichnet. Zusätzlich wird ein semantischer Vektor für jeden Punkt bereitgestellt, der beschreibbare Dimensionen des Merkmals darstellt. Viele Dimensionen sind möglich und hängen von der Konfigurierung der Schicht 103 ab. In einigen Fällen können die semantischen Vektoren Information beinhalten, die primär aus den RGB-Werten (Rot-Grün-Blau RGB), die in das künstliche neuronale Netzwerk 101 eingegeben werden, hergeleitet ist.
  • Das CP-Modul 104 führt für jedes in dem Tensor dargestellte Merkmal eine vektorbasierte Ähnlichkeitssuche der anderen Merkmale in dem Tensor durch (Schritt 203). Die Ähnlichkeitssuche berücksichtigt die semantischen Vektoren der anderen Merkmale in dem Video, kann jedoch diejenigen in demselben Frame wie ein gegebenes Merkmal ausschließen.
  • Die Ergebnisse der Ähnlichkeitssuche für jedes Merkmal sind eine Gruppe von entsprechenden Merkmalen, die dem gegebenen Merkmal zugeordnet werden können. Es können verschiedene Merkmalspaare zwischen einem gegebenen Merkmal und seinen entsprechenden Merkmalen gebildet werden. Bei einem Beispiel kann eine Ähnlichkeitssuche die top-k Merkmale identifizieren, die semantische Vektoren aufweisen, die zu dem semantischen Vektor eines gegebenen Merkmals am ähnlichsten sind. Daher können k Merkmalspaare zwischen dem gegebenen Merkmal und jedem der entsprechenden Merkmale gebildet werden.
  • Das CP-Modul 104 generiert einen verketteten Vektor für jedes Merkmalspaar, das zwischen einem gegebenen Merkmal und dessen entsprechenden Merkmalen gebildet ist (Schritt 205). Der verkettete Vektor beinhaltet den semantischen Vektor für das gegebene Merkmal, den semantischen Vektor für das entsprechende (oder paarige) Merkmal und eine raumzeitliche Versetzung zwischen den beiden. Bei einigen Implementierungen kann der verkettete Vektor den Abstand (oder die Differenz bzw. den Unterschied) zwischen den beiden semantischen Vektoren anstelle der Vektoren selbst beinhalten.
  • Die verketteten Vektoren werden in ein oder mehrere interne neuronale Netzwerke eingespeist, die dafür trainiert sind, eine Mengenfunktion (set function) anzunähern. Die internen neuronalen Netzwerke, die von dem von dem neuronalen Netzwerk 101 dargestellten künstlichen neuronalen Hauptnetzwerk verschieden sind, nehmen die verketteten Vektoren als Eingabe und erzeugen potenzielle gemeinsame semantische Vektoren (Schritt 207). In einigen Fällen besteht eine Eins-zu-Eins-Entsprechung zwischen der Anzahl von verketteten Vektoren, die das CP-Modul 104 erzeugt, und der Anzahl von internen neuronalen Netzwerken, die vorhanden sind. Auf diese Weise können die verketteten Vektoren in die internen neuronalen Netzwerke parallel eingespeist werden.
  • Die Ausgaben der internen neuronalen Netzwerke werden durch einen Pooling-Vorgang (beispielsweise einen Max-Pooling-Vorgang) aggregiert, dessen Ausgabe zu dem gemeinsamen semantischen Vektor für ein gegebenes Merkmal wird (Schritt 209). Das CP-Modul 104 fügt die gemeinsamen semantischen Vektoren zu dem ursprünglichen Videodarstellungstensor oder einem neuen Videodarstellungstensor hinzu bzw. addiert diese hierzu (Schritt 211). Das CP-Modul 104 speist den Videodarstellungstensor mit den darin beinhalteten gemeinsamen semantischen Vektoren in die Schicht 105 des neuronalen Netzwerkes 101 ein (Schritt 213). Eine oder mehrere Schichten des neuronalen Netzwerkes 101, darunter die Schicht 105, verarbeiten die gemeinsamen semantischen Vektoren und die Signale, die sie erzeugen, weiterhin, um zu der Angabe 109 einer Bewegung, die in den Videodaten 107 erkannt wird, zu gelangen.
  • 3 zeigt eine detailliertere Ansicht eines CP-Moduls 300 und dessen Vorgänge bei einer Implementierung. Das CP-Modul 300 beinhaltet eine Gruppierungsschicht 301 und eine Einbettungsschicht 303. Die Gruppierungsschicht 301 stellt ein oder mehrere beliebige Hardware-, Software- oder Firmware-Elemente des CP-Moduls 300 dar, die die Sätze von entsprechenden Merkmalen für jedes Merkmal, das aus einem Video extrahiert ist, identifizieren können. Die Einbettungsschicht 303 stellt ein oder mehrere beliebige Hardware-, Software- oder Firmware-Elemente des CP-Moduls 300 dar, die verkettete Vektoren erzeugen und einen gemeinsamen semantischen Vektor aus den verketteten Vektoren herleiten können.
  • Die Gruppierungsschicht 301 nimmt einen Videodarstellungstensor 311 als Eingabe und wählt für jedes Merkmal dessen k wahrscheinlichste entsprechende Vektoren in dem Tensor aus. Der Videodarstellungstensor 311 wird von der Gruppierungsschicht 301 als dreidimensionale Punktwolke betrachtet, deren Punkte, die mittels ihrer THW-Koordinaten in der Punktwolke definiert sind, diejenigen Merkmale darstellen, die von einem neuronalen Netzwerk aus einem Video extrahiert werden. Die Gruppierungsschicht 301 führt eine semantische Ähnlichkeitssuche für jedes der Merkmale durch, was zu einer Gruppe von Merkmalen führt, die einem gegebenen Merkmal zugeordnet ist. Die Suche kann allein auf der semantischen Ähnlichkeit beruhen, um sicherzustellen, dass eine Entsprechung über beliebig lange raumzeitliche Strecken hinweg identifiziert werden kann. Merkmale innerhalb desselben Frames können ausgeschlossen werden, um die zeitliche Konsistenz zwischen Frames sicherzustellen. Der Entsprechungssatz 313 beinhaltet beispielsweise ein Merkmal / einen Punkt in seinem Zentrum und acht verschiedene Merkmale/Punkte darum herum. Jeder der acht anderen Punkte stellt ein Merkmal in einem anderen Frame des Videos dar, das im Vergleich zu dem Merkmal/Punkt im Zentrum des Satzes denselben oder einen ähnlichen semantischen Vektor aufweist.
  • Jedes der Merkmale / jeder der Punkte ist in einem gewissen Abstand von dem Zentralmerkmal/Zentralpunkt des Entsprechungssatzes 313 entfernt befindlich, was durch Subtrahieren der THW-Koordinaten von denjenigen des Zentralmerkmals berechnet werden kann. Die Versetzung ist dann ein Vektor, der den Abstand und die Richtung eines jeden der Merkmale in der Gruppe von dem Zentralmerkmal darstellt.
  • Die Einbettungsschicht 303 nimmt die identifizierten Entsprechungsgruppen als Eingabe und erzeugt einen gemeinsamen semantischen Vektor 315 für jedes Merkmal als Ausgabe. Dazwischen generiert die Einbettungsschicht 303 verkettete Vektoren aus den semantischen Vektoren, die den Merkmalen in den Entsprechungsgruppen zugeordnet sind. Zusätzlich generiert die Einbettungsschicht 303 potenzielle gemeinsame semantische Vektoren aus den verketteten Vektoren und den gemeinsamen semantischen Vektor 315 („g“) aus den potenziellen gemeinsamen semantischen Vektoren. Die sich ergebenden gemeinsamen semantischen Vektoren für die Merkmale können in den ursprünglichen oder einen anderen Videodarstellungstensor rückgemischt und in ein oder mehrere neuronale Netzwerke eingespeist werden.
  • 4 zeigt einen Lernprozess 400 bei einer Implementierung, die ein Beispiel für einen weiteren Lernprozess ist, der von den Elementen des CP-Moduls 300 eingesetzt werden kann. Implementiert sein kann der Lernprozess 400 auch in Programmanweisungen im Zusammenhang mit einem beliebigen von Hardware, Softwareanwendungen, Modulen, Komponenten oder anderen derartigen Programmierelementen, die in den verschiedenen Elementen des CP-Moduls 300 eingesetzt werden. Die Programmanweisungen leiten das zugrunde liegende physische oder virtuelle Rechensystem / die zugrunde liegenden physischen oder virtuellen Rechensysteme an, so zu arbeiten, wie für den Lernprozess 400 beschrieben wird, der sich im Übrigen auf die Schritte in 4 bezieht.
  • Im Betrieb empfängt die Gruppierungsschicht 301 den Videodarstellungstensor 311 von einem künstlichen neuronalen Netzwerk (Schritt 401). Für jedes der Merkmale (oder für jeden der Punkte) in dem Tensor führt die Gruppierungsschicht 301 eine k-Nächster-Nachbar-Suche durch, um die top-k Elemente zu identifizieren, die einen semantischen Vektor aufweisen, der zu demjenigen eines gegebenen Merkmals am ähnlichsten ist (Schritt 403).
  • Bei einigen Implementierungen beinhaltet der Schritt 403 das Berechnen einer paarweise negativen L2-Abstandsmatrix der Form THW×THW des Tensormerkmalsraumes (Schritt 403A), was effizient durch Vorgänge des Matrizenmultiplizierens bewerkstelligt werden kann. Der negative L2-Abstand kann als Metrik benutzt werden, um zwischen Paaren eines gegebenen Merkmals und anderer Merkmale in dem Tensor einen Vergleich vorzunehmen.
  • Als Nächstes setzt das Gruppierungsmodul 301 die Werte der Merkmale in den T-Diagonalblockmatrizen der Form HW×HW auf negativ unendlich (Schritt 403B). Dieser Schritt dient dazu, Merkmale innerhalb desselben Frames wie ein gegebenes Merkmal davon auszuschließen, durch die Ähnlichkeitssuche als potenziell entsprechende Merkmale ausgewählt zu werden. Schließlich wendet das Gruppierungsmodul 301 einen arg-top-k-Vorgang entlang der Reihendimension der Matrix an (Schritt 403C), wodurch ein Tensor der Form THWxk ausgegeben wird, in dem die i-te Reihe die Indizes der k-nächsten Nachbarn des i-ten Merkmals sind.
  • Nachdem die nächsten Nachbarn für ein Merkmal ausfindig gemacht worden sind, erzeugt die Einbettungsschicht 303 verkettete Vektoren für jede Paarung eines gegebenen Merkmals mit den jeweiligen der entsprechenden Merkmale hiervon (Schritt 405). Die Paarungen setzen sich jeweils aus einem gegebenen Merkmal, für das die Paarungen erzeugt werden, und einem anderen der top-k Merkmale, von denen man herausgefunden hat, dass sie zu dem Merkmal am ähnlichsten sind, zusammen. Jeder der verketteten Vektoren beinhaltet die beiden semantischen Vektoren für die beiden Merkmale in einem entsprechenden Paar wie auch die raumzeitliche Versetzung eines Merkmals relativ zu dem anderen. Die Versetzung kann durch Subtrahieren der entsprechenden Koordinatenwerte voneinander berechnet werden (beispielsweise t-t, h-h und w-w).
  • Als Nächstes speist die Einbettungsschicht 303 die verketteten Vektoren in ein oder mehrere interne neuronale Netzwerke ein (Schritt 407). Die internen neuronalen Netzwerke können bei einigen Implementierungen Multilayer-Perceptrons mit geteilten Gewichtungen sein, die zum Annähern einer Mengenfunktion (set function) trainiert sind. Die internen neuronalen Netzwerke geben potenzielle gemeinsame semantische Vektoren als Ergebnis der Signale aus der Erzeugung durch die verketteten Vektoren in den internen neuronalen Netzwerken aus.
  • Nach dem Einspeisen der verketteten Vektoren in die internen neuronalen Netzwerke führt die Einbettungsschicht 303 einen Max-Pooling-Vorgang an den aggregierten Ausgaben der internen neuronalen Netzwerke durch (Schritt 409). Der Max-Pooling-Vorgang wird an den potenziellen gemeinsamen semantischen Vektoren durchgeführt, um diejenigen Signale auszuwählen, die hinsichtlich der Entsprechung eines gegebenen Merkmals am informativsten sind. Der sich ergebende gemeinsame semantische Vektor weist ein Aussehen und eine Bewegung mit impliziter Codierung darin infolge der verschränkten (entangled) Darstellung auf, die durch Mischen von semantischen Vektoren und der Versetzung in den verketteten Vektoren, die in die internen neuronalen Netzwerke eingespeist sind, auftritt.
  • Die Einbettungsschicht 303 fügt die sich ergebenden gemeinsamen semantischen Vektoren für die Merkmale wiederum zu dem Videodarstellungstensor hinzu bzw. addiert diese hierzu (Schritt 411) und speist den modifizierten Videodarstellungstensor wiederum in das neuronale Hauptnetzwerk ein (Schritt 413). Das neuronale Hauptnetzwerk nimmt den modifizierten Videodarstellungstensor als Eingabe, der Signale in den verschiedenen verbleibenden Schichten des neuronalen Hauptnetzwerkes erzeugt. Die Signale erzeugen schließlich eine Ausgabe aus dem neuronalen Hauptnetzwerk, die die Bewegung klassifiziert, die in demjenigen Segment des Videos, aus dem die Merkmale extrahiert worden sind, zu finden ist.
  • 5 zeigt ein Betriebsszenario 500 bei einer weiteren Implementierung des verbesserten Lernens einer Bewegung. Das Betriebsszenario 500 zeigt den Prozess, der am Generieren eines gemeinsamen semantischen Vektors für ein einzelnes Merkmal, das aus einem Video extrahiert ist, beteiligt ist. Das Betriebsszenario 500 wird für viele oder alle der Merkmale, die aus einem Video extrahiert werden, wiederholt, um viele gemeinsame semantische Vektoren zu erzeugen, die als Eingabe einem faltungstechnischen neuronalen Netzwerk zugeleitet werden. Das faltungstechnische neuronale Netzwerk kann sodann die in dem Video auftretende Bewegung identifizieren.
  • Im Betrieb identifiziert eine Gruppierungsschicht eine Entsprechungsgruppe 501 für die Merkmale auf Grundlage einer k-NN-Suche (k-Nächster-Nachbar k-NN) der anderen Merkmale, die aus dem Video extrahiert sind. Die Entsprechungsgruppe 501 ist an dem Merkmal 503 mit Darstellung durch i0 und mit den Koordinaten [ti0, hi0, wi0] und dem semantischen Vektor fi0 zentriert.
  • Die Entsprechungsgruppe 501 beinhaltet fünf weitere Merkmale im THW-Raum, von denen man herausgefunden hat, dass sie die Top-k derjenigen sind, die zu dem Merkmal 503 am ähnlichsten sind; sie werden durch ihre jeweiligen Koordinaten und semantischen Vektoren folgendermaßen bezeichnet: 1) Merkmal i1 mit den Koordinaten [ti1, hi1, wi1] and dem semantischen Vektor fi1; 2) Merkmal i2 mit den Koordinaten [ti2, hi2, wi2] und dem semantischen Vektor fi2; 3) Merkmal i3 mit den Koordinaten [ti3, hi3, wi3] und dem semantischen Vector f3; 4) Merkmal i4 mit den Koordinaten [ti4, hi4, wi4] und dem semantischen Vektor f4; und 5) Merkmal i5 mit den Koordinaten [ti5, hi5, wi5] und dem semantischen Vektor f5.
  • Eine Einbettungsschicht nimmt die Entsprechungsgruppe 501 als Eingabe und erzeugt verkettete Vektoren 511 bis 515 entsprechend den Paarungen des Merkmals 503 mit jedem der entsprechenden Merkmale hiervon. Die verketteten Vektoren beinhalten jeweils zwei semantische Vektoren und raumzeitliche Versetzungsinformation. Der verkettete Vektor 511 beinhaltet beispielsweise die semantischen Vektoren fi0 und fi1 und die Versetzung, die durch [ti0, hi0, wi0] - [ti1, hi1, wi1] erzeugt wird; der verkettete Vektor 512 beinhaltet die semantischen Vektoren fi0 und fi2 und die Versetzung, die durch [ti0, hi0, wi0] - [ti2, hi, wi2] erzeugt wird; und so weiter bis zu dem verketteten Vektor 515, der die semantischen Vektoren fi0 und fi5 und die Versetzung beinhaltet, die durch [ti0, hi0, wi0] - [ti5, hi5, wi5] erzeugt wird.
  • Die Einbettungsschicht speist die verketteten Vektoren 511 bis 515 in neuronale Netzwerke vom MLP-Typ, die durch MLPs 521 bis 525 dargestellt sind, ein. Beispielsweise wird der verkettete Vektor 511 in das MLP 521 eingespeist, wird der verkettete Vektor 512 in das MLP 522 eingespeist und wird der verkettete Vektor 515 in das MLP 525 eingespeist. Die MLPs 521 bis 525 sind dafür trainiert, eine Mengenfunktion (set function) anzunähern. Entsprechend wenden diese die Mengenfunktion (set function) jeweils auf ihre jeweiligen verketteten Vektoren an und geben potenzielle gemeinsame semantische Vektoren aus.
  • Die Einbettungsschicht aggregiert die potenziellen gemeinsamen semantischen Vektoren bei dem Max-Pooling-Vorgang 530. Der Max-Pooling-Vorgang 530 arbeitet dergestalt, die wichtigsten Signale aus den potenziellen gemeinsamen semantischen Vektoren, die von den MLPs 521 bis 525 erzeugt worden sind, zu extrahieren. Das Ergebnis des Max-Pooling-Vorganges ist ein gemeinsamer semantischer Vektor 531, der durch gi0 dargestellt wird.
  • 6 zeigt eine Lernarchitektur 600 bei einer Implementierung. Die Lernarchitektur 600 beinhaltet ein faltungstechnisches neuronales Netzwerk 601, ein CP-Modul 602 und ein faltungstechnisches neuronales Netzwerk 607. Das faltungstechnische neuronale Netzwerk 601 und das faltungstechnische neuronale Netzwerk 607 können separate neuronale Netzwerke oder verschiedene Schichten desselben neuronalen Netzwerkes darstellen. Das CP-Modul 602 beinhaltet eine Gruppierungsschicht 603 und eine Einbettungsschicht 605. Die Lernarchitektur 600 kann in Hardware, Software oder Firmware sowie auf einer oder mehreren physischen oder virtuellen Rechensystemen implementiert sein, für die das Rechensystem 801 in 8 repräsentativ ist.
  • Im Betrieb extrahiert das faltungstechnische neuronale Netzwerk 601 Merkmale aus einem Video und stellt sowohl semantische wie auch raumzeitliche Information für jedes Merkmal für das CP-Modul 602 in einem Videodarstellungstensor (Video Representation Tensor VRT) bereit. Beispiele für Merkmale beinhalten Objekte, Kanten, Pixel oder andere derartige Elemente, die aus dem Video extrahiert werden können. Die semantische Information beschreibt nummerisch oder symbolisch eine oder mehrere Eigenschaften eines gegebenen Merkmals, so beispielsweise dessen Farbkomponenten, Länge, Fläche, Zirkularität bzw. Kreisförmigkeit, Gradientengröße, Gradientenrichtung, Textur oder Graustufenintensität. Die raumzeitliche Information beschreibt ein Merkmal durch dessen räumliche Position in einem Frame und dessen zeitliche Position in dem Video.
  • Die Gruppierungsschicht 603 in dem CP-Modul 602 sucht nach einem Satz von entsprechenden Merkmalen für jedes Merkmal, das aus dem Video extrahiert ist. Die k Merkmale werden an die Einbettungsschicht 605 weitergeleitet.
  • Die Einbettungsschicht 605 generiert verkettete Vektoren für Merkmalspaare, die aus einem gegebenen Merkmal und dessen entsprechenden Merkmalen gebildet sind. Die verketteten Vektoren beinhalten die semantische Information, die in dem VRT für beide Merkmale in einem Paar beinhaltet ist, wie auch die raumzeitliche Information (beispielsweise einen Unterschied bzw. eine Differenz / eine Versetzung zwischen diesen).
  • Die Einbettungsschicht 605 speist die verketteten Vektoren sodann in neuronale MLP-Netzwerke ein, die dafür trainiert sind, eine Mengenfunktion (set function) anzunähern. Die Ausgaben der neuronalen MLP-Netzwerke werden von einer Max-Pooling-Funktion aggregiert, die den gemeinsamen semantischen Vektor erzeugt, der durch „g“ dargestellt ist. Die gemeinsamen semantischen Vektoren können zu dem ursprünglichen Videodarstellungstensor hinzugefügt bzw. addiert werden, was einen modifizierten Videodarstellungstensor (VRT') ergibt. Der VRT' kann sodann in ein faltungstechnisches neuronales Netzwerk 607 eingespeist werden. Das faltungstechnische neuronale Netzwerk 707 reagiert auf die von dem VRT' erzeugten Signale, um eine Angabe der Bewegung, die in dem Video von den Neuronenschichten erkannt worden ist, auszugeben.
  • 7 zeigt eine weitere Lernarchitektur 700 bei einer Implementierung. Die Lernarchitektur 700 beinhaltet mehrere faltungstechnische neuronale Netzwerke (oder verschiedene Schichten desselben faltungstechnischen neuronalen Netzwerkes, die durch CNN 701, CNN 705 und CNN 709 dargestellt sind. Ein CP-Modul 703 ist zwischen dem CNN 701 und dem CNN 705 eingefügt. Das CP-Modul 707 ist zwischen dem CNN 705 und dem CNN 709 eingefügt. Schließlich ist das CP-Modul 711 nach dem CNN 709 eingefügt.
  • Im Betrieb extrahiert das CNN 701 Merkmale aus einem Video und stellt sowohl semantische wie auch raumzeitliche Information für jedes Merkmal für das CP-Modul 703 in einem Videodarstellungstensor VRT(f) bereit. Wie erwähnt worden ist, beinhalten Beispiele für Merkmale Objekte, Kanten, Pixel oder andere derartige Elemente, die aus dem Video extrahiert werden können. Die semantische Information beschreibt nummerisch oder symbolisch eine oder mehrere Eigenschaften eines gegebenen Merkmals, so beispielsweise dessen Farbkomponenten, Länge, Fläche, Zirkularität bzw. Kreisförmigkeit, Gradientengröße, Gradientenrichtung, Textur oder Graustufenintensität. Die raumzeitliche Information beschreibt ein Merkmal durch dessen räumliche Position in einem Frame und dessen zeitliche Position in dem Video.
  • Das CP-Modul 703 arbeitet so, wie vorstehend mit Blick auf das CP-Modul 602 beschrieben worden ist. Insbesondere identifiziert das CP-Modul 703 einen k-NN-Satz von entsprechenden Merkmalen für jedes Merkmal in VRT(f). Das CP-Modul 703 erzeugt sodann verkettete Vektoren aus den entsprechenden Paaren, speist die verketteten Vektoren in MLPs ein und aggregiert die potenziellen Vektoren, die von den MLPs ausgegeben werden, in einer Max-Pooling-Funktion. Die Ausgabe der Max-Pooling-Funktion ist ein gemeinsamer semantischer Vektor, der durch „g“ dargestellt ist. Die sich ergebenden gemeinsamen semantischen Vektoren, die für die Merkmale in VRT(f) erzeugt werden, werden zu dem VRT wieder hinzugefügt bzw. rückaddiert und ersetzen dabei die ursprünglichen semantischen Vektoren, die den Merkmalen zugeordnet sind, was VRT(g) ergibt.
  • Das CNN 705 nimmt VRT(g) als Eingabe und extrahiert daraus Merkmale, wobei dessen Fokus ein anderer als bei dem CNN 701 ist. Das Ergebnis ist VRT(f), das das CNN 705 dem CP-Modul 707 zuleitet. Mit anderen Worten, wenigstens einige der Merkmale, die in dem VRT(f) dargestellt sind, sind von denjenigen, die in dem VRT(f) dargestellt sind, verschieden, da der Fokus des CNN 705 im Vergleich zu demjenigen des CNN 701 verschieden ist und da deren Eingaben verschieden sind.
  • Das CP-Modul 707 arbeitet so, wie vorstehend mit Blick auf das CP-Modul 602 beschrieben worden ist. Insbesondere identifiziert das CP-Modul 707 einen k-NN-Satz von entsprechenden Merkmalen für jedes Merkmal in dem VRT(f). Das CP-Modul 707 erzeugt sodann verkettete Vektoren aus den entsprechenden Paaren, speist die verketteten Vektoren in MLPs ein und aggregiert die potenziellen Vektoren, die von den MLPs ausgegeben werden, in einer Max-Pooling-Funktion. Die Ausgabe der Max-Pooling-Funktion ist ein gemeinsamer semantischer Vektor, der durch „g'“ dargestellt wird. Die sich ergebenden gemeinsamen semantischen Vektoren, die für die Merkmale in dem VRT(f') erzeugt werden, werden wieder hinzugefügt bzw. rückaddiert, was VRT(g') ergibt.
  • Das CNN 709 nimmt den VRT(g') als Eingabe und extrahiert Merkmale daraus mit einem anderen Fokus als demjenigen bei dem CNN 705. Das Ergebnis ist VRT(f'), das das CNN 709 dem CP-Modul 711 zuleitet. Wenigstens einige der Merkmale, die in dem VRT(f') dargestellt sind, sind von denjenigen, die in dem VRT(f) dargestellt sind, verschieden, da der Fokus des CNN 709 von demjenigen des CNN 705 verschieden ist und da deren Eingaben verschieden sind.
  • Das CP-Modul 711 arbeitet so, wie vorstehend mit Blick auf das CP-Modul 602 beschrieben worden ist. Insbesondere identifiziert das CP-Modul 711 einen k-NN-Satz von entsprechenden Merkmalen für jedes Merkmal in dem VRT(f'). Das CP-Modul 711 erzeugt sodann verkettete Vektoren aus den entsprechenden Paaren, speist die verketteten Vektoren in MLPs ein und aggregiert die potenziellen Vektoren, die von den MLPs ausgegeben werden, in einer Max-Pooling-Funktion. Die Ausgabe der Max-Pooling-Funktion ist ein gemeinsamer semantischer Vektor, der durch „g““ dargestellt wird. Die sich ergebenden gemeinsamen semantischen Vektoren, die für die Merkmale in dem VRT(f') erzeugt werden, werden wieder hinzugefügt bzw. rückaddiert, was VRT(g") ergibt.
  • Dieser Prozess kann nach dem CP-Modul 711 enden, wenn der VRT(g") an die verbleibenden Schichten eines CNN gesendet worden ist. Optional kann der Prozess für eine oder mehrere Iterationen fortgesetzt werden, bis der Videodarstellungstensor an die verbleibenden Schichten gesendet worden ist. Die verbleibenden Schichten des CNN reagieren auf die Signale, die von dem Videodarstellungstensor erzeugt werden, um eine Angabe einer Bewegung, die von den Schichten in dem Video erkannt wird, auszugeben.
  • Bei einigen Implementierungen können die hier offenbarten Entsprechungsmodule in CNN-Architekturen eingefügt und mit Faltungsschichten verschachtelt (interleaved) sein. Eine derartige Architektur ermöglicht, dass Merkmale eines statischen Bildes aus Faltungsschichten und Bewegungssignale, die von den Entsprechungsmodulen extrahiert werden, gemischt und gemeinsam gelernt werden.
  • Bei einem spezifischen Beispiel kann ein Entsprechungsmodul in eine C2D-ResNet-Architektur eingefügt werden, wobei das Modul genau nach einem Residualblock befindlich ist. Die Zeitdimension kann vollständig vernachlässigt werden, wodurch die zeitliche Größe T während des Feed Forward gleichbleibt. Vielmehr kann auf die Entsprechungsmodule zum Aufnehmen einer zeitlichen Information zurückgegriffen werden. Die nächsten Nachbarn, die von den Entsprechungsmodulen ausfindig gemacht werden, können in einem beliebigen metrischen Raum bestimmt werden, so beispielsweise einem ausschließlich zeitlichen Raum, einem raumzeitlichen Raum, einem Merkmalsraum oder einem raumzeitlich-merkmalsbezogenen Raum, obwohl die vorliegende Diskussion allein auf einen Merkmalsraum abstellt.
  • Der C2D-Abschnitt der Architektur kann mit einem vortrainierten ImageNet-Modell initialisiert werden. Die MLPs in den Entsprechungsmodulen können mit einer MSRA-Initialisierung beliebig initialisiert werden, jedoch mit Ausnahme des Gammaparameters der letzten Batch-Normierungsschicht, die durchweg mit Nullen initialisiert wird. Hierdurch wird das Identifizieren einer Abbildung zu Beginn des Trainings sichergestellt, sodass der vortrainierte Bildmerkmalsvektor benutzt werden kann.
  • Aus dem Vorbeschriebenen ist ersichtlich, dass die hier erläuterten Entsprechungsvorschlagsmodule Entsprechungspaare für jedes Merkmal in einem Tensor berechnen und die vorgeschlagenen Paare in ein geteiltes neuronales Netzwerk einspeisen, worauf ein Max-Pooling folgt, um einen neuen Merkmalstensor zu lernen. Auf diese Weise können die Module effektiv Bewegungsentsprechungsinformation in Videos aufnehmen. Das vorgeschlagene Entsprechungsmodul kann mit bestehenden framebasierten oder clipbasierten Architekturen integriert sein. Zudem ist das vorgeschlagene Entsprechungsmodul gegen Standardvergleichswerte der Videoerkennung getestet worden und hat sich dabei als sehr leistungsfähig erwiesen.
  • 8 zeigt ein Rechensystem 801, das ein beliebiges System oder eine beliebige Sammlung von Systemen darstellt, wo die verschiedenen Module, Prozesse, Programme und Szenarien, die hier offenbart sind, implementiert sein können. Beispiele für das Rechensystem 801 beinhalten unter anderem Servercomputer, Cloudrechenplattformen und Einrichtungen einer Datenzentrale wie auch einen beliebigen anderen Typ von physischer oder virtueller Servermaschine, einen solchen Container und eine beliebige Abwandlung oder Kombination hiervon. Weitere Beispiele beinhalten Desktopcomputer, Laptopcomputer, Tabletcomputer, loT-Vorrichtungen (Internet of Things loT, Internet der Dinge), am Körper tragbare Vorrichtungen und eine beliebige andere physische oder virtuelle Kombination oder Abwandlung hiervon.
  • Implementiert sein kann das Rechensystem 801 als Einzeleinrichtung, System oder Vorrichtung, oder es kann auf verteilte Weise als mehrere Einrichtungen, Systeme oder Vorrichtungen implementiert sein. Das Rechensystem 801 beinhaltet unter anderem ein Verarbeitungssystem 802, ein Speichersystem 803, eine Software 805, ein Kommunikationsschnittstellensystem 807 und ein Nutzerschnittstellensystem 809 (optional). Das Verarbeitungssystem 802 ist operativ mit dem Speichersystem 803, dem Kommunikationsschnittstellensystem 807 und dem Nutzerschnittstellensystem 809 gekoppelt.
  • Das Verarbeitungssystem 802 lädt die Software 805 aus dem Speichersystem 803 und führt sie aus. Die Software 805 beinhaltet und implementiert einen Lernprozess 806, der für die Lernprozesse repräsentativ ist, die anhand der vorhergehenden Figuren erläutert worden sind. Bei Ausführung durch das Verarbeitungssystem 802 weist die Software 805, um ein verbessertes Lernen von Darstellungen zu ermöglichen, das Verarbeitungssystem 802 an, so zu arbeiten, wie hier wenigstens für die verschiedenen Prozesse, Betriebsszenarien und Sequenzen, die bei den vorbeschriebenen Implementierungen erläutert worden sind, beschrieben worden ist. Das Rechensystem 801 kann optional zusätzliche Vorrichtungen, Merkmale oder eine solche Funktionalität beinhalten, die hier aus Gründen der Kürze nicht erläutert worden ist.
  • Wie ebenfalls in 8 gezeigt ist, kann das Verarbeitungssystem 802 einen Mikroprozessor und andere Schaltungen umfassen, die die Software 805 aus dem Speichersystem 803 abrufen und ausführen. Das Verarbeitungssystem 802 kann innerhalb einer einzigen Verarbeitungsvorrichtung implementiert sein, kann jedoch auch über mehrere Verarbeitungsvorrichtungen oder Teilsysteme, die beim Ausführen von Programmanweisungen zusammenarbeiten, verteilt sein. Beispiele für das Verarbeitungssystem 802 beinhalten zentrale Allzweckverarbeitungseinheiten, grafische Verarbeitungseinheiten, anwendungsspezifische Prozessoren und logische Vorrichtungen wie auch einen beliebigen anderen Typ von Verarbeitungsvorrichtung sowie Kombinationen oder Abwandlungen hiervon.
  • Das Speichersystem 803 kann ein beliebiges computerlesbares Speichermedium umfassen, das von dem Verarbeitungssystem 802 gelesen werden und die Software 805 speichern kann. Das Speichersystem 803 kann flüchtige und nichtflüchtige, entfernbare und nichtentfernbare Medien beinhalten, die bei einem beliebigen Verfahren oder mit einer beliebigen Technologie zur Speicherung von Information, so beispielsweise bei computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten, implementiert sein können. Beispiele für Speichermedien beinhalten einen Speicher mit wahlfreiem Zugriff, einen Nur-Lese-Speicher, magnetische Platten, optische Platten, einen Flashspeicher, einen virtuellen Speicher und einen nichtvirtuellen Speicher, magnetische Kassetten, ein Magnetband, einen Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder beliebige andere geeignete Speichermedien. In keinem Fall ist das computerlesbare Speichermedium ein sich ausbreitendes Signal.
  • Zusätzlich zu computerlesbaren Speichermedien kann das Speichersystem 803 bei einigen Implementierungen zudem computerlesbare Kommunikationsmedien beinhalten, über die wenigstens ein Teil der Software 805 intern oder extern kommuniziert werden kann. Das Speichersystem 803 kann als einzelne Speichervorrichtung implementiert sein, kann jedoch auch über mehrere Speichervorrichtungen oder Teilsysteme, die in Bezug aufeinander gemeinsam angeordnet oder verteilt sind, implementiert sein. Das Speichersystem 803 kann zusätzliche Elemente, so beispielsweise eine Steuerung bzw. Regelung, umfassen, die mit dem Verarbeitungssystem 802 oder gegebenenfalls anderen Systemen kommunizieren können.
  • Die Software 805 (darunter der Lernprozess 806) kann in Programmanweisungen implementiert sein und kann neben weiteren Funktionen bei Ausführung durch das Verarbeitungssystem 802 das Verarbeitungssystem 802 anleiten, so zu arbeiten, wie mit Blick auf die verschiedenen Betriebsszenarien, Sequenzen und Prozesse, die hier dargestellt sind, beschrieben worden ist. Die Software 805 kann beispielsweise Programmanweisungen zum Implementieren eines Lernprozesses beinhalten, um eine Bewegung in einem Video, wie hier beschrieben wird, zu lernen.
  • Insbesondere können die Programmanweisungen verschiedene Komponenten oder Module beinhalten, die zusammenarbeiten oder auf andere Weise interagieren, um die verschiedenen Prozesse und Betriebsszenarien, die hier beschrieben sind, auszuführen. Die verschiedenen Komponenten oder Module können in kompilierten oder interpretierten Anweisungen oder in einer beliebigen anderen Abwandlung oder Kombination von Anweisungen verkörpert sein. Die verschiedenen Komponenten oder Module können auf synchrone oder asynchrone Weise, seriell oder parallel, in einer Single-Thread-Umgebung oder in einer Multi-Thread-Umgebung oder entsprechend einem beliebigen anderen geeigneten Ausführungsparadigma, einer Abwandlung oder einer Kombination hiervon ausgeführt sein. Die Software 805 kann zusätzliche Prozesse, Programme oder Komponenten, so beispielsweise eine Betriebssystemsoftware, eine Virtualisierungssoftware oder eine andere Anwendungssoftware beinhalten. Die Software 805 kann zudem Firmware oder eine beliebige andere Form von maschinenlesbaren Verarbeitungsanweisungen, die von dem Verarbeitungssystem 802 ausführbar sind, umfassen.
  • Allgemein kann die Software 805, wenn sie in das Verarbeitungssystem 802 geladen ist und ausgeführt wird, eine geeignete Einrichtung, ein solches System oder eine solche Vorrichtung (für die das Rechensystem 801 repräsentativ ist) allgemein von einem Allzweckrechensystem in ein Spezialzweckrechensystem umwandeln, das darauf eingestellt ist, das Lernen einer Bewegung zu ermöglichen. Das Codieren von Software 805 auf dem Speichersystem 803 kann die physische Struktur des Speichersystems 803 umwandeln. Die spezifische Transformation der physischen Struktur kann von verschiedenen Faktoren in verschiedenen Implementierungen der vorliegenden Beschreibung abhängen. Beinhalten können Beispiele für derartige Faktoren unter anderem diejenige Technologie, die zum Implementieren der Speichermedien des Speichersystems 803 benutzt wird, denjenigen Umstand, ob die Computerspeichermedien als primäre oder sekundäre Speicher charakterisiert sind, wie auch andere Faktoren.
  • Sie die computerlesbaren Speichermedien beispielsweise als halbleiterbasierte Speicher implementiert, so kann die Software 805 den physischen bzw. physikalischen Zustand des Halbleiterspeichers transformieren, wenn die Programmanweisungen darin codiert sind, und zwar beispielsweise durch Transformieren des Zustandes von Transistoren, Kondensatoren oder anderen diskreten Schaltungselementen, die den Halbleiterspeicher bilden. Eine ähnliche Transformation kann mit Blick auf magnetische oder optische Medien erfolgen. Weitere Transformationen physischer Medien sind möglich, ohne vom Umfang der vorliegenden Beschreibung abzugehen, wobei die vorstehenden Beispiele nur dafür bereitgestellt sind, die vorliegende Diskussion zu vereinfachen.
  • Das Kommunikationsschnittstellensystem 807 kann Kommunikationsverbindungen und Vorrichtungen beinhalten, die eine Kommunikation mit anderen Rechensystemen (nicht gezeigt) über Kommunikationsnetzwerke (nicht gezeigt) ermöglichen. Beispiele für Verbindungen und Vorrichtungen, die zusammen eine Intersystemkommunikation ermöglichen, können Netzwerkschnittstellenkarten, Antennen, Leistungsverstärker, HF-Schaltungen, Sender-Empfänger und andere Kommunikationsschaltungen beinhalten. Die Verbindungen und Vorrichtungen können über Kommunikationsmedien kommunizieren, um Kommunikationen mit anderen Rechensystemen oder Netzwerken von Systemen, beispielsweise über Metall, Glas, Luft oder ein beliebiges anderes geeignetes Kommunikationsmedium, auszutauschen. Die vorgenannten Medien, Verbindungen und Vorrichtungen sind allgemein bekannt und müssen nicht ausführlich erläutert werden.
  • Die Kommunikation zwischen dem Rechensystem 801 und anderen Rechensystemen (nicht gezeigt) kann über ein Kommunikationsnetzwerk oder Netzwerke entsprechend verschiedenen Kommunikationsprotokollen, Kombinationen von Protokollen oder Abwandlungen hiervon erfolgen. Beispiele beinhalten Intranets, Internets, das Internet, Ortsbereichsnetzwerke, Großbereichsnetzwerke, Drahtlosnetzwerke, drahtgebundene Netzwerke, virtuelle Netzwerke, softwaredefinierte Netzwerke, Datenzentralenbusse und Backplanes oder einen beliebigen anderen Typ von Netzwerk, eine Kombination von Netzwerken oder eine Abwandlung hiervon. Die vorgenannten Kommunikationsnetzwerke und Protokolle sind allgemein bekannt und müssen nicht ausführlich erläutert werden.
  • Die beinhalteten Beschreibungen und Figuren zeigen spezifische Ausführungsformen, die einen Fachmann auf dem Gebiet anleiten, wie die optimale Umsetzung auszuführen und zu nutzen ist. Zum Zwecke des Lehrens der erfindungsgemäßen Prinzipien sind geläufige Aspekte vereinfacht oder weggelassen. Einem Fachmann auf dem Gebiet erschließen sich Abwandlungen an den Ausführungsformen, die in den Umfang der Offenbarung fallen. Einem Fachmann auf dem Gebiet erschließt sich zudem, dass die vorbeschriebenen Merkmale auf verschiedene Weisen kombiniert werden können, um mehrere Ausführungsformen zu bilden. Im Ergebnis ist die Erfindung nicht auf die vorbeschriebenen spezifischen Ausführungsformen, sondern nur durch die Ansprüche und deren Äquivalente beschränkt.

Claims (20)

  1. Verfahren maschinellen Lernens in künstlichen neuronalen Netzwerken, wobei das Verfahren umfasst: in einem künstlichen neuronalen Netzwerk erfolgendes Extrahieren von Merkmalen und semantischen Vektoren, die den Merkmalen zugeordnet sind, aus einem Video; für wenigstens ein Merkmal der Merkmale, die aus dem Video extrahiert sind: Durchführen einer Ähnlichkeitssuche für entsprechende Merkmale in dem Video wenigstens auf Grundlage der semantischen Vektoren, die den Merkmalen zugeordnet sind; und Generieren eines gemeinsamen semantischen Vektors wenigstens auf Grundlage eines semantischen Vektors, der dem einen Merkmal zugeordnet ist, eines semantischen Vektors, der wenigstens einem der entsprechenden Merkmale zugeordnet ist, und eines raumzeitlichen Abstandes des einen Merkmals zu dem wenigstens einen der entsprechenden Merkmale; und in dem künstlichen neuronalen Netzwerk erfolgendes Identifizieren einer Bewegung in dem Video wenigstens auf Grundlage des gemeinsamen semantischen Vektors, der für das eine Merkmal identifiziert ist.
  2. Verfahren nach Anspruch 1, wobei das Durchführen der Ähnlichkeitssuche für die entsprechenden Merkmale in dem Video umfasst: Durchführen einer Nächster-Nachbar-Suche auf Grundlage der semantischen Vektoren.
  3. Verfahren nach Anspruch 2, wobei das Durchführen der Nächster-Nachbar-Suche umfasst: Ausschließen derjenigen der Merkmale in einem selben Frame des Videos wie das gegebene Merkmal.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Video RGB-Werte (Rot-Grün-Blau RGB) von Pixeln in dem Video umfasst.
  5. Verfahren nach einem der Ansprüche 2 bis 4, wobei das Durchführen der Nächster-Nachbar-Suche umfasst: Vergleichen des semantischen Vektors, der dem einen Merkmal zugeordnet ist, mit anderen der semantischen Vektoren, um ein Top-k der Merkmale, die zu dem einen Merkmal am ähnlichsten sind, zu identifizieren.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Identifizieren des gemeinsamen semantischen Vektors für wenigstens das eine Merkmal umfasst: Identifizieren von Paarungen des einen Merkmals mit jedem der entsprechenden Merkmale, wobei jede der Paarungen das eine Merkmal und ein entsprechendes Merkmal, das relativ zu dem entsprechenden Merkmal in jeder anderen der Paarungen verschieden ist, umfasst; Generieren von verketteten Vektoren, wobei jeder der verketteten Vektoren einer anderen der Paarungen entspricht, wobei jeder der verketteten Vektoren den semantischen Vektor, der dem einen Merkmal zugeordnet ist, einen semantischen Vektor, der dem entsprechenden Merkmal in einer entsprechenden Paarung zugeordnet ist, und den raumzeitlichen Abstand des einen Merkmals zu dem entsprechenden Merkmal umfasst; Generieren von potenziellen Vektoren auf Grundlage der verketteten Vektoren; und Durchführen eines Max-Pooling-Vorganges an den potenziellen Vektoren, um den gemeinsamen semantischen Vektor zu erzeugen.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das künstliche neuronale Netzwerk ein faltungstechnisches neuronales Netzwerk umfasst und wobei das Generieren der potenziellen Vektoren auf Grundlage der verketteten Vektoren umfasst: Einspeisen der verketteten Vektoren in ein neuronales MLP-Netzwerk (Multilayer Perceptron MLP).
  8. Verfahren zur Verbesserung maschinellen Lernens in künstlichen neuronalen Netzwerken, wobei das Verfahren umfasst: in einem künstlichen neuronalen Netzwerk erfolgendes Generieren eines Merkmalstensors, der Merkmale, die aus Bilddaten extrahiert sind, und Orte der Merkmale in den Bilddaten umfasst; für wenigstens ein Merkmal in dem Merkmalstensor: Durchführen einer Suche nach entsprechenden Merkmalen in den Bilddaten auf Grundlage einer semantischen Ähnlichkeit des einen Merkmals zu anderen Merkmalen in dem Merkmalstensor; Generieren eines gemeinsamen semantischen Vektors wenigstens auf Grundlage der semantischen Ähnlichkeit des einen Merkmals zu einem oder mehreren der entsprechenden Merkmale und eines raumzeitlichen Abstandes des einen Merkmals zu dem einen oder den mehreren der entsprechenden Merkmale; Hinzufügen bzw. Addieren des gemeinsamen semantischen Vektors zu dem Merkmalstensor; und Rückspeisen des Merkmalstensors mit dem darin beinhalteten gemeinsamen semantischen Vektor in das künstliche neuronale Netzwerk.
  9. Verfahren nach Anspruch 8, wobei das Durchführen der Suche nach den entsprechenden Merkmalen in den Bilddaten umfasst: Durchführen einer Nächster-Nachbar-Suche auf Grundlage der semantischen Ähnlichkeit des einen Merkmals zu den anderen Merkmalen und Ausschließen derjenigen der Merkmale in einem selben Bild der Bilddaten wie das gegebene Merkmal.
  10. Verfahren nach Anspruch 9, wobei der Merkmalstensor des Weiteren semantische Vektoren, die den Merkmalen zugeordnet sind, umfasst; und wobei das Durchführen der Nächster-Nachbar-Suche umfasst: Durchführen eines Vergleiches eines semantischen Vektors, der dem einen Merkmal zugeordnet ist, mit denjenigen der semantischen Vektoren, die den anderen Merkmalen zugeordnet sind, um ein Top-k der Merkmale, die zu dem einen Merkmal am ähnlichsten sind, zu identifizieren.
  11. Verfahren nach einem der Ansprüche 8 bis 10, wobei das Generieren des gemeinsamen semantischen Vektors für jedes der Merkmale umfasst: Identifizieren von Paarungen des einen Merkmals mit jedem der entsprechenden Merkmale, wobei jede der Paarungen das eine Merkmal und ein entsprechendes Merkmal, das relativ zu dem entsprechenden Merkmal in jeder anderen der Paarungen verschieden ist, umfasst; Generieren von verketteten Vektoren, wobei jeder der verketteten Vektoren einer anderen der Paarungen entspricht, wobei jeder der verketteten Vektoren den semantischen Vektor, der dem einen Merkmal zugeordnet ist, einen semantischen Vektor, der dem entsprechenden Merkmal in einer entsprechenden Paarung zugeordnet ist, und den raumzeitlichen Abstand des einen Merkmals zu dem entsprechenden Merkmal umfasst; Generieren von potenziellen Vektoren auf Grundlage der verketteten Vektoren; und Durchführen eines Max-Pooling-Vorganges an den potenziellen Vektoren, um den gemeinsamen semantischen Vektor zu erzeugen.
  12. Verfahren nach einem der Ansprüche 8 bis 11, des Weiteren umfassend: in dem künstlichen neuronalen Netzwerk erfolgendes Verarbeiten des Merkmalstensors, um eine Bewegung aus den Bilddaten zu extrahieren.
  13. Verfahren nach einem der Ansprüche 8 bis 12, wobei das künstliche neuronale Netzwerk ein faltungstechnisches neuronales Netzwerk umfasst; und wobei das Generieren der potenziellen Vektoren auf Grundlage der verketteten Vektoren umfasst: Einspeisen der verketteten Vektoren in ein neuronales MLP-Netzwerk (Multilayer Perceptron MLP).
  14. Verfahren nach einem der Ansprüche 8 bis 13, wobei die Bilddaten ein Video umfassen und wobei die Merkmale Objekte in dem Video umfassen.
  15. Recheneinrichtung, umfassend: ein oder mehrere computerlesbare Speichermedien; und Programmanweisungen, die auf dem einen oder den mehreren computerlesbaren Speichermedien gespeichert sind und die bei Ausführung durch ein Verarbeitungssystem die Recheneinrichtung wenigstens anleiten zum: Generieren eines Videodarstellungstensors, der Merkmale, die aus einem Video extrahiert sind, und Orte der Merkmale in dem Video umfasst; für wenigstens ein Merkmal der Merkmale, die aus dem Video extrahiert sind: Durchführen einer Suche nach entsprechenden Merkmalen in dem Video auf Grundlage einer semantischen Ähnlichkeit des einen Merkmals zu anderen Merkmalen; Generieren eines gemeinsamen semantischen Vektors wenigstens auf Grundlage der semantischen Ähnlichkeit des einen Merkmals zu einem oder mehreren der entsprechenden Merkmale und eines raumzeitlichen Abstandes des einen Merkmals zu dem einen oder den mehreren der entsprechenden Merkmale; und Hinzufügen bzw. Addieren des gemeinsamen semantischen Vektors zu dem Videodarstellungstensor.
  16. Recheneinrichtung nach Anspruch 15, wobei die Suche nach den entsprechenden Merkmalen in dem Video eine Nächster-Nachbar-Suche umfasst und wobei die Nächster-Nachbar-Suche diejenigen der Merkmale in einem selben Frame des Videos wie das gegebene Merkmal ausschließt.
  17. Recheneinrichtung nach Anspruch 16, wobei der Videodarstellungstensor des Weiteren semantische Vektoren, die den Merkmalen zugeordnet sind, umfasst; und wobei die Nächster-Nachbar-Suche umfasst: einen Vergleich eines semantischen Vektors, der dem einen Merkmal zugeordnet ist, mit denjenigen der semantischen Vektoren, die den anderen Merkmalen zugeordnet sind, um ein Top-k der Merkmale, die zu dem einen Merkmal am ähnlichsten sind, zu identifizieren.
  18. Recheneinrichtung nach einem der Ansprüche 15 bis 17, wobei zum Generieren des gemeinsamen semantischen Vektors für das eine Merkmal die Programmanweisungen das Rechensystem anleiten zum: Identifizieren von Paarungen des einen Merkmals mit jedem der entsprechenden Merkmale, wobei jede der Paarungen das eine Merkmal und ein entsprechendes Merkmal, das relativ zu dem entsprechenden Merkmal in jeder anderen der Paarungen verschieden ist, umfasst; Generieren von Eingaben, wobei jede der Eingaben einer anderen der Paarungen entspricht, wobei jede der Eingaben den semantischen Vektor, der dem einen Merkmal zugeordnet ist, einen semantischen Vektor, der dem entsprechenden Merkmal in einer entsprechenden Paarung zugeordnet ist, und den raumzeitlichen Abstand des einen Merkmals zu dem entsprechenden Merkmal umfasst; Einspeisen der Eingaben in ein neuronales MLP-Netzwerk (Multilayer Perceptron MLP), um Ausgaben zu erzeugen; und Durchführen eines Max-Pooling-Vorganges an den Ausgaben des neuronalen MLP-Netzwerkes, um den gemeinsamen semantischen Vektor zu erzeugen.
  19. Recheneinrichtung nach einem der Ansprüche 17 und 18, wobei: das Video RGB-Werte (Rot-Grün-Blau RGB) von Pixeln in dem Video umfasst; und das Top-k der Merkmale, die zu dem gegebenen Merkmal am ähnlichsten sind, das Top-8 der Merkmale, die zu dem gegebenen Merkmal am ähnlichsten sind, umfasst.
  20. Recheneinrichtung nach einem der Ansprüche 15 bis 19, wobei das künstliche neuronale Netzwerk ein faltungstechnisches neuronales Netzwerk umfasst.
DE102019008142.0A 2019-02-13 2019-11-22 Lernen von Darstellungen unter Nutzung gemeinsamer semantischer Vektoren Pending DE102019008142A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/274,481 US11062460B2 (en) 2019-02-13 2019-02-13 Representation learning using joint semantic vectors
US16/274,481 2019-02-13

Publications (1)

Publication Number Publication Date
DE102019008142A1 true DE102019008142A1 (de) 2020-08-13

Family

ID=69186769

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019008142.0A Pending DE102019008142A1 (de) 2019-02-13 2019-11-22 Lernen von Darstellungen unter Nutzung gemeinsamer semantischer Vektoren

Country Status (5)

Country Link
US (2) US11062460B2 (de)
CN (1) CN111563601A (de)
AU (1) AU2019280047B9 (de)
DE (1) DE102019008142A1 (de)
GB (1) GB2581422B (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2560177A (en) 2017-03-01 2018-09-05 Thirdeye Labs Ltd Training a computational neural network
GB2560387B (en) * 2017-03-10 2022-03-09 Standard Cognition Corp Action identification using neural networks
US11232687B2 (en) 2017-08-07 2022-01-25 Standard Cognition, Corp Deep learning-based shopper statuses in a cashier-less store
US11250376B2 (en) 2017-08-07 2022-02-15 Standard Cognition, Corp Product correlation analysis using deep learning
US10474988B2 (en) 2017-08-07 2019-11-12 Standard Cognition, Corp. Predicting inventory events using foreground/background processing
US10853965B2 (en) 2017-08-07 2020-12-01 Standard Cognition, Corp Directional impression analysis using deep learning
US10650545B2 (en) 2017-08-07 2020-05-12 Standard Cognition, Corp. Systems and methods to check-in shoppers in a cashier-less store
US11200692B2 (en) 2017-08-07 2021-12-14 Standard Cognition, Corp Systems and methods to check-in shoppers in a cashier-less store
US10474991B2 (en) 2017-08-07 2019-11-12 Standard Cognition, Corp. Deep learning-based store realograms
US11232575B2 (en) 2019-04-18 2022-01-25 Standard Cognition, Corp Systems and methods for deep learning-based subject persistence
JP7363107B2 (ja) * 2019-06-04 2023-10-18 コニカミノルタ株式会社 発想支援装置、発想支援システム及びプログラム
US11238093B2 (en) * 2019-10-15 2022-02-01 Adobe Inc. Video retrieval based on encoding temporal relationships among video frames
KR102311798B1 (ko) * 2019-12-12 2021-10-08 포항공과대학교 산학협력단 다중 객체 추적 방법 및 장치
US11645505B2 (en) * 2020-01-17 2023-05-09 Servicenow Canada Inc. Method and system for generating a vector representation of an image
US11303853B2 (en) 2020-06-26 2022-04-12 Standard Cognition, Corp. Systems and methods for automated design of camera placement and cameras arrangements for autonomous checkout
US11361468B2 (en) 2020-06-26 2022-06-14 Standard Cognition, Corp. Systems and methods for automated recalibration of sensors for autonomous checkout
US11461578B2 (en) * 2021-02-04 2022-10-04 Verizon Patent And Licensing Inc. Methods and systems for generating composite image descriptors
WO2022096943A1 (en) * 2021-04-15 2022-05-12 Sensetime International Pte. Ltd. Method and apparatus for processing point cloud data, device, and storage medium
CN112862604B (zh) * 2021-04-25 2021-08-24 腾讯科技(深圳)有限公司 卡证发行机构的信息处理方法、装置、设备及存储介质
CN113743357B (zh) * 2021-09-16 2023-12-05 京东科技信息技术有限公司 视频表征自监督对比学习方法和装置
CN115375980B (zh) * 2022-06-30 2023-05-09 杭州电子科技大学 基于区块链的数字图像的存证系统及其存证方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904187B2 (en) * 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US8229221B2 (en) * 2009-08-04 2012-07-24 Microsoft Corporation Image processing using masked restricted boltzmann machines
WO2012006578A2 (en) * 2010-07-08 2012-01-12 The Regents Of The University Of California End-to-end visual recognition system and methods
US9418705B2 (en) * 2010-08-26 2016-08-16 Blast Motion Inc. Sensor and media event detection system
US9646209B2 (en) * 2010-08-26 2017-05-09 Blast Motion Inc. Sensor and media event detection and tagging system
CA2883091C (en) * 2011-08-25 2020-02-25 Cornell University Retinal encoder for machine vision
US9405974B2 (en) * 2013-11-13 2016-08-02 Xerox Corporation System and method for using apparent size and orientation of an object to improve video-based tracking in regularized environments
US10217058B2 (en) * 2014-01-30 2019-02-26 Microsoft Technology Licensing, Llc Predicting interesting things and concepts in content
US9940633B2 (en) * 2014-04-25 2018-04-10 Conduent Business Services, Llc System and method for video-based detection of drive-arounds in a retail setting
US9373059B1 (en) * 2014-05-05 2016-06-21 Atomwise Inc. Systems and methods for applying a convolutional network to spatial data
US9807473B2 (en) * 2015-11-20 2017-10-31 Microsoft Technology Licensing, Llc Jointly modeling embedding and translation to bridge video and language
US9779774B1 (en) * 2016-07-22 2017-10-03 Microsoft Technology Licensing, Llc Generating semantically meaningful video loops in a cinemagraph
US10496885B2 (en) * 2016-11-11 2019-12-03 Qualcomm Incorporated Unified embedding with metric learning for zero-exemplar event detection
GB2565775A (en) * 2017-08-21 2019-02-27 Nokia Technologies Oy A Method, an apparatus and a computer program product for object detection
US11017550B2 (en) * 2017-11-15 2021-05-25 Uatc, Llc End-to-end tracking of objects
US10685235B2 (en) * 2017-12-28 2020-06-16 Microsoft Technology Licensing, Llc Querying video data with reduced latency and cost
CN109035299B (zh) * 2018-06-11 2023-03-31 平安科技(深圳)有限公司 目标跟踪方法、装置、计算机设备及存储介质
US11601644B2 (en) * 2018-12-11 2023-03-07 Google Llc Image and video coding using machine learning prediction coding models
EP4046401A4 (de) * 2019-10-15 2023-11-01 Magic Leap, Inc. Realitätsübergreifendes system mit drahtlosen fingerabdrücken

Also Published As

Publication number Publication date
GB2581422A (en) 2020-08-19
AU2019280047A1 (en) 2020-08-27
US11836932B2 (en) 2023-12-05
US20200258241A1 (en) 2020-08-13
CN111563601A (zh) 2020-08-21
US20210319566A1 (en) 2021-10-14
US11062460B2 (en) 2021-07-13
GB2581422B (en) 2022-01-19
GB201918277D0 (en) 2020-01-29
AU2019280047B9 (en) 2021-11-18
AU2019280047B2 (en) 2021-11-11

Similar Documents

Publication Publication Date Title
DE102019008142A1 (de) Lernen von Darstellungen unter Nutzung gemeinsamer semantischer Vektoren
CN112446270B (zh) 行人再识别网络的训练方法、行人再识别方法和装置
Hao et al. Detail preserving depth estimation from a single image using attention guided networks
Zhou et al. Learning temporal transformations from time-lapse videos
Hertel et al. Deep convolutional neural networks as generic feature extractors
Stone et al. Teaching compositionality to cnns
Barros et al. A multichannel convolutional neural network for hand posture recognition
EP3923233A1 (de) Verfahren und vorrichtung zum entrauschen von bildern
DE112017002799T5 (de) Verfahren und system zum generieren multimodaler digitaler bilder
EP3557487B1 (de) Generieren von validierungsdaten mit generativen kontradiktorischen netzwerken
DE112020000584T5 (de) Verfahren für unüberwachte bild-zu-bild-übersetzung mit wenigen aufnahmen
Ji et al. Where-what network 1:“Where” and “What” assist each other through top-down connections
WO2020049154A1 (de) Verfahren und vorrichtung zur klassifizierung von objekten
CN112668366B (zh) 图像识别方法、装置、计算机可读存储介质及芯片
DE112010002232T5 (de) Semantische Szenensegmentierung mittels Random multinominalem Logit (RML)
EP3837632A1 (de) Verfahren zum erzeugen eines tiefen neuronalen netzes und zum lokalisieren eines objekts in einem eingangsbild, tiefes neuronales netz, computerprogrammprodukt und computerlesbares speichermedium
DE112020000448T5 (de) Kameraselbstkalibrierungsnetz
DE112019007762T5 (de) Verfahren zum Trainieren eines generativen kontradiktorischen Netzes, modifiziertes Bildgenerierungsmodul und System zum Detektieren von Merkmalen in einem Bild
DE112021005070T5 (de) Multi-hop-transformer für räumlich-zeitliches denken und lokalisierung
DE112017007724T5 (de) System und Verfahren zur Verfolgung von Objekten in einer zeitlichen Sequenz von digitalen Bildern
DE112020005663T5 (de) Objekterkennung mit training aus mehreren datensätzen
Yuan et al. Generative modeling of infinite occluded objects for compositional scene representation
DE102021201124A1 (de) Trainieren von bildklassifizierernetzen
Oeljeklaus An integrated approach for traffic scene understanding from monocular cameras
DE102020200503A1 (de) Verfahren zum Generieren von gelabelten Daten, insbesondere für das Training eines neuronalen Netzes, mittels Verbesserung initialer Label

Legal Events

Date Code Title Description
R012 Request for examination validly filed