DE102020002302A1 - Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden - Google Patents

Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden Download PDF

Info

Publication number
DE102020002302A1
DE102020002302A1 DE102020002302.9A DE102020002302A DE102020002302A1 DE 102020002302 A1 DE102020002302 A1 DE 102020002302A1 DE 102020002302 A DE102020002302 A DE 102020002302A DE 102020002302 A1 DE102020002302 A1 DE 102020002302A1
Authority
DE
Germany
Prior art keywords
modification
image
style
parameters
images
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
DE102020002302.9A
Other languages
English (en)
Inventor
Gregg Darryl Wilensky
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Inc filed Critical Adobe Inc
Publication of DE102020002302A1 publication Critical patent/DE102020002302A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Beschrieben werden Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden. Ein für einen gelernten Stil gedachtes System empfängt eine Auswahl eines oder mehrerer modifizierter Bilder, die als Grundlage für einen Modifikationsstil dienen. Für jedes modifizierte Bild erstellt das System einen Modifikationsmemory, der eine Darstellung des Bildcontents und Modifikationsparameter beinhaltet, die eine Modifikation dieses Contents zum Erzeugen des modifizierten Bildes beschreiben. Die Modifikationsmemorys werden zu Stildaten verpackt, die zum Anwenden des Modifikationsstils auf Eingabebilder angewendet werden. Beim Anwenden eines Stils generiert das System eine Bilddarstellung eines Eingabebildes und bestimmt Maße der Ähnlichkeit zwischen der Darstellung des Eingabebildes und Darstellungen eines jeden Modifikationsmemorys in den Stildaten. Das System bestimmt Parameter zum Anwenden des Modifikationsstils teilweise auf Grundlage dieser Ähnlichkeitsmaße. Das System modifiziert das Eingabebild entsprechend den bestimmten Parametern, um ein stilistisch bearbeitetes Bild zu erzeugen.

Description

  • Contentbearbeitungssysteme beinhalten eine Vielzahl von Werkzeugen, die das Modifizieren riesiger Mengen von visuellem Digitalcontent, so beispielsweise von Digitalbildern, für die Digitalfotos ein Beispiel sind, ermöglichen. Nutzer können mit diesen Contentbearbeitungssystemen auf verschiedene Weisen interagieren (beispielsweise durch eine Berührfunktionalität, durch Stifte, eine Tastatur und eine Maus und dergleichen mehr), um Digitalbilder zu modifizieren. Viele derartige Systeme unterstützen beispielsweise Vorgänge zum Modifizieren visueller Kenngrößen der Digitalbilder. Derartige Systeme parametrisieren oftmals verschiedene visuelle Kenngrößen und präsentieren Komponenten, mit denen ein Nutzer interagieren kann, um Werte der Parameter anzupassen. Beispiele für derartige Parameter beinhalten Belichtung, Kontrast, Hervorhebungen, Schatten bzw. Schattierungen, Weißungen, Schwärzungen, Vibranz, Kontrast, Klarheit, Helligkeit, Sättigung und dergleichen mehr. In Reaktion auf die Anpassung eines Parameters (beispielsweise durch einen Gleitschieber) modifizieren Contentbearbeitungssysteme die entsprechende visuelle Kenngröße des Digitalbildes. Oftmals passen Nutzer Parameter derart an, dass ihre Digitalbilder (oder ihre Sammlungen von Digitalbildern) ein konsistentes Erscheinungsbild („look and feel“), also einen bestimmten „Stil“, aufweisen.
  • Herkömmliche Systeme beinhalten eine Funktionalität zum Übertragen von Stilen von diesen stilistisch bearbeiteten Digitalbildern auf Digitalbilder, die noch nicht stilistisch bearbeitet worden sind. Einige dieser herkömmlichen Systeme übertragen Stile beispielsweise dadurch, dass sie einfach die Parameterwerte der stilistisch bearbeiteten Digitalbilder kopieren und die Parameterwerte der noch nicht stilistisch bearbeiteten Bilder sodann gleich den kopierten Parameterwerten setzen. Diese Systeme scheitern jedoch am Umgang damit, wie Stile auf verschiedene Szenen, die in verschiedenen Bildern abgebildet sind, angewendet werden können, also beispielsweise damit, wie Stile auf ein Bild, das einen Himmel abbildet, im Gegensatz zu einem Bild, das eine hausinterne Szene abbildet, angewendet werden können. Dies kann bewirken, dass die sich ergebenden Bilder, die durch einfaches Anwenden desselben Satzes von extrahierten Parametern generiert werden, so aussehen, als würden sie verschiedenes Stile, also ein ungleichmäßiges Aussehen, aufweisen. Andere herkömmliche Systeme übertragen Stile unter Nutzung maschinellen Lernens, und zwar beispielsweise unter Nutzung eines trainierten neuronalen Netzwerkes. Diese neuronalen Netzwerke erfordern, dass ihnen während des Trainings Hunderte, Tausende oder sogar Millionen von Trainingsbildern vorgelegt werden, um visuell gefällige Kenngrößen von Digitalbildern und einen „Stil“ einer Modifikation zu lernen. Entsprechend erfordern derartige herkömmliche Systeme eine beträchtliche Menge an Zeit zum Trainieren eines Modells maschinellen Lernens, wobei dieses Training auch eine Belastung für Rechenvorrichtungen darstellen kann, was es für mobile Rechenvorrichtungen ungeeignet macht.
  • Zusammenfassung
  • Um diese Probleme zu lösen, werden Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden, in einer Digitalmedienumgebung eingesetzt. Zu Beginn empfängt ein für einen gelernten Stil gedachtes System eine Auswahl eines oder mehrerer modifizierter Bilder, die als Grundalge für einen Stil einer Modifikation dienen, und zwar beispielsweise auf Grundlage einer Nutzerauswahl der modifizierten Bilder, um einen neuen Stil zu erstellen oder um einen bereits erstellten Stil zu ergänzen. Für jedes der modifizierten Bilder erstellt das für einen gelernten Stil gedachte System einen Modifikationsmemory, der eine Darstellung des Bildcontents und Modifikationsparameter beinhaltet, die beschreiben, wie der Bildcontent modifiziert worden ist, um das modifizierte Bild zu erzeugen. Das für einen gelernten Stil gedachte System generiert eine Bilddarstellung, indem es den Bildcontent verarbeitet und reduzierte Information erzeugt, die den Bildcontent anstelle der Pixel-für-Pixel-Gesamtheit des Bildcontents darstellt, so beispielsweise Verteilungen von Luminanz und Chrominanz sowie Merkmalsvektoren. Das für einen gelernten Stil gedachte System extrahiert die Modifikationsparameter aus den modifizierten Bildern und verpackt diese mit einer generierten Bilddarstellung, um einen Modifikationsmemory zu bilden. Die Modifikationsmemorys für jedes der ausgewählten Bilder werden sodann in Stildaten (beispielsweise einer textbasierten Datei) verpackt, die in einem Speicher vorgehalten und anschließend dafür benutzt werden können, den Modifikationsstil auf ein Eingabebild anzuwenden, um das Eingabebild derart zu modifizieren, dass es den Modifikationsstil der als Grundlage dienenden Bilder aufweist.
  • In Reaktion auf die Auswahl eines Eingabebildes und eines Modifikationsstils zur Anwendung auf das Eingabebild wendet das für einen gelernten Stil gedachte System den ausgewählten Stil beispielsweise auf das Eingabebild an. Zu diesem Zweck generiert das für einen gelernten Stil gedachte System zu Beginn eine Bilddarstellung des Eingabebildes. Das für einen gelernten Stil gedachte System bestimmt sodann Maße der Ähnlichkeit zwischen der Darstellung des Eingabebildes und den Darstellungen eines jeden Modifikationsmemorys gemäß der Erfassung durch die Daten des Modifikationsstils. Das für einen gelernten Stil gedachte System bestimmt Parameter zum Anwenden des Modifikationsstils auf das Eingabebild auf Grundlage der bestimmten Maße der Ähnlichkeit und der Modifikationsparameter der Modifikationsmemorys. Durch Modifizieren des Eingabebildes entsprechend diesen bestimmten Parametern erzeugt das für einen gelernten Stil gedachte System ein stilistisch bearbeitetes Bild, das den Modifikationsstil aufweist.
  • Die vorliegende Zusammenfassung führt in vereinfachter Form eine Auswahl von Konzepten ein, die nachstehend in der Detailbeschreibung weiter beschrieben werden. Als solches soll die vorliegende Zusammenfassung wesentliche Merkmale des beanspruchten Erfindungsgegenstandes weder identifizieren, noch soll sie als Hilfe beim Bestimmen des Umfanges des beanspruchten Erfindungsgegenstandes benutzt werden.
  • Figurenliste
  • Die Detailbeschreibung erfolgt anhand der begleitenden Figuren.
    • 1 ist eine Darstellung einer Umgebung bei einer exemplarischen Implementierung, die dafür betreibbar ist, hier beschriebene Techniken einzusetzen.
    • 2 zeigt ein exemplarisches System, bei dem das für einen gelernten Stil gedachte System von 1 Stildaten aus einem modifizierten Bild generiert und das dafür nutzbar ist, ein Eingabebild mit einem Stil, der aus dem modifizierten Bild gelernt worden ist, zu modifizieren.
    • 3A und 3B zeigen exemplarische Implementierungen von Stildaten für einen ersten Stil, der aus einem einzelnen modifizierten Bild generiert worden ist, beziehungsweise Stildaten für einen zweiten Stil, der aus mehreren modifizierten Bildern generiert worden ist.
    • 4 zeigt eine exemplarische Implementierung einer Nutzerschnittstelle, durch die ein oder mehrere modifizierte Bilder auswählbar sind, um als Grundlage zum Lernen eines Stils der Modifikation zu dienen.
    • 5 zeigt ein exemplarisches System, bei dem das für einen gelernten Stil gedachte System von 1 ein Eingabebild mit einem Stil modifiziert, der aus einem oder mehreren modifizierten Bildern, die als Grundlage für den Stil dienen, gelernt worden ist.
    • 6 zeigt eine exemplarische Implementierung, bei der ein Eingabebild in Bezug auf Bilder, die in generierten Stildaten eines Stils beinhaltet sind, analysiert wird.
    • 7 zeigt eine Prozedur bei einer exemplarischen Implementierung, bei der Stildaten aus einem oder mehreren modifizierten Bildern generiert werden.
    • 8 zeigt eine Prozedur bei einer exemplarischen Implementierung, bei der ein Eingabebild mit einem Stil modifiziert wird, der aus einem oder mehreren modifizierten Bildern, die als Grundlage für den Stil dienen, gelernt worden ist.
    • 9 zeigt ein exemplarisches System, das verschiedene Komponenten einer exemplarischen Vorrichtung beinhaltet, die als beliebiger Typ von Rechenvorrichtung gemäß Beschreibung anhand 1 bis 8 und/oder gemäß Nutzung implementiert sein kann, um Ausführungsformen der hier beschriebenen Techniken zu implementieren.
  • Detailbeschreibung
  • Übersicht
  • Herkömmlich konfigurierte Contenterstellungssysteme beinhalten beschränkte Werkzeuge zum Übertragen von Stilen von Digitalbildern (oder von Sammlungen von Digitalbildern) auf Digitalbilder, die noch nicht stilistisch bearbeitet worden sind. Einige dieser herkömmlichen Systeme übertragen Stile beispielsweise dadurch, dass sie einfach die Parameterwerte der stilistisch bearbeiteten Digitalbilder kopieren und die Parameterwerte der noch nicht stilistisch bearbeiteten Bilder sodann gleich den kopierten Parameterwerten setzen. Diese Systeme scheitern jedoch am Umgang damit, wie Stile auf verschiedene Szenen, die in verschiedenen Bildern abgebildet sind, angewendet werden, also beispielsweise damit, wie Stile auf ein Bild, das einen Himmel abbildet, im Gegensatz zu einem Bild, das eine hausinterne Szene abbildet, angewendet werden. Andere herkömmliche Systeme übertragen Stile unter Nutzung maschinellen Lernens, und zwar beispielsweise unter Nutzung eines trainierten neuronalen Netzwerkes. Diese neuronalen Netzwerke erfordern, dass ihnen während des Trainings Hunderte, Tausende oder sogar Millionen von Trainingsbildern vorgelegt werden, um visuell gefällige Kenngrößen der Digitalbilder und einen „Stil“ der Modifikation zu lernen. Entsprechend erfordern diese herkömmlichen Systeme eine beträchtliche Menge an Zeit, um ein Modell maschinellen Lernens zu trainieren, wobei das Training eine Belastung für Rechenvorrichtungen darstellen kann, was es für mobile Rechenvorrichtungen ungeeignet macht.
  • Um diese Probleme zu lösen, werden Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden, in einer Digitalmedienumgebung eingesetzt. Zu Beginn empfängt ein für einen gelernten Stil gedachtes System eine Auswahl eines oder mehrerer modifizierter Bilder, die als Grundlage für einen Stil einer Modifikation dienen. Beispielshalber kann das für einen gelernten Stil gedachte System Nutzeranweisungen der modifizierten Bilder empfangen, um einen neuen Stil zu erstellen oder einen bereits erstellten Stil zu ergänzen. Alternativ oder zusätzlich kann das für einen gelernten Stil gedachte System Modifikationen aufzeichnen, wenn ein Nutzer diese an Bildern (beispielsweise unter Nutzung von Werkzeugen einer Contentbearbeitungsanwendung) anwendet, und die Bilder, die während dieser Aufzeichnung modifiziert worden sind, als Grundlage für den Stil einer Modifikation nutzen. In jedem Fall beinhalten diese modifizierten Bilder jeweils Daten, die Bildcontent entsprechen, der eine Szene vor der Modifikation abbildet, wie auch Parameter, die beschreiben, wie der Content modifiziert worden ist, um das jeweilige modifizierte Bild zu erzeugen. Exemplarische Datenstrukturen, die diesen Bildcontent erfassen können, und diese Parameter beinhalten Rohbilder bzw. unbearbeitete Bilder, die Dateiformattypen wie .raw, .dng, .crw, .orf und dergleichen beinhalten. Exemplarische Parameter beinhalten Belichtung, Kontrast, Hervorhebungen, Schatten bzw. Schattierungen, Weißungen, Schwärzungen, Vibranz, Kontrast, Klarheit, Helligkeit, Sättigung und dergleichen mehr.
  • Für jedes der modifizierten Bilder, das ausgewählt worden ist, um als Grundlage für einen Modifikationsstil zu dienen - sei es durch explizite Nutzerauswahl, durch Aufzeichnen eines Stils während einer Modifikationssitzung oder auf andere Art -, generiert das für einen gelernten Stil gedachte System einen Modifikationsmemory. Diese Modifikationsmemorys beinhalten jeweils eine Darstellung des Contents des jeweiligen modifizierten Bildes und die Modifikationsparameter aus dem modifizierten Bild. Allgemein generiert das für einen gelernten Stil gedachte System Bilddarstellungen als reduzierte Information, die den Content des jeweiligen Bildes darstellt, anstatt dass eine Pixel-für-Pixel-Gesamtheit des Bildcontents benutzt wird. Bei einer oder mehreren Implementierungen generiert das für einen gelernten Stil gedachte System beispielsweise Zwei-Komponenten-Bilddarstellungen. Hierbei umfasst die erste Komponente Verteilungen von Luminanz und Chrominanz, die vektorisiert worden sind. Die zweite Komponente umfasst einen Merkmalsvektor, der Abmessungen bzw. Dimensionen nummerischer Merkmale aufweist, die semantische Kenngrößen einer Szene, die in dem Bildcontent abgebildet ist, darstellen. Wie nachstehend noch weiter beschrieben wird, können diese Bilddarstellungen entsprechend dem Wesen und Umfang der beschriebenen Techniken auch auf andere Arten konfiguriert sein.
  • Um die Modifikationsparameter modifizierter Bilder in einen jeweiligen Modifikationsmemory zu integrieren, extrahiert das für einen gelernten Stil gedachte System die Modifikationsparameter aus der entsprechenden Bilddatei. Das für einen gelernten Stil gedachte System fügt die extrahierten Parameter sodann in den Modifikationsmemory des modifizierten Bildes zusammen mit der jeweiligen Bilddarstellung ein. Das für einen gelernten Stil gedachte System generiert Stildaten, die die Modifikationsmemorys beinhalten, die für jedes der modifizierten Bilder, die als Grundlage für den entsprechenden Stil dienen, generiert worden sind. Bei einer oder mehreren Implementierungen generiert das für einen gelernten Stil gedachte System die Stildaten als Darstellung der generierten Modifikationsmemorys, bei denen die Darstellung zur Speicherung in einer Dateistruktur konfiguriert ist. Generieren kann das für einen gelernten Stil gedachte System die Stildaten beispielsweise in einem textbasierten Format, so beispielsweise als lesbaren Text, also beispielsweise als Reintext (plain text), als JSON-Datei (JavaScript Object Notation) und dergleichen mehr. Alternativ oder zusätzlich kann das für einen gelernten Stil gedachte System die Stildaten in einem binären Format generieren. In jedem Fall können die Stildaten in einer Dateistruktur in einem lokalen Speicher vorgehalten werden oder an verschiedene Rechenvorrichtungen zur Fernspeicherung (remote storage) kommuniziert werden. Dies ermöglicht, dass die Stildaten vorgehalten und über Dateisysteme und Nutzer hinweg, also beispielsweise von einem Dienst mit teilnehmenden Nutzern oder von einem Nutzer mit einem anderen, geteilt werden. In jedem Fall ermöglichen die Stildaten, dass das für einen gelernten Stil gedachte System die Stile, die von den Modifikationsmemorys erfasst worden sind, auf nachfolgende Bilder anwendet.
  • Das für einen gelernten Stil gedachte System kann einen ausgewählten Stil auf ein Eingabebild beispielsweise in Reaktion auf Nutzerauswahlen des Stils und des Eingabebildes anwenden. Zur Anwendung eines ausgewählten Stils generiert das für einen gelernten Stil gedachte System zu Beginn eine Bilddarstellung des Eingabebildes, und zwar beispielsweise auf ähnliche Weise, wie es die Bilddarstellungen der modifizierten Bilder zur Aufnahme als Teil der Modifikationsmemorys generiert. Das für einen gelernten Stil gedachte System bestimmt sodann Maße der Ähnlichkeit zwischen der Darstellung des Eingabebildes und den Darstellungen eines jeden Modifikationsmemorys, der in den ausgewählten Stildaten beinhaltet ist. Auf Grundlage dieser Ähnlichkeiten bestimmt das für einen gelernten Stil gedachte System Parameter, mit denen das Eingabebild derart modifiziert wird, dass es den Stil der modifizierten Bilder, die als Grundlage für den Stil dienen, aufweist.
  • Wie nachstehend beschrieben wird, bestimmt das für einen gelernten Stil gedachte System diese Parameter als gewichtete Kombination der Modifikationsparameter, die von den Modifikationsmemorys des Stils erfasst worden sind. Das für einen gelernten Stil gedachte System gewichtet die Modifikationsparameter derart, dass die Modifikationsparameter, die mit ähnlichen Darstellungen gepaart sind, mehr als die Modifikationsparameter, die mit weniger ähnlichen Darstellungen gepaart sind, zu der Kombination beitragen, wenn die Parameter der weniger ähnlichen Darstellungen überhaupt zur Kombination beitragen. Bei einer oder mehreren Implementierungen bestimmt das für einen gelernten Stil gedachte System, wie viel die Modifikationsparameter der Modifikationsmemorys zu der gewichteten Kombination beitragen, unter Nutzung eines schalenbasierten Ansatzes. Bei diesem Ansatz ordnet das für einen gelernten Stil gedachte System die modifizierten Bilder in Bezug auf mehrere Schalen an, und zwar beispielsweise in einem Vektorraum und unter Nutzung der vektorisierten Modifikationsmemorys. Das für einen gelernten Stil gedachte System bestimmt zudem die Nähe der modifizierten Bilder innerhalb einer jeden der Schalen zu dem Eingabebild auf Grundlage der Maße der Ähnlichkeit. Das für einen gelernten Stil gedachte System bestimmt des Weiteren die Signifikanz der Modifikationsmemorys innerhalb einer jeden der Schalen auf Grundlage von Durchschnitten und Standardabweichungen jeweiliger Modifikationsparameter, so beispielsweise auf Grundlage eines Durchschnittes eines Belichtungsparameters der Modifikationsmemorys innerhalb einer ersten Schale und einer Standardabweichung des Belichtungsparameters über die Modifikationsmemorys der ersten Schale.
  • Sobald die Parameter bestimmt sind, erzeugt das für einen gelernten Stil gedachte System ein stilistisch bearbeitetes Bild, indem es das Eingabebild entsprechend den bestimmten Parametern modifiziert. Unter Nutzung dieses Ansatzes kann das für einen gelernten Stil gedachte System Stile von beschränktem Sätzen von modifizierten Bildern, so beispielsweise genau ein einzelnes modifiziertes Bild, erfassen und diese Stile auf nachfolgende Bilder anwenden. Mit anderen Worten, es können gelernte Stile der Modifikation auf beschränkten Anzahlen von Bildern beruhen. Dies steht im Gegensatz zu Systemen, die auf Deep Learning, statistischem maschinellem Lernen und dergleichen beruhen, die Stile aus dem Trainieren von Sätzen von Hunderten, Tausenden oder sogar Millionen von professionell bearbeiteten Trainingsbildern lernen. Diese herkömmlichen Ansätze sind beim Trainieren eines Modells langsam, wohingegen das Training, das von dem für einen gelernten Stil gedachten System durchgeführt wird, nahezu instantan ist. Das Training des für einen gelernten Stil gedachten Systems entspricht der Menge an Zeit, die das System benötigt, um Modifikationsmemorys für beliebige Bilder, die dafür ausgewählt sind, als Grundlage für den Stil zu dienen, zu generieren. Durch Nutzen von kleineren Sätzen von ausgewählten Bildern als Grundlage für das Lernen eines Stils - beispielsweise durch Lernen eines Stils aus einem oder nur einigen nutzerseitig ausgewählten Bildern - kann das für einen gelernten Stil gedachte System Stile in weniger Zeit und auch ohne Verbrauch so vieler Rechenressourcen im Vergleich zu Systemen, die auf Deep Learning beruhen, lernen. Die Verringerung an Zeit und die geringere Belastung der Rechenressourcen ist bei der Nutzung der beschriebenen Systeme auf mobilen Rechenvorrichtungen von Vorteil.
  • Die Art, in der das für einen gelernten Stil gedachte System einen Stil lernt und anwendet, steht zudem im Gegensatz zu Techniken, die eine reine Extraktion (beispielsweise ein Kopieren) von Parameterwerten implizieren. Bei derartigen herkömmlichen Ansätzen werden Parameter, die während der Bildbearbeitung modifiziert worden sind, aus einem modifizierten Bild extrahiert. Sodann werden Parameterwerte eines Eingabebildes einfach modifiziert, um die extrahierten Parameterwerte abzugleichen. Diese herkömmlichen Ansätze können jedoch nicht mit Unterschieden in verschiedenen Szenen, die in verschiedenen Bildern abgebildet sind, umgehen. Dies rührt daher, dass die sich ergebenden Bilder, die durch einfaches Anwenden desselben Satzes von extrahierten Parametern generiert werden, so aussehen, als würden sie verschiedenes Stile, also einen ungleichmäßiges Aussehen, aufweisen. Im Gegensatz zu derartigen herkömmlichen Ansätzen lernt das für einen gelernten Stil gedachte System, wie ein Stil auf Bilder, die verschiedene Szenen abbilden, angewendet werden soll, und zwar beispielsweise teilweise auf Grundlage der Merkmalsvektorkomponente der Bilddarstellung. Auf diese Weise kann das für einen gelernten Stil gedachte System Eingabebilder, die verschiedene Szenen abbilden, derart modifizieren, dass sie gleichwohl einen ähnlichen Stil, also ein gleichmäßiges Aussehen, aufweisen, obwohl gegebenenfalls große Unterschiede bei den ursprünglichen visuellen Kenngrößen der Eingabebilder vorhanden sind.
  • Beschreibung von Begriffen
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Modifikationsmemory“ Daten, die ein Digitalbild beschreiben, das beispielsweise unter Nutzung einer Contentbearbeitungsanwendung modifiziert worden ist. Ein Modifikationsmemory erfasst Information über das modifizierte Bild, die allein oder in Kombination mit Modifikationsmemorys anderer modifizierter Bilder eingesetzt werden kann, um den Stil einer Modifikation entsprechend den beschriebenen Techniken auf ein nachfolgendes Bild anzuwenden. Beinhalten kann ein Modifikationsmemory, wie vorstehend und nachstehend erläutert wird, eine Bilddarstellung des jeweiligen Bildes und Modifikationsparameter, die Modifikationen beschreiben, die an dem dargestellten Content des jeweiligen Bildes vorgenommen worden sind, um ein modifiziertes Bild zu erzeugen. Darüber hinaus kann ein Modifikationsmemory als Vektor konfiguriert sein, so beispielsweise als Vektor, der einen ersten Vektor zur Angabe der Bilddarstellung und einen zweiten Vektor zur Erfassung der Modifikationsparameter erfasst. Diese Memorys stehen im Gegensatz zu Rechenmemorys bzw. Rechenspeichern, so beispielsweise einem Speicher mit wahlfreiem Zugriff (Random Access Memory RAM), einem Nur-Lese-Speicher (Read-Only Memory ROM), einem Flash-Speicher und dergleichen mehr. In diesem Zusammenhang kann ein Modifikationsmemory in einen Memory bzw. Speicher (beispielsweise einen RAM) geladen werden, um einen entsprechenden Stil auf ein Eingabebild anzuwenden.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Bilddarstellung“ reduzierte Information, die den Content des jeweiligen Bildes anstelle der Pixel-für-Pixel-Gesamtheit des Bildcontents darstellt. Für einen Modifikationsmemory entspricht die Bilddarstellung dieser reduzierten Information einer unmodifizierten Fassung des Digitalcontents, so beispielsweise desjenigen Bildcontents, der aus einem Rohbildformat entnommen worden ist, bevor Modifikationen an dem Bildcontent, beispielsweise einem ursprünglichen Bild, das von einer Bilderfassungsvorrichtung erfasst wird, vorgenommen worden sind. Bilddarstellungen können, wie nachstehend beschrieben wird, auf eine Vielzahl von Arten konfiguriert sein, so beispielsweise als Zwei-Komponenten-Konfiguration.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Modifikationsparameter“ eine Parametrisierung verschiedener visueller Kenngrößen von Digitalbildern, bei denen wenigstens eine der visuellen Kenngrößen modifiziert worden ist. Der Begriff „Parameter“ bezeichnet per se einfach eine Parametrisierung der verschiedenen visuellen Kenngrößen von Digitalbildern. Allgemein beinhalten Contentbearbeitungsanwendungen Werkzeuge (beispielsweise präsentierte Nutzerschnittstellenkomponenten), mit denen ein Nutzer interagieren kann, um Werte der Parameter anzupassen, damit die Parameter modifiziert werden. Beispiele für derartige Parameter beinhalten Belichtung, Kontrast, Hervorhebungen, Schatten bzw. Schattierungen, Weißungen, Schwärzungen, Vibranz, Kontrast, Klarheit, Helligkeit, Sättigung und dergleichen mehr.
  • In den nachfolgenden Erläuterungen wird zunächst eine exemplarische Umgebung beschrieben, die die hier beschriebenen Techniken einsetzen kann. Sodann werden exemplarische Implementierungsdetails und Prozeduren beschrieben, die in der exemplarischen Umgebung wie auch in anderen Umgebungen durchgeführt werden können. Infolgedessen ist die Durchführung der exemplarischen Prozeduren nicht auf die exemplarische Umgebung beschränkt, und es ist die exemplarische Umgebung nicht auf die Durchführung der exemplarischen Prozeduren beschränkt.
  • Exemplarische Umgebung
  • 1 ist eine Darstellung einer Digitalmedienumgebung 100 bei einer exemplarischen Implementierung, die dafür betreibbar ist, die hier beschriebenen Techniken einzusetzen. Die dargestellte Umgebung 100 beinhaltet eine Rechenvorrichtung 102, die auf eine Vielzahl von Arten konfiguriert sein kann.
  • Die Rechenvorrichtung 102 kann beispielsweise als Desktopcomputer, Laptop-Computer, Mobilvorrichtung (beispielsweise unter Annahme einer Handkonfiguration wie bei einem Tablet oder Mobiltelefon) und dergleichen mehr konfiguriert sein. Die Rechenvorrichtung 102 kann daher von über vollständige Ressourcen verfügenden Vorrichtungen mit beträchtlichen Speicher- und Prozessorressourcen (beispielsweise PCs, Spielekonsolen) zu einer über niedrige Ressourcen verfügenden Vorrichtung mit beschränktem Speicher- und/oder Verarbeitungsressourcen (wie beispielsweise bei Mobilvorrichtungen) reichen. Obwohl zudem eine einzige Rechenvorrichtung 102 gezeigt ist, kann die Rechenvorrichtung 102 mehrere verschiedene Vorrichtungen darstellen, so beispielsweise mehrere Server, die von einer Firma eingesetzt werden, um Vorgänge „über die Cloud“, wie anhand 9 beschrieben wird, durchzuführen.
  • Die Rechenvorrichtung 102 ist derart dargestellt, dass sie eine Contentbearbeitungsanwendung 104 beinhaltet. Die Contentbearbeitungsanwendung 104 stellt eine Funktionalität der Rechenvorrichtung 102 zur Erstellung und/oder Bearbeitung von Digitalcontent dar. Beispielshalber beinhaltet die Contentbearbeitungsanwendung 104 eine Funktionalität zum Bearbeiten von visuellem Digitalcontent, so beispielsweise von Digitalgrafiken, Digitalbildern und von Grafiken beinhaltenden Digitalbildern. Beispiele für Digitalgrafiken beinhalten unter anderem Vektorgrafiken, Rastergrafiken (beispielsweise Digitalfotos), Layouts mit verschiedenen Typen von Grafiken und dergleichen mehr.
  • Des Weiteren kann die Contentbearbeitungsanwendung 104 ermöglichen, dass der Nutzer einer Clientvorrichtung mit Anwendungsschnittstellen, die über die Rechenvorrichtung 102 präsentiert werden, interagiert, um Contentbearbeitungsvorgänge vorzunehmen, so beispielsweise das Auswählen von Abschnitten von Digitalcontent, das Entfernen von ausgewählten Abschnitten des Digitalcontents, das Modifizieren von Kenngrößen (beispielsweise Farbe, Unschärfe, Sättigung, Helligkeit und dergleichen mehr) ausgewählter Abschnitte des Digitalcontents, das Auswählen von Optionen zur Durchführung von automatischen Modifikationen des Digitalcontents und dergleichen mehr. Die Contentbearbeitungsanwendung 104 kann andere Contentbearbeitungsvorgänge vereinfachen, ohne vom Wesen oder Umfang der hier beschriebenen Techniken abzugehen. Die Contentbearbeitungsanwendung 104 kann des Weiteren mehr als eine Anwendung (beispielsweise ein Paket bzw. eine Suite von Anwendungen) darstellen, die eine Funktionalität unterstützen, um Contentbearbeitungsvorgänge an verschiedenen Typen von Digitalcontent durchzuführen, ohne vom Wesen oder Umfang der hier beschriebenen Techniken abzugehen.
  • Wenigstens ein Teil des Digitalcontents, für den die Contentbearbeitungsanwendung 104 zur Durchführung von Vorgängen konfiguriert ist, wird durch visuellen Digitalcontent 106 dargestellt, der derart gezeigt ist, dass er in dem Speicher 108 der Rechenvorrichtung 102 vorgehalten wird. Obwohl der visuelle Digitalcontent 106 derart dargestellt ist, dass er in dem Speicher 108 vorgehalten wird, kann der visuelle Digitalcontent 106 auch visuellen Digitalcontent darstellen, auf den die Rechenvorrichtung 102 auf andere Arten zugreifen kann, so beispielsweise durch einen für die Rechenvorrichtung 102 vorhandenen Zugang von einem Speicher einer anderen Vorrichtung über ein Netzwerk 110. Bei derartigen Implementierungen kann die Rechenvorrichtung 102 eine Funktionalität darstellen, die Stile modifizierter Bilder lernt und die Stile auf Eingabebilder, wie vorstehend und nachstehend für andere Vorrichtungen beschrieben, anwendet, um einen Teil der Rechenlast von diesen Vorrichtungen weg auszulagern. Mit anderen Worten, die Rechenvorrichtung 102 kann dafür konfiguriert sein, das Stillernen oder die Anwendung gelernter Stile als Dienst anzubieten, und kann daher als in Verbindung mit einem Dienstanbieter stehend betrachtet werden.
  • Der visuelle Digitalcontent 106 kann verschiedene Typen von Digitalcontent darstellen, ohne vom Wesen oder Umfang der hier beschriebenen Techniken abzugehen. Der visuelle Digitalcontent 106 wird beispielsweise von einem Digitalfoto 112 abgebildet, das auch derart abgebildet ist, dass es zu einem ersten Zeitpunkt über die Anzeigevorrichtung 114 der Rechenvorrichtung 102 angezeigt wird. Die Anzeigevorrichtung 114 ist zudem derart abgebildet, dass sie zu einem zweiten Zeitpunkt, der nach dem ersten Zeitpunkt liegt, ein stilistisch bearbeitetes Bild 116 anzeigt. Dies stellt ein Szenario dar, bei dem des Digitalfoto 112 modifiziert wird, um das stilistisch bearbeitete Bild 116 zu erzeugen, indem ein Stil benutzt wird, der aus einem oder mehreren modifizierten Bildern gelernt worden ist, wobei die modifizierten Bilder als Grundlage für den Stil dienen. In diesem Zusammenhang betrachte man ein für einen gelernten Stil gedachtes System 118.
  • In der dargestellten Umgebung 100 ist die Rechenvorrichtung 102 derart abgebildet, dass sie das für einen gelernten Stil gedachte System 118 beinhaltet, dessen Funktionalität in der Contentbearbeitungsanwendung 104 und/oder für diese zugänglich integriert sein kann. Das für einen gelernten Stil gedachte System 118 ist wenigstens teilweise in Hardware der Rechenvorrichtung 102 implementiert, um Stildaten 120 aus modifizierten Bildern zu generieren, die als Grundlage für Stile dienen, und um Stile, die aus den modifizierten Bildern gelernt worden sind, auf Eingabebilder anzuwenden. Insbesondere wendet das für einen gelernten Stil gedachte System 118 gelernte Stile „automatisch“ auf ein Eingabebild an, also beispielsweise ohne Empfang einer Nutzereingabe zum Spezifizieren von Werten von Parametern, die visuelle Kenngrößen des Eingabebildes betreffen. Stattdessen wird einfach eine Nutzereingabe empfangen, um einen bestehenden Stil auszuwählen und um zudem den ausgewählten Stil auf ein Digitalbild anzuwenden. Ein Beispiel hierfür besteht im Empfang einer Nutzereingabe über eine Nutzerschnittstelle, die das Digitalfoto 112 anzeigt, und zwar insbesondere zum Anwenden eines Stils auf das Digitalfoto 112 und im sodann erfolgenden Auswählen eines Stils aus einer angezeigten Liste von bestehenden Stilen. Ein Nutzer der Rechenvorrichtung 102 kann eine Eingabe bereitstellen, um bestehende Stile auf andere Weisen anzuwenden, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen, so beispielsweise unter Nutzung von Tastaturabkürzungen, Stiftgesten, Sprachbefehlen und dergleichen mehr. Obwohl die Funktionalität des dargestellten für einen gelernten Stil gedachten Systems 118 als lokal auf der Rechenvorrichtung 102 implementiert dargestellt ist, kann diese gänzlich oder in Teilen auch über eine Funktionalität implementiert sein, die über das Netzwerk 110 verfügbar ist, so beispielsweise als Teil eines Webdienstes oder „in der Cloud“.
  • Wie nachstehend noch detaillierter erläutert wird, generiert das für einen gelernten Stil gedachte System 118 die Stildaten 120 aus einem oder mehreren modifizierten Bildern, die als Grundlage für den jeweiligen Stil dienen. Das für einen gelernten Stil gedachte System 118 wendet zudem Stile, die aus den modifizierten Bildern gelernt werden, die sich in den Stildaten 120 niederschlagen, auf Eingabebilder an. Mit Blick auf das Generieren der Stildaten 120 kann das für einen gelernten Stil gedachte System 118 die Stildaten 120 für Stile generieren, die nur auf einem einzelnen modifizierten Bild beruhen. Das für einen gelernten Stil gedachte System 118 kann die Stildaten 120 zudem für Stile generieren, die auf mehreren modifizierten Bildern beruhen. Allgemein ermöglicht dies, dass gelernte Stile der Modifikation auf beschränkten Anzahlen von Bildern beruhen. Dies steht im Gegensatz zu Techniken, die Deep Learning, statistisches maschinelles Lernen und dergleichen einsetzen und die Stile aus Trainingssätzen von Hunderten, Tausenden oder sogar Millionen von professionell bearbeiteten Trainingsbildern lernen. Diese herkömmlichen Ansätze sind beim Trainieren eines Modells langsam, wohingegen das Training, das von dem für einen gelernten Stil gedachten System 118 durchgeführt wird, nahezu instantan ist. Das Training des für einen gelernten Stil gedachten Systems 118 entspricht der Menge an Zeit, die das System benötigt, um Modifikationsmemorys für beliebige Bilder, die als Grundlage für den Stil dienen, zu generieren. Durch Nutzen kleinerer Sätze von ausgewählten Bildern als Grundlage für das Lernen eines Stils - so beispielsweise durch Lernen eines Stils aus einem oder nur einigen wenigen nutzerseitig ausgewählten Bildern - kann das für einen gelernten Stil gedachte System 118 Stile in weniger Zeit und auch ohne Verbrauch so vieler Rechenressourcen im Vergleich zu bisherigen Techniken des Deep Learning lernen. Diese Verringerung der Zeit und geringere Belastung der Rechenressourcen ist bei der Nutzung der beschriebenen Techniken bei mobilen Rechenvorrichtungen von Vorteil.
  • Die Art, in der das für einen gelernten Stil gedachte System 118 einen Stil lernt und anwendet, steht auch zu Techniken im Gegensatz, die eine bloße Extraktion (beispielsweise ein Kopieren) von Parameterwerten implizieren. Bei derartigen Ansätzen werden Parameter, die während der Bildbearbeitung modifiziert worden sind, aus einem modifizierten Bild extrahiert. Sodann werden die Parameterwerte eines Eingabebildes einfach modifiziert, damit sie mit den extrahierten Parameterwerten abgeglichen sind. Diese herkömmlichen Ansätze können jedoch nicht mit Unterschieden in verschiedenen Szenen, die in verschiedenen Bildern abgebildet sind, umgehen. Dies kann bewirken, dass die sich ergebenden Bilder, die durch einfaches Anwenden desselben Satzes von extrahierten Parametern generiert werden, derart aussehen, dass sie verschiedene Stile, also ein ungleichmäßiges Aussehen, aufweisen. Im Gegensatz zu diesen herkömmlichen Ansätzen lernt das für einen gelernten Stil gedachte System 118, wie ein Stil auf Bilder, die verschiedene Szenen darstellen, angewendet werden soll. Auf diese Weise kann das für einen gelernten Stil gedachte System 118 Eingabebilder, die verschiedene Szenen darstellen, derart modifizieren, dass sie dennoch einen ähnlichen Stil, also ein gleichmäßiges Aussehen, aufweisen, obwohl gegebenenfalls große Unterschiede bei den ursprünglichen visuellen Kenngrößen der Eingabebilder vorhanden waren. Das für einen gelernten Stil gedachte System 118 kann daher als „bildbewusst“ bzw. „bildsensitiv“ (image aware) oder „contentbewusst“ bzw. „contentsensitiv“ (content aware) betrachtet werden.
  • Nachdem eine exemplarische Umgebung betrachtet worden ist, folgt nun die Diskussion einiger exemplarischer Details der Techniken für Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern in einer Digitalmedienumgebung gelernt worden sind, entsprechend einer oder mehreren Implementierungen.
  • Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt worden sind
  • 2 zeigt ein exemplarisches System 200, bei dem das für einen gelernten Stil gedachte System von 1 die Stildaten aus einem modifizierten Bild generiert und das zum Modifizieren eines Eingabebildes mit einem Stil, der aus dem modifizierten Bild gelernt worden ist, nutzbar ist. Das dargestellte Beispiel 200 beinhaltet das für einen gelernten Stil gedachte System 118 von 1.
  • Bei dem dargestellten Beispiel 200 ist das für einen gelernten Stil gedachte System 118 derart abgebildet, dass es ein modifiziertes Bild 202 empfängt. Entsprechend den beschriebenen Techniken ist das modifizierte Bild 202 beispielsweise von einem Nutzer derart ausgewählt worden, dass es als Grundlage für einen „Stil“ einer Modifikation dient. Im Sinne des Vorliegenden bezeichnet ein „Stil“ die Art des Modifizierens eines Bildes, und zwar beispielsweise durch Ändern von Farben des Bildes (beispielsweise Graustufen, Filtern einer bestimmten Farbe und dergleichen), Belichtung, Kontrast, Hervorhebungen, Schatten bzw. Schattierungen, Weißungen, Schwärzungen, Vibranz, Kontrast, Klarheit, Helligkeit, Sättigung und dergleichen mehr. Ein „Stil“ kann zudem spezifische Änderungen an bestimmten beschränkten Abschnitten eines Bildes umfassen, so beispielsweise an einem Himmel, jedoch nicht an anderen Abschnitten des Bildes, am Gesicht einer Person, jedoch nicht an anderen Abschnitten des Bildes, und dergleichen mehr. Allgemein ist das für einen gelernten Stil gedachte System 118 dafür konfiguriert, den Stil einer Modifikation aus einem oder mehreren modifizierten Digitalbildern, die von einem Nutzer ausgewählt worden sind, um als Grundlage für den Stil zu dienen, zu lernen. Obwohl ein einzelnes modifiziertes Bild 202 abgebildet ist, können Nutzer auch mehr als ein Bild auswählen, das als Grundlage für einen Stil dient. Wie vorstehend und nachstehend erwähnt wird, können die beschriebenen Techniken einen Stil auch nur aus einem einzelnen ausgewählten Bild oder alternativ aus mehreren ausgewählten Bildern generieren.
  • Das modifizierte Bild 202 beinhaltet einen Bildcontent 204 und Modifikationsparameter 206. Der Bildcontent 204 stellt Information dafür dar, ein betrachtbares Bild aus Daten zu erzeugen, die über Sensordaten einer Kamera bezogen werden, so beispielsweise dafür, ein Bild zu erzeugen, das Pixel umfasst, die jeweils einen entsprechenden Pixelwert aufweisen, um eine erfasste Szene abzubilden. Bei einer oder mehreren Implementierungen ist das modifizierte Bild 202 eine Rohbilddatei. Beispiele für Typen von Rohbilddateien beinhalten .raw, .dng, .crw, .orf und dergleichen. Darüber hinaus entspricht der Bildcontent 204 Information, die die erfasste Szene beschreibt, vor der Modifikation an dem Bild, um das modifizierte Bild 202 zu bilden. Der Bildcontent 204 kann daher als „ursprüngliches“ Bild betrachtet werden. Die Modifikationsparameter 206 stellen eine Liste von Parametern dar, die von einer Bildbearbeitungsanwendung modifiziert worden sind, und zwar beispielsweise in Reaktion auf den Empfang von Nutzereingaben über eine Nutzerschnittstelle der Anwendung zum Modifizieren des Bildcontents 204.
  • Obwohl bei der Implementierung Hunderte von Parametern vorhanden sein können, können die Modifikationsparameter 206 nur denjenigen Parametern entsprechen, die als Ergebnis des Modifizierens des Bildcontents 204 modifiziert worden sind. Man betrachte ein Beispiel, bei dem nur vier Parameter, nämlich Belichtung, Kontrast, Hervorhebungen und Schatten bzw. Schattierungen, vorhanden sind. Bei diesem Beispiel werde davon ausgegangen, dass eine Nutzereingabe empfangen wird, die die Belichtung um 32,0 Belichtungsstopps erhöht, die den Kontrast um 10,0 Einheiten senkt und die die Schatten bzw. Schattierungen um 34,0 Einheiten erhöht, wobei keine Eingabe empfangen wird, die die Hervorhebungen modifiziert. Bei diesem Szenario können die Modifikationsparameter 206 als Vektor konfiguriert sein, der die modifizierten Parameter angibt, und zwar beispielsweise als Vektor, der zum Darstellen der folgenden Werte konfiguriert ist: {32,0; -10,0; 34,0}. Alternativ können die Modifikationsparameter 206 derartige Werte für jeden modifizierbaren Parameter beinhalten, dass die Parameter, die infolge des Modifizierens des Bildcontents 204 modifiziert werden, nicht verschwindende Werte aufweisen und die Parameter, die nicht modifiziert worden sind, verschwindende Werte oder andere Werte (beispielsweise 0) aufweisen, die angeben, dass der jeweilige Parameter nicht modifiziert wird.
  • Mit Blick auf die Modifikationsparameter 206 stellt die Contentbearbeitungsanwendung 104 Werkzeuge bereit, die einem Nutzer der Rechenvorrichtung 102 ermöglichen, den Bildcontent 204 zur Erstellung des modifizierten Bildes 202 zu modifizieren. Beispielsweise präsentiert die Contentbearbeitungsanwendung 104 den Bildcontent 204 über eine Nutzerschnittstelle der Anwendung zur Bearbeitung. Betrachtet man die vorstehend erläuterten Parameter, nämlich Belichtung, Kontrast, Hervorhebungen, Schatten bzw. Schattierungen, Weißungen, Schwärzungen, Vibranz, Kontrast, Klarheit, Helligkeit, Sättigung und dergleichen, so ist die Contentbearbeitungsanwendung 104 dafür konfiguriert, über die Nutzerschnittstelle einen Zugriff auf Werkzeuge bereitzustellen, die ermöglichen, dass diese Parameter modifiziert werden, und zwar beispielsweise zum Erhöhen der Belichtung. Bei einer oder mehreren Implementierungen zeigt die Bildbearbeitungsanwendung 104 über die Nutzerschnittstelle eine oder mehrere grafische Schnittstellenkomponenten an, über die ein Nutzer eine Eingabe zum Modifizieren eines bestimmten Parameters bereitstellen kann, so beispielsweise eine Gleitschieberleiste und/oder ein Textkästchen zum Modifizieren des bestimmten Parameters. Alternativ oder zusätzlich stellt die Contentbearbeitungsanwendung 104 Schnittstellen bereit, über die ein Nutzer eine Eingabe zum Modifizieren eines bestimmten Parameters auf andere Weisen bereitstellen kann, so beispielsweise durch Empfangen von gesprochenen Befehlen von einem Nutzer. Die Contentbearbeitungsanwendung 104 kann einem Nutzer ermöglichen, eine Eingabe zum Modifizieren von Digitalbildern bereitzustellen und in Reaktion auf den Empfang derartiger Modifikationseingaben modifizierte Digitalbilder zu erstellen, die jeweilige Modifikationsparameter aufweisen, und dies alles auf eine Vielzahl von Arten, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen.
  • Wie vorstehend erwähnt worden ist, lernt das für einen gelernten Stil gedachte System 118 einen Stil aus modifizierten Bildern, die ausgewählt sind, um als Grundlage für den Stil zu dienen. Bei dem dargestellten Beispiel 200 dient das modifizierte Bild 202 als Grundlage für einen Stil. Entsprechend den beschriebenen Techniken setzt das für einen gelernten Stil gedachte System 118 den Bildcontent 204 und die Modifikationsparameter 206 des modifizierten Bildes 202 dafür ein, Daten zu generieren, die den Stil des Bildes erfassen und ermöglichen, dass der Stil auf nachfolgende Bilder angewendet wird. Für jedes modifizierte Bild, das ausgewählt ist, um als Grundlage für einen Stil zu dienen, generiert das für einen gelernten Stil gedachte System 118 einen „Modifikationsmemory“ für das modifizierte Bild. Das für einen gelernten Stil gedachte System 118 generiert des Weiteren Stildaten für den jeweiligen Stil und fügt die „Modifikationsmemorys“ eines jeden der ausgewählten Bilder in die Stildaten ein. Es besteht eine Eins-zu-Eins-Beziehung zwischen Bildern, die ausgewählt sind, um als Grundlage für einen Stil zu dienen, und Modifikationsmemorys, die in den Stildaten eines jeweiligen Stils beinhaltet sind. Bei einer oder mehreren Implementierungen können die Stildaten als Datei konfiguriert sein, die diese Modifikationsmemorys vorhält.
  • Angesichts dessen, dass bei dem dargestellten Beispiel 200 das für einen gelernten Stil gedachte System 118 derart abgebildet ist, dass es ein einzelnes Bild (das modifizierte Bild 202) bezieht, das als Grundlage für einen Stil dient, ist das für einen gelernten Stil gedachte System 118 zudem derart abgebildet, dass es bestimmte Stildaten 208 erzeugt, die einen Modifikationsmemory 210, und zwar einen einzigen Modifikationsmemory für ein einzelnes ausgewähltes Bild, aufweisen. Die bestimmten Stildaten 208 sind ein Beispiel für Daten, die als Teil der Stildaten 120 beinhaltet sein können. Die Stildaten 120 können auch getrennte Stildaten für mehrere verschiedene Stile, so beispielsweise für zwei Stile, beinhalten, und die Stildaten 120 können zwei getrennte Dateien für Stildaten beinhalten. Bei Szenarien, bei denen mehrere modifizierte Bilder ausgewählt sind, um als Grundlage für einen Stil zu dienen, erzeugt das für einen gelernten Stil gedachte System 118 mehrere jeweilige Modifikationsmemorys und fügt diese in generierte Stildaten für den Stil ein.
  • Bei dem dargestellten Beispiel 200 beinhaltet das für einen gelernten Stil gedachte System 118 ein Darstellungsmodul 212 und ein Stilgenerierungsmodul 214. Obwohl bei dieser Implementierung zwei Module dargestellt sind, kann das für einen gelernten Stil gedachte System 118 auch mehr, weniger oder andere Module beinhalten, um Modifikationsmemorys von ausgewählten modifizierten Bildern und Daten zum Vorhalten dieser Modifikationsmemorys zu generieren, ohne vom Wesen oder Umfang der hier beschriebenen Techniken abzugehen.
  • Das Darstellungsmodul 212 stellt eine Funktionalität zum Generieren einer Bilddarstellung 216 des Bildcontents 204 dar. Anstelle einer Pixel-für-Pixel-Gesamtheit des Bildcontents 204 ist die Bilddarstellung 216 eine reduzierte, analysierte Darstellung des Bildcontents 204, die den Bildcontent 204 auf eine Weise verallgemeinert, die dessen relevante Merkmale erfasst, jedoch Details, die für das Anwenden des Stils auf nachfolgende Bilder gegebenenfalls nicht relevant sind, ignoriert. Die Bilddarstellung 216 kann als Vektor konfiguriert sein, der eine oder mehrere Komponenten aufweist, die die reduzierte, analysierte Darstellung erfassen. Bei einer oder mehreren Implementierungen generiert das Darstellungsmodul 212 die Bilddarstellung 216 derart, dass diese zwei Komponenten, die den Bildcontent 204 beschreiben, aufweist. Beispielshalber entspricht die erste Komponente einer oder mehreren Verteilungen (beispielsweise Histogrammen), die den Bildcontent 204 beschreiben, während die zweite Komponente einem Merkmalsvektor entspricht, der den Bildcontent 204 beschreibt.
  • Insbesondere generiert das Darstellungsmodul 212 die erste Komponente als eine oder mehrere Verteilungen der Luminanz und/oder Chrominanz des Bildcontents 204. Das Darstellungsmodul 212 ist dafür konfiguriert, diese Verteilungen zu generieren, indem es den Bildcontent 204 in Bezug auf einen gegebenen Farbraum (beispielsweise YCbCr) verarbeitet, um Luminanz- und Chrominanzwerte der Pixel des Bildcontents 204 zu bestimmen, und indem es sodann die bestimmten Werte in der jeweiligen Verteilung erfasst. Das Darstellungsmodul 212 generiert die zweite Komponente als Merkmalsvektor, so beispielsweise als Merkmalsvektor, der n Dimensionen nummerischer Merkmale aufweist, die auf höherer Ebene gegebene semantische Kenngrößen einer Szene, die in dem Bildcontent 204 abgebildet ist, darstellen. Um den Merkmalsvektor zu generieren, ist das Darstellungsmodul 212 dafür konfiguriert, maschinelles Lernen einzusetzen, und zwar beispielsweise indem der Bildcontent 204 für ein neuronales Netzwerk bereitgestellt wird und der Merkmalsvektor als Ausgabe des neuronalen Netzwerkes extrahiert wird.
  • Beispielshalber kann das Darstellungsmodul 212 den Bildcontent 204 als Eingabe für ein neuronales Deep-Netzwerk bereitstellen, das an Hunderten oder Tausenden von Digitalfotos trainiert worden ist, um Kenngrößen des großen Satzes von Trainingsbildern zu lernen. Ein derartiges neuronales Deep-Netzwerk kann eine faltungstechnische Architektur mit einer oder mehreren faltungstechnischen Schichten aufweisen, die den eingegebenen Bildcontent 204 auf eine zugrunde liegende Darstellung, beispielsweise auf nummerische Werte für eine Zahl (beispielsweise 1024) von neuronalen Knoten des Netzwerkes verringern. Das neuronale Deep-Netzwerk kann zudem Schichten beinhalten, die an der zugrunde liegenden Darstellung ein Upsampling vornehmen, damit ein Ausgabebild dieselbe Anzahl von Pixeln wie der eingegebene Bildcontent 204 aufweist.
  • Obwohl eine bestimmte Zwei-Komponenten-Implementierung beschrieben ist, kann das Darstellungsmodul 212 die Bilddarstellung 216 auch auf andere Weisen generieren, um Information über den Bildcontent 204 zu erfassen, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen. Beispielshalber kann die Bilddarstellung 216 verschiedene Kombinationen eines Satzes von ausgewählten vordefinierten Informationen und/oder von einem neuronalen Netzwerk hergeleiteten Informationen umfassen. Beispiele für die ausgewählten vordefinierten Informationen beinhalten unter anderem das Mittel und die Standardabweichung der Bildfarbenintensitätswerte über die Gesamtheit des Bildcontents 204, Werte innerhalb eines Satzes von Luminanztonal-Bins oder Farb-Bins und Verteilungen der Werte der Luminanztonal-Bins und Farb-Bins, die die Häufigkeit des Auftretens der Werte in dem Bildcontent 204 oder innerhalb der bezeichneten tonal- oder farbbasierten Bins darstellen. Beispiele für die von dem neuronalen Netzwerk hergeleiteten Informationen können aus einem neuronalen Netzwerk extrahiert werden, das darauf trainiert ist, eine bildbezogene Aufgabe durchzuführen, so beispielsweise das Erkennen von Objekten innerhalb eines Bildes oder das Erkennen des Wesens einer Szene, die innerhalb eines Bildes erfasst wird. Die Bilddarstellung 216 kann zudem andere oder zusätzliche Informationen innerhalb des Wesens oder Umfangs der beschriebenen Techniken beinhalten.
  • Sind die Bilddarstellung 216 und die Modifikationsparameter 206 gegeben, so ist das Stilgenerierungsmodul 214 konfiguriert, um den Modifikationsmemory 210 für das modifizierte Bild 202 zu generieren. Das Stilgenerierungsmodul 214 ist zudem dafür konfiguriert, die bestimmten Stildaten 208 derart zu generieren, dass der Modifikationsmemory 210 beinhaltet ist. Mit Blick auf das dargestellte Beispiel 200 verpackt das Stilgenerierungsmodul 214 die Bilddarstellung 216 und die Modifikationsparameter 206 in dem Modifikationsmemory 210. Allgemein verpackt das Stilgenerierungsmodul 214 eine Bilddarstellung und Modifikationsparameter für jedes modifizierte Bild, das als Grundlage für einen Stil ausgewählt ist, in einem Modifikationsmemory. Wiederum bei dem dargestellten Beispiel 200 verpackt das Stilgenerierungsmodul 214 jedoch des Weiteren den Modifikationsmemory 210 in den bestimmten Stildaten 208. Sind mehrere Bilder als Grundlage für einen Stil ausgewählt, so verpackt das Stilgenerierungsmodul 214 Modifikationsmemorys, die für jedes der mehreren Bilder generiert sind, in jeweiligen Stildaten. Bei einer oder mehreren Implementierungen generiert das Stilgenerierungsmodul 214 die bestimmten Stildaten 208 als Textdatei, so beispielsweise als JSON-Datei (JavaScript Object Notation JSON). Als Gegensatz zu Stildaten, die für Stile auf Grundlage einer Auswahl eines einzelnen modifizierten Bildes generiert worden sind, und zu Stildaten, die für Stile auf Grundlage von Auswahlen mehrerer modifizierter Bilder generiert worden sind, werde nunmehr die nachfolgende Diskussion anhand 3A und 3B betrachtet.
  • 3A und 3B zeigen bei 300 exemplarische Implementierungen von Stildaten für einen ersten Stil, der aus einem einzelnen modifizierten Bild generiert worden ist, beziehungsweise von Stildaten für einen zweiten Stil, der aus mehreren modifizierten Bildern generiert worden ist.
  • Insbesondere beinhaltet 3A Einzelbildstildaten 302. Da die Einzelbildstildaten 302 generiert werden, um einen Stil zu erfassen, der auf einem einzelnen modifizierten Bild beruht, beinhalten die Einzelbildstildaten 302 nur einen Modifikationsmemory, nämlich bei dem dargestellten Beispiel einen Modifikationsmemory 304. Im Zusammenhang mit 2 generiert das Stilgenerierungsmodul 214 den Modifikationsmemory 304 durch Verpacken einer Bilddarstellung 306, die von dem Darstellungsmodul 212 des einzelnen modifizierten Bildes generiert worden ist, mit Modifikationsparametern 308, die aus dem einzelnen modifizierten Bild extrahiert worden sind, so beispielsweise aus einer Rohdatei, die dem einzelnen modifizierten Bild entspricht. Die Einzelbildstildaten 302 können sodann in den Stildaten 120 zur späteren Nutzung, so beispielsweise zur Anwendung des jeweiligen Stils auf ein Eingabebild, gespeichert werden.
  • 3B beinhaltet Mehrbildstildaten 310. Im Gegensatz zu den Einzelbildstildaten 302 werden die Mehrbildstildaten 310 generiert, um einen Stil zu erfassen, der auf wenigstens zwei modifizierten Bildern beruht. Gezeigt sind die Mehrbildstildaten 310 zu diesem Zweck mit zwei Modifikationsmemorys, nämlich einem ersten Modifikationsmemory 312 und einem N-ten Modifikationsmemory 314, mit Ellipsen zur Angabe dessen, dass die Mehrbildstildaten 310 mehr Modifikationsmemorys als nur die beiden abgebildeten beinhalten können. Entsprechend den beschriebenen Techniken generiert das Stilgenerierungsmodul 214 den ersten Modifikationsmemory 312 durch Verpacken der ersten Bilddarstellung 316, die von dem Darstellungsmodul 212 eines ersten modifizierten Bildes generiert wird, mit ersten Modifikationsparametern 318, die aus dem ersten modifizierten Bild, so beispielsweise aus einer Rohdatei, die dem ersten modifizierten Bild entspricht, extrahiert werden.
  • Des Weiteren generiert das Stilgenerierungsmodul 214 den N-ten Modifikationsmemory 314 durch Verpacken der N-ten Bilddarstellung 320, die von dem Darstellungsmodul 212 des N-ten modifizierten Bildes (beispielsweise eines zweiten modifizierten Bildes oder eines dritten modifizierten Bildes) generiert wird, mit N-ten Modifikationsparametern 323, die aus dem N-ten modifizierten Bild, so beispielsweise aus einer Rohdatei, die dem N-ten modifizierten Bild entspricht, extrahiert werden. Hierbei bezeichnet „N“ eine beliebige Zahl, die größer oder gleich 2 ist. Sobald die Mehrbildstildaten 310 generiert worden sind, können sie in den Stildaten 120 zur späteren Nutzung, so beispielsweise zur Anwendung des jeweiligen Stils auf ein Eingabebild, gespeichert werden.
  • Wie vorstehend bemerkt worden ist, kann die Bilddarstellung 216 als Vektor konfiguriert sein, der verschiedene Komponenten aufweist, die jeweils eine bestimmte Analyse des Bildcontents 204 darstellen. Bei den nachfolgenden Erläuterungen können, wie nachstehend angegeben ist, Bilder durch den Term / dargestellt werden, Darstellungen des Bildes durch den Term α dargestellt werden und Modifikationsparameter durch den Term λ dargestellt werden. Ein bestimmtes Bild kann unter Nutzung eines tiefgestellten Index (subscript) bezeichnet werden, beispielsweise „1“ zur Bezugnahme auf ein erstes Bild, „2“ zur Bezugnahme auf ein zweites Bild und so weiter. Die entsprechenden Modifikationsparameter können unter Nutzung eines hochgestellten Index (superscript) ausgedrückt werden. Auf diese Weise bezeichnet der Term λ1 Modifikationsparameter des Bildes I1. Man beachte des Weiteren, dass die Modifikationsparameter für ein bestimmtes Bild in Vektorform konfiguriert sein können und die Parameterwerte derart erfassen, dass der Term λ1 einen Vektor der Modifikationsparameter des Bildes I1 darstellt. Unter Annahme eines Beispiels, bei dem das modifizierte Bild 202 dem Bild I1 entspricht, kann der Modifikationsmemory 210 folgendermaßen ausgedrückt werden: ( α ( I 1 ) . λ 1 )
    Figure DE102020002302A1_0001
  • Hierbei stellt der Term α(I1) die Bilddarstellung 216 (beispielsweise in einem vektorisierten Format) des Bildcontents 204 dar, während der Term λ1 die Modifikationsparameter 206 darstellt. Darüber hinaus kann der Stil, der den bestimmten Stildaten 208 entspricht, bei einem Beispiel folgendermaßen ausgedrückt werden, wobei der Term S den Stil darstellt: S = { ( α ( I 1 ) , λ 1 ) }
    Figure DE102020002302A1_0002
  • Dieser Ausdruck kann daher einen Stil darstellen, der auf einem einzelnen modifizierten Bild beruht, das nur einen einzigen Modifikationsmemory aufweist, so beispielsweise denjenigen Stil, der den Einzelbildstildaten 302 entspricht. Im Gegensatz hierzu kann der Stil S, der auf drei Bildern beruht und daher drei Modifikationsmemorys aufweist, folgendermaßen ausgedrückt werden: S = { ( α ( I 1 ) , λ 1 ) , ( α ( I 2 ) , λ 2 ) , ( α ( I 3 ) , λ 3 ) }
    Figure DE102020002302A1_0003
  • Hierbei entsprechen die Terme I1, I2 und I3 einem ersten, einem zweiten und einem dritten Bild (beispielsweise dem Bildcontent hiervon), die als Grundlage für den Stil S dienen. Es ergibt sich, dass die Terme α(I1), α(I2) und α(I3) den Bilddarstellungen der Bilder I1, I2 beziehungsweise I3 entsprechen. Daher entsprechen die Terme λ1, λ2 und λ3 den Modifikationsparametern, die zum Modifizieren der Bilder I1, I2 beziehungsweise I3 benutzt worden sind.
  • Allgemeiner kann ein Stil Sn, der auf mehreren Bildern beruht, entsprechend der nachfolgenden Notation dargestellt werden, bei der n der Anzahl von Bildern entspricht: S n = { ( α ( I a ) , λ a ) } a = 1 n
    Figure DE102020002302A1_0004
  • Dieser Ausdruck gibt an, dass der Stil Sn einen Satz von Modifikationsmemorys umfasst, der durch die ganze Zahl α indiziert ist, die Werte von 1 bis n aufweist. Zusätzlich zum Generieren von Stilen auf Grundlage von ausgewählten Bildern kann das für einen gelernten Stil gedachte System 118 Stile durch Kombinieren von bereits generierten Stilen generieren. Beispielshalber ist das für einen gelernten Stil gedachte System 118 dafür konfiguriert, einen ersten Stil S1 mit einem zweiten Stil S2 zu kombinieren, um einen dritten, kombinierten Stil S12 zu erstellen, und zwar beispielsweise auf Grundlage von Auswahlen der ersten und zweiten Stile und des Weiteren auf Grundlage einer Auswahl zur Erstellung eines neuen Stils auf Grundlage der ersten und zweiten Stile. Man betrachte ein Beispiel, bei dem der erste Stil S1 auf ersten, zweiten und dritten Bildern beruht, während der zweite Stil S2 auf vierten und fünften Bildern beruht. Die ersten, zweiten, dritten, vierten und fünften Bilder werden durch die Terme I1, I2, I3, I4 beziehungsweise I5 in der nachfolgenden Diskussion dargestellt. Bei diesem Beispiel kann der erste Stil S1 folgendermaßen ausgedrückt werden: S 1 = { ( α ( I 1 ) , λ 1 ) , ( α ( I 2 ) , λ 2 ) , ( α ( I 3 ) , λ 3 ) }
    Figure DE102020002302A1_0005
  • Bei diesem Beispiel kann der zweite Stil S2 folgendermaßen dargestellt werden: S 1 = { ( α ( I 4 ) , λ 4 ) , ( α ( I 5 ) , λ 5 ) }
    Figure DE102020002302A1_0006
  • Zum Generieren des dritten, kombinierten Stils S12 kann das für einen gelernten Stil gedachte System 118 Stildaten erstellen, die Modifikationsmemorys der ersten, zweiten, dritten, vierten und fünften Bilder beinhalten, und zwar beispielsweise durch Kombinieren der Stildaten der ersten und zweiten Stile. Entsprechend beinhalten die Stildaten für den kombinierten Stil S12 fünf Modifikationsmemorys. Entsprechend den beschriebenen Techniken kann der kombinierte Stil S12 entsprechend dem nachfolgenden Ausdruck dargestellt werden. S 12 = { S 1 , S 2 } = { ( α ( I 1 ) , λ 1 ) , ( α ( I 2 ) , λ 2 ) , ( α ( I 3 ) , λ 3 ) , ( α ( I 4 ) , λ 4 ) , ( α ( I 5 ) , λ 5 ) }
    Figure DE102020002302A1_0007
  • Im Zusammenhang mit dem Auswählen eines oder mehrerer Bilder, die als Grundlage für einen Stil dienen, betrachte man nunmehr die nachfolgende Diskussion anhand 4. 4 zeigt eine exemplarische Implementierung 400 einer Nutzerschnittstelle, über die ein oder mehrere modifizierte Bilder dafür auswählbar sind, als Grundlage zum Lernen eines Stils der Modifikation zu dienen.
  • Bei dem dargestellten Beispiel 400 ist die Rechenvorrichtung 102 derart abgebildet, dass sie die Nutzerschnittstelle 402 anzeigt, die angezeigte Darstellungen (beispielsweise Vorschaubilder) mehrerer ausgewählter Digitalbilder beinhaltet. Bei diesem Beispiel ist die Hand eines Nutzers 404 derart abgebildet, dass sie über die Nutzerschnittstelle 402 Bilder auswählt, die als Grundlage für eine bestimmten Stil dienen. Insbesondere wählt der Nutzer 404 bei dem dargestellten Beispiel 400 drei Bilder aus. Die ausgewählten Bilder 406, 408, 410 sind derart gezeigt, dass sie bei dem dargestellten Beispiel 400 durch Prüfmarken (check marks) dargestellt sind, die in Bezug auf den jeweiligen Auswahlindikator angezeigt werden. Nicht ausgewählte Bilder enthalten keine Prüfmarken, die in Bezug auf einen jeweiligen Auswahlindikator angezeigt werden. Die Nutzerschnittstelle 402 beinhaltet zudem eine Aufforderung (prompt) 412, die den Nutzer 404 dazu auffordert, ein oder mehrere modifizierte Bilder, die als Grundlage für einen Stil dienen sollen, auszuwählen.
  • Bei dem dargestellten Beispiel 400 beinhaltet die Nutzerschnelle 402 zudem eine Stilinformation 414 und eine Done-Interface-Instrumentalität 416. Die Stilinformation 414 beinhaltet hierbei einen Namen („abstrakter Strand“) des jeweiligen Stils und beschreibt eine Anzahl von modifizierten Bildern, die als Grundlage für den Stil dienen (drei Bilder). Die Nutzerschnittstelle 402 kann eine Funktionalität präsentieren, die einem Nutzer ermöglicht, Information, so beispielsweise einen Stilnamen, einzugeben. Beispiele für diese Funktionalität beinhalten das Präsentieren eines Textkästchens und einer Tastatur zum Tippen in das Textkästchen, die Nutzung einer sprachbasierten Nutzerschnittstelle und dergleichen mehr. Die Anzahl von Bildern kann automatisch von dem für einen gelernten Stil gedachten System 118 aktualisiert werden, wenn Bilder von dem Nutzer 404 ausgewählt werden. Die Nutzerschnittstelle kann selbstredend auch andere als die im Zusammenhang mit dem dargestellten Beispiel abgebildete und beschriebene Information beinhalten, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen.
  • Die Done-Interface-Instrumentalität 416 stellt eine Funktionalität zum Initiieren des Generierens von Stildaten auf Grundlage der ausgewählten Bilder dar. In Reaktion auf das Empfangen einer Nutzerauswahl der Done-Interface-Instrumentalität 416 (oder irgendeiner anderen ähnlich konfigurierten Instrumentalität) können die ausgewählten Bilder 406, 408, 410 beispielsweise von einer Anwendung (beispielsweise der Contentbearbeitungsanwendung 104 oder einem Betriebssystem der Rechenvorrichtung 102) als Eingabe (beispielsweise im Rohformat) für das für einen gelernten Stil gedachte System 118 bereitgestellt werden. In Reaktion auf den Empfang der ausgewählten Bilder 406, 408, 410 generiert das für einen gelernten Stil gedachte System 118 drei Modifikationsmemorys, und zwar einen Modifikationsmemory für jedes der ausgewählten Bilder, und verpackt die Modifikationsmemorys in für den jeweiligen Stil (für den Stil „abstrakter Strand“) vorgesehenen Stildaten, die sodann als Teil der Stildaten 120 vorgehalten werden können. Das Generieren der Stildaten kann selbstredend auch auf andere Weisen (beispielsweise in Reaktion auf einen Sprachbefehl) erfolgen, ohne vom Wesen oder Umfang der hier beschriebenen Techniken abzugehen.
  • Man beachte, dass die Nutzerschnittstelle 402 nur ein Beispiel für eine Nutzerschnittstelle ist, die zum Auswählen von Bildern, die als Grundlage für einen Stil dienen sollen, nutzbar ist. Andere Schnittstellen, die auf eine Vielzahl von Arten konfiguriert sind, können präsentiert werden und eine Auswahl von modifizierten Bildern, die als Grundlage für einen Stil dienen, ermöglichen, und dies innerhalb des Wesens und Umfangs der beschriebenen Techniken. Anstelle des einfachen Auswählens von modifizierten Bildern aus einer Sammlung von Bildern kann das für einen gelernten Stil gedachte System 118 beispielsweise auch eine Funktionalität präsentieren, die Modifikationen aufzeichnet, wenn ein Nutzer die Modifikationen an einem oder mehreren Bildern vornimmt. Sobald die Aufzeichnung angehalten ist, kann das für einen gelernten Stil gedachte System 118 Modifikationsmemorys 210 der Bilder, die während des Aufzeichnens modifiziert worden sind, derart generieren, dass diese Modifikationsmemorys als Stildaten für einen Stil vorgehalten werden.
  • Bei einer oder mehreren Implementierungen wird die Funktionalität zum Aufzeichnen von Modifikationen über eine Nutzerschnittstelle der Contentbearbeitungsanwendung 104 präsentiert. Eine Contentbearbeitungsschnittstelle der Contentbearbeitungsanwendung 104 kann beispielsweise eine angezeigte Taste „Aufzeichnen“ beinhalten oder dafür konfiguriert sein, einen Sprachbefehl zu detektieren, um Bildmodifikationsvorgänge „aufzuzeichnen“. In Reaktion auf die Auswahl einer derartigen Taste oder die Detektion eines Befehls zum Aufzeichnen zeichnet das für einen gelernten Stil gedachte System 118 Nutzereingaben auf, die zum Modifizieren eines Digitalbildes, das über die Schnittstelle präsentiert wird, empfangen werden, so beispielsweise Nutzereingaben zum Modifizieren eines beliebigen der verschiedenen vorbeschriebenen Parameter wie Belichtung, Kontrast, Hervorhebungen, Schatten bzw. Schattierungen, Weißungen, Schwärzungen, Vibranz, Kontrast, Klarheit, Helligkeit, Sättigung und dergleichen mehr. Während diese Eingaben aufgezeichnet werden, kann die Contentbearbeitungsschnittstelle der Contentbearbeitungsanwendung 104 eine angezeigte Taste „Anhalten“ beinhalten oder dafür konfiguriert sein, einen Sprachbefehl zu detektieren, der die Aufzeichnung der Bildmodifikationsvorgänge zum Zwecke des hieraus erfolgenden Generierens eines Stils anhält. In Reaktion auf die Auswahl dieser Taste oder die Detektion eines Befehls zum Anhalten kann das für einen gelernten Stil gedachte System 118 einen Stil aus dem modifizierten Bild oder den modifizierten Bildern generieren, damit der Stil auf nachfolgende Bilder angewendet werden kann, wie vorstehend und nachstehend beschrieben ist. Es sollte einsichtig sein, dass Modifikationen an Bildern auf verschiedene Weisen aufgezeichnet werden können, so beispielsweise entsprechend verschiedenen Sequenzen von Auswahlen zum Aufzeichnen von Modifikationen und Anhalten des Aufzeichnens derselben sowie zum Zwecke der Nutzung der modifizierten Bilder, die als Grundlage für einen Stil dienen sollen, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen. Im Zusammenhang mit dem Anwenden eines Stils auf ein nachfolgendes Bild betrachte man die nachfolgende Diskussion anhand 5.
  • 5 zeigt ein exemplarisches System 500, bei dem das für einen gelernten Stil gedachte System von 1 ein Eingabebild mit einem Stil modifiziert, der aus einem oder mehreren modifizierten Bildern, die als Grundlage für den Stil dienen, gelernt worden ist.
  • Das dargestellte Beispiel 500 beinhaltet das für einen gelernten Stil gedachte System 118, das das Darstellungsmodul 212 von 2 aufweist. Das dargestellte Beispiel 500 beinhaltet zudem die Mehrbildstildaten 310 aus 3, um die Funktionalität des Systems 500 zu erläutern. Es sollte jedoch einsichtig sein, dass das System auch dort Stile anwenden kann, wo die entsprechenden Daten nur einen einzigen Modifikationsmemory beinhalten, was beispielsweise bei den Einzelbildstildaten 302 der Fall ist, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen.
  • Bei dem Beispiel 500 ist das für einen gelernten Stil gedachte System 118 derart gezeigt, dass es ein Eingabebild 502 und die Mehrbildstildaten 310 als Eingabe bezieht. Empfangen kann das für einen gelernten Stil gedachte System 118 diese als Eingabe beispielsweise in Reaktion auf den über eine Nutzerschnittstelle erfolgenden Empfang einer Auswahl eines Stils entsprechend den Mehrbildstildaten 310 und einer Auswahl dessen, den Stil auf das Eingabebild 502 anzuwenden. Rein beispielshalber kann eine Nutzereingabe von der Contentbearbeitungsanwendung 104 über eine Nutzerschnittstelle empfangen werden, um den Stil von einem oder mehreren bereits erstellten Stilen auszuwählen. Eine zusätzliche Nutzereingabe kann sodann von der Contentbearbeitungsanwendung 104 über die Nutzerschnittstelle empfangen werden, um den ausgewählten Stil auf das Eingabebild 502 anzuwenden. In jedem Fall können eine Eingabe dahingehend, einen bereits erstellten Stil auszuwählen, und eine Eingabe dahingehend, die Anwendung eines ausgewählten Stils auf ein bestimmtes Bild auszuwählen, auf eine Vielzahl von Arten empfangen werden, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen, so beispielsweise über Sprachbefehle, Tastaturabkürzungen und dergleichen mehr.
  • Zusätzlich zu dem Darstellungsmodul 212 ist das für einen gelernten Stil gedachte System 118 mit einem Darstellungsvergleichsmodul 504, einem Parameterbestimmungsmodul 506 und einem Parameteranwendungsmodul 508 gezeigt. Diese Module stellen eine Funktionalität dafür bereit, die Modifikationsmemorys eines ausgewählten Stils dafür zu nutzen, einen Stil, der von den Modifikationsmemorys erfasst wird, auf ein Eingabebild anzuwenden. Diese Module generieren des Weiteren ein stilistisch bearbeitetes Bild aus dem Eingabebild, indem sie den Stil entsprechend dem nachfolgend Beschriebenen anwenden. Obwohl das für einen gelernten Stil gedachte System 118 mit diesen bestimmten Modulen gezeigt ist, kann es mehr, weniger oder auch andere Module beinhalten, um Stile auf Eingabebilder entsprechend den nachfolgenden Erläuterungen anzuwenden, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen.
  • Hierbei stellt das Darstellungsmodul 202 eine Funktionalität zum Generieren der Eingabebilddarstellung 510 des Eingabebildes 502 dar. Beispielshalber kann das Darstellungsmodul 212 die Eingabebilddarstellung 510 auf eine Weise generieren, die zu derjenigen ähnlich ist, wie es die Bilddarstellung 216 aus dem Bildcontent 204 des modifizierten Bildes 202 generiert. Anstelle der Pixel-für-Pixel-Gesamtheit des Eingabebildes 502 ist die Eingabebilddarstellung 510 daher eine reduzierte, analysierte Darstellung des Eingabebildes 502, die dessen abgebildeten Content auf eine Weise verallgemeinert, die relevante Merkmale erfasst, jedoch Details weglässt, die für die Anwendung des Stils auf das Eingabebild gegebenenfalls nicht relevant sind. Dies ermöglicht zudem, dass die Eingabebilddarstellung 510 mit den Bilddarstellungen der Modifikationsmemorys der Mehrbildstildaten 310 verglichen wird, also beispielsweise mit der ersten Bilddarstellung 316 des ersten Modifikationsmemorys 312 und mit der N-ten Bilddarstellung 320 des N-ten Modifikationsmemorys 314.
  • Das Darstellungsvergleichsmodul 504 stellt eine Funktionalität dafür bereit, die Eingabebilddarstellung 510 mit den Bilddarstellungen, die in den Modifikationsmemorys eines ausgewählten Stils erfasst sind, zu vergleichen. Im Zusammenhang mit dem Stil, der den Mehrbildstildaten 310 entspricht, vergleicht das Darstellungsvergleichsmodul 504 die Eingabebilddarstellung 510 beispielsweise mit der ersten Bilddarstellung 316 des ersten Modifikationsmemorys 312 und der N-ten Bilddarstellung 320 des N-ten Modifikationsmemorys 314.
  • Auf Grundlage dieser Vergleiche generiert das Darstellungsvergleichsmodul 504 Stilbildähnlichkeiten 512. Bei einer oder mehreren Implementierungen sind die Stilbildähnlichkeiten 512 Kennwerte oder Werte, die eine Ähnlichkeit der Eingabebilddarstellung 510 zu den Bilddarstellungen des ausgewählten Stils beschreiben. Jede Stilbildähnlichkeit 512 beschreibt beispielsweise eine Ähnlichkeit der Eingabebilddarstellung 510 zu der Bilddarstellung eines jeden Modifikationsmemorys, der in dem ausgewählten Stil beinhaltet ist. Sind beispielsweise die Mehrbildstildaten 310 gegeben, so werden die Stilbildähnlichkeiten 512 derart generiert, dass sie beinhalten: wenigstens eine erste Ähnlichkeit, die angibt, wie ähnlich die Eingabebilddarstellung 510 zu der ersten Bilddarstellung 316 ist, und eine N-te Ähnlichkeit, die angibt, wie ähnlich die Eingabebilddarstellung 510 zu der N-ten Bilddarstellung 320 ist. Diese Ähnlichkeiten können insoweit als relativ betrachtet werden, als sie angeben, ob die Eingabebilddarstellung 510 ähnlicher zu der ersten Bilddarstellung 316 oder ähnlicher zu der N-ten Bilddarstellung 320 ist.
  • Bei einer oder mehreren Implementierungen bestimmt das Darstellungsvergleichsmodul 504 eine Ähnlichkeit zwischen Bildern entsprechend dem nachfolgend Beschriebenen. Wie vorstehend erwähnt worden ist, können die Bilddarstellungen als Vektoren konfiguriert sein, wobei eine Ähnlichkeit zwischen einem ersten Bild I1 und einem zweiten Bild I2 einem Maß dafür entspricht, wie ähnlich die Bilder I1 und I2 zueinander sind. Bei einem Beispiel kann das Darstellungsvergleichsmodul 504 dafür konfiguriert sein, dieses Maß auf Grundlage der Größe der Differenz zwischen den Bilddarstellungsvektoren, also beispielsweise zwischen α(I1) und α(I2), zu berechnen. Das Darstellungsvergleichsmodul 504 kann beispielsweise dafür konfiguriert sein, das Maß der Ähnlichkeit zwischen den Bildern I1 und I2 folgendermaßen zu bestimmen: similarity ( I 1 , I 2 ) = e γ | α ( I 1 ) α ( I 2 ) |
    Figure DE102020002302A1_0008
  • Hierbei bezeichnet der Term similarity(I1,I2) das Maß der Ähnlichkeit zwischen den Bildern I1 and I2, bezeichnet der Term y eine Konstante, die die Straffheit (tightness) der Ähnlichkeitsfunktion steuert bzw. regelt, und bezeichnet die Nutzung der vertikalen Striche | ...| die Bestimmung der Größe bzw. des Betrages des Ausdrucks zwischen den vertikalen Strichen. In dieser bestimmten Gleichung bezeichnet der Ausdruck, der von den vertikalen Strichen eingeschlossen ist, die Differenz zwischen den Bilddarstellungsvektoren α(I1) und a(I2), während die Nutzung der vertikalen Striche signalisiert, dass der Betrag jener Differenz berechnet wird. Das Darstellungsvergleichsmodul 504 ist daher dafür konfiguriert, die Differenz zwischen diesen Bilddarstellungsvektoren und auch die Größe der Differenz zu bestimmen. Rein beispielshalber kann das Darstellungsvergleichsmodul 504 die Größe der Differenz folgendermaßen bestimmen: | α ( I 1 ) α ( I 2 ) | = ( α ( I 1 ) α ( I 2 ) ) 2
    Figure DE102020002302A1_0009
  • Hierbei berechnet das Darstellungsvergleichsmodul 504 die Quadratwurzel der Summe der Quadrate der Differenzen der Komponenten der Vektoren. Bei dem Beispiel, bei dem die Bilddarstellungen aus zwei Komponenten gebildet sind, nämlich bei einer vektorisierten Darstellung von Luminanz- und/oder Chrominanzverteilungen und einem Merkmalsvektor zur Beschreibung des jeweiligen Bildcontents, berechnet das Darstellungsvergleichsmodul 504 das Quadrat der Differenz zwischen der ersten Komponente des ersten Bildes und der ersten Komponente des zweiten Bildes wie auch das Quadrat der Differenz zwischen der zweiten Komponente des ersten Bildes und der zweiten Komponente des zweiten Bildes. Diese Quadratwurzel der Summe der Quadrate der Differenzen der Komponenten der Bilddarstellungsvektoren stellt daher ein Maß für den Abstand zwischen den beiden Bilddarstellungsvektoren und daher den beiden Bildern dar. Der Betrag der Differenz kann dem Abstand zwischen den Bildern entsprechen und kann bei einem Beispiel folgendermaßen erfasst werden: d ( I 1 , I 2 ) = | α ( I 1 ) α ( I 2 ) |
    Figure DE102020002302A1_0010
  • Hierbei bezeichnet die Funktion eine Abstandsfunktion. In jedem Fall kann das Darstellungsvergleichsmodul 504 andere Maße für den Bilddarstellungsvektorabstand nutzen, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen. Beispiele für andere Abstandsansätze beinhalten die Summe der Quadrate der Komponenten (oft „Euklidischer“ Abstand bezeichnet), die Summe der Beträge der Komponentendifferenzen und dergleichen mehr. Berechnet das Darstellungsvergleichsmodul 504 das Maß der Ähnlichkeit entsprechend dem vorstehend Beschriebenen und sind die Bilddarstellungsvektoren sehr verschieden (beispielsweit beabstandet bzw. distant), so nähert sich das berechnete Maß der Ähnlichkeit an 0. Mit anderen Worten, je näher das Ähnlichkeitsmaß an 0 ist, desto weniger ähnlich sind die Bilder, die verglichen werden. Umgekehrt gilt: Berechnet das Darstellungsvergleichsmodul 504 das Maß der Ähnlichkeit entsprechend dem vorstehend Beschriebenen und sind die Bilddarstellungsvektoren ähnlich (ist der Abstand beispielsweise klein), so nähert sich das berechnete Maß der Ähnlichkeit dem Eins-Element bzw. der Einheit (unity) (beispielsweise „1“). Je näher das Ähnlichkeitsmaß also an 1 ist, desto ähnlicher sind die Bilder, die verglichen werden.
  • Alternativ oder zusätzlich kann das Darstellungsvergleichsmodul 504 ein Maß der Ähnlichkeit auf Grundlage der bestimmten Information, die durch die Bilddarstellungsvektoren codiert ist, derart berechnen, dass die Funktion, die zum Berechnen des Ähnlichkeitsmaßes benutzt wird, Parameter beinhalten kann, die auf Grundlage der codierten Informationen abstimmbar sind, um das Maß der Ähnlichkeit zu ändern. Mit anderen Worten, das Abstimmen der Parameter ist dafür effektiv, verschiedene Ähnlichkeitsmaße für zwei Bilder nach dem Abstimmen zu erhalten. Das beschriebene System kann ermöglichen, dass diese Parameter über eine Nutzerschnittstelle abgestimmt werden. Bei wenigstens einer Implementierung kann das Maß der Ähnlichkeit, also similarity(I1,I2), zwischen einem ersten Bild I1 und einem zweiten Bild I2 entsprechend der nachfolgenden alternativen Ähnlichkeitsfunktion berechnet werden: similarity ( I 1 , I 2 ) = 1 + e γ 1 + e γ ( 1 ( d ( I 1 , I 2 ) D ) 1,3 )
    Figure DE102020002302A1_0011
  • Hierbei bezeichnet der Term D eine Konstante, die Auswirkungen darauf hat, wie jenes Abstandsmaß skaliert ist. Bei einem Implementierungsbeispiel setzt das Darstellungsvergleichsmodul 504 den Term D auf den Wert 1,0. Darüber hinaus nutzt das Darstellungsvergleichsmodul 504 den Exponenten 1,3 auf Grundlage der Erkenntnis, dass dessen Nutzung visuell gefällige Ergebnisse beim Anwenden des Stils ergibt. Das Darstellungsvergleichsmodul 504 kann verschiedene Werte für den Exponenten einsetzen, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen, und dies beispielsweise auch bei anderen Konfigurationen der Bilddarstellungen.
  • Auf Grundlage der Fähigkeit, ein Maß der Ähnlichkeit zwischen zwei beliebigen Bildern zu bestimmen, ist das Darstellungsvergleichsmodul 504 des Weiteren dafür konfiguriert, ein Maß der Ähnlichkeit zwischen einem Eingabebild (beispielsweise dem Eingabebild 502) und einem Stil (beispielsweise dem Stil, der den Mehrbildstildaten 310 entspricht) zu bestimmen. Zur Bestimmung des Maßes der Ähnlichkeit zwischen dem Eingabebild und dem Stil nutzt das Darstellungsvergleichsmodul 504 das Maß / die Maße der Ähnlichkeit entsprechend der Bestimmung zwischen dem Eingabebild und dem einen oder den mehreren Bildern des Stils. Bei einem Beispiel bestimmt das Darstellungsvergleichsmodul 504 ein Maß der Ähnlichkeit zwischen dem Eingabebild I und einem Stil S folgendermaßen: style_sim ( I , S ) = similarity ( I , I a ) a
    Figure DE102020002302A1_0012
  • Hierbei bezeichnet style_sim(...) eine Funktion, die zum Bestimmen eines Ähnlichkeitsmaßes zwischen einem Eingabebild und einem Stil benutzt wird. Im Gegensatz hierzu bezeichnet similarity(...) eine Funktion zum Bestimmen eines Ähnlichkeitsmaßes zwischen zwei Bildern - beim vorstehenden Beispiel sind diese Bilder das Eingabebild / und ein gegebenes Bild Iα des Stils S. Der Term α bezeichnet einen ganzzahligen Index über alle Bilder des Stils S derart, dass die Ähnlichkeit zwischen dem Eingabebild / und jedem der Bilder des Stils S gemessen wird. Bei diesem bestimmten Beispiel bezeichnet die Nutzung der Notation 〈...〉α die Bestimmung eines Durchschnitts des eingeschlossenen Teiles des Ausdruckes. Bei diesem bestimmten Beispiel ist das Darstellungsvergleichsmodul 504 dafür konfiguriert, ein Maß der Ähnlichkeit zwischen dem Eingabebild / und jedem der Bilder des Stils S zu bestimmen und sodann einen Durchschnitt (beispielsweise ein Mittel) der bestimmten Maße der Ähnlichkeit zu bestimmen. Das Darstellungsvergleichsmodul 504 nutzt diesen bestimmten Durchschnitt sodann als Maß der Ähnlichkeit zwischen dem Eingabebild I und dem Stil S. Obwohl die Erläuterungen anhand des Mittels erfolgen, können auch andere Durchschnitte benutzt werden, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen.
  • Beispielshalber kann das Darstellungsvergleichsmodul 504 stattdessen ein maximales bestimmtes Ähnlichkeitsmaß zwischen dem Eingabebild / und den Bildern des Stils S identifizieren und nutzen. Alternativ oder zusätzlich kann das Darstellungsvergleichsmodul 504 ein Softmaximum der bestimmten Ähnlichkeitsmaße zwischen dem Eingabebild I und den Bildern des Stils S berechnen. Das Darstellungsvergleichsmodul 504 kann das Softmaximum folgendermaßen berechnen: style_sim soft ( I , S ) = Σ α = 1 N e k  similarity ( I , I α ) similarity ( I , I α ) Σ α = 1 N e k  similarity ( I , I α )
    Figure DE102020002302A1_0013
  • Entsprechend bezeichnet der Term style_simsoft(I,S) eine Funktion, die zum Bestimmen eines Softmaximums des Eingabebildes / und des Stils S benutzt wird. Der Term k bezeichnet eine Konstante, die die Spezifität des Softmaximums steuert bzw. regelt. Nutzt das Darstellungsvergleichsmodul 504 vergleichsweise größere Werte für k, so bestimmt das Darstellungsvergleichsmodul 504 ein Maß, das den maximalen Ähnlichkeitswert über die Bilder des Stils S bestimmt. Im Gegensatz hierzu bestimmt das Darstellungsvergleichsmodul 504, wenn das Darstellungsvergleichsmodul 504 vergleichsweise kleinere Werte für k nutzt, ein Maß, das die mittlere Ähnlichkeit über die Bilder des Stils S nähert.
  • Das Darstellungsvergleichsmodul 504 kann auch andere Maße zum Messen der Ähnlichkeit zwischen einem Eingabebild und einem Stil nutzen. Sind die Bilddarstellungen beispielsweise derart konfiguriert, dass sie mehrere semantisch getrennte Komponenten, so beispielsweise Luminanz-/Chrominanz-Verteilungen und Merkmalsvektoren, darstellen, so kann das Darstellungsvergleichsmodul 504 dafür konfiguriert sein, die Ähnlichkeit zwischen den verschiedenen Komponenten der Darstellungen zu bestimmen. Beispielshalber kann das Darstellungsvergleichsmodul 504 Ähnlichkeitsmaße zwischen dem Merkmalsvektor des Eingabebildes und Merkmalsvektoren eines jeden Bildes des Stils bestimmen. Bei diesem Szenario bestimmt das Darstellungsvergleichsmodul 504 zudem Ähnlichkeitsmaße zwischen den Luminanz-/Chrominanz-Verteilungen des Eingabebildes und den Luminanz-/Chrominanz-Verteilungen eines jeden Bildes des Stils.
  • Bei der nachfolgenden Diskussion kann die Information, die durch den Merkmalsvektor beschrieben wird, als „Form“ verallgemeinert werden, während die Information, die durch die Luminanz-/Chrominanz-Verteilungen beschrieben wird, als „Ton“ verallgemeinert werden kann. Zu diesem Zweck kann das Darstellungsvergleichsmodul 504 dafür konfiguriert sein, ein Maß der Ähnlichkeit zwischen Bildern hinsichtlich ihrer Form zu berechnen, und zwar beispielsweise entsprechend dem nachfolgenden Beispiel: similarity form ( I 1 , I 2 ) = e γ form | α form ( I 1 ) α form ( I 2 ) |
    Figure DE102020002302A1_0014
  • Auf gleiche Weise kann das Darstellungsvergleichsmodul 504 dafür konfiguriert sein, ein Maß der Ähnlichkeit zwischen Bildern hinsichtlich ihres Tones zu berechnen, und zwar beispielsweise entsprechend dem nachfolgenden Beispiel: similarity tone ( I 1 , I 2 ) = e γ tone | α tone ( I 1 ) α tone ( I 2 ) |
    Figure DE102020002302A1_0015
  • Sind die Ähnlichkeiten hinsichtlich Form und Ton gegeben, so kann das Darstellungsvergleichsmodul 504 dafür konfiguriert sein, die Ähnlichkeit als Funktion sowohl der Form wie auch des Tones zu berechnen, und zwar beispielsweise entsprechend dem nachfolgenden Beispiel: similarity form+tone ( I 1 , I 2 ) = fuzzy_logic ( similarity form ( I 1 , I 2 ) , similarity tone ( I 1 , I 2 ) )
    Figure DE102020002302A1_0016
  • Hierbei kann die Fuzzy-Logic-Darstellung verschiedene logische Regeln darstellen, die durch einfache arithmetische Operationen an den zwei Ähnlichkeitsmaßen, so beispielsweise dem Formähnlichkeitsmaß und dem Tonähnlichkeitsmaß, implementiert sind. Die Fuzzy-Logic-Funktion kann beispielsweise die logische „UND“-Operation implementieren, die erfordert, dass sowohl die Ton- wie auch die Formähnlichkeitsmaße ähnlich sind, um zu bestimmen, dass die beiden verglichenen Bilder insgesamt ähnlich sind. Alternativ oder zusätzlich kann die Fuzzy-Logic-Funktion die logische „ODER“-Operation implementieren, die erfordert, dass wenigstens eines von den Ton- oder Formähnlichkeitsmaßen ähnlich ist, um zu bestimmen, dass die beiden verglichenen Bilder insgesamt ähnlich sind. Das Darstellungsvergleichsmodul 504 kann dafür konfiguriert sein, die Ähnlichkeit komponentenweise auf verschiedene Weisen zu berechnen, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen.
  • Sobald die Stilbildähnlichkeiten 512 bestimmt sind, bestimmt das Parameterbestimmungsmodul 506 Parameter zum Modifizieren des Eingabebildes 502 auf Grundlage der Stilbildähnlichkeiten 512. Bei dem dargestellten Beispiel 500 stellen die bestimmten Parameter 514 diejenigen Parameter dar, die zum Modifizieren des Eingabebildes bestimmt werden und die auf Grundlage der Stilbildähnlichkeiten 512 bestimmt werden. Allgemein bestimmt das Parameterbestimmungsmodul 506 die bestimmten Parameter 514 derart, dass diese ähnlich zu den Modifikationsparametern von Bildern des Stils sind, zu denen das Eingabebild 502 ähnlich ist. Umgekehrt sind die bestimmten Parameter 514 zu den Modifikationsparametern derjenigen Bilder, zu denen das Eingabebild 502 weniger ähnlich ist, weniger ähnlich. Mit anderen Worten, das Parameterbestimmungsmodul 506 kann die bestimmten Parameter 514 generieren, indem es die Modifikationsparameter der Modifikationsmemorys des angewendeten Stils generiert, und zwar beispielsweise auf Grundlage der Ähnlichkeit des Eingabebildes zu den jeweiligen Bildern der Modifikationsmemorys des angewendeten Stils.
  • Bei wenigstens einer Implementierung bestimmt das Parameterbestimmungsmodul 506 die bestimmten Parameter 514 entsprechend der nachfolgenden Diskussion. Bei diesem Szenario generiert das Parameterbestimmungsmodul 506 eine Vorhersage der Parameter, die auf das Eingabebild 502 angewendet werden, derart, dass die Vorhersagen eine Vorstellung des Stils so, wie er durch dessen Modifikationsmemorys beschrieben wird, liefern. Sind beispielsweise ein Bild / (beispielsweise das Eingabebild 502) und ein Stil S (beispielsweise ein Stil, der den Mehrbildstildaten 310 entspricht) gegeben, so sagt das Parameterbestimmungsmodul 506 die bestimmten Parameter 514 λ als Funktion des Bildes / und des Stils S vorher, was als A(I,S) dargestellt wird. Beispielshalber sagt das Parameterbestimmungsmodul 506 die bestimmten Parameter 514 bei wenigstens einer Implementierung als Mischung zwischen mehreren „Modifikationsmemoryschalen“ entsprechend dem Nachfolgenden voraus: λ ( I , S ) = P 1 ( I ) λ shell1 ( I )                       + ( 1 P 1 ( I ) ) ( P 2 ( I ) λ shell2 ( I ) )                       + ( 1 P 2 ( I ) ) ( P 3 ( I ) λ shell3 ( I ) + ( 1 P 3 ( I ) ) λ outside ) )
    Figure DE102020002302A1_0017
  • Bei dieser Parametermischgleichung bezeichnen die Terme P1, P2 und P3 Mischwahrscheinlichkeiten, die den Einfluss einer jeden von einer ersten Schale, einer zweiten Schale und einer dritten Schale zur Gewichtung der Beiträge auf die bestimmten Parameter 514 messen. Die Werte von P reichen von 0 bis 1, wobei Werte näher an 1 angeben, dass die Bilddarstellungen einer jeweiligen Schale „nahe“ an der Eingabebilddarstellung 510 sind, was gemäß nachstehender Beschreibung gemessen werden kann, und zudem, dass die Nähe statistisch signifikant ist, was ebenfalls gemäß nachstehender Beschreibung gemessen werden kann. Der Term λoutside bezeichnet einen Satz von Werten, die den bestimmten Parametern 514 zugewiesen werden, wenn bestimmt wird, dass das Eingabebild 502 nicht ähnlich zu irgendeinem der Bilder bei dem angewendeten Stil ist, das heißt, wenn das Parameterbestimmungsmodul 506 bestimmt, dass eine geringe Wahrscheinlichkeit dafür vorhanden ist, dass die Darstellung des Bildes I signifikant nahe an Bildern in irgendeiner der Schalen ist.
  • Das Parameterbestimmungsmodul 506 kann verschiedene Sätze von Werten für die Parameter λoutside nutzen. Des Weiteren setzt das Parameterbestimmungsmodul 506 die bestimmten Parameter 514 auf einen solchen anderen Satz von Werten, wenn das Eingabebild 502 zu den Bildern des angewendeten Stils nicht ähnlich ist. Der Satz von Werten kann beispielsweise durchweg 0 entsprechen, was nicht dazu führt, dass Modifikationen an den Parametern des Eingabebildes 502 vorgenommen werden. Alternativ kann der Satz von Werten auf einer „Autoanpassungsfunktionalität“ der Contentbearbeitungsanwendung 104 beruhen. Bei diesem Szenario kann die Autoanpassungsfunktionalität dafür eingesetzt werden, das Eingabebild 502 zu modifizieren. Die Modifikationen an dem Eingabebild 502, die sich aus der Autoanpassung ergeben, werden von den jeweiligen Parametern derart erfasst, dass die Werte dieser Parameter dem Satz von Werten entsprechen. Die Werte dieser Autoanpassungsparameter können unter Nutzung maschinellen Lernens gelernt werden, wobei ein Modell maschinellen Lernens an Tausenden von Trainingsbildern trainiert wird, um Parameter von Bildern automatisch anzupassen, damit visuell gefällige Bilder erzeugt werden.
  • Alternativ kann der Satz von Werten Durchschnitten der Modifikationsparameter des angewendeten Stils entsprechen. Der bestimmte Parameter 514 für die Belichtung kann beispielsweise als Durchschnitt der Belichtungsmodifikationsparameter über jeden Modifikationsmemory des angewendeten Stils bestimmt werden. Das Parameterbestimmungsmodul 506 kann noch andere Sätze von Werten nutzen, wenn bestimmt wird, dass das Eingabebild 512 zu unähnlich zu Bildern des Stils ist, und zwar beispielsweise einfach unter Nutzung der Modifikationsparameter eines Modifikationsmemorys des Stils, beispielsweise desjenigen Modifikationsmemorys, der die ähnlichsten Bilddarstellungen aufweist. Das Parameterbestimmungsmodul 506 kann zudem verschiedene Sätze von Werten nutzen, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen. Unabhängig davon, welche verschiedenen Sätze von Werten betrachtet werden, kann das Parameterbestimmungsmodul 506 veranlassen, dass eine Nutzerschnittstellenkomponente angezeigt wird, die ermöglicht, dass ein Nutzer auswählt, welcher der verschiedenen Sätze angewendet werden soll, wenn das Bild von den Bildern des Stils zu verschieden ist, um beispielsweise zwischen einem Nichtmodifizieren des Bildes, einem Anwenden von Autoanpassungsparametern oder einem Anwenden von Parametern, die ein Durchschnitt der Stilparameter sind, auszuwählen.
  • Mit Blick auf die Diskussion der mehreren Schalen stellt die vorstehend aufgeführte Gleichung die Nutzung von drei verschiedenen Schalen zur Bestimmung dessen dar, wie viel Einfluss die Modifikationsparameter der verschiedenen Modifikationsmemorys auf die bestimmten Parameter 514 haben. Es sollte einsichtig sein, dass das Parameterbestimmungsmodul 506 verschiedene Anzahlen von Schalen zur Bestimmung dessen nutzen kann, wie viel Einfluss die Modifikationsparameter der verschiedenen Modifikationsmemorys haben. Bei einer Implementierung kann das Parameterbestimmungsmodul 506 den Einfluss beispielsweise unter Nutzung von sechs Schalen bestimmen und sodann sechs Wahrscheinlichkeiten dafür bestimmen, dass die Bilder in diesen Schalen signifikant nahe an dem Eingabebild 502 sind. Allgemein ist die vorstehende Gleichung derart konfiguriert, dass sichergestellt ist, dass das Parameterbestimmungsmodul 506 denjenigen Parametern den größten Einfluss verleiht, die mit den ähnlichsten Bilddarstellungen bezüglich der Eingabebilddarstellung 510 gepaart sind. Auf diese Weise werden die bestimmten Parameter 514 von denjenigen Modifikationsparametern, die mit den ähnlichsten Bilddarstellungen gepaart sind, im Vergleich zu denjenigen Modifikationsparametern, die mit den weniger ähnlichen Bilddarstellungen gepaart sind, stärker beeinflusst.
  • Bestimmt das Parameterbestimmungsmodul 506 beispielshalber, dass eine signifikant nahe Bilddarstellung in der ersten Schale vorhanden ist, so ist die Wahrscheinlichkeit P1 dafür, dass eine Zuweisung zwischen dem Bild / und den Modifikationsparametern der Bilder in Schale 1 vorhanden ist, nahe 1. Bei diesem Szenario bestimmt das Parameterbestimmungsmodul 506 die bestimmten Parameter 514 derart, dass sie stark von den Parametern λshell1 der ersten Schale beeinflusst werden. Mit anderen Worten, die bestimmten Parameter 514 werden aus den Parametern λshell1 der ersten Schale derart abgeleitet, dass das Ausmaß, in dem die Parameter λshell1 der ersten Schale die bestimmten Parameter 514 beeinflussen, eine Funktion der Ähnlichkeit zu den Bilddarstellungen der ersten Schale ist. Die bestimmten Parameter 514 werden von den Parametern der anderen Schalen auf ähnliche Weise beeinflusst. Allgemein bezeichnet der Term λshell1 einen gewichteten Durchschnitt von Modifikationsparametern über die Modifikationsmemorys innerhalb der ersten Schale mit einer Tendenz hin zu näheren Modifikationsmemorys, also beispielsweise hin zu Modifikationsmemorys, die ähnlichere Bilddarstellungen aufweisen. Bei Szenarien, bei denen nur ein Modifikationsmemory in einer Schale vorhanden ist, nutzt das Parameterbestimmungsmodul 506 einfach die Modifikationsparameter dieses Modifikationsmemorys in der vorgenannten Parametermischgleichung.
  • Bei Szenarien, bei denen das Parameterbestimmungsmodul 506 bestimmt, dass keine signifikant ähnlichen Bilddarstellungen in der ersten Schale vorhanden sind, berücksichtigt das Parameterbestimmungsmodul 506 die nächste Schale, also beispielsweise die zweite Schale. Bei diesem Szenario ist der Wert von P1 nahe 0 (oder gleich 0). Durch Multiplizieren der Parameter λshell1 der ersten Schale mit einem Wert nahe 0 entsprechend der Mischgleichung weist das Parameterbestimmungsmodul 506 den Parametern der ersten Schale ein proportionales Ausmaß der Gewichtung (0 oder beinahe 0) zu. Auf diese Weise ermöglicht die Nutzung der vorgenannten Mischgleichung, dass das Parameterbestimmungsmodul 506 auf stetige bzw. glatte und kontinuierliche Weise zu einer nächsten Schale übergeht. Auf ähnliche Weise ist, wie anhand der ersten Schale beschrieben worden ist, wenn das Parameterbestimmungsmodul 506 bestimmt, dass eine signifikant ähnliche Bilddarstellung in der zweiten Schale vorhanden ist, die Wahrscheinlichkeit P2 dafür, dass eine Zuweisung zwischen dem Bild I und den Modifikationsparametern der Bilder in Schale 2 vorhanden ist, nahe an 1, weshalb die Parameter λshell2 der zweiten Schale einen proportionalen Effekt auf die bestimmten Parameter 514 haben.
  • Bei einer oder mehreren Implementierungen berechnet das Parameterbestimmungsmodul 506 die Schalenmischwahrscheinlichkeiten folgendermaßen: P s ( I ) = closeness s ( I ) × significance ( λ s , σ s )
    Figure DE102020002302A1_0018
  • Hierbei bezeichnet der Term s einen Index für verschiedene Schalen und reicht von 1 bis zu der Anzahl von Schalen; „1“ entspricht also beispielsweise der ersten Schale. Der Term λs bezeichnet eine Vorhersage der Parameter für eine gegebene Schale s, während der Term σs eine Standardabweichung bezeichnet, die misst, wie gleichmäßig oder ungleichmäßig und verrauscht die Modifikationsparameter über die Modifikationsmemorys, die in der gegebenen Schale beinhaltet sind, auftreten.
  • Allgemein gibt das Maß für die Nähe closenesss(I) eine Wahrscheinlichkeit dafür an, dass das Bild / (beispielsweise dessen Darstellung) nahe an einem der Bilder (beispielsweise deren Darstellungen), die in der gegebenen Schale s beinhaltet sind, ist. Dies ist das logische Kompliment der Wahrscheinlichkeit dafür, dass die Eingabebilddarstellung 510 nicht nahe an irgendeinem Bild in der Schale ist. Bei einer oder mehreren Implementierungen berechnet das Parameterbestimmungsmodul 506 die Nähe des Bildes / zu den Bildern, die in der gegebenen Schale s beinhaltet sind, folgendermaßen: closeness s ( I ) = 1 s ' in shell  s [ 1 similarity ( I , I s ' ) ]
    Figure DE102020002302A1_0019
  • Man beachte, dass bei verschiedenen Szenarien das Parameterbestimmungsmodul 506 dasjenige, dass das Bild / (beispielsweise das Eingabebild 502) nahe an mehreren Bildern in einer gegebenen Schale s ist, auf Grundlage des Maßes für die Nähe bestimmen kann. Dieses Maß allein kann jedoch nicht mit Szenarien umgehen, bei denen die Parameter der mehreren Bilder in der gegebenen Schale verrauscht, das heißt außerhalb einer oder mehrerer Standardabweichungen, sind. Bei derartigen Szenarien ist kein klarer Trend zu einem Stil vorhanden. Entsprechend ist das Parameterbestimmungsmodul 506 dafür konfiguriert, derart verrauschte Parameter unberücksichtigt zu lassen.
  • Insbesondere ist das Parameterbestimmungsmodul 506 dafür konfiguriert, verrauschte Modifikationsparameter einer gegebenen Schale s unberücksichtigt zu lassen, indem es das Signifikanzmaß significance(λs, σs) bestimmt. Bei einer oder mehreren Implementierungen bestimmt das Parameterbestimmungsmodul 506 das Signifikanzmaß durch Bestimmen von Mittelwerten der Modifikationsparameter über die Modifikationsmemorys in der gegebenen Schale s und von Standardabweichungen jener Werte. Das Parameterbestimmungsmodul 506 bestimmt das Signifikanzmaß parameterweise beispielsweise derart, dass ein Mittelwert für einen Belichtungsparameter über die Modifikationsmemorys in der gegebenen Schale s bestimmt wird und zudem eine Standardabweichung des Belichtungsparameters bestimmt wird. Zu diesem Zweck gibt das Signifikanzmaß an, wie signifikant der Parameter relativ zum „Rauschen“ in dem Parameter entsprechend der Messung durch dessen Standardabweichung oder Varianz ist; je kleiner die Varianz in einem Parameter über die Modifikationsmemorys einer gegebenen Schale ist, desto signifikanter ist der Parameter. Bei einer oder mehreren Implementierungen bestimmt das Parameterbestimmungsmodul 506 ein Signifikanzmaß eines einzelnen Parameters folgendermaßen: significance ( mean , noise ) = 1 e 0,693 | mean | / noise
    Figure DE102020002302A1_0020
  • Hierbei verringert sich diese Funktion auf das Eins-Element bzw. Einheitselement, wenn das Mittel (mean) des einzelnen Parameters viel größer als das Rauschen (noise) ist, nähert sich 0, wenn das Rauschen die Werte der Parameter über die Schale dominiert, und weist einen Wert von etwa 0,5 auf, wenn das Mittel und das Rauschen gleiche Beträge aufweisen.
  • Wie vorstehend erwähnt worden ist, ist das Parameterbestimmungsmodul 506 zudem dafür konfiguriert, einen Satz von Modifikationsparametern für jede einzelne Schale zu berechnen, also beispielsweise einen ersten Satz von Modifikationsparametern für die erste Schale, einen zweiten Satz von Modifikationsparametern für die zweite Schale und so weiter. Bei einem Beispiel berechnet das Parameterbestimmungsmodul 506 den Satz von Modifikationsparametern für eine gegebene Schale folgendermaßen: λ shell ( I ) = Σ a in shell similarity ( I , I a ) 2.2 λ a Σ a similarity ( I , I a ) 2,2
    Figure DE102020002302A1_0021
  • Hierbei bezeichnet der Term α einen Index der Bilder, die in der gegebenen Schale s beinhaltet sind, wobei α nur diejenigen Bilder indiziert, die in der betrachteten Schale s beinhaltet sind. Allgemein entsprechen diese Modifikationsparameter, die für jede Schale berechnet werden, Durchschnitten aller Modifikationsparameter der Modifikationsmemorys in der gegebenen Schale s entsprechend der Gewichtung durch einen Exponenten bzw. eine Potenz der Ähnlichkeitsmaße zwischen dem Bild / (beispielsweise dessen Darstellung) und den Bildern (beispielsweise deren jeweiligen Darstellungen) der Modifikationsmemorys in der gegebenen Schale s.
  • Sobald das Parameterbestimmungsmodul 506 die bestimmten Parameter 514 bestimmt, generiert das Parameteranwendungsmodul 508 ein stilistisch bearbeitetes Bild 516, indem es die bestimmten Parameter 514 auf das Eingabebild 502 anwendet. Mit anderen Worten, das Parameteranwendungsmodul 508 modifiziert das Eingabebild 502 entsprechend den bestimmten Parametern 514, um das stilistisch bearbeitete Bild 516 zu erzeugen. Das stilistisch bearbeitete Bild 516 kann sodann in einem Speicher gespeichert, kommuniziert und angezeigt werden. Das stilistisch bearbeitete Bild 516 kann zudem auf vielerlei Weisen beispielsweise unter Nutzung von Werkzeugen der Contentbearbeitungsanwendung 104, weiter modifiziert werden.
  • 6 zeigt ein Beispiel 600 einer Implementierung, bei der ein Eingabebild im Zusammenhang mit Bildern, die in verallgemeinerten Stildaten eines Stils beinhaltet sind, analysiert wird.
  • Insbesondere ist das dargestellte Beispiel 600 eine Visualisierung des vorbeschriebenen schalenbasierten Ansatzes. Das Beispiel 600 beinhaltet ein Eingabebild 602 und Bilder 604 eines Stils. Das Eingabebild 602 ist in der Mitte einer ersten Schale 606, einer zweiten Schale 608 und einer dritten Schale 610 positioniert. Die Bilder 604 eines Stils sind über diese Schalen und in einigen Fällen auch außerhalb derselben verteilt, wobei die Verteilung auf der berechneten Nähe und Signifikanz der Bilder 604 des Stils zu dem Eingabebild 602 beruht. Die abgebildeten Pfeile stellen die Vektoren dar, die die Modifikationsparameter, die den Bildern 604 des Stils zugeordnet sind, erfassen. Wie vorstehend erwähnt worden ist, können die beschriebenen Systeme verschiedene Anzahlen von Schalen nutzen, ohne vom Wesen oder Umfang der beschriebenen Techniken abzugehen.
  • Nach erfolgter Beschreibung exemplarischer Details von Techniken für Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden, werden nunmehr einige exemplarische Prozeduren betrachtet, um zusätzliche Aspekte der Techniken zu erläutern.
  • Exemplarische Prozeduren
  • Dieser Abschnitt beschreibt exemplarische Prozeduren für Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern in einer oder mehreren Implementierungen gelernt werden. Aspekte der Prozeduren können in Hardware, Firmware oder Software oder auch einer Kombination hieraus implementiert sein. Die Prozeduren sind als Satz von Blöcken gezeigt, die Operationen spezifizieren, die von einer oder mehreren Vorrichtungen durchgeführt werden und die nicht unbedingt auf diejenigen Reihenfolgen beschränkt sind, die zum Durchführen der Operationen durch die jeweiligen Blöcke gezeigt sind. Bei wenigstens einigen Implementierungen werden die Prozeduren von einer geeignet konfigurierte Vorrichtung durchgeführt, so beispielsweise von der Rechenvorrichtung 102 von 1 oder den Systemen 200 von 2 oder 500 von 5, die das für einen gelernten Stil gedachte System 118 einsetzen können.
  • 7 zeigt eine exemplarische Prozedur 700, bei der Stildaten aus einem oder mehreren modifizierten Bildern generiert werden.
  • Es werden ein oder mehrere modifizierte Bilder bezogen, die als Grundlage für einen Modifikationsstil dienen (Block 702). Entsprechend den hier beschriebenen Prinzipien beinhaltet jedes der modifizierten Bilder Bildcontent, der eine Szene vor der Modifikation abbildet, und beinhaltet zudem Modifikationsparameter, die die Modifikation an dem Bildcontent zur Erzeugung des modifizierten Bildes beschreiben. Beispielshalber bezieht das für einen gelernten Stil gedachte System 118 das modifizierte Bild 202. Das für einen gelernten Stil gedachte System 118 bezieht das modifizierte Bild 202 beispielsweise in Reaktion auf dessen Auswahl durch den Nutzer 404 über die Nutzerschnittstelle 402.
  • Es werden Bilddarstellungen des Bildcontents des einen oder der mehreren modifizierten Bilder generiert (Block 704). Entsprechend den hier erläuterten Prinzipien umfasst eine Bilddarstellung reduzierte Information zur Darstellung des Bildcontents anstelle einer Pixel-für-Pixel-Gesamtheit des Bildcontents. Beispielshalber generiert das Darstellungsmodul 212 die Bilddarstellung 216 des Bildcontents 204 des modifizierten Bildes 202. Die Bilddarstellung 216 ist als reduzierte Darstellung des Bildcontents 204 konfiguriert, wie vorstehend detaillierter beschrieben worden ist, so beispielsweise als Vektoren zur Darstellung einer Luminanz-/Chrominanz-Verteilung des Bildcontents 204 und als Merkmalsvektor, der aus dem Bildcontent 204 generiert wird. Bei Szenarien, in denen mehrere Bilder bezogen werden, generiert das Darstellungsmodul 212 mehrere Bilddarstellungen, und zwar eine derartige Darstellung für jedes der bezogenen Bilder.
  • Es wird ein Modifikationsmemory für jedes von dem einen oder den mehreren modifizierten Bildern generiert (Block 706). Entsprechend den hier erläuterten Prinzipien beinhaltet der Modifikationsmemory, der für ein gegebenes modifiziertes Bild generiert wird, eine jeweilige Bilddarstellung, die aus dem Bildcontent des modifizierten Bildes generiert wird, und beinhaltet zudem jeweilige Modifikationsparameter, die aus dem modifizierten Bild extrahiert werden. Beispielshalber generiert das Stilgenerierungsmodul 214 den Modifikationsmemory 210 für das modifizierte Bild 202, wobei der Modifikationsmemory 210 die Bilddarstellung 216 und die Modifikationsparameter 206, die aus dem modifizierten Bild 202 extrahiert worden sind, beinhaltet. In Szenarien, bei denen mehrere Bilder bezogen werden, generiert das Stilgenerierungsmodul 214 Modifikationsmemorys, und zwar einen derartigen Modifikationsmemory für jedes der bezogenen Bilder.
  • Es werden Stildaten generiert, die die generierten Modifikationsmemorys beinhalten (Block 708). Beispielshalber generiert das Stilgenerierungsmodul 214 die bestimmten Stildaten 208 derart, dass die Modifikationsmemorys, die bei Block 706 generiert worden sind, also beispielsweise der Modifikationsmemory 210 bei dem dargestellten Beispiel 200, beinhaltet sind. Die Stildaten werden in dem Speicher vorgehalten, um den Modifikationsstil auf ein nachfolgendes Bild anzuwenden (Block 710). Beispielshalber hält die Rechenvorrichtung 110 die bestimmten Stildaten 208 als Teil der Stildaten 120 vor. Alternativ oder zusätzlich können die bestimmten Stildaten 208 über das Netzwerk 110 auf einer anderen Vorrichtung, so beispielsweise auf einer Rechenvorrichtung eines Dienstanbieters, vorgehalten werden.
  • 8 zeigt eine exemplarische Prozedur 800, bei der ein Eingabebild mit einem Stil modifiziert wird, der aus einem oder mehreren modifizierten Bildern, die als Grundlage für den Stil dienen, gelernt worden ist.
  • Es wird ein Eingabebild bezogen (Block 802). Beispielshalber empfängt das für einen gelernten Stil gedachte System 118 eine Auswahl des Eingabebildes 502 und bezieht das Eingabebild 502 beispielsweise aus einem Speicher, der lokal auf dem für einen gelernten Stil gedachten System 118 ist, oder auch aus einem Remote-Speicher.
  • Es wird eine Auswahl eines Modifikationsstils empfangen, um den Modifikationsstil auf das Eingabebild anzuwenden (Block 804). Entsprechend den hier erläuterten Prinzipien entspricht der Modifikationsstil Stildaten, die eine oder mehrere Modifikationsmemorys modifizierter Bilder beinhalten, die ausgewählt worden sind, um als Grundlage für den Modifikationsstil zu dienen. Beispielshalber empfängt das für einen gelernten Stil gedachte System 118 eine Auswahl eines Stils, der den Mehrbildstildaten 310 entspricht, über eine Nutzerschnittstelle der Contentbearbeitungsanwendung 104.
  • Es wird eine Darstellung des Eingabebildes generiert (Block 806). Entsprechend den hier erläuterten Prinzipien umfasst die Darstellung reduzierte Information, die den abgebildeten Content des Eingabebildes anstelle einer Pixel-für-Pixel-Gesamtheit des abgebildeten Contents des Eingabebildes darstellt. Beispielshalber generiert das Darstellungsmodul 212 die Eingabebilddarstellung 510 des abgebildeten Contents des Eingabebildes 502. Die Eingabebilddarstellung 510 ist als reduzierte Darstellung des abgebildeten Contents des Eingabebildes 502 konfiguriert, wie vorstehend detaillierter beschrieben worden ist, und zwar beispielsweise als Vektoren zur Darstellung der Luminanz-/Chrominanz-Verteilung des abgebildeten Contents des Eingabebildes 502 und als Merkmalsvektor, der aus dem abgebildeten Content des Eingabebildes 502 generiert wird.
  • Es wird ein Maß der Ähnlichkeit zwischen der Darstellung des Eingabebildes und Bilddarstellungen, die in dem einen oder den mehreren Modifikationsmemorys beinhaltet sind, bestimmt (Block 808). Beispielshalber bestimmt das Darstellungsvergleichsmodul 504 die Stilbildähnlichkeiten 512, die im Zusammenhang mit dem dargestellten Beispiel 500 ein Maß der Ähnlichkeit zwischen dem Eingabebild 502 und jeder Bilddarstellung der Mehrbildstildaten 310 beinhalten, so beispielsweise der ersten Bilddarstellung 316, der N-ten Bilddarstellung 320 und Darstellungen beliebiger anderer Modifikationsmemorys der Mehrbildstildaten 310.
  • Es werden Parameter zur Anwendung des Modifikationsstils auf das Eingabebild teilweise auf Grundlage bestimmter Maße der Ähnlichkeit und von Modifikationsparametern, die in dem einen oder den mehreren Modifikationsmemorys beinhaltet sind, bestimmt (Block 810). Beispielshalber bestimmt das Parameterbestimmungsmodul 506 die bestimmten Parameter 514 teilweise auf Grundlage der Stilbildähnlichkeiten 512 und im Zusammenhang mit dem dargestellten Beispiel 500 auch auf Grundlage der Modifikationsparameter, die in den Modifikationsmemorys der Mehrbildstildaten 310 erfasst werden, also beispielsweise die ersten Modifikationsparameter 318, die N-ten Modifikationsparameter 322 und Parameter beliebiger anderer Modifikationsmemorys der Mehrbildstildaten 310.
  • Es wird das Eingabebild entsprechend den bestimmten Parametern zur Erzeugung eines stilistisch bearbeiteten Bildes, das den Modifikationsstil aufweist, modifiziert (Block 812). Beispielshalber modifiziert das Parameteranwendungsmodul 508 das Eingabebild 502 entsprechend den bestimmten Parametern 514 zur Erzeugung des stilistisch bearbeiteten Bildes 516.
  • Nach erfolgter Beschreibung exemplarischer Prozeduren entsprechend einer oder mehreren Implementierungen werden nunmehr ein exemplarisches System und eine exemplarische Vorrichtung betrachtet, die zum Implementieren der verschiedenen hier beschriebenen Techniken eingesetzt werden können.
  • Exemplarisches System und exemplarische Vorrichtung
  • 9 zeigt bei 900 allgemein ein exemplarisches System, das eine exemplarische Rechenvorrichtung 902 beinhaltet, die ein oder mehrere Rechensysteme und/oder eine oder mehrere Vorrichtungen darstellt, die die hier beschriebenen verschiedenen Techniken implementieren können. Dies ist durch Einbeziehung des für einen gelernten Stil gedachten Systems 118 dargestellt. Die Rechenvorrichtung 902 kann beispielsweise ein Server eines Dienstanbieters, eine Vorrichtung, die einem Client zugeordnet ist (beispielsweise eine Clientvorrichtung), ein On-Chip-System und/oder eine beliebige andere geeignete Rechenvorrichtung oder ein solches Rechensystem sein.
  • Die exemplarische Rechenvorrichtung 902 beinhaltet, wie dargestellt ist, ein Verarbeitungssystem 904, ein oder mehrere computerlesbare Medien 906 und eine oder mehrere I/O-Schnittstellen 908, die kommunikationstechnisch miteinander gekoppelt sind. Obwohl dies nicht gezeigt ist, kann die Rechenvorrichtung 902 des Weiteren einen Systembus oder ein anderes Daten- und Befehlsübertragungssystem beinhalten, das die verschiedenen Komponenten miteinander koppelt. Ein Systembus kann eine beliebige Busstruktur oder eine Kombination aus verschiedenen Busstrukturen beinhalten, so beispielsweise einen Speicher- bzw. Memorybus oder einen Speicher- bzw. Memorycontroller, einen Peripheriebus, einen universellen seriellen Bus und/oder einen Prozessor- oder Lokalbus, der eine Vielzahl von Busarchitekturen einsetzt. Eine Vielzahl von weiteren Beispielen, so beispielsweise Steuer- bzw. Regel- und Datenleitungen, ist ebenfalls einbezogen.
  • Das Verarbeitungssystem 904 stellt eine Funktionalität zur Durchführung eines oder mehrerer Vorgänge unter Nutzung von Hardware dar. Entsprechend ist das Verarbeitungssystem 904 derart dargestellt, dass es Hardwareelemente 910 beinhaltet, die als Prozessoren, funktionelle Blöcke und dergleichen mehr konfiguriert sein können. Dies kann eine Implementierung in Hardware als anwendungsspezifische integrierte Schaltung oder als andere Logikvorrichtung, die unter Nutzung eines oder mehrerer Halbleiter gebildet ist, beinhalten. Die Hardwareelemente 910 sind nicht durch die Materialien, aus denen sie gebildet sind, oder durch die Verarbeitungsmechanismen, die zum Einsatz kommen, beschränkt. Die Prozessoren können beispielsweise aus einem Halbleiter / Halbleitern und/oder Transistoren (beispielsweise elektronischen integrierten Schaltungen (ICs)) bestehen. In diesem Zusammenhang können prozessorseitig ausführbare Anweisungen elektronisch ausführbare Anweisungen sein.
  • Die computerlesbaren Speichermedien 906 sind derart dargestellt, dass sie einen Memory/Speicher 912 beinhalten. Der Memory/Speicher 912 bietet eine Memory-/Speicherkapazität, die einem oder mehreren computerlesbaren Medien zugeordnet ist. Die Memory-/Speicherkomponente 912 kann flüchtige Medien (so beispielsweise einen Speicher mit wahlfreiem Zugriff (RAM)) und/oder nichtflüchtige Medien (so beispielsweise einen Nur-Lese-Speicher (ROM), einen Flash-Speicher, optische Platten, magnetische Platten und dergleichen mehr) beinhalten. Die Memory-/Speicherkomponente 912 kann feste Medien (beispielsweise RAM, ROM, ein Festplattenlaufwerk und dergleichen mehr) wie auch entfernbare Medien (beispielsweise einen Flash-Speicher, ein entfernbares Festplattenlaufwerk, eine optische Platte und dergleichen mehr) beinhalten. Die computerlesbaren Medien 906 können auf vielerlei Arten, wie nachstehend noch beschrieben wird, konfiguriert sein.
  • Eine Eingabe-/Ausgabe-Schnittstelle / Eingabe-/Ausgabe-Schnittstellen 908 bietet/bieten eine Funktionalität, die ermöglicht, dass ein Nutzer Befehle und Information in die Rechenvorrichtung 902 eingibt, und die zudem ermöglicht, dass dem Nutzer und/oder anderen Komponenten oder Vorrichtungen Information unter Nutzung verschiedener Eingabe-/Ausgabevorrichtungen präsentiert wird. Beispiele für Eingabevorrichtungen beinhalten eine Tastatur, eine Cursorsteuer- bzw. Regelvorrichtung (beispielsweise eine Maus), ein Mikrofon, einen Scanner, eine Berührungsfunktionalität (beispielsweise kapazitive oder andere Sensoren, die dafür konfiguriert sind, eine physische Berührung zu detektieren), eine Kamera (die beispielsweise sichtbare oder unsichtbare Wellenlängen, so beispielsweise Infrarotfrequenzen, dafür einsetzen kann, Bewegungen als Gesten, die keine Berührung implizieren, zu erkennen), und dergleichen mehr. Beispiele für Ausgabevorrichtungen beinhalten eine Anzeigevorrichtung (beispielsweise einen Monitor oder Projektor), Lautsprecher, einen Drucker, eine Netzwerkkarte, eine taktil-reaktive Vorrichtung und dergleichen mehr. Daher kann die Rechenvorrichtung 902 auf vielerlei Arten, wie nachstehend noch beschrieben wird, konfiguriert sein, um die Nutzerinteraktion zu unterstützen.
  • Verschiedene Techniken können hier im allgemeinen Kontext von Software, Hardwareelementen oder Programmmodulen beschrieben werden. Allgemein beinhalten derartige Module Routinen, Programme, Objekte, Elemente, Komponenten, Datenstrukturen und dergleichen mehr, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Die Begriffe „Modul“, „Funktionalität“ und „Komponente“ bezeichnen im Sinne des Vorliegenden allgemein Software, Firmware, Hardware oder eine Kombination hieraus. Die Merkmale der hier beschriebenen Techniken sind plattformunabhängig, was bedeutet, dass die Techniken auf einer Vielzahl von handelsüblichen Rechenplattformen mit einer Vielzahl von Prozessoren implementiert sein können.
  • Eine Implementierung der beschriebenen Module und Techniken kann auf einer bestimmten Form von computerlesbaren Medien gespeichert sein oder über diese übertragen werden. Die computerlesbaren Medien können eine Vielzahl von Medien beinhalten, auf die von der Rechenvorrichtung 902 zugegriffen werden kann. Beispiels- und nicht beschränkungshalber können computerlesbare Medien „computerlesbare Speichermedien“ und „computerlesbare Signalmedien“ beinhalten.
  • „Computerlesbare Speichermedien“ können Medien und/oder Vorrichtungen bezeichnen, die eine dauerhafte und/oder nichttemporäre Speicherung von Information im Gegensatz zur bloßen Signalübertragung, zu Trägerwellen oder zu Signalen per se ermöglichen. Computerlesbare Speichermedien bezeichnen daher nichtsignaltragende Medien. Computerlesbare Speichermedien beinhalten Hardware, so beispielsweise flüchtige und nichtflüchtige, entfernbare und nichtentfernbare Medien und/oder Speichervorrichtungen, die in einem Verfahren oder einer Technologie implementiert sind, die zur Speicherung von Information geeignet ist, so beispielsweise als computerlesbare Anweisungen, Datenstrukturen, Programmmodule, Logikelemente/Schaltungen oder andere Daten. Beinhalten können Beispiele für computerlesbare Speichermedien unter anderem RAM, ROM, EEPROM, Flash-Speicher oder eine andere Speichertechnologie, CD-ROM, DVD oder einen anderen optischen Speicher, Festplatten, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder eine andere Speichervorrichtung, physische Medien oder Elemente, die dafür geeignet sind, dass gewünschte Information gespeichert wird, und auf die ein Computer zugreifen kann.
  • „Computerlesbare Signalmedien“ können signaltragende Medien bezeichnen, die dafür konfiguriert sind, Anweisungen an die Hardware der Rechenvorrichtung 902 beispielsweise über ein Netzwerk zu übermitteln. Signalmedien können typischerweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal verkörpern, so beispielsweise Trägerwellen, Datensignale oder einen anderen Transportmechanismus. Signalmedien beinhalten zudem beliebige Informationsverteilungsmedien. Der Begriff „moduliertes Datensignal“ bezeichnet ein Signal, bei dem eine oder mehrere Eigenschaften derart eingestellt oder verändert sind, dass Information in dem Signal codiert ist. Beispiels- und nicht beschränkungshalber beinhalten Kommunikationsmedien drahtgebundene Medien, so beispielsweise ein drahtgebundenes Netzwerk oder eine direkt verdrahtete Verbindung, und drahtlose Medien, so beispielsweise akustische, hochfrequenzbasierte, infrarote und andere drahtlose Medien.
  • Wie vorstehend beschrieben worden ist, stellen die Hardwareelemente 910 und die computerlesbaren Medien 906 Module, eine programmierbare Vorrichtungslogik und/oder eine feste Vorrichtungslogik dar, die in Form von Hardware implementiert sind, die bei einigen Ausführungsformen dafür eingesetzt werden kann, wenigstens einige Aspekte der hier beschriebenen Techniken beispielsweise zur Durchführung einer oder mehrerer Anweisungen zu implementieren. Die Hardware kann Komponenten einer integrierten Schaltung oder eines On-Chip-Systems, eine anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FPGA), eine komplexe programmierbare Logikvorrichtung (CPLD) und andere Implementierungen in Silizium oder anderer Hardware beinhalten. In diesem Zusammenhang kann Hardware als Verarbeitungsvorrichtung wirken, die Programmaufgaben wahrnimmt, die durch Anweisungen und/oder eine Logik definiert sind, die durch die Hardware verkörpert sind, wie auch Hardware, die zur Speicherung von Anweisungen zur Ausführung benutzt wird, so beispielsweise durch die vorbeschriebenen computerlesbaren Speichermedien.
  • Kombinationen des Vorbeschriebenen können zudem zur Implementierung verschiedener hier beschriebener Techniken eingesetzt werden. Entsprechend können Software, Hardware oder ausführbare Module als eine oder mehrere Anweisungen und/oder Logik implementiert sein, die in irgendeiner Form von computerlesbaren Speichermedien und/oder durch ein oder mehrere Hardwareelemente 910 verkörpert sind. Die Rechenvorrichtung 902 kann dafür konfiguriert sein, bestimmte Anweisungen und/oder Funktionen entsprechend Software- und/oder Hardwaremodulen zu implementieren. Entsprechend kann eine als Software gegebene Implementierung eines Moduls, das von der Rechenvorrichtung 902 ausführbar ist, auch wenigstens teilweise in Hardware erreicht werden, so beispielsweise unter Nutzung computerlesbarer Speichermedien und/oder Hardwareelemente 910 des Verarbeitungssystems 904. Die Anweisungen und/oder Funktionen können von einem oder mehreren Elementen (beispielsweise einer oder mehreren Rechenvorrichtungen 902 und/oder einem oder mehreren Verarbeitungssystemen 904) ausführbar/betreibbar sein, um die hier beschriebenen Techniken, Module und Beispiele zu implementieren.
  • Die hier beschriebenen Techniken können von verschiedenen Konfigurationen der Rechenvorrichtung 902 unterstützt werden und sind nicht auf die spezifischen Beispiele für die hier beschriebenen Techniken beschränkt. Diese Funktionalität kann zudem gänzlich oder in Teilen unter Nutzung eines verteilten Systems implementiert sein, so beispielsweise über eine „Cloud“ 914 mittels einer Plattform 916, wie nachstehend noch beschrieben wird.
  • Die Cloud 914 beinhaltet eine Plattform 916 für Ressourcen 918 und/oder stellt diese dar. Die Plattform 916 abstrahiert die zugrunde liegende Funktionalität der Hardware- (beispielsweise Server) und Softwareressourcen der Cloud 914. Die Ressourcen 918 können Anwendungen bzw. Apps und/oder Daten beinhalten, die eingesetzt werden können, während eine Computerverarbeitung auf Servern ausgeführt wird, die von der Rechenvorrichtung 902 entfernt sind. Die Ressourcen 918 können zudem Dienste beinhalten, die über das Internet und/oder über ein Teilnehmernetzwerk, so beispielsweise ein zellenbasiertes oder ein Wi-Fi-Netzwerk, bereitgestellt werden.
  • Die Plattform 916 kann Ressourcen und Funktionen abstrahieren, um die Rechenvorrichtung 902 mit anderen Rechenvorrichtungen zu verbinden. Die Plattform 916 kann zudem dazu dienen, die Skalierung von Ressourcen zu abstrahieren, um einen entsprechenden Skalierungsgrad für bestehenden Bedarf an den Ressourcen 918, die über die Plattform 916 implementiert sind, bereitzustellen. Entsprechend kann bei einer Ausführungsform mit wechselseitig verbundenen Vorrichtungen eine Implementierung der hier beschriebenen Funktionalität über das System 900 verteilt sein. Die Funktionalität kann teilweise beispielsweise auch auf der Rechenvorrichtung 902 wie auch über die Plattform 916, die die Funktionalität der Cloud 914 abstrahiert, implementiert sein.
  • Schlussbemerkung
  • Obwohl der Erfindungsgegenstand in einer Sprache beschrieben worden ist, die für strukturelle Merkmale und/oder methodische Vorgänge spezifisch ist, sollte einsichtig sein, dass die in den beigefügten Ansprüchen definierte Erfindung nicht unbedingt auf die beschriebenen spezifischen Merkmale oder Vorgänge beschränkt ist. Vielmehr sind die spezifischen Merkmale und Vorgänge als exemplarische Formen der Implementierung des beanspruchten Erfindungsgegenstandes offenbart.

Claims (20)

  1. Verfahren, das von wenigstens einer Rechenvorrichtung implementiert wird, zum Anwenden von Modifikationsstilen modifizierter Bilder auf andere Bilder in einer Digitalmedienumgebung, wobei das Verfahren umfasst: durch die wenigstens eine Rechenvorrichtung erfolgendes Beziehen eines oder mehrerer modifizierter Bilder, die als Grundlage für einen Modifikationsstil dienen, wobei jedes der modifizierten Bilder Bildcontent und Modifikationsparameter beinhaltet, die eine Modifikation an dem Bildcontent zum Erzeugen des modifizierten Bildes beschreiben; durch die wenigstens eine Rechenvorrichtung erfolgendes Generieren von Bilddarstellungen des Bildcontents, wobei eine Bilddarstellung als reduzierte Information generiert ist, die den Bildcontent anstelle einer Pixel-für-Pixel-Gesamtheit des Bildcontents darstellt; durch die wenigstens eine Rechenvorrichtung erfolgendes Generieren von Modifikationsmemorys der modifizierten Bilder, wobei ein Modifikationsmemory die Bilddarstellung und die Modifikationsparameter eines jeweiligen modifizierten Bildes beinhaltet; und durch die wenigstens eine Rechenvorrichtung erfolgendes Generieren von Stildaten, die die generierten Modifikationsmemorys beinhalten, wobei die Stildaten zum Anwenden des Modifikationsstils auf ein nachfolgendes Bild benutzt werden.
  2. Verfahren nach Anspruch 1, wobei die generierten Modifikationsmemorys Vektoren sind und die Stildaten als Darstellung der generierten Modifikationsmemorys mit Konfigurierung zur Speicherung in einer Dateistruktur generiert werden.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Modifikationsparameter wenigstens eine Modifikation an einer visuellen Kenngröße des Bildcontents beschreiben.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Modifikationsparameter wenigstens eine Modifikation an Werten von Parametern beschreiben, die visuelle Kenngrößen des Bildcontents angeben, wobei die Parameter wenigstens eines von Belichtung, Kontrast, Lichter bzw. Hervorhebungen, Schatten bzw. Schattierungen, Weißpunkt bzw. Weißungen, Schwarzpunkt bzw. Schwärzungen, Vibranz, Kontrast, Klarheit, Helligkeit oder Sättigung beinhalten.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Bilddarstellung wenigstens zwei Komponenten, die den Bildcontent darstellen, beinhaltet, wobei die Komponenten beinhalten: einen Merkmalsvektor, der Abmessungen bzw. Dimensionen nummerischer Merkmale aufweist, die semantische Kenngrößen einer Szene, die in dem Bildcontent abgebildet ist, darstellen; und eine Verteilung von Tonalwerten über den Bildcontent.
  6. Verfahren nach Anspruch 5, wobei die Verteilung von Tonalwerten eine Verteilung von Luminanz- und Chrominanzkomponenten des Bildcontents erfasst.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Bildcontent eine Szene vor der Modifikation an dem Bildcontent zum Erzeugen des modifizierten Bildes abbildet.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei die modifizierten Bilder entsprechend einem Rohbildformat formatiert sind.
  9. Verfahren nach einem der vorhergehenden Ansprüche, des Weiteren umfassend: Anwenden des Modifikationsstils auf das nachfolgende Bild durch Vergleichen der Bilddarstellungen der generierten Modifikationsmemorys mit einer zusätzlichen Bilddarstellung des nachfolgenden Bildes.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein modifiziertes Bild bezogen wird, ein Modifikationsmemory hinsichtlich des einen modifizierten Bildes generiert wird und die Stildaten nur den einen Modifikationsmemory beinhalten.
  11. Verfahren nach einem der vorhergehenden Ansprüche, des Weiteren umfassend: Vorhalten der Stildaten in einem Speicher; und in Reaktion auf das Empfangen einer Nutzerauswahl zum Anwenden des Modifikationsstils auf das nachfolgende Bild zu einer nachfolgenden Zeit erfolgendes Abrufen der Stildaten aus dem Speicher und Anwenden des Modifikationsstils auf das nachfolgende Bild zu der nachfolgenden Zeit.
  12. System, umfassend: ein Darstellungsmodul, das wenigstens teilweise in Hardware wenigstens einer Rechenvorrichtung implementiert ist, zum Generieren einer Darstellung des abgebildeten Contents eines Bildes als reduzierte Information, die den abgebildeten Content anstelle einer Pixel-für-Pixel-Gesamtheit des abgebildeten Contents darstellt; ein Stilgenerierungsmodul, das wenigstens teilweise in der Hardware der wenigstens einen Rechenvorrichtung implementiert ist, zum Generieren von Stildaten für modifizierte Bilder, die als Grundlage für einen Modifikationsstil dienen, wobei die Stildaten Bilddarstellungen der modifizierten Bilder und Modifikationsparameter beinhalten, die Modifikationen an dem abgebildeten Content zum Erzeugen der modifizierten Bilder beschreiben; ein Darstellungsvergleichsmodul, das wenigstens teilweise in der Hardware der wenigstens einen Rechenvorrichtung implementiert ist, zum Vergleichen einer Darstellung eines Eingabebildes mit Darstellungen der modifizierten Bilder; und ein Parameteranwendungsmodul, das wenigstens teilweise in der Hardware der wenigstens einen Rechenvorrichtung implementiert ist, zum Anwenden des Modifikationsstils an dem Eingabebild durch Modifizieren des Eingabebildes unter Nutzung einer gewichteten Kombination der Modifikationsparameter auf Grundlage des Vergleiches.
  13. System nach Anspruch 12, wobei das Parameteranwendungsmodul des Weiteren konfiguriert ist zum: Erzeugen eines stilistisch bearbeiteten Bildes durch Anwenden des Modifikationsstils auf das Eingabebild.
  14. System nach Anspruch 12 oder 13, wobei das Darstellungsvergleichsmodul des Weiteren konfiguriert ist zum: Bestimmen eines Maßes der Ähnlichkeit zwischen der Darstellung des Eingabebildes und jeder der Darstellungen der modifizierten Bilder auf Grundlage des Vergleiches.
  15. System nach Anspruch 14, des Weiteren umfassend: ein Parameterbestimmungsmodul zum Bestimmen der gewichteten Kombination von Modifikationsparametern teilweise auf Grundlage von Maßen der Ähnlichkeit zwischen der Darstellung des Eingabebildes und den Darstellungen der modifizierten Bilder.
  16. System nach Anspruch 15, wobei das Parameterbestimmungsmodul des Weiteren konfiguriert ist zum: Bestimmen dessen, wie viel die Modifikationsparameter, die bestimmten modifizierten Bildern entsprechen, zu der gewichteten Kombination von Modifikationsparametern beitragen, durch: Anordnen der modifizierten Bilder in Bezug auf mehrere Schalen; Bestimmen einer Nähe der modifizierten Bilder innerhalb einer jeden der Schalen zu dem Eingabebild auf Grundlage der Maße der Ähnlichkeit; Bestimmen einer Signifikanz der modifizierten Bilder innerhalb einer jeden der Schalen auf Grundlage von Durchschnitten und Standardabweichungen jeweiliger Modifikationsparameter; und Bestimmen von Gewichtungen für die Modifikationsparameter eines bestimmten modifizierten Bildes als Funktion der Nähe und der Signifikanz.
  17. Verfahren, das von wenigstens einer Rechenvorrichtung implementiert wird, zum Anwenden von Modifikationsstilen modifizierter Bilder auf andere Bilder in einer Digitalmedienumgebung, wobei das Verfahren umfasst: durch die wenigstens eine Rechenvorrichtung erfolgendes Empfangen einer ersten Auswahl eines Eingabebildes und einer zweiten Auswahl eines Modifikationsstils zum Anwenden auf das Eingabebild, wobei der Modifikationsstil Stildaten entspricht, die einen oder mehrere Modifikationsmemorys modifizierter Bilder, die als Grundlage für den Modifikationsstil dienen, beinhalten; durch die wenigstens eine Rechenvorrichtung erfolgendes Generieren einer Darstellung des Eingabebildes, die reduzierte Information umfasst, die den abgebildeten Content des Eingabebildes anstelle einer Pixel-für-Pixel-Gesamtheit des abgebildeten Contents des Eingabebildes darstellt; durch die wenigstens eine Rechenvorrichtung erfolgendes Bestimmen von Maßen der Ähnlichkeit zwischen der Darstellung des Eingabebildes und Darstellungen der modifizierten Bilder, die in dem einen oder den mehreren Modifikationsmemorys beinhaltet sind; durch die wenigstens eine Rechenvorrichtung erfolgendes Bestimmen von Parametern zum Anwenden des Modifikationsstils auf das Eingabebild teilweise auf Grundlage der Maße der Ähnlichkeit und von Modifikationsparametern, die in dem einen oder den mehreren Modifikationsmemorys beinhaltet sind; und durch die wenigstens eine Rechenvorrichtung erfolgendes Erzeugen eines stilistisch bearbeiteten Bildes, das den Modifikationsstil aufweist, durch Modifizieren des Eingabebildes entsprechend den bestimmten Parametern.
  18. Verfahren nach Anspruch 17, wobei: die Parameter verschiedene visuelle Kenngrößen des abgebildeten Contents des Eingabebildes darstellen; und die Modifikationsparameter wenigstens eine Modifikation an einer visuellen Kenngröße eines jeweiligen modifizierten Bildes darstellen.
  19. Verfahren nach Anspruch 17 oder 18, wobei die Darstellung des Eingabebildes wenigstens zwei Komponenten beinhaltet, die den abgebildeten Content darstellen, wobei die Komponenten beinhalten: einen Merkmalsvektor, der Abmessungen bzw. Dimensionen nummerischer Merkmale aufweist, die semantische Kenngrößen einer Szene, die in dem abgebildeten Content abgebildet ist, darstellen; und eine Verteilung von Luminanz- und Chrominanzwerten über den abgebildeten Content.
  20. Verfahren nach einem der Ansprüche 17 bis 19, wobei die Parameter als gewichtete Kombination der Modifikationsparameter, die in dem einen oder den mehreren Modifikationsmemorys beinhaltet sind, bestimmt werden und das Bestimmen der Parameter ein Bestimmen dessen beinhaltet, wie viel die Modifikationsparameter, die verschiedenen Modifikationsmemorys entsprechen, zu der gewichteten Kombination beitragen, durch: Anordnen der Modifikationsmemorys in Bezug auf mehrere Schalen auf Grundlage ihrer modifizierten Bilder; Bestimmen einer Nähe der Modifikationsmemorys innerhalb einer jeden der Schalen zu dem Eingabebild auf Grundlage der Maße der Ähnlichkeit; Bestimmen einer Signifikanz der Modifikationsmemorys innerhalb einer jeden der Schalen auf Grundlage von Durchschnitten und Standardabweichungen jeweiliger Modifikationsparameter; und Bestimmen von Gewichtungen für die Modifikationsparameter der verschiedenen Modifikationsmemorys als Funktion der Nähe und der Signifikanz.
DE102020002302.9A 2019-06-26 2020-04-15 Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden Pending DE102020002302A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/453,398 2019-06-26
US16/453,398 US11295494B2 (en) 2019-06-26 2019-06-26 Image modification styles learned from a limited set of modified images

Publications (1)

Publication Number Publication Date
DE102020002302A1 true DE102020002302A1 (de) 2020-12-31

Family

ID=71080056

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020002302.9A Pending DE102020002302A1 (de) 2019-06-26 2020-04-15 Bildmodifikationsstile, die aus einem beschränkten Satz von modifizierten Bildern gelernt werden

Country Status (4)

Country Link
US (1) US11295494B2 (de)
AU (1) AU2020202660B2 (de)
DE (1) DE102020002302A1 (de)
GB (1) GB2587833B (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651969B (zh) * 2019-03-04 2023-10-27 微软技术许可有限责任公司 样式迁移
US20220382440A1 (en) * 2021-06-01 2022-12-01 Apple Inc. User interfaces for managing media styles

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7106887B2 (en) * 2000-04-13 2006-09-12 Fuji Photo Film Co., Ltd. Image processing method using conditions corresponding to an identified person
US8214766B1 (en) 2008-07-09 2012-07-03 Adobe Systems Incorporated Method and system for preview control for image adjustment
JP2013055472A (ja) * 2011-09-02 2013-03-21 Sony Corp 画像処理装置および方法、並びにプログラム
US9799099B2 (en) * 2013-02-22 2017-10-24 Cyberlink Corp. Systems and methods for automatic image editing
US11748833B2 (en) * 2013-03-05 2023-09-05 Wevideo, Inc. Systems and methods for a theme-based effects multimedia editing platform
US9361666B2 (en) 2013-10-07 2016-06-07 Adobe Systems Incorporated Learning user preferences for photo adjustments
US9491263B2 (en) * 2014-01-10 2016-11-08 Pixtr Ltd. Systems and methods for automatically modifying a picture or a video containing a face
US9342498B2 (en) * 2014-06-12 2016-05-17 Synergy Platform Pty Ltd System and method for generating a design template based on graphical input
US10049477B1 (en) * 2014-06-27 2018-08-14 Google Llc Computer-assisted text and visual styling for images
US9558428B1 (en) 2014-07-18 2017-01-31 Samuel B. Green Inductive image editing based on learned stylistic preferences
US9857953B2 (en) * 2015-11-17 2018-01-02 Adobe Systems Incorporated Image color and tone style transfer
US10032259B2 (en) * 2016-08-04 2018-07-24 International Business Machines Corporation Persisting image modifications for user profile
US10325382B2 (en) * 2016-09-28 2019-06-18 Intel Corporation Automatic modification of image parts based on contextual information
US10664963B1 (en) * 2017-09-11 2020-05-26 Apple Inc. Real-time selection of DNN style transfer networks from DNN sets
US11138255B2 (en) * 2017-09-27 2021-10-05 Facebook, Inc. Providing combinations of pre-generated and dynamic media effects to create customized media communications
US20190236371A1 (en) * 2018-01-30 2019-08-01 Deluxe Entertainment Services Group Inc. Cognitive indexing of images in digital video content
US10872399B2 (en) * 2018-02-02 2020-12-22 Nvidia Corporation Photorealistic image stylization using a neural network model
US10198871B1 (en) * 2018-04-27 2019-02-05 Nicholas T. Hariton Systems and methods for generating and facilitating access to a personalized augmented rendering of a user

Also Published As

Publication number Publication date
GB2587833A (en) 2021-04-14
AU2020202660B2 (en) 2021-11-18
US11295494B2 (en) 2022-04-05
AU2020202660A1 (en) 2021-01-21
GB202006038D0 (en) 2020-06-10
US20200410730A1 (en) 2020-12-31
CN112150347A (zh) 2020-12-29
GB2587833B (en) 2022-06-29

Similar Documents

Publication Publication Date Title
DE102018006247A1 (de) Digitalbildvervollständigung unter Verwendung des Deep Learning
DE102018006243A1 (de) Vorhersagen von Patchverschiebungsabbildungen unter Verwendung eines Neuronalnetzwerkes
DE102020007951A1 (de) Einsetzen eines der Einfärbung dienenden neuronalen Netzwerkes zum Generieren von eingefärbten Bildern auf Grundlage interaktiver Farbkanten
DE69310293T2 (de) Umscharte Maske mit Farbtabelle
DE102019005851A1 (de) Objektdetektion in Bildern
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE102020002152A1 (de) Klassifizieren von Farben von Objekten in Digitalbildern
DE60215063T2 (de) System und verfahren zur ermittlung von bildähnlichkeiten
US10621764B2 (en) Colorizing vector graphic objects
DE102017009049A1 (de) Ermöglichen von Transformationen Skizze-zu-Gemälde
DE102016011173A1 (de) Erstellen von Zusammenfassungen von Multimediadokumenten
DE112007001789B9 (de) Verfahren zum Bewerten eines Bildes im Hinblick auf eine dominante Linie
EP2050023B1 (de) Verfahren zum analysieren und/oder testen zumindest einer benutzeroberfläche, datenverarbeitungseinrichtung und computerprogrammprodukt
DE112012005827T5 (de) Bearbeiten von Medien unter Verwendung von graphischer Darstellung der Medien
DE102021004260A1 (de) Textuelles Bearbeiten von digitalen Bildern
DE102021001438A1 (de) Belichtungsdefektklassifizierung von Bildern unter Nutzung eines neuronalen Netzwerkes
US20170345196A1 (en) Generating apparatus, generating method, and non-transitory computer readable storage medium
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE202015009148U1 (de) Automatische Bearbeitung von Bildern
DE102017009505A1 (de) Erzeugen einer kompakten Videomerkmaldarstellung in einer digitalen Medienumgebung
DE102019122402A1 (de) Das klassifizieren von zeitreihenbilddaten
DE102014117895A1 (de) Hinweis-basierte Spot-Healing-Techniken
DE102020007465A1 (de) Steuern bzw. Regeln eines neuronalen Netzwerkes durch zwischengeschaltete Latenträume
CN112215171A (zh) 目标检测方法、装置、设备及计算机可读存储介质
DE102016122790A1 (de) Unterstützter automatischer Weißabgleich

Legal Events

Date Code Title Description
R012 Request for examination validly filed