DE102017009049A1 - Ermöglichen von Transformationen Skizze-zu-Gemälde - Google Patents

Ermöglichen von Transformationen Skizze-zu-Gemälde Download PDF

Info

Publication number
DE102017009049A1
DE102017009049A1 DE102017009049.1A DE102017009049A DE102017009049A1 DE 102017009049 A1 DE102017009049 A1 DE 102017009049A1 DE 102017009049 A DE102017009049 A DE 102017009049A DE 102017009049 A1 DE102017009049 A1 DE 102017009049A1
Authority
DE
Germany
Prior art keywords
neural network
training
sketch
painting
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017009049.1A
Other languages
English (en)
Inventor
Jingwan Lu
Patsorn Sangkloy
Chen Fang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE102017009049A1 publication Critical patent/DE102017009049A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

Es werden Verfahren und Systeme angegeben zum Transformieren von Skizzen in in einem Stil gehaltene elektronische Gemälde. Ein neuronales Netzwerksystem wird trainiert, wobei das Trainieren ein Trainieren eines ersten neuronalen Netzes, welches eingegebene Skizzen in ausgegebene Bilder umwandelt, und ein Trainieren eines zweiten neuronalen Netzes, welches Bilder in ausgegebene Gemälde umwandelt. Für das erste neuronale Netz wird eine Ähnlichkeit zwischen dem ausgegebenen Bild und einem Referenzbild bewertet, und für das zweite neuronale Netz wird eine Ähnlichkeit zwischen dem ausgegebenen Gemälde, dem ausgegebenen Bild und einem Referenzgemälde bewertet. Das neuronale Netzwerksystem wird basierend auf der bewerteten Ähnlichkeit modifiziert. Das trainierte neuronale Netz wird verwendet, um aus einer eingegebenen Skizze ein ausgegebenes Gemälde zu erzeugen, wobei das ausgegebene Gemälde Merkmale aus der eingegebenen Skizze beibehält unter Verwendung eines extrapolierten intermediären Bildes und einen designierten Stil von dem Referenzgemälde widerspiegelt.

Description

  • Querverweis auf verwandte Anmeldungen
  • Diese Anmeldung beansprucht die Priorität der provisionellen US Anmeldung Nr. 62/426,959 , eingereicht am 28. November 2016, mit dem Titel „Facilitating Sketch to Painting Transformations“, welche durch Bezugnahme hierin in Gänze aufgenommen wird.
  • Hintergrund
  • Um ein elektronisches Gemälde zu erstellen, beginnen Benutzer oftmals damit, auf einer Leinwand bzw. einem Canvas eine Skizze bereitzustellen und danach Details hinzuzufügen. Das Erstellen eines detaillierten handgezeichneten Gemäldes ist selbst für professionelle Künstler eine schwierige und langwierige Aufgabe. Derzeit kann ein Benutzer existierende Systeme verwenden, um eine fertige Skizze einzugeben und zu versuchen, ein Gemälde zu erstellen. Da diese Systeme jedoch nicht zum Zweck des Erstellens eines Gemäldes aus einer Skizze erstellt wurden, spiegelt das resultierende elektronische Gemälde die gegebene Skizze nicht exakt wider.
  • Zusammenfassung
  • Ausführungsformen der vorliegenden Erfindung sind auf ein System gerichtet, das dazu trainiert ist, ein elektronisches Gemälde aus einer Skizze zu erzeugen, wobei das Gemälde akkurat Merkmale der Skizze in einem designierten Malstil widerspiegelt. Ein Verfahren, das zur Verfügung steht, um ein solches System zu bilden, ist die Verwendung eines neuronalen Netzes. Neuronale Netze können trainiert werden, um dabei zu helfen, eine Skizze in ein detailliertes elektronisches Gemälde umzuwandeln. Die Qualität eines Gemäldes, das durch ein neuronales Netz erzeugt wird, hängt davon ab, wie das System trainiert wird und welche Daten es während des Trainings erhält. Um ein neuronales Netzwerksystem zu erstellen, das dazu trainiert ist, um aus eingegebenen Skizzen stilistisch akkurate Gemälde zu erzeugen, muss das System trainiert werden, aus den minimalen Merkmalen einer Skizze zusätzliche Details zu extrapolieren, zu antizipieren, abzuleiten oder zu projizieren. Ein solches System kann mehrere neuronale Netze umfassen.
  • Das Trainieren eines solchen neuronalen Netzwerksystems kann erreicht werden, indem ein neuronales Netzwerk für Bilder und ein neuronales Netzwerk für Gemälde verwendet wird. Zuerst wird das neuronale Netz für Bilder trainiert, indem eine Trainingsskizze in das neuronale Netz für Bilder eingegeben wird, um ein intermediäres Trainingsbild zu erzeugen. Ein neuronales Netzwerksystem, das solch ein intermediäres Bild enthält, stellt sicher, dass das System lernt, aus einer minimalen Skizze Details zu einem Grad zu extrapolieren lernt, der notwendig ist, um ein adäquat detailliertes Gemälde zu erzeugen. Unterschiede zwischen dem intermediären Trainingsbild und einem Referenzbild werden verwendet, um Fehler in dem neuronalen Netz für Bilder zu bestimmen. Das Referenzbild gibt an, wie das intermediäre Bild aussehen sollte, wenn das neuronale Netz perfekt arbeiten würde. Anders gesagt ist das Referenzbild ein Ground-Truth Bild, mit dem das Netz sich vergleicht, um Fehler zu bestimmen. Derartige Fehler können verwendet werden, um das neuronale Netz für Bilder mittels Backpropagation der Fehler durch das Netz zu verbessern.
  • Intermediäre Trainingsbilder, die von dem neuronalen Netz für Bilder erzeugt werden, können dann verwendet werden, um ein neuronales Netz für Gemälde zu trainieren, in einem Stil gehaltene Gemälde zu erzeugen. In Ausführungsformen wird dieses Trainieren bewerkstelligt, indem in das neuronale Netz für Gemälde ein intermediäres Trainingsbild eingegeben wird, um ein entsprechendes in einem Stil gehaltenes Trainingsgemälde als Ausgabe zu erzeugen. Das Trainingsausgabegemälde wird dann mit einem Referenzgemälde und mit dem intermediären Trainingsbild verglichen. Dieser Vergleich kann verschiedene Unterschiede zwischen dem Trainingsausgabegemälde, dem intermediären Trainingsbild und/oder dem Referenzgemälde bestimme. Diese Unterschiede können Fehler in dem neuronalen Netz für Gemälde anzeigen. Derartige Fehler werden verwendet, um mittels Backpropagation der Fehler durch das Netz das neuronale Netz für Gemälde zu verbessern. Das neuronale Netzwerksystem kann für verschiedene Malstile trainiert werden, um es dem System zu ermöglichen, zur Erzeugung von Gemälden in einer Vielfalt von Stilen verwendet zu werden.
  • Figurenliste
    • 1 zeigt ein Diagramm einer Umgebung, in welcher eine oder mehrere Ausführungsformen der vorliegenden Offenbarung ausgeführt werden können, in Übereinstimmung mit verschiedenen Ausführungsformen der vorliegenden Offenbarung.
    • 2 zeigt eine beispielhafte Konfiguration einer Betriebsumgebung, in welcher einige Implementierungen der vorliegenden Offenbarung eingesetzt werden können, in Übereinstimmung mit verschiedenen Ausführungsformen der vorliegenden Offenbarung.
    • 3 zeigt Aspekte eines beispielhaften Skizzenerzeugungssystems, das eine Transformation einer eingegebenen Skizze in ein ausgegebenes Gemälde mit einem intermediären Bild ausführt, in Übereinstimmung mit verschiedenen Ausführungsformen der vorliegenden Offenbarung.
    • 4 gibt eine Darstellung eines Verfahrens zum Transformieren einer eingegebenen Skizze in ein in einem Stil gehaltenes elektronisches Gemälde an, in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung.
    • 5 zeigt einen Prozessablauf, der eine Ausführungsform eines Verfahrens zum Trainieren eines neuronalen Netzwerksystems zum Transformieren von Skizzen in in einem Stil gehaltene Gemälde zeigt, in Übereinstimmung mit Ausführungsformen der vorliegenden Erfindung.
    • 6 zeigt einen Prozessablauf, der eine Ausführungsform eines Verfahrens zum Transformieren von Skizzen in in einem Stil gehaltene Gemälde zeigt, in Übereinstimmung mit Ausführungsformen der vorliegenden Erfindung.
    • 7 ist ein Blockdiagramm einer beispielhaften Rechnervorrichtung, in welcher Ausführungsformen der vorliegenden Offenbarung eingesetzt werden können.
  • DETAILLIERTE BESCHREIBUNG
  • Benutzer wünschen häufig, Gemälde zu erstellen, die bestimmte Malstile widerspiegeln, wie beispielsweise Stile, welche den Kunstwerken von Van Gogh, Monet oder Rembrandt ähneln. Um ein solches elektronisches Gemälde zu erstellen erstellt ein Benutzer allgemein eine einfache Skizze, oftmals in Graustufen, und fügt dann der Skizze Details und Farben gemäß den stilistischen Präferenzen des Benutzers hinzu. Selbst für professionelle Künstler ist das Erstellen eines solchen detaillierten elektronischen Gemäldes, insbesondere eines, das einen bestimmten Malstil widerspiegelt, jedoch eine schwierige und mühsame Aufgabe.
  • m den manuellen Zeit- und Arbeitsaufwand für die Erstellung eines elektronischen Gemäldes zu reduzieren mag ein Benutzer versuchen, einen bestehenden Ansatz zu verwenden, der allgemein verwendet wird, um Fotografien in elektronische Gemälde umzuwandeln. Anstatt ein Foto als Eingabe zur Verfügung zu stellen, kann der Benutzer eine Graustufenskizze als Eingabe zur Verfügung stellen, um ein elektronisches Gemälde zu erstellen. Das erzeugte elektronische Gemälde ist für den Benutzer jedoch oftmals nicht zufriedenstellend, da das resultierende Gemälde Merkmale der Graustufenskizze nicht beibehält (wenn beispielsweise das Bild ein Portrait einer Person ist, kann ein Auge oder beide Augen, der Mund und/oder die Nase der Person verzerrt, verdeckt und/oder inakkurat sein; wenn das Bild eine Landschaft ist, kann ein Baum oder können mehrere Bäume und oder eine Horizontlinie der Landschaft verzerrt, verdeckt und/oder inakkurat sein; wenn das Bild eine Schlafzimmerszene ist, kann ein Bett, eine Lampe und/oder eine Zimmerecke verzerrt, verdeckt und/oder inakkurat sein) und/oder einen gewünschten Malstil nicht widerspiegelt. Dieses Ergebnis tritt auf, da ein solcher bestehender Ansatz dafür optimiert ist, Fotografien in Gemälde umzuwandeln. In dieser Hinsicht werden von einem solchen Ansatz in der Umwandlung in ein elektronisches Gemälde Merkmale aus einer Skizze unzureichend beibehalten und/oder antizipiert und/oder ein Malstil unzureichend auf den minimalen Inhalt einer Skizze angewandt. Darüber hinaus ist, da ein solcher bestehender Ansatz nur ein Gemälde aus einer vollständigen Skizze erzeugen kann, ein Benutzer nicht in der Lage, eine Skizze zu modifizieren und in Echtzeit eine Vorschau zu erhalten, wie solche Modifikationen sich auf das erzeugte Gemälde auswirken.
  • Dementsprechend sind Ausführungsformen der vorliegenden Erfindung darauf gerichtet, effiziente und effektive Transformationen von Skizze zu Gemälde zu ermöglichen. In dieser Hinsicht kann eine Skizze, die von einem Benutzer erstellt oder bereitgestellt wird (beispielsweise eine handgezeichnete Skizze) in Übereinstimmung mit einem gewünschten Malstil in ein elektronisches Gemälde transformiert oder umgewandelt werden. Auf einer hohen Ebene wird nach Eingabe einer Skizze die Skizze unter Verwendung eines neuronalen Netzwerksystems in ein elektronisches Gemälde umgewandelt. Genauer kann die Skizze unter Verwendung eines ersten neuronalen Netzes, das hierin allgemein als ein neuronales Netz für Bilder bezeichnet wird, in ein intermediäres Bild umgewandelt werden. Danach kann das intermediäre Bild unter Verwendung eines zweiten neuronalen Netzes, hierin allgemein als ein neuronales Netz für Gemälde bezeichnet, in ein elektronisches Gemälde umgewandelt werden. Das Umwandeln der Skizze in ein intermediäres Bild vor dem Erzeugen eines Gemäldes ermöglicht eine akkuratere Umwandlung Skizze zu Gemälde. In dieser Hinsicht ermöglicht ein derartiger mehrstufiger Ansatz, dass zusätzliche Details aus den minimalistischen Merkmalen der Skizze extrapoliert, antizipiert, abgeleitet oder projiziert werden können, um ein elektronisches Gemälde zu erzeugen, welches Merkmale der Skizze in einem gewünschten Malstil beibehält und/oder hinzufügt. In Übereinstimmung mit Ausführungsformen der vorliegenden Erfindung können die Transformationen Skizze zu Gemälde in Echtzeit erfolgen, ohne dass eine vollständige Skizze zur Transformation eingegeben wird. Zu diesem Zweck kann ein Benutzer eine Teilskizze bereitstellen oder eine Skizze modifizieren und kann in Echtzeit eine Vorschau erzeugter elektronischer Gemälde und/oder wie sich Modifikationen auf ein erzeugtes Gemälde auswirken erhalten.
  • In einer Implementierung wird für das Ausführen von Umwandlungen Skizze zu Gemälde ein neuronales Netzwerksystem verwendet, um aus einer eingegebenen Skizze ein elektronisches Gemälde zu erzeugen. Ein neuronales Netz bezieht sich allgemein auf einen rechnerischen Ansatz, der große Cluster verbundener Neuronen verwendet. Anstatt explizit programmiert zu werden sind neuronale Netze selbstlernend und werden trainiert, so dass eine erzeugte Ausgabe ein gewünschtes Ergebnis widerspiegelt. Wie hierin beschrieben kann ein neuronales Netzwerksystem trainiert werden, indem ein neuronales Netz für Bilder trainiert wird, welches Skizzen in Bilder umwandelt, und ein neuronales Netz für Gemälde trainiert wird, welches Bilder in Gemälde umwandelt. Auch wenn allgemein als separate neuronale Netze beschrieben kann jede beliebige Anzahl an neuronalen Netzen, einschließlich eines einzelnen neuronalen Netzes, in Übereinstimmung mit hierin beschriebenen Ausführungsformen trainiert werden.
  • Skizzen zum Trainieren eines solchen neuronalen Netzwerksystems können unter Verwendung von Referenzbildern erzeugt werden (beispielsweise wo die Skizzen, die zum Trainieren des Systems verwendet werden, synthetisch erzeugte Skizzen sind). Es können verschiedene Verfahren verwendet werden, um Trainingsskizzen aus solchen Referenzbildern zu erzeugen, so dass die Trainingsskizzen unterschiedliche Skizzenstile und -techniken widerspiegeln, um sicherzustellen, dass das neuronale Netzwerksystem nach Abschluss dessen Trainings in der Lage ist, eine breite Vielfalt von Stilen und Techniken eingegebener Skizzen zu erkennen. Darüber hinaus können Augmentierungsverfahren angewandt werden, um den Datensatz zum Trainieren des neuronalen Netzwerksystems weiter zu vergrößern; den Datensatz auf diese Weise während des Trainings zu erweitern resultiert in einem feiner getunten System, das weniger zur Überanpassung neigt.
  • Um ein neuronales Netzwerksystem für Bilder zu trainieren kann das neuronale Netz für Bilder allgemein basierend auf Transformationen von Skizzen zu intermediären Bildern trainiert werden, welche durch das neuronale Netz für Bilder ausgegeben werden. Insbesondere kann ein neuronales Netz für Bilder ein Trainingsbild ausgeben basierend auf einer Skizze, die aus einem Referenzbild erzeugt wird. Danach wird das Trainingsbild mit dem Referenzbild verglichen, aus dem die eingegebene Skizze erzeugt wurde, um Fehler zwischen dem Trainingsbild und dem Referenzbild zu berechnen. Solche Fehler werden dann durch das neuronale Netz für Bilder zurückgeführt, um das neuronale Netz geeignet zu trainieren, beispielsweise durch Anpassen der Gewichtung der Netzwerkverbindungen, um den Fehlerwert zu verringern. Auf dies Weise bleibt die Netzwerkarchitektur gleich, aber die Gewichtungen der Netzwerkverbindungen werden während jeder Trainingsiteration neu trainiert, um Fehler zu verringern. Das Trainieren eines solchen Netzwerks kann für eine Vielfalt von Kategorien erfolgen, so dass das Netzwerk beispielsweise Gesichter, Menschen, Tiere, Fahrzeuge, Schlafzimmer und/oder Landschaften erkennen kann.
  • Ein ähnlicher Prozess wird ausgeführt, um ein neuronales Netz für Gemälde zu trainieren. Genauer wird dem neuronalen Netz für Gemälde ein Trainingsbild bereitgestellt, um ein Trainingsgemälde auszugeben. Das Trainingsgemälde kann dann mit dem Trainingsbild und/oder einem stilistischen Referenzgemälde verglichen werden, um etwaige Fehler zu bestimmen. Derartige Fehler werden dann durch das neuronale Netz für Gemälde zurückgeführt, um das neuronale Netz geeignet zu trainieren, beispielsweise durch Anpassen der Gewichtung der Netzwerkverbindungen, um den Fehlerwert zu verringern. Die Netzwerkarchitektur bleibt bei jeder Trainingsiteration gleich, aber die Gewichtungen der Netzwerkverbindungen werden neu trainiert, um Fehler zu verringern. Das Trainieren eines solchen Netzwerks kann für eine Vielfalt von Malstilen erfolgen.
  • Dieser Prozess kann für eine hinreichend große Anzahl an Trainingszyklen wiederholt werden, bis das neuronale Netzwerksystem zu einem Zustand konvergiert, in welchem der Fehler der Berechnungen klein genug ist, sodass die erzeugten ausgegebenen Gemälde ein gewünschtes Schwellenwertniveau der Ähnlichkeit mit einem Stil eines Referenzgemäldes und mit den Merkmalen einer eingegebenen Skizze erreichen. Wie verstanden werden wird, kann das Trainieren des neuronalen Netzes für Bilder und des neuronalen Netzes für Gemälde nacheinander oder gleichzeitig erfolgen. Des Weiteren kann ein derartiges neuronales Netzwerksystem für mehrere Malstile trainiert werden, was es einem Benutzer ermöglicht, einen Malstil auszuwählen, den sie auf eine eingegebene Skizze anwenden möchten, wenn ein solches trainiertes System verwendet wird, um eine eingegebene Skizze in ein Gemälde zu transformieren.
  • Das Trainieren eines neuronalen Netzwerksystems, um Skizzen in Gemälde umzuwandeln unter Verwendung eines intermediären Bilds, wie hierin beschrieben, stellt sicher, dass ein Extrapolieren, Antizipieren, Schlussfolgern und/oder Projizieren einer geeigneten Menge an Detail aus einer eingegebenen Skizze erfolgt, um ein wünschenswertes elektronisches Gemälde eines bestimmten Stils zu erzeugen, welches Merkmale der eingegebenen Skizze beibehält und/oder prädiziert. Zu diesem Zweck lernt das neuronale Netzwerksystem während des Trainingsprozesses, Unterschiede zwischen dem intermediären Bild, das aus einer eingegebenen Skizze gewandelt wurde, und einem Referenzbild, das verwendet wurde, um die Skizze zu erzeugen, zu berücksichtigen. Ein derartiges Training stellt sicher, dass das neuronale Netzwerksystem eine Menge an Details erkennt, die in dem intermediären Bild aufzunehmen sind, so dass die Skizze erfolgreich in ein elektronisches Gemälde gewandelt werden kann, welches die Merkmale der Skizze beibehält. Darüber hinaus ermöglicht ein solches Training, etwaige fehlende oder inakkurate Details in einer eingegebenen Skizze hinzuzufügen, auszufüllen und/oder zu korrigieren. Ein solches Trainieren ermöglicht es dem System beispielsweise, ein fehlendes Auge oder fehlende Augenbrauen hinzuzufügen und/oder cartoon- oder amateurhafte Skizzen zu modifizieren, um Proportionen zu korrigieren, wie etwa die Größe der Augen relativ zur Größe des Gesichts. Das neuronale Netzwerksystem lernt auch, Unterschiede zwischen dem Gemälde, das aus dem intermediären Bild gewandelt wird, einem stilistischen Referenzgemälde und/oder dem eingegebenen intermediären Bild zu berücksichtigen, um ein resultierendes Gemälde zu beeinflussen, den Stil des Referenzgemäldes nachzuahmen, während die Merkmale des intermediären Bilds beibehalten werden, und daher die Merkmale der ursprünglich eingegebenen Skizze beibehalten werden.
  • Weiter kann ein solches neuronales Netzwerksystem zur benutzergeführten Einfärbung trainiert werden. Ein solches Trainieren erlaubt es einem Benutzer, eine bevorzugte Farbe in einem Bereich anzugeben unter Verwendung eines farbigen Kritzels oder Farbstrichs. In einer Schlafzimmerszene führt beispielsweise ein blauer Kritzel auf einem Wandbereich und ein roter Kritzel auf einem Bettbereich zu einem Gemälde mit blauen Wänden und einem roten Bett.
  • Es wird sich nun auf 1 bezogen. 1 ist ein Diagramm einer Umgebung 100, in welcher eine oder mehrere Ausführungsformen der vorliegenden Offenbarung ausgeführt werden können. Die Umgebung 100 beinhaltet eine oder mehrere Vorrichtungen, wie etwa eine Benutzervorrichtung 102A-102N. Beispielhafte Benutzervorrichtungen umfassen, ohne hierauf beschränkt zu sein, einen PC, einen Tablet Computer, einen Arbeitsplatzrechner, eine Rechnereinheit, eine Kombination dieser Vorrichtungen oder jede andere geeignete Vorrichtung, welche einen oder mehrere Prozessoren aufweist. Jede Benutzervorrichtung kann wenigstens eine Anwendung aufweisen, welche von der Kreativvorrichtung 108 unterstützt wird. Es sei verstanden, dass die folgende Beschreibung sich allgemein auf die Benutzervorrichtung 102A als ein Beispiel beziehen mag, und dass jede andere Benutzervorrichtung verwendet werden kann.
  • Ein Benutzer der Benutzervorrichtung kann über das Netzwerk 106 verschiedene Produkte, Anwendungen oder Dienste nutzen, welche von der Kreativvorrichtung 108 unterstützt werden. Die Benutzervorrichtungen 102A-102N können von verschiedenen Benutzern genutzt werden. Bei den Benutzern kann es sich, ohne hierauf beschränkt zu sein, um professionelle Künstler oder um Hobbykünstler handeln, welche Kreativwerkzeuge verwenden, um Kreativinhalte zu erzeugen, zu editieren, nachzuverfolgen oder zu verwalten, um Werbetreibende, Verleger, Entwickler, Inhalteinhaber, Inhalteverwalter, Inhalteerzeuger, Inhaltebetrachter, Inhaltekonsumenten, Entwerfer, Editoren, jede Kombination dieser Benutzer, oder ein anderer Benutzer, welcher digitale Werkzeuge verwendet, um digitale Erfahrungen zu erzeugen, zu editieren, nachzuverfolgen oder zu verwalten.
  • Ein digitales Werkzeug wie hierin beschrieben beinhaltet ein Werkzeug, das verwendet wird, um elektronisch eine Funktion oder einen Arbeitsablauf auszuführen. Beispielhafte digitale Werkzeuge beinhalten, ohne hierauf beschränkt zu sein, ein Inhalteerzeugungswerkzeug, ein Inhalteeditierwerkzeug, ein Inhalteveröffentlichungswerkzeug, ein Inhaltenachverfolgungswerkzeug, ein Inhalteverwaltungswerkzeug, ein Inhaltedruckwerkzeug, ein Inhaltekonsumwerkzeug, eine Kombination dieser Werkzeuge, oder ein anderes Werkzeug, das verwendet werden kann, um eine andere Funktion oder einen anderen Arbeitsablauf auszuführen, die bzw. der sich auf das Erstellen, Editieren, Verwalten, Erzeugen, Nachverfolgen, Konsumieren oder Ausführen von Inhalten bezieht. Ein digitales Werkzeug beinhaltet die Kreativvorrichtung 108.
  • Eine digitale Erfahrung wie hierin beschrieben beinhaltet eine Erfahrung, welche über eine elektronische Vorrichtung konsumiert werden kann. Beispielhafte digitale Erfahrungen beinhalten das Erstellen von Inhalten, das Erstellen von Inhalten, das Editieren von Inhalten, das Nachverfolgen von Inhalten, das Publizieren von Inhalten, das Mitteilen von Inhalten, das Drucken von Inhalten, das Verwalten von Inhalten, das Betrachten von Inhalten, das Konsumieren von Inhalten, eine Kombination dieser Erfahrungen, oder einen anderen Arbeitsablauf oder eine andere Funktion, die mit Bezug auf Inhalte ausgeführt werden kann.
  • Ein Inhalt wie hierin beschrieben beinhaltet ein elektronisches Dokument. Beispielhafte Inhalte beinhalten, ohne hierauf beschränkt zu sein, ein Bild, ein Video, eine Webseite, eine Benutzerschnittstelle, ein Menüelement, ein Werkzeugmenü, ein Magazin, eine Slideshow, eine Animation, eine soziale Mitteilung, einen Kommentar, einen Blog, deinen Datenfeed, Audio, eine Werbeanzeige, eine Vektorgrafik, eine Bitmap, eine Kombination eines oder mehrerer Inhalte, oder einen anderen elektronischen Inhalt.
  • Die Benutzervorrichtungen 102A-102N können über ein Netzwerk 106 mit einer Kreativvorrichtung 108 verbunden sein. Beispiele eines Netzwerks 106 beinhalten, ohne hierauf beschränkt zu sein, das Internet, ein lokales Netzwerk (LAN), ein drahtloses Bereichsnetzwerk, ein drahtgebundenes Bereichsnetzwerk, ein Weitbereichsnetzwerk und ähnliches.
  • Die Kreativvorrichtung 108 beinhaltet ein oder mehrere Werke, um dem Benutzer eine oder mehrere digitale Erfahrungen bereitzustellen. Die Kreativvorrichtung 108 kann implementiert sein unter Verwendung von einem oder mehreren Servern, einer oder mehrerer Plattformen mit entsprechenden Anwendungsprogrammierschnittstellen, Cloudinfrastruktur und ähnliches. Darüber hinaus kann jedes Werk auch implementiert sein unter Verwendung eines oder mehrerer Server, einer oder mehreren Plattformen mit entsprechenden Anwendungsprogrammierschnittstellen, Cloudinfrastruktur und ähnliches. Die Kreativvorrichtung 108 beinhaltet auch eine Datenspeichereinheit 112. Die Datenspeichereinheit 112 kann implementiert sein als eine oder mehrere Datenbanken oder als ein oder mehrere Datenserver. Die Datenspeichereinheit 112 enthält Daten, welche von den Werken der Kreativvorrichtung 108 verwendet werden.
  • Ein Benutzer der Benutzervorrichtung 102A besucht eine Webseite oder einen Anwendungsstore, um Anwendungen zu erkunden, welche von der Kreativvorrichtung 108 unterstützt werden. Die Kreativvorrichtung 108 stellt die Anwendungen als Software-as-a-Service (SaaS) oder als eine alleinstehende Anwendung, welche auf der Benutzervorrichtung 102A installiert werden kann, oder als eine Kombination bereit. Der Benutzer kann ein Konto bei der Kreativvorrichtung 108 erstellen, indem er oder sie Benutzerdetails angibt und weiter Einlogdetails erzeugt. Alternativ kann die Kreativvorrichtung 108 Einlogdetails für den Benutzer automatisch erzeugen in Antwort auf das Erhalten der Benutzerdetails. In einigen Ausführungsformen wird der Benutzer auch aufgefordert, einen Anwendungsmanager zu installieren. Der Anwendungsmanager ermöglicht es dem Benutzer, die Installation verschiedener Anwendungen zu verwalten, die von der Kreativvorrichtung 108 unterstützt werden, und auch andere Funktionalitäten zu verwalten, wie Aktualisierungen, Abonnementkonto und ähnliches, die mit den Anwendungen assoziiert sind. Die Benutzerdetails werden von einem Benutzerverwaltungswerk 116 empfangen und in der Datenspeichereinheit 112 als Benutzerdaten 118 gespeichert. In einigen Ausführungsformen beinhalten die Benutzerdaten 118 weiter Kontodaten 120, unter welchen die Benutzerdetails gespeichert werden.
  • Der Benutzer kann sich für ein Testkonto entscheiden, oder kann je nach vom Benutzer gewählten Konto oder Abonnement zahlen. Alternativ kann die Zahlung von dem vom Benutzer gewählten Produkt oder der vom Benutzer gewählten Anzahl von Produkten abhängen. Basierend auf den Zahlungsdetails des Benutzers wird ein Benutzerprofil 122 erstellt durch ein Berechtigungswerk 124. Das Benutzerprofil 122 wird in der Datenspeichereinheit 112 gespeichert und zeigt die Berechtigung des Benutzers hinsichtlich verschiedener Produkte oder Dienste an. Das Benutzerprofil 122 gibt auch einen Benutzertyp an, das heißt, kostenlos, Test, Student, mit Nachlass oder zahlend.
  • In einigen Ausführungsformen können das Benutzerverwaltungswerk 116 und das Berechtigungswerk 124 ein einzelnes Werk sein, welches die Funktionalitäten beider Werke ausführt.
  • Der Benutzer kann dann über ein Anwendungsdownloadverwaltungswerk 126 verschiedene Anwendungen installieren, welche von der Kreativvorrichtung 108 unterstützt werden. Anwendungsinstallationsprogramme oder Anwendungsprogramme 128, welche in der Datenspeichereinheit 112 vorhanden sind, werden von dem Anwendungsdownloadverwaltungswerk 126 abgerufen und dem Benutzer direkt oder über den Anwendungsmanager zur Verfügung gestellt. In einer Ausführungsform werden Angaben aller Anwendungsprogramme 128 abgerufen und über eine Schnittstelle des Anwendungsmanagers dem Benutzer bereitgestellt. In einer anderen Ausführungsform werden dem Benutzer Angaben von Anwendungsprogrammen 128 angezeigt, für die der Benutzer berechtigt ist, basierend auf dem Profil des Benutzers. Der Benutzer wählt dann die Anwendungsprogramme 128 oder die Anwendungen aus, welche der Benutzer herunterzuladen wünscht. Die Anwendungsprogramme 128 werden dann durch den Anwendungsmanager über das Anwendungsdownloadverwaltungswerk 126 auf die Benutzervorrichtung 102A heruntergeladen. Es werden auch entsprechende Daten bezüglich des Downloads in dem Benutzerprofil 122 aktualisiert. Ein Anwendungsprogramm 128 ist ein Beispiel des digitalen Werkzeugs. Das Anwendungsdownloadverwaltungswerk 126 verwaltet auch den Prozess des Bereitstellens von Aktualisierungen an die Benutzervorrichtung 102A.
  • Nach dem Herunterladen, Installieren und Starten eines Anwendungsprogramms wird der Benutzer in einer Ausführungsform aufgefordert, die Einlogdetails einzugeben. Das Benutzerverwaltungswerk 116 und das Berechtigungswerk 124 führen eine erneute Überprüfung aus, um sicherzustellen, dass der Benutzer berechtigt ist, das Anwendungsprogramm zu nutzen. In einer anderen Ausführungsform wird dem Benutzer ein direkter Zugriff auf das Anwendungsprogramm gegeben, da der Benutzer bereits in den Anwendungsmanager eingeloggt ist.
  • Der Benutzer benutzt ein oder mehrere Anwendungsprogramme 104A-104N, die auf der Benutzervorrichtung installiert sind, um ein oder mehrere Projekte oder Assets zu erstellen. Weiter verfügt der Benutzer auch über einen Workspace in jedem Anwendungsprogramm. Der Workspace wie hierin beschrieben beinhaltet das Einstellen des Anwendungsprogramms, das Einstellen von Werkzeugen oder das Einstellen einer Benutzerschnittstelle, die von dem Anwendungsprogramm bereitgestellt wird, und einer anderen Einstellung oder anderer Eigenschaften, die für das Anwendungsprogramm spezifisch sind. Jeder Benutzer kann einen Workspace haben. Der Workspace, die Projekte und/oder die Assets können als Anwendungsprogrammdaten 130 in der Datenspeichereinheit 112 gespeichert werden durch ein Synchronisationswerk 132. Alternativ oder zusätzlich können derartige Daten auf der Benutzervorrichtung, wie etwa der Benutzervorrichtung 102A, gespeichert werden.
  • Die Anwendungsprogrammdaten 130 beinhalten ein oder mehrere Assets 140. Die Assets 140 können ein geteilter Asset sein, welchen der Benutzer mit anderen Benutzern teilen möchte, oder welchen der Benutzer auf einem Marktplatz anbieten möchte. Die Assets 140 können auch über mehrere Anwendungsprogramme 128 hinweg geteilt werden. Jedes Asset beinhaltet Metadaten 142. Beispiele von Metadaten 142 beinhalten, ohne hierauf beschränkt zu sein, Font, Farbe, Größe, Form, Koordinaten, eine Kombination von diesen und ähnliches. Darüber hinaus beinhaltet in einer Ausführungsform jedes Asset auch eine Datei. Beispiele der Datei beinhalten, ohne hierauf beschränkt zu sein, ein Bild 144, Text 146, ein Video 148, einen Font 150, ein Dokument 152, eine Kombination von diesen und ähnliches. In einer anderen Ausführungsform beinhaltet ein Asset nur die Metadaten 142.
  • Die Anwendungsprogrammdaten 130 beinhalten auch Projektdaten 154 und Workspacedaten 156. In einer Ausführungsform beinhalten die Projektdaten 154 die Assets 140. In einer anderen Ausführungsform sind die Assets 140 alleinstehende Assets. Ähnlich können in einer Ausführungsform die Workspacedaten 156 Teil der Projektdaten 154 sein, während sie in einer anderen Ausführungsform alleinstehende Daten sind.
  • Ein Benutzer kann eine oder kann mehrere Benutzervorrichtungen bedienen, um auf Daten zuzugreifen. In dieser Hinsicht kann ein Benutzer von einer beliebigen Vorrichtung auf die Anwendungsprogrammdaten 130 zugreifen, einschließlich einer Vorrichtung, die nicht dazu verwendet wurde, um die Assets 140 zu erzeugen. Dies wird durch das Synchronisationswerk 132 ermöglicht, welches die Anwendungsprogrammdaten 130 in der Datenspeichereinheit 112 speichert und es ermöglicht, dass der Benutzer oder der andere Benutzer über eine beliebige Vorrichtung auf die Anwendungsprogrammdaten 130 zugreifen kann. Bevor der Benutzer, oder ein anderer Benutzer, über eine Vorrichtung auf die Anwendungsprogrammdaten 130 zugreift, muss der Benutzer oder der andere Benutzer Einlogdetails zur Authentisierung eingeben, falls dieser nicht bereits eingeloggt ist. In einigen Fällen werden, wenn der Benutzer oder der andere Benutzer bereits eingeloggt ist, neu erstellte Assets oder Aktualisierungen für die Anwendungsprogrammdaten 130 in Echtzeitbereitgestellt. Das Rechteverwaltungswerk 136 wird auch aufgerufen, um zu bestimmen, ob das neu erstellte Asset oder die Aktualisierungen dem Benutzer bereitgestellt werden können oder nicht. Die Workspacedaten 156 ermöglichen es dem Synchronisationswerk 132, dem Benutzer oder dem anderen Benutzer basierend auf den Rechteverwaltungsdaten 138 eine gleiche Workspacekonfiguration auf jeder anderen Vorrichtung bereitzustellen.
  • In verschiedenen Ausführungsformen können verschiedene Synchronisationsarten erreicht werden. Zum Beispiel kann der Benutzer einen Font oder eine Farbe von der Benutzervorrichtung 102A unter Verwendung eines ersten Anwendungsprogramms auswählen und kann den Font oder die Farbe in einem zweiten Anwendungsprogramm auf einer anderen Vorrichtung verwenden. Wenn der Benutzer den Font oder die Farbe mit anderen Benutzern teilt, dann können die anderen Benutzer den Font oder die Farbe ebenfalls benutzen. Eine derartige Synchronisation erfolgt üblicher Weise in Echtzeit. Auf ähnliche Weise kann eine Synchronisation anderer Arten von Anwendungsprogrammdaten 130 ausgeführt werden.
  • In einigen Ausführungsformen wird die Interaktion eines Benutzers mit den Anwendungen 104 durch ein Anwendungsanalytikwerk 158 nachverfolgt und in Anwendungsanalytikdaten 160 gespeichert Die Anwendungsanalytikdaten 160 beinhalten zum Beispiel die Verwendung eines Werkzeugs, die Verwendung eines Merkmals, die Verwendung eines Arbeitsablaufs, die Verwendung der Assets 140 und ähnliches. Die Anwendungsanalytikdaten 160 können die Verwendungsdaten auf einer benutzerspezifischen Basis enthalten und können auch die Verwendungsdaten auf einer werkzeugspezifischen oder einer arbeitsablaufspezifischen oder einer anderen Basis beinhalten. Das Anwendungsanalytikwerk 158 bettet einen Teil von Code in die Anwendungen 104 ein, welcher es den Anwendungen erlaubt, die Verwendungsdaten zu sammeln und diese an das Anwendungsanalytikwerk 158 zu senden. Das Anwendungsanalytikwerk 158 speichert die Verwendungsdaten als die Anwendungsanalytikdaten 160 und verarbeitet die Anwendungsanalytikdaten 160, um bedeutungsvolle Ausgaben zu erzielen. Zum Beispiel kann das Anwendungsanalytikwerk 158 eine Ausgabe zeichnen, dass der Benutzer ein Werkzeug „Werkzeug 4“ eine maximale Anzahl an Malen verwendet. Die Ausgabe des Anwendungsanalytikwerks 158 wird von einem Personalisierungswerk 162 verwendet, um ein Werkzeugmenü Arten der Personalisierung können ebenfalls basierend auf den Anwendungsanalytikdaten 158 ausgeführt werden. Darüber hinaus kann das Personalisierungswerk 162 auch die Workspacedaten 156 oder die Benutzerdaten 118 verwenden, einschließlich der Benutzerpräferenzen, um ein oder mehrere Anwendungsprogramme 128 für den Benutzer zu personalisieren.
  • In einigen Ausführungsformen beinhalten die Anwendungsanalytikdaten 160 Daten, welche den Status des Benutzerprojekts anzeigen. Wenn zum Beispiel der Benutzer dabei war, einen Artikel in einer digitalen Publizieranwendung zu erstellen, und wenn als der Benutzer die digitale Publizieranwendung verlassen hat es noch verblieben ist, den Artikel zu veröffentlichen, dann verfolgt das Anwendungsanalytikwerk 158 den Zustand. Wenn der Benutzer nun die digitale Publizieranwendung auf einer anderen Vorrichtung öffnet, dann wird dem Benutzer der Zustand angezeigt und es werden Optionen zum Publizieren unter Verwendung der digitalen Publizieranwendung oder einer anderen Anwendung bereitgestellt. Weiter kann, während der Artikel erstellt wird, auch eine Empfehlung durch das Synchronisationswerk 132 gegeben werden, einige der anderen Assets, die von dem Benutzer gespeichert wurden und die für den Artikel relevant sind, einzubeziehen. Eine derartige Empfehlung kann unter Verwendung von einem oder von mehreren Werken wie hierin beschrieben erzeugt werden.
  • Die Kreativvorrichtung 108 beinhaltet auch ein Gemeinschaftswerk 164, welches die Erstellung verschiedener Gemeinschaften sowie die Zusammenarbeit unter den Gemeinschaften ermöglicht. Eine Gemeinschaft wie hierin beschrieben beinhaltet eine Gruppe von Benutzern, die wenigstens ein gemeinsames Interesse teilen. Die Gemeinschaft kann geschlossen sein, das heißt auf eine Anzahl an Benutzern beschränkt sein, oder kann offen sein, das heißt, dass jeder mitwirken kann.
  • Die Gemeinschaft ermöglicht es den Benutzern, ihre Werke miteinander zu teilen oder die Werke anderer zu liken. Das Werk beinhaltet die Anwendungsprogrammdaten 140. Das Gemeinschaftswerk 164 speichert alle Daten, die der Gemeinschaft entsprechen, wie etwa ein Werk, das in der Gemeinschaft geteilt wurde, sowie Kommentare oder Likes, die für das Werk empfangen wurden, als Gemeinschaftsdaten 166. Die Gemeinschaftsdaten 166 beinhalten auch Benachrichtigungsdaten und werden verwendet, um andere Benutzer durch das Gemeinschaftswerk zu benachrichtigen im Falle einer Aktivität, die sich auf das Werk bezieht, oder wenn ein neues Werk geteilt wird. Das Gemeinschaftswerk 164 arbeitet zusammen mit dem Synchronisationswerk 132, um kollaborative Arbeitsabläufe für den Benutzer bereitzustellen. Beispielsweise kann der Benutzer ein Bild erstellen und kann Auffordern, dass ein Experte seine Meinung dazu abgibt oder dieses bearbeitet. Ein Expertenbenutzer kann dann entweder das Bild nach den Wünschen des Benutzers bearbeiten oder kann eine Expertenmeinung abgeben. Das Bearbeiten und das Abgeben der Expertenmeinung durch den Experten werden ermöglicht durch das Gemeinschaftswerk 164 und das Synchronisationswerk 132. In kollaborativen Arbeitsabläufen werden mehreren Benutzern unterschiedliche am Werk vorzunehmende Aufgaben zugewiesen.
  • Die Kreativvorrichtung 108 beinhaltet auch ein Marktplatzwerk 168, um dem einen oder den mehreren Benutzern einen Marktplatz bereitzustellen. Das Marktplatzwerk 168 erlaubt es dem Benutzer, ein Asset zum Kauf oder zur Verwendung anzubieten. Das Marktplatzwerk 168 kann auf die Assets 140 zugreifen, die der Benutzer auf dem Marktplatz anzubieten wünscht. Die Kreativvorrichtung 108 beinhaltet auch eine Suchmaschine 170, um eine Suche auf den Assets 140 in dem Marktplatz zu ermöglichen. Die Suchmaschine 170 ist auch ein Teil des einen oder der mehreren Anwendungsprogramme 128, um es dem Benutzer zu ermöglichen, nach den Assets 140 oder einem anderen Typ der Anwendungsprogrammdaten 130 zu suchen. Die Suchmaschine 170 kann eine Suche nach einem Asset unter Verwendung der Metadaten 142 oder der Datei ausführen.
  • Die Kreativvorrichtung 108 beinhaltet auch ein Dokumentenwerk 172 zum Bereitstellen von verschiedenen dokumentbezogenen Arbeitsabläufen für den Benutzer, einschließlich von Arbeitsabläufen der elektronischen oder digitalen Signatur. Das Dokumentenwerk 172 kann Dokumente als die Assets 140 in der Datenspeichereinheit 112 speichern oder kann ein separates Dokumentenrepositorium (in 1 nicht gezeigt) unterhalten.
  • In Übereinstimmung mit Ausführungsformen der vorliegenden Erfindung können die Anwendungsprogramme 128 eine Anwendung beinhalten, wie etwa die Anwendung 210 von 2, welche eine Transformation von Skizzen zu Gemälden ermöglicht. Eine solche Anwendung kann der Benutzervorrichtung 102A bereitgestellt werden, so dass die Transformationsanwendung Skizze zu Gemälde über die Benutzervorrichtung arbeitet. In einer anderen Ausführungsform kann eine derartige Transformation Skizze zu Gemälde als ein Add-On oder Plug-In für eine Anwendung bereitgestellt werden, wie etwa eine Entwurfs- oder Bildverarbeitungsanwendung.
  • 2 zeigt eine beispielhafte Konfiguration einer Betriebsumgebung, in welcher einige Implementierungen der vorliegenden Offenbarung eingesetzt werden können, in Übereinstimmung mit verschiedenen Ausführungsformen der vorliegenden Offenbarung. Es sei verstanden, dass diese und andere hierin beschriebenen Anordnungen lediglich beispielhaft dargelegt werden. Andere Anordnungen und Elemente (zum Beispiel Maschinen, Schnittstellen, Funktionen, Reihenfolgen und Gruppierungen von Funktionen und so weiter) können zusätzlich zu oder anstelle von den gezeigten verwendet werden, und aus Gründen der mögen Klarheit einige Elemente vollständig ausgelassen sein. Des Weiteren sind viele der hierin beschriebenen Elemente funktionelle Einheiten, welche als diskrete oder verteilte Komponenten implementiert werden können, oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und an jedem geeigneten Ort. Verschiedene Funktionen, die hierin als durch eine oder durch mehrere Entitäten ausgeführt beschrieben werden, können durch Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise mögen einige Funktionen durch einen Prozessor ausgeführt werden, welcher Anweisungen ausführt, die in einem Speicher gespeichert sind, wie mit Bezug auf 7 weiter beschrieben.
  • Es sei verstanden, dass die in 2 gezeigte Betriebsumgebung 200 ein Beispiel einer geeigneten Betriebsumgebung ist. Neben anderen nicht gezeigten Komponenten umfasst die Betriebsumgebung 200 eine Anzahl an Benutzervorrichtungen, wie die Benutzervorrichtungen 202a und 202b bis 202n, ein Netzwerk 204, und Server 208. Jede der in 2 gezeigten Komponenten kann mittels einer Art von Rechnervorrichtung implementiert sein, wie beispielsweise eine oder mehrere Rechnervorrichtungen 700, die in Verbindung mit 7 beschrieben ist bzw. sind. Diese Komponenten können miteinander über das Netzwerk 204 kommunizieren, welches drahtgebunden, drahtlos oder beides sein kann. Das Netzwerk 204 kann mehrere Netzwerke, oder ein Netz von Netzwerken beinhalten, ist aber in einfacher Form dargestellt, um nicht Aspekte der vorliegenden Offenbarung zu verdunkeln. Beispielsweise kann das Netzwerk 204 ein oder mehrere Weitbereichsnetzwerke (WANs), ein oder mehrere lokale Netzwerke (LANs), ein oder mehrere öffentliche Netzwerke wie das Internet und/oder ein oder mehrere private Netzwerke umfassen. Wenn das Netzwerk 204 ein Funktelefonnetz umfasst können Komponenten wie eine Basisstation, ein Kommunikationstower, oder sogar Zugriffspunkte (sowie auch andere Komponenten) eine Funkverbindungskapazität bereitstellen. Netzwerkumgebungen sind allgemein verbreitet in Büros, unternehmensweiten Rechnernetzwerken, Intranetzen und dem Internet. Dementsprechend wird das Netzwerk 204 nicht in größerem Detail beschrieben.
  • Es sei verstanden, dass im Rahmen der vorliegenden Offenbarung jede beliebige Anzahl an Benutzervorrichtungen, Servern und anderen Komponenten in der Betriebsumgebung 200 eingesetzt werden kann. Jede kann eine einzelne Vorrichtung oder mehrere Vorrichtungen umfassen, die in einer verteilten Umgebung kooperieren.
  • Die Benutzervorrichtungen 202a bis 202n können eine beliebige Art von Rechnervorrichtung sein, welche von einem Benutzer bedient werden kann. In einigen Implementierungen sind die Benutzervorrichtungen 202a bis 202n beispielsweise von dem Typ von Rechnervorrichtung, der mit Bezug auf 7 beschrieben ist. Allein als Beispiel und nicht als Beschränkung kann eine Benutzervorrichtung als ein PC, ein Laptopcomputer, eine Mobilvorrichtung, ein Smartphone, ein Tablet Computer, eine Smartwatch, ein tragbarer Computer, ein persönlicher digitaler Assistent (PDA), ein MP3 Player, ein GPS System oder Vorrichtung, ein Videoabspielgerät, eine handgehaltene Kommunikationsvorrichtung, eine Spielevorrichtung oder -system, ein Unterhaltungssystem, ein Fahrzeugrechnersystem, ein eingebetteter Systemcontroller, eine Fernbedienung, ein Haushaltsgerät, eine Unterhaltungselektronikvorrichtung, ein Arbeitsplatzrechner, eine Kombination dieser genannten Vorrichtungen oder eine andere geeignete Vorrichtung ausgebildet sein.
  • Die Benutzervorrichtungen können einen oder mehrere Prozessoren und ein oder mehrere computerlesbare Medien beinhalten. Die computerlesbaren Medien können computerlesbare Anweisungen enthalten, welche von dem einen oder den mehreren Prozessoren ausgeführt werden können. Die Anweisungen können durch eine oder durch mehrere Anwendungen verkörpert sein, wie die Anwendung 210, die in 2 gezeigt ist. Auf die Anwendung 210 wird sich der Einfachheit halber als eine einzelne Anwendung bezogen, aber in der Praxis kann deren Funktionalität durch eine oder durch mehrere Anwendungen verkörpert werden. Wie oben dargelegt, können die anderen Benutzervorrichtungen eine oder mehrere Anwendungen enthalten, die ähnlich der Anwendung 210 sind.
  • Die Anwendung(en) kann bzw. können allgemein jede beliebige Anwendung sein, die in der Lage ist, den Austausch von Information zwischen den Benutzervorrichtungen und dem bzw. den Server(n) 208 beim Ausführen des Transformierens einer Skizze in ein Gemälde zu ermöglichen. In einigen Implementierungen umfasst bzw. umfassen die Anwendung(en) eine Webanwendung, die in einem Webbrowser ausgeführt werden kann, und könnte zumindest teilweise auf der Serverseite der Umgebung 200 gehostet werden. Zusätzlich oder stattdessen kann bzw. können die Anwendung(en) eine dedizierte Anwendung umfassen, wie etwa eine Anwendung, welche eine Bildverarbeitungsfunktionalität aufweist. In einigen Fällen ist die Anwendung in das Betriebssystem integriert (zum Beispiel als ein Dienst). Es wird daher hierin in Betracht gezogen, dass „Anwendung“ breit interpretiert werden soll.
  • In Übereinstimmung mit Ausführungsformen hierin kann Anwendung 210 eine Transformation Skizze zu Gemälde ermöglichen. Insbesondere kann ein Benutzer eine Skizze, die in ein Gemälde umzuwandeln ist, auswählen oder eingeben. Eine Skizze kann auf beliebige Weise ausgewählt oder eingegeben werden. Beispielsweise kann ein Benutzer eine Skizze freihändig zeichnen oder Zeichenwerkzeuge benutzen. Als ein anderes Beispiel kann ein Benutzer eine gewünschte Skizze aus einem Repositorium auswählen, beispielsweise in einem Datenspeicher gespeichert, auf den über ein Netzwerk zugegriffen werden kann oder lokal auf der Benutzervorrichtung 202a gespeichert. Neben dem Bereitstellen einer Skizze kann ein Benutzer einen gewünschten Malstil auswählen, der eine Malstilpräferenz widerspiegelt, in welchen die Skizze umgewandelt werden kann. Ein gewünschter Malstil kann auf verschiedene Weisen ausgewählt werden. Beispielsweise kann eine Reihe von Gemälden präsentiert werden, aus welchen der Benutzer ein bestimmtes Gemälde auswählen kann, das einen gewünschten Malstil dargestellt. Als ein anderes Beispiel kann ein Benutzer ein Gemälde, das einen gewünschten Stil aufweist, bereitstellen oder eingeben. Basierend auf der eingegebenen Skizze und der Malstilpräferenz kann ein Gemälde erzeugt und dem Benutzer über die Benutzervorrichtung 202a bereitgestellt werden. In dieser Hinsicht kann das Gemälde über einen Anzeigebildschirm der Benutzervorrichtung angezeigt werden.
  • Wie hierin beschrieben kann der Server 208 Transformationen Skizze zu Gemälden mittels einem Skizzentransformer 206 ermöglichen. Der Server 208 weist einen oder mehrere Prozessoren und ein oder mehrere computerlesbare Medien auf. Die computerlesbaren Medien beinhalten computerlesbare Anweisungen, welche von dem einen oder den mehreren Prozessoren ausgeführt werden können. Die Anweisungen können optional eine oder mehrere Komponenten des Skizzentransformers 206 implementieren, der im Nachfolgenden näher beschrieben wird.
  • Der Skizzentransformer 206 kann ein neuronales Netzwerksystem trainieren und betreiben, um eingegebene Skizzen in in einem Stil gehaltene Gemälde zu transformieren. Ein derartiges neuronales Netzwerksystem kann aus einem oder aus mehreren neuronalen Netzen gebildet sein, welche trainiert sind, um eine designierte Ausgabe zu erzeugen. Beispielsweise kann ein neuronales Netzwerksystem ein erstes neuronales Netz aufweisen, wie ein neuronales Netz für Bilder, welches Bilder aus eingegebenen Skizzen erzeugt, und ein zweites neuronales Netz, wie ein neuronales Netz für Gemälde, welches elektronische Gemälde aus den Bildern erzeugt, welche von dem ersten neuronalen Netz erzeugt wurden.
  • Auf einer hohen Ebene trainiert der Skizzentransformer 206 ein neuronales Netzwerksystem, welches ein neuronales Netz für Bilder und ein neuronales Netz für Gemälde beinhaltet. Um das neuronale Netz für Bilder zu trainieren kann ein intermediäres Bild erzeugt werden unter Verwendung des neuronalen Netzes für Bilder basierend auf einer eingegebenen Skizze, die aus einem Referenzbild erzeugt wird. Eine eingegebene Skizze bezieht sich allgemein auf eine Skizze, die dem neuronalen Netzwerksystem bereitgestellt wird, oder auf einen Teil davon. Eingegebene Skizzen, die verwendet werden, um das neuronale Netz für Bilder zu trainieren, können hierin als Trainingsskizzen oder als Trainingseingabeskizzen bezeichnet werden. Ein intermediäres Bild bezieht sich allgemein auf ein Bild, das mittels dem neuronalen Netz für Bilder erzeugt wird. Intermediäre Bilder, die in Übereinstimmung mit dem Trainieren des neuronalen Netzes für Bilder erzeugt werden, können hierin als Trainingsbilder oder intermediäre Trainingsbilder bezeichnet werden. Das erzeugte intermediäre Bild kann mit einem Referenzbild verglichen werden, um das Trainieren des neuronalen Netzes für Bilder zu ermöglichen. In dieser Hinsicht kann das neuronale Netz für Bilder modifiziert oder angepasst werden basierend auf dem Vergleich, so dass die Qualität von nachfolgend erzeugten intermediären Bildern zunimmt. Ein solches Training hilft, Merkmale einer eingegebenen Skizze während der Umwandlung Skizze zu Gemälde beizubehalten.
  • In Übereinstimmung mit hierin beschriebenen Ausführungsformen kann eine Trainingseingabeskizze, die verwendet wird, um ein intermediäres Trainingsbild zu erzeugen, aus einem Referenzbild erzeugt werden. Wie hierin verwendet bezieht sich ein Referenzbild auf ein Bild, das verwendet wird, um ein intermediäres Trainingsbild zu erzeugen. Ein solches Referenzbild wird als ein Standard, oder Ground-Truth, zur Bewertung der Qualität eines intermediären Bilds verwendet, das aus der Trainingsskizze durch das neuronale Netz für Bilder umgewandelt wurde.
  • Um das neuronale Netz für Gemälde zu trainieren, kann dem neuronalen Netz für Gemälde ein Bild bereitgestellt werden, wobei das neuronale Netz für Gemälde aus dem Bild ein ausgegebenes Gemälde erzeugt. Obwohl das dem neuronalen Netz für Gemälde bereitgestellte Bild hierin allgemein als das intermediäre Trainingsbild bezeichnet wird, wird verstanden werden, dass das Bild ein intermediäres Trainingsbild sein kann, aber nicht muss, welches durch das neuronale Netz für Bilder erzeugt wurde. Als solches können, zusätzlich oder alternativ zur Verwendung von intermediären Trainingsbildern, welche durch das neuronale Netz für Bilder erzeugt werden, dem neuronalen Netz für Gemälde andere Trainingsbilder zum Trainieren bereitgestellt werden in Übereinstimmung mit hierin beschriebenen Ausführungsformen. Als solches können Bilder, die verwendet werden, um ein neuronales Netz für Gemälde zu trainieren, als Trainingsbilder oder intermediäre Trainingsbilder bezeichnet werden. Ein ausgegebenes Gemälde bezieht sich allgemein auf ein elektronisches Gemälde, welches mittels einem neuronalen Netz, wie etwa einem neuronalen Netz für Gemälde, erzeugt wurde. In Ausführungsformen spiegelt das elektronische Gemälde Merkmal(e) einer eingegebenen Skizze wider und ahmt einen Stil, der mit einem Referenzgemälde assoziiert ist, nach. Ein Trainingsausgabegemälde bezieht sich auf ein ausgegebenes Gemälde, das verwendet wird, um das neuronale Netz für Gemälde zu trainieren. Ein Referenzgemälde bezieht sich auf ein Gemälde, das als ein Standard zum Bewerten der Qualität des Stils eines Trainingsausgabegemäldes verwendet wird. Ein Referenzgemälde kann von einem Benutzer entweder direkt oder indirekt ausgewählt oder designiert werden. Das neuronale Netz für Gemälde kann basierend auf dem Vergleich des Trainingsausgabegemäldes mit Referenzgemälden und Trainingsbildern aktualisiert werden, um die Qualität zukünftig ausgegebener Gemälde, welche durch das trainierte neuronale Netz erzeugt werden, zu verbessern.
  • In verschiedenen Implementierungen wird ein neuronales Netzwerksystem, welches aus einem neuronalen Netz für Bilder und einem neuronalen Netz für Gemälde gebildet ist, des Skizzentransformers 206 iterativ trainiert unter Verwendung mehrerer Trainingseingabeskizzen, um Trainingsausgabegemälde zu erzeugen. Dieser Trainingsprozess kann separat oder simultan für das Bild und das neuronale Netz für Gemälde erfolgen. In jeder Iteration kann der Skizzentransformer 206 ein Referenzbild auswählen, um dieses in eine Trainingsskizze umzuwandeln. Der Skizzentransformer 206 verwendet ein neuronales Netz für Bilder, um ein intermediäres Trainingsbild aus der Trainingseingabeskizze zu erzeugen. Das intermediäre Trainingsbild kann dann mit dem Referenzbild verglichen werden, um etwaige Fehler zu berechnen. Derartige Fehler werden dann durch das neuronale Netz für Bilder zurückgeführt, so dass die Gewichtung der Netzwerkverbindungen angepasst werden kann, um den Fehlerwert zu verringern. Der Skizzentransformer 206 verwendet dann ein neuronales Netz für Gemälde, um ausgehend von einem Trainingsbild ein Trainingsgemälde auszugeben, wo das Trainingsbild zum Beispiel das intermediäre Trainingsbild des neuronalen Netzes für Bilder ist. Das Trainingsgemälde kann dann mit dem Trainingsbild und/oder einem stilistischen Referenzgemälde verglichen werden, um etwaige Fehler zu berechnen. Derartige Fehler werden dann durch das neuronale Netz für Gemälde zurückgeführt, so dass die Gewichtung der Netzwerkverbindungen angepasst werden können, um den Fehlerwert zu verringern.
  • Für Cloud-basierte Implementierungen können die Anweisungen auf dem Server 208 eine oder mehrere Komponenten des Skizzentransformers 206 implementieren, und die Anwendung 210 kann von einem Benutzer verwendet werden, um eine Schnittstelle zur Funktionalität zu bilden, die auf dem bzw. den Server(n) 208 implementiert ist. In einigen Fällen umfasst die Anwendung 210 einen Webbrowser. In anderen Fällen mag der Server 208 nicht erforderlich sein. Beispielsweise können die Komponenten des Skizzentransformers 206 vollständig auf einer Benutzervorrichtung implementiert sein, wie etwa der Benutzervorrichtung 202a. In diesem Fall kann der Skizzentransformer 206 zumindest teilweise durch die Anweisungen, welche der Anwendung 210 entsprechen, verkörpert sein.
  • Es sei daher verstanden, dass der Skizzentransformer 206 mittels mehrerer Vorrichtungen bereitgestellt sein mag, die in einer verteilten Umgebung angeordnet sind, welche gemeinsam die hierin beschriebene Funktionalität bereitstellen. Darüber hinaus mögen auch andere, nicht dargestellte Komponenten in der verteilten Umgebung angeordnet sein. Zusätzlich oder stattdessen kann der Skizzentransformer 206 zumindest teilweise in eine Benutzervorrichtung integriert sein, wie etwa die Benutzervorrichtung 202a. Des Weiteren kann der Skizzentransformer 206 zumindest teilweise als ein Cloud-Rechendienst verkörpert sein.
  • Mit Bezug auf 3 werden Aspekte eines beispielhaften Skizzenerzeugungssystems gezeigt, in Übereinstimmung mit verschiedenen Ausführungsformen der vorliegenden Offenbarung. Der Skizzentransformer 302 beinhaltet ein Trainingswerk 304, ein Transformationswerk 310 und einen Datenspeicher 312. Die vorstehenden Komponenten des Skizzentransformers 302 können zum Beispiel in der Betriebsumgebung 200 von 2 implementiert sein. Insbesondere können diese Komponenten in eine geeignete Kombination von Benutzervorrichtungen 202a und 202b bis 202n, und Server(n) 208 integriert sein.
  • Der Datenspeicher 312 kann Rechneranweisungen (zum Beispiel Softwareprogrammanweisungen, Routinen oder Dienste), Daten und/oder Modelle speichern, die in hierin beschriebenen Ausführungsformen verwendet werden. In einigen Implementierungen speichert der Datenspeicher 312 Information oder Daten, welche über die verschiedenen Komponenten des Skizzentransformers 302 empfangen werden, und stellt den verschiedenen Komponenten je nach Erfordernis Zugriff auf diese Information oder Daten zur Verfügung. Obwohl als eine einzelne Komponente dargestellt, kann der Datenspeicher 312 als ein oder mehrere Datenspeicher verkörpert sein. Des Weiteren kann die Information in dem Datenspeicher 312 auf eine geeignete Weise über einen oder mehrere Datenspeicher (die extern gehostet sein mögen) hinweg zur Speicherung gespeichert sein
  • In Ausführungsformen beinhalten die Daten, welche im Datenspeicher 312 gespeichert sind, Trainingsdaten 316. Trainingsdaten beziehen sich allgemein auf Daten, die verwendet werden, um ein neuronales Netz oder einen Teil davon zu trainieren. Als solches können die Trainingsdaten 316 Referenzbilder, Trainingsskizzen, Trainingsbilder, Trainingsgemälde und/oder Referenzgemälde beinhalten. In einigen Fällen können Daten durch den Skizzentransformer 302 von Benutzervorrichtungen empfangen werden (beispielsweise eine eingegebene Skizze, welche durch die Benutzervorrichtung 202a oder eine andere Vorrichtung, die mit einem Benutzer assoziiert ist, über zum Beispiel die Anwendung 210 empfangen wird). In anderen Fällen können Daten von einem oder von mehreren Datenspeichern in der Cloud empfangen werden.
  • Der Datenspeicher 312 kann auch verwendet werden, um das neuronale Netzwerksystem 314 zu speichern. ein solches neuronales Netzwerksystem kann aus einem oder aus mehreren neuronalen Netzen bestehen, wie einem neuronalen Netz für Bilder und einem neuronalen Netz für Gemälde.
  • Das Trainingswerk 304 kann verwendet werden, um das neuronale Netzwerksystem 314 zu trainieren. Solch ein neuronales Netzwerksystem kann verwendet werden, um aus eingegebenen Skizzen elektronische Gemälde zu erzeugen. In Ausführungsformen spiegeln die elektronischen Gemälde, welche von einem neuronalen Netzwerksystem erzeugt werden, einen designierten Malstil wider und/oder behalten Merkmale einer eingegebenen Skizze bei, aus welcher das elektronische Gemälde erzeugt wird. Wie in 3 gezeigt, beinhaltet das Trainingswerk 304 eine Konversionskomponente 306 und eine Trainingskomponente 308. Auch wenn eine Konversionskomponente und eine Trainingskomponente separat gezeigt sind, wird verstanden, dass die in diesem Zusammenhang beschriebene Funktionalität durch eine beliebige Anzahl an Komponenten ausgeführt werden kann.
  • Die Konversionskomponente 306 kann Trainingsskizzen aus Referenzbildern erzeugen. Die Referenzbilder können Fotographien, hochauflösende Bilder mit realistischen Texturdetails, in welchen das Niveau an Details vergleichbar mit Fotographien ist, und/oder ähnliche Bilder beinhalten. Die Referenzbilder können aus verschiedenen Quellen erhalten werden. In einigen Ausführungsformen kann die Konversionskomponente 306 verschiedene Verfahren verwenden, um Trainingsskizzen zu erzeugen, welche unterschiedliche Skizzierstile und -techniken widerspiegeln; um sicherzustellen, dass das neuronale Netzwerksystem nach Abschluss dessen Trainings in der Lage ist, eine breite Vielfalt an Stilen und Techniken zu erkennen. Zum Beispiel kann ein trainiertes neuronales Netz verwendet werden, um ein Referenzbild stilistisch in eine erzeugte Skizze umzuwandeln. Als ein anderes Beispiel kann die Konversionskomponente 306 einen Difference-of-Gaussians Operator verwenden, um ein Referenzbild in eine erzeugte Trainingsskizze umzuwandeln. Als ein nochmals weiteres Beispiel können Bildfilter, wie etwa Photoshop® Filter, auf Referenzbilder angewandt werden, um Trainingsskizzen zu erzeugen. Als ein weiteres Beispiel, kann die Konversionskomponente 306 Gesichtsbilder verwenden, die gepaart sind mit Skizzen, die von einem Künstler für jedes der Gesichtsbilder gemalt sind (zum Beispiel Chinese University of Hong Kong Gesichtsskizzendatenbank). Wenn die Konversionskomponente 306 verschiedene Verfahren verwendet, um Trainingsskizzen zu erzeugen oder bereitzustellen, resultiert dies in einem robuster trainierten neuronalen Netzwerksystem auf Grund der größeren Diversität der Skizzentypen, auf denen das System trainiert wurde, zu erkennen und Gemälde zu erzeugen.
  • Die Konversionskomponente 306 kann auch verwendet werden, um Augmentierungsverfahren anzuwenden, um den Datensatz zum Trainieren eines neuronalen Netzwerksystems weiter zu vergrößern. Trainingsskizzen können auf beliebige Weisen augmentiert werden, um den Datensatz an Trainingsskizzen zu erweitern. Das Erweitern des Datensatzes auf solch eine Weise während des Trainierens resultiert in einem feiner getunten System zum Konvertieren von eingegebenen Skizzen in ausgegebene Gemälde, das weniger zur Überanpassung neigt. Ein Verfahren zum Augmentieren beinhaltet das Verdecken von Teilen einer Trainingsskizze, wodurch das neuronale Netz für Bilder dazu gezwungen wird etwaige fehlende Merkmale zu ergänzen. Das Beschneiden von erzeugten Skizzen trainiert das neuronale Netz für Bilder andererseits dazu, dass es invariant für bestimmte Orte von Objektmerkmalen wird. Ein weiteres Verfahren beinhaltet das Vergrößern oder Verringern des Kontrasts in einer Trainingsskizze, so dass das System lernen kann, eingegebene Skizzen mit unterschiedlichen Kontrasten oder Hintergrundfarben zu verallgemeinern. Nochmals weiter kann zufälliges Alphablending auf eine Trainingsskizze angewandt werden, um die Verallgemeinerung des trainierten Systems zu verbessern. Ein anderes Verfahren beinhaltet das Ausmaskieren des Hintergrunds einer Trainingsskizze, um das neuronale Netzwerksystem zu trainieren, unwichtige Linien aus einer eingegebenen Skizze während einer Transformation in ein ausgegebenes Gemälde zu verwerfen. Ein solcher erweiterter Datensatz kann zum Beispiel in den Trainingsdaten 316 auf dem Datenspeicher 312 gespeichert werden.
  • Die Konversionskomponente 306 kann auch verwendet werden, um eine ungefähre Farbe zu synthetisieren, um das System zu trainieren, bevorzugte Farben in Bereichen zu erkennen. Um dies zu bewerkstelligen können Trainingsdaten erzeugt werden, indem farbige Striche oder Kritzel auf einer Trainingsskizze platziert werden. Alternativ können Trainingsdaten erzeugt werden, indem ein Grauskalenbild mit einem Kanal aus dem Trainingsbild extrahiert wird und mit einem dreikanaligen Bild kombiniert wird, das farbige Striche oder Kritzel enthält. Beim Erzeugen der farbigen Striche unter Verwendung des Trainingsbilds kann, um arbiträres Benutzerverhalten zu emulieren, eine Anzahl von farbigen Strichen zufälliger Länge und Dicke von zufälligen Orten gesampelt werden. Wenn ein Strich wachsen gelassen wird, wenn ein Unterschied zwischen einer Pixelfarbe und der Strichfarbe einen Schwellenwert überschreitet, wird der Strich neu dargestellt mit einer neuen Farbe, die bei der Farbe des Pixels gesampelt wird. Zudem kann das Referenzbild unscharf gemacht werden und es kann eine zufällige Anzahl von farbigen Strichen zufälliger Länge und Dicke an zufälligen Orten erzeugt werden. Diese farbigen Striche können dann verwendet werden, um das neuronale Netzwerksystem zu trainieren.
  • Die Trainingskomponente 308 kann eine Trainingsskizze zum Trainieren eines neuronalen Netzwerksystems auswählen, um zum Beispiel ein neuronales Netz für Bilder innerhalb eines solchen Systems zu trainieren. Eine solche Trainingsskizze kann beispielsweise aus Trainingsdaten 316 auf dem Datenspeicher 312 ausgewählt werden. Eine Trainingsskizze kann ungefähre Farbinformation enthalten, um das System zur geführten Einfärbung zu trainieren. Das neuronale Netz für Bilder transformiert die Trainingsskizze in ein intermediäres Trainingsbild. Dies kann zum Beispiel bewerkstelligt werden, indem die Trainingsskizze zu einer kleineren Größe heruntergesampelt wird, eine Folge nichtlinearer Transformationen unter Verwendung einer Anzahl an Filtern ausgeführt wird, um das intermediäre Trainingsbild zu erzeugen, und dann das intermediäre Trainingsbild zu der gewünschten Ausgabegröße hochgesampelt wird.
  • Eine Implementierung, welche höher aufgelöste Eingaben ermöglicht und herausfordernde Bildkategorien handhaben kann, wie etwa Schlafzimmerszenen, verwendet eine Encoder-Decoder-artige Architektur mit residualen Verbindungen. Genauer kann die Architektur drei Heruntersampling-Schritte, sieben residuale Blöcke bei einer Engpassauflösung und drei bilineare Hochsamplingschritte, wobei zwei residuale Blöcke jedem Schritt folgen, aufweisen. Die Verwendung eines solchen residualen Blocks zum Ausführen der nichtlinearen Transformationen vereinfacht das Trainieren des Netzwerks und verbessert die Fähigkeit des neuronalen Netzes für komplexere Aufgaben. Als solches wird die Eingabe mehrfach Heruntergesampelt zu einer geringeren Größe, geht durch eine Abfolge nichtlinearer Transformationen und wird schließlich zur gewünschten Ausgabegröße hochgesampelt. Das Heruntersampeln kann Faltungen mit Schrittweite 2 ausführen, und die residualen Blöcke können Schrittweite 1 verwenden. Die Schrittweite gibt an, wie oft ein Filter stoppt und seine Analyse ausführt. Als solches bewegt sich bei Schrittweite 1 der Filter um 1 Pixel, bevor er seine Funktion ausführt, und bei Schrittweite 2 bewegt sich der Filter um 2 Pixel, bevor er seine Funktion ausführt.
  • Das neuronale Netz für Bilder kann dann trainiert werden, indem Unterschiede zwischen dem Referenzbild, das verwendet wurde, um die Trainingsskizze zu erzeugen, und dem intermediären Trainingsbild bewertet werden, um etwaige Fehler oder Diskrepanzen zwischen diesen zu bestimmen, wie in größerem Detail nachfolgend beschrieben. Fehler können Ungenauigkeiten, Defekte, Variationen und/oder Divergenzen zwischen dem intermediären Trainingsbild und dem Referenzbild beinhalten. Derartige Fehler können bestimmt werden, indem Parameter des intermediären Trainingsbilds und des Referenzbilds verglichen werden, um eine Verlustfunktion zu finden. Solche Parameter und Verlustfunktion sind nachfolgend weiter definiert. In einigen Ausführungsformen beinhaltet das Aktualisieren des neuronalen Netzes das Zurückführen solcher Fehler durch das neuronale Netz für Bilder, so dass der Algorithmus Netzwerkverbindungen anpassen kann, um den Fehlerwert zu verringern.
  • Das Anpassen des neuronalen Netzes zur Fehlerkorrektur wird bewerkstelligt indem wenigstens ein Knotenparameter eines solchen neuronalen Netzes für Bilder geändert wird. Das neuronale Netz für Bilder kann eine Vielzahl von miteinander verbundenen Knoten aufweisen, wobei mit jedem Knoten ein Parameter, oder eine Gewichtung, assoziiert ist. Während individuelle Parameter während des Trainierens eines neuronalen Netzes nicht spezifiziert werden müssen, können Beispiele derartiger Parameter Kantenerkennung, RGB Farbe, Merkmalstexturen, Grobheit und/oder Unschärfe einer Skizze beinhalten. Jeder Knoten empfängt Eingaben von mehreren anderen Knoten und kann auf der Basis der Kombination all dieser Eingaben aktivieren, wenn zum Beispiel die Summe der Eingangssignale über einem Schwellenwert ist. Der Parameter kann die Eingangssignale verstärken oder abschwächen. Beispielsweise könnte ein Parameter ein Wert zwischen 0 und 1 sein. Die Eingaben von jedem Knoten können durch einen Parameter gewichtet werden, oder anders gesagt mit dem Parameter multipliziert werden, bevor diese aufsummiert werden. Auf diese Weise können die Parameter die Stärke der Verbindung zwischen jedem Knoten und dem nachfolgenden Knoten kontrollieren. Zum Beispiel kann für einen gegebenen Knoten ein erster Parameter mehr Gewicht für eine Eingabe von einem ersten Knoten geben, während ein zweiter Parameter ein kleineres Gewicht für eine Eingabe von einem zweiten Knoten geben kann. Als ein Ergebnis verstärken die Parameter die Verbindung zu dem ersten Knoten, was es wahrscheinlicher macht, dass ein Signal von dem ersten Knoten dazu führt, den gegebenen Knoten zu aktivieren, während es weniger wahrscheinlich wird, dass Eingaben von dem zweiten Knoten eine Aktivierung bewirken werden. Das oben beschriebene System mit den drei Heruntersamplingschritten, den sieben residualen Blöcken bei der Engpassauflösung und den drei bilinearen Hochsamplingschritten, wobei jeder Schritt gefolgt ist von zwei residualen Blöcken, ermöglicht etwa 7,8 Millionen lernbare Parameter.
  • In Ausführungsformen werden Fehler bestimmt, indem unter Verwendung verschiedener Verfahren Unterschiede evaluiert werden zwischen einem Referenzbild und dem intermediären Trainingsbild, welches durch das neuronale Netz für Bilder erzeugt wird. Fehler können zum Beispiel unter Verwendung von Verlustfunktionen bestimmt werden, wie etwa Wiederherstellungsverlust, adversialem Verlust, Gesamtvarianzverlust oder ähnliches. Fehler, die unter Verwendung von Verlustfunktionen bestimmt werden, werden verwendet, um den Verlust in dem neuronalen Netz für Bilder mittels Backpropagation solcher Fehler durch das Netzwerk zu verringern. Solche Unterschiede können zum Beispiel durch Bestimmen von Wiederherstellungsverlust bestimmt werden. Dies kann das Analysieren von Pixelverlust und/oder Merkmalsverlust beinhalten.
  • Der Pixelverlust wird analysiert durch Vergleichen der RGB Farbunterschiede zwischen Pixeln des Referenzbilds und der RGB Farbe entsprechender Pixel des intermediären Trainingsbilds. Dies kann bestimmt werden durch Finden des mittleren Unterschieds pro Pixel zwischen dem Referenzbild und dem intermediären Trainingsbild. Wenn ein System zur geführten Einfärbung trainiert wird, zwingt Pixelverlust das Netzwerk, farblich präziser zu sein, indem farbigen Strichen auf einer Trainingseingabeskizze mehr Achtung geschenkt wird.
  • Der Merkmalsverlust wird bestimmt, indem Merkmale des Referenzbilds und Merkmale des intermediären Trainingsbilds verglichen werden. Ein solcher Vergleich kann ausgeführt werden, indem ein zusätzliches, im Voraus trainiertes neuronales Netz verwendet wird, um Merkmale aus Bildern zu extrahieren. Derartige Merkmale können unterschiedliche Bereiche und/oder Objekte des intermediären Trainingsbilds und des Referenzbilds sein. Wenn zum Beispiel das Bild einer Person ist, könnten die Merkmale ein oder beide Auge, einen Mund und/oder eine Nase der Person beinhalten; wenn das Bild eine Landschaft ist, könnten die Merkmale einen oder mehrere Bäume und/oder eine Horizontlinie der Landschaft beinhalten; wenn das Bild eine Schlafzimmerszene ist, können die Merkmale ein Bett, eine Lampe und/oder eine Zimmerecke beinhalten. Das im Voraus trainierte Netzwerk kann Merkmale aus dem intermediären Trainingsbild und dem Referenzbild extrahieren und vergleicht dann die extrahierten Merkmale. Das Verwenden von Merkmalen anstelle von Pixeln verkleinert den Suchraum, was die Dimension verkleinert und eine schnellere Konvergenz erlaubt. Fehler, welche unter Verwendung von Wiederherstellungsverlust bestimmt werden, werden dann verwendet, um durch Backpropagation solcher Fehler den Wiederherstellungsverlust in dem neuronalen Netz für Bilder zu verringern.
  • In anderen Ausführungsformen kann adversialer Verlust verwendet werden, um das neuronale Netz für Bilder zu trainieren. Adversialer Verlust wird danach bestimmt, ob das intermediäre Trainingsbild realistisch aussieht. Dies kann bewerkstelligt werden, indem eine binäre Klassifikation 0 oder 1 zugewiesen wird basierend auf einem Vergleich zwischen dem Referenzbild und dem intermediären Trainingsbild. Null kann bedeuten, dass das intermediäre Trainingsbild nicht realistisch aussieht, und eins kann bedeuten, dass das intermediäre Trainingsbild realistisch aussieht. Eine solche Analyse kann auf einem zuvor trainierten neuronalen Netz ausgeführt werden, das trainiert wurde, solche Unterschiede zu bestimmen. Fehler, die unter Verwendung von adversialem Verlust bestimmt wurden, werden dann auf das neuronale Netz für Bilder angewandt mittels Backpropagation solcher Fehler. Nach dem Trainieren des neuronalen Netzwerksystems für adversialen Verlust fokussiert das Netzwerk auf das Erzeugen realistischerer Ergebnisse mit plausiblen Farb- und Änderungsabweichungen von dem Referenzbild, anstatt zu versuchen, das Referenzbild exakt wiederzugeben.
  • Des Weiteren kann der Gesamtvarianzverlust analysiert werden. Der Gesamtvarianzverlust vergleicht die Kanten des intermediären Trainingsbilds mit den Kanten des Referenzbilds. Das Korrigieren des Gesamtvarianzverlusts kann Kontrast und Schärfe in intermediären Bildern verbessern.
  • In Ausführungsformen, welche Pixelverlust, Merkmalsverlust, adversialen Verlust und Gesamtvarianzverlust verwenden, wird ein Beispiel der finalen Zielfunktion L = wpLp + wfLf + wadvLadv + wtvLtv. Hierin repräsentiert L die Verlustfunktion, die verwendet wird, um Parameter des Systems zu gewichten. Lp repräsentiert den Pixelverlust. Lf repräsentiert den Merkmalsverlust. Ladv ist der adversiale Verlust. Eine beispielhafte Gleichung, um den adversialen Verlust zu berechnen, ist Ladv = -Σ logDϕ(Gθ(xi)), wobei DΦ ein schwacher Diskriminator ist, der dabei hilft, das Training zu stabilisieren. Ltv repräsentiert den Gesamtvariationsverlust. Die Gewichtungsparameter werden durch wp, wf, wadv und wtv repräsentiert.
  • In einer ersten Phase des Trainierens eines neuronalen Netzes für Bilder kann eine adversiale Gewichtung, wadv auf null gesetzt werden in der Gleichung L = wpLp + wfLf + wadvLadv + wtvLtv. Dies ermöglicht es, dass das Netzwerk darauf fokussiert, Merkmals- und Pixelverlust zu minimieren. Um eine feinteiligere Kontrolle unter Verwendung einer eingegebenen Skizze zu ermöglichen, um das Netzwerk davon abzuhalten, wichtige Details wie den exakten Ort von Merkmalen zu ignorieren, können die Gewichtungen des Pixelverlusts, wp, und des Merkmalsverlusts, wf, auf eins gesetzt und die Gewichtung des Gesamtvarianzverlusts, wtv, kann auf 10-5 gesetzt werden.
  • In weiteren Trainingsphasen, nachdem das neuronale Netz für Bilder trainiert wurde, Merkmals- und Pixelverlust zu minimieren, kann adversialer Verlust inkorporiert werden. Wenn zum Beispiel eine Graustufenskizze in ein intermediäres Bild umgewandelt wird, kann der Pixelverlust auf null gesetzt und das System unter Verwendung von Merkmalsverlust und adversialem Verlust trainiert werden. Ein derartiges Training tritt auf unter Verwendung der folgenden Gewichtungseinstellungen: wf = 1, wp = 0, wtv = 0, wadv ≈ 108. Wenn ein System zur geführten Einfärbung trainiert, wird der adversiale Verlust weniger betont, so dass die Ergebnisse Farbbedingungen besser erfüllen; als solches sind, um ein derartiges Training zu bewerkstelligen, wf = 1, wp =1, wtv = 0, wadv ≈ 105.
  • Die Trainingskomponente 308 kann weiter ein neuronales Netz für Gemälde trainieren. In dieser Hinsicht kann ein Trainingsbild, wie etwa ein intermediäres Trainingsbild, einem neuronalen Netzwerksystem bereitgestellt werden, genauer einem neuronalen Netz für Gemälde innerhalb eines solchen Systems. Wie beschrieben, kann ein Trainingsbild ein intermediäres Trainingsbild sein, welches durch das neuronale Netz für Bilder erzeugt wurde. Alternativ kann ein Trainingsbild aus den Trainingsdaten 316 in dem Datenspeicher 312 ausgewählt werden. Das neuronale Netz für Gemälde kann basierend auf einem Trainingsbild ein Trainingsausgabegemälde erzeugen. Das neuronale Netz für Gemälde kann dann trainiert werden durch Bewerten von Unterschieden zwischen einem Referenzgemälde, dem Trainingsbild und/oder dem Trainingsausgabegemälde, um etwaige Fehler oder Unterschiede zwischen diesen zu bestimmen. In einigen Ausführungsformen beinhaltet das Modifizieren oder Trainieren des neuronalen Netzes das Zurückführen derartiger Fehler durch das neuronale Netz für Gemälde, so dass der Algorithmus Netzwerkverbindungen anpassen kann, um den Fehlerwert zu verringern.
  • Das Anpassen des neuronalen Netzes, um Fehler zu korrigieren, wird bewerkstelligt, indem wenigstens ein Knotenparameter eines solchen neuronalen Netzes für Gemälde geändert wird. Das neuronale Netz für Gemälde kann eine Vielzahl von miteinander verbundenen Knoten aufweisen, wobei mit jedem Knoten ein Parameter, oder Gewicht, assoziiert ist. Solche Parameter können Bildfarben, Gemäldefarben, Texturen, Pinselstriche und/oder ob das Subjekt wie das Subjekt aussieht beinhalten. Jeder Knoten empfängt Eingaben von mehreren anderen Knoten und kann basierend auf der Kombination all dieser Eingaben aktivieren, beispielsweise wenn die Summe der Eingangssignale über einem Schwellenwert ist. Der Parameter kann die Eingangssignale verstärken oder abschwächen. Ein Parameter könnte beispielsweise ein Wert zwischen 0 und 1 sein. Die Eingaben von jedem Knoten können mit einem Parameter gewichtet werden, oder anders gesagt mit dem Parameter multipliziert werden, bevor diese aufsummiert werden. Auf diese Weise können die Parameter die Stärke der Verbindung zwischen jedem Knoten und dem nächsten kontrollieren. Für einen gegebenen Knoten kann beispielsweise ein erster Parameter eine größere Gewichtung für eine Eingabe von einem ersten Knoten bereitstellen, während ein zweiter Parameter eine kleinere Gewichtung für eine Eingabe von einem zweiten Knoten bereitstellen kann. Als ein Ergebnis verstärken die Parameter die Verbindung zu dem ersten Knoten, was es wahrscheinlicher macht, dass ein Signal vom ersten Knoten dazu führt, den gegebenen Knoten zu aktivieren, während es weniger wahrscheinlich wird, dass Eingaben von dem zweiten Knoten den Knoten zum Aktivieren bringen.
  • In Ausführungsformen werden Fehler bestimmt, indem Unterschiede zwischen einem Referenzgemälde, einem Trainingsausgabegemälde und/oder einem Trainingsbild evaluiert werden unter Verwendung einer beliebigen Anzahl von Verfahren. Zu diesem Zweck kann das Netzwerk trainiert werden durch Evaluieren von Unterschieden zwischen einem Referenzgemälde, einem Trainingsbild und einem Trainingsausgabegemälde, das von dem neuronalen Netz für Gemälde erzeugt wird.
  • Das Trainieren beinhaltet das Modifizieren des neuronalen Netzes basierend auf den Unterschieden zwischen dem Referenzgemälde, dem Trainingsbild und dem Trainingsausgabegemälde. Eine solche Modifikation des neuronalen Netzes kann das Ändern von zumindest einem der Knotenparameter beinhalten.
  • Fehler können unter Verwendung von Verlustfunktionen bestimmt werden, welche verwendet werden, um einen Verlust in dem trainierten neuronalen Netz mittels Backpropagation solcher Fehler durch das Netzwerk zu minimieren. Zum Beispiel können solche Unterschiede analysiert werden durch Bestimmen von Stilverlust. Stilverlust wird verwendet, um Farb- und Texturinformation zwischen dem Referenzgemälde und dem Trainingsausgabegemälde zu vergleichen. Der Stilverlust kann bestimmt werden unter Verwendung von Gramschen Matrizen, wobei eine Gramsche Matrix eine innere Produktmatrix zwischen vektorisierten Merkmalskarten eines elektronischen Gemäldes ist. Unterschiede können auch durch Bestimmen des Inhaltsverlusts analysiert werden. Der Inhaltsverlust wird bestimmt durch Vergleichen der Merkmale des Trainingsausgabegemäldes mit den Merkmalen des Trainingsbilds. Fehler, die bestimmt werden mittels Stilverlust und/oder Inhaltsverlust, können dann mittels Backpropagation auf das neuronale Netz für Gemälde angewandt werden, um ähnliche Fehler zu minimieren.
  • Bei der Ausführung kann ein neuronales Netzwerksystem, das gemäß der vorliegenden Offenbarung trainiert wurde, verwendet werden, um eingegebene Skizzen in Gemälde umzuwandeln, wie in einem Stil gehaltene Gemälde. Eine derartige Transformation kann ausgeführt werden unter Verwendung des Transformationswerks 310. Wie verstanden werden wird, kann ein trainiertes neuronales Netzwerksystem, wie ein trainiertes neuronales Netz für Bilder und ein trainiertes neuronales Netz für Gemälde, von dem Transformationswerk verwendet werden, um die Transformation Skizze zu Gemälde auszuführen. Das Verfahren zum Transformieren von Skizzen kann ähnlich dem Prozess sein, der für das Trainieren des neuronalen Netzwerksystems verwendet wird, wobei jedoch bei der Ausführung eingegebene Skizzen typischer Weise nicht aus Referenzbildern erzeugt werden als Trainingseingabeskizzen, wie sie es während des Trainings wurden, und intermediäre Bilder werden typischer Weise nicht gegenüber Referenzbildern bewertet.
  • Eine Skizze kann von einem Benutzer an einer Benutzervorrichtung empfangen werden. Eine solche Skizze kann eine In-Process-Skizze beinhalten, welche ein Benutzer in Echtzeit zeichnet unter Verwendung einer Rechnervorrichtung, wie die mit Bezug auf 7 beschriebenen. Die Skizze kann eingegeben werden unter Verwendung von Techniken, welche einen Berührungsbildschirm, einen Griffel, eine Maus und/oder ein Trackpad beinhalten. In anderen Ausführungsformen kann ein Benutzer die Skizze eingeben, indem er einen Link oder eine URL zu einer Skizze eingibt. Alternativ könnte ein Benutzer eine Skizze aus einer Gruppe von Skizzen auswählen, die in einer Datenbank gespeichert sind, wie etwa dem Datenspeicher 312 der 3.
  • Ein neuronales Netz für Bilder kann die Skizze in ein intermediäres Bild umwandeln. Dieses intermediäre Bild füllt fehlende Details und/oder Farben aus ausgehend von der groben Skizze mit oder ohne spärliche Farbstriche. Zusammen mit der empfangenen Skizze kann auch eine Kategorie eingegeben werden, um sicherzustellen, dass das neuronale Netz für Bilder die Skizzenkategorie kennt. Beispielsweise ein Portrait, wenn die Skizze von einem Gesicht ist, eine Person, wenn die Skizze eine von einem vollständigen Körpers ist, eine Art eines Tiers, oder ein Auto, Landschaft, oder Pflanzenart. Das Einbeziehen einer Kategorie ermöglicht es dem neuronalen Netz, dessen Training besser und genauer auf die eingegebene Skizze anzuwenden. Wenn mit der Skizze keine Farben zur geführten Einfärbung bereitgestellt werden, kann das intermediäre Bild einem Benutzer zur geführten Bildeinfärbung ausgegeben werden. Dieser Prozess kann es einem Benutzer erlauben, einen oder mehrere farbige Striche auf dem intermediären Bild zu platzieren, um ein eingefärbtes intermediäres Bild zu erzeugen.
  • Das intermediäre Bild kann dann einem trainierten neuronalen Netz für Gemälde bereitgestellt werden, um ein in einem Stil gehaltenes Gemälde zu erzeugen. Der Stil des Gemäldes kann ausgewählt werden aus einer Liste von Gemälden des neuronalen Netzwerksystems, für die das Netzwerk trainiert wurde, Stile zu erzeugen. Alternativ kann es einen standardmäßig vorgegebenen Stil geben, der auf eine eingegebene Skizze angewandt wird, wobei es einem Benutzer ermöglicht wird, den Malstil später zu ändern durch Auswählen eines anderen Gemäldes. Es können Referenzstiloptionen bereitgestellt werden unter Verwendung eines bestimmten Künstlers oder Kunstwerks, entweder nach Namen, unter Verwendung eines Bildes und/oder beides.
  • Das erzeugte Gemälde behält die Merkmale der eingegebenen Skizze bei und füllt fehlende Details und Farben aus. Wenn zum Beispiel in der eingegebenen Skizze nur ein Auge vorhanden ist, kann das neuronale Netzwerksystem das fehlende Auge ausfüllen oder ergänzen. Darüber hinaus ist das trainierte neuronale Netzwerksystem in der Lage, eingegebene Skizzen zu modifizieren, um ihren Realismus zu vergrößern. Wenn zum Beispiel in der eingegebenen Skizze Merkmale miteinander nicht in Proportion stehen, kann das neuronale Netzwerksystem die Merkmale korrigieren, so dass sie realistischere Proportionen widerspiegeln. Wenn jedoch einem Benutzer das erzeugte Ergebnis nicht gefällt, kann der Benutzer Modifikationen an der eingegebenen Skizze vornehmen. Da ein solches trainiertes Netzwerk 20 ms braucht, um eine eingegebene Skizze der Auflösung 256×256 in ein intermediäres Bild umzuwandeln, kann ein Benutzer Modifikationen vornehmen, um unerwünschte Ergebnisse von dem System zu kompensieren, oder kann Modifikationen vornehmen, so dass die Ausgabe ein gewünschtes Ergebnis besser widerspiegelt. Die Modifikationen können auch das Modifizieren der geführten Einfärbung einer eingegebenen Skizze beinhalten. Um vorgeschlagene Farben zu ändern und/oder hinzuzufügen kann ein Benutzer farbige Striche, oder Kritzel, auf Bereichen der Skizze hinzufügen/modifizieren.
  • Es wird sich nun auf 4 bezogen, wobei 4 ein illustriertes Verfahren zum Transformieren einer eingegebenen Skizze in ein in einem Stil gehaltenes elektronisches Gemälde bereitgestellt, in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung. In Ausführungsformen zum Trainieren eines neuronalen Netzwerksystems wird die Skizze 402 unter Verwendung eines Referenzbilds erzeugt. Um eine derartige Skizze zu erzeugen kann eine Transformationsprozedur wie ein Algorithmus auf dem Referenzbild verwendet werden, um die Skizze zu erzeugen. Die Skizze 402 kann dann Verwendet werden, um ein intermediäres Bild 404 zu erzeugen. In dieser Ausführungsform wird das intermediäre Bild 404 mit dem Referenzbild (nicht gezeigt) verglichen, um die Skizze 402 zu erzeugen. Ein erstes neuronales Netz, zum Beispiel ein neuronales Netz für Bilder, kann ein intermediäres Trainingsbild erzeugen, das aus der Trainingsskizze 410 und den Parametern wie etwa den oben diskutierten erzeugt wird. Das neuronale Netz für Bilder kann trainiert werden, indem Unterschiede zwischen dem Referenzbild, das verwendet wurde, um die Skizze 402 zu erzeugen, und dem Bild 404 zu bewerten, wobei das Bild 404 ein intermediäres Trainingsbild ist, welches durch das neuronale Netz für Bilder erzeugt wurde. Derartige Unterschiede können bestimmt werden unter Verwendung von Pixelverlust, Merkmalsverlust, adversialem Verlust und/oder Gesamtvarianzverlust. Das Erzeugen eines intermediären Bilds, wie etwa das Bild 404, zwingt das neuronale Netzwerksystem dazu, zu lernen, fehlende Details und Farben aus der Skizze 402 auf realistische Weise zu ergänzen.
  • Das Bild 404 kann dann verwendet werden, um ein zweites natürliches Netzwerk zu trainieren, zum Beispiel ein neuronales Netz für Gemälde, um ein ausgegebenes Gemälde 406 zu erzeugen aus einem intermediären Trainingsbild, das von einem neuronalen Netz für Bilder erzeugt wurde. Das neuronale Netz für Gemälde kann trainiert werden durch Evaluieren von Unterschieden zwischen einem Referenzgemälde, dem Bild 404, das durch das neuronale Netz für Bilder erzeugt wurde, und/oder dem ausgegebenen Gemälde 406, das von dem neuronalen Netz für Gemälde erzeugt wurde. Derartige Unterschiede können bestimmt werden unter Verwendung von Stilverlust und/oder Inhaltsverlust. Es sei verstanden, dass dieser Trainingsprozess separat oder simultan erfolgen kann.
  • In anderen Ausführungsformen gibt ein Benutzer, unter Verwendung eines trainierten neuronalen Netzes zum Ausführen einer Transformation Skizze zu Gemälde, eine Skizze 402 in ein Skizzentransformersystem ein, zum Beispiel den wie mit Bezug auf 2 beschriebenen Skizzentransformer 206 und/oder den wie mit Bezug auf 3 beschriebenen Skizzentransformer 302 ein. Die Skizze kann zum Beispiel eingegeben werden, indem ein Benutzer eine Skizze unter Verwendung eines Rechnersystems zeichnet und/oder indem eine URL zu einer elektronischen Skizze bereitgestellt wird. Ein trainiertes neuronales Netzwerksystem, wie das neuronale Netzwerksystem 314, das ausgeführt wird unter Verwendung des Transformationswerks 310 wie mit Bezug auf 3 beschrieben, kann ein Bild 404 aus der Skizze 402 erzeugen. Das Bild 404 kann ein intermediäres Bild sein. Das Erzeugen eines solchen intermediären Bildes ermöglicht es, dass zusätzliche Details extrapoliert, antizipiert, abgeleitet oder projiziert werden aus den minimalistischen Merkmalen der Skizze 402, um ein ausgegebenes Gemälde 406 zu erzeugen, welches die Merkmale der Skizze 402 beibehält und/oder dieser zusätzliche Merkmale hinzufügt in einem gewünschten Malstil eines Referenzgemäldes. Es ist nicht notwendig, dass das Bild 404 dem Benutzer angezeigt wird, aber in einigen Ausführungsformen kann es angezeigt werden. Zum Beispiel in Ausführungsformen, in denen eine geführte Einfärbung stattfindet, indem einem intermediären Bild Farbkritzel oder Farbstriche hinzugefügt werden, anstatt dass der eingegebenen Skizze Farbkritzel oder Farbstriche hinzugefügt werden. Das ausgegebene Gemälde 406 kann dann erzeugt werden. Ein solches ausgegebenes Gemälde kann einem Benutzer auf einer Benutzervorrichtung ausgegeben werden, zum Beispiel den Benutzervorrichtungen 202a bis 202n. Eine derartige Benutzervorrichtung kann eine Rechnervorrichtung sein, wie die weiter mit Bezug auf 7 beschriebene Rechnervorrichtung 700. Das ausgegebene Gemälde 406 kann einem Benutzer in Echtzeit angezeigt werden, während Modifikationen an der Skizze 402 vorgenommen werden. Ein Benutzer kann zum Beispiel eine Skizze eines Portraits inkrementell modifizieren, um die Augen, das Haar zu ändern und/oder Kopfschmuck hinzufügen/entfernen. Als ein anderes Beispiel könnte ein Benutzer einen Farbstrich auf einem Bett in einer Schlafzimmerszene ändern, so dass sich die Farbe des Betts von grün zu blau ändert.
  • Mit Bezug auf 5 ist ein Prozessablauf angegeben, welcher eine Ausführungsform des Verfahrens 500 zum Trainieren eines neuronalen Netzwerksystems zum Transformieren von Skizzen in in einem Stil gehaltene Gemälde zeigt, in Übereinstimmung mit Ausführungsformen der vorliegenden Erfindung. Blöcke 502 bis 504 beinhalten Schritte zum Empfangen und Erzeugen von Trainingsdaten. Bei den Blöcken 506 bis 522 beinhaltet das Verfahren 500 Schritte zum Trainieren eines neuronalen Netzwerksystems. Das neuronale Netzwerksystem, das in dem Verfahren 500 verwendet wird, kann aus zwei neuronalen Netzen bestehen, wie durch die Linie 512 angezeigt; ein erstes neuronales Netz, wie ein neuronales Netz für Bilder, welches die Blöcke 506 bis 510 ausführt, und ein zweites neuronales Netz, wie ein neuronales Netz für Gemälde, welches die Blöcke 514 bis 520 ausführt. Es sei jedoch verstanden, dass das Verfahren 500 mit einem neuronalen Netz oder mit mehr als zwei neuronalen Netzen ausgeführt werden kann.
  • Beim Block 502 kann ein Referenzbild empfangen werden. Ein solches Referenzbild kann zum Beispiel aus Trainingsdaten 316 empfangen werden, die auf dem Datenspeicher 312 von 3 gespeichert sind, und/oder aus einer Bilddatenbank, die in der Cloud gespeichert ist. Beim Block 504 kann das empfangene Referenzbild in eine Trainingsskizze mittels einer Transformationsprozedur, wie einem Algorithmus, umgewandelt werden. Zum Beispiel können Photoshop® Filter auf das Referenzbild angewandt werden. Weiter kann bei Block 504 die erzeugte Trainingsskizze verändert werden, um das neuronale Netzwerksystem weiter zu trainieren. Eine solche Augmentation erzeugt einen signifikant größeren Datensatz zum Trainieren des neuronalen Netzwerksystems, was eine Überanpassung reduziert. Datenaugmentation kann zum Beispiel das Verdecken eines Teils einer Trainingsskizze, das Beschneiden einer Trainingsskizze, das Ändern des Kontrasts einer Trainingsskizze, das Alpha-Blending einer Trainingsskizze, das Ausmaskieren eines Hintergrunds einer Trainingsskizze, und das Verunschärfen einer Trainingsskizze beinhalten.
  • Beim Block 506 kann unter Verwendung eines neuronalen Netzwerksystems aus der Trainingsskizze ein intermediäres Trainingsbild erzeugt werden. Zum Beispiel kann ein erstes neuronales Netzes neuronalen Netzwerksystems, wie ein neuronales Netz für Bilder, verwendet werden, um ein solches intermediäres Trainingsbild zu erzeugen. Beim Block 508 kann das intermediäre Trainingsbild mit dem Referenzbild verglichen werden, das verwendet wurde, um die Trainingsskizze zu erzeugen. Dieser Vergleich beinhaltet das Bestimmen von Verlustfunktionen wie etwa adversialem Verlust, Gesamtvarianzverlust, Pixelverlust, und/oder Merkmalsverlust. Diese Vergleiche können verwendet werden beim Block 510, wo das neuronale Netzwerksystem unter Verwendung der bestimmten Verlustfunktionen angepasst werden kann. Fehler, die unter Verwendung von Verlustfunktionen bestimmt werden, werden verwendet, um Verlust in dem neuronalen Netzwerksystem mittels Backpropagation derartiger Fehler durch das System zu minimieren. Wie in 5 gezeigt, können die vorstehenden Blöcke eine beliebige Anzahl an Malen wiederholt werden, um das erste neuronale Netz des neuronalen Netzwerksystems zu trainieren (zum Beispiel unter Verwendung eines anderen Paares von Referenzbild/erzeugter Skizze pair für jede Iteration).
  • Beim Block 514 können ein Trainingsbild und ein Referenzgemälde empfangen werden. Ein derartiges Trainingsbild kann zum Beispiel empfangen werden aus Trainingsdaten 316, die auf dem Datenspeicher 312 von 3 gespeichert sind, aus einer Bilddatenbank, die in der Cloud gespeichert ist, und/oder von dem ersten neuronalen Netz, als ein intermediäres Bild, das von dem ersten neuronalen Netz ausgegeben wird. Ein Referenzgemälde kann empfangen werden von einer Gemäldedatenbank, zum Beispiel Trainingsdaten 316, die auf dem Datenspeicher 312 von 3 gespeichert sind, von einer Gemäldedatenbank, die in der Cloud gespeichert ist. Beim Block 516 kann ein Trainingsausgabegemälde erzeugt werden ausgehend von dem Trainingsbild unter Verwendung eines neuronalen Netzwerksystems. Zum Beispiel kann ein zweites neuronales Netz eines neuronalen Netzwerksystems verwendet werden, um ein derartiges Trainingsausgabegemälde zu erzeugen, wobei das zweite neuronale Netz ein neuronales Netz für Gemälde ist. Beim Block 518 kann das Trainingsausgabegemälde mit einem Referenzgemälde und dem Trainingsbild verglichen werden. Dieser Vergleich beinhaltet das Bestimmen einer Verlustfunktion, wie einem Merkmalsverlust und/oder Inhaltsverlust. Derartige Vergleiche können beim Block 520 verwendet werden, wo das neuronale Netzwerksystem unter Verwendung der bestimmten Verlustfunktionen angepasst werden kann. Fehler, die unter Verwendung der Verlustfunktionen bestimmt werden, werden verwendet, um den Verlust in dem neuronalen Netzwerksystem mittels Backpropagation derartiger Fehler durch das System zu minimieren. Wie in 5 angezeigt, können die Blöcke 514 bis 520 eine beliebige Anzahl an Malen wiederholt werden, um das zweite neuronale Netz des neuronalen Netzwerksystems zu trainieren (zum Beispiel unter Verwendung eines anderen Trainingsbilds/Referenzgemäldes für jede Iteration). Alternativ können, wie in 5 angezeigt, die Blöcke 502 bis 520 eine beliebige Anzahl an Malen wiederholt werden, um das neuronale Netzwerksystem simultan zu trainieren (zum Beispiel unter Verwendung eines anderen Paares Referenzbild/erzeugte Skizze für jede Iteration, um ein ausgegebenes Trainingsbild zu erzeugen, wie etwa ein intermediäres Trainingsbild, das verwendet wird, um ein in einem Stil gehaltenes Gemälde zu erzeugen).
  • 6 zeigt ein beispielhaftes Verfahren 600 zum Transformieren von Skizzen in in einem Stil gehaltene Gemälde, in Übereinstimmung mit Ausführungsformen der vorliegenden Erfindung. Das Verfahren 600 kann beispielsweise von dem Skizzentransformer 206 von 2 und/oder dem Skizzentransformer 302 ausgeführt werden, unter Verwendung des neuronalen Netzwerksystems 314 von 3 nach Beendigung des Trainings des Systems.
  • Beim Block 602 können eine Skizze, ein Referenzstil und eine Kategorie eingegeben werden. Ein Benutzer kann zum Beispiel eine Skizze, einen Referenzstil und eine Kategorie eingeben. Die Skizze kann eine In-Process-Skizze sein, die ein Benutzer in Echtzeit zeichnet. Eine derartige elektronische Skizze kann erzeugt werden unter Verwendung einer Rechnervorrichtung, wie denjenigen, die mit Bezug auf 7 beschrieben sind. Die Skizze kann eingegeben werden unter Verwendung von Techniken umfassend einen Berührungsbildschirm, einen Griffel, eine Maus und/oder ein Trackpad. In anderen Ausführungsformen kann ein Benutzer die Skizze eingeben, indem er einen Link oder eine URL zu einer Skizze eingibt. Alternativ könnte ein Benutzer eine Skizze auswählen aus einer Gruppe von Skizzen, die in einer Datenbank gespeichert sind, wie dem Datenspeicher 312 von 3. Ein Referenzstil kann sich auf den Malstil beziehen, den ein Benutzer auf die eingegebene Skizze anzuwenden wünscht. Ein derartiger Referenzstil kann beispielsweise von einem Benutzer eingegeben werden, welcher ein Gemälde aus einer Liste von Gemälden auswählt, wobei ein neuronales Netzwerksystem für die Stile der Liste von Gemälden trainiert wurde. Alternativ könnte es einen standardmäßig voreingestellten Stil geben, der auf eine eingegebene Skizze angewandt wird, und ein Benutzer könnte später den Malstil ändern, indem er ein anderes Gemälde auswählt. Referenzstiloptionen können bereitgestellt werden unter Verwendung eines bestimmten Künstlers oder Kunstwerks, entweder nach Namen, unter Verwendung eines Bildes und/oder beides.
  • Eine Kategorie zeigt an, was in der eingegebenen Skizze dargestellt ist. Beispielsweise ein Portrait, wenn die Skizze von einem Gesicht ist, eine Person, wenn die Skizze von einem ganzen Körper ist, einer Art eines Tieres, oder ein Auto, Landschaft, oder Art einer Pflanze. Die Kategorie kann von einem Benutzer eingegeben werden. In anderen Ausführungsformen kann die Kategorie von einem Algorithmus bestimmt und eingegeben werden.
  • Beim Block 604 kann ein neuronales Netzwerksystem die eingegebene Skizze, den Referenzstil und die Kategorie empfangen. Beim Block 606 kann das trainierte neuronale Netzwerksystem implementiert werden, um die eingegebene Skizze in ein Ergebnis umzuwandeln.
  • Das neuronale Netzwerksystem kann zuvor auf eine Weise wie mit Bezug auf das Verfahren 500 in 5 beschrieben trainiert worden sein. Als solches kann das neuronale Netzwerksystem aus einem ersten neuronalen Netz, wie einem neuronalen Netz für Bilder, das trainiert ist, um eingegebene Skizzen in intermediäre Bilder umzuwandeln, und einem zweiten neuronalen Netz, das trainiert ist, um Bilder in ausgegebene Gemälde umzuwandeln, gebildet sein. Das neuronale Netz für Bilder kann trainiert werden basierend auf einem Vergleich eines intermediären Trainingsbilds mit einem Referenzbild, das verwendet wurde, um eine Trainingseingabeskizze zu erzeugen. Das zweite neuronale Netz, wie etwa ein neuronales Netz für Gemälde, kann trainiert werden basierend auf einem Vergleich eines Trainingsausgabegemäldes mit dem intermediären Trainingsbild und einem Referenzgemälde. Nach Abschluss des Trainingsprozesses können das trainierte neuronale Netz für Bilder und das trainierte neuronale Netz für Gemälde verwendet werden, um aus Skizzen Gemälde zu erzeugen. Dieses trainierte neuronale Netzwerksystem kann verwendet werden, um die eingegebene Skizze in ein intermediäres Bild umzuwandeln, und dann das intermediäre Bild in ein in einem Stil gehaltenes elektronisches Gemälde umzuwandeln. Das neuronale Netz für Bilder kann verwendet werden, um die eingegebene Skizze in das intermediäre Bild umzuwandeln, und das neuronale Netz für Gemälde kann verwendet werden, um ein in einem Stil gehaltenes elektronisches Gemälde aus dem intermediären Bild zu erzeugen.
  • Beim Block 608 gibt das neuronale Netzwerksystem ein Ergebnis aus. Ein solches Ergebnis kann ein intermediäres Bild sein, wie das mit Bezug auf 4 diskutierte Bild 404. Zusätzlich oder alternativ kann ein derartiges Ergebnis ein ausgegebenes Gemälde sein, wie das ausgegebene Gemälde 406. Ein solches ausgegebene Gemälde sollte akkurat die Merkmale oder die antizipierten Merkmale der eingegebenen Skizze und den designierten Referenzstil widerspiegeln. Beim Block 610 kann das von dem neuronalen Netzwerksystem ausgegebene Ergebnis an eine Benutzervorrichtung gesendet werden. Eine derartige Benutzervorrichtung kann eine Benutzervorrichtung wie die in 2 gezeigte Benutzervorrichtung 202a bis 202n sein. In Ausführungsformen kann diese Ausgabe in Echtzeit erzeugt werden, während der Benutzer Änderungen an der eingegebenen Skizze vornimmt.
  • Mit Bezug auf 7 beinhaltet eine Rechnervorrichtung 700 einen Bus 710, welcher direkt oder indirekt die folgenden Vorrichtungen koppelt: Speicher 712, einen oder mehrere Prozessoren 714, eine oder mehrere Präsentationskomponenten 716, Eingabe-/Ausgabeanschlüsse 718, Eingabe-/Ausgabekomponenten 720 und eine beispielhafte Stromversorgung 722. Der Bus 710 repräsentiert, was ein oder mehrere Busse sein können (wie ein Adressbus, ein Datenbus oder eine Kombination dieser). Auch wenn die verschiedenen Blöcke der 7 aus Gründen der Klarheit mit Linien gezeigt sind, ist die Abgrenzung der verschiedenen Komponenten in Wirklichkeit nicht so klar, und metaphorisch wären die Linien genauer grau und unscharf. Zum Beispiel mag man eine Präsentationskomponente, wie etwa eine Anzeigevorrichtung, als eine Eingabe-/Ausgabekomponente verstehen. Auch weisen Prozessoren Speicher auf. Die Erfinder erkennen, dass dies in der Natur der Sache liegt, und wiederholen, dass das Diagramm der 7 allein veranschaulichend für eine beispielhafte Rechnervorrichtung ist, welche in Verbindung mit einer oder mit mehreren Ausführungsformen der vorliegenden Erfindung verwendet werden kann. Es wird nicht Unterschieden hinsichtlich Kategorien wie „Arbeitsplatzrechner“, „Server“, „Laptop“, „handgehaltene Vorrichtung“, und so weiter, welche alle als in dem Bereich der 7 und mit dem Bezug auf „Rechnervorrichtung“ umfasst betrachtet werden.
  • Die Rechnervorrichtung 700 beinhaltet typischer Weise eine Vielfalt von computerlesbaren Medien. Computerlesbare Medien können alle verfügbaren Medien sein, auf welche die Rechnervorrichtung 700 zugreifen kann, und beinhalten sowohl flüchtige als auch nichtflüchtige Medien, entfernbare und nicht entfernbare Medien. Allein beispielhaft, und ohne hierauf beschränkt zu sein, können computerlesbare Medien Computerspeichermedien und Kommunikationsmedien umfassen. Computerspeichermedien umfassen sowohl flüchtige und nichtflüchtige, entfernbare und nicht entfernbare Medien, welche in einem beliebigen Verfahren oder einer beliebigen Technologie implementiert sein können zur Speicherung von Information wie etwa computerlesbare Anweisungen, Datenstrukturen, Programmmodule, oder andere Daten. Computerspeichermedien beinhalten, ohne hierauf beschränkt zu sein, RAM, ROM, EEPROM, Flashspeicher oder eine andere Speichertechnologie, CD-ROM, DVDs oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, magnetische Plattenspeicher oder andere magnetische Speichervorrichtungen, oder ein beliebiges anderes Medium, das verwendet werden kann, um die gewünschte Information zu speichern, und auf welche die Rechnervorrichtung 700 zugreifen kann. Computerspeichermedien umfassen keine Signale als solche. Kommunikationsmedien verkörpern typischer Weise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal, wie eine Trägerwelle oder einem anderen Transportmechanismus, und beinhalten alle beliebigen Informationsliefermedien. Der Begriff „moduliertes Datensignal“ bedeutet ein Signal, das eine oder mehrere seiner Eigenschaften auf eine solche Weise gesetzt oder geändert hat, um Information in dem Signal zu codieren. Allein als Beispiel und nicht als Beschränkung können Kommunikationsmedien drahtgebundene Medien, wie ein drahtgebundenes Netzwerk oder eine direkt verdrahtete Verbindung, und drahtlose Medien, wie akustische, Funk-, Infrarot- und andere drahtlose Medien umfassen. Kombinationen beliebiger der genannten sollen auch im Bereich computerlesbarer Medien umfasst sein.
  • Der Speicher 712 beinhaltet Computerspeichermedien in der Form von flüchtigem und/oder nichtflüchtigem Speicher. Wie gezeigt, enthält der Speicher 712 Anweisungen 724. Die Anweisungen 724 sind dazu konfiguriert, wenn sie von dem bzw. den Prozessoren) 714 ausgeführt werden, die Rechnervorrichtung dazu zu veranlassen, eine bzw. alle der hierin mit Bezug auf die oben diskutierten Figuren beschriebenen Operationen auszuführen, oder eines bzw. alle der hierin beschriebenen Programmmodule zu implementieren. Der Speicher kann entfernbar, nicht entfernbar oder eine Kombination davon sein. Beispielhafte Hardwarevorrichtungen beinhalten Halbleiterspeicher, Festplatten, optische Plattenlaufwerke und so weiter. Die Rechnervorrichtung 700 umfasst einen oder mehrere Prozessoren, welche Daten von verschiedenen Entitäten lesen, wie etwa dem Speicher 712 oder den Eingabe-/Ausgabekomponenten 720. Die Präsentationskomponente(n) 716 präsentieren einem Benutzer oder einer anderen Vorrichtung Datenangaben. Beispielhafte Präsentationskomponenten beinhalten eine Anzeigevorrichtung, einen Lautsprecher, eine Druckerkomponente, eine Vibrationskomponente und so weiter.
  • Die Eingabe-/Ausgabeanschlüsse 718 ermöglichen es der Rechnervorrichtung 700, logisch mit anderen Vorrichtungen gekoppelt zu werden, welche Eingabe-/Ausgabekomponenten 720 beinhalten, von denen einige eingebaut sein können. Beispielhafte Komponenten beinhalten ein Mikrofon, einen Joystick ein Gamepad, eine Satellitenschlüssel, einen Scanner, einen Drucker, eine drahtlose Vorrichtung und so weiter. Die Eingabe-/Ausgabekomponenten 720 können eine natürliche Benutzerschnittstelle („natural user interface“, NUI) bereitstellen, die Luftgesten, Stimme oder andere physiologische Eingaben verarbeitet, die von einem Benutzer erzeugt werden. In einigen Fällen können Eingaben zur weiteren Verarbeitung an ein geeignetes Netzwerkelement übertragen werden. Eine NUI kann eine beliebige Kombination von Spracherkennung, Berührungs- und Griffelerkennung, Gesichtserkennung, biometrischer Erkennung, Gestenerkennung sowohl auf dem Bildschirm als auch in der Nähe des Bildschirms, Luftgesten, Kopf- und Augennachverfolgung und Berührungserkennung, die assoziiert ist mit Anzeigen auf der Rechnervorrichtung 700. Die Rechnervorrichtung 700 kann mit Tiefenkameras ausgestattet sein, wie etwa stereoskopischen Kamerasystemen, RGB Kamerasystemen und Kombinationen dieser, zur Gestenerfassung und -erkennung. Des Weiteren kann die Rechnervorrichtung 700 mit Beschleunigungssensoren oder Gyroskopen ausgestattet sein, welche eine Bewegungserfassung ermöglichen. Die Ausgabe der Beschleunigungssensoren oder Gyroskope kann der Anzeige der Rechnervorrichtung 700 bereitgestellt werden, um eine immersive augmentierte Realität oder eine virtuelle Realität zu rendern.
  • Die hierin vorgestellten Ausführungsformen wurden mit Bezug auf bestimmte Ausführungsformen beschrieben, die in allen Begriffen allein beispielhaft und nicht beschränkend gedacht sind. Alternative Ausführungsformen werden den Fachleuten, an die sich die vorliegende Offenbarung richtet, ersichtlich sein, ohne den Bereich der Offenbarung zu verlassen.
  • Verschiedene Aspekte der beispielhaften Ausführungsformen wurden beschrieben unter Verwendung von Begriffen, die allgemein von Fachleuten verwendet werden, um anderen Fachleuten die Substanz ihrer Arbeiten mitzuteilen. Die Fachleute werden jedoch verstehen, dass andere Ausführungsformen verwirklicht werden können, welche lediglich einige der beschriebenen Aspekte aufweisen. Aus Gründen der Erläuterung wurden spezifische Zahlen, Materialien und Konfigurationen angegeben, um ein tiefgreifendes Verständnis der beispielhaften Ausführungsformen zu geben. Die Fachleute werden jedoch verstehen, dass andere Ausführungsformen ohne die spezifischen Details verwirklicht werden können. In anderen Fällen wurden wohlbekannte Merkmale ausgelassen oder vereinfacht, um die beispielhaften Ausführungsformen nicht zu verdunkeln.
  • Es wurden verschiedene Operationen als mehrere diskrete Operationen der Reihe nach beschrieben auf eine Weise, die dem Verständnis der beispielhaften Ausführungsformen am dienlichsten ist; die Reihenfolge der Beschreibung soll jedoch nicht so verstanden werden, dass diese Operationen notwendiger Weise von der Reihenfolge abhängen. Insbesondere brauchen diese Operationen nicht in der Reihenfolge ausgeführt werden, in welcher sie beschrieben wurden, Weiter sollen Beschreibungen von Operationen als separate Operationen nicht so verstanden werden, dass diese erfordern, dass die Operationen notwendiger Weise unabhängig voneinander und/oder durch separate Entitäten ausgeführt werden müssen. Ähnlich sollen Beschreibungen von Entitäten und/oder Modulen als separate Module nicht so verstanden werden, dass diese erfordern, dass die Module separat sind und/oder separate Operationen ausführen. In verschiedenen Ausführungsformen mögen dargestellte und/oder beschriebene Operationen, Entitäten, Daten und/oder Module vereinigt, in weitere Unterteile zergliedert und/oder ausgelassen werden.
  • Der Ausdruck „in einer Ausführungsform“ wird wiederholt verwendet. Der Ausdruck bezieht sich allgemein nicht auf dieselbe Ausführungsform; jedoch ist es möglich, dass er es tut. Die Begriffe „umfassend“, „aufweisend“ und „beinhaltend“ sind synonym, solange nicht der Kontext etwas anderes gebietet. Der Ausdruck „A/B“ bedeutet „A oder B“. Der Ausdruck „A und/oder B“ bedeutet „(A), (B), oder (A und B)“. Der Ausdruck „zumindest eines von A, B und C“ bedeutet „(A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C)“.
  • 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 62/426959 [0001]

Claims (20)

  1. Computerimplementiertes Verfahren zum Trainieren eines neuronalen Netzwerksystems zum Erzeugen von elektronischen Gemälden aus Skizzen, wobei das Verfahren umfasst: Trainieren eines ersten neuronalen Netzes, welches eingegeben Skizzen in intermediäre Bilder umwandelt, wobei das erste neuronale Netz trainiert wird basierend auf einem Vergleich eines intermediären Trainingsbilds und einem Referenzbild, das verwendet wurde, um eine Trainingseingabeskizze zu erzeugen; und Trainieren eines zweiten neuronalen Netzes, welches die intermediären Bilder in ausgegebene Gemälde umwandelt, wobei das zweite neuronale Netz trainiert wird basierend auf einem Vergleich eines Trainingsausgabegemäldes mit zumindest einem von dem intermediären Trainingsbild und einem Referenzgemälde, wobei das trainierte erste neuronale Netz und das trainierte zweite neuronale Netz Gemälde aus Skizzen erzeugen.
  2. Computerimplementiertes Verfahren nach Anspruch 1, weiter umfassend: Empfangen des Referenzbildes; und Erzeugen der Trainingseingabeskizze aus dem Referenzbild unter Verwendung einer Transformationsprozedur.
  3. Computerimplementiertes Verfahren nach Anspruch 1 oder 2, weiter umfassend: Umwandeln, durch das erste neuronale Netz, der Trainingseingabeskizze in das intermediäre Trainingsbild; und Anpassen des ersten neuronalen Netzes basierend auf dem Vergleich des intermediären Trainingsbilds mit dem Referenzbild.
  4. Computerimplementiertes Verfahren nach Anspruch 3, wobei das Vergleichen des intermediären Trainingsbilds mit dem Referenzbild zumindest eines umfasst von Bestimmen von adversialem Verlust, Pixelverlust, Merkmalsverlust, und Gesamtvarianzverlust.
  5. Computerimplementiertes Verfahren nach einem der vorstehenden Ansprüche, weiter umfassend: Erzeugen, durch das zweite neuronale Netz, des Trainingsausgabegemäldes aus dem intermediären Trainingsbild; und Anpassen des zweiten neuronalen Netzes basierend auf dem Vergleichen des Trainingsausgabegemäldes mit zumindest einem von dem intermediären Trainingsbild und dem Referenzgemälde.
  6. Computerimplementiertes Verfahren nach Anspruch 5, wobei das Vergleichen des Trainingsausgabegemäldes mit zumindest einem von dem intermediären Trainingsbild und dem Referenzgemälde zumindest eines von Bestimmen von Stilverlust und Inhaltsverlust beinhaltet.
  7. Computerimplementiertes Verfahren nach einem der vorstehenden Ansprüche, weiter umfassend: Ausführen von Datenaugmentierung auf der Trainingseingabeskizze.
  8. Computerimplementiertes Verfahren nach Anspruch 7, wobei die Datenaugmentierung zumindest eines umfasst von Verdecken eines Teils der Trainingseingabeskizze, Beschneiden der Trainingseingabeskizze, Ändern des Kontrasts der Trainingseingabeskizze, Alphablending der Trainingseingabeskizze, Ausblenden eines Hintergrunds der Trainingseingabeskizze, und Verunschärfen der Trainingseingabeskizze.
  9. Ein oder mehrere computerlesbare Medien, auf welchen eine Vielzahl von ausführbaren Anweisungen verkörpert sind, welche, wenn sie von einem oder von mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren dazu veranlassen, ein Verfahren zum Umwandeln von eingegebenen Skizzen in elektronische Gemälde auszuführen, wobei das Verfahren umfasst: Empfangen einer eingegebenen Skizze; und Verwenden eines trainierten neuronalen Netzwerksystems, um ausgehend von der eingegebenen Skizze ein Gemälde zu erzeugen, wobei das Gemälde Merkmale, die in der Skizze repräsentiert sind, beibehält basierend auf einer Extrapolation der Merkmale, die in der eingegebenen Skizze repräsentiert sind, in ein intermediäres Bild vor dem Transformieren des intermediären Bildes in das Gemälde.
  10. Medium nach Anspruch 9, wobei das Verfahren weiter umfasst: Ausgeben des Gemäldes, wobei das Gemälde auf eine Weise in einem Stil gehalten ist, welche einen bestimmten Stil widerspiegelt, wobei ein Referenzgemälde den bestimmten Stil bereitstellt.
  11. Medium nach Anspruch 10, wobei das Verfahren weiter umfasst: Empfangen einer Modifikation des Benutzers an der eingegebenen Skizze; Anpassen des ausgegebenen Gemäldes, um die Benutzermodifikation an der eingegebenen Skizze in Echtzeit widerzuspiegeln.
  12. Medium nach Anspruch 10 oder 11, wobei das Verfahren weiter umfasst: Empfangen eines eingegebenen Referenzstils, der mit dem Referenzgemälde assoziiert ist, wobei der eingegebene Referenzstil ein neuronales Netz in dem trainierten neuronalen Netzwerksystem anzeigt, das für das Erzeugen des auszugebenden Gemäldes zu verwenden ist, welches den bestimmten Stil widerspiegelt.
  13. Medium nach einem der Ansprüche 9 bis 12, wobei das Verfahren weiter umfasst: Empfangen einer Kategorie, die assoziiert ist mit der eingegebenen Skizze, wobei die Kategorie ein neuronales Netz in dem trainierten neuronalen Netzwerksystem anzeigt, das zu verwenden ist zum Erzeugen des auszugebenden Gemäldes von der eingegebenen Skizze, wobei die Kategorie sich auf einen in der eingegebenen Skizze gezeigten Gegenstand bezieht.
  14. Medium nach einem der Ansprüche 9 bis 13, wobei das trainierte neuronale Netzwerksystem trainiert wurde unter Verwendung eines Verfahrens, welches umfasst: Trainieren eines ersten neuronalen Netzes, welches eingegebene Skizzen in intermediäre Bilder umwandelt, wobei das erste neuronale Netz trainiert wird basierend auf einem Vergleich eines intermediären Trainingsbilds mit einem Referenzbild, das verwendet wurde, um eine Trainingseingabeskizze zu erzeugen; und Trainieren eines zweiten neuronalen Netzes, welches Bilder in ausgegebene Gemälde umwandelt, wobei das zweite neuronale Netz trainiert wird basierend auf einem Vergleich eines Trainingsausgabegemäldes mit zumindest einem von dem intermediären Trainingsbild und einem Referenzgemälde, wobei das trainierte erste neuronale Netz und das trainierte zweite neuronale Netz Gemälde aus Skizzen erzeugen.
  15. Medium nach Anspruch 14, wobei das trainierte neuronale Netzwerksystem trainiert wurde unter Verwendung eines Verfahrens, welches weiter umfasst: Erzeugen der Trainingseingabeskizze aus dem Referenzbild in eine Trainingsskizze; Umwandeln, durch das erste neuronale Netz, der Trainingseingabeskizze in das intermediäre Trainingsbild; und Anpassen des neuronalen Netzes basierend auf dem Vergleich des intermediären Trainingsbilds mit dem Referenzbild.
  16. Medium nach Anspruch 14 oder 15, wobei das trainierte neuronale Netzwerksystem trainiert wurde unter Verwendung eines Verfahrens, welches weiter umfasst: Erzeugen, durch das zweite neuronale Netz, des Trainingsausgabegemäldes aus dem intermediären Trainingsbild; und Anpassen des zweiten neuronalen Netzes basierend auf dem Vergleich des Trainingsausgabegemäldes mit dem intermediären Trainingsbild und dem Referenzgemälde.
  17. Rechnersystem, umfassend: einen oder mehrere Prozessoren; und ein oder mehrere nichttransitorische, computerlesbare Speichermedien, welche mit dem einen oder den mehreren Prozessoren gekoppelt sind, welche Anweisungen darauf speichern, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, das Rechnersystem dazu veranlassen, folgendes bereitzustellen: Mittel zum Trainieren eines neuronales Netzwerksystem, wobei das neuronale Netzwerksystem ein erstes neuronales Netz, das trainiert ist, eingegebene Skizzen in intermediäre Bilder zu wandeln, und ein zweites neuronales Netz, das trainiert ist, die intermediären Bilder in ausgegebene Gemälde zu wandeln, umfasst; und Mittel zum Umwandeln einer eingegebenen Skizze in ein ausgegebenes Gemälde unter Verwendung des trainierten neuronalen Netzwerksystems.
  18. System nach Anspruch 17, wobei das erste neuronale Netz trainiert ist basierend auf einem Vergleich eines intermediären Trainingsbilds mit einem Referenzbild, das verwendet wurde, um eine Trainingseingabeskizze zu erzeugen.
  19. System nach Anspruch 17 oder 18, wobei das zweite neuronale Netz trainiert ist basierend auf einem Vergleich eines Trainingsausgabegemäldes mit zumindest einem von einem intermediären Trainingsbild, das durch das erste neuronale Netz aus einer Trainingseingabeskizze gewandelt wurde, und einem Referenzgemälde.
  20. System nach einem der Ansprüche 17 bis 19, wobei die Mittel zum Umwandeln der eingegebenen Skizze in das ausgegeben Gemälde eine Echtzeittransformation der eingegebenen Skizze in das ausgegebene Gemälde beinhalten, wobei das ausgegebene Gemälde an eine Benutzervorrichtung ausgegeben wird.
DE102017009049.1A 2016-11-28 2017-09-27 Ermöglichen von Transformationen Skizze-zu-Gemälde Pending DE102017009049A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662426959P 2016-11-28 2016-11-28
US62/426,959 2016-11-28
US15/457,830 2017-03-13
US15/457,830 US10916001B2 (en) 2016-11-28 2017-03-13 Facilitating sketch to painting transformations

Publications (1)

Publication Number Publication Date
DE102017009049A1 true DE102017009049A1 (de) 2018-05-30

Family

ID=60244248

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017009049.1A Pending DE102017009049A1 (de) 2016-11-28 2017-09-27 Ermöglichen von Transformationen Skizze-zu-Gemälde

Country Status (5)

Country Link
US (2) US10916001B2 (de)
CN (1) CN108122264B (de)
AU (1) AU2017228685B2 (de)
DE (1) DE102017009049A1 (de)
GB (1) GB2556985B (de)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6761128B2 (ja) * 2016-09-06 2020-09-23 エレクタ、インク.Elekta, Inc. 合成医療画像を生成するためのニューラルネットワーク
JP7014782B2 (ja) * 2017-05-01 2022-02-01 株式会社Preferred Networks 自動着色方法、自動着色システム及び自動着色装置
JP7252701B2 (ja) 2017-05-23 2023-04-05 株式会社Preferred Networks システム、プログラム、および方法
JP7242165B2 (ja) * 2017-09-20 2023-03-20 株式会社Preferred Networks プログラム、情報処理装置、および方法
CN107833176A (zh) * 2017-10-30 2018-03-23 上海寒武纪信息科技有限公司 一种信息处理方法及相关产品
US10896307B2 (en) 2017-11-07 2021-01-19 Digimarc Corporation Generating and reading optical codes with variable density to adapt for visual quality and reliability
US10872392B2 (en) 2017-11-07 2020-12-22 Digimarc Corporation Generating artistic designs encoded with robust, machine-readable data
US20190213705A1 (en) 2017-12-08 2019-07-11 Digimarc Corporation Artwork generated to convey digital messages, and methods/apparatuses for generating such artwork
US10521700B2 (en) * 2017-12-14 2019-12-31 Honda Motor Co., Ltd. Methods and systems for converting a line drawing to a rendered image
US10388002B2 (en) * 2017-12-27 2019-08-20 Facebook, Inc. Automatic image correction using machine learning
JP7477260B2 (ja) * 2018-01-30 2024-05-01 株式会社Preferred Networks 情報処理装置、情報処理プログラム及び情報処理方法
CN108596830B (zh) * 2018-04-28 2022-04-22 国信优易数据股份有限公司 一种图像风格迁移模型训练方法以及图像风格迁移方法
US10649618B2 (en) * 2018-05-15 2020-05-12 Fuji Xerox Co., Ltd. System and method for creating visual representation of data based on generated glyphs
CN108846793B (zh) * 2018-05-25 2022-04-22 深圳市商汤科技有限公司 基于图像风格转换模型的图像处理方法和终端设备
JP7472413B2 (ja) 2018-06-08 2024-04-23 ディジマーク コーポレイション 点描法、ボロノイ法、及びドロネー法を使用して信号運搬アートを生成すること、並びにこれを読み取ること
CN109035318B (zh) * 2018-06-14 2021-11-30 西安电子科技大学 一种图像风格的转换方法
US10672174B2 (en) 2018-06-28 2020-06-02 Adobe Inc. Determining image handle locations
US10621764B2 (en) * 2018-07-05 2020-04-14 Adobe Inc. Colorizing vector graphic objects
CN110163048B (zh) * 2018-07-10 2023-06-02 腾讯科技(深圳)有限公司 手部关键点的识别模型训练方法、识别方法及设备
CN109035357B (zh) * 2018-07-10 2023-01-03 深圳市前海手绘科技文化有限公司 一种人工智能自动绘画方法
CN109102460A (zh) * 2018-08-28 2018-12-28 Oppo广东移动通信有限公司 一种图像处理方法、图像处理装置及终端设备
US10672136B2 (en) * 2018-08-31 2020-06-02 Snap Inc. Active image depth prediction
CN109447137B (zh) * 2018-10-15 2022-06-14 聚时科技(上海)有限公司 一种基于分解因子的图像局部风格迁移方法
CN109300170B (zh) * 2018-10-18 2022-10-28 云南大学 肖像照片光影传递方法
CN109448079A (zh) * 2018-10-25 2019-03-08 广东智媒云图科技股份有限公司 一种绘画引导方法及设备
CN111127304B (zh) * 2018-10-31 2024-02-20 微软技术许可有限责任公司 跨域图像转换
KR102171269B1 (ko) * 2018-11-02 2020-10-28 네이버웹툰컴퍼니 주식회사 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램과 인공 신경망 학습 방법, 장치 및 컴퓨터 프로그램
CN111191664B (zh) * 2018-11-14 2024-04-23 京东方科技集团股份有限公司 标签识别网络的训练方法、标签识别装置/方法及设备
CN109801345B (zh) * 2018-12-20 2023-05-26 武汉西山艺创文化有限公司 一种基于神经网络的原画线稿辅助绘制方法和装置
CN109859096A (zh) * 2018-12-28 2019-06-07 北京达佳互联信息技术有限公司 图像风格迁移方法、装置、电子设备及存储介质
JP7163786B2 (ja) * 2019-01-17 2022-11-01 富士通株式会社 学習方法、学習プログラムおよび学習装置
CN111325318B (zh) * 2019-02-01 2023-11-24 北京地平线机器人技术研发有限公司 神经网络的训练方法、神经网络的训练装置和电子设备
US11715043B2 (en) * 2019-03-01 2023-08-01 Apple Inc. Semantics preservation for machine learning models deployed as dependent on other machine learning models
CN110147797B (zh) * 2019-04-12 2021-06-01 中国科学院软件研究所 一种基于生成式对抗网络的草图补全与识别方法和装置
US10489936B1 (en) * 2019-04-29 2019-11-26 Deep Render Ltd. System and method for lossy image and video compression utilizing a metanetwork
CN110163927B (zh) * 2019-05-17 2023-04-07 温州大学 一种基于神经网络的单个图像重新着色方法
US11650717B2 (en) * 2019-07-10 2023-05-16 International Business Machines Corporation Using artificial intelligence to iteratively design a user interface through progressive feedback
CN110428480A (zh) * 2019-08-02 2019-11-08 泰康保险集团股份有限公司 个性化绘画作品生成方法、装置、介质及电子设备
US11430037B2 (en) * 2019-09-11 2022-08-30 Ebay Korea Co. Ltd. Real time item listing modification
KR102623148B1 (ko) * 2019-10-15 2024-01-11 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
CN110930472A (zh) * 2019-11-14 2020-03-27 三星电子(中国)研发中心 图片生成方法及装置
US11080834B2 (en) * 2019-12-26 2021-08-03 Ping An Technology (Shenzhen) Co., Ltd. Image processing method and electronic device
CN111325316B (zh) * 2020-01-19 2023-08-01 深圳云天励飞技术有限公司 一种训练数据的生成方法及装置
US11410347B2 (en) 2020-04-13 2022-08-09 Sony Group Corporation Node-based image colorization on image/video editing applications
US11113578B1 (en) * 2020-04-13 2021-09-07 Adobe, Inc. Learned model-based image rendering
JP7446903B2 (ja) * 2020-04-23 2024-03-11 株式会社日立製作所 画像処理装置、画像処理方法及び画像処理システム
CN111583408B (zh) * 2020-05-09 2023-06-20 中国科学技术大学 基于手绘草图的人体三维建模系统
US11475613B1 (en) 2020-07-22 2022-10-18 Corel Corporation Assisted creation of artistic digital images
CN111915522A (zh) * 2020-07-31 2020-11-10 天津中科智能识别产业技术研究院有限公司 一种基于注意力机制的图像修复方法
CN111915591B (zh) * 2020-08-03 2022-03-22 中国海洋大学 一种基于螺旋生成网络的高质量图像外推系统
CN112232485B (zh) * 2020-10-15 2023-03-24 中科人工智能创新技术研究院(青岛)有限公司 漫画风格图像转换模型的训练方法、图像生成方法及装置
US11900662B2 (en) 2020-12-16 2024-02-13 Here Global B.V. Method, apparatus, and computer program product for training a signature encoding module and a query processing module to identify objects of interest within an image utilizing digital signatures
US11829192B2 (en) 2020-12-23 2023-11-28 Here Global B.V. Method, apparatus, and computer program product for change detection based on digital signatures
US11830103B2 (en) * 2020-12-23 2023-11-28 Here Global B.V. Method, apparatus, and computer program product for training a signature encoding module and a query processing module using augmented data
KR102527900B1 (ko) * 2021-02-10 2023-05-02 네이버웹툰 유한회사 스케치 이미지에 대한 자동 채색 모델 관리 방법 및 그 장치
US11989916B2 (en) * 2021-10-11 2024-05-21 Kyocera Document Solutions Inc. Retro-to-modern grayscale image translation for preprocessing and data preparation of colorization
US11991295B2 (en) * 2021-12-07 2024-05-21 Here Global B.V. Method, apparatus, and computer program product for identifying an object of interest within an image from a digital signature generated by a signature encoding module including a hypernetwork
WO2023152828A1 (ja) * 2022-02-09 2023-08-17 日本電信電話株式会社 学習モデル生成方法、イラスト変換方法、学習モデル生成装置、イラスト変換装置、学習モデル生成プログラム、およびイラスト変換プログラム
CN114998964B (zh) * 2022-06-02 2023-04-18 天津道简智创信息科技有限公司 一种新型证照质量检测方法
CN115424118B (zh) * 2022-11-03 2023-05-12 荣耀终端有限公司 一种神经网络训练方法、图像处理方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3700871B2 (ja) * 1995-11-11 2005-09-28 ソニー株式会社 画像変換装置
WO2001082216A1 (en) * 2000-04-24 2001-11-01 International Remote Imaging Systems, Inc. Multi-neural net imaging apparatus and method
US6845171B2 (en) * 2001-11-19 2005-01-18 Microsoft Corporation Automatic sketch generation
CN101159064B (zh) * 2007-11-29 2010-09-01 腾讯科技(深圳)有限公司 画像生成系统以及按照图像生成画像的方法
JP5594204B2 (ja) * 2011-03-24 2014-09-24 富士ゼロックス株式会社 画像処理システム
US9449253B2 (en) * 2012-01-16 2016-09-20 Google Inc. Learning painting styles for painterly rendering
US20140270489A1 (en) * 2013-03-12 2014-09-18 Microsoft Corporation Learned mid-level representation for contour and object detection
IL226047A (en) * 2013-04-29 2017-12-31 Hershkovitz Reshef May A method and system for giving personal expressions
WO2016037300A1 (en) * 2014-09-10 2016-03-17 Xiaoou Tang Method and system for multi-class object detection
CN105719327B (zh) * 2016-02-29 2018-09-07 北京中邮云天科技有限公司 一种艺术风格化图像处理方法
WO2018042388A1 (en) * 2016-09-02 2018-03-08 Artomatix Ltd. Systems and methods for providing convolutional neural network based image synthesis using stable and controllable parametric models, a multiscale synthesis framework and novel network architectures

Also Published As

Publication number Publication date
CN108122264B (zh) 2023-07-28
CN108122264A (zh) 2018-06-05
GB201715568D0 (en) 2017-11-08
GB2556985A (en) 2018-06-13
US20210158494A1 (en) 2021-05-27
US11783461B2 (en) 2023-10-10
US10916001B2 (en) 2021-02-09
AU2017228685B2 (en) 2021-11-18
GB2556985B (en) 2021-04-21
AU2017228685A1 (en) 2018-06-14
US20180150947A1 (en) 2018-05-31

Similar Documents

Publication Publication Date Title
DE102017009049A1 (de) Ermöglichen von Transformationen Skizze-zu-Gemälde
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE102018007937A1 (de) Entfernen und Ersetzen von Objekten in Bildern entsprechend einem geführten Nutzerdialog
DE102018008217A1 (de) Intelligente Anleitung zum Aufnehmen von Digitalbildern, die mit einem Zielbildmodell in Übereinstimmung gebracht sind
DE102018006247A1 (de) Digitalbildvervollständigung unter Verwendung des Deep Learning
DE102017009910A1 (de) Bearbeiten von Digitalbildern unter Nutzung eines neuronalen Netzwerkes mit einer netzwerkinternen Erstellungsschicht
DE112019005750T5 (de) Erlernen des Erzeugens synthetischer Datensätze zum Trainieren neuronalerNetze
DE102018006317A1 (de) Tiefe neurale Netzwerke für hervorstechenden Inhalt für eine effiziente Segmentierung eines digitalen Objekts
DE102019008168A1 (de) Dynamisches Schätzen von Beleuchtungsparametern für Positionen innerhalb realitätserweiterter Szenen unter Nutzung eines neuronalen Netzwerkes
DE102017007998A1 (de) Produktempfehlungen auf der basis von ansichten einer erweiterten realität
DE102020007951A1 (de) Einsetzen eines der Einfärbung dienenden neuronalen Netzwerkes zum Generieren von eingefärbten Bildern auf Grundlage interaktiver Farbkanten
DE112019001702T5 (de) Verfahren, systeme, herstellungsgegenstände und vorrichtungen zur erzeugung digitaler szenen
DE102020007465A1 (de) Steuern bzw. Regeln eines neuronalen Netzwerkes durch zwischengeschaltete Latenträume
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE112018007236T5 (de) Verfahren und vorrichtung zum erzeugen eines dreidimensionalen (3d) modells zur rekonstruktion einer 3d-szene
DE102018001136A1 (de) Interaktive Farbpalettenschnittstelle zum digitalen Malen
DE102021109050A1 (de) Durch ein neuronales generative adversarial netzwerk unterstützte videokompression und -übertragung
DE202017007534U1 (de) Multiskalige 3D-Textursynthese
DE102014007023A1 (de) Bildeffektextraktion
DE102021124537A1 (de) Energiebasierte variational autoencoder
DE102017006557A1 (de) Verwenden von Markierungen zum Verfolgen von hochfrequenten Offsets für Patchabgleichsalgorithmen
DE102020002302A1 (de) Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden
DE102019000178A1 (de) Interaktives System zum automatischen Synthetisieren einer contentsensitiven Füllung
DE102017007714A1 (de) Verbessertes Bemalen von Objekten durch die Verwendung von Perspektiven oder Transfers in einer digitalen Medienumgebung
DE102021105291A1 (de) Gewichtsdemodulation für ein erzeugendes neuronales netz

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: ADOBE INC., SAN JOSE, US

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

R082 Change of representative

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

R012 Request for examination validly filed