DE102021003755A1 - Contentadaptive Tutorials für Grafikbearbeitungswerkzeuge in einem Grafikbearbeitungssystem - Google Patents

Contentadaptive Tutorials für Grafikbearbeitungswerkzeuge in einem Grafikbearbeitungssystem Download PDF

Info

Publication number
DE102021003755A1
DE102021003755A1 DE102021003755.3A DE102021003755A DE102021003755A1 DE 102021003755 A1 DE102021003755 A1 DE 102021003755A1 DE 102021003755 A DE102021003755 A DE 102021003755A DE 102021003755 A1 DE102021003755 A1 DE 102021003755A1
Authority
DE
Germany
Prior art keywords
tool
tutorial
image
parameters
data file
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
DE102021003755.3A
Other languages
English (en)
Inventor
Subham Gupta
Krishna Singh Karki
Poonam Bhalla
Ajay Bedi
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 DE102021003755A1 publication Critical patent/DE102021003755A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

Beschrieben werden Verfahren, Systeme und Computerspeichermedien zum Bereitstellen von Werkzeugtutorials auf Grundlage von Tutorialinformation, die unter Nutzung von grafikbearbeitungssystemeigenen Vorgängen in einem Grafikbearbeitungssystem / Grafikbearbeitungssystemen dynamisch in Werkzeugtutorialpakete integriert wird. Im Betrieb wird ein Bild empfangen, das einer Grafikbearbeitungsanwendung zugeordnet ist. Werkzeugparameter (beispielsweise bildspezifische Werkzeugparameter) werden auf Grundlage der Verarbeitung des Bildes generiert. Die Werkzeugparameter werden für ein Grafikbearbeitungswerkzeug der Grafikbearbeitungsanwendung generiert. Das Grafikbearbeitungswerkzeug (beispielsweise ein Objektentfernungswerkzeug oder ein Fleckbeseitigungswerkzeug) kann eine Premium-Version einer vereinfachten Version des Grafikbearbeitungswerkzeuges bei einem Freemium-Anwendungsdienst sein. Auf Grundlage der Werkzeugparameter und des Bildes wird eine Werkzeugtutorialdatendatei generiert, indem die Werkzeugparameter und das Bild in einem Werkzeugtutorialpaket aufgenommen werden. Die Werkzeugtutorialdatendatei kann selektiv in einer integrierten Schnittstelle der Grafikbearbeitungsanwendung wiedergegeben werden.

Description

  • Hintergrund
  • Nutzer greifen oftmals auf Grafikbearbeitungssysteme (beispielsweise desktop- und cloudbasierte Fotobearbeitungsanwendungen bzw. Apps) zum Bearbeiten und Erstellen von Digitalgrafiken (oder Bildern) zurück. Derartige Grafikbearbeitungssysteme beinhalten Bearbeitungswerkzeuge, die eine Vielzahl von Bildbearbeitungsfunktionen unterstützen. Insbesondere nutzen Nutzer Bearbeitungswerkzeuge zum Bearbeiten von Bildern und Verbessern von optischen Eigenschaften des Bildes. Beispielsweise ist ein Beseitigungspinsel (healing brush) ein Werkzeug, das zum Entfernen von Auffälligkeiten, so beispielsweise von Hautunreinheiten oder unerwünschten Flecken, aus einem Foto benutzt wird. Obwohl ein Grafikbearbeitungssystem mit einem großen Satz von komplexen Bearbeitungswerkzeugen mächtig ist, stellt es Anfänger bei Grafikbearbeitungssystemen vor eine steile Lernkurve. Als solches müssen die Nutzer über die Fähigkeit verfügen, schnell zu verstehen, wie der Satz von Bearbeitungswerkzeugen eines Grafikbearbeitungssystems / von Grafikbearbeitungssystemen benutzt werden soll.
  • In diesem Zusammenhang kann ein Grafikbearbeitungssystem insbesondere eine freemiumbasierte Anwendung oder ein solcher Dienst mit freien Bearbeitungswerkzeugen und Premium-Bearbeitungswerkzeugen sein. Insbesondere sind die Premium-Bearbeitungswerkzeuge erst dann zugänglich, wenn der Nutzer für die Nutzung der Anwendung oder des Dienstes bezahlt hat. Aufgrund der zusätzlichen Komplexität der Premium-Bearbeitungswerkzeuge ist es bedauerlicherweise schwierig, neue Nutzer effektiv zu den Premium-Bearbeitungswerkzeugen zu leiten. Allgemein hat die Bereitstellung von Tutorials, die Nutzer beim Verstehen von Premium-Bearbeitungswerkzeugen oder Bearbeitungswerkzeugen allgemein unterstützen, starke Auswirkungen auf die Produktivität und Effizienz beim Erstellen und Bearbeiten von Digitalgrafiken. Herkömmliche Systeme sind bei der Bereitstellung einer zielführenden Anleitung (beispielsweise von Tutorials und Arbeitsabläufen), die Nutzer beim Kennenlernen von Bearbeitungswerkzeugen unterstützt, beschränkt, da die derzeitigen Anleitungen statisch definierte Anleitungsmerkmale beinhalten. Mit der zunehmenden Nutzung von Digitalgrafiken können verbesserte Werkzeugtutorials für Grafikbearbeitungssysteme eingesetzt werden, um Bearbeitungswerkzeuge in Grafikbearbeitungssystemen effizient und effektiv zu nutzen.
  • Zusammenfassung
  • Ausführungsformen der vorliegenden Offenbarung betreffen das Bereitstellen von Werkzeugtutorials auf Grundlage von Tutorialinformation, die dynamisch in Werkzeugtutorialpakete integriert ist. Ein Werkzeugtutorial für ein Fleckbeseitigungswerkzeug (das heißt ein Objektentfernungswerkzeug) wird beispielsweise unter Nutzung der nachfolgenden Elemente generiert: ein nutzerseitig ausgewähltes Bild, fleckbeseitigungswerkzeugeigene Parameter, die auf Grundlage des nutzerseitig ausgewählten Bildes generiert werden, und ein fleckbeseitigungswerkzeugeigenes Tutorialpaket (beispielsweise ein portables Tutorialdokumentpaket). Das automatische Generieren des Werkzeugtutorials kann im Kontext dessen erfolgen, dass einem Nutzer ein Premium-Bearbeitungswerkzeug für eine Freemium-Anwendung oder einen solchen Dienst präsentiert wird. Dem Nutzer wird das Premium-Bearbeitungswerkzeug zusammen mit einem contentadaptiven Tutorial für das Premium-Bearbeitungswerkzeug („Werkzeugtutorial“) präsentiert. Das Werkzeugtutorial beinhaltet den Nutzercontent (beispielsweise Tutorialinformation, die Bilddaten beinhaltet) und Werkzeugparameter, die für den Nutzercontent generiert werden und die automatisch in ein Werkzeugtutorialpaket aufgenommen werden, um das nutzerseitige Verstehen und Anwenden des Premium-Werkzeuges zu verbessern.
  • Im Betrieb werden contentadaptive Tutorials („Werkzeugtutorials“) für Grafikbearbeitungswerkzeuge unter Nutzung von grafikbearbeitungssystemeigenen Vorgängen in einem Grafikbearbeitungssystem generiert. Das Grafikbearbeitungssystem beinhaltet eine Grafikbearbeitungsengine und einen Grafikbearbeitungsclient zur Unterstützung einer Grafikbearbeitungsanwendung. Die Grafikbearbeitungsengine verarbeitet Eingabedaten (beispielsweise Bilddaten), Werkzeugparameter und Werkzeugtutorialpakete zum automatischen Generieren der Werkzeugtutorials. Die Werkzeugtutorials werden insbesondere auf Grundlage von Werkzeugparametern eines Bearbeitungswerkzeuges generiert, wobei die Werkzeugparameter für ein Bild unter Nutzung eines Werkzeugarbeitsablaufes (das heißt eines Satzes von Verarbeitungsschritten) des Bearbeitungswerkzeuges hergeleitet werden. Auf Grundlage der Eingabedaten generiert die Grafikbearbeitungsengine eine Werkzeugtutorialdatendatei (beispielsweise ein portables Tutorialdokument). Es wird veranlasst, dass die Werkzeugdatendatei in einer Werkzeugtutorialschnittstelle, die mit der Grafikbearbeitungsanwendung integriert ist, wiedergegeben wird. Die Werkzeugtutorialdatendatei kann zudem insbesondere auch dann selektiv wiedergegeben werden, wenn der Nutzer einen Satz von vordefinierten Bedingungen erfüllt.
  • Figurenliste
    • 1A und 1B zeigen Blockdiagramme von Grafikbearbeitungssystemen zur Bereitstellung von grafikbearbeitungssystemeigenen Vorgängen, wo hier beschriebene Ausführungsformen eingesetzt werden können.
    • 2A bis 2F sind Darstellungen eines exemplarischen Grafikbearbeitungssystems, das Daten zur Bereitstellung von grafikbearbeitungssystemeigenen Vorgängen verarbeitet, entsprechend Aspekten der hier beschriebenen Technologie.
    • 3 ist eine Darstellung einer exemplarischen grafikbearbeitungssystemeigenen Werkzeugtutorialdatendatei zur Bereitstellung von grafikbearbeitungssystemeigenen Vorgängen entsprechend Aspekten der hier beschriebenen Technologie.
    • 4 zeigt ein erstes exemplarisches Verfahren zur Bereitstellung von grafikbearbeitungssystemeigenen Vorgängen entsprechend Aspekten der hier beschriebenen Technologie.
    • 5 zeigt ein zweites exemplarisches Verfahren zur Bereitstellung von grafikbearbeitungssystemeigenen Vorgängen entsprechend Aspekten der hier beschriebenen Technologie.
    • 6 zeigt ein drittes exemplarisches Verfahren zur Bereitstellung von grafikbearbeitungssystemeigenen Vorgängen entsprechend Aspekten der hier beschriebenen Technologie.
    • 7 ist ein Blockdiagramm einer exemplarischen Rechenumgebung, die zur Nutzung beim Implementieren von Aspekten der hier beschriebenen Technologie geeignet ist.
  • Detailbeschreibung
  • Begriffsdefinitionen
  • Es werden hier verschiedene Begriffe und Ausdrücke benutzt, um Ausführungsformen der vorliegenden Erfindung zu beschreiben. Einige der hier benutzten Begriffe und Ausdrücke werden nunmehr erklärt. Weitere Details sind in der Beschreibung beinhaltet.
  • Im Sinne des Vorliegenden beinhaltet der Begriff „Grafikbearbeitungssystem“ eine Grafikbearbeitungsanwendung oder einen solchen Dienst (beispielsweise eine Cloud-Dienst-App, Mobil-Apps und Desktop-Apps) und funktionelle Komponenten. Anwendungen oder Dienste betreffen allgemein Software, die auf einen Client heruntergeladen worden ist, oder Software, die auf einem Server (beispielsweise einer Webanwendung) läuft, auf den unter Nutzung eines Clients zugegriffen wird. In diesem Zusammenhang können Anwendungen und Dienste clientseitig eingesetzte und serverseitige Software beinhalten. Das Grafikbearbeitungssystem kann beispielsweise ein Satz von Anwendungen oder Diensten sein, die Teilnehmern einen Zugang zu einer Softwaresammlung ermöglichen. Die Software kann insbesondere das grafische Designen und Fotografieren zusammen mit einem Satz von Mobilanwendungen und zudem einigen optionalen Cloud-Diensten unterstützen. Die Cloud-Anwendungen oder Dienste können auf einem Freemium-Anwendungsdienstmodell beruhen, das eine Bepreisungsstrategie darstellt, bei der eine Anwendung oder ein Dienst gebührenfrei bereitgestellt wird, Geld (Premium bzw. Prämie) jedoch für zusätzliche Merkmale zu bezahlen ist. Ein Grafikbearbeitungssystem oder eine solche Anwendung können bei diesem Modell einen Satz von freien Bearbeitungswerkzeugen und einen weiteren Satz von Premium-Bearbeitungswerkzeugen unterstützen. Ein Anbieter der Cloud-Anwendung oder des Dienstes kann Nutzungsdaten der Cloud-Anwendungen oder Dienste nachverfolgen.
  • Im Sinne des Vorliegenden ist ein „Grafikbearbeitungswerkzeug“ oder „Werkzeug“ eines Grafikbearbeitungssystems ein Merkmal des Grafikbearbeitungssystems, das Bildbearbeitungsfunktionen unterstützt, Insbesondere nutzen Nutzer Bearbeitungswerkzeuge zum Bearbeiten von Bildern und Verbessern von optischen Eigenschaften des Bildes. Beispielsweise ist ein Beseitigungspinsel (healing brush) ein Werkzeug, das zum Entfernen von Auffälligkeiten, so beispielsweise von Hautunreinheiten oder unerwünschten Flecken, aus einem Foto benutzt wird. Obwohl ein Grafikbearbeitungssystem mit einem großen Satz von komplexen Bearbeitungswerkzeugen mächtig ist, stellt es Anfänger bei Grafikbearbeitungssystemen vor eine steile Lernkurve.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Tutorialinformation“ Information, die zum Generieren oder Wiedergeben von Werkzeugtutorials benutzt werden kann. Tutorialinformation kann direkt vom Nutzer (beispielsweise Bilddaten) oder indirekt (beispielsweise durch Teilnahmeinformation oder Nutzungsdaten des Nutzers) empfangen werden. Tutorialinformation kann dynamisch in Werkzeugtutorials aufgenommen werden, um ein Werkzeugtutorial an einen bestimmten Nutzer anzupassen und zu personalisieren. Die Tutorialinformation kann durch einen Werkzeugarbeitsablauf (das heißt einen Satz von Verarbeitungsschritten des Werkzeuges) verarbeitet werden, um Werkzeugparameter zu generieren, die der Tutorialinformation zugeordnet sind. So können beispielsweise der Name des Nutzers, der Ort und andere Nutzerdaten zusammen mit einem nutzerseitig ausgewählten Foto, Fotometadaten und anderen Metadaten durch die Verarbeitungsschritte eines Bearbeitungswerkzeuges (beispielsweise eines Fleckbeseitigungswerkzeuges) verarbeitet werden, um die Werkzeugparameter, so beispielsweise die Werkzeugparameter, die zum Entwickeln eines Werkzeugtutorials benutzt werden, zu generieren.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Werkzeugparameter“ messbare Kennungen, die quantifizierte Werte für einen Werkzeugarbeitsablaufschritt aufweisen, wobei ein Werkzeugparameter auch andere veränderliche Quantitäten aufweisen kann. Beinhaltet ein Objektentfernungswerkzeug beispielsweise einen ersten Schritt des Detektierens eines Gesichtes, einen zweiten Schritt des Beschneidens eines Gesichtes und einen dritten Schritt des Detektierens eines Flecks auf dem Gesicht und dergleichen mehr, so können die entsprechenden Werkzeugparameter (beispielsweise Größe, Offset auf den x- und y-Achsen, Umfang, Opazität, Gauß‘sche Verteilung und dergleichen) Werte aufweisen, die den Schritten für ein bestimmtes Bild zugeordnet sind. Die Werkzeugparameter und der entsprechende Wert können in einem Werkzeugtutorialpaket Platzhalter aufweisen, damit die Werkzeugparameter in das Werkzeugpaket zum adaptiven Generieren einer Werkzeugtutorialdatendatei aufgenommen werden können.
  • Im Sinne des Vorliegenden kann ein „Werkzeugtutorial“ ein Computerprogramm bezeichnen, das Nutzer beim Lernen dessen unterstützt, wie die Nutzer die Werkzeuge eines Grafikbearbeitungssystems nutzen sollen. Ein Werkzeugtutorial unterstützt die Übertragung von Wissen über die Nutzung von Bearbeitungswerkzeugen und kann als Teil eines Lernprozesses für das Grafikbearbeitungssystem benutzt werden. Es gibt verschiedene Typen von Werkzeugtutorials, so beispielsweise Videotutorials, interaktive Tutorials und Webinare.
  • Im Sinne des Vorliegenden bezeichnet ein „Werkzeugarbeitsablauf“ einen Satz von Verarbeitungsschritten, die zum Implementieren eines Werkzeuges benutzt werden. Ein Fleckbeseitigungswerkzeug kann beispielsweise einen fleckbeseitigungswerkzeugeigenen Arbeitsablauf mit Verarbeitungsschritten (beispielsweise Gesichtsdetektion, Gesichtsorientierungsmarkenidentifikation, Hautzonenbeschneidung und dergleichen mehr) aufweisen. Der Werkzeugarbeitsablauf ist ein Satz von Verarbeitungsschritten, die zum Generieren von Werkzeugtutorialparametern benutzt werden, die zusammen mit Tutorialinformation dynamisch in Werkzeugtutorials aufgenommen werden. Die werkzeugarbeitsablaufeigenen Verarbeitungsschritte können inkrementelle Bearbeitungsschritte sein, die das Durchführen eines endgültigen Bearbeitungsvorganges des Werkzeuges unterstützen. Man beachte, dass Werkzeugarbeitsabläufe auf Grundlage maschinell lernender Modelle implementiert werden können. In diesem Zusammenhang kann ein maschinell lernendes Modell, das Teil des Werkzeugarbeitsablaufes selbst ist (beispielsweise ein Deep-Learning-Modell, das in einem Bild zum Identifizieren von Flecken auf einem Gesicht benutzt wird), beim Generieren von Parametern benutzt werden.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Werkzeugtutorialdatendatei“ eine Ausgabedatei, die auf Grundlage einer dynamischen Aufnahme von Tutorialinformation und Werkzeugparametern in ein Werkzeugtutorial generiert wird. Die Tutorialinformation und die Werkzeugparameter können insbesondere in ein Werkzeugtutorialpaket aufgenommen werden. Das Werkzeugtutorialpaket bezeichnet ein strukturiertes Dokument oder eine solche Darstellung der Werkzeugtutorialdatendatei vor dem Aufnehmen der Tutorialinformation in Werkzeugparameter (beispielsweise adaptiver Tutorialcontent). Die Werkzeugtutorialdatendatei kann in einem portablen Tutorialformat (Portable Tutorial Format PTF) vorliegen, das bei verschiedenen Typen von Grafikbearbeitungssystemen benutzt werden kann. Die Werkzeugtutorialdatei beinhaltet abgegrenzte Abschnitte (beispielsweise Kapitel und Sektionen), wobei jeder abgegrenzte Abschnitt auf Grundlage des Werkzeugarbeitsablaufes manipuliert werden kann. Insbesondere können die werkzeugarbeitsablaufeigenen Verarbeitungsschritte auf spezifische abgegrenzte Abschnitte des Werkzeugtutorials abgebildet werden (beispielsweise mit einer Eins-zu-Eins-Abbildung zwischen Verarbeitungsschritten und Tutorialschritten, die entsprechende Werkzeugparameter beinhalten). Der werkzeugarbeitsablaufeigene Verarbeitungsschritt für ein Fleckbeseitigungswerkzeug kann beispielsweise eine Gesichtsidentifizierung beinhalten, was bedeutet, dass ein Gesicht in einem nutzerseitig ausgewählten Bild identifiziert wird. Das identifizierte Gesicht und Gesichtsidentifikationsparameter sind Werkzeugparameter für das Fleckbeseitigungswerkzeug. Die Werkzeugparameter werden benutzt, um ein angepasstes Werkzeugtutorial zu generieren. So werden die Werkzeugparameter beispielsweise in ein Werkzeugtutorialpaket aufgenommen, um eine Werkzeugtutorialdatendatei zu generieren. An die Werkzeugtutorialdatendatei kann zusätzliche Information (beispielsweise zusätzliche informative Schritte) am Ende der Werkzeugtutorialdaten angehängt werden, wodurch ermöglicht wird, dass Nutzer mit der Bearbeitung des Bildes fortfahren.
  • Übersicht
  • Allgemein nutzen Nutzer Grafikbearbeitungssysteme (beispielsweise desktop- und cloudbasierte Fotobearbeitungsanwendungen) oftmals zum Bearbeiten und Erstellen von Digitalgrafiken (oder Bildern). Derartige Grafikbearbeitungssysteme können Bearbeitungswerkzeuge beinhalten, die eine Vielzahl von Bildbearbeitungsfunktionen unterstützen. Nutzer nutzen Bearbeitungswerkzeuge insbesondere zum Bearbeiten von Bildern, um optische Eigenschaften des Bildes zu verbessern. Beispielsweise kann ein Beseitigungspinsel (healing brush) ein Werkzeug sein, das zum Entfernen von Auffälligkeiten, so beispielsweise von Hautunreinheiten oder unerwünschten Flecken, aus einem Foto benutzt wird. Nutzer können die Auffälligkeiten entfernen, indem sie über die unerwünschten Objekte malen und sodann Information aus einem anderen Teil des Fotos nutzen, um die Auffälligkeiten zu denen oder zu beseitigen. Nutzer können Pinseleigenschaften wie Größe, Feinheit und Opazität anpassen, um einen unerwünschten Bereich genau auszuwählen und festzulegen.
  • Ein Grafikbearbeitungssystem kann insbesondere eine freemium-basierte Anwendung oder ein solcher Dienst mit freien Bearbeitungswerkzeugen und Premium-Bearbeitungswerkzeugen sein, wobei die Premium-Werkzeuge erst dann zugänglich sind, wenn der Nutzer für den Zugang zu den Premium-Bearbeitungswerkzeugen bezahlt hat. Aufgrund der zusätzlichen Komplexität der Premium-Bearbeitungswerkzeuge kann es bedauerlicherweise schwierig sein, neue Nutzer effektiv zu Premium-Bearbeitungswerkzeugen und Diensten zu leiten. Herkömmliche Systeme sind bei der Bereitstellung einer zielführenden Anleitung (beispielsweise von Tutorials und Schnittstellen), die Nutzer beim Kennenzulernen von Bearbeitungswerkzeugen unterstützt, beschränkt, da die aktuellen Anleitungen statisch definierte Anleitungsmerkmale beinhalten. Ein Grafikbearbeitungssystem kann beispielsweise eine interaktive Tutorialsektion / interaktive Tutorialsektionen beinhalten, wobei die Tutorials anleitende Hilfen auf Grundlage eines Satzes von voridentifizierten Fotos beinhalten. Bestehende Tutorials (beispielsweise Beseitigungswerkzeugtutorials) sind jedoch hinsichtlich verschiedener Bilder oder anderer Tutorialinformation dynamisch nicht adaptiv. Bestehende Tutorials demonstrieren beispielsweise Beseitigungsprozesse an ausgewählten Bildern. Werkzeugparameter, so beispielsweise unerwünschte Bereiche, Beseitigungsursprungsbereiche und die Pinselgröße, sind vorab von Experten derart festgelegt, dass die Ausgabebilder perfekt sind. Die Nutzung von statischen bestehenden Tutorials stellt jedoch gegebenenfalls keine Anleitung bereit, die einem Nutzer Wissen über das Bearbeitungswerkzeug adäquat vermittelt oder das Verständnis des Nutzers darüber, wie das Werkzeug zu benutzen ist, verbessert.
  • Für ein Fleckbeseitigungswerkzeug ist die Auswahl des „Ursprungsfleckbereiches“ (beispielsweise einer Narbe oder einer Unreinheit) und des „Zielbeseitigungsursprungsbereiches“ durch den Bildcontent bestimmt, weshalb sehr wahrscheinlich ist, dass sich dieser bei verschiedenen Typen von Bildern ändert. Entfernt man beispielsweise Unreinheiten aus einem Gesicht, so können die Beseitigungsparameter auf Grundlage der Position, der Haltung und des Ausdrucks des Gesichtes variieren. Dies bedeutet, dass ein Tutorial, das bei einem Bild gut funktioniert, bei anderen Bildern gegebenenfalls keine gewünschten Ergebnisse erzeugt. Die Nutzung von Daten aus Grafikbearbeitungssystemen hat zudem gezeigt, dass begleitende (on-boarding) Arbeitsabläufe dann am effektivsten sind, wenn Tutorials aktuellen Nutzercontent beinhalten.
  • Zudem können begleitende Arbeitsabläufe auch schlecht in das Grafikbearbeitungssystem aufgenommen werden oder können dem Nutzer nicht strategisch präsentiert werden, da herkömmliche Grafiknutzerschnittstellen Tutorials oder anderen unterstützenden Content für Premium-Bearbeitungswerkzeuge auf eine Weise, die für den Nutzer augenfällig ist, nicht adäquat hervorheben. Als solches müssen Nutzer Werkzeugtutorials gegebenenfalls manuell auslösen oder bisweilen sogar zur Online-Suche nach Tutorials übergehen. Eine Nutzerrückmeldung hat beispielsweise gezeigt, dass Nutzer oftmals Stunden im Internet damit zubringen, nach Wegen zu suchen, wie Mängel in ihren Fotos behoben werden können, auch wenn Tutorials bereits in dem Grafikbearbeitungssystem vorhanden sind. Eine dynamische begleitende Erfahrung, die für Nutzercontent personalisiert oder daran angepasst ist, kann daher eine Verbesserung der aktuellen Nutzererfahrung bei Grafikbearbeitungssystemen bereitstellen. Die bestehende begleitende Erfahrung für ein fleckbeseitigungswerkzeugeigenes Tutorial, das auf einem vordefinierten Satz von statischen Bildern beruht, kann beispielsweise verbessert werden, um eine stärker erwünschte Nutzererfahrung bereitzustellen.
  • Das Anpassen des Werkzeugtutorials kann auf Werkzeugarbeitsabläufen beruhen, die bestehende Werkzeugarbeitsabläufe verbessern. Insbesondere sind die Werkzeugarbeitsabläufe ein Satz von Verarbeitungsschritten, die bestehende oder herkömmliche Verarbeitungsschritte zur Durchführung von Grafikbearbeitungen mit dem Bearbeitungswerkzeug verbessern. Herkömmliche Verfahren implementieren beispielsweise Autodetektionsverfahren zum Detektieren von Flecken auf Grundlage einer Merkmalsextraktion und von Schwellen, um den Fleck von anderen Gesichtsmerkmalen zu unterscheiden. Gleichwohl können die Farbe, die Form und die Beleuchtungsbedingungen des Flecks in einem Bild bei herkömmlichen Verfahren negative Auswirkungen auf das Detektionsergebnis aufweisen. Andere herkömmliche Verfahren beinhalten eine Wärmeabbildung (heat-mapping) und adaptive Schwellen. Diese herkömmlichen Verfahren können jedoch rauschempfindlich sein und den Bereich rund um den Mund mit Haut verwischen. Auf abstrakter Ebene beruhen herkömmliche Verfahren auf einem räumlichen Farbraum und Schwellen, um die Detektion von Flecken zu verwirklichen. Mängel der herkömmlichen Verfahren hängen jedoch stark von Schwellenwerten ab, sodass deren Anwendbarkeit bei einer Vielzahl von Bilddaten nicht gegeben ist. Als solches kann ein allumfassendes Grafikbearbeitungssystem mit alternativer Basis zur Ausführung von Grafikbearbeitungsvorgängen (beispielsweise das Generieren von angepassten Werkzeugtutorials auf Grundlage von Werkzeugarbeitsabläufen) Rechenvorgänge und Schnittstellen verbessern, die das Bereitstellen von Tutorials, die Nutzern beim Verstehen der komplexen Bearbeitungswerkzeuge helfen, unterstützen.
  • Ausführungsformen der technischen Lösung können anhand von Beispielen unter Verweis auf ein Grafikbearbeitungssystem mit zusätzlichen Details erläutert werden, die nachstehend in der Beschreibung und anhand der entsprechenden Abbildungen bereitgestellt werden. Auf abstrakter Ebene kann ein Grafikbearbeitungssystem (beispielsweise eine Fotobearbeitungsanwendung) einen großen Satz von komplexen Grafikbearbeitungswerkzeugen beinhalten. Verschiedene Grafikbearbeitungswerkzeuge können für verschiedene Grafikbearbeitungsfunktionalitäten, die von den Grafikbearbeitungssystemen unterstützt werden, benutzt werden. Die Nutzung der verschiedenen Bearbeitungswerkzeuge kann innerhalb eines Grafikbearbeitungssystems nachverfolgt werden. Ein Grafikbearbeitungssystem kann beispielsweise eine Freemium-Anwendung oder ein solcher Dienst sein, bei denen sowohl freie wie auch Premium-Bearbeitungswerkzeuge vorhanden sind. Ein fleckbeseitigendes Bearbeitungswerkzeug kann beispielsweise ein zahlungspflichtiges Merkmal der Grafikbearbeitungsanwendung sein, wobei das Grafikbearbeitungssystem jedoch auch freie Grafikbearbeitungswerkzeuge beinhaltet.
  • Die Nutzungsdaten können offenlegen, dass eine große Anzahl von Nutzern Premium-Bearbeitungswerkzeuge erwerben (oder einen Arbeitsablauf zum Erwerben beginnen), und zwar auf Grundlage der Nutzung eines bestimmten Bearbeitungswerkzeuges (beispielsweise eines Fleckbeseitigungswerkzeuges). Als solches ist bei einer exemplarischen Implementierung der vorliegenden technischen Lösung das Fleckbeseitigungswerkzeug ein Werkzeug, das zur Beschreibung der neuartigen technischen Lösung benutzt wird, da das Fleckbeseitigungswerkzeug verbreitet ist und dazu beiträgt, Nutzer zu Premium-Nutzern zu machen. Man beachte zudem, dass nachverfolgte Nutzungsdaten für Bearbeitungswerkzeuge bei einer Freemium-Anwendung oder einem solchen Dienst zum Identifizieren des Nutzerverhaltens im Zusammenhang mit Bearbeitungswerkzeugen und anderen Vorgängen benutzt werden können, die das automatische Generieren von Werkzeugtutorials, wie es hier noch detaillierter beschrieben wird, unterstützen können.
  • Die technische Lösung der vorliegenden Offenbarung kann insbesondere einen neuartigen Werkzeugtutorialpräsentationsarbeitsablauf dahingehend bereitstellen, dass Nutzer im Sinne einer nutzerfreundlicheren begleitenden Erfahrung Werkzeuge, Tutorials und den Unterschied zwischen freien Werkzeugen und Premium-Werkzeugen unmittelbar zur Kenntnis nehmen. Beispielsweise kann das Merkmal „Lass mich ausprobieren“ („Let Me try“) ein Teil des Präsentationsarbeitsablaufes sein und fungiert als Eintrittspunkt dafür, dass Nutzer Premium-Bearbeitungswerkzeuge bewerten können. Durch den Präsentationsarbeitsablauf kann der Nutzer auswählen, die Premium-Bearbeitungswerkzeuge insbesondere an seinen eigenen Bildern auszuprobieren. Insbesondere kann der Nutzer die Premium-Bearbeitungswerkzeuge vor dem Erwerb eines Abonnements für das Premium-Bearbeitungswerkzeug oder die Premium-Dienste ausprobieren. Generiert werden kann beispielsweise ein Schnittstellenelement, das ein Grafikbearbeitungswerkzeug (beispielsweise einen Beseitigungspinsel) als Premium-Grafikbearbeitungswerkzeug identifiziert, mit auswählbaren Schaltflächen (beispielsweise „Lass mich ausprobieren“ oder „Wie funktioniert das“), die zusätzliche Vorgänge, die der hier beschriebenen Funktionalität zugeordnet sind, auslösen. Das Schnittstellenelement kann des Weiteren zusätzliche Information oder zusätzlichen Content beinhalten, um das Wissen des Nutzers über verschiedene Aspekte des Bearbeitungswerkzeuges (beispielsweise Tutorialdetails, Details zum Erwerb oder Informationscontent) zu vermehren. In diesem Zusammenhang wird es einfacher, die positiven Eigenschaften der verschiedenen Grafikbearbeitungswerkzeuge korrekt zu vermitteln.
  • Der Präsentationsarbeitsablauf kann zudem auch ohne Nutzereingriff arbeiten. Bei der Bestimmung dessen, dass ein Nutzer beispielsweise mit einem freien Bearbeitungswerkzeug arbeitet, kann der Nutzercontent (das heißt Tutorialinformation, die Bilddaten beinhaltet) automatisch benutzt werden, um ein Werkzeugtutorial für ein weiteres Werkzeug (beispielsweise ein ergänzendes Werkzeug oder ein Premium-Werkzeug) des Grafikbearbeitungssystems zu generieren. Auf Grundlage des Generierens des Werkzeugtutorials kann das Werkzeugtutorial für den Nutzer selektiv wiedergegeben werden. Das Werkzeugtutorial kann auf Grundlage von identifizierten Heuristiken, so beispielsweise Heuristiken aus Nutzungsdaten, selektiv wiedergegeben werden. Die heuristikbasierte Vorgehensweise kann sowohl beim Autogenerieren des Werkzeugtutorials wie auch beim Präsentieren des Werkzeugtutorials angewendet werden und ist nach Bedarf konfigurierbar. Das Werkzeugtutorial kann beispielsweise generiert oder präsentiert werden, wenn gewisse Bedingungen bestimmt worden sind (beispielsweise bei der Bestimmung, dass der Nutzer ein Freemium-Nutzer ist und der Nutzer ein bestimmtes Bearbeitungswerkzeug anklickt; bei der Bestimmung, dass der Nutzer nach einer gewissen Dauer ein bestimmtes Werkzeug nicht ausprobiert hat; oder bei der Bestimmung, dass ein Nutzer während der Benutzung eines bestimmten Werkzeuges mit Problemen konfrontiert ist). Weitere Abwandlungen und Kombinationen von autogenerierenden und präsentierenden Werkzeugtutorials auf Grundlage einer heuristischen Vorgehensweise werden bei Ausführungsformen der vorliegenden Offenbarung behandelt.
  • Wie erläutert worden ist, sind einige Unzulänglichkeiten bei der einfachen Nutzung von vordefinierten Testbildern für ein Werkzeugtutorial vorhanden. Als solche beinhaltet die aktuelle technische Lösung die Bereitstellung von contentadaptiven Werkzeugtutorials. Beinhalten kann die technische Lösung das Analysieren von Nutzerbildern und das Identifizieren dessen, ob ein Werkzeugarbeitsablauf (das heißt ein Satz von Verarbeitungsschritten für das Werkzeug) bei dem Bild angewendet werden kann. Der Werkzeugarbeitsablauf kann benutzt werden, um Werkzeugparameter von Bearbeitungswerkzeugen auf Grundlage des spezifischen Bildes und anderer Tutorialinformation zu generieren. Ein Fleckbeseitigungswerkzeug kann beispielsweise einen fleckbeseitigungswerkzeugeigenen Arbeitsablauf aufweisen, der auf ein Bild angewendet werden kann, um das Bild zu verbessern. Der fleckbeseitigungswerkzeugeigene Arbeitsablauf kann Verarbeitungsschritte beinhalten, die von herkömmlichen, bekannten Verarbeitungsschritten für Fleckbeseitigungswerkzeuge verschieden sind, wie nachstehend noch detaillierter erläutert wird. Wird der fleckbeseitigungswerkzeugeigene Arbeitsablauf auf das Bild angewendet, so können Werkzeugparameter (das heißt Beseitigungsparameter) generiert werden. Bei einer Bestimmung, dass ein Werkzeugarbeitsablauf auf ein Bild angewendet werden kann, wird allgemein ein Werkzeugtutorial dynamisch unter Nutzung der berechneten Werkzeugparameter generiert. Das Werkzeugtutorial kann dem Nutzer über mehrere Kanäle angeboten werden, so beispielsweise als begleitender Arbeitsablauf, als Kontexthilfe und als appinterne Mitteilung (in-app messaging) und dergleichen. Im Sinne einer vereinfachten Erklärung der technischen Lösung wird das Fleckbeseitigungswerkzeug oder das Beseitigungswerkzeug derart beschrieben, dass es exemplarische Instanzen bzw. Versionen der technischen Lösung aufweist. Es sollte jedoch einsichtig sein, dass die Funktionalität der technischen Lösung auch bei anderen Typen von Bearbeitungswerkzeugen angewendet werden kann.
  • Beinhalten können die grafikbearbeitungssystemeigenen Vorgänge auf abstrakter Ebene beispielsweise ein Empfangen von Tutorialinformation, die ein nutzerseitig ausgewähltes Bild beinhaltet, das Flecken enthält, die unter Nutzung eines Fleckbeseitigungswerkzeuges korrigiert werden sollen. Ist das Fleckbeseitigungswerkzeug bei dem Bild anwendbar, so können die grafikbearbeitungssystemeigenen Vorgänge des Weiteren ein automatisches Identifizieren von Werkzeugparametern für das Bild beinhalten. Beinhalten kann das Identifizieren von Werkzeugparametern ein auf Grundlage des fleckbeseitigungswerkzeugeigenen Arbeitsablaufes, einer Fleckmaske, eines Beseitigungsursprungs oder anderer Werkzeugparameter aus dem Bild erfolgendes Identifizieren und dynamisches Generieren eines Werkzeugtutorials unter Nutzung der Werkzeugparameter. Beinhalten kann der fleckbeseitigungswerkzeugeigene Arbeitsablauf beispielsweise ein Detektieren eines Gesichtes in einem Bild und ein Identifizieren von Gesichtsorientierungsmarkenpunkten. Auf Grundlage des Gesichtes und der Gesichtsorientierungsmarkenpunkte wird ein Hautzonenbeschneidungsvorgang ausgeführt. Flecken (beispielsweise Narben und Unreinheiten) auf dem Gesicht können identifiziert werden, damit eine Maskenschicht für die Flecken generiert werden kann. Entsprechende Beseitigungsursprungsbereiche können für Flecken identifiziert werden, wobei die Beseitigungsursprungsbereiche die Beseitigung der Flecken unterstützen. Fleckbeseitigungswerkzeugeigene Parameter werden auf Grundlage der Flecken und der Beseitigungsursprungsbereiche hergeleitet. Die fleckbeseitigungswerkzeugeigenen Parameter und das Bild werden zum Generieren einer Tutorialdatendatei (beispielsweise eines Tutorialdokumentes) benutzt. Es kann veranlasst werden, dass die Tutorialdatendatei in verschiedenen Arbeitsabläufen, die dem Grafikbearbeitungssystem zugeordnet sind, generiert wird.
  • Entsprechend lösen die hier beschriebenen Ausführungsformen die vorbeschriebenen Probleme eines herkömmlichen Grafikbearbeitungssystems dadurch, dass sie Werkzeugtutorials auf Grundlage von Tutorialinformation bereitstellen, die dynamisch in Werkzeugtutorialpakete integriert wird. Vorteilhafterweise kann das contentadaptive Bearbeiten von Grafiken auf Grundlage eines Werkzeugtutorials (beispielsweise eines fleckbeseitigungswerkzeugeigenen Tutorials) für eine Vielzahl von verschiedenen Typen von Grafikbearbeitungssystemen oder solcher Software bereitgestellt werden. Insbesondere können die Arbeitsabläufe der contentadaptiven Grafikbearbeitungstutorials bei verschiedenen Typen von Grafikbearbeitungssystemen und entsprechenden Werkzeugtutorials angewendet werden. Die Werkzeugtutorials, die im Sinne der vorliegenden Beschreibung generiert werden, können in einer grafikbearbeitungssystemeigenen Schnittstelle präsentiert werden, um eine geführte Anleitung für Nutzer, die ihre eigenen Bilder oder Fotos bearbeiten, bereitzustellen. Die Nutzer können die Werkzeugtutorials als solche in verschiedenen Typen von Grafikbearbeitungssystemen interaktiv nutzen, wodurch das nutzerseitige Wissen über die verschiedenen Bearbeitungswerkzeuge insgesamt und die nutzerseitige Grafikbearbeitungserfahrung verbessert werden.
  • Grafikbearbeitungssystem
  • 1A und 1B zeigen ein exemplarisches Grafikbearbeitungssystem 100, bei dem Verfahren der vorliegenden Offenbarung eingesetzt werden können. Insbesondere zeigen 1A und 1B abstrakt eine Architektur und Vorgänge des Grafikbearbeitungssystems 100 entsprechend Implementierungen der vorliegenden Offenbarung. Neben weiteren Engines, Verwaltern, Generatoren, Auswählern bzw. Selektoren oder Komponenten, die nicht gezeigt sind (und die kollektiv als „Komponenten“ bezeichnet werden), beinhaltet die der technischen Lösung zu eigene Umgebung des Grafikbearbeitungssystems 100 eine Grafikbearbeitungsengine 110 (beinhaltend grafikbearbeitungssystemeigene Vorgänge 112 und eine grafikbearbeitungssystemeigene Schnittstelle 114), grafikbearbeitungsengineeigene Eingabedaten 120 (beinhaltend Tutorialinformation 122 und Werkzeugtutorialpakete 124), grafikengineeigene Ausgabedaten (beinhaltend grafikenginesystemeigene Vorgangsdaten 132 und eine Werkzeugtutorialdatendatei 134), eine Werkzeugparameterengine 140 (beinhaltend Werkzeugparametermodelle 142, Werkzeugarbeitsabläufe 144 und einen Werkzeugparametergenerator 144), einen Grafikbearbeitungsclient 180 (beinhaltend eine Grafikbearbeitungsschnittstelle 182 und grafikbearbeitungssystemeigene Vorgänge 184) sowie ein Netzwerk 190.
  • Die Komponenten des Grafikbearbeitungssystems 100 können miteinander über ein oder mehrere Netzwerke (beispielsweise über ein öffentliches Netzwerk oder ein virtuelles privates Netzwerk „VPN“) kommunizieren, wie anhand des Netzwerkes 190 gezeigt ist. Das Netzwerk 190 kann ohne Beschränkung ein oder mehrere Ortsbereichsnetzwerke (LANs) und/oder Großbereichsnetzwerke (WANs) beinhalten. Der Grafikbearbeitungsclient 180 kann eine Clientrechenvorrichtung sein, die der Rechenvorrichtung entspricht, die nachstehend anhand 7 beschrieben wird. Die grafikbearbeitungssystemeigenen Vorgänge (beispielsweise die grafikbearbeitungssystemeigenen Vorgänge 112 und die grafikbearbeitungssystemeigenen Vorgänge 184) können von einem Prozessor ausgeführt werden, der in einem Speicher gespeicherte Anweisungen ausführt, wie ebenfalls anhand 7 noch weiter beschrieben wird.
  • Auf abstrakter Ebene beinhaltet das Grafikbearbeitungssystem 100 eine Grafikbearbeitungsengine 110 und einen Grafikbearbeitungsclient 180, der Tutorialinformation 122 empfängt und kommuniziert, damit die Grafikbearbeitungsengine grafikbearbeitungsengineeigene Eingabedaten 120, die die Werkzeugtutorialpakete 124 beinhalten, verarbeitet. Auf Grundlage dessen, dass die Grafikbearbeitungsengine 110 Eingabedaten 120 verarbeitet, kann die Werkzeugparameterengine 140 Werkzeugparameter derart generieren, dass die Grafikbearbeitungsengine 110 grafikengineeigene Ausgabedaten (beispielsweise die grafikbearbeitungssystemeigenen Vorgangsdaten 132, die Werkzeugtutorialdatendatei 134) auf Grundlage der Tutorialinformation 122, der Werkzeugtutorialpakete 124 und der Werkzeugparameter generiert.
  • Entsprechend können die Komponenten des Grafikbearbeitungssystems benutzt werden, um grafikbearbeitungssystemeigene Vorgänge auszuführen, die Werkzeugtutorials auf Grundlage von Tutorialinformation, die dynamisch in Werkzeugtutorialpakete integriert ist, bereitzustellen. Im Betrieb wird ein Bild, das einer Grafikbearbeitungsanwendung zugeordnet ist, empfangen. Werkzeugparameter werden auf Grundlage der Verarbeitung des Bildes generiert. Die Werkzeugparameter werden für ein Bearbeitungswerkzeug der Grafikbearbeitungsanwendung generiert. Das Bearbeitungswerkzeug (beispielsweise das Objektentfernungswerkzeug oder das Fleckbeseitigungswerkzeug) können eine Premium-Version einer vereinfachten Version des Grafikbearbeitungswerkzeuges bei einem Freemium-Anwendungsdienst sein. Auf Grundlage der Werkzeugparameter und des Bildes wird eine Werkzeugtutorialdatendatei generiert, indem die Werkzeugparameter und das Bild in ein Werkzeugtutorialpaket aufgenommen werden. Die Werkzeugtutorialdatendatei kann in einer integrierten Schnittstelle der Grafikbearbeitungsanwendung selektiv wiedergegeben werden.
  • Wie in 1 B gezeigt ist, entsprechen das Grafikbearbeitungssystem 100, die Grafikbearbeitungsengine 10 und der Grafikbearbeitungsclient 20 den Komponenten, die anhand 1A beschrieben worden sind. Auf abstrakter Ebene greift bei Schritt 52 der Grafikbearbeitungsclient auf Eingabedaten (beispielsweise Tutorialinformation, Bilddaten, Metadaten und anderen Nutzercontent) über eine Anwendungsschnittstelle zu und kommuniziert diese. Die Eingabedaten können von dem Grafikbearbeitungsclient 20 an die Grafikbearbeitungsengine 10 übertragen werden, damit die Eingabedaten in der Grafikbearbeitungsengine gespeichert werden. Der Grafikbearbeitungsclient kann eine Clientvorrichtung sein, die eine Anwendung oder einen Dienst nutzt, um auf eine Grafikbearbeitungsanwendung zuzugreifen. Hierbei kann die der Grafikbearbeitungsengine 10 zu eigene Funktionalität gänzlich oder in Teilen lokal auf der Clientvorrichtung oder remote auf einem Server, der die Anwendung oder den Dienst unterstützt, die/der den Eingabedaten zugeordnet sind, ausgeführt werden. Die Eingabedaten können zudem Werkzeugtutorialpakete (beispielsweise die Werkzeugtutorialpakete 124) beinhalten, die benutzt werden, um die Werkzeugtutorialdatendatei (beispielsweise die Werkzeugtutorialdatendatei 134) zu generieren. Bei Schritt 54 greift die Grafikbearbeitungsengine 10 auf Tutorialinformation (beispielsweise ein Bild) zu und initialisiert Werkzeugarbeitsabläufe. Der Werkzeugarbeitsablauf kann für ein Objektentfernungswerkzeug (beispielsweise ein Fleckbeseitigungswerkzeug) sein. Der Werkzeugarbeitsablauf ist ein Satz von Verarbeitungsschritten, die zum Implementieren des Werkzeuges benutzt werden. Die Werkzeugarbeitsabläufe können maschinell lernenden Modellen zugeordnet sein, die das Generieren von Werkzeugparametern für das Werkzeug und zudem das Verfeinern dessen, wie die Werkzeugparameter generiert werden, unterstützen.
  • Bei Schritten 56, 58 und 60 führt die Grafikbearbeitungsengine 10 Vorgänge des Werkzeugarbeitsablaufes aus, die das Generieren der Werkzeugparameter (beispielsweise unter Nutzung der Werkzeugparameterengine 140) unterstützen. Insbesondere beinhaltet das Generieren der Werkzeugparameter auf Grundlage der Ausführung des Satzes von Verarbeitungsschritten ein Zugreifen auf eine messbare Kennung eines Werkzeugparameters. Die messbare Kennung entspricht einem oder mehreren Schritten des Satzes von Verarbeitungsschritten.
  • Die messbare Kennung eines Werkzeugparameters kann beispielsweise ein x- und ein y-Achsen-Offset des Fleckbereiches oder eines Beseitigungsbereiches sein. Ein quantifizierter Wert für die messbare Kennung wird auf Grundlage der Ausführung des einen oder der mehreren Schritte an Bilddaten des Bildes bestimmt. Ein Offsetwert auf der x-Achse und der y-Achse wird beispielsweise für einen Fleckbereich oder einen Beseitigungsbereich identifiziert und bei den Werkzeugparametern gespeichert. Sind dem Werkzeugparameter bei dem Werkzeugarbeitsablauf zusätzliche Schritte zugeordnet, so kann der Werkzeugparameter bei der Durchführung eines jeden Schrittes des Werkzeugarbeitsablaufes inkrementell aktualisiert werden. Man beachte, dass verschiedene Typen von Abwandlungen und Kombinationen von Werkzeugparametern für einen oder mehrere Verarbeitungsschritte eines Werkzeugarbeitsablaufes definiert werden können, sodass bei der Ausführung eines oder mehrerer Schritte an Bilddaten eines Bildes der sich ergebende quantifizierte Wert dem Werkzeugparameter als messbare Kennung entspricht.
  • Der Werkzeugarbeitsablauf wird einleitend auf abstrakter Ebene und danach anhand der entsprechenden Figuren detaillierter erläutert. Bei Schritt 56 werden die Vorgänge der Gesichtsdetektion, des Identifizierens von Gesichtsorientierungsmarken und des Hautzonenbeschneidens an dem Bild durchgeführt. Bei Schritt 58 führt die Grafikbearbeitungsengine 10 Fleckdetektionsvorgänge an dem Bild aus. Man beachte, dass das Bestimmen dessen, dass ein Fleck detektiert worden ist, auf einem Fleckdetektionszuverlässigkeitskennwert beruht. Der Fleckdetektionszuverlässigkeitskennwert ist ein quantifizierter Wert zur Bestimmung dessen, ob ein Kandidatenfleck als Fleck oder nicht als Fleck ausgewählt wird. Benutzt werden können verschiedene Kennwertmodelle zur Kennwertbestimmung von Kandidatenflecken und zum Auswählen eines Teilsatzes der Kandidatenflecken auf Grundlage des Fleckdetektionszuverlässigkeitskennwertes und einer fleckdetektionszuverlässigkeitskennwerteigenen Schwelle.
  • Bei Schritt 60 bestimmt die Grafikbearbeitungsengine 10 einen Beseitigungsursprung für einen Fleck auf Grundlage der Identifizierung eines Beseitigungsursprungsbereiches in dem Bild. Die Anwendung der spezifischen Werkzeugarbeitsablaufvorgänge kann unter Nutzung einer Werkzeugparameterengine (beispielsweise der Werkzeugparameterengine 140), die die Werkzeugparameter generiert, durchgeführt werden. Die Werkzeugparameter können das identifizierte Gesicht, die Gesichtsorientierungsmarken, die beschnittene Hautzone und dergleichen mehr beinhalten. Man beachte, dass andere Bearbeitungswerkzeuge auch andere Werkzeugparameter, die aus ihren entsprechenden Werkzeugarbeitsabläufen hergeleitet sind, aufweisen können.
  • Bei Schritt 62 generiert die Grafikbearbeitungsengine 10 einen Werkzeugparameter / (mehrere) Werkzeugparameter auf Grundlage der Werkzeugarbeitsablaufvorgänge, die an dem Bild durchgeführt werden. Bei Schritt 64 generiert und kommuniziert die Grafikbearbeitungsengine 10 auf Grundlage der Werkzeugparameter und des Bildes eine Tutorialdatendatei und veranlasst die Wiedergabe der Tutorialdatendatei. Bei Schritt 66 empfängt der Grafikbearbeitungsclient die Werkzeugtutorialdatendatei und veranlasst eine Wiedergabe der Werkzeugtutorialdatendatei auf Grundlage von selektiven Wiedergabebedingungen.
  • Wie in 2A bis 2F gezeigt ist, können die grafikbearbeitungssystemeigenen Vorgänge Werkzeugparameter aus einem Werkzeugarbeitsablauf derart generieren, dass die Werkzeugparameter und die Tutorialinformation zum Generieren der Werkzeugtutorialdatendatei eingesetzt werden können. Beispielshalber sind grafikbearbeitungssystemeigene Vorgangsdaten (beispielsweise grafikenbearbeitungssystemeigene Vorgangsdaten), die beim Ausführen des Werkzeugarbeitsablaufes generierte Daten sind, in 2A bis 2E für einen fleckbeseitigungswerkzeugeigenen Arbeitsablauf dargestellt. Der fleckbeseitigungswerkzeugeigene Arbeitsablauf beinhaltet, wie vorstehend zusammengefasst worden ist, das Durchführen von Fleckwerkzeugarbeitsablaufvorgängen, die eine Gesichtsdetektion und das Identifizieren von Gesichtsorientierungsmarken sowie eine Hautzonenbeschneidung auf Grundlage der identifizierten Gesichtsorientierungsmarken beinhalten. Das Detektieren von Gesichtsorientierungsmarken ist ein Teilsatz eines Formvorhersageproblems. In diesem Zusammenhang beinhalten die grafiksystemeigenen Vorgänge einen zweiteiligen Prozess des Lokalisierens des Gesichtes in dem Bild und des sodann erfolgenden Detektierens der wesentlichen Gesichtsstruktur in dem Gesichtsbereich von Interesse. Die Gesichtsorientierungsmarkenpunkte werden benutzt, um die Grenzen für den Gesichtsbereich zu extrahieren und um Gesichtsorientierungsmarken zu separieren. Wie in 2A und 2B gezeigt ist, kann ein Gesicht (beispielsweise die Gesichtsgrenze in 2A) mit mehreren Gesichtsorientierungsmarkenpunkten (beispielsweise den Gesichtsorientierungsmarkenpunkten 202A bis 202MM in 2B) detektiert werden.
  • Die Werkzeugarbeitsablaufvorgänge können beinhalten, dass die Grafikbearbeitungsengine 10 als Gesichtsdetektor unter Nutzung von HOG-Merkmalen (Histograms of oriented Gradients HOG) in Kombination mit einem vortrainierten linearen Klassifizierer zum Detektieren der Gesichtsgrenzen in dem Bild arbeitet. Die Grafikbearbeitungsengine 10 kann ein maschinell lernendes Gesichtsanalysemodell (beispielsweise die Werkzeugparametermodelle 142) beinhalten, das das Detektieren von Gesichtsmerkmalen und das Generieren eines Gesichtsdetektionszuverlässigkeitskennwertes aufgrund der Vorhersage des maschinell lernenden Gesichtsanalysemodells dahingehend, ob ein Gesicht detektiert worden ist, unterstützt. Bei einer Implementierung implementiert die Grafikbearbeitungsengine 10 beim Detektieren von Gesichtsmerkmalen eine 1-ms-Gesichtsausrichtung mit einem Ensemble eines Algorithmus von Regressionsbäumen. Bei dieser Implementierung wird das Detektieren von Gesichtsmerkmalen unter Nutzung einer Allzweck-Crossplattform-Softwarebibliothek (beispielsweise der Dlib-Bibliothek) durchgeführt, um den Ort von 68 (x-,y-)Koordinaten, die auf die Gesichtsstrukturen des Gesichtes abgebildet werden, zu schätzen.
  • Die Detektion von Gesichtsorientierungsmarken kann das Identifizieren von wesentlichen Orientierungsmarken in einem Gesicht beinhalten. Gesichtsorientierungsmarken werden benutzt, um markante Bereiche des Gesichtes, so beispielsweise Augen, Augenbrauen, Nase, Mund und Kinnlinie, zu lokalisieren und darzustellen. Das Gesicht und die Merkmalspunkte werden, wie in 2B dargestellt ist, detektiert, wobei die Gesichtsmerkmale Clustern von Gesichtsorientierungsmarkenpunkten entsprechen. Ein erstes Cluster von Gesichtsorientierungsmarkenpunkten entspricht beispielsweise einem ersten Auge, während ein zweites Cluster von Orientierungsmarkenpunkten einem zweiten Auge entspricht. Wird (beispielsweise auf Grundlage eines Gesichtsdetektionszuverlässigkeitskennwertes) bestimmt, dass ein Gesicht detektiert worden ist, so können zusätzliche grafikbearbeitungsengineeigene Vorgänge an dem Bild durchgeführt werden (darunter das Erstellen eines objektentfernungswerkzeugeigenen Tutorials oder eines fleckbeseitigungswerkzeugeigenen Tutorials für das Bild).
  • Wie in 2C gezeigt ist, beinhalten die Werkzeugarbeitsablaufvorgänge des Weiteren ein Hautzonenbeschneiden auf Grundlage von identifizierten Gesichtsorientierungsmarken. In diesem Zusammenhang unterstützen die Grafikbearbeitungsvorgänge das Identifizieren von Gesichtsflecken und entsprechenden Beseitigungsursprüngen. Die Identifikation von Gesichtsflecken kann insbesondere durchgeführt werden, um die Anzahl von falschpositiven Ergebnissen zu verringern. Üblicherweise werden bei Vorgängen der Gesichtsanalyse Gesichtsmerkmale wie Nasenlöcher, Augenecken und der Mund gegebenenfalls fälschlicherweise als Kandidaten für Gesichtsflecken identifiziert. Bei Ausführungsformen der vorliegenden Offenbarung beinhalten die Grafikbearbeitungsvorgänge, um falschpositive Szenarien zu verhindern, ein Hautzonenbeschneiden an einem detektierten Gesicht. Das Hautzonenbeschneiden beinhaltet ein Heraussegmentieren von Bereichen des Gesichtes, die Augen-, Nasenlöcher- und Mundbereiche beinhalten.
  • Wie in 2C gezeigt ist, ist der beschnittene Bereich bei 302 von Gesichtsmerkmalen eingeschlossen, die einen ersten Augenbereich 304, einen zweiten Augenbereich 306, einen unteren Bereich der Nasenlöcher 308 und einen Lippenbereich 310, die jeweils herausgeschnitten sind, beinhalten. Vorteilhafterweise trägt das Entfernen einiger der Gesichtsbereiche zu einer höheren Genauigkeit der zusätzlichen Grafikbearbeitungsvorgänge bei, wenn die Grafikbearbeitungsvorgänge an beschnittenen Bereichen ausgeführt werden, um einen Fleckbereich (beispielsweise eine Unreinheit oder Narbe) und einen entsprechenden Beseitigungsursprungsbereich zur Beseitigung des Flecks vorherzusagen.
  • Die Werkzeugarbeitsablaufvorgänge beinhalten des Weiteren ein Detektieren von Flecken (beispielsweise einer Narbe oder von Unreinheiten) und ein Generieren einer genauen Maske für die Flecken. Wie in 2A gezeigt ist, unterstützen die Gesichtsorientierungsmarkendetektionsvorgänge das Extrahieren von Grenzen für einen Gesichtsbereich, darunter das Separieren der Augen und eines Haarbeiches / von Haarbereichen des Gesichtes. Die Gesichtsorientierungsmarkendetektionsvorgänge unterstützen zusätzlich das genaue Segregieren einer Hautzone von Nichthautbereichen des Gesichtes. Die Werkzeugarbeitsablaufvorgänge beinhalten zusätzlich die Nutzung eines deep-learning-basierten Klassifizierers zum Detektieren des Vorhandenseins von Gesichtsflecken. Insbesondere können die Werkzeugarbeitsablaufvorgänge auf Grundlage von faltungstechnischen neuronalen Netzwerken (CNN) und eines Klassifizierers implementiert sein. Ein CNN kann als Merkmalsextraktor und Klassifizierer mit Nutzung dafür benutzt werden, Flecken von normalen Bereichen in einem Gesicht zu unterscheiden und eine den Fleck bedeckende Maskenschicht zu generieren.
  • Wie in 2D gezeigt ist, können die Fleckdetektion (bei 400A dargestellt) und die Maskengenerierung (bei 400B dargestellt) als Teil des Werkzeugarbeitsablaufes im Betrieb durchgeführt werden. Zum Detektieren von Flecken und Generieren von Masken beinhaltet der Werkzeugarbeitsablauf ein Einspeisen eines Eingabebildes in das CNN, um eine Faltungsmerkmalskarte zu generieren. Auf Grundlage der Faltungsmerkmalskarte unterstützen die Werkzeugarbeitsablaufvorgänge das Identifizieren von Kandidatenfleckbereichen (beispielsweise des Kandidatenflecks 402 und des Kandidatenflecks 404). Die Kandidatenfleckbereiche können zu einer vordefinierten Form (beispielsweise zu einem Quadrat) verzerrt werden. Rol-Pooling (auch als „Region of Interest Pooling“ bekannt) ist ein Vorgang, der Objektdetektionsaufgaben unter Nutzung von faltungstechnischen neuronalen Netzwerken unterstützt. Um beispielsweise mehrere Flecken in einem einzigen Bild zu detektieren, kann Rol-Pooling benutzt werden, um ein MaxPooling einer Eingabe ungleichmäßiger Größe durchzuführen, um wiederum Merkmalskarten fester Größe zu erhalten. Als solches unterstützen die Werkzeugarbeitsablaufvorgänge unter Nutzung einer Rol-Pooling-Schicht das Neuformen der Kandidatenflecken in einer festen Größe, damit der Kandidatenfleck in eine vollständig verbundene (fully connected) Schicht eingespeist werden kann. Auf Grundlage des Rol-Merkmalsvektors kann eine Softmax-Schicht benutzt werden, um einen Kandidatenfleck als Fleck oder Nichtfleck des vorgeschlagenen Bereiches vorherzusagen und zudem den Maskenbereich für den Fleck zu klassifizieren. Man beachte, dass die Arbeitsablaufvorgänge auf Grundlage eines Faster-R-CNN arbeiten können, das zwei Netzwerke beinhaltet (das heißt ein Bereichsvorschlagsnetzwerk zum Generieren eines Bereichsvorschlages und ein Netzwerk zur Detektion von Objekten unter Nutzung dieses Vorschlages bzw. dieser Vorschläge). Das Faster-R-CNN kann einen selektiven Suchalgorithmus ersetzen, der auf die Merkmalskarte anwendbar ist, um die Bereichsvorschläge zu identifizieren.
  • Die Werkzeugarbeitsablaufvorgänge beinhalten des Weiteren das Generieren einer Merkmalskarte. Ein vortrainiertes modifiziertes CNN zur Klassifizierung und Detektion (beispielsweise das VGG16-Modell) kann zum Generieren der Merkmalskarte benutzt werden. Die Merkmalskarte kann mit Bildern, die Gesichtsbereiche aufweisen, erweitert werden. Vorteilhafterweise kann das alleinige Fokussieren auf Gesichtsbereiche effizientere und genauere Vorhersagen von Flecken ergeben. Man beachte, dass das CNN und das Fleckdetektieren einem Fleckdetektionszuverlässigkeitskennwert zugeordnet sein können, der eine quantifizierte Zuverlässigkeit dessen, dass ein Fleck detektiert worden ist, darstellt. Auf Grundlage des Fleckdetektionszuverlässigkeitskennwertes (wenn der Wahrscheinlichkeitswert beispielsweise kleiner als eine vordefinierte Schwelle ist) kann eine Bestimmung dahingehend vorgenommen werden, dass keine Flecken in dem Bild vorhanden sind. Vorgänge zur Abhilfe können zu diesem Zeitpunkt durchgeführt werden, darunter das Überspringen des Generierens eines Tutorials, das Anfordern eines weiteren Bildes beim Nutzer und das Kommunizieren eines Informationsschnittstellenelementes, das den aktuellen Status des Tutorials erläutert.
  • Wie in 2E gezeigt ist, können auf Grundlage der Fleckmasken Beseitigungsursprungsbereiche für die entsprechenden Flecken identifiziert werden (beispielsweise der Beseitigungsbereich 502, der Fleckbereich 504 und der Fleck 506). Als solches beinhalten die Werkzeugarbeitsablaufvorgänge ein Identifizieren eines Beseitigungsursprungsbereiches, der zum Beseitigen eines Flecks (oder eines Fleckbereiches) benutzt werden soll. Im Betrieb wird auf eine Maskenschicht oder einen Maskenbereich, die/der identifiziert worden ist, zugegriffen. Ein Beseitigungspinselalgorithmus (beispielsweise ein Beseitigungspinselalgorithmus für ein contentadaptives fleckbeseitigungswerkzeugeigenes Tutorial) wird auf beliebige identifizierte Flecken angewendet. Für jeden identifizierten Fleck berechnen die Werkzeugarbeitsablaufvorgänge einen Satz von Grenzpixeln, die der Maske des Flecks entsprechen. Die Werkzeugarbeitsablaufvorgänge bewerten sodann den Satz von Grenzpixeln, um einen Beseitigungsursprungsbereich zu identifizieren. Zusätzlich beinhalten die Werkzeugarbeitsablaufvorgänge des Weiteren ein automatisches Auffinden eines Beseitigungsursprungsbereiches auf Grundlage von zufälligen Winkeln und Offsets von dem Fleck und des Weiteren auf Grundlage einer Bewertung eines Kandidatenbeseitigungsursprungsbereiches auf Grundlage der Standardabweichung von Grenzpixeln zwischen einem Kandidatenbeseitigungsursprungsbereich und einem Zielfleck.
  • Der Beseitigungspinselalgorithmus kann insbesondere dafür konfiguriert sein, die Genauigkeit zu verbessern und falschpositive Ergebnisse zu verringern. Der Beseitigungspinselalgorithmus kann dafür konfiguriert sein, beliebige Kandidatenbeseitigungsursprungsbereiche, die gewisse vordefinierte Bedingungen erfüllen, auszuschließen. Eine erste Bedingung kann beispielsweise einen Kandidatenbeseitigungsursprungsbereich ausschließen, wenn eine Überlappung zwischen einem Kandidatenbeseitigungsursprungsgrenzkästchen und einem Gesichtsorientierungsmarkengrenzkästchen (das beispielsweise während der Hautbeschneidungsvorgänge identifiziert worden ist) nicht leer ist, während eine zweite Bedingung einen Kandidatenbeseitigungsursprungsbereich ausschließen kann, wenn das Kandidatenbeseitigungsursprungsbereichsgrenzkästchen (das beispielsweise während einer Deep-Learning-Fleckdetektion und Maskierung identifiziert worden ist) außerhalb einer Hautzone liegt. Weitere Abwandlungen und Kombinationen von Ausschlussbedingungen zur Verbesserung der Genauigkeit sind in die Ausführungsformen der vorliegenden Offenbarung einbezogen.
  • Der Beseitigungspinselalgorithmus kann des Weiteren eine Vergrößerung der Fehlerschwelle zwischen einem Beseitigungsursprungsbereich und einem Fleckgrenzpixel / Fleckgrenzpixeln beinhalten. Eine Maximaldifferenz von 1/255 kann beispielsweise eine definierte Fehlerschwelle sein. Ein beliebiger Kandidatenbeseitigungsursprungsbereich, in dem die Grenzpixel mehr als die definierte Fehlerschwelle abweichen, wird zurückgewiesen. Erfüllt ein Kandidatenbeseitigungsursprungsbereich die definierten Kriterien nicht, so gehen die Werkzeugarbeitsablaufvorgänge zu einem nächsten identifizierten Fleck über. Beim Analysieren aller identifizierten Flecken ohne Identifizieren eines Beseitigungsursprungsbereiches kann das Bild als Kandidatenbild zum Generieren des Werkzeugtutorials zurückgewiesen werden. Wird ein Beseitigungsursprungsbereich für einen Fleck identifiziert, so werden die Beseitigungsparameter, die dem Fleck entsprechen, generiert und zum Generieren des Werkzeugtutorials bereitgestellt.
  • 2F zeigt exemplarische Werkzeugparameter für ein Fleckbeseitigungswerkzeug. Die Werkzeugparameter sind in einem von Menschen lesbaren und maschinell lesbaren Markup-Sprachendokument (beispielsweise Werkzeugparameter 600) dargestellt. Das Textdatenformat wird benutzt, um verschiedene Typen von Werkzeugparametern auf Grundlage von Tutorialinformation und Daten aus dem Werkzeugarbeitsablauf darzustellen. Die Werkzeugparameterdarstellung kann in Markup und Content unterteilt werden, darunter verschiedene Tags, Elemente und Attribute, die den Werkzeugparametern entsprechen. Markup und Content der Werkzeugparameter können beispielsweise „RetouchAreas“ 602, „SourceX“ 604, „OffsetY“ 606 sowie die Maske „SizeX“ 608 und „SizeY“ 610 enthalten. Weitere Abwandlungen und Kombinationen von Werkzeugparameterdatendarstellungen im Markup und Content einer Markup-Sprache sind in Ausführungsformen der vorliegenden Offenbarung einbezogen.
  • 3 zeigt eine exemplarische Werkzeugtutorialdatendatei auf Grundlage eines Werkzeugtutorialpaketes, das mit Werkzeugparametern integriert worden ist. Die Grafikbearbeitungsengine 10 ist zum Generieren der Werkzeugtutorialdatendatei konfiguriert. Die Werkzeugtutorialdatendatei wird auf Grundlage von Werkzeugtutorialpaketen generiert. Das Werkzeugtutorialpaket kann ein strukturiertes Dokument (beispielsweise ein strukturiertes Tutorialdokument für adaptive Tutorials) bezeichnen, dessen Wiedergabe in einer Werkzeugtutorialschnittstelle, die in eine Grafikbearbeitungsanwendung integriert ist, veranlasst werden kann. Die Werkzeugtutorialdatendatei kann in einem portablen Format vorliegen, damit sie in verschiedenen Kontexten wiedergegeben werden kann. Die Tutorialdatendatei kann beispielsweise als PTF-Dateierweiterung vorliegen, wobei die Tutorialdatendatei eine Audio- und eine Videofunktionalität beinhaltet. Die Werkzeugtutorialdatendatei kann abgegrenzte Abschnitte (beispielsweise Kapitel und Sektionen) beinhalten, wobei jeder abgegrenzte Abschnitt einen oder mehrere Bearbeitungsschritte beinhalten kann. Bei einer Implementierung ist eine Eins-zu-Eins-Abbildung zwischen den Tutorialschritten und den abgegrenzten Abschnitten vorhanden. Die Tutorialschritte und die integrierten Werkzeugparameter sind in einem von Menschen lesbaren und einem maschinell lesbaren Markup-Sprachendokument (beispielsweise in der Werkzeugtutorialdatendatei 700) dargestellt. Das Textdatenformat wird benutzt, um verschiedene Typen von Tutorialschritten auf Grundlage einer Tutorialinformation und von Daten aus dem Werkzeugarbeitsablauf darzustellen. Die Werkzeugparameterdarstellung kann in Markup und Content unterteilt werden, darunter verschiedene Tags, Elemente und Attribute, die den Werkzeugparametern entsprechen. Ein Schrittsatztext 302 beinhaltet beispielsweise einen werkzeugtutorialpaketeigenen Text, der mit Maskendaten integriert sein kann (beispielsweise SizeX 304, das SizeX 608 der Werkzeugparameterdatendarstellung entspricht). Man beachte, dass zusätzliche informative Schritte an eine generierte Werkzeugtutorialdatendatei angehängt werden können, um einem Nutzer zu ermöglichen, mit der Bearbeitung fortzufahren und das Bild, das der Werkzeugtutorialdatendatei zugeordnet ist, weiter zu verfeinern. Weitere Abwandlungen und Kombinationen der werkzeugtutorialdatendateieigenen Darstellungen sind in Ausführungsformen der vorliegenden Offenbarung einbezogen.
  • Die Tutorialdatendatei kann kommuniziert werden, damit sie in einer grafikbearbeitungsanwendungeigenen Schnittstelle wiedergegeben werden kann. Die Tutorialdatendatei kann in einer integrierten Tutorialschnittstelle oder einer anderen Schnittstelle, die die Wiedergabe der Tutorialdatendatei unterstützt, selektiv wiedergegeben werden. Die Tutorialdatendatei kann selektiv wiedergegeben werden. Das selektive Wiedergeben der Tutorialdatendatei kann auf mehreren verschiedenen Lösungsansätzen beruhen. Es kann beispielsweise ein heuristischer Lösungsansatz benutzt werden, bei dem die Tutorialdatendatei nur dann gezeigt wird, wenn gewisse Bedingungen erfüllt sind. Mehrere verschiedene Bedingungen sind in die Ausführungsform der vorliegenden Offenbarung einbezogen. Exemplarische Bedingungen beinhalten eine Bestimmung dessen, dass ein Nutzer ein Freemium-Nutzer ist, der einen Beseitigungswerkzeugicon angeklickt hat, eine Bestimmung dessen, dass der Nutzer nach einer gewissen Dauer das Beseitigungswerkzeug nicht ausprobiert hat, und eine Bestimmung dessen, dass der Nutzer ein Anfänger ist und während der Nutzung des Beseitigungswerkzeuges mit Problemen konfrontiert ist.
  • Entsprechend bieten die Ausführungsformen der hier beschriebenen technischen Lösungen Verbesserungen gegenüber herkömmlichen Systemen, indem sie contentadaptive Tutorials für Bearbeitungswerkzeuge eines Grafikbearbeitungssystems / von Grafikbearbeitungssystemen bereitstellen. Das Bearbeitungswerkzeug kann beispielsweise ein Objektentfernungswerkzeug oder ein Fleckbeseitigungswerkzeug sein, die das Entfernen von unerwünschten Flecken in einem Bild unterstützen. Das Bearbeitungswerkzeug kann einen Werkzeugarbeitsablauf mit Verarbeitungsschritten beinhalten (beispielsweise einen fleckbeseitigungswerkzeugeigenen Arbeitsablauf, der die Fleckmaske und den Beseitigungsursprung automatisch bestimmt), die zum dynamischen Generieren des Werkzeugtutorials (beispielsweise der Werkzeugtutorialdatendatei) benutzt werden. Darüber hinaus beinhaltet der fleckbeseitigungswerkzeugeigene Arbeitsablauf auch nicht gängige Schritte zum automatischen Bestimmen von Flecken (beispielsweise von Narben und Unreinheiten) in einem Bild auf Grundlage von Deep Learning und einer Hautzonenbeschneidung sowie Schritte zum Identifizieren eines Beseitigungsursprungsbereiches zur Festlegung des Fleckbereiches. Es wird veranlasst, dass ein generiertes Werkzeugtutorial für den Nutzer in verschiedenen Nutzerkontexten wiedergegeben wird.
  • Exemplarische Verfahren
  • 4, 5 und 6 sind Flussdiagramme zur Darstellung von Verfahren zur Bereitstellung von Werkzeugtutorials auf Grundlage von Tutorialinformation, die dynamisch in Werkzeugtutorialpakete unter Nutzung von grafikbearbeitungssystemeigenen Vorgängen in ein Grafikbearbeitungssystem / Grafikbearbeitungssysteme integriert ist. Die Verfahren können unter Nutzung des hier beschriebenen Grafikbearbeitungssystems durchgeführt werden. Bei Ausführungsformen sind ein oder mehrere Computerspeichermedien vorhanden, auf denen computerausführbare Anweisungen verkörpert sind, die bei Ausführung durch einen oder mehrere Prozessoren veranlassen, dass der eine oder die mehreren Prozessoren die Verfahren in dem Grafikbearbeitungssystem durchführen.
  • 4 ist ein Flussdiagramm zur Darstellung eines Verfahrens 400 zum Generieren von contentadaptiven Werkzeugtutorials auf Grundlage von grafikbearbeitungssystemeigenen Vorgängen. Zu Beginn wird bei Schritt 410 auf ein Bild zugegriffen. Das Bild ist einer Grafikbearbeitungsanwendung zugeordnet. Bei Schritt 420 werden Werkzeugparameter auf Grundlage der Ausführung eines Satzes von Verarbeitungsschritten (das heißt eines Werkzeugarbeitsablaufes) eines Objektentfernungswerkzeuges, das der Grafikbearbeitungsanwendung zugeordnet ist, generiert. Das Objektentfernungswerkzeug ist ein Grafikbearbeitungswerkzeug der Grafikbearbeitungsanwendung. Bei Schritt 430 wird auf Grundlage der Werkzeugparameter und des Bildes automatisch eine Werkzeugtutorialdatendatei generiert. Das automatische Generieren des Tutorials beruht auf dem Integrieren der Werkzeugparameter und Bilddaten des Bildes in ein Werkzeugtutorialpaket, das dem Objektentfernungswerkzeug zugeordnet ist. Bei Schritt 440 wird die Werkzeugtutorialdatendatei kommuniziert, um eine Wiedergabe der Werkzeugtutorialdatendatei zu veranlassen.
  • 5 ist ein Flussdiagramm zur Darstellung eines Verfahrens 500 zur Bereitstellung von contentadaptiven Werkzeugtutorials auf Grundlage von grafikbearbeitungssystemeigenen Vorgängen. Zu Beginn wird bei Schritt 510 eine Schnittstelle zum Empfangen von Tutorialinformation bereitgestellt. Die Tutorialinformation umfasst ein Bild, das einer Grafikbearbeitungsanwendung zugeordnet ist. Bei Schritt 520 wird die Tutorialinformation kommuniziert, um das Generieren einer Werkzeugtutorialdatendatei zu veranlassen. Die Werkzeugtutorialdatendatei wird auf Grundlage von Werkzeugparametern und der Tutorialinformation generiert. Bei Schritt 530 wird die Werkzeugtutorialdatendatei empfangen. Bei Schritt 540 wird die Wiedergabe der Werkzeugtutorialdatendatei veranlasst. Die Wiedergabe der Werkzeugtutorialdatendatei wird selektiv auf Grundlage einer Bestimmung dessen ausgeführt, dass wenigstens eine von mehreren nutzerbasierten selektiven Wiedergabebedingungen erfüllt ist. Zusätzlich wird veranlasst, dass die Werkzeugtutorialdatendatei generiert und sodann in einer Schnittstelle, die mit der Grafikbearbeitungsanwendung integriert ist, auf Grundlage der folgenden Kriterien wiedergegeben wird: Bestimmen, dass der Nutzer ein Freemium-Nutzer ist und der Nutzer ein bestimmtes Bearbeitungswerkzeug anklickt; Bestimmen, dass der Nutzer nach einer gewissen Dauer ein bestimmtes Werkzeug nicht ausprobiert hat; oder Bestimmen, dass der Nutzer während der Benutzung eines bestimmten Werkzeuges mit Problemen konfrontiert ist.
  • 6 ist ein Flussdiagramm zur Darstellung eines Verfahrens 600 zur Bereitstellung von contentadaptiven Werkzeugtutorials auf Grundlage von grafikbearbeitungssystemeigenen Vorgängen. Zu Beginn werden bei Schritt 610 Werkzeugparameter auf Grundlage der Ausführung eines Satzes von Verarbeitungsschritten eines Grafikbearbeitungswerkzeuges, das einer Grafikbearbeitungsanwendung zugeordnet ist, generiert. Das Generieren des Werkzeugparameters auf Grundlage der Ausführung des Satzes von Verarbeitungsschritten beinhaltet ein Zugreifen auf eine messbare Kennung eines Werkzeugparameters, wobei die messbare Kennung einem oder mehreren Schritten des Satzes von Verarbeitungsschritten entspricht, und Bestimmen eines quantifizierten Wertes für die messbare Kennung auf Grundlage der Ausführung des einen oder der mehreren Schritte an den Bilddaten des Bildes. Bei Schritt 620 wird auf ein Werkzeugtutorialpaket zugegriffen. Das Werkzeugtutorialpaket liegt in einem portablen Tutorialformat vor, das Kapitel und Sektionen der Tutorialschritte umfasst. Bei Schritt 630 wird eine Werkzeugtutorialdatendatei auf Grundlage einer Abbildung der Werkzeugtutorialschritte auf die Werkzeugparameter und Bilddaten des Bildes generiert. Das Generieren einer Werkzeugtutorialdatendatei beruht auf einem Integrieren der Werkzeugparameter und Bilddaten des Bildes in ein Werkzeugpaket, das dem Grafikbearbeitungswerkzeug zugeordnet ist.
  • Exemplarische Betriebsumgebung
  • Nach der erfolgten Kurzbeschreibung der Übersicht über Ausführungsformen der vorliegenden Erfindung wird nachstehend eine exemplarische Betriebsumgebung, in der Ausführungsformen der vorliegenden Erfindung implementiert sein können, beschrieben, um einen allgemeinen Kontext für verschiedene Aspekte der vorliegenden Erfindung bereitzustellen. In 7, auf die zunächst insbesondere verwiesen wird, ist eine exemplarische Betriebsumgebung zur Implementierung von Ausführungsformen der vorliegenden Erfindung gezeigt und wird allgemein als Rechenvorrichtung 700 bezeichnet. Die Rechenvorrichtung 700 ist lediglich ein Beispiel für eine geeignete Rechenumgebung und soll keinerlei Beschränkung hinsichtlich des Nutzungsumfangs oder der Funktionalität der Erfindung nahelegen. Ebenso wenig soll die Rechenvorrichtung 700 derart betrachtet werden, dass bei ihr eine Abhängigkeit oder Anforderung im Zusammenhang mit einer beliebigen dargestellten Komponente oder einer Kombination von Komponenten vorhanden ist.
  • Die Erfindung kann im allgemeinen Kontext von Computercode oder maschinell nutzbaren Anweisungen beschrieben werden, darunter computerausführbare Anweisungen, so beispielsweise Programmmodule, die von einem Computer oder einer anderen Maschine, so beispielsweise einem persönlichen Datenassistent oder einer anderen Handvorrichtung, ausgeführt werden. Allgemein bezeichnen Programmmodule, die Routinen, Programme, Objekte, Komponenten, Datenstrukturen und dergleichen beinhalten, Code, der bestimmte Aufgaben erledigt oder bestimmte abstrakte Datentypen implementiert. Die Erfindung kann in vielerlei Systemkonfigurationen umgesetzt werden, darunter Handvorrichtungen, Geräte der Unterhaltungselektronik, Allzweckcomputer, stärker spezialisierte Rechenvorrichtungen und dergleichen mehr. Die Erfindung kann zudem in verteilten Rechenumgebungen umgesetzt werden, wo Aufgaben von Remote-Verarbeitungsvorrichtungen, die über ein Kommunikationsnetzwerk miteinander verbunden sind, erledigt werden.
  • Wie in 7 gezeigt ist, beinhaltet die Rechenvorrichtung 700 einen Bus 710, der die nachfolgenden Vorrichtungen direkt oder indirekt koppelt: einen Speicher 712, einen oder mehrere Prozessoren 714, eine oder mehrere Präsentationskomponenten 716, Eingabe-/Ausgabe-Ports 718, Eingabe-/Ausgabe-Komponenten 720 und eine illustrative Leistungsversorgung 722. Der Bus 710 stellt etwas dar, das ein oder mehrere Busse sein kann (beispielsweise ein Adressbus, ein Datenbus oder eine Kombination hieraus). Die verschiedenen Blöcke von 7 sind der konzeptuellen Klarheit halber mit Linien dargestellt, wobei hier auch andere Anordnungen der beschriebenen Komponenten und/oder der Komponentenfunktionalität einbezogen sind. Man kann beispielsweise eine Präsentationskomponente, so beispielsweise eine Anzeigevorrichtung, als I/O-Komponente betrachten. Prozessoren weisen zudem einen Speicher auf. Es ist anzuerkennen, dass dies das Wesen des technischen Gebietes ist, und es wird erneut darauf hingewiesen, dass das Diagramm von 7 rein illustrativ für eine exemplarische Rechenvorrichtung ist, die in Verbindung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung benutzt werden kann. Es wird nicht zwischen Kategorien wie „Workstation“, „Server“, „Laptop“, „Handvorrichtung“ und dergleichen unterschieden, da diese alle in den Umfang von 7 und in den Verweis auf eine „Rechenvorrichtung“ einbezogen sind.
  • Die Rechenvorrichtung 700 beinhaltet üblicherweise eine Vielzahl von computerlesbaren Medien. Computerlesbare Medien können beliebige verfügbare Medien sein, auf die die Rechenvorrichtung 700 zugreifen kann, und beinhalten sowohl flüchtige wie auch nichtflüchtige Medien sowie entfernbare wie auch nichtentfernbare Medien. Beispiels- und nicht beschränkungshalber können computerlesbare Medien Computerspeichermedien und Kommunikationsmedien umfassen.
  • Computerspeichermedien beinhalten flüchtige und nichtflüchtige sowie entfernbare und nicht entfernbare Medien, die in einem beliebigen Verfahren oder einer solchen Technologie zur Speicherung von Information implementiert sind, so beispielsweise als computerlesbare Anweisungen, Datenstrukturen, Programmmodule und/oder andere Daten. Computerspeichermedien beinhalten unter anderem RAM, ROM, EEPROM, Flash-Speicher oder eine andere Speichertechnologie, CD-ROM, DVD oder einen anderen optischen Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das zum Speichern der gewünschten Information nutzbar ist und auf das die Rechenvorrichtung 700 zugreifen kann. Speichermedien schließen Signale als solche aus.
  • Kommunikationsmedien verkörpern üblicherweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal, so beispielsweise einer Trägerwelle oder einem anderen Transportmechanismus, und beinhalten beliebige Informationsverteilungsmedien. Der Begriff „moduliertes Datensignal“ bezeichnet ein Signal, bei dem eine oder mehrere Eigenschaften derart eingestellt oder verändert sind, dass Information in dem Signal codiert ist. Beispiels- und nicht beschränkungshalber beinhalten Kommunikationsmedien drahtgebundene Medien, so beispielsweise ein drahtgebundenes Netzwerk oder eine direktverdrahtete Verbindung, wie auch drahtlose Medien, so beispielsweise akustische, HF-basierte, infrarotbasierte und andere drahtlose Medien. Kombinationen aus den Vorgenannten sollen im Umfang der computerlesbaren Medien beinhaltet sein.
  • Der Speicher 712 beinhaltet Computerspeichermedien in Form eines flüchtigen und/oder nichtflüchtigen Speichers. Der Speicher kann entfernbar, nichtentfernbar oder eine Kombination hieraus sein. Exemplarische Hardwarevorrichtungen beinhalten einen Solid-State-Speicher, Festplattenlaufwerke, Laufwerke für optische Platten und dergleichen mehr. Die Rechenvorrichtung 700 beinhaltet einen oder mehrere Prozessoren, die Daten von verschiedenen Entitäten, so beispielsweise dem Speicher 712 oder den I/O-Komponenten 720, lesen. Die Präsentationskomponente / Präsentationskomponenten 716 präsentiert/präsentieren einem Nutzer oder einer anderen Vorrichtung Datenangaben. Exemplarische Präsentationskomponenten beinhalten eine Anzeigevorrichtung, einen Lautsprecher, eine Druckkomponente, eine Vibrationskomponente und dergleichen mehr.
  • Die I/O-Ports 718 ermöglichen, dass die Rechenvorrichtung 700 logisch mit anderen Vorrichtungen, die I/O-Komponenten 720 beinhalten, von denen einige eingebaut sein können, gekoppelt ist. Illustrative Komponenten beinhalten ein Mikrofon, einen Joystick, ein Gamepad, eine Satellitenschüssel, einen Scanner, einen Drucker, eine Drahtlosvorrichtung und dergleichen mehr.
  • Mit Blick auf die hier beschriebene Umgebung der technischen Lösung unterstützen die hier beschriebenen Ausführungsformen die hier beschriebene technische Lösung. Die Komponenten der Umgebung der technischen Lösung können als Komponenten integriert sein, die eine Hardwarearchitektur und ein Softwareframework beinhalten, die eine Constraint-Computing- und/oder eine Constraint-Querying-Funktionalität innerhalb des Systems der technischen Lösung unterstützen. Die Hardwarearchitektur bezeichnet physische Komponenten und deren wechselseitige Beziehungen, während das Softwareframework Software bezeichnet, die eine Funktionalität bereitstellt, die mit Hardware, die in einer Vorrichtung verkörpert ist, implementiert sein kann.
  • Das softwarebasierte End-to-End-System kann innerhalb der Systemkomponenten zusammenarbeiten, um Computerhardware zur Bereitstellung einer Systemfunktionalität zu betreiben. Auf einer niedrigen Ebene führen Hardwareprozessoren Anweisungen aus, die aus einem Anweisungssatz für einen gegebenen Prozessor in einer Maschinensprache (die auch als Maschinencode oder „Native“ bezeichnet wird) ausgewählt sind. Der Prozessor erkennt die nativen Anweisungen und führt entsprechende auf niedriger Ebene gegebene Funktionen beispielsweise im Zusammenhang mit einer Logik, einer Steuerung bzw. Regelung und Speichervorgängen durch. Auf niedriger Ebene gegebene Software, die in Maschinencode geschrieben ist, kann eine komplexere Funktionalität für höhere Ebenen der Software bereitstellen. Im Sinne des Vorliegenden beinhalten computerausführbare Anweisungen eine beliebige Software, darunter eine auf niedriger Ebene gegebene Software, die in Maschinencode geschrieben ist, eine auf höherer Ebene gegebene Software, so beispielsweise eine Anwendungssoftware, und eine beliebige Kombination hieraus. In diesem Zusammenhang können die Systemkomponenten Ressourcen verwalten und Dienste für die Systemfunktionalität bereitstellen. Beliebige weitere Abwandlungen und Kombinationen hieraus sind in die Ausführungsformen der vorliegenden Erfindung einbezogen.
  • Beispielhalber kann das System der technischen Lösung eine API-Bibliothek beinhalten, die Spezifikationen für Routinen, Datenstrukturen, Objektklassen und Variablen zur Unterstützung der Interaktion zwischen der Hardwarearchitektur der Vorrichtung und dem Softwareframework des Systems der technischen Lösung beinhaltet. Diese APIs beinhalten Konfigurationsspezifikationen für das System der technischen Lösung, damit die darin befindlichen verschiedenen Komponenten in dem System der technischen Lösung, wie hier beschrieben wird, miteinander kommunizieren können.
  • Das System der technischen Lösung kann des Weiteren ein maschinell lernendes System beinhalten. Ein maschinell lernendes System kann maschinell lernende Werkzeuge und Trainingskomponenten beinhalten. Maschinell lernende Systeme können maschinell lernende Werkzeuge beinhalten, die eingesetzt werden, um Vorgänge auf technologischen Gebieten verschiedener Typen durchzuführen. Maschinell lernende Systeme können vortrainierte maschinell lernende Werkzeuge beinhalten, die des Weiteren für eine bestimmte Aufgabe oder ein bestimmtes technologisches Gebiet trainiert werden können. Auf hoher bzw. abstrakter Ebene ist das maschinelle Lernen ein Forschungsgebiet, das Computern die Fähigkeit verleiht, zu lernen, ohne explizit programmiert zu sein. Das maschinelle Lernen erforscht das Studium und den Bau von maschinell lernenden Werkzeugen, darunter von maschinell lernenden Algorithmen oder Modellen, die aus bestehenden Daten lernen und Vorhersagen über neue Daten treffen können. Derartige maschinell lernende Werkzeuge arbeiten derart, dass sie ein Modell aus exemplarischen Trainingsdaten erstellen, um datengetriebene Vorhersagen oder Entscheidungen, die als Ausgaben oder Bewertungen ausgedrückt werden, zu treffen. Obwohl exemplarische Ausführungsformen anhand einiger weniger maschinell lernender Werkzeuge präsentiert werden, können die hier präsentierten Prinzipien auch bei anderen maschinell lernenden Werkzeugen angewendet werden. Man beachte, dass verschiedene maschinell lernende Werkzeuge benutzt werden können, so beispielsweise Logistic Regression (LR), Naive-Bayes, Random Forest (RF), Neural Networks (NN), Matrix Factorization und SVM-Werkzeuge (Support Vector Machines SVM), um auf verschiedenen technologischen Gebieten Problemen zu lösen.
  • Allgemein sind zwei Arten von Problemen beim maschinellen Lernen vorhanden, nämlich Klassifizierungsprobleme und Regressionsprobleme. Klassifizierungsprobleme, die auch als Kategorisierungsprobleme bezeichnet werden, betreffen das Klassifizieren von Objekten mit einem von mehreren Kategoriewerten (Ist beispielsweise diese E-Mail Spam oder nicht Spam). Regressionsalgorithmen betreffen das Quantifizieren von einigen Objekten (beispielsweise durch Bereitstellen eines Wertes, der eine reelle Zahl ist). Maschinell lernende Algorithmen können einen Kennwert (beispielsweise eine Zahl von 1 bis 100) bereitstellen, um ein oder mehrere Produkte als Treffer für einen Nutzer eines Online-Marktplatzes zu qualifizieren.
  • Maschinell lernende Algorithmen nutzen die Trainingsdaten zum Auffinden von Korrelationen zwischen identifizierten Merkmalen (oder Kombinationen von Merkmalen), die ein Ergebnis betreffen. Ein trainiertes maschinell lernendes Modell kann implementiert werden, um einen maschinell lernenden Vorgang auf Grundlage einer Kombination von Merkmalen durchzuführen. Ein Administrator eines maschinell lernenden Systems kann zudem bestimmen, welche der verschiedenen Kombinationen von Merkmalen relevant sind (beispielsweise zu gewünschten Ergebnissen führen) und welche es nicht sind. Die Kombinationen von Merkmalen, von denen bestimmt wird (die derart klassifiziert werden), dass sie zu Erfolgen führen, werden in einen maschinell lernenden Algorithmus eingegeben, damit der maschinell lernende Algorithmus lernt, welche Kombinationen von Merkmalen (die auch als „Muster“ bezeichnet werden) „relevant“ sind und welche Muster „irrelevant“ sind. Die maschinell lernenden Algorithmen nutzen Merkmale zur Analyse von Daten, um eine Ausgabe oder Bewertung zu generieren. Ein Merkmal kann eine einzelne messbare Eigenschaft eines zu beobachtende Phänomens sein. Das Konzept eines Merkmals ist mit demjenigen einer erläuternden Variable verwandt, die bei statistischen Techniken, so beispielsweise der linearen Regression, benutzt wird. Das Wählen von informativen, diskriminierenden und unabhängigen Merkmalen ist für einen effektiven Betrieb des maschinell lernenden Systems bei der Mustererkennung, Klassifizierung und Regression wichtig. Merkmale können von verschiedenen Typen sein, so beispielsweise nummerisch, Strings und Graphen.
  • Die maschinell lernenden Algorithmen nutzen die Trainingsdaten, um Korrelationen unter den identifizierten Merkmalen, die das Ergebnis oder die Bewertung betreffen, aufzufinden. Die Trainingsdaten beinhalten bekannte Daten für ein oder mehrere identifizierte Merkmale und ein oder mehrere Ergebnisse. Mit den trainierten Daten und den identifizierten Merkmalen wird das maschinell lernende Werkzeug trainiert. Das maschinell lernende Werkzeug bestimmt die Relevanz der Merkmale, wenn diese mit den Trainingsdaten korreliert sind. Das Ergebnis des Trainings ist das trainierte maschinell lernende Modell. Wird das maschinell lernende Modell benutzt, um eine Bewertung durchzuführen, werden neue Daten als Eingabe für das trainierte maschinell lernende Modell bereitgestellt, und das maschinell lernende Modell generiert die Bewertung als Ausgabe.
  • Nachdem verschiedene hier eingesetzte Komponenten identifiziert worden sind, sollte einsichtig sein, dass eine beliebige Anzahl von Komponenten und Anordnungen eingesetzt werden kann, um die gewünschte Funktionalität innerhalb des Umfangs der vorliegenden Offenbarung zu verwirklichen. Die Komponenten bei den Ausführungsformen, die in den Figuren dargestellt sind, sind der konzeptuellen Klarheit halber mit Linien dargestellt. Andere Anordnungen dieser und anderer Komponenten können ebenfalls implementiert sein. Obwohl beispielsweise einige Komponenten als einzelne Komponenten dargestellt sind, können viele der hier beschriebenen Elemente auch als diskrete oder verteilte Komponenten oder in Zusammenwirkung mit anderen Komponenten und in einer beliebigen geeigneten Kombination und an einem beliebigen geeigneten Ort implementiert sein. Einige Elemente können auch gänzlich weggelassen werden. Darüber hinaus können verschiedene Funktionen, die hier derart beschrieben sind, dass sie von einer oder mehreren Entitäten durchgeführt werden, auch von Hardware, Firmware und/oder Software, wie nachstehend beschrieben wird, durchgeführt werden. Verschiedene Funktionen können von einem Prozessor, der in einem Speicher gespeicherte Anweisungen ausführt, ausgeführt werden. Als solches können auch andere Anordnungen und Elemente (beispielsweise Maschinen, Schnittstellen, Funktionen, Reihenfolgen und Gruppierungen von Funktionen) zusätzlich zu den gezeigten oder anstelle derselben benutzt werden.
  • Ausführungsformen, die in den nachstehenden Absätzen beschrieben werden, können mit einer oder mehreren der spezifisch beschriebenen Alternativen kombiniert werden. Insbesondere kann eine beanspruchte Ausführungsform bei einer Alternative einen Verweis auf mehr als eine weitere Ausführungsform enthalten. Die beanspruchte Ausführungsform kann eine weitere Beschränkung des beanspruchten Erfindungsgegenstandes spezifizieren.
  • Der Erfindungsgegenstand der Ausführungsformen der Erfindung ist hier auf spezifische Weise beschrieben, um bestimmte gesetzliche Vorgaben zu erfüllen. Gleichwohl soll die Beschreibung selbst den Umfang des Patentes nicht einschränken. In die Erfindung ist einbezogen, dass der beanspruchte Erfindungsgegenstand auf verschiedene Weisen verkörpert sein kann, sodass verschiedene Schritte oder Kombinationen von Schritten beinhaltet sind, die zu den in der vorliegenden Druckschrift beschriebenen ähnlich sind, und dies in Verbindung mit weiteren gegenwärtigen oder zukünftigen Technologien. Obwohl darüber hinaus die Begriffe „Schritt“ und/oder „Block“ benutzt werden können, um verschiedene Elemente der eingesetzten Verfahren zu beschreiben, sollen die Begriffe nicht derart gedeutet werden, dass sie irgendeine bestimmte Reihenfolge zwischen verschiedenen hier offenbarten Schritten implizieren, es sei denn, die Reihenfolge der einzelnen Schritte wird explizit beschrieben.
  • Im Sinne der vorliegenden Offenbarung weist das Wort „beinhalten“ dieselbe allgemeine Bedeutung wie das Wort „umfassen“ auf, und das Wort „zugreifen“ umfasst „empfangen“, „verweisen“ oder „abrufen“. Des Weiteren weist das Wort „kommunizieren“ dieselbe allgemeine Bedeutung wie das Wort „empfangen“ oder „übertragen“ auf, was durch software- oder hardwarebasierte Busse, Empfänger oder Überträger unter Nutzung der hier beschriebenen Kommunikationsmedien erleichtert wird. Zusätzlich beinhalten Worte wie „ein(e)“, außer es ist explizit anders angegeben, den Plural wie auch den Singular. Daher ist die Bedingung „ein Merkmal“ beispielsweise dann erfüllt, wenn ein oder mehrere Merkmale vorhanden sind. Zusätzlich beinhaltet der Begriff „oder“ die Konjunktion, die Disjunktion und beides („a oder b“ beinhaltet also „entweder a oder b“ wie auch „a und b“).
  • Im Sinne der vorstehenden Detailbeschreibung werden Ausführungsformen der vorliegenden Erfindung anhand einer verteilten Rechenumgebung beschrieben. Die hier dargestellte verteilte Rechenumgebung ist jedoch rein exemplarisch. Komponenten zur Durchführung von neuartigen Aspekten von Ausführungsformen können konfiguriert werden, wobei der Begriff „konfiguriert dazu“ „programmiert dazu“ bedeuten kann, bestimmte Aufgaben zu erledigen oder bestimmte abstrakte Datentypen unter Nutzung von Code zu implementieren. Obwohl Ausführungsformen der vorliegenden Erfindung allgemein die Umgebung der technischen Lösung und die hier beschriebenen Schematiken bezeichnen, sollte einsichtig sein, dass die beschriebenen Techniken auch auf andere Implementierungskontexte erweitert werden können.
  • Ausführungsformen der vorliegenden Erfindung sind in Bezug auf bestimmte Ausführungsformen beschrieben worden, die in jeder Hinsicht illustrativ und nicht restriktiv sein sollen. Alternative Ausführungsformen erschließen sich einem Fachmann auf dem Gebiet, zu dem die vorliegende Erfindung gehört, ohne von deren Umfang abzuweichen.
  • Aus dem Vorstehenden ist ersichtlich, dass die vorliegende Erfindung sehr gut geeignet ist, um alle vorgenannten Zwecke und Aufgaben zu erfüllen, und auch weitere Vorteile, die offensichtlich und strukturinhärent sind, aufweist.
  • Es sollte einsichtig sein, dass gewisse Merkmale und Unterkombinationen von Nutzen sind oder ohne Verweis auf andere Merkmale oder Unterkombinationen eingesetzt werden können. Dies ist in den Umfang der Ansprüche einbezogen und entspricht diesen.

Claims (20)

  1. Computerimplementiertes Verfahren, wobei das Verfahren umfasst: Mittel zum Zugreifen auf ein Bild, wobei das Bild einer Grafikbearbeitungsanwendung zugeordnet ist; Mittel zum Generieren von Werkzeugparametern auf Grundlage der an dem Bild erfolgenden Ausführung eines Satzes von Verarbeitungsschritten eines Objektentfernungswerkzeuges, wobei das Objektentfernungswerkzeug ein Grafikbearbeitungswerkzeug der Grafikbearbeitungsanwendung ist; Mittel zum auf Grundlage der Werkzeugparameter und des Bildes erfolgenden automatischen Generieren einer Werkzeugtutorialdatendatei, wobei das automatische Generieren der Tutorialdatendatei auf einem Integrieren der Werkzeugparameter und Bilddaten des Bildes in ein Werkzeugtutorialpaket, das dem Objektentfernungswerkzeug zugeordnet ist, beruht; und Mittel zum Kommunizieren der Werkzeugtutorialdatendatei zum Veranlassen einer Wiedergabe der Werkzeugtutorialdatendatei.
  2. Verfahren nach Anspruch 1, wobei das Werkzeugtutorialpaket abgegrenzte Abschnitte entsprechend Tutorialschritten umfasst, die mit den Werkzeugparametern und den Bilddaten integriert sind, wobei ein Werkzeugparameter eine messbare Kennung ist, die einen quantifizierten Wert für einen oder mehrere Schritte des Satzes von Verarbeitungsschritten eines Werkzeugarbeitsablaufes des Grafikbearbeitungswerkzeuges aufweist.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Generieren der Werkzeugparameter auf Grundlage eines Satzes von Werkzeugverarbeitungsschritten umfasst: Zugreifen auf eine messbare Kennung eines Werkzeugparameters, wobei die messbare Kennung einem oder mehreren Schritten des Satzes von Verarbeitungsschritten entspricht; und Bestimmen eines quantifizierten Wertes für die messbare Kennung auf Grundlage der Ausführung des einen oder der mehreren Schritte an Bilddaten des Bildes.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Grafikbearbeitungswerkzeug ein Fleckbeseitigungswerkzeug ist, das dem Schritt von Werkzeugverarbeitungsschritten zugeordnet ist, wobei der Satz von Werkzeugverarbeitungsschritten des Weiteren umfasst: Detektieren eines Gesichtes in dem Bild; Identifizieren von mehreren Gesichtsorientierungsmarkenpunkten des Gesichtes; auf Grundlage des Gesichtes und der mehreren Orientierungsmarken erfolgendes Ausführen einer Hautzonenbeschneidung an dem Bild; Detektieren eines oder mehrerer Flecken an dem Bild; Generieren einer Maske für den einen oder die mehreren Flecken des Bildes; Identifizieren eines oder mehrerer Beseitigungsursprungsbereiche des Bildes, wobei der eine oder die mehreren Beseitigungsursprungsbereiche eine Beseitigung entsprechend einem oder mehreren Flecken des Bildes unterstützen; und Generieren der Werkzeugparameter auf Grundlage des einen oder der mehreren Flecken des Bildes und des einen oder der mehreren Beseitigungsursprungsbereiche, wobei die Werkzeugparameter Beseitigungsparameter für das Fleckbeseitigungswerkzeug sind.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei das automatische Generieren der Werkzeugtutorialdatendatei beruht auf: Integrieren der Werkzeugparameter und Bilddaten des Bildes in ein Werkzeugtutorialpaket, das dem Grafikbearbeitungswerkzeug zugeordnet ist.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Integrieren der Werkzeugparameter und des Bildes, in das Werkzeugtutorialpaket des Weiteren umfasst: Zugreifen auf das Werkzeugtutorialpaket, wobei das Werkzeugtutorialpaket in einem portablen Tutorialformat vorliegt, das Kapitel oder Sektionen von Tutorialschritten umfasst; und Generieren der Werkzeugtutorialdatendatei auf Grundlage eines Abbildens der Tutorialschritte auf die Werkzeugparameter und Bilddaten des Bildes.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Veranlassen der Wiedergabe der Werkzeugtutorialdatendatei beruht auf: selektives Wiedergeben der Tutorialdatendatei auf Grundlage eines Bestimmens, dass wenigstens eine von mehreren nutzerbasierten selektiven Wiedergabebedingungen erfüllt ist; oder wobei veranlasst wird, dass die Werkzeugtutorialdatendatei generiert und sodann in einer Schnittstelle, die mit der Grafikbearbeitungsanwendung integriert ist, wiedergegeben wird auf Grundlage von: Bestimmen, dass der Nutzer ein Freemium-Nutzer ist und der Nutzer ein bestimmtes Bearbeitungswerkzeug anklickt; Bestimmen, dass der Nutzer nach einer gewissen Dauer ein bestimmtes Werkzeug nicht ausprobiert hat; oder Bestimmen, dass ein Nutzer während der Benutzung eines bestimmten Werkzeuges mit Problemen konfrontiert ist.
  8. Computerisiertes System, umfassend: Mittel zum Zugreifen auf ein Bild, wobei das Bild einer Grafikbearbeitungsanwendung zugeordnet ist; Mittel zum Generieren von Werkzeugparametern auf Grundlage der an dem Bild erfolgenden Ausführung eines Satzes von Verarbeitungsschritten eines Objektentfernungswerkzeuges, wobei das Objektentfernungswerkzeug ein Grafikbearbeitungswerkzeug der Grafikbearbeitungsanwendung ist; Mittel zum auf Grundlage der Werkzeugparameter und des Bildes erfolgenden automatischen Generieren einer Werkzeugtutorialdatendatei, wobei das automatische Generieren der Tutorialdatendatei auf einem Integrieren der Werkzeugparameter und Bilddaten des Bildes in ein Werkzeugtutorialpaket, das dem Objektentfernungswerkzeug zugeordnet ist, beruht; und Mittel zum Kommunizieren der Werkzeugtutorialdatendatei zum Veranlassen einer Wiedergabe der Werkzeugtutorialdatendatei.
  9. System nach Anspruch 8, wobei das Werkzeugtutorialpaket abgegrenzte Abschnitte entsprechend Tutorialschritten umfasst, die mit den Werkzeugparametern und den Bilddaten integriert sind, wobei ein Werkzeugparameter eine messbare Kennung ist, die einen quantifizierten Wert für einen oder mehrere Schritte des Satzes von Verarbeitungsschritten eines Werkzeugarbeitsablaufes des Objektentfernungswerkzeuges aufweist.
  10. System nach Anspruch 8 oder 9, wobei das Generieren der Werkzeugparameter auf Grundlage der Ausführung des Satzes von Verarbeitungsschritten umfasst: Zugreifen auf eine messbare Kennung eines Werkzeugparameters, wobei die messbare Kennung einem oder mehreren Schritten des Satzes von Verarbeitungsschritten entspricht; und Bestimmen eines quantifizierten Wertes für die messbare Kennung auf Grundlage der Ausführung des einen oder der mehreren Schritte an Bilddaten des Bildes.
  11. System nach einem der Ansprüche 8 bis 10, wobei das automatische Generieren der Tutorialdatendatei beruht auf: Integrieren der Werkzeugparameter und Bilddaten des Bildes in ein Werkzeugtutorialpaket, das dem Objektentfernungswerkzeug zugeordnet ist, wobei das Werkzeugtutorialpaket abgegrenzte Abschnitte entsprechend Tutorialschritten umfasst, die mit den Werkzeugparametern und den Bilddaten integriert sind.
  12. System nach einem der Ansprüche 8 bis 11, wobei das Integrieren der Werkzeugparameter und des Bildes in das Werkzeugtutorialpaket des Weiteren umfasst: Zugreifen auf das Werkzeugtutorialpaket, wobei das Werkzeugtutorialpaket in einem portablen Tutorialformat vorliegt, das Kapitel oder Sektionen von Tutorialschritten umfasst; und Generieren der Werkzeugtutorialdatendatei auf Grundlage eines Abbildens der Tutorialschritte auf die Werkzeugparameter und Bilddaten des Bildes.
  13. System nach einem der Ansprüche 8 bis 12, wobei das Veranlassen der Wiedergabe der Werkzeugtutorialdatendatei beruht auf: selektives Wiedergeben der Tutorialdatendatei auf Grundlage eines Bestimmens, dass wenigstens eine von mehreren nutzerbasierten selektiven Wiedergabebedingungen erfüllt ist; oder wobei veranlasst wird, dass die Werkzeugtutorialdatendatei generiert und sodann in einer Schnittstelle, die mit der Grafikbearbeitungsanwendung integriert ist, wiedergegeben wird auf Grundlage von: Bestimmen, dass der Nutzer ein Freemium-Nutzer ist und der Nutzer ein bestimmtes Bearbeitungswerkzeug anklickt; Bestimmen, dass der Nutzer nach einer gewissen Dauer ein bestimmtes Werkzeug nicht ausprobiert hat; oder Bestimmen, dass ein Nutzer während der Benutzung eines bestimmten Werkzeuges mit Problemen konfrontiert ist.
  14. Ein oder mehrere Computerspeichermedien, die darauf verkörperte computerausführbare Anweisungen aufweisen, die bei Ausführung durch ein Rechensystem mit einem Prozessor und einem Speicher den Prozessor veranlassen zum: Zugreifen auf ein Bild, wobei das Bild einer Grafikbearbeitungsanwendung zugeordnet ist; Generieren von Werkzeugparametern auf Grundlage der an dem Bild erfolgenden Ausführung eines Satzes von Verarbeitungsschritten eines Objektentfernungswerkzeuges, wobei das Objektentfernungswerkzeug ein Grafikbearbeitungswerkzeug der Grafikbearbeitungsanwendung ist; auf Grundlage der Werkzeugparameter und des Bildes erfolgenden automatischen Generieren einer Werkzeugtutorialdatendatei, wobei das automatische Generieren der Tutorialdatendatei auf einem Integrieren der Werkzeugparameter und Bilddaten des Bildes in ein Werkzeugtutorialpaket, das dem Objektentfernungswerkzeug zugeordnet ist, beruht; und Kommunizieren der Werkzeugtutorialdatendatei zum Veranlassen einer Wiedergabe der Werkzeugtutorialdatendatei.
  15. Medien nach Anspruch 14, wobei das Veranlassen, dass der Prozessor auf das Bild zugreift, umfasst: Zugreifen auf das Bild auf Grundlage einer Nutzerauswahl zum Startens des Objektentfernungswerkzeuges, wobei das Objektentfernungswerkzeug ein Premium-Grafikbearbeitungswerkzeug für die Grafikbearbeitungsanwendung ist, wobei die Grafikbearbeitungsanwendung als Freemium-Dienst, der wenigstens ein freies Grafikbearbeitungswerkzeug und das Premium-Grafikbearbeitungswerkzeug umfasst, bereitgestellt wird.
  16. Medien nach Anspruch 14 oder 15, wobei das Werkzeugtutorialpaket abgegrenzte Abschnitte entsprechend Tutorialschritten umfasst, die mit den Werkzeugparametern und den Bilddaten integriert sind, wobei ein Werkzeugparameter eine messbare Kennung ist, die einen quantifizierten Wert für einen oder mehrere Schritte des Satzes von Verarbeitungsschritten eines Werkzeugarbeitsablaufes des Objektentfernungswerkzeuges aufweist.
  17. Medien nach einem der Ansprüche 14 bis 16, wobei das Veranlassen, dass der Prozessor die Werkzeugparameter auf Grundlage der Ausführung des Satzes von Verarbeitungsschritten generiert, umfasst: Zugreifen auf eine messbare Kennung eines Werkzeugparameters, wobei die messbare Kennung einem oder mehreren Schritten des Satzes von Verarbeitungsschritten entspricht; und Bestimmen eines quantifizierten Wertes für die messbare Kennung auf Grundlage der Ausführung des einen oder der mehreren Schritte an Bilddaten des Bildes.
  18. Medien nach einem der Ansprüche 14 bis 17, wobei der Satz von Verarbeitungsschritten umfasst: Detektieren eines Gesichtes in dem Bild; Identifizieren von mehreren Gesichtsorientierungsmarkenpunkten des Gesichtes; auf Grundlage des Gesichtes und der mehreren Orientierungsmarken erfolgendes Ausführen einer Hautzonenbeschneidung an dem Bild; Detektieren eines oder mehrerer Flecken an dem Bild; Generieren einer Maske für den einen oder die mehreren Flecken des Bildes; Identifizieren eines oder mehrerer Beseitigungsursprungsbereiche des Bildes, wobei der eine oder die mehreren Beseitigungsursprungsbereiche eine Beseitigung entsprechend einem oder mehreren Flecken des Bildes unterstützen; und Generieren der Werkzeugparameter auf Grundlage des einen oder der mehreren Flecken des Bildes und des einen oder der mehreren Beseitigungsursprungsbereiche, wobei die Werkzeugparameter Beseitigungsparameter für das Fleckbeseitigungswerkzeug sind.
  19. Medien nach einem der Ansprüche 14 bis 18, wobei das Integrieren der Werkzeugparameter und des Bildes in das Werkzeugtutorialpaket des Weiteren umfasst: Zugreifen auf das Werkzeugtutorialpaket, wobei das Werkzeugtutorialpaket in einem portablen Tutorialformat vorliegt, das Kapitel oder Sektionen der Tutorialschritte umfasst; und Generieren der Werkzeugtutorialdatendatei auf Grundlage eines Abbildens der Tutorialschritte auf die Werkzeugparameter und Bilddaten des Bildes.
  20. Medien nach einem der Ansprüche 14 bis 19, wobei das Veranlassen des Prozessors zum Veranlassen einer Wiedergabe der Werkzeugtutorialdatendatei beruht auf: selektives Wiedergeben der Tutorialdatendatei auf Grundlage eines Bestimmens, dass wenigstens eine von mehreren nutzerbasierten selektiven Wiedergabebedingungen erfüllt ist; oder wobei veranlasst wird, dass die Werkzeugtutorialdatendatei generiert und sodann in einer Schnittstelle, die mit der Grafikbearbeitungsanwendung integriert ist, wiedergegeben wird auf Grundlage von: Bestimmen, dass der Nutzer ein Freemium-Nutzer ist und der Nutzer ein bestimmtes Bearbeitungswerkzeug anklickt; Bestimmen, dass der Nutzer nach einer gewissen Dauer ein bestimmtes Werkzeug nicht ausprobiert hat; oder Bestimmen, dass ein Nutzer während der Benutzung eines bestimmten Werkzeuges mit Problemen konfrontiert ist.
DE102021003755.3A 2020-10-06 2021-07-22 Contentadaptive Tutorials für Grafikbearbeitungswerkzeuge in einem Grafikbearbeitungssystem Pending DE102021003755A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/064,231 2020-10-06
US17/064,231 US20220108506A1 (en) 2020-10-06 2020-10-06 Content-adaptive tutorials for graphics editing tools in a graphics editing system

Publications (1)

Publication Number Publication Date
DE102021003755A1 true DE102021003755A1 (de) 2022-04-07

Family

ID=80738518

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021003755.3A Pending DE102021003755A1 (de) 2020-10-06 2021-07-22 Contentadaptive Tutorials für Grafikbearbeitungswerkzeuge in einem Grafikbearbeitungssystem

Country Status (3)

Country Link
US (1) US20220108506A1 (de)
CN (1) CN114387370A (de)
DE (1) DE102021003755A1 (de)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183752B2 (en) * 2005-07-14 2015-11-10 Red Hat, Inc. Tutorial generator with automatic capture of screenshots
US9665962B2 (en) * 2015-07-29 2017-05-30 Adobe Systems Incorporated Image distractor detection and processng
US10685470B2 (en) * 2018-09-12 2020-06-16 Adobe Inc. Generating and providing composition effect tutorials for creating and editing digital content

Also Published As

Publication number Publication date
US20220108506A1 (en) 2022-04-07
CN114387370A (zh) 2022-04-22

Similar Documents

Publication Publication Date Title
CN109741332B (zh) 一种人机协同的图像分割与标注方法
DE102017006558B4 (de) Semantische lnstanzebenensegmentierung
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE102018007937A1 (de) Entfernen und Ersetzen von Objekten in Bildern entsprechend einem geführten Nutzerdialog
DE102020002301A1 (de) Automatisches Detektieren nutzerseitig angeforderter Objekte in Bildern
DE102019005851A1 (de) Objektdetektion in Bildern
DE102020002153A1 (de) Einsetzen von ein Objektattribut detektierenden Modellen zum automatischen Auswählen von Versionen detektierter Objekte in Bildern
DE102016011173A1 (de) Erstellen von Zusammenfassungen von Multimediadokumenten
DE202016008193U1 (de) Segmentierung der auf einem Computergerät angezeigten Inhalte in Regionen basierend auf Bildpunkten eines Bildschirmfotos, das den Inhalt erfasst
DE112016005555T5 (de) CAPTCHA-Aufgaben auf Bildbasis
DE112019001175T5 (de) Visuelles Feedback zum Prozesszustand
DE10317234A1 (de) Systeme und Verfahren für eine verbesserte Genauigkeit von einem extrahierten digitalen Inhalt
DE102016014798A1 (de) Genaues Vorhersagen einer Etikettrelevanz bei einer Bildabfrage
DE112011101927T5 (de) Semantisches Parsen von Objekten in Videos
DE112011104487T5 (de) Verfahren und System zur prädiktiven Modellierung
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE102014117895A1 (de) Hinweis-basierte Spot-Healing-Techniken
DE102022202014A1 (de) Funktionstest für bewegliche Objekte in sicherheitskritischen Anwendungen mit räumlichem Darstellungslernen und kontradiktorischer Erzeugung
US20200364878A1 (en) Patch expansion for segmentation network training
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
DE102022201780A1 (de) Visuelles Analysesystem zum Bewerten, Verstehen und Verbessern tiefer neuronaler Netze
DE202017007534U1 (de) Multiskalige 3D-Textursynthese
Zheng et al. A new artistic information extraction method with multi channels and guided filters for calligraphy works
DE102018113621A1 (de) Verfahren zum Trainieren eines konvolutionellen neuronalen Netzwerks zum Verarbeiten von Bilddaten zur Anwendung in einem Fahrunterstützungssystem
DE102017006557A1 (de) Verwenden von Markierungen zum Verfolgen von hochfrequenten Offsets für Patchabgleichsalgorithmen

Legal Events

Date Code Title Description
R012 Request for examination validly filed