DE102021004260A1 - Textuelles Bearbeiten von digitalen Bildern - Google Patents

Textuelles Bearbeiten von digitalen Bildern Download PDF

Info

Publication number
DE102021004260A1
DE102021004260A1 DE102021004260.3A DE102021004260A DE102021004260A1 DE 102021004260 A1 DE102021004260 A1 DE 102021004260A1 DE 102021004260 A DE102021004260 A DE 102021004260A DE 102021004260 A1 DE102021004260 A1 DE 102021004260A1
Authority
DE
Germany
Prior art keywords
digital
training
text
visual
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021004260.3A
Other languages
English (en)
Inventor
Paridhi Maheshwari
Vishwa Vinay
Shraiysh Vaishay
Praneetha Vaddamanu
Nihal Jain
Dhananjay Bhausaheb Raut
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 DE102021004260A1 publication Critical patent/DE102021004260A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

Es werden digitale Bildtextbearbeitungsverfahren beschrieben, wie sie von einem Bildbearbeitungssystem implementiert werden, die eine verstärkte Benutzerinteraktion bei der Erstellung und Bearbeitung digitaler Bilder durch das Verstehen der Absicht eines Inhalteerstellers, wie sie durch Text ausgedrückt wird, unterstützen. In einem Beispiel wird eine Benutzer-Texteingabe von einem Texteingabemodul empfangen. Die Benutzer-Texteingabe beschreibt ein visuelles Objekt und ein visuelles Attribut, wobei das visuelle Objekt einen visuellen Kontext für das visuelle Attribut angibt. Ein Text-zu-Merkmal-System generiert mit Hilfe eines Maschinen-Lernen-Moduls auf der Basis der Benutzer-Texteingabe eine Merkmalsrepräsentation. Die Merkmalsrepräsentation wird an ein Bildbearbeitungssystem weitergeleitet, um das digitale Objekt in dem digitalen Bild zu bearbeiten, zum Beispiel durch Aufbringen einer Textur auf einen Umriss des digitalen Objekts innerhalb des digitalen Bildes.

Description

  • Hintergrund
  • Bildverarbeitungssysteme unterstützen eine Vielzahl von Funktionalitäten zur Erstellung und Bearbeitung digitaler Bilder. Als Teil davon unterstützen diese Systeme, wie sie von einem Computergerät implementiert werden, eine Vielzahl von Werkzeugen, Filtern, Farben, Schriftarten und so weiter, um sowohl die Art und Weise, wie digitale Bilder erstellt werden, als auch das visuelle Erscheinungsbild der digitalen Bilder zu erweitern. Daher müssen sich Inhalteersteller, die diese Bildverarbeitungssysteme verwenden, auf typische Weise spezielle Kenntnisse aneignen, um auf diese Funktionalität zugreifen zu können.
  • Doch selbst in den Fällen, in denen dieses Fachwissen erworben wird, ist die Vielfalt und die Art und Weise, wie diese Funktionalität in herkömmlichen Bildverarbeitungssystemen implementiert ist, ineffizient, sowohl im Hinblick darauf, wie Benutzer auf diese Funktionalität zugreifen, als auch auf die zur Unterstützung der Funktionalität verwendeten Rechenressourcen. Betrachten wir ein Beispiel, in dem ein Inhaltsersteller bei der Erstellung eines digitalen Bildes subtile Farbnuancen erfassen möchte. Herkömmlicherweise ist dazu die manuelle Auswahl von RGB-Farbwerten erforderlich, eine zeitaufwändige und mühsame Aufgabe, die zudem zu einem ineffizienten Verbrauch von Rechenressourcen führt, die zur Unterstützung dieser Auswahl und Neuauswahl benötigt werden, um das gewünschte Ergebnis zu erzielen. Infolgedessen verzichten die Ersteller von Inhalten oft auf diese herkömmlichen Techniken, um diese Nuancen zu erfassen, oder sie sind gezwungen, erhebliche Mengen an Ressourcen dafür zu verwenden.
  • Zusammenfassung
  • Es werden Techniken zur Textbearbeitung von digitalen Bildern beschrieben, die von einem Bildbearbeitungssystem implementiert werden und die eine verstärkte Benutzerinteraktion bei der Erstellung und Bearbeitung digitaler Bilder unterstützen, indem sie die Absicht eines Inhalteerstellers, die durch Text ausgedrückt wird, verstehen. In einem Beispiel wird eine textliche Benutzereingabe von einem Texteingabemodul empfangen. Die für digitale Medien Benutzereingabe beschreibt ein visuelles Objekt und ein visuelles Attribut, wobei das visuelle Objekt einen visuellen Kontext des visuellen Attributs angibt, zum Beispiel „üppiger Rasen“. Ein Text-zu-Merkmal-System generiert auf der Basis der textlichen Benutzereingabe mit Hilfe eines Maschinen-Lernen-Moduls eine Merkmalsrepräsentation. Das Text-zu-Merkmal-System generiert die Merkmalsrepräsentation, um visuelle Merkmale zu repräsentieren, die durch den Text hervorgerufen werden, wie zum Beispiel Farbe, Textur, Luminanz und so weiter. Im Falle eines Farbprofils enthält die Merkmalsrepräsentation eine Vielzahl von Farben, die in typischer Weise in der Vorstellung eines Benutzers beim Hören/Lesen der Text-Benutzereingabe entstehen, wie z.B. dunklere Brauntöne für „trockene Blätter“.
  • Die Merkmalsrepräsentation wird dann an das Bildbearbeitungssystem weitergeleitet, um das digitale Objekt im digitalen Bild zu bearbeiten. Zunächst segmentiert das Bildbearbeitungssystem das digitale Objekt aus dem digitalen Bild, um einen Umriss zu bilden, zum Beispiel mit Hilfe von Kantenerkennungsverfahren. Das Bildbearbeitungssystem generiert außerdem einen Farbgradienten aus dem Farbprofil der Merkmalsrepräsentation. Der Farbgradient wird dann an ein Textursystem weitergegeben, um das digitale Objekt innerhalb des digitalen Bildes zu bearbeiten. Das Textursystem verwendet beispielsweise ein maschinelles Lernen-Modell, das als Teil eines generativen gegnerischen bzw. adversen Netzwerks (Generative Adversarial Network, GAN) trainiert wurde, um den Umriss zumindest teilweise auf der Basis des aus der Merkmalsrepräsentation generierten Farbgradienten auszufüllen, der dann zur Anzeige in einer Benutzeroberfläche ausgegeben wird.
  • Diese Zusammenfassung stellt eine Auswahl von Konzepten in vereinfachter Form vor, die weiter unten in der detaillierten Beschreibung beschrieben werden. Als solche ist diese Zusammenfassung nicht dazu bestimmt, wesentliche Merkmale des beanspruchten Gegenstands zu identifizieren, noch soll sie als Hilfe bei der Bestimmung des Bereichs des beanspruchten Gegenstands dienen.
  • Figurenliste
  • Die Patent- oder Anmeldungsakte enthält mindestens eine farbig ausgeführte Zeichnung. Kopien dieser Patent- oder Anmeldeveröffentlichung mit farbiger(n) Zeichnung(en) werden vom Amt auf Antrag und nach Entrichtung der erforderlichen Gebühr zur Verfügung gestellt.
    • 1 zeigt eine Umgebung in einer beispielhaften Implementierung, die geeignet ist, Textbearbeitungsverfahren für digitale Bilder, wie hierin beschrieben, anzuwenden.
    • 2 stellt ein System dar, das die Operation eines Bildverarbeitungssystems von 1 in größerem Detail zeigt, einschließlich einer Pipeline zum Kuratieren eines Trainingsdatensatzes, zum Trainieren eines Modells des maschinellen Lernens auf der Basis des Trainingsdatensatzes, um eine Merkmalsrepräsentation auf der Basis von Text zu generieren, und zum Bearbeiten eines digitalen Objekts in einem digitalen Bild auf der Basis der Merkmalsrepräsentation.
    • 3 zeigt ein System, das die Operation eines Datensatz-Kurationssystems von 2 in größerem Detail darstellt.
    • 4 zeigt ein System in einer beispielhaften Implementierung, wobei das Trainieren eines Modells des maschinellen Lernens unter Verwendung eines generativen adversen Netzwerks (GAN) gezeigt wird.
    • 5 zeigt eine beispielhafte Implementierung, die Merkmalsrepräsentationen zeigt, die für eine entsprechende Benutzer-Texteingabe unter Verwendung des Modells des maschinellen Lernens generiert wurden, das als Teil des GAN von 4 trainiert wurde.
    • 6 zeigt ein System in einer beispielhaften Implementierung, die die Operation eines Farbgradientensystems von 2 in größerem Detail als Generierung eines Farbgradienten aus einem Farbprofil zeigt, das als Teil einer Merkmalsrepräsentation enthalten ist.
    • 7 zeigt ein System in einer beispielhaften Implementierung einer ersten Stufe, welche das Ground Truth Vortraining eines Modells des maschinellen Lernens eines Textursystems aus 2 beinhaltet, um die digitale Bildbearbeitung zu unterstützen.
    • 8 zeigt ein System in einer beispielhaften Implementierung einer zweiten Stufe, die eine externe Textur-Feinabstimmung des Modells des maschinellen Lernens von 7 des Textursystems beinhaltet.
    • 9 zeigt ein System in einer beispielhaften Implementierung, in der ein digitales Objekt eines digitalen Bildes auf der Basis einer Benutzer-Texteingabe unter Verwendung des Text-zu-Merkmal-Systems und des Bildbearbeitungssystems bearbeitet wird, die wie in den 2-8 beschrieben trainiert wurden.
    • 10 ist ein Flussdiagramm, das ein Verfahren in einer beispielhaften Implementierung der Textbearbeitung von digitalen Bildern darstellt.
    • 11 zeigt ein Beispielsystem, das verschiedene Komponenten eines Beispielgeräts enthält, das als jede Art von Computergerät implementiert werden kann, wie es unter Bezugnahme auf 1-10 beschrieben und/oder verwendet wird, um Ausführungsformen der hier beschriebenen Techniken zu implementieren.
  • Die detaillierte Beschreibung wird unter Bezugnahme auf die begleitenden Figuren beschrieben. Die in den Figuren dargestellten Einheiten können für eine oder mehrere Einheiten stehen, und daher kann in der Diskussion austauschbar auf Einzel- oder Pluralformen der Einheiten Bezug genommen werden.
  • Ausführliche Beschreibung
  • Überblick
  • Herkömmliche Techniken, die Inhalteerstellern zur Verfügung gestellt werden, um auf die Funktionalität einer Rechnervorrichtung zur Erstellung und Bearbeitung digitaler Bilder zuzugreifen, beinhalten typischerweise komplexe Interaktionen, die, obwohl sie versuchen, die Fähigkeit zur Erfassung der von den Erstellern beabsichtigten Nuancen zu erhöhen, schwer zu navigieren sind. Daher stoßen Rechnervorrichtungen, die diese herkömmlichen Techniken implementieren, auf Ineffizienzen bei der Bereitstellung dieser Funktionalität für Inhalteersteller und führen zu einem ineffizienten Verbrauch von Rechenressourcen, die zur Unterstützung dieser Funktionalität verwendet werden.
  • Dementsprechend werden digitale Bildtextbearbeitungstechniken beschrieben, die von einem Bildbearbeitungssystem implementiert werden, das eine verstärkte Benutzerinteraktion bei der Erstellung und Bearbeitung digitaler Bilder unterstützt, indem es die Absicht eines Inhalteerstellers versteht, die durch Text ausgedrückt wird. Dabei nutzt das Bildbearbeitungssystem die Kompositionalität und den durch den Text angezeigten Kontext, um Merkmale eines digitalen Bildes zu bearbeiten, zum Beispiel um die Farbe eines digitalen Objekts in einem digitalen Bild zu bearbeiten.
  • Kompositionalität ist die Art der Komponenten, aus denen das digitale Bild besteht. Der Kontext bezieht sich auf digitale Objekte, die einen Brennpunkt umgeben. Durch die Nutzung von Kompositionalität und Kontext, wie sie in Text ausgedrückt werden, gewinnt das Bildbearbeitungssystem ein besseres Verständnis für die Absicht, ein Merkmal, zum Beispiel die Farbe eines digitalen Objekts für ein digitales Bild, zu bearbeiten. Eine Benutzer-Texteingabe kann zum Beispiel eine Struktur einer Attribut-Objekt-Beziehung enthalten, zum Beispiel „rohe Mango“, „rostiges Auto“ usw. Das Objekt definiert einen Kontext für das Attribut und bestimmt somit die ausgedrückten Merkmale. So unterscheiden sich beispielsweise Farben, die für „scharfe Paprika“ stehen, von Farben, die für „heiße Sonne“ stehen. Das Verständnis der Rolle, die die Attribute (zum Beispiel Adjektive) für die zugehörigen Objekte im Text spielen, unterstützt somit die Fähigkeit des Bildverarbeitungssystems, nützliche Merkmale für nachgelagerte Bildbearbeitungsaufgaben abzuleiten. Darüber hinaus können Zusammensetzung und Kontext auch genutzt werden, um das Wissen aus bekannten visuellen Merkmalen zu erweitern und auf zuvor nicht gesehene visuelle Merkmale zu lernen und zu verallgemeinern. Zum Beispiel kann ein Bildbearbeitungssystem, das gelernte Merkmale aufweist, die an digitalen Objekten wie „Flasche“ und „Auto“ und dem Konzept „metallisches Auto“ beteiligt sind, verwendet werden, um eine Merkmalsrepräsentation visueller Merkmale eines zuvor nie gesehenen Konzepts „metallische Flasche“ vorherzusagen.
  • In einem Beispiel, in dem das Merkmal des zu bearbeitenden digitalen Bildes die Farbe ist, kuratiert das Bildbearbeitungssystem zunächst einen Datensatz von digitalen Bildern, die zum Trainieren eines Modells mit Hilfe von maschinellem Lernen verwendet werden. Die Bildbearbeitung beginnt mit dem Sammeln von Bigrammen, zum Beispiel als Liste jeder zusammenhängenden Folge von zwei Wörtern, die in einem Textkorpus vorhanden sind. Anschließend werden von der Bildbearbeitung Attribut-Objekt-Paare gebildet, bei denen ein erstes Wort ein Attribut (zum Beispiel Adjektiv) und ein zweites Wort ein Objekt (zum Beispiel Substantiv) bezeichnet. Das System führt eine Filterung durch, um Paare zu entfernen, die nicht auf das Merkmal hinweisen, zum Beispiel um „Epithelzellen“ zu entfernen, das keine für das Merkmal „Farbe“ relevante Absicht ausdrückt. Die gefilterten Paare werden dann als Suchanfrage verwendet, um eine Bildsuche in digitalen Bildern durchzuführen. Das Ergebnis der Bildsuche umfasst digitale Trainingsbilder. Trainingstext wird aus den Textabfragen gebildet, die zur Durchführung der Bildsuche nach Trainingstext verwendet werden. Aus den Trainingsdigitalbildern werden Trainings-Merkmalsrepräsentationen gebildet, z.B. als Farbprofile.
  • Ein Modell wird dann vom Bildbearbeitungssystem mit Hilfe von maschinellem Lernen trainiert, um eine Merkmalsrepräsentation zu generieren, die ausschließlich auf einer Benutzer-Texteingabe basiert. In Fortsetzung des obigen Farbbeispiels enthält die Merkmalsrepräsentation Farben, die zur Repräsentation des Attribut-Objekt-Paares verwendet werden, zum Beispiel „reife Mango“, „scharfe Paprika“ usw. In einem Beispiel implementiert das Bildbearbeitungssystem ein generatives adverses Netzwerk (GAN), in dem ein Generatormodul ein erstes Maschinen-Lern-Modell (zum Beispiel ein neuronales Netzwerk) enthält, das trainiert wird, um die Merkmalsrepräsentation aus dem Trainingstext zu lernen. Das GAN enthält auch ein Diskriminatormodul mit einem zweiten Maschinen-Lernen-Modell (z.B. neuronales Netz), das die vom ersten Modell generierten Kandidaten-Merkmalsrepräsentationen als „echt“ oder „unecht“ klassifiziert, um das Generatormodul, d.h. das erste Modell, zu trainieren.
  • Während des Trainings akzeptiert das Generatormodul als Eingabe den Trainingstext, der verwendet wird, um die jeweiligen digitalen Trainingsbilder zu lokalisieren, wie oben beschrieben, und der verwendet wird, um eine Kandidaten-Merkmalsrepräsentation zu generieren. Das Diskriminatormodul akzeptiert als Eingabe die Kandidaten-Merkmalsrepräsentation, die aus dem digitalen Trainingsbild extrahierten Bildmerkmale und die Texteingabe. Auf dieser Basis gibt das Diskriminatormodul eine Punktzahl aus, die zum Teil von der aus den Bildmerkmalen erlernten Bildmodalität abgeleitet wird, um das Lernen des Generatormoduls und insbesondere des ersten Modells zu steuern. Nach dem Training ist das Generatormodul so konfiguriert, dass es eine Merkmalsrepräsentation (zum Beispiel ein Farbprofil) generiert, die ausschließlich auf einer Benutzer-Texteingabe basiert.
  • Betrachten wir ein Beispiel, in dem ein Inhalteersteller ein digitales Objekt betrachtet, das in einer digitalen Bildausgabe in einer Benutzerschnittstelle enthalten ist. Das digitale Objekt in diesem Beispiel ist eine Handtasche mit einer Lederfarbe und -textur, und der Inhalteersteller hat die Aufgabe, unterschiedliche Farben und Texturen für die Handtasche zu erstellen. Anstatt bestimmte RGB-Farben manuell auszuwählen, gibt der Inhalteersteller über die Benutzeroberfläche eine Benutzer-Texteingabe ein, die in knapper Form subtile Variationen von Merkmalen erfasst, die durch die Bearbeitung des digitalen Objekts ausgedrückt werden sollen. Der Inhalteersteller gibt beispielsweise die Benutzer-Texteingabe „reife Mango“ ein, woraufhin das Bildbearbeitungssystem eine Merkmalsrepräsentation der durch den Text hervorgerufenen Farben generiert, indem es das oben beschriebene trainierte Modell verwendet, zum Beispiel als ein Farbprofil. Diese Merkmalsrepräsentation wird dann von dem Bildbearbeitungssystem verwendet, um das digitale Objekt (z.B. die Geldbörse) für die Anzeige in der Benutzerschnittstelle automatisch und ohne weiteren Benutzereingriff in Antwort auf die Benutzer-Texteingabe einzufärben und zu texturieren.
  • Eine Vielzahl von Techniken kann verwendet werden, um die Merkmalsrepräsentation bei der Bearbeitung des digitalen Objekts zu nutzen. Um mit dem obigen Farbbeispiel fortzufahren, enthält eine Merkmalsrepräsentation von „reife Mango“, die von dem Modell durch Maschinen-Lernen generiert wurde, eine Vielzahl von Farben als ein Farbprofil. Das Farbprofil wird als Eingabe für ein Bildbearbeitungssystem bereitgestellt, das aus dem Farbprofil einen Farbgradienten generiert, zum Beispiel durch Filtern, Sortieren und unscharf Machen. Das Bildbearbeitungssystem generiert auch einen Umriss des digitalen Objekts mit Hilfe eines Moduls zur Erzeugung von Umrissen, zum Beispiel unter Verwendung von Kantenerkennungsverfahren.
  • Der Farbgradient, der Umriss und eine Textur werden dann als Eingabe an ein Textursystem des Bildbearbeitungssystems übergeben. Das Textursystem umfasst ein Modell, das durch Maschinen-Lernen trainiert wird (zum Beispiel ein generatives adverses Netzwerk für Texturen), um den Umriss unter Verwendung des Farbgradienten und der Textur zu färben und zu texturieren, um ein bearbeitetes digitales Objekt zu generieren, zum Beispiel die Geldbörse, die so gefärbt und texturiert ist, dass sie das Aussehen einer „reifen Mango“ aufweist. Auf diese Weise nutzt das Bildbearbeitungssystem die Assoziationen zwischen Attributen und Objekten in der Benutzer-Texteingabe, wobei die Objekte einen visuellen Kontext zu den Attributen liefern, die der menschlichen Wahrnehmung eigen sind, um die Effizienz des Benutzers bei der Interaktion mit dem Bildbearbeitungssystem zu verbessern. Obwohl die Farbe in den folgenden Abschnitten als Beispiel für Merkmale beschrieben wird, die gelernt und als Basis für die Bearbeitung eines digitalen Objekts in einem digitalen Bild verwendet werden, wird auch eine Vielzahl anderer visueller Merkmale in Betracht gezogen, wie Textur, Kontrast, Beleuchtung, Leuchtdichte usw.
  • Begriffsbeispiele
  • Eine „Benutzer-Texteingabe“ ist eine Benutzereingabe, die Text enthält. Die Eingabe des Textes kann direkt erfolgen, zum Beispiel über eine Tastatur oder Gesten, oder indirekt, zum Beispiel über Sprache-zu-Text-Techniken.
  • Eine „Merkmalsrepräsentation“ ist eine durch Maschinen-Lernen generierte Kodierung, die ein entsprechendes Merkmal repräsentiert. In einem Beispiel einer Merkmalsrepräsentation von Farbe ist die Merkmalsrepräsentation eine Farbpalette, die Farben beinhaltet, die durch entsprechenden Text hervorgerufen werden, z.B. Braun- und Goldtöne für „trockene Blätter“.
  • Ein „digitales Objekt“ ist eine Sammlung von Pixeln, die innerhalb eines digitalen Bildes definiert sind und ein bestimmtes Objekt darstellen.
  • Ein „Umriss“ ist eine Linie oder eine Menge von Linien, die die Form eines digitalen Objekts innerhalb eines digitalen Bildes umschließt oder anzeigt.
  • Ein „visuelles Attribut“ ist eine visuelle Qualität oder ein Merkmal, das als Charakteristikum oder inhärenter Teil von jemandem oder etwas, zum Beispiel einem entsprechenden visuellen Objekt, angesehen wird. Ein „visuelles Objekt“ definiert einen Kontext für das visuelle Attribut, „Blätter“ als visuelles Objekt für das visuelle Attribut „trocken“.
  • „Kompositionalität“ ist die Art der Komponenten, aus denen das digitale Bild besteht. Zum Beispiel ist Kompositionalität ein Prinzip, dass die Bedeutung eines komplexen Ausdrucks durch die Bedeutung seiner konstituierenden Ausdrücke bestimmt wird.
  • „Kontext“ bezieht sich auf digitale Objekte, die einen Brennpunkt umgeben. Kontext ist ein Rahmen, der das Ereignis umgibt und Ressourcen für dessen angemessene Interpretation bereitstellt.
  • Ein „generatives adverses Netzwerk“ (GAN) ist eine Technik des maschinellen Lernens, bei der ein Generatormodul ein erstes Modell des maschinellen Lernens (zum Beispiel ein neuronales Netzwerk) enthält, das so trainiert wird, dass es die Merkmalsrepräsentation aus dem Trainingstext lernt. Das GAN umfasst auch ein Diskriminatormodul mit einem zweiten Maschinen-Lernen-Modell (z.B. ein neuronales Netz), das die vom ersten Modell generierten Kandidaten-Merkmalsrepräsentationen als „echt“ oder „unecht“ klassifiziert, um das Generatormodul, d.h. das erste Modell, zu trainieren.
  • Ein „Farbgradient“ spezifiziert einen Bereich von positionsabhängigen Farben, die kontinuierlich mit der Position variieren und zum Füllen einer Region, z.B. eines Umrisses, verwendet werden können.
  • Im Folgenden wird eine beispielhafte Umgebung beschrieben, in der die hier beschriebenen Techniken angewendet werden. Es werden auch beispielhafte Verfahren beschrieben, die sowohl in der beispielhaften Umgebung als auch in anderen Umgebungen durchgeführt werden. Folglich ist die Durchführung der Beispielprozeduren nicht auf die beispielhafte Umgebung beschränkt und die beispielhafte Umgebung ist nicht auf die Durchführung der Beispielprozeduren beschränkt.
  • Beispielhafte Umgebung
  • 1 zeigt die beispielhafte Umgebung 100 eines digitalen Mediums in einer beispielhaften Implementierung, die geeignet ist, textuelle Bearbeitungsverfahren für digitale Bilder, wie hier beschrieben, anzuwenden. Die gezeigte Umgebung 100 umfasst ein Dienstanbietersystem 102 und eine Rechnervorrichtung 104, die über ein Netzwerk 106, zum Beispiel das Internet, miteinander kommunikativ gekoppelt sind. Rechnervorrichtungen, die das Dienstanbietersystem 102 und die Rechnervorrichtung 104 implementieren, sind auf verschiedene Weise konfigurierbar.
  • Eine Rechnervorrichtung ist beispielsweise als Desktop-Computer, Laptop-Computer, Mobilvorrichtung (zum Beispiel unter Annahme einer Handheld-Konfiguration wie ein Tablet oder Mobiltelefon, wie gezeigt) und so weiter konfigurierbar. Die Bandbreite der Rechnervorrichtungen reicht also von Geräten mit umfangreichen Speicher- und Prozessorressourcen (zum Beispiel PCs, Spielkonsolen) bis hin zu Geräten mit geringen Ressourcen (zum Beispiel Mobilvorrichtungen), die nur über begrenzte Speicher- und/oder Verarbeitungsressourcen verfügen. Obwohl in einigen Fällen eine einzelne Rechnervorrichtung beschrieben wird, steht eine Rechnervorrichtung auch für eine Vielzahl unterschiedlicher Geräte, wie zum Beispiel mehrere Server, die von einem Unternehmen genutzt werden, um Operationen „über die Cloud“ durchzuführen, wie für das Dienstanbietersystem 102 gezeigt und in Bezug auf 11 ausführlicher beschrieben.
  • Die Rechnervorrichtung 104 zeigt, dass sie ein Kommunikationsmodul 108 enthält, das eine Funktionalität darstellt, die ausgeführt werden kann, um mit dem Dienstanbietersystem 102 über das Netzwerk 106 zu kommunizieren, zum Beispiel als Browser, als netzwerkfähige Anwendung und so weiter. Es wird auch eine Benutzeroberfläche 110 gezeigt, die von einer Anzeigevorrichtung 112 der Rechnervorrichtung 104 wiedergegeben wird. Ein digitales Bild 114, das ein digitales Objekt 116 und eine Benutzer-Texteingabe 118 enthält, wird von dem Kommunikationsmodul 108 über das Netzwerk 106 an ein Bildbearbeitungssystem 120 des Dienstanbietersystems 102 kommuniziert. Das Bildbearbeitungssystem 120 ist so konfiguriert, dass es ein bearbeitetes digitales Bild 122 generiert, das ein bearbeitetes digitales Objekt 124 aufweist, das auf Merkmalen basiert, die der Benutzer-Texteingabe 118 entsprechen. Obwohl die Funktionalität des Bildbearbeitungssystems 120 in diesem Beispiel als entfernt von der Rechnervorrichtung 104 gezeigt wird. Diese Funktionalität ist auch in der Lage, lokal auf der Rechnervorrichtung 104 implementiert zu werden, weiter aufgeteilt auf zusätzliche Systeme, und so weiter.
  • Wie zuvor beschrieben, ist das Bildbearbeitungssystem 120 so konfiguriert, dass es das digitale Objekt 116 in Antwort auf die Benutzer-Texteingabe 118 automatisch und ohne weiteren Benutzereingriff bearbeitet. Zu diesem Zweck setzt das Bildbearbeitungssystem 120 ein Text-zu-Merkmal-System 126 ein, das ein Maschinen-Lernen-Modell 128 aufweist, um eine Merkmalsrepräsentation 130 zu generieren, zum Beispiel von visuellen Merkmalen, die von einem Benutzer gesehen werden können, wenn sie als Teil eines digitalen Bildes dargestellt werden. Die Merkmalsrepräsentation 130 wird als Eingabe an ein Bildbearbeitungssystem 132 weitergeleitet, um das bearbeitete digitale Objekt 124 aus dem digitalen Objekt 116 zu generieren, das in dem digitalen Bild 114 enthalten ist. Die Merkmalsrepräsentation 130 drückt somit visuell aus, was durch die Benutzer-Texteingabe 118 angegeben ist.
  • Im gezeigten Beispiel wird das digitale Objekt 116 in der Benutzeroberfläche 110 in Graustufen 134 dargestellt. Die Benutzer-Texteingabe 118 enthält ein Attribut-Objekt-Paar, wie zum Beispiel „trockene Blätter“. Die Benutzer-Texteingabe 118 wird von dem Text-zu-Merkmal-System 126 verarbeitet, um eine Merkmalsrepräsentation 130 von Farben zu generieren, die durch diesen Text hervorgerufen bzw. evoziert werden, und die als solche die Absicht des Benutzers widerspiegelt, der die Eingabe gemacht hat. Die Merkmalsrepräsentation 130 wird dann von dem Bildbearbeitungssystem 132 verwendet, um das bearbeitete digitale Objekt 124 auf der Basis der Farben zu generieren, die in diesem Beispiel durch die Merkmalsrepräsentation 130 angezeigt werden, was als eine Wiedergabe 136 des bearbeiteten digitalen Objekts 124 gezeigt wird, die Braun- und Goldtöne enthält, wie sie typischerweise in trockenen Blättern vorkommen.
  • Auf diese Weise wird die Benutzer-Texteingabe 118 vom Bildverarbeitungssystem 120 genutzt, um einen Einblick in die Absicht des Benutzers bei der Bearbeitung des digitalen Bildes 114 zu erhalten, zum Beispiel in Form von real-weltlichen Beschreibungen physischer Objekte. Das in der Benutzer-Texteingabe 118 angegebene Objekt (zum Beispiel als Verweis auf ein physisches Objekt in der realen Welt) liefert einen Kontext für das durch die Benutzer-Texteingabe 118 angegebene Attribut. Darüber hinaus kann das durch die Benutzer-Texteingabe 118 angegebene Objekt dem zu bearbeitenden digitalen Objekt entsprechen oder auch nicht, zum Beispiel „Blätter“ in der Benutzer-Texteingabe 118, um einen Kontext für das Attribut „trocken“ zu liefern, das als Basis für die Bearbeitung des digitalen Objekts „Aktenkoffer“ verwendet wird. Dies reduziert den Aufwand des Benutzers bei der Angabe dieser Absicht, indem Intuitionen genutzt werden, die aus Szenarien der realen Welt mit physischen Objekten und Attributen dieser Objekte gewonnen wurden.
  • Das gezeigte Beispiel zeigt, dass die Benutzer-Texteingabe 118 „trockene Blätter“ im Gegensatz zur direkten Angabe einer Farbe (zum Beispiel braun) ein reichhaltiges Bildmaterial enthält und intuitiver ist als „helles Goldbraun“. Solche textuellen Beschreibungen helfen bei der Erfassung subtiler Informationen über das Aussehen von Objekten und erhöhen die Effizienz und Effektivität der Benutzererfahrung. Die Unterstützung dieser Texteingabe-Modalität erweitert nicht nur den Bereich der vom Bildbearbeitungssystem 120 unterstützten Funktionalität (indem sie einen besseren Ausdruck der Absicht ermöglicht), sondern macht diese Funktionalität auch einem breiteren Spektrum potenzieller Benutzer zugänglich, zum Beispiel indem sie kein Spezialwissen erfordert. Obwohl in den folgenden Beispielen Attribut-Objekt-Paare beschrieben werden, sind diese Techniken gleichermaßen auf Phrasen anwendbar, die eine beliebige Länge in der Benutzer-Texteingabe 118 aufweisen.
  • Im Allgemeinen können Funktionalitäten, Merkmale und Konzepte, die in Bezug auf die obigen und nachfolgenden Beispiele beschrieben wurden, im Zusammenhang mit den in diesem Abschnitt beschriebenen Beispielverfahren verwendet werden. Darüber hinaus können Funktionalitäten, Merkmale und Konzepte, die in Bezug auf unterschiedliche Figuren und Beispiele in diesem Dokument beschrieben werden, untereinander ausgetauscht werden und sind nicht auf die Implementierung im Zusammenhang mit einer bestimmten Figur oder einem bestimmten Verfahren beschränkt. Darüber hinaus können Blöcke, die mit unterschiedlichen repräsentativen Verfahren und entsprechenden Figuren in diesem Dokument assoziiert sind, zusammen angewendet und/oder auf unterschiedliche Weise kombiniert werden. Daher können die einzelnen Funktionalitäten, Merkmale und Konzepte, die in Bezug auf unterschiedliche beispielhafte Umgebungen, Geräte, Komponenten, Figuren und Verfahren beschrieben werden, in allen geeigneten Kombinationen verwendet werden und sind nicht auf die besonderen Kombinationen beschränkt, die durch die aufgezählten Beispiele in dieser Beschreibung dargestellt werden.
  • Textuelle Bearbeitung von digitalen Bildern
  • 2 zeigt ein System 200, das die Operation des Bildverarbeitungssystems 120 von 1 detaillierter darstellt, einschließlich einer Pipeline zum Kuratieren eines Trainingsdatensatzes, zum Trainieren eines Modells des maschinellen Lernens auf der Basis des Trainingsdatensatzes, um eine Merkmalsrepräsentation auf der Basis von Text zu generieren, und zum Bearbeiten eines digitalen Objekts in einem digitalen Bild auf der Basis der Merkmalsrepräsentation. Die Pipeline in diesem Beispiel beginnt mit einem System 202 zur Kuratierung von Datensätzen, das so konfiguriert ist, dass es einen Trainingsdatensatz mit Trainings-Merkmalsrepräsentationen 204 und assoziiertem Trainingstext 206 generiert. Die Trainings-Merkmalsrepräsentationen 204 werden aus digitalen Bildern generiert, die so kuratiert wurden, dass sie visuelle Merkmale widerspiegeln, die durch den Trainingstext ausgedrückt werden, zum Beispiel Farbe, visuelle Effekte und so weiter. Eine weitere Diskussion der Operation des Datensatz-Kurationssystems 202 wird in Bezug auf 3 beschrieben.
  • Die Trainings-Merkmalsrepräsentationen 204 und der Trainingstext 206 werden als Eingabe an das Text-zu-Merkmal-System 126 weitergeleitet, um das Maschinen-Lernen-Modul 128 als Teil eines Text-zu-Merkmal-Kodiersystems 208 zu trainieren und die Merkmalsrepräsentation 130 zu generieren. In einem Beispiel, in dem das Merkmal eine Farbe ist, wird das Maschinen-Lernen-Modell 128 so trainiert, dass es die Merkmalsrepräsentation 130 als ein Farbprofil 210 (zum Beispiel ein Farbhistogramm) generiert, das Farben darstellt, die durch eine Benutzer-Texteingabe 118 evoziert werden. Eine weitere Diskussion der Operation des Text-zu-Merkmal-Systems 126 beim Trainieren des Modells des maschinellen Lernens 128 als Teil eines generativen adversen Netzwerks (GAN) wird in Bezug auf 4 beschrieben, und Beispiele von Merkmalsrepräsentationen, die als Farbprofile für assoziierten Text konfiguriert sind, werden in 5 dargestellt.
  • Die Merkmalsrepräsentation wird dann an ein Bildbearbeitungssystem 132 weitergeleitet. Das Bildbearbeitungssystem 132 verwendet einen auf Heuristiken basierenden Ansatz, der durch ein Farbgradientensystem 212 dargestellt wird. Das Farbgradientensystem 212 ist so konfiguriert, dass es einen Farbgradienten 214 aus dem Farbprofil 210 der Merkmalsrepräsentation 130 extrahiert, was in Bezug auf 6 gezeigt und näher beschrieben wird. Der Farbgradient 214 wird dann als Eingabe für ein Textursystem 216 bereitgestellt, das ein Maschinen-Lernen-Modell 218 (z.B. trainiert als Teil eines Textur-GAN) einsetzt, um das bearbeitete digitale Bild 122 und das digitale Objekt 124 basierend auf einer Benutzer-Texteingabe 118 zu generieren. Eine weitere Diskussion der Operation des Textursystems 216 beim Trainieren des Maschinen-Lern-Modells 218 als Teil eines generativen adversen Netzwerks (GAN) wird in Bezug auf die 7 und 8 beschrieben. Eine weitere Diskussion der Operation des Textursystems 216 bei der Verwendung des trainierten Modells des maschinellen Lernens 218 als Teil der Textbearbeitungspipeline wird in Bezug auf die 9 und 10 dargestellt und beschrieben.
  • Merkmalsrepräsentationen
  • 3 zeigt ein System 300, das die Operation des Datensatz-Kurationssystems 202 von 2 in größerem Detail darstellt. Das System 202 zur Kuratierung von Datensätzen ist so konfiguriert, dass es einen Trainingsdatensatz mit Trainingsmerkmalen 204 und Trainingstext 206 generiert, um das Maschinen-Lernen bei der Erstellung von Farbprofilen auf der Basis von Text zu unterstützen. In einem Beispiel wird der Trainingsdatensatz generiert, um eine reichhaltige und vielfältige Menge von Textphrasen zu unterstützen, wie z.B. Attribut-Objekt-Paare, die nicht auf triviale Farberwähnungen beschränkt sind, die direkt auf Farbe hinweisen (z.B. „roter Schal“), sondern auch implizite Indikatoren wie „Preiselbeersaft“ enthalten, die nicht direkt auf Farbe hinweisen.
  • Zu diesem Zweck ist ein Bigram-Sammelmodul 302 so konfiguriert, dass es Bigramme 304 aus einem Textkorpus generiert. Die Bigramme 304 werden als eine Liste jeder zusammenhängenden Folge von zwei Wörtern im Textkorpus zusammen mit einem entsprechenden Häufigkeitswert gebildet. Anhand des Häufigkeitswertes wird dann ausgewählt, welche Bigramme 304 an ein Modul zur Generierung von Attribut-Objekt-Paaren 306 als Eingabe übergeben werden. Beispiele für Bigramme sind „roter Apfel“, „elektrische Felder“, „Fußball spielen“, „helle Sonne“, „Epithelzellen“, „das Gebäude“ und „sehr groß“.
  • Das Modul 306 zur Generierung von Attribut-Objekt-Paaren wird vom System 202 zur Kuratierung von Datensätzen verwendet, um Attribut-Objekt-Paare 308 auf der Basis des linguistischen Typs des in den Bigrammen 304 enthaltenen Textes zu generieren. Beispielsweise werden die Attribut-Objekt-Paare 308 aus den Bigrammen 304 so gebildet, dass ein erstes Wort das Attribut (zum Beispiel Adjektiv) und ein zweites Wort das Objekt (zum Beispiel Substantiv) ist. In Fortsetzung des vorherigen Beispiels ergibt dies „roter Apfel“, „elektrische Felder“, „helle Sonne“ und „Epithelzellen“ als Attribut-Objekt-Paare 308.
  • Ein Paar-Filter-Modul 310 wird verwendet, um die Attribut-Objekt-Paare 308 zu filtern, um eine Menge von gefilterten Paaren 312 zu generieren, die sich auf das Merkmal beziehen, für das das Maschinen-Lernen-Modell 128 trainiert werden soll, z.B. Farbe. Dazu werden in einem Beispiel die Attribut-Objekt-Paare 308 als bipartiter Graph zwischen Attributen und Objekten modelliert. Die Hopping-Logik wird dann verwendet, um relevante Paare auszuwählen. Die Hopping-Logik wird zum Beispiel vom Paarfiltermodul 310 implementiert, um mit einer Menge von Merkmalen (zum Beispiel Farben) als Attributen zu beginnen und eine Liste von Objekten (oder Attributen) auf der Basis der Häufigkeit des Auftretens der jeweiligen Attribute (oder Objekte) zu erweitern. Wiederum mit dem vorherigen Beispiel fortfahrend, ergibt das Filtern der Attribut-Objekt-Paare 308 „roter Apfel“ und „helle Sonne“ als die gefilterten Paare 312.
  • Die gefilterten Paare 312 werden dann als Eingabe für ein Suchmodul 314 bereitgestellt. Das Suchmodul 314 ist so konfiguriert, dass es auf Basis der jeweiligen gefilterten Paare eine Suchanfrage generiert. So wird beispielsweise eine erste Suchabfrage für „roter Apfel“ generiert, eine zweite Suchabfrage für „helle Sonne“ und so weiter. Die Suchanfrage wird von einem Bildsuchsystem 316 als Basis verwendet, um ein Repositorium an digitalen Bildern 318 zu durchsuchen, die in einem Speichergerät 320 aufbewahrt werden. Ein Ergebnis der Bildsuche wird dann verwendet, um eine Menge von digitalen Trainingsbildern 322 für jedes entsprechende gefilterte Paar 312 zu bilden. Der Trainingstext 206 ist die Suchanfrage (das heißt, das gefilterte Paar), die zur Durchführung der Bildsuche verwendet wird. Obwohl das Bildsuchsystem 316 als getrennt vom Datensatzkurationssystem 202 implementiert und über ein Netzwerk 106 zugänglich gezeigt wird, ist diese Funktionalität auch lokal durch das Datensatzkurationssystem 202 implementierbar.
  • Die digitalen Trainingsbilder 322 werden dann von einem Trainingsmerkmal-Generierungsmodul 324 verarbeitet, um die Trainingsmerkmal-Repräsentation 204 und den assoziierten Trainingstext 206 zu generieren. Als Teil davon wird eine Farbhistogramm-Repräsentation für jedes der digitalen Trainingsbilder 322 durch das Trainingsmerkmal-Generierungsmodul 324 erhalten. Jeder Balken im Histogramm ist proportional zu einem Anteil von Pixeln, die zu einem durch diesen Balken repräsentierten Farbbereich gehören, zum Beispiel in einem Lab-Farbraum eine Dimension „L“ für Helligkeit und „a“ und „b“ für Farbdimensionen aufweisen. Da Abstände in einem Lab-Farbraum auf visuell wahrgenommene Veränderungen hinweisen, wird der Lab-Farbraum gleichmäßig auf drei Kanäle aufgeteilt, um Farbbereiche zu erzeugen.
  • Das Modul 324 zur Generierung von Trainingsmerkmalen ist dann so konfiguriert, dass es die Histogramme mit unterschiedlichen Diskretisierungsgraden miteinander verkettet. Beispielsweise ergeben zwei Histogramme, die mit einer Anzahl von Bins entlang der Achsen [L, a, b] wie [9, 7, 8] und [10, 10, 10] kombiniert werden, eine endgültige ausgerollte Histogrammlänge von 9*7*8 + 10*10*10 = 1504. Dies wird durchgeführt, um Mehrdeutigkeit zu vermeiden, die durch unterschiedliche Bin-Größen entlang der [L, a, b]-Kanäle entsteht.
  • Zusätzlich zur Verwendung eines wahrnehmungsmäßig einheitlichen Farbraums wird vom Modul 324 zur Generierung von Trainingsmerkmalen eine Abstandsfunktion zwischen diesen Histogrammen verwendet, um Unterschiede zu erfassen, die in Bezug auf das menschliche Farbsehen wahrgenommen werden. Es wurde festgestellt, dass die Berechnung eines „L2“-Abstands zwischen Quadratwurzel-Histogrammen der Berechnung eines Hellinger-Kerns zwischen den beiden Histogrammen entspricht. Daher sind die Abstandsfunktion und die Transformation der „L2“-Abstand bzw. die Quadratwurzelfunktion. Dies bedeutet, dass für das transformierte Histogramm der Wert in jedem Bin gleich der Quadratwurzel des Anteils der in diesem Bin vorkommenden Pixel ist. Um die Interpretation zu erleichtern, werden dann repräsentative Farbprofile aus den Histogrammen durch das Modul 324 zur Generierung von Trainingsmerkmalen extrahiert, indem ähnliche Farbtöne in Gruppen zusammengefasst werden und periodisch Stichproben aus dem resultierenden Histogramm gezogen werden. Dies führt zu einer vielfältigen Zusammenfassung, die Schattierungen von Farben erfasst, die im ursprünglichen Histogramm dargestellt sind.
  • Die oben erwähnten Farbprofile (zum Beispiel Farbpaletten) geben jedem der Pixel in den digitalen Trainingsbildern 322 eine einheitliche Bedeutung. In Abhängigkeit von der Abfrage sind jedoch bestimmte Teile der digitalen Trainingsbilder 322 für den Trainingstext 206 relevant, während andere Teile nicht relevant sind. Daher ist in einer Implementierung das Modul 324 zur Erzeugung von Trainingsmerkmalen so konfiguriert, dass es Abschnitte der digitalen Trainingsbilder 322 identifiziert, die für den Trainingstext 206, d.h. die Suchanfrage, von Bedeutung sind, und diese Abschnitte als Basis verwendet, um die Trainings-Merkmalsrepräsentationen 204 zu generieren.
  • Zu diesem Zweck wird ein auf einem Konvolutions-Neuronalen Netzwerk („convolutional neural network“, CNN) basierendes Klassifizierungsmodell vom Modul 324 zur Generierung von Trainingsmerkmalen verwendet, das intern visuelle Aufmerksamkeit nutzt, um sich auf Teile der digitalen Trainingsbilder 322 zu konzentrieren. Das Modell nimmt die digitalen Trainingsbilder 322 als Eingabe und sagt das Attribut und das Objekt voraus, während es gleichzeitig eine Aufmerksamkeitskarte über die Gesamtheit der digitalen Trainingsbilder 322 lernt. Normalisierte Aufmerksamkeitsgewichte werden auch verwendet, um unterschiedliche Relevanzgrade von Pixeln für den Trainingstext 206 festzulegen. Durch die Fokussierung auf einen hervorstechenden Abschnitt eines digitalen Trainingsbildes 322 für den Trainingstext 206 „blondes Haar“ ergibt die Trainings-Merkmalsrepräsentation 204 beispielsweise ein Farbprofil mit Spitzenwerten in Richtung blond und ignoriert Abschnitte der digitalen Trainingsbilder 322 des Hintergrunds, unabhängig von der Farbe. Die Trainings-Merkmalsrepräsentation 204 und der Trainingstext 206 werden dann als Eingabe für ein Text-zu-Merkmal-System 126 bereitgestellt, um ein Maschinen-Lern-Modell 128 zu trainieren, das weiter unten ausführlicher beschrieben wird.
  • 4 zeigt ein System 400 in einer beispielhaften Implementierung, die das Training des Modells des maschinellen Lernens 128 durch ein Maschinen-Lernen-Modul 402 unter Verwendung eines generativen adversen Netzwerks (GAN) 404 zeigt. Das Maschinen-Lernen-Modul 402 implementiert einen generativen adversen Ansatz unter Verwendung des in 3 generierten Trainingsdatensatzes, um Merkmalsrepräsentationen zu generieren, indem es die Konzepte der Kompositionalität und des Kontexts nutzt.
  • Im gezeigten GAN 404 implementiert das Generatormodul 406 das Maschinen-Lernen-Modell 128 als ein neuronales Netz, das die Aufgabe hat, plausible Kandidaten-Merkmalsrepräsentationen 408, z.B. Farbprofile 410, zu generieren, die durch eine Texteinbettung bedingt sind. Das Diskriminatormodul 412 hat die Aufgabe, zwischen „echten“ Farbprofilen (d.h. den Trainingsmerkmalen 204) und „gefälschten“ Profilen aus dem Generatormodul 406, d.h. der Kandidaten-Merkmalsrepräsentation 408, zu unterscheiden. Auf diese Weise versucht das Generatormodul 406, das Diskriminatormodul 412 zu täuschen, während das Diskriminatormodul 412 versucht, diesen Prüfprozess zu umgehen, was zu einer Art Kampf zwischen den beiden neuronalen Netzen führt.
  • Die Generierung der Kandidaten-Merkmalsrepräsentation 408 zur Repräsentation visueller Merkmale ausschließlich aus Text ist eine Herausforderung, da die Wahrnehmung visueller Merkmale wie zum Beispiel Farbe natürlich im visuellen Bereich verwurzelt ist. Um diese Herausforderung zu bewältigen, wird ein multimodaler Ansatz vom Maschinen-Lernen-Modul 402 verwendet, um Kandidaten-Merkmalsrepräsentationen 408, zum Beispiel Farbprofile, zu lernen, wobei die Bildmodalität nur vom Diskriminatormodul 412 und nicht vom Generator-Modul 406 verwendet wird.
  • Daher sind die Trainingstexte 206 als Texteinbettungen die einzige Eingabe in das Generatormodul 408 im gezeigten Beispiel. Die Eingabe in das Diskriminatormodul 412 umfasst dagegen (1) den Trainingstext 206 als Texteinbettungen, (2) die vom Generatormodul 406 ausgegebene Kandidaten-Merkmalsrepräsentation 408 (z.B. Farbprofil 410) und (3) die von einem Aufmerksamkeitsmodul 418 berechneten Bildmerkmale 416, z.B. unter Verwendung eines vorab trainierten ResNet-Modells. Das Diskriminatormodul 412 gibt ein Signal 414 (z.B. eine Bewertung) aus, um das Lernen des Generatormoduls 406 zu leiten, das zum Teil von der Bildmodalität abgeleitet ist, wie sie in den Bildmerkmalen 416 ausgedrückt wird.
  • In einer Implementierung werden aufgabenbezogene Verbindungen auch vom Generatormodul 406 verwendet, um die Textmodalitätskonditionierung zu verbessern. Dies geschieht, indem eine Texteinbettung des Trainingstextes 206 in verschiedene Stufen/Schichten des Modells des maschinellen Lernens 128 injiziert wird, wodurch Zwischenschichten des Modells des maschinellen Lernens 128 auf die initiale Aufgabe aufmerksam gemacht werden. Die Texteinbettung ist eine trainierbare Einbettungsmatrix, die durch Handschuh-Worteinbettungen initialisiert wird. Unterschiedliche Einbettungsmatrizen für Attribute und Substantive ermöglichen es dem Maschinen-Lernen Modell 128, Kompositionalität in (Attribut, Objekt) Paaren zu lernen. Dies geschieht, um die Intuition zu erfassen, dass ein und dasselbe Textelement (d.h. ein Wort) abhängig von seinem Part-of-Speech (POS)-Tag mehrfach interpretiert werden kann.
  • Das GAN 404 wird mit der Trainingsmerkmal 204 (z.B. als aufmerksamkeitsgewichtete Farbprofile) trainiert, die in Bezug auf 3 beschrieben sind. Es wird ein alternierendes Trainingsschema verwendet, bei dem das Diskriminatormodul 412 für eine Anzahl von Iterationen (z.B. zehn Epochen) trainiert wird, gefolgt vom Training des Generatormoduls 406 für eine Anzahl von Iterationen, z.B. zehn Epochen. Dieses alternierende Trainingsschema dient der Stabilisierung des Lernens, da das Diskriminatormodul 412 und das Generatormodul 406 jeweils genügend Iterationen erhalten, um reibungslos trainieren zu können, bevor ihre gegnerische Kombination an Leistung gewinnt.
  • Eine Vielzahl von Verlustfunktionen kann vom GAN 404 als Teil des Trainings verwendet werden. In einem Beispiel wird eine modifizierte Version einer Kleinste Quadrate GAN (LSGAN) Zielfunktion wie folgt verwendet: min V L S G A N ( D ) = 1 2 E x ~ p d a t a ( x ) [ ( D ( x ) 1 ) 2 ] + 1 2 E z ~ p z ( z ) [ ( D ( G ( z ) ) ) 2 ] min V L S G A N ( G ) = 1 2 E z ~ p z ( z ) [ ( D ( G ( z ) ) 1 ) 2 ]
    Figure DE102021004260A1_0001
    Hier steht „D(x)“ für das Signal 414 (das heißt, die ausgegebene Bewertung) des Diskriminatormoduls 412 bei der Übermittlung des echten Farbprofils, zusammen mit der Texteinbettung des Paares (Attribut, Objekt) aus dem Trainingstext 206 und den Bildmerkmalen 416. „D(G(z))“ steht für die ausgegebene Bewertung des Diskriminatormoduls 412 bei der Übermittlung der Repräsentation der Kandidaten-Merkmalsrepräsentation 408 (zum Beispiel das vom Generatormodul 406 generierten Farbprofil), der Texteinbettung des Paares (Attribut, Objekt) aus dem Trainingstext 206 und der Bildmerkmale 416.
  • So trainiert das Generatormodul 406 das Maschinen-Lernen-Modul 128, um eine Bewertung des Signals 414 zu maximieren, das von dem Diskriminatormodell 412 dessen Kandidaten-Merkmalsrepräsentation 408 gegeben wird. Das Diskriminatormodul 412 trainiert andererseits, die Bewertung der „falschen“ Kandidaten-Merkmalsrepräsentationen 408 zu minimieren und die Bewertung des Signals 414 zu maximieren, das den „echten“ Trainings-Merkmalsrepräsentationen 204 gegeben wird.
  • Diese Zielfunktion kann weiter modifiziert werden, indem der quadrierten L2-Norm zwischen den Kandidaten-Merkmalsrepräsentationen 408 und den Trainingsmerkmalsrepräsentationen 204 in der Verlustfunktion 406 des Generatormoduls ein zusätzliches Gewicht gegeben wird. Die finale Zielfunktion für das Generatormodul 406 lautet also: min V L S G A N ( G ) = 1 2 E z ~ p z ( z ) [ ( D ( G ( z ) ) 1 ) 2 ] + λ m ( G ( z ) x ) 2
    Figure DE102021004260A1_0002
    wobei m eine Länge des Farbprofils x ist, d.h. m = 1504, und λ ein Regularisierungs-Hyperparameter ist, dessen Wert nach Experimenten auf 1000 festgelegt wurde. Die Hinzufügung der L+-Distanz separat in der Zielfunktion des Generatormoduls hilft bei der Bekämpfung des Modus-Zusammenbruchs (der häufig beim Training von GANs auftritt) und stabilisiert das Training.
  • 5 zeigt eine beispielhafte Implementierung 500, die Merkmalsrepräsentationen 130 zeigt, die für eine entsprechende Benutzer-Texteingabe 118 unter Verwendung des Modells des maschinellen Lernens 128 generiert wurden, das als Teil des GAN 404 von 4 trainiert wurde. Die Merkmalsrepräsentationen 130 werden in diesem Beispiel als Farbprofile gezeigt. In der linken Spalte zeigen die Merkmalsrepräsentationen eine Fähigkeit des Maschinen-Lernen-Moduls 128, den Kontext zu berücksichtigen. Zum Beispiel weist das Attribut „heiß“ unterschiedliche Auswirkungen auf, wenn es unterschiedliche Objekte wie „Sonne“, „Pfeffer“ und „Kaffee“ verändert. Das Maschinen-Lernen-Modell 128 berücksichtigt auch den Begriff der Zusammensetzung, zum Beispiel sind „junge Blätter“ reich an grüner Farbe, während „gefallene Blätter“ gut im braun-roten Spektrum dargestellt werden und „Zitrusfruchtblätter“ gelblich sind.
  • Das Maschinen-Lernen-Modell 128 lernt auch sinnvolle Farbrepräsentationen für zuvor nicht gesehene Kombinationen von (Attribut-, Objekt-) Paaren. Für „Altgold“, „Karmesinsamt“ und „Mandarinenorange“ erfassen die generierten Farbprofile in angemessener Weise die Semantik der Abfragen. Dies zeigt, dass das Maschinen-Lernen-Modell 128 effektiv aus dem Stand lernt. Ein weiteres interessantes Verhalten ist die Fähigkeit des Maschinen-Lern-Modells 128, mehrere Farben hervorzuheben. Für die Abfrage „helle Sonne“ hat das Maschinen-Lernen-Modell 128 gelernt, dass an einem hellen Tag eine goldgelbe Sonne vor einem blauen Himmel zu sehen ist. In ähnlicher Weise hat das Maschinen-Lern-Modell 128 für die Suchanfragen „Orangenbaum“ und „Korallenmaterial“ gelernt, deren unterschiedliche Natur darzustellen, wie gezeigt. Nachdem ein Beispiel für das Training und die Verwendung des Maschinen-Lern-Modells 128 zur Generierung einer Merkmalsrepräsentation 130 auf der Basis einer Benutzer-Texteingabe 118 beschrieben wurde, wird im Folgenden die Verwendung dieser Merkmalsrepräsentation 130 bei der Bearbeitung eines digitalen Bildes 114 erörtert, zum Beispiel zur Bearbeitung eines digitalen Objekts 116, das in dem digitalen Bild 114 enthalten ist.
  • Digitale Bildbearbeitung
  • 6 zeigt ein System 600 in einer beispielhaften Implementierung, die die Operation des Farbgradientensystems 212 von 2 detaillierter darstellt, indem ein Farbgradient 214 aus einem Farbprofil 210 generiert wird, das als Teil einer Merkmalsrepräsentation 130 enthalten ist. Wie oben beschrieben, wird Text zur Unterstützung einer effektiven Benutzeroberfläche verwendet, um subtile Variationen bei der Erstellung und Bearbeitung digitaler Bilder zu erfassen. Die Assoziierung von Erscheinungen mit den Objekten, mit denen der Benutzer im Alltag konfrontiert ist, ist der menschlichen Wahrnehmung angeboren. Daher liegt es nahe, das Zielobjekt selbst zu spezifizieren, um subtile Designänderungen und damit Kontext auf Attribute anzuwenden. Wenn ein Inhalteersteller beispielsweise angeben kann, dass eine Handtasche wie ein „üppiger Rasen“ aussehen soll, erhöht dies die Effizienz und erfasst Nuancen, die durch die manuelle Auswahl verschiedener Grüntöne nur schwer zu erreichen sind. In der folgenden Diskussion wird diese Funktionalität genutzt, um die Verwendung von Text als „Filter“ für eine verbesserte digitale Bildbearbeitung zu unterstützen.
  • Wie in Bezug auf die Pipeline in den und beschrieben, wird eine Benutzer-Texteingabe 118, die ein interessierendes Attribut- und Objektpaar beschreibt, in unser Text-zu-Merkmal-Kodiersystem 208 eingegeben (zum Beispiel als getippter Text, gesprochene Äußerung und anschließende Verwendung der Sprache-zu-Text Funktionalität), um eine Merkmalsrepräsentation 140 zu generieren, zum Beispiel ein Farbprofil 210 in Form eines Histogramms. In diesem Beispiel wendet das Farbgradientensystem 212 einen heuristischen Ansatz an, um das Farbprofil 210 in einen Farbgradienten 214 (zum Beispiel als Patch) umzuwandeln, der auf das zu bearbeitende digitale Objekt 116 in dem digitalen Bild 114 angewendet werden soll. Dies erfolgt durch Erstellen eines Umrisses des digitalen Objekts 116 (zum Beispiel eine Skizze unter Verwendung von Kantenerkennungsverfahren) und anschließendes Übertragen des Farbgradienten 214 auf den Umriss unter Verwendung eines Textursystems 216, wie in Bezug auf die 8-10 näher beschrieben.
  • Das Farbgradientensystem 212 beginnt in dem gezeigten Beispiel von 6 mit der „Quadratur“ des Farbprofils 210, z.B. so, dass die Höhen der Farben oder der jeweiligen Farb-Bins proportional zu einem Anteil der Pixel sind, die zu diesem Farb-Bin gehören. Farben, die „zu dunkel“ oder „zu hell“ sind, werden ebenfalls gefiltert, um helle Farben beizubehalten und das gefilterte Farbprofil 604 zu bilden. Dies geschieht mit Hilfe einer Schwellenwerttechnik auf der Basis von Sättigungs- und Helligkeitswerten im HSV-Farbraum durch das Filtermodul 602.
  • Das gefilterte Farbprofil 604 wird dann als Eingabe für ein Farbsortiermodul 606 bereitgestellt. Das Farbsortiermodul 606 ist so konfiguriert, dass es sortierte Farben 608 als eine Anordnung von Farb-Bins auf der Basis der jeweiligen Abstände in einem Lab-Raum generiert. Dies wird vom Farbsortiermodul 606 durchgeführt, um einen relativ sanften Übergang zwischen benachbarten Farben zu erreichen, das heißt, benachbarte Farben unterscheiden sich in der visuellen Wahrnehmung nur minimal. Im gezeigten Beispiel wird eine Ankerfarbe als „Schwarz“ festgelegt, und die Abstände aller anderen Farben im gefilterten Farbprofil 604 werden anhand dieses Ankers berechnet. Der Lab-Raum wird verwendet, um visuell wahrnehmbare Abstände in Form von euklidischen Abständen zu erfassen, die als Schlüssel zum Sortieren der Farbbehälter innerhalb der sortierten Farben 608 verwendet werden.
  • Die sortierten Farben 608 werden dann als Eingabe für ein Unschärfemodul 610 bereitgestellt, um den Farbgradienten 214 zu generieren. Die sortierten Farben 608 werden beispielsweise zunächst verwendet, um ein Feld zu bilden, in dem ein Anteil jeder Farbe nach Höhe gewichtet ist. Auf das Feld wird eine Gaußsche Unschärfefunktion angewendet, um einen weichen Farbgradienten zu erzielen. Der Farbgradient 214 wird dann von dem Farbgradientensystem 212 an ein Textursystem 216 ausgegeben, wie in 2 gezeigt, um das digitale Objekt 116 in der digitalen 114 zu bearbeiten, worauf in der folgenden Beschreibung näher eingegangen wird.
  • In Fortsetzung der vorherigen farbbasierten Beispiele von Merkmalen, die zur Bearbeitung von Bildern verwendet werden, zeigt das Textursystem 216 in der folgenden Diskussion die Verwendung von Farben, die aus Text generiert werden, zusammen mit Textur, um digitale Bilder zu bearbeiten. Eine Trainings-Pipeline, die verwendet wird, um ein Maschinen-Lernen-Modell 702 zu trainieren, das von dem Textursystem 216 verwendet wird, um das digitale Bild zu bearbeiten, umfasst zwei Phasen. 7 zeigt ein System 700 in einer beispielhaften Implementierung einer ersten Phase, die das Ground Truth Vortraining eines Maschinen-Lern-Modells 702 eines Textursystems 216 umfasst, um die Bearbeitung digitaler Bilder zu unterstützen. 8 zeigt ein System 800 in einer beispielhaften Implementierung einer zweiten Phase, die eine externe Textur-Feinabstimmung des Maschinen-Lern-Modells 702 von 7 des Textursystems 216 beinhaltet.
  • In der ersten Phase von 7 wird das Maschinen-Lernen-Modell 702 als Teil eines Generatormoduls 704 eines GAN vortrainiert, um ein digitales Grundwahrheitsbild 706 als ein digitales Kandidatenbild 708 aus synthetisch abgetasteten Eingaben eines Eingabetexturfeldes 710 zu reproduzieren. Die Zielfunktion in dieser Phase ist eine Kombination aus mehreren Verlusten, von denen jeder so ausgelegt ist, dass er sich auf unterschiedliche Aspekte des digitalen Ground Truth Bildes 706 konzentriert. Die Komponente der Merkmalsverluste LF 712 leitet das vom Maschinen-Lernen-Modell 702 generierte digitale Kandidatenbild 708 dazu an, den Objektstrukturen locker zu folgen, die durch einen Umriss 714 spezifiziert sind, der von einem Umrisserzeugungsmodul 716 generiert wird, zum Beispiel unter Verwendung der Kantenerkennung.
  • Der Verlustterm Ladv 718 veranlasst das Maschinen-Lernen-Modell 702 dazu, schärfere Bilder mit erhöhtem Realismus zu synthetisieren. Des Weiteren wird eine Stilverlustkomponente Ls 720 verwendet, um Texturdetails zu erfassen, die in dem eingegebenen Texturfeld 710 vorhanden sind, während die Komponenten Pixelverlust LP 722 und Farbverlust Zc 724 das Lernen stabilisieren bzw. die Farbabweichung des digitalen Kandidatenbildes 708 von der des digitalen Grundbildes 706 bestrafen. Daher ist die endgültige Zielfunktion, die in diesem Beispiel für das Vortraining verwendet wird, wie folgt definiert: L = L F + w A D V L A D V + w S L S + w P L P + w C L C
    Figure DE102021004260A1_0003
    wobei wADV, wS, wP und wC die Regularisierungs-Hyperparameter für gegnerische, Stil-, Pixel- bzw. Farbverluste sind.
  • Maschinelles Lernen, das ausschließlich auf digitalen Ground Truth-Bildern 706 basiert, erschwert es dem Maschinen-Lern-Modell 702, sich auf feinere Details, wie zum Beispiel Texturen, zu konzentrieren, wenn man den anderen Inhalt des digitalen Ground Truth-Bildes 706 berücksichtigt. Um das Lernen auf einen breiteren Bereich von nicht zuvor gesehenen Texturen zu übertragen, wird das Maschinen-Lern-Modell 702 weiter „feinabgestimmt“, um Texturen zu reproduzieren und zu übertragen, die kein Ground Truth-Bild aufwiesen.
  • Wie in der zweiten Phase von 8 gezeigt, wird der lokale Texturverlust als Teil der Zielfunktion eingeführt, und die Verlustkomponenten der Vortrainingsphase werden angepasst, um eine verbesserte Erfassung feinerer Details zu unterstützen. Der lokale Texturverlust Lt umfasst drei Verlustterme - einen lokalen adversen Verlust Ladv 802 zur Erleichterung des Lernens durch Unterscheidung zwischen unterschiedlichen Texturfeldern sowie einen lokalen Stilverlust LS 804 und einen lokalen Pixelverlust Lp 806 zur Anpassung an die zugeschnittenen Patche bzw. Flicken, die von den jeweiligen lokalen Patch-Samplern 808, 810 generiert werden. Der lokale Texturverlust, der eine realistische Texturerzeugung fördern soll, wird also wie folgt dargestellt: L t = L s + w p L p + w a d v + L a d v
    Figure DE102021004260A1_0004
    wobei wp und wadv die Regularisierungs-Hyperparameter für den lokalen Stil- bzw. den lokalen adversen Verlust sind. Darüber hinaus werden der Merkmalsverlust LF 712 und der adversale Verlust Ladv 718 unverändert beibehalten, während der Pixelverlust LP' und der Farbverlust LC' geändert werden, um ein generiertes Ergebnis des digitalen Kandidatenbildes 708 mit dem Eingabetexturfeld 710 zu vergleichen (da es kein Ground Truth-Ausgangsbild zum Vergleich gibt). Die endgültige Zielfunktion für die Feinabstimmung der externen Textur wird also wie folgt dargestellt: L = L F + w A D V L A D V + w P L P ' + w C L C ' + L t
    Figure DE102021004260A1_0005
    wobei wADV, wP und wC die Regularisierungshyperparameter für die adversen, modifizierten Pixel- bzw. modifizierten Farbverlustkomponenten sind. Das Maschinen-Lernen-Modell 702 wird nach dem Training so konfiguriert, dass es Folgendes implementiert
  • 9 zeigt ein System 900 in einer beispielhaften Implementierung, in der ein digitales Objekt eines digitalen Bildes 114 auf der Basis einer Benutzer-Texteingabe 118 unter Verwendung des Text-zu-Merkmal-Systems 126 und des Bildbearbeitungssystems 132 bearbeitet wird, die wie in den 2-8 beschrieben trainiert wurden. 10 zeigt ein Verfahren 100 in einer beispielhaften Implementierung der Textbearbeitung von digitalen Bildern.
  • Die folgende Diskussion beschreibt Techniken, die unter Verwendung der zuvor beschriebenen Systeme und Geräte implementiert werden können. Aspekte der Verfahren können in Hardware, Firmware, Software oder einer Kombination davon implementiert werden. Die Verfahren sind als eine Menge von Blöcken dargestellt, die Operationen spezifizieren, die von einem oder mehreren Geräten ausgeführt werden, und sind nicht notwendigerweise auf die Reihenfolge beschränkt, die für die Ausführung der Operationen durch die jeweiligen Blöcke gezeigt wird. In Abschnitten der folgenden Diskussion wird auf die 1-10 Bezug genommen.
  • Eine Benutzer-Texteingabe 118 wird von einem Texteingabe-Modul 902 empfangen. Die Benutzer-Texteingabe 118 beschreibt ein visuelles Objekt und ein visuelles Attribut, wobei das visuelle Objekt einen visuellen Kontext des visuellen Attributs spezifiziert (Block 1002). Die Benutzer-Texteingabe 118 kann z.B. als eine getippte Eingabe über eine Benutzerschnittstelle empfangen werden, aus einer gesprochenen Äußerung mit Hilfe der Speech-to-Text Funktionalität generiert werden, usw. Die Benutzer-Texteingabe 118 verweist im gezeigten Beispiel auf ein visuelles Objekt 904 und ein visuelles Attribut 906, das in einem Kontext des visuellen Objekts 904 definiert ist, zum Beispiel „reife Mango“. Die Benutzer-Texteingabe 118 identifiziert auch ein digitales Objekt 908, das bearbeitet werden soll, zum Beispiel das Rendering 134 des digitalen Objekts 116 in 1. Dies kann lokal im System des Dienstanbieters 102 erfolgen, über das Netzwerk 106 von der Rechnervorrichtung 104 empfangen werden, usw.
  • Eine Merkmalsrepräsentation 130 wird von einem Text-zu-Merkmal-System 126 generiert, das ein Modell (z.B. ein Maschinen-Lernen-Modul 128) als Teil des Maschinen-Lernens auf der Basis der Benutzer-Texteingabe verwendet (Block 1004). Das Text-zu-Merkmal-System 126 generiert beispielsweise die Merkmalsrepräsentation 130, um visuelle Merkmale darzustellen, die durch den Text evoziert werden, wie Farbe, Textur, Luminanz und so weiter. Im Falle eines Farbprofils 210 enthält die Merkmalsrepräsentation 130 eine Vielzahl von Farben, die auf typische Weise in der Vorstellung eines Benutzers beim Hören/Lesen der Benutzer-Texteingabe 118 entstehen, wie z.B. dunklere Brauntöne für „trockene Blätter“.
  • Die Merkmalsrepräsentation 130 wird dann an das Bildbearbeitungssystem 132 weitergeleitet, um das digitale Objekt 908 in dem digitalen Bild zu bearbeiten. Zu Beginn segmentiert das Bildbearbeitungssystem 132 das digitale Objekt aus dem digitalen Bild, um einen Umriss zu bilden (Block 1006), zum Beispiel unter Verwendung von Kantendetektionstechniken. Dieser Prozess kann auch Objekterkennungstext beinhalten, um das digitale Objekt 908 innerhalb des digitalen Bildes zu identifizieren, zum Beispiel unter Verwendung von maschinellem Lernen, basierend auf der Benutzer-Texteingabe 118.
  • Der Umriss des digitalen Bildes wird unter Verwendung der Merkmalsrepräsentation und einer Textur bearbeitet, um ein bearbeitetes digitales Objekt zu generieren (Block 1008). Das Bildbearbeitungssystem 132 generiert z.B. einen Farbgradienten 214 aus dem Farbprofil 210 der Merkmalsrepräsentation 130 unter Verwendung der in 6 beschriebenen Techniken. Der Farbgradient 214 wird dann an ein Textursystem 216 weitergeleitet, das den Farbgradienten 214 verwendet, um das digitale Objekt 116 innerhalb des digitalen Bildes 114 zu bearbeiten. Das Textursystem 216 verwendet beispielsweise ein Maschinen-Lernen-Modell 218, das wie in den 7 und 8 beschrieben trainiert wurde, um die Textur auf den Umriss des digitalen Objekts 116 anzuwenden. Das bearbeitete digitale Bild 122 mit dem bearbeiteten digitalen Objekt 124 wird dann zur Anzeige auf einer Benutzeroberfläche 110 ausgegeben (Block 1010). In einem Beispiel hat das Bildbearbeitungssystem 120 dies durchgeführt, um eine Vielzahl von bearbeiteten digitalen Bildern 122 zu generieren (z.B. unter Verwendung unterschiedlicher Merkmalsrepräsentationen 130 und/oder Texturen), die zur Anzeige in der Benutzeroberfläche 110 zur Benutzerauswahl ausgegeben werden. Eine Vielzahl von anderen Beispielen ist ebenfalls denkbar.
  • Beispielhaftes System und Vorrichtung
  • 11 zeigt ein Beispielsystem im Allgemeinen unter 1100, das eine beispielhafte Rechnervorrichtung 1102 enthält, die repräsentativ für ein oder mehrere Rechnersysteme und/oder -vorrichtungen ist, die die verschiedenen hierin beschriebenen Techniken implementieren können. Dies wird durch die Einbeziehung des Bildbearbeitungssystems 120 gezeigt. Die Rechnervorrichtung 1102 kann beispielsweise ein Server eines Dienstanbieters, eine mit einem Client assoziierte Vorrichtung (z.B. eine Clientvorrichtung), ein On-Chip-System und/oder eine andere geeignete Rechnervorrichtung oder ein Rechnersystem sein.
  • Die beispielhafte Rechnervorrichtung 1102, wie gezeigt, umfasst ein Verarbeitungssystem 1104, ein oder mehrere computerlesbare Medien 1106 und eine oder mehrere E/A-Schnittstellen 1108, die miteinander kommunikativ gekoppelt sind. Obwohl nicht dargestellt, kann die Rechnervorrichtung 1102 außerdem einen Systembus oder ein anderes Daten- und Befehlsübertragungssystem enthalten, das die verschiedenen Komponenten miteinander koppelt. Ein Systembus kann eine beliebige oder eine Kombination von unterschiedlichen Busstrukturen umfassen, wie zum Beispiel einen Speicherbus oder Speichercontroller, einen Peripheriebus, einen universellen seriellen Bus und/oder einen Prozessor- oder lokalen Bus, der eine beliebige von mehreren Busarchitekturen verwendet. Eine Vielzahl anderer Beispiele, wie Steuer- und Datenleitungen, werden ebenfalls in Betracht gezogen.
  • Das Verarbeitungssystem 1104 ist für die Funktionalität zur Durchführung einer oder mehrerer Operationen unter Verwendung von Hardware geeignet. Dementsprechend wird gezeigt, dass das Verarbeitungssystem 1104 Hardwareelemente 1110 enthält, die als Prozessoren, Funktionsblöcke usw. konfiguriert werden können. Dies kann eine Implementierung in Hardware als anwendungsspezifische integrierte Schaltung oder andere logische Vorrichtung umfassen, die aus einem oder mehreren Halbleitern besteht. Die Hardwareelemente 1110 sind nicht durch die Materialien, aus denen sie bestehen, oder die darin verwendeten Verarbeitungsmechanismen beschränkt. So können Prozessoren beispielsweise Halbleiter und/oder Transistoren umfassen (zum Beispiel elektronische integrierte Schaltungen (ICs)). In einem solchen Zusammenhang können prozessorausführbare Anweisungen elektronisch ausführbare Anweisungen sein.
  • Das computerlesbare Speichermedium 1106 wird als ein Speicher/Speicher 1112 gezeigt. Der Speicher/Speicher 1112 stellt Speicher/Speicherkapazität dar, die mit einem oder mehreren computerlesbaren Medien assoziiert ist. Die Speicher-/Speicherkomponente 1112 kann flüchtige Medien (zum Beispiel RAM) und/oder nichtflüchtige Medien (zum Beispiel ROM, Flash-Speicher, optische Festplatten, Magnetplatten usw.) umfassen. Die Speicher-/Speicherkomponente 1112 kann sowohl feste Medien (zum Beispiel RAM, ROM, eine feste Festplatte usw.) als auch austauschbare Medien (zum Beispiel Flash-Speicher, eine austauschbare Festplatte, eine optische Platte usw.) umfassen. Die computerlesbaren Medien 1106 können auf eine Vielzahl anderer Arten konfiguriert werden, wie weiter unten beschrieben.
  • Die Eingabe-/Ausgabeschnittstelle(n) 1108 repräsentiert die Funktionalität, die es einem Benutzer ermöglicht, Befehle und Informationen in die Rechnervorrichtung 1102 einzugeben, und die es auch ermöglicht, Informationen dem Benutzer und/oder anderen Komponenten oder Geräten unter Verwendung verschiedener Eingabe-/Ausgabegeräte zu präsentieren. Beispiele für Eingabevorrichtungen sind eine Tastatur, eine Cursor-Steuerungsvorrichtung (zum Beispiel eine Maus), ein Mikrofon, ein Scanner, eine Berührungsfunktionalität (zum Beispiel kapazitive oder andere Sensoren, die so konfiguriert sind, dass sie physische Berührungen erkennen), eine Kamera (die zum Beispiel sichtbare oder nicht sichtbare Wellenlängen wie Infrarotfrequenzen verwenden kann, um Bewegungen als Gesten zu erkennen, die keine Berührungen beinhalten) und so weiter. Beispiele für Ausgabevorrichtungen sind eine Anzeigevorrichtung (zum Beispiel ein Monitor oder Projektor), Lautsprecher, ein Drucker, eine Netzwerkkarte, eine Vorrichtung für taktile Reaktionen und so weiter. Somit kann die Rechnervorrichtung 1102 auf vielfältige Weise konfiguriert werden, wie unten weiter beschrieben, um die Benutzerinteraktion zu unterstützen.
  • Verschiedene Techniken können hier im allgemeinen Kontext von Software, Hardwareelementen oder Programmmodulen beschrieben werden. Im Allgemeinen umfassen solche Module Routinen, Programme, Objekte, Elemente, Komponenten, Datenstrukturen und so weiter, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Die hier verwendeten Begriffe „Modul“, „Funktionalität“ und „Komponente“ stehen im Allgemeinen für Software, Firmware, Hardware oder eine Kombination davon. Die Merkmale der hier beschriebenen Techniken sind plattformunabhängig, was bedeutet, dass die Techniken auf einer Vielzahl von kommerziellen Computerplattformen implementiert werden können, die eine Vielzahl von Prozessoren aufweisen.
  • Eine Implementierung der beschriebenen Module und Techniken kann auf irgendeiner Form von computerlesbaren Medien gespeichert oder über diese übertragen werden. Die computerlesbaren Medien können eine Vielzahl von Medien umfassen, auf die von der Rechnervorrichtung 1102 zugegriffen werden kann. Als Beispiel und nicht als Einschränkung können computerlesbare Medien „computerlesbare Speichermedien“ und „computerlesbare Signalmedien“ umfassen.
  • „Computerlesbare Speichermedien“ können sich auf Medien und/oder Vorrichtungen beziehen, die eine dauerhafte und/oder nicht-transitorische Speicherung von Informationen ermöglichen, im Gegensatz zu bloßer Signalübertragung, Trägerwellen oder Signalen an sich. Computerlesbare Speichermedien beziehen sich also auf nicht-signaltragende Medien. Zu den computerlesbaren Speichermedien gehört Hardware wie flüchtige und nicht flüchtige, entfernbare und nicht entfernbare Medien und/oder Speichervorrichtungen, die in einem Verfahren oder einer Technologie implementiert sind, die für die Speicherung von Informationen wie computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen, logischen Elementen/Schaltkreisen oder anderen Daten geeignet sind. Beispiele für computerlesbare Speichermedien sind unter anderem RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologien, CD-ROM, Digital Versatile Disks (DVD) oder andere optische Speicher, Festplatten, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder andere Speichervorrichtungen, greifbare Medien oder Herstellungsgegenstände, die zur Speicherung der gewünschten Informationen geeignet sind und auf die ein Computer zugreifen kann.
  • „Computerlesbare Signalmedien“ können sich auf ein signaltragendes Medium beziehen, das so konfiguriert ist, dass es Anweisungen an die Hardware der Rechnervorrichtung 1102 überträgt, beispielsweise über ein Netzwerk. Signalmedien können in typischer Weise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal, wie zum Beispiel Trägerwellen, Datensignale oder andere Transportmechanismen, verkörpern. Zu den Signalmedien gehören auch beliebige Informationsübertragungsmedien. Der Begriff „moduliertes Datensignal“ bezeichnet ein Signal, das eine oder mehrere seiner Eigenschaften aufweist oder so verändert wurde, dass Informationen in dem Signal kodiert werden. Zu den Kommunikationsmedien gehören beispielsweise verdrahtete Medien wie ein verdrahtetes Netzwerk oder eine direkt verdrahtete Verbindung und drahtlose Medien wie akustische, RF-, Infrarot- und andere drahtlose Medien.
  • Wie zuvor beschrieben, stehen die Hardwareelemente 1110 und die computerlesbaren Medien 1106 für Module, programmierbare Vorrichtungslogik und/oder feste Vorrichtungslogik, die in einer Hardwareform implementiert sind, die in einigen Ausführungsformen verwendet werden kann, um zumindest einige Aspekte der hierin beschriebenen Techniken zu implementieren, zum Beispiel um eine oder mehrere Anweisungen auszuführen. Die Hardware kann Komponenten einer integrierten Schaltung oder eines On-Chip-Systems, eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FPGA), eine komplexe programmierbare Logikvorrichtung (CPLD) und andere Implementierungen in Silizium oder anderer Hardware umfassen. In diesem Zusammenhang kann die Hardware als eine verarbeitende Vorrichtung arbeiten, die Programmaufgaben ausführt, die durch Anweisungen und/oder Logik definiert sind, die von der Hardware verkörpert werden, sowie als eine Hardware, die verwendet wird, um Anweisungen zur Ausführung zu speichern, zum Beispiel die zuvor beschriebenen computerlesbaren Speichermedien.
  • Es können auch Kombinationen der vorgenannten Verfahren eingesetzt werden, um verschiedene hier beschriebene Techniken zu implementieren. Dementsprechend können Software, Hardware oder ausführbare Module als eine oder mehrere Anweisungen und/oder Logik implementiert werden, die in einer Form von computerlesbaren Speichermedien und/oder durch ein oder mehrere Hardwareelemente 1110 verkörpert sind. Die Rechnervorrichtung 1102 kann so konfiguriert sein, dass sie bestimmte Anweisungen und/oder Funktionen implementiert, die den Software- und/oder Hardwaremodulen entsprechen. Dementsprechend kann die Implementierung eines Moduls, das von der Rechnervorrichtung 1102 als Software ausführbar ist, zumindest teilweise in Hardware erreicht werden, zum Beispiel durch Verwendung von computerlesbaren Speichermedien und/oder Hardwareelementen 1110 des Verarbeitungssystems 1104. Die Anweisungen und/oder Funktionen können von einem oder mehreren Herstellungsgegenständen (zum Beispiel einer oder mehreren Rechnervorrichtungen 1102 und/oder Verarbeitungssystemen 1104) ausgeführt/betrieben werden, um die hierin beschriebenen Techniken, Module und Beispiele zu implementieren.
  • Die hierin beschriebenen Techniken können von verschiedenen Konfigurationen der Rechnervorrichtung 1102 unterstützt werden und sind nicht auf die spezifischen Beispiele der hierin beschriebenen Techniken beschränkt. Diese Funktionalität kann auch ganz oder teilweise durch die Verwendung eines verteilten Systems implementiert werden, zum Beispiel über eine „Cloud“ 1114 über eine Plattform 1116, wie unten beschrieben.
  • Die Cloud 1114 umfasst und/oder repräsentiert eine Plattform 1116 für Ressourcen 1118. Die Plattform 1116 abstrahiert die zugrunde liegende Funktionalität von Hardware- (zum Beispiel Server) und Software-Ressourcen der Cloud 1114. Die Ressourcen 1118 können Anwendungen und/oder Daten enthalten, die genutzt werden können, während die Computerverarbeitung auf Servern ausgeführt wird, die von der Rechnervorrichtung 1102 entfernt sind. Die Ressourcen 1118 können auch Dienste umfassen, die über das Internet und/oder über ein Teilnehmernetz, wie ein Mobilfunknetz oder WLan-Netz, bereitgestellt werden.
  • Die Plattform 1116 kann Ressourcen und Funktionen abstrahieren, um die Rechnervorrichtung 1102 mit anderen Rechnervorrichtungen zu verbinden. Die Plattform 1116 kann auch dazu dienen, die Skalierung von Ressourcen zu abstrahieren, um ein entsprechendes Maß an Skalierung für die Ressourcen 1118 bereitzustellen, die über die Plattform 1116 implementiert werden. Dementsprechend kann in einer Ausführungsform mit vernetzten Vorrichtungen die Implementierung der hier beschriebenen Funktionalität über das gesamte System 1100 verteilt sein. Beispielsweise kann die Funktionalität zum Teil auf der Rechnervorrichtung 1102 sowie über die Plattform 1116 implementiert werden, die die Funktionalität der Cloud 1114 abstrahiert.
  • Fazit
  • Obwohl die Erfindung in einer Sprache beschrieben wurde, die sich auf strukturelle Merkmale und/oder methodische Handlungen bezieht, ist es zu verstehen, dass die in den beigefügten Ansprüchen definierte Erfindung nicht unbedingt auf die beschriebenen spezifischen Merkmale oder Handlungen beschränkt ist. Vielmehr sind die spezifischen Merkmale und Handlungen als beispielhafte Ausführungsformen der beanspruchten Erfindung offenbart.

Claims (20)

  1. Verfahren in einer digitalen Bearbeitungsumgebung für digitale Medien, das durch eine Rechnervorrichtung implementiert wird, wobei das Verfahren umfasst: Empfangen, durch ein Texteingabemodul, das von der Rechnervorrichtung implementiert ist, einer Benutzer-Texteingabe, die ein visuelles Objekt und ein visuelles Attribut beschreibt, wobei das visuelle Objekt einen visuellen Kontext des visuellen Attributs spezifiziert; Generieren, durch ein Text-zu-Merkmal-Kodiersystem, das durch die Rechnervorrichtung implementiert ist, einer Merkmalsrepräsentation unter Verwendung eines Generatormoduls auf der Basis der Benutzer-Texteingabe, wobei das Generatormodul als Teil eines generativen gegnerischen bzw. adversarialen bzw. adversen Netzwerks unter Verwendung von Trainingstext und Trainingsmerkmalsrepräsentationen trainiert wird, die digitale Bilder erzeugen, die auf der Basis einer Bildsuche lokalisiert sind, die unter Verwendung des Trainingstextes durchgeführt wird; Bearbeiten, durch ein Bildbearbeitungssystem, das von der Rechnervorrichtung implementiert ist, eines digitalen Bildes auf der Basis der Merkmalsrepräsentation; und Ausgeben, durch das Bildbearbeitungssystem, das von der Rechnervorrichtung implementiert ist, des bearbeiteten digitalen Bildes zur Anzeige in einer Benutzerschnittstelle.
  2. Verfahren nach Anspruch 1, wobei die Merkmalsrepräsentation eine Vielzahl von Varietäten eines visuellen Merkmals enthält.
  3. Verfahren nach Anspruch 2, wobei das visuelle Merkmal eine Farbe ist und die Merkmalsrepräsentation eine Vielzahl von Farben umfasst.
  4. Verfahren nach Anspruch 3, wobei die Merkmalsrepräsentation ein Farbprofil ist.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei das visuelle Objekt auf ein physisches Objekt verweist und das visuelle Attribut ein Aussehen des physischen Objekts beschreibt.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei die Benutzer-Texteingabe auch ein digitales Objekt spezifiziert, das in dem digitalen Bild enthalten ist, ferner umfassend das Erkennen des digitalen Objekts in dem digitalen Bild und wobei die Bearbeitung das Bearbeiten des digitalen Objekts in dem digitalen Bild und nicht das Bearbeiten eines anderen Abschnitts des digitalen Bildes umfasst.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei sich das visuelle Objekt nicht auf ein digitales Objekt in dem digitalen Bild bezieht, das auf der Basis der Merkmalsrepräsentation bearbeitet wird.
  8. Verfahren nach einem der vorstehenden Ansprüche, wobei der Trainingstext semantisch ähnlich der Benutzer-Texteingabe ist.
  9. Verfahren nach einem der vorstehenden Ansprüche, wobei: das Generatormodul des generativen adversen Netzwerks den Trainingstext als Teil des Trainings des Generatormoduls als Eingabe erhält; und ein Diskriminatormodul des generativen adversen Netzwerks als eine Eingabe den Trainingstext, Bildmerkmale, die aus den digitalen Trainingsbildern unter Verwendung von maschinellem Lernen extrahiert wurden, und eine Kandidaten-Merkmalsrepräsentation, die von dem Generatormodul als Teil des Trainings des Generatormoduls generiert wurde, empfängt.
  10. System in einer digitalen Medienbearbeitungsumgebun, umfassend: ein Datensatz-Kurationssystem, das zumindest teilweise in der Hardware einer Rechnervorrichtung implementiert ist, um eine Vielzahl von digitalen Trainingsbildern auf der Basis einer unter Verwendung von Trainingstext durchgeführten Bildsuche zu sammeln ; ein Text-zu-Merkmal-System, das zumindest teilweise in der Hardware der Rechnervorrichtung implementiert ist, um auf der Basis einer Benutzer-Texteingabe eine eine Vielzahl von Farben enthaltende Merkmalsrepräsentation durch ein Modell zu generieren, wobei das Modell unter Verwendung von maschinellem Lernen auf der Basis des Trainingstextes und einer Vielzahl von Trainingsmerkmalsrepräsentationen, die aus der Vielzahl von digitalen Trainingsbildern generiert werden, trainiert wird; und ein Bildbearbeitungssystem, das zumindest teilweise in Hardware der Rechnervorrichtung implementiert ist, um ein Objekt in einem digitalen Bild so zu bearbeiten, dass es Farben auf der Basis der Merkmalsrepräsentation aufweist.
  11. System nach Anspruch 10, wobei der Trainingstext ein visuelles Objekt und ein visuelles Attribut beschreibt, wobei das visuelle Objekt einen visuellen Kontext des visuellen Attributs spezifiziert.
  12. Das System nach Anspruch 10 oder 11, wobei die Merkmalsrepräsentation ein Farbprofil ist.
  13. System nach einem der Ansprüche 10 bis 12, wobei die Benutzer-Texteingabe ein visuelles Objekt spezifiziert, das auf ein physisches Objekt verweist, und ein visuelles Attribut, das ein Aussehen des physischen Objekts beschreibt.
  14. System nach einem der Ansprüche 10 bis 13, wobei der Trainingstext semantisch ähnlich der Benutzer-Texteingabe ist.
  15. System nach einem der Ansprüche 10 bis 14, wobei das Bildbearbeitungssystem das digitale Objekt unter Verwendung eines Generatormoduls bearbeitet, das als Teil eines generativen adversen bzw. adversarialen Netzwerks trainiert wurde, um eine Textur und Farben aus der Merkmalsrepräsentation innerhalb eines Umrisses des digitalen Objekts, wie es im digitalen Bild segmentiert ist, anzuwenden.
  16. System nach einem der Ansprüche 10 bis 15, wobei: das Modell ein Generatormodul eines generativen adversen bzw. adversarialen Netzwerks ist, das als Eingabe den Trainingstext als Teil des Trainings erhält; und das Generatormodul unter Verwendung eines Diskriminatormoduls als Teil des generativen adversen Netzwerks trainiert wird, wobei das Diskriminatormodul so konfiguriert ist, dass es als Eingabe den Trainingstext, Bildmerkmale, die aus den digitalen Trainingsbildern unter Verwendung von maschinellem Lernen extrahiert wurden, und eine Kandidaten-Merkmalsrepräsentation, die von dem Generatormodul als Teil des Trainings des Generatormoduls generiert wurde, empfängt.
  17. System in einer digitalen Bearbeitungsumgebung für digitale Medien, umfassend: Mittel zum Sammeln einer Vielzahl von digitalen Trainingsbildern basierend auf einer Bildsuche, die unter Verwendung von Trainingstext durchgeführt wird; Mittel zum Generieren eines Farbprofils durch ein Modell auf der Basis einer Benutzer-Texteingabe, wobei das Modell unter Verwendung von maschinellem Lernen auf der Basis der Vielzahl von digitalen Trainingsbildern und des Trainingstextes trainiert wird; Mittel zum Generieren einer Merkmalsrepräsentation, die einen Farbgradienten auf der Basis des Farbhistogramms enthält; Mittel zum Segmentieren eines digitalen Objekts aus einem digitalen Bild, wobei das digitale Objekt in der Benutzer-Texteingabe identifiziert wird; und Mittel zum Bearbeiten des segmentierten digitalen Objekts in dem digitalen Bild unter Verwendung eines Modells, das unter Verwendung von maschinellem Lernen basierend auf dem Farbprofil und einer Textur trainiert wurde.
  18. System nach Anspruch 17, wobei die Benutzer-Texteingabe ein visuelles Objekt und ein visuelles Attribut beschreibt, wobei das visuelle Objekt einen visuellen Kontext des visuellen Attributs spezifiziert.
  19. System nach Anspruch 17 oder 18, wobei das visuelle Objekt auf ein physisches Objekt verweist und das visuelle Attribut ein Aussehen des physischen Objekts beschreibt.
  20. System nach einem der Ansprüche 17 bis 19, wobei: das Modell ein Generatormodul eines generativen adversen bzw. adversarialen Netzwerks ist, das als eine Eingabe den Trainingstext als Teil des Trainings erhält; und das Generatormodul unter Verwendung eines Diskriminatormoduls als Teil des generativen adversen Netzwerks trainiert wird, wobei das Diskriminatormodul so konfiguriert ist, dass es als eine Eingabe den Trainingstext, Bildmerkmale, die aus den digitalen Trainingsbildern unter Verwendung von maschinellem Lernen extrahiert wurden, und ein Kandidatenfarbprofil, das von dem Generatormodul als Teil des Trainings des Generatormoduls generiert wurde, empfängt.
DE102021004260.3A 2020-10-26 2021-08-20 Textuelles Bearbeiten von digitalen Bildern Pending DE102021004260A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/079,844 US11887217B2 (en) 2020-10-26 2020-10-26 Text editing of digital images
US17/079,844 2020-10-26

Publications (1)

Publication Number Publication Date
DE102021004260A1 true DE102021004260A1 (de) 2022-04-28

Family

ID=77913833

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021004260.3A Pending DE102021004260A1 (de) 2020-10-26 2021-08-20 Textuelles Bearbeiten von digitalen Bildern

Country Status (3)

Country Link
US (2) US11887217B2 (de)
DE (1) DE102021004260A1 (de)
GB (2) GB2611633B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11853892B2 (en) * 2018-07-11 2023-12-26 Google Llc Learning to segment via cut-and-paste
US11216505B2 (en) 2019-09-05 2022-01-04 Adobe Inc. Multi-resolution color-based image search
US11776189B2 (en) * 2021-10-22 2023-10-03 Adobe Inc. Systems for generating digital objects to animate sketches
KR20230089589A (ko) * 2021-12-13 2023-06-21 삼성디스플레이 주식회사 표시 장치 및 표시 장치의 구동 방법
CN114880441B (zh) * 2022-07-06 2023-02-10 北京百度网讯科技有限公司 视觉内容生成方法、装置、系统、设备和介质
CN116543075B (zh) * 2023-03-31 2024-02-13 北京百度网讯科技有限公司 图像生成方法、装置、电子设备及存储介质

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579471A (en) 1992-11-09 1996-11-26 International Business Machines Corporation Image query system and method
US6430312B1 (en) 1997-12-29 2002-08-06 Cornell Research Foundation, Inc. Image subregion querying using color correlograms
US6411953B1 (en) 1999-01-25 2002-06-25 Lucent Technologies Inc. Retrieval and matching of color patterns based on a predetermined vocabulary and grammar
US7417640B1 (en) 1999-01-29 2008-08-26 Lg Electronics Inc. Method for dominant color setting of video region and data structure and method of confidence measure extraction
GB2349460B (en) 1999-04-29 2002-11-27 Mitsubishi Electric Inf Tech Method of representing colour images
KR20010055492A (ko) 1999-12-10 2001-07-04 오길록 영상 히스토그램을 이용한 영상 검색 시스템과 그 방법
KR100788643B1 (ko) 2001-01-09 2007-12-26 삼성전자주식회사 색과 질감의 조합을 기반으로 하는 영상 검색 방법
JP4527322B2 (ja) 2001-07-25 2010-08-18 日本電気株式会社 画像検索装置、画像検索方法、及び画像検索用プログラム
KR100459893B1 (ko) 2002-01-08 2004-12-04 삼성전자주식회사 동영상에서 칼라 기반의 객체를 추적하는 방법 및 그 장치
GB0229625D0 (en) 2002-12-19 2003-01-22 British Telecomm Searching images
US7379627B2 (en) 2003-10-20 2008-05-27 Microsoft Corporation Integrated solution to digital image similarity searching
JP4166253B2 (ja) 2006-07-10 2008-10-15 トヨタ自動車株式会社 物体検出装置、物体検出方法、および物体検出用プログラム
JP2008242733A (ja) 2007-03-27 2008-10-09 Seiko Epson Corp 画像処理装置
US8243987B2 (en) 2008-06-06 2012-08-14 International Business Machines Corporation Object tracking using color histogram and object size
US20100104207A1 (en) 2008-10-24 2010-04-29 Solomon Systech Limited System and method for image compression
CN101576932B (zh) 2009-06-16 2012-07-04 阿里巴巴集团控股有限公司 近重复图片的计算机查找方法和装置
US9384214B2 (en) 2009-07-31 2016-07-05 Yahoo! Inc. Image similarity from disparate sources
US8891902B2 (en) 2010-02-16 2014-11-18 Imprezzeo Pty Limited Band weighted colour histograms for image retrieval
US8737727B2 (en) 2010-12-30 2014-05-27 Pelco, Inc. Color similarity sorting for video forensics search
US8666191B2 (en) 2011-03-02 2014-03-04 Canon Kabushiki Kaisha Systems and methods for image capturing
US8737728B2 (en) 2011-09-30 2014-05-27 Ebay Inc. Complementary item recommendations using image feature data
US9129189B2 (en) 2013-08-14 2015-09-08 Qualcomm Incorporated Performing vocabulary-based visual search using multi-resolution feature descriptors
US10409822B2 (en) 2014-05-06 2019-09-10 Shutterstock, Inc. Systems and methods for presenting ranked search results
US20150324662A1 (en) 2014-05-08 2015-11-12 Tandent Vision Science, Inc. Method for identifying color-based vectors for analysis of frames of a video
US9697233B2 (en) 2014-08-12 2017-07-04 Paypal, Inc. Image processing and matching
WO2016038604A1 (en) * 2014-09-11 2016-03-17 B. G. Negev Technologies And Applications Ltd. (Ben-Gurion University) Interactive segmentation
CN108604383A (zh) 2015-12-04 2018-09-28 奇跃公司 重新定位系统和方法
US10579737B2 (en) 2018-03-06 2020-03-03 Adobe Inc. Natural language image editing annotation framework
US10817713B2 (en) 2018-11-15 2020-10-27 Adobe Inc. Generating modified digital images utilizing a multimodal selection model based on verbal and gesture input
US10713821B1 (en) * 2019-06-27 2020-07-14 Amazon Technologies, Inc. Context aware text-to-image synthesis
US11216505B2 (en) 2019-09-05 2022-01-04 Adobe Inc. Multi-resolution color-based image search
AU2020365115A1 (en) * 2019-10-18 2022-03-10 Pictometry International Corp. Geospatial object geometry extraction from imagery
US11205260B2 (en) * 2019-11-21 2021-12-21 International Business Machines Corporation Generating synthetic defect images for new feature combinations
WO2021142069A1 (en) * 2020-01-07 2021-07-15 Alegion, Inc. System and method for guided synthesis of training data
CN111062865B (zh) 2020-03-18 2020-07-03 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备和存储介质
US11756567B2 (en) * 2020-08-26 2023-09-12 International Business Machines Corporation Autocreation of conversational image representation
US20220122222A1 (en) * 2020-10-16 2022-04-21 Adobe Inc. Multi-scale output techniques for generative adversarial networks

Also Published As

Publication number Publication date
US20240119646A1 (en) 2024-04-11
US11887217B2 (en) 2024-01-30
US20220130078A1 (en) 2022-04-28
GB2611633B (en) 2023-07-19
GB2611633A (en) 2023-04-12
GB202112183D0 (en) 2021-10-06
GB2600223A (en) 2022-04-27
GB202214904D0 (en) 2022-11-23
GB2600223B (en) 2023-03-08

Similar Documents

Publication Publication Date Title
DE102021004260A1 (de) Textuelles Bearbeiten von digitalen Bildern
Park et al. Content-based image classification using a neural network
DE10308014B4 (de) System und Verfahren zum Lokalisieren eines nichttextlichen Bereichs eines elektronischen Dokumentes oder Bildes, der mit einer benutzerdefinierten Beschreibung des Bereichs übereinstimmt
DE102018006247A1 (de) Digitalbildvervollständigung unter Verwendung des Deep Learning
DE102019000675A1 (de) Nutzen eines modells auf der basis eines tiefen neuronalen netzwerks zum identifizieren von visuell ähnlichen digitalen bildern auf der basis von nutzer-ausgewählten visuellen eigenschaften
DE102018008161A1 (de) Detektieren von Objekten unter Nutzung eines schwach überwachten Modells
Agarwal et al. Content based image retrieval using color edge detection and discrete wavelet transform
DE102011003201A1 (de) System für kreative Bildnavigation und Untersuchung
EP2230628A2 (de) Modellieren von Bildern als Sätze aus gewichteten Funktionen
DE102016011173A1 (de) Erstellen von Zusammenfassungen von Multimediadokumenten
WO2021129181A1 (en) Portrait segmentation method, model training method and electronic device
DE102016011905A1 (de) Bestimmen der Qualität einer Zusammenfassung eines Multimediainhalts
CN106126585B (zh) 基于质量分级与感知哈希特征组合的无人机图像检索方法
US8971614B2 (en) Extracting object edges from images
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE60033580T2 (de) Verfahren und gerät zur klassifizierung eines bildes
DE102022003003A1 (de) Automatische Fotobearbeitung mittels sprachlicher Anweisung
DE102020002302A1 (de) Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden
Moudani et al. Efficient image classification using data mining
Dabas et al. Implementation of image colorization with convolutional neural network
Lombardi et al. A lightweight image retrieval system for paintings
DE102017008030A1 (de) Nutzung einer digitalen leinwand zur durchführung einer räumlich-semantischen suche nach digitalen visuellen medien
US20230360294A1 (en) Unsupervised style and color cues for transformer-based image generation
Viswanathan et al. Significance of perceptually relevant image decolorization for scene classification
Qiao et al. Classification of Chinese and Western Painting Images Based on Brushstrokes Feature

Legal Events

Date Code Title Description
R012 Request for examination validly filed