DE102018000299A1 - Automatisches Segmentieren von Bildern auf Grundlage von in natürlicher Sprache gegebenen Äußerungen - Google Patents

Automatisches Segmentieren von Bildern auf Grundlage von in natürlicher Sprache gegebenen Äußerungen Download PDF

Info

Publication number
DE102018000299A1
DE102018000299A1 DE102018000299.4A DE102018000299A DE102018000299A1 DE 102018000299 A1 DE102018000299 A1 DE 102018000299A1 DE 102018000299 A DE102018000299 A DE 102018000299A DE 102018000299 A1 DE102018000299 A1 DE 102018000299A1
Authority
DE
Germany
Prior art keywords
image
gram
data
segmentation
token
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
DE102018000299.4A
Other languages
English (en)
Inventor
Zhe Lin
Xin Lu
Xiaohui SHEN
Jimei Yang
Chenxi LIU
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 Systems 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
Priority to US15/458,887 priority Critical patent/US10089742B1/en
Priority to US15/458,887 priority
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE102018000299A1 publication Critical patent/DE102018000299A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/20Image acquisition
    • G06K9/34Segmentation of touching or overlapping patterns in the image field
    • G06K9/342Cutting or merging image elements, e.g. region growing, watershed, clustering-based techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/00624Recognising scenes, i.e. recognition of a whole field of perception; recognising scene-specific objects
    • G06K9/00664Recognising scenes such as could be captured by a camera operated by a pedestrian or robot, including objects at substantially different ranges from the camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/20Image acquisition
    • G06K9/32Aligning or centering of the image pick-up or image-field
    • G06K9/3233Determination of region of interest
    • G06K9/325Detection of text region in scene imagery, real life image or Web pages, e.g. licenses plates, captions on TV images
    • G06K9/3258Scene text, e.g. street name
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/6267Classification techniques
    • G06K9/6268Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches
    • G06K9/627Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches based on distances between the pattern to be recognised and training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/6267Classification techniques
    • G06K9/6268Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches
    • G06K9/627Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches based on distances between the pattern to be recognised and training or reference patterns
    • G06K9/6271Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches based on distances between the pattern to be recognised and training or reference patterns based on distances to prototypes
    • G06K9/6274Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches based on distances between the pattern to be recognised and training or reference patterns based on distances to prototypes based on distances to neighbourhood prototypes, e.g. Restricted Coulomb Energy Networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/72Methods or arrangements for recognition using electronic means using context analysis based on the provisionally recognised identity of a number of successive patterns, e.g. a word
    • G06K9/726Syntactic or semantic context, e.g. balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0445Feedback networks, e.g. hopfield nets, associative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0454Architectures, e.g. interconnection topology using a combination of multiple neural nets
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/08Learning methods
    • G06N3/084Back-propagation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2209/00Indexing scheme relating to methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K2209/01Character recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20101Interactive definition of point of interest, landmark or seed

Abstract

Die Erfindung betrifft das Segmentieren von Bildern auf Grundlage von in natürlicher Sprache gegebenen Äußerungen. Es werden ein Bild und ein n-Gramm mit einer Sequenz von Tokens empfangen. Es werden eine Codierung von Bildmerkmalen und eine Sequenz von Tokenvektoren erzeugt. Ein vollständig faltungstechnisches neuronales Netzwerk identifiziert und codiert die Bildmerkmale. Ein worteinbettendes Modell erzeugt die Tokenvektoren. Ein rekurrentes neuronales Netzwerk (RNN) aktualisiert iterativ eine Segmentierungsabbildung auf Grundlage von Kombinationen der Bildmerkmalscodierung und der Tokenvektoren. Die Segmentierungsabbildung identifiziert, welche Pixel in einem Bildbereich beinhaltet sind, auf den von dem n-Gramm verwiesen wird. Es wird ein segmentiertes Bild auf Grundlage der Segmentierungsabbildung erzeugt. Das RNN kann ein faltungstechnisches multimodales RNN sein. Ein getrenntes RNN, so beispielsweise ein LSTM-Netzwerk (Long Short-Term Memory LSTM), kann iterativ eine Codierung von semantischen Merkmalen auf Grundlage der Ordnung bzw. Reihenfolge von Tokens aktualisieren. Das erste RNN kann die Segmentierungsabbildung auf Grundlage der semantischen Merkmalscodierung aktualisieren.

Description

  • Anwendungen bzw. Apps zum Nachbearbeiten, Kommentieren und Redigieren von Bildern oder für andere derartige Bildbearbeitungsaufgaben sind mittlerweile weit verbreitet. Viele derartige Anwendungen bzw. Apps beinhalten Funktionalitäten zum Segmentieren eines Bildes in mehrere Bereiche. Ein Nutzer will beispielsweise gegebenenfalls einen Abschnitt eines Bildes, der mit einem Objekt im Vordergrund verknüpft ist, und einen weiteren Abschnitt des Bildes, der mit dem Hintergrund des Bildes verknüpft ist, identifizieren. Einige Anwendungen bzw. Apps ermöglichen, dass ein Nutzer ein Begrenzungskästchen um derartige Bereiche zieht. Derartige manuelle Funktionalitäten erfordern jedoch oftmals eine beträchtliche Nutzerinteraktion und bieten lediglich eine grobe Merkmalssegmentierung.
  • Andere bislang verfügbare Systeme ermöglichen, dass ein Nutzer eine in natürlicher Sprache gegebene Äußerung bereitstellt, um ein Bild zu segmentieren. Derartige Systeme identifizieren latente Merkmale des Bildes und latente Merkmale der gesamten Äußerung. Die latenten Merkmale des Bildes und der Äußerung werden zur Segmentierung des Bildes kombiniert. Insbesondere verarbeiten diese bislang verfügbaren Systeme die Äußerung als Ganzes zur Detektion von latenten Merkmalen der Äußerung. Erst nachdem die Äußerung als Ganzes verarbeitet worden ist, werden die latenten Merkmale des Bildes und der Äußerung zur Segmentierung des Bildes kombiniert. In dieser Hinsicht werden die latenten Merkmale des Bildes mit den latenten Merkmalen der Äußerung nur einmal am Ende der Verarbeitung der Äußerung kombiniert. Daher beruht die Segmentierung des Bildes lediglich auf einer einzigen Interaktion der latenten Merkmale des Bildes und der Äußerung, nachdem die Äußerung als Ganzes verarbeitet worden ist. Das Segmentieren eines Bildes bei der Analyse eines Gesamtausdruckes kann jedoch zu einer ungenauen Segmentierung (beispielsweise einer unrichtigen Raumanordnung) führen. Bei einem Beispiel erkennen bestehende Technologien bei der Aussage „der Hund rechts“ ohne die Bildperspektive gegebenenfalls nicht, ob das Hauptaugenmerk der Bildsegmentierung auf „Hund“ oder auf „rechts“ liegt.
  • Zusammenfassung
  • Ausführungsformen der vorliegenden Erfindung betreffen Verfahren und Systeme zum automatischen Segmentieren von Bildern auf Grundlage von geordneten Sequenzen von Text (beispielsweise Tokens oder Worte) in in natürlicher Sprache gegebenen Äußerungen. In diesem Zusammenhang segmentieren hier beschriebene Ausführungsformen iterativ ein Bild auf Grundlage der bestimmten geordneten Sequenz von Worten, die in der in natürlicher Sprache gegebenen Äußerung beinhaltet sind. Die Bedeutung der in natürlicher Sprache gegebenen Äußerungen hängt von der Ordnung bzw. Reihenfolge der Worte in den Äußerungen ab. Das Analysieren eines Bildes in Zusammenwirkung mit einer geordneten Sequenz der in natürlicher Sprache gegebenen Äußerung ermöglicht eine genauere Segmentierung, da die Interaktion zwischen dem Bild und der Äußerung die Ordnung bzw. Reihenfolge der Worte in der Äußerung berücksichtigt.
  • Die verschiedenen Ausführungsformen ermöglichen, dass ein Nutzer ein Bild und eine in natürlicher Sprache gegebene Äußerung bereitstellt. Die Äußerung kann auf ein Objekt, das in dem Bild dargestellt ist, verweisen. Die verschiedenen Ausführungsformen lokalisieren das Objekt in dem Bild automatisch und wählen denjenigen Abschnitt des Bildes aus, der das Objekt darstellt. Insbesondere wenn die in natürlicher Sprache gegebene Äußerung auf ein Objekt (oder einen Bereich), das in dem Bild dargestellt ist, verweist, werden Pixel, die dem angegebenen Objekt (oder Bereich) entsprechen, automatisch identifiziert und/oder ausgewählt. Eine derartige automatische Segmentierung ermöglicht, dass ein Nutzer spezifische Cluster von Pixeln entsprechend dem von Interesse seienden Objekt (oder Bereich) so, wie durch die in natürlicher Sprache gegebene Äußerung angegeben, isoliert.
  • Bei wenigstens einer nichtbeschränkenden Ausführungsformen beinhaltet ein Verfahren ein Empfangen eines Bildes und einer in natürlicher Sprache gegebenen Äußerung in Form eines n-Gramms. Das Bild beinhaltet Pixel. Das Bild kann beispielsweise H×W Pixel beinhalten, wobei H und W positive ganze Zahlen sind. Das n-Gramm beinhaltet einen geordneten Satz von in natürlicher Sprache gegebenen Tokens, die auf einen Bereich des Bildes verweisen. Das n-Gramm kann beispielsweise auf ein Objekt, das innerhalb des Bildes abgebildet ist, verweisen. Bei wenigstens einer Ausführungsform kann das n-Gramm auf Grundlage einer empfangenen in natürlicher Sprache gegebenen Äußerung erzeugt werden. Die Äußerung kann auf ein Objekt verweisen, das innerhalb eines Bereiches des Bildes abgebildet ist. Bei einigen Ausführungsformen kann die Äußerung als Audiodaten empfangen werden, die die in natürlicher Sprache gegebene Äußerung so, wie sie von einem Nutzer gesprochen wird, codieren. Textartige Daten können auf Grundlage der empfangenen Audiodaten und eines Sprache-zu-Text-Modells erzeugt werden. Das n-Gramm kann auf Grundlage der erzeugten textartigen Daten erzeugt werden.
  • Das Verfahren kann ein Erzeugen einer Bilddatenstruktur, die Bildmerkmale des Bildes codiert, beinhalten. Derartige Bildmerkmale können beispielsweise latente und/oder verborgene Bildmerkmale sein, die über faltungstechnische Modelle identifiziert werden. Das Verfahren kann des Weiteren ein Erzeugen eines geordneten Satzes von Tokendatenstrukturen auf Grundlage des Satzes von Tokens beinhalten. Jede Tokendatenstruktur kann latente und/oder verborgene Merkmale der entsprechenden Tokens codieren.
  • Das Verfahren beinhaltet des Weiteren ein Erzeugen und iteratives Aktualisieren einer Segmentierungsdatenstruktur auf Grundlage einer Kombination (oder Verkettung) der Bilddatenstruktur und des Satzes von Tokendatenstrukturen. Die Segmentierungsdatenstruktur codiert eine Segmentierungsmaske (oder Abbildung). Die Segmentierungsabbildung kann als zweidimensionaler Tensor (2D) dargestellt werden und/oder strukturiert sein. Die Segmentierungsabbildung identifiziert, welche Pixel in dem Bereich des Bildes, auf den von dem n-Gramm verwiesen wird, beinhaltet sind. Das Verfahren kann ein segmentiertes Bild auf Grundlage des Bildes und der Segmentierungsabbildung erzeugen und bereitstellen.
  • Das Erzeugen des segmentierten Bildes kann ein Segmentieren des Bildes auf Grundlage der Segmentierungsabbildung beinhalten. Das Bereitstellen des segmentierten Bildes kann ein Übertragen des segmentierten Bildes an eine Nutzerrechenvorrichtung und/oder ein Anzeigen des segmentierten Bildes auf einer Anzeigevorrichtung der Nutzerrechenvorrichtung beinhalten. Bei wenigstens einer Ausführungsform kann das Bereitstellen des Bildes ein Übertragen des segmentierten Bildes an einen entfernt angeordneten (remote) und/oder lokalen Speicher und/oder ein Speichern des segmentierten Bildes in dem entfernt angeordneten (remote) und/oder lokalen Speicher beinhalten.
  • Insbesondere kann die Bilddatenstruktur eine Bildmerkmalsabbildung oder ein Bildmerkmalstensor sein. Im Wesentlichen codiert die Bilddatenstruktur eine Abbildung zwischen Bildmerkmalen und entsprechenden Blöcken oder Abschnitten der Pixel. Die Bildmerkmale können innerhalb des Bildes auf Grundlage eines Bildmerkmalsidentifikationsmodells identifiziert werden. Bei einigen Ausführungsformen kann das Bildmerkmalsidentifikationsmodell über ein trainiertes vollständig faltungstechnisches neuronales Netzwerk (Fully Convolution Neural FCN) implementiert sein.
  • Der geordnete Satz von Tokendatenstrukturen kann auf einem für natürliche Sprache gegebenen Modell beruhen. Jede der Tokendatenstrukturen codiert semantische Merkmale eines entsprechenden Tokens des geordneten Satzes von Tokens. Die Ordnung bzw. Reihenfolge des Satzes von Tokendatenstrukturen beruht auf der Ordnung bzw. Reihenfolge des Satzes von in natürlicher Sprache gegebenen Tokens und entspricht dieser. Bei einigen Ausführungsformen ist jede der Tokendatenstrukturen ein Tokenvektor auf Grundlage des entsprechenden Tokens. Bei anderen Ausführungsformen ist ein Tokendatenelement eine Tokendatenstruktur und/oder ein Tokenvektor.
  • Das für natürliche Sprache gegebene Modell kann beispielsweise ein trainiertes worteinbettendes Modell sein. Das worteinbettende Modell wird dafür eingesetzt, jedes Token auf einen Tokenvektor in einem mehrdimensionalen Raum abzubilden. Bei einigen Ausführungsformen beinhaltet der Tokenvektorraum 1000 oder mehr Dimensionen. Mittels der Erzeugung von Tokenvektoren werden die Tokens in dem mehrdimensionalen Raum eingebettet. Der Abstand zwischen Paaren von Tokens in dem Raum gibt die semantischen Ähnlichkeiten zwischen den Paaren von Tokens an. Derartige worteinbettende Modelle können mittels der Erzeugung von semantischen Verteilungen innerhalb großer semantischer Korpora trainiert werden. Bei wenigstens einer Ausführungsform wird das „Word2Vec“-Sprachmodell zur Einbettung der Tokens innerhalb des Tokenraumes eingesetzt.
  • Während der iterativen Aktualisierung der Segmentierungsdatenstruktur beruhen iterative und/oder sukzessive Aktualisierungen der Segmentierungsdatenstruktur auf der Segmentierungsdatenstruktur und einer Kombination aus der Bilddatenstruktur und einer der Tokendatenstrukturen. Die spezifische Tokendatenstruktur, die mit der Bilddatenstruktur für die verschiedenen Iterationen kombiniert wird, beruht auf der Ordnung bzw. Reihenfolge des Satzes von Tokens. Dies bedeutet, dass eine Eins-zu-Eins-Abbildung zwischen der Ordnung bzw. Reihenfolge des Satzes von Tokens und der Ordnung bzw. Reihenfolge von iterativen Aktualisierungen der Segmentierungsdatenstruktur vorhanden ist. Die Ordnung bzw. Reihenfolge der Iterationen der Aktualisierung der Segmentierungsdatenstruktur wird entsprechend der Ordnung bzw. Reihenfolge des Satzes von Tokens geordnet.
  • Bei einigen Ausführungsformen beinhaltet das Verfahren ein Erzeugen und iteratives Aktualisieren einer n-Gramm-Datenstruktur, die semantische Merkmale der Ordnung bzw. Reihenfolge des Satzes von Tokens codiert. Iterative Aktualisierungen der n-Gramm-Datenstruktur beruhen auf der n-Gramm-Datenstruktur und einer der Tokendatenstrukturen. Es kann eine Eins-zu-Eins-Abbildung zwischen der Ordnung bzw. Reihenfolge des Satzes von Tokens und der Ordnung bzw. Reihenfolge von iterativen Aktualisierungen der n-Gramm-Datenstruktur vorhanden sein. Die Ordnung bzw. Reihenfolge der Iterationen bei der Aktualisierung der n-Gramm-Datenstruktur ist entsprechend der Ordnung bzw. Reihenfolge des Satzes von Tokens geordnet. Die iterativen Aktualisierungen der Segmentierungsdatenstruktur können des Weiteren auf einer Kombination der Bilddatenstruktur und der aktualisierten n-Gramm-Datenstruktur entsprechend der Ordnung bzw. Reihenfolge des Satzes von Tokens beruhen.
  • Bei wenigstens einigen Ausführungsformen beruhen die iterativen Aktualisierungen der n-Gramm-Datenstruktur auf einem trainierten rekurrenten neuronalen Netzwerk (Recurrent Neural Network RNN), so beispielsweise unter anderem auf einem trainierten neuronalen LSTM-Netzwerk (Long Short-Term Memory LSTM). Ein derartiges RNN reicht die iterativen Aktualisierungen der n-Gramm-Datenstruktur weiter. Bei verschiedenen Ausführungsformen beruhen die iterativen Aktualisierungen der Segmentierungsdatenstruktur auf einem weiteren oder getrennten RNN, das die iterativen Aktualisierungen der Segmentierungsdatenstruktur weiterreicht. Bei anderen Ausführungsformen beruhen die iterativen Aktualisierungen der Segmentierungsdatenstruktur auf einem faltungstechnischen multimodalen rekurrenten neuronalen Netzwerk (mRNN), das die iterativen Aktualisierungen der Segmentierungsdatenstruktur weiterreicht.
  • Die verschiedenen Ausführungsformen können ein Trainieren eines oder mehrerer RNNs auf Grundlage von Trainingsdaten beinhalten. So können beispielsweise Trainingsverfahren des Maschinenlernens eingesetzt werden, so beispielsweise unter anderem die Rückverfolgung (back-propagation).
  • Figurenliste
    • 1 zeigt eine exemplarische Ausführungsform eines Systems, das ein Bild auf Grundlage einer in natürlicher Sprache gegebenen Äußerung segmentieren kann, entsprechend verschiedenen hier erläuterten Ausführungsformen.
    • 2 zeigt eine exemplarische Ausführungsform einer Bildsegmentierungsanwendung bzw. App (Image Segmentation Application ISA) zum Segmentieren eines Bildes auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und einer Rekurrenz eines Zwischensegmentierungsmodells entsprechend den verschiedenen hier vorgestellten Ausführungsformen.
    • 3 zeigt schematisch sukzessive iterative Schritte der Rekurrenz der Zwischensegmentierungs-ISA von 2.
    • 4A zeigt eine Ausführungsform eines Prozessablaufes zur Segmentierung eines Bildes auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und einer Rekurrenz eines Zwischensegmentierungsmodells entsprechend den verschiedenen hier vorgestellten Ausführungsformen.
    • 4B zeigt eine Ausführungsform eines Prozessablaufes zum Einsetzen der ISA von 2 zur iterativen Erzeugung eines Segmentierungstensors auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und einer Rekurrenz eines Zwischensegmentierungsmodells.
    • 5 zeigt eine alternative Ausführungsform einer Bildsegmentierungsanwendung bzw. App (ISA) zum Segmentieren eines Bildes auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und eines multimodalen rekurrenten neuronalen Modells entsprechend den verschiedenen hier vorgestellten Ausführungsformen.
    • 6 zeigt sukzessive iterative Schritte bei der multimodalen rekurrenten neuronalen ISA von 5:
    • 7A zeigt eine Ausführungsform eines Prozessablaufes zum Segmentieren eines Bildes auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und eines multimodalen rekurrenten neuronalen Modells entsprechend verschiedenen hier vorgestellten Ausführungsformen.
    • 7B zeigt eine Ausführungsform eines Prozessablaufes zum Einsetzen der ISA von 5 zum iterativen Erzeugen eines Segmentierungstensors auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und eines multimodalen rekurrenten neuronalen Modells.
    • 8 zeigt eine Ausführungsform eines Prozessablaufes zum iterativen Erzeugen von rekurrenten neuronalen Modellen und multimodalen rekurrenten neuronalen Modellen entsprechend verschiedenen hier vorgestellten Ausführungsformen.
    • 9 ist ein Blockdiagramm einer exemplarischen Rechenvorrichtung, in der Ausführungsformen der vorliegenden Offenbarung eingesetzt werden können.
  • Detailbeschreibung
  • Im Sinne des Vorliegenden können die Begriffe „in natürlicher Sprache gegebene Äußerung“ oder einfach „Äußerung“ dafür verwendet werden, eine oder mehrere Sätze oder Satzfragmente in einer beliebigen von einer oder mehreren natürlichen Sprachen anzugeben. Damit kann eine in natürlicher Sprache gegebene Äußerung einen geordneten Satz oder eine Sequenz von in natürlicher Sprache gegebenen Worten, Leerstellen, Satzzeichen oder dergleichen beinhalten.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Token“ die Grundeinheiten einer in natürlicher Sprache gegebenen Äußerung. Dies bedeutet, dass ein Token ein ununterbrochener String von Schriftzeichen bzw. Buchstaben zwischen Leerstellen und/oder Satzzeichen innerhalb einer Äußerung sein kann. Ein Token kann beispielsweise ein in einer Äußerung beinhaltetes in natürlicher Sprache gegebenes Wort sein. Ein Token kann damit auch ein lexikalisches Objekt sein.
  • Im Sinne des Vorliegenden kann der Begriff „semantische Merkmale“ eines Tokens oder einer anderen lexikalischen Einheit konzeptartige Komponenten des Tokens bezeichnen. Das Konzept, das durch ein Token verkörpert ist (das heißt die Bedeutung des Tokens), kann aus den Unterschieden und Ähnlichkeiten zwischen den semantischen Merkmalen des Tokens und den semantischen Merkmalen anderer Tokens und den Konzepten, die durch diese anderen Tokens verkörpert sind, erkennbar sein. Semantische Merkmale eines Tokens können damit semantische Komponenten und/oder semantische Eigenschaften des Tokens sein.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „n-Gramm“ ein Datencodieren, Darstellen und/oder auf andere Weise erfolgendes Angeben einer in natürlicher Sprache gegebenen Äußerung. Bei verschiedenen Ausführungsformen können die Daten strukturierte Daten sein. Bei anderen Ausführungsformen können die Daten unstrukturierte Daten sein. Im Wesentlichen ist ein n-Gramm eine Angabe, das jedes Token innerhalb einer in natürlicher Sprache gegebenen Äußerung umfasst, wobei die Datenstruktur die Ordnung bzw. Reihenfolge der Tokens in der Äußerung beibehält. Damit kann ein n-Gramm ein geordneter Satz oder eine Sequenz von Tokens sein. Das Satzfragment „eine halbvolle Tasse mit Kaffee“ ist beispielsweise eine in natürlicher Sprache gegebene Äußerung, die fünf Tokens beinhaltet, nämlich „eine“, „halbvolle“, „Tasse“, „mit“ und „Kaffee“, und zwar in einer bestimmten Ordnung bzw. Reihenfolge. Die Äußerung kann von der n-Gramm-Datenstruktur {„eine“, „halbvolle“, „Tasse“, „mit“, „Kaffee“} strukturiert, codiert, dargestellt oder auf andere Weise angegeben werden. Dieses spezielle n-Gramm ist ein 5-Gramm.
  • Im Sinne des Vorliegenden können die Begriffe „latente Merkmale“ und „verborgene Merkmale“ gleichbedeutend verwendet werden, um auf Merkmale eines Objektes, die nicht direkt beobachtbar sind, zu verweisen. Verschiedene hier erläuterte Modelle werden beispielsweise dafür eingesetzt, latente Merkmale von Bildern, Tokens, n-Grammen und dergleichen zu bestimmen und zu codieren, das heißt Merkmale, die aus den Bildern, Tokens und n-Grammen heraus ohne die Unterstützung der eingesetzten Modelle nicht direkt beobachtbar sind.
  • Im Sinne des Vorliegenden kann der Begriff „Codierung“ eine Darstellung darunterliegender Information bezeichnen. Information kann beispielsweise in verschiedenen Strukturen oder Elementen codiert sein, so beispielsweise unter anderem Vektoren, Tensoren, Datenfelder (data arrays) und dergleichen. Eine derartige Information, die durch verschiedene Codierungen dargestellt wird, kann beispielsweise latente und/oder verborgene Merkmale von Bildern, Tokens, n-Grammen und dergleichen, wie auch verschiedene Abbildungen beinhalten, ist jedoch nicht hierauf beschränkt. Bei einer nichtbeschränkenden Ausführungsform können Bildmerkmale beispielsweise in einer oder mehreren Datenstrukturen, so beispielsweise unter anderem einem Tensor, codiert sein.
  • Zusammengefasst gilt, dass die verschiedenen Ausführungsformen das Segmentieren von Bildern auf Grundlage von geordneten Sequenzen von Text (beispielsweise Tokens oder Worte) in in natürlicher Sprache gegebenen Äußerungen betreffen. Die verschiedenen Ausführungsformen ermöglichen, dass ein Nutzer ein Bild und eine in natürlicher Sprache gegebene Äußerung bereitstellt. Die Äußerung kann auf ein Objekt, das in dem Bild abgebildet ist, verweisen. Die verschiedenen Ausführungsformen lokalisieren automatisch das Objekt in dem Bild und wählen denjenigen Abschnitt des Bildes aus, der das Objekt darstellt. Gibt die in natürlicher Sprache gegebene Äußerung ein in dem Bild beinhaltetes Objekt (oder einen Bereich) an, so werden Pixel, die dem angegebenen Objekt (oder Bereich) entsprechen, automatisch identifiziert und/oder ausgewählt. Eine derartige Segmentierung ermöglicht, dass ein Nutzer spezifische Cluster von Pixeln, die dem von Interesse seienden Objekt (oder Bereich) entsprechen, so, wie durch die in natürlicher Sprache gegebene Äußerung angegeben, isoliert. Durch automatisches Isolieren und/oder Auswählen von mittels der Äußerung angegebenen Pixeln kann ein Nutzer Bilder auf Grundlage von Objekten und/oder Bereichen ohne Weiteres bearbeiten, anstatt dass er manuell eine pixelweise erfolgende Bearbeitung durchführen müsste.
  • Viele bislang verfügbare Bildsegmentierungssysteme ermöglichen, dass Nutzer eine Begrenzungsform (beispielsweise ein Begrenzungskästchen) zeichnen oder auf andere Weise manuell bereitstellen, um einen von Interesse seienden Bereich innerhalb eines Bildes zu segmentieren.
  • Andere bislang verfügbare Bildsegmentierungssysteme ermöglichen, dass ein Nutzer eine in natürlicher Sprache gegebene Äußerung zur Segmentierung eines Bildes bereitstellt. Obwohl andere bislang verfügbare Systeme latente Merkmale des Bildes und der Äußerung zur Segmentierung des Bildes einsetzen, segmentieren die bislang verfügbaren Systeme das Bild erst, nachdem die Äußerung als Ganzes verarbeitet worden ist. Dies bedeutet, dass die bislang verfügbaren Systeme Äußerung-zu-Bild-Interaktionen anstelle von Token-zu-Bild-Interaktionen zur Segmentierung des Bildes einsetzen.
  • Damit erzeugen die bislang verfügbaren Systeme eine Äußerung-zu-Bild-Interaktion, das heißt, die latenten Merkmale des Bildes werden mit den latenten Merkmalen der Äußerung nur einmal am Ende der Verarbeitung der Äußerung kombiniert. Damit beruht die Segmentierung des Bildes lediglich auf einer einzigen Interaktion der latenten Merkmale des Bildes und der Äußerung, nachdem die Äußerung als Ganzes verarbeitet worden ist. Derartige Äußerung-zu-Bild-Interaktionen vernachlässigen gegebenenfalls Wort-zu-Bild-Interaktionen, das heißt eine sequenzielle Verarbeitung von Wort-zu-Bild-Interaktionen, die das Bild auf Grundlage der Ordnung bzw. Reihenfolge der in der Äußerung beinhalteten Worte iterativ segmentieren.
  • Des Weiteren sind die bislang verfügbaren äußerungsbasierten Systeme im Allgemeinen durch das Format der in natürlicher Sprache gegebenen Äußerung beschränkt, das heißt, die Äußerung muss durch ein vorbestimmtes Äußerungsformat strukturiert sein. Kann das von Interesse seiende Objekt (oder der Bereich) nicht in dem beschränkten Äußerungsformat angegeben werden, haben derartige Systeme Schwierigkeiten beim Identifizieren des Bildbereiches zur Segmentierung. Zeigt ein Bild beispielsweise zwei oder mehr Objekte ähnlichen Typs, so sind bislang verfügbare Systeme gegebenenfalls nicht dazu in der Lage, zwischen den zwei Objekten auf Grundlage der formatierten Äußerung zu unterscheiden.
  • Im Gegensatz zu den bislang verfügbaren Systemen segmentieren die verschiedenen Ausführungsformen das Bild auf Grundlage der bestimmten geordneten Sequenz von in natürlicher Sprache gegebenen Worten (beispielsweise Tokens), die in der in natürlicher Sprache gegebenen Äußerung beinhaltet sind, iterativ. Damit segmentieren die Ausführungsformen ein Bild auf Grundlage der Sequenz von Tokens, die in der Äußerung beinhaltet sind. Jedes Token wird sequenziell in der Ordnung bzw. Reihenfolge, die in der natürlichen Äußerung angegeben ist, ausgewählt. Die Segmentierung wird anfänglich auf Grundlage des ersten Tokens erzeugt. Die Segmentierung wird auf Grundlage einer aktuellen Segmentierung und des nächsten Tokens in der in natürlicher Sprache gegebenen Äußerung iterativ aktualisiert. Die iterative Segmentierung geht weiter, bis jedes Token verarbeitet worden ist und die Segmentierung auf Grundlage eines jeden Tokens, das in der Sequenz der Äußerung verarbeitet wird, aktualisiert ist. Entsprechend setzen die verschiedenen Ausführungsformen iterativ mehrere Wort-zu-Bild-Interaktionen anstelle einer einzigen Äußerung-zu-Bildinteraktion, die am Ende der Verarbeitung der Äußerung durchgeführt wird, ein.
  • Die Nutzung einer derartigen iterativen Segmentierung entsprechend einer geordneten Sequenz von in natürlicher Sprache gegebenen Worten ermöglicht, dass ein Nutzer eine Äußerung, die ein innerhalb eines Bildes abgebildetes Objekt angibt, ausspricht, und in Reaktion hierauf ein genau segmentiertes Bild automatisch vorgelegt bekommt. Vorteilhafterweise ermöglichen die verschiedenen Ausführungsformen eine Unterscheidung zwischen zwei oder mehr Objekten eines ähnlichen oder gleichwertigen Typs, die innerhalb des Bildes dargestellt sind, auf Grundlage einer beliebig strukturierten in natürlicher Sprache gegebenen Äußerung. Die verschiedenen Ausführungsformen setzen trainierte für natürliche Sprache gegebene Modelle (Natural Language Models NLMs) ein, so beispielsweise unter anderem worteinbettende Modelle zur Bestimmung der „Bedeutung“ einer Äußerung über die in der Äußerung beinhalteten Substantive hinausgehend. Dies bedeutet, dass die Ausführungsformen eingesetzt werden, um in der Äußerung beinhaltete Merkmale zur Unterscheidung zwischen mehreren in dem Bild abgebildeten Objekten zu identifizieren und einzusetzen.
  • Ein auf der linken Seite eines Bildes befindlicher Bereich kann beispielsweise einen männlichen Erwachsenen abbilden, während ein auf der rechten Seite des Bildes befindlicher anderer Bereich ein weibliches Kind abbilden kann. Auf Grundlage von in natürlicher Sprache gegebenen Äußerungen wie (unter anderem) „die Person links“, „der Mann“ oder „der Erwachsene“ erzeugen die verschiedenen Ausführungsformen ein segmentiertes Bild, das nur diejenigen Pixel, die mit dem männlichen Erwachsenen verknüpft sind, isoliert. Auf ähnliche Weise erzeugen die verschiedenen Ausführungsformen ein segmentiertes Bild, das nur diejenigen Pixel, die mit dem weiblichen Kind verknüpft sind, isoliert, auf Grundlage von Äußerungen wie beispielsweise (unter anderem) „die Person rechts“, „das Mädchen“ oder „das Kind“.
  • Des Weiteren kann unter Nutzung der hier beschriebenen Ausführungsformen eine Form, die mit einer Grenze der segmentierten Pixel verknüpft ist, unregelmäßig sein, das heißt, die segmentierten Pixel müssen nicht innerhalb eines Vielecks oder innerhalb eines anderen Bereiches, der über eine Reihe von Liniensegmenten definiert ist, liegen. Wird beispielsweise ein von Interesse seiendes Objekt, das innerhalb eines Objektes abgebildet ist, (beispielsweise ein Mensch) segmentiert, so werden nur diejenigen Pixel, die dem von Interesse seienden Objekt entsprechen, segmentiert. Die Form der Grenze des segmentierten Bereiches kann damit unregelmäßig sein. Dies bedeutet, dass die Form der Grenze der segmentierten Pixel zu dem von Interesse seienden Objekt und nicht zu einem Begrenzungskästchen oder einem anderen geometrischen Objekt passt.
  • Da darüber hinaus verschiedene Ausführungsformen für natürliche Sprache gegebene Modelle einsetzen, die auf Grundlage großer Korpora von in natürlicher Sprache gegebenen Äußerungen trainiert sind, um die nutzerseitig bereitgestellte Äußerung zu verarbeiten, muss die nutzerseitig bereitgestellte Äußerung nicht zu einer vorbestimmten Struktur und/oder einem vorbestimmten Format passen. Vielmehr kann die in natürlicher Sprache gegebene Äußerung, die ein von Interesse seiendes Objekt, das in dem Bild abgebildet ist, angibt, unstrukturiert und unformatiert sein.
  • Im Betrieb und auf abstrakter Ebene kann ein Nutzer ein auf einer Anzeigevorrichtung einer Nutzerrechenvorrichtung angezeigtes Bild betrachten. Die Ausführungsformen setzen ein oder mehrere trainierte vollständig faltungstechnische neuronale Netzwerke (Fully Convolutional Neural Networks FNNs) ein, um automatisch verschiedene Merkmale des Bildes zu identifizieren und/oder zu bestimmen. In Reaktion auf die Betrachtung des Bildes kann der Nutzer eine in natürlicher Sprache gegebene Äußerung, die ein in dem Bild abgebildetes von Interesse seiendes Objekt (oder einen Bereich) angibt, aussprechen (oder eintippen).
  • Sprache-zu-Text-Dienste erzeugen automatisch ein textartiges n-Gramm auf Grundlage der gesprochenen Äußerung. Verschiedene Ausführungsformen setzen ein oder mehrere für natürliche Sprache gegebene Modelle (NLMs) ein, um jedes der Tokens des n-Gramms sequenziell zu verarbeiten. Das Bild kann auf Grundlage der Sequenz von verarbeiteten Tokens und der Bildmerkmale iterativ segmentiert werden. Kurzum, verschiedene rekurrente neuronale Netzwerke (RNN) werden trainiert und eingesetzt, um das Bild auf Grundlage einer Kombination aus den Bildmerkmalen und der Sequenz von verarbeiteten Tokens iterativ zu segmentieren. Im Wesentlichen reichen ein oder mehrere RNNs eine aktuelle Segmentierung zur Aktualisierung der Segmentierung beim nächsten iterativen Vorgang weiter (oder greifen auf diese zu) und setzen diese ein.
  • Verschiedene Ausführungsformen setzen ein RIS-Modell (Recurrence of Intermediate Segmentation RIS, Rekurrenz einer Zwischensegmentierung) bei den iterativen Segmentierungen ein. Bei derartigen RIS-Ausführungsformen können die Tokens, sobald sie mittels eines NLM verarbeitet worden sind, sequenziell eingesetzt werden, um verschiedene Merkmale des n-Gramms auf Grundlage der Ordnung bzw. Reihenfolge der Tokens zu bestimmen. Bei einigen Ausführungsformen wird beispielsweise ein trainiertes RNN iterativ eingesetzt, um verschiedene Merkmale des n-Gramms zu bestimmen / zu identifizieren und iterativ die n-Gramm-Merkmale auf Grundlage der sequenziellen Verarbeitung der Tokens zu aktualisieren. Bei einer Ausführungsform kann ein neuronales LSTM-Netzwerk eingesetzt werden, um die Merkmale des n-Gramms iterativ zu bestimmen.
  • Bei RIS-Ausführungsformen können die Merkmale des n-Gramms und des Bildes zur Verarbeitung durch ein weiteres RNN kombiniert werden. Das weitere RNN kann darauf trainiert werden, das Bild auf Grundlage der Kombination aus Bildmerkmalen und n-Gramm-Merkmalen zu segmentieren. Dieses RNN kann die Segmentierung des Bildes auf Grundlage der iterativen Aktualisierungen an den n-Gramm-Merkmalen erzeugen und iterativ aktualisieren. Die iterativen Aktualisierungen an den n-Gramm-Merkmalen beruhen auf der sequenziellen Verarbeitung der Tokens. Die iterativen Aktualisierungen an der Segmentierung (das heißt die Zwischensegmentierung) setzen sich fort, bis das endgültige Token zur Aktualisierung der Segmentierung eingesetzt wird.
  • Daher beruht die Segmentierung für die erste Iteration des Segmentierungsprozesses auf dem ersten Token des n-Gramms. Über die internen Zustände des zweiten RNN greift man auf die anfängliche Segmentierung für die nächste Iteration zurück (oder reicht diese weiter). Für die zweite Iteration des Segmentierungsprozesses wird die (Zwischen-)Segmentierung iterativ auf Grundlage wenigstens des zweiten Tokens des n-Gramms und der weitergereichten Anfangssegmentierung iterativ aktualisiert. Diese iterativen Vorgänge des sequenziellen Auswählens eines Tokens des n-Gramms und des Aktualisierens der Segmentierung auf Grundlage des ausgewählten Tokens und der weitergereichten Segmentierung setzen sich fort, bis das letzte (oder abschließende) Token des n-Gramms verarbeitet worden ist. Dies bedeutet, dass sich die iterative Segmentierung fortsetzt, bis jedes Token zur Segmentierung (in der Sequenz des n-Gramms) beigetragen hat.
  • Bei anderen Ausführungsformen wird ein multimodales rekurrentes neuronales Netzwerk (mRNN) eingesetzt, um das Bild auf Grundlage der in natürlicher Sprache gegebenen Äußerung iterativ zu segmentieren. Im Gegensatz zu RIS-Ausführungsformen kombinieren anstelle des Einsetzens zweier getrennter rekurrierender (das heißt iterativ aktualisierter und weitergereichter) Datenstrukturen, nämlich der iterativ aktualisierten n-Gramm-Merkmale und der iterativ aktualisierten Segmentierung, mRNN-Ausführungsformen die Information zu einem einzigen mRNN. Derartige Ausführungsformen vereinheitlichen daher die Information, die mit den n-Gramm-Merkmalen und der Segmentierung verknüpft ist, zu einem einzigen mehrdimensionalen und multimodalen RNN (mRNN). Bei einigen Ausführungsformen ist das mehrdimensionale und multimodale RNN ein multimodales LSTM (mLSTM). Die multimodale Information (Tokeninformation, Bildinformation, Rauminformation) und dergleichen interagiert während der iterativen Segmentierung.
  • Bei mRNN-Ausführungsformen werden die verarbeiteten Tokens mit den Merkmalen des Bildes sequenziell kombiniert. Ein mRNN kombiniert die Modalitäten eines jeden der Bildmerkmale und der verarbeiteten Tokens zur iterativen Aktualisierung der Segmentierung. Derartige Ausführungsformen ermöglichen die Interaktion einer reichhaltigen multimodalen Information.
  • Exemplarisches Bildsegmentierungssystem
  • 1 zeigt eine exemplarische Ausführungsform eines Systems 100, das dazu in der Lage ist, ein Bild auf Grundlage einer in natürlicher Sprache gegebenen Äußerung zu segmentieren, entsprechend verschiedenen hier erläuterten Ausführungsformen. Das System 100 beinhaltet verschiedene Nutzerrechenvorrichtungen, so beispielsweise unter anderem einen Laptop 102, ein Smartphone 104, ein Desktop 106, ein Tablet 108, eine VA-Vorrichtung (Virtual Assistant VA, virtueller Assistent) 110 und dergleichen. Eine beliebige Nutzerrechenvorrichtung, so beispielsweise unter anderem die Nutzerrechenvorrichtungen 102 bis 108, können dazu eingesetzt werden, wenigstens einen Teil der Dienste und/oder Funktionalitäten im Zusammenhang mit der VA-Vorrichtung 110 bereitzustellen. Ein VA-Dienst kann beispielsweise innerhalb der Software, die auf dem Smartphone 104 läuft, eingebettet sein.
  • Bei anderen Ausführungsformen kann das System 100 mehr oder weniger Nutzerrechenvorrichtungen beinhalten. Das System 100 kann beispielsweise zusätzliche Mobilvorrichtungen, tragbare Vorrichtungen und dergleichen beinhalten. Eine exemplarische und nichtbeschränkende Ausführungsform einer Rechenvorrichtung wird wenigstens in Verbindung mit der Rechenvorrichtung 900 von 9 erläutert. Ein allgemeines oder spezifisches Kommunikationsnetzwerk, so beispielsweise unter anderem das Kommunikationsnetzwerk 112, kann kommunikativ mit wenigstens einem Teil der Nutzerrechenvorrichtungen 102 bis 110 gekoppelt sein.
  • Das Kommunikationsnetzwerk 112 kann ein beliebiges Kommunikationsnetzwerk sein, darunter nahezu beliebige drahtgebundene oder drahtlose Kommunikationstechnologien, drahtgebundene und/oder drahtlose Kommunikationsprotokolle und dergleichen. Es sollte einsichtig sein, dass das Kommunikationsnetzwerk 112 ein nahezu beliebiges Kommunikationsnetzwerk sein kann, das mehrere Rechenvorrichtungen und Datenbanken derart kommunikativ gekoppelt, dass Nutzer von Rechenvorrichtungen in die Lage versetzt werden, Information über die Rechenvorrichtungen auszutauschen.
  • Das System 100 kann eine oder mehrere Speichervorrichtungen, so beispielsweise unter anderem die Speichervorrichtung 114, beinhalten. Die Speichervorrichtung 114 kann einen flüchtigen und einen nichtflüchtigen Speicher für Digitaldaten beinhalten. Die Speichervorrichtung 114 kann nichttemporäre Speichermedien beinhalten. Das Kommunikationsnetzwerk 112 kann die Speichervorrichtung 114 mit wenigstens einem Teil der Nutzerrechenvorrichtungen 102 bis 110 kommunikativ koppeln. Bei einigen Ausführungsformen kann die Speichervorrichtung 114 eine logische Speichervorrichtung sein, die über mehrere physische Speichervorrichtungen logisch verteilt ist. Die Speichervorrichtung 114 kann damit eine virtualisierte Speichervorrichtung sein. Ein oder mehrere „Cloudspeicher“-Dienste und/oder Service-Provider können die Speichervorrichtung 114 beispielsweise bereitstellen, implementieren und/oder ermöglichen.
  • Die Speichervorrichtung 114 kann Trainingsdaten 116 speichern. Im Sinne des Vorliegenden können die Trainingsdaten 116 verschiedene Trainingsdaten beinhalten, die dazu eingesetzt werden, die verschiedenen hier erläuterten Modelle iterativ zu erzeugen und/oder zu trainieren. Verschiedene Ausführungsformen des iterativen Erzeugens derartiger Modelle werden nachstehend erläutert, darunter unter anderem der Prozess 700 von 7. Die Speichervorrichtung 114 kann zudem Bilddaten 118 speichern. Das Bild 120 kann in den Bilddaten 118 beinhaltet sein.
  • Eine oder mehrere Nutzerrechenvorrichtungen 102 bis 110 können Funktionalitäten einer Bildsegmentierurigsanwendung bzw. App (ISA) 130 hosten, ausführen oder auf andere Weise ermöglichen. 1 zeigt ein Tablet 108, das die ISA 130 hostet. Andere Ausführungsformen unterliegen keinen Bedingungen. Die ISA 130 kann beispielsweise auf mehrere Rechenvorrichtungen verteilt sein. Bei wenigstens einer Ausführungsform werden die Funktionalitäten der ISA 130 über das Web und/oder Clouddienste bereitgestellt.
  • Verschiedene Ausführungsformen einer ISA, so beispielsweise unter anderem die ISA, werden wenigstens in Verbindung mit der ISA 200 von 2 und der ISA 500 von 5 erläutert. Die ISA 130 kann gleichwertige, ähnliche und/oder alternative Module, Engines, Komponenten, Funktionalitäten und dergleichen der ISA 200 und/oder der ISA 500 beinhalten. Des Weiteren können die verschiedenen Ausführungsformen einer ISA 130 zumindest Teile der verschiedenen hier erläuterten Prozesse durchführen, ausführen oder auf andere Weise ermöglichen, darunter unter anderem die Prozesse 400 von 4A, 440 von 4B, 700 von 7A, 740 von 7B und/oder 800 von 8. Die ISA 130 beinhaltet eine Bildmerkmalsengine 140, eine n-Gramm-Merkmalsengine 160 und eine Bildsegmentierungsengine 180. Weitere Ausführungsformen einer ISA können mehr oder weniger und/oder alternative Komponenten im Vergleich zu der ISA 130 beinhalten.
  • Zusammengefasst gilt, dass bei einigen Ausführungsformen die ISA 130 auf einem RIS-Modell (Recurrence of Intermediate Segmentation RIS, Rekurrenz der Zwischensegmentierung) beruht und daher eine RIS-ISA ist. Bei anderen Ausführungsformen beruht die ISA 130 auf einem mRNN-Modell (Multimodal Recurrent Neural Network mRNN) und ist daher eine mRNN-ISA. Die ISA 130 empfängt ein Eingabebild, so beispielsweise unter anderem das Bild 120. Eine beliebige der Nutzerrechenvorrichtungen 102 bis 110 kann ein Bild bereitstellen. Bei einigen Ausführungsformen kann das Bild 120 von Bilddaten 118 abgerufen und an eine oder mehrere Rechenvorrichtungen, die die ISA 130 hosten, übertragen werden.
  • Die ISA 130 empfängt zudem eine oder mehrere in natürlicher Sprache gegebene Äußerungen. Eine derartige Äußerung kann von einem Nutzer gesprochen werden, von einem Nutzer manuell eingetippt oder mittels anderer derartiger Mittel eingegeben werden. Die ISA 130 strukturiert die in natürlicher Sprache gegebene Äußerung als n-Gramm, so beispielsweise unter anderem als das n-Gramm 128, codiert diese oder stellt diese auf andere Weise dar. Das n-Gramm codiert die in natürlicher Sprache gegebene Äußerung, so beispielsweise unter anderem „der Mann in dem gestreiften Hemd“. Die in natürlicher Sprache gegebene Äußerung steht in Beziehung zu dem Eingabebild. Auf Grundlage des n-Gramms segmentiert die ISA 130 das Bild. Die ISA 130 stellt das segmentierte Bild, so beispielsweise unter anderem das segmentierte Bild 134, bereit.
  • Die ISA 130 kann verschiedene Engines, Module, Komponenten und dergleichen beinhalten, die verschiedene Funktionalitäten und Vorgänge der ISA 130 ermöglichen. Die ISA 130 beinhaltet beispielsweise eine Bildmerkmalsengine 140, eine n-Gramm-Merkmalsengine 160 und eine Bildsegmentierungsengine 180. Wie in Verbindung mit den verschiedenen Ausführungsformen erläutert worden ist, nehmen Bildmerkmalsengines, so beispielsweise unter anderem die Bildmerkmalsengine 140 ein Bestimmen, Detektieren und/oder Identifizieren von verschiedenen Bildmerkmalen eines Bildes 120 auf Grundlage eines oder mehrerer Modelle des Maschinenlernens und/oder neuronaler Netzwerke vor. Derartige Modelle des Maschinenlernens und/oder neuronale Netzwerke beinhalten unter anderem trainierte Bildmerkmalsidentifikationsmodelle und/oder faltungstechnische neuronale Netzwerke.
  • n-Gramm-Merkmalsengines, so beispielsweise unter anderem die n-Gramm-Merkmalsengine 160, empfängt das n-Gramm und nimmt ein Bestimmen, Detektieren und/oder Identifizieren von verschiedenen Merkmalen des n-Gramms auf Grundlage eines oder mehrerer Modelle des Maschinenlernens und/oder neuronaler Netzwerke vor. Derartige Modelle des Maschinenlernens und/oder neuronale Netzwerke beinhalten unter anderem ein trainiertes für natürliche Sprache gegebenes Modell, das über ein rekurrentes neuronales Netzwerk (RNN) implementiert ist. Bei wenigstens einer Ausführungsform ist das RNN ein neuronales LSTM-Netzwerk (Long Short-Term Memory LSTM).
  • Bildsegmentierungsengines, so beispielsweise unter anderem die Bildsegmentierungsengine 180, kombinieren die Merkmale des Bildes und des n-Gramms zur Erzeugung und iterativen Aktualisierung einer Segmentierungsabbildung oder Maske für das Bild. Eine Segmentierungsabbildung oder Maske identifiziert, welche Pixel in demjenigen Bereich des Bildes beinhaltet sind, auf den von dem n-Gramm (oder der in natürlicher Sprache gegebenen Äußerung) verwiesen wird. Durch Einsetzen der Segmentierungsabbildung kann das Bild segmentiert werden, um das ausgegebene segmentierte Bild 132 zu erzeugen.
  • Insbesondere kann die Bildmerkmalsengine 140 ein oder mehrere trainierte faltungstechnische neuronale Modelle und/oder Netzwerke zur Bestimmung und/oder Identifizierung von abstrahierten Merkmalen innerhalb des Bildes 120 einsetzen. Die Bildmerkmalsengine 140 codiert die abstrahierten Merkmale des Bildes 120 in strukturierten Daten und/oder einer Datenstruktur. Bei einigen Ausführungsformen kann die Bildmerkmalsdatenstruktur eine Bildmerkmalsabbildung und/oder ein Bildmerkmalstensor sein. Im Allgemeinen beinhaltet ein Tensor strukturierte Daten, die in einem Feld angeordnet sein können. Ein eindimensionaler Tensor (1D) kann ein Vektor oder ein 1D-Feld sein oder wenigstens auf diese Art dargestellt und/oder codiert sein. Ein zweidimensionaler Tensor (2D) kann eine Matrix oder ein 2D-Feld sein oder wenigstens auf diese Art dargestellt und/oder codiert sein. Die verschiedenen Ausführungsformen können Tensoren von nahezu beliebiger Dimension einsetzen. Die Bildmerkmalsengine 140 stellt die Bildmerkmalsdatenstruktur für die Bildsegmentierungsengine 180 bereit. Bei einigen Ausführungsformen wird das Bild 120 zudem für die Bildsegmentierungsengine 180 bereitgestellt.
  • Bei wenigstens einer Ausführungsform kann ein Nutzer das n-Gramm 128 akustisch für wenigstens eine der Nutzerrechenvorrichtungen 102 bis 110 aussprechen. Sprache-zu-Text-Dienste, die von einer der Nutzerrechenvorrichtungen (und/oder der ISA 130) bereitgestellt werden, können die akustische Sprache in ein textartiges n-Gramm umwandeln. Wie in 1 gezeigt ist, kann eine derartige nichtbeschränkende Ausführungsform eines n-Gramms die in natürlicher Sprache gegebene Äußerung „der Mann in dem gestreiften Hemd“ codieren. Bei dieser Ausführungsform beinhaltet das n-Gramm 128 den geordneten Satz oder die geordnete Sequenz der in natürlicher Sprache gegebenen Tokens {„der“, „Mann“, „in“, „dem“, „gestreiften“, „Hemd“}.
  • Das n-Gramm 128 kann für die n-Gramm-Merkmalsengine 160 bereitgestellt werden. Bei verschiedenen Ausführungsformen nimmt die n-Gramm-Merkmalsengine 160 ein Bestimmen, Detektieren und/oder Identifizieren von verschiedenen in natürlicher Sprache gegebenen Merkmalen des n-Gramms 160 vor. Die n-Gramm-Merkmalsengine 160 kann verborgene Merkmale des n-Gramms 128 in strukturierten Daten und/oder einer Datenstruktur codieren. Im Sinne des Vorliegenden können verborgene Daten eines n-Gramms verschiedenen verborgenen Variablen und/oder latenten Variablen des n-Gramms entsprechen. Dies bedeutet, dass die n-Gramm-Merkmalsengine 160 ein latentes variables Modell (so beispielsweise unter anderem ein rekurrentes neuronales Modell) einsetzen kann, um verborgene und/oder latente Merkmale des n-Gramms zu identifizieren. Bei einigen Ausführungsformen kann die n-Gramm-Merkmalsengine 140 beispielsweise ein worteinbettendes Sprachmodell einsetzen, um einen Tokenvektor für jedes Token in dem n-Gramm zu erzeugen. Bei wenigstens einer Ausführungsform setzt die n-Gramm-Merkmalsengine 160 des Weiteren ein oder mehrere trainierte rekurrente neuronale Modelle und/oder Netzwerke ein, um einen verborgenen n-Gramm-Merkmalsvektor auf Grundlage der Tokenvektoren und der spezifischen Sequenz von Tokens, die in dem n-Gramm 128 beinhaltet sind, zu erzeugen. Der verborgene n-Gramm-Merkmalsvektor kann iterativ erzeugt werden. Als solches kann das rekurrente neuronale Modell und/oder Netzwerk den aktuellen Zustand des verborgenen n-Gramm-Merkmalsvektors weiterreichen (oder auf andere Weise darauf zugreifen). Der aktuelle Zustand des verborgenen n-Gramm-Merkmalsvektors kann zur Aktualisierung des Zustandes des verborgenen n-Gramm-Merkmalsvektors bei einer nachfolgenden Iteration der Erzeugung des verborgenen n-Gramm-Merkmalsvektors verwendet werden. Damit kann bei einigen Ausführungsformen die n-Gramm-Merkmalsdatenstruktur ein verborgener n-Gramm-Merkmalsvektor und/oder ein Tokenvektor sein. Die n-Gramm-Merkmalsengine 160 stellt die n-Gramm-Merkmalsdatenstruktur für die Bildsegmentierungsengine 180 bereit.
  • Die Bildsegmentierungsengine 180 kombiniert die Bildmerkmalsdatenstruktur und die n-Gramm-Merkmalsdatenstruktur. Die Kombination kann mittels einer oder mehrerer Faltungs- und/oder Entfaltungsschichten eines neuronalen Modells oder Netzwerkes, die in der Bildsegmentierungsengine 180 beinhaltet sind und/oder von dieser eingesetzt werden, verarbeitet werden. Bei wenigstens einer Ausführungsform kann die Bildsegmentierungsengine 180 ein anderes rekurrentes neuronales Modell oder Netzwerk (und zwar eines, das von dem rekurrenten neuronalen Modell, das bei der n-Gramm-Merkmalsengine 160 eingesetzt wird, getrennt ist) einsetzen, um eine Segmentierungsabbildung iterativ zu erzeugen. Als solches kann das rekurrente neuronale Modell und/oder Netzwerk den aktuellen Zustand der Segmentierungsabbildung weiterreichen (oder auf andere Weise darauf zugreifen). Der aktuelle Zustand der Segmentierungsabbildung kann zur Aktualisierung des Zustandes der Segmentierungsabbildung bei einer nachfolgenden Iteration der Erzeugung der Segmentierungsabbildung verwendet werden.
  • Die Bildsegmentierungsengine 180 kann die Segmentierungsabbildung zur Segmentierung des Bildes 120 auf Grundlage des n-Gramms 128 einsetzen. Dies bedeutet, dass die Segmentierungsengine 180 das segmentierte Bild 132 erzeugen und bereitstellen kann. Das segmentierte Bild 132 kann auf einer Anzeigevorrichtung einer beliebigen Nutzerrechenvorrichtung, so beispielsweise unter anderem der Nutzerrechenvorrichtungen 102 bis 110, angezeigt werden. Das segmentierte Bild 132 kann in den Bilddaten 118 gespeichert werden.
  • Man beachte, dass das Eingabebild 120 einen ersten Mann 122, einen zweiten Mann 124 und einen dritten Mann 126 beinhaltet, wobei der erste Mann 122 der eigentliche „Mann in dem gestreiften Hemd“ ist, was der durch das n-Gramm 128 bereitgestellten Beschreibung entspricht. In dem segmentierten Bild 132 segmentiert eine Segmentierung 134 „der Mann in dem gestreiften Hemd“.
  • Segmentieren von Bildern auf Grundlage eines RIS-Modells
  • 2 zeigt eine exemplarische Ausführungsform einer Bildsegmentierungsanwendung bzw. App (ISA) 200 zum Segmentieren eines Bildes auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und eines RIS-Modells (Recurrence of Intermediate Segmentation RIS, Rekurrenz der Zwischensegmentierung) entsprechend verschiedenen hier vorgestellten Ausführungsformen. Die ISA 200 kann damit eine RIS-ISA sein.
  • Die ISA 200 empfängt ein Eingabebild 220 und ein Eingabe-n-Gramm 228. Wie in 2 gezeigt ist, beinhaltet ein nichtbeschränkendes Beispiel eines n-Gramms den geordneten Satz und/oder die geordnete Sequenz der in natürlicher Sprache gegebenen Tokens {„der“, „Imbiss“, „sah“, „sehr“, „verlockend“, „aus“}. Das n-Gramm 228 codiert die in natürlicher Sprache gegebene Äußerung „der Imbiss sah sehr verlockend aus“. Die Bedeutung der in natürlicher Sprache gegebenen Äußerung, die in dem n-Gramm 228 codiert ist, verweist auf das Bild 220. Das n-Gramm 228 wird von der ISA 200 zur Segmentierung des Bildes 220 und zur Erzeugung des segmentierten Bildes 232 eingesetzt.
  • Ähnlich wie bei der ISA 130 von 1 beinhaltet die ISA 200 eine Bildmerkmalsengine 240, eine n-Gramm-Merkmalsengine 260 und eine Bildsegmentierungsengine 280, die jeweils ähnliche Module, Komponenten und/oder Funktionalitäten wie die entsprechenden Engines der ISA 130 beinhalten können. Bei einigen Ausführungsformen beinhaltet die Bildmerkmalsengine 240 ein Bildmerkmalsidentifikationsmodul 242 und ein Bilddatenverpackungsmodul 244. Die n-Gramm-Merkmalsengine 260 kann ein Tokenauswählermodul 262, ein Natürliche-Sprache-Modell-Modul 264 und ein erstes RNM-Modul (rekurrentes neuronales Modell RNM) (das heißt ein RNM-A-Modul 266) beinhalten. Die Bildsegmentierungsengine 280 kann ein Faltungs-/Entfaltungsmodul 282, ein Segmentierungsmodul 286 und ein zweites RNM-Modul (RNM-B-Modul 284) beinhalten. Andere Ausführungsformen einer ISA können weniger oder mehr Engines, Module und/oder Komponenten beinhalten.
  • Die Funktionalitäten und der Betrieb der ISA 200 sind iterativ und werden wenigstens in Verbindung mit 3, 4A und 4B beschrieben. Zusammengefasst gilt, dass das Bildmerkmalsidentifikationsmodul 242 eine Bildmerkmalsabbildung auf Grundlage eines empfangenen Eingabebildes 220 und eines Bildmerkmalsidentifikationsmodells (Image Feature Identification Module IFIM) erzeugen kann. Das Bildmerkmalsidentifikationsmodul 242 kann beispielsweise ein trainiertes vollständig faltungstechnisches neuronales Netzwerk (FCN) zum Identifizieren der Merkmale des Bildes beinhalten und/oder einsetzen. Derartige Merkmale können in einer Bildmerkmalsabbildung codiert sein, die wenigstens in Verbindung mit 3 erläutert wird. Zusammengefasst gilt, dass eine Bildmerkmalsabbildung eine Abbildung zwischen den durch das IFIM identifizierten Bildmerkmalen und entsprechenden Blöcken oder Belegungen (tiles) von Bildpixeln codiert. Die Bildmerkmale können latente und/oder verborgene Bildmerkmale sein, die mittels des IFIM identifiziert werden.
  • Das Bilddatenverpackungsmodul 244 kann eine Kombination aus der Bildmerkmalsabbildung und Raumkoordinaten von Belegungen (tiles) der Bildmerkmalsabbildung erzeugen. Verschiedene Ausführungsformen des Kombinierens der Bildmerkmalsabbildung und der Raumkoordinaten der Belegungen (tiles) der Bildmerkmalsabbildung werden wenigstens in Verbindung mit 3 erläutert. Das Bilddatenverpackungsmodul 244 kann auch eine Bildmerkmalsdatenstruktur, so beispielsweise unter anderem einen Bildmerkmalstensor, auf Grundlage der Kombination und/oder Verkettung der Bildmerkmalsabbildung und der Raumkoordinaten der Belegungen (tiles) erzeugen. Wie in 2 gezeigt ist, kann das Bilddatenverpackungsmodul 244 die Bildmerkmalsstrukturen für das Faltungs-/Entfaltungsmodul 282 der Bildsegmentierungsengine 280 bereitstellen.
  • Mit Blick auf die n-Gramm-Merkmalsengine 260 kann das Tockenauswählermodul 262 sequenziell jedes Token des n-Gramms 228 auswählen und das ausgewählte Token für das Natürliche-Spräche-Modell-Modul 264 bereitstellen. Das (Natürliche-)Sprache-Modellmodul 264 kann ein trainiertes worteinbettendes Sprachmodell beinhalten und/oder einsetzen, um eine Tokendatenstruktur für jedes Token, so beispielsweise unter anderem einen Tokenvektor, zu erzeugen.
  • Zusammengefasst gilt, dass Tokenvektoren (und andere hier diskutierte Tokendatenstrukturen) semantische Merkmale des entsprechenden Tokens codieren. Worteinbettende Sprachmodelle betten Tokens in einem mehrdimensionalen Raum ein. Der Abstand zwischen Paaren von Tokens in dem Raum gibt semantische Ähnlichkeiten zwischen dem Paar von Tokens an. Derartige worteinbettende Modelle können mittels der Erzeugung von semantischen Verteilungen innerhalb großer semantischer Korpora trainiert werden. Ein exemplarisches, jedoch nicht beschränkendes Beispiel kann das für natürliche Sprache gegebene „Word2Vec“-Modell einsetzen. Andere Ausführungsformen unterliegen nicht dieser Beschränkung und können andere und/oder alternative worteinbettende Modelle zur Erzeugung des Tokenvektors für jedes Token einsetzen.
  • Das RNM-A-Modul 266 kann eine verborgene n-Gramm-Merkmalsdatenstruktur, so beispielsweise unter anderem einen verborgenen n-Gramm-Merkmalsvektor, auf Grundlage einer Sequenz von Tokenvektoren erzeugen und iterativ aktualisieren. Die verborgene n-Gramm-Merkmalsdatenstruktur kann latente und/oder verborgene Merkmale des n-Gramms, die durch das RNM-A-Modul 266 identifiziert werden, codieren oder auf andere Weise darstellen. Die Erzeugung und iterative Aktualisierung der verborgenen n-Gramm-Merkmalsdatenstruktur werden wenigstens in Verbindung mit 3 erläutert. Zusammengefasst gilt, dass das RNM-A ein trainiertes RNM und/oder ein trainiertes rekurrentes neuronales Netzwerk (RNN) beinhalten und/oder einsetzen kann, um den verborgenen n-Gramm-Merkmalsvektor auf Grundlage der Sequenz von Tokenvektoren zu erzeugen und iterativ zu aktualisieren. Während einer ersten Iteration beruht der erzeugte verborgene n-Gramm-Merkmalsvektor beispielsweise auf dem Tokenvektor, der dem ersten Token (das heißt „der“) des n-Gramms 228 entspricht. Wie in 2 gezeigt ist, reicht das RNM-A einen oder mehrere vorhergehende Zustände (das heißt Werte der Vektorkomponenten) des verborgenen n-Gramm-Merkmalvektors für den Einsatz beim Aktualisieren von nachfolgenden Zuständen des verborgenen n-Gramm-Merkmalsvektors bei nachfolgenden Iterationen weiter. Während einer zweiten Iteration beruht das Aktualisieren des verborgenen n-Gramm-Merkmalsvektors auf dem anfänglich erzeugten verborgenen n-Gramm-Merkmalsvektor und dem Tokenvektor, der dem zweiten Token (das heißt „Imbiss“) des n-Gramms 228 entspricht. Derartige iterative Vorgänge setzen sich fort, bis das letzte, endgültige und/oder abschließende Token des n-Gramms verarbeitet worden ist.
  • Bei wenigstens einer nichtbeschränkenden Ausführungsform kann das RNM-A ein trainiertes erstes LSTM-Modell und/oder ein neuronales Netzwerk beinhalten und/oder darauf beruhen. Daher kann das RNM-A-Modul 226 ein erstes LSTM-Modell und/oder ein neuronales Netzwerk (das heißt ein LSTM-A) beinhalten. Andere Ausführungsformen unterliegen nicht diesen Beschränkungen, und es können andere Typen von RNM und/oder RNN in dem RNM-A-Modul 266 beinhaltet sein oder von diesem eingesetzt werden.
  • Nach jedem Iterationsvorgang des RNM-A-Moduls 266 kann der iterativ aktualisierte verborgene n-Gramm-Merkmalsvektor für das Faltungs-/Entfaltungsmodul 282 des Bildsegmentierungsmoduls 280 bereitgestellt werden. Die Bildsegmentierungsengine 280 kann ein oder mehrere trainierte neuronale Netzwerke beinhalten. Derartige neuronale Netzwerke können in einer beliebigen Kombination aus dem Faltungs-/Entfaltungsmodul 282, dem RNM-B-Modul 284 und/oder dem Segmentierungsmodul 286 beinhaltet und/oder zwischen diesen verteilt sein. Die neuronalen Netzwerke können verschiedene Faltungsschichten (das heißt Codierungsschichten) und/oder Entfaltungsschichten (das heißt Decodierungsschichten) beinhalten. Das Faltungs-/Entfaltungsmodul 282 beinhaltet eine oder mehrere Faltungsschichten. Bei einigen Ausführungsformen beinhaltet das Faltungs-/Entfaltungsmodul 282 eine oder mehrere Entfaltungsschichten. Wie nachstehend erläutert wird, können die neuronalen Netzwerke wenigstens teilweise RNN-Netzwerke sein. Das RNM-B-Modul 284 kann ein weiteres RNN (das heißt RNN-B) beinhalten, das von dem RNN, das in dem RNM-A-Modul 266 beinhaltet ist, getrennt ist. Bei einer Ausführungsform ist das RNN-B ein neuronales LSTM-Netzwerk (das heißt ein LSTM-B).
  • Wie nachstehend noch detaillierter wenigstens in Verbindung mit 3 beschrieben wird, kann das Faltungs-/Entfaltungsmodul 282 den Bildmerkmalstensor mit dem iterativ aktualisierten verborgenen n-Gramm-Merkmalsvektor kombinieren und/oder verketten. Des Weiteren kann das Faltungs-/Entfaltungsmodul 282 eine oder mehrere Faltungsschichten und/oder Entfaltungsschichten eines neuronalen Modells oder neuronalen Netzwerkes einsetzen, um zusätzliche Merkmale in den strukturierten Daten (das heißt den verketteten Bildmerkmalstensor und den verborgenen n-Gramm-Merkmalsvektor) zu codieren und/oder zu decodieren.
  • Wie in 2 gezeigt ist, kann das Faltungs-/Entfaltungsmodul 282 die strukturierten Daten für das RNM-B-Modul 284 bereitstellen. Das RNM-B-Modul 284 kann das RNN-B einsetzen, um einen Segmentierungstensor und/oder eine Segmentierungsabbildung auf Grundlage der Verkettung des Bildmerkmalstensors und des verborgenen n-Gramm-Merkmalsvektors zu erzeugen und iterativ zu aktualisieren. Während einer ersten Iteration beruhen der Segmentierungstensor und die entsprechende Segmentierungsabbildung beispielsweise auf der Verkettung des Bildmerkmalsvektors und des ersten Zustandes des verborgenen n-Gramm-Merkmalsvektors (das heißt des verborgenen n-Gramm-Merkmalsvektors auf Grundlage des ersten Tokens „der“ des n-Gramms 228). Das RNN-B reicht den Zustand des Segmentierungstensors / der Segmentierungsabbildung weiter, damit dieser/diese bei der zweiten Iteration eingesetzt werden kann. Dies bedeutet, dass während der zweiten Iteration der Segmentierungstensor / die Segmentierungsabbildung auf Grundlage des vorherigen Zustandes des Segmentierungstensors / der Segmentierungsabbildung und der Verkettung des Bildmerkmalstensors und des verborgenen n-Gramm-Merkmalsvektors auf Grundlage der ersten und zweiten Tokens des n-Gramms 228 (das heißt „der“ und „Imbiss“) aktualisiert wird.
  • Nach der letzten Iteration der Verarbeitung der Tokens des n-Gramms 228 werden der iterativ erzeugte Segmentierungstensor und/oder die Abbildung und das Bild 220 für das Segmentierungsmodul 286 bereitgestellt. Das Segmentierungsmodul 286 segmentiert das Bild 220 auf der Segmentierungsabbildung zur Erzeugung des segmentierten Bildes 232. Die Segmentierungsabbildung kann beispielsweise als Segmentierungsmaske eingesetzt werden. Eine pixelweise angewandte UND-Operation zwischen entsprechenden Pixeln der Segmentierungsabbildung und des Bildes 220 kann zur Erzeugung des segmentierten Bildes 232 eingesetzt werden.
  • 3 zeigt schematisch aufeinanderfolgende iterative Schritte der RIS-ISA 200 von 2. Insbesondere zeigt 3 sechs Schritte beim Betrieb 300 der ISA 200 (das heißt die Schritte 302 bis 312). Die Schritte 302 bis 312 sind geordnet und mittels des ganzzahligen Index t indexiert. Bei dem Schritt 302 (t=0) werden das Bild 320 und das n-Gramm 328 empfangen. Das n-Gramm 328 codiert die in natürlicher Sprache gegebene Äußerung „Hund an der Vorderseite“. Während der iterativen Schritte 304 bis 310 (t=1, t=2, t=3 beziehungsweise t=4) wird ein Segmentierungstensor erzeugt und iterativ auf Grundlage eines Bildes 320 und des n-Gramms 328 aktualisiert. Der Segmentierungstensor codiert die Segmentierungsabbildung. Die Segmentierungsabbildung kann :daher iterativ bei jedem dieser Schritte aktualisiert werden. Bei Schritt 312 (t=5) wird die durch den Segmentierungstensor codierte Segmentierungsabbildung zum Segmentieren des Bildes 320 eingesetzt, und das segmentierte Bild 332 wird bereitgestellt.
  • Insbesondere kann das Bild 320 ein zweidimensionales Bild (2D) sein, das durch strukturierte Daten dargestellt wird. Das empfangene Bild kann beispielsweise als dreidimensionaler Tensor (3D) der Dimensionalität H×W×D dargestellt und/oder codiert werden, wobei H die Anzahl der vertikalen Pixel, W die Anzahl der horizontalen Pixel und D die Pixeltiefe ist. Bei einer Ausführungsform kann jedes Pixel drei Kanäle (das heißt RGB) beinhalten, weshalb das Bild 320 als Bildtensor der Dimensionalität H×W×3 codiert ist.
  • Der Schritt 302 (t=0) stellt schematisch den Betrieb der Bildmerkmalsengine 340, die das Bild 320 verarbeitet, dar. Die Bildmerkmalsengine 340 kann ähnliche und/oder gleichwertige Funktionalitäten, Komponenten, Module und dergleichen wenigstens für die Bildmerkmalsengine 140 der ISA 130 und/oder die Bildmerkmalsengine 240 der ISA 200 beinhalten. Die Bildmerkmalsengine 340 beinhaltet beispielsweise ein oder mehrere vollständig faltungstechnische neuronale Netzwerke (FCN 342), die an dem Bild 320 arbeiten, um eine Bildmerkmalsabbildung zu erzeugen. Das FCN 342 kann in einem Bildmerkmalsidentifikationsmodul der Bildmerkmalsengine 340 beinhaltet sein. Im Wesentlichen wird das FCN 342 darauf trainiert, ein Bildmerkmalsidentifikationsmodell (IFIM) zur Identifizierung von abstrakten Merkmalen eines Bildes und zur Erzeugung einer Bildmerkmalsabbildung zu implementieren.
  • Der eine oder die mehreren Faltungskerne (convolution kernels) des FCN 342 können solche sein, bei denen die Bildmerkmalsabbildung H'×W' Belegungen (tiles) beinhaltet. Im Sinne des Vorliegenden ist eine „Belegung“ (tile) der Bildmerkmalsabbildung die grundlegende „Einheit“ der Bildmerkmalsabbildung. Jede Belegung (tile) der Bildmerkmalsabbildung bedeckt (oder belegt) einen rechteckigen Bereich aus H/H' × W/W' Pixeln. Bei einer nichtbeschränkenden Ausführungsform gilt: H'=H/32 und W=W/32. Die Dimensionalitätstiefe der Merkmalsabbildungsbelegungen (oder die Anzahl von Kanälen) kann durch eine positive ganze Zahl DI ausgedrückt werden. Bei einer Ausführungsform gilt: DI=1000. Damit kann die Bildmerkmalsabbildung in strukturierten Daten, die als H'×W'×1000-Tensor strukturiert sind, codiert werden. Auf diese Weise erzeugt das FCN 342 bei der in 3 gezeigten Ausführungsform die Bildmerkmalsabbildung, die als H'×W'×1000-Tensor strukturiert ist, oder gibt diese auf andere Weise aus.
  • Die Raumkoordinaten einer jeden der Belegungen werden als Raumkoordinatendatenstruktur 346 dargestellt. Bei einer Ausführungsform sind acht Raumkoordinatendimensionen einer jeden Belegung der Bildmerkmalsabbildung gegeben. Bei verschiedenen Ausführungsformen kann die normierte Horizontalposition mittels dreier Dimensionen beschrieben werden, während die normierte Vertikalposition mittels weiterer drei Dimensionen beschrieben wird, wobei jeder der Normierungsparameter 1/W' und 1/H' mittels einer einzigen Dimension beschrieben wird. Entsprechend können die Raumkoordinaten der Belegungen der Bildmerkmalsabbildung als H'×W'×8-Tensor codiert werden.
  • Die Bildmerkmalsengine 340 beinhaltet beinhaltet eine Verkettungskomponente (oder Kombinationskomponente) 344, die die Bildmerkmalsabbildung und die Raumkoordinaten 346 zur Erzeugung eines Bildmerkmalstensors kombiniert (oder verkettet). Die Verkettungskomponente 344 kann in einem Bilddatenverpackungsmodul der Bildmerkmalsengine 340 beinhaltet sein. Wie in 3 dargestellt ist, kann die Dimensionalität des Bildmerkmalstensors gleich H'×W'×1008 (das heißt gleich der Verkettung der H'×W'×1000-Bildmerkmalsabbildung und des H'×W'×8-Raumkoordinatentensors) sein.
  • Insbesondere kann der Bildmerkmalstensor, der eine Kombination aus der Bildmerkmalsabbildung und den Raumdimensionen seiner Belegungen (tiles) ist, als Daten codiert werden, die als (H'×W'×DI + 8)-Tensor strukturiert sind. Der Bildmerkmalstensor ist mittels der Pixel des Bildes definiert. Als solches kann der Bildmerkmalstensor mittels v i , j D I + 8
    Figure DE102018000299A1_0001
    definiert werden, wobei i und j Pixelindizes sind.
  • Die Schritte 304, 306, 308 und 310 (t=1, t=2, t=3 beziehungsweise t=4) zeigen schematisch eine erste Iteration im Iterationsbetrieb einer n-Gramm-Merkmalsengine 360 und einer das Bild 320 verarbeitenden Bildsegmentierungsengine 380. Auf ähnliche Weise kann die n-Gramm-Merkmalsengine 360 ähnliche und/oder gleichwertige Funktionalitäten, Komponenten, Module und dergleichen wenigstens wie die n-Gramm-Merkmalsengine 160 der ISA 130 und/oder die n-Gramm-Merkmalsengine 260 der ISA 200 beinhalten.
  • Insbesondere wird das n-Gramm 328 von der n-Gramm-Merkmalsengine 360 empfangen. Jeder iterative Schritt 304 bis 310 entspricht einem Token (in einer Sequenz genommen) des empfangenen n-Gramms 328. Dies bedeutet, dass, wie in 3 gezeigt ist, der Schritt 304 dem ersten Token des n-Gramms 328 (das heißt „Hund“) entspricht, der Schritt 306 dem zweiten Token des n-Gramms 328 (das heißt „an“) entspricht, der Schritt 308 dem dritten Token des n-Gramms 328 (das heißt „der“) entspricht, und der Schritt 310 dem vierten (und abschließenden) Token des n-Gramms 328 (das heißt „Vorderseite) entspricht.
  • Bei jedem der Schritte 304 bis 310 wird ein worteinbettendes für natürliche Sprache gegebenes Modell 364 der n-Gramm-Merkmalsengine 360 eingesetzt, um einen Tokenvektor auf Grundlage des entsprechenden Tokens zu erzeugen. Es kann beispielsweise das worteinbettende Sprachmodell „Word2Vec“ eingesetzt werden, um die Sequenz der Tokenvektoren zu erzeugen. Bei anderen Ausführungsformen können andere worteinbettende Sprachmodelle zur Erzeugung der Tokenvektoren eingesetzt werden. Das worteinbettende Sprachmodell kann in einem NLM-Modul (Natural Language Module NLM, für natürliche Sprache gegebenes Modell) der n-Gramm-Merkmalsengine 360 beinhaltet sein.
  • Wenn die Iteration bei Schritt 310 endet, ist eine Sequenz (oder ein geordneter Satz) von vier Tokenvektoren mittels des worteinbettenden Sprachmodells 364 erzeugt worden. Der geordnete Satz von Tokenvektoren kann als S={w1, wS, ..., wT} angegeben werden. Das empfangene n-Gramm 328 wird daher als S={wt} mit t ∈ (1, 2, 3, 4) codiert, wobei w1 ein Tokenvektor auf Grundlage des Tokens „Hund“ ist, w2 ein Tokenvektor auf Grundlage des Tokens „an“ ist, w3 ein Tokenvektor auf Grundlage des Tokens „der“ ist, und w4 ein Tokenvektor auf Grundlage des Tokens „Vorderseite“ ist.
  • Bei Schritt 304 wird ein RNN (das heißt das RNN-A 366), das in der n-Gramm-Merkmalsengine 360 beinhaltet ist, eingesetzt, um einen verborgenen n-Gramm-Merkmalsvektor auf Grundlage des Tokenvektors des entsprechenden Tokens (das heißt w1) zu erzeugen. Das RNN-A 366 kann in dem RNN-A-Modul beinhaltet sein. Das RNN-A-Modul kann in der n-Gramm-Merkmalsengine beinhaltet sein. Bei verschiedenen Ausführungsformen kann das RNN-A ein neuronales LSTM-Netzwerk (das heißt ein LSTM-A) sein. Wie bereits angemerkt, kann der verborgene n-Gramm-Merkmalsvektor von dem RNN-A 366 weitergereicht werden, und/oder es kann von diesem darauf zugegriffen werden. Bei jedem der iterativen Schritte 306 bis 310 wird der verborgene n-Gramm-Zustandsvektor auf Grundlage des Tokenvektors des entsprechenden Tokens und wenigstens des vorherigen Zustandes des verborgenen n-Gramm-Vektors aktualisiert. Der verborgene n-Gramm-Vektor kann bei jedem Schritt als ht dargestellt werden. Entsprechend ist ht der verborgene Zustand des RNN-A bei der t+1 Iteration. Die Dimensionalität von ht kann als Ds angegeben werden. Bei einer nichtbeschränkenden Ausführungsform gilt: Ds=1000.
  • Bei Schritt 306 wird der verborgene n-Gramm-Merkmalsvektor (h2) auf Grundlage von w2 und h1 aktualisiert. Auf ähnliche Weise wird bei Schritt 308 der verborgene n-Gramm-Merkmalsvektor (h3) auf Grundlage von w3 und h2 aktualisiert. Bei anderen Ausführungsformen verfügt das RNN-A gegebenenfalls über einen längeren Speicher, das heißt, bei Schritt 310 wird der verborgene n-Gramm-Merkmalsvektor (h4) auf Grundlage von w4 und h3, h2 und/oder h1 aktualisiert.
  • Bei Ausführungsformen, bei denen das RNN-A ein LSTM (das heißt ein neuronales LSTM-A-Netzwerk) ist, können die Eingabe-Gates (input gates) als Vektor i dargestellt werden, die Vergessen-Gates (forget gates) können als Vektor f dargestellt werden, die Ausgabe-Gates (output gates) können als Vektor o dargestellt werden, und die Speicher-Gates (memory gates) werden als Vektor g dargestellt. Die Dimensionalität der Gates des LSTM-A ist mit n angegeben. Des Weiteren werden die Speicherzustände bei der Iteration t durch den Vektor ct dargestellt. Bei einer derartigen Ausführungsform kann das iterative Betriebs-LSTM-A (bei der Iteration t) die nachfolgenden Operationen beinhalten: L S T M : ( w t , h t 1 , c t 1 ) ( h t , c t )
    Figure DE102018000299A1_0002
    ( i f o g ) = ( s i g m s i g m s i g m t a n h ) M 4 n , D S + n ( w t h t 1 )
    Figure DE102018000299A1_0003
    c t = f c t 1 + i g
    Figure DE102018000299A1_0004
    h t = o tanh ( c t )
    Figure DE102018000299A1_0005
  • Sigm bezeichnet eine Sigmoid-Funktion. Eine Belegungskomponente (tiling component) 368 kann den verborgenen n-Gramm-Merkmalsvektor (das heißt den verborgenen Zustand des LSTM-A: ht) belegen (tile), um eine Datenstruktur (beispielsweise einen Tensor) mit der Dimensionalität H'×W'×Ds zu erzeugen. M4n,D S+n ist ein Matrix-/Tensoroperator, der einen oder mehrere Kerne des LSTM-A codiert. Wie vorstehend angemerkt worden ist, gilt bei einigen Ausführungsformen DS=1000. Wie in 3 gezeigt ist, kann der verborgene n-Gramm-Merkmalsvektor daher, wie in 3 gezeigt ist, mittels der Belegungskomponente 368 als H'×W'×1000-Tensor belegt und codiert werden.
  • Eine Verkettungskomponente 388 der Bildsegmentierungsengine 360 kann den Bildmerkmalstensor (der als (H'×W'×DI + 8)-Tensor codiert und/oder strukturiert ist) und den verborgenen n-Gramm-Merkmalsvektor (der als H'×W'×DS-Tensor codiert und/oder strukturiert ist) kombinieren. Entsprechend kann das Verkettungsmodul 388 einen (H'×W'×DS + DI + 8)-Tensor erzeugen. Wie in 3 gezeigt ist, ist bei wenigstens einer Ausführungsform der Tensor ein (H'×W'×2008)-dimensionaler Tensor. Die Verkettungskomponente 388 kann in einem Faltungs-/Entfaltungsmodul der Bildsegmentierungsengine 380 beinhaltet sein.
  • Eine oder mehrere faltungstechnische und/oder entfaltungstechnische Neuronalnetzwerkschichten 382, die in einem derartigen Faltungs-/Entfaltungsmodul beinhaltet sind, können weitere Codierungen und/oder Decodierungen des (H'×W'×DS + DI + 8)-Tensors beinhalten. Wie in 3 gezeigt ist, erzeugen bei wenigstens einer Ausführungsform die Faltungs-/Entfaltungsschichten eine Codierung der Dimensionalität H'×W'×500 auf Grundlage des (H'×W'×DS + DI + 8)-Tensors. Der (H'×W'×500)-Tensor wird als Eingabe für ein zweites RNN (RNN-B 384) bereitgestellt, das in einer Bildsegmentierungsengine 360 beinhaltet ist. Das RNN-B 384 kann in einem RNM-B-Modul der Bildsegmentierungsengine 360 beinhaltet sein.
  • Das RNN-B 384 kann einen Segmentierungstensor auf Grundlage des eingegebenen (H'×W'×500)-Tensors erzeugen und iterativ aktualisieren. Bei jedem Iterationsschritt (Schritte 304 bis 310, die mit dem Index t indiziert sind) beruht der (H'×W'×500)-Tensor auf jedem von dem Bildmerkmalstensor (vij)) und dem verborgenen n-Gramm-Merkmalstensor (ht). Daher beruht der Segmentierungstensor bei jedem Interationsschritt 304 bis 310 auf dem Bildmerkmalstensor und dem verborgenen n-Gramm-Merkmalstensor entsprechend dem Iterationsschritt.
  • Eine oder mehrere Faltungsschichten und/oder Entfaltungsschichten innerhalb des RNN-B 384 können eine zusätzliche Codierung und/oder Decodierungen derart erzeugen, dass der Segmentierungstensor ein Tensor der Dimensionalität H×W×1 ist. Es ist daher eine Eins-zu-Eins-Entsprechung zwischen „Pixeln“ des Segmentierungstensors und den Pixeln des Eingabebildes 320 gegeben. Bei derartigen Ausführungsformen ist der Segmentierungstensor eine Segmentierungsabbildung. Jeder sukzessive aktualisierte Segmentierungstensor kann als Ri,j,t ∈ ℝW×H dargestellt werden, wobei i und j Pixelindizes für die Iteration sind und t der Iterationsindex ist. Bei wenigstens einer Ausführungsform ist der Segmentierungstensor ein binärer Tensor, das heißt der Wert ist bei jedem Pixel entweder gleich „0“ oder „1“. Bei derartigen Ausführungsformen kann die Segmentierungsabbildung eine Segmentierungsmaske sein.
  • Ähnlich wie bei dem RNN-A 366 kann während jeder Iterationsoperation des RNN-B 384 der Zustand des Segmentierungstensors mittels Speicherzuständen des RNN-B 384 weitergereicht werden (oder es kann darauf zugegriffen werden). Damit kann der aktualisierte Segmentierungstensor (Ri,j,t) bei der Iteration t auf wenigstens einem Zustand des Segmentierungstensors (Ri,j,t-1) bei der vorherigen (t-1)-ten Iteration wie auch dem Bildmerkmalstensor (vi,j) und dem verborgenen n-Gramm-Merkmalstensor (ht) der aktuellen Iteration (t) beruhen.
  • Bei wenigstens einer Ausführungsform kann das RNN-B 384 den Segmentierungstensor mittels der nachfolgenden Operation aktualisieren: R i , j , t = W h i d d e n R i , j , t 1 + W i n p u t ( h t v i , j )
    Figure DE102018000299A1_0006
  • Whidden und Winput sind Gewichtungen des trainierten RNN-B 384. Beim endgültigen Schritt 312 (t=5) wird die Segmentierungsabbildung (gemäß Codierung in dem Segmentierungstensor) als pixelweise angewandte Maske zur Segmentierung des Bildes 320 eingesetzt. Eine pixelweise angewandte logische UND-Operation wird von einem Segmentierungsmodul der Bildsegmentierungsengine 380 durchgeführt, um das segmentierte Bild 332 zu erzeugen. Das segmentierte Bild 332 kann für einen Nutzer bereitgestellt werden. Das segmentierte Bild 332 kann auf ähnliche Weise wie das Eingabebild 320, das heißt als H×W×3-Tensor, codiert werden.
  • Die Prozesse 400 und 440 von 4A und 4B werden nunmehr jeweils erläutert. Zusammengefasst gilt, dass die Prozesse 400 und 440 von der Bildsegmentierungsanwendung. bzw. App (ISA), so beispielsweise unter anderem von der ISA 130 von 1 und/oder der ISA 200 von 2, eingesetzt werden können, um Bilder auf Grundlage von in natürlicher Sprache gegebenen Äußerungen automatisch zu segmentieren. Des Weiteren sind verschiedene Aspekte von Operationen, die in den Prozessen 400 und 440 beinhaltet sind, schematisch in Verbindung mit 3 dargestellt und werden anhand dieser Figur erläutert.
  • 4A zeigt eine Ausführungsform eines Prozessablaufes zur Segmentierung eines Bildes auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und eines Modells der Rekurrenz der Zwischensegmentierung entsprechend verschiedenen hier vorgestellten Ausführungsformen. Der Prozess 400 beginnt nach einem Anfangsblock bei Block 402, wo wenigstens eines von einem ersten rekurrenten neuronalen Modell (RNM) (RNM-A) und einem zweiten RNM (RNM-B) iterativ erzeugt werden. Verschiedene Ausführungsformen der iterativen Erzeugung und des RNM werden wenigstens in Verbindung mit dem Prozess 800 von 8 erläutert. Zusammengefasst gilt, dass ein RNM darauf trainiert werden kann, Merkmale innerhalb von Datenstrukturen, so beispielsweise Tensoren und Vektoren, hoher Dimensionalität automatisch zu identifizieren. Wie nachstehend erläutert wird, können die RNMs darauf trainiert werden, Merkmale, so beispielsweise verborgene Merkmale und abstrakte Merkmale, innerhalb von n-Grammen, Bildern und Kombinationen hieraus zu identifizieren.
  • Ein RNM kann auf einem rekurrenten neuronalen Netzwerk (RNN) implementiert und/oder durch dieses ermöglicht werden. Das iterative Erzeugen eines RNM kann ein Trainieren des RNM beinhalten. Bei einigen Ausführungsformen wird wenigstens ein RNM und/oder ein RNN in dem Block 402 trainiert, wie in Verbindung mit dem Prozess 800 noch erläutert wird. Das Bild kann beispielsweise von einer ISA empfangen werden. Bei Block 404 wird ein Bild empfangen.
  • Bei Block 406 wird eine Bildmerkmalsabbildung auf Grundlage des empfangenen Bildes und eines Bildmerkmalsidentifikationsmodells (IFIM) erzeugt. Ein oder mehrere FCNs, die in einer Bildmerkmalsengine der ISA beinhaltet sind, können die Bildmerkmalsabbildung erzeugen. Die Bildmerkmalsabbildung kann in einer Bilddatenstruktur codiert werden. Daher kann bei Block 406 eine Bilddatenstruktur erzeugt werden, die eine Abbildung zwischen identifizierten Bildmerkmalen und entsprechenden Belegungen (oder Blöcken) von Pixeln der Bildmerkmalsabbildung codiert. Bei Block 408 wird ein Bildmerkmalstensor auf Grundlage einer Kombination und/oder Verkettung der Bildmerknialsabbildung und der Raumkoordinaten der Belegungen des Bildmerkmalstensors erzeugt. Ein Bilddatenverpackungsmodul der Bildmerkmalsengine kann den Bildmerkmalstensor verpacken und/oder codieren. Der Schritt 302 von 3 zeigt schematisch die Erzeugung eines Bildmerkmalstensors. Der Bildmerkmalstensor kann in einer Bilddatenstruktur codiert sein. Daher kann bei Block 408 die Bilddatenstruktur erzeugt und/oder aktualisiert werden.
  • Bei Block 410 wird ein n-Gramm empfangen. Eine n-Gramm-Merkmalsengine der ISA kann das n-Gramm empfangen. Das n-Gramm kann auf einen Bereich des Bildes verweisen. Der Bereich, auf den verwiesen wird, kann beispielsweise ein Objekt abbilden, das zu dem n-Gramm gehört. Bei Block 412 wird ein verborgener n-Gramm-Merkmalsvektor auf Grundlage des n-Gramms und des trainierten RNM-A erzeugt und iterativ aktualisiert. Verschiedene Ausführungsformen zum Erzeugen und iterativen Aktualisieren eines verborgenen n-Gramm-Merkmalsvektors werden in Verbindung mit dem Prozess 440 von 4B erläutert. Zusammengefasst gilt, dass ein RNN-Modul der n-Gramm-Merkmalsengine das trainierte RNM-A einsetzen kann, um den verborgenen n-Gramm-Merkmalsvektor zu erzeugen und iterativ zu aktualisieren.
  • Bei Block 414 wird ein Segmentierungstensor auf Grundlage einer Kombination aus dem Bildmerkmalstensor und dem verborgenen n-Gramm-Merkmalsvektor und eines zweiten RNM (das heißt eines RNM-B) erzeugt und iterativ aktualisiert. Verschiedene Ausführungsformen zum Erzeugen und iterativen Aktualisieren des Segmentierungstensors werden in Verbindung mit dem Prozess 440 erläutert. Zusammengefasst gilt, dass eine Bildsegmentierungsengine der ISA das RNM-B beinhalten oder einsetzen kann, um den Segmentierungstensor zu erzeugen und iterativ zu aktualisieren. Der Segmentierungstensor kann in einer Segmentierungsdatenstruktur codiert sein. Bei Block 414 kann daher eine Segmentierungsdatenstruktur erzeugt und iterativ aktualisiert werden. Der Segmentierungstensor codiert die Segmentierungsabbildung oder Maske. Die Segmentierungsabbildung oder Maske identifiziert jedes Pixel in dem Bild, das in dem Bereich des Bildes beinhaltet ist, auf den von dem n-Gramm verwiesen wird.
  • Bei Block 416 wird eine Segmentierungsabbildung oder Maske auf Grundlage des Segmentierungstensors und eines oder mehrerer Faltungs-/Entfaltungsmodelle erzeugt. Bei Block 418 wird das segmentierte Bild auf Grundlage des Bildes und der Segmentierungsabbildung erzeugt. Ein Segmentierungsmodul der Abbildungssegmentierungsengine kann die Segmentierungsabbildung als Maske einsetzen und eine pixelweise angewandte logische UND-Operation an dem Bild anwenden, um das Bild zu segmentieren und das segmentierte Bild zu erzeugen. Bei Block 420 wird das segmentierte Bild bereitgestellt. Das segmentierte Bild kann für eine oder mehrere Nutzerrechenvorrichtungen bereitgestellt und/oder in einem Speicher gespeichert werden. Der Prozess 400 endet und/oder kehrt zu einem Aufrufprozess zurück.
  • 4B zeigt eine Ausführungsform eines Prozessablaufes zum Einsetzen der ISA 200 von 2 (und/oder der ISA 130 von 1) zur iterativen Erzeugung eines Segmentierungstensors auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und eines Modells der Rekurrenz der Zwischensegmentierung. Der Prozess 440 beginnt nach einem Anfangsblock bei Block 442, in dem ein nächstes Token in dem n-Gramm sequenziell ausgewählt wird. Während des ersten Aufrufes des Prozesses 440 wird daher das erste Token des n-Gramms ausgewählt. Ein Tokenauswählermodul einer ISA kann beispielsweise jedes der Tokens vom ersten Token bis zum letzten (oder abschließenden) Token auswählen.
  • Bei Block 444 wird ein Tokenvektor auf Grundlage des ausgewählten Tokens und eines oder mehrerer für natürliche Sprache gegebener Modelle erzeugt. Ein worteinbettendes Sprachmodell kann beispielsweise zur Erzeugung des Tokenvektors eingesetzt werden. Die Schritte 304 bis 310 von 3 zeigen das worteinbettende Sprachmodell 364, das eine Sequenz von Tokenvektoren erzeugt. Bei verschiedenen Ausführungsformen ist ein Tokenvektor in einer Tokendatenstruktur codiert. Daher wird beim letzten Aufruf des Blocks 444 ein geordneter Satz oder eine geordnete Sequenz von Tokendatenstrukturen mittels aufeinanderfolgender Aufrufe des Blockes 444 erzeugt. Jede der Tokendatenstrukturen codiert die semantischen Merkmale, die dem ausgewählten Token entsprechen, und/oder gibt diese an.
  • Während des ersten Aufrufes des Blockes 446 wird ein verborgener n-Gramm-Merkmalsvektor auf Grundlage des Tokenvektors und eines ersten RNM (das heißt des RNM-A) erzeugt und/oder aktualisiert. Für anschließende Aufrufe des Blockes 446 wird der verborgene n-Gramm-Merkmalsvektor auf Grundlage des aktuellen Zustandes des verborgenen n-Gramm-Merkmalsvektors, des RNM-A und eines nachfolgenden Tokenvektors auf Grundlage des nächsten Tokens aktualisiert. Bei wenigstens einer Ausführungsform ist das RNM-A mittels des neuronalen LSTM-Netzwerkes implementiert. Die Schritte 304 bis 310 von 3 zeigen beispielsweise das RNN-A 366, das den n-Gramm-Merkmalsvektor erzeugt und iterativ aktualisiert.
  • Bei Block 448 wird der erzeugte/aktualisierte verborgene n-Gramm-Merkmalsvektor weitergereicht (das heißt gespeichert, und/oder es wird darauf zurückgegriffen). Wie bereits erläutert worden ist, können interne (oder verborgene) Knoten (oder Gates) des RNN-A den verborgenen n-Gramm-Merkmalsvektor weiterreichen. Wie in 3 gezeigt ist, wird der verborgene n-Gramm-Merkmalsvektor iterativ von dem Schritt 304 zu jedem der nachfolgenden Schritte bis zu dem Schritt 310 weitergereicht. Bei einigen Ausführungsformen wird der aktuelle Zustand des verborgenen n-Gramm-Merkmalsvektors derart weitergereicht, dass der aktuelle Zustand des verborgenen n-Gramm-Merkmalsvektors zum Aktualisieren des verborgenen n-Gramm-Merkmalsvektors bei nachfolgenden Aufrufen bei dem Block 446 eingesetzt werden kann.
  • Bei Block 450 kann eine Kombination (oder Verkettung) aus dem Bildmerkmalstensor und dem aktualisierten verborgenen n-Gramm-Merkmalsvektor erzeugt werden. Bei einigen Ausführungsformen kann der verborgene n-Gramm-Merkmalsvektor auf Grundlage der Dimensionen des Bildmerkmalstensors belegt werden. Die Schritte 304 bis 310 von 3 zeigen, wie die Belegungskomponente 368 den verborgenen n-Gramm-Merkmalsvektor auf Grundlage der Dimensionen des Bildmerkmalstensors belegt. Sobald der belegte verborgene n-Gramm-Merkmalsvektor belegt ist, können der Bildmerkmalstensor und der verborgene n-Gramm-Merkmalsvektor kombiniert werden. Die Schritte 304 bis 310 zeigen schematisch das Verkettungsmodul 388, das den Bildmerkmalstensor und den verborgenen n-Gramm-Merkmalsvektor kombiniert. Bei Block 452 kann die Kombination aus dem Bildmerkmalsvektor mittels verschiedener faltungstechnischer und entfaltungstechnischer neuronaler Netzwerkschichten gefaltet und/oder entfaltet werden. Die Schritte 304 bis 310 zeigen schematisch das Verkettungsmodul 382, das Kombinationen aus dem Bildmerkmalstensor und dem verborgenen n-Gramm-Merkmalsvektor faltet/entfaltet (codiert/decodiert).
  • Während des ersten Aufrufes des Blocks 454 wird ein Segmentierungstensor auf Grundlage der Kombination aus dem Bildmerkmalstensor und dem aktualisierten verborgenen n-Gramm-Merkmalsvektor und eines zweiten RNM (das heißt eines RNM-B) erzeugt und/oder aktualisiert. Bei nachfolgenden Aufrufen des Blockes 454 wird der Segmentierungstensor auf Grundlage des aktuellen Zustandes des Segmentierungstensors, des RNM-B und einer nachfolgenden Kombination aus dem Bildmerkmalstensor und einem nachfolgenden verborgenen n-Gramm-Merkmalsvektor auf Grundlage des nächsten Tokens aktualisiert. Bei wenigstens einer Ausführungsform ist das RNM-B mittels eines neuronalen LSTM-Netzwerkes implementiert.
  • Bei Block 456 wird der erzeugte/aktualisierte Segmentierungstensor weitergereicht. Wie bereits erläutert worden ist, können interne (oder verborgene) Knoten (oder Gates) des RNN-B den Segmentierungstensor weiterreichen. Wie in 3 gezeigt ist, wird der Segmentierungstensor iterativ von dem Schritt 304 zu jedem nachfolgenden Schritt bis hin zu dem Schritt 310 weitergereicht. Bei einigen Ausführungsformen wird der aktuelle Zustand des Segmentierungstensors weitergereicht, sodass der aktuelle Zustand des Segmentierungstensors zum Aktualisieren des Segmentierungstensors bei den nachfolgenden Aufrufen für den Block 454 eingesetzt werden kann.
  • Bei dem Entscheidungsblock 458 wird bestimmt, ob ein weiteres Token in dem n-Gramm ausgewählt werden soll. Wenn das aktuell ausgewählte Token das letzte oder abschließende Token in dem n-Gramm ist, geht der Prozess 440 zu dem Block 460 über. Andernfalls kehrt der Prozess 440 zu dem Block 442 zurück und wählt das nächste Token in dem n-Gramm aus. Bei Block 460 wird der aktualisierte Segmentierungstensor bereitgestellt. Der Prozess 440 kann enden und/oder zu einem Aufrufprozess zurückkehren.
  • Segmentieren von Bildern auf Grundlage eines multimodalen rekurrenten neuronalen Modells
  • 5 zeigt eine alternative Ausführungsform einer Bildsegmentierungsanwendung bzw. App (ISA) 500 zum Segmentieren eines Bildes auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und eines multimodalen rekurrenten neuronalen Modells (mRNM) entsprechend verschiedenen hier vorgestellten Ausführungsformen. Die ISA 500 kann eine mRNM-ISA sein. Das mRNM kann ein faltungstechnisches multimodales LSTM (mLSTM) sein. Ein mLSTM ermöglicht eine Wort-Bild-Interaktion zwischen dem Bild und dem n-Gramm. Derartige Interaktionen erzeugen bei jedem Iterationsschritt multimödale Merkmale.
  • Die ISA 500 kann ähnliche Merkmale, Module, Komponenten, Operationen und Funktionalitäten wie die ISA 130 von 1 und die ISA 200 von 2 beinhalten. Die ISA 500 beinhaltet beispielsweise eine Bildmerkmalsengine 540, eine n-Gramm-Merkmalsengine 560 und eine Bildsegmentierungsengine 580, die jeweils ähnliche Module, Komponenten und/oder Funktionalitäten wie die entsprechenden Engines der ISA 130 und der ISA 200 beinhalten können. Bei einigen Ausführungsformen beinhaltet die Bildmerkmalsengine 540 ein Bildmerkmalsidentifikationsmodul 542 und ein Bilddatenverpackungsmodul 544. Eine n-Gramm-Merkmalsengine 560 kann ein Sprache-zu-Text-Modul 566, ein Tokenauswählermodul 562 und ein NLM-Modul (für natürliche Sprache gegebenes Modell NLM) 564 beinhalten. Die Bildsegmentierungsengine 280 kann ein Faltungs-/Entfaltungsmodul 582, ein Segmentierungsmodul 586 und ein mRNM-Modul 584 beinhalten. Weitere Ausführungsformen einer ISA können weniger oder kleinere Engines, Module und/oder Komponenten beinhalten. Einige der Funktionalitäten derartiger Komponenten, Module, Engines und dergleichen können zu denjenigen, die in Verbindung mit 2 bis 4B beschrieben worden sind, ähnlich sein. Die Unterschiede hinsichtlich der Module, Komponenten, Funktionalitäten und Operationen werden nachstehend wenigstens teilweise beschrieben. Man beachte, dass beliebige der nachstehend erläuterten Unterschiede in die ISA 130 und/oder die ISA 200 integriert sein können.
  • Die ISA 500 empfängt das Eingabebild 520 und die in natürlicher Sprache gegebene Äußerung 528. Das Bildmerkmalsidentifikationsmodul 542 erzeugt eine Bildmerkmalsabbildung auf Grundlage eines Bildes 520 und eines oder mehrerer vollständig faltungstechnischer neuronaler Netzwerke (FCNs), die darauf trainiert sind, ein Bildmerkmalsidentifikationsmodell (IFIM) zu implementieren. Das Bilddatenverpackungsmodul 544 kombiniert die Bildmerkmalsabbildung mit den Raumkoordinaten der Bildmerkmalsabbildung zur Erzeugung eines Bildmerkmalsabbildungstensors.
  • Bei wenigstens einer Ausführungsform kann die Äußerung 528 ausgesprochen werden und/oder eine in natürlicher Sprache gegebene akustische Äußerung (oder ein Satz) sein. Dies bedeutet, dass ein Nutzer die in natürlicher Sprache gegebene Äußerung 528 akustisch aussprechen kann. Das Sprache-zu-Text-Modul 566 kann die gesprochene Äußerung 528 in ein textbasiertes n-Gramm umwandeln. Insbesondere kann das Sprache-zu-Text-Modul 566 ein textartiges n-Gramm (das heißt ein n-Gramm, das Tokens beinhaltet, die in textartigen Daten codiert sind) auf Grundlage einer gesprochenen Äußerung 528 und eines Sprache-zu-Text-Modells erzeugen. Bei der sequenziellen Auswahl eines jeden Tokens durch das Tokenauswählermodul 562 erzeugt das NLM-Modul 564 einen Tokenvektor für jedes ausgewählte Token. Das NLM-Modul 564 kann beispielsweise das „Word2Vec“-Verfahren oder ein anderes worteinbettendes Modell zur Erzeugung der Tokenvektoren einsetzen.
  • Das mRNM-Modul 584 kann den Bildmerkmalstensor und einen Tokenvektor iterativ kombinieren. Ein mRNN, das in dem mRNM-Modul 584 beinhaltet ist und/oder von diesem verwendet wird, kann einen multimodalen Tensor auf Grundlage einer Kombination aus dem Bildmerkmalstensor und dem Tokenvektor erzeugen und iterativ aktualisieren. Das mRNN kann ein faltungstechnisches multimodales LSTM sein. Der multimodale Tensor kann von einer Iteration zur nächsten weitergereicht werden.
  • Das Faltungs-/Entfaltungsmodul 582 kann eine oder mehrere faltungstechnische und/oder entfaltungstechnische Schichten des mRNN einsetzen, um den multimodalen Tensor weiter zu codieren / zu decodieren. Eine Segmentierungsabbildung kann auf Grundlage des multimodalen Tensors erzeugt werden. Das Segmentierungsmodul 586 kann das segmentierte Bild auf Grundlage der Segmentierungsabbildung erzeugen.
  • 6 zeigt schematisch aufeinanderfolgende iterative Schritte des multimodalen rekurrenten neuronalen ISA von 5. Insbesondere zeigt 6 sechs Schritte beim Betrieb 600 der ISA 500 (das heißt die Schritte 602 bis 612). Die Schritte 602 bis 612 sind geordnet und mit dem ganzzahligen Index t indexiert. Bei Schritt 602 (t=0) werden das Bild 620 und das n-Gramm 628 empfangen. Das n-Gramm 628 codiert die in natürlicher Sprache gegebene Äußerung „Hund an der Vorderseite“. Während der Iterationsschritte 604 bis 610 (t=1, t=2, t=3 beziehungsweise t=4) wird ein multimodaler Tensor auf Grundlage des Bildes 620 und des n-Gramms 628 erzeugt und iterativ aktualisiert. Bei Schritt 612 (t=5) wird der multimodale Tensor zur Segmentierung des Bildes 620 eingesetzt, und es wird das segmentierte Bild 632 bereitgestellt.
  • Die Operationen/Funktionalitäten der verschiedenen Engines, Komponenten, Module und dergleichen sind schematisch in 6 dargestellt. Derartige Engines, Komponenten, Module, Operationen und Funktionalitäten können zu den in 3 gezeigten Operationen ähnlich sein. Die Operationen der Bildmerkmalsengine 640 können beispielsweise zu den Operationen der Bildmerkmalsengine 340 von 3 ähnlich sein. Dies bedeutet, dass die Operationen des FCN 642 und der Verkettungskomponente 644 an dem Eingabebild 620 und den Raumkoordinaten 646 zu den bereits erläuterten ähnlich sein können.
  • Verschiedene Merkmale der n-Gramm-Merkmalsengine 660 können zu denjenigen der n-Gramm-Merkmalsengine 330 von 3 ähnlich sein. Ein worteinbettendes Sprachmodell 664 kann beispielsweise Tokenvektoren auf Grundlage der Sequenz von Tokens in dem n-Gramm 628 sequenziell erzeugen. Damit wird das empfangene n-Gramm 628 als S={wj mit t ∈ {1, 2, 3, 4} codiert, wobei w1 ein Tokenvektor auf Grundlage des Tokens „Hund“ ist, w2 ein Tokenvektor auf Grundlage des Tokens „an“ ist, w3 ein Tokenvektor auf Grundlage des Tokens „der“ ist, und w4 ein Tokenvektor auf Grundlage des Tokens „Vorderseite“ ist. Bei einer nichtbeschränkenden Ausführungsform wird das worteinbettende für natürliche Sprache gegebene „Word2Vec“-Modell zur Erzeugung der Tokenvektoren verwendet.
  • Eine Belegungskomponente (tiling component) 668 kann die Tokenvektoren (die eine Dimensionalität von 1000 aufweisen können) auslegen, um die Dimensionalität der Bildmerkmalsabbildung abzudecken. Die Verkettungskomponente 688 kann die belegten Tokenvektoren und die Bildmerkmalsabbildung verketten oder kombinieren.
  • Das mRNN 684 verarbeitet die Kombination aus den Tokenvektoren und dem Bildmerkmalstensor. Bei verschiedenen Ausführungsformen ist das mRNN 684 ein faltungstechnisches multimodales neuronales LSTM-Netzwerk (mLSTM), das an der Kombination aus den Tokenvektoren und dem Bildmerkmalstensor iterativ arbeitet, um eine Segmentierungsabbildung zu erzeugen. Die verborgenen Zustände des faltungstechnischen mLSTM sind als multimodaler Tensor strukturiert. Der multimodale Tensor wird von einer Iteration zur nächsten weitergereicht. Der aktuelle Zustand des multimodalen Tensors wird des Weiteren eingesetzt, um den multimodalen Tensor bei nachfolgenden Iterationen zu aktualisieren.
  • Insbesondere kann die iterative Operation des faltungstechnischen mLSTM die nachfolgende Operation beinhalten: m L S T M : ( [ w t v i , j ] , h t 1 , c t 1 ) ( h t , c t )
    Figure DE102018000299A1_0007
  • Der Tensor [ w t v i , j ]
    Figure DE102018000299A1_0008
    codiert die Kombination aus dem belegten Tokenvektor (bei der Iteration t) und dem Bildmerkmalstensor. Der Matrix-/Tensoroperator (M), der den Kern des mLSTM codiert, kann die Dimensionalität (4n × (Ds × DI + 8 + n)) aufweisen.
  • Bei einigen Ausführungsformen ist der Matrix-/Tensoroperator derart konfiguriert, dass er den Bildmerkmalstensor nicht berücksichtigt und nur die semantische Information, die in den Tokenvektoren codiert ist, codiert. Bei anderen Ausführungsformen ist der Matrix-/Tensoroperator derart konfiguriert, dass er die Tokenvektoren nicht berücksichtigt.
  • Eine oder mehrere Faltungs- und/oder Entfaltungsschichten des mRNN 684 können des Weiteren eingesetzt werden, um den multimodalen Tensor weiter zu codieren / zu decodieren. Die Segmentierungsabbildung wird auf Grundlage des multimodalen Tensors erzeugt. Das segmentierte Bild 632 wird auf Grundlage der Segmentierungsabbildung erzeugt.
  • Nachstehend werden Prozesse 700 und 740 von 7A beziehungsweise 7B erläutert. Zusammengefasst gilt, dass die Prozesse 700 von einer Bildsegmentierungsanwendung bzw. App (ISA), so beispielsweise unter anderem von der ISA 130 von 1 und/oder der ISA 500 von 5, eingesetzt werden können, um Bilder auf Grundlage von in natürlicher Sprache gegebenen Äußerungen automatisch zu segmentieren. Des Weiteren werden verschiedene Aspekte der in den Prozessen 700 und 740 beinhalteten Betriebsvorgänge in Verbindung mit 6 schematisch dargestellt und erläutert.
  • 7A zeigt eine Ausführungsform eines Prozessablaufes zur Segmentierung eines Bildes auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und eines multimodalen rekurrenten neuronalen Modells entsprechend den verschiedenen hier vorgestellten Ausführungsformen. Der Prozess 700 beginnt nach einem Anfangsblock, an dem ein multimodales rekurrentes neuronales Modell (mRNM) iterativ erzeugt wird. Verschiedene Ausführungsformen zur iterativen Erzeugung eines mRNM werden wenigstens in Verbindung mit dem Prozess 800 von 8 erläutert. Zusammengefasst gilt, dass das iterative Erzeugen eines mRNM das Training eines oder mehrerer multimodaler rekurrenter neuronaler Netzwerke (mRNN) beinhalten kann.
  • Bei Block 704 wird ein Bild bereitgestellt. Bei Block 706 wird eine Bildmerkmalsabbildung auf Grundlage des Bildes und eines Bildmerkmalsidentifikationsmodells (IFIM) erzeugt. Die Bildmerkmalsabbildung kann in einer Bilddatenstruktur codiert werden. Damit kann bei Block 706 eine Bilddatenstruktur erzeugt werden, die eine Abbildung zwischen identifizierten Bildmerkmalen und entsprechenden Belegungen (oder Blöcken) von Pixeln der Bildmerkmalsabbildung codiert. Bei Block 708 beruht ein Bildmerkmalstensor auf einer Kombination aus den Bildmerkmalsabbildungen und den Raumkoordinaten der Belegungen der Bildmerkmalsabbildung. Der Bildmerkmalstensor kann in einer Bilddatenstruktur codiert sein. Damit kann bei Block 708 die Bilddatenstruktur erzeugt und/oder aktualisiert werden.
  • Bei Block 710 kann ein Nutzer eine in natürlicher Sprache gesprochene Äußerung bereitstellen. Die in natürlicher Sprache gesprochene Äußerung kann auf einen Bereich des Bildes verweisen. Der Bereich, auf den verwiesen wird, kann beispielsweise ein Objekt darstellen, das zu dem ausgesprochenen n-Gramm gehört. Bei Block 712 wird ein textbasiertes (oder textartiges) n-Gramm auf Grundlage der in natürlicher Sprache gesprochenen Äußerung und eines Sprache-zu-Text-Modells erzeugt. Das Sprache-zu-Text-Modell bzw. Modul kann beispielsweise dafür eingesetzt werden, die gesprochene Äußerung in textartige Tokens umwandeln. Bei Block 714 wird eine Sequenz von Tokenvektoren auf Grundlage eines worteinbettenden Modells und des textartigen n-Gramms erzeugt. Verschiedene Ausführungsformen zum Erzeugen einer Sequenz von Tokenvektoren werden wenigstens in Verbindung mit dem Prozess 740 von 7B erläutert. Das worteinbettende „Word2Vec“-Sprachmodell kann beispielsweise zur Erzeugung eines jeden der Tokenvektoren eingesetzt werden.
  • Bei Block 716 wird ein multimodaler Tensor auf Grundlage des trainierten mRNM erzeugt und iterativ aktualisiert. Verschiedene Ausführungsformen zum Erzeugen und iterativen Aktualisieren eines multimodalen Tensors werden in Verbindung wenigstens mit dem Prozess 740 erläutert. Zusammengefasst gilt, dass der multimodale Tensor auf Grundlage einer Kombination aus dem Bildmerkmalstensor und der Sequenz von Tokenvektoren erzeugt und iterativ aktualisiert werden kann. Der multimodale Tensor kann in einer Segmentierungsdatenstruktur codiert sein. Damit wird bei Block 716 eine Segmentierungsdatenstruktur erzeugt und iterativ aktualisiert. Der multimodale Tensor codiert die Segmentierungsabbildung oder Maske. Die Segmentierungsabbildung oder Maske identifiziert jedes Pixel in dem Bild, das in dem Bereich des Bildes beinhaltet ist, auf den von dem n-Gramm verwiesen wird.
  • Bei Block 718 kann eine Segmentierungsabbildung auf Grundlage des multimodalen Tensors und eines oder mehrerer Faltungs-/Entfaltungsmodelle erzeugt werden. Bei Block 720 wird das segmentierte Bild auf Grundlage des Bildes und der Segmentierungsabbildung erzeugt. Bei Block 722 kann das segmentierte Bild auf einer Anzeigevorrichtung einer Nutzerrechenvorrichtung angezeigt werden. Der Prozess 700 kann enden und/oder zu einem Aufrufprozess zurückkehren.
  • 7B zeigt eine Ausführungsform eines Prozessablaufes zum Einsetzen der ISA 500 von 5 (und/oder der ISA 130 von 1) zur iterativen Erzeugung eines Segmentierungstensors auf Grundlage einer in natürlicher Sprache gegebenen Äußerung und eines multimodalen rekurrenten neuronalen Modells. Bei Block 742 werden die Tokens in dem textartigen n-Gramm sequenziell ausgewählt. Bei Block 744 wird ein Tokenvektor auf Grundlage des ausgewählten Tokens und eines worteinbettenden Sprachmodells erzeugt. Bei verschiedenen Ausführungsformen wird ein Tokenvektor in einer Tokendatenstruktur codiert. Beim endgültigen (oder abschließenden) Aufruf des Blockes 744 wird daher ein geordneter Satz oder eine geordnete Sequenz von Tokendatenstrukturen mittels der aufeinanderfolgenden Aufrufe des Blockes 744 erzeugt. Jede der Tokendatenstrukturen codiert semantische Merkmale, die dem ausgewählten Token entsprechen, und/oder gibt diese an. Bei Block 746 wird eine Kombination (oder Verkettung) des Bildmerkmalstensors und des Tokenvektors erzeugt.
  • Bei Block 748 wird ein multimodaler Tensor auf Grundlage der Kombination aus dem Bildmerkmalstensor und dem Tokenvektor erzeugt oder aktualisiert. Der multimodale Tensor kann des Weiteren auf Grundlage eines vorherigen Zustandes des multimodalen Tensors und des trainierten mRNM aktualisiert werden. Bei Block 750 wird der aktualisierte multimodale Tensor innerhalb des mRNM weitergereicht.
  • Bei Entscheidungsblock 742 wird bestimmt, ob ein weiteres Token in dem n-Gramm ausgewählt werden soll. Ist das aktuell ausgewählte Token das letzte oder abschließende Token in dem n-Gramm, so geht der Prozess 740 zu Block 752 über. Ansonsten kehrt der Prozess 740 zu dem Block 742 zurück und wählt das nächste Token in dem n-Gramm aus. Bei Block 754 werden eine oder mehrere Faltungs-/Entfaltungsschichten des mRNN eingesetzt, um den multimodalen Tensor weiter zu codieren / zu decodieren. Bei Block 756 wird ein Segmentierungstensor auf Grundlage des multimodalen Tensors erzeugt. Bei Block 758 kann der Segmentierungstensor übertragen werden. Der Prozess 740 kann enden und/oder zu einem Aufrufprozess zurückkehren.
  • Trainieren der rekurrenten neuronalen Modelle und der multimodalen rekurrenten neuronalen Modelle
  • 8 zeigt eine Ausführungsform eines Prozessablaufes zur iterativen Erzeugung von rekurrenten neuronalen Modellen und multimodalen rekurrenten neuronalen Modellen entsprechend verschiedenen hier vorgestellten Ausführungsformen. Der Prozess 800 beginnt nach einem Startbock bei dem Block 802, wo die Trainingsdaten empfangen werden. Die Trainingsdaten können in den Trainingsdaten 118 von 1 gespeichert sein. Die Trainingsdaten können ein Trainingsbild, ein Trainings-n-Gramm und eine Ground-Truth-Segmentierungsabbildung beinhalten.
  • Bei Block 804 wird eine Trainingssegmentierungsabbildung auf Grundlage des Trainingsbildes und des Trainings-n-Gramms erzeugt. Verschiedene Ausführungsformen zur Erzeugung einer derartigen Segmentierungsabbildung werden nunmehr wenigstens in Verbindung mit dem Prozess 400 von Figur 4A und dem Prozess 700 von 7A erläutert. Zusammengefasst gilt, dass eine Trainingssegmentierungsabbildung auf einem teilweise trainierten RNMA, einem RNM-B und/oder einem mRNM beruhen kann.
  • Bei Block 806 wird auf Grundlage eines Vergleiches der Trainingssegmentierungsabbildung und der Ground-Truth-Segmentierungsabbildung eine Verlustmetrik bestimmt. Die Trainingssegmentierungsabbildung kann als Ri,j angegeben werden, während die Ground-Truth-Segmentierungsabbildung als R̂i,j angegeben werden kann. Bei einigen Ausführungsformen kann die Verlustmetrik (L) folgendermaßen gegeben sein: L = 1 W H i = 1 W j = 1 H ( R ^ i , j ( l o g ( σ ( R i , j ) ) ) + ( 1 R ^ i , j ) ( l o g ( 1 σ ( R i , j ) ) ) )
    Figure DE102018000299A1_0009
  • Bei anderen Ausführungsformen kann die Verlustmetrik folgendermaßen gegeben sein. L = 1 W ' H ' i = 1 W ' j = 1 H ' ( R ^ i , j ( l o g ( σ ( R i , j ) ) ) + ( 1 R ^ i , j ) ( l o g ( 1 σ ( R i , j ) ) ) )
    Figure DE102018000299A1_0010
  • Bei Block 808 wird wenigstens eine der teilweise trainierten RNM-A, RNM-B und/oder mRNM auf Grundlage der Verlustmetrik aktualisiert. Die Standardrückverfolgung kann bei der Aktualisierung einer beliebigen der verschiedenen RNNs eingesetzt werden.
  • Bei Entscheidungsblock 810 wird bestimmt, ob ein oder mehrere der Modelle Konvergenz zeigen. Zeigen die Modelle Konvergenz, so geht der Prozess 800 zu dem Block 812 über. Ansonsten geht der Prozess 800 zu dem Block 802 über, um zusätzliche Trainingsdaten zu empfangen und den Trainingsprozess fortzusetzen. Bei Block 812 wird wenigstens eine der konvergierten (oder trainierten) RNM-A, RNM-B und/oder mRNM bereitgestellt. Der Prozess 800 kann enden und/oder zu einem Aufrufprozess zurückkehren.
  • Illustrative Rechenvorrichtung
  • Nach der erfolgten Beschreibung von Ausführungsformen der vorliegenden Erfindung wird nachstehend eine exemplarische Betriebsumgebung, in der Ausführungsformen der vorliegenden Erfindung implementiert sein können, beschrieben, um einen allgemeinen Kontext für verschiedene Aspekte der vorliegenden Erfindung bereitzustellen. In 9 ist eine illustrative Betriebsumgebung zur Implementierung von Ausführungsformen der vorliegenden Erfindung gezeigt und wird dort allgemein als Rechenvorrichtung 900 bezeichnet. Die Rechenvorrichtung 900 ist lediglich ein Beispiel für eine geeignete Rechenumgebung und soll keinerlei Beschränkung hinsichtlich des Nutzungsumfanges oder der Funktionalität der Erfindung nahelegen. Ebenso wenig soll die Rechenvorrichtung 900 derart gedeutet werden, dass eine Abhängigkeit oder Erfordernis im Zusammenhang mit einer beliebigen Komponente oder einer Kombination derselben vorhanden ist.
  • Ausführungsformen der Erfindung können im allgemeinen Kontext von Computercode oder maschinennutzbaren Anweisungen beschrieben werden, darunter computerausführbare Anweisungen, so beispielsweise Programmmodule, die von einem Computer oder einer anderen Maschine, so beispielsweise einem Smartphone oder einer anderen Handvorrichtung, ausgeführt werden. Im Allgemeinen bezeichnen Programmmodule oder Engines, darunter Routinen, Programme, Objekte, Komponenten, Datenstrukturen und dergleichen, Code, der verschiedene Aufgaben durchführt oder bestimmte abstrakte Datentypen implementiert. Ausführungsformen der Erfindung können in zahlreichen Systemkonfigurationen umgesetzt werden, darunter Handvorrichtungen, Geräte der Unterhaltungselektronik, Allzweckcomputer, stärker spezialisierte Rechenvorrichtungen und dergleichen mehr. Ausführungsformen der Erfindung können zudem in verteilten Rechenumgebungen umgesetzt werden, in denen Aufgaben von entfernt angeordneten (remote) Rechenvorrichtungen ausgeführt werden, die über ein Kommunikationsnetzwerk verknüpft sind.
  • Wie in 9 gezeigt ist, beinhaltet die Rechenvorrichtung 900 einen Bus 910, der die nachfolgenden Vorrichtungen direkt oder indirekt koppelt: einen Speicher 912, einen oder mehrere Prozessoren 914, einen oder mehrere Präsentationskomponenten 916, Eingabe-/Ausgabe-Ports 918, Eingabe-/Ausgabekomponenten 920 und eine illustrative Leistungsversorgung 922. Der Bus 910 impliziert einen oder mehrere Busse (so beispielsweise einen Adressbus, einen Datenbus oder eine Kombination hieraus). Obwohl die verschiedenen Blöcke von 9 aus Gründen der Klarheit mit eindeutigen Begrenzungslinien dargestellt sind, sind diese Begrenzungen in der Realität nicht derart eindeutig; es können bei den Linien Überlappungen auftreten. So kann man beispielsweise eine Präsentationskomponente, also beispielsweise die Anzeigevorrichtung, auch als I/O-Komponente betrachten. Prozessoren verfügen im Allgemeinen über einen Speicher in Form eines Caches. Es sollte einsichtig sein, dass dies dem Wesen des Fachgebietes entspricht, weshalb erneut darauf hingewiesen wird, dass das Diagramm von 9 eine rein illustrative exemplarische Rechenvorrichtung ist, die in Verbindung mit einer oder mehreren Ausführungsformen der vorliegenden Offenbarung verwendet werden kann. Es wird keine Unterscheidung zwischen Kategorien wie „Workstation“, „Server“, „Laptop“, „Handvorrichtung“ und dergleichen getroffen, da diese alle im Umfang von 9 beinhaltet und als „Rechenvorrichtung“ zu sehen sind.
  • Die Rechenvorrichtung 900 beinhaltet üblicherweise eine Vielzahl von computerlesbaren Medien. Die computerlesbaren Medien können beliebige verfügbare Medien sein, auf die von der Rechenvorrichtung 900 zugegriffen werden kann, und beinhalten sowohl flüchtige wie auch nichtflüchtige Medien sowie herausnehmbare wie auch nichtherausnehmbare Medien. Beispiels- und nicht beschränkungshalber können computerlesbare Medien Computerspeichermedien und Kommunikationsmedien umfassen.
  • Computerspeichermedien beinhalten flüchtige und nichtflüchtige sowie herausnehmbare und nicht herausnehmbare Medien, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Information implementiert sind, so beispielsweise als computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten. Computerspeichermedien beinhalten unter anderem RAM, ROM, EEPROM, Flash-Speicher oder eine andere Speichertechnologie, CD-ROM, DVDs oder andere optische Plattenspeicher, magnetische Kassetten, Magnetbänder, magnetische Plattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das zum Speichern der gewünschten Information verwendet und auf das von der Rechenvorrichtung 900 zugegriffen werden kann. Computerspeichermedien schließen Signale als solche aus.
  • Kommunikationsmedien verkörpern üblicherweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal, so beispielsweise einer Trägerwelle oder einem anderen Transportmechanismus, und beinhalten beliebige Informationsverteilungsmedien. Der Begriff „moduliertes Datensignal“ bezeichnet ein Signal, bei dem eine oder mehrere Eigenschaften derart eingestellt oder verändert sind, dass Information in dem Signal codiert ist. Beispiels- und nicht beschränkungshalber beinhalten Kommunikationsmedien drahtgebundene Medien, so beispielsweise ein drahtgebundenes Netzwerk oder eine direktverdrahtete Verbindung, wie auch drahtlose Medien, so beispielsweise akustische, hochfrequenzbasierte, infrarotbasierte und andere drahtlose Medien. Kombinationen aus beliebigen der vorgenannten sollen ebenfalls im Umfang der computerlesbaren Medien beinhaltet sein.
  • Der Speicher 912 beinhaltet Computerspeichermedien in Form von flüchtigen und/oder nichtflüchtigen Speichern. Der Speicher 912 kann ein nichttemporärer Speicher sein. Wie dargestellt ist, beinhaltet der Speicher 912 Anweisungen 924. Die Anweisungen 924 sind, wenn sie von einem Prozessor/Prozessoren 914 ausgeführt werden, dafür konfiguriert zu veranlassen, dass die Rechenvorrichtung eine beliebige der hier im Zusammenhang mit den vorerläuterten Figuren beschriebenen Operationen ausführt oder beliebige hier beschriebene Programmmodule implementiert. Der Speicher kann herausnehmbar, nichtherausnehmbar oder eine Kombination hieraus sein. Illustrative Hardwarevorrichtungen beinhalten einen Solid-State-Speicher, Festplattenlaufwerke, optische Plattenlaufwerke und dergleichen mehr. Die Rechenvorrichtung 900 beinhaltet einen oder mehrere Prozessoren, die Daten aus verschiedenen Entitäten auslesen, so beispielsweise den Speicher 912 oder I/O-Komponenten 920. Die Präsentationskomponente/Präsentationskomponenten 916 präsentiert/präsentieren Datenangaben für einen Nutzer oder eine andere Vorrichtung. Illustrative Präsentationskomponenten beinhalten eine Anzeigevorrichtung, einen Lautsprecher, eine Druckkomponente, eine Vibrationskomponente und dergleichen mehr.
  • Die I/O-Ports 918 ermöglichen, dass die Rechenvorrichtung 900 logisch mit anderen Vorrichtungen, darunter I/O-Komponenten 920, von denen einige eingebaut sein können, gekoppelt werden kann. Illustrative Komponenten beinhalten ein Mikrofon, einen Joystick, ein Gamepad, eine Satellitenschüssel, einen Scanner, einen Drucker, eine Drahtlosvorrichtung und dergleichen mehr.
  • Die hier vorgestellten Ausführungsformen sind anhand spezifischer Ausführungsformen beschrieben worden, die in jeder Hinsicht erläuternd und nicht einschränkend gemeint sind. Alternative Ausführungsformen erschließen sich einem Fachmann auf dem einschlägigen Gebiet, dem die vorliegende Offenbarung vorgelegt wird, ohne von deren Umfang abzugehen.
  • Aus dem Vorbeschriebenen ist ersichtlich, dass die vorliegende Offenbarung dafür gedacht ist, sämtliche Ziele und Aufgaben, die vorstehend aufgeführt worden sind, zusammen mit weiteren Vorteilen, die augenscheinlich oder strukturimmanent sind, zu verwirklichen.
  • Es sollte einsichtig sein, dass bestimmte Merkmale und Teilkombinationen von Nutzen sind und ohne Verweis auf weitere Merkmale oder Teilkombinationen eingesetzt werden können. Dies ist durch den Umfang der Ansprüche und innerhalb desselben impliziert.
  • Bei der vorhergehenden Detailbeschreibung wird auf die begleitende Zeichnung verwiesen, die einen Teil hiervon bildet, in der gleiche Bezugszeichen durchweg gleiche Teile bezeichnen und in der darstellungshalber Ausführungsformen beschrieben sind, die praktisch umgesetzt werden können. Es sollte einsichtig sein, dass auch andere Ausführungsformen genutzt werden können und dass strukturelle oder logische Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzugehen. Daher ist die vorliegende Detailbeschreibung nicht im beschränkenden Sinne gemeint. Der Umfang der Ausführungsformen ist durch die beigefügten Ansprüche und deren Äquivalente definiert.
  • Es sind verschiedene Aspekte der illustrativen Ausführungsformen unter Verwendung von Begriffen beschrieben worden, die von einem Fachmann auf dem einschlägigen Gebiet üblicherweise eingesetzt werden, um den Kern seiner Arbeit einem anderen Fachmann auf dem einschlägigen Gebiet nahezubringen. Es sollte jedoch für einen Fachmann auf dem einschlägigen Gebiet ersichtlich sein, dass alternative Ausführungsformen ohne einige der beschriebenen Aspekte praktisch umgesetzt werden können. Zu Zwecken der Erläuterung sind spezifische Zahlen, Materialien und Ausgestaltungen aufgeführt, um ein eingehendes Verständnis der dargestellten Ausführungsformen zu ermöglichen. Einem Fachmann auf dem einschlägigen Gebiet erschließt sich jedoch, dass alternative Ausführungsformen ohne diese spezifischen Details umgesetzt werden können. Bei anderen Ausführungsformen sind bekannte Merkmale weggelassen oder vereinfacht worden, um die vorgestellten Ausführungsformen nicht unverständlich zu machen.
  • Es sind verschiedene Operationen als multiple diskrete Operationen auf eine Weise beschrieben worden, die beim Verständnis der dargestellten Ausführungsformen am hilfreichsten ist. Die Reihenfolge der Beschreibung soll jedoch nicht so gedeutet werden, dass impliziert ist, dass diese Operationen notwendigerweise reihenfolgeabhängig sind. Insbesondere müssen diese Operationen nicht in der Reihenfolge der Präsentation durchgeführt werden. Des Weiteren soll die Beschreibung von Operationen als separate Operationen nicht derart gedeutet werden, dass erforderlich ist, dass die Operationen notwendigerweise unabhängig und/oder von separaten Entitäten durchgeführt werden sollen. Beschreibungen von Entitäten und/oder Modulen als separate Module sollen ebenso wenig derart gedeutet werden, dass sie erfordern, dass die Module separat sind und/oder separate Operationen durchführen. Bei verschiedenen Ausführungsformen können die dargestellten und/oder beschriebenen Operationen, Entitäten, Daten und/oder Module zusammengeführt, in weitere Einzelteile zerlegt und/oder weggelassen werden.
  • Die Aussage „bei einer Ausführungsform“ oder „bei irgendeiner Ausführungsform“ wird wiederholt verwendet. Diese Aussage bezeichnet im Allgemeinen nicht dieselbe Ausführungsform, kann dies jedoch tun. Die Begriffe „umfassen“, „aufweisen“ und „beinhalten“ sind Synonyme, außer der Kontext gibt es anders an. Der Ausdruck „A/B“ bedeutet „A oder B“. Der Ausdruck „A und/oder B“ bedeutet „(A), (B) oder (A und B).“ Der Ausdruck „wenigstens eines von A, B und C“ bedeutet „(A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C).“

Claims (20)

  1. Computerlesbares Speichermedium, auf dem Anweisungen zum Segmentieren eines mehrere Pixel beinhaltenden Bildes gespeichert sind, die bei Ausführung durch einen Prozessor einer Rechenvorrichtung veranlassen, dass die Rechenvorrichtung Vorgänge durchführt, die umfassen: Empfangen eines geordneten Satzes von Tokens, der auf einen ersten Bereich des Bildes verweist; Erzeugen einer Bildmap bzw. Bildabbildung, die eine Entsprechung zwischen jedem von mehreren Bildmerkmalen und einem entsprechenden Abschnitt der mehreren Pixel darstellt; Erzeugen eines Satzes von Tokendatenelementen, wobei jedes der Tokendatenelemente semantische Merkmale eines entsprechenden Tokens des Satzes von Tokens darstellt; iteratives Aktualisieren einer Segmentierungsabbildung, die darstellt, ob jedes der mehreren Pixel in dem ersten Bereich des Bildes beinhaltet ist, wobei jede von mehreren iterativen Aktualisierungen der Segmentierungsabbildung auf einer vorherigen Version der Segmentierungsabbildung und einer Kombination aus der Bildmap bzw. Bildabbildung und einem der Tokendatenelemente auf Grundlage einer Ordnung bzw. Reihenfolge des Satzes von Tokens beruht; und Erzeugen eines segmentierten Bildes auf Grundlage des Bildes und der Segmentierungsabbildung.
  2. Computerlesbares Speichermedium nach Anspruch 1, wobei die Vorgänge des Weiteren umfassen: iteratives Aktualisieren eines n-Gramm-Datenelementes, das semantische Merkmale der Ordnung bzw. Reihenfolge des Satzes von Tokens codiert, wobei jede von mehreren iterativen Aktualisierungen des n-Gramm-Datenelementes auf einer vorherigen Version des n-Gramm-Datenelementes und einem der Tokendatenelemente auf Grundlage der Ordnung bzw. Reihenfolge des Satzes von Tokens beruht; und iteratives Aktualisieren der Segmentierungsabbildung, wobei jede der mehreren iterativen Aktualisierungen der Segmentierungsabbildung des Weiteren auf einer Kombination aus der Bildmap bzw. -abbildung und einem aktualisierten n-Gramm-Datenelement entsprechend der Ordnung bzw. Reihenfolge des Satzes von Tokens beruht.
  3. Computerlesbares Speichermedium nach Anspruch 2, wobei jede der mehreren iterativen Aktualisierungen des n-Gramm-Datenelementes des Weiteren auf einem trainierten neuronalen LSTM-Netzwerk (Long Short-Term Memory LSTM) beruht, das jede der mehreren iterativen Aktualisierungen des n-Gramm-Elementes weiterreicht.
  4. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, wobei jede der mehreren iterativen Aktualisierungen der Segmentierungsabbildung des Weiteren auf einem trainierten rekurrenten neuronalen Netzwerk (RNN) beruht, das jede der mehreren iterativen Aktualisierungen der Segmentierungsabbildung weiterreicht.
  5. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, wobei jede der mehreren iterativen Aktualisierungen der Segmentierungsabbildung des Weiteren auf einem trainierten faltungstechnischen multimodalen rekurrenten neuronalen Netzwerk (mRNN) beruht, das jede der mehreren iterativen Aktualisierungen der Segmentierungsabbildung weiterreicht.
  6. Computerlesbares Speichermedium nach einem der vorhergehenden Ansprüche, wobei die Bildmerkmale durch ein Bildmerkmalsidentifikationsmodell identifiziert werden, das auf einem trainierten vollständig faltungstechnischen neuronalen Netzwerk (FCN) implementiert ist.
  7. Ein oder mehrere computerlesbare Speichermedien nach einem der vorhergehenden Ansprüche, wobei ein worteinbettendes für natürliche Sprache gegebenes Modell, das jedes der Tokens in einem mehrdimensionalen Raum einbettet und bei dem ein Abstand zwischen einem Paar von innerhalb des mehrdimensionalen Raumes eingebetteten Tokens semantische Ähnlichkeiten zwischen dem Paar von Tokens auf Grundlage von semantischen Verteilungen innerhalb eines semantischen Korpus angibt, zum Identifizieren der semantischen Merkmale der Tokens eingesetzt wird.
  8. Verfahren zum Segmentieren eines Bildes, umfassend: Empfangen des Bildes, wobei das Bild mehrere Pixel beinhaltet; Erzeugen eines n-Gramms auf Grundlage einer in natürlicher Sprache gegebenen Äußerung, die auf ein Objekt verweist, das innerhalb eines ersten Bereiches des Bildes abgebildet ist, wobei das n-Gramm einen geordneten Satz von Tokens beinhaltet; Erzeugen einer Bilddatenstruktur, die eine Abbildung zwischen jedem von mehreren Bildmerkmalen und einem entsprechenden Abschnitt der mehreren Pixel codiert, wobei die mehreren Bildmerkmale innerhalb des Bildes auf Grundlage eines Bildmerkmalsidentifikationsmodells identifiziert werden; Erzeugen eines Satzes von Tokendatenstrukturen auf Grundlage eines für natürliche Sprache gegebenen Modells, wobei jede der Tokendatenstrukturen semantische Merkmale eines entsprechenden Tokens des Satzes von Tokens codiert; iteratives Erzeugen einer Segmentierungsabbildung auf Grundlage eines ersten rekurrenten neuronalen Netzwerkes (RNN) und mehrerer iterativ erzeugter Kombinationen aus der Bilddatenstruktur und Abschnitten des Satzes von Tokendatenstrukturen, wobei das erste RNN die Segmentierungsabbildung während der iterativen Erzeugung der Segmentierungsdatenstruktur weiterreicht und die Segmentierungsabbildung einen Teilsatz der mehreren Pixel, die in dem ersten Bereich des Bildes beinhaltet sind, identifiziert; und Segmentieren des Bildes auf Grundlage der iterativ erzeugten Segmentierungsabbildung.
  9. Verfahren nach Anspruch 8, des Weiteren umfassend: iteratives Erzeugen einer n-Gramm-Datenstruktur auf Grundlage eines zweiten RNN und des Satzes von Tokendatenstrukturen, wobei das zweite RNN die n-Gramm-Datenstruktur während der iterativen Erzeugung der n-Gramm-Datenstruktur weiterreicht; und iteratives Erzeugen der Segmentierungsabbildung des Weiteren auf Grundlage von mehreren iterativ erzeugten Kombinationen aus der Bilddatenstruktur und der n-Gramm-Datenstruktur.
  10. Verfahren nach Anspruch 9, des Weiteren umfassend: Trainieren eines neuronalen LSTM-Netzwerkes (Long Short-Term Memory LSTM) auf Grundlage von Trainingsdaten, die mehrere andere n-Gramme beinhalten; und Einsetzen des trainierten LSTM als zweites RNN.
  11. Verfahren nach einem der Ansprüche 8 bis 10, des Weiteren umfassend: Empfangen eines Trainingsbildes, eines Trainings-n-Gramms und einer Ground-Truth-Segmentierungsabbildung; iteratives Erzeugen einer Trainingssegmentierungsabbildung auf Grundlage des Trainingsbildes, des Trainings-n-Gramms und des ersten RNN; Bestimmen einer Verlustmetrik auf Grundlage eines Vergleiches der Ground-Truth-Segmentierungsabbildung und der Trainingssegmentierungsabbildung; und Aktualisieren des ersten RNN auf Grundlage der Verlustmetrik.
  12. Verfahren nach einem der Ansprüche 8 bis 11, des Weiteren umfassend: Empfangen von Audiodaten, die die in natürlicher Sprache gegebene Äußerung so, wie sie von einem Nutzer gesprochen wird, codieren; Erzeugen von textartigen Daten auf Grundlage der empfangenen Audiodaten und eines Sprache-zu-Text-Modells; und Erzeugen des n-Gramms auf Grundlage der erzeugten textartigen Daten.
  13. Verfahren nach einem der Ansprüche 8 bis 12, des Weiteren umfassend: Trainieren eines faltungstechnischen multimodalen rekurrenten neuronalen Netzwerkes (mRNN) auf Grundlage von Trainingsdaten, die mehrere andere Bilder, mehrere andere n-Gramme und mehrere Segmentierungsabbildungen beinhalten; und Einsetzen des trainierten mRNN als erstes RNN.
  14. Rechensystem zum Segmentieren eines Bildes auf Grundlage eines n-Gramms, das auf einen ersten Bereich des Bildes verweist, wobei das Bild mehrere Pixel beinhaltet und das n-Gramm einen geordneten Satz von Tokens beinhaltet, wobei das System umfasst: eine Prozessorvorrichtung; und ein computerlesbares Speichermedium, das mit der Prozessorvorrichtung gekoppelt ist und auf dem Anweisungen gespeichert sind, die bei Ausführung durch die Prozessorvorrichtung Vorgänge durchführen, die umfassen: Schritte zum Identifizieren von mehreren. Bildmerkmalen innerhalb des Bildes auf Grundlage eines Bildmerkmalsidentifikationsmodells; Schritte zum Codieren einer Abbildung zwischen jedem der mehreren Bildmerkmale und einem entsprechenden Abschnitt der mehreren Pixel in einer Bilddatenstruktur; Schritte zum Identifizieren von semantischen Merkmalen für jedes Token in dem Satz von Tokens auf Grundlage eines für natürliche Sprache gegebenen Modells; Schritte zum Codieren der semantischen Merkmale eines jeden Tokens in dem Satz von Tokens als Satz von Tokendatenstrukturen; Schritte zum iterativen Aktualisieren einer Segmentierungsabbildung auf Grundlage der Segmentierungsabbildung und eines geordneten Satzes von Kombinationen aus der Bilddatenstruktur und dem Satz von Tokendatenstrukturen auf Grundlage einer Ordnung bzw. Reihenfolge des Satzes von Tokens; und Schritte zum Bereitstellen eines segmentierten Bildes auf Grundlage des Bildes und der Segmentierungsabbildung.
  15. Rechensystem nach Anspruch 14, wobei die Vorgänge des Weiteren umfassen: Schritte zum iterativen Codieren von semantischen Merkmalen der Ordnung bzw. Reihenfolge des Satzes von Tokens in einer n-Gramm-Datenstruktur auf Grundlage der n-Gramm-Datenstruktur und des Satzes von Tokendatenstrukturen; und Schritte zum iterativen Aktualisieren der Segmentierungsabbildung des Weiteren auf Grundlage der iterativ codierten n-Gramm-Datenstruktur.
  16. Rechensystem nach Anspruch 15, wobei die Vorgänge des Weiteren umfassen: Schritte zum Aktualisieren der n-Gramm-Datenstruktur auf Grundlage eines trainierten rekurrenten neuronalen Netzwerkes (RNN); und Schritte zum Einsetzen des trainierten RNN zum Speichern einer Codierung der n-Gramm-Datenstruktur für eine anschließende Aktualisierung der n-Gramm-Datenstruktur.
  17. Rechensystem nach einem der Ansprüche 14 bis 16, wobei die Vorgänge des Weiteren umfassen: Schritte zum Aktualisieren der Segmentierungsabbildung auf Grundlage eines trainierten rekurrenten neuronalen Netzwerkes (RNN); und Schritte zum Einsetzen des trainierten RNN zum Speichern einer Codierung der Segmentierungsabbildung für eine anschließende Aktualisierung der Segmentierungsabbildung.
  18. Rechensystem nach Anspruch 17, wobei das trainierte RNN ein faltungstechnisches multimodales rekurrentes neuronales Netzwerk (mRNN) ist.
  19. Rechensystem nach einem der Ansprüche 14 bis 18, wobei das Bildmerkmalsidentifikationsmodell auf einem trainierten vollständig faltungstechnischen neuronalen Netzwerk (FCN) implementiert ist.
  20. Rechensystem nach einem der Ansprüche 14 bis 19, wobei das für natürliche Sprache gegebene Modell ein worteinbettendes für natürliche Sprache gegebenes Modell ist.
DE102018000299.4A 2017-03-14 2018-01-16 Automatisches Segmentieren von Bildern auf Grundlage von in natürlicher Sprache gegebenen Äußerungen Pending DE102018000299A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/458,887 US10089742B1 (en) 2017-03-14 2017-03-14 Automatically segmenting images based on natural language phrases
US15/458,887 2017-03-14

Publications (1)

Publication Number Publication Date
DE102018000299A1 true DE102018000299A1 (de) 2018-09-20

Family

ID=61283452

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018000299.4A Pending DE102018000299A1 (de) 2017-03-14 2018-01-16 Automatisches Segmentieren von Bildern auf Grundlage von in natürlicher Sprache gegebenen Äußerungen

Country Status (5)

Country Link
US (2) US10089742B1 (de)
CN (1) CN108573257A (de)
AU (1) AU2018200165A1 (de)
DE (1) DE102018000299A1 (de)
GB (1) GB2560621B (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339421B2 (en) * 2017-03-30 2019-07-02 Toyota Motor Engineering & Manufacturing North America, Inc. RGB-D scene labeling with multimodal recurrent neural networks
US10810371B2 (en) 2017-04-06 2020-10-20 AIBrain Corporation Adaptive, interactive, and cognitive reasoner of an autonomous robotic system
US10839017B2 (en) 2017-04-06 2020-11-17 AIBrain Corporation Adaptive, interactive, and cognitive reasoner of an autonomous robotic system utilizing an advanced memory graph structure
US10748036B2 (en) 2017-11-21 2020-08-18 Nvidia Corporation Training a neural network to predict superpixels using segmentation-aware affinity loss
US10685446B2 (en) * 2018-01-12 2020-06-16 Intel Corporation Method and system of recurrent semantic segmentation for image processing
US10884769B2 (en) * 2018-02-17 2021-01-05 Adobe Inc. Photo-editing application recommendations
US10706503B2 (en) * 2018-03-13 2020-07-07 Disney Enterprises, Inc. Image processing using a convolutional neural network
CN110147806A (zh) * 2018-10-08 2019-08-20 腾讯科技(深圳)有限公司 图像描述模型的训练方法、装置及存储介质
CN109814523B (zh) * 2018-12-04 2020-08-28 合肥工业大学 基于cnn-lstm深度学习方法及多属性时序数据的故障诊断方法
US10798386B2 (en) 2019-01-25 2020-10-06 At&T Intellectual Property I, L.P. Video compression with generative models
US10558738B1 (en) * 2019-03-15 2020-02-11 Amazon Technologies, Inc. Compression of machine learned models
US20200311412A1 (en) * 2019-03-29 2020-10-01 Konica Minolta Laboratory U.S.A., Inc. Inferring titles and sections in documents
US10885386B1 (en) 2019-09-16 2021-01-05 The Boeing Company Systems and methods for automatically generating training image sets for an object
US10719666B1 (en) * 2020-01-31 2020-07-21 Capital One Services, Llc Computer-based systems utilizing textual embedding space software engines for identifying candidate phrases in a text document and methods of use thereof
US10817665B1 (en) * 2020-05-08 2020-10-27 Coupang Corp. Systems and methods for word segmentation based on a competing neural character language model

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899666B2 (en) * 2007-05-04 2011-03-01 Expert System S.P.A. Method and system for automatically extracting relations between concepts included in text
US8126274B2 (en) * 2007-08-30 2012-02-28 Microsoft Corporation Visual language modeling for image classification
US9461876B2 (en) * 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
WO2014049653A1 (ja) * 2012-09-27 2014-04-03 三洋電機株式会社 電池ブロック
US9489373B2 (en) * 2013-07-12 2016-11-08 Microsoft Technology Licensing, Llc Interactive segment extraction in computer-human interactive learning
US9129192B2 (en) * 2013-12-16 2015-09-08 Adobe Systems Incorporated Semantic object proposal generation and validation
RU2638634C2 (ru) * 2014-01-23 2017-12-14 Общество с ограниченной ответственностью "Аби Продакшн" Автоматическое обучение программы синтаксического и семантического анализа с использованием генетического алгоритма
US20160117386A1 (en) * 2014-10-22 2016-04-28 International Business Machines Corporation Discovering terms using statistical corpus analysis
US9704054B1 (en) * 2015-09-30 2017-07-11 Amazon Technologies, Inc. Cluster-trained machine learning for image processing

Also Published As

Publication number Publication date
US10089742B1 (en) 2018-10-02
AU2018200165A1 (en) 2018-10-04
GB201800842D0 (en) 2018-03-07
GB2560621A (en) 2018-09-19
CN108573257A (zh) 2018-09-25
GB2560621B (en) 2020-08-26
US10410351B2 (en) 2019-09-10
US20190035083A1 (en) 2019-01-31
US20180268548A1 (en) 2018-09-20

Similar Documents

Publication Publication Date Title
Goodfellow Nips 2016 tutorial: Generative adversarial networks
US10353271B2 (en) Depth estimation method for monocular image based on multi-scale CNN and continuous CRF
Nguyen et al. Multifaceted feature visualization: Uncovering the different types of features learned by each neuron in deep neural networks
Guibas et al. Synthetic medical images from dual generative adversarial networks
US10319076B2 (en) Producing higher-quality samples of natural images
Prince Computer vision: models, learning, and inference
Mnih Machine learning for aerial image labeling
Niemann Pattern analysis and understanding
Fu et al. Digital pattern recognition
US5706364A (en) Method of producing character templates using unsegmented samples
EP3166049A1 (de) Systeme und verfahren für aufmerksamkeitsbasierte konfigurierbare neuralen faltungsnetzwerke (abc-cnn) zur visuellen fragenbeantwortung
DE69828141T2 (de) Verfahren und Vorrichtung zur Spracherkennung
Tang et al. Regularized simultaneous forward–backward greedy algorithm for sparse unmixing of hyperspectral data
Shi et al. Can a machine generate humanlike language descriptions for a remote sensing image?
JP3822277B2 (ja) 文字テンプレートセット学習マシン動作方法
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
EP2368216B1 (de) Verfahren und einrichtung zur analyse von umgebungsobjekten und/oder umgebungsszenen, wie zur objekt- und szenenklassensegmentierung
US10599924B2 (en) Semantic page segmentation of vector graphics documents
DE69816676T2 (de) System und verfahren zur bestimmung und minimalisierung eines endlichen transducers zur spracherkennung
DE112017002799T5 (de) Verfahren und system zum generieren multimodaler digitaler bilder
DE60126564T2 (de) Verfahren und Anordnung zur Sprachsysnthese
DE102015009910A1 (de) Automatische Aggregation von Online-Benutzerprofilen
DE112016005059T5 (de) Unterkategorienbewusste faltende neuronale Netzwerke zur Objekterfassung
DE112016005006T5 (de) Automatische videozusammenfassung
DE112017004397T5 (de) System und Verfahren zur Einstufung von hybriden Spracherkennungsergebnissen mit neuronalen Netzwerken

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: ADOBE INC., SAN JOSE, US

Free format text: FORMER OWNER: ADOBE SYSTEMS INCORPORATED, SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R012 Request for examination validly filed