DE102015000377A1 - Bereitstellen einer Zeichenhilfe unter Nutzung einer Merkmalserfassung und eines semantischen Kennzeichnens - Google Patents

Bereitstellen einer Zeichenhilfe unter Nutzung einer Merkmalserfassung und eines semantischen Kennzeichnens Download PDF

Info

Publication number
DE102015000377A1
DE102015000377A1 DE102015000377.1A DE102015000377A DE102015000377A1 DE 102015000377 A1 DE102015000377 A1 DE 102015000377A1 DE 102015000377 A DE102015000377 A DE 102015000377A DE 102015000377 A1 DE102015000377 A1 DE 102015000377A1
Authority
DE
Germany
Prior art keywords
stroke
feature
user
edge
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102015000377.1A
Other languages
English (en)
Inventor
Holger Winnemoeller
Jun Xie
Wilmot Wei-Mau Li
Aaron Phillip Hertzmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/176,034 external-priority patent/US9495581B2/en
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE102015000377A1 publication Critical patent/DE102015000377A1/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/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B11/00Teaching hand-writing, shorthand, drawing, or painting
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Verfahren zum Bereitstellen einer Zeichenhilfe für einen ein Bild zeichnenden Nutzer beinhalten ein geometrisches Korrigieren zum Anpassen von Nutzerstrichen zur Verbesserung von deren Platzierung und Aussehen. Insbesondere geben eine oder mehrere Leitkarten an, wo der Nutzer Linien zeichnen „sollte”. Zeichnet ein Nutzer einen Strich, so wird der Strich geometrisch durch Bewegen des Striches hin zu einem Abschnitt der Leitkarten entsprechend dem Merkmal des Bildes, das der Nutzer zu zeichnen beabsichtigt, auf Grundlage von Merkmalskennzeichnungen korrigiert. Zur weiteren Verbesserung der von dem Nutzer gezeichneten Linien werden parametrische Anpassungen optional an den geometrisch korrigierten Strichen vorgenommen, um „korrekt” gezeichnete Linien hervorzuheben und „nicht korrekt” gezeichnete Linien zu markieren.

Description

  • Verweis auf verwandte Anmeldungen
  • Die vorliegende Anmeldung ist eine Continuation-in-Part der am 3. Februar 2014 eingereichten US-Patentanmeldung mit der Nummer 14/171,760 und dem Titel „Geometrically and Parametrically Modifying User Input to Assist Drawing”, deren Inhalt hiermit durch Bezugnahme in Gänze mit aufgenommen ist.
  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung betreffen allgemein das Bereitstellen einer Zeichenhilfe für einen Nutzer. Insbesondere betreffen eine oder mehrere Ausführungsformen der vorliegenden Erfindung Systeme und Verfahren zum Anpassen von Nutzerstrichen auf Grundlage einer semantischen Kennzeichnungsinformation zur Unterstützung des Zeichnens.
  • 2. Hintergrund und Stand der Technik
  • Zeichnen ist eine wichtige Kommunikations- und Ausdrucksform. Bedauerlicherweise sind Zeichenneulinge bisweilen beim Zeichnen zögerlich, da sie meinen, dass ihnen die kreativen und technischen Fähigkeiten zum Herstellen von Arbeiten mit befriedigender optischer Qualität fehlen. Zeichenhilfeprogramme versuchen, Zeichenneulinge bei ihren Versuchen, Qualitätszeichnungen zu erzeugen, zu unterstützen. Herkömmliche Zeichenhilfeprogramme bieten oftmals einen Lernprogrammansatz. Obwohl Lernprogramme einen Nutzer dabei unterstützen können, verbesserte Zeichnungen herzustellen, verringern oder minimieren sie oftmals den Stil eines Nutzers. Des Weiteren können die Lernprogramme, optische Hinweise und andere Interaktionsparadigmata bewirken, dass der Nutzer seine Eigenleistung und eine persönliche Befriedigung hinsichtlich der sich ergebenden Arbeit weniger empfindet.
  • Um für einen Nutzer eine Hilfe bereitzustellen und die Zeichnung eines Nutzers zu korrigieren, kann eine Anleitung bereitgestellt werden, so beispielsweise die Ergebnisse eines Kantenerfassungsfilters, wodurch eine Vorstellung davon geliefert wird, welche Linien der Nutzer zeichnen sollte und welche er nicht zeichnen sollte. Die Ergebnisse der Kantenerfassungsfilter weisen jedoch verschiedene Nachteile auf, die verhindern, dass sie eine effektive Anleitung zum Korrigieren der Zeichnung eines Nutzers sind. Künstler sind beispielsweise beim Zeichnen von Linien wählerisch und lassen einige Merkmale absichtlich ungezeichnet, um Tiefe und Perspektive zu erzeugen. Im Gegensatz hierzu erzeugen Kantenerfassungsfilter üblicherweise eine Unzahl von Kanten. Daher sind die Ergebnisse von Kantenerfassungsfiltern oftmals verrauscht und inkonsistent hinsichtlich der Nutzung einer effektiven Zeichenhilfeanleitung.
  • Entlang betroffener Linien kann, wenn ein Bild Bereiche hoher Pixeldichte aufweist, ein Kantenerfassungsfilter Zonen hoher Kantenkonzentration erzeugen. Versucht ein Nutzer, ein Merkmal in derartigen Zonen zu skizzieren, so kann es schwierig oder unmöglich sein zu bestimmen, welche Kante als Anleitung für den Nutzerstrich genutzt werden sollte. Als solches können herkömmliche Zeichenhilfeprogramme eine Kante zum Korrigieren eines Abschnittes eines Nutzerstriches und eine andere Kante zum Korrigieren eines anderen Abschnittes des Nutzerstriches nutzen. Das Ergebnis derartiger Korrekturen kann zu verzerrten Zeichnungen führen.
  • Neulinge glauben üblicherweise, dass sie nicht kreativ sind oder dass sie nicht über ein angemessenes technisches Niveau zum Zeichnen verfügen. Zeichenneulinge stehen oftmals identischen Herausforderungen gegenüber, die bewirken, dass ihnen Selbstvertrauen fehlt und sie Arbeiten geringerer Qualität herstellen. Diese Herausforderungen können unter anderem das Fehlen eines Verständnisses für Licht, Tiefe, Perspektive und Elementbeziehungen innerhalb einer Zeichnung beinhalten. Infolgedessen, dass ein Neuling zur Überwindung dieser Herausforderungen nicht fähig ist, sind von Neulingen erstellte Zeichnungen oftmals von schlechter Qualität, wodurch bewirkt wird, dass Neulinge von der Nutzung von Zeichnungen als Kommunikations- und Ausdrucksform Abstand nehmen.
  • Eine Herausforderung, der sich Zeichenneulinge gegenübersehen, besteht darin, wie man ästhetisch ansprechende Linien zeichnet, um ein qualitativ hochwertiges Ergebnis zu erzeugen. Neulinge sind oftmals hinsichtlich Platzierung, Form und Krümmung von Linien unsicher. Diese Unsicherheit kann bewirken, dass ein Neuling langsam und mit vielen Korrekturen entlang eines einzigen Striches zeichnet. Derartige Striche erscheinen üblicherweise gezackt, wobei ihnen ansonsten das dynamische Aussehen eines Striches eines geübten Künstlers, der diesen mit kontrollierter Geschwindigkeit und Krümmung geschaffen hat, fehlt.
  • Eine weitere Herausforderung für Zeichenneulinge besteht darin, dass sie üblicherweise dasjenige, was sie „wissen”, anstelle desjenigen, was sie „sehen”, zeichnen. Beim Skizzieren von Gesichtern zeichnen Zeichenneulinge beispielsweise tendenziell sowohl die Augen wie auch den Mund in Form einer geschlossenen Mandel. Dies steht im Gegensatz zu geübten Künstlern, die einige Linien tendenziell hervorheben, während sie andere weglassen, um Strukturdetails und Beleuchtungseffekte zu erzeugen. Die Unfähigkeit von Zeichenneulingen, zu sehen und Konturen und Beleuchtungseffekte zu erzeugen, führt oftmals zu vereinfachten Darstellungen von Objekten und erzeugt Endergebnisse niedrigerer Qualität.
  • Zeichnen und Skizzieren unter Nutzung von Computern, Tablets und Mobilvorrichtungen ist zunehmend populär geworden. Derartige Vorrichtungen bieten vielerlei Vorteile, darunter die Zugänglichkeit und die Einfachheit der Nutzung. Bedauerlicherweise können Rechenvorrichtungen die Herausforderungen, denen sich Zeichenneulinge gegenübersehen, noch verschärfen. Die Nutzung von Eingabevorrichtungen niedriger Auflösung, so beispielsweise eines berührungsempfindlichen Bildschirmes oder eines Trackpads, kann beispielsweise zu falsch platzierten, verschobenen oder zittrigen Linien führen. Zudem kann es das „Dicker-Finger”-Problem sogar für erfahrenere Künstler schwierig machen, an der „korrekten” Stelle zu zeichnen.
  • Diese und weitere Nachteile können beim Zeichnen insbesondere unter Nutzung eines berührungsempfindlichen Bildschirms oder anderer Vorrichtungen niedriger Auflösung vorhanden sein.
  • Kurzbeschreibung der Erfindung
  • Ausführungsformen der vorliegenden Erfindung bieten Vorteile und/oder lösen eines oder mehrere der vorgenannten oder weitere Probleme im Stand der Technik mit Systemen und Verfahren, die ein semantisches Kennzeichnen zur Bereitstellung einer intelligenten Zeichenhilfe nutzen. Insbesondere erfasst bei einer oder mehreren Ausführungsformen ein Zeichenhilfesystem die Merkmale eines Bildes, das der Nutzer zeichnet.
  • Zeichnet der Nutzer einen Strich, so wird der Nutzerstrich geometrisch durch Bewegen des Striches hin zu dem Merkmal des Bildes, das der Nutzer zu zeichnen beabsichtigt, korrigiert.
  • Bei einer oder mehreren Ausführungsformen nutzen die Zeichenhilfesysteme und Verfahren eine oder mehrere Planvorlagen bzw. Leitkarten als Grundlage zum Korrigieren der Nutzerstriche. Die Leitkarte/Leitkarten kann/können einen Hinweis darauf bereitstellen, wo und wie ein Nutzer Merkmale des Bildes zeichnen sollte. Bei einigen Ausführungsformen kann ein derartiger Hinweis explizit sein, so beispielsweise durch geeignete Visualisierung der Leitkarte/Leitkarten (Beispielsweise kann der Nutzer eine Leitkarte nachfahren). Bei anderen Ausführungsformen kann der Hinweis implizit sein. Mit anderen Worten, der Nutzer sieht die Leitkarte/Leitkarten nicht. Anstelle dessen werden, wenn der Nutzer zeichnet, die Nutzerstriche korrigiert und an die Merkmale der Leitkarte angeglichen, wie nachstehend noch beschrieben wird, und zwar auf eine für den Nutzer nicht wahrnehmbare Weise. Zusätzlich können ein oder mehrere Leitkarten den Ort von Merkmalen, die in dem Bild erfasst werden, durch Nutzung von semantischen Kennzeichnungen angeben. Die semantischen Kennzeichnungen können dazu beitragen sicherzustellen, dass ein Nutzerstrich hin zu dem Merkmal, das der Nutzer zu zeichnen beabsichtigt, anstatt zu einem anderen nahegelegenen Merkmal während des Korrekturprozesses bewegt wird.
  • Zur weiteren Verbesserung der Nutzerstriche können optional die Zeichenhilfesysteme und Verfahren parametrische Anpassungen bereitstellen. Die parametrischen Anpassungen heben „korrekt” gezeichnete Linien hervor und markieren „nicht korrekt” gezeichnete Linien. Zusätzlich können parametrische Anpassungen Strukturdetails und Beleuchtungseffekte erzeugen.
  • Die hier offenbarten Systeme und Verfahren können ermöglichen, dass Nutzer mit wenig oder keiner Übung optisch ansehnliche Zeichnungen herstellen. Insbesondere können die Systeme und Verfahren einer oder mehrerer Ausführungsformen dazu beitragen, die geometrische Platzierung von Nutzerlinien, die durch Unerfahrenheit, Unsicherheit und/oder die Nutzung von Eingabevorrichtungen niedriger Auflösung geprägt sind, zu korrigieren. Bei einer oder mehreren Ausführungsformen können die hier offenbarten Systeme und Verfahren derartige Vorteile bereitstellen, während der individuelle Stil eines Nutzers erhalten bleibt, um so Zeichnungen herzustellen, die dazu beitragen, beim Nutzer ein Gefühl für die Eigenleistung und einen hohen Grad an persönlicher Befriedigung hervorzurufen.
  • Zusätzliche Merkmale und Vorteile der exemplarischen Ausführungsformen der vorliegenden Erfindung sind in der nachfolgenden Beschreibung niedergelegt und erschließen sich teilweise aus der Beschreibung oder können durch praktische Umsetzung derartiger exemplarischer Ausführungsformen erfahren werden. Die Merkmale und Vorteile derartiger Ausführungsformen können mittels derjenigen Instrumente und Kombinationen verwirklicht und erhalten werden, auf die in den beigefügten Ansprüchen besonders verwiesen wird. Diese und weitere Merkmale erschließen sich besser aus der nachfolgenden Beschreibung und den beigefügten Ansprüchen oder können durch praktische Umsetzung derartiger exemplarischer Ausführungsformen gemäß nachstehender Darstellung erfahren werden. Die vorstehende Zusammenfassung ist kein ausführlicher Überblick, und es ist dort nicht beabsichtigt, Schlüsselelemente zu identifizieren oder den Umfang der Erfindung anzugeben. Anstatt dessen identifiziert die vorstehende Zusammenfassung Aspekte von Ausführungsformen der Erfindung als Einleitung zur nachfolgenden Detailbeschreibung.
  • Kurzbeschreibung der Zeichnung
  • Zur Beschreibung der Art, auf die man die vorstehend aufgeführten und weitere Vorteile und Merkmale der Erfindung erhalten kann, wird eine genauere Beschreibung der vorstehend kurz beschriebenen Erfindung anhand spezifischer Ausführungsformen hiervon, die in der begleitenden Zeichnung dargestellt sind, vorgelegt. Man beachte, dass die Figuren nicht maßstabsgetreu gezeichnet sind und dass Elemente mit ähnlicher Struktur oder Funktion zu illustrativen Zwecken in allen Figuren im Allgemeinen mit den gleichen Bezugszeichen bezeichnet sind. Unter der Annahme, dass diese Figuren nur typische Ausführungsformen der Erfindung darstellen und daher nicht als umfangsbeschränkend betrachtet werden sollen, wird die Erfindung mit zusätzlicher Spezifität und Detailliertheit unter Nutzung der nachfolgenden Zeichnung beschrieben und erläutert, die sich wie folgt zusammensetzt.
  • 1 zeigt ein Zeichenhilfesystem entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 2A zeigt ein Rechensystem, das ein Bild anzeigt, über dem ein Nutzer zeichnen soll, entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 2B zeigt die Rechenvorrichtung von 2A, die eine Planvorlage bzw. Leitkarte des Bildes von 2A anzeigt, entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 2C zeigt die Rechenvorrichtung von 2A, die eine Merkmalsleitkarte des Bildes von 2A mit Merkmalskennzeichnungen anzeigt, die die verschiedenen Merkmale anzeigen, die in dem Bild erfasst werden, entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 2D zeigt die Rechenvorrichtung von 2A, die die Leitkarte von 2B zusammen mit Merkmalskennzeichnungen anzeigt, die die verschiedenen Merkmale anzeigen, die in dem Bild erfasst werden, entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 2E zeigt die Rechenvorrichtung von 2A, die zwei Nutzerstriche anzeigt, die über dem Bild von 2A gezeichnet sind, entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 2F zeigt einen der Nutzerstriche von 2E und eine geglättete Version des Nutzerstriches entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 2G zeigt die Rechenvorrichtung und das Bild von 2A und zwei geometrisch korrigierte Striche entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 2H zeigt eine parametrische angepasste Version eines der geometrisch korrigierten Striche von 2G entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 3A zeigt eine weitere Leitkarte des Bildes von 2A entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 3B zeigt eine Künstlerskizze des Bildes von 2A entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 4A zeigt ein weiteres Bild, über dem ein Nutzer zeichnen soll, entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 4B zeigt eine von einem Nutzer gezeichnete Skizze des Bildes von 4A entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 4C zeigt eine Ausgabezeichnung, die durch geometrisches Korrigieren und parametrisches Anpassen der von dem Nutzer gezeichneten Skizze von 4A gebildet ist, entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 5A zeigt die Ausgabezeichnung von 4C.
  • 5B zeigt eine weitere Ausgabezeichnung, die durch geometrisches Korrigieren und parametrisches Anpassen der Nutzerstriche gebildet ist, entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 5C zeigt eine weitere Ausgabezeichnung, die durch geometrisches und parametrisches Anpassen der Nutzerstriche gebildet ist, entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 6A zeigt das Bild von 4A.
  • 6B zeigt das Bild von 6A mit Merkmalskennzeichnungen, die die verschiedenen Merkmale angeben, die in dem Bild erfasst werden, entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 6C zeigt eine Leitkarte des Bildes von 4A entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 6D zeigt die Leitkarte von 6C mit Merkmalskennzeichnungen, die die verschiedenen Merkmale angeben, die in dem Bild erfasst werden, entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 7 zeigt ein Flussdiagramm einer Abfolge von Vorgängen bei einem Verfahren des Bereitstellens einer Zeichenhilfe durch geometrisches Korrigieren von Nutzerstrichen unter Nutzung eines semantischen Kennzeichnens entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 8 zeigt ein Flussdiagramm einer Abfolge von Vorgängen bei einem weiteren Verfahren des Bereitstellens einer Zeichenhilfe durch geometrisches Korrigieren von Nutzerstrichen unter Nutzung eines semantischen Kennzeichnens entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 9 zeigt ein Blockdiagramm einer exemplarischen Rechenvorrichtung entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • Detailbeschreibung
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung beinhalten ein Zeichenhilfesystem, das dazu beiträgt, dass ein Nutzer eine originelle Zeichnung oder Skizze herstellt. Insbesondere stellt das Zeichenhilfesystem ein Bild bereit, auf dem ein Nutzer zeichnen kann. Zeichnet der Nutzer einen Strich, so korrigiert das Zeichenhilfesystem geometrisch den Strich durch Bewegen des Striches hin zu dem Merkmal des Bildes, das der Nutzer zu zeichnen beabsichtigt. Das Zeichenhilfesystem kann eine oder mehrere Leitkarten als Grundlage oder Anleitung zum Korrigieren von Nutzerstrichen nutzen. Die Leitkarte/Leitkarten kann/können einen Hinweis darauf geben, wo und/oder wie ein Nutzer seine Striche platzieren sollte.
  • Um dazu beizutragen sicherzustellen, dass Nutzerstriche richtig korrigiert werden (das heißt, dass ein Nutzerstrich zu einem Merkmal des Bildes, das der Nutzer zu zeichnen beabsichtigt, und nicht zu einem anderen nahegelegenen Merkmal bewegt wird) kann wenigstens eine der Leitkarten semantische oder Merkmalskennzeichnungen beinhalten, die den Ort eines oder mehrerer Merkmale des Bildes angeben. Zeichnet ein Nutzer einen Strich, so kann das Zeichenhilfesystem erfassen, welches Merkmal der Nutzer zu zeichnen beabsichtigt, und sodann den Strich unter Nutzung des beabsichtigten Merkmals als Anleitung korrigieren. Damit kann das semantische oder Merkmalskennzeichnen ermöglichen, dass Systeme und Verfahren wissen, welche geometrischen Anpassungen vorzunehmen sind, und dies sogar dann, wenn der Nutzer Bereiche zeichnet, die voll mit Merkmalen sind. Als solches können eine oder mehrere Ausführungsformen eine intelligente Zeichenhilfe bereitstellen, die die Absicht eines Nutzers erkennt und die Nutzerstriche entsprechend korrigiert.
  • Die hier offenbarten Systeme und Verfahren können ermöglichen, dass Nutzer mit wenig oder keiner Übung optisch ansprechende Zeichnungen herstellen können. Wie vorstehend erwähnt worden ist, können die hier offenbarten Systeme und Verfahren geometrische Korrekturen an Nutzerstrichen vornehmen. Im Sinne des Vorliegenden bezeichnen die Begriffe „geometrische Korrekturen” oder „geometrisches Korrigieren” ein Bewegen, Umpositionieren und/oder Umgestalten von von einem Nutzer gezeichneten Strichen oder Linien (oder von Abschnitten hiervon) hin zu „korrekten” Positionen und/oder Formen, wie sie durch eine oder mehrere Leitkarten definiert sind. Geometrische Korrekturen können beispielsweise von einem Nutzer gezeichnete Striche oder Linien, die infolge fehlender Kontrolle oder Unsicherheit falsch platziert und/oder misslungen sind, bewegen, umpositionieren und/oder umgestalten. Darüber hinaus können geometrische Korrekturen geübten Künstlern, die Eingabevorrichtungen niedriger Auflösung (beispielsweise einen berührungsempfindlichen Bildschirm, eine Maus oder ein Trackpad) nutzen, helfen, indem sie falsche Ausführungen infolge des „Dicker-Finger”-Problems ausgleichen.
  • Die hier offenbarten Systeme und Verfahren können die geometrischen Korrekturen bei gleichzeitiger Beibehaltung von stilistischen Eigenschaften des ursprünglichen Nutzerstriches bereitstellen. Insbesondere können die stilistischen Wahlmöglichkeiten oder Eigenschaften des ursprünglichen Nutzerstriches (so beispielsweise Qualität, Länge, Form und Krümmung des Striches) wenigstens teilweise trotz der geometrischen Korrektur des Nutzerstriches beibehalten werden. Das Beibehalten des individuellen Stils eines Nutzers kann dazu beitragen, dass der Nutzer seine Eigenleistung und eine Verbindung zur Ausgabezeichnung wie auch einen hohen Grad an persönlicher Befriedigung beim Erstellen einer Ausgabezeichnung höherer Qualität empfindet.
  • Zusätzlich zum geometrischem Korrigieren von Nutzerstrichen können eine weitere oder mehrere weitere Ausführungsformen der vorliegenden Erfindung des Weiteren dabei helfen, eine optisch ansprechende Zeichnung bereitzustellen, und zwar durch parametrisches Anpassen von Nutzerstrichen. Im Sinne des Vorliegenden bezeichnen die Begriffe „parametrische Anpassungen” oder „parametrisches Anpassen” ein Hervorheben (emphasize) oder weniger Hervorheben (de-emphasize) von Linien auf Grundlage davon, ob diese „korrekt” oder „nicht korrekt” im Vergleich dazu, wie sie durch eine oder mehrere Leitkarten definiert sind, gezeichnet sind. Parametrische Anpassungen können dabei helfen, die negativen Effekte von falsch gezeichneten oder falsch platzierten Linien durch Aufhellen oder auf andere Weise erfolgendes weniger Hervorheben derselben zu verringern. Entlang betroffener Linien können parametrische Anpassungen dabei helfen, korrekt gezeichnete Linien durch Verdunkeln derselben oder Vergrößern ihrer Opazität hervorzuheben. Darüber hinaus können parametrische Anpassungen dabei helfen, Tiefe, Strukturdetails und Beleuchtungseffekte bereitzustellen.
  • Um dazu beizutragen, dass der Nutzer seine Eigenleistung hinsichtlich der Ausgabezeichnung empfindet, modifiziert bei einer oder mehreren Ausführungsformen das System jeden Eingabestrich, wenn der Strich von dem Nutzer gezeichnet wird. Mit anderen Worten, wenn der Nutzer einen Strich zeichnet, zeigt das System nicht den Nutzerstrich an, sondern zeigt vielmehr den geometrisch korrigierten und optional parametrisch angepassten Strich an. Bei derartigen Ausführungsformen ist der Korrektur- und Anpassungsprozess für den Nutzer nicht wahrnehmbar, was das Bewusstsein des Nutzers hinsichtlich des Ausmaßes beliebiger geometrischer Korrekturen und parametrischer Anpassungen verringert. Bei alternativen Ausführungsformen kann der Nutzer die Eingabestriche instantan betrachten, wenn sie gezeichnet werden, damit er eine Vorstellung von den Korrekturen und Anpassungen, die das System vornimmt, erhält. Zusätzlich oder alternativ kann das System für den Nutzer eine Option dafür bereitstellen, die Eingabezeichnung mit den ursprünglichen Strichen anzusehen, damit er in die Lage versetzt wird, die Eingabezeichnung mit der Ausgabezeichnung, die aus den geometrisch korrigierten und optional parametrisch angepassten Strichen besteht, zu vergleichen.
  • Entlang ähnlicher Linien wird/werden bei Ausführungsformen, bei denen der Korrekturprozess für den Nutzer nicht wahrnehmbar ist, die Leitkarte/Leitkarten nicht für den Nutzer bereitgestellt und am Backend bzw. zum Schluss genutzt, um die Nutzerstriche zu korrigieren. Mit anderen Worten, der Nutzer kann die Leitkarte/Leitkarten nicht ansehen. Alternativ kann das System eine Option für den Nutzer bereitstellen, die Leitkarte/Leitkarten anzusehen, damit dieser in der Lage ist, die Eingabezeichnung, die Ausgabezeichnung und die Leitkarte/Leitkarten zu vergleichen.
  • 1 zeigt eine Ausführungsform eines exemplarischen Zeichenhilfesystems 100. Das Zeichenhilfesystem 100 kann, jedoch nicht hierauf beschränkt, einen Planvorlage- bzw. Leitkartengenerator 101, einen Merkmalsdetektor 102, einen Neuabtaster (resampler) 104, einen Glätter (smoother) 106, einen geometrischen Korrektor 108, einen parametrischen Anpasser 110 und ein Speichermodul 112 beinhalten. Jede der Komponenten 101 bis 112 des Zeichenhilfesystems kann in Kommunikation mit einer anderen unter Nutzung von geeigneten Kommunikationstechnologien sein. Wie in 1 gezeigt ist, kann das Zeichenhilfesystem 100 ein oder mehrere Rechenvorrichtungen (das heißt eine Clientvorrichtung 118, eine Servervorrichtung 120) beinhalten.
  • Man beachte, dass ungeachtet dessen, dass die Komponenten 101 bis 112 des Zeichenhilfesystems 100 in 1 getrennt gezeigt sind, beliebige der Komponenten 101 bis 112 zu weniger Komponenten, so beispielsweise auch zu einer einzigen Komponente, kombiniert werden können oder in mehr Komponenten, wie es bei einer bestimmten Implementierung der Fall ist, unterteilt werden können. Die Komponenten 101 bis 112 können Software, Hardware oder beides umfassen. Die Komponenten 101 bis 112 können beispielsweise eine oder mehrere Anweisungen umfassen, die auf einem computerlesbaren Speichermedium gespeichert sind und durch Prozessoren einer oder mehrerer Rechenvorrichtungen (beispielsweise die Clientvorrichtung 118 und/oder die Servervorrichtung 120) ausführbar sind. Bei Ausführung durch den einen oder die mehreren Prozessoren können die computerausführbaren Anweisungen des Zeichenhilfesystems 100 veranlassen, dass die Rechenvorrichtung/Rechenvorrichtungen 118, 120 die hier beschriebenen Zeichenhilfeverfahren durchführt/durchführen. Alternativ können die Komponenten 101 bis 112 Hardware, so beispielsweise eine Spezialzweckverarbeitungsvorrichtung zum Durchführen einer bestimmten Funktion oder einer Gruppe von Funktionen umfassen. Zusätzlich oder alternativ können die Komponenten 101 bis 112 eine Kombination von computerausführbaren Anweisungen und Hardware umfassen.
  • Des Weiteren können die Komponenten 101 bis 112 des Zeichenhilfesystems 100 beispielsweise als eigenständige Anwendung, als Modul einer Anwendung, als Plug-in für Anwendungen mit Bildverarbeitungsanwendungen, als Bibliotheksfunktion oder Funktionen, die von anderen Anwendungen, so beispielsweise Bildverarbeitungsanwendungen, aufgerufen werden können, und/oder als Cloud-Computing-Modell implementiert sein. Damit können die Komponenten des Zeichenhilfesystems 100 als eigenständige Anwendung, also beispielsweise als Desktop- oder Mobilanwendung, implementiert sein. Alternativ oder zusätzlich können die Komponenten des Zeichenhilfesystems 100 in einer beliebigen Bildverarbeitungsanwendung implementiert sein, darunter unter anderem ADOBE PHOTOSHOP, ADOBE PHOTOSHOP ELEMENTS und ADOBE ILLUSTRATOR. „ADOBE”, „PHOTOSHOP”, „ELEMENTS” und „ILLUSTRATOR” sind entweder eingetragene Marken oder Marken von Adobe Systems Incorporated in den Vereinigten Staaten und/oder anderen Ländern.
  • 2A bis 2H und die zugehörige Beschreibung bieten einen Überblick über ein Zeichenhilfeverfahren, das von dem Zeichenhilfesystem 100 durchgeführt werden kann. 2A zeigt eine Clientvorrichtung 202, auf der ein Zeichenhilfesystem 100 oder ein oder mehrere der Zeichenhilfekomponenten 101 bis 112 implementiert sein können. Mit anderen Worten, die Clientvorrichtung 202 ist ein Beispiel für eine Rechenvorrichtung, die einen Teil des Zeichenhilfesystems 100 bilden kann. Bei der in 2A dargestellten Ausführungsform umfasst die Clientvorrichtung 202 einen Tablet mit einem berührungsempfindlichen Bildschirm 204. Der Tablet mit dem berührungsempfindlichen Bildschirm 204 ist nur ein Typ von Clientvorrichtung 118, die als Teil des Zeichenhilfesystems 100 genutzt werden kann. Bei alternativen Ausführungsformen kann die Clientvorrichtung 202 beispielsweise eine beliebige Anzahl von verschiedenen Typen von Rechenvorrichtungen, so beispielsweise die nachstehend anhand 8 beschriebenen, umfassen.
  • Um dem Nutzer zu helfen und die Angst vor einer leeren Seite zu verringern, kann das Zeichenhilfesystem 100 ein Bild 206 in einer Nutzerschnittstelle 207 bereitstellen. Das Zeichenhilfesystem 100 kann das Bild 206 bereitstellen, indem die Clientvorrichtung 202 angewiesen wird, das Bild 206 über eine Anzeigevorrichtung (beispielsweise den berührungsempfindlichen Bildschirm 204) anzuzeigen. Das Bild 206 kann ein Bild umfassen, das der Nutzer aus der Bildbibliothek 114 des Speichermoduls 112 auswählt. Die Bildbibliothek 114 kann eine Mehrzahl von Bildern beinhalten, die Nutzer zum Zeichnen auswählen können. Zusätzlich oder alternativ kann der Nutzer ein Bild in das Zeichenhilfesystem 100, so beispielsweise von einem lokalen Laufwerk, aus dem Internet oder von einer Kamera einer Vorrichtung importieren/hochladen, auf der das Zeichenhilfesystem 100 implementiert ist. Importiert ein Nutzer das Bild 206, das nicht in der Bildbibliothek 114 gespeichert ist, oder wählt er es auf andere Weise aus, so kann das Zeichenhilfesystem 100 es automatisch zur zukünftigen Nutzung zu der Bildbibliothek 114 hinzufügen.
  • Wie in 1 gezeigt ist, kann das Speichermodul 112, das die Bildbibliothek 114 und die Planvorlagen- bzw. Leitkartenbibliothek 116 beinhaltet, vollständig oder teilweise auf der Clientvorrichtung 118 befindlich sein. Alternativ kann das Speichermodul 112, das die Bildbibliothek 114 und die Leitkartebibliothek 116 beinhaltet, auch auf der Servervorrichtung 120 befindlich sein. Bei anderen Ausführungsformen kann die Clientvorrichtung 118 mit der Servervorrichtung 120 über ein Netzwerk kommunizieren, um Bilder 206 oder Leitkarten abzurufen.
  • Das Bild 206, das in 2A gezeigt ist, ist das Gesicht eines Schauspielers. Gesichter sind beim Zeichnen oftmals problematisch, sind jedoch gleichwohl bei der optischen Kommunikation von überragender Bedeutung. Exemplarische Ausführungsformen der vorliegenden Erfindung werden hier anhand der Korrektur von Gesichterzeichnungen eines Nutzers beschrieben. Im Lichte der hier bereitgestellten Offenbarung sollte jedoch einsichtig sein, dass die vorliegende Erfindung nicht auf das Korrigieren von Gesichterzeichnungen beschränkt ist. Das Zeichenhilfesystem 100 kann den Nutzer beim Zeichnen eigentlich jeden Bildes mit zusätzlicher semantischer Information unterstützen.
  • Wie vorstehend ausgeführt worden ist, kann das Zeichenhilfesystem 100 eine oder mehrere Leitkarten als Anleitung zum Korrigieren von Nutzerstrichen nutzen. Das Zeichenhilfesystem 100 kann Leitkarten für das Bild 206 herstellen oder abrufen. Im Sinne des Vorliegenden bezeichnet der Begriff „Leitkarte” Daten zur Darstellung einer idealisierten Version eines oder mehrerer Abschnitte des Bildes. Die Leitkarten stellen die Grundlage für geometrische Korrekturen und parametrische Anpassungen bereit. Eine Leitkarte kann eine Wiedergabe bzw. Rendern von Punkten, Linien oder Kanten zur Darstellung eines oder mehrerer Abschnitte des Bildes umfassen. Alternativ kann eine Leitkarte eine Sammlung von Datenpunkten umfassen. Darüber hinaus kann bei einer oder mehreren Ausführungsformen eine Leitkarte ein semantisches Kennzeichnen beinhalten, das einen Kontext für die Abschnitte (das heißt Punkte, Linien oder Kanten) der Leitkarte bereitstellt. Während der geometrischen Korrektur bewegt das Zeichenhilfesystem 100 in jedem Fall (beispielsweise durch Umpositionieren und/oder Umgestalten) die Nutzerstriche zu oder hin zu den Linien oder Kanten der Leitkarte/Leitkarten. Mit anderen Worten, die Leitkarte/Leitkarten kann/können angeben, welche Linien der Nutzer zeichnen „sollte” und wo der Nutzer die Linien zeichnen „sollte”. Exemplarische Leitkarten beinhalten das Ergebnis eines Kantenerfassungsfilters, der bei einem Bild eingesetzt wurde, eine Künstlerskizze des Bildes, Ergebnisse eines Merkmalserfassungsalgorithmus und ein Kompendium von Nutzerzeichnungen des Bildes 206.
  • Der Leitkartengenerator 101 kann eine oder mehrere Leitkarten aus einem ausgewählten Bild 206 erzeugen. 2B zeigt beispielsweise eine Ausführungsform einer Kantenleitkarte 208 des Bildes 206 von 2A. Zum Herstellen der Kantenleitkarte 208 kann der Leitkartengenerator 101 einen Kantenerfassungsfilter bei dem Bild 206 von 2A einsetzen. Die Kantenleitkarte 208 stellt Merkmale (beispielsweise Linien oder Kanten) bereit, zu denen hin die Nutzerstriche geometrisch korrigiert und/oder an die sie parametrisch angepasst werden können. Alternativ kann die Kantenleitkarte eine Künstlerskizze des Bildes, ein Kompendium von Nutzerzeichnungen des Bildes oder eine andere Anleitung, die Linien oder Kanten zur Anzeige dessen angibt, wo ein oder mehrere Merkmale des Bildes 216 befindlich sind, beinhalten.
  • Bei einer oder mehreren Ausführungsformen kann der Leitkartengenerator 101 einen erweiterten Difference-of-Gaussians-Filter (XDoG) mit einer Kanteneinstellung bei dem Bild 206 betreiben, um die Kantenleitkarte 208 herzustellen. Beschrieben werden geeignete Beispiele für XDoG-Filter in „XDoG: An eXtended Difference-of-Gaussians Compendium including Advanced Image” von Holger Winnemöller et al., veröffentlicht bei 36 (6) Stylization Computers & Graphics, 740–753 (2012), deren gesamter Inhalt hiermit durch Bezugnahme in Gänze mit aufgenommen ist. Es sollte einsichtig sein, dass auch andere Kantenerfassungsfilter, so beispielsweise Canny-Kantendetektoren oder Sobel-Detektoren, geeignete Kantenleitkarten bereitstellen können. Wie in 2B gezeigt ist, ist der XDoG-Filter mit einer Kanteneinstellung dafür geeignet, eine Kantenleitkarte herzustellen, die diejenigen Linien annähert, die ein Künstler zeichnen könnte, wenn er das Bild 206 skizziert. Insbesondere stellt die Kantenleitkarte 208 nicht sämtliche Merkmale des Bildes 206 mit einer Linie dar. So ist beispielsweise, wie durch den Pfeil 210 gezeigt ist, keine Kante für die linke Seite des Gesichtes des Schauspielers vorhanden. Auf ähnliche Weise sind keine Kanten in der Kantenleitkarte 208 für Abschnitte des unteren Teiles beider Augen des Schauspielers vorhanden.
  • Ein oder mehrere Ausführungsformen der vorliegenden Erfindung ergänzen eine Kantenleitkarte 208 durch zusätzliche Daten. Insbesondere kann das Zeichenhilfesystem 100 die Kantenleitkarte 208 durch Bereitstellen von Kanten oder Linien dort ergänzen, wo diese in der Kantenleitkarte 208 fehlen. Alternativ kann das Zeichenhilfesystem 100 eine weitere Leitkarte (so beispielsweise eine Merkmalsleitkarte) bereitstellen, die die fehlenden Kanten der Leitkarte 208 berücksichtigt. Damit kann die zusätzliche Leitkarte eine Grundlage für Korrekturen von Nutzerstrichen entsprechend Merkmalen, die in der Kantenleitkarte 208 fehlen, bereitstellen.
  • Wie in 2B gezeigt ist, beinhaltet die Kantenleitkarte 208 Zonen von sich kreuzenden, dichten oder zusammenlaufenden Kanten. So laufen beispielsweise die rechte Seite der Nase, der Umriss des rechten Auges und die Iris zusammen, wie durch den Pfeil 212 angedeutet ist. Im Lichte der vorliegenden Offenbarung sollte einsichtig sein, dass es schwierig ist zu wissen, welche geometrischen Korrekturen an Nutzerstrichen in der Zone, die durch den Pfeil 212 angezeigt ist, vorzunehmen sind, da die Merkmale nicht alle wohldefiniert sind. Das Zeichenhilfesystem 100 kann beispielsweise die Kantenleitkarte 208 mit semantischer Kennzeichnungsinformation (das heißt Merkmalskennzeichnungen, die man aus dem Merkmalserfassungsprozess erhält) segmentieren und kennzeichnen. Das Zeichenhilfesystem 100 kann beispielsweise ein Markov'sches Random Field, eine Graphpartition oder einen Suchalgorithmus nach dem nächsten Nachbarn zum Segmentieren der Kantenleitkarte, wie nachstehend noch detaillierter erläutert wird, nutzen.
  • Zur Bereitstellung eines Kontextes für die Kantenleitkarte 208 beinhalten ein oder mehrere Ausführungsformen Verfahren des Kennzeichnens der Kanten der Kantenleitkarte mit Merkmalskennzeichnungen. Die Merkmalskennzeichnungen können ermöglichen, dass das Zeichenhilfesystem 100 die Doppeldeutigkeit verringert oder beseitigt und Nutzerstriche in Zonen, in denen Merkmale zusammenlaufen oder sich auf andere Weise schneiden, intelligent korrigiert.
  • Insbesondere kann der Merkmalsdetektor 102 das Bild 206 zum Identifizieren von Merkmalen des Bildes 206 analysieren. Der Merkmalsdetektor 102 kann beispielsweise einen Bildmerkmalserfassungsalgorithmus zum Identifizieren von verschiedenen Merkmalen des Bildes 206 anwenden. 2C zeigt das Ergebnis eines Gesichtstrackeralgorithmus, der bei dem Bild 206 zum Einsatz kommt. Wie in 2C gezeigt ist, werden die verschiedenen Merkmale des Bildes 206 identifiziert und mit Merkmalskennzeichnungen 211a bis 211f verknüpft. Insbesondere hat der Merkmalsdetektor 102 den Umriss des Gesichtes mit den Merkmalskennzeichnungen 211a, den Umriss der Augen mit den Merkmalskennzeichnungen 211b, den Umriss der Iris mit den Merkmalskennzeichnungen 211c, die Augenbrauen mit den Merkmalskennzeichnungen 211d, die Nase mit den Merkmalskennzeichnungen 211e und den Mund mit den Merkmalskennzeichnungen 211f verknüpft.
  • Unter Nutzung eines oder mehrerer der Merkmale, die von dem Merkmalsdetektor 102 identifiziert worden sind, kann der Leitkartengenerator 101 eine Merkmalsleitkarte 213 für das Bild 206 herstellen oder abrufen. Im Sinne des Vorliegenden bezeichnet der Begriff „Merkmalsleitkarte” Punkte und/oder Linien zum Identifizieren von Merkmalen eines Bildes, die von dem Merkmalsdetektor 102 erfasst werden. Eine Merkmalsleitkarte kann eine Wiedergabe bzw. Rendern von Punkten, Linien oder Kanten zur Darstellung eines oder mehrerer Abschnitte des Bildes umfassen. Alternativ kann eine Merkmalsleitkarte eine Sammlung von Datenpunkten umfassen. Bei einer oder mehreren Ausführungsformen schließt die Merkmalsleitkarte 213 Merkmale des Bildes aus, die nicht von dem Merkmalsdetektor 102 identifiziert werden. Wenn beispielsweise der Merkmalsdetektor 102 einen Gesichtsdetektoralgorithmus einsetzt, beinhaltet die Merkmalsleitkarte 213 Punkte und/oder Linien zum Identifizieren des Umrisses des Gesichtes, der Augen, der Iris, der Augenbrauen, der Nase und der Lippen, wie in 2C gezeigt ist. Die Merkmalsleitkarte 213, die in 2C gezeigt ist, enthält jedoch keine Punkte und/oder Linien zum Identifizieren des Haares oder des Hemds des Schauspielers. Alternativ kann die Merkmalsleitkarte nur Merkmale beinhalten, die in der Kantenleitkarte fehlen. Zusätzlich können Ausführungsformen des Merkmalsdetektors 102 mehrere Erfassungsalgorithmen auf das Bild anwenden. Der Merkmalsdetektor 102 kann beispielsweise einen Texturerkennungsalgorithmus zusätzlich zu dem Gesichtserfassungsalgorithmus einsetzen. Der Texturerkennungsalgorithmus kann Bereiche mit unterschiedlicher Textur (beispielsweise das Hemd im Vergleich zur Haut im Vergleich zum Haar) identifizieren.
  • Des Weiteren ist der Merkmalsdetektor 102 nicht auf das Erfassen von Gesichtsmerkmalen beschränkt. Der Merkmalsdetektor 102 kann beispielsweise auch oder alternativ Merkmale von Bildern von Landschaften oder Gegenständen über Gesichter hinausgehend erfassen und kennzeichnen. Der Merkmalsdetektor 102 kann beispielsweise eine Landschaft (Berge, Bäume, Seen, Himmel, Wasser, Straßen, Gebäude und dergleichen mehr) oder Komponenten eines Objektes (beispielsweise Speichen, Räder, Rahmen eines Fahrrades oder Körper, Fenster und Reifen eines Autos) erfassen. Des Weiteren kann der Merkmalsdetektor 102 einen Posendetektor, einen Kleidungsdetektor, einen Personendetektor oder einen beliebigen anderen verfügbaren Erfassungsalgorithmus oder eine solche Komponente zum Bereitstellen einer Daten-/Merkmalserkennung zum semantischen Kennzeichnen umfassen.
  • Die Merkmalsleitkarte 213 kann eine Ergänzung für eine andere Leitkarte beim Bereitstellen einer Grundlage für geometrische Korrekturen bereitstellen. Wenn beispielsweise die Kantenleitkarte 208 keine Kanten für ein Merkmal oder für Abschnitte eines Merkmals beinhaltet, kann die Merkmalsleitkarte 213 zum Ergänzen der Kantenleitkarte 208 genutzt werden. 2D zeigt beispielsweise, dass in der Kantenleitkarte eine Kante für die linke Seite des Gesichtes des Schauspielers, wie durch den Pfeil 222 angedeutet ist, fehlt. Wie nachstehend noch beschrieben wird, kann während der geometrischen Korrektur das Zeichenhilfesystem 100 einen Strich, von dem der Nutzer beabsichtigte, dass er auf der linken Seite des Gesichtes des Schauspielers befindlich ist, zu oder hin zu der Linie 214 der Merkmalsleitkarte 213 (siehe 2C) entsprechend der linken Seite des Gesichtes des Schauspielers bewegen (beispielsweise umpositionieren und/oder umgestalten).
  • In jedem Falle kann, sobald der Merkmalsdetektor 102 die verschiedenen Merkmale des Bildes 206 identifiziert hat, der Leitkartengenerator 101 die Merkmalskennzeichnungen 211a bis 211f mit Kanten der Kantenleitkarte 208 entsprechend den identifizierten Merkmalen verknüpfen. 2D zeigt beispielsweise Merkmalskennzeichnungen 211a bis 211f, die mit den Kanten der Kantenleitkarte 208 verknüpft sind, entsprechend den Merkmalen des Bildes 206. Insbesondere verknüpft der Leitkartengenerator 101 die Merkmalskennzeichnungen 211a mit den Kanten der Kantenleitkarte 208, die den Umriss des Gesichtes bilden, verknüpft die Merkmalskennzeichnungen 211b mit den Kanten, die den Umriss der Augen bilden, verknüpft die Merkmalskennzeichnungen 211c mit den Kanten, die den Umriss der Iris bilden, verknüpft die Merkmalskennzeichnungen 211d mit den Kanten, die die Augenbrauen bilden, verknüpft die Merkmalskennzeichnungen 211e mit den Kanten, die die Nase bilden, und verknüpft die Merkmalskennzeichnungen 211f mit den Kanten, die den Mund bilden.
  • Wie in 2E gezeigt ist, kann der Nutzer einen Nutzerstrich 216, 218 unter Nutzung der Eingabevorrichtung (das heißt des berührungsempfindlichen Bildschirms 104) zeichnen. Der Nutzer kann beispielsweise einen Finger oder einen Stift gegen den berührungsempfindlichen Bildschirm 204 drücken oder den Finger oder Stift entlang des berührungsempfindlichen Bildschirms 204 bewegen, um ein Merkmal des Bildes 206 zu zeichnen. Das Zeichenhilfesystem 100 kann die Nutzerstrich 216, 218 erfassen. Im Sinne des Vorliegenden bezeichnet der Begriff „Strich” wenigstens einen Abschnitt einer Linie. Ein Strich kann beispielsweise eine gesamte Linie umfassen, die durch einen Anfangspunkt, an dem der Nutzer die Eingabevorrichtung ansetzt, einen Endpunkt, an dem der Nutzer den Einsatz der Eingabevorrichtung beendet, und einen Weg zwischen dem Anfangspunkt und dem Endpunkt definiert ist. Alternativ kann ein Strich nur einen Abschnitt einer Linie umfassen, der durch einen Anfangspunkt, an dem der Nutzer eine Eingabevorrichtung ansetzt, einen Endpunkt, an dem der Nutzer den Einsatz der Eingabevorrichtung beendet, und einen Weg zwischen dem Anfangspunkt und dem Endpunkt definiert ist.
  • 2E zeigt weiter, dass die Nutzerschnittstelle 207 eine oder mehrere Steuerungen oder Optionen 220 beinhalten kann. Bei einer oder mehreren Ausführungsformen kann die Nutzerschnittstelle 207 die Option 220a beinhalten, um die Originalstriche als Eingabe durch den Nutzer zu nutzen. Zusätzlich kann die Nutzerschnittstelle 207 die Option 220b zum Glätten der Nutzerstriche beinhalten. Wird die Option 220b zum Glätten der Nutzerstriche ausgewählt, so kann der Neuabtaster (resampler) 104 den Nutzerstrich 216 neuabtasten, um Punkte zu bestimmen, die den Strich 216 definieren. Wie in 2F gezeigt ist, kann der Glätter 106 den Nutzerstrich/die Nutzerstriche 216 durch Angleichen (fitting) einer Linie an die Punkte glätten, die während der Neuabtastung bestimmt worden sind, um einen geglätteten Nutzerstrich 217 herzustellen.
  • Eine oder mehrere Ausführungsformen der vorliegenden Erfindung können für einen Nutzer eine Anzahl von Zeichenoptionen, und zwar stilistischen oder anderen, bereitstellen. Insbesondere kann das Zeichenhilfesystem verschiedene Stile für Strich/Stift/Pinsel bereitstellen. 2E zeigt beispielsweise exemplarische Strichoptionen 220c bis 220f. Der Nutzer kann die Optionen für Farbe 220c, Pinsel 220d, Stift 220e oder Taper 220f für die Striche, die der Nutzer über dem Bild 206 zeichnet, auswählen. Die Nutzung der Strichoptionen 220 kann eine weitere Art bereitstellen, auf die die Nutzer ihre Zeichnungen personalisieren. Es sollte einsichtig sein, dass die vorliegende Erfindung nicht auf die in 2C gezeigten Strichoptionen 220c bis 220f beschränkt ist. Das Zeichenhilfesystem 100 kann zusätzliche oder alternative Optionen für Pinsel/Strich oder andere Bildverarbeitungswerkzeuge, so beispielsweise die von ADOBE PHOTOSHOP, bereitstellen.
  • Das Zeichenhilfesystem 100 kann bestimmen, welches Merkmal des Bildes 206 der Nutzer zu zeichnen beabsichtigt. Wie in 2G gezeigt ist, beabsichtigt der Nutzer, dass der Strich 216 auf der rechten Seite des Gesichtes des Schauspielers in dem Bild 206 befindlich ist. Das Zeichenhilfesystem 100 kann die Merkmalskennzeichnungen 211a mit dem Nutzerstrich 216 verknüpfen. Auf ähnliche Weise kann das Zeichenhilfesystem 100 Merkmalskennzeichnungen 211a mit dem Nutzerstrich 218 verknüpfen.
  • Das Zeichenhilfesystem 100 kann den Nutzerstrich 216 mit der Kantenleitkarte 208 vergleichen, um die nächstgelegene Vorlagekante bzw. Leitkante 222 der Kantenleitkarte 208 (siehe 2B) mit derselben Merkmalskennzeichnung 211a wie der Nutzerstrich (das heißt die Merkmalskennzeichnung 211a) zu bestimmen. Wie in 2G gezeigt ist, kann der geometrische Korrektor 108 den Nutzerstrich 216 geometrisch korrigieren, um einen geometrisch korrigierten Strich 224 zu erzeugen, und zwar durch Bewegen des Nutzerstriches 216 hin zu der Vorlagekante 222. Insbesondere kann der geometrische Korrektor 108 den Nutzerstrich 216 hin zu oder zu der Position der Vorlagelinie 222 der Kantenleitkarte 208 (2B) bewegen (beispielsweise umpositionieren und/oder umgestalten).
  • Das Zeichenhilfesystem 100 kann den Nutzerstrich 218 mit der Kantenleitkarte 218 vergleichen, um denjenigen Abschnitt (beispielsweise die Vorlagekante) der Kantenleitkarte 208 (siehe 2B) am nächsten zu dem Nutzerstrich 218 mit der Merkmalskennzeichnung 211a, die zu der Merkmalskennzeichnung des Nutzerstriches (das heißt der Merkmalskennzeichnung 211a) passt, zu bestimmen. In diesem Fall kann die zu dem Nutzerstrich nächstgelegene Vorlagekante mit derselben Merkmalskennzeichnung 211a die Vorlagekante 222 oder die Vorlagekante 225 (siehe 2B) sein. Da beide Vorlagekanten 222 und 225 von dem Nutzerstrich 218 entfernt sind, kann das Zeichenhilfesystem 100 die Merkmalsleitkarte 213 (2C) nutzen, um die Kantenleitkarte 208 zu ergänzen. Insbesondere kann das Zeichenhilfesystem 100 die Linie oder den Punkt der Merkmalsleitkarte 213 am nächsten zu dem Nutzerstrich 218, was in diesem Fall die Merkmalslinie 214 wäre, bestimmen. Wie in 2G gezeigt ist, kann der geometrische Korrektor 108 einen geometrisch korrigierten Strich 226 durch Bewegen des Nutzerstriches 218 hin zu der Merkmalslinie 214 erzeugen. Insbesondere kann der geometrische Korrektor 108 den Nutzerstrich 218 hin zu oder zu der Position der Merkmalslinie 214 der Merkmalsleitkarte 213 (2C) bewegen (beispielsweise umpositionieren und/oder umgestalten).
  • Als Alternative zum Ergänzen der Kantenleitkarte 208 kann die Merkmalsleitkarte 213 eine Anleitung zum Korrigieren von Nutzerstrichen allein bereitstellen. Insbesondere können Nutzerstriche hin zu einem Abschnitt (das heißt Linien, Kanten, Punkte) der Merkmalsleitkarte 213 bewegt werden, um Nutzerstriche unabhängig von einer Korrektor auf Grundlage einer anderen Leitkarte (so beispielsweise der Kantenleitkarte 208) zu korrigieren. Im Lichte der vorliegenden Offenbarung sollte damit einleuchtend sein, dass die Merkmalsleitkarte isoliert oder in Kombination mit anderen Leitkarten genutzt werden kann. Insbesondere kann bei einer oder mehreren Ausführungsformen beim Versuch der Korrektur eines Nutzerstriches das Zeichenhilfesystem 100 jede Leitkarte individuell behandeln. Das Zeichenhilfesystem 100 kann sodann einen Entscheidungsmechanismus höherer Ebene einsetzen, der entscheidet, welche Leitkarte genutzt werden soll (beispielsweise über ein Votier- bzw. Entscheidungsschema, ein Gewichtungsschema und dergleichen mehr). Bei dem Versuch der Korrektur des Nutzerstriches 218 kann das Zeichenhilfesystem 100 beispielsweise bestimmen, dass die Kantenleitkarte 208 keine nahegelegenen Kanten zum Bereitstellen einer Anleitung für den Nutzerstrich 218 beinhaltet. Auf ähnliche Weise kann das Zeichenhilfesystem 100 bestimmen, dass die Merkmalsleitkarte 213 nahegelegene Abschnitte beinhaltet, um eine Anleitung für den Nutzerstrich 218 bereitzustellen. Als solches kann das Zeichenhilfesystem 100 die Nutzung der Merkmalsleitkarte 213 anstelle der Kantenleitkarte 208 beim Korrigieren des Nutzerstriches 218 auswählen.
  • Im Lichte der vorliegenden Offenbarung sollte einsichtig sein, dass eine beliebige Anzahl oder Kombination von Leitkarten eine Grundlage zum Korrigieren von Nutzerstrichen bereitstellen kann. Des Weiteren sind die Leitkarten der vorliegenden Erfindung nicht auf Kantenleitkarten und Merkmalsleitkarten beschränkt. In der Tat können Ausführungsformen der vorliegenden Erfindung weitere Anleitungen zusätzlich zu oder als Alternative zu den Merkmals- und Kantenleitkarten beinhalten. Wie nachstehend detailliert anhand 3A beschrieben wird, können eine oder mehrere Ausführungsformen eine SchattierungsLeitkarte nutzen.
  • Weitere Ausführungsformen können eine WichtigkeitsLeitkarte beinhalten. Die WichtigkeitsLeitkarte kann Zonen eines Objektes anzeigen, denen während des Korrekturprozesses mehr oder weniger Gewichtung zukommen soll. Im Zusammenhang mit einem Gesicht kann eine WichtigkeitsLeitkarte beispielsweise anzeigen, dass Zonen rund um die Augen, Augenbrauen und den Mund höher als die Nase und das Kinn gewichtet werden. Eine derartige WichtigkeitsLeitkarte kann sodann an ein Bild eines echten Gesichtes durch Nutzung einer Merkmalsleitkarte auf ähnliche Weise wie vorstehend beim Verknüpfen von Merkmalskennzeichnungen mit der Kantenleitkarte angeglichen werden. In derartigen Fällen kann eine Merkmalsleitkarte die räumliche Abbildung eines generischen Gesichtes (und der Merkmale hiervon) auf ein spezifisches Gesicht, darunter die räumlichen Abweichungen vom Muster, definieren.
  • Beim geometrischen Korrigieren der Nutzerstriche 216, 218 kann der geometrische Korrektor 108 Stilelemente oder Linienabweichungen des Nutzerstriches 216, 218 beibehalten. So beinhaltet beispielsweise, wie in 2F gezeigt ist, der Nutzerstrich 216 Eingabeabweichungen 216a und 216b. Der geometrisch korrigierte Strich 224 kann, wie in 2H gezeigt ist, Abweichungen 224a, 224b auf Grundlage der Eingabeabweichungen 216a und 216b beinhalten. Mit anderen Worten, der geometrisch korrigierte Strich 224 ist nicht genau an die Vorlagelinie 222 infolge der Beibehaltung von Abweichungen bei dem Nutzerstrich 216 angeglichen. Die Beibehaltung des Nutzerstiles kann dazu beitragen sicherzustellen, dass jede Zeichnung einzigartig ist, da keine zwei Nutzer identische Nutzerstriche 216 bereitstellen.
  • Zur weiteren Verbesserung der Striche, die der Nutzer gezeichnet hat, kann ein parametrischer Anpasser 110 parametrisch den geometrisch korrigierten Strich 224 anpassen, um einen parametrisch angepassten Strich 228, wie in 2H gezeigt ist, herzustellen. Beim Durchführen von parametrischen Anpassungen hervorhebt der parametrische Anpasser 110 Linien, die als „korrekte” Linieneigenschaften gelten. Die Linieneigenschaften, die zur parametrischen Anpassung analysiert werden, können beispielsweise einen Linienort (beispielsweise die Position), eine Orientierung, eine Form oder eine andere Linieneigenschaft beinhalten. Zusätzlich markiert beim Durchführen der parametrischen Anpassungen der parametrische Anpasser 110 Linien, die als „nicht korrekte” Linieneigenschaften gelten.
  • Insbesondere vergleicht der parametrische Anpasser 110 den geometrisch korrigierten Strich 224 mit der Vorlagelinie 222 der Kantenleitkarte 208. Beim Durchführen des Vergleiches erfasst der parametrische Anpasser 110 Abweichungen 224a, 224b des geometrisch korrigierten Striches 224, die von der Vorlagelinie 222 abweichen. Der parametrische Anpasser 110 erfasst zudem einen Abschnitt/Abschnitte 224c des geometrisch korrigierten Striches 224, der/die an die Vorlagelinie 222 angeglichen oder im Wesentlichen angeglichen ist/sind. Der parametrische Anpasser 110 hervorhebt sodann den Abschnitt/die Abschnitte 224c des geometrisch korrigierten Striches, der/die an die Vorlagelinie 222 gut angeglichen ist/sind. 2H zeigt beispielsweise, dass der Abschnitt 228c der parametrisch angepassten Linie 228, der dem Abschnitt 224c des geometrisch korrigierten Striches 224 entspricht, hervorgehoben ist. Auf ähnliche Weise markiert der parametrische Anpasser 110 Linien oder deren Abschnitte 224a, 224b, die nicht an die Vorlagelinie 222 angeglichen sind. So zeigt 2H beispielsweise, dass die Abschnitte 228a, 228b der parametrisch angepassten Linie 228, die den Abschnitten 224a, 224b des geometrisch korrigierten Striches 224 entsprechen, markiert sind.
  • Auf ähnliche Weise vergleicht der parametrische Anpasser 110 den geometrisch korrigierten Strich 226 mit der Kantenleitkarte 208. Hierbei kann der parametrische Anpasser 110 bestimmen, dass keine Kante in der Kantenleitkarte 208 vorhanden ist, die dem geometrisch korrigierten Strich 226 entspricht (das heißt nahegelegen an diesem ist). Als solches kann der parametrische Anpasser 110 den Nutzerstrich 218 und den geometrisch korrigierten Strich 226 als falsch platziert erkennen. Daher markiert der parametrische Anpasser 110 den geometrisch korrigierten Strich 226.
  • Der parametrische Anpasser 110 kann eine Hervorhebung unter Nutzung einer oder mehrerer aus einer Anzahl von Techniken bereitstellen. Zur Bereitstellung einer Hervorhebung kann der parametrische Anpasser 110 eine oder mehrere optische Eigenschaften der geometrisch korrigierten Striche 224, 226 bereitstellen. Das Zeichenhilfesystem 100 kann beispielsweise die Liniendicke, die Linienopazität, die Liniendichte und/oder die Linienfarbe modifizieren. Im Lichte der vorliegenden Offenbarung sollte einsichtig sein, dass parametrische Anpassungen dazu beitragen können, Beleuchtung, Tiefe, Kontur und andere fortgeschrittenere stilistische Effekte zu berücksichtigen.
  • Insbesondere wenn eine fortgeschrittene Leitkarte genutzt wird, können die parametrischen Anpassungen dazu beitragen, die fortgeschrittenen stilistischen Elemente der Leitkarte in die geometrisch korrigierten Striche 224, 226 aufzunehmen. So zeigt beispielsweise die Kantenleitkarte 208, dass Abschnitte der Augen und des Kinns nicht vollständig umrissen sind, wodurch ein künstlerischer Effekt bereitgestellt wird. Wie die Kantenleitkarte 208 anzeigt, bedeutet sogar dann, wenn Nutzerstriche an Bildmerkmale angeglichen sind, dies nicht, dass die Linie hätte gezeichnet werden sollen. Wenn daher ein Nutzer einen Strich zeichnet, der nicht in der Kantenleitkarte 208 beinhaltet ist, kann das Zeichenhilfesystem den Strich als falsch platziert oder auf andere Weise nicht korrekt gezeichnet erkennen. Als solches kann beim Vornehmen von parametrischen Anpassungen der parametrische Anpasser 110 beliebige Linien markieren, die nicht in der Kantenleitkarte 208 beinhaltet sind (so beispielsweise den Strich 218). Auf diese Weise kann das Zeichenhilfesystem 100 Zeichnungen mit Beleuchtung, Tiefe, Kontur und anderen fortgeschrittenen Effekten, die Neulinge üblicherweise nicht zeichnen können, herstellen. Zusätzlich kann das Zeichenhilfesystem 100 dazu beitragen, die Effekte eines Nutzers, der dasjenige zeichnet, was er „weiß”, im Gegensatz dazu, was in dem Bezugsbild 206 „dargestellt” ist, zu minimieren.
  • Die geometrischen Korrekturen und parametrischen Anpassungen, die vorstehend anhand der Nutzerstriche 216, 218 beschrieben worden sind, können für jeden Strich, den der Nutzer zeichnet, wiederholt werden. Des Weiteren kann jede der Korrekturen/Anpassungen bezüglich der Nutzerstriche 216, 218 im Wesentlichen in Echtzeit erfolgen. Mit anderen Worten, das Zeichenhilfesystem kann die Nutzerstriche 216, 218 korrigieren und/oder anpassen, wenn diese auf der Clientvorrichtung 202 gezeichnet/wiedergegeben werden. Wie vorstehend ausgeführt worden ist, kann der Umstand, dass die Korrekturverfahren und der Prozess für den Nutzer nicht wahrnehmbar sind, das Bewusstsein des Nutzers hinsichtlich der Korrekturen verringern und eine Empfindung dahingehend hervorgerufen, dass der Nutzer das Ausgabebild selbst gezeichnet hat.
  • Zusätzlich zum Korrigieren oder Anpassen von Linien, die Konturen beschreiben, können ein oder mehrere Ausführungsformen zudem eine Schattierung oder Fülllinien modifizieren oder korrigieren. Insbesondere kann das Zeichenhilfesystem eine Schattierungs-Leitkarte als Grundlage zum Korrigieren von Schattierungslinien bereitstellen. Ein Beispiel für eine geeignete SchattierungsLeitkarte 308 ist in 3A gezeigt. Die SchattierungsLeitkarte 308 von 3A ist das Ergebnis des Einsetzens eines XDoG-Filters mit Helligkeitsreaktionseinstellungen für das Bild 206 von 2A. Wie gezeigt ist, kann die SchattierungsLeitkarte 308 einen Hinweis auf die Position und Konfiguration einer akzeptablen Schattierung bereitstellen. Insbesondere zeigt 3B eine Künstlerskizze 310 des Bildes 206 von 2A. Wie gezeigt ist, kann durch Vergleichen der Künstlerskizze 310 und der SchattierungsLeitkarte 308 die SchattierungsLeitkarte 308 schattierte Zonen 310 ähnlich zu den schattierten Zonen 314 der Künstlerskizze 310 beinhalten.
  • Ähnlich zu den vorbeschriebenen geometrischen Korrekturen können die Schattierungsstriche, die von einem Nutzer gezeichnet werden, auf Grundlage der SchattierungsLeitkarte 308 bewegt (beispielsweise umpositioniert und umgestaltet) werden. Im Lichte der vorliegenden Offenbarung erschließt sich, dass die genaue Platzierung von Schattierungslinien im Vergleich zu Konturlinien weniger wichtig ist. Die kombinierte Dunkelheit (als Kombination der Liniendichte und Dicke) kann gesteuert bzw. geregelt werden, um eine geeignete Schattierung sicherzustellen. Bei einem Beispiel nutzt das Zeichenhilfesystem 100 die XDoG-KantenreaktionsLeitkarte 308, um Schattierungsstriche innerhalb vernünftiger Grenzen zu halten, während das Zeichenhilfesystem 100 die Schattierungs-Leitkarte 308 nutzt, um Striche lokal zu bewegen und die Dicke und/oder Opazität zu modifizieren, damit eine gewünschte tonale Dichte erreicht wird.
  • Um zwischen Konturlinien und Schattierungs- oder Fülllinien zu unterscheiden, kann die Nutzerschnittstelle 207 eine Schattierungsoption 316, wie in 3A gezeigt ist, beinhalten. Ist die Schattierungsoption 316 nicht ausgewählt, so wird/werden der Nutzerstrich/die Nutzerstriche als Konturlinie behandelt und gemäß vorstehender Beschreibung korrigiert. Ist die Schattierungsoption 316 ausgewählt, so wird/werden der Nutzerstrich/die Nutzerstriche als Schattierung oder Füllung behandelt und unter Nutzung von modifizierten Vorlagedaten und Anpassungsverfahren und Prozessen korrigiert.
  • Im Lichte der vorliegenden Offenbarung sollte einsichtig sein, dass das Zeichenhilfesystem Nutzerstriche verschönern, korrigieren, ausrichten bzw. angleichen und verschieben kann, um das Quellenbild genauer darzustellen. Das Ausmaß und der Umfang der Korrekturen, die das Zeichenhilfesystem vornimmt, können von der Genauigkeit der Nutzerstriche abhängen. 4A bis 4C zeigen die Effektivität der hier beschriebenen Zeichenhilfesysteme und Verfahren. Insbesondere zeigt 4A ein Quellenbild 406. 4B zeigt eine Eingabezeichnung 410 aus Nutzerstrichen, die von einem Nutzer über dem Bild 406 gezeichnet worden sind. 4C zeigt eine Ausgabezeichnung 416, die durch geometrisches Korrigieren und parametrisches Anpassen der Nutzerstriche der Eingabezeichnung 410 hergestellt worden ist. Wie durch einen Vergleich der Eingabezeichnung 410 und der Ausgabezeichnung 416 gezeigt ist, kann die geometrisch korrigierte und parametrisch angepasste Ausgabezeichnung 416 eine merkliche Verbesserung gegenüber der Eingabezeichnung 410 bereitstellen.
  • Zusätzlich kann beim geometrischen Korrigieren und parametrischen Anpassen des Nutzerstriches das Zeichenhilfesystem 100 stilistische Eigenschaften des ursprünglichen Nutzerstriches beibehalten. Insbesondere können stilistische Wahlmöglichkeiten oder Eigenschaften des ursprünglichen Nutzerstriches (beispielsweise Qualität, Länge, Form und Krümmung des Striches) wenigstens teilweise ungeachtet der geometrischen Korrektur und der parametrischen Anpassung des Nutzerstriches beibehalten werden. Das Beibehalten des individuellen Nutzerstils kann einem Nutzer das Gefühl der Eigenleistung und einen hohen Grad an persönlicher Befriedigung hinsichtlich der Ausgabezeichnung vermitteln.
  • Im Lichte der vorliegenden Offenbarung sollte einsichtig sein, dass die Strichoptionen 220 (2E) in Kombination mit dem Beibehalten des Stils eines Nutzerstriches dazu beitragen können sicherzustellen, dass jede Zeichnung – und zwar auch dann, wenn sie auf demselben Bild basiert – hinsichtlich eines oder mehrerer Aspekte anders ist. 5A bis 5C zeigen beispielsweise drei Ausgabezeichnungen (das heißt geometrisch korrigierte und parametrisch angepasste Zeichnungen) 416, 516, 518 des Bildes 406. Wie in 5A bis 5C gezeigt ist, stellt jede Ausgabezeichnung 416, 516, 518 eine ästhetisch ansehnliche Zeichnung dar, während unterscheidende Stilelemente erhalten geblieben sind.
  • 1 bis 5C stellen bestimmte Einzelheiten mit Blick auf die geometrischen Korrektur- und parametrischen Anpassungsprozesse einer oder mehreren Ausführungsformen der vorliegenden Erfindung bereit. Zusätzliche oder alternative Details werden nunmehr für verschiedene Teilprozesse beschrieben.
  • Strichneuabtasten
  • Zeichnet ein Nutzer einen Strich, so kann das Zeichenhilfesystem 100 den Strich neuabtasten (resample). Das Neuabtasten des Striches kann den Strich in Punkte zerlegen, die ein Gerüst für den Strich bereitstellen. Die neuabgetasteten Strichpunkte werden sodann als Steuer- bzw. Regelpunkte genutzt. Das Zeichenhilfesystem 100 kann die Steuer- bzw. Regelpunkte sodann zum Glätten oder geometrischen Korrigieren des Striches nutzen.
  • Bei einer oder mehreren Ausführungsformen tastet das Zeichenhilfesystem 100 Nutzerstriche auf Grundlage von Krümmung und Abstand neu ab. Ein krümmungsbasierter Ansatz kann die Abtastdichte in Segmenten hoher Krümmung vergrößern und die Abtastdichte in Segmenten niedriger Krümmung verringern. Ein Kreis kann beispielsweise viele Abtastungen (beispielsweise 24) aufweisen, während eine gerade Linie durch zwei Abtastungen dargestellt werden kann.
  • Insbesondere sind für jeden eingehenden Strichpunkt xi an der Skala s, m1, m2, m3 neuabgetastete Strichpunkte vor xi. Wenn eine Metrik zi (nachstehend definiert) größer als 1 ist, kann xi als neuer Abtastpunkt mit xi ← mk+1 genommen werden. Ist die Metrik zi kleiner als 1, so wird xi übersprungen, und es wird xi+1 untersucht. Die Metrik zi ist folgendermaßen definiert:
    Figure DE102015000377A1_0002
  • Hierbei gilt: β = max(0, min(1, r – t2√s)); r ist der Abstand zwischen xi und mk; und Δθi ist die absolute Differenz von Orientierungen zwischen θ < xi, mk > und θ < mk–1, mk >. Die Schwellen t1 und t2 steuern bzw. regeln die Abtastdichten für Krümmung beziehungsweise Abstand.
  • Bei alternativen Ausführungsformen können andere Neuabtasttechniken genutzt werden. So beinhalten andere geeignete Neuabtasttechniken beispielsweise unter anderem ein Uniform-Distance-Abtasten oder ein Temporal-Abtasten.
  • Strichglätten
  • Wie vorstehend bereits angedeutet worden ist, kann der Nutzer die Option zum Glätten der Nutzerstriche auswählen. Bei alternativen Ausführungsformen können sämtliche Nutzerstriche automatisch geglättet werden. In jedem Fall kann ein Glätten der Nutzerstriche gezackte und unsichere Nutzerstriche verringern oder beseitigen. Damit kann das Glätten der Nutzerstriche die Gesamtqualität nicht nur der Nutzerstriche, sondern auch der Gesamtausgabezeichnung verbessern.
  • Zum Glätten der Nutzerstriche kann eine Kurvennäherung an die Steuer- bzw. Regelpunkte, die während des Strichneuabtastprozesses bestimmt worden sind, angeglichen (fit) werden. Alternativ kann eine Kurvennäherung an die geometrisch korrigierten Punkte angeglichen (fit) werden. Das Glätten der Punkte kann die Form des Striches erfassen, während zittrige Abschnitte, wie in 2D gezeigt ist, verringert werden. Bei einer oder mehreren Ausführungsformen wird eine Spline-Funktion bei den Punkten zum Glätten des Nutzerstriches angewandt. So kann beispielsweise jeder Strich durch Angleichen (fitting) der Punkte mit einer kubischen B-Spline-Kurvennäherung interpoliert werden. Bei alternativen Ausführungsformen können andere Glättungstechniken genutzt werden. Andere geeignete Glättungstechniken beinhalten unter anderem eine Sliding-Average-Glättung oder eine Laplace-Glättung.
  • Merkmalserfassung
  • Im Lichte der vorliegenden Offenbarung erschließt sich, dass der Merkmalserfassungsprozess von demjenigen Bild, das der Nutzer zum Zeichnen ausgewählt hat, abhängen kann. Wenn der Nutzer beispielsweise ein Bild eines Gesichtes zum Skizzieren auswählt, kann der Gesichtserfassungsalgorithmus zum Bereitstellen der Merkmalserfassung dienen. Beschrieben ist ein geeigneter Gesichtserfassungsalgorithmus bei „Deformable Model Fitting by Regularized Landmark Mean-Shift" von Jason M. Saragih, veröffentlicht bei 91, INT'L J. COMPUTER VISION 200–215 (2010), deren gesamter Inhalt hiermit durch Bezugnahme in Gänze mit aufgenommen wird. Umfasst das Bild etwas anderes als ein Gesicht, so können andere Gesichtserfassungsalgorithmen der Bereitstellung einer Merkmalserfassung dienen. Üblicherweise kann ein Merkmalserfassungsalgorithmus Standardkennzeichen in einer voreingestellten Reihenfolge in Bezug auf verschiedene Bereiche des Bildes extrahieren. Zusätzlich oder alternativ kann ein Nutzer Merkmale des Bildes manuell definieren.
  • 6A zeigt ein weiteres Bild 606 eines Gesichtes. 6B zeigt Merkmalskennzeichnungen 611a bis 611e bei, die durch Anwenden eines Gesichtserkennungsalgorithmus bei dem Bild 606 bestimmt worden sind. Insbesondere zeigt 6B, dass die Merkmalskennzeichnungen 611a mit dem Umriss des Gesichtes verknüpft sind, die Merkmalskennzeichnungen 611b mit dem Umriss der Augen verknüpft sind, die Merkmalskennzeichnungen 611c mit dem Umriss der Iris verknüpft sind, die Merkmalskennzeichnungen 611d mit den Augenbrauen verknüpft sind, die Merkmalskennzeichnungen 611e mit der Nase verknüpft sind und die Merkmalskennzeichnungen 611f mit dem Mund verknüpft sind. Es erschließt sich, dass die Merkmalserfassung und die Merkmalskennzeichnungen nicht auf das in 6B und den anderen Figuren Dargestellte beschränkt sind. Die Merkmale auf der linken Seite des Gesichtes können beispielsweise andere Merkmalskennzeichnungen als die Merkmale auf der rechten Seite des Gesichtes aufweisen. Des Weiteren können zusätzliche Merkmale, so beispielsweise Ohren oder Haare, Merkmalskennzeichnungen beinhalten.
  • Leitkarten
  • Wie vorstehend angeführt worden ist, kann das Zeichenhilfesystem 100 ein oder mehrere Leitkarten als Grundlage dafür nutzen, welche Linien der Nutzer zeichnen „sollte” und wo die Linien platziert werden „sollten”. Das Zeichenhilfesystem 100 kann eine vorab erzeugte Leitkarte für ein Bild, das der Nutzer zu skizzieren wünscht, abrufen, oder es kann das Zeichenhilfesystem 100 alternativ eine Leitkarte erzeugen. Exemplarische Leitkarten beinhalten das Ergebnis eines Kantenerfassungsfilters, der bei dem Bild zum Einsatz kommt (siehe 208 in 2B).
  • Bei einer oder mehreren Ausführungsformen umfasst die Leitkarte das Ergebnis der Anwendung eines XDoG-Filters auf ein Bild. 6C zeigt eine weitere Kantenleitkarte 608, die unter Nutzung eines XDoG-Filters mit einer Kanteneinstellung erzeugt wird. Die Kantenleitkarte 608 beinhaltet, wie gezeigt ist, keine große Menge an Kanten. Demgegenüber beinhaltet die Kantenleitkarte 608 Kanten entsprechend ausgewählten Merkmalen, die ein Künstler skizzieren kann.
  • Wie in 6D gezeigt ist, kann das Zeichenhilfesystem 100 die Kantenleitkarte 608 mit semantischer Kennzeichnungsinformation (das heißt den Merkmalskennzeichnungen 611a bis 611f, die man aus dem Merkmalserfassungsprozess erhält) segmentieren und kennzeichnen. Das Zeichenhilfesystem 100 kann beispielsweise ein Markov'sches Random Field, eine Graphpartition oder einen Suchalgorithmus nach dem nächsten Nachbarn zum Segmentieren der Kantenleitkarte 608 nutzen.
  • Bei einer Ausführungsform führt beispielsweise, sobald die Kanten der Kantenleitkarte 680 segmentiert sind, das Zeichenhilfesystem 100 eine Suche nach dem nächsten Nachbarn zum Identifizieren des nächsten Merkmalspunktes für jeden Vorlagepunkt bzw. Leitpunkt einer Vorlagekante bzw. Leitkante durch. Das Zeichenhilfesystem 100 kann sodann bestimmen, welche Merkmalskennzeichnung (auf Grundlage der nächstgelegenen Merkmalspunkte) für eine Mehrzahl der Leitpunkte der Vorlagekante identifiziert worden ist. Das Zeichenhilfesystem 100 verknüpft sodann die Merkmalskennzeichnung mit Identifizierung für eine Mehrzahl der Leitpunkte für jeden Leitpunkt an der Vorlagekante oder für die Vorlagekante als Ganzes. Wie vorstehend erwähnt worden ist, kann das Zeichenhilfesystem 100 eine Merkmalsleitkarte/Kantenleitkarte 608 als Grundlage dafür nutzen, welche Linien der Nutzer zeichnen „sollte” und wo die Linien platziert werden „sollten”. Das Zeichenhilfesystem 100 kann die Merkmalsleitkarte allein oder in Verbindung mit einer weiteren Leitkarte (so beispielsweise einer Kantenleitkarte) nutzen. Das Zeichenhilfesystem 100 kann die Merkmalsleitkarte unter Nutzung einer Vielzahl von Ansätzen oder Kombinationen hiervon erzeugen. So kann aufgrund dessen, dass menschliche Gesichter eine starke vertikale Symmetrie aufweisen, das Zeichenhilfesystem 100 eine Merkmalsleitkarte zum Nachschlagen von passenden Kanten oder Merkmalen auf jedweder Seite des Gesichtes/Pläne zum Vergrößern der Möglichkeiten zum Ausfindigmachen von nützlichen Daten für den Nutzer zu Korrekturen nutzen. Insbesondere kann, sobald das Zeichenhilfesystem 100 die Kantenleitkarte 680 segmentiert und gekennzeichnet hat, das Zeichenhilfesystem 100 eine vertikale Symmetrieachse 612, wie in 6D gezeigt ist, definieren. Wenn eine Seite der Kantenleitkarte 608 eine fehlende Kanteninformation ist, kann das Zeichenhilfesystem 100 nach der fehlenden Information auf der anderen Seite der vertikalen Symmetrieachse 612 suchen. Mit anderen Worten, das Zeichenhilfesystem 100 kann die Vorlagekanten/Punkte auf jeder Seite der vertikalen Symmetrieachse spiegeln. So kann beispielsweise, wie durch den Pfeil 210 von 2D gezeigt ist, in der Kantenleitkarte 208 eine Kante für die linke Seite des Kinns eines Nutzers fehlen. Zum Ergänzen der Kantenleitkarte 208 kann das Zeichenhilfesystem 100 die Merkmalspunkte 211a auf der rechten Seite einer vertikalen Achse zur Bereitstellung von Punkten spiegeln, zu denen hin ein Nutzerstrich 218, der als linkes Kinn gedacht war, korrigiert werden kann.
  • Zusätzlich oder alternativ können, wie in 6B gezeigt ist, die Merkmalspunkte selbst die Merkmalsleitkarte 613 definieren. Das Zeichenhilfesystem 100 kann beispielsweise die Merkmalspunkte nutzen oder eine Kurve für die Merkmalspunkte angleichen (fitting) und die Linie zum Identifizieren von Merkmalspunkten neuabtasten.
  • Geometrische Korrektur
  • Zeichnet ein Nutzer einen Strich, so kann das Zeichenhilfesystem 100 bestimmen, welches Merkmal des Bildes der Nutzer zu zeichnen beabsichtigt. Das Zeichenhilfesystem 100 kann beispielsweise den Nutzerstrich mit der Leitkarte vergleichen, um die Linie/Kante der Leitkarte am nächsten zu dem Nutzerstrich hinsichtlich Position und Orientierung und mit derselben Merkmalskennzeichnung zu bestimmen. Beim Erfassen der Vorlagelinie, die der Nutzer zu zeichnen beabsichtigt, kann das Zeichenhilfesystem geometrisch den Nutzerstrich durch Bewegen (beispielsweise durch Umpositionieren und/oder Umgestalten) des Nutzerstriches hin zu oder zu der Linie der Leitkarte, die der Nutzer zu zeichnen wünscht, korrigieren.
  • Um die Merkmalskennzeichnung des Nutzerstriches zu bestimmen, kann das Zeichenhilfesystem 100 eine Suche nach dem nächsten Nachbarn zum Identifizieren des nächsten Merkmalspunktes für jeden Eingabepunkt des Nutzerstriches vornehmen. Das Hilfesystem 100 kann sodann bestimmen, welche Merkmalskennzeichnung (auf Grundlage der nächsten Merkmalspunkte) für eine Mehrzahl der Eingabepunkte des Nutzerstriches identifiziert worden ist. Das Zeichenhilfesystem 100 verknüpft sodann die Merkmalskennzeichnung mit Identifizierung für eine Mehrzahl der Eingabepunkte für jeden Eingabepunkt des Nutzerstriches oder für den Nutzerstrich als Ganzes.
  • Insbesondere wird eine geometrische Korrektur als Energieminimierungsprozess für jede Nutzereingabe modelliert, wobei die Energiefunktion wenigstens teilweise folgendermaßen definiert ist: E = αEguidance + βEface + γEvariation
  • Die Kantenleitkarte, die Merkmalsleitkarte und die Abweichungen der Nutzerstriche von der Kantenleitkarte können die Grundlage der Energiefunktion bilden. Mit anderen Worten, die Energiefunktion kann dazu beitragen sicherzustellen, dass die Nutzerstriche entsprechend der Kantenleitkarte angeglichen werden, während Abweichungen/Stile des ursprünglichen Nutzerstriches erhalten bleiben. Sind die sequenziellen Eingabepunkte x1, x2, ..., xn in jedem Nutzerstrich, die Merkmalspunkte f1, f2, ..., fn sowie die Leitpunkte g1, g2, ..., gn gegeben, so ermöglicht die Energiefunktion die Bestimmung der geometrisch korrigierten Punkte p1, p2, ..., pn.
  • Der Term Eguidance trägt zum Angleichen des Nutzerstriches an die Kantenleitkarte bei und ist folgendermaßen definiert:
    Figure DE102015000377A1_0003
  • Hierbei ist g*xi der an xi nächste Punkt in der Kantenleitkarte mit derselben Merkmalskennzeichnung. g*xi kann unter Nutzung einer Suche nach dem nächsten Nachbarn bestimmt werden. Jeder Punkt kann unter Nutzung von (X, Y, Krümmung) definiert sein. Beim Ausfindigmachen des nächsten Leitpunktes g*xi kann die Differenz hinsichtlich Position und Krümmung verglichen werden. Wenn also zwei Leitpunkte von einem Eingabepunkt gleich weit beabstandet sind, kann der Leitpunkt mit einer Krümmung am nächsten zu derjenigen des Eingabepunktes ausgewählt werden (solange sie beide dieselbe Merkmalskennzeichnung wie der Eingabestrich aufweisen). Die Krümmung eines Punktes kann als dϕ/ds definiert werden, wobei ϕ der Neigungswinkel der Tangente der Linie an dem Punkt ist. Eine Kd-Tree-Implementierung kann ebenfalls genutzt werden, um den Suchprozess nach dem nächsten Nachbarn zu beschleunigen, damit Echtzeit- oder im Wesentlichen Echtzeitkorrekturen erreicht werden.
  • Wie aus der Formel für Eguidance hervorgeht, kann Eguidance eine Differenz hinsichtlich Abstand und Krümmung zwischen den geometrisch korrigierten Punkten und den identifizierten Leitpunkten verringern. di = |xi – g*xi| ist der Euklidische Abstand zwischen xi und g*xi. Mit anderen Worten, di macht Eguidance umgekehrt proportional zum Abstand zwischen dem Nutzerstrich (oder Punkten zum Definieren des Striches) und der nächsten Linie/Kante (oder Punkten zum Definieren der Linie/Kante) des Vorlagefilters. di verringert die geometrischen Korrekturen von Nutzerstrichen oder von Abschnitten hiervon, die keine nahe entsprechende Linie/Kante in der Kantenleitkarte aufweisen. Wie beispielsweise in dem Bild 206 von 2A und der Kantenleitkarte 208 von 2B gezeigt ist, existiert, wenn ein Nutzer einen Nutzerstrich für das linke Kinn des Schauspielers zeichnet, keine entsprechende Linie in der Kantenleitkarte 208. di kann dazu beitragen sicherzustellen, dass der Nutzerstrich entsprechend dem linken Kinn des Schauspielers nicht stark hin zu den identifizierten Leitpunkten korrigiert wird. Des Weiteren können, wie nachstehend detaillierter erläutert wird, Nutzerstriche ohne entsprechende Linien in der Leitkarte geometrisch auf Grundlage der Merkmalsleitkarte korrigiert und während parametrischer Anpassungen markiert werden.
  • Der Term Eface trägt dazu bei, den Nutzerstrich an die Merkmalsleitkarte anzugleichen und ist folgendermaßen definiert:
    Figure DE102015000377A1_0004
    Hierbei ist f*xi der an xi nächste Punkt in der Merkmalsleitkarte mit derselben Merkmalskennzeichnung. Ähnlich wie bei g*xi kann f*xi unter Nutzung einer Suche nach dem nächsten Nachbarn bestimmt werden. Jeder Punkt kann unter Nutzung von (X, Y, Krümmung) definiert sein. Beim Ausfindigmachen des nächstgelegenen Merkmalspunktes kann die Differenz hinsichtlich Position und Krümmung verglichen werden. Wenn also zwei Merkmalspunkte von einem Eingabepunkt gleich weit beabstandet sind, kann der Merkmalspunkt mit einer Krümmung am nächsten zu derjenigen des Eingabepunktes ausgewählt werden (solange sie beide dieselbe Merkmalskennzeichnung wie der Eingabepunkt aufweisen). Eine Kd-Tree-Implementierung kann ebenfalls genutzt werden, um den Suchprozess nach dem nächsten Nachbarn zu beschleunigen, damit Echtzeit- oder im Wesentlichen Echtzeitkorrekturen erreicht werden.
  • dfi = |xi – f*xi| ist der Euklidische Abstand zwischen xi und f*xi. Mit anderen Worten, dfi macht Eface umgekehrt proportional zum Abstand zwischen dem Nutzerstrich (oder Punkten zum Definieren des Striches) und der nächsten Linie/Kante (oder Punkten zum Definieren der Linie/Kante) des Vorlagefilters. dfi verringert die geometrischen Korrekturen von Nutzerstrichen oder Abschnitten hiervon, die eine nahe entsprechende Linie/Kante in der Merkmalsleitkarte aufweisen. Wie beispielsweise in dem Bild 206 von 2A und der Kantenleitkarte 208 von B gezeigt ist, existiert, wenn ein Nutzer einen Nutzerstrich für das linke Kinn zeichnet, keine entsprechende Linie in der Kantenleitkarte 208. Wie vorstehend erläutert worden ist, kann di dazu beitragen sicherzustellen, dass der Nutzerstrich entsprechend dem linken Kinn des Schauspielers nicht stark hin zu den identifizierten Leitpunkten korrigiert wird. Demgegenüber kann dfi dazu beitragen sicherzustellen, dass der Nutzerstrich geometrisch hin zu den Merkmalspunkten mit den Merkmalskennzeichnungen 211a, wie durch den Pfeil 214 von 2C angezeigt ist, korrigiert wird.
  • Die Terme Eguidance und Eface bewegen den Eingabestrich (das heißt jeden Punkt des Nutzerstriches) zu der Position der Linie der Kante oder der Merkmalsleitkarte mit derselben Merkmalskennzeichnung, wo der Nutzer den Strich gezeichnet „haben sollte”, oder zumindest sehr nahe an diese heran. Der dritte Term Evariation dient als Ausgleich für die Terme Eguidance und Eface und trägt dazu bei sicherzustellen, dass jede Ausgabezeichnung desselben Bildes nicht exakt identisch zur Leitkarte ist, indem der Stil der ursprünglichen Nutzerstriche beibehalten wird. Evariation ist folgendermaßen definiert:
    Figure DE102015000377A1_0005
  • Der Term Evariation kann die Differenz von benachbarten Punkten vor und nach der Korrektur minimieren. Mit anderen Worten, der Term Evariation kann dazu beitragen, die Form des ursprünglichen Nutzerstriches durch Sicherstellen dessen, dass sich benachbarte Punkte synchron bewegen, beizubehalten. Insbesondere wird jeder Nutzerstrich in eine Mehrzahl von Punkten zerlegt bzw. gebrochen. Der Stil des ursprünglichen Nutzerstriches gibt die Abstände zwischen den Punkten, die den Strich bilden, und damit die Form des Striches vor. Der Term Evariation trägt dazu bei, die Abstände zwischen benachbarten Punkten in dem geometrisch korrigierten Strich gleich oder ähnlich zu den Abständen zwischen den entsprechenden benachbarten Punkten in dem ursprünglichen Nutzerstrich zu halten.
  • Die Gewichtungen α, β und γ können den Ausgleich bzw. Kompromiss (trade-off) zwischen dem Angleichen der Nutzerstriche an die Kantenleitkarte, die Merkmalsleitkarte und dem Beibehalten der Eigenschaften/Form des ursprünglichen Nutzerstriches steuern bzw. regeln. Insbesondere wird, wenn α und β vergrößert und γ verkleinert werden, der geometrische Korrekturprozess weniger von den Eigenschaften der ursprünglichen Nutzerstriche beibehalten und die Nutzerstriche stärker an die Leitkarte angleichen. Demgegenüber wird, wenn α und β verkleinert und γ vergrößert werden, der geometrische Korrekturprozess mehr von den Eigenschaften der ursprünglichen Nutzerstriche beibehalten und die Nutzerstriche weniger stark an die Kantenleitkarte angleichen. Bei einer oder mehreren Ausführungsformen werden die Gewichtungen α, β und γ automatisch ausgewählt, um das Aussehen und das Wesen der Ausgabezeichnungen zu optimieren. Bei alternativen Ausführungsformen kann der Nutzer α, β und γ dafür modifizieren, dasjenige anzupassen, wie die Zeichnungen korrigiert werden.
  • Parametrische Anpassung
  • Es sollte einsichtig sein, dass infolge von Evariation sowie infolge des Umstandes, dass Nutzer dasjenige zeichnen, was sie „wissen”, jeder geometrisch korrigierte Strich weiterhin bezüglich der Kantenleitkarte versetzt oder auf andere Weise verschoben sein kann. Als Teil des parametrischen Anpassungsprozesses kann das Zeichenhilfesystem bestimmen, welche geometrisch korrigierten Striche „korrekt” gezeichnet worden sind und welche Linien „nicht korrekt” gezeichnet worden sind. Insbesondere kann das Zeichenhilfesystem die geometrisch korrigierten Striche mit der Kantenleitkarte vergleichen, um zu bestimmen, um wie viel diese von der Kantenleitkarte abweichen. Sodann kann auf Grundlage des Ausmaßes der Abweichung oder Angleichung bezüglich der Kantenleitkarte das Zeichenhilfesystem Linien mit Angleichung an die Kantenleitkarte hervorheben und diejenigen Linien, die von der Kantenleitkarte abweichen, markieren.
  • Die Abweichung oder der Fehler für jeden Punkt pi in einem geometrisch korrigierten Strich kann als Abstand zwischen pi und dem zu ihm nächsten Punkt in der Kantenleitkarte definiert werden. Insbesondere können die Abweichung oder der Fehler folgendermaßen definiert werden:
    Figure DE102015000377A1_0006
  • Die ersten beiden Terme
    Figure DE102015000377A1_0007
    stellen den Abstand zwischen pi und dem zu ihm nächsten Punkt in der Kantenleitkarte dar. Der dritte Term
    Figure DE102015000377A1_0008
    misst die Krümmungsdifferenz zwischen den beiden Punkten. Damit stellt der dritte Term sicher, dass ein geometrisch korrigierter Strich, der nahe an einer Kante der Kantenleitkarte ist, sich jedoch verschieden von der Kante der Kantenleitkarte krümmt, nicht übermäßig hervorgehoben wird.
  • Die parametrischen Anpassungen können eine Hervorhebung unter Nutzung einer oder mehrerer aus einer Anzahl von Techniken bereitstellen. So kann beispielsweise das Zeichenhilfesystem die Liniendicke modifizieren. Dicke Linien stechen im Bild stärker hervor, sodass beim Vornehmen parametrischer Anpassungen das Zeichenhilfesystem die Breite von richtig platzierten Linien vergrößern und die Breite von falsch platzierten Linien verkleinern kann. Zusätzlich oder alternativ können die parametrischen Anpassungen die Opazität von Linien anpassen. So kann das Zeichenhilfesystem beispielsweise sicherstellen, dass richtig platzierte Linien opak gezeichnet werden, während falsch platzierte Linien stärker transparent gezeichnet werden. Ist die Anpassung der Opazität nicht möglich, so kann das Zeichenhilfesystem eine Opazitätsabweichung durch Simulieren eines Pinselmediums emulieren. Das Zeichenhilfesystem kann beispielsweise Striche in einzelne Linien (die einen leichten Kontakt eines Borstenpinsels mit Papier nahelegen) zerlegen und hierdurch die wahrgenommene Opazität des Gesamtstriches verringern. Bei wieder anderen Ausführungsformen kann das Zeichenhilfesystem eine Hervorhebung oder Markierung unter Nutzung von Farbe anwenden. Das Zeichenhilfesystem kann beispielsweise falsch platzierte Linien mit einer Farbe (beispielsweise hellgrau) und richtig platzierte Linien mit einer anderen Farbe oder Schattierung (beispielsweise dunkelgrau) wiedergeben.
  • Die Hervorhebung oder Markierung kann auf Grundlage des Fehlerwertes e für den geometrisch korrigierten Strich eingesetzt werden. Wenn beispielsweise der Fehler für eine Linie unter einem vorbestimmten Ausmaß oder einer Schwelle ist, können die parametrischen Anpassungen die Linie hervorheben. Insbesondere kann, wenn der Fehlerwert abnimmt, die Hervorhebung zunehmen. Wenn demgegenüber der Fehlerwert über der vorbestimmten Schwelle ist, können die parametrischen Anpassungen die Linie markieren. Nimmt der Fehlerwert zu, so kann in der Tat die Markierung zunehmen. Ist der Fehlerwert an oder nahe an dem vorbestimmten Ausmaß, so können die parametrischen Anpassungen eine minimale Hervorhebung oder auch weder eine Hervorhebung noch eine Markierung einsetzen.
  • Das Zeichenhilfesystem kann die parametrischen Anpassungen global (das heißt entlang des Gesamtstriches) oder lokal (das heißt mit Abweichungen entlang eines einzelnen Striches) einsetzen. Die parametrisch angepasste Linie 228 von 2H zeigt eine lokal eingesetzte Hervorhebung und Markierung. In einem oder mehreren Fällen erzeugt der lokal zugeordnete Fehlerwert gegebenenfalls keine guten Visualisierungseffekte, wenn sich die lokalen Fehler häufig entlang desselben Striches ändern. In derartigen Fällen können die lokalen Fehler entlang desselben Striches durch Optimieren mit einer Neighboring-Consistency-Penalty geglättet werden. Ein globaler Fehler kann als Durchschnitt der lokalen geglätteten Fehler berechnet und sodann zum Einsatz der Hervorhebung oder Markierung genutzt werden.
  • 1 bis 6D, der zugehörige Text und die Beispiele bieten eine Anzahl von verschiedenen Systemen und Vorrichtungen zum Bereitstellen einer Zeichenhilfe durch geometrische Anpassungen auf Grundlage eines semantischen Kennzeichnens. Zusätzlich zum Vorhergehenden können Ausführungsformen der vorliegenden Erfindung auch anhand von Ablaufdiagrammen beschrieben werden, die Vorgänge und Schritte bei einem Verfahren zum Erreichen eines bestimmten Ergebnisses umfassen. 7 und 8 zeigen beispielsweise Flussdiagramme von exemplarischen Verfahren entsprechend einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
  • 7 zeigt ein Flussdiagramm eines exemplarischen Verfahrens 700 unter Nutzung eines semantischen Kennzeichnens zur Bereitstellung einer Zeichenhilfe für einen ein Bild 206, 406 zeichnenden Nutzer. Das Verfahren 700 beinhaltet einen Vorgang 702 des Erzeugens einer Leitkarte für das Bild, die Merkmalskennzeichnungen aufweist, die Abschnitte der Leitkarte identifizieren, die Merkmalen des Bildes entsprechen. Implizieren kann der Vorgang 702 insbesondere ein Erzeugen einer oder mehrerer von einer Kantenleitkarte 208, 608 und einer Merkmalsleitkarte 213.
  • Der Vorgang 702 kann beispielsweise ein Anwenden eines Kantenerfassungsfilters auf das Bild implizieren, um eine Kantenleitkarte 208, 608 zu erzeugen. Implizieren kann der Vorgang 702 beispielsweise das Anwenden eines erweiterten Difference-of-Gaussians-Filters auf das Bild 206, 406, um eine Kantenleitkarte 208, 608 zu erzeugen, die eine Mehrzahl von Kanten 222 umfasst, die Merkmale des Bildes 206, 406 umreißt oder auf andere Weise angibt.
  • Implizieren kann der Vorgang 702 des Weiteren ein Identifizieren eines oder mehrerer Merkmale in dem Bild. Implizieren kann der Vorgang 702 ein voneinander erfolgendes Unterscheiden von verschiedenen Merkmalen oder verschiedenen Typen von Merkmalen in dem Bild 206, 406. Wenn beispielsweise das Bild 206, 406 ein Gesicht umfasst, kann der Vorgang 702 ein Anwenden eines Gesichtserfassungsalgorithmus auf das Bild 206, 406 zum Identifizieren der Augen, der Iris, des Mundes, des Gesichtsumrisses, der Nase und der Augenbrauen implizieren. Umfasst das Bild eine Szenerie im Freien, so kann der Vorgang 702 ein Anwenden eines Merkmalserfassungsalgorithmus zum Identifizieren des Himmels, von Wasser, Bergen, Bäumen und dergleichen mehr implizieren. Implizieren kann der Vorgang 702 bei wieder anderen Ausführungsformen ein Empfangen einer Nutzereingabe zum Identifizieren von Merkmalen des Bildes oder ein Nutzen einer Datenbank, die einen Nutzer identifiziert, oder von computeridentifizierten Merkmalen von Bildern.
  • Implizieren kann der Vorgang 702 ein Erzeugen einer Merkmalsleitkarte 213, 613 des Bildes 206, 406, die die Merkmalskennzeichnungen 211a bis 211f, 611a bis 611f beinhaltet, die die Position der identifizierten Merkmale des Bildes 206, 406 angeben. Implizieren kann der Vorgang 702 beispielsweise ein Filtern der Kantenleitkarte 208, 608 dafür, dass diese nur Kanten 222 mit den Merkmalskennzeichnungen 211a bis 211f, 611a bis 611f beinhaltet. Der Vorgang 702 kann sodann ein Spiegeln von Kanten auf jeder Seite einer vertikalen Symmetrielinie 612 implizieren. Zusätzlich oder alternativ kann der Vorgang 702 ein Nutzen von bestimmten Merkmalspunkten in dem Bild 206 zum Definieren der Merkmalsleitkarte 213, 613 implizieren. Der Vorgang 702 kann beispielsweise eine Linie 214 an die Merkmalspunkte angleichen und sodann die Ergebnisse als Merkmalsleitkarte 213, 613 nutzen.
  • Implizieren kann der Vorgang 702 ein Nutzen der Merkmalsleitkarte 213 zur Bereitstellung eines semantischen Kennzeichnens der Kantenleitkarte 206, 608, zum Ergänzen der Kantenleitkarte 208, 608 bei fehlenden Kanten entsprechend einem oder mehreren Merkmalen des Bildes 206 und/oder als für sich genommene Leitkarte. Zusätzlich kann der Vorgang 702 ein Verknüpfen von Merkmalskennzeichnungen mit Kanten in der Kantenleitkarte entsprechend identifizierten Merkmalen implizieren. Der Vorgang 702 kann beispielsweise ein Vergleichen der Merkmale, die in dem Bild 206, 406 identifiziert werden, mit der Kantenleitkarte 208, 608 und ein Verknüpfen der Kennzeichnungen 211a bis 211f, 611a bis 611f mit Kanten 222 der Kantenleitkarte 208, 608 entsprechend den identifizierten Merkmalen implizieren. Insbesondere kann der Vorgang 702 ein Segmentieren der Kantenleitkarte 208, 608 unter Nutzung eines Markov'schen Random Fields, einer Graphpartition oder eines Suchalgorithmus nach dem nächsten Nachbarn implizieren. Identifizieren kann der Vorgang 702 des Weiteren ein Identifizieren einer Kante 222 am nächsten zu einem Merkmal, das in dem Bild 206, 406 identifiziert wird, und ein Verknüpfen der Merkmalskennzeichnung 211a bis 211f, 611a bis 611f des Merkmales mit der identifizierten Kante, wie in 2D und 6D gezeigt ist.
  • Das Verfahren 700 beinhaltet einen Vorgang 704 des Erfassens eines Striches 216, 218, der von einem Nutzer gezeichnet wird. insbesondere kann der Vorgang 704 ein Erfassen einer Aktivierung und einer Bewegung einer Eingabevorrichtung (beispielsweise einer Maus, eines berührungsempfindlichen Bildschirms oder eines Trackpads) implizieren. Der Vorgang 704 kann zudem ein Erfassen eines Anfangspunktes des Striches 216, 218, einer Bewegungsrichtung des Striches 216, 218 und eines Endpunktes des Striches 216, 218 implizieren. Der Vorgang 702 kann des Weiteren ein Erfassen einer Position und einer Krümmung des Striches 216, 218 implizieren.
  • 7 zeigt, dass das Verfahren 700 einen Vorgang 706 des Verknüpfens einer Merkmalskennzeichnung mit dem Strich beinhaltet. Implizieren kann der Vorgang 706 beispielsweise ein Vergleichen der Merkmale, die in dem Bild 206, 406 identifiziert werden, mit dem Strich 216, 218 und ein mit dem Strich 216, 218 erfolgendes Verknüpfen der Merkmalskennzeichnung 211a bis 211f, 611a bis 611f desjenigen Merkmales, dem der Strich 216, 218 entspricht. Implizieren kann der Vorgang 706 des Weiteren ein Identifizieren des Merkmals am nächsten zu dem Strich 216, 218 und ein Verknüpfen der Merkmalskennzeichnung 211a bis 211f, 611a bis 611f des Merkmals mit dem Strich 216, 218.
  • Zusätzlich beinhaltet das Verfahren 700 einen Vorgang 708 des Identifizierens eines Abschnittes der Leitkarte am nächsten zu dem Strich 216, 218, der eine verknüpfte Merkmalskennzeichnung 211a bis 211f, 611a bis 611f hat, die zu der Merkmalskennzeichnung 211a bis 211f, 611a bis 611f des Striches 216, 218 passt. Implizieren kann der Vorgang 708 beispielsweise ein Identifizieren einer Kante 222 der Kantenleitkarte 208, 608 am nächsten zu dem Strich 216, 218 mit derselben Merkmalskennzeichnung 211a bis 211f, 611a bis 611f wie der Strich 216, 218. Implizieren kann der Vorgang 708 insbesondere ein Bestimmen der Kante 222 der Kantenleitkarte 208, 608 an nächsten an dem Strich 216, 218 hinsichtlich Abstand und Krümmung mit einer passenden Merkmalskennzeichnung 211a bis 211f, 611a bis 611f.
  • Implizieren kann der Vorgang 708 alternativ oder zusätzlich ein Identifizieren einer Linie 214 der Merkmalsleitkarte 213, 613 am nächsten zu dem Strich 216, 218, der eine verknüpfte Merkmalskennzeichnung 211a bis 211f, 611a bis 611f hat, die zu der Merkmalskennzeichnung 211a bis 211f, 611a bis 611f des Striches 216, 218 passt. Implizieren kann der Vorgang 708 insbesondere ein Bestimmen der Linie 214 der Merkmalsleitkarte 213, 613 am nächsten zu dem Strich 216, 218 hinsichtlich Abstand und Krümmung mit einer passenden Merkmalskennzeichnung 211a bis 211f, 611a bis 611f.
  • 7 zeigt des Weiteren, dass das Verfahren 700 einen Vorgang 710 des Erzeugens eines geometrisch korrigierten Striches unter Nutzung des identifizierten Abschnittes der Leitkarte beinhaltet. Implizieren kann der Vorgang 710 beispielsweise ein Erzeugen eines geometrisch korrigierten Striches 224, 226 durch Bewegen, Umpositionieren oder Umgestalten des Striches 216, 218 unter Nutzung der identifizierten Kante 222 der Kantenleitkarte 208, 608 am nächsten zu dem Strich 216, 218, der eine verknüpfte Merkmalskennzeichnung 211a bis 211f, 611a bis 611f hat, die zu der Merkmalskennzeichnung 211a bis 211f, 611a bis 611f des Striches 216, 218 passt, als Anleitung. Implizieren kann der Vorgang 710 beispielsweise ein Verringern oder Minimieren der Differenzen hinsichtlich Position und Krümmung des Striches 216, 218 von der entsprechenden Kante 222 der Kantenleitkarte 208, 608. Implizieren kann der Vorgang 710 zusätzlich oder alternativ ein Implizieren unter Nutzung der identifizierten Linie 214 der Merkmalsleitkarte 213 am nächsten zu dem Strich 218, der eine verknüpfte Merkmalskennzeichnung 211a hat, die zu der Merkmalskennzeichnung 211a des Striches 218 passt, zusätzlich zur Nutzung der identifizierten Kante 222.
  • Implizieren kann der Vorgang 710 zusätzlich zum Vorbeschriebenen ein Bestimmen einer Abweichung 216a, 216b des Striches 216 von der identifizierten Kante 222 der Kantenleitkarte 208. Um den Stil des Nutzers beizubehalten, kann der Vorgang 710 des Weiteren ein wenigstens teilweise erfolgendes Beibehalten der Abweichung 216a, 216b beim geometrischen Korrigieren des Striches 216 implizieren. Implizieren kann der Vorgang 710 beispielsweise ein Verringern einer Differenz zwischen der Abweichung 216a, 216b des Striches 216 und einer Abweichung 224a, 224b des geometrisch korrigierten Striches 224.
  • Zusätzlich zum Vorbesprochenen kann das Verfahren 700 optional ein parametrisches Anpassen des geometrisch korrigierten Striches implizieren. Implizieren kann das Verfahren 700 beispielsweise ein Bestimmen von Abweichungen des geometrisch korrigierten Striches 224 von der identifizierten Kante 222 der Kantenleitkarte 208. Implizieren kann das Verfahren 700 insbesondere ein Bestimmen von Differenzen hinsichtlich Position und Krümmung zwischen dem geometrisch korrigierten Strich 224 und der identifizierten Kante 222 der Kantenleitkarte 208. Des Weiteren implizieren kann das Verfahren 700 ein parametrisches Anpassen des geometrisch korrigierten Striches 224 durch Hervorheben oder weniger Hervorheben des geometrisch korrigierten Striches 224 auf Grundlage der Abweichungen des geometrisch korrigierten Striches 224 von der identifizierten Kante 222 der Kantenleitkarte 208. Implizieren kann das Verfahren 700 beispielsweise ein Hervorheben von Abschnitten 224c des geometrisch korrigierten Striches 224, die an die identifizierte Kante 222 angeglichen sind, und ein weniger Hervorheben von Abschnitten 224a, 224b des geometrisch korrigierten Striches 224 mit Abweichungen von der identifizierten Kante 222. Implizieren kann das Hervorheben von Abschnitten des geometrisch korrigierten Striches 224 ein Vergrößern von einem oder mehreren von Breite, Opazität oder Dichte, während das weniger Hervorheben von Abschnitten des geometrisch korrigierten Striches 224 ein Verkleinern von einem oder mehreren von Breite, Opazität oder Dichte implizieren kann.
  • Das Verfahren 700 kann ein Rendern des geometrisch korrigierten Striches implizieren. Das Verfahren 700 kann ein Rendern des geometrisch korrigierten Striches 224, 226, wenn der Nutzer den Strich 216, 218 zeichnet, implizieren. Mit anderen Worten, das Verfahren 700 kann den geometrisch korrigierten Strich 224, 226 anstatt oder anstelle der Wiedergabe bzw. Rendern des Striches 216, 218 wiedergeben. Bei derartigen Ausführungsformen gibt das Zeichenhilfesystem den Strich 216, 218 nicht wieder.
  • In 8 gezeigt ist ein Flussdiagramm eines weiteren exemplarischen Verfahrens 800 des Nutzens eines semantischen Kennzeichnens zur Bereitstellung einer Zeichenhilfe für einen ein Bild skizzierenden Nutzer. Das Verfahren 800 beinhaltet ebenfalls einen Vorgang 802 des Erfassens eines oder mehrerer Merkmale in dem Bild. Implizieren kann der Vorgang 802 ein voneinander erfolgendes Unterscheiden von verschiedenen Merkmalen oder verschiedenen Typen von Merkmalen in dem Bild 206, 406. Wenn das Bild beispielsweise ein Gesicht umfasst, kann der Vorgang 802 ein Anwenden eines Gesichtserfassungsalgorithmus implizieren, um die Augen, die Iris, den Mund, den Gesichtsumriss, die Nase und die Augenbrauen zu identifizieren. Umfasst das Bild eine Szenerie im Freien, so kann der Vorgang 802 ein Anwenden eines Merkmalserfassungsalgorithmus implizieren, um den Himmel, Wasser, Berge, Bäume und dergleichen mehr zu identifizieren. Beinhalten kann der Vorgang 802 bei wieder anderen Ausführungsformen ein Empfangen einer Anwendereingabe zum Identifizieren von Merkmalen des Bildes oder ein Nutzen einer Datenbank, die Nutzer identifiziert, oder von computeridentifizierten Merkmalen von Bildern. Der Vorgang 802 kann des Weiteren ein Erzeugen oder Identifizieren von Merkmalspunkten zum Identifizieren der erfassten Merkmale implizieren.
  • Zusätzlich beinhaltet das Verfahren 800 einen Vorgang 804 des Verknüpfens von Merkmalskennzeichnungen mit Leitpunkten in der Kantenleitkarte entsprechend den erfassten Merkmalen. Implizieren kann der Vorgang 804 beispielsweise ein Vergleichen der Merkmale, die in dem Bild 206, 406 erfasst werden, mit der Kantenleitkarte 208, 608 und ein Verknüpfen von Kennzeichnungen 211a bis 211f, 611a bis 611f mit Leitpunkten gi der Kantenleitkarte 208, 608 entsprechend den identifizierten Merkmalen. Implizieren kann der Vorgang 804 insbesondere ein Segmentieren der Kantenleitkarte 208, 608 unter Nutzung eines Markov'schen Random Field, einer Graphpartition oder eines Suchalgorithmus nach dem nächsten Nachbarn. Implizieren kann der Vorgang 804 des Weiteren ein Durchführen einer Suche nach dem nächsten Nachbarn zum Identifizieren des nächsten Merkmalspunktes fi für jeden Leitpunkt gi einer Vorlagekante 222. Implizieren kann der Vorgang 804 sodann ein Bestimmen, welche Merkmalskennzeichnung 211a bis 211f, 611a bis 611f (auf Grundlage der nächsten Merkmalspunkte fi) für eine Mehrzahl der Leitpunkte gi der Vorlagekante 222 identifiziert worden ist. Des Weiteren impliziert der Vorgang 804 ein Verknüpfen der Merkmalskennzeichnung 211a bis 211f, 611a bis 611f, die für eine Mehrzahl der Leitpunkte gi identifiziert werden, mit jedem Leitpunkt gi an der Vorlagekante 222.
  • Wie gezeigt ist, beinhaltet das Verfahren 800 einen Vorgang 806 des Identifizierens von Eingabepunkten, die einen von einem Nutzer gezeichneten Strich definieren. Insbesondere impliziert der Vorgang 806 ein Identifizieren von Eingabepunkten xi, die einen Eingabestrich 216, 218 definieren, der von einem Nutzer über einem Bild 206, 406 gezeichnet wird. Implizieren kann der Vorgang 806 insbesondere ein Analysieren des Striches, um die Eingabepunkte xi, die den Strich 216, 218 definieren, zu identifizieren. Beinhalten kann das Analysieren des Striches 216, 218 ein Abtasten oder Neuabtasten des Striches 216, 218 zum Identifizieren von Eingabestrichpunkten xi. Zusätzlich beinhalten kann das Analysieren des Striches 216, 218 ein Bestimmen einer Position und einer lokalen Orientierung des Striches 216, 218 an jedem der Eingabepunkte xi.
  • Zusätzlich beinhaltet das Verfahren 800 einen Vorgang 808 des Verknüpfens von Merkmalskennzeichnungen mit den Eingabepunkten. Implizieren kann der Vorgang 808 beispielsweise ein Vergleichen der Merkmale, die in dem Bild 206, 406 erfasst werden, mit den Eingabepunkten xi und ein Verknüpfen der Kennzeichnungen 211a bis 211f, 611a bis 611f mit den Eingabepunkten xi entsprechend den identifizierten Merkmalen. Implizieren kann der Vorgang 808 ein Durchführen einer Suche nach dem nächsten Nachbarn zum Identifizieren des nächsten Merkmalspunktes fi für jeden Eingabepunkt xi eines Nutzerstriches 216, 218. Implizieren kann der Vorgang 808 sodann ein Bestimmen, welche Merkmalskennzeichnung 211a bis 211f, 611a bis 611f (auf Grundlage der nächsten Merkmalspunkte fi) für eine Mehrzahl der Eingabepunkte xi des Striches 216, 218 identifiziert worden ist. Des Weiteren impliziert der Vorgang 808 ein Verknüpfen der Merkmalskennzeichnung 211a bis 211f, 611a bis 611f mit Identifizierung für eine Mehrzahl der Eingabepunkte xi mit jedem Eingabepunkt xi des Eingabestriches 216, 218.
  • 8 zeigt, dass das Verfahren 800 einen Vorgang 810 des Identifizierens von Leitpunkten der Kantenleitkarte am nächsten zu den Eingabepunkten des Striches mit verknüpften Merkmalskennzeichnungen, die zu den Merkmalskennzeichnungen der Eingabepunkte des Striches passen, beinhaltet. Implizieren kann der Vorgang 810 beispielsweise ein Identifizieren von Leitpunkten gi am nächsten zu den Eingabepunkten xi mit derselben Merkmalskennzeichnung 211a bis 211f, 611a bis 611f wie die Eingabepunkte xi. Implizieren kann der Vorgang 810 insbesondere ein Bestimmen der Leitpunkte gi am nächsten zu den Eingabepunkten xi hinsichtlich Abstand und Krümmung ebenfalls mit verknüpften Merkmalskennzeichnungen 211a bi 211f, 611a bis 611f, die zu den Merkmalskennzeichnungen passen, die mit den Eingabepunkten xi verknüpft sind.
  • Entlang betroffener Linien beinhaltet das Verfahren 800 einen Vorgang 812 des Identifizierens von Merkmalspunkten am nächsten zu den Eingabepunkten des Striches mit verknüpften Merkmalskennzeichnungen, die zu den Merkmalskennzeichnungen der Eingabepunkte des Striches passen. Implizieren kann der Vorgang 812 beispielsweise ein Identifizieren von Merkmalspunkten fi am nächsten zu den Eingabepunkten xi mit derselben Merkmalskennzeichnung 211a bis 211f, 611a bis 611f wie die Eingabepunkte xi. Implizieren kann der Vorgang 812 insbesondere ein Bestimmen der Merkmalspunkte fi am nächsten zu den Eingabepunkten xi hinsichtlich Abstand und Krümmung ebenfalls mit verknüpften Merkmalskennzeichnungen 211a bis 211f, 611a bis 611f, die zu den Merkmalskennzeichnungen passen, die mit den Eingabepunkten xi verknüpft sind.
  • 8 zeigt des Weiteren, dass das Verfahren 800 einen Vorgang 814 des Bestimmens von geometrisch korrigierten Punkten für den Strich auf Grundlage der identifizierten Leitpunkte und der identifizierten Merkmalspunkte beinhaltet. Implizieren kann der Vorgang 814 insbesondere ein Berechnen einer Position und einer Orientierung für geometrisch korrigierte Punkte pi. Implizieren kann der Vorgang 814 ein Verringern oder Minimieren einer Differenz zwischen den geometrisch korrigierten Punkten pi und den Leitpunkten gi. Implizieren kann der Vorgang 814 ein Verringern oder Minimieren einer Differenz zwischen den geometrisch korrigierten Punkten pi und den Merkmalspunkten fi.
  • Implizieren kann der Vorgang 806 des Weiteren ein Bestimmen einer Abweichung zwischen benachbarten Eingabepunkten xi und ein Verringern einer Differenz zwischen der Abweichung zwischen dem benachbarten Eingabepunkten xi und einer Abweichung zwischen benachbarten geometrisch korrigierten Punkten pi entsprechend den benachbarten Eingabepunkten xi. Implizieren kann das Bestimmen von geometrisch korrigierten Punkten pi das Angleichen der geometrisch korrigierten Punkte pi an die Leitpunkte gi und die Merkmalspunkte fi bei gleichzeitiger Beibehaltung von Abweichungen in dem Strich 216, 218.
  • Zusätzlich beinhaltet das Verfahren 800 einen Vorgang 816 des Erzeugens eines geometrisch korrigierten Striches oder einer solchen Kurve aus den geometrisch korrigierten Punkten. Insbesondere impliziert das Verfahren 816 ein Erzeugen eines geometrisch korrigierten Striches oder einer solchen Kurve 224, 226 durch Angleichen (fitting) einer Linie an die geometrisch korrigierten Punkte pi. Implizieren kann der Vorgang 816 beispielsweise ein Angleichen (fitting) der geometrisch korrigierten Punkte pi mit einer kubischen B-Spline-Kurvennäherung oder unter Nutzung einer Regressionstechnik der kleinsten Quadrate oder eines anderen Linienangleichungsalgorithmus.
  • Ausführungsformen der vorliegenden Erfindung können einen Spezialzweck- oder einen Allzweckcomputer umfassen oder anwenden, der Computerhardware, so beispielsweise einen oder mehrere Prozessoren und einen Systemspeicher, wie nachstehend noch detailliert beschrieben wird, beinhaltet. Ausführungsformen innerhalb des Umfanges der vorliegenden Erfindung beinhalten zudem physische und andere computerlesbare Medien zum Tragen oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen. Insbesondere können ein oder mehrere der hier beschriebenen Prozesse wenigstens teilweise als Anweisungen implementiert sein, die in einem nichtflüchtigen computerlesbaren Medium verkörpert und durch eine oder mehrere Rechenvorrichtungen (beispielsweise beliebige der hier beschriebenen Medieninhaltszugriffsvorrichtungen) ausführbar sind. Im Allgemeinen empfängt ein Prozessor (beispielsweise ein Mikroprozessor) Anweisungen von einem nichtflüchtigen computerlesbaren Medium (beispielsweise einem Speicher und dergleichen) und führt diese Anweisungen aus, um hierdurch einen oder mehrere Prozesse durchzuführen, darunter einen oder mehrere der hier beschriebenen Prozesse.
  • Ein Computerprogrammerzeugnis kann als Signal, als Datenstrom und/oder als computerlesbares Medium, insbesondere jedoch als computerlesbares Speichermedium, verkörpert sein. Computerlesbare Medien können beliebige verfügbare Medien sein, auf die durch ein Allzweck- oder Spezialzweckcomputersystem zugegriffen werden kann. Computerlesbare Medien, die computerausführbare Anweisungen speichern, sind nichtflüchtige computerlesbare Speichermedien (Vorrichtungen). Computerlesbare Medien, die computerausführbare Anweisungen tragen, sind Übertragungsmedien. Beispielhalber und nicht im Sinne einer Beschränkung können Ausführungsformen der Erfindung wenigstens zwei deutlich verschiedene Arten von computerlesbaren Medien umfassen, nämlich nichtflüchtige, computerlesbare Speichermedien (Vorrichtungen) und Übertragungsmedien.
  • Nichtflüchtige computerlesbare Speichermedien (Vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, Solid-State-Laufwerke („SSDs”) (beispielsweise auf Grundlage eines RAM), Flash-Memorys, Phasenänderungsspeicher („PCM”), andere Arten von Speicher, einen anderen optischen Plattenspeicher, magnetischen Plattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das zum Speichern von gewünschten Programmcodemitteln in Form von computerausführbaren Anweisungen oder Datenstrukturen genutzt werden kann und auf das durch einen Allzweck- oder Spezialzweckcomputer zugegriffen werden kann.
  • Eine „Netzwerk” ist als eine oder mehrere Datenverknüpfungen (Links) definiert, die den Transport von elektronischen Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen definieren. Wird Information über ein Netzwerk oder eine andere Kommunikationsverbindung (entweder verdrahtet, drahtlos oder eine Kombination aus verdrahtet oder drahtlos) an einen Computer übertragen, so sieht der Computer die Verbindung gewissermaßen als Übertragungsmedium. Die Übertragungsmedien können ein Netzwerk und/oder Datenverknüpfungen (Links) beinhalten, die zum Tragen von gewünschten Programmcodemitteln in Form von computerausführbaren Anweisungen oder Datenstrukturen genutzt werden können und auf die durch einen Allzweck- oder Spezialzweckcomputer zugegriffen werden kann. Kombinationen des Vorbeschriebenen sollen ebenfalls im Umfang der computerlesbaren Medien beinhaltet sein.
  • Des Weiteren können beim Verwirklichen von verschiedenen Computersystemkomponenten Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen automatisch von Übertragungsmedien auf die nichtflüchtigen computerlesbaren Speichermedien (Vorrichtungen) (oder umgekehrt) übertragen werden. Beispielsweise können computerausführbare Anweisungen oder Datenstrukturen mit Empfang über ein Netzwerk oder eine Datenverknüpfung (Link) in einem RAM innerhalb eines Netzwerkschnittstellenmoduls (beispielsweise „NIC”) gepuffert werden und sodann gegebenenfalls auf einen RAM des Computersystems und/oder auf weniger flüchtige Computerspeichermedien (Vorrichtungen) auf einem Computersystem übertragen werden. Es sollte einsichtig sein, dass nichtflüchtige computerlesbare Speichermedien (Vorrichtungen) in Computersystemkomponenten beinhaltet sein können, die ebenfalls (oder sogar primär) Übertragungsmedien dafür einsetzen.
  • Computerausführbare Anweisungen umfassen beispielsweise Anweisungen und Daten, die bei Ausführung auf einem Prozessor veranlassen, dass ein Allzweckcomputer, ein Spezialzweckcomputer oder eine Spezialzweckverarbeitungsvorrichtung eine bestimmte Funktion oder eine Gruppe von Funktionen durchführt. Bei einigen Ausführungsformen werden computerausführbare Anweisungen auf einem Allzweckcomputer ausgeführt, um den Allzweckcomputer in einen Spezialzweckcomputer zur Implementierung von Elementen der Erfindung umzuwandeln. Die computerausführbaren Anweisungen können beispielsweise Binärcode, Anweisungen in einem Zwischenformat, so beispielsweise in Assemblersprache, oder sogar Sourcecode sein. Obwohl der Erfindungsgegenstand in einer Sprache beschrieben worden ist, die spezifisch für strukturelle Merkmale und/oder methodische Vorgänge ist, sollte einsichtig sein, dass der in den beigefügten Ansprüchen definierte Erfindungsgegenstand nicht notwendigerweise auf die beschriebenen Merkmale oder die beschriebenen Vorgänge beschränkt ist. Vielmehr sind die beschriebenen Merkmale und Vorgänge als exemplarische Formen der Implementierung der Ansprüche offenbart.
  • Einem Fachmann auf dem einschlägigen Gebiet erschließt sich, dass die Erfindung in Netzwerkrechenumgebungen mit vielen Typen von Computersystemausgestaltungen praktisch umgesetzt werden kann, darunter PCs, Desktopcomputer, Laptopcomputer, Nachrichtenprozessoren, Handvorrichtungen, Multiprozessorsysteme, mikroprozessorbasierte oder programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputer, Mainframe-Computer, Mobiltelefone, PDAs, Tablets, Pager, Router, Schalter bzw. Switches und dergleichen mehr. Die Erfindung kann auch in verteilten Systemumgebungen praktisch umgesetzt werden, wo lokale und entfernt befindliche Computersysteme, die (entweder durch verdrahtete Datenverknüpfungen (Links) oder drahtlose Datenverknüpfungen (Links) oder auch durch eine Kombination aus verdrahteten und drahtlosen Datenverknüpfungen (Links)) durch ein Netzwerk verknüpft sind, jeweils Aufgaben ausführen. Bei einer verteilten Systemumgebung können Programmmodule sowohl in den lokalen wie auch in den entfernt befindlichen Speicherablagevorrichtungen befindlich sein.
  • Ausführungsformen der Erfindung können ebenfalls in Cloud-Computing-Umgebungen implementiert sein. In der vorliegenden Beschreibung ist „Cloud Computing” als Modell zum Ermöglichen eines auf Anfrage erfolgenden Netzwerkzugriffes auf einen gemeinsam genutzten Pool von konfigurierbaren Rechenressourcen definiert. Cloud Computing kann beispielsweise auf dem Markt eingesetzt werden, um einen allgegenwärtigen und praktischen auf Anfrage erfolgenden Zugriff auf den gemeinsam genutzten Pool von konfigurierbaren Rechenressourcen zu bieten. Der gemeinsam genutzte Pool von konfigurierbaren Rechenvorrichtungen kann schnell über eine Virtualisierung bereitgestellt und mit geringem Verwaltungsaufwand oder bei geringem Eingreifen eines Serviceproviders freigegeben und sodann entsprechend angepasst (scaled) werden.
  • Ein Cloud-Computing-Modell kann aus verschiedenen Eigenschaften zusammengesetzt sein, so beispielsweise einem auf Anfrage erfolgenden Self-Service, einem breiten Netzwerkzugriff, einem Resource-Pooling, einem schnellen Reaktionsvermögen (rapid elasticity), einem Measured Service und dergleichen mehr. Ein Cloud-Computing-Modell kann zudem verschiedene Servicemodelle bieten, so beispielsweise „Software as a Service” („SaaS”), „Platform as a Service” („PaaS”) und „Infrastructure as a Service” („IaaS”). Ein Cloud-Computing-Modell kann unter Nutzung von verschiedenen Einsatzmodellen eingesetzt werden, so beispielsweise Private Cloud, Community Cloud, öffentliche Cloud, hybride Cloud und dergleichen mehr. In der vorliegenden Beschreibung und in den Ansprüchen ist eine „Cloud-Computing-Umgebung” eine Umgebung, in der Cloud Computing eingesetzt wird.
  • 9 zeigt in Form eines Blockdiagramms eine exemplarische Rechenvorrichtung 900, die dafür aufgebaut sein kann, einen oder mehrere der vorbeschriebenen Prozesse durchzuführen. Es sollte einsichtig sein, dass die Clientvorrichtung 118 (oder sogar die Servervorrichtung 120) Implementierungen der Rechenvorrichtung 900 umfassen kann. Wie in 9 gezeigt ist, kann die Rechenvorrichtung einen Prozessor 902, einen Speicher 904, eine Speichervorrichtung 906, eine I/O-Schnittstelle 908 und eine Kommunikationsschnittstelle 910 umfassen. Bei der exemplarischen Rechenvorrichtung 900 gemäß Darstellung in 9 sollen die Komponenten, die in 9 dargestellt sind, nicht beschränkend sein. Zusätzliche oder alternative Komponenten können bei anderen Ausführungsformen genutzt werden. Des Weiteren kann bei bestimmten Ausführungsformen eine Rechenvorrichtung 900 weniger Komponenten als die in 9 gezeigten beinhalten. Die Komponenten der Rechenvorrichtung 900, die in 9 gezeigt sind, werden nachstehend detailliert beschrieben.
  • Bei bestimmten Ausführungsformen beinhaltet/beinhalten der Prozessor/die Prozessoren 902 Hardware zum Ausführen von Anweisungen, so beispielsweise zum Bilden eines Computerprogramms. Bei einem Beispiel und nicht im Sinne einer Beschränkung kann/können zum Ausführen von Anweisungen der Prozessor/die Prozessoren 902 die Anweisungen aus einem internen Register, einem internen Cache, dem Speicher 904 oder der Speichervorrichtung 906 abrufen (oder holen) und diese dekodieren und ausführen. Bei bestimmten Ausführungsformen kann/können der Prozessor/die Prozessoren 902 ein oder mehrere interne Caches für Daten, Anweisungen oder Adressen beinhalten. Bei einem Beispiel und nicht im Sinne einer Beschränkung kann/können der Prozessor/die Prozessoren 902 ein oder mehrere Anweisungscaches, ein oder mehrere Datencaches und ein oder mehrere Translation-Lookaside-Puffer (TLBs) beinhalten. Anweisungen in den Anweisungscaches können Kopien von Anweisungen in dem Speicher (memory) 904 oder dem Speicher (storage) 906 sein.
  • Die Rechenvorrichtung 900 beinhaltet den Speicher 904, der mit dem Prozessor/den Prozessoren 902 gekoppelt ist. Der Speicher 904 kann zum Speichern von Daten, Metadaten und Programmen zur Ausführung durch den Prozessor/die Prozessoren genutzt werden. Der Speicher 904 kann einen oder mehrere von flüchtigen und nichtflüchtigen Speichern beinhalten, so beispielsweise einen Speicher mit wahlfreiem Zugriff („RAM”), einen Nur-Lese-Speicher („ROM”), eine Solid-State-Platte („SSD”), einen Flash, einen Phasenänderungsspeicher („PCM”) oder andere Arten von Datenspeichern. Der Speicher 904 kann ein interner oder ein verteilter Speicher sein.
  • Die Rechenvorrichtung 900 beinhaltet eine Speichervorrichtung 906 zum Speichern von Daten oder Anweisungen. Bei einem Beispiel und nicht im Sinne einer Beschränkung kann die Speichervorrichtung 906 ein nichtflüchtiges Speichermedium gemäß vorstehender Beschreibung beinhalten. Die Speichervorrichtung 906 kann einen Festplattenspeicher (HDD), ein Floppy-Diskettenlaufwerk, einen Flash-Speicher, eine optische Platte, eine magnetoptische Platte, ein magnetisches Band oder einen USB-Treiber (Universeller Serieller Bus) oder eine Kombination aus zwei oder mehreren hiervon beinhalten. Die Speichervorrichtung 906 kann je nach Bedarf entfernt befindliche oder nicht entfernt befindliche (oder feste) Medien beinhalten. Das Speichermedium 906 kann bezüglich der Rechenvorrichtung 900 intern oder extern sein. Bei bestimmten Ausführungsformen ist die Speichervorrichtung 906 ein nichtflüchtiger Solid-State-Speicher. Bei bestimmten Ausführungsformen beinhaltet die Speichervorrichtung 906 einen Nur-Lese-Speicher (ROM). Je nach Bedarf kann dieser ROM ein maskenprogrammierter ROM, ein programmierbarer ROM (PROM), ein löschbarer PROM (EPROM), ein elektronisch löschbarer PROM (EEPROM), ein elektronischer änderbarer ROM (EAROM) oder ein Flash-Speicher oder auch eine Kombination aus zwei oder mehreren hiervon sein.
  • Die Rechenvorrichtung 900 beinhaltet zudem eine oder mehrere Eingabe- oder Ausgabe-Vorrichtungen/Schnittstellen („I/O”) 908, die dafür vorgesehen sind zu ermöglichen, dass ein Nutzer eine Eingabe (so beispielsweise Nutzerstriche) für die Rechenvorrichtung 900 bereitstellt, eine Ausgabe von der Rechenvorrichtung 900 empfängt oder auf andere Weise Daten an die Rechenvorrichtung 900 oder von dieser transferiert. Diese I/O-Vorrichtungen/Schnittstellen 908 können eine Maus, ein Keypad oder eine Tastatur, einen berührungsempfindlichen Bildschirm, eine Kamera, einen optischen Abtaster bzw. Scanner, eine Netzwerkschnittstelle, ein Modem, beliebige andere I/O-Vorrichtungen oder eine Kombination aus derartigen I/O-Vorrichtungen/Schnittstellen 908 beinhalten. Der berührungsempfindliche Bildschirm kann durch einen Stift oder einen Finger aktiviert werden.
  • Die I/O-Vorrichtungen/Schnittstellen 908 können eine oder mehrere Vorrichtungen zum Präsentieren einer Ausgabe gegenüber einem Nutzer beinhalten, darunter unter anderem eine Grafikeinheit (graphics engine), eine Anzeige (beispielsweise einen Anzeigebildschirm), ein oder mehrere Ausgabetreiber (beispielsweise Anzeigetreiber), einen oder mehrere Lautsprecher und einen oder mehrere Audiotreiber. Bei bestimmten Ausführungsformen sind die Vorrichtungen/Schnittstellen 908 dafür konfiguriert, grafische Daten für eine Anzeige zur Präsentation gegenüber einem Nutzer bereitzustellen. Die grafischen Daten können ein oder mehrere grafische Nutzerschnittstellen und/oder einen beliebigen anderen grafischen Inhalt, so er einer bestimmten Implementierung dient, darstellen.
  • Die Rechenvorrichtung 900 kann des Weiteren eine Kommunikationsschnittstelle 910 beinhalten. Die Kommunikationsschnittstelle 910 kann Hardware, Software oder beides beinhalten. Die Kommunikationsschnittstelle 910 kann eine oder mehrere Schnittstellen zur Kommunikation (so beispielsweise zur paketbasierten Kommunikation) zwischen der Rechenvorrichtung und einer oder mehreren weiteren Rechenvorrichtungen 900 oder einem oder mehreren Netzwerken bereitstellen. Bei einem Beispiel und nicht im Sinne einer Beschränkung kann die Kommunikationsschnittstelle 910 eine Netzwerkschnittstellensteuerung (NIC) oder einen Netzwerkadapter zur Kommunikation mit einem Ethernet oder einem weiteren drahtbasierten Netzwerk oder ein drahtloses NIC (WNIC) oder einen drahtlosen Adapter zur Kommunikation mit einem drahtlosen Netzwerk, so beispielsweise WI-FI, beinhalten.
  • Die vorliegende Offenbarung bezieht ein beliebiges geeignetes Netzwerk und eine beliebige geeignete Kommunikationsschnittstelle 910 mit ein. Bei einem Beispiel und nicht im Sinne einer Beschränkung kann die Rechenvorrichtung 900 mit einem Ad-hoc-Netzwerk, einem Personenbereichsnetzwerk (PAN), einem Ortsbereichsnetzwerk (LAN), einem Großbereichsnetzwerk (WAN), einem Stadtbereichsnetzwerk (MAN) oder einem oder mehreren Abschnitten des Internets oder einer Kombination aus zwei oder mehreren hiervon kommunizieren. Ein oder mehrere Abschnitte von einem oder mehreren dieser Netzwerke können verdrahtet oder drahtlos sein. Bei einem Beispiel kann das Rechensystem 900 mit einem Drahtlos-PAN (WPAN) (so beispielsweise einem Bluetooth-WPAN), einem WI-FI-Netzwerk, einem WI-MAX-Netzwerk, einem zellenbasierten Telefonnetzwerk (so beispielsweise einem GSM-Netzwerk (Global System for Mobile Communications)) oder einem beliebigen anderen geeigneten Drahtlosnetzwerk oder einer Kombination hieraus kommunizieren. Die Rechenvorrichtung 900 kann je nach Bedarf eine beliebige geeignete Kommunikationsschnittstelle 910 für ein beliebiges dieser Netzwerke beinhalten.
  • Die Rechenvorrichtung 900 kann des Weiteren einen Bus 912 beinhalten. Der Bus 912 kann Hardware, Software oder beides beinhalten, die Komponenten der Rechenvorrichtung 900 miteinander koppeln. Bei einem Beispiel und nicht im Sinne einer Beschränkung kann der Bus 912 einen AGP-Bus (Accelerated Graphics Port AGP) oder einen anderen Grafikbus, einen EISA-Bus (Enhanced Industry Standard Architecture EISA), einen FSB-Bus (Front Side Bus FSB), einen HT-Interconnect (Hypertransport HT), einen ISA-Bus (Industry Standard Architecture ISA), einen Infiniband-Interconnect, einen LPC-Bus (Low Pin Count LPC), einen Speicherbus, einen MCA-Bus (Micro Channel Architecture MCA), einen PCI-Bus (Peripheral Component Interconnect PCI), einen PCI-Express-Bus (PCIe), einen SATA-Bus (Serial Advanced Technology Attachment SATA), einen VLB-Lokalbus (Video Electronics Standards Assocation) oder einen anderen geeigneten Bus oder eine Kombination hieraus beinhalten.
  • Bei der vorstehenden Beschreibung ist die Erfindung anhand spezifischer exemplarischer Ausführungsformen beschrieben worden. Verschiedene Ausführungsformen und Aspekte der Erfindung/der Erfindungen sind anhand der hier diskutierten Details beschrieben worden, wobei die begleitende Zeichnung die verschiedenen Ausführungsformen darstellt. Die vorstehende Beschreibung und die Zeichnung sind illustrativ bezüglich der Erfindung und sollen nicht als erfindungsbeschränkend gedeutet werden. Zahlreiche spezifische Details werden beschrieben, um ein tiefer gehendes Verständnis der verschiedenen Ausführungsformen der vorliegenden Erfindung zu ermöglichen.
  • Entsprechend beinhalten Verfahren zum Bereitstellen einer Zeichenhilfe für einen ein Bild skizzierenden Nutzer ein geometrisches Korrigieren zum Anpassen von Nutzerstrichen zur Verbesserung von deren Platzierung und Aussehen. Insbesondere geben eine oder mehrere Leitkarten an, wo der Nutzer Linien zeichnen „sollte”. Zeichnet ein Nutzer einen Strich, so wird der Strich geometrisch durch Bewegen des Striches hin zu einem Abschnitt der Leitkarten entsprechend dem Merkmal des Bildes, das der Nutzer zu zeichnen beabsichtigte, auf Grundlage von Merkmalskennzeichnungen bewegt. Zum weiteren Verbessern der von dem Nutzer gezeichneten Linien werden optional parametrische Anpassungen an dem geometrisch korrigierten Strich vorgenommen, um „korrekt” gezeichnete Striche hervorzuheben und „nicht korrekt” gezeichnete Striche zu markieren.
  • Die vorliegende Erfindung kann in anderen spezifischen Formen verkörpert sein, ohne von ihrem Wesen und ihren wesentlichen Eigenschaften abzugehen. Die beschriebenen Ausführungsformen sollen in jeder Hinsicht als rein illustrativ und nicht restriktiv betrachtet werden. Die hier beschriebenen Verfahren können beispielsweise mit weniger oder mehr Schritten/Vorgängen durchgeführt werden, oder es können die Schritte/Vorgänge in anderen Reihenfolgen durchgeführt werden. Darüber hinaus können die hier beschriebenen Schritte/Vorrichtungen wiederholt oder parallel mit einem weiteren oder parallel mit anderen Instanzen bzw. Beispielen derselben oder ähnlicher Schritte/Vorgänge durchgeführt werden. Der Umfang der Erfindung ist daher durch die beigefügten Ansprüche und nicht durch die vorhergehende Beschreibung angegeben. Alle Änderungen, die der Bedeutung und dem Äquivalenzbereich der Ansprüche entsprechen, sollen in deren Umfang umfasst sein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Holger Winnemöller et al., veröffentlicht bei 36 (6) Stylization Computers & Graphics, 740–753 (2012) [0058]
    • „Deformable Model Fitting by Regularized Landmark Mean-Shift” von Jason M. Saragih, veröffentlicht bei 91, INT'L J. COMPUTER VISION 200–215 (2010) [0097]

Claims (13)

  1. Verfahren zum Nutzen eines semantischen Kennzeichnens zur Bereitstellung einer Zeichenhilfe für einen ein Bild skizzierenden Nutzer, umfassend: durch einen oder mehrere Prozessoren erfolgendes Erzeugen einer Leitkarte für das Bild, wobei die Leitkarte Merkmalskennzeichnungen beinhaltet, die einen oder mehrere Abschnitte der Leitkarte identifizieren, die einem oder mehreren Merkmalen des Bildes entsprechen; Erfassen eines von einem Nutzer gezeichneten Striches; Verknüpfen einer Merkmalskennzeichnung mit dem Strich; Identifizieren eines Abschnittes der Leitkarte am nächsten zu dem Strich, der eine verknüpfte Merkmalskennzeichnung hat, die zu der Merkmalskennzeichnung des Striches passt; und durch den einen oder die mehreren Prozessoren erfolgendes Erzeugen eines geometrisch korrigierten Striches unter Nutzung des identifizierten Abschnittes der Leitkarte am nächsten zu dem Strich, der die verknüpfte Merkmalskennzeichnung hat, die zu der Merkmalskennzeichnung des Striches passt.
  2. Verfahren nach Anspruch 1, wobei das Erzeugen der Leitkarte ein Erzeugen einer Kantenleitkarte durch Anwenden eines Kantenerfassungsfilters auf das Bild umfasst, wobei das Erzeugen der Leitkarte des Weiteren vorzugsweise umfasst: (i) Anwenden eines Merkmalserfassungsalgorithmus auf das Bild zum Identifizieren eines oder mehrerer Merkmale in dem Bild; und (ii) Verknüpfen von Merkmalskennzeichnungen mit Kanten in der Kantenleitkarte entsprechend den identifizierten Merkmalen.
  3. Verfahren nach Anspruch 2, wobei das Erzeugen der Leitkarte des Weiteren ein Erzeugen einer Merkmalsleitkarte durch Anwenden eines Merkmalserfassungsalgorithmus auf das Bild zum Identifizieren eines oder mehrerer Merkmale in dem Bild umfasst, vorzugsweise des Weiteren umfassend ein Nutzen der Merkmalsleitkarte zum Ergänzen der Kantenleitkarte unter Nutzung von Merkmalslinien der Merkmalsleitkarte für fehlende Abschnitte der Kantenleitkarte.
  4. Verfahren nach Anspruch 2 oder 3, wobei das Erzeugen des geometrisch korrigierten Striches unter Nutzung des identifizierten Abschnittes der Leitkarte am nächsten zu dem Strich, der die verknüpfte Merkmalskennzeichnung hat, die zu der Merkmalskennzeichnung des Striches passt, umfasst: Bestimmen einer Merkmalslinie der Merkmalsleitkarte am nächsten zu dem Strich, der die verknüpfte Merkmalskennzeichnung hat, die zu der Merkmalskennzeichnung des Striches passt; Bestimmen einer Kante der Kantenleitkarte am nächsten zu dem Strich, der die verknüpfte Merkmalskennzeichnung hat, die zu der Merkmalskennzeichnung des Striches passt; Bestimmen, welche von der Kante oder der Merkmalslinie eine bessere Anleitung für den Strich bereitstellt; und Bewegen des Striches hin zu der bestimmten Kante oder Merkmalslinie, die die bessere Anleitung für den Strich bereitstellt.
  5. Verfahren nach Anspruch 2, 3 oder 4, wobei der Kantenerfassungsfilter einen erweiterten Difference-of-Gaussians-Filter umfasst.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Erzeugen der Leitkarte ein Erzeugen einer Merkmalsleitkarte durch Anwenden eines Merkmalserfassungsalgorithmus auf das Bild zum Identifizieren eines oder mehrerer Merkmale in dem Bild umfasst; und/oder wobei das Bild eine Fotografie eines Gesichtes umfasst; und/oder wobei das Anwenden eines Merkmalserfassungsalgorithmus auf das Bild ein Anwenden eines Gesichtserfassungsalgorithmus auf das Bild umfasst.
  7. Verfahren nach einem der vorhergehenden Ansprüche, des Weiteren umfassend: Bestimmen von Abweichungen des geometrisch korrigierten Striches von dem identifizierten Abschnitt der Leitkarte durch Bestimmen von Differenzen hinsichtlich Position und Krümmung zwischen dem geometrisch korrigierten Strich und dem identifizierten Abschnitt der Leitkarte; und/oder weniger Hervorheben von Abschnitten des geometrisch korrigierten Striches, die von dem identifizierten Abschnitt der Leitkarte abweichen; und/oder Hervorheben von Abschnitten des geometrisch korrigierten Striches, die an den identifizierten Abschnitt der Leitkarte angeglichen sind; und/oder Rendern des geometrisch korrigierten Striches, wenn der Nutzer den Strich zeichnet; Bestimmen einer Abweichung des Striches von der identifizierten Kante der Leitkarte; und wenigstens teilweise erfolgendes Beibehalten der Abweichung beim geometrischen Korrigieren des Striches.
  8. Verfahren zum Nutzen eines semantischen Kennzeichnens zur Bereitstellung einer Zeichenhilfe für einen ein Bild zeichnenden Nutzer, umfassend: Erfassen eines oder mehrerer Merkmale in dem Bild; Verknüpfen von Merkmalskennzeichnungen mit Leitpunkten in einer Leitkarte entsprechend den erfassten Merkmalen; Identifizieren von Eingabepunkten zum Definieren eines von dem Nutzer gezeichneten Striches; Verknüpfen von Merkmalskennzeichnungen mit den Eingabepunkten des Striches; Identifizieren von Leitpunkten der Leitkarte am nächsten zu den Eingabepunkten des Striches, der verknüpfte Merkmalskennzeichnungen hat, die zu den Merkmalskennzeichnungen der Eingabepunkte des Striches passen; Identifizieren von Merkmalspunkten am nächsten zu den Eingabepunkten des Striches, der verknüpfte Merkmalskennzeichnungen hat, die zu den Merkmalskennzeichnungen der Eingabepunkte des Striches passen; durch den einen oder die mehreren Prozessoren erfolgendes Bestimmen von geometrisch korrigierten Punkten für die Eingabepunkte auf Grundlage der identifizierten Leitpunkte und der identifizierten Merkmalspunkte; und Erzeugen eines geometrisch korrigierten Striches durch Angleichen bzw. Fitten einer Linie an die geometrisch korrigierten Punkte.
  9. Verfahren nach Anspruch 8, wobei das Bestimmen der geometrisch korrigierten Punkte für die Eingabepunkte auf Grundlage der identifizierten Leitpunkte und der identifizierten Merkmalspunkte umfasst: Verringern einer Differenz hinsichtlich Abstand und Krümmung zwischen den geometrisch korrigierten Punkten und den identifizierten Leitpunkten; und Verringern einer Differenz hinsichtlich Abstand und Krümmung zwischen den geometrisch korrigierten Punkten und den identifizierten Merkmalspunkten.
  10. Verfahren nach Anspruch 8 oder 9, wobei das Verknüpfen von Merkmalskennzeichnungen mit Leitpunkten in der Leitkarte entsprechend den erfassten Merkmalen umfasst: Durchführen einer Suche nach dem nächsten Nachbarn zum Identifizieren eines nächsten Merkmalspunktes für jeden Leitpunkt einer Vorlagekante; Identifizieren einer Merkmalskennzeichnung für jeden nächsten Merkmalspunkt am nächsten zu jedem Leitpunkt der Vorlagekante; Bestimmen, welche Merkmalskennzeichnung für eine Mehrzahl der nächsten Merkmalspunkte zu jedem Leitpunkt der Vorlagekante identifiziert wurde; und Verknüpfen der Merkmalskennzeichnung, die für die Mehrzahl der Merkmalspunkte identifiziert worden ist, mit jedem Leitpunkt an der Vorlagekante.
  11. Computerprogrammerzeugnis, umfassend computerlesbare Anweisungen, die, wenn sie in ein geeignetes System geladen und dort ausgeführt werden, die Schritte eines Verfahrens nach einem der vorhergehenden Ansprüche durchführen.
  12. System, umfassend: wenigstens einen Prozessor; und wenigstens ein nichtflüchtiges computerlesbares Speichermedium zum darauf erfolgenden Speichern von Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Erzeugen einer Leitkarte für das Bild, wobei die Leitkarte Merkmalskennzeichnungen beinhaltet, die einen oder mehrere Abschnitte der Leitkarte identifizieren, die einem oder mehreren Merkmalen des Bildes entsprechen; Erfassen eines von einem Nutzer gezeichneten Striches; Verknüpfen einer Merkmalskennzeichnung mit dem Strich; Identifizieren eines Abschnittes der Leitkarte am nächsten zu dem Strich, der eine verknüpfte Merkmalskennzeichnung hat, die zu der Merkmalskennzeichnung des Striches passt; und Erzeugen eines geometrisch korrigierten Striches unter Nutzung des identifizierten Abschnittes der Leitkarte am nächsten zu dem Strich, der die verknüpfte Merkmalskennzeichnung hat, die zu der Merkmalskennzeichnung des Striches passt.
  13. System nach Anspruch 12, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum Erzeugen der Leitkarte für das Bild durch Erzeugen: (i) einer Merkmalsleitkarte des Bildes durch Anwenden eines Merkmalserfassungsalgorithmus auf das Bild, der Positionen eines oder mehrerer Merkmale des Bildes identifiziert; und/oder (ii) einer Kantenleitkarte des Bildes durch Anwenden eines Kantenerfassungsfilters auf das Bild; und/oder wobei der identifizierte Abschnitt der Leitkarte am nächsten zu dem Strich mit der verknüpften Merkmalskennzeichnung, die zu der Merkmalskennzeichnung des Striches passt, umfasst: (I) eine Linie der Merkmalsleitkarte am nächsten zu dem Strich, der die verknüpfte Merkmalskennzeichnung hat, die zu der Merkmalskennzeichnung des Striches passt; und/oder (II) eine Kante der Kantenleitkarte am nächsten zu dem Strich, der die verknüpfte Merkmalskennzeichnung hat, die zu der Merkmalskennzeichnung des Striches passt; und/oder wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor des Weiteren das System veranlassen zum: (a) Bestimmen eines ersten Abstandes des Striches von der Linie der Merkmalsleitkarte; (b) Bestimmen eines zweiten Abstandes des Striches von der Kante der Leitkarte; und (c) Vergeben einer Gewichtung an die Linie der Merkmalsleitkarte und die Kante der Kantenleitkarte auf Grundlage der bestimmten ersten und zweiten Abstände beim Erzeugen des geometrisch korrigierten Striches.
DE102015000377.1A 2014-02-07 2015-01-15 Bereitstellen einer Zeichenhilfe unter Nutzung einer Merkmalserfassung und eines semantischen Kennzeichnens Pending DE102015000377A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/176,034 2014-02-07
US14/176,034 US9495581B2 (en) 2014-02-03 2014-02-07 Providing drawing assistance using feature detection and semantic labeling

Publications (1)

Publication Number Publication Date
DE102015000377A1 true DE102015000377A1 (de) 2015-08-13

Family

ID=52746219

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015000377.1A Pending DE102015000377A1 (de) 2014-02-07 2015-01-15 Bereitstellen einer Zeichenhilfe unter Nutzung einer Merkmalserfassung und eines semantischen Kennzeichnens

Country Status (3)

Country Link
CN (1) CN104834459B (de)
DE (1) DE102015000377A1 (de)
GB (1) GB2524871B (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI602149B (zh) * 2015-12-31 2017-10-11 遠東科技大學 繪圖之筆刷搜尋方法、電腦程式產品及電腦可讀取記錄媒體
US20180173688A1 (en) * 2016-12-15 2018-06-21 Myscript System and method for management of handwritten diagram connectors
CN109255807B (zh) * 2017-07-13 2023-02-03 腾讯科技(深圳)有限公司 一种图像信息处理方法及服务器、计算机存储介质
US10733710B2 (en) * 2017-12-19 2020-08-04 Microsoft Technology Licensing, Llc System and method for drawing beautification
CN108711179B (zh) * 2018-05-21 2022-07-19 杭州多技教育科技有限公司 绘图还原方法和系统
CN111061889B (zh) * 2018-10-16 2024-03-29 京东方艺云(杭州)科技有限公司 图片多标签的自动识别方法和装置
US11650717B2 (en) * 2019-07-10 2023-05-16 International Business Machines Corporation Using artificial intelligence to iteratively design a user interface through progressive feedback

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4508553B2 (ja) * 2003-06-02 2010-07-21 カシオ計算機株式会社 撮影画像投影装置、及び撮影画像の補正方法
US7693341B2 (en) * 2006-04-21 2010-04-06 Apple Inc. Workflows for color correcting images
CN101178633A (zh) * 2007-12-13 2008-05-14 深圳华为通信技术有限公司 一种手写屏错误纠正的方法、系统及装置
CN101183496A (zh) * 2007-12-25 2008-05-21 深圳市乐天科技有限公司 一种书写式电子装置进行文字笔划的校正方法
US20100201689A1 (en) * 2009-02-09 2010-08-12 Nokia Corporation Method, apparatus and computer program product for interactive sketch template creation, alteration, and use
JP4930607B2 (ja) * 2010-02-04 2012-05-16 カシオ計算機株式会社 画像処理装置、及び、画像処理プログラム
CN202615269U (zh) * 2012-03-26 2012-12-19 深圳市金研微科技有限公司 电子系统及实现可视化触摸绘图板功能的新型平板电脑

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Deformable Model Fitting by Regularized Landmark Mean-Shift" von Jason M. Saragih, veröffentlicht bei 91, INT'L J. COMPUTER VISION 200-215 (2010)
Holger Winnemöller et al., veröffentlicht bei 36 (6) Stylization Computers & Graphics, 740-753 (2012)

Also Published As

Publication number Publication date
GB2524871A (en) 2015-10-07
GB201501968D0 (en) 2015-03-25
GB2524871B (en) 2017-06-28
CN104834459B (zh) 2019-08-16
CN104834459A (zh) 2015-08-12

Similar Documents

Publication Publication Date Title
DE102015000377A1 (de) Bereitstellen einer Zeichenhilfe unter Nutzung einer Merkmalserfassung und eines semantischen Kennzeichnens
DE102015000498A1 (de) Geometrisches und parametrisches Modifizieren einer Nutzereingabe als Zeichenhilfe
DE102018008217A1 (de) Intelligente Anleitung zum Aufnehmen von Digitalbildern, die mit einem Zielbildmodell in Übereinstimmung gebracht sind
US10235897B2 (en) Providing drawing assistance using feature detection and semantic labeling
DE112017002799B4 (de) Verfahren und system zum generieren multimodaler digitaler bilder
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
CN103456010B (zh) 一种基于特征点定位的人脸卡通画生成方法
DE102006032484B4 (de) Auf Gesichtsmerkmale örtlich begrenztes und umfassendes Echtzeit-Video-Morphing
DE112020003794T5 (de) Tiefenbewusste Fotobearbeitung
DE69936620T2 (de) Verfahren und Vorrichtung zum Segmentieren von Handgebärden
DE102017009049A1 (de) Ermöglichen von Transformationen Skizze-zu-Gemälde
DE102019005938A1 (de) Intelligentes Identifizieren von Ersetzungsbereichen zum Mischen und Ersetzen von Personen in Gruppenporträts
US9449253B2 (en) Learning painting styles for painterly rendering
DE112016004437T5 (de) Head-Mounted-Display mit Gesichtsausdruck-Erkennungsfähigkeit
DE112018004527T5 (de) Selbstportraits in erweiterter realität
DE102017009276A1 (de) Erzeugen eines dreidimensionalen modells aus einem gescannten gegenstand
DE102019007196A1 (de) Identifizieren von Zielobjekten unter Nutzung der skalierungsdiversen Segmentierung dienender neuronaler Netzwerke
CN106056650A (zh) 基于快速表情信息提取和泊松融合的人脸表情合成方法
CA2761382C (en) Apparatus and method for identifying the creator of a work of art
CN111161137A (zh) 一种基于神经网络的多风格国画花生成方法
KR101112142B1 (ko) 참조 이미지를 이용한 카툰 렌더링 장치 및 방법
DE102022121680A1 (de) Ermittlung eines aktiven Sprechers mittels Bilddaten
CN104537372A (zh) 一种具备区域感知特性的人脸图像蒙板自动生成方法
DE102013215301A1 (de) System, Verfahren und Computerprogrammprodukt zum Extrudieren eines Modells durch eine zweidimensionale Szene
DE10250781B4 (de) Verfahren und Vorrichtung zur automatischen Segmentierung eines Vordergrundobjektes in einem Bild

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: ADOBE INC., SAN JOSE, US

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

R082 Change of representative

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

R016 Response to examination communication