DE102020002153A1 - Einsetzen von ein Objektattribut detektierenden Modellen zum automatischen Auswählen von Versionen detektierter Objekte in Bildern - Google Patents

Einsetzen von ein Objektattribut detektierenden Modellen zum automatischen Auswählen von Versionen detektierter Objekte in Bildern Download PDF

Info

Publication number
DE102020002153A1
DE102020002153A1 DE102020002153.0A DE102020002153A DE102020002153A1 DE 102020002153 A1 DE102020002153 A1 DE 102020002153A1 DE 102020002153 A DE102020002153 A DE 102020002153A DE 102020002153 A1 DE102020002153 A1 DE 102020002153A1
Authority
DE
Germany
Prior art keywords
query
version
versions
attribute
query object
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
DE102020002153.0A
Other languages
English (en)
Inventor
Scott Cohen
Zhe Lin
Mingyang Ling
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Inc filed Critical Adobe Inc
Publication of DE102020002153A1 publication Critical patent/DE102020002153A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5854Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

Die vorliegende Offenbarung betrifft ein Objektauswahlsystem, das Zielversionen nutzerseitig angeforderter Objekte (beispielsweise eine Anfrageobjektversion) in einem Digitalbild genau detektiert und automatisch auswählt. Bei einer oder mehreren Ausführungsformen kann das Objektauswahlsystem eine oder mehrere Nutzereingaben analysieren, um ein optimales ein Objektattribut detektierendes Modell aus mehreren spezialisierten und verallgemeinerten Objektattributmodellen auszuwählen. Zusätzlich kann das Objektauswahlsystem das ausgewählte Objektattributmodell einsetzen, um eine oder mehrere Zielversionen eines Anfrageobjektes in einem Bild zu detektieren und auszuwählen, wobei das Bild mehrere Versionen des Anfrageobjektes beinhaltet.

Description

  • Querverweis auf verwandte Anmeldungen
  • Die vorliegende Anmeldung beruht auf der am 22. Juli 2019 zeitgleich eingereichten US-Patentanmeldung Nr. 16/518,795 (anwaltliches Aktenzeichen Nr. 20030.257.4 ) und der am 22. Juli 2019 eingereichten US-Patentanmeldung Nr. 16/518,810 (anwaltliches Aktenzeichen Nr. 20030.257.2 ), die hiermit beide durch Verweis in Gänze mit aufgenommen sind.
  • Hintergrund
  • In den letzten Jahren hat sich die Digitalbildbearbeitung weit verbreitet. Sowohl bei der Hardware wie auch bei der Software sind dabei Fortschritte gemacht worden, die die Fähigkeit des Einzelnen, Digitalbilder zu erfassen, zu erstellen und zu bearbeiten, vergrößern. Die Hardware auf sehr modernen Rechenvorrichtungen (beispielsweise Servern, Desktops, Laptops, Tablets und Smartphones) ermöglicht beispielsweise eine Digitalbildbearbeitung ohne merkliche Verzögerungszeit oder Verzögerungen bei der Verarbeitung. Auf ähnliche Weise ermöglichen Verbesserungen bei der Software dem Einzelnen, Digitalbilder zu modifizieren, zu kombinieren, zu filtern oder auf andere Weise zu bearbeiten. Beispiele für das Bearbeiten von Digitalbildern beinhalten das Detektieren eines Objektes, das Kopieren des Objektes von einem Bild in einen neuen Hintergrund oder das Entfernen eines Objektes aus einem Bild.
  • Ungeachtet dieser Verbesserungen bei der Digitalbildbearbeitung tritt bei herkömmlichen Systemen eine Anzahl von Problemen im Zusammenhang mit der Flexibilität, Genauigkeit und Effizienz des Betriebes bei Bildbearbeitungssystemen auf, und zwar insbesondere beim Detektieren und Auswählen von Objekten in Digitalbildern. Als Beispiel sei genannt, dass viele herkömmliche Systeme eine beschränkte Funktionalität bei den Typen von Objekten aufweisen, die sie in einem Bild detektieren können. Herkömmliche Bildbearbeitungssysteme sind oftmals auf eine geringe Anzahl von Objektklassen beschränkt. Herkömmliche Systeme detektieren des Weiteren primär nur einen kleinen Teilsatz von Objekten innerhalb einer Objektklasse.
  • Ferner sind herkömmliche Systeme ungenau. Viele herkömmliche Systeme, die eine Objektdetektion anbieten, identifizieren beispielsweise oftmals die falschen Objekte oder scheitern beim Identifizieren eines Objektes. Will ein Nutzer beispielsweise eine Zielinstanz bzw. -version eines Objektes auswählen, so identifizieren herkömmliche Systeme bei einer einzigen Auswahl oftmals mehrere Instanzen bzw. Versionen des Objektes und gruppieren diese, da diese Systeme nicht zwischen Instanzen bzw. Versionen eines detektierten Objektes in einem Bild unterscheiden können.
  • Zudem sind einige herkömmliche Systeme ungenau, da sie ungenaue Ergebnisse liefern. Obwohl beispielsweise manche herkömmlichen Systeme einzelne Masken eines Objektes auswählen können, sind die Begrenzungen dieser Masken grob und ungenau. Diese herkömmlichen Systeme stellen oftmals Objektmasken bereit, die zusätzliche Abschnitte des Bildes übermäßig beinhalten oder nicht das gesamte Objekt beinhalten. Im Ergebnis muss ein Nutzer die Auswahl manuell korrigieren und/oder das gewünschte Objekt manuell auswählen.
  • Des Weiteren sind herkömmliche Systeme ineffizient. Herkömmliche Systeme weisen beispielsweise beträchtliche Unzulänglichkeiten bei der automatischen Detektion und Auswahl von Objekten auf. Viele herkömmliche Systeme, die Objekte detektieren, sind beispielsweise neuronale End-to-End-Netzwerke. Tritt ein Fehler auf oder wird ein gewünschtes Ergebnis nicht erreicht, so sind Nutzer oder sogar Designer eines Systems nicht imstande herauszufinden, welche Komponente des Systems nicht korrekt arbeitet. Vielmehr muss das gesamte System neutrainiert und angepasst werden, bis das gewünschte Ergebnis erreicht wird; dies ist ein Prozess, der beträchtliche Zeiträume und Rechenressourcen beanspruchen kann.
  • Zusätzlich bieten viele herkömmliche Systeme ineffiziente mauseingabebasierte Werkzeuge, die zudem erfordern, dass Nutzer ein gewünschtes Objekt manuell auswählen. Diese Werkzeuge sind bei vielen Auswahlaufgaben oftmals sowohl ungenau wie auch problematisch. Im Ergebnis werden durch die beträchtlichen Zeiträume und die nutzerseitigen Nutzerinteraktionen mit den verschiedenen Auswahlwerkzeugen beträchtliche Rechenressourcen beim Detektieren, Anzeigen, Auswählen und Korrigieren von Objektauswahlen in Digitalbildern verschwendet.
  • Diese Probleme und Fragestellungen sind zusammen mit zusätzlichen Problemen und Fragestellungen bei Bildbearbeitungssystemen im Zusammenhang mit dem Detektieren und Auswählen von Objekten in Digitalbildern vorhanden.
  • Kurze Zusammenfassung
  • Ausführungsformen der vorliegenden Offenbarung bieten Vorteile und/oder lösen eines oder mehrere der vorbeschriebenen Probleme oder andere Probleme im Stand der Technik bei Systemen, nichttemporären computerlesbaren Medien und Verfahren zum automatischen Auswählen einer Zielinstanz bzw. -version eines Objektes in einem Digitalbild auf Grundlage von Eingaben in natürlicher Sprache. Die offenbarten Systeme können beispielsweise eine oder mehrere Nutzereingaben analysieren, um ein optimales ein Objektattribut detektierendes Modell (beispielsweise ein neuronales Netzwerk für ein Objektattribut) unter mehreren spezialisierten und verallgemeinerten Objektattributmodellen zu bestimmen. Des Weiteren können die offenbarten Systeme das ausgewählte Objektattributmodell einsetzen, um die Zielinstanz bzw. -version eines Objektes in einem Bild, das mehrere Instanzen bzw. Versionen des Objektes beinhaltet, zu identifizieren.
  • Darstellungshalber können die offenbarten Systeme eine Nutzerauswahlanfrage identifizieren, die die Auswahl einer Zielinstanz bzw. -version eines Objektes innerhalb eines Bildes anfordert. Insbesondere kann die Nutzerauswahlanfrage ein Anfrageobjekt und ein Objektattribut, das dem Anfrageobjekt entspricht, angeben. Auf Grundlage der Nutzerauswahlanfrage können die offenbarten Systeme mehrere Instanzen bzw. Versionen des Anfrageobjektes in dem Bild detektieren. Bei einem Beispiel können die offenbarten Systeme, wenn mehrere Versionen eines gewünschten Objektes in einem Bild vorhanden sind, jede Version einzeln identifizieren und auswählen. Zusätzlich können die offenbarten Systeme ein ein Objektattribut detektierendes Modell auf Grundlage des Objektattributes bestimmen und das ein Objektattribut detektierende Modell zum Auswählen einer bestimmten Objektversion einsetzen. Des Weiteren können die offenbarten Systeme diejenige ausgewählte bestimmte Objektversion, die in dem Bild ausgewählt ist, bereitstellen.
  • Bei vielen Ausführungsformen können die offenbarten Systeme spezifizierte Instanzen bzw. Versionen von Objekten auf Grundlage der Nutzeranfrage genau detektieren. Sind beispielsweise mehrere Instanzen bzw. Versionen eines gewünschten Objektes in einem Bild vorhanden, so können die offenbarten Systeme jede Version einzeln identifizieren und auswählen. Zusätzlich können die offenbarten Systeme ein spezifiziertes Attribut aus der Auswahlanfrage identifizieren und die Version des Objektes, die auf das spezifizierte Attribut abgestimmt ist, auswählen. Bei verschiedenen Ausführungsformen können die offenbarten Systeme Versionen von Objekten auf Grundlage von Farbe, Position, Größe, Ort, Material, Ausdruck, Form oder anderen Attributen auswählen.
  • Obwohl die vorliegende Zusammenfassung der Einfachheit halber Systeme betrifft, gilt die Zusammenfassung auch für bestimmte offenbarte Verfahren und nichttemporäre computerlesbare Medien. Die nachfolgende Beschreibung führt zusätzliche Merkmale und Vorteile einer oder mehrerer Ausführungsformen der offenbarten Systeme, Computermedien und Verfahren auf. In einigen Fällen erschließen sich derartige Merkmale und Vorteile einem Fachmann aus der Beschreibung oder können sich durch die praktische Umsetzung der offenbarten Ausführungsformen ergeben.
  • Figurenliste
  • Die Detailbeschreibung stellt eine oder mehrere Ausführungsformen mit zusätzlicher Spezifität und Detailliertheit anhand der begleitenden Zeichnung bereit, die nachstehend kurz beschrieben wird.
    • 1 zeigt ein schematisches Diagramm einer Umgebung, in der ein Objektauswahlsystem arbeitet, entsprechend einer oder mehreren Ausführungsformen.
    • 2 zeigt ein schematisches Diagramm des automatischen Detektierens und Auswählens einer Zielanfrageobjektversion in einem Bild entsprechend einer oder mehreren Ausführungsformen.
    • 3A und 3B zeigen einen an einer grafischen Nutzerschnittstelle auftretenden Arbeitsablauf des automatischen Detektierens und Auswählens eines Anfrageobjektes in einem Bild entsprechend einer oder mehreren Ausführungsformen.
    • 4 zeigt ein schematisches Diagramm einer Objektauswahlpipeline zum Auswählen eines Zielanfrageobjektes in einem Bereich entsprechend einer oder mehreren Ausführungsformen.
    • 5 zeigt ein Flussdiagramm des Analysierens einer Nutzerauswahlanfrage zum Identifizieren eines Anfrageobjektes entsprechend einer oder mehreren Ausführungsformen.
    • 6 zeigt ein Flussdiagramm des Detektierens mehrerer Anfrageobjektversionen in einem Bild unter Einsatz eines ein Objekt detektierenden Modells entsprechend einer oder mehreren Ausführungsformen.
    • 7A und 7C zeigen einen an einer grafischen Nutzerschnittstelle auftretenden Arbeitsablauf des Einsetzens eines ein Objekt detektierenden Modells zum Detektieren mehrerer Anfrageobjektversionen in einem Bild entsprechend einer oder mehreren Ausführungsformen.
    • 8 zeigt ein Flussdiagramm des Detektierens einer Zielversion eines Anfrageobjektes entsprechend einer oder mehreren Ausführungsformen.
    • 9A bis 9D zeigen einen an einer grafischen Nutzerschnittstelle auftretenden Arbeitsablauf des Einsetzens eines ein Objektattribut detektierenden Netzwerkes zum Detektieren einer Zielversion eines Anfrageobjektes entsprechend einer oder mehreren Ausführungsformen.
    • 10 zeigt ein Flussdiagramm des Detektierens einer Zielversion eines Anfrageobjektes unter Einsatz eines ein Objektfarbattribut detektierenden neuronalen Netzwerkes entsprechend einer oder mehreren Ausführungsformen.
    • 11 zeigt einen an einer grafischen Nutzerschnittstelle auftretenden Arbeitsablauf des Auswählens einer Anfrageobjektversion auf Grundlage eines Objektfarbattributes entsprechend einer oder mehrerer Ausführungsformen.
    • 12 zeigt ein Flussdiagramm des Detektierens einer Zielversion eines Anfrageobjektes unter Einsatz eines Objektpositionsattributmodells entsprechend einer oder mehreren Ausführungsformen.
    • 13 zeigt einen an einer grafischen Nutzerschnittstelle auftretenden Arbeitsablauf des Auswählens einer Anfrageobjektversion auf Grundlage eines Objektpositionsattributs entsprechend einer oder mehreren Ausführungsformen.
    • 14 zeigt ein Flussdiagramm des Detektierens einer Zielversion eines Anfrageobjektes unter Einsatz eines ein verallgemeinertes Objektattribut detektierenden neuronalen Netzwerkes entsprechend einer oder mehreren Ausführungsformen.
    • 15 zeigt ein Flussdiagramm des Detektierens und Auswählens einer Zielversion eines Anfrageobjektes in einem Bild auf Grundlage multimodaler Eingaben entsprechend einer oder mehreren Ausführungsformen.
    • 16 zeigt ein schematisches Diagramm des Objektauswahlsystems entsprechend einer oder mehreren Ausführungsformen.
    • 17 zeigt ein Flussdiagramm einer Abfolge von Handlungen des Einsetzens eines von mehreren ein Objektattribut detektierenden Modellen zum Detektieren einer Anfrageobjektversion entsprechend einer oder mehreren Ausführungsformen.
    • 18 zeigt ein Blockdiagramm einer exemplarischen Rechenvorrichtung zum Implementieren einer oder mehrerer Ausführungsformen der vorliegenden Offenbarung.
  • Detailbeschreibung
  • Die vorliegende Offenbarung beschreibt eine oder mehrere Ausführungsformen eines Objektauswahlsystems, das Zielversionen von nutzerseitig angeforderten Objekten (beispielsweise eine Anfrageobjektversion) in einem Digitalbild genau detektiert und automatisch auswählt. Insbesondere kann das Objektauswahlsystem bei einer oder mehreren Ausführungsformen eine oder mehrere Nutzereingaben analysieren, um ein optimales ein Objektattribut detektierendes Modell von mehreren spezialisierten und verallgemeinerten Objektattributmodellen zu bestimmen. Zusätzlich kann das Objektauswahlsystem das ausgewählte Objektattributmodell einsetzen, um eine oder mehrere Zielversionen eines Anfrageobjektes in einem Bild zu detektieren und auszuwählen, wobei das Bild mehrere Versionen des Anfrageobjektes beinhaltet.
  • Darstellungshalber kann das Objektauswahlsystem eine Nutzerauswahlanfrage (beispielsweise eine Textzeichenfolge), die die Auswahl einer bestimmten Objektversion innerhalb eines Bildes anfordert, identifizieren. Insbesondere kann die Auswahlanfrage ein Anfrageobjekt und ein Objektattribut, das dem Anfrageobjekt entspricht, angeben. Auf Grundlage der Auswahlanfrage kann das Objektauswahlsystem mehrere Versionen des Anfrageobjektes in dem Bild detektieren. Zusätzlich kann das Objektauswahlsystem dasjenige, welches ein Objektattribut detektierende Modell eingesetzt werden soll, auf Grundlage eines Analysierens des Objektattributs in der Auswahlanfrage bestimmen. Das Objektauswahlsystem kann zudem die Zielanfrageobjektversion in dem Bild unter Einsatz des bestimmten ein Objektattribut detektierenden Modells detektieren und sodann auswählen. Schließlich kann das Objektauswahlsystem die detektierte Anfrageobjektversion automatisch für den Nutzer innerhalb des Bildes auswählen.
  • Bei einer oder mehreren Ausführungsformen kann das Objektauswahlsystem Objekte, die einer Vielzahl von Objekttypen und Klassen entsprechen, detektieren. Auf diese Weise kann ein Nutzer anfordern, dass das Objektauswahlsystem eine große Anzahl von Objekten ausfindig macht. Bei verschiedenen Ausführungsformen kann das Objektauswahlsystem eine Objektauswahlpipeline einsetzen, die ein Framework für das Objektauswahlsystem bereitstellt, um zu bestimmen, welche ein Objekt detektierenden neuronalen Netzwerke zum Detektieren der von einem Nutzer angeforderten Zielanfrageobjektversion eingesetzt werden sollen.
  • Darstellungshalber kann das Objektauswahlsystem bei einer oder mehreren Ausführungsformen eine Auswahlanfrage (beispielsweise eine Textzeichenfolge) von einem Nutzer detektieren, der die automatische Auswahl einer Zielversion eines Objektes innerhalb eines Bildes und/oder die Bearbeitung des Bildes in Bezug auf eine bestimmte Objektversion anfordert. Zusätzlich kann das Objektauswahlsystem die Anfragetextzeichenfolge (im Folgenden „Anfragezeichenfolge“ genannt) zerlegen (parse) und/oder eine Verarbeitung natürlicher Sprache einsetzen, um verschiedene Teile der Sprache, so beispielsweise Nomen und Adjektive, innerhalb der Anfrage zu bestimmen. Ein Nomen in der Anfragezeichenfolge entspricht beispielsweise dem Anfrageobjekt, von dem der Nutzer anfordert, dass das Objektauswahlsystem es automatisch in einem Bild auswählt. Ein Adjektiv in der Anfragezeichenfolge identifiziert des Weiteren, welche Versionen der Anfrageobjekte ausgewählt werden sollen, wenn mehrere Anfrageobjekte in dem Bild beinhaltet sind.
  • Bei einer oder mehreren Ausführungsformen kann das Objektauswahlsystem das Anfrageobjekt in einer Anfragezeichenfolge analysieren, um eine Objektklasse zu bestimmen. Auf Grundlage der Objektklasse kann das Objektauswahlsystem ein ein Objekt detektierendes neuronales Netzwerk auswählen und einsetzen, um das Anfrageobjekt innerhalb des Bildes zu detektieren. Bei zusätzlichen Ausführungsformen kann das Objektauswahlsystem mehrere Versionen des Anfrageobjektes innerhalb des Bildes detektieren.
  • Bei verschiedenen Ausführungsformen generiert das Objektauswahlsystem beim Detektieren des Anfrageobjektes eine angenäherte Begrenzung (beispielsweise ein Begrenzungskästchen) rings um das Objekt innerhalb des Bildes. Bei zusätzlichen Ausführungsformen stellt das Objektauswahlsystem das detektierte Anfrageobjekt für ein ein Objekt maskierendes neuronales Netzwerk bereit. Das ein Objekt maskierende neuronale Netzwerk generiert bei verschiedenen Ausführungsformen eine Objektmaske des detektierten Objektes. Die Objektmaske ermöglicht, dass das Objektauswahlsystem das detektierte Anfrageobjekt in dem Bild auswählt.
  • Bei einigen Ausführungsformen generiert das Objektauswahlsystem mehrere Begrenzungskästchen und/oder Objektmasken für mehrere Versionen eines detektierten Anfrageobjektes. Bei diesen Ausführungsformen kann das Objektauswahlsystem mehrere Versionen des detektierten Anfrageobjektes für den Nutzer bereitstellen. Bei zusätzlichen Ausführungsformen kann das Objektauswahlsystem einzelne Auswahlen einer jeden Version bereitstellen, wenn mehrere Versionen des detektierten Anfrageobjektes detektiert werden.
  • Wie vorstehend erwähnt worden ist, beinhaltet die Anfragezeichenfolge bei einigen Ausführungsformen ein oder mehrere Objektattribute, die eine Zielversion des Anfrageobjektes spezifizieren. Die Anfragezeichenfolge gibt beispielsweise Größe, Farbe, Position, Ort, Material, Gefühl oder ein anderes Attribut des Anfrageobjektes an. In Reaktion auf eine Detektion eines Objektattributs in der Anfragezeichenfolge kann das Objektauswahlsystem des Weiteren bestimmen, welche Version des Anfrageobjektes ausgewählt werden soll. Insbesondere kann das Objektauswahlsystem ein ein Objektattribut detektierendes Modell (beispielsweise ein neuronales Netzwerk oder eine Metrik) einsetzen, um zu bestimmen, welche Version des detektierten Anfrageobjektes in dem Bild ausgewählt und für den Nutzer bereitgestellt werden soll.
  • Bei einer oder mehreren Ausführungsformen detektiert das Objektauswahlsystem, dass das Objektattribut einer Farbe entspricht. Bei derartigen Ausführungsformen kann das Objektauswahlsystem ein eine Objektfarbe detektierendes Modell auswählen und einsetzen, um diejenige Version der detektierten Objekteanfrage zu identifizieren, die auf die Farbe, die in der Anfragezeichenfolge spezifiziert ist, abgestimmt ist. Bei einigen Ausführungsformen detektiert das Objektauswahlsystem, dass das Objektattribut einer Position entspricht. Bei diesen Ausführungsformen kann das Objektauswahlsystem ein Positionsmodell auswählen und einsetzen, um diejenige Version der detektierten Objekteanfrage, die auf die spezifizierte Position abgestimmt ist, zu identifizieren. Bei wieder anderen Ausführungsformen kann das Objektauswahlsystem ein ein anderes Objektattribut detektierendes neuronales Netzwerk auswählen und einsetzen, um diejenige Zielversion, die in der Anfragezeichenfolge spezifiziert ist, auszuwählen.
  • Bei verschiedenen Ausführungsformen vereinfacht das Objektauswahlsystem eine multimodale Nutzereingabe, um eine Zielversion des Anfrageobjektes zu identifizieren. Das Objektauswahlsystem setzt beispielsweise sowohl eine Anfragezeichenfolge wie auch eine Maus-/Berührungseingabe ein, um eine Zielversion des Anfrageobjektes zu identifizieren. Bei einigen Ausführungsformen stellt die Maus-/Berührungseingabe eine Angabe oder eine Auswahl der bestimmten Objektversion, die von dem Nutzer angefordert wird, bereit. Bei einigen Ausführungsformen kann das Objektauswahlsystem eine Objektversion in einem Bild lediglich auf Grundlage einer Maus-/Berührungseingabe durch einen Nutzer (beispielsweise ohne „verbale“ Nutzereingabe) auswählen.
  • Wie vorstehend erwähnt worden ist, bietet das Objektauswahlsystem zahlreiche Vorteile, nützliche Eigenschaften und praktische Anwendungen gegenüber herkömmlichen Systemen. Wie vorstehend erwähnt worden ist, führt das Objektauswahlsystem beispielsweise mehrere Funktionen bei der Objektdetektion, der Isolierung und der Auswahl durch. Das Objektauswahlsystem kann eine bestimmte Objektversion in einem Bild, die von einem Nutzer angefordert wird, detektieren wie auch eine Objektmaske, die die bestimmte Objektversion innerhalb des Bildes auswählt, generieren. Das Objektauswahlsystem kann bestimmen, dass der Nutzer eine Zielversion eines Objektes innerhalb des Bildes anfordert, und die bestimmte angeforderte Version bereitstellen. Entsprechend bietet das Objektauswahlsystem eine erhöhte Flexibilität und eine erweiterte Funktionalität gegenüber herkömmlichen Systemen.
  • Darüber hinaus bietet das Objektauswahlsystem eine erhöhte Flexibilität, indem es Zielversionen von Objekten in einem Bild auf Grundlage mehrerer Nutzereingaben detektiert. Das Objektauswahlsystem setzt beispielsweise sowohl Anfragezeichenfolgen (beispielsweise „verbale“ Hinweise) wie auch Eingabeauswahlen per Maus oder Berührung ein, um eine angeforderte Objektversion zu detektieren. Wie vorstehend erwähnt worden ist, kann das Objektauswahlsystem zudem Zielversionen angeforderter Objekte auf Grundlage eines Objektattributs, das in einer Auswahlanfrage (beispielsweise einer Anfragezeichenfolge) detektiert wird, auswählen.
  • Bei einem weiteren Beispiel bietet das Objektauswahlsystem eine erhöhte Genauigkeit gegenüber herkömmlichen Systemen. Das Objektauswahlsystem verbessert beispielsweise die Objektdetektionsgenauigkeit, indem es ein ein Objektattribut detektierendes Modell, das einem Anfrageobjektattribut am besten entspricht, aus einer Gruppe von verschiedenen ein Objektattribut detektierenden Modellen bestimmt. Unter Einsatz eines ein Objektattribut detektierenden Modells oder neuronalen Netzwerkes, das auf das Anfrageobjekt zugeschnitten ist, erreicht das Objektauswahlsystem eine verbesserte Genauigkeit bei der Objektdetektion wie auch der Objektauswahl.
  • Zusätzlich bietet das Objektauswahlsystem eine verbesserte Genauigkeit gegenüber herkömmlichen Systemen, indem es die Auswahl mehrerer Versionen eines detektierten Objektes separiert, anstatt dass es eine einzige Auswahl, die alle Versionen des detektierten Objektes beinhaltet, bereitstellt. Des Weiteren kann das Objektauswahlsystem detektieren, dass ein Nutzer eine Zielversion anfordert (beispielsweise durch Detektieren eines Objektattributs in der Anfragezeichenfolge), die Zielversion unter Nutzung mehrerer ein Objekt detektierender Modelle isolieren und eine Auswahl der Zielversion des von dem Nutzer angeforderten Objektes bereitstellen.
  • Des Weiteren bietet das Objektauswahlsystem eine verbesserte Effizienz gegenüber herkömmlichen Systemen, indem es die Objektauswahlpipeline einsetzt. Im Gegensatz zu geschlossenen herkömmlichen End-to-End-Systemen kann das Objektauswahlsystem, wenn ein Fehler auftritt, die fehlerhafte Komponente in der Objektauswahlpipeline lokalisieren und die Komponente reparieren. Das Objektauswahlsystem kann des Weiteren zusätzliche Komponenten zur Verbesserung der Genauigkeit hinzufügen. Das Objektauswahlsystem kann beispielsweise zusätzliche ein spezielles Objekt detektierende neuronale Netzwerke, die häufig angefragten Objekten entsprechen, zu der Objektauswahlpipeline hinzufügen. Auf ähnliche Weise kann das Objektauswahlsystem Komponenten innerhalb der Objektauswahlpipeline durch effizientere Versionen ersetzen und/oder aktualisieren.
  • Zusätzlich verringert das Objektauswahlsystem beträchtlich die Anzahl von Handlungen, die viele herkömmliche Systeme von Nutzern fordern, um ein Objekt innerhalb eines Bildes auszuwählen. Anstatt dass der Nutzer ineffiziente mauseingabebasierte Werkzeuge nutzt, um ein Objekt manuell auszuwählen, „sagt“ der Nutzer dem Objektauswahlsystem (beispielsweise durch Bereitstellen verbaler Hinweise in einer Anfragezeichenfolge), welches Objekt ausgewählt werden soll, und das Objektauswahlsystem detektiert das Objekt automatisch und wählt es aus. Das Objektauswahlsystem vereinfacht den Objektauswahlprozess stark, und zwar auf eine oder zwei einfache nutzerseitige Handlungen.
  • Zusätzliche Vorteile und nützliche Eigenschaften des Objektauswahlsystems erschließen sich im Lichte der nachfolgenden Beschreibung. Wie in der vorstehenden Diskussion ausgeführt worden ist, setzt die vorliegende Offenbarung zudem eine Vielzahl von Begriffen ein, um Merkmale und Vorteile des Objektauswahlsystems zu beschreiben. Vor der Beschreibung des Objektauswahlsystems anhand der folgenden Figuren werden nunmehr zusätzliche Details im Zusammenhang mit der Bedeutung dieser Begriffe angeführt.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Digitalbild“ (oder einfach „Bild“) eine digitale Grafikdatei, die bei ihrer Wiedergabe ein oder mehrere Objekte anzeigt. Insbesondere kann ein Bild ein oder mehrere Objekte beinhalten, die einem beliebigen geeigneten Objekttyp oder einer solchen Objektklasse zugeordnet sind. Bei verschiedenen Ausführungsformen zeigt ein Bildbearbeitungssystem ein Bild auf einer Rechenvorrichtung, so beispielsweise einer Clientvorrichtung, an. Bei zusätzlichen Ausführungsformen ermöglicht das Bildbearbeitungssystem, dass ein Nutzer ein Bild modifiziert oder ändert und neue Bilder generiert. Das Bildbearbeitungssystem ermöglicht beispielsweise, dass ein Nutzer ein Objekt, das in einem ersten Bild ausgewählt ist, über den Hintergrund eines zweiten Bildes kopiert.
  • Der Begriff „Objekt“ bezeichnet im Sinne des Vorliegenden eine visuelle Darstellung eines Subjekts, eines Konzepts oder eines Teilkonzepts in einem Bild. Insbesondere bezeichnet ein Objekt einen Satz von Pixeln in einem Bild, die kombiniert eine visuelle Abbildung eines Erzeugnisses, eines Gegenstandes, eines Teiles eines Erzeugnisses, einer Komponente oder eines Elementes bilden. Ein Objekt kann einem weiten Bereich von Klassen und Konzepten entsprechen. Objekte beinhalten beispielsweise spezielle Objekte, konzeptionelle Objekte, Objekte aus bekannten Klassen und unbekannten Objektklassen (beispielsweise Objekte, die beim Trainieren eines beliebigen der ein Objekt detektierenden neuronalen Netzwerke nicht benutzt worden sind). Bei einigen Ausführungsformen beinhaltet ein Objekt mehrere Versionen des Objekts. Ein Bild eines Rosenstrauches beinhaltet beispielsweise mehrere Versionen von Rosen. Bei einer oder mehreren Ausführungsformen beinhaltet ein Objekt Teilobjekte, Teile oder Abschnitte. Das Gesicht oder Bein einer Person können beispielsweise Objekte sein, die Teil eines anderen Objektes (beispielsweise des Körpers der Person) sind. Bei einem weiteren Beispiel ist ein Hemd ein Objekt, das Teil eines anderen Objektes (beispielsweise einer Person) sein kann.
  • Wie vorstehend erwähnt worden ist, kann das Objektauswahlsystem ein Objekt innerhalb eines Bildes auf Grundlage einer Anfragezeichenfolge genau detektieren und automatisch auswählen. Im Sinne des Vorliegenden bezeichnet der Begriff „Anfragezeichenfolge“ eine Textzeichenfolge aus einem oder mehreren Worten, die ein Zielobjekt angeben. Eine Anfragezeichenfolge kann ein Nomen, das ein Anfrageobjekt darstellt, beinhalten. Im Allgemeinen empfängt das Objektauswahlsystem eine Anfragezeichenfolge, wenn ein Nutzer bei dem Objektauswahlsystem anfordert, automatisch ein Objekt in einem Bild auszuwählen. Bei einigen Ausführungsformen wird die Anfragezeichenfolge als Textzeichenfolge vorgelegt. Bei alternativen Ausführungsformen detektiert das Objektauswahlsystem eine alternative Nutzereingabe, so beispielsweise Sprachdaten, und wandelt die alternative Nutzereingabe in Text um, um die Anfragezeichenfolge zu erhalten. Bei verschiedenen Ausführungsformen ist eine Anfragezeichenfolge ein Typ von Auswahlanfrage.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Objektmaske“ oder „Segmentierungsmaske“ oder „Objektsegmentierung“ eine Angabe mehrerer Pixel, die ein Objekt abbilden. Beinhalten kann eine Objektmaske eine Segmentierungsbegrenzung (beispielsweise eine Begrenzungslinie oder Kurve, die eine Kante eines oder mehrerer Objekte angibt) oder eine Segmentierungsmaske (beispielsweise eine binäre Maske, die Pixel entsprechend einem Objekt identifiziert). Das Generieren einer Objektmaske wird bisweilen als „Auswählen“ bzw. „Auswahl“ eines Zielobjektes (das heißt Identifizieren von Pixeln, die das Zielobjekt darstellen) bezeichnet.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „angenäherte Begrenzung“ die Angabe einer ein Objekt beinhaltenden Zone, die größer und/oder weniger genau als eine Objektmaske ist. Bei einer oder mehreren Ausführungsformen kann eine angenäherte Begrenzung wenigstens einen Abschnitt eines Anfrageobjektes und Abschnitte des Bildes, die das Anfrageobjekt nicht umfassen, beinhalten. Eine angenäherte Begrenzung kann eine beliebige Form, so beispielsweise ein Quadrat, ein Rechteck, einen Kreis, ein Oval, oder einen anderen Umriss, der ein Objekt umgibt, beinhalten. Bei einer oder mehreren Ausführungsformen umfasst die angenäherte Begrenzung ein Begrenzungskästchen.
  • Wie eben erwähnt worden ist, kann eine Anfragezeichenfolge ein Anfrageobjekt beinhalten. Der Begriff „Anfrageobjekt“ bezeichnet das Objekt, das von einem Nutzer zur Detektion und Auswahl angefordert wird, in der Anfragezeichenfolge. Das Nomen in der Anfragezeichenfolge gibt beispielsweise das Anfrageobjekt an. Bei zusätzlichen Ausführungsformen beinhaltet die Anfragezeichenfolge zusätzliche Worte, so beispielsweise Adjektive und Adverbien, die Attribute des Anfrageobjektes angeben. Im Sinne des Vorliegenden bezeichnet der Begriff „Objektattribut“ ein beschreibendes Wort, das das Anfrageobjekt weiter identifiziert. Beispiele für Objektattribute beinhalten Farbe, Größe, Länge, Form, Position, Ort, Muster, Zusammensetzung, Ausdruck, Gefühl, Festigkeit und/oder Flexibilität.
  • Der Begriff „Objektauswahlpipeline“ bezeichnet eine Sammlung von Komponenten und Handlungen, die zum Detektieren und Auswählen eines Anfrageobjektes in einem Bild eingesetzt werden. Bei verschiedenen Ausführungsformen setzt das Objektauswahlsystem einen Teilsatz der Komponenten und Handlungen in der Objektauswahlpipeline ein, um ein Anfrageobjekt in einem Bild zu detektieren und auszuwählen, wobei die Ausgabe einer Komponente als Eingabe für eine weitere Komponente bereitgestellt wird. Die Komponenten und Handlungen können neuronale Netzwerke, Modelle maschinellen Lernens, heuristische Modelle und/oder Funktionen beinhalten. Des Weiteren können die Komponenten und Handlungen in der Objektauswahlpipeline untereinander austauschbar, entfernbar, ersetzbar oder aktualisierbar sein, wie nachstehend noch detaillierter beschrieben wird.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „ein Objektattribut detektierendes Modell“ ein oder mehrere Verfahren, einen oder mehrere Algorithmen, eine oder mehrere Handlungen und/oder einen oder mehrere Schritte zum Detektieren einer Version eines Objektes. Bei einigen Ausführungsformen kann ein ein Objektattribut detektierendes Modell Techniken maschinellen Lernens einsetzen, wie nachstehend anhand 14 noch beschrieben wird. Bei einer oder mehreren Ausführungsformen nutzen ein Objektattribut detektierende Modelle keine Techniken maschinellen Lernens. Das ein Objektattribut detektierende Modell nutzt beispielsweise nicht auf maschinellem Lernen beruhende Heuristiken. Beispiele für ein Objektattribut detektierende Modelle werden nachstehend anhand 10 bis 13 erläutert.
  • Wie vorstehend erwähnt worden ist, kann das Objektauswahlsystem bei verschiedenen Ausführungsformen maschinelles Lernen und verschiedene neuronale Netzwerke einsetzen. Der Begriff „maschinelles Lernen“ bezeichnet im Sinne des Vorliegenden den Prozess des Erstellens und Implementierens von Algorithmen, die aus Daten lernen und Vorhersagen bezüglich dieser machen können. Allgemein kann maschinelles Lernen derart erfolgen, dass Modelle aus exemplarischen Eingaben, so beispielsweise Bildbelichtungstrainingspaaren innerhalb eines Trainingsdatensatzes von Bildern, erstellt werden, um datengetriebene Vorhersagen oder Entscheidungen bereitzustellen. Beinhalten kann maschinelles Lernen neuronale Netzwerke (beispielsweise ein natürliche Sprache verarbeitendes neuronales Netzwerk, ein ein Objekt detektierendes neuronales Netzwerk, ein ein Objekt vorschlagendes neuronales Netzwerk, ein ein unbekanntes Objekt der Klasse nach detektierendes neuronales Netzwerk, ein einen Bereich vorschlagendes neuronales Netzwerk, ein ein Konzept einbettendes neuronales Netzwerk, ein ein Objekt maskierendes neuronales Netzwerk, ein ein Objekt klassifizierendes neuronales Netzwerk und/oder ein ein Objektattribut detektierendes neuronales Netzwerk), datenbasierte Modelle (beispielsweise ein natürliche Sprache verarbeitendes Modell, ein ein Objekt erkennendes Modell, ein Filtermodell und/oder ein ein Objektattribut detektierendes Modell) oder eine Kombination aus Netzwerken und Modellen.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „neuronales Netzwerk“ ein Modell maschinellen Lernens, das auf Grundlage von Eingaben abgestimmt (beispielsweise trainiert) werden kann, um unbekannte Funktionen anzunähern. Insbesondere kann der Begriff „neuronales Netzwerk“ ein Modell aus wechselseitig verbundenen Neuronen beinhalten, die kommunizieren und lernen, komplexe Funktionen anzunähern, und auf Grundlage mehrerer Eingaben, die für das Modell bereitgestellt werden, Ausgaben generieren. Der Begriff „neuronales Netzwerk“ beinhaltet beispielsweise einen Algorithmus (oder einen Satz von Algorithmen), der Techniken des Deep Learning implementiert, die einen Satz von Algorithmen einsetzen, um unter Nutzung von Überwachungsdaten auf hoher Ebene gegebene Abstraktionen bei Daten zu modellieren, um wiederum Parameter des neuronalen Netzwerkes abzustimmen. Beispiele für neuronale Netzwerke beinhalten ein faltungstechnisches neuronales netzwerk (Convolutional Neural Network CNN), ein Bereichs-CNN (Region-CNN, R-CNN), ein Faster-R-CNN, ein Masken-R-CNN und ein SSD (Single Shot Detect SSD).
  • Von den Figuren zeigt 1 ein schematisches Diagramm einer Umgebung 100, in der ein Objektauswahlsystem 106 entsprechend einer oder mehreren Ausführungsformen arbeiten kann. Wie in 1 gezeigt ist, beinhaltet die Umgebung 100 eine Clientvorrichtung 102 und eine Servervorrichtung 110, die über ein Netzwerk 108 verbunden sind. Zusätzliche Details im Zusammenhang mit Rechenvorrichtungen (beispielsweise der Clientvorrichtung 102 und der Servervorrichtung 110) werden nachstehend anhand 18 angegeben. Zudem stellt 18 auch zusätzliche Details im Zusammenhang mit Netzwerken, so beispielsweise dem dargestellten Netzwerk 108, bereit.
  • Obwohl 1 eine bestimmte Anzahl, einen bestimmten Typ und eine bestimmte Anordnung von Komponenten innerhalb der Umgebung 100 darstellt, sind verschiedene zusätzliche Konfigurationen der Umgebung möglich. Die Umgebung 100 kann beispielsweise eine beliebige Anzahl von Clientvorrichtungen beinhalten. Bei einem weiteren Beispiel kann die Servervorrichtung 110 einen Satz von verbundenen Servervorrichtungen darstellen. Bei einem weiteren Beispiel kann die Clientvorrichtung 102 direkt mit der Servervorrichtung 110 kommunizieren, das Netzwerk 108 umgehen oder ein separates und/oder zusätzliches Netzwerk einsetzen.
  • Wie gezeigt ist, beinhaltet die Umgebung 100 die Clientvorrichtung 102. Bei verschiedenen Ausführungsformen ist die Clientvorrichtung 102 einem Nutzer (beispielsweise einer Clientvorrichtung des Nutzers), beispielsweise einem Nutzer, der eine automatische Auswahl eines Objektes in einem Bild anfordert, zugeordnet. Die Clientvorrichtung 102 kann ein Bildbearbeitungssystem 104 und ein Objektauswahlsystem 106 beinhalten. Bei verschiedenen Ausführungsformen implementiert das Bildbearbeitungssystem 104 das Objektauswahlsystem 106. Bei alternativen Ausführungsformen ist das Objektauswahlsystem 106 von dem Bildbearbeitungssystem 104 separiert. Obwohl das Bildbearbeitungssystem 104 und das Objektauswahlsystem 106 auf der Clientvorrichtung 102 gezeigt sind, sind das Bildbearbeitungssystem 104 und das Objektauswahlsystem 106 bei einigen Ausführungsformen entfernt von der Clientvorrichtung (beispielsweise auf der Servervorrichtung 110) befindlich, wie nachstehend weiter erläutert wird.
  • Das Bildbearbeitungssystem 104 vereinfacht allgemein das Erstellen, Modifizieren, Teilen und/oder Löschen von Digitalbildern innerhalb von Anwendungen. Das Bildbearbeitungssystem 104 stellt beispielsweise eine Vielzahl von Werkzeugen im Zusammenhang mit dem Erstellen und Bearbeiten von Bildern (beispielsweise dem Bearbeiten von Fotos) bereit. Das Bildbearbeitungssystem 104 stellt beispielsweise Auswahlwerkzeuge, Farbkorrekturwerkzeuge und Bildmanipulationswerkzeuge bereit. Das Bildbearbeitungssystem 104 kann zudem in Verbindung mit einer oder mehreren Anwendungen zum Generieren oder Modifizieren von Bildern arbeiten. Bei einer oder mehreren Ausführungsformen arbeitet das Bildbearbeitungssystem 104 beispielsweise in Verbindung mit Digitaldesignanwendungen wie ADOBE® PHOTOSHOP®, ADOBE® ELEMENTS®, ADOBE® INDESIGN® oder anderen Bildbearbeitungsanwendungen.
  • Bei einigen Ausführungsformen stellt das Bildbearbeitungssystem 104 einen intelligenten Bildbearbeitungsassistenten bereit, der eine oder mehrere automatische Bildbearbeitungsoperationen für den Nutzer durchführt. Bei einem Beispiel ist ein Bild mit drei Männern gegeben, und ein Nutzer fordert an, dass das Bildbearbeitungssystem „den größten Mann“ entfernen soll. Als Teil des Abwickelns dieser Anforderung setzt das Bildbearbeitungssystem 104 das Objektauswahlsystem 106 ein, um den größten Mann automatisch auszuwählen. Das Bildbearbeitungssystem 104 kann zusätzliche Systemkomponenten (beispielsweise ein ein Loch füllendes neuronales Netzwerk) einsetzen, um den ausgewählten größten Mann (beispielsweise das detektierte Anfrageobjekt) zu entfernen und zu ersetzen.
  • Wie vorstehend erwähnt worden ist, beinhaltet das Bildbearbeitungssystem 104 das Objektauswahlsystem 106. Wie nachstehend noch detaillierter beschrieben wird, detektiert das Objektauswahlsystem 106 Objekte in einem Bild auf Grundlage einer Nutzeranfrage (beispielsweise einer nutzerseitig bereitgestellten Anfragezeichenfolge) genau und wählt diese automatisch aus. Das Objektauswahlsystem 106 setzt bei vielen Ausführungsformen eine Objektauswahlpipeline ein, um auf Grundlage des Anfrageobjektes zu bestimmen, welche ein Objekt detektierenden neuronalen Netzwerke eingesetzt werden sollen und welche zusätzlichen neuronalen Netzwerke und/oder Modelle zum Auswählen des bestimmten angeforderten Anfrageobjektes eingesetzt werden sollen.
  • Wie gezeigt ist, beinhaltet die Umgebung 100 zudem die Servervorrichtung 110. Die Servervorrichtung 110 beinhaltet ein Objektauswahlserversystem 112. Bei einer oder mehreren Ausführungsformen stellt das Objektauswahlserversystem 112 beispielsweise eine ähnliche Funktionalität, wie sie hier in Verbindung mit dem Objektauswahlsystem beschrieben wird, dar und/oder bereit. Bei einigen Ausführungsformen unterstützt das Objektauswahlserversystem 112 das Objektauswahlsystem 106 auf der Clientvorrichtung 102.
  • Die Servervorrichtung 110 kann bei einer oder mehreren Ausführungsformen das Objektauswahlsystem 106 gänzlich oder in Teilen beinhalten. Insbesondere kann das Objektauswahlsystem 106 auf der Clientvorrichtung 102 eine Anwendung von der Servervorrichtung 110 (beispielsweise eine Bildbearbeitungsanwendung von dem Objektauswahlserversystem 112) oder einen Teil einer Softwareanwendung herunterladen.
  • Bei einigen Ausführungsformen kann das Objektauswahlserversystem 112 eine Webhostinganwendung beinhalten, die ermöglicht, dass die Clientvorrichtung 102 mit Content und Diensten, die auf der Servervorrichtung 110 gehostet werden, interagiert. Darstellungshalber greift die Clientvorrichtung 102 bei einer oder mehreren Ausführungsformen auf eine Webpage zu, die von der Servervorrichtung 110 unterstützt wird und die Objekte in Bildern automatisch auf Grundlage dessen auswählt, dass der Nutzer eine Anfragezeichenfolge über die Clientvorrichtung 102 bereitstellt. Bei einem weiteren Beispiel stellt die Clientvorrichtung 102 eine Bildbearbeitungsanwendung bereit, die das Bild und die Anfragezeichenfolge für das Objektauswahlserversystem 112 auf der Servervorrichtung 110 bereitstellt, das sodann eine Anfrageobjektversion detektiert und eine Objektmaske der detektierten Anfrageobjektversion für die Clientvorrichtung 102 bereitstellt. Unter Einsatz der Objektmaske wählt die Bildbearbeitungsanwendung auf der Clientvorrichtung 102 sodann die detektierte Anfrageobjektversion aus.
  • Wie vorstehend erwähnt worden ist, zeigt 1 eine exemplarische Umgebung 100, in der das Objektauswahlsystem 106 arbeiten kann. 2 als nächste Figur zeigt eine Übersicht über den Einsatz des Objektauswahlsystems zum automatischen Auswählen von Objektversionen in einem Bild. Insbesondere zeigt 2 eine Abfolge von Handlungen 200 in einer Darstellung als schematisches Diagramm des automatischen Detektierens und Auswählens einer Zielanfrageobjektversion in einem Bild entsprechend einer oder mehreren Ausführungsformen. Bei verschiedenen Ausführungsformen führt das Objektauswahlsystem 106 die Abfolge von Handlungen 200 durch.
  • Wie in 2 gezeigt ist, beinhaltet die Abfolge von Handlungen 200 die Handlung 202, bei der das Objektauswahlsystem 106 eine Anfragezeichenfolge identifiziert, die ein Zielobjekt in einem Bild angibt. Ein Nutzer setzt beispielsweise ein Bildbearbeitungsprogramm ein, um ein Bild zu bearbeiten. Beim Bearbeiten des Bildes will der Nutzer ein bestimmtes Objekt innerhalb des Bildes auswählen. Entsprechend stellt das Objektauswahlsystem 106 für den Nutzer eine grafische Nutzerschnittstelle bereit, die ermöglicht, dass der Nutzer eine Anfragezeichenfolge (das heißt eine Auswahlanfrage), die eine automatische Auswahl des Objektes anfordert, eingibt. Wie in 2 in Verbindung mit der Handlung 202 gezeigt ist, stellt der Nutzer die Anfragezeichenfolge „Auto in der Mitte“ bereit, die in einem Bild mit drei Autos ausgewählt werden soll.
  • Bei einer oder mehreren Ausführungsformen kann das Objektauswahlsystem 106 als Teil der Handlung 202 eine Verarbeitung natürlicher Sprache einsetzen, um ein Anfrageobjekt aus der Anfragezeichenfolge zu identifizieren. Das Objektauswahlsystem 106 bestimmt beispielsweise, dass die Anfragezeichenfolge das Anfrageobjekt „Auto“ beinhaltet. Bei zusätzlichen Ausführungsformen kann das Objektauswahlsystem 106 ein oder mehrere Objektattribute aus der Anfragezeichenfolge in Entsprechung zu dem Anfrageobjekt bestimmen. Das Objektauswahlsystem 106 bestimmt beispielsweise, dass die Anfragezeichenfolge das Objektattribut „in der Mitte“ beinhaltet.
  • In Reaktion auf das Empfangen einer Anfragezeichenfolge führt das Objektauswahlsystem 106 die Handlung 204 des Bestimmens mehrerer Versionen des Anfrageobjektes, das in der Auswahlanfrage beinhaltet ist, unter Einsatz eines ein Objekt detektierenden neuronalen Netzwerkes durch. Das Objektauswahlsystem 106 setzt beispielsweise ein oder mehrere ein Objekt detektierende neuronale Netzwerke ein, um jede Version oder jedes Vorkommen des Anfrageobjektes innerhalb des Bildes zu detektieren. Sind mehrere Versionen des Anfrageobjektes in dem Bild beinhaltet, so kann das Objektauswahlsystem 106 jede der mehreren Versionen detektieren. Wie dargestellt ist, zeigt die Handlung 206, dass das ein Objekt detektierende neuronale Netzwerk jedes der drei Autos in dem Bild detektiert.
  • Wie gezeigt ist, beinhaltet die Abfolge von Handlungen 200 die Handlung 206, bei der das Objektauswahlsystem 106 ein ein Objektattribut detektierendes Modell auf Grundlage des Objektattributs, das in der Anfragezeichenfolge beinhaltet ist, bestimmt. Insbesondere kann das Objektauswahlsystem 106, wenn ein Objektattribut detektiert wird, das Objektattribut analysieren, um ein ein Objektattribut detektierendes Modell zu bestimmen, das dem Objektattribut entspricht. Wie vorstehend erwähnt worden ist, kann das Objektauswahlsystem 106 auf Grundlage des Analysierens des Objektattributs bestimmen, dass ein ein spezialisiertes Objektattribut detektierendes Modell entsprechend Farbe, Größe, Länge, Form, Position, Ort, Muster, Zusammensetzung, Ausdruck, Gefühl, Festigkeit und/oder Flexibilität eingesetzt wird. Bei einigen Ausführungsformen bestimmt das Objektauswahlsystem 106 die Auswahl eines ein verallgemeinertes (das heißt nicht spezialisiertes) Objektattribut detektierenden neuronalen Netzwerkes, wie nachstehend noch weiter beschrieben wird.
  • Bei der Handlung 208 kann das Objektauswahlsystem 106 dasjenige, dass eine Zielanfrageobjektversion das Zielanfrageobjekt ist, unter Nutzung des bestimmten ein Objektattribut detektierenden Modells und des Objektattributs bestimmen. Darstellungshalber wählt das Objektauswahlsystem 106, wie in Verbindung mit der Handlung 208 gezeigt ist, das Auto in der Mitte auf Grundlage des Objektattributs „in der Mitte“ aus. Bei verschiedenen Ausführungsformen setzt das Objektauswahlsystem 106 ein eine Objektposition detektierendes Modell ein, um das Auto in der Mitte unter den anderen detektierten Autos in dem Bild zu detektieren.
  • Beim Auswählen der Zielversion des Anfrageobjektes, die dem Objektattribut in der Anfragezeichenfolge genügt, kann das Objektauswahlsystem 106 die Zielanfrageobjektversion für den Nutzer bereitstellen. Das Objektauswahlsystem 106 kann beispielsweise die Zielanfrageobjektversion innerhalb des Bildes automatisch auswählen. Mit anderen Worten, das Objektauswahlsystem 106 kann eine Objektmaske des Autos in der Mitte, wie gezeigt ist, generieren und bereitstellen. Bei einigen Ausführungsformen wählt das Objektauswahlsystem 106 die Zielanfrageobjektversion automatisch innerhalb einer Bildbearbeitungsanwendung in Reaktion auf die Auswahlanfrage aus.
  • Bei einigen Ausführungsformen kann das Objektauswahlsystem 106 mehrere Zielversionen des Anfrageobjektes detektieren. Insbesondere wenn mehr als eine der mehreren Anfrageobjektversionen des Anfrageobjektes dem Objektattribut in der Anfragezeichenfolge genügen, kann das Objektauswahlsystem 106 diese Anfrageobjektversionen als Zielanfrageobjektversionen auswählen. Darstellungshalber kann das Objektauswahlsystem 106, wenn ein Bild einen Parkplatz mit Autos abbildet und die Anfragezeichenfolge „rotes Auto“ lautet, alle roten Autos automatisch detektieren und auswählen.
  • Bei verschiedenen Ausführungsformen beinhaltet die Anfragezeichenfolge mehr als ein Objektattribut. Bei diesen Ausführungsformen kann das Objektauswahlsystem 106 mehrere ein Objektattribut detektierende Modelle bestimmen, die mehreren Objektattributen entsprechen (beispielsweise durch Wiederholen der Handlung 206). Des Weiteren kann das Objektauswahlsystem 106 jedes der mehreren ein Objektattribut detektierenden Modelle einsetzen, um eine Zielanfrageobjektversion zu identifizieren, die jedem der mehreren Objektattribute genügt (beispielsweise durch Wiederholen der Handlung 208). Darstellungshalber kann das Objektauswahlsystem 106 für die Anfragezeichenfolge „roter Ball oben“ ein eine Farbe detektierendes Modell dafür, einen oder mehrere rote Bälle ausfindig zu machen, und ein eine Position detektierendes Modell dafür, den am weitesten oben positioniertem Ball / die am weitesten oben positionierten Bälle ausfindig zu machen, einsetzen. Sodann identifiziert das Objektauswahlsystem 106 die eine oder die mehreren Versionen von detektierten Bällen, die sowohl rot als auch am weitesten oben positioniert sind.
  • 3A und 3B zeigen eine Clientvorrichtung 300, die eine grafische Nutzerschnittstelle 302 aufweist, die eine ausgewählte Anfrageobjektversion in einem Bild auf Grundlage einer Auswahlanforderung entsprechend einer oder mehreren Ausführungsformen darstellt. Die Clientvorrichtung 300 in 3A und 3B kann die Clientvorrichtung 102, die vorstehend anhand 1 eingeführt worden ist, darstellen. Beispielsweise beinhaltet die Clientvorrichtung 300 eine Bildbearbeitungsanwendung, die das Bildbearbeitungssystem 104, das das Objektauswahlsystem 106 aufweist, implementiert. Die grafische Nutzerschnittstelle 302 in 3A und 3B kann beispielsweise von der Bildbearbeitungsanwendung generiert werden.
  • Wie in 3A gezeigt ist, beinhaltet die grafische Nutzerschnittstelle 302 ein Bild 304 innerhalb einer Bildbearbeitungsanwendung. Das Bild 304 kann dem Bild, das vorstehend im Zusammenhang mit 2 erwähnt worden ist, entsprechen. Zur einfacheren Erläuterung ist das Bild 304 derart vereinfacht, dass es drei Autos ohne Hintergrund oder andere Objekte zeigt.
  • In Reaktion darauf, dass ein Nutzer eine Option dahingehend auswählt, dass ein Objekt automatisch ausgewählt wird, kann das Objektauswahlsystem 106 eine Objektauswahlanforderungsschnittstelle 306 bereitstellen. Das Objektauswahlsystem 106 stellt beispielsweise die Objektauswahlanforderungsschnittstelle 306 als Auswahlwerkzeug innerhalb der Bildbearbeitungsanwendung bereit. Wie gezeigt ist, kann die Objektauswahlanforderungsschnittstelle 306 ein Textfeld beinhalten, in das ein Nutzer eine Anfragezeichenfolge (das heißt „Auto in der Mitte“) eintippt. Die Objektauswahlanforderungsschnittstelle 306 beinhaltet zudem auswählbare Optionen, um eine Auswahlanforderung zu bestätigen oder zu beseitigen. Bei einigen Ausführungsformen beinhaltet die Objektauswahlanforderungsschnittstelle 306 zusätzliche Elemente, so beispielsweise eine auswählbare Optionen zur Erfassung einer Audioeingabe von einem Nutzer, der die Anfragezeichenfolge detektiert.
  • Auf Grundlage des Empfangens einer Auswahlanforderung, die eine Anfragezeichenfolge (das heißt „Auto in der Mitte“) beinhaltet, kann das Objektauswahlsystem 106 das Anfrageobjekt genau detektieren und automatisch auswählen. Insbesondere kann das Objektauswahlsystem 106 jede Version des Anfrageobjektes (beispielsweise jedes der drei Autos) in dem Bild 304 detektieren und die bestimmte oder Zielversion, die in der Anfragezeichenfolge spezifiziert ist (beispielsweise das Auto „in der Mitte“), identifizieren. Darstellungshaber zeigt 3B das Ergebnis dessen, dass das Objektauswahlsystem 106 das Auto in der Mitte 308 innerhalb des Bildes 304 in Reaktion auf die Auswahlanforderung detektiert und auswählt. Nach erfolgter Auswahl kann die Bildbearbeitungsanwendung ermöglichen, dass der Nutzer das ausgewählte Objekt bearbeitet, kopiert, ausschneidet, bewegt und/oder auf andere Weise modifiziert.
  • Wie gezeigt ist, ermöglicht das Objektauswahlsystem 106, dass der Nutzer eine Anfragezeichenfolge innerhalb der Objektauswahlanforderungsschnittstelle 306 bereitstellt. Bei einigen Ausführungsformen ermöglicht das Objektauswahlsystem 106, dass ein Nutzer eine Audioeingabe oder eine andere Eingabe zur Angabe einer Anfragezeichenfolge bereitgestellt. Die Clientvorrichtung 300 kann beispielsweise ein Mikrofon, das erfasst, dass der Nutzer die Anfragezeichenfolge spricht, und eine Sprache-zu-Text-Verarbeitung zur Umwandlung der Anfragezeichenfolge in Text beinhalten. Wie nachstehend noch beschrieben wird, ermöglicht das Objektauswahlsystem 106 bei einigen Ausführungsformen des Weiteren, dass der Nutzer eine zusätzliche Eingabe beispielsweise durch eine Maus oder eine Berührungsgeste bereitstellt, um das Objektauswahlsystem 106 weiter dabei zu unterstützen, ein Zielanfrageobjekt automatisch auszuwählen.
  • 4 bis 15 zeigen zusätzliche Details im Zusammenhang damit, dass das Objektauswahlsystem 106 eine Objektauswahlpipeline einsetzt, um in einer Auswahlanforderung angeforderte Objekte automatisch auszuwählen und genau zu detektieren. Insbesondere zeigt 4 eine exemplarische Ausführungsform der Objektauswahlpipeline. 5 bis 15 zeigen erweiterte Abschnitte der Objektauswahlpipeline zum Auswählen von Zielversionen eines detektierten Anfrageobjektes zusammen mit entsprechenden grafischen Nutzerschnittstellen.
  • Wie erwähnt worden ist, zeigt 4 ein schematisches Diagramm einer Objektauswahlpipeline 400 entsprechend einer oder mehreren Ausführungsformen. Bei verschiedenen Ausführungsformen führt das Objektauswahlsystem 106 Handlungen durch, die in der Objektauswahlpipeline 400 beinhaltet sind. Bei alternativen Ausführungsformen können ein Bildbearbeitungssystem und/oder eine Bildbearbeitungsanwendung eine oder mehrere der beinhalteten Handlungen durchführen.
  • Wie gezeigt ist, beinhaltet die Objektauswahlpipeline 400 eine Handlung 402, bei der das Objektauswahlsystem 106 ein Bild (das heißt ein Digitalbild) bezieht. Das Objektauswahlsystem 106 kann beispielsweise detektieren, dass der Nutzer ein Bild auswählt, das in eine Bildbearbeitungsanwendung geladen werden soll, wie vorstehend beschrieben worden ist. Allgemein beinhaltet das Bild ein oder mehrere Objekte. Das Bild kann beispielsweise Objekte verschiedener Typen und Klassen beinhalten.
  • Zusätzlich beinhaltet die Objektauswahlpipeline eine Handlung 404, bei der das Objektauswahlsystem 106 eine Anfragezeichenfolge bezieht. Das Objektauswahlsystem 106 stellt beispielsweise eine Objektauswahlanforderungsschnittstelle (die beispielsweise in 3A gezeigt ist) bereit, wo ein Nutzer ein oder mehrere Worte eingeben kann, die das Objekt angeben, von dem er will, dass das Objektauswahlsystem es automatisch auswählt. Wie vorstehend beschrieben worden ist, kann das Objektauswahlsystem 106 bei einigen Ausführungsformen zusätzliche oder alternative Formen der Nutzereingabe, so beispielsweise eine Audioeingabe oder eine Berührungseingabe, ermöglichen.
  • Als Nächstes beinhaltet die Objektauswahlpipeline 400 eine Handlung 406, bei der das Objektauswahlsystem 106 die Anfragezeichenfolge analysiert, um ein Anfrageobjekt und ein entsprechendes Objektattribut zu identifizieren. Wie vorstehend erwähnt worden ist, beinhaltet eine Anfragezeichenfolge oftmals Objektattribute für ein Anfrageobjekt, wenn mehrere Versionen des Anfrageobjektes in dem Bild beinhaltet sind. Auf diese Weise gibt das Objektattribut an, welche Zielversion der mehreren Anfrageobjektversionen, die der Nutzer anfordert, automatisch ausgewählt werden soll. Zusätzlich kann das Objektauswahlsystem 106 die Anfragezeichenfolge zerlegen und eine Verarbeitung natürlicher Sprache einsetzen, um ein Anfrageobjekt zu identifizieren. Zusätzliche Details im Zusammenhang mit der Handlung 406 werden nachstehend anhand 5 erläutert.
  • Wie gezeigt ist, beinhaltet die Objektauswahlpipeline 400 die Handlung 408, bei der das Objektauswahlsystem 106 mehrere Versionen des Anfrageobjektes unter Einsatz eines ein Objekt detektierenden Netzwerkes detektiert. Im Sinne des Vorliegenden kann das ein Objekt detektierende Modell einem oder mehreren Typen von ein Objekt detektierenden neuronalen Netzwerken entsprechen, die das Objektauswahlsystem 106 einsetzt, um ein Anfrageobjekt und/oder mehrere Anfrageobjektversionen in einem Bild auszuwählen. Zusätzliche Details im Zusammenhang mit der Handlung 408 werden nachstehend anhand 6 bis 7C erläutert.
  • Als Teil der Handlung 408 kann das Objektauswahlsystem 106 eine angenäherte Begrenzung rings um jede der Anfrageobjektversionen des detektierten Anfrageobjektes erstellen. Bei einigen Ausführungsformen kann das Objektauswahlsystem 106 Begrenzungskästchen rings um jede der mehreren Anfrageobjektversionen generieren. In einigen Fällen können Begrenzungskästchen eine Gruppe oder einen Teilsatz von Pixeln innerhalb des Bildes, die die entsprechende Anfrageobjektversion beinhalteen, bereitstellen.
  • Wie in 4 gezeigt ist, beinhaltet die Objektauswahlpipeline 400 die Handlung 410, bei der eine Zielversion des detektierten Anfrageobjektes unter den mehreren Anfrageobjektversionen unter Einsatz eines ein Objektattribut detektierenden Modells identifiziert wird. Das Objektauswahlsystem 106 kann beispielsweise ein ein Objektattribut detektierendes Modell, das dem in der Anfragezeichenfolge angegebenen Objektattribut entspricht, bestimmen und auswählen. Das Objektauswahlsystem 106 kann das ein Objektattribut detektierende Modell sodann nutzen, um zu detektieren, dass die Zielanfrageobjektversion das Objektattribut aus der Anfragezeichenfolge beinhaltet oder dass die anderen Anfrageobjektversionen das Objektattribut nicht aufweisen. Insbesondere kann das Objektauswahlsystem 106 das ein Objektattribut detektierende Modell sodann nutzen, um diejenigen Begrenzungskästchen, die den detektierten mehreren Versionen des Anfrageobjektes entsprechen, zu analysieren, um wiederum zu bestimmen, ob diese das Objektattribut beinhalten. Bei einer oder mehreren Ausführungsformen kann das Objektauswahlsystem 106 Objektmasken einer jeden Version der mehreren Anfrageobjekte generieren und die Objektmasken, die jeder Anfrageobjektversion entsprechen, sodann nutzen, um zu bestimmen, ob die gegebene Anfrageobjektversion das Zielanfrageobjekt ist (das heißt das Objektattribut aufweist).
  • Wie ebenfalls gezeigt ist, beinhaltet die Objektauswahlpipeline 400 die Handlung 412, bei der das Objektauswahlsystem 106 eine oder mehrere Objektmasken der Anfrageobjektversionen unter Einsatz eines ein Objekt maskierenden neuronalen Netzwerkes generiert. Bei verschiedenen Ausführungsformen kann das Objektauswahlsystem 106 beispielsweise ein Begrenzungskästchen, das der identifizierten Zielanfrageobjektversion entspricht, für ein ein Objekt maskierendes neuronales Netzwerk bereitstellen, das eine Maske für das detektierte Zielanfrageobjekt generiert. Werden mehrere Begrenzungskästchen bereitgestellt, so kann das Objektauswahlsystem 106 das ein Objekt maskierende neuronale Netzwerk einsetzen, um mehrere Objektmasken aus den mehreren Begrenzungskästchen (beispielsweise eine Objektmaske für jede Version des detektierten Zielanfrageobjektes) zu generieren.
  • Beim Generieren einer Objektmaske für das Zielanfrageobjekt kann das ein Objekt maskierende neuronale Netzwerk die Pixel in dem detektierten Anfrageobjekt von den anderen Pixeln in dem Bild segmentieren. Das ein Objekt maskierende neuronale Netzwerk kann beispielsweise eine separate Bildschicht erstellen, die die Pixel, die der Anfrageobjektversion entsprechen, positiv (beispielsweise zur binären Eins) macht, während es die verbleibenden Pixel in dem Bild neutral oder negativ (beispielsweise zur binären Null) macht. Wird diese Objektmaskenschicht mit dem Bild kombiniert, so sind nur die Pixel der Anfrageobjektversion sichtbar. Die generierte Objektmaske kann eine Segmentierung bereitstellen, die eine Auswahl der Anfrageobjektversion innerhalb des Bildes ermöglicht.
  • Das ein Objekt maskierende neuronale Netzwerk kann einem oder mehreren neuronalen Deep-Netzwerken oder Modellen entsprechen, die ein Objekt auf Grundlage von Begrenzungskästchenparametern, die dem Objekt innerhalb eines Bildes entsprechen, auswählen. Bei einer oder mehreren Ausführungsformen setzt das ein Objekt maskierende neuronale Netzwerk beispielsweise diejenigen Techniken und Ansätze ein, die bei „Deep GrabCut for Object Selection“ von Ning Xu et al., veröffentlicht am 14. Juli 2017, vorzufinden sind, wobei diese Quelle in Gänze durch Verweis mit aufgenommen ist. Das ein Objekt maskierende neuronale Netzwerk kann beispielsweise einen Deep-Grad-Cut-Ansatz anstelle eines Salienzmaskentransfers (saliency mask transfer) einsetzen. Bei einem weiteren Beispiel kann das ein Objekt maskierende neuronale Netzwerk Techniken und Ansätze einsetzen, die in der Veröffentlichung der am 31. Oktober 2017 eingereichten US-Patentanmeldung Nr. 2019/0130229 „Deep Salient Content Neural Networks for Efficient Digital Object Segmentation“, der am 13. Juli 2018 eingereichten US-Patentanmeldung Nr. 16/035,410 „Automatic Trimap Generation and Image Segmentation“ und dem am 18. November 2015 eingereichten US-Patent Nr. 10,192,129 „Utilizing Interactive Deep Learning To Select Objects In Digital Visual Media“ zu finden sind; die genannten Quellen sind in Gänze durch Verweis mit aufgenommen.
  • Mit Blick auf Ausführungsformen, bei denen das ein Objekt maskierende neuronale Netzwerk eine Versionsebenensegmentierung (instance level segmenation) (beispielsweise eine semantische Segmentierung) durchführt, kann das ein Objekt maskierende neuronale Netzwerk zudem diejenigen Techniken und Ansätze einsetzen, die in der Veröffentlichung der am 18. Oktober 2016 eingereichten US-Patentanmeldung Nr. 2018/0108137 „Instance- Level Semantic Segmentation System“ zu finden sind. Zusätzlich oder alternativ kann das ein Objekt maskierende neuronale Netzwerk die Techniken und Ansätze einsetzen, die in dem am 8. September 2015 erteilten US-Patent Nr. 9,129,191 „Semantic Object Selection“ zu finden sind; die genannten Quellen sind hiermit in Gänze durch Verweis mit aufgenommen.
  • Wie in der Objektauswahlpipeline 400 von 4 gezeigt ist, kann das Objektauswahlsystem 400 von der Handlung 408 entweder zu der Handlung 410 oder zu der Handlung 412 übergehen. Insbesondere kann das Objektauswahlsystem 106 in Abhängigkeit davon, welches ein Objektattribut detektierende Modell das Objektauswahlsystem 106 auswählt, bestimmen, wann eine oder mehrere Objektmasken generiert werden soll/sollen. Im Detail bedeutet dies, dass bei einer Anzahl von Ausführungsformen das Objektauswahlsystem 106 ein ein Objektattribut detektierendes Modell einsetzt, das die Zielanfrageobjektversion unter Nutzung der angenäherten Begrenzungen (beispielsweise Begrenzungskästchen) der mehreren Anfrageobjektversionen detektieren kann. Bei diesen Ausführungsformen kann das Objektauswahlsystem 106 von der Handlung 408 zu der Handlung 410 übergehen, um zunächst die Zielanfrageobjektversion zu detektieren. Sodann kann das Objektauswahlsystem 106 zu der Handlung 412 übergehen, um nur für die Zielanfrageobjektversion eine Objektmaske zu generieren, ohne zusätzliche Objektmasken für andere Anfrageobjektversionen der mehreren Anfrageobjektversionen zu generieren. Bei diesen Ausführungsformen verhindert das Objektauswahlsystem 106, dass Verarbeitungsressourcen beim Generieren von Objektmasken für Anfrageobjektversionen des detektierten Anfrageobjektes, deren Auswahl der Nutzer nicht wünscht, verschwendet werden.
  • Bei alternativen Ausführungsformen kann das Objektauswahlsystem 106 bestimmen, dass ein ein Objektattribut detektierendes Modell zum Detektieren der Zielanfrageobjektversion unter Nutzung separater Objektmasken für jede der mehreren Anfrageobjektversionen eingesetzt wird. Beispielsweise beinhaltet eine angenäherte Begrenzung, die eine Zielobjektversion umgibt, zusätzliche Pixel, die nicht zu der Zielobjektversion gehören, wobei diese zusätzlichen Pixel die Genauigkeit des Detektionsprozesses der Anfrageobjektversion negativ beeinflussen können. Entsprechend kann das Objektauswahlsystem 106 bei diesen Ausführungsformen von der Handlung 408 zu der Handlung 412 übergehen, um zunächst Objektmasken für jede der mehreren Anfrageobjektversionen zu generieren. Sodann kann das Objektauswahlsystem 106 zu der Handlung 410 übergehen, um die Zielanfrageobjektversion unter Einsatz des ausgewählten ein Objektattribut detektierenden Modells nur auf Grundlage derjenigen Pixel, die zu jeder Anfrageobjektversion gehören, zu detektieren. Zusätzliche Details im Zusammenhang mit dem Bestimmen eines ein Objektattribut detektierenden Modells und dem Identifizieren der Zielanfrageobjektversion sind nachstehend in Verbindung mit 8 bis 15 angegeben.
  • Darüber hinaus beinhaltet die Objektauswahlpipeline 400 die Handlung 414, bei der das Objektauswahlsystem 106 die ausgewählte Anfrageobjektversion innerhalb des Bildes für den Nutzer bereitstellt. Das Objektauswahlsystem 106 kann beispielsweise die ausgewählte Zielversion des Anfrageobjektes (oder die mehreren Anfrageobjektversionen) für die Clientvorrichtung, die dem Nutzer zugeordnet ist, bereitstellen. In einigen Fällen kann das Objektauswahlsystem 106 die Zielanfrageobjektversion innerhalb des Bildes für den Nutzer innerhalb der vorerwähnten Bildbearbeitungsanwendung automatisch auswählen.
  • Bei verschiedenen Ausführungsformen sind viele der Komponenten der Objektauswahlpipeline 400 durch aktualisierte Fassungen wie auch durch neue Komponenten ersetzbar. Treten Fehler auf, so kann das Objektauswahlsystem 106 die Quelle des Fehlers entsprechend identifizieren und aktualisieren. Zusätzlich kann das Objektauswahlsystem 106 auch andere Komponenten zu der Objektauswahlpipeline hinzufügen, um das Leistungsvermögen der detektierten Objekte in Bildern zu verbessern.
  • Insbesondere kann das Objektauswahlsystem 106 beim Detektieren des Ortes eines Fehlers innerhalb der Objektauswahlpipeline 400 die fehlerhafte Komponente aktualisieren oder ersetzen. Das Objektauswahlsystem 106 kann die fehlerhafte Komponente beispielsweise durch eine verbesserte Version ersetzen. Auf ähnliche Weise kann das Objektauswahlsystem 106 ältere Komponenten durch neue Komponenten mit neueren Fassungen ersetzen, wenn die neueren Fassungen verfügbar werden. Des Weiteren kann das Objektauswahlsystem 106 Komponenten aktualisieren und/oder ersetzen, ohne andere Komponenten der Objektauswahlpipeline zu ändern, neu zu trainieren, neu zu konfigurieren und/oder zu modifizieren. Zusätzlich kann das Objektauswahlsystem 106 die Objektauswahlpipeline weiter einsetzen, bis ein weiterer Fehler detektiert wird.
  • 5 als nächste Figur zeigt ein Flussdiagramm des Analysierens einer Anfragezeichenfolge zum Identifizieren eines Anfrageobjektes entsprechend einer oder mehreren Ausführungsformen. Wie vorstehend erwähnt worden ist, entspricht 5 der Handlung 406 der Objektauswahlpipeline 404, die vorstehend anhand 4 beschrieben worden ist. Insbesondere beinhaltet 5 verschiedene Handlungen 502 bis 508, die zusätzliche Details im Zusammenhang mit der Handlung 406 der Objektauswahlpipeline 400 bereitstellen.
  • Wie gezeigt ist, kann die Handlung 406 die Handlung 502 beinhalten, bei der das Objektauswahlsystem 406 die Anfragezeichenfolge zerlegt, um ein oder mehrere Eingabeworte zu identifizieren. Bei verschiedenen Ausführungsformen separiert das Objektauswahlsystem 106 beispielsweise die Anfragezeichenfolge in einzelne Worte. Das Objektauswahlsystem 106 weist jedem Wort in der Anfragezeichenfolge beispielsweise ein Element eines Vektors zu, der der Anfragezeichenfolge entspricht. Wie vorstehend erwähnt worden ist, besteht die Anfragezeichenfolge bei einigen Ausführungsformen auch aus einem einzigen Wort.
  • Wie ebenfalls gezeigt ist, kann die Handlung 406 die Handlung 504 beinhalten, bei der das Objektauswahlsystem 106 eine Verarbeitung natürlicher Sprache einsetzt, um Wortklassen für jedes von dem einen oder den mehreren Eingabeworten zu bestimmen. Beim durch Zerlegen erfolgenden Erhalten eines jeden Wortes in der Anfragezeichenfolge kann das Objektauswahlsystem 106 jedes Eingabewort in der Anfragezeichenfolge klassifizieren und ihm eine Wortklasse bzw. Wortklassen zuweisen. Bei verschiedenen Ausführungsformen beinhalten Wortklassen Elemente der Sprache (beispielsweise Nomen, Eigennamen, Verben, Artikel, Adjektive, Adverbien, Pronomen, Präpositionen oder Konjunktionen).
  • Bei einer oder mehreren Ausführungsformen setzt das Objektauswahlsystem 106 ein Modell maschinellen Lernens ein, das auf Grundlage einer Verarbeitung natürlicher Sprache trainiert ist, um die Wortklasse eines jeden Wortes in der Anfragezeichenfolge zu identifizieren. Das Objektauswahlsystem 106 trainiert beispielsweise ein neuronales LSTM-Netzwerk (Long-Short-Term Memory LSTM) und/oder setzt es ein, um die Wortklasse für jedes der Worte in der Anfragezeichenfolge zu identifizieren. Bei alternativen Ausführungsformen setzt das Objektauswahlsystem 106 andere Verfahren ein, um die Wortklasse für Eingabeworte in der Anfragezeichenfolge zu bestimmen.
  • Wie gezeigt ist, kann die Handlung 406 die Handlung 506 beinhalten, bei der das Objektauswahlsystem 106 ein Nomen, das das Anfrageobjekt angibt, identifiziert. Insbesondere kann das Objektauswahlsystem 106, wenn jedem der Worte Wortklassen zugewiesen werden, ein Nomen in der Anfragezeichenfolge identifizieren. Primär entspricht das Nomen in der Anfragezeichenfolge dem Anfrageobjekt. Beinhaltet die Anfragezeichenfolge ein einzelnes Wort, so ist das Wort oftmals ein Nomen, das dem Anfrageobjekt entspricht.
  • In einigen Fällen beinhaltet die Anfragezeichenfolge mehrere Nomen. In diesen Fällen kann das Objektauswahlsystem 106 bestimmen, ob die beiden Nomen verbunden sind und so ein einziges Anfrageobjekt angeben (beispielsweise „deutscher“ und „Schäfer“). Bei alternativen Ausführungsformen kann das Objektauswahlsystem 106 bestimmen, ob die Anfragezeichenfolge mehrere Anfrageobjekte für das Objektauswahlsystem 106 zur automatischen Auswahl beinhaltet.
  • Zusätzlich kann die Handlung 406 die Handlung 508 beinhalten, bei der das Objektauswahlsystem 106 ein Adjektiv identifiziert, das ein Objektattribut des Anfrageobjektes angibt. Ähnlich zum Identifizieren eines Nomens in der Anfragezeichenfolge kann das Objektauswahlsystem 106 auch Adjektive in der Anfragezeichenfolge als Objektattribute identifizieren. Oftmals beinhaltet eine Anfragezeichenfolge mit mehreren Worten ein Anfrageobjekt zusammen mit einem oder mehreren Adjektiven, die ein bestimmtes Attribut des Anfrageobjektes spezifizieren. Wie nachstehend noch beschrieben wird, kann ein Objektattribut Farbe, Größe, Position, Form, Material, Ort, Festigkeit oder Ausdruck des Anfrageobjektes spezifizieren.
  • Bei einer oder mehreren Ausführungsformen kann das Objektauswahlsystem 106 zudem ein Adverb oder ein anderes Element der Sprache (das heißt eine Wortklasse) in der Anfragezeichenfolge identifizieren. Bei einigen Ausführungsformen kann das Objektauswahlsystem 106 das Adverb als Objektattribut des Anfrageobjektes zuweisen. Des Weiteren kann das Objektauswahlsystem 106 bei einer oder mehreren Ausführungsformen das Objekt mit einem entsprechenden Adjektiv (beispielsweise „sehr hoch/groß“) gruppieren. Bei alternativen Ausführungsformen kann das Objektauswahlsystem 106 Worte, die keine Nomen oder Adjektive sind, ignorieren.
  • Auf ähnliche Weise kann das Objektauswahlsystem 106 bei einer oder mehreren Ausführungsformen Worte der Anfragezeichenfolge, so beispielsweise Artikel (beispielsweise „der/die/das“, „ein/eine“), ausfiltern. Bei einigen Ausführungsformen kann das Objektauswahlsystem 106 Konjunktionen identifizieren, die die Möglichkeit dafür angeben, dass mehrere Anfrageobjekte angefordert werden und/oder mehrere Objektattribute bereitgestellt werden. Auf ähnliche Weise identifiziert das Objektauswahlsystem 106 bei einigen Ausführungsformen Negativworte, so beispielsweise „nicht“, „außer/ausgenommen“ oder „ohne“, die das Ausschließen eines bestimmten Objektes bei der Auswahl des Anfrageobjektes angeben.
  • 6 zeigt ein Flussdiagramm des Detektierens mehrerer Anfrageobjektversionen in einem Bild unter Einsatz eines ein Objekt detektierenden Netzwerkes entsprechend einer oder mehreren Ausführungsformen. Wie vorstehend beschrieben worden ist, entspricht 6 der Handlung 408, bei der das Objektauswahlsystem 106 mehrere Versionen des Anfrageobjektes unter Einsatz eines ein Objekt detektierenden Netzwerkes detektiert. Wie ebenfalls vorstehend beschrieben worden ist, gelangt das Objektauswahlsystem 106 auf Grundlage dessen zu der Handlung 408, dass ein Anfrageobjekt innerhalb einer Anfragezeichenfolge einer Auswahlanfrage identifiziert wird, wobei die Auswahlanfrage einem Bild entspricht. Insbesondere beinhaltet 6 verschiedene Handlungen 602 bis 610, die zusätzliche Details im Zusammenhang mit der Handlung 408 der Objektauswahlpipeline 400 bereitstellen.
  • Wie gezeigt ist, beinhaltet die Handlung 408 die Handlung 602, bei der das Objektauswahlsystem 106 ein ein Objekt detektierendes neuronales Netzwerk auf Grundlage des Anfrageobjektes identifiziert. Bei einigen Ausführungsformen setzt das Objektauswahlsystem 106 ein ein verallgemeinertes Objekt detektierendes neuronales Netzwerk ein, um mehrere Versionen des Anfrageobjektes in einem Bild zu detektieren. Bei alternativen Ausführungsformen bestimmt das Objektauswahlsystem 106, dass ein ein spezifischeres spezialisiertes Objekt detektierendes neuronales Netzwerk eingesetzt wird. Ein Objekt detektierende neuronale Netzwerke können spezifisch trainiert werden, um bestimmte Objekttypen oder Objektklassen zu detektieren.
  • Darstellungshalber beinhalten Beispiele für ein Objekt detektierende neuronale Netzwerke ein ein spezialisiertes Objekt detektierendes neuronales Netzwerk (beispielsweise ein einen Himmel detektierendes neuronales Netzwerk, ein ein Gesicht detektierendes neuronales Netzwerk, ein einen Körper detektierendes neuronales Netzwerk, ein Haut detektierendes neuronales Netzwerk, ein einen Wasserfall detektierendes neuronales Netzwerk), ein objektbasiertes Konzept detektierende neuronale Netzwerke, eine bekannte Objektklasse detektierende neuronale Netzwerke sowie eine unbekannte Objektklasse detektierende neuronale Netzwerke. Beispiele für ein Objekt detektierende neuronale Netzwerke können zudem Teilnetzwerke und/oder ein unterstützendes ein Objekt detektierendes Netzwerk beinhalten, so beispielsweise ein ein Objekt vorschlagendes neuronales Netzwerk, ein einen Bereich vorschlagendes neuronales Netzwerk und ein Konzept einbettende neuronale Netzwerke. Eine zusätzliche Beschreibung von ein Objekt detektierenden neuronalen Netzwerken ist in der am 22. Juli 2019 eingereichten US-Patentanmeldung Nr. 16/518,810 „Automatically Detecting User-Requested Objects in Images“ (anwaltliches Aktenzeichen Nr. 20030.257.2 ) angegeben, die hiermit in Gänze durch Verweis mit aufgenommen ist.
  • Wie in 6 gezeigt ist, kann die Handlung 408 die Handlung 604 beinhalten, bei der das Objektauswahlsystem 106 Kandidatenobjekte in dem Bild unter Einsatz des ein Objekt detektierenden neuronalen Netzwerkes detektiert. Bei einer oder mehreren Ausführungsformen detektiert das Objektauswahlsystem 106 mehrere Kandidatenobjekte in dem Bild unter Nutzung des ein Objekt detektierenden neuronalen Netzwerkes, wobei wenigstens einige der Kandidatenobjekte auf das Anfrageobjekt abgestimmt sind. Bei alternativen Ausführungsformen kann jedes der Kandidatenobjekte auf das Anfrageobjekt abgestimmt sein.
  • Zusätzlich kann die Handlung 408 die Handlung 606 beinhalten, bei der das Objektauswahlsystem 106 Begrenzungskästchen für jedes der Kandidatenobjekte generiert. Als Teil der Detektion der Kandidatenobjekte erstellt das ein Objekt detektierende neuronale Netzwerk beispielsweise eine angenäherte Begrenzung rings um jedes detektierte Kandidatenobjekt. Bei einigen Ausführungsformen kann das ein Objekt detektierende neuronale Netzwerk Teilsektionen oder Patches bzw. Flicken des Bildes verarbeiten, um innerhalb des Bildes kleinere Kandidatenobjekte zu identifizieren, die mit ein gesamtes Bildobjekt detektierenden Verfahren nicht detektiert werden können. Entsprechend kann das ein Objekt detektierende neuronale Netzwerk mehrere Begrenzungskästchen generieren, die in dem Bild jeweils ein Kandidatenobjekt, das gegebenenfalls das Anfrageobjekt ist, angeben.
  • Wie gezeigt ist, kann die Handlung 408 die Handlung 608 beinhalten, bei der das Objektauswahlsystem 106 die mehreren Anfrageobjektversionen unter den Kandidatenobjekten detektiert. Bei einigen Ausführungsformen generiert das ein Objekt detektierende neuronale Netzwerk Labels für jedes der Begrenzungskästchen und korreliert die Labels mit dem Anfrageobjekt. Bei anderen Ausführungsformen verarbeitet das ein Objekt detektierende neuronale Netzwerk des Weiteren jedes Kandidatenobjekt, um zu bestimmen, ob es dem Anfrageobjekt entspricht. Das ein Objekt detektierende neuronale Netzwerk kann eine Vielzahl von Techniken einsetzen, um die mehreren Anfrageobjektversionen unter den Kandidatenobjekten zu identifizieren, wie in der vorstehend angegebenen US-Patentanmeldung Nr. 16/518 , 810 beschrieben ist.
  • 7A bis 7C zeigen eine grafische Nutzerschnittstelle 702, die das Objektauswahlsystem 106 darstellt, das ein eine bekannte Objektklasse detektierendes neuronales Netzwerk einsetzt, um das Anfrageobjekt zu identifizieren, entsprechend einer oder mehreren Ausführungsformen. Zur leichteren Erläuterung beinhalten 7A bis 7C die vorstehend eingeführte Clientvorrichtung 300. Die Clientvorrichtung 300 beinhaltet beispielsweise eine Bildbearbeitungsanwendung, die das Bildbearbeitungssystem 104, das das Objektauswahlsystem 106 einsetzt, implementiert.
  • Wie in 7A gezeigt ist, beinhaltet die grafische Nutzerschnittstelle 702 ein Bild 704 innerhalb einer Bildbearbeitungsanwendung. Das Bild 704 zeigt eine Frau mit einer Schildkröte vor einer Baumreihe. Wie ebenfalls gezeigt ist, beinhaltet die Bildbearbeitungsanwendung verschiedene Werkzeuge (beispielsweise eine vertikale Werkzeugleiste) mit Auswahloptionen und anderen Bildbearbeitungsoptionen. So beinhaltet die grafische Nutzerschnittstelle 702 zusätzlich eine Objektauswahlschnittstelle 706, wie sie vorstehend anhand 3A beschrieben worden ist, wo der Nutzer das Anfrageobjekt „Baum“ bereitstellt.
  • Wie vorstehend erläutert worden ist, kann das Objektauswahlsystem 106, wenn der Nutzer die Anfragezeichenfolge bereitstellt, zunächst das Anfrageobjekt innerhalb einer Anfragezeichenfolge als „Baum“ identifizieren. Zusätzlich kann das ein Objekt detektierende neuronale Netzwerk ein ein Objekt detektierendes neuronales Netzwerk bestimmen und einsetzen, um eine oder mehrere Versionen des Anfrageobjektes in Reaktion auf die Auswahlanfrage automatisch zu detektieren. Ist beispielsweise „Baum“ ein bekanntes Objekt, so kann das Objektauswahlsystem 106 ein eine bekannte Objektklasse detektierendes neuronales Netzwerk einsetzen, um beliebige Versionen von Bäumen (das heißt das Anfrageobjekt) innerhalb des Bildes zu detektieren.
  • Darstellungshalber zeigt 7B, dass das Objektauswahlsystem 106 ein ein Objekt detektierendes neuronales Netzwerk einsetzen kann, um Kandidatenobjekte 708a bis 708f innerhalb des Bildes 704 zu identifizieren. Als Teil des Detektierens der Kandidatenobjekte 708a bis 708f generiert das Objektauswahlsystem 106 Begrenzungskästchen rings um die Objekte und tagt jedes der Begrenzungskästchen mit Labeln. Wie gezeigt ist, detektiert das Objektauswahlsystem 106 die Kandidatenobjekte „Bäume 708a bis 708d“, „Frau 708e“ und „Schildkröte 708f'“.
  • Wie vorstehend beschrieben worden ist, kann das Objektauswahlsystem 106 bestimmen, welches der Kandidatenobjekte 708a bis 708f dem Anfrageobjekt „Baum“ entspricht. Das Objektauswahlsystem 106 bestimmt beispielsweise, dass die Bäume 708a bis 708d dem Anfrageobjekt entsprechen, während die Frau 708e und die Schildkröte 708f dem Anfrageobjekt nicht entsprechen. Das Objektauswahlsystem 106 kann zudem bestimmen, dass das Bild 704 mehrere Anfrageobjektversionen der detektierten Bäume beinhaltet.
  • Darstellungshalber zeigt 7C, dass das Objektauswahlsystem 106 die mehreren Anfrageobjektversionen 710a bis 710d der Bäume detektiert. Bei zusätzlichen Ausführungsformen kann das Objektauswahlsystem 106, wie nachstehend noch detailliert beschrieben wird, wenn die Anfragezeichenfolge ein Objektattribut, das dem Anfrageobjekt entspricht, beinhaltet, des Weiteren eine Zielanfrageobjektversion unter den mehreren Anfrageobjektversionen 710a bis 710d detektieren.
  • Bei einigen Ausführungsformen kann das Objektauswahlsystem 106, obwohl dies nicht gezeigt ist, die mehreren Anfrageobjektversionen 710a bis 710d auswählen und diese für den Nutzer in Reaktion auf die Auswahlanfrage bereitstellen. Das Objektauswahlsystem 106 kann die Begrenzungskästchen für die mehreren Anfrageobjektversionen 710a bis 710d für das ein Objekt maskierende neuronale Netzwerk, das vorstehend beschrieben worden ist, bereitstellen. Des Weiteren kann das Objektauswahlsystem 106 separat generierte Objektmasken einsetzen, um die Bäume für den Nutzer innerhalb der Bildbearbeitungsanwendung, wie vorstehend beschrieben worden ist, einzeln auszuwählen.
  • Am Rande sei bemerkt, dass 7B und 7C zeigen, dass das Objektauswahlsystem 106 ein ein Objekt detektierendes neuronales Netzwerk einsetzt, um die mehreren Anfrageobjektversionen 710a bis 710d zu detektieren. Bei vielen Ausführungsformen zeigt das Objektauswahlsystem 106 dem Nutzer diese dargestellten Handlungen nicht an. Vielmehr scheint es so, als würde das Objektauswahlsystem 106 die mehreren Anfrageobjektversionen 710a bis 710d in Reaktion auf die Auswahlanfrage des Nutzers automatisch detektieren und genau auswählen. Bei alternativen Ausführungsformen zeigt das Objektauswahlsystem 106 dem Nutzer eine oder mehrere dieser Handlungen an. Das Objektauswahlsystem 106 zeigt beispielsweise die Begrenzungskästchen der mehreren Anfrageobjektversionen 710a bis 710d, wie in 7C gezeigt ist, an.
  • In 8 ist ein Flussdiagramm des Detektierens einer Zielversion eines Anfrageobjektes entsprechend einer oder mehreren Ausführungsformen dargestellt. Wie vorstehend erwähnt worden ist, entspricht 8 der Handlung 410, bei der eine Zielversion des detektierten Anfrageobjektes unter den mehreren Anfrageobjektversionen unter Einsatz eines ein Objektattribut detektierenden Modells, das in der Objektauswahlpipeline 400 beinhaltet ist, identifiziert wird, wie vorstehend anhand 4 beschrieben worden ist. Insbesondere beinhaltet 8 verschiedene Handlungen 802 bis 810, die zusätzliche Details im Zusammenhang mit der Handlung 410 der Objektauswahlpipeline 400 bereitstellen.
  • Wie vorstehend erläutert worden ist, kann das Objektauswahlsystem 406 bei einer Anzahl von Ausführungsformen mehr als eine Version eines Anfrageobjektes in einem Bild detektieren. Wie bei dem vorstehenden Beispiel angegeben ist, kann das Objektauswahlsystem 106, wenn das Objektauswahlsystem 106 das Anfrageobjekt „Baum“ in einem Bild mit einer Landschaft detektiert, mehrere Bäume detektieren. Bei vielen Ausführungsformen kann das Objektauswahlsystem 106 einzelne Auswahlen einer jeden Version des detektierten Anfrageobjektes generieren und bereitstellen. Bei alternativen Ausführungsformen kann das Objektauswahlsystem 106 eine einzelne aggregierte Auswahl mehrerer Versionen des detektierten Anfrageobjektes innerhalb der Bildbearbeitungsanwendung generieren.
  • Bei einer oder mehreren Ausführungsformen kann das Objektauswahlsystem 106 eine oder mehrere der Versionen des detektierten Anfrageobjekts identifizieren und auswählen. Insbesondere kann das Objektauswahlsystem 106 eine oder mehrere Zielanfrageobjektversionen auf Grundlage des in der Anfragezeichenfolge angegebenen Objektattributs auswählen. Darstellungshalber beschreiben die Handlungen 802 bis 810 der Handlung 410 in 8 des Weiteren Ausführungsformen dessen, dass das Objektauswahlsystem 106 eine Zielversion des detektierten Anfrageobjektes aus mehreren Anfrageobjektversionen eines detektierten Anfrageobjektes auswählt.
  • Wie gezeigt ist, kann die Handlung 410 die Handlung 802 beinhalten, bei der das Objektauswahlsystem 106 mehrere Versionen des Anfrageobjektes identifiziert. Wie vorstehend beschrieben worden ist, kann das Objektauswahlsystem 106 mehr als eine Version eines Anfrageobjektes in einem Bild detektieren. Das Objektauswahlsystem 106 detektiert beispielsweise mehrere Versionen von Hunden, Bergen, Straßen, Autos, Schildern oder Menschen innerhalb verschiedener Bilder.
  • Bei einer oder mehreren Ausführungsformen kann das Objektauswahlsystem 106 ein Adjektiv identifizieren, das ein Attribut des Anfrageobjektes (das heißt ein Objektattribut) angibt. Wie vorstehend anhand 5 erläutert worden ist, kann das Objektauswahlsystem 106 bei einer oder mehreren Ausführungsformen ein oder mehrere Adjektive in der Anfragezeichenfolge als Objektattribute identifizieren. Oftmals beinhaltet eine Anfragezeichenfolge mit mehreren Worten ein Anfrageobjekt zusammen mit einem oder mehreren Adjektiven, die bestimmte Attribute des Anfrageobjektes spezifizieren.
  • Wie gezeigt ist, kann die Handlung 410 die Handlung 804 beinhalten, bei der das Objektauswahlsystem 106 einen Attributtyp auf Grundlage des Objektattributs bestimmt. Wie vorstehend erwähnt worden ist, kann ein Objektattribut beispielsweise Farbe, Größe, Länge, Position, Form, Muster, Material, Ort, Tiefe, Festigkeit, Markanz (prominence), Körperstellung oder Gesichtsausdruck des Anfrageobjektes spezifizieren. Entsprechend kann das Objektauswahlsystem 106 jedes Objektattribut analysieren, um zu bestimmen, ob es einem bekannten oder unbekannten Objektattributtyp entspricht.
  • Bei einer oder mehreren Ausführungsformen kann das Objektauswahlsystem 106 ein Tabellennachschlagen durchführen, um zu bestimmen, ob das Objektattribut einem bestimmten Objektattributtyp entspricht. Die Nachschlagetabelle kann beispielsweise eine Auflistung von Farben nach Namen beinhalten und gibt an, dass diese Objektattribute Farben zugeordnet sind. Zusätzlich kann das Objektauswahlsystem 106 ähnliche Einträge für andere Objektattributtypen, so beispielsweise Form, Material und Position, beinhalten. Bei alternativen Ausführungsformen trainiert das Objektauswahlsystem 106 ein neuronales Netzwerk für einen Objektattributtyp, um den Objektattributtyp eines Objektattributs vorherzusagen.
  • Wie gezeigt ist, kann die Handlung 410 die Handlung 806 beinhalten, bei der das Objektauswahlsystem 106 ein ein Objektattribut detektierendes Modell auf Grundlage des Objektattributtyps auswählt. Bei verschiedenen Ausführungsformen hält das Objektauswahlsystem 106 eine Anzahl von Objektattributmodellen vor, die den verschiedenen Objektattributtypen entsprechen. Entsprechend kann das Objektauswahlsystem 106 beim Detektieren eines bestimmten Objektattributtyps das entsprechende Objektattributmodell auszuwählen, das das Objektattribut in der Anfragezeichenfolge genau verarbeitet, um die korrekte Version des detektierten Anfrageobjektes auszuwählen.
  • Ist der Objektattributtyp eine Farbe, so kann das Objektauswahlsystem 106 darstellungshalber ein eine Objektfarbe detektierendes Modell auswählen, um die Farbe, die in der Anfragezeichenfolge bereitgestellt wird (das heißt das Objektattribut), zu identifizieren und auszuwählen. Auf ähnliche Weise kann das Objektauswahlsystem 106, wenn der Objektattributtyp eine Position ist, ein eine Objektposition detektierendes Modell auswählen, um die Version des detektierten Anfrageobjektes, dessen Position in der Anfragezeichenfolge angegeben ist, zu identifizieren und auszuwählen. Zusätzlich kann das Objektauswahlsystem 106 zusätzliche ein spezialisiertes und/oder verallgemeinertes Objektattribut detektierende Modelle auf Grundlage des Objektattributtyps auswählen.
  • Wie gezeigt ist, kann die Handlung 410 die optionale Handlung 808 beinhalten, bei der das Objektauswahlsystem 106 separate Objektmasken für die mehreren Anfrageobjektversionen generiert. Wie vorstehend erwähnt worden ist, kann das Objektauswahlsystem 106 bei einer Anzahl von Ausführungsformen eine Zielversion auf Grundlage der Objektmasken identifizieren und auswählen. Für die Objektattributtypen, die diesen Ausführungsformen (beispielsweise Farbe, Material, Relativposition oder Form) entsprechen, kann das Objektauswahlsystem 106 die Genauigkeit der Auswahl erhöhen, indem es nur Pixel berücksichtigt, die zu dem Objekt selbst und nicht zum Hintergrund rings um eine Version gehören und die in einer angenäherten Begrenzung, so beispielsweise einem Begrenzungskästchen, vorhanden sind. Bei diesen Ausführungsformen kann das Objektauswahlsystem 106 die optionale Handlung 808 vor dem Übergehen zu der Handlung 810 (nachstehend noch beschrieben) durchführen.
  • Bei alternativen Ausführungsformen kann das Objektauswahlsystem 106 die Zielanfrageobjektversion aus den angenäherten Begrenzungen, die jeder der mehreren Anfrageobjektversionen entsprechen, bestimmen. Bei diesen Ausführungsformen kann das Objektauswahlsystem 106 die Handlung 810 (nachstehend noch beschrieben) vor dem Generieren einer Objektmaske für eine detektierte Zielanfrageobjektversion durchführen. Für eine Anzahl von Objektattributtypen (beispielsweise Position, Ort, Ausdruck, Tiefe oder Größe) kann das Objektauswahlsystem 106 die entsprechenden angenäherten Begrenzungen (beispielsweise Begrenzungskästchen) einsetzen, um die Zielanfrageobjektversion auszuwählen, bevor einzelne Versionsobjektmasken generiert werden. Indem Objektmasken, die nicht als Zielanfrageobjektversion ausgewählt werden, nicht erzeugt werden (indem beispielsweise zusätzliche Objektmasken für Nichtzielanfrageobjektversionen der mehreren Anfrageobjektversionen nicht erzeugt werden), kann das Objektauswahlsystem 106 die Zeit für Verarbeitung und Auswahl verringern.
  • Wie vorstehend erwähnt worden ist, kann die Handlung 410 die Handlung 810 beinhalten, bei der das Objektauswahlsystem 106 das ein ausgewähltes Objektattribut detektierende Modell einsetzt, um die Zielversion des Anfrageobjektes entsprechend dem Objektattribut zu identifizieren. Ist das Objektattribut beispielsweise „blau“ (ist die Anfragezeichenfolge beispielsweise „blauer Ballon“), so setzt das Objektauswahlsystem 106 das eine Objektfarbe detektierende Modell ein, um jeden detektierten Ballon in dem Bild, der blau ist, zu identifizieren. Zusätzliche Details im Zusammenhang mit den verschiedenen ein Objektattribut detektierenden neuronalen Netzwerken und Modellen sind nachstehend anhand 10 bis 14 angegeben.
  • 9A bis 9D zeigen, dass eine grafische Nutzerschnittstelle ein ein Objektattribut detektierendes neuronales Netzwerk einsetzt, um eine Zielversion eines Anfrageobjektes zu detektieren, entsprechend einer oder mehreren Ausführungsformen. Zur leichteren Erläuterung beinhalten 9A bis 9D die vorstehend eingeführte Clientvorrichtung 300. Die Clientvorrichtung 300 beinhaltet beispielsweise eine Bildbearbeitungsanwendung, die das Bildbearbeitungssystem 104, das das Objektauswahlsystem 106 einsetzt, implementiert.
  • Wie in 9A gezeigt ist, beinhaltet die grafische Nutzerschnittstelle 902 ein Bild 904 innerhalb einer Bildbearbeitungsanwendung. Das Bild 904 zeigt drei Männer in einer Unterhaltung. Wie ebenfalls gezeigt ist, beinhaltet die Bildbearbeitungsanwendung verschiedene Werkzeuge (beispielsweise eine vertikale Werkzeugleiste) mit Auswahloptionen wie auch anderen Bildbearbeitungsoptionen. Zusätzlich beinhaltet die grafische Nutzerschnittstelle 902 eine Objektauswahlanforderungsschnittstelle 906, wie sie vorstehend anhand 3A beschrieben worden ist, wo der Nutzer die Anfragezeichenfolge „Männer in Streifen“ bereitstellt.
  • In 9B kann das Objektauswahlsystem 906 drei Versionen des detektierten Anfrageobjektes (das heißt „Mann“) in dem Bild 904 detektieren, die durch drei Begrenzungskästchen 908a bis 908c angegeben sind. Empfängt der Nutzer die Anfragezeichenfolge von der Objektauswahlanforderungsschnittstelle 906, so kann das Objektauswahlsystem 106 die Objektauswahlpipeline 400 beispielsweise nutzen, um die mehreren Versionen des detektierten Anfrageobjektes unter Einsatz eines oder mehrerer ein Objekt detektierender neuronaler Netzwerke, wie vorstehend beschrieben worden ist, zu detektieren.
  • Zusätzlich kann das Objektauswahlsystem 106 eine Versionssegmentierung an jeder der Versionen des detektierten Anfrageobjektes durchführen, wie in 9C dargestellt ist. Das Objektauswahlsystem 106 setzt beispielsweise ein ein Objekt maskierendes neuronales Netzwerk (beispielsweise die Handlung 412 der Objektauswahlpipeline 400 in 4) ein, um separate Objektmasken für jeden der detektierten Männer in dem Bild zu generieren. Wie in 9C gezeigt ist, beinhaltet die grafische Nutzerschnittstelle 902 eine erste Objektmaske 910a, eine zweite Objektmaske 910b und eine dritte Objektmaske 910c.
  • Des Weiteren kann das Objektauswahlsystem 106 detektieren, dass die Anfragezeichenfolge ein Objektattribut (das heißt „Streifen“) beinhaltet. Das Objektauswahlsystem 106 kann beispielsweise die Anfragezeichenfolge zerlegen, um ein Adjektiv zu bestimmen, das einem Objektattribut des Anfrageobjektes entspricht. Des Weiteren kann das Objektauswahlsystem 106 einen Objektattributtyp (beispielsweise Muster in der Kleidung) für das Objektattribut bestimmen.
  • Bei verschiedenen Ausführungsformen kann das Objektauswahlsystem 106 auf Grundlage des Objektattributs und/oder des Objektattributtyps ein ein Objektattribut detektierendes neuronales Netzwerk oder Modell auswählen, um diejenige Version zu detektieren, die dem von dem Nutzer angeforderten Objektattribut am besten entspricht. Beispielsweise kann das Objektauswahlsystem 106 ein ein Objektmuster detektierendes neuronales Netzwerk detektieren, um jede der Versionen, die Streifen trägt, zu identifizieren. Wie in 9D gezeigt ist, kann das Objektauswahlsystem die Auswahl der ersten Objektmaske 910a und der dritten Objektmaske 910c rückgängig machen, da diese Objektmasken (das heißt der Satz von Pixeln, der in jeder Objektmaske beinhaltet ist) die Objektattribute „Streifen“ nicht beinhalten. Entsprechend gibt das Objektauswahlsystem 106 das ausgewählte Zielanfrageobjekt 902 an den Nutzer innerhalb der Bildbearbeitungsanwendung aus.
  • 9B und 9C zeigen insbesondere, dass das Objektauswahlsystem 106 ein ein Objektattribut detektierendes neuronales Netzwerk einsetzt, um eine Zielversion des detektierten Anfrageobjektes auszuwählen. Bei vielen Ausführungsformen zeigt das Objektauswahlsystem 106 dem Nutzer keine entsprechenden Handlungen an. Vielmehr scheint es so, als würde das Objektauswahlsystem 106 in Reaktion auf eine Anfragezeichenfolgenanforderung des Nutzers das Zielanfrageobjekt automatisch detektieren und genau auswählen (beispielsweise springt die grafische Nutzerschnittstelle 902 von 9A zu 9D). Wie vorstehend beschrieben worden ist, setzt das Objektauswahlsystem 106 bei einigen Ausführungsformen des Weiteren drei Begrenzungskästchen 908a bis 908c (9B) in Verbindung mit einem ein Objektattribut detektierenden neuronalen Netzwerk ein, um eine Zielversion des detektierten Anfrageobjektes auszuwählen. Beim Auswählen der Zielversion generiert das Objektauswahlsystem 106 sodann nur für das ausgewählte Zielanfrageobjekt eine Objektmaske.
  • In 10 ist ein Flussdiagramm des Detektierens einer Zielversion eines Anfrageobjektes unter Einsatz eines ein Objektfarbattribut detektierenden Modells entsprechend einer oder mehreren Ausführungsformen dargestellt. Wie gezeigt ist und vorstehend erwähnt worden ist, fächert 10 die Handlungen 806 und 810 auf, die vorstehend anhand 8 beschrieben worden sind, was wiederum eine Auffächerung der Handlung 410 der Objektauswahlpipeline 400 ist. Wie ebenfalls gezeigt ist, beinhaltet 10 die Handlungen 1002 bis 1006, die dem entsprechen, dass das Objektauswahlsystem 106 ein eine Objektfarbe detektierendes Modell auswählt und einsetzt.
  • Wie vorstehend beschrieben worden ist, kann die Handlung 806 dem entsprechen, dass das Objektauswahlsystem 106 ein ein Objektattribut detektierendes Modell auf Grundlage eines Objektattributtyps auswählt. Insbesondere kann das Objektauswahlsystem 106 bei einer Anzahl von Ausführungsformen mehrere Versionen eines detektierten Anfrageobjektes, das in einer Anfragezeichenfolge angegeben ist, detektieren. Des Weiteren bestimmt das Objektauswahlsystem 106, dass die Anfragezeichenfolge ein oder mehrere Adjektive beinhaltet, die eine Zielanfrageobjektversion spezifizieren. Zum Auswählen der Zielanfrageobjektversion kann das Objektauswahlsystem 106 eines von den ein Objektattribut detektierenden Modellen einsetzen, das dafür trainiert oder erstellt ist, Versionen auf Grundlage von Objektattributtypen zu erkennen.
  • Wie gezeigt ist, kann die Handlung 806 die Handlung 1002 beinhalten, bei der das Objektauswahlsystem 106 bestimmt, dass der Objektattributtyp einer Farbe entspricht. Das Objektauswahlsystem 106 analysiert beispielsweise das Objektattribut (das heißt ein Adjektiv) innerhalb der Anfragezeichenfolge, um zu identifizieren, dass der Nutzer eine Auswahl einer Version des detektierten Anfrageobjektes mit einer bestimmten Farbe anfordert. Bei einigen Ausführungsformen bestimmt das Objektauswahlsystem 106, dass das Objektattribut eine Farbe ist, auf Grundlage eines Abgleichs des Objektattributs mit einem Namen oder einer Beschreibung einer bekannten Farbe. Bei verschiedenen Ausführungsformen detektiert das Objektauswahlsystem 106 zudem, dass ein oder mehrere Objektattribute des Weiteren einen Farbton, einen Schatten bzw. eine Schattierung, die Opazität, die Helligkeit, die Sättigung, die Temperatur und/oder die Tönung (hue) einer Farbe (beispielsweise helles Braun, weiches Gelb, Grün, tiefes Purpur, starkes Rosa, mattes Blau oder verbranntes Orange) spezifizieren.
  • Auf Grundlage einer Detektion dessen, dass das Objektattribut eine Farbe ist, kann das Objektauswahlsystem 106 das eine Objektfarbe detektierende Modell auswählen, wie bei der Handlung 1004 gezeigt ist. Das Objektauswahlsystem 106 wählt das eine Objektfarbe detektierende Modell beispielsweise aus einer Anzahl von verschiedenen ein Objektattribut detektierenden neuronalen Netzwerken und Modellen aus. Bei einer oder mehreren Ausführungsformen umfasst das eine Objektfarbe detektierende Modell das Farbklassifizierermodell, das in der am 22. Juli 2019 eingereichten US-Patentanmeldung Nr. 16/518,795 „Classifying Colors of Objects in Digital Images“ (anwaltliches Aktenzeichen Nr. 20030.257.4) beschrieben ist, die hiermit durch Verweis in Gänze mit aufgenommen ist.
  • Wie gezeigt ist, kann die Handlung 810, bei der das ein ausgewähltes Objektattribut detektierende Modell eingesetzt wird, um die Zielversion des detektierten Anfrageobjektes entsprechend dem Objektattribut zu identifizieren, die Handlung 1006 beinhalten, bei der das Objektauswahlsystem 106 die Zielversion des detektierten Anfrageobjektes unter Einsatz des eine Objektfarbe detektierenden Modells und der Farbe (beispielsweise des Objektfarbattributs, das in der Anfragezeichenfolge angegeben ist) identifiziert. Das Objektauswahlsystem 106 kann das eine Objektfarbe detektierende Modell einsetzen, um die Zielversion aus der bereitgestellten Farbe und den mehreren Versionen des detektierten Anfrageobjektes zu bestimmen.
  • Insbesondere setzt das Objektauswahlsystem 106 bei einer oder mehreren Ausführungsformen das eine Objektfarbe detektierende Modell ein, um die Farbe in eine mathematische Darstellung (beispielsweise einen Farbeinbettungsvektor), so beispielsweise einen Punkt oder einen Bereich in einem Farbraum (beispielsweise einem Vektorraum), zu überführen oder hierauf abzubilden. Zusätzlich kann das eine Objektfarbe detektierende Modell für Pixel bei einer gegebenen Version des detektierten Anfrageobjektes ähnliche Einbettungen generieren. Das eine Objektfarbe detektierende Modell kann des Weiteren den Abstand zwischen dem Objektfarbattribut und der gegebenen Version vergleichen (das heißt unter Einsatz einer Kosinusähnlichkeit messen), um zu bestimmen, welche Version oder Versionen dem Objektfarbattribut entspricht/entsprechen.
  • Bei einer oder mehreren Ausführungsformen generiert das eine Objektfarbe detektierende Modell Farbeinbettungen für alle Pixel der gegebenen Version. Bei einigen Ausführungsformen generiert das eine Objektfarbe detektierende Modell Farbeinbettungen für einen Teilsatz von Pixeln der gegebenen Version. Da viele benachbarte Pixel in einem Bild dieselben Farbattribute teilen, kann das Objektauswahlsystem 106 den rechentechnischen Aufwand verringern, indem es Farbeinbettungen für eine ausgewählte Gruppe von Pixeln bei der gegebenen Version generiert.
  • In einigen Fällen kann das Objektauswahlsystem 106 bestimmen, ob Pixel der gegebenen Version „gültige“ Pixel sind. Bei einer Anzahl von Ausführungsformen ist ein Pixel gültig, wenn die Pixelfarbe (beispielsweise innerhalb eines vorbestimmten Vektorraumabstandes) nahe an der Anfragefarbe (das heißt dem Objektfarbattribut) ist. Bei einigen Ausführungsformen kann das Objektauswahlsystem 106 des Weiteren bestimmen, ob ein prozentualer Schwellenanteil, ein Bruchteil und/oder eine Anzahl von Pixeln der gegebenen Version gültig sind. Ist beispielsweise mehr als die Hälfte der Pixel der gegebenen Version ungültig (ist sie beispielsweise nicht auf die Anfragefarbe abgestimmt), so filtert das Objektauswahlsystem 106 die gegebene Version aus (sondert sie beispielsweise aus), sodass sie nicht mehr als Zielversion berücksichtigt wird.
  • Bestimmt das Objektauswahlsystem 106, dass das Verhältnis gültiger Pixel für die gegebene Version passt (beispielsweise bei oder über 10% ist), so kann das Objektauswahlsystem 106 auf ähnliche Weise die gegebene Version als Zielversion angeben. Für beliebige der Versionen des detektierten Anfrageobjektes, die gültige Pixelverhältnisse über einer vordefinierten Schwelle aufweisen, kann das Objektauswahlsystem 106 die Auswahl der Versionen vorhalten.
  • Wie vorstehend beschrieben worden ist, kann das Objektauswahlsystem 106 bei einigen Ausführungsformen die Zielversion auf Grundlage des Objektattributs und der angenäherten Begrenzungen der Versionen des detektierten Anfrageobjektes identifizieren. Bei anderen Ausführungsformen setzt das Objektauswahlsystem 106 die Objektmasken der Versionen ein. Mit Blick auf die Bestimmung von Farbabgleichen kann das Objektauswahlsystem 106 zumeist die Objektmasken der Versionen anstatt der weniger genauen angenäherten Begrenzungen (beispielsweise anstatt der Begrenzungskästchen) einsetzen, da die angenäherten Begrenzungen oftmals Hintergrundpixel mit Farben, die nicht auf das Objektfarbattribut abgestimmt sind, beinhalten.
  • Bei verschiedenen Ausführungsformen trainiert das Objektauswahlsystem 106 das eine Objektfarbe detektierende Modell oder bezieht dieses auf andere Weise, um Versionen (beispielsweise eine definierte Gruppe von Pixeln), die einer Eingabefarbe entsprechen, zu identifizieren. Das Objektauswahlsystem 106 generiert den Farbraum beispielsweise durch iteratives Trainieren und trainiert zudem das eine Objektfarbe detektierende Modell, um Pixelfarben genau in den Farbraum abzubilden.
  • 11 zeigt darstellungshalber eine grafische Nutzerschnittstelle 106, bei der ein eine Objektfarbe detektierendes Modell eingesetzt wird, um eine Zielversion eines Anfrageobjektes zu detektieren, entsprechend einer oder mehreren Ausführungsformen. 11 beinhaltet die vorstehend eingeführte Clientvorrichtung 300. Die Clientvorrichtung 300 beinhaltet beispielsweise eine Bildbearbeitungsanwendung, die das Bildbearbeitungssystem 104, das das Objektauswahlsystem 106 einsetzt, implementiert.
  • Wie in 11 gezeigt ist, beinhaltet die grafische Nutzerschnittstelle 1102 ein Bild 1104 innerhalb einer Bildbearbeitungsanwendung. Das Bild 1104 zeigt eine weiße Flasche und eine schwarze Flasche. Zusätzlich beinhaltet die grafische Nutzerschnittstelle 1102 eine Objektauswahlanforderungsschnittstelle 1106, wie sie vorstehend anhand 3A beschrieben worden ist, wo der Nutzer die Anfragezeichenfolge „weiße Flasche“ bereitstellt.
  • Wie vorstehend beschrieben worden ist, nutzt das Objektauswahlsystem 106 die Objektauswahlpipeline 400, um die beiden Flaschen auf Grundlage des Anfrageobjektes (das heißt „Flasche“) aus der Anfragezeichenfolge zu detektieren. Des Weiteren bestimmt das Objektauswahlsystem 106 in der Anfragezeichenfolge das Objektattribut „weiß“, das einem Objektfarbattribut entspricht, wie vorstehend beschrieben worden ist. Entsprechend wählt das Objektauswahlsystem 106 das eine Objektfarbe detektierende Modell aus und setzt es ein, um die weiße Flasche in dem Bild (beispielsweise das ausgewählte Zielanfrageobjekt 1108) zu identifizieren und auszuwählen. Wie in 11 gezeigt ist, gibt das Objektauswahlsystem 106 das ausgewählte Zielanfrageobjekt 1108 daher an den Nutzer innerhalb der Bildbearbeitungsanwendung aus.
  • In 12 ist ein Flussdiagramm des Detektierens einer Zielversion eines Anfrageobjektes unter Einsatz eines Positionsobjektattributmodells entsprechend einer oder mehreren Ausführungsformen gezeigt. Wie gezeigt ist und vorstehend erläutert worden ist, fächert 12 die Handlungen 806 und 810 auf, die vorstehend anhand 8 beschrieben worden sind, was wiederum eine Auffächerung der Handlung 410 der Objektauswahlpipeline 400 ist. Wie ebenfalls gezeigt ist, beinhaltet 12 die Handlungen 1202 bis 1206, die dem entsprechen, dass das Objektauswahlsystem 106 ein eine Objektposition bestimmendes Modell auswählt und einsetzt.
  • Wie gezeigt ist, kann die Handlung 806 die Handlung 1202 beinhalten, bei der das Objektauswahlsystem 106 bestimmt, dass der Objektattributtyp der Position entspricht. Auf Grundlage des Analysierens des Objektattributs innerhalb der Anfragezeichenfolge bestimmt das Objektauswahlsystem 106 beispielsweise, dass der Nutzer eine Auswahl einer Version des detektierten Anfrageobjektes, das eine bestimmte Position innerhalb des Bildes aufweist, anfordert, In einigen Fällen identifiziert das Objektauswahlsystem 106 das Objektpositionsattribut, indem es ein Adjektiv in der Anfragezeichenfolge, das lexikografisch auf die Position abgestimmt ist, detektiert, so beispielsweise „links“, „zentral“, „rechts“, „oben“, „mittig“, „unten“, „obere(r/s)“, ,,untere(r/s)“, „über“, „unter“, „äußere(r/s)“, „innere(r/s)“.
  • Auf Grundlage einer Detektion dessen, dass das Objektattribut eine Position ist, kann das Objektauswahlsystem 106 ein eine Objektposition detektierendes Modell auswählen, wie in der Handlung 1204 gezeigt ist. Das Objektauswahlsystem 106 kann das eine Objektposition detektierende Modell beispielsweise aus mehreren ein Objektattribut detektierenden neuronalen Netzwerken und Modellen, wie vorstehend ausgeführt worden ist, auswählen.
  • Wie gezeigt ist, kann die Handlung 810 die Handlung 1206 beinhalten, bei der das Objektauswahlsystem 106 die Zielversion des detektierten Anfrageobjektes unter Einsatz des eine Objektposition detektierenden Modells und der Position (beispielsweise das Objektpositionsattribut, das in der Anfragezeichenfolge angegeben ist) identifiziert. Das Objektauswahlsystem 106 kann das eine Objektposition detektierende Modell beispielsweise einsetzen, um die Zielversion aus der bereitgestellten Position und den mehreren Versionen des detektierten Anfrageobjektes zu bestimmen.
  • Darstellungshalber kann das Objektauswahlsystem 106 bei einigen Ausführungsformen das eine Objektposition detektierende Modell einsetzen, um die Position einer jeden Version des detektierten Anfrageobjektes innerhalb des Bildes zu identifizieren. Bei einigen Ausführungsformen setzt das eine Objektposition detektierende Modell eine oder mehrere Heuristiken ein, um die Positionen einer jeden Anfrageobjektversion zu vergleichen. Das eine Objektposition detektierende Modell kann beispielsweise Bildkoordinaten für jede Anfrageobjektversion (beispielsweise kartesische Koordinaten) generieren. Zusätzlich kann das eine Objektposition detektierende Modell die Bildkoordinaten für jede Version zu einer Tabelle oder einem Diagramm hinzufügen, um zu ermöglichen, dass das Objektauswahlsystem 106 entsprechende Versionspositionen innerhalb des Bildes vergleicht.
  • Bei einer Anzahl von Ausführungsformen bestimmt das eine Objektposition detektierende Modell die Position einer Anfrageobjektversion auf Grundlage des Schwerpunkts bzw. Massezentrums. Das eine Position detektierende Modell bestimmt beispielsweise die Position einer Anfrageobjektversion als deren Schwerpunktkoordinaten. Bei einigen Ausführungsformen entspricht der Schwerpunkt dem Schwerpunkt des Begrenzungskästchens, das der Anfrageobjektversion zugeordnet ist. Bei alternativen Ausführungsformen entspricht der Schwerpunkt dem Schwerpunkt der Objektmaske, die der Anfrageobjektversion zugeordnet ist.
  • Bei einigen Ausführungsformen bestimmt das eine Objektposition detektierende Modell die Position einer Anfrageobjektversion auf Grundlage einer Außenkante (beispielsweise auf Grundlage der Bildkoordinate einer Außenseite, einer Ecke oder eines Punktes) der Anfrageobjektversion (beispielsweise des Begrenzungskästchens oder der Objektmaske). Bei zusätzlichen Ausführungsformen wählt das eine Objektposition detektierende Modell die Außenkante auf Grundlage des Objektpositionsattributs aus. Ist das Objektpositionsattribut beispielsweise „links“, so wählt das eine Objektposition detektierende Modell die am weitesten links befindliche Kante oder den am weitesten links befindlichen Punkt einer jeden Anfrageobjektversion aus. Auf ähnliche Weise wählt das eine Objektposition detektierende Modell, wenn das Objektpositionsattribut „unten rechts“ ist, denjenigen Eckpunkt an jeder Anfrageobjektversion aus, an dem sich die untere Kante und die rechte Kante treffen. Zusätzlich wählt das eine Objektposition detektierende Modell, wenn das Objektpositionsattribut „oben zentral“ ist, den mittigen Punkt der oberen Kante einer jeden Anfrageobjektversion aus.
  • Bei vielen Ausführungsformen bestimmt das eine Objektposition detektierende Modell die Position einer Anfrageobjektversion relativ zu einem anderen Objekt. Für die Anfragezeichenfolge „Auto links von dem Baum“ identifiziert und/oder detektiert das eine Objektposition detektierende Modell beispielsweise den Baum (beispielsweise unter Nutzung eines ein Objekt detektierenden neuronalen Netzwerkes oder eines anderen ein Objekt detektierenden Modells). Sodann kann das eine Objektposition detektierende Modell eine oder mehrere Anfrageobjektversionen, die links von dem Baum sind, identifizieren. Bei verschiedenen Ausführungsformen setzt das eine Objektposition detektierende Modell einen oder mehrere der vorbeschriebenen Ansätze ein, um eine Anfrageobjektversion relativ zu einem anderen Objekt in dem Bild zu identifizieren.
  • Beim Bestimmen der Position für jede der Versionen des detektierten Anfrageobjektes kann das Objektauswahlsystem 106 (und/oder das eine Objektposition detektierende Modell) bestimmen, zu welcher Anfrageobjektversion das Objektpositionsattribut passt. Für das Objektpositionsattribut „oben“ kann das Objektauswahlsystem 106 beispielsweise die Anfrageobjektversion identifizieren, die eine Relativposition (beispielsweise auf Grundlage ihrer Bildkoordinate) über den anderen Anfrageobjektversionen in dem Bild aufweist. Bei einem weiteren Beispiel kann das Objektauswahlsystem 106 für das Objektpositionsattribut „zentral“ diejenige Anfrageobjektversion identifizieren, die eine Relativposition, die am nächsten am Zentrum des Bildes ist, aufweist. In einigen Fällen kann das Objektauswahlsystem 106 für das Objektpositionsattribut „mittig“ diejenige Anfrageobjektversion identifizieren, die eine Relativposition zwischen wenigstens zwei anderen Anfrageobjektversionen aufweist.
  • Bei einigen Ausführungsformen bestimmt das Objektauswahlsystem 106, dass mehrere Versionen des detektierten Anfrageobjektes zu dem Objektpositionsattribut passen. Ist das Objektpositionsattribut beispielsweise „oben“, so kann das Objektauswahlsystem 106 jede Anfrageobjektversion auswählen, die über dem zentralen Horizont (oder einer anderen vertikalen Koordinate) ist.
  • Auf ähnliche Weise kann das Objektauswahlsystem 106, wenn zwei Anfrageobjektversionen Positionen innerhalb einer Schwellentoleranz zueinander aufweisen, beide Anfrageobjektversionen auswählen. Darstellungshalber kann das Objektauswahlsystem 106, wenn das Objektpositionsattribut „rechts“ ist, diejenige Anfrageobjektversion auswählen, die die am weitesten rechts befindliche Position (beispielsweise auf Grundlage ihrer x-Achsen-Bildkoordinate) in dem Bild aufweist. Zusätzlich kann das Objektauswahlsystem 106 auch zusätzliche Anfrageobjektversionen auswählen, die eine x-Achsen-Koordinate innerhalb eines Schwellenabstandes (beispielsweise 5% der Breite oder 20 Pixel) der ersten ausgewählten Anfrageobjektversion aufweisen.
  • Wie vorstehend angegeben worden ist, kann das Objektauswahlsystem 106 eine oder mehrere Anfrageobjektversionen auswählen, zu denen das Objektpositionsattribut passt, wie nachstehend noch weiter beschrieben wird. Das Objektauswahlsystem 106 kann eine oder mehrere Anfrageobjektversionen auf Grundlage von räumlichen Vergleichen einer jeden Anfrageobjektversion innerhalb des Bildes auswählen. Zusätzlich filtert das Objektauswahlsystem 106 bei einigen Ausführungsformen eine oder mehrere Anfrageobjektversionen aus, die keine Positionen aufweisen, die zu dem Objektpositionsattribut passen.
  • Wie vorstehend bereits erläutert worden ist, kann das Objektauswahlsystem 106 in Abhängigkeit von dem Objektpositionsattribut die Positionen einer jeden Anfrageobjektversion auf Grundlage ihrer angenäherten Begrenzungen bestimmen und identifizieren, bevor Objektmasken bestimmt werden. Das Objektauswahlsystem 106 kann beispielsweise einfache räumliche Vergleiche der Anfrageobjektversionen oftmals mit hoher Genauigkeit unter Einsatz ihrer entsprechenden Begrenzungskästchen durchführen. In diesem Fall kann das Objektauswahlsystem 106 das Berechnen genauer Objektmasken für Versionen vermeiden, die nicht zu dem Positionsattribut (das heißt dem Objektpositionsattribut), das von dem Nutzer in der Anfragezeichenfolge spezifiziert wird, passen.
  • Bei verschiedenen Ausführungsformen kann das Objektattribut, das einer Position entspricht, die Tiefe beinhalten. Bei alternativen Ausführungsformen setzt das Objektauswahlsystem 106 ein eine separate Tiefenattribution detektierendes neuronales Netzwerk ein, um die Zielversion, die der spezifizierten Tiefe entspricht, zu identifizieren. Das eine Tiefenattribution detektierende neuronale Netzwerk kann beispielsweise eine Tiefenkarte des Bildes generieren, um relative Tiefen für jede der mehreren Versionen des detektierten Anfrageobjektes zu bestimmen. Beispiele für Tiefenobjektattribute beinhalten „vorne“, „hinten“, „näher“, „weiter“, „vor“ und „hinter“. Auf ähnliche Weise, wie vorstehend beschrieben worden ist, kann das Objektauswahlsystem 106 zudem die eine oder die mehreren Anfrageobjektversionen, die zu dem Tiefenobjektattribut passen, auswählen.
  • 13 zeigt eine grafische Nutzerschnittstelle, bei der ein eine Objektposition detektierendes Modell zum Detektieren einer Zielversion eines Anfrageobjektes entsprechend einer oder mehreren Ausführungsformen eingesetzt wird. 13 beinhaltet die vorstehend eingeführte Clientvorrichtung 300. Die Clientvorrichtung 300 beinhaltet eine Bildbearbeitungsanwendung, die das Bildbearbeitungssystem 104, das das Objektauswahlsystem 106 einsetzt, implementiert.
  • Wie in 13 gezeigt ist, beinhaltet die grafische Nutzerschnittstelle 1302 ein Bild 1304 innerhalb einer Bildbearbeitungsanwendung. Das Bild 1304 zeigt zwei Jungen im Vordergrund sowie Bäume und Berge im Hintergrund. Die grafische Nutzerschnittstelle 1302 beinhaltet zudem eine Objektauswahlanforderungsschnittstelle 1306, wie sie vorstehend anhand 3A beschrieben worden ist, wo der Nutzer die Anfragezeichenfolge „Junge links“ bereitstellt.
  • Wie vorstehend beschrieben worden ist, bestimmt das Objektauswahlsystem 106 die zwei Jungen auf Grundlage des Anfrageobjektes „Junge“ in der Anfragezeichenfolge unter Einsatz der Objektauswahlpipeline 400, wie vorstehend beschrieben worden ist. Des Weiteren kann das Objektauswahlsystem 106 in der Anfragezeichenfolge das Objektattribut „links“ bestimmen, das einem Objektpositionsattribut, wie vorstehend beschrieben worden ist, entspricht. Entsprechend wählt das Objektauswahlsystem 106 das eine Objektposition detektierende Modell aus und setzt es ein, um den Jungen links in dem Bild (beispielsweise das ausgewählte Zielanfrageobjekt 1308) zu identifizieren und auszuwählen. Wie in 13 gezeigt ist, kann das Objektauswahlsystem 106 das ausgewählte Zielanfrageobjekt 1308 daher an den Nutzer innerhalb der Bildbearbeitungsanwendung ausgeben.
  • Während die vorstehenden Ausführungsformen das Detektieren einer Zielanfrageobjektversion unter Einsatz eines eine Objektfarbe detektierenden Modells oder eines eine Objektposition detektierenden Modells betreffen, kann das Objektauswahlsystem 106 bei alternativen Ausführungsformen andere ein spezialisiertes Objektattribut detektierende Modelle und neuronale Netzwerke auswählen und einsetzen, um die Zielanfrageobjektversion zu detektieren. Auf Grundlage des Analysierens des Adjektivs in der Anfragezeichenfolge kann, wie vorstehend beschrieben worden ist, das Objektauswahlsystem 106 beispielsweise bestimmen, dass das Attribut eine Größe, eine Länge, eine Form, ein Material, ein Muster, ein Ort, eine Tiefe, eine Festigkeit/Flexibilität, eine Markanz, eine Körperstellung, ein Gefühl, ein Gesichtsausdruck oder ein anderer bekannter Attributtyp des Anfrageobjektes ist.
  • Auf Grundlage des Detektierens des Objektattributtyps kann das Objektauswahlsystem 106 ein entsprechendes ein spezialisiertes Objektattribut detektierendes Modell auswählen. Ist der Objektattributtyp beispielsweise ein Material, so wählt das Objektauswahlsystem 106 ein ein Objektmaterial detektierendes neuronales Netzwerk aus, das Materialien (beispielsweise Holz, Metall, Stoff, Kunststoff, Keramik, Beton, Glas, ein Verbundmaterial oder ein anderes Material), die jeder Anfrageobjektversion zugeordnet sind, identifiziert. Bei einem weiteren Beispiel wählt das Objektauswahlsystem 106, wenn der Objektattributtyp eine Form ist, ein Formattributmodell aus, das Formen einer jeden Anfrageobjektversion identifiziert. Auf ähnliche Weise kann das Objektauswahlsystem 106 verschiedene ein spezialisiertes Objektattribut detektierende neuronale Netzwerke oder Modelle auf Grundlage des identifizierten Objektattributtyps auswählen. Zusätzlich kann das Objektauswahlsystem 106 die Zielversion des detektierten Anfrageobjektes unter Einsatz des ausgewählten ein spezialisiertes Objektattribut detektierenden Modells und des Objektattributs identifizieren.
  • In 14 ist ein Flussdiagramm des Detektierens einer Zielversion eines Anfrageobjektes unter Einsatz eines ein verallgemeinertes Objektattribut detektierenden Modells entsprechend einer oder mehreren Ausführungsformen dargestellt. Wie gezeigt ist und vorstehend ausgeführt worden ist, fächert 14 die Handlungen 806 und 810 auf, die vorstehend anhand 8 beschrieben worden sind, was wiederum eine Auffächerung der Handlung 410 der Objektauswahlpipeline 400 ist. Wie ebenfalls gezeigt ist, beinhaltet 14 die Handlungen 1402 bis 1406, die dem entsprechen, dass das Objektauswahlsystem 106 ein ein verallgemeinertes Objektattribut detektierendes neuronales Netzwerk auswählt und einsetzt.
  • Wie gezeigt ist, kann die Handlung 806 die Handlung 1402 beinhalten, bei der das Objektauswahlsystem 106 bestimmt, dass der Objektattributtyp keinem bekannten Objektattributtyp entspricht. Auf Grundlage des Analysierens des Adjektivs in der Anfragezeichenfolge kann, wie vorstehend beschrieben worden ist, das Objektauswahlsystem 106 beispielsweise bestimmen, dass das Objektattribut keiner von dem identifizierten oder erkannten Objektattributtyp ist. Entsprechend kann das Objektauswahlsystem 106 ein ein generisches (generic) bzw. verallgemeinertes Objektattribut detektierendes Modell, wie bei der Handlung 1404 gezeigt ist, auswählen.
  • Wie gezeigt ist, kann die Handlung 810 in 14 die Handlung 1406 beinhalten, bei der das Objektauswahlsystem 106 die Zielversion des detektierten Anfrageobjektes unter Einsatz des ein verallgemeinertes Objektattribut detektierenden Modells und des Objektattributs identifiziert. Darstellungshalter kann das ein generisches (generic) bzw. verallgemeinertes Objektattribut detektierende Modell bei einer oder mehreren Ausführungsformen Tags für jede Anfrageobjektversion (beispielsweise unter Einsatz automatischer Taggingtechniken) generieren, um jede Version verschiedenen Attributen zuzuordnen. Das ein generisches (generic) bzw. verallgemeinertes Objektattribut detektierende Modell ist beispielsweise ein neuronales Netzwerk, das dafür trainiert ist, Tags vorherzusagen und diese einem gegebenen Bild auf Grundlage eines oder mehrerer Attribute und/oder einer oder mehrerer Kenngrößen, die aus dem Bild erkannt werden, zuzuweisen. Das ein generisches (generic) bzw. verallgemeinertes Objektattribut detektierende Modell kann relevante Adjektivtags unterscheiden und aus Begrenzungskästchen einer Anfrageobjektversion extrahieren.
  • Insbesondere kann das Objektauswahlsystem 106 das Begrenzungskästchen für jede Anfrageobjektversion für ein taggendes neuronales Netzwerk bereitstellen (beispielsweise durch Zuschneiden des Bildes). Das taggende neuronale Netzwerk kann sodann eine Liste von Tags für jede Anfrageobjektversion generieren. Bei einer oder mehreren Ausführungsformen umfasst das taggende neuronale Netzwerk eines der Netzwerke, das in der Veröffentlichung des am 20. September 2018 eingereichten US-Patentes Nr. 2018/0267997 von Lin et a. offenbart ist, wobei diese Quelle hiermit durch Verweis in Gänze mit aufgenommen ist. Insbesondere kann das taggende neuronale Netzwerk einen Encoder und einen Decoder umfassen. Der Encoder nimmt ein Begrenzungskästchen (beispielsweise eine Anfrageobjektversion) als Eingabe, um eine Merkmalskarte zu generieren. Der Decoder decodiert die Merkmalskarte zum Identifizieren dessen, welche Tags der Anfrageobjektversion zugeordnet werden sollen. Bei einer oder mehreren Ausführungsformen ist das taggende neuronale Netzwerk ein klassifizierendes neuronales Deep-Netzwerk, das eine Wahrscheinlichkeit dafür (beispielsweise eine Zuverlässigkeit dessen) bestimmt, dass jeder Tag eines Satzes von Tags einer Anfrageobjektversion zugeordnet wird. Das taggende neuronale Netzwerk kann jedem Tag einen Zuverlässigkeitskennwert zuordnen. Das Objektauswahlsystem 106 kann der Anfrageobjektversion mit Zuverlässigkeitskennwerten über einer Schwelle Tags zuordnen.
  • Nimmt das taggende neuronale Netzwerk ein automatisches Taggen einer jeden der Anfrageobjektversionen vor, so kann das Objektauswahlsystem 106 das Objektattribut, das in der Anfragezeichenfolge bereitgestellt wird, mit den Attributtags, die für jede der Anfrageobjektversionen generiert werden, vergleichen. Darstellungshalber filtert das Objektauswahlsystem 106 bei einer oder mehreren Ausführungsformen Versionen aus, die keine Korrelation oder weniger als eine Minimalkorrelationsschwelle zwischen den Attributtags und dem Objektattribut aufweisen. Durch Analysieren von Attributtags einer Anfrageobjektversion mit dem Objektattribut aus der Anfragezeichenfolge kann das Objektauswahlsystem 106 die Anfrageobjektversionen, die mit dem Objektattribut nicht abgeglichen sind, vernachlässigen.
  • Bei zusätzlichen oder alternativen Ausführungsformen kann das Objektauswahlsystem 106 Attributtags einer Anfrageobjektversion mit dem Objektattribut aus der Anfragezeichenfolge abgleichen, um zu identifizieren, welche Versionen dem Objektattribut entsprechen. Ist das Objektattribut beispielsweise „glücklich“ aus der Anfragezeichenfolge „glücklicher Mann“, so analysiert das Objektauswahlsystem 106 die Attributtags einer jeden Anfrageobjektversion, um zu bestimmen, dass die Tags „glücklich“ oder Synonyme zu „glücklich“ beinhalten.
  • Beim Ausfiltern von Versionen mit nichtentsprechenden Tags und/oder Identifizieren von Versionen mit entsprechenden Tags kann das Objektauswahlsystem 106 die eine bestimmte oder die mehreren bestimmten Anfrageobjektversionen entsprechend dem Objektattribut auswählen. Sogar dann, wenn ein ein spezialisiertes Objektattribut detektierendes Modell für das Objektattribut nicht verfügbar ist, kann das Objektauswahlsystem 106 in den meisten Fällen daher weiterhin die Zielanfrageobjektversion aus dem Objektattribut unter Einsatz des ein generisches (generic) bzw. verallgemeinertes Objektattribut detektierenden neuronalen Netzwerkes identifizieren.
  • In 15 ist ein Flussdiagramm des Detektierens und Auswählens einer Zielversion eines Anfrageobjektes in einem Bild auf Grundlage multimodaler Eingaben entsprechend einer oder mehreren Ausführungsformen dargestellt. 15 beschreibt beispielsweise das Detektieren einer Zielanfrageobjektversion eines detektierten Anfrageobjektes innerhalb eines Bildes auf Grundlage einer zusätzlichen Nutzereingabe, die einen Ort in dem Bild angibt. Wie gezeigt ist, beinhaltet 15 eine Abfolge von Handlungen 1500, die das Objektauswahlsystem 106 durchführen kann.
  • Wie gezeigt ist, kann die Abfolge von Handlungen 1500 die Handlung 1502 beinhalten, bei der das Objektauswahlsystem 106 ein Bild bezieht. Der Nutzer erfasst beispielsweise ein Bild mit einer Kamera auf einer Clientvorrichtung, die dem Nutzer zugeordnet ist. Die Abfolge von Handlungen 1500 kann des Weiteren die Handlung 1504 beinhalten, bei der das Objektauswahlsystem 106 eine Anfragezeichenfolge von dem Nutzer, wie vorstehend beschrieben worden ist, bezieht.
  • Zusätzlich beinhaltet die Abfolge von Handlungen 1500 die Handlung 1506, bei der das Objektauswahlsystem 106 eine zusätzliche Nutzereingabe, die einen Ort innerhalb des Bildes angibt, bezieht. Bei einer oder mehreren Ausführungsformen ist die zusätzliche Nutzereingabe innerhalb des Bildes eine Berührungseingabeauswahl, die einen spezifischen Ort angibt. Bei einigen Ausführungsformen ist die zusätzliche Nutzereingabe innerhalb des Bildes eine Mauseingabeauswahl (oder etwas hierzu Gleichwertiges), die den spezifischen Ort angibt. Der Ort kann innerhalb des Bildes von einem einzelnen Punkt (beispielsweise einer Pixelkoordinate) zu einem Ausschnitt des Bildes (beispielsweise einer Gruppe von Pixeln) reichen. Beispiele für die zusätzliche Nutzereingabe beinhalten des Weiteren ein Antippen, ein Anklicken, ein Wischen, ein Schweben, ein Draggen, ein Kritzeln (scribble), ein Kringeln (squiggle), ein Linienzeichnen oder ein Anklicken. Weitere Beispiele für die zusätzliche Nutzereingabe können eine Rechteckauswahl, eine Lassoauswahl, eine Spurauswahl, eine magnetische Auswahl oder einen anderen Typ von Auswahl beinhalten.
  • Wie gezeigt ist, kann die Abfolge von Handlungen 1500 die Handlung 1508 beinhalten, bei der das Objektauswahlsystem 106 multimodale Nutzereingaben einsetzt, um eine Zielanfrageobjektversion des detektierten Anfrageobjektes zu detektieren. Insbesondere ist die Anfragezeichenfolge eine erste Nutzereingabe, und die Ortsangabe ist eine zusätzliche Nutzereingabe. Zusammen stellen diese mehreren getrennten Nutzereingaben für das Objektauswahlsystem 106 die multimodalen Nutzereingaben bereit, die ermöglichen, dass das Objektauswahlsystem 106 die Zielanfrageobjektversion des detektierten Anfrageobjektes genauer detektiert und auswählt.
  • Bei verschiedenen Ausführungsformen signalisiert die Anfragezeichenfolge, dass eine zusätzliche Nutzereingabe Ortsinformation beinhaltet. Beispielsweise identifiziert das Objektauswahlsystem Text (beispielsweise ein Objektattribut) in der Anfragezeichenfolge, so beispielsweise „dieser/diese/dieses“ (beispielsweise „dieses Auto“) oder „hier“ (beispielsweise die „Tasse hier“), wodurch angegeben wird, dass der Nutzer eine Ortseingabe in Verbindung mit der Anfragezeichenfolge bereitgestellt hat (oder bereitstellen wird). Empfängt das Objektauswahlsystem 106 beispielsweise eine Anforderung dahingehend, „diesen Elefanten“ auszuwählen, so stellt das Objektauswahlsystem 106 für den Nutzer eine zusätzliche Aufforderung dahingehend bereit, den Ort des Elefanten innerhalb des Bildes anzuklicken, anzutippen, mit einem Umriss zu markieren, zu umkringeln oder auf andere Weise anzugeben.
  • Des Weiteren kann das Objektauswahlsystem 106 die Nutzerortseingabe einsetzen, um die Zielanfrageobjektversion auszuwählen und/oder die anderen Anfrageobjektversionen des detektierten Anfrageobjektes auszufiltern. Unter Einsatz des angegebenen Ortes aus der zusätzlichen Nutzereingabe kann das Objektauswahlsystem 106 beispielsweise Versionen des detektierten Anfrageobjektes ausfiltern, die nicht mit dem angegebenen Ort abgeglichen sind und die jenseits eines Schwellenabstandes von dem angegebenen Ort sind. Bei einem weiteren Beispiel kann das Objektauswahlsystem 106 die mehreren Anfrageobjektversionen auf Grundlage ihres Abstandes zu dem angegebenen Ort dem Rang nach bewerten oder sortieren, wobei eine höhere Rangbewertung einer höheren Wahrscheinlichkeit dafür entspricht, dass es sich um die Zielanfrageobjektversion handelt. Zusätzlich kann das Objektauswahlsystem 106 die Objektmaske derjenigen Version, deren Zentrum am nächsten an dem angegebenen Ort ist, auswählen. Auf diese Weise kann das Objektauswahlsystem 106 die Ortseingabe des Nutzers auf ähnliche Weise wie ein in einer Anfragezeichenfolge identifiziertes Objektattribut einsetzen.
  • Wie in 15 gezeigt ist, kann die Abfolge von Handlungen 1500 die Handlung 1510 beinhalten, bei der das Objektauswahlsystem 106 die ausgewählte Anfrageobjektversion für den Nutzer bereitstellt. Wie vorstehend beschrieben worden ist, kann das Objektauswahlsystem 106 die Zielanfrageobjektversion innerhalb der Bildbearbeitungsanwendung in Reaktion auf die Auswahlanfrage, die in diesem Fall eine multimodale Eingabe beinhaltet, automatisch auswählen.
  • In 16 sind zusätzliche Details im Zusammenhang mit Fähigkeiten und Komponenten des Objektauswahlsystems 106 entsprechend einer oder mehreren Ausführungsformen dargestellt. Insbesondere zeigt 16 ein schematisches Diagramm einer exemplarischen Architektur des Objektauswahlsystems 106, die innerhalb des Bildbearbeitungssystems 104 implementiert und auf einer Rechenvorrichtung 1600 gehostet ist. Das Bildbearbeitungssystem 106 kann dem Bildbearbeitungssystem 104, das vorstehend anhand 1 beschrieben worden ist, entsprechen.
  • Wie gezeigt ist, ist das Objektauswahlsystem 106 auf einer Rechenvorrichtung 1600 innerhalb eines Bildbearbeitungssystems 104 befindlich. Allgemein kann die Rechenvorrichtung 106 verschiedene Typen von Clientvorrichtungen darstellen. Bei einigen Ausführungsformen ist der Client beispielsweise eine mobile Vorrichtung, so beispielsweise ein Laptop, ein Tablet, ein Mobiltelefon, ein Smartphone und dergleichen. Bei anderen Ausführungsformen ist die Rechenvorrichtung 1600 eine nichtmobile Vorrichtung, so beispielsweise ein Desktop oder ein Server oder ein anderer Typ von Clientvorrichtung. Zusätzliche Details im Zusammenhang mit der Rechenvorrichtung 1600 werden nachstehend wie auch anhand 18 erläutert.
  • Wie in 16 dargestellt ist, beinhaltet das Objektauswahlsystem 106 verschiedene Komponenten zur Durchführung der hier beschriebenen Prozesse und Merkmale. Das Objektauswahlsystem 106 beinhaltet beispielsweise einen Digitalbildverwalter 1610, einen Nutzereingabedetektor 1612, einen Verwalter 1614 eines ein Objekt detektierenden neuronalen Netzwerkes, einen Objektmaskengenerator 1616, einen Objektversionsauswähler 1618 und einen Speicherverwalter 1620. Wie gezeigt ist, beinhaltet der Speicherverwalter 1620 Digitalbilder 1622, ein ein Objekt detektierendes neuronales Netzwerk 1624, ein ein Objekt maskierendes neuronales Netzwerk 1626 und ein Objektattribut detektierende Modelle 1628. Jede der vorstehend aufgeführten Komponenten wird nachstehend einzeln beschrieben.
  • Wie vorstehend erwähnt worden ist, beinhaltet das Objektauswahlsystem 106 den Digitalbildverwalter 1610. Allgemein vereinfacht der Digitalbildverwalter 1610 das Identifizieren, Zugreifen, Empfangen, Beziehen, Generieren, Importieren, Exportieren, Kopieren, Modifizieren, Entfernen und Organisieren von Bildern. Bei einer oder mehreren Ausführungsformen arbeitet der Digitalbildverwalter 1610 in Verbindung mit einem Bildbearbeitungssystem 104 (beispielsweise einer Bildbearbeitungsanwendung), um auf Bilder zuzugreifen und diese zu bearbeiten, wie vorstehend beschrieben worden ist. Bei einigen Ausführungsformen kommuniziert der Digitalbildverwalter 1610 mit dem Speicherverwalter 1620, um die Digitalbilder 1622 beispielsweise innerhalb einer Digitalbilddatenbank, die von dem Speicherverwalter 1620 verwaltet wird, zu speichern und abzurufen.
  • Wie gezeigt ist, beinhaltet das Objektauswahlsystem 106 den Nutzereingabedetektor 1612. Bei verschiedenen Ausführungsformen kann der Nutzereingabedetektor 1612 eine Nutzereingabe auf der Rechenvorrichtung 1600 auf beliebige geeignete Weise detektieren, empfangen und/oder vereinfachen. In einigen Fällen detektiert der Nutzereingabedetektor 1612 eine oder mehrere Nutzerinteraktionen (beispielsweise eine einzelne Interaktion oder eine Kombination von Interaktionen) in Bezug auf eine Nutzerschnittfläche. Der Nutzereingabedetektor 1612 detektiert beispielsweise eine Nutzerinteraktion von einer Tastatur, einer Maus, eine Berührungsseite, einem Berührungsbildschirm und/oder einer beliebigen anderen Eingabevorrichtung in Verbindung mit der Rechenvorrichtung 1600. Der Nutzereingabedetektor 1612 detektiert beispielsweise eine Nutzereingabe einer Anfragezeichenfolge, die von einer Objektauswahlanforderungsschnittstelle, die eine automatische Auswahl eines Objektes innerhalb eines Bildes anfordert, vorgelegt worden ist. Der Nutzereingabedetektor 1612 detektiert zusätzlich eine zusätzliche Nutzereingabe auf Grundlage einer Mausauswahl und/oder einer Berührungseingabe, um einen Objektort innerhalb des Bildes, wie vorstehend beschrieben worden ist, anzugeben.
  • Wie gezeigt ist, beinhaltet das Objektauswahlsystem 106 den Verwalter 1614 des ein Objekt detektierenden neuronalen Netzwerkes. Bei verschiedenen Ausführungsformen nimmt den Verwalter 1614 des ein Objekt detektierenden neuronalen Netzwerkes ein Vorhalten, Erstellen, Generieren, Trainieren, Aktualisieren, Zugreifen und/oder Einsetzen der hier offenbarten ein Objekt detektierenden neuronalen Netzwerke vor. Wie vorstehend beschrieben worden ist, detektiert der Verwalter 1614 des ein Objekt detektierenden neuronalen Netzwerkes innerhalb eines Bildes ein oder mehrere Objekte (beispielsweise ein Anfrageobjekt) und generiert eine angenäherte Begrenzung (beispielsweise ein Begrenzungskästchen), um das detektierte Objekt anzugeben.
  • Zusätzlich kann der Verwalter 1614 des ein Objekt detektierenden neuronalen Netzwerkes bei einer Anzahl von Ausführungsformen mit dem Speicherverwalter 1620 kommunizieren, um das ein Objekt detektierende neuronale Netzwerk 1624 zu speichern, auf es zuzugreifen und es einzusetzen. Beinhalten kann das ein Objekt detektierende neuronale Netzwerk 1624, wie vorstehend erwähnt worden ist, bei verschiedenen Ausführungsformen ein oder mehrere ein spezialisiertes Objekt detektierende neuronale Netzwerke, ein objektbasiertes Konzept detektierende neuronale Netzwerke, ein bekanntes Objekt der Klasse nach detektierende neuronale Netzwerke, ein unbekanntes Objekt der Klasse nach detektierende neuronale Netzwerke, ein Objekt vorschlagende neuronale Netzwerke, einen Bereich vorschlagende neuronale Netzwerke und ein Konzept einbettende neuronale Netzwerke.
  • Zusätzlich beinhaltet das Objektauswahlsystem 106, wie gezeigt ist, den Objektmaskengenerator 1616. Bei einer oder mehreren Ausführungsformen nimmt der Objektmaskengenerator 1616 ein Erzeugen, Erstellen und/oder Generieren genauer Objektmasken aus detektierten Objekten vor. Der Verwalter 1614 des ein Objekt detektierenden neuronalen Netzwerkes 1614 stellt beispielsweise eine angenäherte Begrenzung eines Objektes (beispielsweise eines detektierten Anfrageobjektes) für den Objektmaskengenerator 1616 bereit, der das ein Objekt maskierende neuronale Netzwerk 1626 einsetzt, um eine Objektmaske des detektierten Objektes, wie vorstehend erwähnt worden ist, zu generieren. Wie ebenfalls vorstehend erläutert worden ist, generiert der Objektmaskengenerator 1616 bei verschiedenen Ausführungsformen mehrere Objektmasken, wenn mehrere Versionen des Anfrageobjektes detektiert werden.
  • Wie zudem gezeigt ist, beinhaltet das Objektauswahlsystem 106 den Objektversionsauswähler 1618. Bei einigen Ausführungsformen nimmt der Objektversionsauswähler 1618 ein Bestimmen, Analysieren, Detektieren, Identifizieren, Filtern und/oder Auswählen einer oder mehrerer Zielversionen eines detektierten Objektes unter mehreren Versionen des detektierten Objektes vor. Bei verschiedenen Ausführungsformen setzt der Objektversionsauswähler 1618 ein oder mehrere ein Objektattribut detektierende Modelle 1628 ein, um eine Zielversion, wie vorstehend beschrieben worden ist, zu identifizieren. Der Objektversionsauswähler 1618 setzt beispielsweise ein Objektattribut ein, um eine Zielversion für mehrere Versionen des detektierten Objektes auszuwählen.
  • Beispiele für die ein Objektattribut detektierenden Modelle 1618 beinhalten unter anderem ein eine Objektfarbe detektierendes Modell 1630, ein eine Objektposition detektierendes Modell 1632, ein ein verallgemeinertes Objektattribut detektierendes neuronales Netzwerk 1634 und/oder ein ein anderes Objektattribut detektierendes neuronales Netzwerk sowie solche Modelle (beispielsweise ein eine Objekttiefe detektierendes neuronales Netzwerk, ein ein Objektmaterial detektierendes neuronales Netzwerk, ein eine Objektform detektierendes Modell, ein eine Objektgröße detektierendes neuronales Netzwerk, ein eine Objektlänge detektierendes neuronales Netzwerk, ein ein Objektmuster detektierendes neuronales Netzwerk, ein einen Objektort detektierendes Modell, ein eine Objektkörperstellung detektierendes neuronales Netzwerk, ein eine Objektmarkanz detektierendes neuronales Netzwerk, ein einen Objektgesichtsausdruck detektierendes neuronales Netzwerk oder ein eine Objektqualität detektierendes neuronales Netzwerk).
  • Jede der Komponenten 1610 bis 1634 des Objektauswahlsystems 106 kann Software, Hardware oder beides beinhalten. Die Komponenten 1610 bis 1634 können beispielsweise eine oder mehrere Anweisungen beinhalten, die auf einem computerlesbaren Speichermedium gespeichert und von Prozessoren einer oder mehrerer Rechenvorrichtungen, so beispielsweise einer Clientvorrichtung (beispielsweise einer mobilen Clientvorrichtung) oder einer Servervorrichtung, ausführbar sind. Bei Ausführung durch den einen oder die mehreren Prozessoren können die computerausführbaren Anweisungen des Objektauswahlsystems 106 veranlassen, dass eine Rechenvorrichtung die hier beschriebenen Merkmalslernverfahren durchführt. Alternativ können die Komponenten 1610 bis 1634 Hardware beinhalten, so beispielsweise eine Spezialzweckverarbeitungsvorrichtung zur Durchführung einer bestimmten Funktion oder Gruppe von Funktionen. Zusätzlich können die Komponenten 1610 bis 1634 des Objektauswahlsystems 106 eine Kombination von computerausführbaren Anweisungen und Hardware beinhalten.
  • Implementiert sein können die Komponenten 1610 bis 1634 des Objektauswahlsystems 106 des Weiteren als ein oder mehrere Betriebssysteme, eine oder mehrere eigenständige Anwendungen, ein oder mehrere Module einer Anwendung, ein oder mehrere Plug-ins, eine oder mehrere Bibliotheksfunktionen oder Funktionen, die von anderen Anwendungen aufgerufen werden können, und/oder als Cloudrechenmodell. Daher können die Komponenten 1610 bis 1634 als eigenständige Anwendung, so beispielsweise als Desktop- oder Mobilanwendung, implementiert sein. Zusätzlich können die Komponenten 1610 bis 1634 als eine oder mehrere webbasierte Anwendungen, die von einem Remoteserver gehostet werden, implementiert sein. Die Komponenten 1610 bis 1634 können zudem in einem Paket bzw. einer Suite von Mobilvorrichtungsanwendungen oder „Apps“ implementiert sein. Darstellungshalber können die Komponenten 1610 bis 1634 in einer Anwendung implementiert sein, darunter unter anderem in der Software ADOBE® INDESIGN®, ADOBE ACROBAT®, ADOBE® ILLUSTRATOR®, ADOBE PHOTOSHOP® und ADOBE® CREATIVE CLOUD®. „ADOBE“, „INDESIGN“, „ACROBAT“, „ILLUSTRATOR“, „PHOTOSHOP“ und „CREATIVE CLOUD“ sind entweder registrierte Marken oder Marken von Adobe Systems Incorporated in den Vereinigten Staaten und/oder anderen Ländern.
  • 1 bis 16, der entsprechende Text und die Beispiele stellen eine Anzahl von verschiedenen Verfahren, Systemen, Vorrichtungen und nichttemporären computerlesbaren Medien des Objektauswahlsystems 106 bereit. Zusätzlich zum Vorbeschriebenen können eine oder mehrere Ausführungsformen auch anhand von Flussdiagrammen beschrieben werden, die Handlungen zum Erreichen eines bestimmten Ergebnisses umfassen, so beispielsweise Flussdiagramme mit Handlungen, wie sie in 17 gezeigt sind. Zusätzlich können die hier beschriebenen Handlungen wiederholt oder parallel durchgeführt oder parallel zu verschiedenen Versionen derselben oder ähnlichen Handlungen durchgeführt werden.
  • Wie erwähnt worden ist, zeigt 17 ein Flussdiagramm mit einer Abfolge von Handlungen 1700 zum Einsetzen eines oder mehrerer ein Objektattribut detektierender Modelle zur Detektion einer Anfrageobjektversion entsprechend einer oder mehreren Ausführungsformen. Obwohl 17 Handlungen entsprechend einer Ausführungsform darstellt, können alternative Ausführungsformen beliebige der in 17 gezeigten Handlungen weglassen, hinzufügen, umordnen und/oder modifizieren. Die Handlungen von 17 können als Teil eines Verfahrens durchgeführt werden. Zusätzlich kann das nichttemporäre computerlesbare Medium Anweisungen umfassen, die bei Ausführung durch einen oder mehrere Prozessoren veranlassen, dass eine Rechenvorrichtung die Handlungen von 17 durchführt. Bei einigen Ausführungsformen kann das System die Handlungen von 17 durchführen.
  • Bei einer oder mehreren Ausführungsformen ist die Abfolge von Handlungen 1700 auf einer oder mehreren Rechenvorrichtungen implementiert, so beispielsweise der Clientvorrichtung 102, der Servervorrichtung 110, der Clientvorrichtung 300 oder der Rechenvorrichtung 1600. Zusätzlich ist die Abfolge von Handlungen 1700 bei einigen Ausführungsformen in einer Digitalumgebung zum Erstellen oder Bearbeiten von Digitalcontent (beispielsweise von Digitalbildern) implementiert. Die Abfolge von Handlungen 1700 ist beispielsweise auf einer Rechenvorrichtung mit einem Speicher implementiert, der beinhaltet: ein Digitalbild; eine Anfrage, die ein Anfrageobjekt und ein Anfrageattribut (beispielsweise ein Objektfarbattribut oder ein Objektpositionsattribut), das dem Anfrageobjekt entspricht, beinhaltet; und ein trainiertes ein Objekt detektierendes neuronales Netzwerk.
  • Die Abfolge von Handlungen 1700 beinhaltet eine Handlung 1710 des Identifizierens eines Anfrageobjektes und eines Objektattributs. Implizieren kann die Handlung 1710 insbesondere ein Identifizieren eines Anfrageobjektes und eines entsprechenden Objektattributs aus einer einem Digitalbild entsprechenden Auswahlanfrage. Bei verschiedenen Ausführungsformen kann die Handlung 1710 ein Identifizieren des Anfrageobjektes als Nomen in der Anfrage (beispielsweise in der Anfragezeichenfolge) und des Objektattributs als Adjektiv in der Anfrage beinhalten.
  • Wie gezeigt ist, beinhaltet die Abfolge von Handlungen 1700 eine Handlung 1720 des Detektierens mehrerer Versionen des Anfrageattributs. Insbesondere kann die Handlung 1720 ein Detektieren mehrerer Versionen des Anfrageobjekts in dem Digitalbild unter Einsatz eines ein Objekt detektierenden Modells implizieren. Bei einer oder mehreren Ausführungsformen kann die Handlung 1720 ein Identifizieren eines separaten Begrenzungskästchens innerhalb des Digitalbildes für jede der mehreren Anfrageobjektversionen beinhalten. Bei verschiedenen Ausführungsformen kann die Handlung 1720 ein Identifizieren einer separaten Objektmaske innerhalb des Digitalbildes für jede der mehreren Anfrageobjektversionen beinhalten. Bei einigen Ausführungsformen ist das ein Objekt detektierende Modell ein trainiertes ein Objekt detektierendes neuronales Netzwerk. Bei alternativen Ausführungsformen ist das ein Objekt detektierende Modell kein maschinell lernendes Modell, so beispielsweise eine Kombination aus einen Bereich vorschlagenden Detektoren und einem anderen Typ von Objektdetektor.
  • Wie in 17 gezeigt ist, beinhaltet die Abfolge von Handlungen 1700 des Weiteren eine Handlung 1730 des Bestimmens eines ein Objektattribut detektierenden Modells auf Grundlage des Anfrageobjektes. Beinhalten kann die Handlung 1730 insbesondere ein Bestimmen eines ein Objektattribut detektierenden Modells aus mehreren ein Objektattribut detektierenden Modellen auf Grundlage eines Analysierens des Objektattributs. Beinhalten kann die Handlung 1730 bei einer oder mehreren Ausführungsformen ein Auswählen eines ein Objektmaterial detektierenden neuronalen Netzwerkes als das bestimmte ein Objektattribut detektierende Modell auf Grundlage einer Bestimmung dessen, dass das Objektattribut einem Material entspricht. Beinhalten kann die Handlung 1730 bei einigen Ausführungsformen ein Auswählen eines eine Objektgröße detektierenden Modells als das bestimmte ein Objektattribut detektierende Modell auf Grundlage einer Bestimmung dessen, dass das Objektattribut einer Objektgröße entspricht.
  • Wie gezeigt ist, beinhaltet die Abfolge von Handlungen 1700 zudem eine Handlung 1740 des Detektierens einer Anfrageobjektversion auf Grundlage des ein Objektattribut detektierenden Modells. Beinhalten kann die Handlung 1740 insbesondere ein Detektieren dessen, dass eine erste Anfrageobjektversion von den mehreren Anfrageobjektversionen eine Zielanfrageobjektversion ist, auf Grundlage des Objektattributs und des bestimmten ein Objektattribut detektierenden Modells. Die Handlung 1740 kann eine Anzahl von weiteren Handlungen und Teilhandlungen, die nachstehend beschrieben werden, beinhalten.
  • Bei einer oder mehreren Ausführungsformen kann die Handlung 1740 ein Analysieren des Objektattributs zum Identifizieren einer angegebenen Position innerhalb des Digitalbildes beinhalten. Bei diesen Ausführungsformen kann die Handlung 1740 zudem ein Bestimmen von Positionen innerhalb des Digitalbildes für jede der mehreren Anfrageobjektversionen unter Einsatz eines ein Objektpositionsattribut detektierenden Modells beinhalten. Implizieren kann die Handlung 17440 bzw. 1740 zudem ein Detektieren dessen, dass die erste Anfrageobjektversion die Zielanfrageobjektversion ist, auf Grundlage dessen, dass die erste Anfrageobjektversion in dem Digitalbild eine Position, die am nächsten an der angegebenen Position ist, aufweist.
  • Bei verschiedenen Ausführungsformen kann die Handlung 1740 ein Analysieren des Objektattributs zum Identifizieren einer angegebenen relativen Objektposition beinhalten. Beinhalten kann die Handlung 1740 bei diesen Ausführungsformen zudem ein Identifizieren von zentralen Positionen für jede der mehreren Anfrageobjektversionen innerhalb des Digitalbildes unter Einsatz eines ein Objektpositionsattribut detektierenden Modells, ein Vergleichen einer ersten Zentralposition der ersten Anfrageobjektversion mit einer zweiten Zentralposition einer zweiten Anfrageobjektversion der mehreren Anfrageobjektversionen zum Identifizieren einer ersten Relativposition für die erste Anfrageobjektversion und ein Detektieren dessen, dass die erste Anfrageobjektversion die Zielanfrageobjektversion ist, auf Grundlage dessen, dass die erste Relativposition für die erste Anfrageobjektversion der angegebenen relativen Objektposition entspricht.
  • Bei einigen Ausführungsformen kann die Handlung 1740 ein Analysieren des Objektattributs zum Identifizieren einer angegebenen Objekttiefe beinhalten. Beinhalten kann die Handlung 1740 bei diesen Ausführungsformen zudem ein Generieren einer Tiefenkarte des Bildes unter Einsatz eines eine Tiefe kartierenden neuronalen Netzwerkes; ein auf Grundlage der Tiefenkarte erfolgendes Identifizieren einer ersten Tiefe der ersten Anfrageobjektversion unter Einsatz des eine Tiefe kartierenden neuronalen Netzwerkes; und ein Detektieren dessen, dass die erste Anfrageobjektversion die Zielanfrageobjektversion ist, auf Grundlage dessen, dass die erste Tiefe der ersten Anfrageobjektversion der angegebenen Objekttiefe entspricht.
  • Bei einer oder mehreren Ausführungsformen kann die Handlung 1740 ein Analysieren des Objektattributs zum Identifizieren einer angegebenen Farbe beinhalten. Beinhalten kann die Handlung 1740 bei diesen Ausführungsformen zudem ein Identifizieren einer Farbe für jede der mehreren Anfrageobjektversionen in dem Digitalbild unter Einsatz eines ein Objektfarbattribut detektierenden Modells wie auch ein Bestimmen dessen, dass die erste Anfrageobjektversion eine größere Entsprechung zu der angegebenen Farbe als andere Versionen der mehreren Anfrageobjektversionen aufweist, auf Grundlage eines Vergleichs der Farbe, die für jede der mehreren Anfrageobjektversionen identifiziert wird, mit der angegebenen Farbe. Beinhalten kann die Handlung 1740 bei zusätzlichen Ausführungsformen ein Identifizieren der Farbe für die erste Anfrageobjektversion unter Einsatz des ein Objektfarbattribut detektierenden Modells auf Grundlage eines Vergleichs eines oder mehrerer Pixel der ersten Anfrageobjektversion mit der angegebenen Farbe in einem mehrdimensionalen Farbraum.
  • Bei verschiedenen Ausführungsformen kann die Handlung 1740 ein Bestimmen dessen beinhalten, dass das Objektattribut keinem bekannten Objektattributtyp entspricht, auf Grundlage eines Analysierens des Objektattributs. Beinhalten kann die Handlung 1740 bei diesen Ausführungsformen ein Generieren von Tags für eine oder mehrere der mehreren Anfrageobjektversionen unter Einsatz eines taggenden neuronalen Netzwerkes und ein Detektieren der ersten Anfrageobjektversion als Zielanfrageobjektversion auf Grundlage einer Abstimmung des Objektattributs auf einen Tag, der für die erste Anfrageobjektversion generiert worden ist. Beinhalten kann die Handlung 1740 bei zusätzlichen Ausführungsformen ein Ausfiltern einer oder mehrerer anderer Anfrageobjektversionen der mehreren Anfrageobjektversionen auf Grundlage der einen oder der mehreren anderen Versionen der mehreren Anfrageobjektversionen mit Tags, die dem Objektattribut nicht entsprechen.
  • Wie in 17 gezeigt ist, beinhaltet die Abfolge von Handlungen 1700 zudem eine Handlung 1750, bei der die ausgewählte Anfrageobjektversion innerhalb eines Bildes bereitgestellt wird. Implizieren kann die Handlung 1750 insbesondere ein Bereitstellen des Digitalbildes mit der detektierten ersten Anfrageobjektversion in Reaktion auf die Auswahlanfrage. Bei einigen Ausführungsformen beinhaltet die Handlung 1750 ein automatisches Auswählen des detektierten Anfrageobjektes innerhalb einer Bildbearbeitungsanwendung unter Einsatz der ersten Objektmaske.
  • Beinhalten kann die Handlung 1750 bei einer oder mehreren Ausführungsformen ein unter Einsatz eines ein Objekt maskierenden neuronalen Netzwerkes erfolgendes Generieren einer ersten Objektmaske für die erste Anfrageobjektversion ohne Generieren zusätzlicher Objektmasken für andere Anfrageobjektversionen der mehreren Anfrageobjektversionen. Bei zusätzlichen Ausführungsformen kann die Handlung 1750 ein Einsetzen der ersten Objektmaske zum Auswählen des ersten Anfrageobjektes innerhalb des Bildes beinhalten.
  • Beinhalten können die Handlungen 1730 und 1740 bei einigen Ausführungsformen zudem die Handlungen des Bestimmens dessen, dass das Objektattribut einer Farbe entspricht, des Identifizierens einer oder mehrerer Farben für jede der mehreren Anfrageobjektversionen in dem Digitalbild und des Bestimmens dessen, dass eine erste Anfrageobjektversion von den mehreren Anfrageobjektversionen eine erste Farbe, die dem Objektfarbattribut in der Anfrage entspricht, beinhaltet, unter Einsatz eines eine Objektfarbe detektierenden Modells. Beinhalten kann die Handlung 1740 bei diesen Ausführungsformen zudem ein Generieren separater Objektmasken für jede der mehreren Anfrageobjektversionen vor dem Identifizieren der einen oder der mehreren Farben für jede der mehreren Anfrageobjektversionen und ein Identifizieren der ersten Farbe der ersten Anfrageobjektversion auf Grundlage eines Analysierens eines oder mehrerer Pixel einer ersten Objektmaske, die der ersten Anfrageobjektversion entspricht.
  • Des Weiteren beruht bei einer oder mehreren Ausführungsformen das Bestimmen dessen, dass die erste Anfrageobjektversion die erste Farbe, die dem Objektfarbattribut in der Anfrage entspricht, beinhaltet, auf einem Bestimmen dessen, dass eine Schwellenanzahl von Pixeln in der ersten Objektmaske dem Objektfarbattribut in der Anfrage entspricht (beispielsweise gültige Pixel). Bei einigen Ausführungsformen beruht das Bestimmen dessen, dass die erste Farbe der ersten Anfrageobjektversion dem Objektfarbattribut in der Anfrage entspricht, auf einem Generieren eines ersten Farbvektors für die erste Farbe der ersten Anfrageobjektversion unter Einsatz des eine Objektfarbe detektierenden Modells, einem Generieren eines Objektfarbattributvektors für das Objektfarbattribut der Anfrage unter Einsatz des eine Objektfarbe detektierenden Modells und einem Bestimmen dessen, dass der erste Farbvektor dem Objektfarbattributvektor entspricht, wobei ein Vektorraum von dem eine Objektfarbe detektierenden Modell generiert wird.
  • Beinhalten können die Handlungen 1730 und 1740 bei verschiedenen Ausführungsformen die Handlungen des Bestimmens dessen, dass das Objektattribut ein Objektpositionsattribut ist, das eine Position einer Anfrageobjektversion innerhalb des Bildes angibt, des Identifizierens von Positionen für jede der mehreren Anfrageobjektversionen in dem Digitalbild und des Bestimmens dessen, dass eine erste Anfrageobjektversion von den mehreren Anfrageobjektversionen eine erste Position, die dem Objektpositionsattribut in der Anfrage entspricht, aufweist, unter Einsatz einer Objektpositionsdetektion. Bei einer oder mehreren Ausführungsformen kann die Handlung 1740 zudem ein Generieren von Begrenzungskästchen für jede der mehreren Anfrageobjektversionen beinhalten.
  • Des Weiteren beruht bei diesen Ausführungsformen das Identifizieren der Positionen für jede der mehreren Anfrageobjektversionen in dem Digitalbild darauf, dass die Begrenzungskästchen für jede der mehreren Anfrageobjektversionen generiert werden. Beinhalten kann die Handlung 1750 bei zusätzlichen Ausführungsformen ein unter Einsatz eines ein Objekt maskierenden neuronalen Netzwerkes erfolgendes Generieren einer ersten Objektmaske für die erste Anfrageobjektversion (beispielsweise auf Grundlage einer Bestimmung dessen, dass die erste Anfrageobjektversion einem Objektpositionsattribut entspricht) ohne Generieren zusätzlicher Objektmasken für andere Anfrageobjektversionen der mehreren Anfrageobjektversionen.
  • Der Begriff „Digitalumgebung“ bezeichnet im Sinne des Vorliegenden allgemein eine Umgebung, die beispielsweise als eigenständige Anwendung (beispielsweise als PC oder mobile Anwendung, die auf einer Rechenvorrichtung läuft), als Element einer Anwendung, als Plug-in für eine Anwendung, als Bibliotheksfunktion oder Funktionen, als Rechenvorrichtung und/oder als Cloudrechensystem implementiert ist. Eine Digitalmedienumgebung ermöglicht, dass das Objektauswahlsystem die hier beschriebene Objektauswahlpipeline erstellt, ausführt und/oder modifiziert.
  • Ausführungsformen der vorliegenden Offenbarung können einen Spezialzweck- oder Allzweckcomputer, der Computerhardware beinhaltet, umfassen oder einsetzen, so beispielsweise einen oder mehrere Prozessoren und einen Systemspeicher, wie nachstehend noch detaillierter beschrieben wird. Ausführungsformen innerhalb des Umfanges der vorliegenden Offenbarung beinhalten zudem physische bzw. physikalische und andere computerlesbare Medien zum Tragen oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen. Insbesondere können einer oder mehrere der hier beschriebenen Prozesse wenigstens teilweise als Anweisungen implementiert sein, die auf einem nichttemporären computerlesbaren Medium verkörpert und durch eine oder mehrere Rechenvorrichtungen (beispielsweise beliebige der hier beschriebenen Mediencontentzugriffsvorrichtungen) ausführbar sind. Allgemein empfängt ein Prozessor (beispielsweise ein Mikroprozessor) Anweisungen von einem nichttemporären computerlesbaren Medium (beispielsweise einem Speicher) und führt diese Anweisungen aus, wodurch ein oder mehrere Prozesse, darunter einer oder mehrere der hier beschriebenen Prozesse, durchgeführt werden.
  • Computerlesbare Medien können beliebige verfügbare Medien sein, auf die ein Allzweck- oder Spezialzweckcomputersystem zugreifen kann. Computerlesbare Medien, die computerausführbare Anweisungen speichern, sind nichttemporäre computerlesbare Speichermedien (Vorrichtungen). Computerlesbare Medien, die computerausführbare Anweisungen tragen, sind Übertragungsmedien. Beispiels- und nicht beschränkungshalber können Ausführungsformen der Offenbarung wenigstens zwei eindeutig verschiedene Arten von computerlesbaren Medien umfassen, nämlich nichttemporäre computerlesbare Speichermedien (Vorrichtungen) und Übertragungsmedien.
  • Nichttemporäre computerlesbare Speichermedien (Vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, SSDs (Solid State Drives) (beispielsweise auf Grundlage eines RAM), einen Flashspeicher, einen Phasenänderungsspeicher (PCM), andere Arten von Memory bzw. Speicher, einen anderen optischen Plattenspeicher, einen Magnetplattenspeicher 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 ein Allzweck- oder Spezialzweckcomputer zugreifen kann.
  • Ein „Netzwerk“ ist als ein oder mehrere Datenlinks definiert, die den Transport von elektronischen Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wird Information über ein Netzwerk oder eine andere Kommunikationsverbindung (entweder festverdrahtet, drahtlos oder eine Kombination aus festverdrahtet oder drahtlos) an einen Computer übertragen oder für diesen bereitgestellt, so betrachtet der Computer die Verbindung in der Praxis als Übertragungsmedium. Übertragungsmedien können ein Netzwerk und/oder Datenlinks beinhalten, die zum Tragen von gewünschten Programmcodemitteln in Form von computerausführbaren Anweisungen oder Datenstrukturen genutzt werden können und auf die ein Allzweck- oder Spezialzweckcomputer zugreifen kann. Kombinationen des Vorbeschriebenen sollen innerhalb des Umfanges der computerlesbaren Medien beinhaltet sein.
  • Beim Verwirklichen verschiedener Computersystemkomponenten können Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen des Weiteren automatisch von Übertragungsmedien an nichttemporäre computerlesbare Speichermedien (Vorrichtungen) (oder umgekehrt) übertragen werden. Computerausführbare Anweisungen oder Datenstrukturen, die über ein Netzwerk oder einen Datenlink empfangen werden, können beispielsweise in einem RAM innerhalb eines Netzwerkschnittstellenmoduls (beispielsweise eines „NIC“) gepuffert und sodann gegebenenfalls an den Computersystem-RAM und/oder an weniger flüchtige Computerspeichermedien (Vorrichtungen) auf einem Computersystem übertragen werden. Es sollte daher einsichtig sein, dass nichttemporäre computerlesbare Speichermedien (Vorrichtungen) in Computersystemkomponenten beinhaltet sein können, die ebenfalls (oder sogar primär) Übertragungsmedien einsetzen.
  • Computerausführbare Anweisungen umfassen beispielsweise Anweisungen und Daten, die bei Ausführung durch einen Prozessor veranlassen, dass ein Allzweckcomputer, ein Spezialzweckcomputer oder eine Spezialzweckverarbeitungsvorrichtung eine gewisse Funktion oder Gruppe von Funktionen übernehmen. Bei einigen Ausführungsformen werden computerausführbare Anweisungen von einem Allzweckcomputer ausgeführt, um den Allzweckcomputer in einen Spezialzweckcomputer zu verwandeln, der Elemente der Offenbarung implementiert. Die computerausführbaren Anweisungen können beispielsweise Binaries, Anweisungen in einem Zwischenformat wie Assemblersprache oder sogar Quellcode sein. Obwohl der Erfindungsgegenstand in einer Sprache beschrieben worden ist, die für strukturelle Merkmale und/oder methodologische Handlungen spezifisch ist, sollte einsichtig sein, dass der in den beigefügten Ansprüchen definierte Erfindungsgegenstand nicht unbedingt auf die vorbeschriebenen Merkmale oder Handlungen beschränkt ist. Vielmehr sind die beschriebenen Merkmale und Handlungen als exemplarische Formen der Implementierung der Ansprüche offenbart.
  • Einem Fachmann auf dem Gebiet erschließt sich, dass die Offenbarung auch in Netzwerkrechenumgebungen mit vielen Arten von Computersystemkonfigurationen praktisch umgesetzt werden kann, darunter PCs, Desktopcomputer, Laptopcomputer, Nachrichtenprozessoren, Handvorrichtungen, Multiprozessorensysteme, mikroprozessorbasierte oder programmierbare Geräte der Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Mainframecomputer, Mobiltelefone, PDAs, Tablets, Pager, Router, Switches bzw. Schalter und dergleichen. Praktisch umgesetzt werden kann die Offenbarung auch in verteilten Systemumgebungen, wo lokale und entfernte (remote) Computersysteme, die (entweder durch festverdrahtete Datenlinks, drahtlose Datenlinks oder durch eine Kombination aus festverdrahteten und drahtlosen Datenlinks) über ein Netzwerk verbunden sind, gleichermaßen Aufgaben ausführen. In einer verteilten Systemumgebung können Programmmodule sowohl in lokalen wie auch entfernten (remote) Memoryspeichervorrichtungen befindlich sein.
  • Ausführungsformen der vorliegenden Offenbarung können zudem in Cloudrechenumgebungen implementiert sein. Im Sinne des Vorliegenden bezeichnet der Begriff „Cloudcomputing bzw. Cloudrechnen“ ein Modell, das einen On-Demand-Netzwerkzugriff auf einen geteilten Vorrat von konfigurierbaren Rechenressourcen ermöglicht. Cloudcomputing bzw. Cloudrechnen kann beispielsweise auf einem Marktplatz eingesetzt werden, um einen allgegenwärtigen und bequemen On-Demand-Zugriff auf den geteilten Vorrat von konfigurierbaren Rechenressourcen anzubieten. Der geteilte Vorrat von konfigurierbaren Rechenressourcen kann über eine Virtualisierung schnell bereitgestellt und unter geringem Verwaltungsaufwand oder geringer Interaktion eines Dienstanbieters freigegeben und sodann entsprechend skaliert werden.
  • Ein Cloudrechenmodell kann aus verschiedenen Charakteristiken zusammengesetzt sein, so beispielsweise On-Demand Self-Service, Broad Network Access, Resource Pooling, Rapid Elasticity, Measured Service und dergleichen. Ein Cloudrechenmodell kann zudem verschiedene Dienstmodelle anbieten, so beispielsweise „Software as a Service“ („SaaS“), „Platform as a Service“ („PaaS“) und „Infrastructure as a Service („IaaS“). Ein Cloudrechenmodell kann zudem unter Nutzung verschiedener Einsatzmodelle eingesetzt werden, so beispielsweise Private Cloud, Community Cloud, Public Cloud, Hybrid Cloud und dergleichen. Im Sinne des Vorliegenden bezeichnet der Begriff „Cloudrechenumgebung“ zudem eine Umgebung, in der das Cloudrechnen bzw. Cloudcomputing eingesetzt wird.
  • 18 zeigt ein Blockdiagramm einer exemplarischen Rechenvorrichtung 1800, die dafür konfiguriert sein kann, einen oder mehrere der vorbeschriebenen Prozesse durchzuführen. Es sollte einsichtig sein, dass eine oder mehrere Rechenvorrichtungen, so beispielsweise die Rechenvorrichtung 1800, die vorbeschriebenen Rechenvorrichtungen (beispielsweise die Clientvorrichtung 102, die Servervorrichtung 110, die Clientvorrichtung 300 oder die Rechenvorrichtung 1600) darstellen können. Bei einer oder mehreren Ausführungsformen kann die Rechenvorrichtung 1800 eine mobile Vorrichtung sein (beispielsweise ein Laptop, ein Tablet, ein Smartphone, ein Mobiltelefon, eine Kamera, ein Tracker, eine Armbanduhr, eine am Körper tragbare Vorrichtung und dergleichen). Bei einigen Ausführungsformen kann die Rechenvorrichtung 1800 eine nichtmobile Vorrichtung sein (beispielsweise ein Desktopcomputer, eine Servervorrichtung, ein Webserver, ein Fileserver, ein System für soziale Netzwerke, ein Programmserver, ein Appstore oder ein Contentanbieter). Des Weiteren kann die Rechenvorrichtung 1800 eine Servervorrichtung sein, die eine Verarbeitung und Speicherkapazitäten auf Cloudbasis aufweist.
  • Wie in 18 gezeigt ist, kann die Rechenvorrichtung 1800 einen oder mehrere Prozessoren 1802, einen Speicher bzw. Memory 1804, eine Speichervorrichtung 1806, Eingabe-/Ausgabe-Schnittstellen („I/O“) 1808 und eine Kommunikationsschnittstelle 1810 beinhalten, die kommunikativ mittels einer Kommunikationsinfrastruktur (beispielsweise mittels eines Busses 1812) gekoppelt sein können. Obwohl in 18 die Rechenvorrichtung 1800 gezeigt ist, sind die in 18 dargestellten Komponenten nicht beschränkend gemeint. Es können bei anderen Ausführungsformen zusätzliche oder alternative Komponenten benutzt werden. Bei bestimmten Ausführungsformen beinhaltet die Rechenvorrichtung 1800 des Weiteren weniger Komponenten als die in 18 gezeigten. Komponenten der in 18 gezeigten Rechenvorrichtung 1800 werden nunmehr detaillierter beschrieben.
  • Bei bestimmten Ausführungsformen beinhaltet/beinhalten der Prozessor / die Prozessoren 1802 Hardware zum Ausführen von Anweisungen, so beispielsweise solchen, die ein Computerprogramm bilden. Beispiels- und nicht beschränkungshalber kann/können der Prozessor / die Prozessoren 1802 zum Ausführen von Anweisungen die Anweisungen aus einem internen Register, einem internen Cache, dem Speicher 1804 oder der Speichervorrichtung 1806 abrufen (oder holen) und diese decodieren und ausführen.
  • Die Rechenvorrichtung 1800 beinhaltet den Speicher bzw. Memory 1804, der mit dem Prozessor / den Prozessoren 1802 gekoppelt ist. Der Speicher bzw. Memory 1804 kann zum Speichern von Daten, Metadaten und Programmen zur Ausführung durch den Prozessor / die Prozessoren benutzt werden. Der Speicher bzw. Memory 1804 kann eines oder mehrere von flüchtigen und nichtflüchtigen Speichern beinhalten, so beispielsweise einen Speicher mit wahlfreiem Zugriff („RAM“), einen Nur-Lese-Speicher („ROM“), eine Sold-State-Disk („SSD“), einen Flash, einen Phasenänderungsspeicher („PCM“) oder andere Typen von Datenspeicher. Der Speicher bzw. Memory 1804 kann ein interner oder ein verteilter Speicher sein.
  • Die Rechenvorrichtung 1800 beinhaltet eine Speichervorrichtung 1806 mit einem Speicher zum Speichern von Daten oder Anweisungen. Bei einem Beispiel und nicht im Sinne einer Beschränkung kann die Speichervorrichtung 1806 ein nichttemporäres Speichermedium, wie es vorstehend beschrieben worden ist, umfassen. Die Speichervorrichtung 1806 kann ein Festplattenlaufwerk (HDD), einen Flash-Speicher, ein USB-Laufwerk (Universeller Serieller Bus USB) oder eine Kombination aus diesen oder anderen Speichervorrichtungen beinhalten.
  • Die Rechenvorrichtung 1800 beinhaltet, wie gezeigt ist, eine oder mehrere I/O-Schnittstellen (Input/Output I/O, Eingabe/Ausgabe) 1808, die dafür vorgesehen sind, einem Nutzer zu ermöglichen, eine Eingabe (so beispielsweise Nutzerstriche) für die Rechenvorrichtung 1800 bereitzustellen, eine Ausgabe von dieser zu empfangen und auf andere Weise Daten an diese und von dieser zu transferieren. Die I/O-Schnittstellen 1808 können eine Maus, ein Tastenfeld (keypad) oder eine Tastatur, einen berührungsempfindlichen Bildschirm, eine Kamera, einen optischen Scanner, eine Netzwerkschnittstelle, ein Modem, andere bekannte I/O-Vorrichtungen oder eine Kombination aus derartigen I/O-Schnittstellen 1808 beinhalten. Der berührungsempfindliche Bildschirm kann mit einem Stift oder einem Finger aktiviert werden.
  • Die I/O-Schnittstellen 1808 können eine oder mehrere Vorrichtungen zum Präsentieren einer Ausgabe gegenüber einem Nutzer beinhalten, darunter unter anderem eine Graphics Engine, eine Anzeige (beispielsweise einen Anzeigebildschirm), einen oder mehrere Ausgabetreiber (beispielsweise Anzeigetreiber), einen oder mehrere Audiolautsprecher und einen oder mehrere Audiotreiber. Bei gewissen Ausführungsformen sind die I/O-Schnittstellen 1808 dafür konfiguriert, grafische Daten für eine Anzeige zur Präsentation gegenüber einem Nutzer bereitzustellen. Die grafischen Daten können eine oder mehrere grafische Nutzerschnittstellen und/oder beliebigen anderen grafischen Content, so er für eine bestimmte Implementierung dienlich ist, darstellen.
  • Die Rechenvorrichtung 1800 kann des Weiteren eine Kommunikationsschnittstelle 1810 beinhalten. Die Kommunikationsschnittstelle 1810 kann Hardware, Software oder beides beinhalten. Die Kommunikationsschnittstelle 1810 stellt eine oder mehrere Schnittstellen zur Kommunikation (so beispielsweise zur paketbasierten Kommunikation) zwischen der Rechenvorrichtung und einer oder mehreren anderen Rechenvorrichtungen 1800 oder einem oder mehreren Netzwerken bereit. Bei einem Beispiel und nicht im Sinne einer Beschränkung kann die Kommunikationsschnittstelle 1810 einen Netzwerkschnittstellencontroller (NIC) oder einen Netzwerkadapter zur Kommunikation mit einem Ethernet oder einem anderen drahtbasierten Netzwerk oder einem drahtlosen NIC (WNIC) oder einen Drahtlosadapter zur Kommunikation mit einem Drahtlosnetzwerk, so beispielsweise einem Wl-Fl, beinhalten. Die Rechenvorrichtung 1800 kann des Weiteren einen Bus 1812 beinhalten. Der Bus 1812 kann Hardware, Software oder beides, die Komponenten der Rechenvorrichtung 1800 miteinander verbinden, beinhalten.
  • In der vorstehenden Beschreibung ist die Erfindung anhand spezifischer exemplarischer Ausführungsformen beschrieben worden. Verschiedene Ausführungsformen und Aspekte der Erfindung/Erfindungen werden anhand der hier erläuterten Details beschrieben, wobei die begleitende Zeichnung verschiedene Ausführungsformen verbildlicht. Die vorstehende Beschreibung und die Zeichnung sind für die Erfindung illustrativ und sollen nicht als erfindungsbeschränkend gedeutet werden. Es sind zahlreiche spezifische Details beschrieben worden, um ein eingehendes Verständnis der verschiedenen Ausführungsformen der vorliegenden Offenbarung zu ermöglichen.
  • Die vorliegende Erfindung kann in anderen spezifischen Formen verkörpert sein, ohne von ihrem Wesen oder ihren wesentlichen Eigenschaften abzugehen. Die beschriebenen Ausführungsformen sind in jeder Hinsicht nur als illustrativ und nicht als restriktiv zu betrachten. Die hier beschriebenen Verfahren können beispielsweise mit weniger oder mehr Schritten/Handlungen durchgeführt werden, oder es können die Schritte/Handlungen in anderen Reihenfolgen durchgeführt werden. Zusätzlich können die hier beschriebenen Schritte/Handlungen wiederholt oder parallel zueinander oder parallel zu anderen Versionen derselben oder ähnlicher Schritte/Handlungen durchgeführt werden. Der Umfang der vorliegenden Erfindung ist daher durch die beigefügten Ansprüche und nicht durch die vorstehende Beschreibung angegeben. Alle Änderungen, die der Bedeutung und dem Äquivalenzbereich der Ansprüche entsprechen, sollen in ihrem Umfang mit 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 Patentliteratur
    • US 16/518795 [0001]
    • US 20030257 [0001, 0092]
    • US 16/518810 [0001, 0092]
    • US 2019/0130229 [0074]
    • US 16/035410 [0074]
    • US 10192129 [0074]
    • US 2018/0108137 [0075]
    • US 9129191 [0075]
    • US 16518 [0095]
    • US 810 [0095]
    • US 16518795 [0126]

Claims (20)

  1. Nichttemporäres computerlesbares Medium, das Anweisungen speichert, die bei Ausführung durch wenigstens einen Prozessor eine Rechenvorrichtung veranlassen zum: Identifizieren eines Anfrageobjektes und eines entsprechenden Objektattributs aus einer einem Digitalbild entsprechenden Auswahlanfrage; Detektieren mehrerer Instanzen bzw. Versionen des Anfrageobjektes in dem Digitalbild; Bestimmen eines ein Objektattribut detektierenden Modells von mehreren ein Objektattribut detektierenden Modellen auf Grundlage eines Analysierens des Objektattributs; Detektieren, dass eine erste Anfrageobjektinstanz bzw. -version von den mehreren Anfrageobjektinstanzen bzw. -versionen eine Zielanfrageobjektinstanz bzw. - version ist, auf Grundlage des Objektattributs und des bestimmten ein Objektattribut detektierendes Modells; und Bereitstellen des Digitalbildes mit der Zielanfrageobjektinstanz bzw. -version, die in Reaktion auf die Auswahlanfrage ausgewählt ist.
  2. Nichttemporäres computerlesbares Medium nach Anspruch 1, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Zerlegen der Auswahlanfrage zum Bestimmen: eines Nomens, das das Anfrageobjekt identifiziert; und eines Adjektivs, das ein Objektattribut identifiziert.
  3. Nichttemporäres computerlesbares Medium nach Anspruch 1 oder 2, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Analysieren des Objektattributs zum Identifizieren einer angegebenen Position innerhalb des Digitalbildes; und wobei die Anweisungen die Rechenvorrichtung veranlassen zum: Detektieren dessen, das die erste Anfrageobjektversion die Zielanfrageobjektversion ist, durch: Bestimmen von Positionen innerhalb des Digitalbildes für jede der mehreren Anfrageobjektversionen unter Einsatz eines ein Objektpositionsattribut detektierenden Modells; und Detektieren dessen, dass die erste Anfrageobjektversion die Zielanfrageobjektversion ist, auf Grundlage dessen, dass die erste Anfrageobjektversion in dem Digitalbild eine Position aufweist, die am nächsten an der angegebenen Position ist.
  4. Nichttemporäres computerlesbares Medium nach einem der Ansprüche 1 bis 3, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Analysieren des Objektattributs zum Identifizieren einer angegebenen relativen Objektposition; und wobei die Anweisungen die Rechenvorrichtung veranlassen zum: Detektieren dessen, dass die erste Anfrageobjektversion die Zielanfrageobjektversion ist, durch: Identifizieren von Zentralpositionen für jede der mehreren Anfrageobjektversionen innerhalb des Digitalbildes unter Einsatz eines ein Objektpositionsattribut detektierenden Modells; Vergleichen einer ersten Zentralposition der ersten Anfrageobjektversion mit einer zweiten Zentralposition einer zweiten Anfrageobjektversion der mehreren Anfrageobjektversionen zum Identifizieren einer ersten Relativposition für die erste Anfrageobjektversion; und Detektieren dessen, dass die erste Anfrageobjektversion die Zielanfrageobjektversion ist, auf Grundlage dessen, dass die erste Relativposition für die erste Anfrageobjektversion der angegebenen relativen Objektposition entspricht.
  5. Nichttemporäres computerlesbares Medium nach einem der Ansprüche 1 bis 4, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Analysieren des Objektattributs zum Identifizieren einer angegebenen Objekttiefe; und wobei die Anweisungen die Rechenvorrichtung veranlassen zum: Detektieren dessen, dass die erste Anfrageobjektversion die Zielanfrageobjektversion ist, durch: Generieren einer Tiefenkarte des Bildes unter Einsatz eines eine Tiefe kartierenden neuronalen Netzwerkes; auf Grundlage der Tiefenkarte erfolgendes Identifizieren einer ersten Tiefe der ersten Anfrageobjektversion unter Einsatz des eine Tiefe kartierenden neuronalen Netzwerkes; und Detektieren dessen, dass die erste Anfrageobjektversion die Zielanfrageobjektversion ist, auf Grundlage dessen, dass die erste Tiefe der ersten Anfrageobjektversion der angegebenen Objekttiefe entspricht.
  6. Nichttemporäres computerlesbares Medium nach einem der Ansprüche 1 bis 5, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Detektieren der mehreren Anfrageobjektversionen in dem Digitalbild durch Identifizieren eines separaten Begrenzungskästchens innerhalb des Digitalbildes für jede der mehreren Anfrageobjektversionen.
  7. Nichttemporäres computerlesbares Medium nach einem der Ansprüche 1 bis 6, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Detektieren der mehreren Anfrageobjektversionen in dem Digitalbild durch Identifizieren einer separaten Objektmaske innerhalb des Digitalbildes für jede der mehreren Anfrageobjektversionen.
  8. Nichttemporäres computerlesbares Medium nach einem der Ansprüche 1 bis 7, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Analysieren des Objektattributs zum Identifizieren einer angegebenen Farbe; und wobei die Anweisungen die Rechenvorrichtung veranlassen zum: Detektieren dessen, dass die erste Anfrageobjektversion die Zielanfrageobjektversion ist, durch: Identifizieren einer Farbe für jede der mehreren Anfrageobjektversionen in dem Digitalbild unter Einsatz eines ein Objektfarbattribut detektierenden Modells; und Bestimmen dessen, dass die erste Anfrageobjektversion eine größere Entsprechung zu der angegebenen Farbe als andere Versionen der mehreren Anfrageobjektversionen aufweist, auf Grundlage eines Vergleichens der Farbe, die für jede der mehreren Anfrageobjektversionen identifiziert ist, mit der angegebenen Farbe.
  9. Nichttemporäres computerlesbares Medium nach Anspruch 8, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Identifizieren der Farbe für die erste Anfrageobjektversion unter Einsatz des ein Objektfarbattribut detektierenden Modells durch Vergleichen eines oder mehrerer Pixel der ersten Anfrageobjektversion mit der angegebenen Farbe in einem mehrdimensionalen Farbraum.
  10. Nichttemporäres computerlesbares Medium nach einem von Anspruch 1 bis 9, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Bestimmen, dass das Objektattribut keinem bekannten Objektattributtyp entspricht; und wobei die Anweisungen die Rechenvorrichtung veranlassen zum: Detektieren dessen, dass die erste Anfrageobjektversion die Zielanfrageobjektversion ist, durch: Generieren von Tags für eine oder mehrere der mehreren Anfrageobjektversionen unter Einsatz eines taggenden neuronalen Netzwerkes; und Abgleichen des Objektattributs mit einem Tag, der für die erste Anfrageobjektversion generiert ist.
  11. Nichttemporäres computerlesbares Medium nach Anspruch 10, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Detektieren dessen, dass die erste Anfrageobjektversion die Zielanfrageobjektversion ist, durch Ausfiltern einer oder mehrerer anderer Anfrageobjektversionen der mehreren Anfrageobjektversionen auf Grundlage der einen oder der mehreren anderen Versionen der mehreren Anfrageobjektversionen, die Tags aufweisen, die dem Objektattribut nicht entsprechen.
  12. Nichttemporäres computerlesbares Medium nach einem der Ansprüche 1 bis 11, wobei das bestimmte ein Objektattribut detektierende Modell ein ein Objektmaterial detektierendes neuronales Netzwerk umfasst.
  13. Nichttemporäres computerlesbares Medium nach einem der Ansprüche 1 bis 12, wobei das bestimmte ein Objektattribut detektierende Modell ein eine Objektgröße detektierendes Modell umfasst.
  14. System zum automatischen Auswählen von Objekten innerhalb von Digitalbildern, umfassend: einen Speicher, der umfasst: ein Digitalbild; eine Auswahlanfrage, die ein Anfrageobjekt und ein Objektfarbattribut, das dem Anfrageobjekt entspricht, umfasst; und ein ein Objekt detektierendes Modell; wenigstens einen Prozessor; und wenigstens ein nichttemporäres computerlesbares Speichermedium, das Anweisungen speichert, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Detektieren mehrerer Anfrageobjektinstanzen bzw. -versionen in dem Digitalbild unter Einsatz des ein Objekt detektierenden Modells; Bestimmen dessen, dass eine erste Anfrageobjektinstanz bzw. -version von den mehreren Anfrageobjektinstanzen bzw. -versionen eine Zielanfrageobjektinstanz bzw. -version ist, durch Bestimmen dessen, dass die erste Anfrageobjektinstanz bzw. -version das Objektfarbattribut umfasst; und Bereitstellen des Digitalbildes mit der ersten Anfrageobjektinstanz bzw. - version, die in Reaktion auf die Auswahlanfrage ausgewählt ist.
  15. System nach Anspruch 14, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Detektieren mehrerer Anfrageobjektversionen in dem Digitalbild durch: Generieren von angenäherten Begrenzungen für die mehreren Anfrageobjektversionen unter Einsatz des ein Objekt detektierenden Modells; und Generieren einer Objektmaske für jede der mehreren Anfrageobjektversionen aus den angenäherten Begrenzungen unter Einsatz eines ein Objekt maskierenden neuronalen Netzwerkes.
  16. System nach Anspruch 15, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Bestimmen dessen, dass das Objektfarbattribut eine erste Farbe umfasst.
  17. System nach Anspruch 16, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Bestimmen dessen, dass Pixel in einer ersten Objektmaske der ersten Farbe mehr als Pixel in Objektmasken für die anderen Anfrageobjektversionen der mehreren Anfrageobjektversionen entsprechen.
  18. Computerimplementiertes Verfahren zum Auswählen von Anfrageobjekten in einer Digitalmedienumgebung zum Erstellen oder Bearbeiten von Digitalbildern, umfassend: Identifizieren eines Anfrageobjektes und eines Objektpositionsattributs, das dem Anfrageobjekt entspricht, aus einer einem Digitalbild entsprechenden Auswahlanfrage; Detektieren mehrerer Instanzen bzw. Versionen des Anfrageobjektes in dem Digitalbild unter Einsatz eines ein Objekt detektierenden Modells; Identifizieren von Positionen für jede der mehreren Anfrageobjektinstanz bzw. - versionen in dem Digitalbild; Bestimmen dessen, dass eine erste Anfrageobjektinstanz bzw. -version von den mehreren Anfrageobjektinstanzen bzw. -versionen ein Zielanfrageobjekt ist, durch Bestimmen dessen, dass die erste Anfrageobjektinstanz bzw. -version eine erste Position umfasst, die dem Objektpositionsattribut in der Auswahlanfrage entspricht; und Bereitstellen des Digitalbildes mit der ersten Anfrageobjektinstanz bzw. -version, die in Reaktion auf die Auswahlanfrage ausgewählt ist.
  19. Computerimplementiertes Verfahren nach Anspruch 18, des Weiteren umfassend: Generieren von Begrenzungskästchen für jede der mehreren Anfrageobjektversionen; und wobei das Identifizieren der Positionen für jede der mehreren Anfrageobjektversionen in dem Digitalbild auf den Begrenzungskästchen, die für jede der mehreren Anfrageobjektversionen generiert sind, beruht.
  20. Computerimplementiertes Verfahren nach Anspruch 19, des Weiteren umfassend: unter Einsatz eines ein Objekt maskierenden neuronalen Netzwerkes erfolgendes Generieren einer ersten Objektmaske für die erste Anfrageobjektversion ohne Generieren zusätzlicher Objektmasken für andere Anfrageobjektversionen der mehreren Anfrageobjektversionen; und Einsetzen der ersten Objektmaske zum Auswählen des ersten Anfrageobjektes innerhalb des Bildes.
DE102020002153.0A 2019-07-22 2020-04-03 Einsetzen von ein Objektattribut detektierenden Modellen zum automatischen Auswählen von Versionen detektierter Objekte in Bildern Pending DE102020002153A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/518,850 2019-07-22
US16/518,850 US11468550B2 (en) 2019-07-22 2019-07-22 Utilizing object attribute detection models to automatically select instances of detected objects in images

Publications (1)

Publication Number Publication Date
DE102020002153A1 true DE102020002153A1 (de) 2021-01-28

Family

ID=74099091

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020002153.0A Pending DE102020002153A1 (de) 2019-07-22 2020-04-03 Einsetzen von ein Objektattribut detektierenden Modellen zum automatischen Auswählen von Versionen detektierter Objekte in Bildern

Country Status (4)

Country Link
US (2) US11468550B2 (de)
CN (1) CN112287187A (de)
AU (1) AU2020202601B2 (de)
DE (1) DE102020002153A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740647B2 (en) 2018-03-14 2020-08-11 Adobe Inc. Detecting objects using a weakly supervised model
JP7105210B2 (ja) * 2019-03-26 2022-07-22 富士フイルム株式会社 画像処理方法、プログラム、及び画像処理システム
US11302033B2 (en) 2019-07-22 2022-04-12 Adobe Inc. Classifying colors of objects in digital images
US11468550B2 (en) 2019-07-22 2022-10-11 Adobe Inc. Utilizing object attribute detection models to automatically select instances of detected objects in images
US11107219B2 (en) 2019-07-22 2021-08-31 Adobe Inc. Utilizing object attribute detection models to automatically select instances of detected objects in images
US11631234B2 (en) 2019-07-22 2023-04-18 Adobe, Inc. Automatically detecting user-requested objects in images
JP7423951B2 (ja) * 2019-09-19 2024-01-30 富士フイルムビジネスイノベーション株式会社 画像処理装置及び画像処理プログラム
US11468110B2 (en) 2020-02-25 2022-10-11 Adobe Inc. Utilizing natural language processing and multiple object detection models to automatically select objects in images
US11055566B1 (en) 2020-03-12 2021-07-06 Adobe Inc. Utilizing a large-scale object detector to automatically select objects in digital images
US11710324B2 (en) * 2020-06-15 2023-07-25 Toyota Research Institute, Inc. Systems and methods for improving the classification of objects
US11682065B2 (en) * 2020-06-16 2023-06-20 Fujifilm Business Innovation Corp. Systems and methods for reducing service errors for restaurants
US11587234B2 (en) 2021-01-15 2023-02-21 Adobe Inc. Generating class-agnostic object masks in digital images
US11972569B2 (en) 2021-01-26 2024-04-30 Adobe Inc. Segmenting objects in digital images utilizing a multi-object segmentation model framework
US12056791B2 (en) * 2021-08-20 2024-08-06 Adobe Inc. Generating object-based layers for digital image editing using object classification machine learning models
US20230088925A1 (en) * 2021-09-21 2023-03-23 Microsoft Technology Licensing, Llc Visual Attribute Expansion via Multiple Machine Learning Models
CN113657415B (zh) * 2021-10-21 2022-01-25 西安交通大学城市学院 一种面向示意图的对象检测方法
US20230185839A1 (en) * 2021-12-15 2023-06-15 Insurance Services Office, Inc. Computer Vision Systems and Methods for Segmenting and Classifying Building Components, Contents, Materials, and Attributes
US12045963B2 (en) 2022-11-23 2024-07-23 Adobe Inc. Detecting object relationships and editing digital images based on the object relationships
US20240168617A1 (en) * 2022-11-23 2024-05-23 Adobe Inc. Detecting and modifying object attributes

Family Cites Families (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389168B2 (en) 1998-10-13 2002-05-14 Hewlett Packard Co Object-based parsing and indexing of compressed video streams
US7212667B1 (en) 1999-05-17 2007-05-01 Samsung Electronics Co., Ltd. Color image processing method for indexing an image using a lattice structure
US6469706B1 (en) 1999-11-16 2002-10-22 International Business Machines Corporation Method and apparatus for detecting regions belonging to a specified color surface in an unsegmented image
US7398201B2 (en) 2001-08-14 2008-07-08 Evri Inc. Method and system for enhanced data searching
CN1445696A (zh) 2002-03-18 2003-10-01 朗迅科技公司 自动检索图像数据库中相似图象的方法
AU2002334628A1 (en) 2002-09-20 2004-04-08 International Business Machines Coporation Color naming, color categorization and describing color composition of images
US7814040B1 (en) 2006-01-31 2010-10-12 The Research Foundation Of State University Of New York System and method for image annotation and multi-modal image retrieval using probabilistic semantic models
US8508546B2 (en) 2006-09-19 2013-08-13 Adobe Systems Incorporated Image mask generation
US7840051B2 (en) 2006-11-22 2010-11-23 Toshiba Medical Visualization Systems Europe, Limited Medical image segmentation
WO2008120200A2 (en) 2007-03-29 2008-10-09 N-Trig Ltd. System and method for multiple object detection on a digitizer system
WO2009137830A2 (en) 2008-05-09 2009-11-12 Ltu Technologies S.A.S. Color match toolbox
KR101582142B1 (ko) 2008-06-06 2016-01-05 톰슨 라이센싱 이미지들의 유사성 검색을 위한 시스템 및 방법
US8107726B2 (en) 2008-06-18 2012-01-31 Samsung Electronics Co., Ltd. System and method for class-specific object segmentation of image data
US8385688B2 (en) 2008-08-27 2013-02-26 International Business Machines Corporation System and method for automatic recognition and labeling of anatomical structures and vessels in medical imaging scans
US8406573B2 (en) 2008-12-22 2013-03-26 Microsoft Corporation Interactively ranking image search results using color layout relevance
US8213723B2 (en) 2008-12-29 2012-07-03 Yahoo! Inc. Method and system for determining near duplicate images
US8818024B2 (en) 2009-03-12 2014-08-26 Nokia Corporation Method, apparatus, and computer program product for object tracking
US8429173B1 (en) 2009-04-20 2013-04-23 Google Inc. Method, system, and computer readable medium for identifying result images based on an image query
US8422794B2 (en) 2009-07-30 2013-04-16 Intellectual Ventures Fund 83 Llc System for matching artistic attributes of secondary image and template to a primary image
US8538986B2 (en) 2009-07-30 2013-09-17 Intellectual Ventures Fund 83 Llc System for coordinating user images in an artistic design
US8599219B2 (en) 2009-09-18 2013-12-03 Adobe Systems Incorporated Methods and apparatuses for generating thumbnail summaries for image collections
FR2951839B1 (fr) 2009-10-23 2021-06-11 Commissariat Energie Atomique Methode pour evaluer la ressemblance d'un objet requete a des objets de reference
CN103366178B (zh) 2012-03-30 2017-12-29 北京百度网讯科技有限公司 一种用于对目标图像进行颜色分类的方法与设备
US8860744B2 (en) 2012-03-30 2014-10-14 Sharp Laboratories Of America, Inc. System for image enhancement
WO2014021994A1 (en) 2012-08-03 2014-02-06 University Of Pittsburgh - Of The Commonwealth System Of Higher Education Method and apparatus for aiding in the diagnosis of otitis media by classifying tympanic membrane images
US8879855B2 (en) 2012-08-17 2014-11-04 Nec Laboratories America, Inc. Image segmentation for large-scale fine-grained recognition
CN103870798B (zh) 2012-12-18 2017-05-24 佳能株式会社 对象检测方法、对象检测设备以及图像拾取设备
US9064149B1 (en) 2013-03-15 2015-06-23 A9.Com, Inc. Visual search utilizing color descriptors
JP5829354B2 (ja) 2013-03-29 2015-12-09 楽天株式会社 情報処理システム、情報処理システムの制御方法、情報処理装置、情報処理装置の制御方法、情報記憶媒体、及びプログラム
US9262441B2 (en) 2013-05-09 2016-02-16 Idée Inc. Wildcard color searching
JP2015011585A (ja) 2013-06-28 2015-01-19 株式会社リコー 画像処理装置、画像形成装置、画像形成システム、画像処理方法およびプログラム
US10242036B2 (en) * 2013-08-14 2019-03-26 Ricoh Co., Ltd. Hybrid detection recognition system
ES2530687B1 (es) 2013-09-04 2016-08-19 Shot & Shop. S.L. Método implementado por ordenador para recuperación de imágenes por contenido y programa de ordenador del mismo
US20150169142A1 (en) 2013-12-16 2015-06-18 Co Everywhere, Inc. User interface for providing geographically delineated content
US9129191B2 (en) 2013-12-16 2015-09-08 Adobe Systems Incorporated Semantic object selection
US9619488B2 (en) 2014-01-24 2017-04-11 Microsoft Technology Licensing, Llc Adaptable image search with computer vision assistance
US9183641B2 (en) 2014-02-10 2015-11-10 State Farm Mutual Automobile Insurance Company System and method for automatically identifying and matching a color of a structure's external surface
US9720934B1 (en) 2014-03-13 2017-08-01 A9.Com, Inc. Object recognition of feature-sparse or texture-limited subject matter
US10120880B2 (en) 2014-06-26 2018-11-06 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US10146751B1 (en) 2014-12-31 2018-12-04 Guangsheng Zhang Methods for information extraction, search, and structured representation of text data
CN104821000B (zh) 2015-05-22 2017-12-22 京东方科技集团股份有限公司 颜色辨识系统、颜色辨识方法和显示装置
US10410096B2 (en) 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
US20170017696A1 (en) 2015-07-14 2017-01-19 Microsoft Technology Licensing, Llc Semantic object tagging through name annotation
US9443316B1 (en) 2015-07-21 2016-09-13 Sony Corporation Semi-automatic image segmentation
US9852492B2 (en) 2015-09-18 2017-12-26 Yahoo Holdings, Inc. Face detection
US10192129B2 (en) 2015-11-18 2019-01-29 Adobe Systems Incorporated Utilizing interactive deep learning to select objects in digital visual media
US11568627B2 (en) 2015-11-18 2023-01-31 Adobe Inc. Utilizing interactive deep learning to select objects in digital visual media
US10083521B1 (en) 2015-12-04 2018-09-25 A9.Com, Inc. Content recommendation based on color match
US9858496B2 (en) 2016-01-20 2018-01-02 Microsoft Technology Licensing, Llc Object detection and classification in images
US9773196B2 (en) 2016-01-25 2017-09-26 Adobe Systems Incorporated Utilizing deep learning for automatic digital image segmentation and stylization
US10671653B2 (en) 2016-02-18 2020-06-02 Adobe Inc. Analyzing search queries to provide potential search query modifications via interactive user-interfaces
US10942642B2 (en) 2016-03-02 2021-03-09 Airwatch Llc Systems and methods for performing erasures within a graphical user interface
US10867216B2 (en) 2016-03-15 2020-12-15 Canon Kabushiki Kaisha Devices, systems, and methods for detecting unknown objects
US9495764B1 (en) 2016-03-21 2016-11-15 URC Ventures, Inc. Verifying object measurements determined from mobile device images
US9972092B2 (en) 2016-03-31 2018-05-15 Adobe Systems Incorporated Utilizing deep learning for boundary-aware image segmentation
US11144889B2 (en) 2016-04-06 2021-10-12 American International Group, Inc. Automatic assessment of damage and repair costs in vehicles
CN105931168A (zh) 2016-04-15 2016-09-07 广州葵翼信息科技有限公司 一种基于信息栅格服务的智慧城市服务架构
US11481585B2 (en) 2016-05-20 2022-10-25 Canary Capital Llc Segmentation of data
WO2017202864A1 (en) 2016-05-24 2017-11-30 Koninklijke Philips N.V. System and method for imagery mnemonic creation
US10255522B2 (en) 2016-06-17 2019-04-09 Facebook, Inc. Generating object proposals using deep-learning models
US10109051B1 (en) 2016-06-29 2018-10-23 A9.Com, Inc. Item recommendation based on feature match
US10511846B1 (en) 2016-09-01 2019-12-17 Google Llc Real-time adaptive video denoiser with moving object detection
US10606887B2 (en) 2016-09-23 2020-03-31 Adobe Inc. Providing relevant video scenes in response to a video search query
US10083171B1 (en) 2017-08-03 2018-09-25 Gyrfalcon Technology Inc. Natural language processing using a CNN based integrated circuit
US10424064B2 (en) 2016-10-18 2019-09-24 Adobe Inc. Instance-level semantic segmentation system
US10346727B2 (en) 2016-10-28 2019-07-09 Adobe Inc. Utilizing a digital canvas to conduct a spatial-semantic search for digital visual media
US10319412B2 (en) 2016-11-16 2019-06-11 Adobe Inc. Robust tracking of objects in videos
US10467760B2 (en) 2017-02-23 2019-11-05 Adobe Inc. Segmenting three-dimensional shapes into labeled component shapes
US10713794B1 (en) 2017-03-16 2020-07-14 Facebook, Inc. Method and system for using machine-learning for object instance segmentation
US10216766B2 (en) 2017-03-20 2019-02-26 Adobe Inc. Large-scale image tagging using image-to-topic embedding
US10496895B2 (en) 2017-03-28 2019-12-03 Facebook, Inc. Generating refined object proposals using deep-learning models
US10217030B2 (en) 2017-06-14 2019-02-26 International Business Machines Corporation Hieroglyphic feature-based data processing
US10496880B2 (en) 2017-06-27 2019-12-03 Canon Kabushiki Kaisha Method and apparatus for comparing objects in images
US11804112B2 (en) 2017-07-12 2023-10-31 Mastercard Asia/Pacific Pte. Ltd. Mobile device platform for automated visual retail product recognition
US10572963B1 (en) 2017-07-14 2020-02-25 Synapse Technology Corporation Detection of items
US10430649B2 (en) * 2017-07-14 2019-10-01 Adobe Inc. Text region detection in digital images using image tag filtering
CN107563494B (zh) 2017-08-01 2020-08-18 华南理工大学 一种基于卷积神经网络和热图的第一视角指尖检测方法
US10678257B2 (en) 2017-09-28 2020-06-09 Nec Corporation Generating occlusion-aware bird eye view representations of complex road scenes
KR102501264B1 (ko) 2017-10-02 2023-02-20 센센 네트웍스 그룹 피티와이 엘티디 기계 학습 기반의 개체 검출을 위한 시스템 및 방법
US10657118B2 (en) 2017-10-05 2020-05-19 Adobe Inc. Update basis for updating digital content in a digital medium environment
US11188783B2 (en) 2017-10-19 2021-11-30 Nokia Technologies Oy Reverse neural network for object re-identification
BR112020008021A2 (pt) 2017-10-24 2020-10-27 L'ORéAL S.A. dispositivos de computação, método para gerar uma cnn treinada para processar imagens e métodos para processar uma imagem
US10460214B2 (en) 2017-10-31 2019-10-29 Adobe Inc. Deep salient content neural networks for efficient digital object segmentation
GB2568286B (en) 2017-11-10 2020-06-10 Horiba Mira Ltd Method of computer vision based localisation and navigation and system for performing the same
CN111417958A (zh) 2017-12-07 2020-07-14 文塔纳医疗系统公司 用于生物图像中的联合细胞和区域分类的深度学习系统和方法
WO2019136479A1 (en) 2018-01-08 2019-07-11 The Regents On The University Of California Surround vehicle tracking and motion prediction
CN108304882B (zh) 2018-02-07 2022-03-04 腾讯科技(深圳)有限公司 一种图像分类方法、装置及服务器、用户终端、存储介质
US11507800B2 (en) 2018-03-06 2022-11-22 Adobe Inc. Semantic class localization digital environment
US10740647B2 (en) 2018-03-14 2020-08-11 Adobe Inc. Detecting objects using a weakly supervised model
CN108388880A (zh) 2018-03-15 2018-08-10 广东工业大学 一种监测司机开车使用手机的方法及装置
US11120070B2 (en) 2018-05-21 2021-09-14 Microsoft Technology Licensing, Llc System and method for attribute-based visual search over a computer communication network
US10692221B2 (en) 2018-07-13 2020-06-23 Adobe Inc. Automatic trimap generation and image segmentation
WO2020057175A1 (en) 2018-09-20 2020-03-26 Huawei Technologies Co., Ltd. Knowledge-based management of recognition models in artificial intelligence systems
EP3679521A1 (de) 2018-11-16 2020-07-15 Google LLC Segmentierung von objekten durch verfeinerung von formpriorverteilungen
US10970603B2 (en) 2018-11-30 2021-04-06 International Business Machines Corporation Object recognition and description using multimodal recurrent neural network
US10832096B2 (en) 2019-01-07 2020-11-10 International Business Machines Corporation Representative-based metric learning for classification and few-shot object detection
EP3690704B1 (de) 2019-01-29 2021-02-24 Accenture Global Solutions Limited Verteilte und selbstvalidierende erkennung dichter objekte in digitalen bildern
DE102019102484A1 (de) 2019-01-31 2020-08-06 Carl Zeiss Smt Gmbh Verarbeitung von dreidimensionalen Bilddatensätzen
US20200250538A1 (en) 2019-02-01 2020-08-06 Google Llc Training image and text embedding models
US20200294293A1 (en) 2019-03-13 2020-09-17 International Business Machines Corporation Persistent augmented reality objects
US11080558B2 (en) 2019-03-21 2021-08-03 International Business Machines Corporation System and method of incremental learning for object detection
US11126890B2 (en) 2019-04-18 2021-09-21 Adobe Inc. Robust training of large-scale object detectors with a noisy dataset
US11182408B2 (en) 2019-05-21 2021-11-23 Microsoft Technology Licensing, Llc Generating and applying an object-level relational index for images
KR20210000013A (ko) 2019-06-24 2021-01-04 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
US11631234B2 (en) 2019-07-22 2023-04-18 Adobe, Inc. Automatically detecting user-requested objects in images
US11468550B2 (en) 2019-07-22 2022-10-11 Adobe Inc. Utilizing object attribute detection models to automatically select instances of detected objects in images
US11302033B2 (en) 2019-07-22 2022-04-12 Adobe Inc. Classifying colors of objects in digital images
US11107219B2 (en) 2019-07-22 2021-08-31 Adobe Inc. Utilizing object attribute detection models to automatically select instances of detected objects in images
US11010605B2 (en) 2019-07-30 2021-05-18 Rapiscan Laboratories, Inc. Multi-model detection of objects
US11127139B2 (en) 2019-09-18 2021-09-21 Adobe Inc. Enhanced semantic segmentation of images
US11676278B2 (en) 2019-09-26 2023-06-13 Intel Corporation Deep learning for dense semantic segmentation in video with automated interactivity and improved temporal coherence
US11763565B2 (en) 2019-11-08 2023-09-19 Intel Corporation Fine-grain object segmentation in video with deep features and multi-level graphical models
CA3158287A1 (en) 2019-11-12 2021-05-20 Brian Pugh Method and system for scene image modification
US11468110B2 (en) 2020-02-25 2022-10-11 Adobe Inc. Utilizing natural language processing and multiple object detection models to automatically select objects in images
WO2021179205A1 (zh) 2020-03-11 2021-09-16 深圳先进技术研究院 医学图像分割方法、医学图像分割装置及终端设备
US11055566B1 (en) 2020-03-12 2021-07-06 Adobe Inc. Utilizing a large-scale object detector to automatically select objects in digital images
KR20210144294A (ko) 2020-05-22 2021-11-30 삼성에스디에스 주식회사 이미지 분할 모델 학습 장치 및 방법
US11367271B2 (en) 2020-06-19 2022-06-21 Adobe Inc. Similarity propagation for one-shot and few-shot image segmentation
US11417097B2 (en) 2020-09-02 2022-08-16 Hewlett Packard Enterprise Development Lp Video annotation system for deep learning based video analytics
US11651499B2 (en) 2020-09-17 2023-05-16 International Business Machines Corporation Reducing structural redundancy in automatic image segmentation
US11176384B1 (en) 2020-09-18 2021-11-16 XMotors.ai Inc. Apparatus, system and method for object detection around vehicle and application of same
US11587234B2 (en) 2021-01-15 2023-02-21 Adobe Inc. Generating class-agnostic object masks in digital images
US11972569B2 (en) 2021-01-26 2024-04-30 Adobe Inc. Segmenting objects in digital images utilizing a multi-object segmentation model framework
US20230128276A1 (en) * 2021-10-23 2023-04-27 Adobe Inc. Managing artificial-intelligence derived image attributes

Also Published As

Publication number Publication date
US12020414B2 (en) 2024-06-25
CN112287187A (zh) 2021-01-29
US20220392046A1 (en) 2022-12-08
AU2020202601B2 (en) 2022-02-10
US11468550B2 (en) 2022-10-11
AU2020202601A1 (en) 2021-02-11
US20210027448A1 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
DE102020002153A1 (de) Einsetzen von ein Objektattribut detektierenden Modellen zum automatischen Auswählen von Versionen detektierter Objekte in Bildern
DE102020001655A1 (de) Einsetzen mehrerer ein Objekt detektierender Modelle zum automatischen Auswählen von nutzerseitig angeforderten Objekten in Bildern
DE102020002301A1 (de) Automatisches Detektieren nutzerseitig angeforderter Objekte in Bildern
DE102020007571A1 (de) Einsetzen einer auf natürlicher Sprache beruhenden Verarbeitung und mehrerer Objektdetektionsmodelle zum automatischen Auswählen von Objekten in Bildern
DE102020002152A1 (de) Klassifizieren von Farben von Objekten in Digitalbildern
DE102020002964A1 (de) Verwenden eines neuronalen Netzwerks mit einer Zwei-Strom Encoder-Architektur zur Erzeugung digitaler Kompositbilder
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE102019000675A1 (de) Nutzen eines modells auf der basis eines tiefen neuronalen netzwerks zum identifizieren von visuell ähnlichen digitalen bildern auf der basis von nutzer-ausgewählten visuellen eigenschaften
DE112017006517T5 (de) Visuelle kategoriedarstellung mit vielfältiger einstufung
DE102016010868A1 (de) Suchen unter Verwendung von in Bildern gefundenen spezifischen Attributen
DE102018005611A1 (de) Automatische Paarbildung von Fonts unter Verwendung des asymmetrischen Metriklernens
DE112007001775T5 (de) Bildverwaltungsverfahren, Bildverwaltungssysteme und Herstellungsartikel
DE102022202014A1 (de) Funktionstest für bewegliche Objekte in sicherheitskritischen Anwendungen mit räumlichem Darstellungslernen und kontradiktorischer Erzeugung
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE102021203021A1 (de) Semantisch konsistente erweiterte trainingsdaten zur ampelerkennung
DE102022121867A1 (de) Intelligentes zusammenfassen von änderungen für designer
DE102023131135A1 (de) Detektieren von Objektbeziehungen und Bearbeiten von Digitalbildern auf Grundlage der Objektbeziehungen
DE102023125641A1 (de) Entfernen von störenden Objekten aus Digitalbildern
DE102023120640A1 (de) Gestaltete glyphen vermittels generativer ki
DE102023119479A1 (de) Lernen von Parametern für neuronale Netzwerke unter Nutzung eines semantischen Diskriminators und eines Objektebenendiskriminators
DE102022132144A1 (de) Einsetzen eines transformerbasierten generativen Sprachmodells zum Generieren von Digitaldesigndokumentabwandlungen
DE102022129703A1 (de) Organisieren eines Grafikdesigndokumentes unter Nutzung semantischer Schichten
DE102021004573A1 (de) Generieren von Änderungsvergleichen während des Bearbeitens von Digitalbildern
DE102022119444A1 (de) Durchführen von interaktiven Digitalbildvorgängen unter Einsatz von modifizierten maschinell lernenden Modellen
GB2586678A (en) Utilizing multiple object detection models to automatically select user-requested objects in images

Legal Events

Date Code Title Description
R012 Request for examination validly filed