DE102021000476A1 - Integrierte interaktive Bildsegmentierung - Google Patents

Integrierte interaktive Bildsegmentierung Download PDF

Info

Publication number
DE102021000476A1
DE102021000476A1 DE102021000476.0A DE102021000476A DE102021000476A1 DE 102021000476 A1 DE102021000476 A1 DE 102021000476A1 DE 102021000476 A DE102021000476 A DE 102021000476A DE 102021000476 A1 DE102021000476 A1 DE 102021000476A1
Authority
DE
Germany
Prior art keywords
segmentation
image
probability distribution
distribution map
feature
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
DE102021000476.0A
Other languages
English (en)
Inventor
Brian Lynn Price
Scott David Cohen
Henghui Ding
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Inc filed Critical Adobe Inc
Publication of DE102021000476A1 publication Critical patent/DE102021000476A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/143Segmentation; Edge detection involving probabilistic approaches, e.g. Markov random field [MRF] modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/273Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion removing elements interfering with the pattern to be recognised
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20101Interactive definition of point of interest, landmark or seed

Landscapes

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

Abstract

Bereitgestellt werden Verfahren und Systeme zur optimalen Segmentierung eines Bildes auf Grundlage von mehreren Segmentierungen. Insbesondere können mehrere Segmentierungsverfahren unter Berücksichtigung vorheriger Segmentierungen kombiniert werden. Es kann beispielsweise eine optimale Segmentierung durch iteratives Integrieren einer vorherigen Segmentierung (beispielsweise unter Nutzung eines Bildsegmentierungsverfahrens) mit einer aktuellen Segmentierung (beispielsweise unter Nutzung desselben oder eines anderen Bildsegmentierungsverfahrens) generiert werden. Um eine optimale Segmentierung eines Bildes auf Grundlage von mehreren Segmentierungen zu ermöglichen, können ein oder mehrere neuronale Netzwerke benutzt werden. Beispielsweise kann ein faltungstechnisches RNN benutzt werden, um Information im Zusammenhang mit einer oder mehreren vorherigen Segmentierungen beim Übergang von einem Segmentierungsverfahren zum nächsten zu behalten. Das faltungstechnische RNN kann die vorherige Segmentierung / vorherigen Segmentierungen mit der aktuellen Segmentierung kombinieren, ohne dass Information über das Bildsegmentierungsverfahren / die Bildsegmentierungsverfahren, das/die zum Generieren der Segmentierungen benutzt wird/werden, erforderlich wäre.

Description

  • Hintergrund
  • Bilder werden beispielsweise oftmals segmentiert, um eine Bearbeitung des Bildes zu ermöglichen. Eine Bildsegmentierung ist allgemein ein Prozess des Generierens eines Segmentes eines Bildes. Ein derartiges Segment kann in einer Bearbeitungsumgebung unter Nutzung einer Maske visualisiert werden, die den segmentierten Abschnitt eines Bildes, an dem Bearbeitungen vorgenommen werden sollen, im Gegensatz zu denjenigen Abschnitten des Bildes, die von den Bearbeitungen nicht betroffen sind, angibt. Ein Segment kann entlang Grenzen innerhalb eines Bildes derart erstellt werden, dass das Segment ein Objekt und/oder ein Merkmal innerhalb des Bildes bezeichnet. In einem Porträt einer Person kann das Bild beispielsweise in ein Segment des Gesichtes der Person oder ein Segment des Hintergrundes oder, wenn mehr Details erwünscht sind, in ein Segment der Augen der Person, ein Segment der Zähne der Person, ein Segment der Haare der Person und dergleichen mehr segmentiert werden. Als solches kann die Nutzung einer Maske für ein derartiges Porträt angeben, dass Bearbeitungen nur an dem hervorgehobenen Abschnitt / den hervorgehobenen Abschnitten des Bildes und nicht an dem nicht hervorgehobenen Abschnitt / den nicht hervorgehobenen Abschnitten des Bildes vorgenommen werden.
  • Zusammenfassung
  • Ausführungsformen der vorliegenden Offenbarung betreffen ein integriertes Segmentierungssystem, das eine optimale Segmentierung eines Bildes auf Grundlage von mehreren Segmentierungen ermöglicht. Entsprechend Ausführungsformen der vorliegenden Offenbarung ermöglicht das integrierte Segmentierungssystem mehrere Segmentierungsverfahren (beispielsweise verschiedene Segmentierungstechniken, die unter Nutzung verschiedener Segmentierungswerkzeuge implementiert werden), die unter Berücksichtigung vorheriger Segmentierungen kombiniert werden. Eine optimale Segmentierung kann beispielsweise generiert werden, indem eine vorherige Segmentierung (beispielsweise unter Nutzung eines Bildsegmentierungsverfahrens) mit einer aktuellen Segmentierung (beispielsweise unter Nutzung desselben oder eines anderen Bildsegmentierungsverfahrens) iterativ integriert wird. Zur Erstellung eines derartigen integrierten Segmentierungssystems können ein oder mehrere neuronale Netzwerke benutzt werden. Das integrierte Segmentierungssystem kann beispielsweise ein faltungstechnisches RNN implementieren, um Information im Zusammenhang mit einer oder mehreren vorherigen Segmentierungen beim Übergang von einem Segmentierungsverfahren zum nächsten zu behalten. Das faltungstechnische RNN kann die vorherige Segmentierung / die vorherigen Segmentierungen mit der aktuellen Segmentierung kombinieren, ohne dass Information über das Bildsegmentierungsverfahren / die Bildsegmentierungsverfahren, das/die zum Generieren der Segmentierung benutzt wird/werden, erforderlich wäre.
  • Das faltungstechnische RNN kann Segmentierungsverfahren unter Nutzung einer Information im Zusammenhang mit Wahrscheinlichkeitsverteilungskarten, die mit Bildsegmentierungen zusammenhängen, integrieren. Das faltungstechnische RNN kann beispielsweise zum Bestimmen einer Merkmalskarte für ein Bild benutzt werden. Eine derartige Merkmalskarte kann sodann mit einer aktuellen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem aktuellen Segmentierungsverfahren) und einer vorherigen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem vorherigen Segmentierungsverfahren) kombiniert werden. Insbesondere kann die Merkmalskarte mit der aktuellen Wahrscheinlichkeitsverteilungskarte kombiniert werden, um ein erstes Merkmal (beispielsweise die Kombination der Merkmalskarte und der aktuellen Wahrscheinlichkeitsverteilungskarte) zu generieren. Des Weiteren kann die Merkmalskarte mit der vorherigen Wahrscheinlichkeitsverteilungskarte kombiniert werden, um ein zweites Merkmal (beispielsweise die Kombination der Merkmalskarte und der vorherigen Wahrscheinlichkeitsverteilungskarte) zu generieren. Das erste und das zweite Merkmal können sodann verkettet werden, um eine aktualisierte Wahrscheinlichkeitsverteilungskarte zu generieren. Diese aktualisierte Wahrscheinlichkeitsverteilungskarte bezieht Information im Zusammenhang mit dem aktuellen Segmentierungsverfahren und dem vorherigen Segmentierungsverfahren ein. Ein derartiger Prozess kann wiederholt werden, bis die aktualisierte Segmentierungsmaske eine optimale Segmentierungsmaske ist.
  • Figurenliste
    • 1A zeigt eine exemplarische Konfigurierung einer Betriebsumgebung, in der einige Implementierungen der vorliegenden Offenbarung eingesetzt werden können, entsprechend verschiedenen Ausführungsformen der vorliegenden Offenbarung.
    • 1B zeigt eine exemplarische Konfigurierung einer Betriebsumgebung, in der einige Implementierungen der vorliegenden Offenbarung eingesetzt werden können, entsprechend verschiedenen Ausführungsformen der vorliegenden Offenbarung.
    • 2 zeigt Aspekte eines illustrativen integrierten Segmentierungssystems entsprechend verschiedenen Ausführungsformen der vorliegenden Offenbarung.
    • 3 zeigt einen Prozessablauf zur Darstellung einer Ausführungsform zum Durchführen der Integration von mehreren Segmentierungsverfahren entsprechend Ausführungsformen der vorliegenden Offenbarung.
    • 4 zeigt einen Prozessablauf zur Darstellung einer Ausführungsform zum Integrieren von mehreren Segmentierungsverfahren entsprechend Ausführungsformen der vorliegenden Offenbarung.
    • 5 zeigt einen Prozessablauf zur Darstellung einer Ausführungsform zum Integrieren von mehreren Segmentierungsverfahren zum Generieren einer optimierten Segmentierungsmaske entsprechend Ausführungsformen der vorliegenden Offenbarung.
    • 6 zeigt einen Prozessablauf zur Darstellung einer Ausführungsform zum Integrieren von mehreren Segmentierungsverfahren, die Beseitigungssegmentierungsverfahren beinhalten, entsprechend Ausführungsformen der vorliegenden Offenbarung.
    • 7 zeigt eine exemplarische Umgebung, die zum Integrieren von Information im Zusammenhang mit einer vorherigen Segmentierung / vorherigen Segmentierungen beim Durchführen einer aktuellen Segmentierung benutzt werden kann, entsprechend Ausführungsformen der vorliegenden Offenbarung.
    • 8 zeigt eine exemplarische Umgebung, die zum Integrieren von Information im Zusammenhang mit einer vorherigen Segmentierung / vorherigen Segmentierungen beim Durchführen einer aktuellen Segmentierung, die einen Beseitigungsvorgang beinhaltet, benutzt werden kann, entsprechend Ausführungsformen der vorliegenden Offenbarung.
    • 9 zeigt eine exemplarische Ausführungsform, die zur gemeinsamen Einbettungsüberwachung im Zusammenhang mit einem integrierten Segmentierungssystem, das eine optimale Segmentierung eines Bildes auf Grundlage von mehreren Segmentierungen ermöglicht, benutzt werden kann, entsprechend Ausführungsformen der vorliegenden Offenbarung.
    • 10 ist ein Blockdiagramm einer exemplarischen Rechenvorrichtung, bei der Ausführungsformen der vorliegenden Offenbarung eingesetzt werden können.
  • Detailbeschreibung
  • Der Gegenstand der vorliegenden Offenbarung wird hier spezifisch beschrieben, um bestimmten regulatorischen Anforderungen zu genügen. Die Beschreibung selbst soll den Umfang des vorliegenden Patentes jedoch nicht beschränken. Vielmehr beabsichtigen die Erfinder, dass der beanspruchte Gegenstand auch auf andere Arten verkörpert sein kann, um andere bzw. verschiedene Schritte oder Kombinationen von Schritten, die zu den in der vorliegenden Druckschrift beschriebenen ähnlich sind, in Verbindung mit anderen gegenwärtigen oder zukünftigen Technologien einzubeziehen. Obwohl darüber hinaus die Begriffe „Schritt“ und/oder „Block“ hier benutzt werden können, um verschiedene Elemente der eingesetzten Verfahren zu bezeichnen, sollen die Begriffe nicht derart gedeutet werden, dass sie eine spezielle Reihenfolge unter oder zwischen verschiedenen hier offenbarten Schritten implizieren, es sei denn, die Reihenfolge der einzelnen Schritte wird explizit beschrieben.
  • Oftmals wünschen Nutzer eine intuitive Bearbeitung von Bildern. Nutzer wünschen beispielsweise gegebenenfalls eine Bearbeitung, die kein Fachwissen über schwierige zu nutzende Werkzeuge innerhalb eines Bearbeitungssystems erfordert, oder sie wünschen eine Bearbeitung, die nicht sehr repetitiv und zeitaufwändig ist. Eine Art der Bearbeitung von Bildern ist die Nutzung einer Segmentierung. Eine Bildsegmentierung kann ein Segment innerhalb eines Bildes derart bezeichnen, dass das Segment bearbeitet werden kann. Visualisiert werden kann ein derartiges Segment unter Nutzung einer Segmentierungsmaske, die den segmentierten Abschnitt eines Bildes, an dem Bearbeitungen vorgenommen werden, im Gegensatz zu denjenigen Abschnitten des Bildes, die von den Bearbeitungen nicht betroffen sein werden, angibt. Gleichwohl können Schwierigkeiten beim Segmentieren eines Bildes dahingehend auftreten, dass die generierte Segmentierungsmaske den genauen Abschnitt eines Bildes, von dem der Nutzer eine Segmentierung wünscht, bezeichnet. In einem Bild eines Hundes auf einem Feld beinhaltet ein erstes Segmentierungswerkzeug (das beispielsweise ein erstes Segmentierungsverfahren nutzt) in der generierten Segmentierungsmaske gegebenenfalls nicht die Ohren des Hundes. Bei dem Versuch, die generierte Segmentierungsmaske zu modifizieren, kann ein zweites Segmentierungswerkzeug ausgewählt werden. In den meisten herkömmlichen Systemen wird beim Auswählen des zweiten Segmentierungswerkzeuges (das beispielsweise ein zweites Segmentierungsverfahren nutzt) oftmals die anfänglich generierte Segmentierungsmaske gelöscht, und es wird eine vollständig neue Segmentierungsmaske (die in der generierten Segmentierungsmaske die Ohren des Hundes gegebenenfalls weiterhin nicht beinhaltet) generiert. Als solches ist es schwierig, verschiedene Segmentierungswerkzeuge bei dem Versuch, ein Bild zu segmentieren, zu kombinieren. Bei dem Versuch, diese Schwierigkeiten beim Kombinieren von verschiedenen Segmentierungswerkzeugen zu überwinden, sind Segmentierungsmasken, die unter Nutzung verschiedener Segmentierungswerkzeuge generiert worden sind, kombiniert worden, indem ein Mittel bzw. Durchschnitt aus beiden Segmentierungsmasken gebildet wird. Dies kann jedoch zu einer kombinierten Segmentierungsmaske führen, die immer noch Ungenauigkeiten enthält (die in der kombinierten Segmentierungsmaske beispielsweise die Ohren des Hundes weiterhin nicht beinhaltet).
  • Mit der Weiterentwicklung der Technologie sind bei dem Versuch, Bilder einfacher und genauer zu segmentieren, verschiedene Verfahren zur Bildsegmentierung entwickelt worden. Man hat beispielsweise verschiedene Techniken des Deep Learning (beispielsweise auf Grundlage von neuronalen Netzwerken) implementiert, die Bilder schnell und intelligent segmentieren. Auch unter Nutzung derartiger auf Deep Learning basierender Techniken zum Generieren eines Segmentes für ein Bild sind beim Segmentieren eines Bildes oftmals Schwierigkeiten beim Kombinieren von mehreren Segmentierungswerkzeugen aufgetreten. Oftmals sind, wie vorstehend erwähnt worden ist, wenn ein neues Segmentierungswerkzeug auf ein Bild angewendet worden ist, Segmentierungen, die unter Nutzung eines vorherigen Segmentierungswerkzeuges vorgenommen worden sind, verloren gegangen. Ein möglicher Versuch beim Kombinieren von Segmentierungswerkzeugen, die verschiedene Techniken des Deep Learning nutzen, erfordert ein vollständiges Neutrainieren von neuronalen Netzwerken im Zusammenhang mit den Segmentierungswerkzeugen, um die Werkzeuge immer dann, wenn ein neues Segmentierungswerkzeug hinzugefügt wird, zu kombinieren. Das Neutrainieren der neuronalen Netzwerke zum Zwecke der Berücksichtigung vorheriger Segmentierungen, die von anderen Werkzeugen (beispielsweise unter Nutzung anderer Verfahren) generiert worden sind, ist rechentechnisch aufwändig und beschränkt die Skalierbarkeit eines Systems. Daher sind bestehende Technologien mit Blick auf das mögliche, auf skalierbare und rechentechnisch effiziente Weise erfolgende Kombinieren von verschiedenen Segmentierungswerkzeugen, die vorherige Segmentierungen eines Bildes berücksichtigen, mangelhaft.
  • Entsprechend betreffen Ausführungsformen der vorliegenden Offenbarung ein integriertes Segmentierungssystem, das eine optimale Segmentierung eines Bildes auf Grundlage von mehreren Segmentierungen ermöglicht. Insbesondere ermöglicht das integrierte Segmentierungssystem das Kombinieren von mehreren Segmentierungsverfahren (die beispielsweise unter Nutzung verschiedener Segmentierungswerkzeuge durchgeführt werden) unter Berücksichtigung vorheriger Segmentierungen. Beinhalten können derartige Segmentierungsverfahren eine Segmentierung auf Grundlage von Techniken des Deep Learning, der Farbbereichs- oder Salienzdetektion, der Schwellenbildung (thesholding), Clusterverfahren, kompressionsbasierte Verfahren, histogrammbasierte Verfahren, die Kantendetektion, Dualclusterverfahren, Bereichswachstumsverfahren, auf partiellen Differenzialgleichungen basierende Verfahren, Variationsverfahren, Graphunterteilungsverfahren, Watershed-Transformationen, modellbasierte Segmentierungen, Multiskalensegmentierungen und halbautomatische Segmentierungen.
  • Das Kombinieren von mehreren Segmentierungsverfahren ermöglicht einem Nutzer, leicht eine optimale Segmentierung eines Bildes zu erhalten. Eine optimale Segmentierung kann beispielsweise generiert werden, indem eine vorherige Segmentierung (beispielsweise unter Nutzung eines Bildsegmentierungsverfahrens) mit einer aktuellen Segmentierung (beispielsweise unter Nutzung desselben oder verschiedener Bildsegmentierungsverfahren) iterativ integriert wird. Bei einem Beispiel kann/können, wenn ein Nutzer mit einem Bild interagiert, ein vorheriges Segmentierungsverfahren / vorherige Segmentierungsverfahren, das/die bei einem Bild angewendet worden ist/sind, in eine aktualisierte Bildsegmentierung integriert werden. Auf diese Weise ermöglicht die Segmentierung eines Bildes unter Nutzung des integrierten Segmentierungssystems, dass mehrere interaktive Bildsegmentierungsverfahren in einen gesamten integrierten Bildsegmentierungsprozess assimiliert werden. Vorteilhafterweise nutzt das auf diese Weise erfolgende Kombinieren von verschiedenen Bildsegmentierungsverfahren die Stärken eines jeden der verschiedenen Bildsegmentierungsverfahren beim Generieren einer Segmentierungsmaske auf Grundlage einer optimalen Bildsegmentierung für ein Bild.
  • Im Detail betreffen Ausführungsformen der vorliegenden Offenbarung ein integriertes Segmentierungssystem, das nutzerfreundlich und mit einem beliebigen interaktiven Bildsegmentierungsverfahren kompatibel ist. Insbesondere kann das integrierte Segmentierungssystem, wie hier beschrieben wird, verschiedene interaktive Bildsegmentierungsverfahren in einer vereinheitlichten Bibliothek integrieren. Die vereinheitlichte Bibliothek ermöglicht, dass verschiedene Bildsegmentierungsverfahren in Reaktion auf Interaktionen, die die gewünschte Segmentierung eines Bildes angeben (beispielsweise Klicken, Wischen, Begrenzungskästchen), aufeinander aufgebaut werden. Bei einem Beispiel kann ein Nutzer mit einem Bild unter Nutzung eines ersten Bildsegmentierungsverfahrens interagieren, um anzugeben, dass ein Hund in der Segmentierung beinhaltet sein soll, wobei das erste Bildsegmentierungsverfahren gegebenenfalls eine erste Segmentierungsmaske generiert, die die Ohren des Hundes nicht beinhaltet. Unter Nutzung eines zweiten Bildsegmentierungsverfahrens kann der Nutzer die Ohren des Hundes, die in der Segmentierung enthalten sein sollen, angeben. Das integrierte Segmentierungssystem der vorliegenden Offenbarung ermöglicht, dass die erste Segmentierungsmaske berücksichtigt wird, wenn das zweite Bildsegmentierungsverfahren zum Segmentieren des Bildes benutzt wird, um eine optimale Segmentierungsmaske (die beispielsweise den Hund und die Ohren des Hundes enthält) zu generieren. Vorteilhafterweise ermöglicht die vereinheitlichte Bibliothek des integrierten Segmentierungssystems, dass ein Nutzer mit einem Bild unter Nutzung eines beliebigen Typs von Interaktionseingabe, die die gewünschte Segmentierung des Bildes am besten angibt, interagiert. Auf diese Weise ermöglicht das integrierte Segmentierungssystem, dass der Nutzer intuitiv und direkt mit dem Bild interagiert, um eine optimale Segmentierungsmaske zu erhalten.
  • Um mehrere Segmentierungsverfahren in eine optimale Segmentierung eines Bildes zu integrieren, kann Information im Zusammenhang mit einer vorherigen Segmentierung in eine aktuelle Segmentierung integriert werden. Bei einer Ausführungsform kann das integrierte Segmentierungssystem unter Nutzung eines oder mehrerer neuronaler Netzwerke implementiert werden. Ein neuronales Netzwerk bezeichnet allgemein eine rechentechnische Methode, die große Cluster von verbundenen Neutronen nutzt. Ein neuronales Netzwerk kann beispielsweise aus vollständig verbundenen (fully connected) Schichten zusammengesetzt sein. Neuronale Netzwerke sind selbstlernend und werden trainiert, anstatt dass sie explizit derart programmiert werden, dass eine generierte Ausgabe eines neuronalen Netzwerkes ein gewünschtes Ergebnis wiedergibt. Bei Ausführungsformen kann das integrierte Segmentierungssystem ein oder mehrere neuronale Netzwerke auf Grundlage einer faltungstechnischen RNN-Architektur (Recurrent Neural Network RNN, rekurrentes neuronales Netzwerk) beinhalten. Das integrierte Segmentierungssystem kann beispielsweise ein faltungstechnisches RNN implementieren, um Information im Zusammenhang mit einer oder mehreren vorherigen Segmentierungen beim Übergang von einem Segmentierungsverfahren zum nächsten zu behalten.
  • Das integrierte Segmentierungssystem kann ein faltungstechnisches RNN nutzen, um Information im Zusammenhang mit einer vorherigen Segmentierung / vorherigen Segmentierungen beim Durchführen einer aktuellen Segmentierung zu integrieren. Das faltungstechnische RNN kann die vorherige Segmentierung / die vorherigen Segmentierungen mit der aktuellen Segmentierung kombinieren, ohne dass Information über das Bildsegmentierungsverfahren / die Bildsegmentierungsverfahren, das/die zum Generieren der Segmentierungen benutzt wird/werden, erforderlich wäre. Auf diese Weise ist das integrierte Segmentierungssystem hochgradig skalierbar, da ein beliebiges Bildsegmentierungsverfahren zum Generieren der Segmentierungen benutzt werden kann. Es kann beispielsweise auch dann ein neues Bildsegmentierungsverfahren zu dem integrierten Segmentierungssystem hinzugefügt werden, wenn das faltungstechnische RNN vorher nicht benutzt worden ist, um das Bildsegmentierungsverfahren zu integrieren.
  • Das Integrieren zum Kombinieren einer vorherigen Segmentierung / von vorherigen Segmentierungen mit einer aktuellen Segmentierung kann auf Grundlage dessen durchgeführt werden, dass ein faltungstechnisches RNN Information im Zusammenhang mit einer vorherigen Segmentierung eines Bildes empfängt und mit Information im Zusammenhang mit einer aktuellen Segmentierung des Bildes kombiniert. Eine derartige Information kann wenigstens eine Wahrscheinlichkeitsverteilungskarte umfassen. Eine Wahrscheinlichkeitsverteilungskarte kann allgemein die Ausgabe eines Segmentierungsverfahrens (beispielsweise eine Segmentierungsmaske, eine Wärmekarte bzw. Heatmap und dergleichen) sein. Aus dieser Wahrscheinlichkeitsverteilungskarte kann eine Segmentierungsmaske generiert werden. Insbesondere kann das faltungstechnische RNN Information im Zusammenhang mit einer vorherigen Wahrscheinlichkeitsverteilungskarte empfangen. Unter Nutzung dieser Information kann das faltungstechnische RNN einen verborgenen Zustand auf Grundlage der Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte generieren. Nachfolgend kann, wenn ein nachfolgendes Segmentierungsverfahren zum Segmentieren des Bildes benutzt wird, die aktuelle Wahrscheinlichkeitsverteilungskarte (die beispielsweise unter Nutzung des nachfolgenden Segmentierungsverfahrens bestimmt worden ist) unter Nutzung dieses verborgenen Zustandes aktualisiert werden, um eine aktualisierte Wahrscheinlichkeitsverteilungskarte zu generieren. Auf diese Weise kann der verborgene Zustand des faltungstechnischen RNN benutzt werden, um Information im Zusammenhang mit einer vorherigen Segmentierung in eine aktuelle Segmentierung einzubeziehen. Die sich ergebende aktualisierte Wahrscheinlichkeitsverteilungskarte kann sodann benutzt werden, um eine aktualisierte Segmentierungsmaske (die beispielsweise die vorherige Segmentierung und die aktuelle Segmentierung einbezieht) zu generieren. Ein derartiger Prozess kann wiederholt werden, bis die aktualisierte Segmentierungsmaske eine optimale Segmentierungsmaske ist.
  • Im Detail bedeutet dies, dass das faltungstechnische RNN Segmentierungsverfahren unter Nutzung von Information im Zusammenhang mit Wahrscheinlichkeitsverteilungskarten zur Segmentierung eines Bildes integrieren kann. Das faltungstechnische RNN kann beispielsweise benutzt werden, um eine Merkmalskarte für ein Bild zu bestimmen. Eine derartige Merkmalskarte kann sodann mit einer aktuellen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem aktuellen Segmentierungsverfahren) und einer vorherigen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem vorherigen Segmentierungsverfahren) kombiniert werden. Insbesondere kann die Merkmalskarte mit der aktuellen Wahrscheinlichkeitsverteilungskarte kombiniert werden, um ein erstes Merkmal (beispielsweise die Kombination der Merkmalskarte und der aktuellen Wahrscheinlichkeitsverteilungskarte) zu generieren. Des Weiteren kann die Merkmalskarte mit der vorherigen Wahrscheinlichkeitsverteilungskarte kombiniert werden, um ein zweites Merkmal (beispielsweise die Kombination der Merkmalskarte und der vorherigen Wahrscheinlichkeitsverteilungskarte) zu generieren. Das erste und das zweite Merkmal können sodann verkettet werden, um eine aktualisierte Wahrscheinlichkeitsverteilungskarte zu generieren. Diese aktualisierte Wahrscheinlichkeitsverteilungskarte bezieht Information im Zusammenhang mit dem aktuellen Segmentierungsverfahren und dem vorherigen Segmentierungsverfahren ein.
  • Bei einigen Ausführungsformen kann das faltungstechnische RNN beseitigende Bildverfahren unter Nutzung von Information im Zusammenhang mit dem Segmentieren eines Bildes integrieren. Es kann ein Beseitigungssegmentierungsverfahren eingesetzt werden, wenn eine interaktive Objektauswahl angibt, dass ein Objekt, ein einzelnes Merkmal oder ein Abschnitt eines Bildes aus einer gewünschten Segmentierungsmaske ausgeschlossen werden sollen. Üblicherweise muss beim Durchführen eines beseitigenden Bildsegmentierungsverfahrens eine vorher bestehende Segmentierungsmaske vorhanden sein, aus der ein Objekt, ein Merkmal oder ein Abschnitt zur Ausschließung aus einer gewünschten Segmentierungsmaske ausgewählt werden kann. Oftmals ist jedoch, wenn ein beseitigendes Bildsegmentierungsverfahren an einem Bild als erste Segmentierung durchgeführt wird, nicht ausreichend Information vorhanden, um anzugeben, welches Objekt, welches Merkmal oder welcher Abschnitt zur Ausschließung aus dem Bild ausgewählt worden ist. Ein erstes Segmentierungsverfahren kann beispielsweise eine erste Segmentierungsmaske einer Katze und eines Hundes generieren, wenn:nur der Hund erwünscht ist. Wird ein zweites Segmentierungsverfahren (beispielsweise ein beseitigendes Bildsegmentierungsverfahren) benutzt, um anzugeben, dass die Katze nicht in der Segmentierungsmaske beinhaltet sein soll, so verfügt ein Beseitigungssegmentierungswerkzeug üblicherweise nicht über Information über die erste Segmentierungsmaske mit der Katze und dem Hund. Das integrierte Segmentierungssystem hat beispielsweise keine Kenntnisse über den Typ des benutzten Bildsegmentierungsverfahrens. Als solches kann das integrierte Segmentierungssystem die Beseitigungsinformation in das faltungstechnische RNN einbeziehen, damit das System verfolgen kann, welches Objekt, welches Merkmal oder welcher Abschnitt eines Bildes aus einer gewünschten Segmentierungsmaske ausgeschlossen werden soll.
  • Insbesondere kann das faltungstechnische RNN benutzt werden, um eine Merkmalskarte für ein Bild zu bestimmen. Eine derartige Merkmalskarte kann die Beseitigungsinformation einbeziehen. Gibt die interaktive Objektauswahl beispielsweise das Beseitigen der Katze an, so kann Information im Zusammenhang mit der Katze in der bestimmten Merkmalskarte beseitigt werden. Diese Merkmalskarte (beispielsweise mit Information im Zusammenhang mit der beseitigten Katze) kann sodann mit einer aktuellen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem aktuellen Segmentierungsverfahren) und einer vorherigen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem vorherigen Segmentierungsverfahren) kombiniert werden. Insbesondere kann die Merkmalskarte mit der aktuellen Wahrscheinlichkeitsverteilungskarte kombiniert werden, um ein erstes Merkmal (beispielsweise die Kombination der Merkmalskarte und der aktuellen Wahrscheinlichkeitsverteilungskarte) zu generieren. Des Weiteren kann die Merkmalskarte mit der vorherigen Wahrscheinlichkeitsverteilungskarte kombiniert werden, um ein zweites Merkmal (beispielsweise die Kombination der Merkmalskarte und der vorherigen Wahrscheinlichkeitsverteilungskarte) zu generieren. Das erste und das zweite Merkmal können sodann verkettet werden, um eine aktualisierte Wahrscheinlichkeitsverteilungskarte zu generieren. Diese aktualisierte Wahrscheinlichkeitsverteilungskarte bezieht Information im Zusammenhang mit dem aktuellen Segmentierungsverfahren und dem vorherigen Segmentierungsverfahren ein.
  • Das faltungstechnische RNN kann dafür trainiert werden, verschiedene interaktive Bildsegmentierungsverfahren zu trainieren. Bei einer Ausführungsform können zwei Bildsegmentierungsverfahren benutzt werden, um das faltungstechnische RNN zu trainieren (beispielsweise PhraseCut und DIOS (Deep Interactive Object Selection)). Wird beispielsweise ein in gesprochener Sprache gegebener Befehl empfangen, so kann ein sprachbasiertes Segmentierungsverfahren (beispielsweise PhraseCut) benutzt werden. Wird ein Klick empfangen, so kann ein klickbasiertes Segmentierungsverfahren (beispielsweise DIOS) benutzt werden. Zum Trainieren des faltungstechnischen RNN kann beispielsweise ein erstes Segmentierungsverfahren anfänglich an einem Bild durchgeführt werden. Zur Durchführung des ersten Segmentierungsverfahrens kann eine interaktive Objektauswahl empfangen werden, die angibt, welche Segmentierung benutzt werden soll (beispielsweise ein in gesprochener Sprache gegebener Befehl für PhraseCut und ein Klick für DIOS). Das erste Segmentierungsverfahren kann sodann durchgeführt werden, um eine Wahrscheinlichkeitsverteilungskarte zu generieren. Diese Wahrscheinlichkeitsverteilungskarte kann in das faltungstechnische RNN zusammen mit dem Bild eingespeist werden. Das faltungstechnische RNN kann einen verborgenen Zustand im Zusammenhang mit dem ersten Segmentierungsverfahren und eine Ausgabe einer aktualisierten Wahrscheinlichkeitsmaske speichern. Der Verlust zwischen der aktualisierten Wahrscheinlichkeitsmaske und einer Ground-Truth-Maske kann benutzt werden, um das faltungstechnische RNN zu aktualisieren. Es kann beispielsweise ein Pixelverlust benutzt werden.
  • Bei Ausführungsformen verfügt das faltungstechnische RNN über keine Kenntnisse über das Verfahren, das zum Generieren der Wahrscheinlichkeitsverteilungskarte benutzt wird. Das Trainieren des faltungstechnischen RNN ohne diese Kenntnisse stellt sicher, dass das trainierte faltungstechnische RNN auf einen beliebigen Typ von Bildsegmentierungsverfahren erweiterbar ist. Obwohl das faltungstechnische RNN beispielsweise unter Nutzung von zwei Bildsegmentierungsverfahren trainiert werden kann, kann das trainierte faltungstechnische RNN benutzt werden, um eine beliebige Anzahl von Bildsegmentierungsverfahren beim Durchführen einer optimalen Segmentierung eines Bildes zu integrieren.
  • Bei Ausführungsformen kann ein klassifizierendes neuronales Netzwerk eine Segmentierungsmaske aus der aktualisierten Wahrscheinlichkeitsverteilungskarte generieren. Ein derartiges klassifizierendes neuronales Netzwerk kann ein Merkmal (beispielsweise in Form der aktualisierten Wahrscheinlichkeitsverteilungskarte) empfangen und eine endgültige Ausgabe (beispielsweise in Form einer optimalen Segmentierungsmaske) generieren. Das klassifizierende neuronale Netzwerk kann beispielsweise einen Decoder-Abschnitt beinhalten, der das von einem Menschen nicht interpretierbare Merkmal in einem Merkmalsraum nimmt und das Merkmal in einen Bildzustand rückverwandelt. Bei einigen Ausführungsformen kann das klassifizierende neuronale Netzwerk dahingehend trainiert werden, wie die Merkmale aus der Merkmalskarte, die mit der aktuellen Wahrscheinlichkeitsverteilungskarte kombiniert ist, und der Merkmalskarte, die mit der vorherigen Wahrscheinlichkeitsverteilungskarte kombiniert ist, kombiniert werden können. Da das faltungstechnische RNN beispielsweise nicht über Kenntnisse des benutzten Bildsegmentierungsverfahrens verfügt, kann das klassifizierende neuronale Netzwerk diese Informationen nutzen, um ein erstes Merkmal im Zusammenhang mit einem ersten Bildsegmentierungsverfahren mit einem zweiten Merkmal im Zusammenhang mit einem zweiten Bildsegmentierungsverfahren intelligent zu kombinieren. Ist bei einem Beispiel das erste Bildsegmentierungsverfahren im Zusammenhang mit dem Inneren von Objekten genauer, jedoch bei Kanten nicht so genau und ist das zweite Bildsegmentierungsverfahren im Zusammenhang mit dem Inneren von Objekten weniger genau, jedoch bei Kanten genauer, so kann das klassifizierende neuronale Netzwerk die ersten und zweiten Merkmale entsprechend kombinieren (und dabei beispielsweise Abschnitte im Zusammenhang mit dem zuverlässigeren/genaueren Verfahren bevorzugen).
  • 1A zeigt eine exemplarische Konfigurierung einer Betriebsumgebung, in der einige Implementierungen der vorliegenden Offenbarung eingesetzt werden können, entsprechend verschiedenen Ausführungsformen der vorliegenden Offenbarung. Es sollte einsichtig sein, das diese und weitere hier beschriebene Anordnungen lediglich als Beispiele angegeben sind. Andere Anordnungen und Elemente (beispielsweise Maschinen, Schnittstellen, Funktionen, Reihenfolgen und Gruppierungen von Funktionen und dergleichen) können zusätzlich zu den gezeigten oder anstelle derselben benutzt werden, und es können einige Elemente auch der Klarheit halber gänzlich weggelassen werden. Viele der hier beschriebenen Elemente sind des Weiteren funktionale Entitäten, die als diskrete oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in einer beliebigen geeigneten Kombination und an einem beliebigen geeigneten Ort implementiert sein können. Verschiedene Funktionen, die hier derart beschrieben sind, dass sie von einer oder mehreren Entitäten durchgeführt werden, können von Hardware, Firmware und/oder Software ausgeführt werden. Einige Funktionen können beispielsweise von einem Prozessor ausgeführt werden, der Anweisungen ausführt, die in einem Speicher gespeichert sind, wie anhand 10 weiter beschrieben wird.
  • Es sollte einsichtig sein, dass die in 1A gezeigte Betriebsumgebung 100 ein Beispiel für eine geeignete Betriebsumgebung ist. Neben weiteren, nicht gezeigten Komponenten beinhaltet die Betriebsumgebung 100 eine Anzahl von Nutzervorrichtungen, so beispielsweise Nutzervorrichtungen 102a und 102b bis 102n, ein Netzwerk 104 und einen Server . / (mehrere) Server 108. Jede der in 1A gezeigten Komponenten kann über einen beliebigen Typ von Rechenvorrichtung implementiert sein, so beispielsweise über eine oder mehrere Rechenvorrichtungen 1000, die beispielsweise in Verbindung mit 10 beschrieben wird. Diese Komponenten können miteinander über das Netzwerk 104 kommunizieren, das verdrahtet, drahtlos oder beides sein kann. Das Netzwerk 104 kann mehrere Netzwerke oder ein Netzwerk aus Netzwerken beinhalten, ist jedoch in einer einfachen Form dargestellt, um Aspekte der vorliegenden Offenbarung nicht unklar zu machen. Beispielshalber kann das Netzwerk 104 ein oder mehrere Großbereichsnetzwerke (WANs), ein oder mehrere Ortsbereichsnetzwerke (LANs), ein oder mehrere öffentliche Netzwerke, so beispielsweise das Internet, und/oder ein oder mehrere private Netzwerke beinhalten. Beinhaltet das Netzwerk 104 ein Drahtlostelekommunikationsnetzwerk, so können Komponenten, so beispielsweise eine Basisstation, ein Kommunikations- bzw. Fernmeldeturm oder sogar Zugangspunkte (wie auch weitere Komponenten), eine Drahtloskonnektivität bereitstellen. Vernetzte Umgebungen sind in Büros, in unternehmensweiten Computernetzwerken, Intranets und dem Internet gängig. Das Netzwerk 104 kann ein beliebiges Netzwerk sein, das eine Kombination zwischen Maschinen, Datenbanken und Vorrichtungen (mobil oder auf andere Art) ermöglicht. Entsprechend kann das Netzwerk 104 ein verdrahtetes Netzwerk, ein drahtloses Netzwerk (beispielsweise ein mobiles oder zellenbasiertes Netzwerk), ein Speicherzonennetzwerk (Storage Area Network SAN) oder eine beliebige geeignete Kombination hieraus sein. Bei einer exemplarischen Ausführungsform beinhaltet das Netzwerk 104 einen oder mehrere Abschnitte eines privaten Netzwerkes, eines öffentlichen Netzwerkes (beispielsweise des Internets) oder einer Kombination hieraus. Entsprechend wird das Netzwerk 104 nicht allzu detailliert beschrieben.
  • Es sollte einsichtig sein, dass eine beliebige Anzahl von Nutzervorrichtungen, Servern und anderen Komponenten in der Betriebsumgebung 100 innerhalb des Umfanges der vorliegenden Offenbarung eingesetzt werden kann. Umfasst sein können jeweils eine einzelne Vorrichtung oder mehrere Vorrichtungen, die in einer verteilten Umgebung zusammenarbeiten.
  • Die Nutzervorrichtungen 102a bis 102n können ein beliebiger Typ von Rechenvorrichtung sein, der von einem Nutzer betrieben werden kann. Bei einigen Implementierungen sind die Nutzervorrichtungen 102a bis 102n beispielsweise von demjenigen Typ von Rechenvorrichtung, der anhand 10 beschrieben wird. Verkörpert werden kann eine Nutzervorrichtung beispiels- und nicht beschränkungshalber als PC, Laptopcomputer, Mobilvorrichtung, Smartphone, Tabletcomputer, Smart Watch bzw. intelligente Armbanduhr, am Körper tragbarer Computer, persönlicher digitaler Assistent (PDA), MP3-Abspielgerät, Globalpositionierungssystem (GPS) oder solche Vorrichtung, Videoabspielgerät, Handkommunikationsvorrichtung, Gaming-Vorrichtung oder System, Unterhaltungssystem, Fahrzeugcomputersystem, eingebetteter Systemcontroller, Fernsteuerung, Haushaltsgerät, Gerät der Unterhaltungselektronik, Workstation, eine beliebige Kombination aus den aufgeführten Vorrichtungen oder eine beliebige andere geeignete Vorrichtung.
  • Die Nutzervorrichtungen können einen oder mehrere Prozessoren und ein oder mehrere computerlesbare Medien beinhalten. Die computerlesbaren Medien können computerlesbare Anweisungen beinhalten, die von dem einen oder den mehreren Prozessoren ausführbar sind. Die Anweisungen können von einer oder mehreren Anwendungen, so beispielsweise der in 1A gezeigten Anwendung 110 verkörpert sein. Die Anwendung 110 wird der Einfachheit halber als einzelne Anwendung bezeichnet, obwohl ihre Funktionalität in der Praxis auch durch eine oder mehrere Anwendungen verkörpert sein kann. Wie vorstehend angegeben worden ist, können die anderen Nutzervorrichtungen eine oder mehrere Anwendungen, die zu der Anwendung 110 ähnlich sind, beinhalten.
  • Die Anwendung / Anwendungen kann/können eine beliebige Anwendung sein, die den Austausch von Information zwischen den Nutzervorrichtungen und dem Server / den Servern 108 beim Ausführen einer Bildbearbeitung, so beispielsweise beim Segmentieren eines Bildes zum Generieren einer Segmentierungsmaske zur Nutzung bei der Bearbeitung des Bildes, erleichtern kann. Bei einigen Implementierungen umfasst/umfassen die Anwendung / Anwendungen eine Webanwendung, die in einem Webbrowser laufen kann und die wenigstens teilweise auf der Serverseite der Umgebung 100 gehostet sein kann. Zusätzlich oder anstelle dessen kann/können die Anwendung / Anwendungen eine eigens vorgesehene Anwendung umfassen, so beispielsweise eine Anwendung, die eine Bildbearbeitungs- oder Bildverarbeitungsfunktionalität aufweist. Eine derartige Anwendung kann beispielsweise dafür konfiguriert sein, Bilder anzuzeigen und/oder dem Nutzer zu ermöglichen, Bilder zur Bearbeitung einzugeben oder zu identifizieren. In einigen Fällen ist die Anwendung in das Betriebssystem (beispielsweise als Dienst) integriert. Es ist daher beabsichtigt, dass der Begriff „Anwendung“ breit gedeutet werden soll. Exemplarische Anwendungen beinhalten Adobe® Photoshop®, Lightroom® und dergleichen.
  • Entsprechend den hier beschriebenen Ausführungsformen kann die Anwendung 110 das Segmentieren eines Bildes, das Präsentieren der Segmentierung als Segmentierungsmaske und das Bearbeiten des Bildes unter Nutzung einer optimalen Segmentierungsmaske erleichtern. Insbesondere kann ein Nutzer ein Bild oder eine Abbildung zur Segmentierung auswählen oder eingeben. Ein Bild und/oder eine Abbildung können auf beliebige Weise ausgewählt oder eingegeben werden. Die Anwendung kann den Zugang zu einem oder mehreren Bildern, die auf der Nutzervorrichtung 102 (beispielsweise in einer Fotobibliothek) gespeichert sind, erleichtern und/oder Bilder von Remote-Vorrichtungen 102b bis 102n und/oder Anwendungen, so beispielsweise von dem Server 108, importieren. Ein Nutzer kann ein Bild unter Nutzung einer Kamera auf einer Vorrichtung, so beispielsweise der Nutzervorrichtung 102a, aufnehmen. Bei einem weiteren Beispiel kann ein Nutzer ein gewünschtes Bild aus einer Sammlung auswählen, die beispielsweise in einem Datenspeicher, der für ein Netzwerk zugänglich ist, oder örtlich auf der Nutzervorrichtung 102a gespeichert ist. Auf Grundlage des eingegebenen Bildes kann das eingegebene Bild eine Segmentierung unter Nutzung von Techniken erfahren, von denen einige nachstehend anhand des integrierten Segmentierungssystems 204 von 2 weiter erläutert werden, und es kann eine Segmentierungsmaske für den Nutzer über die Nutzervorrichtung 102a bereitgestellt werden.
  • Insbesondere kann ein Nutzer eine interaktive Objektauswahl eines Bildes unter Nutzung einer Anwendung 110 durchführen. Eine derartige interaktive Objektauswahl kann auf einem interaktiven Vorgang (beispielsweise Anklicken, Kritzeln, Begrenzungskästchen und/oder Sprache) beruhen. Auf Grundlage der empfangenen interaktiven Objektauswahl kann das Bild unter Nutzung eines ausgewählten Segmentierungsverfahrens segmentiert werden. Nach vollzogener Segmentierung kann dem Nutzer eine Segmentierungsmaske angezeigt werden. Der Nutzer kann des Weiteren mit dem Bild und der angezeigten Segmentierungsmaske unter Nutzung einer zusätzlichen interaktiven Objektauswahl / zusätzlicher interaktiver Objektauswahlen interagieren. Eine derartige interaktive Objektauswahl kann weitere Verfeinerungen angeben, von denen der Nutzer wünscht, dass sie an der angezeigten Segmentierungsmaske vorgenommen werden. Aus dieser zusätzlichen interaktiven Objektauswahl / diesen zusätzlichen interaktiven Objektauswahlen kann dem Nutzer eine aktualisierte Segmentierungsmaske (beispielsweise eine optimierte Segmentierungsmaske) angezeigt werden. Eine derartige aktualisierte Segmentierungsmaske kann unter Nutzung integrierter Segmentierungstechniken generiert werden, die nachstehend anhand des integrierten Segmentierungssystems 204 von 2 weiter erläutert werden.
  • Die Nutzervorrichtung kann über ein Netzwerk 104 mit einem Server 108 (beispielsweise einem SAAS-Server (Software as a Service SAAS)) kommunizieren, der ein cloudbasiertes und/oder netzwerkbasiertes integriertes Segmentierungssystem 106 bereitstellt. Das integrierte Segmentierungssystem kann mit den Nutzervorrichtungen und der entsprechenden Nutzerschnittstelle kommunizieren, um einem Nutzer die Segmentierung und/oder Präsentation von Bildern über die Nutzervorrichtung beispielsweise unter Nutzung der Anwendung 110 zu erleichtern.
  • Wie hier beschrieben wird, kann der Server 108 das Segmentieren eines Bildes, das Generieren einer optimierten Segmentierungsmaske und das Präsentieren von derartigen Segmentierungen als Segmentierungsmaske über das integrierte Segmentierungssystem 106 erleichtern. Der Server 108 beinhaltet einen oder mehrere Prozessoren und ein oder mehrere computerlesbare Medien. Die computerlesbaren Medien beinhalten computerlesbare Anweisungen, die von dem einen oder den mehreren Prozessoren ausführbar sind. Die Anweisungen können optional eine oder mehrere Komponenten des integrierten Segmentierungssystems 106 implementieren, wie nachstehend noch detaillierter beschrieben wird. Der Server 108 kann verschiedene interaktive Bildsegmentierungsverfahren integrieren, um eine optimierte Segmentierungsmaske zu generieren. Derartige interaktive Bildsegmentierungsverfahren können in einer vereinheitlichten Bibliothek gespeichert werden. Diese vereinheitlichte Bibliothek ermöglicht, dass verschiedene Bildsegmentierungsverfahren in Reaktion auf Interaktionen, die eine gewünschte Segmentierung für ein Bild angeben (beispielsweise Anklicken, Wischen, Begrenzungskästchen) aufeinander aufgebaut werden.
  • Bei cloudbasierten Implementierungen können die Anweisungen auf dem Server 108 eine oder mehrere Komponenten des integrierten Segmentierungssystems 106 implementieren. Die Anwendung 110 kann von einem Nutzer eingesetzt werden, um eine Schnittstelle mit einer Funktionalität zu erhalten, die auf dem Server / den Servern 108 implementiert ist, so beispielsweise mit derjenigen des integrierten Segmentierungssystems 106. In einigen- Fällen umfasst die Anwendung 110 einen Webbrowser. In anderen Fällen ist der Server 108 gegebenenfalls nicht erforderlich, wie weiter anhand 1B erläutert wird.
  • Es sollte daher einsichtig sein, dass das integrierte Segmentierungssystem 106 durch mehrere Vorrichtungen bereitgestellt werden kann, die in einer verteilten Umgebung angeordnet sind und die die hier beschriebene Funktionalität kollektiv bereitstellen. Zusätzlich können nicht gezeigte weitere Komponenten ebenfalls innerhalb der verteilten Umgebung beinhaltet sein. Zusätzlich oder anstelle dessen kann das integrierte Segmentierungssystem 106 wenigstens teilweise in eine Nutzervorrichtung, so beispielsweise die Nutzervorrichtung 102a, integriert sein.
  • In 1B sind Aspekte eines illustrativen integrierten Segmentierungssystems entsprechend verschiedenen Ausführungsformen der vorliegenden Offenbarung gezeigt. 1B zeigt eine Nutzervorrichtung 114 entsprechend einer exemplarischen Ausführungsform, die dafür konfiguriert ist zu ermöglichen, dass eine optimale Segmentierung eines Bildes durch Integrieren von mehreren Segmentierungsverfahren durchgeführt wird. Die Nutzervorrichtung 114 kann gleich den Nutzervorrichtungen 102a bis 102n oder auch ähnlich zu diesen sein und kann dafür konfiguriert sein, das integrierte Segmentierungssystem 116 (als eigenständige oder vernetzte Vorrichtung) zu unterstützen. Die Nutzervorrichtung 114 kann beispielsweise Software/Anweisungen speichern und ausführen, um Interaktionen zwischen einem Nutzer und dem integrierten Segmentierungssystem 116 über die Nutzerschnittstelle 118 der Nutzervorrichtung zu erleichtern.
  • Eine Nutzervorrichtung kann von einem Nutzer eingesetzt werden, um das Segmentieren eines Bildes, das Präsentieren der Segmentierungen als Segmentierungsmasken und das Bearbeiten des Bildes unter Nutzung einer Segmentierungsmaske (beispielsweise einer optimierten Segmentierungsmaske) zu erleichtern. Insbesondere kann ein Nutzer ein Bild oder eine Abbildung zur Segmentierung unter Einsatz der Nutzerschnittstelle 118 auswählen oder eingeben. Ein Bild und/oder eine Abbildung kann auf beliebige Weise ausgewählt oder eingegeben werden. Die Nutzerschnittstelle kann erleichtern, dass der Nutzer auf ein oder mehrere Bilder zugreift, die auf der Nutzervorrichtung (beispielsweise in einer Fotobibliothek) gespeichert sind, und/oder Bilder von Remote-Vorrichtungen und/oder Anwendungen importiert. Auf Grundlage des eingegebenen Bildes kann das eingegebene Bild einer Segmentierung unter Nutzung verschiedener Techniken unterzogen werden, von denen einige nachstehend anhand des integrierten Segmentierungssystems 204 von 2 beschrieben sind, und es kann eine optimierte Segmentierungsmaske für den Nutzer über eine Nutzerschnittstelle bereitgestellt werden. Nach dem Kombinieren von mehreren Bildsegmentierungsverfahren zum Generieren der optimierten Segmentierungsmaske kann die Segmentierungsmaske zum Bearbeiten des Bildes benutzt werden.
  • In 2 sind Aspekte einer illustrativen Bildsegmentierungsumgebung 200 entsprechend verschiedenen Ausführungsformen der vorliegenden Offenbarung gezeigt. Das integrierte Segmentierungssystem 204 beinhaltet eine Interaktionsanalyse-Engine 206, eine Vereinheitlichte-Bibliothek-Engine 208 und eine Integrations-Engine 210. Die vorgenannten Engines des integrierten Segmentierungssystems 204 können beispielsweise in der Betriebsumgebung 100 von 1A und/oder in der Betriebsumgebung 112 von 1B integriert sein. Insbesondere können diese Engines in einer beliebigen geeigneten Kombination der Nutzervorrichtungen 102a und 102b bis 102n und dem Server / den Servern 108 und/oder der Nutzervorrichtung 104 integriert sein. Obwohl die Interaktionsanalyse-Engine, die Vereinheitlichte-Bibliothek-Engine und die Integrations-Engine als separate Engines dargestellt sind, sollte einsichtig sein, dass eine einzelne Engine die Funktionalität einer oder mehrerer Engines übernehmen kann. Zusätzlich kann bei Implementierungen die Funktionalität der Engines unter Nutzung von zusätzlichen Engines durchgeführt werden. Es sollte des Weiteren einsichtig sein, dass die Funktionalität der Vereinheitlichten-Bibliothek-Engine von einem System bereitgestellt werden kann, das von dem integrierten Segmentierungssystem (beispielsweise einem Bildsegmentierungssystem) getrennt ist.
  • Ein derartiges integriertes Segmentierungssystem kann in Zusammenarbeit mit dem Datenspeicher 202 arbeiten. Der Datenspeicher 202 kann Computeranweisungen (beispielsweise Softwareprogrammanweisungen, Routinen oder Dienste), Daten und/oder Modelle, die bei den hier beschriebenen Ausführungsformen benutzt werden, speichern. Bei einigen Implementierungen kann der Datenspeicher 202 Information oder Daten speichern, die über die verschiedenen Engines und/oder Komponenten des integrierten Segmentierungssystems 204 empfangen werden, und bietet den verschiedenen Engines und/oder Komponenten bei Bedarf Zugang zu jener Information oder jenen Daten. Obwohl der Datenspeicher 202 als eine einzelne Komponente dargestellt ist, kann er auch in einem oder mehreren Datenspeichern verkörpert sein. Des Weiteren kann die Information in dem Datenspeicher 202 auf beliebige geeignete Weise über einen oder mehrere Datenspeicher zur Speicherung (gegebenenfalls mit einem externen Host) verteilt sein.
  • Bei Ausführungsformen kann der Datenspeicher 202 benutzt werden, um ein neuronales Netzwerksystem zu speichern, das benutzt werden kann, um eine optimale Segmentierung eines Bildes durch Integrieren von mehreren Segmentierungsverfahren durchzuführen. Insbesondere kann eine derartige optimale Segmentierung auf Techniken des Deep Learning basieren, wie sie nachstehend anhand der Integrations-Engine 210 weiter beschrieben werden. Ein derartiges neuronales Netzwerksystem kann aus einem oder mehreren neuronalen Netzwerken zusammengesetzt sein.
  • Bei Ausführungsformen können Daten, die in dem Datenspeicher 202 gespeichert sind, Bilder beinhalten, die ein Nutzer zur Segmentierung beispielsweise unter Nutzung des integrierten Segmentierungssystems auswählen kann. Ein Bild kann eine visuelle Darstellung einer Person, eines Objektes oder einer Szene beinhalten. Beispiele für ein Bild können digitale Versionen einer Abbildung, eines Gemäldes, einer Zeichnung und/oder einer Fotografie beinhalten. Derartige Bilder können in den Datenspeicher 202 von einer Remote-Vorrichtung, so beispielsweise von einem Server oder einer Nutzervorrichtung, eingegeben werden. Daten, die in dem Datenspeicher 202 gespeichert sind, können zudem Segmentierungsmasken, die für ein Bild generiert werden, beinhalten. Derartige Segmentierungsmasken können als mehrere Segmente und/oder als Masken gespeichert werden. Segmente können entlang Grenzen innerhalb eines Bildes erstellt und/oder zum Bezeichnen von Objekten und/oder Merkmalen innerhalb des Bildes benutzt werden. Daten, die in dem Datenspeicher 202 gespeichert sind, können zudem bearbeitete Bilder beinhalten. Gespeicherte Bearbeitungen können Manipulationen an einem Bild unter Nutzung einer ausgewählten Segmentierungsmaske beinhalten, um Bearbeitungen an dem entsprechenden Abschnitt des Bildes vorzunehmen.
  • Das integrierte Segmentierungssystem 204 kann allgemein zum Segmentieren von Bildern benutzt werden. Insbesondere kann das integrierte Segmentierungssystem zur optimalen Segmentierung eines Bildes durch Integrieren von mehreren Segmentierungsverfahren konfiguriert sein. Im Sinne des Vorliegenden ist die Bildsegmentierung ein Prozess des Unterteilens eines Bildes in eine Segmentierungsmaske auf Grundlage einer oder mehrerer Interaktionen mit dem Bild. Eine derartige Interaktion / derartige Interaktionen kann/können eine interaktive Objektauswahl (beispielsweise zur Angabe eines Abschnittes des Bildes zur Segmentierung in eine Segmentierungsmaske) sein. Eine derartige Segmentierungsmaske kann bei der Bildbearbeitung benutzt werden, um Bearbeitungen selektiv nur an demjenigen Abschnitt des Bildes, der durch die Interaktion (beispielsweise bei einer interaktiven Objektauswahl) angegeben wird, vorzunehmen.
  • Die Interaktionsanalyse-Engine 206 kann Interaktionen mit einem Bild empfangen und analysieren. Diese Interaktionen können interaktive Objektauswahlen sein. Eine derartige interaktive Objektauswahl kann auf einem von einem Nutzer durchgeführten interaktiven Vorgang beruhen. Die interaktiven Vorgänge können beispielsweise Klicks, Kritzler, das Zeichnen eines Begrenzungskästchens und/oder das Äußern eines Sprachbefehls beinhalten. Der interaktive Vorgang kann ein Objekt, eine Fläche bzw. Zone und/oder einen Abschnitt eines Bildes zur Einbeziehung in die Segmentierung oder zur Ausschließung aus dieser beinhalten. Ein Nutzer kann eine interaktive Objektauswahl mit einem Bild unter Nutzung einer grafischen Nutzerschnittstelle („GUI“) durchführen. Bei einem illustrativen Beispiel kann ein Nutzer in einem Bild einen Hund anklicken, um anzugeben, dass der Hund in der Segmentierung beinhaltet sein soll. Bei einem weiteren Beispiel kann ein Nutzer einen in gesprochener Sprache gegebenen Befehl äußern, um anzugeben, dass ein Hund in der Segmentierung eines Bildes beinhaltet sein soll.
  • Bei einigen Implementierungen kann eine Interaktionsanalyse-Engine 206 des Weiteren ein bestimmtes Bildsegmentierungsverfahren bestimmen, das zum Segmentieren des Bildes benutzt werden soll. Bei einigen Ausführungsformen kann ein Nutzer das bestimmte Bildsegmentierungsverfahren auswählen. Ein Nutzer kann das Verfahren beispielsweise explizit auswählen, indem er ein Bildsegmentierungsverfahren (beispielsweise über eine Interaktion mit einer grafischen Nutzerschnittstelle) auswählt. Bei Ausführungsformen, bei denen ein Nutzer ein Verfahren explizit auswählt, kann eine Interaktionsanalyse-Engine 206 ein bestimmtes Bildsegmentierungsverfahren empfangen, das zum Segmentieren des Bildes benutzt werden soll. Ein Nutzer kann beispielsweise ein bei der Segmentierung zu benutzendes Werkzeug auswählen, das ein bestimmtes Bildsegmentierungsverfahren angibt. Ein Nutzer kann das Verfahren beispielsweise explizit angeben, indem er ein Bildsegmentierungsverfahren (beispielsweise über eine Interaktion mit einer grafischen Nutzerschnittstelle auswählt). Bei weiteren Implementierungen kann ein Nutzer das Verfahren implizit auswählen (das Verfahren kann beispielsweise auf Grundlage einer interaktiven Objektauswahl ausgewählt werden).
  • Auf Grundlage der empfangenen interaktiven Objektauswahl kann das integrierte Segmentierungssystem ein bestimmtes Bildsegmentierungsverfahren laufen lassen. Bei einigen Ausführungsformen kann die Interaktionsanalyse-Engine 206 die empfangene interaktive Objektauswahl analysieren, um ein bestimmtes Bildsegmentierungsverfahren zu bestimmen, das zum Segmentieren des Bildes benutzt werden soll. Das Verfahren kann beispielsweise auf Grundlage der interaktiven Objektauswahl ausgewählt werden. Bei einem Beispiel kann das ausgewählte Bildsegmentierungsverfahren, wenn die interaktive Objektauswahl ein in gesprochener Sprache gegebener Befehl ist, ein sprachbasiertes Segmentierungsverfahren (beispielsweise PhraseCut) sein. In einigen Fällen kann ein trainiertes neuronales Netzwerk benutzt werden, um das bestimmte Bildsegmentierungsverfahren zu bestimmen, das zum Segmentieren des Bildes benutzt werden soll.
  • Sobald ein bestimmtes Bildsegmentierungsverfahren zur Nutzung beim Segmentieren eines Bildes (beispielsweise unter Nutzung der Interaktionsanalyse-Engine 206) ausgewählt worden ist, kann die Vereinheitlichte-Bibliothek-Engine 208 das Bildsegmentierungsverfahren laufen lassen. Die Vereinheitlichte-Bibliothek-Engine 208 kann eine beliebige Anzahl von Bildsegmentierungsverfahren umfassen. Derartige Bildsegmentierungsverfahren können unter Nutzung von Techniken implementiert werden, die beinhalten: Techniken des Deep Learning, der Farbbereichs- oder Salienzdetektion, der Schwellenbildung (thesholding), Clusterverfahren, kompressionsbasierte Verfahren, histogrammbasierte Verfahren, die Kantendetektion, Dualclusterverfahren, Bereichswachstumsverfahren, auf partiellen Differenzialgleichungen basierende Verfahren, Variationsverfahren, Graphunterteilungsverfahren, Watershed-Transformationen, modellbasierte Segmentierungen, Multiskalensegmentierungen und halbautomatische Segmentierungen. Beinhalten können die Techniken des Deep Learning insbesondere eine semantische Segmentierung auf Instanzniveau, ein automatisches grenzempfindliches Herausschneiden durch einen Menschen, eine Objektdetektion unter Nutzung von Kaskaden-CNNs, einen generischen Algorithmus zur Segmentierung und dergleichen mehr.
  • Wie gezeigt ist, kann die Vereinheitlichte-Bibliothek-Engine 208 eine Segmentierungskomponente 212 beinhalten. Die vorgenannte Komponente der Vereinheitlichten-Bibliothek-Engine 208 kann beispielsweise in der Betriebsumgebung 100 von 1A und/oder in der Betriebsumgebung 112 von 1B implementiert werden. Insbesondere können diese Komponenten in eine beliebige geeignete Kombination der Nutzervorrichtungen 102a und 102b bis 102n und des Servers / der Server 106 und/oder der Nutzervorrichtung 114 integriert sein. Man beachte, dass ungeachtet dessen, dass die Segmentierungskomponente als einzelne Komponente gezeigt ist, die Funktionalität der Komponente bei Implementierungen auch unter Nutzung einer oder mehrerer zusätzlicher Komponenten ausgeführt werden kann.
  • Allgemein kann die Segmentierungskomponente 212 dafür konfiguriert sein, Bildsegmentierungsverfahren durchzuführen. Insbesondere kann die Segmentierungskomponente das bestimmte Bildsegmentierungsverfahren, das zur Nutzung beim Segmentieren eines Bildes (beispielsweise unter Nutzung der Interaktionsanalyse-Engine 206) ausgewählt wird, durchführen. Beim Durchführen eines Bildsegmentierungsverfahrens kann die Segmentierungskomponente 212 eine Wahrscheinlichkeitsverteilungskarte auf Grundlage eines empfangenen Bildes und einer interaktiven Objektauswahl im Zusammenhang mit dem Bild generieren. Eine Wahrscheinlichkeitsverteilungskarte kann allgemein die Ausgabe des Segmentierungsverfahrens (beispielsweise eine Segmentierungsmaske, eine Wärmekarte bzw. Heatmap und dergleichen) sein. Die Wahrscheinlichkeitsverteilungskarte kann beispielsweise Information sein, die von einem Segmentierungsverfahren beim Segmentieren eines Bildes generiert wird. Aus dieser Wahrscheinlichkeitsverteilungskarte kann eine Segmentierungsmaske generiert werden.
  • Die Segmentierungskomponente 212 kann zur Segmentierung auf ein Bild zugreifen oder verweisen. In diesem Zusammenhang kann die Segmentierungskomponente 212 auf ein Bild gemäß Auswahl durch einen Nutzer über einen Datenspeicher 202 und/oder von einer Remote-Vorrichtung, so beispielsweise von einem Server oder einer Nutzervorrichtung, zugreifen oder dieses abrufen. Bei einem weiteren Beispiel kann die Segmentierungskomponente 212 ein Bild empfangen, das für das integrierte Segmentierungssystem 204 über eine Nutzervorrichtung bereitgestellt wird.
  • Lässt man ein Bildsegmentierungsverfahren für ein Bild (beispielsweise unter Nutzung der Segmentierungskomponente 212) laufen, so kann die Integrations-Engine 212 eingesetzt werden, um eine optimale Segmentierung des Bildes zu erhalten, indem mehrere Segmentierungsverfahren integriert werden. Eine optimale Segmentierung kann beispielsweise generiert werden, indem eine vorherige Segmentierung (beispielsweise unter Nutzung eines Bildsegmentierungsverfahrens, das von der Segmentierungskomponente 212 durchgeführt wird) mit einer aktuellen Segmentierung (beispielsweise unter Nutzung desselben oder eines anderen Bildsegmentierungsverfahrens, das von der Segmentierungskomponente 212 benutzt wird) iterativ integriert wird. Bei einem Beispiel kann die Integrations-Engine 210, wenn ein Nutzer mit einem Bild interagiert, ein vorheriges Segmentierungsverfahren / vorherige Segmentierungsverfahren in die aktuelle Bildsegmentierung integrieren.
  • Bei Ausführungsformen kann die Integrations-Engine 210 ein oder mehrere neuronale Netzwerke auf Grundlage einer Architektur mit einem faltungstechnischen rekurrenten neuronalen Netzwerk (RNN)benutzen. Die Integrations-Engine 210 kann beispielsweise ein faltungstechnisches RNN implementieren, um beim Übergang von einem Segmentierungsverfahren zu einer anderen Segmentierung Information zu behalten, damit die mehreren interaktiven Bildsegmentierungsverfahren in einen integrierten Bildsegmentierungsprozess assimiliert werden können.
  • Die Integrations-Engine 210 kann benutzt werden, um das faltungstechnische RNN darauf zu trainieren, Information im Zusammenhang mit einer vorherigen Segmentierung / vorherigen Segmentierungen in eine aktuelle Segmentierung zu integrieren. Das faltungstechnische RNN kann unter Nutzung von verschiedenen interaktiven Bildsegmentierungsverfahren trainiert werden. Bei einer Ausführungsform können zwei Bildsegmentierungsverfahren benutzt werden, um das faltungstechnische RNN zu trainieren (beispielsweise PhraseCut und DIOS). Wird beispielsweise ein in gesprochener Sprache gegebener Befehl empfangen, so kann ein sprachbasiertes Segmentierungsverfahren (beispielsweise PhraseCut) benutzt werden. Wird ein Klick empfangen, so kann ein klickbasiertes Segmentierungsverfahren (beispielsweise DIOS) benutzt werden.
  • Anfänglich kann, um das faltungstechnische RNN zu trainieren, ein erstes Segmentierungsverfahren an einem Bild durchgeführt werden. Zur Durchführung des ersten Segmentierungsverfahrens kann eine interaktive Objektauswahl empfangen werden, die angibt, welche Segmentierung benutzt werden soll (beispielsweise ein in gesprochener Sprache gegebener Befehl für PhraseCut und ein Klick für DIOS). Das erste Segmentierungsverfahren kann sodann laufen, um eine Wahrscheinlichkeitsverteilungskarte zu generieren. Diese Wahrscheinlichkeitsverteilungskarte kann in das faltungstechnische RNN zusammen mit dem Bild eingespeist werden. Das faltungstechnische RNN kann einen verborgenen Zustand im Zusammenhang mit dem ersten Segmentierungsverfahren speichern und eine aktualisierte Wahrscheinlichkeitsmaske ausgeben. Der Verlust zwischen der aktualisierten Wahrscheinlichkeitsmaske und einer Ground-Truth-Maske kann benutzt werden, um das faltungstechnische RNN zu aktualisieren. Es kann beispielsweise der Pixelverlust benutzt werden.
  • Die Integrations-Engine 210 kann zudem ein oder mehrere klassifizierende neuronale Netzwerke benutzen. Die Integrations-Engine 210 kann beispielsweise ein klassifizierendes neuronales Netzwerk, das eine Segmentierungsmaske aus der aktualisierten Wahrscheinlichkeitsverteilungskarte generieren kann, implementieren. Ein derartiges klassifizierendes neuronales Netzwerk kann ein Merkmal (beispielsweise in Form der aktualisierten Wahrscheinlichkeitsverteilungskarte) empfangen und eine endgültige Ausgabe (beispielsweise in Form einer optimalen Segmentierungsmaske) generieren. Das klassifizierende neuronale Netzwerk kann beispielsweise einen Decoderabschnitt beinhalten, der das von einem Menschen nicht interpretierbare Merkmal in einem Merkmalsraum nimmt und das Merkmal in einen Bildzustand rückverwandelt.
  • Bei einigen Ausführungsformen kann die Integrations-Engine 210 das klassifizierende neuronale Netzwerk dafür trainieren, die Merkmale aus der Merkmalskarte, die mit der aktuellen Wahrscheinlichkeitsverteilungskarte kombiniert ist, und der Merkmalskarte, die mit der vorherigen Wahrscheinlichkeitsverteilungskarte kombiniert ist, zu kombinieren. Bei Ausführungsformen, bei denen das faltungstechnische RNN beispielsweise nicht über Kenntnisse über das benutzte Bildsegmentierungsverfahren verfügt, kann das klassifizierende neuronale Netzwerk diese Information nutzen, um ein erstes Merkmal (beispielsweise die Kombination der Merkmalskarte und der aktuellen Wahrscheinlichkeitsverteilungskarte) im Zusammenhang mit einem ersten Bildsegmentierungsverfahren mit einem zweiten Merkmal (beispielsweise die Kombination der Merkmalskarte und der vorherigen Wahrscheinlichkeitsverteilungskarte) im Zusammenhang mit einem zweiten Bildsegmentierungsverfahren intelligent zu. kombinieren. Bei einem Beispiel kann das klassifizierende neuronale Netzwerk, wenn das erste Bildsegmentierungsverfahren im Zusammenhang mit dem Inneren von Objekten genauer, jedoch bei Kanten nicht genau ist und das zweite Bildsegmentierungsverfahren im Zusammenhang mit dem Inneren von Objekten weniger genau, jedoch bei Kanten genauer ist, die ersten und zweiten Merkmale (beispielsweise mit Bevorzugung von Abschnitten im Zusammenhang mit den zuverlässigeren/genaueren Verfahren) entsprechend kombinieren.
  • Wie gezeigt ist, kann die Integrations-Engine 210 eine Bildanalysekomponente 214, eine Beseitigungskomponente 216 und eine Maskenkomponente 218 beinhalten. Die vorgenannten Komponenten der Integrations-Engine 210 können beispielsweise in der Betriebsumgebung 100 von 1A und/oder in der Betriebsumgebung 112 von 1B implementiert sein. Insbesondere können diese Komponenten in eine beliebige geeignete Kombination der Nutzervorrichtungen 102a und 102b bis 102n und des Servers / der Server 106 und/oder der Nutzervorrichtung 114 integriert sein. Man beachte, dass ungeachtet dessen, dass die Bildanalysekomponente, die Beseitigungskomponente und die Maskenkomponente als getrennte Komponenten abgebildet sind, die Funktionalität der Engine bei Implementierungen unter Nutzung einer einzigen Komponente und/oder zusätzlicher Komponenten durchgeführt werden kann. Bei einigen Ausführungsformen sind die Beseitigungskomponente 216 und deren zugeordnete Funktionalität zudem optional und können aus der Integrations-Engine 210 ausgeschlossen werden.
  • Allgemein kann die Bildanalysekomponente 214 dafür konfiguriert sein, ein Bild zu analysieren. Insbesondere kann die Bildanalysekomponente 214 benutzt werden, um Merkmale des Bildes zu bestimmen. Bei einer Ausführungsform kann eine derartige Analyse beispielsweise unter Nutzung eines neuronalen Netzwerkes durchgeführt werden. Ein derartiges neuronales Netzwerk kann auf einer Architektur mit einem faltungstechnischen RNN beruhen. Ein faltungstechnisches RNN kann beispielsweise benutzt werden, um eine Merkmalskarte für ein Bild zu bestimmen. Diese Merkmalskarte kann die Merkmale des Bildes angeben. Eine derartige Merkmalskarte kann beim Segmentieren des Bildes auf Grundlage eines ausgewählten / nicht ausgewählten Objektes hilfreich sein. Gibt eine Interaktionseingabe beispielsweise an, dass eine Katze in einer Segmentierung beinhaltet sein soll, so können Darstellungen der Merkmalskarte im Zusammenhang mit der Katze benutzt werden, um das Generieren einer Segmentierungsmaske, die die Katze enthält, zu unterstützen.
  • Die Beseitigungskomponente 216 kann in Fällen benutzt werden, in denen die interaktive Objektauswahl angibt, dass ein Objekt, ein Merkmal oder ein Abschnitt eines Bildes aus einer gewünschten Segmentierungsmaske ausgeschlossen werden soll. Die Beseitigungskomponente kann die Beseitigungsinformation von einer interaktiven Objektauswahl (die beispielsweise von der Interaktionsanalyse-Engine 206 empfangen und/oder analysiert wird) in ein faltungstechnisches RNN derart einbeziehen, dass das Objekt, das Merkmal oder der Abschnitt des Bildes zur Ausschließung aus einer gewünschten Segmentierungsmaske nachverfolgt werden können. Nachdem das faltungstechnische RNN eine Merkmalskarte für ein Bild (beispielsweise unter Nutzung einer Bildanalysekomponente 214) bestimmt hat, kann die Beseitigungskomponente 216 insbesondere die Beseitigungsinformation in die Merkmalskarte einbeziehen. Gibt die interaktive Objektauswahl beispielsweise die Beseitigung eines Objektes an, so kann Information im Zusammenhang mit dem Objekt aus der bestimmten Merkmalskarte beseitigt werden.
  • Im Allgemeinen ist die Maskenkomponente 218 dafür konfiguriert, eine Segmentierungsmaske für ein Bild entsprechend einer optimalen Segmentierung durch Integrieren von mehreren Segmentierungsverfahren zu generieren. Es kann beispielsweise eine optimale Segmentierungsmaske generiert werden, indem eine vorherige Segmentierung (beispielsweise unter Nutzung eines Bildsegmentierungsverfahrens) mit einer aktuellen Segmentierung (beispielsweise unter Nutzung desselben oder eines anderen Bildsegmentierungsverfahrens) iterativ integriert wird. Die Maskenkomponente 218 kann das faltungstechnische RNN benutzen, um Information im Zusammenhang mit einer vorherigen Segmentierung / vorherigen Segmentierungen beim Durchführen einer aktuellen Segmentierung zu integrieren. Insbesondere kann die Maskenkomponente 218 Information im Zusammenhang mit einer vorherigen Segmentierung eines Bildes mit Information im Zusammenhang mit einer aktuellen Segmentierung des Bildes empfangen und kombinieren.
  • Wie gezeigt ist, kann die Maskenkomponente 218 ein Wahrscheinlichkeitskartenelement 220 und ein Generierungselement 222 beinhalten. Die vorgenannten Elemente der Maskenkomponente 218 können beispielsweise in der Betriebsumgebung 100 von 1A und/oder in der Betriebsumgebung 112 von 1B implementiert sein. Insbesondere können diese Elemente in eine beliebige geeignete Kombination der Nutzervorrichtungen 102a und 102b bis 102n und des Servers / der Server 106 und/oder der Nutzervorrichtung 114 integriert sein. Man beachte, dass ungeachtet dessen, dass das Wahrscheinlichkeitskartenelement und das Generierungselement als getrennte Elemente abgebildet sind, die Funktionalität der Elemente bei Implementierungen unter Nutzung eines einzigen Elementes und/oder zusätzlicher Elemente durchgeführt werden kann.
  • Das Wahrscheinlichkeitskartenelement 220 kann benutzt werden, um Information im Zusammenhang mit einer vorherigen Segmentierung / vorherigen Segmentierungen beim Durchführen einer aktuellen Segmentierung zu integrieren. Eine derartige Information kann wenigstens eine Wahrscheinlichkeitsverteilungskarte umfassen. Eine Wahrscheinlichkeitsverteilungskarte kann allgemein die Ausgabe eines Segmentierungsverfahrens (beispielsweise eine Segmentierungsmaske, eine Wärmekarte bzw. Heatmap und dergleichen) sein. Eine Wahrscheinlichkeitsverteilungskarte von einem aktuellen Bildsegmentierungsverfahren kann beispielsweise von der Segmentierungskomponente 212 empfangen werden. Beim Empfangen einer Wahrscheinlichkeitsverteilungskarte kann das faltungstechnische RNN einen verborgenen Zustand auf Grundlage der Information im Zusammenhang mit der Wahrscheinlichkeitsverteilungskarte generieren.
  • Wird ein nachfolgendes Segmentierungsverfahren zur Segmentierung des Bildes (beispielsweise unter Nutzung der Segmentierungskomponente 212) benutzt, so kann eine aktuelle Wahrscheinlichkeitsverteilungskarte nachfolgend von dem Wahrscheinlichkeitskartenelement 220 empfangen werden. Das Wahrscheinlichkeitskartenelement 220 kann die aktuelle Wahrscheinlichkeitsverteilungskarte unter Nutzung des verborgenen Zustandes des faltungstechnischen RNN (beispielsweise des verborgenen Zustandes auf Grundlage einer Wahrscheinlichkeitsverteilungskarte im Zusammenhang mit einem vorherigen Bildsegmentierungsverfahren) aktualisieren. Das Wahrscheinlichkeitskartenelement 220 kann eine aktualisierte Wahrscheinlichkeitsverteilungskarte generieren, die die Information im Zusammenhang mit einer vorherigen Segmentierung in die aktuelle Segmentierung einbezieht.
  • Das faltungstechnische RNN kann allgemein folgendermaßen eingesetzt werden, um einen verborgenen Zustand (beispielsweise St), die aktualisierte Wahrscheinlichkeitsverteilungskarte (beispielsweise Yt) und die aktuelle Segmentierungsmaske (beispielsweise Mt) zu aktualisieren.
    Figure DE102021000476A1_0001
    Figure DE102021000476A1_0002
    M t ( x ,y ) = { 0, Y t , ( x ,y ) < S c h w e l l e 1, Y t , ( x ,y ) S c h w e l l e
    Figure DE102021000476A1_0003
  • In diesen Gleichungen können
    Figure DE102021000476A1_0004
    und
    Figure DE102021000476A1_0005
    erlernbare Faltungsparameter sein, während
    Figure DE102021000476A1_0006
    die Tendenz (bias) sein kann. σ(x) = 1/(1 + e-x) kann eine Sigmoid-Funktion sein. In jeder Phase kann der verborgene Zustand entsprechend dem vorherigen Zustand (beispielsweise St-1) und der neuen Wahrscheinlichkeitskarte (beispielsweise Pt) aktualisiert werden.
  • Das Generierungselement 222 kann die sich ergebende aktualisierte Wahrscheinlichkeitsverteilungskarte nutzen, um eine aktualisierte Segmentierungsmaske (die die vorherige Segmentierung und die aktuelle Segmentierung einbezieht) zu generieren. Die Segmentierungsmaske kann einem Nutzer auf verschiedene Arten präsentiert werden. Das Generierungselement 222 kann das klassifizierende neuronale Netzwerk laufen lassen, um eine Segmentierungsmaske aus der aktualisierten Wahrscheinlichkeitsverteilungskarte zu generieren.
  • In 3 gezeigt ist ein Prozessablauf, der eine Ausführungsform eines Verfahrens 300 zum Durchführen einer Integration von mehreren Segmentierungsverfahren entsprechend Ausführungsformen der vorliegenden Offenbarung zeigt. Das Verfahren 300 kann beispielsweise von dem in 2 dargestellten integrierten Segmentierungssystem 204 durchgeführt werden.
  • Bei Block 302 wird ein Bild empfangen. Dieses Bild kann aus einer Gruppe von Bildern oder Abbildungen, die in einer Datenbank, so beispielsweise dem Datenspeicher 202 von 2, gespeichert sind, empfangen werden. Insbesondere kann ein Nutzer das empfangene Bild auswählen oder eingeben. Ein derartiges Bild kann auf beliebige Art ausgewählt oder eingegeben werden. Ein Nutzer kann eine Abbildung beispielsweise unter Nutzung einer Kamera an einer Vorrichtung aufnehmen. Bei einem weiteren Beispiel kann ein Nutzer ein gewünschtes Bild aus einer Sammlung auswählen, die beispielsweise in einem Datenspeicher gespeichert ist, der für ein Netzwerk zugänglich ist, oder lokal auf einer Nutzervorrichtung gespeichert ist.
  • Bei Block 304 wird eine Interaktion empfangen. Die Interaktion kann eine interaktive Objektauswahl eines Bildes durch einen Nutzer sein. Eine derartige interaktive Objektauswahl kann beispielsweise auf einem interaktiven Vorgang (beispielsweise Anklicken, Kritzeln, Begrenzungskästchen und/oder Sprache) beruhen. Auf Grundlage der empfangenen , interaktiven Objektauswahl kann ein Bildsegmentierungsverfahren zur Nutzung beim Segmentieren des Bildes (das beispielsweise bei Block 302 empfangen wird) ausgewählt werden. Bei einigen Ausführungsformen kann ein Nutzer das bestimmte Bildsegmentierungsverfahren auswählen. Ein Nutzer kann das Verfahren beispielsweise explizit auswählen, indem er ein Bildsegmentierungsverfahren (beispielsweise über eine Interaktion mit einer grafischen Nutzerschnittstelle) auswählt. Bei anderen Ausführungsformen beruht das Bildsegmentierungsverfahren, das zum Segmentieren des Bildes benutzt wird, auf der empfangenen Interaktion. Auf diese Weise kann ein Nutzer das Verfahren implizit auswählen (das Verfahren kann beispielsweise auf Grundlage der interaktiven Objektauswahl ausgewählt werden).
  • Bei Block 306 wird eine Segmentierung des Bildes durchgeführt. Die Bildsegmentierung ist ein Prozess des Unterteilens eines Bildes in wenigstens ein Segment. Insbesondere kann ein Segment entlang Grenzen innerhalb eines Bildes erstellt und/oder zum Bezeichnen von Objekten und/oder Merkmalen innerhalb des Bildes benutzt werden. Wird beispielsweise ein Segmentierungsverfahren zum Segmentieren des Bildes benutzt, so kann eine Wahrscheinlichkeitsverteilungskarte generiert werden. Eine Wahrscheinlichkeitsverteilungskarte kann allgemein die Ausgabe des Segmentierungsverfahrens (beispielsweise eine Segmentierungsmaske, eine Wärmekarte bzw. Heatmap und dergleichen) sein. Die Wahrscheinlichkeitsverteilungskarte kann beispielsweise Information sein, die von einem Segmentierungsverfahren beim Segmentieren eines Bildes generiert wird.
  • Eine derartige Segmentierung kann unter Nutzung einer Anzahl von Techniken durchgeführt werden. Derartige Techniken beinhalten Techniken des Deep Learning, der Farbbereichs- oder Salienzdetektion, der Schwellenbildung (thesholding), Clusterverfahren, kompressionsbasierte Verfahren, histogrammbasierte Verfahren, die Kantendetektion, Dualclusterverfahren, Bereichswachstumsverfahren, auf partiellen Differenzialgleichungen basierende Verfahren, Variationsverfahren, Graphunterteilungsverfahren, Watershed-Transformationen, modellbasierte Segmentierungen, Multiskalensegmentierungen und halbautomatische Segmentierungen. Beinhalten können die Techniken des Deep Learning insbesondere eine semantische Segmentierung auf Instanzniveau, eine automatisches grenzempfindliches Herausschneiden durch einen Menschen, eine Objektdetektion unter Nutzung von in Kaskaden angeordneten faltungstechnischen neuronalen Netzwerken, generische Algorithmen zur Segmentierung, so beispielsweise R-CNN und/oder Mask-R-CNN.
  • Bei Block 308 wird die Wahrscheinlichkeitskartenintegration durchgeführt. Die Wahrscheinlichkeitskartenintegration ist ein Prozess des Kombinierens einer vorherigen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem vorherigen Segmentierungsverfahren) mit einer aktuellen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem aktuellen Segmentierungsverfahren).
  • Insbesondere kann ein faltungstechnisches RNN benutzt werden, um Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte zu empfangen. Unter Nutzung dieser Information kann das herkömmliche RNN einen verborgenen Zustand auf Grundlage der Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte generieren. Wird das aktuelle Segmentierungsverfahren zur Segmentierung des Bildes benutzt, so kann die aktuelle Wahrscheinlichkeitsverteilungskarte (die beispielsweise unter Nutzung des aktuellen Segmentierungsverfahrens bestimmt wird) nachfolgend unter Nutzung des verborgenen Zustandes aktualisiert werden, um eine aktualisierte Wahrscheinlichkeitsverteilungskarte zu generieren. Auf diese Weise kann der verborgene Zustand des faltungstechnischen RNN benutzt werden, um Information im Zusammenhang mit einer vorherigen Segmentierung in eine aktuelle Segmentierung einzubeziehen.
  • Bei Block 310 wird eine Segmentierungsmaske generiert. Die generierte Segmentierungsmaske kann unter Nutzung der sich ergebenden aktualisierten Wahrscheinlichkeitsverteilungskarte generiert werden. Die Segmentierungsmaske kann die vorherige Segmentierung und die aktuelle Segmentierung einbeziehen.
  • Bei Block 312 kann die Segmentierungsmaske präsentiert werden. Die Präsentation der Segmentierungsmaske ermöglicht, dass ein Nutzer die segmentierte Zone / die segmentierten Zonen eines Bildes sieht und visualisiert. Der Nutzer kann des Weiteren mit dem Bild und der angezeigten Segmentierungsmaske unter Nutzung einer zusätzlichen interaktiven Objektauswahl / zusätzlicher interaktiver Objektauswahlen interagieren. Eine derartige interaktive Objektauswahl kann weitere Verfeinerungen angeben, von denen der Nutzer wünscht, dass sie an der angezeigten Segmentierungsmaske vorgenommen werden. Auf Grundlage dieser zusätzlichen interaktiven Objektauswahl / dieser zusätzlichen interaktiven Objektauswahlen kann dem Nutzer eine aktualisierte Segmentierungsmaske (beispielsweise eine optimierte Segmentierungsmaske) angezeigt werden.
  • In 4 ist ein Prozessablauf gezeigt, der eine Ausführungsform eines Verfahrens 400 zum Integrieren von mehreren Segmentierungsverfahren entsprechend Ausführungsformen der vorliegenden Offenbarung zeigt. Das Verfahren 400 kann beispielsweise von dem in 2 dargestellten integrierten Segmentierungssystem 204 durchgeführt werden.
  • Bei Block 402 wird ein Bild empfangen. Ein derartiges Bild kann aus einer Gruppe von Bildern oder Abbildungen, die in einer Datenbank, so beispielsweise dem Datenspeicher 202 von 2, gespeichert sind, empfangen werden. Insbesondere kann ein Nutzer das empfangene Bild auswählen oder eingeben. Ein derartiges Bild kann auf beliebige Art ausgewählt oder eingegeben werden. Ein Nutzer kann eine Abbildung beispielsweise unter Nutzung einer Kamera an einer Vorrichtung aufnehmen. Bei einem weiteren Beispiel kann ein Nutzer ein gewünschtes Bild beispielsweise aus einer Sammlung auswählen, die in einem Datenspeicher, der für ein Netzwerk zugänglich ist, oder lokal auf einer Nutzervorrichtung gespeichert ist. Bei Block 404 wird eine Merkmalskarte für ein Bild (beispielsweise das Bild, das bei Block 402 empfangen wird) generiert. Eine derartige Merkmalskarte kann allgemein mit Information im Zusammenhang mit Objekten, einzelnen Merkmalen und/oder Abschnitten eines Bildes zusammenhängen. Die Merkmalskarte kann unter Nutzung eines faltungstechnischen RNN generiert werden.
  • Bei Block 406 wird eine Wahrscheinlichkeitskartenintegration durchgeführt. Eine Wahrscheinlichkeitsverteilungskarte kann allgemein die Ausgabe des Segmentierungsverfahrens (beispielsweise eine Segmentierungsmaske, eine Wärmekarte bzw. Heatmap und dergleichen) sein. Eine Wahrscheinlichkeitskartenintegration ist ein Prozess des Kombinierens einer vorherigen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem vorherigen Segmentierungsverfahren) mit einer aktuellen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem aktuellen Segmentierungsverfahren). Insbesondere kann die Merkmalskarte des Bildes mit einer aktuellen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem aktuellen Segmentierungsverfahren) und einer vorherigen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem vorherigen Segmentierungsverfahren) kombiniert werden. Die Merkmalskarte kann beispielsweise mit der aktuellen Wahrscheinlichkeitsverteilungskarte kombiniert werden, um ein erstes Merkmal (beispielsweise die Kombination der Merkmalskarte und der aktuellen Wahrscheinlichkeitsverteilungskarte) zu generieren. Des Weiteren kann die Merkmalskarte mit der vorherigen Wahrscheinlichkeitsverteilungskarte kombiniert werden, um ein zweites Merkmal (beispielsweise die Kombination der Merkmalskarte und der vorherigen Wahrscheinlichkeitsverteilungskarte) zu generieren. Das erste und das zweite Merkmal können sodann verkettet werden. Diese verketteten ersten und zweiten Merkmale können benutzt werden, um eine aktualisierte Wahrscheinlichkeitsverteilungskarte zu generieren. Die aktualisierte Wahrscheinlichkeitsverteilungskarte bezieht Information im Zusammenhang mit dem aktuellen Segmentierungsverfahren und dem vorherigen Segmentierungsverfahren ein.
  • Insbesondere kann die Wahrscheinlichkeitskartenintegration von dem faltungstechnischen RNN durchgeführt werden, das Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte empfängt. Unter Nutzung dieser Information kann das faltungstechnische RNN einen verborgenen Zustand auf Grundlage der Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte generieren. Wird ein nachfolgendes Segmentierungsverfahren (beispielsweise das aktuelle Segmentierungsverfahren) zur Segmentierung des Bildes benutzt, so kann die aktuelle Wahrscheinlichkeitsverteilungskarte (die beispielsweise unter Nutzung des nachfolgenden Segmentierungsverfahrens bestimmt wird) nachfolgend unter Nutzung dieses verborgenen Zustandes aktualisiert werden, um eine aktualisierte Wahrscheinlichkeitsverteilungskarte zu generieren. Auf diese Weise kann der verborgene Zustand des faltungstechnischen RNN benutzt werden, um Information im Zusammenhang mit einer vorherigen Segmentierung in eine aktuelle Segmentierung einzubeziehen.
  • Bei Block 408 wird eine Segmentierungsmaske generiert. Insbesondere kann die aktualisierte Wahrscheinlichkeitsverteilungskarte sodann dafür benutzt werden, eine Segmentierungsmaske (die beispielsweise die vorherige Segmentierung und die aktuelle Segmentierung einbezieht) zu generieren. Ein Nutzer kann sodann mit dem Bild und der generierten Segmentierungsmaske unter Nutzung einer zusätzlichen interaktiven Objektauswahl / zusätzlicher interaktiver Objektauswahlen interagieren. Eine derartige interaktive Objektauswahl kann weitere Verfeinerungen angeben, von denen der Nutzer wünscht, dass sie an der Segmentierungsmaske vorgenommen werden. Auf Grundlage dieser zusätzlichen interaktiven Objektauswahl / dieser zusätzlichen interaktiven Objektauswahlen kann eine optimierte Segmentierungsmaske generiert werden.
  • 5 zeigt einen Prozessablauf zur Darstellung einer Ausführungsform eines Verfahrens 500 zum Integrieren von mehreren Segmentierungsverfahren zum Generieren einer optimierten Segmentierungsmaske entsprechend Ausführungsformen der vorliegenden Offenbarung. Das Verfahren 500 kann beispielsweise von dem in 2 dargestellten integrierten Segmentierungssystem 204 durchgeführt werden.
  • Bei Block 502 wird ein Bild empfangen. Ein derartiges Bild kann aus einer Gruppe von Bildern oder Abbildungen, die in einer Datenbank, so beispielsweise dem Datenspeicher 202 von 2, gespeichert sind, empfangen werden. Insbesondere kann ein Nutzer das empfangene Bild auswählen oder eingeben. Ein derartiges Bild kann auf beliebige Art ausgewählt oder eingegeben werden. Ein Nutzer kann eine Abbildung beispielsweise unter Nutzung einer Kamera an einer Vorrichtung aufnehmen. Bei einem anderen Beispiel kann ein Nutzer ein gewünschtes Bild beispielsweise aus einer Sammlung auswählen, die in einem Datenspeicher, der für ein Netzwerk zugänglich ist, oder lokal auf einer Nutzervorrichtung gespeichert ist.
  • Bei Block 504 wird eine Interaktion empfangen. Die Interaktion kann eine interaktive Objektauswahl eines Bildes durch einen Nutzer sein. Eine derartige interaktive Objektauswahl kann auf einem interaktiven Vorgang (beispielsweise Anklicken, Kritzeln, Begrenzungskästchen und/oder Sprache) beruhen. Auf Grundlage der empfangenen interaktiven Objektauswahl kann ein Bildsegmentierungsverfahren zur Nutzung beim Segmentieren des Bildes (das beispielsweise bei Block 502 empfangen wird) ausgewählt werden. Bei einigen Ausführungsformen kann ein Nutzer das bestimmte Bildsegmentierungsverfahren auswählen. Ein Nutzer kann das Verfahren beispielsweise explizit auswählen, indem er ein Bildsegmentierungsverfahren (beispielsweise über eine Interaktion mit einer grafischen Nutzerschnittstelle) auswählt. Bei anderen Ausführungsformen beruht das Bildsegmentierungsverfahren, das zum Segmentieren des Bildes benutzt wird, auf der empfangenen Interaktion. Auf diese Weise kann der Nutzer das Verfahren implizit auswählen (das Verfahren kann beispielsweise auf der interaktiven Objektauswahl beruhen).
  • Bei Block 506 wird eine Segmentierung des Bildes durchgeführt. Die Bildsegmentierung ist ein Prozess des Unterteilens eines Bildes in ein Segment. Insbesondere kann ein Segment entlang Grenzen innerhalb eines Bildes erstellt und/oder zum Bezeichnen von Objekten und/oder Merkmalen innerhalb des Bildes benutzt werden. Die Segmentierung des Bildes kann beispielsweise eine Wahrscheinlichkeitsverteilungskarte generieren. Eine Wahrscheinlichkeitsverteilungskarte kann die Ausgabe des Segmentierungsverfahrens (beispielsweise eine Segmentierungsmaske, eine Wärmekarte bzw. Heatmap und dergleichen) sein. Eine derartige Segmentierung kann unter Nutzung einer beliebigen Anzahl von Techniken durchgeführt werden. Derartige Techniken beinhalten Techniken des Deep Learning, der Farbbereichs- oder Salienzdetektion, der Schwellenbildung (thesholding), Clusterverfahren, kompressionsbasierte Verfahren, histogrammbasierte Verfahren, die Kantendetektion, Dualclusterverfahren, Bereichswachstumsverfahren, auf partiellen Differenzialgleichungen basierende Verfahren, Variationsverfahren, Graphunterteilungsverfahren, Watershed-Transformationen, modellbasierte Segmentierungen, Multiskalensegmentierungen und halbautomatische Segmentierungen. Beinhalten können die Techniken des Deep Learning insbesondere eine semantische Segmentierung auf Instanzniveau, eine automatisches grenzempfindliches Herausschneiden durch einen Menschen, eine Objektdetektion unter Nutzung von in Kaskaden angeordneten faltungstechnischen neuronalen Netzwerken, generische Algorithmen zur Segmentierung, so beispielsweise R-CNN und/oder Mask-R-CNN.
  • Bei Block 508 wird eine Bestimmung dahingehend vorgenommen, ob eine vorherige Segmentierung an einem Bild vorgenommen worden ist. Ist keine vorherige Segmentierung vorgenommen worden, so kann der Prozess zu Block 510 übergehen. Ist eine vorherige Segmentierung vorgenommen worden, so kann der Prozess zu Block 516 übergehen, der nachstehend noch detaillierter beschrieben wird.
  • Bei Block 510 wird eine Wahrscheinlichkeitsverteilungskarte aus einer aktuellen Segmentierung generiert. Eine Wahrscheinlichkeitsverteilungskarte kann allgemein die Ausgabe des Segmentierungsverfahrens (beispielsweise eine Segmentierungsmaske, eine Wärmekarte bzw. Heatmap und dergleichen) sein. Bei Block 512 wird ein verborgener Zustand gespeichert. Insbesondere kann ein faltungstechnisches RNN Information im Zusammenhang mit der Wahrscheinlichkeitsverteilungskarte empfangen. Unter Nutzung dieser Information kann das faltungstechnische RNN einen verborgenen Zustand generieren. Dieser verborgene Zustand kann benutzt werden, um Information im Zusammenhang mit der Wahrscheinlichkeitsverteilungskarte zu behalten. Durch Behalten dieser Information kann das faltungstechnische RNN die Information über die Wahrscheinlichkeitsverteilungskarte : mit nachfolgend generierten Wahrscheinlichkeitsverteilungskarten kombinieren (also beispielsweise ein vorheriges Bildsegmentierungsverfahren mit einem nachfolgenden Bildsegmentierungsverfahren integrieren).
  • Bei Block 514 wird eine Segmentierungsmaske generiert. Die generierte Segmentierungsmaske kann unter Nutzung der Wahrscheinlichkeitsverteilungskarte generiert werden. Ein Nutzer kann des Weiteren mit dem Bild unter Nutzung einer zusätzlichen interaktiven Objektauswahl , (beispielsweise mit einer nachfolgenden Interaktion bei Block 504) interagieren. Eine derartige interaktive Objektauswahl kann weitere Verfeinerungen angeben, von denen der Nutzer wünscht, dass sie an der angezeigten Segmentierungsmaske vorgenommen werden. Auf Grundlage dieser zusätzlichen interaktiven Objektauswahl / dieser zusätzlichen interaktiven Objektauswahlen kann eine aktualisierte Segmentierungsmaske (beispielsweise eine optimierte Segmentierungsmaske) generiert werden, wie weiter anhand von Blöcken 516 bis 520 erläutert wird.
  • Bei Block 516 wird eine aktuelle Wahrscheinlichkeitsverteilungskarte empfangen. Die aktuelle Wahrscheinlichkeitskarte kann auf der aktuellen Segmentierung beruhen. Bei Block 518 wird eine vorherige Wahrscheinlichkeitsverteilungskarte empfangen. Die vorherige Wahrscheinlichkeitsverteilungskarte kann auf einer vorherigen Segmentierung beruhen. Die vorherige Wahrscheinlichkeitsverteilungskarte kann unter Nutzung eines verborgenen Zustandes empfangen werden. Insbesondere kann ein faltungstechnisches RNN benutzt werden, um Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte zu empfangen. Unter Nutzung dieser Information kann das faltungstechnische RNN einen verborgenen Zustand auf Grundlage der Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte generieren.
  • Bei Block 520 wird die aktuelle Wahrscheinlichkeitsverteilungskarte mit der vorherigen Wahrscheinlichkeitsverteilungskarte integriert. Insbesondere kann eine aktuelle Wahrscheinlichkeitsverteilungskarte (die beispielsweise unter Nutzung eines aktuellen Segmentierungsverfahrens bestimmt worden ist) unter Nutzung eines verborgenen Zustandes aktualisiert werden, um eine aktualisierte Wahrscheinlichkeitsverteilungskarte zu generieren. Auf diese Weise kann der verborgene Zustand des faltungstechnischen RNN benutzt werden, um Information im Zusammenhang mit einer vorherigen Segmentierung in eine aktuelle Segmentierung einzubeziehen.
  • Bei Block 514 wird eine Segmentierungsmaske generiert. Insbesondere kann die sich ergebende aktualisierte Wahrscheinlichkeitsverteilungskarte sodann benutzt werden, um eine aktualisierte Segmentierungsmaske (die beispielsweise die vorherige Segmentierung und die aktuelle Segmentierung einbezieht) zu generieren. Die generierte Segmentierungsmaske kann einem Nutzer präsentiert werden. Die Präsentation der Segmentierungsmaske ermöglicht, dass der Nutzer die segmentierte Zone / die segmentierten Zonen eines Bildes sieht und visualisiert. Wie vorher erläutert worden ist, kann der Nutzer des Weiteren mit dem Bild und der angezeigten Segmentierungsmaske unter Nutzung einer zusätzlichen interaktiven Objektauswahl / zusätzlicher interaktiver Objektauswahlen interagieren.
  • 6 zeigt einen Prozessablauf zur Darstellung einer Ausführungsform eines Verfahrens 600 zum Integrieren von mehreren Segmentierungsverfahren, die Beseitigungssegmentierungsverfahren beinhalten, entsprechend Ausführungsformen der vorliegenden Offenbarung. Das Verfahren 600 kann beispielsweise von dem in 2 dargestellten integrierten Segmentierungssystem 204 durchgeführt werden.
  • Bei Block 602 wird ein Bild empfangen. Ein derartiges Bild kann aus einer Gruppe von Bildern oder Abbildungen, die in einer Datenbank, so beispielsweise dem Datenspeicher 202 von 2, gespeichert sind, empfangen werden. Insbesondere kann ein Nutzer das empfangene Bild auswählen oder eingeben. Ein derartiges Bild kann auf beliebige Art ausgewählt oder eingegeben werden. Ein Nutzer kann eine Abbildung beispielsweise unter Nutzung einer Kamera an einer Vorrichtung aufnehmen. Bei einem anderen Beispiel kann ein Nutzer ein gewünschtes Bild beispielsweise aus einer Sammlung auswählen, die in einem Datenspeicher, der für ein Netzwerk zugänglich ist, oder lokal auf einer Nutzervorrichtung gespeichert ist.
  • Bei Block 604 wird eine Bestimmung dahingehend vorgenommen, ob eine Beseitigungsinteraktion vorhanden ist. Eine Beseitigungsinteraktion kann eine interaktive Objektauswahl sein, die angibt, dass ein Objekt, ein Merkmal oder ein Abschnitt eines Bildes aus einer gewünschten Segmentierungsmaske ausgeschlossen werden sollen. Ist eine Beseitigungsinteraktion vorhanden, so kann der Prozess zu Block 606 übergehen. Ist keine Beseitigungsinteraktion vorhanden, so kann der Prozess zu Block 608 übergehen.
  • Bei Block 606 wird das Beseitigen durchgeführt. Das Beseitigen kann durchgeführt werden, indem Beseitigungsinformation in ein faltungstechnisches RNN einbezogen wird, damit das System verfolgt, welches Objekt, welches Merkmal oder welcher Abschnitt eines Bildes aus einer gewünschten Segmentierungsmaske ausgeschlossen werden soll.
  • Bei Block 608 wird eine Merkmalskarte generiert. Eine derartige Merkmalskarte kann allgemein mit Information im Zusammenhang mit Objekten, Merkmalen und/oder Abschnitten eines Bildes zusammenhängen. Diese Merkmalskarte kann unter Nutzung eines faltungstechnischen RNN generiert werden. Wird bei Block 606 das Beseitigen durchgeführt, so kann die Merkmalskarte die Beseitigungsinformation (beispielsweise aus dem Block 606) einbeziehen. Gibt die interaktive Objektauswahl beispielsweise die Beseitigung eines Objektes an, so kann Information im Zusammenhang mit dem Objekt sodann aus der Merkmalskarte beseitigt werden.
  • Bei Block 610 wird eine Wahrscheinlichkeitskartenintegration durchgeführt. Eine Wahrscheinlichkeitsverteilungskarte kann allgemein die Ausgabe des Segmentierungsverfahrens (beispielsweise die Segmentierungsmaske, die Wärmekarte bzw. Heatmap und dergleichen) sein. Die Wahrscheinlichkeitskartenintegration ist ein Prozess des Kombinierens einer vorherigen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem vorherigen Segmentierungsverfahren) mit einer aktuellen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus dem aktuellen Segmentierungsverfahren). Die Merkmalskarte (beispielsweise mit Information im Zusammenhang mit dem beseitigten Objekt, wenn bei Block 606 eine Beseitigung auftritt) kann beispielsweise mit einer aktuellen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem aktuellen Segmentierungsverfahren) und einer vorherigen Wahrscheinlichkeitsverteilungskarte (beispielsweise aus einem vorherigen Segmentierungsverfahren) kombiniert werden.
  • Insbesondere kann ein faltungstechnisches RNN benutzt werden, um Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte zu empfangen. Unter Nutzung dieser Information kann das faltungstechnische RNN einen verborgenen Zustand auf Grundlage der Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte generieren. Wird ein nachfolgendes Segmentierungsverfahren (beispielsweise das aktuelle Segmentierungsverfahren) zum Segmentieren des Bildes benutzt, so kann die aktuelle Wahrscheinlichkeitsverteilungskarte (die beispielsweise unter Nutzung des nachfolgenden Segmentierungsverfahrens bestimmt wird) nachfolgend unter Nutzung des verborgenen Zustandes aktualisiert werden, um eine aktualisierte Wahrscheinlichkeitsverteilungskarte zu generieren. Auf diese Weise kann der verborgene Zustand des faltungstechnischen RNN benutzt werden, um Information im Zusammenhang mit einer vorherigen Segmentierung in eine aktuelle Segmentierung einzubeziehen. Die sich ergebende aktualisierte Wahrscheinlichkeitsverteilungskarte kann sodann benutzt werden, um eine aktualisierte Segmentierungsmaske (die beispielsweise die vorherige Segmentierung und die aktuelle Segmentierung einbezieht) zu generieren.
  • Bei Block 612 wird eine Segmentierungsmaske generiert. Die generierte Segmentierungsmaske kann einem Nutzer präsentiert werden. Die Präsentation der Segmentierungsmaske ermöglicht, dass ein Nutzer die segmentierten Zonen eines Bildes sieht und visualisiert. Ein Nutzer kann des Weiteren mit dem Bild und der generierten Segmentierungsmaske unter Nutzung einer zusätzlichen interaktiven Objektauswahl / zusätzlicher interaktiver Objektauswahlen interagieren. Eine derartige interaktive Objektauswahl kann weitere Verfeinerungen angeben, von denen der Nutzer wünscht, dass sie an der Segmentierungsmaske vorgenommen werden. Auf Grundlage dieser zusätzlichen interaktiven Objektauswahl / dieser zusätzlichen interaktiven Objektauswahlen kann eine optimierte Segmentierungsmaske generiert werden.
  • 7 zeigt eine exemplarische Umgebung 700, die zum Integrieren von Information im Zusammenhang mit einer vorherigen Segmentierung / vorherigen Segmentierungen beim Durchführen einer aktuellen Segmentierung benutzt werden kann, entsprechend Ausführungsformen der vorliegenden Offenbarung. Insbesondere kann ein faltungstechnisches RNN benutzt werden, um diese Information zu integrieren. Das faltungstechnische RNN kann die vorherige Segmentierung / die vorherigen Segmentierungen mit der aktuellen Segmentierung kombinieren, ohne dass Information über das Bildsegmentierungsverfahren ./ die Bildsegmentierungsverfahren, die beim Generieren der Segmentierungen benutzt wird/werden, erforderlich wäre.
  • Es kann ein Bild 702 kann zur Segmentierung empfangen werden. Ein derartiges Bild kann aus einer Gruppe von Bildern oder Abbildungen, die in einer Datenbank, so beispielsweise der Datenbank 202 von 2, gespeichert sind, empfangen werden. Insbesondere kann ein Nutzer das empfangene Bild auswählen oder eingeben. Ein derartiges Bild kann auf beliebige Art ausgewählt oder eingegeben werden. Ein Nutzer kann beispielsweise eine Abbildung unter Nutzung einer Kamera an einer Vorrichtung aufnehmen. Bei einem weiteren Beispiel kann ein Nutzer ein gewünschtes Bild beispielsweise aus einer Sammlung auswählen, die in einem Datenspeicher, der für ein Netzwerk zugänglich ist, oder lokal auf einer Nutzervorrichtung gespeichert ist.
  • Es können verschiedene Bildsegmentierungsverfahren (beispielsweise Verfahren 708a, Verfahren 708b, ..., Verfahren 708n) in einer vereinheitlichten Bibliothek 706 integriert sein. Die vereinheitlichte Bibliothek ermöglicht, dass verschiedene Bildsegmentierungsverfahren in Reaktion auf Interaktionen, die eine gewünschte Segmentierung für ein Bild angeben (beispielsweise Anklicken, Wischen, Begrenzungskästchen), aufeinander aufgebaut werden.
  • Es kann eine Interaktion 704 empfangen werden. Die Interaktion kann eine interaktive Objektauswahl eines Bildes durch einen Nutzer sein. Eine derartige interaktive Objektauswahl kann auf einem interaktiven Vorgang (beispielsweise Anklicken, Kritzeln, Begrenzungskästchen und/oder Sprache) beruhen. Auf Grundlage der empfangenen interaktiven Objektauswahl kann ein Bildsegmentierungsverfahren (beispielsweise das Verfahren 708a, das Verfahren 708b, ..., das Verfahren 708n) zur Nutzung beim Segmentieren eines Bildes 702 ausgewählt werden. Bei einigen Ausführungsformen kann ein Nutzer das Bildsegmentierungsverfahren (beispielsweise das Verfahren 708n) auswählen. Ein Nutzer kann beispielsweise explizit das Verfahren auswählen, indem er das Verfahren 708n (beispielsweise über eine Interaktion mit einer grafischen Nutzerschnittstelle) auswählt. Bei anderen Ausführungsformen beruht das Bildsegmentierungsverfahren, das zum Segmentieren des Bildes benutzt wird, auf der Interaktion 704. Auf diese Weise kann ein Nutzer implizit das Verfahren 708n (beispielsweise auf Grundlage der interaktiven Objektauswahl) auswählen.
  • Das Verfahren 708n kann zum Segmentieren des Bildes 702 auf Grundlage der Interaktion 704 benutzt werden. Aus dieser Segmentierung kann eine aktuelle Wahrscheinlichkeitsverteilungskarte 714 generiert werden. Eine Wahrscheinlichkeitsverteilungskarte kann allgemein die Ausgabe eines Segmentierungsverfahrens (beispielsweise eine Segmentierungsmaske, eine Wärmekarte bzw. Heatmap und dergleichen) sein.
  • Das Bild 702 kann auch in das CNN 710 eingegeben werden. Das CNN 710 kann ein faltungstechnisches rekurrentes neuronales Netzwerk sein, das zum Integrieren von Information im Zusammenhang mit einer vorherigen Segmentierung / vorherigen Segmentierungen beim Durchführen einer aktuellen Segmentierung benutzt wird. Aus dem Bild 702 kann das CNN 710 eine Merkmalskarte 712 generieren. Die Merkmalskarte 712 kann allgemein mit Information im Zusammenhang mit Objekten, Merkmalen und/oder Abschnitten des Bildes 702 zusammenhängen.
  • Das CNN 710 kann die aktuelle Wahrscheinlichkeitsverteilungskarte 714 aus einer vereinheitlichten Bibliothek 706 empfangen. Das CNN 710 kann zudem Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte 716 aufweisen. Diese Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte 716 kann als verborgener Zustand des CNN 710 gespeichert werden. Das CNN 710 kann eine aktuelle Wahrscheinlichkeitsverteilungskarte 714 und eine vorherige Wahrscheinlichkeitsverteilungskarte 716 mit der Merkmalskarte 712 kombinieren. Insbesondere kann das CNN 710 die aktuelle Wahrscheinlichkeitsverteilungskarte 714 mit der Merkmalskarte 712 kombinieren, um ein erstes Merkmal 718 zu generieren. Das CNN 710 kann zudem die vorherige Wahrscheinlichkeitsverteilungskarte 716 mit der Merkmalskarte 712 kombinieren, um ein zweites Merkmal 720 zu generieren. Das erste Merkmal 718 und das zweite Merkmal 720 können verkettet werden, um ein aktualisiertes Merkmal 722 zu generieren. Das aktualisierte Merkmal 722 kann in einen Klassifizierer 724 eingegeben werden. Der Klassifizierer 724 kann ein klassifizierendes neuronales Netzwerk sein, das eine Segmentierungsmaske aus dem aktualisierten Merkmal 722 generieren kann. Das klassifizierende neuronale Netzwerk kann beispielsweise einen Decoderabschnitt beinhalten, der das von einem Menschen nicht interpretierbare Merkmal in einem Merkmalsraum nimmt und das Merkmal in einen Bildzustand rückverwandelt. Auf diese Weise kann der Klassifizierer 724 die aktualisierte Segmentierungsmaske 726 generieren.
  • 8 zeigt eine exemplarische Umgebung 800, die zum Integrieren von Information im Zusammenhang mit einer vorherigen Segmentierung / vorherigen Segmentierungen beim Durchführen einer aktuellen Segmentierung, die einen Beseitigungsvorgang beinhaltet, benutzt werden kann, entsprechend Ausführungsformen der vorliegenden Offenbarung. Insbesondere kann ein faltungstechnisches RNN zum Integrieren dieser Information benutzt werden. Das faltungstechnische RNN kann die vorherige Segmentierung / die vorherigen Segmentierungen mit der aktuellen Segmentierung kombinieren, ohne dass Information über das Bildsegmentierungsverfahren / die Bildsegmentierungsverfahren, das/die zum Generieren des Segmentierung benutzt wird/werden, erforderlich wäre.
  • Es wird ein Bild 802 zur Segmentierung empfangen. Ein derartiges Bild kann aus einer Gruppe von Bildern oder Abbildungen, die in einer Datenbank, so beispielsweise dem Datenspeicher 202 von 2, gespeichert sind, empfangen werden. Insbesondere kann ein Nutzer das empfangene Bild auswählen oder eingeben. Ein derartiges Bild kann auf beliebige Weise ausgewählt oder eingegeben werden. Ein Nutzer kann eine Abbildung beispielsweise unter Nutzung einer Kamera an einer Vorrichtung aufnehmen. Bei einem anderen Beispiel kann ein Nutzer ein gewünschtes Bild aus einer Sammlung auswählen, die beispielsweise in einem Datenspeicher, der für ein Netzwerk zugänglich ist, oder lokal auf einer Nutzervorrichtung gespeichert ist.
  • Es können verschiedene Bildsegmentierungsverfahren (beispielsweise ein Verfahren 808a, ein Verfahren 808b, ..., ein Verfahren 808n) in einer vereinheitlichten Bibliothek 806 integriert sein. Diese vereinheitlichte Bibliothek ermöglicht, dass verschiedene Bildsegmentierungsverfahren in Reaktion auf Interaktionen, die eine gewünschte Segmentierung für ein Bild angeben (beispielsweise Anklicken, Wischen, Begrenzungskästchen), aufeinander aufgebaut werden.
  • Es kann eine Interaktion 804 empfangen werden. Die Interaktion kann eine interaktive Objektauswahl eines Bildes durch einen Nutzer sein. Eine derartige interaktive Objektauswahl kann auf einem interaktiven Vorgang (beispielsweise Anklicken, Kritzeln, Begrenzungskästchen und/oder Sprache) beruhen. Auf Grundlage der empfangenen interaktiven Objektauswahl kann ein Bildsegmentierungsverfahren (beispielsweise das Verfahren 808a, das Verfahren 808b, ..., das Verfahren 808n) zur Nutzung beim Segmentieren des Bildes 802 ausgewählt werden. Bei einigen Ausführungsformen kann ein Nutzer das Bildsegmentierungsverfahren (beispielsweise das Verfahren 808n) auswählen. Ein Nutzer kann das Verfahren beispielsweise explizit auswählen, indem er das Verfahren 808n (beispielsweise über eine Interaktion mit einer grafischen Nutzerschnittstelle) auswählt. Bei anderen Ausführungsformen beruht das Bildsegmentierungsverfahren, das zum Segmentieren des Bildes benutzt wird, auf der Interaktion 804. Auf diese Weise kann ein Nutzer das Verfahren 808n (beispielsweise auf Grundlage der interaktiven Objektauswahl) implizit auswählen.
  • Das Verfahren 808n kann zum Segmentieren des Bildes 802 auf Grundlage der Interaktion 804 benutzt werden. Aus dieser Segmentierung kann die aktuelle Wahrscheinlichkeitsverteilungskarte .818 generiert werden. Eine Wahrscheinlichkeitsverteilungskarte kann allgemein die Ausgabe eines Segmentierungsverfahrens (beispielsweise eine Segmentierungsmaske, eine Wärmekarte bzw. Heatmap und dergleichen) sein.
  • Das Bild 802 kann zudem in das CNN 810 eingegeben werden. Das CNN 810 kann ein faltungstechnisches rekurrentes neuronales Netzwerk sein, das zum Integrieren von Information im Zusammenhang mit einer vorherigen Segmentierung / vorherigen Segmentierungen beim Durchführen einer aktuellen Segmentierung benutzt wird. Aus dem Bild 802 kann das CNN 810 eine Merkmalskarte 812 generieren. Die Merkmalskarte 812 kann allgemein mit Information im Zusammenhang mit Objekten, Merkmalen und/oder Abschnitten des Bildes 802 zusammenhängen.
  • Gibt die Interaktion 804 an, dass ein Objekt, ein Merkmal oder ein Abschnitt eines Bildes aus einer gewünschten Segmentierungsmaske ausgeschlossen (beispielsweise beseitigt) werden soll, so kann die Beseitigung 814 in das CNN 810 einbezogen werden. Die Beseitigung 814 kann die Beseitigungsinformation aus der Interaktion 804 derart in das CNN 810 einbeziehen, dass das Objekt, das Merkmal oder der Abschnitt des Bildes 802 zur Ausschließung aus der gewünschten Segmentierungsmaske nachverfolgt werden kann. Insbesondere kann die Beseitigung 814 mit der Merkmalskarte 812 durch das CNN 810 kombiniert werden, um die Merkmalskarte 816 zu generieren. Gibt die Interaktion 804 beispielsweise die Beseitigung eines Objektes an, so kann die Beseitigung 814 Information im Zusammenhang mit dem Objekt enthalten, damit das Objekt aus der Merkmalskarte 816 beseitigt wird.
  • Das CNN 810 kann eine aktuelle Wahrscheinlichkeitsverteilungskarte 818 aus der vereinheitlichten Bibliothek 806 empfangen. Das CNN 810 kann zudem über Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte 820 verfügen. Diese Information im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte 820 kann als verborgener Zustand des CNN 810 gespeichert werden. Das CNN 810 kann die aktuelle Wahrscheinlichkeitsverteilungskarte 818 und die vorherige Wahrscheinlichkeitsverteilungskarte 820 mit der Merkmalskarte 816 kombinieren. Insbesondere kann das CNN 810 die aktuelle Wahrscheinlichkeitsverteilungskarte 818 mit der Merkmalskarte 816 kombinieren, um ein erstes Merkmal 822 zu generieren.. Das CNN 810 kann zudem die vorherige Wahrscheinlichkeitsverteilungskarte 820 mit der Merkmalskarte 816 kombinieren, um ein zweites Merkmal 824 zu generieren. Das erste Merkmal 822 und das zweite Merkmal 824 können verkettet werden, um das aktualisierte Merkmal 826 zu generieren. Das aktualisierte Merkmal 826 kann in den Klassifizierer 828 eingegeben werden. Der Klassifizierer 828 kann ein klassifizierendes neuronales Netzwerk sein, das eine Segmentierungsmaske aus dem aktualisierten Merkmal 826 generieren kann. Das klassifizierende neuronale Netzwerk kann beispielsweise einen Decoderabschnitt beinhalten, der das durch einen Menschen nicht interpretierbare Merkmal in einem Merkmalsraum nimmt und das Merkmal in einen Bildzustand rückverwandelt. Auf diese Weise kann der Klassifizierer 828 eine aktualisierte Segmentierungsmaske 830 generieren.
  • 9 zeigt eine exemplarische Ausführungsform 900 zur Nutzung bei der gemeinsamen Einbettungsüberwachung im Zusammenhang mit einem integrierten Segmentierungssystem, das eine optimale Segmentierung eines Bildes auf Grundlage mehrerer Segmentierungen ermöglicht, entsprechend Ausführungsformen der vorliegenden Offenbarung. Insbesondere kann ein faltungstechnisches RNN für die gemeinsame Einbettungsüberwachung benutzt werden. Das faltungstechnische RNN kann die vorherige Segmentierung / die vorherigen Segmentierungen mit der aktuellen Segmentierung kombinieren, ohne dass Information über das Bildsegmentierungsverfahren / die Bildsegmentierungsverfahren, das/die zum Generieren der Segmentierungen benutzt wird/werden, erforderlich wäre.
  • Es wird ein Bild 902 zur Segmentierung empfangen. Ein derartiges Bild kann aus einer Gruppe von Bildern oder Abbildungen, die in einer Datenbank, so beispielsweise dem Datenspeicher 202 von 2, gespeichert sind, empfangen werden. Insbesondere kann ein Nutzer das empfangene Bild auswählen oder eingeben. Ein derartiges Bild kann auf beliebige Art ausgewählt oder eingegeben werden. Ein Nutzer kann beispielsweise eine Abbildung unter Nutzung einer Kamera an einer Vorrichtung aufnehmen. Bei einem anderen Beispiel kann ein Nutzer ein gewünschtes Bild beispielsweise aus einer Sammlung auswählen, die in einem Datenspeicher, der für ein Netzwerk zugänglich ist, oder lokal auf einer Nutzervorrichtung gespeichert ist.
  • Es kann/können eine Interaktion Interaktionen 904 empfangen werden. Die Interaktion/Interaktionen 904 kann/können interaktive Eingaben von einem Nutzer sein. Diese Interaktionen können interaktive Objektauswahlen des Bildes 902 durch einen Nutzer sein. Eine derartige interaktive Objektauswahl kann auf einem interaktiven Vorgang (beispielsweise Anklicken, Kritzeln, Begrenzungskästchen und/oder Sprache) beruhen. Auf Grundlage der Interaktion/Interaktionen 904 kann eine vereinheitlichte Bibliothek 906 ein Bildsegmentierungsverfahren zur Nutzung beim Segmentieren des Bildes 902 auswählen. Bei einigen Ausführungsformen kann ein Nutzer das Bildsegmentierungsverfahren auswählen. Ein Nutzer kann das Verfahren (beispielsweise über eine Interaktion mit einer grafischen Nutzerschnittstelle) beispielsweise explizit auswählen. Bei anderen Ausführungsformen kann das Bildsegmentierungsverfahren, das zum Segmentieren des Bildes benutzt wird, durch die vereinheitlichte Bibliothek 906 auf Grundlage der Interaktion 904 ausgewählt werden.
  • Unter Nutzung des Bildsegmentierungsverfahrens kann die vereinheitlichte Bibliothek 906 eine Wahrscheinlichkeitsverteilungskarte / Wahrscheinlichkeitsverteilungskarten 908 (beispielsweise P0) entsprechend dem Bild 902 und der Interaktion / den Interaktionen 904 generieren. Die Wahrscheinlichkeitsverteilungskarte/Wahrscheinlichkeitsverteilungskarten 908 kann/können zum Generieren der Segmentierungsmaske/Segmentierungsmasken 914 (beispielsweise M0) benutzt werden. Als Nächstes kann ein Nutzer die Interaktion/Interaktionen 904 entsprechend der Segmentierungsmaske / den Segmentierungsmasken 914 aktualisieren. Die aktualisierte Interaktion / aktualisierten Interaktionen 904 kann/können von einem beliebigen Typ (beispielsweise vom selben Typ wie das anfängliche Bildsegmentierungsverfahren oder auch verschieden von diesem) sein. Die vereinheitlichte Bibliothek 906 kann ein Bildsegmentierungsverfahren zur Nutzung beim Aktualisieren der Wahrscheinlichkeitsverteilungskarte/Wahrscheinlichkeitsverteilungskarten 908 auswählen. Es kann ein faltungstechnisches RNN benutzt werden, um die aktualisierte Wahrscheinlichkeitsverteilungskarte / aktualisierten Wahrscheinlichkeitsverteilungskarten 908 zu generieren. Ein Bildsegmentierungsverfahren kann beispielsweise die Wahrscheinlichkeitsverteilungskarte (beispielsweise Pt) als aktuelle Ausgabe zusammen mit einem verborgenen Zustand / verborgenen Zuständen 910 (beispielsweise St-1) aktualisieren, um eine aktualisierte Wahrscheinlichkeitsverteilungskarte 910 (beispielsweise Yt) herzuleiten. Diese Schritte können fortgesetzt werden, bis der Nutzer mit der erzeugten Segmentierungsmaske 914 (beispielsweise Mt) zufrieden ist.
  • Nach erfolgter Beschreibung von Ausführungsformen der vorliegenden Offenbarung wird nachstehend eine exemplarische Betriebsumgebung, in der Ausführungsformen der vorliegenden Offenbarung implementiert sein können, beschrieben, um einen allgemeinen Kontext für verschiedene Aspekte der vorliegenden Offenbarung bereitzustellen. In 10 ist eine illustrative Betriebsumgebung zur Implementierung von Ausführungsformen der vorliegenden Offenbarung gezeigt und wird allgemein als Rechenvorrichtung 1000 bezeichnet. Die Rechenvorrichtung 1000 ist lediglich ein Beispiel für eine geeignete Rechenumgebung und soll keinerlei Beschränkung hinsichtlich des Nutzungsumfangs oder der Funktionalität der Offenbarung nahelegen. Ebenso wenig soll die Rechenvorrichtung 1000 derart gedeutet werden, dass bei ihr irgendeine Abhängigkeit oder irgendein Erfordernis im Zusammenhang einer dargestellten Komponente oder einer Kombination von diesen vorliegt.
  • Ausführungen der Offenbarung 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 Handvorrichtung, ausgeführt werden. Allgemein bezeichnen Programmmodule oder Engines, darunter Routinen, Programme, Objekte, Komponenten, Datenstrukturen und dergleichen mehr, Code, der bestimmte Aufgaben erledigen oder bestimmte abstrakte Datentypen implementieren kann. Ausführungsformen der Offenbarung können in einer Vielzahl von Systemkonfigurationen umgesetzt werden, darunter Handvorrichtungen, Geräte der Unterhaltungselektronik, Allzweckcomputer, stärker spezialisierte Rechenvorrichtungen und dergleichen mehr. Ausführungsformen der Offenbarung können zudem in verteilten Rechenumgebungen umgesetzt werden, in denen Aufgaben von Remote-Verarbeitungsvorrichtungen, die durch ein Kommunikationsnetzwerk verknüpft sind, erledigt werden.
  • Wie in 10 gezeigt ist, beinhaltet die Rechenvorrichtung 1000 einen Bus 1010, der direkt oder indirekt mit den nachfolgenden Vorrichtungen gekoppelt ist: einem Speicher 1012, einem oder mehreren Prozessoren 1014, einer oder mehreren Präsentationskomponenten 1016, Eingabe-/Ausgabe-Ports 1018, Eingabe-/Ausgabe-Komponenten 1020 und einer illustrativen Leistungsversorgung 1022. Der Bus 1010 stellt etwas dar, das ein oder mehrere Busse (so beispielsweise ein Adressbus, ein Datenbus oder eine Kombination hieraus) sein kann. Obwohl die verschiedenen Blöcke von 10 der Klarheit halber mit eindeutig abgegrenzten Linien gezeigt sind, sind derartige Abgrenzungen in der Praxis nicht derart eindeutig; Linien können vielmehr überlappen. Man kann beispielsweise eine Präsentationskomponente, so beispielsweise die Anzeigevorrichtung, auch als I/O-Komponente betrachten. Zudem weisen Prozessoren allgemein einen Speicher in Form eines Cache auf. Es wird zugestanden, dass dies das Wesen des Gebietes ist, und erneut darauf verwiesen, dass das Diagramm von 10 rein illustrativ für eine exemplarische Rechenvorrichtung ist, die in Verbindung mit einer oder mehreren Ausführungsformen der vorliegenden Offenbarung benutzt werden kann. Eine Unterscheidung zwischen Kategorien wie „Workstations“, „Server“, „Laptop“, „Handvorrichtung“ und dergleichen wird nicht getroffen, da diese alle in den Umfang von 10 einbezogen und mit „Rechenvorrichtung“ gemeint sind.
  • Die Rechenvorrichtung 1000 beinhaltet typischerweise eine Vielzahl von nichttemporären computerlesbaren Medien. Nichttemporäre computerlesbare Medien können beliebige verfügbare Medien sein, auf die die Rechenvorrichtung 1000 zugreifen kann, und beinhalten sowohl flüchtige wie auch nicht flüchtige Medien und entfernbare wie auch nicht entfernbare Medien. Beispiels- und nicht beschränkungshalber können nichttemporäre computerlesbare Medien nichttemporäre Computerspeichermedien und Kommunikationsmedien umfassen.
  • Nichttemporäre Computerspeichermedien beinhalten flüchtige und nicht flüchtige, entfernbare und nicht entfernbare Medien, die in einem beliebigen Verfahren oder mit einer beliebigen Technologie zur Speicherung von Information beispielsweise als computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten implementiert sind. Nichttemporäre Computerspeichermedien beinhalten unter anderem RAM, ROM, EEPROM, einen Flash-Speicher oder eine andere Speichertechnologie, CD-ROM, DVD oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das dafür benutzt werden kann, die gewünschte Information zu speichern, und auf die die Rechenvorrichtung 1000 zugreifen kann. Nichttemporäre 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 direkt verdrahtete Verbindung, wie auch drahtlose Medien, so beispielsweise akustische, HF-basierte, infrarote und andere Drahtlosmedien. Kombinationen beliebiger der vorgenannten Elemente sollen ebenfalls im Umfang der computerlesbaren Medien beinhaltet sein.
  • Der Speicher 1012 beinhaltet Computerspeichermedien in Form von flüchtigen und/oder nicht flüchtigen Speichern. Wie dargestellt ist, beinhaltet der Speicher 1012 Anweisungen 1024. Die Anweisungen 1024 sind bei Ausführung durch den Prozessor / die Prozessoren 1014 dafür konfiguriert zu veranlassen, dass die Rechenvorrichtung beliebige Operationen durchführt, die hier anhand der vorstehend erläuterten Figuren beschrieben worden sind, oder dafür konfiguriert, beliebige hier beschriebene Programmmodule zu implementieren. Der Speicher kann entfernbar, nicht entfernbar oder eine Kombination hieraus sein. Illustrative Hardwarevorrichtungen beinhalten einen Solid-State-Speicher, Festplattenlaufwerke, Laufwerke für optische Platten und dergleichen mehr. Die Rechenvorrichtung 1000 beinhaltet einen oder mehrere Prozessoren, die Daten aus verschiedenen Entitäten, so beispielsweise dem Speicher 1012 oder den I/O-Komponenten 1020, lesen. Die Präsentationskomponente/Präsentationskomponenten 1016 präsentiert/präsentieren einem Nutzer oder einer anderen Vorrichtung Datenangaben. Illustrative Präsentationskomponenten beinhalten eine Anzeigevorrichtung, einen Lautsprecher, eine Druckkomponente, eine Vibrationskomponente und dergleichen mehr.
  • Die I/O-Ports 1018 ermöglichen, dass die Rechenvorrichtung 1000 logisch mit anderen Vorrichtungen gekoppelt ist, darunter mit den I/O-Komponenten 1020, von denen einige eingebaut sein können. Illustrative Komponenten beinhalten ein Mikrofon, einen Joystick, ein Gamepad, eine Satellitenschüssel, einen Scanner, einen Drucker, eine Drahtlosvorrichtung und dergleichen mehr.
  • Es sind hier verschiedene Ausführungsformen unter Bezugnahme auf bestimmte Ausführungsformen beschrieben worden, die in jeder Hinsicht illustrativ und nicht restriktiv sein sollen. Alternative Ausführungsformen erschließen sich einem Durchschnittsfachmann auf dem Gebiet, zu dem die vorliegende Offenbarung gehört, ohne von deren Umfang abzuweichen.
  • Aus dem Vorbeschriebenen ist ersichtlich, dass die vorliegende Offenbarung dafür geeignet ist, allen vorstehend aufgeführten Zwecken und Aufgaben wie auch weiteren Vorteilen, die offensichtlich oder strukturinhärent sind, gerecht zu werden.
  • Es sollte einsichtig sein, dass bestimmte Merkmale und Teilkombinationen von Nutzen sind und auch ohne Verweis auf andere Merkmale oder Teilkombinationen eingesetzt werden können. Dies ist im Umfang der Ansprüche beinhaltet und gehört hierzu.
  • In der vorstehenden Detailbeschreibung wird auf die begleitende Zeichnung verwiesen, die einen Teil derselben bildet und in der gleiche Bezugszeichen durchweg gleiche Teile bezeichnen und in der Ausführungsformen, die praktisch umgesetzt werden können, darstellungshalber gezeigt sind. Es sollte einsichtig sein, dass auch andere Ausführungsformen eingesetzt und strukturelle oder logische Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzugehen. Daher ist die vorstehende Detailbeschreibung nicht beschränkend gemeint; vielmehr ist der Umfang der Ausführungsformen durch die beigefügten Ansprüche und deren Äquivalente festgelegt.
  • Verschiedene Aspekte der illustrativen Ausführungsformen sind unter Nutzung von Begriffen beschrieben worden, die gemeinhin von einem Fachmann verwendet werden, um das Wesen seiner Arbeit einem anderen Fachmann zu vermitteln. Einem Fachmann auf dem Gebiet erschließt sich, dass bei alternativen Ausführungsformen auch nur einige der beschriebenen Aspekte umgesetzt sein können. Erläuterungshalber sind spezifische Zahlen, Materialien und Konfigurationen angegeben, um ein eingehendes Verständnis der illustrativen Ausführungsformen zu ermöglichen. Einem Fachmann auf dem Gebiet erschließt sich jedoch, dass auch alternative Ausführungsformen ohne diese spezifischen Details umgesetzt werden können. In einigen Fällen sind bekannte Merkmale weggelassen oder vereinfacht worden, um die illustrativen Ausführungsformen nicht unklar zu machen.
  • Es sind verschiedene Operationen als mehrere diskrete Operationen auf eine Weise beschrieben worden, die beim Verstehen der illustrativen Ausführungsformen am meisten hilft. Die Reihenfolge der Beschreibung soll jedoch nicht derart gedeutet werden, dass sie impliziert, dass diese Operationen unbedingt reihenfolgenabhängig sind. Insbesondere müssen diese Operationen nicht in der präsentierten Reihenfolge durchgeführt werden. Die Beschreibungen von Operationen als separate Operationen sollen zudem nicht derart gedeutet werden, dass erforderlich ist, dass die Operationen unbedingt unabhängig und/oder von getrennten Entitäten durchgeführt werden müssen. Beschreibungen von Entitäten und/oder Modulen als separate Module sollen zudem nicht derart gedeutet werden, dass erforderlich ist, dass die Module getrennt sind und/oder getrennte Operationen durchführen. Bei verschiedenen Ausführungsformen sind dargestellte und/oder beschriebene Operationen, Entitäten, Daten und/oder Module zusammengelegt, in weitere Bestandteile zerlegt und/oder weggelassen.
  • Der Ausdruck „bei der einen Ausführungsform“ oder „bei einer Ausführungsform“ wird wiederholt verwendet. Der Ausdruck bezeichnet allgemein nicht dieselbe Ausführungsform, kann dies jedoch tun. Die Begriffe „umfassen“, „aufweisen/verfügen“ und „beinhalten“ sind Synonyme, außer der Kontext gibt anderes vor. Der Ausdruck „A/B“ bezeichnet „A oder B“. Der Ausdruck „A und/oder B“ bezeichnet „(A), (B) oder (A und B)“. Der Ausdruck „wenigstens eines von A, B und C“ bezeichnet „(A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C)“.

Claims (20)

  1. Computerimplementiertes Verfahren, wobei das Verfahren umfasst: Empfangen einer Interaktion mit einem Bild; auf Grundlage der Interaktion erfolgendes Durchführen einer Segmentierung des Bildes zum Generieren einer Wahrscheinlichkeitsverteilungskarte; Kombinieren einer Merkmalskarte des Bildes mit der Wahrscheinlichkeitsverteilungskarte und mit einer vorherigen Wahrscheinlichkeitsverteilungskarte, wobei die vorherige Wahrscheinlichkeitsverteilungskarte auf Grundlage einer vorherigen Segmentierung des Bildes generiert wird; und Generieren einer Segmentierungsmaske auf Grundlage einer Verkettung der Merkmalskarte, die mit der Wahrscheinlichkeitsverteilungskarte und mit der vorherigen Wahrscheinlichkeitsverteilungskarte kombiniert ist.
  2. Computerimplementiertes Verfahren nach Anspruch 1, des Weiteren umfassend: Generieren der Merkmalskarte für das Bild; und Einbeziehen einer Beseitigungsinformation in die Merkmalskarte, wobei die Beseitigungsinformation darauf beruht, dass die Interaktion eine Beseitigungsinteraktion ist, die ein Objekt, ein Merkmal oder einen Abschnitt des Bildes zur Ausschließung aus der Segmentierungsmaske angibt.
  3. Computerimplementiertes Verfahren nach Anspruch 1 oder 2, des Weiteren umfassend: Bestimmen eines Bildsegmentierungsverfahrens zur Nutzung für die Segmentierung, wobei das Bildsegmentierungsverfahren auf der Interaktion beruht.
  4. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei die Merkmalskarte des Bildes mit der Wahrscheinlichkeitsverteilungskarte und mit der vorherigen Wahrscheinlichkeitsverteilungskarte unter Nutzung eines neuronalen Netzwerkes kombiniert wird, um einen verborgenen Zustand im Zusammenhang mit der vorherigen Wahrscheinlichkeitsverteilungskarte zu behalten.
  5. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei die Segmentierungsmaske unter Nutzung eines klassifizierenden neuronalen Netzwerkes generiert wird, um die Merkmalskarte, die mit der Wahrscheinlichkeitsverteilungskarte und der vorherigen Wahrscheinlichkeitsverteilungskarte kombiniert ist, in Bildform umzuwandeln.
  6. Computerimplementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei das klassifizierende neuronale Netzwerk dafür trainiert wird, die Merkmalskarte, die mit der Wahrscheinlichkeitsverteilungskarte und der vorherigen Wahrscheinlichkeitsverteilungskarte kombiniert ist, intelligent zu verketten.
  7. Computerimplementiertes Verfahren nach Anspruch 6, wobei das neuronale Netzwerk dafür trainiert wird, verschiedene Bildsegmentierungsverfahren zu integrieren, wobei das Trainieren umfasst: Empfangen einer ersten Interaktion mit einem ersten Bild; auf Grundlage der ersten Interaktion erfolgendes Durchführen einer ersten Segmentierung des ersten Bildes zum Generieren einer ersten Wahrscheinlichkeitsverteilungskarte; Speichern der ersten Wahrscheinlichkeitsverteilungskarte unter Nutzung eines verborgenen Zustandes; Empfangen einer zweiten Interaktion mit einem ersten Bild; auf Grundlage der zweiten Interaktion erfolgendes Durchführen einer zweiten Segmentierung des ersten Bildes zum Generieren einer zweiten Wahrscheinlichkeitsverteilungskarte; Kombinieren einer Bildmerkmalskarte des ersten Bildes mit der zweiten Wahrscheinlichkeitsverteilungskarte , und der ersten vorherigen Wahrscheinlichkeitsverteilungskarte, wobei die erste vorherige Wahrscheinlichkeitsverteilungskarte unter Nutzung des verborgenen Zustandes dargestellt wird; und Generieren einer optimierten Segmentierungsmaske auf Grundlage der Bildmerkmalskarte, die mit der zweiten Wahrscheinlichkeitsverteilungskarte und der ersten Wahrscheinlichkeitsverteilungskarte kombiniert ist.
  8. Computerimplementiertes Verfahren nach Anspruch 7, wobei das Trainieren des Weiteren umfasst: Vergleichen der optimierten Segmentierungsmaske mit einer Ground-Truth-Segmentierungsmaske zum Bestimmen eines Fehlers; und Aktualisieren des neuronalen Netzwerkes auf Grundlage des bestimmten Fehlers.
  9. Ein oder mehrere computerlesbare Medien, auf denen mehrere ausführbare Anweisungen verkörpert sind, die bei Ausführung durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren veranlassen, ein Verfahren durchzuführen, wobei das Verfahren umfasst: Empfangen einer Interaktion mit einem Bild; auf Grundlage der Interaktion erfolgendes Durchführen einer Segmentierung des Bildes zum Generieren einer Wahrscheinlichkeitsverteilungskarte; unter Nutzung eines neuronalen Netzwerkes erfolgendes Generieren einer Merkmalskarte des Bildes; unter Nutzung des neuronalen Netzwerkes erfolgendes Kombinieren der Merkmalskarte mit der Wahrscheinlichkeitsverteilungskarte zum Generieren eines ersten Merkmals und mit einer vorherigen Wahrscheinlichkeitsverteilungskarte zum Generieren eines zweiten Merkmals, wobei die vorherige Wahrscheinlichkeitsverteilungskarte auf Grundlage einer vorherigen Segmentierung des Bildes generiert wird, wobei die vorherige Wahrscheinlichkeitsverteilungskarte unter Nutzung eines verborgenen Zustandes des neuronalen Netzwerkes dargestellt wird; und Generieren einer Segmentierungsmaske auf Grundlage einer Verkettung des ersten Merkmals und des zweiten Merkmals.
  10. Medien nach Anspruch 9, wobei das Verfahren des Weiteren umfasst: Einbeziehen einer Beseitigungsinformation in die Merkmalskarte, wobei die Beseitigungsinformation darauf beruht, dass die Interaktion eine Beseitigungsinteraktion ist, die ein Objekt, ein Merkmal oder einen Abschnitt des Bildes zur Ausschließung aus der Segmentierungsmaske angibt.
  11. Medien nach Anspruch 9 oder 10, wobei das Verfahren des Weiteren umfasst: Bestimmen eines Bildsegmentierungsverfahrens zur Nutzung für die Segmentierung, wobei das Bildsegmentierungsverfahren auf der Interaktion beruht.
  12. Medien nach einem der Ansprüche 9 bis 11, wobei das Verfahren des Weiteren umfasst: Empfangen einer Angabe eines Bildsegmentierungsverfahrens zur Nutzung für die Segmentierung, wobei die Angabe von einem Nutzer eingegeben wird.
  13. Medien nach einem der Ansprüche 9 bis 12, wobei das Verfahren des Weiteren umfasst: Empfangen einer weiteren Interaktion mit dem Bild; auf Grundlage der weiteren Interaktion erfolgendes Durchführen einer nachfolgenden Segmentierung des Bildes zum Generieren einer nachfolgenden Wahrscheinlichkeitsverteilungskarte; unter Nutzung des neuronalen Netzwerkes erfolgendes Kombinieren der Merkmalskarte mit der nachfolgenden Wahrscheinlichkeitsverteilungskarte zum Generieren eines aktualisierten ersten Merkmals und der Wahrscheinlichkeitsverteilungskarte zum Generieren eines aktualisierten zweiten Merkmals, wobei die Wahrscheinlichkeitsverteilungskarte unter Nutzung eines aktualisierten verborgenen Zustandes des neuronalen Netzwerkes dargestellt wird; und Generieren einer optimierten Segmentierungsmaske auf Grundlage einer neuen Verkettung des aktualisierten ersten Merkmals und des aktualisierten zweiten Merkmals.
  14. Medien nach einem der Ansprüche 9 bis 13, wobei das neuronale Netzwerksystem trainiert wird durch: Empfangen einer ersten Interaktion mit einem ersten Bild; auf Grundlage der ersten Interaktion erfolgendes Durchführen einer ersten Segmentierung des ersten Bildes zum Generieren einer ersten Wahrscheinlichkeitsverteilungskarte; Speichern der ersten Wahrscheinlichkeitsverteilungskarte unter Nutzung eines ersten verborgenen Zustandes; Empfangen einer zweiten Interaktion mit einem ersten Bild; auf Grundlage der zweiten Interaktion erfolgendes Durchführen einer zweiten Segmentierung des ersten Bildes zum Generieren einer zweiten Wahrscheinlichkeitsverteilungskarte; Kombinieren einer Bildmerkmalskarte des ersten Bildes mit der zweiten Wahrscheinlichkeitsverteilungskarte und der ersten vorherigen Wahrscheinlichkeitsverteilungskarte; wobei die erste vorherige Wahrscheinlichkeitsverteilungskarte unter Nutzung des ersten verborgenen Zustandes dargestellt wird; und Generieren einer optimierten Segmentierungsmaske auf Grundlage der Bildmerkmalskarte, die mit der zweiten Wahrscheinlichkeitsverteilungskarte und der ersten Wahrscheinlichkeitsverteilungskarte kombiniert ist.
  15. Medien nach Anspruch 14, wobei das Trainieren des Weiteren umfasst: Vergleichen der optimierten Segmentierungsmaske mit einer Ground-Truth-Segmentierungsmaske zum Bestimmen eines Fehlers; und Aktualisieren des neuronalen Netzwerkes auf Grundlage des bestimmten Fehlers.
  16. Medien nach einem der Ansprüche 9 bis 15, wobei das Verfahren des Weiteren umfasst: Generieren einer vereinheitlichten Bibliothek von Bildsegmentierungsverfahren, wobei das neuronale Netzwerk unter Nutzung eines oder mehrerer der Bildsegmentierungsverfahren trainiert wird.
  17. Rechensystem, umfassend: Mittel zum Empfangen einer Interaktion mit einem Bild; Mittel zum Durchführen einer Segmentierung des Bildes zum Generieren einer Wahrscheinlichkeitsverteilungskarte; Mittel zum Kombinieren einer Merkmalskarte des Bildes mit der Wahrscheinlichkeitsverteilungskarte zum Generieren eines ersten Merkmals und mit einer vorherigen Wahrscheinlichkeitsverteilungskarte zum Generieren eines zweiten Merkmals, wobei die vorherige Wahrscheinlichkeitsverteilungskarte auf Grundlage einer vorherigen Segmentierung des Bildes generiert wird; und Mittel zum Generieren einer Segmentierungsmaske auf Grundlage einer Verkettung des ersten Merkmals und des zweiten Merkmals.
  18. System nach Anspruch 17, des Weiteren umfassend: Mittel zum Einbeziehen einer Beseitigungsinformation in die Merkmalskarte, wobei die Beseitigungsinformation darauf beruht, dass die Interaktion eine Beseitigungsinteraktion ist, die ein Objekt, ein Merkmal oder einen Abschnitt des Bildes zur Ausschließung aus der Segmentierungsmaske angibt.
  19. System nach Anspruch 17 oder 18, des Weiteren umfassend: Mittel zum Bestimmen eines Bildsegmentierungsverfahrens zur Nutzung für die Segmentierung, wobei das Bildsegmentierungsverfahren auf der Interaktion beruht.
  20. System nach einem der Ansprüche 17 bis 19, des Weiteren umfassend: Mittel zum Generieren einer vereinheitlichten Bibliothek von Bildsegmentierungsverfahren, wobei ein neuronales Netzwerk unter Nutzung eines oder mehrerer der Bildsegmentierungsverfahren trainiert wird.
DE102021000476.0A 2020-04-03 2021-02-01 Integrierte interaktive Bildsegmentierung Pending DE102021000476A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/839,209 2020-04-03
US16/839,209 US11538170B2 (en) 2020-04-03 2020-04-03 Integrated interactive image segmentation

Publications (1)

Publication Number Publication Date
DE102021000476A1 true DE102021000476A1 (de) 2021-10-07

Family

ID=74858838

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021000476.0A Pending DE102021000476A1 (de) 2020-04-03 2021-02-01 Integrierte interaktive Bildsegmentierung

Country Status (5)

Country Link
US (1) US11538170B2 (de)
CN (1) CN113554661A (de)
AU (1) AU2021200645B2 (de)
DE (1) DE102021000476A1 (de)
GB (1) GB2608783B (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111738908B (zh) * 2020-06-11 2023-04-07 山东大学 结合实例分割和循环生成对抗网络的场景转换方法及系统
CN116385459B (zh) * 2023-03-08 2024-01-09 阿里巴巴(中国)有限公司 图像分割方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11017535B2 (en) * 2016-08-24 2021-05-25 Carestream Dental Technology Topco Limited Method and system for hybrid mesh segmentation
GB201709672D0 (en) * 2017-06-16 2017-08-02 Ucl Business Plc A system and computer-implemented method for segmenting an image

Also Published As

Publication number Publication date
US11538170B2 (en) 2022-12-27
CN113554661A (zh) 2021-10-26
AU2021200645B2 (en) 2022-03-10
AU2021200645A1 (en) 2021-10-21
GB2608783A (en) 2023-01-18
GB2608783B (en) 2024-03-20
US20210312635A1 (en) 2021-10-07
GB202101093D0 (en) 2021-03-10

Similar Documents

Publication Publication Date Title
DE102020002964A1 (de) Verwenden eines neuronalen Netzwerks mit einer Zwei-Strom Encoder-Architektur zur Erzeugung digitaler Kompositbilder
DE102020002301A1 (de) Automatisches Detektieren nutzerseitig angeforderter Objekte in Bildern
DE102019007196A1 (de) Identifizieren von Zielobjekten unter Nutzung der skalierungsdiversen Segmentierung dienender neuronaler Netzwerke
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE102018007937A1 (de) Entfernen und Ersetzen von Objekten in Bildern entsprechend einem geführten Nutzerdialog
DE112020000281T5 (de) Vereinigen von modellen, die jeweilige zielklassen aufweisen, mit destillation
DE112019001310T5 (de) Systeme und verfahren zum reduzieren der menge an datenspeicher beim maschinellen lernen
DE102018006317A1 (de) Tiefe neurale Netzwerke für hervorstechenden Inhalt für eine effiziente Segmentierung eines digitalen Objekts
DE102017009049A1 (de) Ermöglichen von Transformationen Skizze-zu-Gemälde
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE102017207686A1 (de) Einblicke in die belegschaftsstrategie
DE102021000476A1 (de) Integrierte interaktive Bildsegmentierung
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE112021002453T5 (de) Iteratives trainieren eines modells für maschinelles lernen
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
DE102022003003A1 (de) Automatische Fotobearbeitung mittels sprachlicher Anweisung
DE202017007534U1 (de) Multiskalige 3D-Textursynthese
DE102022110889A1 (de) Halbüberwachtes training grober labels bei bildsegmentierung
DE102023125923A1 (de) Generative modelle maschinellen lernens für datenschutzerhaltende synthetische datenerzeugung unter verwendung von diffusion
DE102023109072A1 (de) Datenaugmentierung für domänenverallgemeinerung
DE102014111571A1 (de) Speichersystem und Verfahren zum Verwalten eines Datenobjektspeichers in einem Speichersystem
DE102021004573A1 (de) Generieren von Änderungsvergleichen während des Bearbeitens von Digitalbildern
DE112021003887T5 (de) Grob-zu-fein-aufmerksamkeitsnetzwerke zur lichtsignal-erfassung und erkennung
DE112021000251T5 (de) Verfahren zum auswählen von datensätzen zum aktualisieren eines moduls mit künstlicher intelligenz
DE102019217951A1 (de) Verfahren und Vorrichtung zum Bestimmen einer Domänendistanz zwischen mindestens zwei Datendomänen

Legal Events

Date Code Title Description
R012 Request for examination validly filed