DE102023120385A1 - Design compositing using image harmonization - Google Patents

Design compositing using image harmonization Download PDF

Info

Publication number
DE102023120385A1
DE102023120385A1 DE102023120385.1A DE102023120385A DE102023120385A1 DE 102023120385 A1 DE102023120385 A1 DE 102023120385A1 DE 102023120385 A DE102023120385 A DE 102023120385A DE 102023120385 A1 DE102023120385 A1 DE 102023120385A1
Authority
DE
Germany
Prior art keywords
image
text
color
noise
modified
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
DE102023120385.1A
Other languages
English (en)
Other versions
DE102023120385A8 (de
Inventor
Ionut Mironicǎ
Marian Lupaşcu
Alexandru Vasile Costin
Cristan Catalin Buzoiu
Aliakbar Darabi
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 DE102023120385A1 publication Critical patent/DE102023120385A1/de
Publication of DE102023120385A8 publication Critical patent/DE102023120385A8/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/94Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/143Segmentation; Edge detection involving probabilistic approaches, e.g. Markov random field [MRF] modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Character Input (AREA)

Abstract

Bereitgestellt werden Systeme und Verfahren zur Bildbearbeitung und insbesondere zur Harmonisierung von Hintergrundbildern mit Text. Ausführungsformen der vorliegenden Offenbarung erhalten ein Bild mit Text und einem Bereich, der den Text überlappt. In manchen Aspekten beinhaltet der Text eine erste Farbe. Die Ausführungsformen wählen dann eine zweite Farbe aus, die mit der ersten Farbe kontrastiert, und erzeugen ein modifiziertes Bild mit dem Text und einem modifizierten Bereich unter Verwendung eines maschinellen Lernmodells, das das Bild und die zweite Farbe als Eingabe verwendet. Das geänderte Bild wird bedingt erzeugt, damit die zweite Farbe in einem Bereich enthalten ist, der dem Text entspricht.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese nicht-vorläufige US-Anmeldung beansprucht gemäß 35 U.S.C. §119 die Priorität der vorläufigen US-Patentanmeldung Nr. 63/379,813 , die am 17. Oktober 2022 beim United States Patent and Trademark Office eingereicht wurde und deren Offenbarung hierin vollständig aufgenommen wird.
  • HINTERGRUND
  • Die folgenden Ausführungen beziehen sich auf die Bildbearbeitung im Allgemeinen sowie die Harmonisierung von Bildern und Text im Besonderen. Beim Compositing werden Text und grafische Elemente in einem einzigen Bild kombiniert. Diese Technik wird häufig in den Bereichen Grafikdesign, Werbung und digitale Medien eingesetzt. Der Text und die Bilder werden übereinandergelegt, um eine endgültige Komposition zu erzeugen. Das Ziel des Compositing ist es, Informationen zu vermitteln oder eine Geschichte durch visuelle Elemente zu erzählen und ein ansprechendes und fesselndes visuelles Erlebnis für den Betrachter zu erzeugen. Techniken wie Farbkorrektur, Überblendung und Maskierung werden häufig eingesetzt, um das gewünschte Erscheinungsbild zu erreichen und Text und Bilder nahtlos miteinander zu verbinden.
  • Bei der Gestaltung von Zusammensetzungen mit Text und Hintergrundbildern sind mehrere Aspekte zu berücksichtigen. Der Text und das Hintergrundbild sollten einen ausreichenden Kontrast zueinander haben, damit der Text gut lesbar ist. Der Text sollte lesbar sein und sich nicht mit dem Hintergrundbild überschneiden. In manchen Fällen wenden Grafikdesigner verschiedene Effekte auf den Text an, um einen ausreichenden Kontrast und eine gute Lesbarkeit zu erreichen, wie zum Beispiel die Verwendung von Abständen, Perspektive, Farben aus dem kalten und warmen Spektrum usw.
  • DARSTELLUNG
  • Die vorliegende Offenbarung beschreibt Systeme und Verfahren zum Ändern des Bilds unter dem Text, um den Kontrast und die Lesbarkeit des Textes zu erhöhen. Ausführungsformen erhalten ein Bild und einen Text, wenden eine Vorverarbeitung auf das Bild an und erzeugen ein neues Bild, das eine kontrastreiche Farbe innerhalb eines Bereichs des Textes beinhaltet. Die Ausführungsformen umfassen ein generatives maschinelles Lernmodell, wie zum Beispiel ein stabiles Diffusionsmodell, das derart konfiguriert ist, dass es ein ähnliches Bild wie das Originalbild erzeugt, mit Ausnahme des Bereichs, der dem Text entspricht. Das generative maschinelle Lernmodell kann zum Beispiel derart konfiguriert werden, dass es das vorverarbeitete Bild als Bedingung für einen generativen Diffusionsprozess erhält.
  • Beschrieben werden ein Verfahren, eine Vorrichtung, ein nicht-flüchtiges computerlesbares Medium und ein System zur Harmonisierung von Text und Hintergrundbildern. Ein oder mehrere Aspekte des Verfahrens, der Vorrichtung, des nicht-flüchtigen computerlesbaren Mediums und des Systems umfassen das Erhalten eines Bilds, das Text und einen Bereich beinhaltet, der den Text überlappt, wobei der Text eine erste Farbe umfasst; das Auswählen einer zweiten Farbe, die mit der ersten Farbe kontrastiert; und das Erzeugen eines modifizierten Bilds, das den Text und einen modifizierten Bereich beinhaltet, unter Verwendung eines maschinellen Lernmodells, das das Bild und die zweite Farbe als Eingabe verwendet, wobei der modifizierte Bereich den Text überlappt und die zweite Farbe beinhaltet.
  • Beschrieben werden eine Vorrichtung, ein System und ein Verfahren zur Harmonisierung von Text und Hintergrundbildern. Ein oder mehrere Aspekte der Vorrichtung, des Systems und des Verfahrens umfassen ein nicht-flüchtiges computerlesbares Medium, das Code speichert, wobei der Code Anweisungen umfasst, die von einem Prozessor ausführbar sind, um: ein Bild zu erhalten, das Text und einen Bereich, der den Text überlappt, beinhaltet, wobei der Text eine erste Farbe umfasst; eine zweite Farbe aus dem Bereich, der den Text überlappt, auszuwählen, wobei die zweite Farbe mit der ersten Farbe kontrastiert; und ein modifiziertes Bild, das den Text beinhaltet, unter Verwendung eines maschinellen Lernmodells zu erzeugen, das das Bild und die zweite Farbe als Eingabe verwendet, wobei der modifizierte Bereich den Text überlappt und die zweite Farbe beinhaltet.
  • Beschrieben werden eine Vorrichtung, ein System und ein Verfahren zur Harmonisierung von Text und Hintergrundbildern. Ein oder mehrere Aspekte der Vorrichtung, des Systems und des Verfahrens umfassen einen Prozessor; einen Speicher, der Befehle beinhaltet, die von dem Prozessor ausführbar sind, um Vorgänge durchzuführen, die umfassen: Erhalten eines Bilds und eines Textes, der das Bild überlappt, wobei der Text eine erste Farbe umfasst; Auswählen einer zweiten Farbe, die mit der ersten Farbe kontrastiert; und Erzeugen eines Hintergrundbilds für den Text auf Grundlage der zweiten Farbe unter Verwendung eines maschinellen Lernmodells, wobei das Hintergrundbild die zweite Farbe in einem dem Text entsprechenden Bereich beinhaltet.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
    • 1 zeigt ein Beispiel eines Bildbearbeitungssystems gemäß den Aspekten der vorliegenden Offenbarung.
    • 2 zeigt ein Beispiel einer Bildbearbeitungsvorrichtung gemäß den Aspekten der vorliegenden Offenbarung.
    • 3 zeigt ein Beispiel eines Verfahrens für eine erste Stufe in einem ersten Algorithmus zur Bildharmonisierung gemäß den Aspekten der vorliegenden Offenbarung.
    • 4 zeigt ein Beispiel eines Verfahrens für den Zweig A in einer zweiten Stufe des ersten Algorithmus gemäß den Aspekten der vorliegenden Offenbarung.
    • 5 zeigt ein Beispiel eines Verfahrens für den Zweig B in der zweiten Stufe des ersten Algorithmus gemäß den Aspekten der vorliegenden Offenbarung.
    • 6 zeigt ein Beispiel eines Verfahrens für einen zweiten Algorithmus zur Bildharmonisierung gemäß den Aspekten der vorliegenden Offenbarung.
    • 7 zeigt ein Beispiel eines Verfahrens zur Bereitstellung eines Entwurfs für einen Nutzer gemäß den Aspekten der vorliegenden Offenbarung.
    • 8 zeigt ein Beispiel eines Verfahrens zur Bildbearbeitung gemäß den Aspekten der vorliegenden Offenbarung.
    • 9 zeigt ein Beispiel eines geführten latenten Diffusionsmodells gemäß den Aspekten der vorliegenden Offenbarung.
    • 10 zeigt ein Beispiel einer U-Netz-Architektur gemäß den Aspekten der vorliegenden Offenbarung.
    • 11 zeigt ein Beispiel eines Diffusionsverfahrens gemäß den Aspekten der vorliegenden Offenbarung.
    • 12 zeigt ein Beispiel eines Verfahrens zum Trainieren eines Diffusionsmodells gemäß den Aspekten der vorliegenden Offenbarung.
    • 13 zeigt ein Beispiel einer Rechenvorrichtung gemäß den Aspekten der vorliegenden Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Grafikdesign ist eine Disziplin, die sich mit der Verwendung visueller Elemente wie Bilder und Text beschäftigt, um Ideen und Informationen zu vermitteln. Einer der Hauptaspekte des Grafikdesigns ist die Kombination von Bildern und Text, um eine visuell ansprechende und effektive Komposition bzw. Zusammensetzung zu erzeugen. Dies kann das Übereinanderlegen von Bildern, das Anpassen von Farben, das Anpassen der Größe und Platzieren von Text und das Wähen der richtigen Typografie umfassen, um die gewünschte Botschaft zu vermitteln.
  • Bei der Kombination von Bildern und Text müssen Grafikdesigner viele Faktoren berücksichtigen, darunter den Kontext des Bilds, den Zweck des Entwurfs, das Zielpublikum und das Medium, in dem der Entwurf angezeigt wird. Ein Grafikdesign für eine Website kann zum Beispiel andere Überlegungen erfordern als ein Design für eine Printpublikation.
  • Eine der größten Herausforderungen bei der Kombination von Bildern und Text liegt darin, die richtige Balance zwischen den beiden Elementen zu finden. Grafikdesigner müssen die richtige Typografie wählen, die Größe und Platzierung des Textes anpassen und Bilder auswählen, die den Text ergänzen, damit eine harmonische Komposition bzw. Zusammensetzung entsteht.
  • Ferner müssen Designer bei der Gestaltung von Designs, die Bilder und Text kombinieren, Aspekte wie Lesbarkeit und Zugänglichkeit berücksichtigen. Dazu kann es gehören, den Kontrast zwischen Text und Hintergrund anzupassen, leicht lesbare Schriftarten zu wählen und sicherzustellen, dass der Text auch für Menschen mit Behinderungen zugänglich ist.
  • In manchen Fällen wenden Grafikdesigner verschiedene Effekte auf den Text an, um einen ausreichenden Kontrast und eine gute Lesbarkeit zu gewährleisten. Diese Effekte umfassen Schlagschatten, Leuchteffekte, Hinzufügen eines festen Hintergrunds zu dem Text sowie Ändern der Textfarbe. Diese Änderungen wirken sich jedoch negativ auf die Gestaltungsmerkmale des Textes aus. Zudem können Änderungen an dem Text, die große Flächen hinzufügen, wie zum Beispiel das Hinzufügen eines durchgehenden Hintergrunds, das Bild unter dem Text verdecken.
  • Ferner kann die Anwendung anspruchsvollerer Techniken, wie zum Beispiel die Platzierung des Textes in der Perspektive des Bilds oder die Änderung der Farben des Textes auf Grundlage kontrastreicher Farbtemperaturen mit dem Hintergrund, erfordern, dass das zugrunde liegende Bild eine bestimmte Perspektive oder Farbtemperatur beinhaltet. In manchen Fällen ist das zugrunde liegende Bild mit diesen Techniken nicht kompatibel.
  • Ausführungsformen der vorliegenden Offenbarung umfassen eine Bildbearbeitungsvorrichtung, welche derart konfiguriert ist, dass sie das Bild unterhalb des Textes und nicht den Text selbst bearbeitet. Auf diese Weise bleiben die Gestaltungsmerkmale des Textes während des gesamten Compositing-Prozesses erhalten.
  • Manche Ausführungsformen sind derart konfiguriert, dass sie das Bild vorverarbeiten, indem sie eine Farbe extrahieren, die mit dem Text kontrastiert, eine panoptische Segmentierung durchführen, um Objekte in dem Bild zu identifizieren, die sich mit dem Text überschneiden, und die Objekte mit der kontrastreichen Farbe färben. In manchen Ausführungsformen wird dann in den Textüberlappungsbereichen Gauß'sches Rauschen hinzugefügt, das die Kontrastfarbe beinhaltet. Im Abschluss wird dieses veränderte Bild als Bedingung für ein generatives maschinelles Lernmodell verwendet, um ein neues, modifiziertes Bild zu erzeugen, das dem ursprünglichen Hintergrundbild weitgehend ähnlich sein kann, jetzt aber die Kontrastfarbe in dem Textüberlappungsbereich beinhaltet, um einen besseren Kontrast zu erreichen.
  • Der Farbkontrast zwischen zwei Farben bezieht sich auf den visuellen Unterschied zwischen den beiden Farben in Bezug auf Farbton, Sättigung und Helligkeit. Zum Beispiel können eine dunkle Farbe und eine helle Farbe einen hohen Kontrast aufweisen, d.h. die dunkle Farbe und die helle Farbe unterscheiden sich in Bezug auf Farbton, Sättigung und Helligkeit stark voneinander. Ein hoher Kontrast zwischen zwei Farben kann dafür sorgen, dass sich Text deutlich von einem Hintergrund abhebt und gut lesbar ist. Ein geringer Kontrast zwischen zwei Farben bedeutet, dass der Unterschied zwischen den beiden Farben nicht so auffällig ist, was dazu führen kann, dass der Text schwerer zu lesen ist und sich weniger von einem Hintergrund abhebt.
  • In manchen Fällen kontrastiert eine zweite Farbe mit einer ersten Farbe, wenn die beiden Farben einen ausreichenden Kontrast aufweisen, so dass ein visueller Unterschied entsteht, der die beiden Farben voneinander abhebt und leicht lesbar macht.
  • In manchen Ausführungsformen wird für die panoptische Segmentierung ein HSV-Farbraum (Hue-Saturation-Value) verwendet, jedoch ist die Offenbarung nicht notwendigerweise darauf beschränkt. Im Gegensatz zu dem RGB-Farbmodus, der Farbe als eine Kombination von roten, grünen und blauen Lichtintensitäten darstellt, stellt das HSV-Farbmodell Farbe als eine Kombination von Farbton, Sättigung und Wert (Helligkeit) dar. Die Verwendung des HSV-Farbraums bietet eine Möglichkeit, Farbinformationen intuitiv zu bearbeiten, da die Farbinformationen (Farbton und Sättigung) von den Leuchtdichte-Informationen (Wert) getrennt werden. Diese Trennung von Farb- und Leuchtdichte-Informationen ermöglicht die unabhängige Einstellung von Farbton, Sättigung und Wert und erleichtert die Durchführung von Bildverarbeitungsaufgaben, einschließlich der Farbsegmentierung.
  • In manchen Fällen können Objekte vermittels der panoptischen Segmentierung nicht sicher identifiziert werden und können daher nicht genau eingefärbt werden, bevor Gauß'sches Rauschen angewendet wird. So kann das Bild zum Beispiel keine unterscheidbaren Objekte beinhalten. In diesen Fällen sind Ausführungsformen derart konfiguriert, dass sie „Superpixel“ aus dem Originalbild extrahieren, d.h. Blöcke des Originalbilds mit einer Durchschnittsfarbe, die außerhalb eines vorbestimmten Bereichs in einem Farbraum wie zum Beispiel HSV liegt. Dann werden diese Superpixel in den Textüberlappungsbereichen angewendet, farbiges Gauß'sches Rauschen wird weiter angewendet, und das resultierende veränderte Bild wird als Bedingung für das generative maschinelle Lernmodell bereitgestellt, um das neue Hintergrundbild zu erzeugen.
  • In manchen Ausführungsformen wird das zugrunde liegende Bild durch eine Kombination aus weißem Gauß-Rauschen und farbigem Gauß-Rauschen ersetzt, wobei das farbige Rauschen eine Farbe beinhaltet, die mit dem Text kontrastiert. Der Begriff „farbig“ im farbigen Rauschen bezieht sich auf die Tatsache, dass das Rauschen einen relativ hohen Anteil einer Farbe beinhaltet und nicht ein zufälliges Graustufenrauschen ist. In manchen Ausführungsformen wird das farbige Gauß'sche Rauschen zum Beispiel in einem Bereich platziert, der sich mit dem Text in der endgültigen Komposition bzw. Zusammensetzung überschneidet, und es werden ein oder mehrere Bilder erzeugt, die kontrastreiche Farben in den Bereichen beinhalten, die sich mit dem Text überschneiden. Die ein oder mehreren Bilder können als Gestaltungsvarianten für einen bestimmten Text verwendet werden.
  • Entsprechend verbessern die Ausführungsformen den Grafikdesignprozess, indem sie eine Bildharmonisierungsmethode bereitstellen, welche die Designmerkmale eines Eingabetextes nicht zerstört. Dadurch können Grafikdesigner eine Designsprache beachten, die zum Beispiel von einer bestimmten Marke vorgegeben wird, und gleichzeitig zusammengesetzte Designs mit lesbarem Text erstellen.
  • Ein Bildbearbeitungssystem wird unter Bezugnahme auf 1-2 beschrieben. Verfahren zur Erzeugung von Grafikdesigns unter Verwendung des Bildbearbeitungssystems werden unter Bezugnahme auf die 3-8 beschrieben. Ein generatives maschinelles Lernmodell, das von dem Bildbearbeitungssystem verwendet wird, wird unter Bezugnahme auf die 9-12 beschrieben. Eine Rechenvorrichtung, die zur Implementierung des Bildbearbeitungssystems verwendet werden kann, wird unter Bezugnahme auf 13 beschrieben.
  • Bildbearbeitungssystem
  • Beschrieben wird eine Vorrichtung zur Harmonisierung von Text und Hintergrundbildern. Ein oder mehrere Aspekte der Vorrichtung umfassen einen Prozessor; einen Speicher, der Befehle beinhaltet, die von dem Prozessor ausführbar sind, um Operationen durchzuführen, die Folgendes umfassen: Erhalten eines Bilds und eines Textes, der das Bild überlappt, wobei der Text eine erste Farbe umfasst; Auswählen einer zweiten Farbe, die mit der ersten Farbe kontrastiert; und Erzeugen eines Hintergrundbilds für den Text auf Grundlage der zweiten Farbe unter Verwendung eines maschinellen Lernmodells, wobei das Hintergrundbild die zweite Farbe in einem Bereich umfasst, der dem Text entspricht.
  • Manche Beispiele der Vorrichtung, des Systems und des Verfahrens umfassen zudem eine Segmentierungskomponente, die derart konfiguriert ist, dass sie das Bild segmentiert, um ein oder mehrere Objekte zu identifizieren. Manche Beispiele umfassen zudem eine Rauschkomponente, die derart konfiguriert ist, dass sie dem Bild in dem Bereich, der dem Text entspricht, Rauschen hinzufügt.
  • Manche Beispiele der Vorrichtung, des Systems und des Verfahrens umfassen zudem eine Superpixelkomponente, die derart konfiguriert ist, dass sie eine Vielzahl von Superpixeln aus dem Bereich extrahiert, der dem Text entspricht. Manche Beispiele umfassen zudem eine Kombinationskomponente, die konfiguriert ist, das Bild und das Hintergrundbild zu kombinieren, um ein kombiniertes Bild zu erhalten. In manchen Aspekten umfasst das maschinelle Lernmodell ein generatives Diffusionsmodell.
  • 1 zeigt ein Beispiel für ein Bildbearbeitungssystem gemäß den Aspekten der vorliegenden Offenbarung. Das gezeigte Beispiel umfasst ein Bildbearbeitungsvorrichtung 100, eine Datenbank 105, ein Netzwerk 110 und eine Benutzeroberfläche 115.
  • In einem Beispiel stellt ein Nutzer dem Bildbearbeitungsvorrichtung 100 über die Nutzerschnittstelle 115 einen Entwurf bereit, der einen Text und ein Bild beinhaltet. Dann erzeugt das System ein Rauschbild auf Grundlage des Bilds und des Textes als Eingabe für ein maschinelles Lernmodell. Das maschinelle Lernmodell verwendet das Rauschbild als Bedingung für die Erzeugung eines neuen Hintergrundbilds. Das Rauschbild kann zum Beispiel Rauschen enthalten, das in einem oder mehreren Bereichen unterhalb des Textes konzentriert ist, und das maschinelle Lernmodell kann die nicht verrauschten Teile des Bilds mit minimalen Änderungen übertragen, während es in den verrauschten Teilen einen Kontrast einbringt. In manchen Fällen werden eine oder mehrere Komponenten oder Aspekte der Bildbearbeitungsvorrichtung 100 in der Datenbank 105 gespeichert, wie zum Beispiel Modellparameter, Referenzbilder und dergleichen, und solche Informationen werden zwischen der Bildbearbeitungsvorrichtung 100 und der Datenbank 105 über das Netzwerk 110 ausgetauscht. Die Bildbearbeitungsvorrichtung 100 stellt dem Nutzer dann das neu erzeugte Bild über die Benutzeroberfläche 115 bereit.
  • In manchen Beispielen sind eine oder mehrere Komponenten der Bildbearbeitungsvorrichtung 100 auf einem Server implementiert. Ein Server stellt eine oder mehrere Funktionen für Nutzer bereit, die über eines oder mehrere der verschiedenen Netzwerke 110 verbunden sind. In manchen Fällen beinhaltet der Server eine einzige Mikroprozessorplatine, die einen Mikroprozessor aufweist, der für die Steuerung aller Aspekte des Servers verantwortlich ist. In manchen Fällen verwendet ein Server Mikroprozessoren und Protokolle, um Daten mit anderen Vorrichtungen/Nutzern in einem oder mehreren der Netzwerke 110 über das Hypertext Transfer Protocol (HTTP) und das Simple Mail Transfer Protocol (SMTP) auszutauschen, obwohl auch andere Protokolle wie das File Transfer Protocol (FTP) und das Simple Network Management Protocol (SNMP) verwendet werden können. In manchen Fällen ist ein Server derart konfiguriert, dass er mit Hypertext Markup Language (HTML) formatierte Dateien (zum Beispiel zur Anzeige von Webseiten) senden und empfangen kann. In verschiedenen Ausführungsformen ist ein Server aus einem Universalcomputer, einem Personal Computer, einem Laptop, einem Großrechner, einem Supercomputer oder einer anderen geeigneten Verarbeitungsvorrichtung gebildet.
  • Die von dem Bildbearbeitungssystem verwendeten Daten umfassen generative Modelle für maschinelles Lernen, Trainingsdaten, zwischengespeicherte Bilder, Schriftarten, Designelemente und dergleichen. In manchen Fällen umfasst die Datenbank 105 einen Datenspeicher und einen Server, der die Ausgabe von Daten und Inhalten verwaltet. Eine Datenbank ist eine organisierte Sammlung von Daten. Zum Beispiel speichert eine Datenbank Daten in einem bestimmten Format, das als Schema bezeichnet wird. Eine Datenbank kann als einzelne Datenbank, als verteilte Datenbank, als mehrere verteilte Datenbanken oder als Notfallsicherungsdatenbank strukturiert sein. In manchen Fällen kann ein Datenbank-Controller die Datenspeicherung und -verarbeitung in der Datenbank 105 verwalten. In manchen Fällen interagiert ein Nutzer mit der Datenbanksteuerung. In anderen Fällen kann die Datenbanksteuerung automatisch und ohne Nutzerinteraktion arbeiten.
  • Das Netzwerk 110 erleichtert die Übertragung von Informationen zwischen einem Nutzer, der Datenbank 105 und der Bildbearbeitungsvorrichtung 100. Das Netzwerk 110 kann als „Cloud“ bezeichnet werden. Eine „Cloud“ ist ein Computernetzwerk, das derart konfiguriert ist, dass es die Verfügbarkeit von Computersystemressourcen, wie zum Beispiel Datenspeicher und Rechenleistung, auf Abruf bereitstellt. In manchen Beispielen stellt die Cloud Ressourcen ohne aktive Verwaltung durch den Nutzer bereit. Der Begriff „Cloud“ wird manchmal verwendet, um Datenzentren zu beschreiben, die vielen Nutzern über das Internet zur Verfügung stehen. In manchen großen Cloud-Netzwerken sind die Funktionen von zentralen Servern aus über mehrere Standorte verteilt. Ein Server wird als Edge-Server bezeichnet, wenn er eine direkte oder nahe Verbindung zu einem Nutzer hat. In manchen Fällen ist eine Cloud auf eine einzige Organisation beschränkt. In anderen Beispielen ist die Cloud für viele Organisationen verfügbar. In einem Beispiel umfasst eine Cloud ein mehrschichtiges Kommunikationsnetz mit mehreren Edge-Routern und Core-Routern. In einem anderen Beispiel basiert eine Cloud auf einer lokalen Sammlung von Switches an einem einzigen physischen Standort.
  • Gemäß manchen Aspekten erhält die Bildbearbeitungsvorrichtung 100 ein Bild und Text, der das Bild überlappt, wobei der Text eine erste Farbe beinhaltet. In manchen Beispielen überlappt das Bildbearbeitungsvorrichtung 100 den Text mit dem modifizierten Bild, um ein zusammengesetztes Bild zu erhalten. In manchen Fällen beinhaltet das Überlagern des Textes auf dem geänderten Bild das Kombinieren des Textes und des geänderten Bilds zu einem einzigen Bild, indem das ursprüngliche Textbild genommen und über das geänderte Bild gelegt wird, was zu einem zusammengesetzten Bild führt, in dem sowohl der Text als auch der Hintergrund sichtbar sind. Bei der Überlagerung kann zum Beispiel eine Maske für den Text erstellt und mit dem geänderten Bild überlappt werden, so dass der Text nahtlos in den Hintergrund übergeht. Das Ergebnis ist ein neues Bild, bei dem der Text über das geänderte Bild gelegt wird.
  • Gemäß manchen Aspekten umfasst die Bildbearbeitungsvorrichtung 100 ein nichtflüchtiges computerlesbares Medium, das einen Code speichert, der zur Durchführung der hier beschriebenen Verfahren konfiguriert ist. Die Bildbearbeitungsvorrichtung 100 ist ein Beispiel für das entsprechende Element, das unter Bezugnahme auf 2 beschrieben ist, oder beinhaltet Aspekte davon.
  • 2 zeigt ein Beispiel einer Bildbearbeitungsvorrichtung 200 gemäß den Aspekten der vorliegenden Offenbarung. Das gezeigte Beispiel umfasst eine Bildbearbeitungsvorrichtung 200, einen Extraktor für kontrastreiche Farben 205, eine Segmentierungskomponente 210, eine Superpixelkomponente 215, eine Rauschkomponente 220, eine Maskenkomponente 225, ein maschinelles Lernmodell 230 und eine Kombinationskomponente 235. Die Bildbearbeitungsvorrichtung 200 ist ein Beispiel für das entsprechende Element, das unter Bezugnahme auf 1 beschrieben ist, oder beinhaltet Aspekte davon.
  • Ausführungsformen der Bildbearbeitungsvorrichtung 200 umfassen mehrere Komponenten. Der Begriff „Komponente“ wird verwendet, um die Funktionalität zu unterteilen, die durch die Prozessoren und die ausführbaren Anweisungen in der Rechenvorrichtung ermöglicht wird, die zur Implementierung der Bildbearbeitungsvorrichtung 200 verwendet wird (wie zum Beispiel die unter Bezugnahme auf 13 beschriebene Rechenvorrichtung). Die Unterteilungen können physisch implementiert werden, zum Beispiel durch die Verwendung von separaten Schaltkreisen oder Prozessoren für jede Komponente, oder sie können logisch über die Architektur des von den Prozessoren ausführbaren Codes implementiert werden.
  • Eine oder mehrere Komponenten der Bildbearbeitungsvorrichtung 200 verwenden trainierte Modelle. In einem Beispiel umfasst zumindest das maschinelle Lernmodell 230 ein trainiertes Modell, aber die vorliegende Offenbarung ist nicht unbedingt darauf beschränkt. Das maschinelle Lernmodell kann ein künstliches neuronales Netzwerk (ANN) umfassen. Ein ANN ist eine Hardware- oder Softwarekomponente, die eine Reihe von miteinander verbundenen Knoten (d. h. künstliche Neuronen) beinhaltet, die in etwa den Neuronen im menschlichen Gehirn entsprechen. Jede Verbindung oder Kante überträgt ein Signal von einem Knoten zu einem anderen (wie die physischen Synapsen in einem Gehirn). Wenn ein Knoten ein Signal empfängt, verarbeitet er es und sendet es dann an andere angeschlossene Knoten weiter. In manchen Fällen bestehen die Signale zwischen den Knoten aus reellen Zahlen, und die Ausgabe jedes Knotens wird durch eine Funktion der Summe seiner Eingänge berechnet. In manchen Beispielen können die Knoten ihre Ausgabe vermittels anderer mathematischer Algorithmen (zum Beispiel Auswahl des Maximums der Eingänge als Ausgabe) oder eines anderen geeigneten Algorithmus zur Aktivierung des Knotens bestimmen. Jedem Knoten und jeder Kante sind ein oder mehrere Knotengewichte zugeordnet, die bestimmen, wie das Signal verarbeitet und übertragen wird.
  • Während des Trainingsprozesses werden diese Gewichte angepasst, um die Genauigkeit des Ergebnisses zu verbessern (d.h. durch Minimierung einer Verlustfunktion, die der Differenz zwischen dem aktuellen Ergebnis und dem Zielergebnis entspricht). Die Gewichtung einer Kante erhöht oder vermindert die Stärke des zwischen den Knoten übertragenen Signals. In manchen Fällen haben die Knoten einen Schwellenwert, unterhalb dessen ein Signal überhaupt nicht übertragen wird. In manchen Beispielen werden die Knoten in Schichten zusammengefasst. Die verschiedenen Schichten führen unterschiedliche Transformationen an ihren Eingängen durch. Die erste Schicht wird als Eingabeschicht und die letzte Schicht als Ausgabeschicht bezeichnet. In manchen Fällen durchlaufen die Signale eine oder mehrere Schichten mehrfach.
  • In manchen Ausführungsformen umfasst das maschinelle Lernmodell 230 ein faltungsneuronales Netzwerk (CNN). Ein CNN ist eine Klasse von neuronalen Netzwerken, die üblicherweise in Computer-Vision- oder Bildklassifizierungssystemen verwendet wird. In manchen Fällen kann ein CNN die Verarbeitung von digitalen Bildern mit minimaler Vorverarbeitung ermöglichen. Ein CNN kann durch die Verwendung von Faltungsschichten (oder Kreuzkorrelationsschichten) gekennzeichnet sein. Diese Schichten wenden eine Faltungsoperation auf die Eingabe an, bevor sie das Ergebnis an die nächste Schicht weiterleiten. Jeder Faltungs-Knoten kann Daten für ein begrenztes Feld von Eingaben (d. h. das rezeptive Feld) verarbeiten. Während eines Vorwärtsdurchlaufs des CNN können die Filter in jeder Schicht über das Eingangsvolumen gefaltet werden, wobei das Punktprodukt zwischen dem Filter und dem Eingang berechnet wird. Während des Trainingsprozesses können die Filter so modifiziert werden, dass sie aktiviert werden, wenn sie ein bestimmtes Merkmal in der Eingabe erkennen.
  • Gemäß manchen Aspekten erzeugt das maschinelle Lernmodell 230 ein modifiziertes Bild für den Text auf Grundlage der zweiten Farbe, wobei das modifizierte Bild die zweite Farbe in einem Bereich beinhaltet, der dem Text entspricht. Der Bereich, der dem Text entspricht, kann der Bereich des Bilds sein, der den Text beinhaltet. Dieser Bereich kann zum Beispiel durch Beschneiden des Bilds auf Grundlage der Position und Größe des Textes erhalten werden. In manchen Aspekten umfasst das maschinelle Lernmodell 230 ein generatives Diffusionsmodell. Weitere Einzelheiten zu einem generativen Diffusionsmodell werden unter Bezugnahme auf die beschrieben.
  • Der Kontrast-Extraktor 205 ist eine Komponente oder ein Befehlssatz, der derart konfiguriert ist, dass er aus dem Eingabebild eine Farbe extrahiert, die mit dem Eingabetext kontrastiert. Gemäß manchen Aspekten wählt der Kontrast-Extraktor 205 eine zweite Farbe aus, die im Kontrast zur ersten Farbe steht. In manchen Beispielen erzeugt der Kontrast-Extraktor 205 eine Farbpalette, die auf einem Bereich des Bilds basiert, der sich mit dem Text überschneidet, wobei die zweite Farbe aus der Farbpalette ausgewählt wird. Verfahren zur Extraktion von Kontrastfarben werden unter Bezugnahme auf 3 beschrieben.
  • Die Segmentierungskomponente 210 ist derart konfiguriert, dass sie eine panoptische Segmentierung des Eingangsbilds vornimmt. Die panoptische Segmentierung umfasst sowohl die semantische Segmentierung als auch die Instanz-Segmentierung und wird als „einheitlicher Segmentierungsansatz“ betrachtet. Das Ziel der panoptischen Segmentierung liegt darin, Objekte in dem Bild zu extrahieren, zu kennzeichnen und zu klassifizieren.
  • Gemäß manchen Aspekten segmentiert die Segmentierungskomponente 210 das Bild, um ein oder mehrere Objekte zu identifizieren, die den Text überlappen, d.h. ein oder mehrere Objekte in einem Textbereich. In manchen Beispielen wendet die Segmentierungskomponente 210 eine kontrastreiche Farbe auf das eine oder die mehreren Objekte an, um ein erstes modifiziertes Bild zu erhalten, wobei das modifizierte Bild auf Grundlage des ersten modifizierten Bilds erzeugt wird.
  • In manchen Beispielen berechnet die Segmentierungskomponente 210 eine Wahrscheinlichkeitsbewertung für das eine oder die mehreren Objekte, der die Wahrscheinlichkeit für das Vorhandensein des einen oder der mehreren Objekte angibt. In manchen Beispielen bestimmt die Segmentierungskomponente 210 eine geringe Wahrscheinlichkeit für das Vorhandensein des einen oder der mehreren Objekte auf Grundlage der Wahrscheinlichkeitsbewertung. In diesem Fall können Ausführungsformen damit fortfahren, das Bild gemäß Zweig B in der zweiten Stufe eines ersten Algorithmus zur Vorverarbeitung zu verarbeiten, wie unter Bezugnahme auf 5 beschrieben.
  • Gemäß manchen Aspekten extrahiert die Superpixelkomponente 215 einen Satz von Superpixeln aus dem Bereich des Bilds, der den Text überlappt, auf Grundlage der Bestimmung der geringen Wahrscheinlichkeit, wobei ein zwischenzeitlich verarbeitetes Bild den Satz von Superpixeln beinhaltet. Superpixel sind Blöcke des Originalbilds mit einer durchschnittlichen Farbe, die außerhalb eines vorbestimmten Bereichs in einem Farbraum, wie zum Beispiel HSV, liegt. Wenn das System zum Beispiel nicht in der Lage ist, Objekte innerhalb des Bereichs, der den Text überlappt, sicher zu färben, kann das System stattdessen eine Textur einfügen, welche die Superpixel in dem Bereich beinhaltet, und dann Rauschen zu dem Bereich hinzufügen, um ein Rauschbild als Eingabe für das maschinelle Lernmodell 230 zu erzeugen. Weitere Einzelheiten zu diesem Verfahren werden unter Bezugnahme auf 5 beschrieben.
  • Die Rauschkomponente 220 ist derart konfiguriert, dass sie Rauschinformationen zum Beispiel in einem Pixelraum erzeugt. Die Rauschkomponente 220 kann ein Rauschen erzeugen, das zum Beispiel einer Gauß'schen Funktion entspricht. Gemäß manchen Aspekten fügt die Rauschkomponente 220 dem Bild in dem Bereich, der dem Text entspricht, Rauschen hinzu, um ein Rauschbild zu erhalten, wobei das modifizierte Bild auf Grundlage des Rauschbilds erzeugt wird. In manchen Aspekten beinhaltet zumindest ein Teil des Rauschens farbiges Rauschen, das der zweiten Farbe entspricht.
  • Gemäß manchen Aspekten erzeugt die Maskenkomponente 225 eine Maske, die den Bereich angibt, der dem Text entspricht, wobei das Rauschen dem Bild auf Grundlage der Maske hinzugefügt wird. Die Maske kann Dimension, Form, Ausrichtung, Platzierung oder andere Informationen aus dem Text verwenden, um die Maske zu erzeugen. In manchen Fällen erhält die Maskenkomponente 225 vor der Erzeugung der Maske Rauschinformationen von der Rauschkomponente 220.
  • In zumindest einer Ausführungsform wird nicht das gesamte Bild, sondern eine Teilmenge des Eingangsbilds für die Eingabe in das maschinelle Lernmodell 230 verarbeitet. In diesem Fall führt das maschinelle Lernmodell 230 ein „Inpainting“ durch, indem es ein modifiziertes Bild erzeugt, das kleiner ist als das Bild und die Abmessungen der Untermenge aufweist. Gemäß manchen Aspekten kombiniert die Kombinationskomponente 235 das Bild und das modifizierte Bild, um ein kombiniertes Bild zu erhalten.
  • Eine oder mehrere Ausführungsformen des oben beschriebenen Systems umfassen ein nicht-flüchtiges computerlesbares Medium, das Code speichert, wobei der Code Anweisungen umfasst, die von einem Prozessor ausführbar sind, um ein Bild und Text, der das Bild überlappt, zu erhalten, wobei der Text eine erste Farbe umfasst; eine zweite Farbe aus einem Bereich des Bilds, der den Text überlappt, auszuwählen, wobei die zweite Farbe mit der ersten Farbe kontrastiert; und ein modifiziertes Bild für den Text auf Grundlage der zweiten Farbe unter Verwendung eines maschinellen Lernmodells zu erzeugen, wobei das modifizierte Bild die zweite Farbe in einem dem Text entsprechenden Bereich beinhaltet.
  • Manche Beispiele des nicht-flüchtigen computerlesbaren Mediums enthalten zudem einen Code, der ausführbar ist, um das Bild zu segmentieren, um ein oder mehrere Objekte zu identifizieren, die den Text überlappen. Manche Beispiele umfassen ferner einen ausführbaren Code, um die zweite Farbe auf das eine oder die mehreren Objekte anzuwenden, um ein erstes modifiziertes Bild zu erhalten, wobei das modifizierte Bild auf Grundlage des ersten modifizierten Bilds erzeugt wird.
  • Manche Beispiele des nicht-flüchtigen computerlesbaren Mediums enthalten zudem Code, der ausführbar ist, um eine Wahrscheinlichkeitsbewertung für das eine oder die mehreren Objekte zu berechnen, welche die Wahrscheinlichkeit des Vorhandenseins des einen oder der mehreren Objekte angibt. Manche Beispiele enthalten Zudem einen ausführbaren Code, um eine geringe Wahrscheinlichkeit für das Vorhandensein des einen oder der mehreren Objekte auf Grundlage der Wahrscheinlichkeitsbewertung zu bestimmen. Manche Beispiele umfassen ferner einen Code, der ausführbar ist, um eine Vielzahl von Superpixeln aus dem Bereich des Bilds, der den Text überlappt, auf Grundlage der Bestimmung zu extrahieren, wobei das erste modifizierte Bild die Vielzahl von Superpixeln beinhaltet.
  • Manche Beispiele des nicht-flüchtigen computerlesbaren Mediums umfassen ferner einen Code, der ausführbar ist, um dem Bild in dem Bereich, der dem Text entspricht, Rauschen hinzuzufügen, um ein Rauschbild zu erhalten, wobei das modifizierte Bild auf Grundlage des Rauschbilds erzeugt wird.
  • Manche Beispiele enthalten zudem einen ausführbaren Code, um das Bild und das modifizierte Bild zu kombinieren, um ein kombiniertes Bild zu erhalten. Manche Beispiele enthalten zudem einen ausführbaren Code zum Überlagern des Textes über das modifizierte Bild, um ein zusammengesetztes Bild zu erhalten.
  • Erzeugen von Designs
  • Beschrieben wird ein Verfahren zur Harmonisierung von Text und Hintergrundbildern. Ein oder mehrere Aspekte des Verfahrens umfassen das Erhalten eines Bilds und eines Textes, der das Bild überlappt, wobei der Text eine erste Farbe umfasst; das Auswählen einer zweiten Farbe, die mit der ersten Farbe kontrastiert; und das Erzeugen eines modifizierten Bilds für den Text auf Grundlage der zweiten Farbe unter Verwendung eines maschinellen Lernmodells, wobei das modifizierte Bild die zweite Farbe in einem dem Text entsprechenden Bereich beinhaltet.
  • Manche Beispiele des Verfahrens, der Vorrichtung, des nichtflüchtigen computerlesbaren Mediums und des Systems umfassen zudem das Erzeugen einer Farbpalette auf Grundlage eines Bereichs des Bilds, der den Text überlappt, wobei die zweite Farbe aus der Farbpalette ausgewählt wird. Manche Beispiele des Verfahrens, der Vorrichtung, des nicht-flüchtigen computerlesbaren Mediums und des Systems umfassen ferner das Segmentieren des Bilds, um ein oder mehrere Objekte zu identifizieren, die den Text überlappen. Manche Beispiele umfassen ferner das Anwenden der zweiten Farbe auf das eine oder die mehreren Objekte, um ein erstes modifiziertes Bild zu erhalten, wobei das modifizierte Bild auf Grundlage des ersten modifizierten Bilds erzeugt wird.
  • Manche Beispiele umfassen ferner das Hinzufügen von Rauschen zu dem Bild in dem Bereich, der dem Text entspricht, um ein Rauschbild zu erhalten, wobei das modifizierte Bild auf Grundlage des Rauschbilds erzeugt wird. Manche Beispiele umfassen ferner das Erzeugen einer Maske, die den dem Text entsprechenden Bereich angibt, wobei das Rauschen dem Bild auf Grundlage der Maske hinzugefügt wird. In manchen Aspekten umfasst zumindest ein Teil des Rauschens farbiges Rauschen, das der zweiten Farbe entspricht.
  • Manche Beispiele des Verfahrens, der Vorrichtung, des nicht-flüchtigen computerlesbaren Mediums und des Systems umfassen zudem die Kombination des Bilds und des modifizierten Bilds, um ein kombiniertes Bild zu erhalten. Zum Beispiel kann das modifizierte Bild einem Teilbereich des Bilds entsprechen und mit dem Bild kombiniert werden, um ein kombiniertes Bild zu erhalten, das als modifiziertes Bild im endgültigen Entwurf verwendet wird. In manchen Beispielen wird der Text über das modifizierte Bild gelegt, um ein zusammengesetztes Bild zu erhalten.
  • Die vorliegende Offenbarung stellt zwei Hauptalgorithmen bereit, die das System zur Ausführung an einem Eingabeentwurf konfiguriert, aber es wird deutlich, dass die Teilschritte auf unterschiedliche Weise kombiniert werden können, um Variationen der hier beschriebenen Algorithmen zu erzeugen. 3 zeigt ein Beispiel eines Verfahrens 300 für eine erste Stufe in einem ersten Algorithmus zur Bildharmonisierung gemäß den Aspekten der vorliegenden Offenbarung. Die erste Stufe kann als „Vorverarbeitungsstufe“ oder Teil des Algorithmus bezeichnet werden. In manchen Beispielen werden diese Vorgänge von einem System durchgeführt, das einen Prozessor beinhaltet, der eine Reihe von Codes zur Steuerung von Funktionselementen einer Vorrichtung ausführt. Zusätzlich oder alternativ werden ein oder mehrere Prozesse vermittels spezieller Hardware ausgeführt. Im Allgemeinen werden diese Vorgänge gemäß den Methoden und Verfahren durchgeführt, die gemäß den Aspekten der vorliegenden Offenbarung beschrieben werden. In manchen Fällen sind die hier beschriebenen Vorgänge aus verschiedenen Teilschritten zusammengesetzt oder werden in Verbindung mit anderen Vorgängen ausgeführt.
  • In Vorgang 305 erhält das System ein Bild mit unkenntlichem Text. Zum Beispiel kann ein Nutzer dem System das Bild und den unkenntlichen Text über eine Nutzerschnittstelle wie eine grafische Benutzeroberfläche (GUI) zur Verfügung stellen. Die GUI kann eine Komponente eines Illustrator-Programms oder einer Web-App sein.
  • In Vorgang 310 identifiziert das System den Bereich bzw. die Bereiche des Eingabebilds, die dem Text entsprechen. Der/die Bereich(e) umfasst/umfassen den Bereich, der durch den Text abgedeckt wird, und kann/können Zudem eine Auffüllung umfassen, die sich geringfügig über den Text hinaus erstreckt. Der Bereich, der dem Text entspricht, kann der Bereich des Bilds sein, der den Text beinhaltet. Dieser Bereich kann zum Beispiel durch Beschneiden des Bilds auf Grundlage der Position und Größe des Textes ermittelt werden. In manchen Fällen umfasst der Bereich, der dem Text entspricht, auch Teile des Bilds, die nicht unter dem Text liegen oder vom Text bedeckt sind.
  • In Vorgang 315 erstellt das System eine Farbpalette mit den dominanten Farben der Bereiche. Die Vorgänge dieses Schritts beziehen sich auf einen Extraktor für kontrastreiche Farben, wie in 2 beschrieben, oder können von diesem durchgeführt werden. In manchen Ausführungsformen werden die Farben mithilfe eines Clustering-Algorithmus im Lab-Farbraum des Bilds extrahiert. Der Lab-Raum ist eine Art Farbraum, in dem „L“ ein Spektrum von Helligkeitswerten, „a“ ein Spektrum von Rot/Grün-Werten und „b“ ein Spektrum von Blau/Gelb-Werten ist. Der Clustering-Algorithmus gruppiert ähnliche Farben auf Grundlage ihrer Helligkeitswerte, ihres Rot-Grün-Spektrums und ihres Blau-Gelb-Spektrums im Lab-Farbraum zu Clustern zusammen. Sobald die Farben in Clustern gruppiert wurden, werden die dominanten Farben aus diesen Clustern extrahiert.
  • In manchen Ausführungsformen werden die dominanten Farben in der/den Region(en) extrahiert und nach einem Kontrastverhältnis R sortiert. Ein Beispiel für R ist in Gleichung 1 angegeben: R = L 1 + 0,05 L 2 + 0,05
    Figure DE102023120385A1_0001
    wobei L1 die relative Leuchtdichte der helleren der Vordergrund- oder Hintergrundfarben ist und L2 die relative Leuchtdichte der dunkleren der Vorder- oder Hintergrundfarben ist. Die relative Leuchtdichte ist ein Maß für die Helligkeit einer Farbe im Verhältnis zur Helligkeit einer Referenzfarbe. In einem Beispiel ist die relative Leuchtdichte der helleren Farbe L1 die Helligkeit der helleren Farbe in dem Bild im Verhältnis zur Helligkeit einer Referenzfarbe. Die relative Leuchtdichte der dunkleren Farbe L2 ist die Helligkeit der dunkleren Farbe in dem Bild, bezogen auf die Helligkeit der Referenzfarbe.
  • In Vorgang 320 wählt das System die Farbe C mit dem höchsten Kontrast in Bezug auf die Textfarbe aus. Die Farbe C kann aus der Palette der Farben ausgewählt werden, die durch das oben beschriebene Verfahren erzeugt wurden. In Fällen, in denen es keine Farbe in dem/den Bereich(en) mit dem Schwellenwert R gibt, können Ausführungsformen eine kontrastreiche Farbe aus dem Lab-Raum auswählen.
  • In Vorgang 325 führt das System eine panoptische Segmentierung des Bilds durch. Das Ziel der panoptischen Segmentierung ist es, Objekte in dem Bild zu extrahieren, zu kennzeichnen und zu klassifizieren. In manchen Fällen erzeugt die panoptische Segmentierung ein oder mehrere zusätzliche Bilder, die Segmentierungsmasken sind. In manchen Fällen umfasst Vorgang 325 die gleichzeitige und einheitliche Segmentierung sowohl des Hintergrunds (zum Beispiel des umgebenden Kontexts, wie Himmel, Gras oder Bürgersteig) als auch der Objekte (zum Beispiel der Instanzen, wie Personen, Autos oder Gebäude). Zum Beispiel führt Vorgang 325 eine gleichzeitige und einheitliche Segmentierung sowohl des Hintergrunds als auch des Textes durch. In manchen Fällen umfasst Vorgang 325 die Analyse eines Bilds und die Erstellung einer Kennzeichenkarte, die das Bild in mehrere Bereiche mit jeweils einer entsprechenden Klassenbezeichnung unterteilt.
  • In Vorgang 330 bestimmt das System Wahrscheinlichkeitsbewertungen für ein oder mehrere Objekte in dem Bild, die sich mit dem/den Bereich(en) überlappen. Die Wahrscheinlichkeitsbewertungen werden durch den panoptischen Segmentierungsvorgang erzeugt und geben die Zuverlässigkeit der Segmentierung für jedes Objekt an. Die Wahrscheinlichkeitsbewertungen können bei Objekten mit unscharfen Rändern, Objekten mit ähnlichen Farben wie die Hintergrundelemente usw. niedriger sein. In manchen Fällen ändert das Ergebnis der Bestimmung den logischen Pfad des Algorithmus in seiner zweiten Stufe.
  • In Vorgang 335 bestimmt das System, dass die Summe der Wahrscheinlichkeitsbewertungen einen Schwellenwert überschreitet, und geht zu Pfad A über, der unter Bezugnahme auf 4 beschrieben wird. Wenn das System bestimmt, dass die Gesamtheit der Wahrscheinlichkeitsbewertungen den Schwellenwert nicht erreicht, geht das System bei Vorgang 340 zu Pfad B über. Pfad B wird unter Bezugnahme auf 5 beschrieben.
  • 4 zeigt ein Beispiel eines Verfahrens 400 für den Zweig A in der zweiten Stufe des ersten Algorithmus gemäß den Aspekten der vorliegenden Offenbarung. In manchen Beispielen werden diese Vorgänge von einem System mit einem Prozessor ausgeführt, der eine Reihe von Codes zur Steuerung von Funktionselementen einer Vorrichtung ausführt. Zusätzlich oder alternativ werden ein oder mehrere Prozesse vermittels spezieller Hardware ausgeführt. Im Allgemeinen werden diese Vorgänge gemäß den Methoden und Verfahren durchgeführt, die gemäß den Aspekten der vorliegenden Offenbarung beschrieben werden. In manchen Fällen bestehen die hier beschriebenen Vorgänge aus verschiedenen Teilschritten oder werden in Verbindung mit anderen Vorgängen ausgeführt.
  • In Vorgang 405 färbt das System Objekte, die sich mit dem/den Bereich(en) mit Farbe C überschneiden, auf Grundlage einer Segmentierungsmaske ein. Die Vorgänge dieses Schritts beziehen sich auf eine Segmentierungskomponente, wie in 2 beschrieben, oder können von dieser ausgeführt werden. In einem Beispiel durchläuft das System die Objekte in dem/den durch die panoptische Segmentierung identifizierten Bereich(en) und bestimmt, ob jedes Objekt eine nicht kompatible dominante Farbe hat. Für jedes Objekt mit einer nicht kompatiblen dominanten Farbe kann das System dann die Farbe C, die mit der Farbe des Textes kontrastiert, auf jedes der Objekte anwenden. Es wird angemerkt, dass die Einfärbung der Objekte auf diese Weise zu einem unnatürlich aussehenden Bild führen kann, und der Algorithmus ist hier noch nicht zu Ende.
  • In Vorgang 410 erzeugt das System eine Gauß-Maske, die dem/den durch Gauß-Rauschen unscharfen Bereich(en) entspricht. Die Vorgänge dieses Schritts beziehen sich auf eine Maskenkomponente, wie in 2 beschrieben, oder können von dieser ausgeführt werden. In einem Beispiel kann der Bereich/die Bereiche durch einen oder mehrere Begrenzungsrahmen des Textes bestimmt werden. Das System fügt den Begrenzungsrahmen Gauß'sches Rauschen hinzu, um eine Maske ähnlich der in der Abbildung dargestellten zu erstellen.
  • In Vorgang 415 fügt das System die Farbe C zu einer Gauß'schen Maske hinzu, um ein Rauschbild zu erzeugen. Die Vorgänge dieses Schritts beziehen sich auf eine Rauschkomponente, wie in 2 beschrieben, oder können von dieser ausgeführt werden. In manchen Ausführungsformen umfasst dieser Vorgang die Anwendung der Farbe C auf die Gaußmaske und die Kombination der farbigen Gaußmaske mit dem Bild, um das Rauschbild zu erzeugen, das in der Abbildung neben Vorgang 415 gezeigt wird. Bei manchen Ausführungsformen wird zudem fraktales Rauschen in Bereichen unterhalb der Textbereich(en) oder auf Flächen oder Kanten hinzugefügt, die sich ursprünglich in diesen Bereichen befanden. Das fraktale Rauschen veranlasst das generative maschinelle Lernmodell, in diesen Bereichen feine Details hinzuzufügen.
  • In Vorgang 420 erzeugt das System ein neues modifiziertes Bild unter Verwendung des Rauschbilds als Bedingung für ein generatives Diffusionsmodell und kombiniert den ursprünglichen Text mit dem neuen modifizierten Bild. In manchen Fällen ist damit der erste Algorithmus abgeschlossen, und der endgültige Entwurf wird dem Nutzer über eine Benutzeroberfläche zur Verfügung gestellt. Das generative Diffusionsmodell kann sich auf das Modell für maschinelles Lernen beziehen, wie es in 2 beschrieben ist. Weitere Einzelheiten zu generativen Diffusionsmodellen werden unter Bezugnahme auf die 9-12 beschrieben.
  • Wie in 3 beschrieben, kann das Bildbearbeitungssystem bestimmen, dass die panoptische Segmentierung auf Grundlage einer Aggregation von Wahrscheinlichkeitsbewertungen nicht erfolgreich war. In diesem Fall geht das System zu Zweig B für die zweite Stufe des ersten Algorithmus über.
  • 5 zeigt ein Beispiel für das Verfahren 500 für den Zweig B in der zweiten Stufe des ersten Algorithmus gemäß den Aspekten der vorliegenden Offenbarung. In manchen Beispielen werden diese Vorgänge von einem System mit einem Prozessor ausgeführt, der eine Reihe von Codes zur Steuerung von Funktionselementen einer Vorrichtung ausführt. Zusätzlich oder alternativ werden ein oder mehrere Prozesse vermittels spezieller Hardware ausgeführt. Im Allgemeinen werden diese Vorgänge gemäß den Methoden und Verfahren durchgeführt, die gemäß den Aspekten der vorliegenden Offenbarung beschrieben werden. In manchen Fällen bestehen die hier beschriebenen Vorgänge aus verschiedenen Teilschritten oder werden in Verbindung mit anderen Vorgängen ausgeführt.
  • In Vorgang 505 extrahiert das System kontrastreiche Superpixel aus dem Eingangsbild, welche die Farbe C enthalten. Die Vorgänge dieses Schritts beziehen sich auf eine Superpixelkomponente, wie sie unter Bezugnahme auf 2 beschrieben ist, oder können von dieser ausgeführt werden. Ein Superpixel ist ein Block oder Teilbereich des Originalbilds, dessen mittlere Farbe außerhalb eines bestimmten Bereichs im HSV-Raum liegt. Der Bereich kann durch die Farbe des eingegebenen Textes bestimmt werden und kann drei separate Bereiche für Farbton, Sättigung und Wert umfassen. In manchen Fällen, wenn innerhalb des Bereichs keine Superpixel extrahiert werden können, kann der Bereich reduziert und eine weitere Suche nach Superpixeln durchgeführt werden. Die Suche kann zum Beispiel mit einem Schiebefensterverfahren durchgeführt werden, bei dem jeder Teilbereich des Bilds in einer vorgegebenen Größe auf seine mittlere Farbe überprüft wird. In manchen Fällen kann das System Superpixel mit einer Farbe erzeugen. Wenn das System zum Beispiel nach der Reduzierung des Bereichs immer noch keine geeigneten Superpixel findet, kann es seine eigenen Superpixel mit einer Farbe, C, erzeugen.
  • In Vorgang 510 kombiniert (zum Beispiel tesseliert) das System Superpixel zu einer Textur und fügt die Textur in die Region(en) ein. Die Vorgänge dieses Schritts können sich auch auf eine Superpixelkomponente beziehen oder von dieser ausgeführt werden, wie in 2 beschrieben. Nach diesem Vorgang kann ein Zwischenbild ähnlich aussehen wie das neben Vorgang 510 in 5 gezeigte Bild.
  • In Vorgang 515 erzeugt das System eine Gauß-Maske, die dem/den durch Gauß-Rauschen unscharfen Bereich(en) entspricht. Die Vorgänge dieses Schritts beziehen sich auf eine Maskenkomponente, wie in 2 beschrieben, oder können von dieser ausgeführt werden. In einem Beispiel kann der Bereich/die Bereiche durch einen oder mehrere Begrenzungsrahmen des Textes bestimmt werden. Das System fügt den Begrenzungsrahmen Gauß'sches Rauschen hinzu, um eine Maske ähnlich der in der Abbildung dargestellten zu erstellen.
  • In Vorgang 520 verwischt das System die Textur vermittels der Gauß'schen Maske, um ein Rauschbild zu erzeugen. Dieser Schritt kann die Kombination der Gauß'schen Maske mit dem Zwischenbild beinhalten.
  • In Vorgang 525 erzeugt das System ein neues, modifiziertes Bild, wobei das Rauschbild als Bedingung für das generative Diffusionsmodell verwendet wird, und kombiniert den ursprünglichen Text mit dem neuen, modifizierten Bild. In manchen Fällen ist damit der erste Algorithmus abgeschlossen, und der endgültige Entwurf wird dem Nutzer über eine Benutzeroberfläche zur Verfügung gestellt. Das generative Diffusionsmodell kann sich auf das maschinelle Lernmodell beziehen, wie es in 2 beschrieben ist. Weitere Einzelheiten zu generativen Diffusionsmodellen werden unter Bezugnahme auf die 9-12.
  • In manchen Fällen möchte ein Nutzer ein neues Bild erzeugen, d.h. ein Bild ohne Objekte oder Merkmale aus einem früheren Bild, das als modifiziertes Bild für ein Design mit Text verwendet werden soll. In solchen Fällen sind die Ausführungsformen auch derart konfiguriert, dass sie einen zweiten Algorithmus ausführen, der reines Rauschen und farbiges Rauschen als Grundlage für die Erzeugung zusätzlicher Hintergründe verwendet, anstatt ein Rauschbild zu erzeugen, das aus Rauschen besteht, das auf ein Ausgangsbild angewendet wird.
  • 6 zeigt ein Beispiel des Verfahrens 600 für den zweiten Algorithmus zur Bildharmonisierung gemäß den Aspekten der vorliegenden Offenbarung. In manchen Beispielen werden diese Vorgänge von einem System mit einem Prozessor ausgeführt, der eine Reihe von Codes zur Steuerung von Funktionselementen einer Vorrichtung ausführt. Zusätzlich oder alternativ werden ein oder mehrere Prozesse vermittels spezieller Hardware ausgeführt. Im Allgemeinen werden diese Vorgänge gemäß den Methoden und Verfahren durchgeführt, die gemäß den Aspekten der vorliegenden Offenbarung beschrieben werden. In manchen Fällen bestehen die hier beschriebenen Vorgänge aus verschiedenen Teilschritten oder werden in Verbindung mit anderen Vorgängen ausgeführt.
  • In Vorgang 605 empfängt das System einen Entwurf mit Text. Zum Beispiel kann ein Nutzer dem System den Entwurf über eine Nutzerschnittstelle wie eine grafische Benutzeroberfläche (GUI) zur Verfügung stellen. In manchen Fällen beinhaltet der Entwurf ein Einstiegsbild. In manchen Fällen beinhaltet der Entwurf kein Startbild, wie zum Beispiel in 6 dargestellt.
  • In Vorgang 610 erzeugt das System ein reines Rauschbild und fügt zusätzliches Rauschen hinzu, das eine Farbe beinhaltet, die mit dem Text in den Bereichen des Textes kontrastiert. Die Operationen dieses Schritts beziehen sich auf eine Rauschkomponente, wie in 2 beschrieben, oder können von dieser ausgeführt werden. Zum Beispiel kann das System ein Bild mit einem vorkonfigurierten Seitenverhältnis und einer Auflösung erzeugen, das aus reinem weißen Rauschen besteht. Dann kann das System eine Farbe bestimmen, die mit der Farbe des Textes kontrastiert, zum Beispiel auf Grundlage von Verfahren, die unter Bezugnahme auf 3 beschrieben sind. Dann kann das System zusätzliches Rauschen hinzufügen, das die kontrastreiche Farbe in einem Bereich des Textes beinhaltet, zum Beispiel in einer Begrenzungsbox des Textes.
  • In Vorgang 615 erzeugt das System ein modifiziertes Bild unter Verwendung des Rauschbilds als Bedingung für ein generatives Diffusionsmodell. Das generative Diffusionsmodell kann sich auf das maschinelle Lernmodell beziehen, wie es unter Bezugnahme auf 2 beschrieben ist. Weitere Einzelheiten zu generativen Diffusionsmodellen werden unter Bezugnahme auf die 9-12 beschrieben.
  • In Vorgang 620 kombiniert das System den ursprünglichen Text mit dem geänderten Bild, um den endgültigen Entwurf zu erstellen. In manchen Fällen ist mit diesem Schritt der zweite Algorithmus abgeschlossen. Das System kann dann den endgültigen Entwurf einem Nutzer über eine Benutzeroberfläche darstellen.
  • 7 stellt einen Anwendungsfall der hier beschriebenen Ausführungsformen dar und zeigt ein Beispiel eines Verfahrens 700 zur Bereitstellung eines Entwurfs für einen Nutzer gemäß den Aspekten der vorliegenden Offenbarung. In manchen Beispielen werden diese Vorgänge von einem System ausgeführt, das einen Prozessor beinhaltet, der eine Reihe von Codes zur Steuerung von Funktionselementen einer Vorrichtung ausführt. Zusätzlich oder alternativ werden ein oder mehrere Prozesse vermittels spezieller Hardware ausgeführt. Im Allgemeinen werden diese Vorgänge gemäß den Methoden und Verfahren durchgeführt, die gemäß den Aspekten der vorliegenden Offenbarung beschrieben werden. In manchen Fällen bestehen die hier beschriebenen Vorgänge aus verschiedenen Teilschritten oder werden in Verbindung mit anderen Vorgängen ausgeführt.
  • In Vorgang 705 stellt der Nutzer ein Bild mit Text bereit. Zum Beispiel kann ein Nutzer dem System das Bild und den Text über eine Nutzerschnittstelle wie eine grafische Benutzeroberfläche (GUI) zur Verfügung stellen. Die GUI kann eine Komponente eines Illustrator-Programms oder einer Web-App sein.
  • In Vorgang 710 identifiziert das System einen Bereich, der den Text beinhaltet. Diese Information kann bereits bekannt sein oder im Begrenzungsrahmen des Textes zwischengespeichert werden.
  • In Vorgang 715 wendet das System Rauschen und eine Farbe an, die mit dem Text in dem Bereich kontrastiert. Zum Beispiel kann das System das Rauschen vermittels des Objektfärbungsverfahrens, das unter Bezugnahme auf 4 beschrieben wurde, oder des Superpixelverfahrens, das unter Bezugnahme auf 5 beschrieben wurde, anwenden.
  • In Vorgang 720 erzeugt das System ein modifiziertes Bild mit der kontrastreichen Farbe in der Region. Das System kann zur Durchführung dieses Vorgangs ein generatives maschinelles Lernmodell verwenden. Weitere Einzelheiten zu generativen Diffusionsmodellen werden unter Bezugnahme auf die 9-12 beschrieben.
  • 8 zeigt ein Beispiel eines Verfahrens 800 zur Bildbearbeitung gemäß den Aspekten der vorliegenden Offenbarung. Der Prozess der Erhöhung der Kompatibilität zwischen einem zugrunde liegenden Bild und Text wird manchmal als „Bildharmonisierung“ bezeichnet. In manchen Beispielen werden die Vorgänge von einem System ausgeführt, das einen Prozessor beinhaltet, der eine Reihe von Codes zur Steuerung von Funktionselementen eines Geräts ausführt. Zusätzlich oder alternativ werden ein oder mehrere Prozesse vermittels spezieller Hardware ausgeführt. Im Allgemeinen werden diese Vorgänge gemäß den Methoden und Verfahren durchgeführt, die gemäß den Aspekten der vorliegenden Offenbarung beschrieben werden. In manchen Fällen bestehen die hier beschriebenen Vorgänge aus verschiedenen Teilschritten oder werden in Verbindung mit anderen Vorgängen ausgeführt.
  • In Vorgang 805 erhält das System ein Bild und einen Text, der das Bild überlappt, wobei der Text eine erste Farbe beinhaltet. In manchen Fällen beziehen sich die Vorgänge dieses Schritts auf ein Bildbearbeitungsvorrichtung, wie sie in den 1 und 2 beschrieben ist, oder können von dieser Vorrichtung durchgeführt werden. Zum Beispiel kann ein Nutzer dem System das Bild und den Text über eine Nutzerschnittstelle, wie eine grafische Benutzeroberfläche (GUI), zur Verfügung stellen. Die GUI kann eine Komponente eines Illustrator-Programms oder einer Web-App sein.
  • In Vorgang 810 wählt das System eine zweite Farbe aus, die einen Kontrast zur ersten Farbe bildet. In manchen Fällen beziehen sich die Vorgänge dieses Schritts auf einen Extraktor für kontrastreiche Farben, wie in 2 beschrieben, oder können von diesem durchgeführt werden. Das System kann die zweite Farbe gemäß den in 3 beschriebenen Verfahren bestimmen. Zum Beispiel kann das System die zweite Farbe unter Verwendung einer Farbe aus dem Bild bestimmen, die einen ausreichenden Kontrast zu einer Farbe des Textes aufweist, gemessen an einem Verhältnis der Leuchtstärken zwischen den beiden Farben. Die Leuchtdichtewerte können nach der Konvertierung von einem Farbraum, wie zum Beispiel einem HSV- oder RGB-Farbraum, in einen Lab-Farbraum bestimmt werden.
  • In Vorgang 815 erzeugt das System ein modifiziertes Bild für den Text auf Grundlage der zweiten Farbe unter Verwendung eines maschinellen Lernmodells, wobei das modifizierte Bild die zweite Farbe in einem Bereich beinhaltet, der dem Text entspricht. Bei dem maschinellen Lernmodell kann es sich um ein generatives maschinelles Lernmodell handeln, wie zum Beispiel ein stabiles Diffusionsmodell, und weitere Einzelheiten dazu werden unter Bezugnahme auf die 9-12 beschrieben.
  • Generatives maschinelles Lernmodell
  • 9 zeigt ein Beispiel eines geführtes latenten Diffusionsmodells 900 gemäß den Aspekten der vorliegenden Offenbarung. Das in 9 dargestellte geführte latente Diffusionsmodell 900 ist ein Beispiel für das unter Bezugnahme auf 2 beschriebene maschinelle Lernmodell oder beinhaltet Aspekte davon. Das gezeigte Beispiel umfasst das geführte latente Diffusionsmodell 900, das Originalbild 905, den Pixelraum 910, den BildKodierer 915, die Originalbildmerkmale 920, den latenten Raum 925, den Vorwärts-Diffusionsprozess 930, die Rauschmerkmale 935, den Rückwärts-Diffusionsprozess 940, die entstörten Bildmerkmale 945, den Bild-Dekodierer 950, das Ausgangsbild 955, die Führungsaufforderung 960, den multimodalen Kodierer 965, die Führungsmerkmale 970 und den Führungsraum 975. Das Originalbild 905, der Vorwärts-Diffusionsprozess 930 und der Rückwärts-Diffusionsprozess 940 sind Beispiele für die entsprechenden Elemente, die unter Bezugnahme auf 11 beschrieben sind, oder beinhalten Aspekte davon.
  • Diffusionsmodelle sind eine Klasse generativer neuronaler Netzwerke, die derart trainiert werden können, dass sie neue Daten mit Merkmalen erzeugen, die den Merkmalen der Trainingsdaten ähneln. Insbesondere können Diffusionsmodelle verwendet werden, um neue Bilder zu erzeugen. Diffusionsmodelle können für verschiedene Aufgaben der Bilderzeugung eingesetzt werden, zum Beispiel für die Superauflösung von Bildern, die Erzeugung von Bildern mit Wahrnehmungsmetriken, die bedingte Erzeugung (zum Beispiel die Erzeugung auf Grundlage von Textanweisungen), das Übermalen von Bildern und die Bildmanipulation.
  • Die Arten von Diffusionsmodellen umfassen Denoising Diffusion Probabilistic Models (DDPMs) und Denoising Diffusion Implicit Models (DDIMs). Bei DDPMs beinhaltet der generative Prozess die Umkehrung eines stochastischen Markov-Diffusionsprozesses. DDIMs hingegen verwenden einen deterministischen Prozess, so dass die gleiche Eingabe zur gleichen Ausgabe führt. Diffusionsmodelle können auch dadurch charakterisiert werden, ob das Rauschen dem Bild selbst oder den von einem Kodierer erzeugten Bildmerkmalen hinzugefügt wird (d.h. latente Diffusion).
  • Diffusionsmodelle funktionieren, indem sie während eines Vorwärtsprozesses iterativ Rauschen zu den Daten hinzufügen und dann lernen, die Daten durch Entrauschen der Daten während eines Rückwärtsprozesses wiederherzustellen. Während des Trainings kann das geführte latente Diffusionsmodell 900 zum Beispiel ein Originalbild 905 in einem Pixelraum 910 als Eingabe entgegennehmen und einen Bildkodierer 915 anwenden, um das Originalbild 905 in Originalbildmerkmale 920 in einem latenten Raum 925 umzuwandeln. Dann fügt ein Vorwärts-Diffusionsprozess 930 allmählich Rauschen zu den Originalbildmerkmalen 920 hinzu, um Rauschmerkmale 935 (ebenfalls im latenten Raum 925) mit verschiedenen Rauschstufen zu erhalten.
  • Als nächstes entfernt ein Rückwärts-Diffusionsprozess 940 (z.B. ein U-Net ANN) schrittweise das Rauschen aus den Rauschmerkmalen 935 bei den verschiedenen Rauschniveaus, um entstörte Bildmerkmale 945 im latenten Raum 925 zu erhalten. In manchen Beispielen werden die entstörten Bildmerkmale 945 mit den Originalbildmerkmalen 920 bei jedem der verschiedenen Rauschniveaus verglichen, und die Parameter des Rückwärts-Diffusionsprozesses 940 des Diffusionsmodells werden auf Grundlage des Vergleichs aktualisiert. Schließlich dekodiert ein Bild-Dekodierer 950 die entstörten Bildmerkmale 945, um eine Annäherung an das vorhandene Rauschen in dem Eingangsbild in dem Pixelraum 910 zu erhalten. Das Ausgangsbild 955 ergibt sich dann aus der Differenz zwischen dem Eingangsbild 910, von dem ein kontrollierbarer Anteil des zuvor vorhergesagten Rauschens abgezogen wird. In manchen Fällen wird für jeden der verschiedenen Rauschpegel ein Ausgangsbild 955 erzeugt. Das Ausgangsbild 955 kann mit dem Originalbild 905 verglichen werden, um den Rückwärts-Diffusionsprozess 940 zu trainieren.
  • In manchen Fällen werden der Bildkodierer 915 und der Bild-Dekodierer 950 vor dem Training des Rückwärts-Diffusionsprozesses 940 trainiert. In manchen Beispielen werden sie gemeinsam trainiert, oder der Bildkodierer 915 und der Bild-Dekodierer 950 werden gemeinsam mit dem Rückwärts-Diffusionsprozess 940 feinabgestimmt.
  • Der Rückwärts-Diffusionsprozess 940 kann auch auf Grundlage einer Führungsaufforderung 960, wie einem Bild, einem Layout, einer Segmentierungskarte usw., gesteuert werden. Die Eingabeaufforderung 960 kann mit einem multimodalen Kodierer 965 kodiert werden, um Führungsmerkmale 970 in dem Führungsraum 975 zu erhalten. Die Führungsmerkmale 970 können mit den Rauschmerkmalen 935 in einer oder mehreren Schichten des Rückwärts-Diffusionsprozesses 940 kombiniert werden, um sicherzustellen, dass das Ausgangsbild 955 den durch die Führungsaufforderung 960 beschriebenen Inhalt beinhaltet. Bei der Erzeugung eines neuen geänderten Bilds wird das neue geänderte Bild zum Beispiel Merkmale aus dem Originalbild enthalten, da das Rauschbild, das als Anleitungsaufforderung 960 bereitgestellt wird, auf dem Originalbild basiert. Die Orientierungsmerkmale 970 können mit den Rauschmerkmalen 935 unter Verwendung eines Cross-Attention-Blocks innerhalb des Rückwärts-Diffusionsprozesses 940 kombiniert werden.
  • 10 zeigt ein Beispiel für die Architektur eines U-Netzwerkes 1000 gemäß den Aspekten der vorliegenden Offenbarung. Das gezeigte Beispiel umfasst das U-Netz 1000, die Eingangsmerkmale 1005, die anfängliche neuronale Netzschicht 1010, die Zwischenmerkmale 1015, die Abwärtsabtastschicht 1020, die abwärts abgetasteten Merkmale 1025, den Aufwärtsabtastprozess 1030, die aufwärts abgetasteten Merkmale 1035, die Sprungverbindung 1040, die endgültige neuronale Netzschicht 1045 und die Ausgangsmerkmale 1050. Das in 3 dargestellte U-Netz 1000 ist ein Beispiel für die Architektur, die im Rahmen des in 10 beschriebenen Rückwärts-Diffusionsprozesses verwendet wird, oder beinhaltet Aspekte davon.
  • In manchen Beispielen basieren die Diffusionsmodelle auf einer neuronalen Netzwerkarchitektur, die als U-Netz bekannt ist. Das U-Netz 1000 nimmt Eingabemerkmale 1005 mit einer anfänglichen Auflösung und einer anfänglichen Anzahl von Kanälen auf und verarbeitet die Eingabemerkmale 1005 mithilfe einer anfänglichen neuronalen Netzschicht 1010 (zum Beispiel einer Faltungsnetzschicht), um Zwischenmerkmale 1015 zu erzeugen. Die Zwischenmerkmale 1015 werden dann vermittels einer Abwärtsabtastungsschicht 1020 abwärts abgetastet, so dass die abwärts abgetasteten Merkmale 1025 eine geringere Auflösung als die ursprüngliche Auflösung und eine größere Anzahl von Kanälen als die ursprüngliche Anzahl von Kanälen aufweisen.
  • Dieser Vorgang wird mehrmals wiederholt, und dann wird der Vorgang umgekehrt. Das heißt, die abwärts abgetasteten Merkmale 1025 werden mit dem Aufwärtsabtastverfahren 1030 aufwärts abgetastet, um aufwärts abgetastete Merkmale 1035 zu erhalten. Die aufwärts abgetasteten Merkmale 1035 können über eine Skip-Verbindung 1040 mit Zwischenmerkmalen 1015 kombiniert werden, welche die gleiche Auflösung und Anzahl von Kanälen aufweisen. Diese Eingänge werden mit einer letzten neuronalen Netzwerkschicht 1045 verarbeitet, um Ausgangsmerkmale 1050 zu erzeugen. In manchen Fällen haben die Ausgangsmerkmale 1050 die gleiche Auflösung wie die ursprüngliche Auflösung und die gleiche Anzahl von Kanälen wie die ursprüngliche Anzahl von Kanälen.
  • In manchen Fällen nimmt das U-Net 1000 zusätzliche Eingabemerkmale auf, um eine bedingt generierte Ausgabe zu erzeugen. Die zusätzlichen Eingabemerkmale könnten zum Beispiel eine Vektordarstellung einer Eingabeaufforderung umfassen. Die Eingabeaufforderung kann eine Textaufforderung oder ein Rauschbild sein, wie oben unter Bezugnahme auf 3-6 beschrieben. Die zusätzlichen Eingabemerkmale können mit den Zwischenmerkmalen 1015 innerhalb des neuronalen Netzwerks in einer oder mehreren Schichten kombiniert werden. Zum Beispiel kann ein Cross-Attention-Modul verwendet werden, um die zusätzlichen Eingabemerkmale und die Zwischenmerkmale 1015 zu kombinieren.
  • 11 zeigt ein Beispiel für einen Diffusionsprozess 1100 gemäß den Aspekten der vorliegenden Offenbarung. Wie oben unter Bezugnahme auf 9 beschrieben, kann ein Diffusionsmodell sowohl einen Vorwärts-Diffusionsprozess 1105 zum Hinzufügen von Rauschen zu einem Bild (oder Merkmalen in einem latenten Raum) als auch einen Rückwärts-Diffusionsprozess 1110 zum Entrauschen der Bilder (oder Merkmale) umfassen, um ein entstörtes Bild zu erhalten. Der Vorwärts-Diffusionsprozess 1105 kann wie folgt dargestellt werden q(xt|xt-1) dargestellt werden und der Rückwärts-Diffusionsprozess 1110 kann dargestellt werden als p(xt-1|xt). In manchen Fällen wird der Vorwärts-Diffusionsprozess 1105 während des Trainings verwendet, um Bilder mit sukzessive stärkerem Rauschen zu erzeugen, und ein neuronales Netz wird trainiert, um den Rückwärts-Diffusionsprozess 1110 durchzuführen (d.h. um das Rauschen sukzessive zu entfernen).
  • In einem beispielhaften Vorwärtsprozess für ein latentes Diffusionsmodell bildet das Modell eine beobachtete Variable x0 (entweder in einem Pixelraum oder einem latenten Raum) auf Zwischenvariablen x1, ..., xT unter Verwendung einer Markov-Kette. Die Markov-Kette fügt schrittweise Gaußsches Rauschen zu den Daten hinzu, um das ungefähre Posterior q(x1:T|x0) zu erhalten, während die latenten Variablen durch ein neuronales Netzwerk wie zum Beispiel ein U-Netz geleitet werden, wobei x1, ..., xT die gleiche Dimensionalität haben wie x0.
  • Das neuronale Netzwerk kann für die Durchführung des umgekehrten Prozesses bzw. Rückwärtsprozesses trainiert werden. Während des Rückwärts-Diffusionsprozesses 1110 beginnt das Modell mit Rauschdaten xT wie zum Beispiel einem Rauschbild 1115 und entstört die Daten, um die p(xt-1|xt). Bei jedem Schritt t-1 nimmt der Rückwärts-Diffusionsprozess 1110 xt wie etwa ein erstes Zwischenbild 1120, und t als Eingabe. Hierbei stellt t einen Schritt in der Abfolge von Übergängen dar, die den verschiedenen Rauschniveaus zugeordnet sind, gibt der Rückwärts-Diffusionsprozess 1110 xt-1 wie das zweite Zwischenbild 1125 iterativ aus, bis xT wieder zurückgeführt wird zu x0 das Originalbild 1130. Der umgekehrte Prozess kann wie folgt dargestellt werden: p θ ( x t 1 | x t ) : = N ( x t 1 ; μ θ ( x t , t ) , θ ( x t , t ) ) .
    Figure DE102023120385A1_0002
  • Die gemeinsame Wahrscheinlichkeit einer Folge von Stichproben in der Markov-Kette kann als Produkt von Konditionalen und der Randwahrscheinlichkeit geschrieben werden: x T : p θ ( x 0 : T ) : = p ( x T ) Π t = 1 T p θ ( x t 1 | x t ) ,
    Figure DE102023120385A1_0003
    wobei p(xT)= N(xT; 0,I) die Verteilung des reinen Rauschens ist, da der umgekehrte Prozess das Ergebnis des Vorwärtsprozesses, eine Stichprobe reinen Rauschens, als Eingabe nimmt und Π t = 1 T p θ ( x t 1 | x t )
    Figure DE102023120385A1_0004
    eine Folge von Gauß-Übergängen darstellt, die einer Folge von Hinzufügungen von Gauß-Rauschen zu der Probe entspricht.
  • Zum Zeitpunkt der Interferenz können die beobachteten Daten x0 in einem Pixelraum in einen latenten Raum als Eingabe abgebildet werden und die generierten x aus dem latenten Raum zurück in den Pixelraum als Ausgabe abgebildet werden. In manchen Beispielen stellt x0 ein Originaleingangsbild mit niedriger Bildqualität dar, latente Variablen x1, ..., xT stellen Rauschbilder dar und x stellt für das erzeugte Bild mit hoher Bildqualität steht.
  • 12 zeigt ein Beispiel eines Verfahrens 1200 zum Trainieren eines Diffusionsmodells gemäß den Aspekten der vorliegenden Offenbarung. Das Verfahren 1200 stellt ein Beispiel für das Training eines Rückwärts-Diffusionsprozesses dar, wie er oben unter Bezugnahme auf 11 beschrieben wurde. In manchen Beispielen werden diese Operationen von einem System durchgeführt, das einen Prozessor beinhaltet, der einen Satz von Codes ausführt, um funktionale Elemente eines Geräts zu steuern, wie zum Beispiel das in 2 beschriebene Bildbearbeitungsvorrichtung.
  • Zusätzlich oder alternativ können ein oder mehrere Prozesse des Verfahrens 1200 mit spezieller Hardware durchgeführt werden. Im Allgemeinen werden diese Vorgänge gemäß den Methoden und Verfahren durchgeführt, die gemäß den Aspekten der vorliegenden Offenbarung beschrieben sind. In manchen Fällen bestehen die hier beschriebenen Vorgänge aus verschiedenen Teilschritten oder werden in Verbindung mit anderen Vorgängen ausgeführt.
  • In Vorgang 1205 initialisiert der Nutzer ein untrainiertes Modell. Die Initialisierung kann die Definition der Architektur des Modells und die Festlegung von Anfangswerten für die Modellparameter umfassen. In manchen Fällen kann die Initialisierung die Definition von Hyperparametern umfassen, wie zum Beispiel die Anzahl der Schichten, die Auflösung und die Kanäle der einzelnen Schichtblöcke, die Lage der Sprungverbindungen und ähnliches.
  • In Vorgang 1210 fügt das System einem Trainingsbild Rauschen hinzu, indem es einen Vorwärts-Diffusionsprozess in N Stufen durchführt. In manchen Fällen ist der Vorwärts-Diffusionsprozess ein fester Prozess, bei dem einem Bild sukzessive Gauß'sches Rauschen hinzugefügt wird. In latenten Diffusionsmodellen kann das Gauß'sche Rauschen sukzessive zu Merkmalen in einem latenten Raum hinzugefügt werden.
  • In Vorgang 1215 wird das System in jeder Stufe beginnend mit Stufe N in einem Rückwärts-Diffusionsprozess verwendet, um das Bild oder die Bildmerkmale in der Stufe n - 1 vorherzusagen. Zum Beispiel kann der Rückwärts-Diffusionsprozess das Rauschen vorhersagen, das durch den Vorwärtsdiffusionsprozess hinzugefügt wurde, und das vorhergesagte Rauschen kann aus dem Bild entfernt werden, um das vorhergesagte Bild zu erhalten. In manchen Fällen wird in jeder Stufe des Trainingsprozesses ein Originalbild vorhergesagt.
  • In Vorgang 1220 vergleicht das System das vorhergesagte Bild (oder die Bildmerkmale) in der Stufe n - 1 mit einem tatsächlichen Bild (oder Bildmerkmalen), wie z.B. dem Bild in Stufe n - 1 oder das Originaleingabebild. Zum Beispiel kann bei beobachteten Daten x das Diffusionsmodell derart trainiert werden, dass es die obere Variationsgrenze der negativen log-Wahrscheinlichkeit -log pθ(x) der Trainingsdaten zu minimieren.
  • In Vorgang 1225 aktualisiert das System die Parameter des Modells auf Grundlage des Vergleichs. Zum Beispiel können die Parameter eines U-Netzwerkes durch Gradientenabstieg aktualisiert werden. Es können auch zeitabhängige Parameter der Gauß-Übergänge gelernt werden.
  • 13 zeigt ein Beispiel für eine Rechenvorrichtung 1300, die derart konfiguriert ist, dass sie ein Bild mit einem Text gemäß den Aspekten der vorliegenden Offenbarung harmonisiert. Das gezeigte Beispiel umfasst die Rechenvorrichtung 1300, den/die Prozessor(en), das Speicher-Subsystem 1310, die Kommunikationsschnittstelle 1315, die E/A-Schnittstelle 1320, die Nutzerschnittstellen-Komponente(n) und den Kanal 1330.
  • In manchen Ausführungsformen ist die Rechenvorrichtung 1300 ein Beispiel für die Bildbearbeitungsvorrichtung 100 aus 1 oder beinhaltet Aspekte davon. In manchen Ausführungsformen umfasst die Rechenvorrichtung 1300 einen oder mehrere Prozessoren 1305, die im Speicher-Subsystem 1310 gespeicherte Befehle ausführen können, um ein Bild und einen das Bild überlappenden Text zu erhalten, wobei der Text eine erste Farbe umfasst; eine zweite Farbe auszuwählen, die mit der ersten Farbe kontrastiert; und ein modifiziertes Bild für den Text auf Grundlage der zweiten Farbe unter Verwendung eines maschinellen Lernmodells zu erzeugen, wobei das modifizierte Bild die zweite Farbe in einem dem Text entsprechenden Bereich umfasst.
  • Gemäß manchen Aspekten beinhaltet die Rechenvorrichtung 1300 einen oder mehrere Prozessoren 1305. In manchen Fällen ist ein Prozessor ein intelligentes Hardwaregerät (zum Beispiel eine Allzweckverarbeitungskomponente, ein digitaler Signalprozessor (DSP), eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU), ein Mikrocontroller, ein anwendungsspezifischer integrierter Schaltkreis (ASIC), ein feldprogrammierbares Gate-Array (FPGA), ein programmierbares Logikgerät, eine diskrete Gate- oder Transistor-Logikkomponente, eine diskrete Hardwarekomponente oder eine Kombination davon. In manchen Fällen ist ein Prozessor derart konfiguriert, dass er eine Speicheranordnung vermittels eines Speicher-Controllers betreibt. In anderen Fällen ist ein Speichercontroller in einen Prozessor integriert. In manchen Fällen ist ein Prozessor derart konfiguriert, dass er in einem Speicher gespeicherte computerlesbare Anweisungen ausführt, um verschiedene Funktionen zu erfüllen. In manchen Ausführungsformen beinhaltet ein Prozessor spezielle Komponenten für die Modemverarbeitung, die Basisbandverarbeitung, die digitale Signalverarbeitung oder die Übertragungsverarbeitung.
  • Gemäß manchen Aspekten umfasst das Speichersubsystem 1310 eine oder mehrere Speichervorrichtungen. Beispiele für eine Speichervorrichtung sind ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM) oder eine Festplatte. Beispiele für Speichervorrichtungen sind Festkörperspeicher und ein Festplattenlaufwerk. In manchen Beispielen wird der Speicher verwendet, um computerlesbare, computerausführbare Software zu speichern, die Anweisungen beinhaltet, die, wenn sie ausgeführt werden, einen Prozessor veranlassen, verschiedene hier beschriebene Funktionen auszuführen. In manchen Fällen beinhaltet der Speicher unter anderem ein grundlegendes Eingabe-/ Ausgabesystem (BIOS), das grundlegende Hardware- oder Softwarefunktionen steuert, wie zum Beispiel die Interaktion mit Peripheriekomponenten oder -geräten. In manchen Fällen steuert ein Speicher-Controller die Speicherzellen. Der Speicher-Controller kann zum Beispiel einen Zeilendecoder, einen Spaltendecoder oder beides enthalten. In manchen Fällen speichern die Speicherzellen eines Speichers Informationen in Form eines logischen Zustands.
  • Gemäß manchen Aspekten arbeitet die Kommunikationsschnittstelle 1315 an einer Grenze zwischen kommunizierenden Einheiten (wie dem Rechenvorrichtung 1300, einem oder mehreren Nutzergeräten, einer Cloud und einer oder mehreren Datenbanken) und dem Kanal 1330 und kann Kommunikationen aufzeichnen und verarbeiten. In manchen Fällen wird die Kommunikationsschnittstelle 1315 bereitgestellt, um ein Verarbeitungssystem zu ermöglichen, das mit einem Sendeempfänger (zum Beispiel einem Sender und/oder einem Empfänger) gekoppelt ist. In manchen Beispielen ist der Transceiver derart konfiguriert, dass er Signale für ein Kommunikationsgerät über eine Antenne überträgt (oder sendet) und empfängt.
  • Gemäß manchen Aspekten wird die E/A-Schnittstelle 1320 von einem E/A-Controller gesteuert, um Eingangs- und Ausgangssignale für das Rechenvorrichtung 1300 zu verwalten. In manchen Fällen verwaltet die E/A-Schnittstelle 1320 Peripheriegeräte, die nicht in das Rechenvorrichtung 1300 integriert sind. In manchen Fällen stellt die E/A-Schnittstelle 1320 eine physische Verbindung oder einen Port zu einem externen Peripheriegerät dar. In manchen Fällen verwendet der E/A-Controller ein Betriebssystem wie iOS®, ANDROID®, MS-DOS®, MS-WINDOWS®, OS/2®, UNIX®, LINUX® oder ein anderes bekanntes Betriebssystem. In manchen Fällen stellt der E/A-Controller ein Modem, eine Tastatur, eine Maus, einen Touchscreen oder ein ähnliches Gerät dar oder interagiert mit diesem. In manchen Fällen ist der E/A-Controller als Bestandteil eines Prozessors implementiert. In manchen Fällen interagiert ein Nutzer mit einem Gerät über die E/A-Schnittstelle 1020 oder über Hardwarekomponenten, die von der E/A-Steuerung gesteuert werden.
  • Gemäß manchen Aspekten ermöglicht/ermöglichen die Nutzerschnittstellenkomponente(n) 1325 einem Nutzer die Interaktion mit dem Rechenvorrichtung 1300. In manchen Fällen umfassen die Nutzerschnittstellenkomponente(n) 1325 ein Audiogerät, wie zum Beispiel ein externes Lautsprechersystem, ein externes Anzeigegerät, wie zum Beispiel einen Bildschirm, ein Eingabegerät (zum Beispiel ein Fernbedienungsgerät, das direkt oder über den E/A-Controller mit einer Nutzerschnittstelle verbunden ist) oder eine Kombination davon. In manchen Fällen umfasst die Nutzerschnittstellenkomponente(n) 1325 eine grafische Benutzeroberfläche.
  • Die hierin beschriebene Beschreibung und die Zeichnungen stellen beispielhafte Konfigurationen dar und repräsentieren nicht alle Implementierungen innerhalb des Geltungsbereichs der Ansprüche. Zum Beispiel können die Vorgänge und Schritte neu angeordnet, kombiniert oder anderweitig geändert werden. Zudem können Strukturen und Vorrichtungen in Form von Blockdiagrammen dargestellt werden, um die Beziehung zwischen den Komponenten darzustellen und die beschriebenen Konzepte nicht zu verdecken. Ähnliche Komponenten oder Merkmale können denselben Namen tragen, aber unterschiedliche Bezugszeichen haben, die verschiedenen Figuren entsprechen.
  • Manche Modifikationen der Offenbarung sind für den Fachmann naheliegend und die hier definierten Grundsätze können auf andere Variationen angewandt werden, ohne vom Schutzumfang der Offenbarung abzuweichen. Daher ist die Offenbarung nicht auf die hier beschriebenen Beispiele und Ausführungen beschränkt, sondern hat den weitestgehenden Schutzumfang, der mit den hier offenbarten Grundsätzen und neuen Merkmalen vereinbar ist.
  • Die beschriebenen Verfahren können durch Geräte bzw. Vorrichtungen implementiert oder durchgeführt werden, die einen Mehrzweckprozessor, einen digitalen Signalprozessor (DSP), eine anwendungsspezifische integrierte Schaltung (ASIC), ein Field Programmable Gate Array (FPGA) oder ein anderes programmierbares Logikgerät, diskrete Gatter- oder Transistorlogik, diskrete Hardwarekomponenten oder eine beliebige Kombination davon umfassen. Ein Allzweckprozessor kann ein Mikroprozessor, ein herkömmlicher Prozessor, ein Controller, ein Mikrocontroller oder eine Zustandsmaschine sein. Ein Prozessor kann auch als eine Kombination von Recheneinheiten implementiert werden (zum Beispiel eine Kombination aus einem DSP und einem Mikroprozessor, mehrere Mikroprozessoren, ein oder mehrere Mikroprozessoren in Verbindung mit einem DSP-Kern oder eine andere derartige Konfiguration). Die hier beschriebenen Funktionen können also in Hardware oder Software implementiert sein und von einem Prozessor, einer Firmware oder einer beliebigen Kombination davon ausgeführt werden. Bei der Implementierung in Software, die von einem Prozessor ausgeführt wird, können die Funktionen in Form von Anweisungen oder Code auf einem computerlesbaren Medium gespeichert werden.
  • Computerlesbare Medien umfassen sowohl nichtflüchtige Computerspeichermedien als auch Kommunikationsmedien einschließlich aller Medien, welche die Übertragung von Code oder Daten erleichtern. Ein nicht-flüchtiges Speichermedium kann jedes verfügbare Medium sein, auf das ein Computer zugreifen kann. Ein nicht-flüchtiges, computerlesbares Medium kann zum Beispiel einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen elektrisch löschbaren, programmierbaren Festwertspeicher (EEPROM), eine Compact Disk (CD) oder einen anderen optischen Plattenspeicher, einen Magnetplattenspeicher oder ein anderes nicht-flüchtiges Medium zur Übertragung oder Speicherung von Daten oder Code umfassen.
  • Auch Verbindungskomponenten können korrekt als computerlesbare Medien bezeichnet werden. Wenn zum Beispiel Code oder Daten von einer Website, einem Server oder einer anderen entfernten Quelle über ein Koaxialkabel, ein Glasfaserkabel, eine verdrillte Zweidrahtleitung, eine digitale Teilnehmerleitung (DSL) oder eine drahtlose Technologie wie Infrarot-, Funk- oder Mikrowellensignale übertragen werden, dann fallen das Koaxialkabel, das Glasfaserkabel, die verdrillte Zweidrahtleitung, DSL oder die drahtlose Technologie unter die Definition des Begriffs „Medium“. Auch Kombinationen von Medien fallen unter den Begriff der computerlesbaren Medien.
  • In dieser Offenbarung und den folgenden Ansprüchen bezeichnet das Wort „oder“ eine umfassende Liste, so dass zum Beispiel die Liste von X, Y oder Z X oder Y oder Z oder XY oder XZ oder YZ oder XYZ bedeutet. Auch die Formulierung „basierend auf“ wird nicht verwendet, um eine geschlossene Menge von Bedingungen darzustellen. Zum Beispiel kann ein Schritt, der als „basierend auf Bedingung A“ beschrieben wird, sowohl auf Bedingung A als auch auf Bedingung B basieren. Mit anderen Worten ist der Ausdruck „basierend auf“ so zu verstehen, dass er „zumindest teilweise auf“ basiert. Auch die Wörter „ein“ oder „eine“ bzw. einer bedeuten „zumindest eine“.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 63379813 [0001]

Claims (20)

  1. Verfahren, umfassend: Erhalten eines Bilds, das Text und einen den Text überlappenden Bereich beinhaltet, wobei der Text eine erste Farbe aufweist; Auswählen einer zweiten Farbe, die mit der ersten Farbe kontrastiert; und Erzeugen eines modifizierten Bilds, das den Text und einen modifizierten Bereich beinhaltet, unter Verwendung eines maschinellen Lernmodells, das das Bild und die zweite Farbe als Eingabe annimmt, wobei der modifizierte Bereich den Text überlappt und die zweite Farbe beinhaltet.
  2. Verfahren nach Anspruch 1, ferner umfassend: Segmentieren des Bereichs, um ein oder mehrere Objekte zu identifizieren, die den Text überlappen; und Anwenden der zweiten Farbe auf das eine oder die mehreren Objekte, um einen ersten modifizierten Bereich zu erhalten, wobei das modifizierte Bild auf Grundlage des ersten modifizierten Bereichs erzeugt wird.
  3. Verfahren nach Anspruch 1 oder 2, ferner umfassend: Hinzufügen von Rauschen zu dem den Text überlappenden Bereich, um ein Rauschbild zu erhalten, wobei das modifizierte Bild auf Grundlage des Rauschbilds erzeugt wird.
  4. Verfahren nach Anspruch 3, ferner umfassend: Erzeugen einer Maske, die den Bereich angibt, der den Text überlappt, wobei das Rauschen dem Bild auf Grundlage der Maske hinzugefügt wird.
  5. Verfahren nach Anspruch 3 oder 4, wobei: zumindest ein Teil des Rauschens farbiges Rauschen aufweist, das der zweiten Farbe entspricht.
  6. Verfahren nach einem der vorstehenden Ansprüche, welches ferner umfasst: Kombinieren des Bilds und des modifizierten Bilds, um ein kombiniertes Bild zu erhalten.
  7. Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend: Überlagern des Textes auf dem modifizierten Bild, um ein zusammengesetztes Bild zu erhalten.
  8. Verfahren nach einem der vorstehenden Ansprüche, ferner umfassend: Erzeugen einer Farbpalette auf Grundlage des den Text überlappenden Bereichs, wobei die zweite Farbe aus der Farbpalette ausgewählt wird.
  9. Nicht-transitorisches bzw. nicht-flüchtiges bzw. nicht-temporäres computerlesbares Medium, das Code speichert, wobei der Code Anweisungen aufweist, die von einem Prozessor ausführbar sind, um: ein Bild zu erhalten, das Text und einen den Text überlappenden Bereich beinhaltet, wobei der Text eine erste Farbe aufweist; eine zweite Farbe aus dem den Text überlappenden Bereich auszuwählen, wobei die zweite Farbe mit der ersten Farbe kontrastiert; und ein modifiziertes Bild zu erzeugen, das den Text und einen modifizierten Bereich beinhaltet, unter Verwendung eines maschinellen Lernmodells, welches das Bild und die zweite Farbe als Eingabe verwendet, wobei der modifizierte Bereich den Text überlappt und die zweite Farbe beinhaltet.
  10. Nicht-temporäres computerlesbares Medium nach Anspruch 9, wobei der Code ferner Anweisungen aufweist, die von dem Prozessor ausführbar sind, um: das Bild zu segmentieren, um ein oder mehrere Objekte in dem Bereich zu identifizieren, der den Text überlappt; und die zweite Farbe auf das eine oder die mehreren Objekte anzuwenden, um einen ersten modifizierten Bereich zu erhalten, wobei das Hintergrundbild auf Grundlage des ersten modifizierten Bereichs erzeugt wird.
  11. Nicht-temporäres computerlesbares Medium nach Anspruch 10, wobei der Code ferner Anweisungen aufweist, die von dem Prozessor ausführbar sind, um: eine Wahrscheinlichkeitsbewertung für das eine oder die mehreren Objekte zu berechnen, der die Wahrscheinlichkeit des Vorhandenseins des einen oder der mehreren Objekte angibt; eine geringe Wahrscheinlichkeit für das Vorhandensein des einen oder der mehreren Objekte auf Grundlage der Wahrscheinlichkeitsbewertung zu bestimmen; und eine Vielzahl von Superpixeln aus dem den Text überlappenden Bereich auf Grundlage der Bestimmung zu extrahieren, wobei der erste modifizierte Bereich die Vielzahl von Superpixeln beinhaltet.
  12. Nicht-temporäres computerlesbares Medium nach einem der Ansprüche 9 bis 11, wobei der Code ferner Anweisungen umfasst, die von dem Prozessor ausführbar sind, um: Rauschen zu dem Bild in dem Bereich hinzuzufügen, der den Text überlappt, um ein Rauschbild zu erhalten, wobei das modifizierte Bild auf Grundlage des Rauschbilds erzeugt wird.
  13. Nicht-temporäres computerlesbares Medium nach einem der Ansprüche 9 bis 12, wobei der Code ferner Anweisungen umfasst, die von dem Prozessor ausführbar sind, um: das Bild und das geänderte Bild zu kombinieren, um ein kombiniertes Bild zu erhalten.
  14. Nicht-temporäres computerlesbares Medium nach einem der Ansprüche 9 bis 13, wobei der Code ferner Anweisungen aufweist, die von dem Prozessor ausführbar sind, um: den Text über das veränderte Bild zu legen, um ein zusammengesetztes Bild zu erhalten.
  15. Vorrichtung zur Bildbearbeitung, aufweisend: einen Prozessor; einen Speicher, der Anweisungen beinhaltet, die von dem Prozessor ausführbar sind, um Vorgänge durchzuführen, die umfassen: Erhalten eines Bilds und eines das Bild überlagernden Texts, wobei der Text eine erste Farbe aufweist; Auswählen einer zweiten Farbe, die mit der ersten Farbe kontrastiert; und Erzeugen eines Hintergrundbilds für den Text auf Grundlage der zweiten Farbe unter Verwendung eines maschinellen Lernmodells, wobei das Hintergrundbild die zweite Farbe in einem dem Text entsprechenden Bereich beinhaltet.
  16. Vorrichtung nach Anspruch 15, ferner aufweisend: eine Segmentierungskomponente, die derart konfiguriert ist, dass sie das Bild segmentiert, um ein oder mehrere Objekte zu identifizieren.
  17. Vorrichtung nach Anspruch 15 oder 16, ferner aufweisend: eine Rauschkomponente, die derart konfiguriert ist, dass sie dem Bild in dem Bereich, der dem Text entspricht, Rauschen hinzufügt.
  18. Vorrichtung nach einem der Ansprüche 15 bis 17, ferner aufweisend: eine Superpixelkomponente, die derart konfiguriert ist, dass sie eine Vielzahl von Superpixeln aus dem Bereich extrahiert, der dem Text entspricht.
  19. Vorrichtung nach einem der Ansprüche 15 bis 18, ferner aufweisend: eine Kombinationskomponente, die derart konfiguriert ist, dass sie das Bild und das Hintergrundbild kombiniert, um ein kombiniertes Bild zu erhalten.
  20. Vorrichtung nach einem der Ansprüche 15 bis 19, wobei: das maschinelle Lernmodell ein generatives Diffusionsmodell aufweist.
DE102023120385.1A 2022-10-17 2023-08-01 Design compositing using image harmonization Pending DE102023120385A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202263379813P 2022-10-17 2022-10-17
US63/379,813 2022-10-17
US202318334610A 2023-06-14 2023-06-14
US18/334,610 2023-06-14

Publications (2)

Publication Number Publication Date
DE102023120385A1 true DE102023120385A1 (de) 2024-04-18
DE102023120385A8 DE102023120385A8 (de) 2024-06-27

Family

ID=88093348

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023120385.1A Pending DE102023120385A1 (de) 2022-10-17 2023-08-01 Design compositing using image harmonization

Country Status (3)

Country Link
AU (1) AU2023210677A1 (de)
DE (1) DE102023120385A1 (de)
GB (1) GB2623619A (de)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10776903B2 (en) * 2017-07-17 2020-09-15 Open Text Corporation Systems and methods for image modification and image based content capture and extraction in neural networks
US11380033B2 (en) * 2020-01-09 2022-07-05 Adobe Inc. Text placement within images using neural networks

Also Published As

Publication number Publication date
AU2023210677A1 (en) 2024-05-02
GB2623619A (en) 2024-04-24
GB202312396D0 (en) 2023-09-27
DE102023120385A8 (de) 2024-06-27

Similar Documents

Publication Publication Date Title
DE112017002799B4 (de) Verfahren und system zum generieren multimodaler digitaler bilder
DE102020002964A1 (de) Verwenden eines neuronalen Netzwerks mit einer Zwei-Strom Encoder-Architektur zur Erzeugung digitaler Kompositbilder
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE102018006247A1 (de) Digitalbildvervollständigung unter Verwendung des Deep Learning
DE69310293T2 (de) Umscharte Maske mit Farbtabelle
DE102018007937A1 (de) Entfernen und Ersetzen von Objekten in Bildern entsprechend einem geführten Nutzerdialog
DE102020002153A1 (de) Einsetzen von ein Objektattribut detektierenden Modellen zum automatischen Auswählen von Versionen detektierter Objekte in Bildern
DE102020007951A1 (de) Einsetzen eines der Einfärbung dienenden neuronalen Netzwerkes zum Generieren von eingefärbten Bildern auf Grundlage interaktiver Farbkanten
EP2050023B1 (de) Verfahren zum analysieren und/oder testen zumindest einer benutzeroberfläche, datenverarbeitungseinrichtung und computerprogrammprodukt
DE102019001911A1 (de) Aufbauen von neuen Zeichensatz-Bildzeichen aus Teilbetrachtungen
DE112010002232T5 (de) Semantische Szenensegmentierung mittels Random multinominalem Logit (RML)
DE102021004260A1 (de) Textuelles Bearbeiten von digitalen Bildern
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE102021004561A1 (de) Text verfeinerndes Netzwerk
DE112021002453T5 (de) Iteratives trainieren eines modells für maschinelles lernen
DE102022003003A1 (de) Automatische Fotobearbeitung mittels sprachlicher Anweisung
DE202017007534U1 (de) Multiskalige 3D-Textursynthese
EP1154369A2 (de) Verfahren zur zyklischen, interaktiven Bildanalyse sowie Computersystem und Computerprogramm zur Ausführung des Verfahrens
DE102018113621A1 (de) Verfahren zum Trainieren eines konvolutionellen neuronalen Netzwerks zum Verarbeiten von Bilddaten zur Anwendung in einem Fahrunterstützungssystem
DE102021000476A1 (de) Integrierte interaktive Bildsegmentierung
DE102020002302A1 (de) Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden
DE102023120385A1 (de) Design compositing using image harmonization
DE112020006088T5 (de) Computerimplementiertes verfahren zum umwandeln eines eingangsbildes in ein ausgangsbild basierend auf einem referenzbild
DE102021005893A1 (de) Automatisierte digitale Werkzeugidentifikation aus einem Rasterbild
DE102023125850A1 (de) Multimodale bildbearbeitung

Legal Events

Date Code Title Description
R012 Request for examination validly filed