-
Querverweis auf verwandte Anmeldungen
-
Diese Anmeldung beansprucht die Priorität der provisionellen US Anmeldung 62/236,648, eingereicht am 2. Oktober 2015, mit dem Titel ”Searching Using One Or More Specific Attributes Found In One Or More Images”, deren Priorität hiermit beansprucht und deren Inhalt in Gänze durch In Bezugnahme hierin mitaufgenommen wird.
-
Hintergrund
-
Internet-basierte Suchmaschinen verwenden herkömmlicher Weise geläufige Bildersuchtechniken zum Auffinden von digitalen Bildinhalte auf dem World Wide Web. Diese wohlbekannten Bildersuchtechniken können in ”textbasierte” Bildersuchen und ”visuell-basierte” Bildersuchen.
-
Herkömmliche textbasierte Bildersuchen können eine textbasierte Abfrage empfangen, die verwendet wird, um eine Datenbank zu durchsuchen, die mit Schlüsselwörtern markierte Bilder umfasst, um eine Ergebnismenge von Bildern zu erzeugen, die jeweils ein oder mehrere Schlüsselwörter aufweisen, die mit der textbasierten Abfrage übereinstimmen. Diese textbasierte Suchen beruhen hauptsächlich auf der Qualität der Schlüsselwortmarkierungen, die mit einem Bild assoziiert sind, während sie die visuelle Information des Bildes ignorieren. Andererseits können herkömmliche visuell-basierte Bildersuchen ein Bild als eine visuell-basierte Abfrage empfangen, um eine Bilddatenbank zu durchsuchen, unabhängig davon, ob jedes Bild Schlüsselwortmarkierungen damit assoziiert hat, um eine Ergebnismenge von Bildern zu erzeugen, in der jedes visuelle Eigenschaften hat, die ähnlich denen des Bildes der visuell-basierten Abfrage sind.
-
Während herkömmliche Bildersuchtechniken tolerable Ergebnisse liefern können, mag die Erzeugung von qualitativ guten Ergebnissen in textbasierten Bildersuchen von dem Grad an Detail der Schlüsselwörtermarkierungen in der Bilddatenbank abhängen auf der die Suche ausgeführt wird. Beispielsweise kann eine textbasierte Bildersuche wünschenswerte Ergebnisse nur dann erzeugen, wenn die Datenbank, auf der die Suche ausgeführt wird, mit Schlüsselwörtern markierte Bilder enthält. In dieser Beziehung würde, wenn eine Datenbank, die, unter anderen Bildern, tausende von Bildern von Paaren an einem Strand bei Sonnenuntergang enthalten würde, von denen keines mit einem Schlüsselwortmarkierungen versehen wäre, das mit den Schlüsselwörtern ”Paar”, ”Sonnenuntergang” oder ”Strand” assoziiert ist, eine textbasierte Bildersuche mit einer textbasierten Abfrage (zum Beispiel ein beschreibendes Schlüsselwort) von ”Paar Strand Sonnenuntergang” keine wünschenswerten Ergebnisse erzielen.
-
Mit Blick besonders auf visuell-basierte Bildersuchen mag die Erzeugung von qualitativ guten Ergebnissen von der Qualität, oder gar der Existenz der visuell-basierten Suchabfrage selbst abhängen. Beispielsweise kann eine visuell-basierte Bildersuche wünschenswerte Ergebnisse nur dann erzeugen, wenn dieser eine visuell-basierte Abfrage (zum Beispiel ein Beispielbild) bereitgestellt wird, das in allen Attributen ähnlich einem gewünschten Bild ist. In dieser Beziehung, wenn ein Benutzer wünschte, die Bilddatenbank zu durchsuchten, um Bilder aufzufinden, die ähnlich einem Bild von einem Paar an einem Strand bei Sonnenuntergang sind, müsste der Benutzer wenigstens ein Bild haben, das visuell ähnliche Eigenschaften zu den Bildern in der Datenbank hat, um die Suchabfrage zu bilden. Eine solche Suche kann jedoch unbeabsichtigte Konsequenzen haben. Zum Beispiel kann die visuell-basierte Bildersuche Bilder identifizieren, die einige zur Suchabfrage ähnliche Attribute aufweise, basierend auf einer Gesamtähnlichkeit, aber nicht die spezifischen Attribute, die dem Benutzer am wichtigsten waren. Um das obige Beispiel fortzuführen, wenn angenommen wird, dass der Benutzer Bilder finden möchten, die eine Farbe (oder ein anderes Attribut, wie zum Beispiel Komposition, Stil, Textur, Schriftart und so weiter) ähnlich zu dem Bild des Paares am Strand bei Sonnenuntergang hat, ihm der Inhalt des Bildes aber egal ist. Gegenwärtige visuell-basierte Bildersuchen mögen viele Bilder zurückliefern, die ähnlichen Inhalt enthalten, sowie auch nicht gewünschte Attribute. Des Weiteren mögen diese Suchen viele Bilder ignorieren oder übersehen, welche das bzw. die gewünschte(n) Attribut(e) enthalten. Als solches können herkömmliche Bildersuchtechniken eher restriktiv und beschränkend im Bereich sein.
-
Zusammenfassung
-
Diese Zusammenfassung wird gegeben, um eine Auswahl von Konzepten in einer vereinfachten Form zu geben, welche in der nachstehenden detaillierten Beschreibung weiter beschrieben werden. Diese Zusammenfassung ist nicht dazu gedacht, Schlüsselmerkmale oder wesentliche Merkmale des beanspruchten Gegenstandes zu identifizieren, und ist auch nicht dazu gedacht, als eine Hilfe zum Bestimmen des Bereichs des beanspruchten Gegenstands verwendet zu werden.
-
Ausführungsformen der vorliegenden Erfindung sind auf die Verwendung von einem oder mehreren spezifischen Attributen, die in einem oder in mehreren Bildern gefunden werden, in einer visuell-basierten Suche gerichtet. Genauer kann ein Benutzer in Ausführungsformen der vorliegenden Erfindung nach Bildern suchen, basierend auf den ausgewählten visuellen Eigenschaften (das heißt, Attribute) von einem oder mehreren Bildern, die als eine Abfrage vorgelegt werden. Unter Verwendung von maschinellem Lernen, tiefen neuronalen Netzwerken und andere Techniken des maschinellen Sehens können aus einem gegebenen Bild Attribute von Bildern, wie Farbe, Komposition, Schriftart, Stil und Textur extrahiert werden. Ein Benutzer kann dann ein spezifisches Attribut von einem Beispielbild auswählen, nach dem der Benutzer sucht, und die Suche kann verfeinert werden, um sich auf das spezifische Attribut aus dem Beispielbild zu fokussieren. Ein Benutzer kann zum Beispiel nach Bildern suchen, die eine Textur aufweisen, die ähnlich derjenigen des Beispielbildes ist, mag aber nicht an anderen Aspekten des Beispielbildes interessiert sein, wie Farbe oder Komposition. Die Suche kann sich dann darauf fokussieren, Bilder mit ähnlicher Textur zu finden, ohne nach Bildern zu suchen, die eine ähnliche Farbe oder Komposition haben. In einigen Ausführungsformen beinhaltet die Suche spezifische Attribute von mehr als einem Bild. Auf diese Weise ist die Suche in der Lage, sich auf ein spezifisches Attribut, wie etwa Farbe, von einem ersten Bild und einem anderen spezifischen Attribut, wie Komposition, von einem zweiten Bild zu fokussieren.
-
Kurze Beschreibung der Zeichnungen
-
Die vorliegende Erfindung wird nachfolgend im Detail beschrieben, mit Bezug auf die beigefügten Zeichnungen:
-
1 ist ein Diagramm, das ein beispielhaftes System in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung zeigt;
-
2–3 zeigen beispielhafte graphische Benutzerschnittstellen zum Suchen unter Verwendung von einem oder mehreren spezifischen Attributen, die in einem oder in mehreren Bildern gefunden werden, in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung;
-
4–5 sind Flussdiagramme, welche Verfahren zeigen zum Suchen unter Verwendung von einem oder mehreren spezifischen Attributen, die in einem oder in mehreren Bildern gefunden werden, in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung;
-
6–7 sind Flussdiagramme, welche Verfahren zeigen zum Modifizieren zumindest eines Attributs eines Bildes, das zur Suche verwendet werden kann, in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung; und
-
8 ist ein Blockdiagramm einer beispielhaften Rechnerumgebung, die geeignet ist, für Implementierungen der vorliegenden Offenbarung verwendet zu werden.
-
Detaillierte Beschreibung.
-
Der Gegenstand der vorliegenden Erfindung wird hierin spezifisch beschrieben werden, um den gesetzlichen Erfordernissen zu entsprechen. Jedoch ist die Beschreibung selbst nicht dazu gedacht, den Bereich dieses Patents zu beschränken. Vielmehr haben die Erfinder bedacht, dass der beanspruchte Gegenstand auch auf andere Weisen verkörpert werden kann, andere Schritte oder Kombinationen von Schritten beinhalten kann, die ähnlich den in diesem Dokument beschriebenen sind, in Verbindung mit anderen derzeitigen oder zukünftigen Techno9logien. Des Weiteren, obwohl die Begriffe ”Schritt” und/oder ”Block” hierin verwendet werden mögen, um unterschiedliche Elemente des verwendeten Verfahrens zu bezeichnen, sollen diese Begriffe nicht so interpretiert werden, dass diese eine bestimmte Reihenfolge unter oder zwischen den verschiedenen hierin offenbarten Schritten implizieren würden, solange nicht ausdrücklich eine bestimmte Reihenfolge einzelner Schritte ausdrücklich beschrieben wird.
-
Herkömmliche Bildersuchmaschinen, die in lokalen oder vernetzten Umgebungen einschließlich des World Wide Web eingesetzt werden, können Bildersuchergebnisse basierend auf einem von Textabfragen oder visuellen Abfragen erzeugen. Textbasierte Bildersuchmaschinen empfangen typischer Weise eine textbasierte Abfrage (das heißt, ”roter Ball”, ”Fußballspiel”, ”Tiger im Käfig”), die verwendet wird, um eine mit Markierungen versehene Bilddatenbank abzufragen, wobei jedes Bild in der Datenbank markiert ist mit zumindest einem Schlüsselwort (zum Beispiel ”rot”, ”Ball”, ”Fußball”, ”Spiel”, ”Tiger”, ”Käfig”), welches Charakteristiken beschreibt, die mit dem Bild assoziiert sind. Typischer Weise werden Bilder im Voraus mit Schlüsselwörtern markiert, welche die visuellen Eigenschaften des Bildes beschreiben. Wenn für ein oder mehrere mit Markierungen versehene Bilder bestimmt wird, dass diese(s) zumindest ein mit diesen assoziiertes Schlüsselwörter aufweisen, das der textbasierten Abfrage entspricht, wird das Bild oder werden die Bilder als Suchergebnis(se) in Antwort auf die textbasierte Abfrage zurückgeliefert. Wie hierin verwendet, bezieht sich der Begriff ”Markierungen” bzw. ”Tag” auf Metadaten, die in einem Bild enthalten sind oder die anderweitig mit einem Bild assoziiert sind und die ein Attribut des Bildes beschreiben oder anderweitig anzeigen. Zum Bespiel kann eine Markierung unter anderem Beschreibungen eines im Bild dargestellten Gegenstands enthalten, den Bearbeiter des Bildes, Zeitperioden, die mit dem Bild assoziiert sind, die Orte, die assoziiert sind mit oder die dargestellt sind in dem Bild. Es kann in textbasierten Bildersuchen auch eine Verarbeitung natürlicher Sprache verwendet werden.
-
Visuell-basierte Bildersuchmaschinen andererseits erhalten typischer Weise eine visuell-basierte Abfrage (das heißt, ein Bild eines Roten Balls, ein Bild eines Fußballspiels, ein Bild eines Tigers in einem Käfig), die verwendet wird, um eine Bilddatenbank abzufragen, unabhängig davon, ob mit den Bildern Tags assoziiert sind. Anders gesagt mögen die Bilder in der Datenbank markiert, nicht markiert oder beides sein. Indem ein Bildanalysealgorithmus verwendet wird, der konfiguriert ist für einen Vergleich von (1) visueller Information, die mit der visuell-basierten Abfrage assoziiert ist, mit (2) visueller Information, die mit jedem Bild in der Datenbank assoziiert ist, können Suchergebnisse erzeugt werden, die zu der visuell-basierten Abfrage substantiell ähnliche visuelle Charakteristiken haben. Gegenwärtige visuell-basierte Bildersuchen erlauben es einem Benutzer nicht, spezifische Attribute auf unterer Ebene aus einem bestimmten Bild auszuwählen, an denen der Benutzer ein tatsächliches Interesse hat, diese in anderen Bildern zu finden. Als ein Ergebnis, obwohl gegenwärtige visuell-basierte Bildersuchen Bilder identifizieren können, die einige Attribute aufweisen, die ähnlich zu der Suchabfrage sind, basierend auf einer Gesamtähnlichkeit, kann es vorkommen, dass diese die spezifischen Attribute ignorieren, die für den Benutzer am wichtigsten waren. Dementsprechend mögen gegenwärtige Bildersuchen viele Bilder zurückliefern, die einen ähnlichen Inhalt aufweisen, aber auch andere nicht gewünschte Attribute. Einfacher gesagt mögen diese Suchen viele Bilder übersehen oder ignorieren, welche das oder die gewünschten Attribut(e) aufweisen.
-
Als solche sind Ausführungsformen der vorliegenden Erfindung auf die Verwendung von einem oder mehreren spezifischen Attributen, die in einem oder in mehreren Bildern gefunden werden, in einer visuell-basierten Suche gerichtet. Wie in größerem Detail hierin beschrieben, kann ein Benutzer das Suchsystem verwenden, um nach Bildern basierend auf von einem Benutzer ausgewählten visuellen Eigenschaften (das heißt, spezifischen Attributen) des einen oder der mehreren Bilder zu suchen. Dies versetzt den Benutzer in die Lage, die Suche darauf zu fokussieren, Bilder aufzufinden, welche die spezifischen Attribute enthalten, die der Benutzer wünscht. Obwohl mit Bezug auf Bildersuchen beschrieben, wird bedacht, dass die in Implementierungen der vorliegenden Offenbarung verwendeten Techniken ebenso auf Musik- und Videosuchen angewandt werden könnten. So kann der Benutzer beispielsweise, wenn ein oder mehrere Lieder (oder Videos) gegeben sind, in der Lage sein, Attribute (zum Beispiel Tempo, Stimme, Stil, Genre, ausübender Künstler und so weiter) zu wählen, die für jedes Lied (oder Video) gewählt wurden, um nach anderen Liedern (oder Videos) zu suchen, welche die ausgewählten Attribute haben.
-
Zu diesem Zweck werden maschinelles Lernen, tiefe neuronale Netzwerke und andere Techniken des maschinellen Sehens verwendet, um Attribute von Bildern zu extrahieren, zum Beispiel als ein Merkmalsvektor. In verschiedenen Ausführungsformen beinhalten die Attribute Farbe, Komposition, Schriftart, Stil und Textur. Die Attribute können auch Strichstärke oder Linienstil beinhalten. Trainingsbilder können verwendet werden, um zunächst ein generisches System zu implementieren, das eine allgemeine visuelle Ähnlichkeit identifiziert, aber ohne jedes Verständnis von spezifischen Attributen. Das generische System kann dann mit einer neuen Menge von Trainingsdaten für ein spezifisches Attribut trainiert werden. Auf diese Weise kann das System in unterschiedlichen Ausgabeschichten feingetunt werden, um unterschiedliche Attribute zu erkennen, wobei jede Schicht unabhängig von dem generischen System entwickelt wird. Anders gesagt werden die Transformationen, die notwendig sind, um einen bestimmten Merkmalsvektor an einer bestimmten Schicht des Systems zu extrahieren, basierend auf der Menge von Trainingsdaten für jedes spezifische Attribut gelernt.
-
Eine Datenbank kann markierte Bilder, nicht markierte Bilder oder eine Kombination von markierten und nicht markierten Bildern enthalten. Bildmarkierungen können beliebige Schlüsselwörter enthalten, um visuelle Eigenschaften zu beschreiben, die mit einem Bild assoziiert sind. Beispielsweise kann ein Bild eines Feuerwerks hinter dem Eiffelturm am Tag der Bastille damit assoziierte Bildmarkierungen von, unter anderem, ”Eiffelturm”, ”Feuerwerk”, ”Paris” und/oder ”Tag der Bastille” aufweisen. Unabhängig davon, ob die Bilder in der Datenbank mit diesen assoziierte Markierungen aufweisen, kann eine visuell-basierte Abfrage zum Durchsuchen der Bilder in der Datenbank empfangen werden. Wie hierin verwendet, ist der Begriff ”Datenbank” nicht notwendiger Weise auf eine Speicherdatenbank beschränkt, sondern kann sich auch auf eine Sammlung, einen Katalog, einen Ordner, einen Speicherort, einen Netzwerkort, eine Bibliothek oder ähnliches beziehen.
-
Die visuell-basierte Suche kann konfiguriert sein zur lokalen Operation (zum Beispiel als Teil der Anwendung zur Verwaltung persönlicher Assets, oder des lokalen Betriebssystems), für einen Zugriff aus der Ferne (zum Beispiel als Teil einer Cloud-basierten Anwendung zur Verwaltung von Assets), oder es kann über das Internet öffentlich auf diese zugegriffen werden (zum Beispiel als Teil einer Web-Bildersuchmaschine). Es ist angedacht, dass der Zugriff auf diese genannten durch Benutzer-basierte Zugriffsbeschränkungen beschränkt sein kann. Beispielsweise kann die lokale Konfiguration oder die Konfiguration zum Fernzugriff auf einen Benutzer beschränkt sein, der Zugriff auf eine bestimmte Menge von Bildern hat (zum Beispiel mag der lokale Zugriff auf das Benutzerkonto beschränkt sein, oder der Fernzugriff mag auf den Cloud-Speicherbereich des Benutzers beschränkt sein). Es ist auch angedacht, dass jede beliebige Kombination der lokalen Konfiguration, der Konfiguration zum Fernzugriff, oder der Internet-basierten Konfiguration verwendet werden kann, um die visuell-basierte Abfrage zu verarbeiten.
-
Nach Trainieren des Systems, um Attribute aus einem Bild zu extrahieren, kann ein Benutzer ein Beispielbild eingeben, das zumindest ein gewünschtes Attribut enthält. Ein Benutzer kann dann ein spezifisches Attribut des Beispielbildes auswählen, so dass sich auf dieses spezifische Attribut aus dem Beispielbild fokussiert wird. In einem Beispiel mag ein Benutzer nach Bildern suchen, die eine Textur aufweisen, die ähnlich wie diejenige des Beispielbildes ist, mag aber nicht an anderen Aspekten des Beispielbildes interessiert sein, wie etwa Farbe oder Komposition. Die Suche kann sich dann darauf fokussieren, Bilder mit ähnlicher Textur zu finden, ohne nach Bildern mit ähnlicher Farbe oder Komposition zu suchen. In einigen Ausführungsformen beinhaltet die Suche spezifische Attribute von mehr als einem Bild. Auf diese Weise kann sich die Suche auf ein spezifisches Attribut, wie etwa Farbe, von einem ersten Bild und ein anderes spezifisches Attribut, wie etwa Komposition, von einem zweiten Bild fokussieren.
-
Einige Ausführungsformen der vorliegenden Erfindung sind auf das Modifizieren von einem oder von mehreren spezifischen Attributen, die in einem Bild aufgefunden werden, gerichtet. Zu diesem Zweck mag ein Benutzer ein erstes Beispielbild eingeben, das eine Anzahl von Attributen beinhaltet. Der Benutzer mag dann ein zweites Beispielbild eingeben, das zumindest ein Attribut beinhaltet, das sich von den Attributen des ersten Beispielbilds unterscheidet. Nachdem er ein oder mehrere Attribute von dem zweiten Bild ausgewählt hat, kann der Benutzer zumindest ein Attribut modifizieren, das aus dem ersten Beispielbild extrahiert wurde, basierend auf der Auswahl. Dies macht es dem Benutzer möglich, ein Bild zu modifizieren, so dass es ein gewünschtes Attribut enthält, das nicht dem Bild inhärent ist, ohne eine Suche nach Bildern ausführen zu müssen, die alle der gewünschten Attribute enthalten. In einigen Ausführungsformen kann der Benutzer eine Suchabfrage eingeben, die auf dem modifizierten Bild basiert.
-
Wie hierin verwendet, bezieht sich eine visuelle Ähnlichkeit auf eine Ähnlichkeit zwischen rein visuellen Eigenschaften von zwei oder mehr Bildern. Eine visuelle Ähnlichkeit zwischen zwei oder mehr Bildern kann bestimmt werden durch Verwenden eines direkten Bildvergleichsalgorithmus, der von einer oder von mehreren Verarbeitungsvorrichtungen ausgeführt wird. Der Bildvergleichsalgorithmus identifiziert eine oder mehrere graphische Ähnlichkeiten zwischen visuellen Eigenschaften von zwei oder mehr Bildern. Indem zum Beispiel Bildfarbdaten, Anordnung von Bildpixeldaten, Bildgröße und/oder andere visuelle Bilddateneigenschaften, die mit den Bildern assoziiert sind, verglichen werden, kann der direkte Bildvergleichsalgorithmus unter anderem eine visuelle Ähnlichkeitsbewertung zwischen zwei oder mehr Bildern bestimmen. Im Wesentlichen kann der Bildvergleichsalgorithmus Bilddaten analysieren, die mit zwei oder mehr separaten Bildern assoziiert sind, um zu bestimmen, dass die Bilder visuell ähnlich sind. Zum Beispiel kann der direkte Bildvergleichsalgorithmus bestimmen, dass zwei separate Bilder, die jeweils den Eiffelturm alleinstehend im Vordergrund und mittig zeigen, eine hohe Wahrscheinlichkeit einer visuellen Ähnlichkeit haben. Der direkte Bildvergleichsalgorithmus mag jedoch auch zwei separate Bilder, von denen eines den Eiffelturm alleinstehend im Vordergrund und mittig zeigt, und das andere ein Bild eines Hundes im Vordergrund und mittig zeigt, während der Eiffelturm seitlich versetzt und im Hintergrund erscheint, als keine hohe Wahrscheinlichkeit einer visuellen Ähnlichkeit aufweisend betrachten.
-
Die visuelle Ähnlichkeit kann auch durch eine semantische Ähnlichkeitsanalyse bestimmt werden. Wie hierin verwendet, bezieht sich der Begriff ”semantische Ähnlichkeit” auf eine Ähnlichkeit zwischen Aspekten von Bildinhalten, die für einen Benutzer sichtbar sind. In einigen Ausführungsformen beinhaltet die semantische Ähnlichkeit eine Ähnlichkeit zwischen einer ersten Menge von Formen und räumlichen Beziehungen in einem ersten Bild und einer zweiten Menge von Formen und räumlichen Beziehungen in einem zweiten Bild. In einem Beispiel hat ein Bild eines Gesichts einer Person eine höhere semantische Ähnlichkeit mit einem Bild einer anderen Person und eine geringere semantische Ähnlichkeit mit einem Bild eines Gebäudes. In einem anderen Beispiel hat ein Bild von zwei Personen, die nahe beieinander stehen, eine höhere semantische Ähnlichkeit mit einem Bild einer Menschenmenge und eine geringere semantische Ähnlichkeit mit einem Bild einer einzelnen Person. In zusätzlichen oder alternativen Ausführungsformen beinhaltet die semantische Ähnlichkeit eine Ähnlichkeit zwischen einem ersten Bildstil in einem ersten Bild und einem zweiten Bildstil in einem zweiten Bild. So können zum Beispiel für zwei Bilder Vektoren berechnetet werden, welche Farb- oder Kontrastinformation repräsentieren. Die stilistische Ähnlichkeit kann bestimmt werden, indem ein Abstand zwischen diesen Vektoren berechnet wird. Ein größerer berechneter Abstand zeigt einen geringeren Grad stilistischer Ähnlichkeit an, und ein kleinerer berechneter Abstand zeigt einen höheren Grad an stilistischer Ähnlichkeit an.
-
Die semantische Ähnlichkeit zwischen zwei oder mehr Bildern kann bestimmt werden, indem ein neuronales Netzwerk oder ein anderer Merkmalsextraktionsalgorithmus verwendet wird, der von einer oder von mehreren Verarbeitungsvorrichtungen ausgeführt wird. Das Netzwerk oder der Algorithmus kann eine oder mehrere Assoziationen zwischen dem semantischen Inhalt eines Bildes und einer Klasse von semantisch ähnlichen Bildern identifizieren. Zum Beispiel kann ein neuronales Netzwerk oder ein anderer Merkmalsextraktionsalgorithmus Trainingsbilder analysieren, die bestimmte, wiederkehrende Objekte, Farbschemas oder anderen semantischen Inhalt haben, analysieren und bestimmen, dass die Objekte, Farbschemas oder der andere semantische Inhalt anzeigend für eine bestimmte Klasse von Inhalt ist (zum Beispiel ”Hunde”, ”Fahrzeuge”, ”Bäume” und so weiter). Das neuronale Netzwerk oder der andere Merkmalsextraktionsalgorithmus kann die gelernten Assoziationen zwischen unterschiedlichen Klassen und unterschiedlichen Typen von semantischen Inhalten anwenden, um nachfolgend empfangene Bilder zu klassifizieren. Ein Beispiel eines Klassifikationsalgorithmus ist ein Algorithmus, der ein neuronales Netzwerkmodell verwendet, um Assoziationen zwischen bestimmten semantischen Merkmalen und bestimmten Klassen von semantischen Inhalten zu identifizieren. Als solches kann, wenn das obige Eiffelturm Beispiel verwendet wird, das neuronale Netzwerk oder der Klassifikationsalgorithmus die zwei separaten Bilder, wobei das eine den Eiffelturm alleinstehend im Vordergrund und mittig zeigt und das andere ein Bild von einem Hund im Vordergrund und mittig zeigt, wobei der Eiffelturm seitlich versetzt und im Hintergrund erscheint, als zumindest eine gewisse semantische Ähnlichkeit aufweisend betrachten (das heißt, beide zeigen im Bild den Eiffelturm).
-
Mit Bezug nun auf 1 ist ein Diagramm gegeben, das ein beispielhaftes System in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung zeigt. Es sei bemerkt, dass diese und andere Anordnungen, die hierin beschrieben sind, lediglich als Beispiele dargelegt sind. Andere Anordnungen und Elemente (zum Beispiel Maschinen, Schnittstellen, Funktionen, Reihenfolgen und Gruppierungen von Funktionen, etc.) können zusätzlich zu oder anstelle der gezeigten verwendet werden, und einige Elemente mögen vollständig ausgelassen werden. Weiter sind viele der hierin beschriebenen Elemente funktionelle Entitäten, die als diskrete oder verteile Komponenten implementiert sein können, oder in Verbindung mit anderen Komponenten, und in jeder geeigneten Kombination und an jedem geeigneten Ort. Verschiedene Funktionen, die hierin als von einer oder von mehreren Entitäten ausgeführt beschrieben sind, können durch Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der Anweisungen ausführt, die in einem Speicher gespeichert sind.
-
Das System 100 kann ein System mit nur einem Client sein, oder kann ein Client-Server System sein, der bzw. das verwendet werden kann, um ein textbasiertes Bildersuchen nicht markierter Bilder zu ermöglichen. Neben anderen nicht gezeigten Komponenten kann das System 100 eine oder mehrere Benutzervorrichtungen 102, ein Netzwerk 106, eine oder mehrere visuelle Ähnlichkeitswerke 108 und eine oder mehrere Bilddatenbanken 104 umfassen. Auch wenn sowohl ein visuelles Ähnlichkeitswerk 108 als auch eine Bilddatenbank 104 als enthalten gezeigt sind, können Ausführungsformen sowohl beide enthalten, als auch eine der beiden enthalten, als auch keine der beiden enthalten. Es sei bemerkt, dass im Rahmen der vorliegenden Offenbarung jede Anzahl von Servern und Clients in dem System 100 verwendet werden kann. Jede kann eine einzelne Vorrichtung oder mehrere Vorrichtungen umfassen, die in einer verteilten Umgebung kooperieren. In einigen Ausführungsformen kann das System 100 lokal auf einer einzelnen Vorrichtung residieren. Zudem können andere, nicht gezeigte Komponenten in der verteilten Umgebung enthalten sein.
-
Es sei weiter bemerkt, dass das in 1 gezeigte System 100 ein Beispiel einer geeigneten Rechnersystemarchitektur ist. Jede der in 1 gezeigten Servervorrichtungen und Clientvorrichtungen kann mittels einer Rechnervorrichtung implementiert sein, wie etwa der Rechnervorrichtung 800, die später mit Bezug auf 8 beschrieben wird. Die Komponenten können über das Netzwerk 106 miteinander kommunizieren.
-
Das Netzwerk 106 kann drahtgebunden, drahtlos oder beides sein. Das Netzwerk 106 kann mehrere Netzwerke, oder ein Netzwerk von Netzwerken beinhalten, ist aber in einfacher Form dargestellt, um nicht Aspekte der vorliegenden Offenbarung zu verdunkeln. Als ein Beispiel kann das Netzwerk 106 ein oder mehrere Weitbereichsnetzwerke (WANs), ein oder mehrere lokale Netzwerke (LANs), ein oder mehrere öffentliche Netzwerk, wie das Internet, und/oder ein oder mehrere private Netzwerke umfassen. Wenn das Netzwerk 106 ein Mobilfunknetzwerk beinhaltet, können Komponenten wie eine Basisstation, ein Kommunikationsturm oder selbst Zugriffspunkte bzw. ”access points” (sowie andere Komponenten) eine drahtlose Verbindung herstellen. Netzwerkumgebungen sind üblich in Büros, unternehmensweiten Rechnernetzwerken, Intranetzen und dem Internet. Dementsprechend wird das Netzwerk 106 nicht in größerem Detail beschrieben.
-
In verschiedenen Implementierungen ist die Benutzervorrichtung 102 eine Rechnervorrichtung, die eingerichtet ist, auf das Internet, wie etwa das World Wide Web, zuzugreifen. Die Benutzervorrichtung 102 kann eine Vielfalt von Formen annehmen, wie etwa ein PC, ein Laptopcomputer, ein Mobiltelefon, ein Tabletcomputer, ein tragbarer Computer, ein persönlicher digitaler Assistent, ein MP3 Player, eine GPS Vorrichtung, ein Videoabspielgerät, ein digitaler Videorecorder (DVR), eine Kabelbox, eine Set-Top-Box, eine handgehaltene Kommunikationsvorrichtung, eine Smartwatch, ein Arbeitsplatzrechner, eine Kombination dieser dargelegten Vorrichtungen, oder eine andere geeignete Vorrichtung.
-
Die Benutzervorrichtung 102 kann einen oder mehrere Prozessoren beinhalten, sowie ein oder mehrere computerlesbare Medien. Die computerlesbaren können computerlesbare Anweisungen beinhalten, die von dem einen oder den mehreren Prozessoren ausgeführt werden können. Die Anweisungen können einer oder mehreren Anwendungen entsprechen, wie etwa ein Webbrowser oder einer anderen Anwendung, die eingerichtet ist, eine visuell-basierte Suche zu initiieren. Die Benutzervorrichtung 102 kann konfiguriert sein, um unter anderem Inhalte wie Bilder zu speichern. Die Bilder können zum Beispiel auf einem oder auf mehreren computerlesbaren Medien gespeichert sein.
-
In verschiedenen Implementierungen können Bildinhalte auf der Benutzervorrichtung 102, dem visuellen Ähnlichkeitswerk 108, der Bilddatenbank 104 oder einer Kombination dieser vorliegen. Weiter können andere, nicht spezifisch gezeigte Komponenten des Systems 100 Teile und/oder Segmente von Bildinhalten enthalten. Zum Beispiel kann das System 100 verschiedene Formen von Cache(s), Speichervorrichtung(en) und/oder Datenbank(en) enthalten, die dabei helfen können, Bildinhalte für die Benutzervorrichtung 102 zu speichern und diesen dieser bereitzustellen.
-
Das visuelle Ähnlichkeitswerk 108 ist allgemein konfiguriert, einen öffentlich zugänglichen Bildersuchdienst bereitzustellen (zum Beispiel Adobe® Fotolia®, Adobe® Behanced®, Google® Bilder, Bing® Bilder, Yahoo!® Bildersuche) zum Hosten und Bereitstellen einer Bildersuchmaschine zum Durchsuchen von Inhalten, wie einer Bilddatenbank 104 für eine Benutzervorrichtung, wie die Benutzervorrichtung 102. Als ein spezifisches Beispiel kann das visuelle Ähnlichkeitswerk 108 eine visuell-basierte Abfrage von der Benutzervorrichtung 102 empfangen. Das visuelle Ähnlichkeitswerk kann dann die visuell-basierte Abfrage verarbeiten, um Bilder aufzufinden, die unter anderem Bilder haben, die zumindest eines der spezifizierten Attribute umfassen, durch Durchsuchen einer oder mehrerer Bilddatenbanken, die in Zusammenhang mit dem visuellen Ähnlichkeitswerk 108 gehostet werden, oder durch Durchsuchen des World Wide Web. Das visuelle Ähnlichkeitswerk 108 kann dann an die Benutzervorrichtung 102 zumindest einen Teil der Menge von Ergebnisbildern als eine Bildergebnismenge zurückliefern.
-
In Übereinstimmung mit hierin beschriebenen Ausführungsformen kann das visuelle Ähnlichkeitswerk 108 eine Auswahlkomponente 110, eine Klassifizierungskomponente 112 und eine Ergebniskomponente 114 beinhalten. Es sei bemerkt, dass diese und andere Anordnungen, die hierin beschrieben sind, lediglich als Beispiele dargelegt sind. Andere Anordnungen und Elemente (zum Beispiel Maschinen, Schnittstellen, Funktionen, Reihenfolgen und Gruppierungen von Funktionen, etc.) können zusätzlich zu oder anstelle von den gezeigten verwendet werden, und einige Elemente mögen vollständig ausgelassen werden. Weiter sind viele der hierin beschriebenen Elemente funktionelle Entitäten, die als diskrete oder verteilte Komponenten implementiert sein können, oder in Verbindung mit anderen Komponenten, und in jeder geeigneten Kombination und an jedem geeigneten Ort. Verschiedene Funktionen, die hierin beschrieben sind als durch eine oder mehrere Entitäten ausgeführt zu werden, können durch Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der in einem Speicher gespeicherte Anweisungen ausführt.
-
In einigen Ausführungsformen kann eine oder können mehrere der gezeigten Komponenten/Module als alleinstehende Anwendungen implementiert sein. In anderen Ausführungsformen kann eine oder können mehrere der gezeigten Komponenten/Module direkt in das Betriebssystem des visuellen Ähnlichkeitswerks 108 integriert sein. Die in 1 gezeigten Komponenten/Module sind der Natur und der Anzahl nach beispielhaft und sollen nicht als beschränkend verstanden werden. Im Bereich von Ausführungsformen hiervon kann jede Anzahl an Komponenten/Modulen verwendet werden, um die gewünschte Funktionalität zu erzielen. Weiter können sich die Komponenten/Module auf jeder beliebigen Anzahl von Servern, Rechnervorrichtungen oder ähnlichem befinden. Lediglich als ein Beispiel mag das visuelle Ähnlichkeitswerk 108 auf einem Server, auf einem Cluster von Servern oder einer Rechnervorrichtung befinden, die entfernt angeordnet ist von oder die integriert ist mit einer oder mit mehreren der verbleibenden Komponenten.
-
Das visuelle Ähnlichkeitswerk 108 kann jede Art von Rechnervorrichtung sein, oder kann in eine Rechnervorrichtung eingebaut sein, welche auf ein Netzwerk (zum Beispiel das Netzwerk 106) zugreifen kann. Beispielsweise kann das visuelle Ähnlichkeitswerk 108 ein Schreibtischcomputer, ein Laptopcomputer, ein Tabletcomputer, eine Mobilvorrichtung, ein Server oder eine andere Vorrichtung sein, oder ein Teil davon, die bzw. der Zugriff auf ein Netzwerk hat. Im Allgemeinen kann ein Benutzer das visuelle Ähnlichkeitswerk 108 über die Benutzervorrichtung 102 verwenden, um unter anderem ein oder mehrere Attribute von einem oder von mehreren Bildern zu nutzen, um visuell ähnliche Bilder zu identifizieren, welche das eine oder die mehreren Attribute enthalten, und/oder um ein erstes Bild mit Attributen von einem zweiten Bild zu modifizieren.
-
In einigen Ausführungsformen kann der Benutzer das visuelle Ähnlichkeitswerk 108 über die Benutzervorrichtung 102 verwenden, um die Attribute eines Bildes zu extrahieren, die Attribute auszuwählen, an denen er interessiert ist, und eine Sammlung von Bildern basierend auf den ausgewählten Attributen zu durchsuchen. Beispielsweise mag ein Benutzer ein Bild von zwei Personen haben, die an einem Strand gehen, mit einem Sonnenuntergang im Hintergrund. Das Bild mag sehr leuchtende Farben haben, und mag eine körnige Textur haben. Der Benutzer kann das visuelle Ähnlichkeitswerk 108 zunächst verwenden, um diese Attribute aus dem Bild zu extrahieren. Eine Benutzerschnittstelle kann jedes dieser Attribute des Bildes zusammen mit einem Beispiel oder einer Vorschau von Bildern mit ähnlichen Attributen zeigen. Der Benutzer kann die Attribute auswählen, an denen er interessiert ist, beispielsweise Komposition (das heißt, zwei Personen gehen am Strand mit einem Sonnenuntergang im Hintergrund) und Farbe (das heißt, leuchtende Farben). In diesem Beispiel mag der Benutzer die Textur (das heißt, körnig) des Bildes nicht mögen und wünscht, Bilder zu finden, welche eine ähnliche Komposition und Farbe aufweisen, aber nicht die Textur. Nachdem der Auswahl der Attribute, an denen Interesse besteht, stellt das visuelle Ähnlichkeitswerk 108 dem Benutzer über die Benutzervorrichtung 102 eine Bildergebnismenge bereit. Die Bildergebnismenge umfasst ein oder mehrere Ergebnisbilder aus der Bilddatenbank 104, welche Attribute aufweisen, die ähnlich den ausgewählten Attributen, an denen Interesse besteht, sind.
-
Wie zuvor erwähnt, enthält das visuelle Ähnlichkeitswerk 108 in Ausführungsformen eine Auswahlkomponente 110, eine Klassifizierungskomponente 112 und eine Ergebniskomponente 114, um das Suchen unter Verwendung von einem oder von mehreren Attributen von einem oder von mehreren Bildern zu ermöglichen. Für eine Suche unter Verwendung von einem oder mehreren Attributen von einem oder von mehreren Bildern werden im Allgemeinen verschiedene vorläufige Schritte auf einer Sammlung von Bildern ausgeführt. Zunächst ist die Klassifizierungskomponente 112 allgemein konfiguriert, ein generisches neuronales Netzwerk oder einen anderen Merkmalsextraktionsalgorithmus zu implementieren, um ähnliche Bilder zu identifizieren. Dann findet ein Feintuning des neuronalen Netzwerks oder des anderen Merkmalsextraktionsalgorithmus mit einem neuen Satz von Trainingsdaten auf jeder Schicht statt, um spezifische Attribute zu identifizieren. Jede Schicht wird unabhängig entwickelt von dem generischen neuronalen Netzwerk oder dem anderen Merkmalsextraktionsalgorithmus.
-
In einigen Ausführungsformen wird jedes Bild in der Bilddatenbank 104 bei jeder feingetunten Schicht des neuronalen Netzwerks oder dem anderen Merkmalsextraktionsalgorithmus klassifiziert, so dass jedes Bild mit einem Merkmalsvektor für jedes Attribut assoziiert wird. In einigen Ausführungsformen werden die Bilder in Übereinstimmung mit individuellen Attributen geclustert oder gruppiert, um effizientere Suchen bereitzustellen. In einigen Ausführungsformen sind das neuronale Netzwerks oder der andere Merkmalsextraktionsalgorithmus voneinander unabhängig und werden offline trainiert (das heißt, für jedes Attribut seinen eigenen Merkmalsextraktor zu trainieren). Wenn ein Benutzer eine Suche unter Verwendung des visuellen Ähnlichkeitswerks 108 ausführen möchte, kann der Benutzer ein oder mehrere Bilder auswählen oder diese dem visuellen Ähnlichkeitswerk 108 bereitstellen. Die Klassifizierungskomponente 112 extrahiert Attribute aus dem Bild bzw. den Bildern und identifiziert ein oder mehrere Bilder, welche ähnliche Attribute haben. In einigen Ausführungsformen wird ein nächster Nachbar-Klassifikator verwendet, um die ähnlichsten Bilder für jedes separate Attribut zu bestimmen.
-
In einigen Ausführungsformen beinhaltet das visuelle Ähnlichkeitswerk 108 eine Datenbank von Deskriptoren, die Referenzen auf die Bilder in der Bilddatenbank 104 haben, oder kann auf die Datenbank zugreifen. Auf diese Weise ist es möglich, dass die Bilder über das Netzwerk 106 aus der Datenbank 104 nur abgerufen werden, wenn dies erforderlich ist, wie etwa wenn die Bilder in Antwort auf eine Benutzersuche sind und dem Benutzer über die Benutzervorrichtung 102 präsentiert werden müssen.
-
In einer Implementierung gibt ein Benutzer anfänglich über eine Benutzervorrichtung 102 ein Bild in das visuelle Ähnlichkeitswerk 108 ein. Das Bild kann lokal auf der Benutzervorrichtung 102 gespeichert sein, entfernt in einer Bilddatenbank 104 gespeichert sein, oder sich an einem anderen entfernten Ort befinden. In einigen Ausführungsformen mag die Benutzervorrichtung eine Kamera beinhalten, welche das Bild erfasst hat. Das Bild wird dem neuronalen Netzwerk oder dem anderen Merkmalsextraktionsalgorithmus bereitgestellt, um Attribute zu identifizieren, die mit dem Bild assoziiert sind. In einigen Ausführungsformen wird dem Benutzer eine Suchvorschau bereitgestellt, welche Bilder umfasst, die jedes einzelne Attribut enthalten, welches das Bild enthält. Zum Beispiel kann die Suchvorschau Bilder mit ähnlicher Komposition, ähnlicher Textur, ähnlicher Schriftart, ähnlicher Farbe und/oder ähnlichem Stil enthalten. Die Suchvorschau kann Bilder enthalten, die von einer vollständigen Durchsuchung einer Bilddatenbank abgeleitet wurden, kann nur Bildermit Attributen enthalten, die dem Bild am ähnlichsten sind (wie sie durch einen nächster Nachbar-Klassifikator Algorithmus für jedes bestimmte Attribut identifiziert werden), oder von einer kleineren Teilmenge von Beispielbildern.
-
In einigen Ausführungsformen kann dem visuellen Ähnlichkeitswerk 108 mehr als ein Bild eingegeben werden. Für jedes der Bilder werden durch das neuronale Netzwerk oder den anderen Merkmalsextraktionsalgorithmus Attribute identifiziert. Auf diese Weise kann die Suchvorschau für jedes eingegebene Bild Bilder mit ähnlicher Komposition, ähnlicher Textur, ähnlicher Schriftart, ähnlicher Farbe und/oder ähnlichem Stil enthalten.
-
Die Auswahlkomponente 110 ist allgemein konfiguriert, eine Auswahl von einem oder von mehreren Attributen, an denen Interesse besteht, zu empfangen, um diese in einer Bildersuche aufzunehmen. Auf diese Weise kann ein Benutzer jedes Attribut auf niedriger Ebene auswählen, an dem der Benutzer für ein bestimmtes Bild bzw. für bestimmte Bilder interessiert ist, um diese als eine Bild-basierte Suchabfrage einzugeben. In einigen Ausführungsformen kann der Benutzer ein oder mehrere Attribute aus einem einzelnen eingegebenen Bild auswählen. In einigen Ausführungsformen kann der Benutzer ein oder mehrere Attribute von mehreren eingegebenen Bildern auswählen. In einigen Ausführungsformen kann der Benutzer ein oder mehrere Bilder auswählen, die in der Suchvorschau bereitgestellt sind, zur Eingabe als eine Suchabfrage. In einigen Ausführungsformen kann der Benutzer ein Bild zuschneiden, um eine Abfrage auf einen bestimmten Teil des Bildes zu fokussieren. In einigen Ausführungsformen kann der Benutzer einen Teil des Bildes klonen oder kopieren, so dass die Suche Bilder mit zwei dieser Teile anstatt einem identifiziert. Wenn zum Beispiel ein Bild eine Katze hat, der Benutzer aber Bilder mit zwei Katzen identifizieren möchte, kann der Benutzer die Katze in dem Bild klonen und die Suche anwenden, um nach Bildern mit zwei Katzen zu suchen. Ähnlich kann in einigen Ausführungsformen der Benutzer Elemente kopieren und in ein Bild einfügen (zum Beispiel ein Segelboot in ein Bild von einem Strand einsetzen) oder Elemente von einem Bild entfernen (zum Beispiel eine Person aus einer Waldszene entfernen) und unter Verwendung des editierten Bildes suchen. Ein solches Editieren kann zum Beispiel unter Verwendung von Werkzeugen bewerkstelligt werden, die in das System 100 eingebettet sein mögen.
-
Die Auswahlkomponente 110 ist in einigen Ausführungsformen auch konfiguriert, eine Auswahl von einem oder von mehreren Attributen von einem Modellbild (das heißt, ein Bild, das in der Suchvorschau bereitgestellt wurde, oder ein anderes Bild, das von einem Benutzer eingegeben wurde) zu identifizieren. Beispielsweise kann der Benutzer ein Bild eingeben, das ein oder mehrere Attribute enthält, die der Benutzer mit Attributen von einem anderen Bild ersetzen möchte, wie ein Bild, das in der Suchvorschau bereitgestellt wird, oder ein anderes Bild, das von dem Benutzer eingegeben wird. Der Benutzer kann das oder die Attribute von der Suchvorschau oder dem anderen Bild auswählen, und das Bild kann in Übereinstimmung mit dem ausgewählten Attribut modifiziert werden.
-
In einigen Ausführungsformen kann die Auswahlkomponente 110 auch konfiguriert sein, eine textbasierte Abfrage zu empfangen, um die visuell-basierte Suchabfrage zu ergänzen. Die textbasierte Abfrage kann eine Kombination von Zeichen umfassen, die eine gewünschte Eigenschaft identifizieren können, die in einem Ergebnisbild dargestellt oder mit diesem assoziiert ist. Beispielsweise kann die textbasierte Abfrage Schlüsselwörter enthalten (das heißt, dominante Farben, die in dem Bild erscheinen, Objekte oder Personen, die in dem Bild dargestellt sind, Autoren/Daten/Orte, die mit dem Bild assoziiert sind, und so weiter). Wenn als ein Beispiel ein Benutzer die Suchparameter ”Eiffelturm und Feuerwerk” gegeben hat, würde die Textabfrage genau den Ausdruck ”Eiffelturm und Feuerwerk” enthalten. In einigen Ausführungsformen kann die textbasierte Abfrage die Begriffe der Textabfrage umformatieren, um Operanden zu entsprechen, die mit dem Suchalgorithmus assoziiert sind. Wenn zum Beispiel von dem textbasierten Suchalgorithmus Boolesche Operatoren unterstützt würden, könnte die textbasierte Abfrage umformatiert werden zu ”Eiffel” ODER ”Turm” UND ”Feuerwerk”. In einigen Ausführungsformen verwendet die textbasierte Abfrage natürliche Sprache. Zum Beispiel kann die Abfrage ”Schwarzweißfotos von Katzen” als Schlüsselwörter ”Katzen” identifizieren und ”schwarzweiß” und ”Fotos” als Attribute des Bildes. Variationen solcher Operationen sind im Stand der Technik wohlbekannt und werden als im Bereich der vorliegenden Erfindung betrachtet.
-
Wie oben beschrieben, ist die Klassifizierungskomponente 112 allgemein konfiguriert, Attribute eines Bildes oder von Bildern zu klassifizieren oder zu extrahieren, die von dem Benutzer eingegeben wurden. Zu diesem Zweck kann die Klassifizierungskomponente 112 maschinelles Lernen, tiefe neuronale Netzwerke und andere Techniken des maschinellen Sehens implementieren. Die Klassifizierungskomponente 112 ist auch konfiguriert, die Suchabfrage von der Auswahlkomponente 110 zu empfangen und die Bildersuche auszuführen. Die Klassifizierungskomponente 112 kann die Suche ausführen, indem sie dasselbe maschinelle Lernen, tiefe neuronale Netzwerke und andere Techniken des maschinellen Sehens implementiert wie das oben beschriebene neuronale Netzwerk oder der oben beschriebene andere Merkmalsextraktionsalgorithmus, um Attribute von einer Menge von Bildern, wie die Bilddatenbank 104, zu extrahieren. In einigen Ausführungsformen kann die Menge von Bildern Bilder enthalten, die von dem visuellen Ähnlichkeitswerk 108 gespeichert wurden, Bilder, die der Benutzervorrichtung 102 lokal sind, oder andere Bilder, die entfernt gespeichert sind, auf welche das visuelle Ähnlichkeitswerk 108 oder die Benutzervorrichtung 102 über das Netzwerk 106 zugreifen kann.
-
Die Ergebniskomponente 114 ist allgemein konfiguriert, um dem Benutzer über die Benutzervorrichtung 102 Suchergebnisse bereitzustellen. Die Suchergebnisse können eine Suchergebnisvorschau sein. Die Suchergebnisvorschau umfasst ein oder mehrere Bilder in Antwort auf die visuell-basierte Abfrage (zum Beispiel Bilder, die jedem von dem einen oder den mehreren Attributen entsprechen, die von dem oder den eingegebenen Bild(ern) entsprechen). In einigen Ausführungsformen kann der Benutzer ein Attribut des eingegebenen Bildes auswählen, oder ein Bild von der Suchvorschau, um eine vollständige Suchabfrage zu initiieren. Indem eine Suchvorschau bereitgestellt wird, kann das visuelle Ähnlichkeitswerk 108 Ressourcen (das heißt, Speicher, Verarbeitungszeit und so weiter) des visuellen Ähnlichkeitswerks 108 und der Benutzervorrichtung 102 schonen. Sobald der Benutzer die zusätzliche Auswahl trifft, kann eine vollständige Suche ausgeführt werden und die Ergebniskomponente 114 kann eine vollständige Menge von Ergebnissen in Übereinstimmung mit den Auswahlen liefern.
-
Die Klassifizierungskomponente 112 kann Bilder basierend auf jeder einzelnen Auswahl, die von der Auswahlkomponente 110 empfangen wurde, klassifizieren. die Ergebniskomponente 114 kann dann die Bilder in der Ergebnismenge basierend auf einer mittleren Bewertung über alle Auswahlen identifizieren. In einigen Ausführungsformen kann die Auswahlkomponente 110 Gewichtungen empfangen, die von einem Benutzer ausgewählt wurden, die die Wichtigkeit des einen Attributs relativ zu einem anderen anzeigen. Dementsprechend kann die Ergebniskomponente 114 die Bilder in der Ergebnismenge basierend auf den ausgewählten Gewichtungen ordnen. In einigen Ausführungsformen kann die Klassifizierungskomponente 112 zunächst die Suchergebnisse basierend auf einem ersten ausgewählten Attribut ordnen, und dann die Suchergebnisse basierend auf zusätzlich ausgewählten Attributen neu ordnen. Dies ermöglicht es dem Benutzer, das wichtigste Attribut zu identifizieren, wobei jedes zusätzlich ausgewählte Attribut dazu führt, dass die Suchergebnisse neu geordnet werden basierend auf dem zusätzlich ausgewählten Attribute (wobei aber weiterhin dieselbe Bildergebnismenge beibehalten wird, ohne neue Bilder zu identifizieren, die nicht bereits identifiziert wurden basierend auf der Suche nach dem wichtigsten Attribut). Obwohl hierein im Detail beschrieben, sind die beschriebenen Ausführungsformen allein beispielhaft und nicht beschränkend, da das Aggregieren und Ordnen der visuell-basierten Suchabfrage in einer Vielfalt von Konfigurationen ausgeführt werden kann.
-
In einigen Ausführungsformen ist die Ergebniskomponente 114 konfiguriert, ausgewählte Attribute von einem Bild auf ein eingegebenes Bild anzuwenden. Wie oben beschrieben, kann der Benutzer dem visuellen Ähnlichkeitswerk 108 ein Bild eingeben. Wenn angenommen wird, dass das Bild ein Attribut hat, das der Benutzer ersetzen möchte, kann der Benutzer ein Attribut von einem Bild (wie ein anderes eingegebenes Bild, oder ein Bild in der Suchvorschau oder den Suchergebnissen) wählen, das dann von der Auswahlkomponente 110 empfangen werden kann. Die Ergebniskomponente 114 kann dann die gewählten Attribute auf das Bild anwenden, was in einem modifizierten Bild resultiert. Der Benutzer kann dann das modifizierte Bild verwenden, in einigen Ausführungsformen, um eine zusätzliche Suche auszuführen, indem er das modifizierte Bild dem visuellen Ähnlichkeitswerk 108 eingibt.
-
In einem Beispiel können alle Instanzen eines Freundes, der in Fotos auf einer Fotorolle einer Mobilkamera erscheint, identifiziert werden. Wenn ein neues Foto dieses Freundes erfasst wird, wie etwa durch die Kamera auf der Mobilvorrichtung, kann das neue Bild verwendet werden als eine Abfrage, um alle anderen Fotos dieses Freundes zu identifizieren (mit oder ohne dass die Person mit einem Textlabel identifiziert ist). Auf diese Weise kann eine Gesichtserkennung als ein Attribut für die Suchabfrage verwendet werden.
-
Mit Bezug auf 2 ist eine beispielhafte graphische Benutzerschnittstelle 200 zum Suchen unter Verwendung von einem oder mehreren spezifischen Attributen gezeigt, die in einem Bild aufgefunden werden, in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung. Wie in der Schnittstelle 200 gezeigt, wurde ein Quellbild 210 von einem Benutzer eingegeben. Attribute 212, 214, 216, 218 des Bildes 210 werden zusammen mit einer Suchergebnisvorschau 222, 224, 226, 228 für jedes Attribut 212, 214, 216, 218 bereitgestellt. Wie hierin beschrieben, kann die Suchergebnisvorschau eine begrenzte Auswahl von Ergebnissen sein, die auf einer Suche basieren, die nicht über eine gesamte Bildmenge ausgeführt wurde (um Ressourcen zu schonen und die Effizienz der Rechnervorrichtungen zu maximieren). In einigen Ausführungsformen ist die Suchergebnisvorschau die Ergebnismenge basierend auf einer Suche, die über die gesamte Bildmenge ausgeführt wird (zum Beispiel eine Bilddatenbank). Der Benutzer kann ein bestimmtes Attribut oder bestimmte Attribute des Quellbildes auswählen, um eine vollständige Bildersuche zu initiieren, oder kann ein oder mehrere Bilder aus der Suchergebnisvorschau auswählen, um die vollständige Bildersuche zu initiieren. Sobald der Benutzer die gewünschten Auswahlen getroffen hat, kann eine vollständige Menge von Suchergebnissen durch die Schnittstelle 200 an den Benutzer bereitgestellt werden. In einigen Ausführungsformen wird keine Suchergebnisvorschau bereitgestellt, und der Benutzer kann eine Auswahl basierend auf den Attributen des Quellbildes 210 treffen und die Suche entsprechend initiieren. Wie gezeigt, hat der Benutzer die Attribute 212, 216, 218 ausgewählt, und hat das Attribut 214 nicht ausgewählt. Auf diese Weise wird eine Suche initiiert, welche Ergebnisbilder 211 identifiziert, welche Attribute 212, 216 und 218 enthalten, die ähnlich zu denselben Attributen des Quellbilds 210 sind.
-
Mit Bezug nun auf 3 ist eine beispielhafte graphische Benutzerschnittstell 300 zum Suchen unter Verwendung von einem oder mehreren spezifischen Attributen gezeigt, die in einem oder in mehreren Bildern gefunden werden, in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung. Wie in der Schnittstelle 300 gezeigt, können zwei oder mehr Quellbilder 310, 330 von einem Benutzer eingegeben werden. Ähnlich zu der in 2 gezeigten Schnittstelle werden Attribute 312, 332, 314, 334 zusammen mit einer Suchergebnisvorschau 322, 342, 324, 344 für jedes Attribut 312, 332, 314, 334 für jedes Bild 310, 330 bereitgestellt. Dies versetzt den Benutzer in die Lage, ein bestimmtes Attribut oder bestimmte Attribute von jedem der Quellbilder auszuwählen, um eine Bildersuche zu initiieren. In einigen Ausführungsformen mag der Benutzer ein oder mehrere Bilder aus der Suchergebnisvorschau auswählen, um die Bildersuche zu initiieren. Sobald der Benutzer die gewünschten Auswahlen getroffen hat, mag eine vollständige Menge von Suchergebnissen durch die Schnittstelle 300 an den Benutzer bereitgestellt werden. Wie gezeigt, hat der Benutzer die Attribute 312, 335 aus dem Quellbild 310 ausgewählt. Der Benutzer hat auch das Attribut 334 aus dem Quellbild 330 ausgewählt. Der Benutzer hat jedoch nicht das Attribut 332 aus dem Quellbild 330 oder das Attribut 314 aus dem Quellbild 310 ausgewählt. Auf diese Weise wird eine Suche initiiert, welche Ergebnisbilder 320 identifiziert, die Attribute 312, 335 haben, die ähnlich zu denselben Attributen des Quellbilds 310 sind, sowie das Attribut 334 haben, das ähnlich zu demselben Attribut des Quellbilds 330 ist.
-
In 4 ist ein Flussdiagramm gegeben, das ein Verfahren 400 zum Suchen unter Verwendung von einem oder mehreren spezifischen Attributen, die in einem oder in mehreren Bildern gefunden werden, in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung. Jeder Schritt des Verfahrens 400 und anderer Verfahren, die hierin beschrieben sind, umfasst einen Rechenprozess, der durch eine Kombination von Hardware, Firmware und/oder Software ausgeführt werden kann, wie die hierin beschriebenen. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der Anweisungen ausführt, die in einem Speicher gespeichert sind. Die Verfahren können auch als computer-ausführbare Anwendungen verkörpert sein, die auf einem Computerspeichermedium gespeichert sind. Die Verfahren können von einer alleinstehenden Anwendung, einem Dienst oder gehosteten Dienst (alleinstehend oder in Kombination mit einem anderen gehosteten Dienst) oder einem Plug-In eines anderen Produkts verkörpert sein, um nur einige zu nennen.
-
Bei Schritt 410 wird eine Auswahl von einem oder von mehreren Bildern von einem Benutzer über eine Benutzervorrichtung empfangen. Jedes von dem einen oder von den mehreren Bildern beinhaltet ein oder mehrere Attribute, die in Ausführungsformen von einem neuronalen Netzwerk oder einem anderen Merkmalsextraktionsalgorithmus identifiziert werden können. Das neuronale Netzwerk oder der andere Merkmalsextraktionsalgorithmus kann Merkmalsvektoren, die der visuell-basierten Abfrage entsprechen, mit Merkmalsvektoren in der Menge von Bildern vergleichen, um Bildergebnisse basierend auf visueller Ähnlichkeit zu identifizieren. In einigen Ausführungsformen beinhalten die Attribute eines oder mehrere von Komposition, Farbe, Stil, Textur, oder Schriftart. Eine Auswahl von zumindest einem Attribut für jedes Bild wird bei Schritt 412 von dem Benutzer über die Benutzervorrichtung empfangen. Jede Auswahl mag zusätzlich eine von einem Benutzer gewählte Gewichtung enthalten, die eine Wichtigkeit jedes Attributs für den Benutzer anzeigen kann. In einigen Ausführungsformen kann ein negatives Attribut für ein oder für mehrere Bilder gewählt werden, das ein Attribut anzeigt, von dem der Benutzer wünscht, dass die Ergebnisbilder dieses nicht enthalten. Beispielsweise mag ein Benutzerwünschen, Bilder zu finden, die eine bestimmte Farbe, Komposition, oder Stil, die in dem empfangenen Bild identifiziert ist, nicht enthalten. Der Benutzer kann jedes dieser unerwünschten Elemente auswählen (zum Beispiel die negativen Attribute) und eine Abfrage wird diese Elemente aus den Ergebnissen ausschließen, welche die negativen Attribute enthalten. Jede Auswahl umfasst zumindest einen Teil einer visuell-basierten Abfrage, um diese auf einer Menge von Bildern auszuführen.
-
Eine Bildergebnismenge wird bei Schritt 414 an den Benutzer über die Benutzervorrichtung bereitgestellt. Die Bildergebnismenge umfasst ein oder mehrere Ergebnisbilder aus der Menge von Bildern, die in Antwort auf die visuell-basierte Abfrage sind. In Ausführungsformen wird eine Auswahl eines Ergebnisbildes von dem Benutzer über die Benutzervorrichtung empfangen. Zudem kann eine Auswahl von zumindest einem verfeinerten Attribut von dem Benutzer über die Benutzervorrichtung empfangen werden. Das verfeinerte Attribut ist ein Attribut des ausgewählten Ergebnisbildes. Auf diese Weise kann der Benutzer die Suchabfrage verfeinern in Übereinstimmung mit den verfeinerten Attributen, und die Bildergebnismenge kann für den Benutzer über die Benutzervorrichtung aktualisiert werden. Die aktualisierte Bildergebnismenge umfasst ein oder mehrere Ergebnisbilder aus der Menge von Bildern, die in Antwort auf die verfeinerte visuell-basierte Abfrage sind.
-
Mit Bezug nun auf 5 ist ein Flussdiagramm gegeben, das ein Verfahren 500 zum Suchen unter Verwendung von einem oder mehreren spezifischen Attributen zeigt, die in einem oder in mehreren Bildern gefunden werden, in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung. Anfänglich wird bei Schritt 510 ein neuronales Netzwerk oder ein anderer Merkmalsextraktionsalgorithmus implementiert, um ähnliche Bilder zu identifizieren. Das neuronale Netzwerk oder der andere Merkmalsextraktionsalgorithmus wird bei Schritt 512 für spezifische Attribute trainiert. In einigen Ausführungsformen beinhalten die Attribute eines oder mehrere von Komposition, Farbe, Stil, Textur oder Schriftart. In einigen Ausführungsformen entsprechen unterschiedliche Schichten des neuronalen Netzwerks oder des anderen Merkmalsextraktionsalgorithmus unterschiedlichen spezifischen Attributen. Auf diese Weise kann ein selbes neuronales Netzwerk oder anderer Merkmalsextraktionsalgorithmus verwendet werden, um jeden Typ von Attribut zu extrahieren.
-
Bei Schritt 514 wird bei dem neuronalen Netzwerk oder dem anderen Merkmalsextraktionsalgorithmus ein Bild empfangen. Das neuronale Netzwerk oder der andere Merkmalsextraktionsalgorithmus extrahiert bei Schritt 516 ein oder mehrere Attribute aus dem Bild. Suchergebnisse, die eine Menge von einem oder von mehreren Bildern umfassen, werden bei Schritt 518 bereitgestellt. Die Suchergebnisse entsprechen einer Suchabfrage, die Auswahlen entspricht, die ein Benutzer getroffen hat. In einigen Ausführungsformen umfassen die Auswahlen zumindest eines von dem einen oder den mehreren Attributen des Bildes. In einigen Ausführungsformen umfassen die Auswahlen zumindest eines von dem einen oder den mehreren Attributen des Bildes und eine textbasierte Abfrage. In einigen Ausführungsformen umfassen die Auswahlen zumindest eines von dem einen oder den mehreren Attributen des Bildes und eine vom Benutzer bereitgestellte Skizze. Auf diese Weise kann der Benutzer ein Attribut des Bildes modifizieren, indem er direkt auf das Bild skizziert. In einigen Ausführungsformen können dem Benutzer zusätzliche Werkzeuge bereitgestellt werden, um es dem Benutzer zu erlauben, Attribute des Bildes zu modifizieren. In einigen Ausführungsformen umfassen die Auswahlen andere Bildattribute, die in einer Bilddatenbank gespeichert wurden (zum Beispiel Größe, Orientierung, Farbe, Vektor, Datum, Ort, Illustration und ähnliches). Es kann jede beliebige Anzahl von Bildattributen, die verwendet werden können, um ein Bild zu klassifizieren, in der Bilddatenbank gespeichert und in der Suchabfrage verwendet werden.
-
In einigen Ausführungsformen wird bei dem neuronalen Netzwerk oder dem anderen Merkmalsextraktionsalgorithmus ein zweites Bild empfangen. Das neuronale Netzwerk oder der andere Merkmalsextraktionsalgorithmus kann aus dem zweiten Bild ein oder mehrere Attribute extrahieren. In einigen Ausführungsformen umfassen die Auswahlen zumindest ein oder mehrere Attribute aus jedem Bild (dem ersten und dem zweiten Bild). Wie verstanden werden wird, kann jede beliebige Anzahl von Bildern eingegeben werden und aus jedem eingegebenen Bild kann jede beliebige Anzahl von Attributen ausgewählt werden. In einigen Ausführungsformen wird eine Auswahl von einem Suchergebnis und zumindest einem Attribut, das von dem neuronale Netzwerk oder dem anderen Merkmalsextraktionsalgorithmus extrahiert wurde, empfangen. Basierend auf der Auswahl können dem Benutzer verfeinerte Suchergebnisse bereitgestellt werden.
-
Mit Bezug auf 6 ist ein Flussdiagramm gegeben, das ein Verfahren 600 zum Modifizieren zumindest eines Attributs eines Bildes zeigt, das zur Suche verwendet werden kann, in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung. Anfänglich wird bei Schritt 610 eine Auswahl eines Bildes von einem Benutzer über eine Benutzervorrichtung empfangen. Das Bild beinhaltet ein oder mehrere Attribute, die unter Verwendung eines neuronalen Netzwerks oder eines anderen Merkmalsextraktionsalgorithmus extrahiert werden können. In einigen Ausführungsformen beinhalten die Attribute eines oder mehrere von Komposition, Farbe, Stil, Textur oder Schriftart. Bei Schritt 612 wird eine Auswahl von zumindest einem Attribut empfangen für ein oder mehrere Modellbilder. In einer Ausführungsform wird eine Auswahl einer Gewichtung für jedes Attribut von einem Benutzer empfangen. In einigen Ausführungsformen wird eine Auswahl von zumindest einem negativen Attribut von dem Benutzer empfangen. Das bzw. die negative(n) Attribut(e) ist ein Attribut bzw. sind Attribute, von denen der Benutzer wünscht, dass sie das modifizierte Bild nicht enthält. Das bzw. die Modellbild(er) können in einer Suchergebnisvorschau bereitgestellt werden, wie hierin beschrieben, in einer Suchergebnismenge, wie hierin beschrieben, oder können von einem Benutzer eingegeben werden. Zumindest ein Attribut des Bildes wird bei Schritt 614 in Übereinstimmung mit der Auswahl modifiziert.
-
In einigen Ausführungsformen wird eine Suchvorschau bereitgestellt, die eine Menge von einem oder von mehreren Bildern umfasst. Die Menge von einem oder mehreren Bildern wird durch ein neuronales Netzwerk oder einen anderen Merkmalsextraktionsalgorithmus so bestimmt, dass diese visuell ähnlich zu dem Bild sind und das zumindest eine Attribut umfassen, das modifiziert wurde. Eine Auswahl eines Bildes in der Menge von dem einem oder den mehreren Bildern kann empfangen werden, und es kann eine Suchabfrage initiiert werden, die auf der Auswahl basiert.
-
In 7 ist ein Flussdiagramm gegeben, das ein Verfahren 700 zum Modifizieren zumindest eines Attributs eines Bildes zeigt, das zur Suche verwendet werden kann, in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung. Zunächst wird bei Schritt 710 ein neuronales Netzwerk oder ein anderer Merkmalsextraktionsalgorithmus für spezifische Attribute trainiert. In dieser Hinsicht entsprechen unterschiedliche Schichten des neuronalen Netzwerks oder des anderen Merkmalsextraktionsalgorithmus unterschiedlichen spezifischen Attributen. In Ausführungsformen beinhalten die Attribute eines oder mehrere von Komposition, Farbe, Stil, Textur oder Schriftart. Bei Schritt 712 wird ein Bild empfangen und durch das neuronale Netzwerk oder den anderen Merkmalsextraktionsalgorithmus verarbeitet. Ein oder mehrere Attribute werden bei Schritt 714 durch das neuronale Netzwerk oder den anderen Merkmalsextraktionsalgorithmus aus dem Bild extrahiert.
-
In einigen Ausführungsformen werden bei dem neuronalen Netzwerk oder dem anderen Merkmalsextraktionsalgorithmus andere Bilder empfangen. Ein oder mehrere Attribute aus den anderen Bildern können durch das neuronale Netzwerk oder den anderen Merkmalsextraktionsalgorithmus extrahiert werden. Das eine oder die mehreren Attribute, die aus den anderen Bildern extrahiert wurden, können verwendet werden, um zumindest ein Attribut des Bildes zu modifizieren. In einigen Ausführungsformen können Attribute des Bildes in Übereinstimmung mit textbasierten Attribute von anderen Bildern modifiziert werden. In einigen Ausführungsformen können Attribute des Bildes in Übereinstimmung mit einer von dem Benutzer bereitgestellten Skizze modifiziert werden.
-
Eine Suchvorschau, die eine Menge von einem oder von mehreren Bildern umfasst, wird bei Schritt 716 bereitgestellt. Die Menge von dem einen oder den mehreren Bildern wird durch das neuronale Netzwerk oder den anderen Merkmalsextraktionsalgorithmus so bestimmt, dass diese visuell ähnlich zu dem Bild sind und zumindest ein Attribut umfassen, das modifiziert wurde. In einigen Ausführungsformen kann eine Auswahl eines Bildes in der Menge von dem einen oder den mehreren Bildern empfangen werden. Basierend auf der Auswahl kann eine Suchabfrage initiiert werden. Basierend auf der Auswahl können verfeinerte Suchergebnisse bereitgestellt werden.
-
Nachdem Implementierungen der vorliegenden Offenbarung beschrieben wurden, wird nachfolgend eine beispielhafte Betriebsumgebung beschrieben, in der Ausführungsformen der vorliegenden Erfindung implementiert werden können, um einen allgemeinen Kontext für verschiedene Aspekte der vorliegenden Offenbarung zu geben. Mit Bezug zunächst insbesondere auf 8 ist eine beispielhafte Betriebsumgebung zum Implementieren von Ausführungsformen der vorliegenden Erfindung gezeigt und allgemein als Rechnervorrichtung 800 bezeichnet. Die Rechnervorrichtung 800 ist nur ein Beispiel einer geeigneten Rechnerumgebung und ist nicht dazu gedacht, irgendeine Beschränkung hinsichtlich des Bereichs der Anwendbarkeit oder Funktionalität der Erfindung anzugeben. Auch soll die Rechnervorrichtung 800 nicht so interpretiert werden, dass sie eine Abhängigkeit oder Anforderung hätte, die sich auf eine einzelne oder ein Kombination der gezeigten Komponenten beziehen würde.
-
Die Erfindung kann im allgemeinen Kontext von Computercode oder von einer Maschine verwendbaren Anweisungen beschrieben werden, einschließlich von einem Computer ausführbare Anweisungen wie Programmmodule, die ausgeführt werden von einem Computer oder einer anderen Maschine, wie einem persönlichen digitalen Assistenten oder einer anderen handgehaltenen Vorrichtung. Allgemein beziehen sich Programmmodule, die Routinen, Programme, Objekte, Komponenten, Datenstrukturen und so weiter enthalten, auf Code, der bestimmte Aufgaben ausführt oder bestimmte abstrakte Datentypen implementiert. Die Erfindung kann in einer Vielfalt von Systemkonfigurationen verwirklicht werden, einschließlich handgehaltener Vorrichtungen, Unterhaltungsgeräten, Allzweckcomputern, speziellere Rechnervorrichtungen und so weiter. Die Erfindung kann auch in verteilten Rechnerumgebungen verwirklicht werden, in denen Aufgaben durch entfernte Verarbeitungsvorrichtungen ausgeführt werden, die über ein Kommunikationsnetzwerk verknüpft sind.
-
Mit Bezug auf 8 beinhaltet die Rechnervorrichtung 800 einen Bus 810, der die folgenden Vorrichtungen direkt oder indirekt koppelt: einen Speicher 812, einen oder mehrere Prozessoren 814, eine oder mehrere Präsentationskomponenten 816, Eingabe-/Ausgabeanschlüsse 818, Eingabe-/Ausgabekomponenten 820 und eine beispielhafte Stromversorgung 822. Der Bus 810 repräsentiert, was ein oder mehrere Busse sein können (wie ein Adressbus, ein Datenbus, oder eine Kombination dieser). Obwohl die verschiedenen Blöcke der 8 der Klarheit halber mit Linien gezeigt sind, ist die Abgrenzung der verschiedenen Komponenten in Wirklichkeit nicht so klar, und metaphorisch wären diese Linien genauer grau und unscharf. Zum Beispiel kann man eine Präsentationskomponente wie eine Anzeigevorrichtung als eine Eingabe-/Ausgabekomponente betrachten. Auch weisen Prozessoren Speicher auf. Die Erfinder erkennen, dass dies in der Natur der Sache liegt, und wiederholen, dass das Diagramm der 8 lediglich eine beispielhafte Rechnervorrichtung veranschaulicht, die verwendet werden kann in Verbindung mit einer oder mehreren Ausführungsformen der vorliegenden Erfindung. Es wird nicht unter solchen Kategorien wie ”Workstation”, ”Server, ”Laptop”, ”handgehaltene Vorrichtung”, ”Smartphone” und so weiter unterschieden, da all diese im Bereich der 8 und dem Bezug auf eine ”Rechnervorrichtung” enthalten gedacht sind.
-
Die Rechnervorrichtung 800 enthält typischer Weise eine Vielfalt von computerlesbaren Medien. Computerlesbare Medien können alle verfügbaren Medien sein, auf die die Rechnervorrichtung 800 zugreifen kann, und umfassen sowohl flüchtige als auch nichtflüchtige Medien, entfernbare und nicht enternbare Medien. Als ein nichtbeschränkendes Beispiel können computerlesbare Medien Computerspeichermedien und Kommunikationsmedien umfassen. Computerspeichermedien umfassen sowohl flüchtige als auch nichtflüchtige, entfernbare und nicht entfernbare Medien, die implementiert sind in einem Verfahren oder einer Technologie zum Speichern von Information, wie etwa computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder andere Daten. Computerspeichermedien beinhalten, ohne hierauf beschränkt zu sein, RAM, ROM, EEPROM, Flash Speicher oder andere Speichertechnologien, CD-ROM, DVD oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, magnetische Plattenspeicher oder andere magnetische Speichervorrichtungen, oder ein anderes Medium, das verwendet werden kann, um die g3ewünschte Information zu speichern, und auf das die Rechnervorrichtung 800 zugreifen kann. Computerspeichermedien umfassen keine Signale als solche. Kommunikationsmedien verkörpern computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten typischer Weise in einem modulierten Datensignal, wie einer Trägerwelle oder einem anderen Transportmechanismus, und beinhalten alle Informationsliefermedien. Der Begriff ”moduliertes Datensignal” bedeutet ein Signal, in dem eine oder mehrere dessen Charakteristiken so gesetzt oder geändert sind, um Information in dem Signal zu kodieren. Als ein nichtbeschränkendes Beispiel umfassen Kommunikationsmedien drahtgebundene Medien, wie ein verkabeltes Netzwerk oder eine direkt verkabelte Verbindung, und drahtlose Medien, wie akustische, Funk-, infrarote und andere drahtlose Medien. Kombinationen der obigen sollen auch im Bereich der computerlesbaren Medien enthalten sein.
-
Der Speicher 812 beinhaltet Computerspeichermedien in der Form von flüchtigem und/oder nichtflüchtigem Speicher. Der Speicher kann entfernbar, nicht entfernbar oder eine Kombination davon sein. Beispielhafte Hardwarevorrichtungen beinhalten Halbleiterspeicher, Festplatten, optische Plattenlaufwerke und so weiter Die Rechnervorrichtung 800 beinhaltet einen oder mehrere Prozessoren, welche Daten von verschiedenen Entitäten, wie dem Speicher 812 oder Eingabe-/Ausgabekomponenten 820, lesen. Die Präsentationskomponente(n) 816 präsentieren Datenindikationen für einen Benutzer oder eine anderen Vorrichtung. Beispielhafte Präsentationskomponenten beinhalten eine Anzeigevorrichtung, einen Lautsprecher, eine Druckerkomponente, eine Vibrationskomponente und so weiter.
-
Die Eingabe-/Ausgabeanschlüsse 818 ermöglichen es, dass die Rechnervorrichtung 800 logisch mit anderen Vorrichtungen gekoppelt wird, die Eingabe-/Ausgabekomponenten 820 aufweisen, von denen einige eingebaut sein können. Beispielhafte Komponenten beinhalten ein Mikrofon, einen Joystick, ein Spielefeld, eine Satellitenschüssel, einen Scanner, einen Drucker, eine drahtlose Vorrichtung und so weiter. Die Eingabe-/Ausgabekomponenten 820 können eine natürliche Benutzerschnittstelle (”natural user interface”, NUI) bereitstellen, die Luftgesten, Stimme oder andere physiologische Eingaben verarbeitet, die von einem Benutzer getätigt werden. In einigen Fällen können Eingaben an ein geeignetes Netzwerkelement zur Weiterverarbeitung gesendet werden. Eine NUI kann eine Kombination von Spracherkennung, Berührungs- und Griffelerkennung, Gesichtserkennung, biometrische Erkennung, Gestenerkennung sowohl auf einem Bildschirm als auch in der Nähe des Bildschirms, Luftgesten, Kopf- und Augennachverfolgung und Berührungserkennung, die mit Anzeigen auf der Rechnervorrichtung 800 assoziiert ist, implementieren. Die Rechnervorrichtung 800 kann mit Tiefenkameras ausgestattet sein, wie stereoskopischen Kamerasystemen, Infrarotkamerasystemen, RGB Kamerasystemen und Kombinationen dieser zur Gestenerfassung und -erkennung. Zusätzlich kann die Rechnervorrichtung 800 mit Beschleunigungssensoren oder Gyroskopen ausgestattet sein, welche die Erfassung von Bewegung ermöglichen. Die Ausgaben der Beschleunigungssensoren oder Gyroskope kann der Anzeige der Rechnervorrichtung 800 bereitgestellt werden, um eine immersive augmentierte Realität oder eine virtuelle Realität zu rendern.
-
Wie oben beschrieben, ermöglichen Implementierungen der vorliegenden Offenbarung das Suchen unter Verwendung von einem oder mehreren spezifischen Attributen, die in einem oder in mehreren Bildern gefunden werden. Die vorliegende Erfindung wurde in Bezug auf bestimmte Ausführungsformen beschrieben, die in allen Aspekten allein beispielhaft und nicht beschränkend gedacht sind. Alternative Ausführungsformen werden den Fachleuten auf dem Gebiet der vorliegenden Erfindung ersichtlich werden, ohne deren Bereich zu verlassen.
-
Aus dem Vorstehenden wird ersichtlich, dass diese Erfindung wohl angepasst ist, all die Ziele und Aufgaben aus dem Vorstehenden zu erreichen, zusammen mit anderen Vorteilen, die offenkundig und dem System und dem Verfahren inhärent sind. Es wird verstanden werden, dass bestimmte Merkmale und Unterkombinationen nützlich sind und verwendet werden können ohne Bezug auf andere Merkmale und Unterkombinationen. Dies ist in Betracht gezogen und fällt in den Bereich der Ansprüche.