DE112019001175T5 - Visuelles Feedback zum Prozesszustand - Google Patents

Visuelles Feedback zum Prozesszustand Download PDF

Info

Publication number
DE112019001175T5
DE112019001175T5 DE112019001175.8T DE112019001175T DE112019001175T5 DE 112019001175 T5 DE112019001175 T5 DE 112019001175T5 DE 112019001175 T DE112019001175 T DE 112019001175T DE 112019001175 T5 DE112019001175 T5 DE 112019001175T5
Authority
DE
Germany
Prior art keywords
behavior
visual markers
image
state
scene
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
DE112019001175.8T
Other languages
English (en)
Inventor
Peiqi Tang
Andrea Zehr
Rupa Chaturvedi
Yu LOU
Colin Jon Taylor
Mark Scott Waldo
Shaun Michael Post
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.)
A9 com Inc
Original Assignee
A9 com 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 A9 com Inc filed Critical A9 com Inc
Publication of DE112019001175T5 publication Critical patent/DE112019001175T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/17Image acquisition using hand-held instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Verschiedene Ausführungsformen der vorliegenden Offenbarung stellen Systeme und ein Verfahren für visuelle Suche und Augmented Reality bereit, bei denen eine auf der Schnittstelle als Overlay erscheinende Menge von visuellen Bildschirm-Markern den aktuellen Zustand eines Bilderkennungsprozesses signalisiert. Insbesondere kann die Menge von visuellen Markern eine Vielzahl von Verhalten annehmen, bei denen ein bestimmtes Verhalten einen bestimmten Zustand anzeigt. Somit kann der Benutzer anhand des Verhaltens der Menge von visuellen Markern den aktuellen Zustand des Abtastprozesses erkennen. Das Verhalten der Menge von visuellen Markern kann dem Benutzer auch empfohlene Maßnahmen anzeigen, die ergriffen werden können, um die Abtastbedingung zu verbessern oder den Prozess auf andere Weise zu erleichtern. In verschiedenen Ausführungsformen kann sich die Menge von visuellen Bildschirm-Markern entsprechend bewegen oder nahtlos von einem Verhalten zu einem anderen Verhalten übergehen, wenn der Abtastprozess von einem Zustand zu einem anderen Zustand übergeht.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht den Vorteil der nicht vorläufigen US-Patentanmeldung Nr. 15/911,850 , mit dem Titel „VISUAL FEEDBACK OF PROCESS STATE“, eingereicht am 5. März 2018; die vollständige Offenbarung dieser Anmeldung wird hiermit durch Bezugnahme für alle Zwecke aufgenommen.
  • ALLGEMEINER STAND DER TECHNIK
  • Benutzer verwenden zunehmend elektronische Geräte, um verschiedene Arten von Informationen zu erhalten. Beispielsweise kann ein Benutzer, der ein Produkt kaufen möchte, auf einen elektronischen Marktplatz zugreifen, um nach den über diesen Marktplatz angebotenen Arten von Produkten zu suchen. Sofern der Benutzer keine genaue Marke oder keinen genauen Produktstil kennt, die bzw. den der Benutzer möchte, muss er möglicherweise Hunderte oder Tausende verschiedener Produkte mit verschiedenen Optionen durchsuchen, um zu versuchen, die Produktart zu finden, an der der Benutzer interessiert ist. Wenn der Benutzer an einem Produkt einer bestimmten Art interessiert ist, hat der Benutzer möglicherweise keine andere Wahl, als diese Ergebnisse durchzugehen. Ferner können Produkte in einem elektronischen Katalog einer endlichen Anzahl von spezifischen Schlüsselwörtern oder Klassifikationen zugeordnet sein und Benutzer kennen möglicherweise nicht die genauen Schlüsselwörter, um die Produkte zu beschreiben, nach denen sie suchen. Somit wurde eine Technologie entwickelt, die es einem Benutzer ermöglicht, der daran interessiert ist, Informationen zu einem Produkt zu erhalten oder nach ähnlichen Produkten zu suchen, ein Bild des Produkts aufzunehmen und das aufgenommene Bild an ein Objekterkennungssystem zu senden, um Informationen zu erhalten, die dem Produkt zugeordnet sind, oder visuell ähnliche Produkte zu finden. In einigen zusätzlichen Szenarien kann ein Benutzer ein Bild einer Szene aufnehmen und eine Darstellung eines Produkts kann durch Augmented Reality in die Szene projiziert werden, sodass der Benutzer das Produkt als Teil der Szene visualisieren kann.
  • Figurenliste
  • Verschiedene Ausführungsformen gemäß der vorliegenden Offenbarung werden unter Bezugnahme auf die Zeichnungen beschrieben, in denen Folgendes gilt:
    • 1 veranschaulicht ein Beispiel gemäß verschiedenen Ausführungsformen, in dem ein Benutzer ein Bild eines Objekts aufnehmen kann, um nach Produkten zu suchen, die dem Objekt visuell ähnlich sind.
    • 2A veranschaulicht eine beispielhafte Schnittstelle der Rechenvorrichtung gemäß verschiedenen Ausführungsformen, die ein Bild oder eine Live-Kameraansicht des Objekts zum Durchführen einer Bilderkennung aufnimmt.
    • 2B veranschaulicht eine beispielhafte Schnittstelle der Rechenvorrichtung gemäß verschiedenen Ausführungsformen, die Suchergebnisse basierend auf dem aufgenommenen Bild des Objekts bereitstellt.
    • 3 veranschaulicht eine beispielhafte Pipeline eines Bilderkennungsprozesses gemäß verschiedenen Ausführungsformen.
    • 4A veranschaulicht eine beispielhafte Schnittstelle gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein „inaktives“ Verhalten aufweisen.
    • 4B veranschaulicht eine beispielhafte Schnittstelle gemäß verschiedenen Ausführungsformen, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein Verhalten „Objekt erfasst“ aufweisen.
    • 4C veranschaulicht eine beispielhafte Schnittstelle gemäß verschiedenen Ausführungsformen, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein „Fehler“-Verhalten aufweisen.
    • 4D veranschaulicht eine beispielhafte Schnittstelle gemäß verschiedenen Ausführungsformen, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein „Führungs“-Verhalten aufweisen.
    • 4E veranschaulicht eine beispielhafte Schnittstelle gemäß verschiedenen Ausführungsformen, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein Verhalten „Oberfläche erfasst“ in einer Augmented-Reality-Anwendung aufweisen.
    • 4F veranschaulicht eine beispielhafte Schnittstelle gemäß verschiedenen Ausführungsformen, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein „Render“-Verhalten in einer Augmented-Reality-Anwendung aufweisen.
    • 5 veranschaulicht eine beispielhafte Umgebung gemäß verschiedenen Ausführungsformen, in der verschiedene Ausführungsformen umgesetzt sein können.
    • 6 veranschaulicht ein Flussdiagramm, das einen beispielhaften Prozess zum Bereitstellen eines visuellen Feedbacks zu Bilderkennungsprozesszuständen gemäß verschiedenen Ausführungsformen beschreibt.
    • 7 veranschaulicht ein Flussdiagramm, das einen visuellen Suchprozess mit visuellem Feedback über Verhalten von visuellen Markern gemäß verschiedenen Ausführungsformen beschreibt.
    • 8 veranschaulicht ein Flussdiagramm, das einen Augmented-Reality-Prozess mit visuellem Feedback über Verhalten von visuellen Markern gemäß verschiedenen Ausführungsformen beschreibt.
    • 9 veranschaulicht eine beispielhafte Rechenvorrichtung, die gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung verwendet werden kann.
    • 10 veranschaulicht einen Satz beispielhafter Komponenten einer oder mehrerer Vorrichtungen der vorliegenden Offenbarung gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung.
    • 11 veranschaulicht eine beispielhafte Umgebung zum Umsetzen von Aspekten gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden verschiedene Ausführungsformen beschrieben. Zu Zwecken der Erläuterung werden spezifische Konfigurationen und Details dargelegt, um ein umfassendes Verständnis der Ausführungsformen bereitzustellen. Dem Fachmann ist jedoch ersichtlich, dass die Ausführungsformen ohne die konkreten Details umgesetzt werden können. Ferner können hinlänglich bekannte Merkmale weggelassen oder vereinfacht werden, damit die beschriebene Ausführungsform nicht unklar wird.
  • Systeme und Verfahren gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung können einen oder mehrere der oben genannten und andere Mängel überwinden, die bei herkömmlichen Ansätzen zur Bilderkennung auftreten. Insbesondere stellen verschiedene Ausführungsformen visuelles und intuitives Benutzerfeedback zu dem Status eines Bilderkennungsabtastprozesses durch animierte visuelle Marker bereit, deren Verhalten (z. B. Bewegung, Farbe, Form, Position) sich gemäß dem aktuellen Zustand des Bilderkennungsabtastprozesses ändert, wodurch die Benutzer über etwaige Anpassungen (z. B. Beleuchtung, Kameraposition, Stabilität), die vorgenommen werden müssen, informiert werden und außerdem die Aufmerksamkeit der Benutzer während Latenz aufrecht erhalten wird.
  • Um beispielsweise eine visuelle Suche nach Produkten in einem elektronischen Katalog basierend auf einem visuell ähnlichen physischen Objekt zu initiieren, kann eine Kamera einer Rechenvorrichtung, wie etwa eines Smartphones, dazu verwendet werden, eine Live-Kameraansicht (oder einzelne Bilder) einer Szene, die das physische Objekt beinhaltet, aufzunehmen. Gleichermaßen kann die Kamera dazu verwendet werden, eine Augmented-Reality-Ansicht eines Produkts in einem physischen Raum zu erzeugen, um eine Live-Kameraansicht einer Szene aufzunehmen, die den Raum beinhaltet. Um diese visuellen Such- und Augmented-Reality-Funktionen auszuführen, werden die Bilddaten, die die von der Kamera aufgenommene Szene darstellen, unter Verwendung von Bilderkennungstechniken verarbeitet, um Merkmalsdaten zu extrahieren, die dazu verwendet werden, die Szene, wie etwa die Objekte oder Oberflächen von Interesse, zu „verstehen“ und die visuelle Suche oder Positionierung des Augmented-Reality-Produkts zu ermöglichen.
  • Während der Benutzer die Szene unter Verwendung der Rechenvorrichtung abtastet, wird der Bilderkennungsprozess (z. B. visuelle Suche, Augmented Reality) im „Backend“ ausgeführt, entweder auf der Rechenvorrichtung oder einem zugeordneten Server. Der Prozess kann mehrere mögliche Zustände durchlaufen, wie etwa u. a. Initialisierung, Suche nach Bildmerkmalen, instabiler Frame, schlechte Beleuchtung, Durchsuchen des Katalogs, Netzwerkverbindungsprobleme. Einige dieser Zustände (z. B. Initialisierung, Suche) können eine bestimmte Verarbeitungszeit in Anspruch nehmen, wodurch Latenz verursacht wird. Einige der Zustände (z. B. instabiler Frame, schlechte Beleuchtung, Verbindungsprobleme) können schlechte Abtastbedingungen verursachen, die vom Benutzer korrigiert werden können, wenn der Benutzer auf derartige Probleme aufmerksam gemacht wird. Somit wäre es vorteilhaft, den Benutzer auf visuell anregende und informative Weise über den aktuellen Zustand des Abtastprozesses informieren zu können, um die Aufmerksamkeit des Benutzer während Verarbeitungslatenz aufrecht zu erhalten und den Benutzer außerdem darüber zu informieren, ob Anpassungen vorgenommen werden müssen, um die Abtastbedingungen zu verbessern.
  • Somit stellen verschiedene Ausführungsformen der vorliegenden Offenbarung Systeme und ein Verfahren für visuelle Suche und Augmented Reality bereit, bei denen eine auf der Schnittstelle als Overlay erscheinende Menge von visuellen Bildschirm-Markern (z. B. kleine animierte Blasen) den aktuellen Zustand eines Bilderkennungsprozesses (d. h. Abtastprozesses) signalisiert. Insbesondere kann die Menge von visuellen Markern eine Vielzahl von Verhalten annehmen, bei denen ein bestimmtes Verhalten einen bestimmten Zustand anzeigt. Somit kann der Benutzer anhand des Verhaltens der Menge von visuellen Markern den aktuellen Zustand des Abtastprozesses erkennen. Das Verhalten der Menge von visuellen Markern kann dem Benutzer auch empfohlene Maßnahmen anzeigen, die ergriffen werden können, um die Abtastbedingung zu verbessern oder den Prozess auf andere Weise zu erleichtern. In verschiedenen Ausführungsformen kann sich „Verhalten“ der Menge von visuellen Markern auf eine beliebige Kombination von Aussehen (z. B. Farbe, Opazität, Größe, Form), Bewegung individueller Marker, kollektiver oder organisierter Bewegung von Gruppen von Markern, Animationen, Physik, Anzahl und Verteilung von Markern und dergleichen beziehen. In verschiedenen Ausführungsformen kann sich die Menge von visuellen Bildschirm-Markern entsprechend bewegen oder nahtlos von einem Verhalten zu einem anderen Verhalten übergehen, wenn der Abtastprozess von einem Zustand zu einem anderen Zustand übergeht. Wenngleich visuelle Suchanwendungen, auch als bildbasierte Suche bekannt, und Augmented-Reality-Anwendungen in dieser Schrift als beispielhafte Anwendungen der vorliegenden Techniken verwendet werden, können viele andere kamerabasierte Anwendungen die vorliegenden Techniken verwenden, wie etwa u. a. Teileerkennung, virtuelle Mode oder virtuelles Make-up, visuelle Kreditkartenerkennung, Barcode-Scannen, Lesen von Verpackungsetiketten. In einigen Ausführungsformen kann eine Vielzahl derartiger Anwendungen bereitgestellt sein, bei denen eine Zuordnung zwischen den verschiedenen Bilderkennungszuständen und der Vielzahl von Verhalten virtueller Marker über eine Vielzahl derartiger Bilderkennungsprozesse hinweg konsistent ist. Verschiedene andere Anwendungen, Prozesse und Verwendungen werden nachstehend in Bezug auf die verschiedenen Ausführungsformen vorgestellt, von denen jede den Betrieb und die Leistung der Rechenvorrichtung(en) verbessert, auf der/denen sie umgesetzt sind.
  • 1 veranschaulicht ein beispielhaftes Szenario 100 gemäß verschiedenen Ausführungsformen, in dem ein Benutzer 102 ein Bild eines Objekts aufnehmen kann, um nach Produkten zu suchen, die dem Objekt visuell ähnlich sind. Wenngleich eine tragbare Rechenvorrichtung (z. B. ein Smartphone oder ein Tablet-Computer) gezeigt ist, versteht es sich, dass verschiedene andere Arten von elektronischen Vorrichtungen, die Eingaben bestimmen und verarbeiten können, ebenfalls gemäß verschiedenen Ausführungsformen verwendet werden können. Diese Vorrichtungen können beispielsweise u. a. Notebook-Computer, Personal Digital Assistants, E-Book-Reader, Mobiltelefone, Videospielkonsolen oder -controller, Smart-TVs, Set-Top-Boxen, einen tragbaren Computer (z. B. eine Smart-Watch oder -Brille) und tragbare Mediaplayer usw. beinhalten. In diesem Beispiel weist die Rechenvorrichtung 104 mindestens eine Kamera 106 (oder einen anderen Bildaufnahmesensor oder ein anderes Bildaufnahmeelement) auf, die zum Ausführen von Funktionen, wie etwa Bild- und/oder Videoaufnahme betrieben werden kann. Jede Kamera kann beispielsweise eine ladungsgekoppelte Vorrichtung (charge-coupled device - CCD), ein Bewegungserfassungssensor oder ein Infrarotsensor sein oder kann eine andere zweckmäßige Bildaufnahmetechnologie verwenden. Der Benutzer kann die Vorrichtung so positionieren, dass sich ein oder mehrere Gegenstände von Interesse 112 in einem Sichtfeld 108 von mindestens einer Kamera 106 an der Rechenvorrichtung befinden. Die Kamera kann Videos aufnehmen, sodass eine „Live“-Ansicht der aufgenommenen Videoinformationen auf einem Anzeigebildschirm der Rechenvorrichtung angezeigt werden kann, wie in 2A veranschaulicht. In anderen Ausführungsformen könnte die Kamera ein Standbild 124 aufnehmen, das eine Darstellung des Gegenstands/der Gegenstände von Interesse zeigt. In zumindest einigen Ausführungsformen können das Bild und/oder ein Frame des Videos analysiert werden, wie etwa durch Analysieren auf der Vorrichtung oder Hochladen über ein Netzwerk zu einem Dienst zum Analysieren von Bildinhalten.
  • 2A veranschaulicht eine beispielhafte Schnittstelle der Rechenvorrichtung 200 gemäß verschiedenen Ausführungsformen, die ein Bild oder eine Live-Kameraansicht eines Objekts 204 zum Durchführen einer Bilderkennung aufnimmt. In verschiedenen Ausführungsformen stellt die Schnittstelle 202 eine Live-Kameraansicht der Szene bereit, die das durch die Kamera der Rechenvorrichtung 200 aufgenommene Objekt 204 beinhaltet. Verschiedene Bilderkennungsprozesse und -techniken können dazu verwendet werden, die von der Kamera aufgenommenen Bilddaten zu verarbeiten und zu analysieren, um die vorstehend beschriebene visuelle Suche oder Augmented-Reality-Produktansicht durchzuführen. In einigen Ausführungsformen kann das Bild einer Vorverarbeitung unterzogen werden, beispielsweise zum Schärfen, Anpassen von Farbfaktoren usw., um die Qualität der Bilddaten zu verbessern. Zum Beispiel kann das Bild verbessert werden, um eine Farbe des Gegenstandes zu zeigen, die näher an dem liegt, was ein Mensch wahrnehmen würde, der den Gegenstand im wirklichen Leben betrachtet. Das Bild kann auch so verbessert werden, dass bestimmte Merkmale, wie etwa Konturen, Linien, Texturen und Text, die in dem tatsächlichen Gegenstand vorkommen, entweder visuell oder in einem computerlesbaren Datenformat besser sichtbar werden.
  • In einigen Fällen können beispielsweise Lichtverhältnisse, die zum Zeitpunkt der Bildaufnahme vorliegen, die Temperatur oder Intensität einer bestimmten Farbe, die aufgenommen wird, sowie den Kontrast zwischen bestimmten Konturen beeinflussen. Beispielsweise kann ein bestimmter Blauton, wie er in einem Bild aufgenommen wurde, wenn er an einem wolkigen Tag abgebildet wird, wahrnehmungsmäßig anders sein als wenn er an einem sonnigen Tag abgebildet wird. In einigen Ausführungsformen kann der Benutzer mit der Softwareanwendung interagieren, um ein Beleuchtungsmodell auszuwählen, das auf die Art der Lichtverhältnisse kalibriert ist, die zum Zeitpunkt der Bildaufnahme vorliegen. Beispielsweise kann der Benutzer zwischen Beleuchtungsmodellen wählen, die für fluoreszierendes Licht, bewölktes Wetter, sonniges Wetter, natürliches Licht usw. kalibriert sind. Die im Bild erfassten Farben können basierend auf dem ausgewählten Beleuchtungsmodell entsprechend angepasst, z. B. neu kalibriert werden.
  • In einigen Ausführungsformen können ISO-Einstellungen (International Standards Organization) zum Messen der Lichtempfindlichkeit verwendet werden, um die Farbeinstellungen automatisch anzupassen. Beispielsweise kann eine Kamera ihre ISO-Einstellungen in Abhängigkeit von den Lichtverhältnissen, die von einem Lichtsensor in der Kamera bestimmt wurden, automatisch anpassen. Eine niedrigere ISO-Einstellung kann hohe Lichtverhältnisse anzeigen, während eine höhere ISO-Einstellung niedrige Lichtverhältnisse anzeigen kann. Diese Beobachtung kann beispielsweise von der Website oder Anwendung, die auf der Benutzervorrichtung ausgeführt wird, dazu verwendet werden, die Farbeinstellungen so anzupassen, dass die Farben in dem aufgenommenen Bild den vom Benutzer tatsächlich wahrgenommenen Farben visuell ähnlich sind. In einigen Ausführungsformen kann die Website oder Anwendung diese Einstellungen bereitstellen oder bestimmte derartige Einstellungen, die in Anbetracht von erfassten Umgebungslichtverhältnissen und des Motivs des Bilds als optimal bestimmt werden, automatisch auf das Bild anwenden, wenn das Bild aufgenommen wird.
  • Sobald das Bild aufgenommen wurde und in einigen Ausführungsformen, nachdem es wie vorstehend erwähnt einer Vorverarbeitung unterzogen wurde, können Attribute oder Merkmale der Szene, wie etwa Objekte, Oberflächen und Räume, aus den Bilddaten durch verschiedene Modelle, einschließlich verschiedener Computervisions- und Bildverarbeitungstechniken und - prozesse, bestimmt werden. Modelle für maschinelles Lernen, wie etwa beispielsweise neuronale Netze und andere auf maschinellem Lernen basierende Ansätze, können auf zweckmäßigen Trainingsdaten zum Erfassen und Erkennen verschiedener Arten von Objekten und Objektmerkmalen trainiert werden. In einigen Ausführungsformen kann das neuronale Netz unter Verwendung von Bildern aus einem Katalog trainiert werden, die Metadaten, Beschreibung, Klassifizierung oder andere Daten beinhalten, die zum Identifizieren verschiedener Objekte und Objektmerkmale verwendet werden können. Beispielsweise kann in einigen Ausführungsformen dann eine Lokalisierung durchgeführt werden, um den relevanten Bereich der Szene zu bestimmen, der einem Objekt (einschließlich Räumen oder Oberflächen) von Interesse zugeordnet ist. In einigen Ausführungsformen kann ein herkömmlicher Trainingsprozess mit dem tiefen neuronalen Netz verwendet werden, wenngleich verschiedene andere Ansätze verwendet werden können, die ebenfalls bestimmte Vorteile bereitstellen können. In einigen Ausführungsformen können außerdem die vollständig verbundenen Schichten des Netzes analysiert werden, ohne dass das Klassifizierungsergebnis der endgültigen Schicht analysiert werden muss. Zwischenmerkmale aus dem Netz können in zumindest einigen Ausführungsformen für Ähnlichkeitsberechnungen verwendet werden. Die Techniken zum Bestimmen von Attributen können auf maschinellem Lernen basierende Ansätze beinhalten, wie etwa jene, die Convolutional Neural Networks, Merkmalserkennungs- und -abgleichtechniken (z. B. Filtertechniken) oder eine Kombination von beiden und/oder andere Techniken verwenden. Details bezüglich solcher Modelle und wie die Modelle trainiert oder konfiguriert werden können, um eine derartige Funktionalität bereitzustellen, werden nachstehend ausführlicher dargestellt, damit die vorliegende Diskussion nicht unklar wird. In verschiedenen Ausführungsformen einer visuellen Suchanwendung können die Merkmalsdaten dazu verwendet werden, Produkte in einem elektronischen Katalog zu identifizieren, die dem Objekt von Interesse visuell ähnlich, nachdem das Objekt von Interesse in der Szene identifiziert wurde und Objekterkennungstechniken durchgeführt wurden, um bestimmte dem Objekt zugeordnete Merkmalsdaten zu extrahieren. Dies kann durch verschiedene Techniken durchgeführt werden. Beispielsweise kann in einigen Ausführungsformen eine K-Nearest-Neighbors-(KNN-)Technik verwendet werden, bei der ein Merkmalsvektor des Objekts von Interesse mit Merkmalsvektoren von Produkten (d. h. Produktbildern) in dem elektronischen Katalog verglichen werden kann, und ein Maß für die visuelle Ähnlichkeit zwischen dem Objekt von Interesse und einem Produkt basierend auf einem Abstand zwischen ihren jeweiligen Merkmalsvektoren bestimmt werden. Die Produkte können dann basierend auf der bestimmten visuellen Ähnlichkeit als Suchergebnisse geordnet und/oder ausgewählt werden. Dies ist in 2B veranschaulicht, die eine beispielhafte Schnittstelle der Rechenvorrichtung 220 gemäß verschiedenen Ausführungsformen veranschaulicht, die Suchergebnisse 222 basierend auf dem aufgenommenen Bild des Objekts bereitstellt.
  • In verschiedenen Ausführungsformen einer Augmented-Reality-Produktansicht-Anwendung kann ein grafisches Rendering eines Produkts erzeugt und einem System oder einer vom Benutzer ausgewählten Position der Szene überlagert werden, nachdem eine Oberfläche oder ein Raum in einer Szene durch Bilderkennung identifiziert wurde. Beispielsweise kann das grafische Rendering des Produkts proportional zu anderen Objekten in der Szene dimensioniert und so positioniert werden, dass die Illusion bereitgestellt wird, dass das Objekt auf einer bestimmten Oberfläche in der Szene platziert ist. In einigen Ausführungsformen kann ein Benutzer das grafische Rendering des Produkts ziehen, um es in verschiedenen Positionen zu platzieren oder die grafische Darstellung drehen, um verschiedene Winkel des Produkts zu betrachten. Somit können sich die Größe, die Position oder der Betrachtungswinkel des grafischen Rendering des Produkts gemäß der Benutzereingabe ändern.
  • 3 veranschaulicht eine beispielhafte Pipeline 300 eines Bilderkennungsprozesses gemäß verschiedenen Ausführungsformen. Während eines Bilderkennungsprozesses, wie etwa eines visuellen Suchprozesses oder eines Augmented-Reality-Produktbetrachtungsprozesses, können verschiedene Zustände auftreten, von denen einige vorstehend erwähnt wurden. Beispielsweise tritt ein Initialisierungszustand 302 auf, wenn ein Benutzer die Kamerafunktion innerhalb einer visuellen Such- oder Augmented-Reality-Anwendung öffnet, während dem der Empfang von Bilddaten beginnt und der Algorithmus die Analyse der Bilddaten vorbereitet. In diesem Zustand wäre es vorteilhaft, dem Benutzer anzuzeigen, dass die Funktion initialisiert wurde. In einigen Ausführungsformen kann der Bilderkennungsprozess in einen inaktiven Zustand übergehen, der signalisiert, dass die Live-Kameraansicht der Szene oder die Abtastbedingung nicht gut genug ist, um eine Bildanalyse der Bilddaten durchzuführen. Beispielsweise kann der Bilderkennungsprozess in den inaktiven Zustand übergehen, wenn der Frame oder die Kamera nicht stabil genug ist und der Kamerafokus nicht fest auf bestimmte Objekte in der Kameraansicht gerichtet werden kann. Der Bilderkennungsprozess kann auch in den inaktiven Zustand übergehen, wenn nicht genügend Licht vorhanden ist, unter anderen schlechten Bildbedingungen, die eine angemessene Bildanalyse verhindern. Wenn die Bildbedingungen angemessen sind, kann der Bilderkennungsprozess in den Analysezustand 306 übergehen, in dem der Frame stabilisiert wird und das Bildanalysemodul damit beginnt, die Bilddaten zu analysieren, um Objekte, wie etwa bestimmte Ecken, Kanten oder andere Merkmale, zu erfassen. Es wäre vorteilhaft, dem Benutzer visuell anzuzeigen, dass das System arbeitet und das Bild analysiert wird. In einigen Ausführungsformen können mehrere Objekte erfasst werden. Somit wäre es vorteilhaft anzugeben, welche Objekte von der Kamera erfasst werden, damit der Benutzer auswählen kann, auf welches Objekt in der Kameraansicht fokussiert werden soll.
  • In einigen Ausführungsformen kann der Bilderkennungsprozess auch in einen Fehlerzustand 308 übergehen, in dem der Prozess gestört ist. Dies kann durch Verbindungsprobleme oder andere clientseitige, serverseitige oder kanalbasierte Systemprobleme verursacht werden, die dazu führen, dass der Prozess angehalten oder gestoppt wird. Der Bilderkennungsprozess kann an beliebigen Punkten in den Fehlerzustand 308 übergehen und in einigen Ausführungsformen kann der Prozess, wenn die Verbindung wiederhergestellt ist, den Zustand bevor er in den Fehlerzustand 308 überging wieder aufnehmen, was in diesem Beispiel der Analysezustand 306 ist. Der Prozess kann dann in den erfassten Zustand 310 übergehen, in dem ein Objekt von Interesse in der Kameraansicht vollständig erfasst und sein Merkmal extrahiert wurde. Dies können verschiedene Arten von Objekten in verschiedenen Anwendungen und Anwendungsfällen sein. Beispielsweise kann in einer visuellen Suchanwendung das erfasste Objekt ein Objekt sein, das der Benutzer als visuelle Suchabfrage verwenden möchte, um nach visuell ähnlichen Produkten zu suchen.
  • In einer Augmented-Reality-Anwendung kann das erfasste Objekt eine Oberfläche sein, auf der ein Augmented-Reality-Modell positioniert werden kann. Insbesondere kann beispielsweise bei einer visuellen Suchanwendung 324, nachdem das Objekt von Interesse erfasst wurde, der Bilderkennungsprozess in einen Suchzustand 312 übergehen, in dem eine Datenbank von Produktbildern basierend auf visueller Ähnlichkeit mit dem erfassten Objekt durchsucht wird. Dann werden die Ergebnisse in einem Zustand Ergebnisse laden 314 auf die Benutzervorrichtung geladen. In einer Augmented-Reality-Anwendung 326 geht der Prozess nach dem Erfassen einer Oberfläche oder eines Raums 310 in einen Positionsbestimmungszustand 316 über, in dem eine Position auf der Oberfläche zum Rendern des Augmented-Reality-Modells bestimmt wird. In einigen Ausführungsformen wird die Position automatisch bestimmt oder kann basierend auf einer vom Benutzer ausgewählten Position bestimmt werden. Der Prozess geht dann in einen Modellrenderzustand 318 über, in dem das Modell an der bestimmten Position gerendert wird. Wenn das Modell vollständig gerendert ist, geht der Prozess in einen Zustand Modell gerendert 320 über, der das gerenderte Modell zeigt. In einigen Ausführungsformen geht der Prozess in einen Benutzereingabezustand 322 über, in dem das Modell auf die Benutzereingabe reagiert, wenn eine Benutzereingabe empfangen wird, wie etwa eine Berührung oder eine Modellmanipulation.
  • 4A veranschaulicht eine beispielhafte Schnittstelle 400 gemäß verschiedenen Ausführungsformen, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein „inaktives“ Verhalten aufweisen. Wie bereits erwähnt kann in einigen Ausführungsformen der Bilderkennungsprozess in einen inaktiven Zustand 402a übergehen, der signalisiert, dass die Live-Kameraansicht der Szene oder die Abtastbedingung nicht gut genug ist, um eine Bildanalyse der Bilddaten durchzuführen. Beispielsweise kann der Bilderkennungsprozess in den inaktiven Zustand übergehen, wenn der Frame oder die Kamera nicht stabil genug ist und der Kamerafokus nicht fest auf bestimmte Objekte in der Kameraansicht gerichtet werden kann. Der Bilderkennungsprozess kann auch in den inaktiven Zustand übergehen, wenn nicht genügend Licht vorhanden ist, unter anderen schlechten Bildbedingungen, die eine angemessene Bildanalyse verhindern. Wenn sich der Bilderkennungsprozess in dem inaktiven Zustand 402a befindet, ist die Menge von visuellen Markern dazu konfiguriert, ein „inaktives“ Verhalten 404a aufzuweisen, das dem inaktiven Zustand 402a entspricht. Beispielsweise können visuelle Marker kleine Blasen sein, die auf der Live-Kameraansicht als Overlay erscheinen, und das „inaktive“ Verhalten wird auf der Schnittstelle 406a veranschaulicht. In diesem Beispiel kann das „inaktive“ Verhalten der visuellen Marker 412a so beschrieben werden, dass die visuellen Marker über die Live-Kameraansicht 406a verstreut sind, wie auf der Benutzervorrichtung 408b aus 4A gezeigt. In anderen Ausführungsformen des „inaktiven“ Verhaltens können die visuellen Marker ein anderes Aussehen oder einen anderen Stil aufweisen.
  • 4B veranschaulicht eine beispielhafte Schnittstelle 420 gemäß verschiedenen Ausführungsformen, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein Verhalten „Objekt erfasst“ aufweisen. Der Prozess kann in einen Zustand Objekt erfasst 402b übergehen, in dem ein Objekt 410b von Interesse in der Kameraansicht vollständig erfasst wurde und seine Merkmale extrahiert werden. Wenn sich der Bilderkennungsprozess in dem Zustand Objekt erfasst 402b befindet, ist die Menge von visuellen Markern dazu konfiguriert, ein Verhalten „Objekt erfasst“ 404b aufzuweisen, das dem Zustand Objekt erfasst 402b entspricht. Beispielsweise kann das Verhalten „Objekt erfasst“ 404b die visuellen Marker 412b so veranschaulichen, dass sie das erfasste Objekt 410b in der Live-Kameraansicht 406b umgeben, wie auf der Benutzervorrichtung 408b aus 4B gezeigt. In anderen Ausführungsformen von „Objekt erfasst“ können die visuellen Marker ein anderes Aussehen oder einen anderen Stil aufweisen.
  • 4C veranschaulicht eine beispielhafte Schnittstelle 430 gemäß verschiedenen Ausführungsformen, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein „Fehler“-Verhalten aufweisen. In einigen Ausführungsformen kann der Bilderkennungsprozess auch in einen Fehlerzustand 402c übergehen, in dem der Prozess gestört ist. Dies kann durch Verbindungsprobleme oder andere clientseitige, serverseitige oder kanalbasierte Systemprobleme verursacht werden, die dazu führen, dass der Prozess angehalten oder gestoppt wird. Wenn sich der Bilderkennungsprozess in dem Fehler-Zustand 402c befindet, ist die Menge von visuellen Markern dazu konfiguriert, ein „Fehler“-Verhalten 404c aufzuweisen, das dem Fehlerzustand 402c entspricht. Beispielsweise kann das „Fehler“-Verhalten 404c die visuellen Marker 412c so veranschaulichen, dass sie von dem Objekt und außer Sicht fallen und schließlich die Live-Kameraansicht 406c zurücklassen, wie auf der Benutzervorrichtung 408c aus 4C gezeigt. In anderen Ausführungsformen des „Fehler“-Verhaltens können die visuellen Marker ein anderes Aussehen oder einen anderen Stil aufweisen.
  • 4D veranschaulicht eine beispielhafte Schnittstelle 440 gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein „Führungs“-Verhalten aufweisen. Der Prozess kann in einen Führungszustand 402d übergehen, in dem eine Anpassung vorgenommen werden muss, um beispielsweise die Qualität der Kameraansicht zu verbessern. Beispielsweise kann erfasst werden, dass die Umgebungsbeleuchtung zu schwach ist und der Benutzer die Taschenlampenfunktion einschalten sollte. Somit wäre es vorteilhaft, den Benutzer visuell anzuleiten, eine derartige Handlung zu ergreifen. Wenn sich der Bilderkennungsprozess in dem Zustand Objekt erfasst 402d befindet, ist die Menge von visuellen Markern dazu konfiguriert, ein „Führungs“-Verhalten 404d aufzuweisen, das dem Führungszustand 402d entspricht. Beispielsweise kann das „Führungs“-Verhalten 404d die visuellen Marker 412d so veranschaulichen, dass sie an der Position auf der Schnittstelle 406d gesammelt sind, um ein Schnittstellenelement, wie etwa eine Taschenlampen-Taste 414, hervorzuheben, um die Aufmerksamkeit des Benutzers auf das Element zu lenken, wie auf der Benutzervorrichtung 408d aus 4D gezeigt. In anderen Ausführungsformen der „Führung“ können die visuellen Marker ein anderes Aussehen oder einen anderen Stil aufweisen.
  • 4E veranschaulicht eine beispielhafte Schnittstelle 450 gemäß verschiedenen Ausführungsformen, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein Verhalten „Oberfläche erfasst“ in einer Augmented-Reality-Anwendung aufweisen. Der Prozess kann dann in den Zustand Oberfläche erfasst 402e übergehen, in dem ein Objekt von Interesse in der Kameraansicht vollständig erfasst und sein Merkmal extrahiert wurde. Dies können verschiedene Arten von Objekten in verschiedenen Anwendungen und Anwendungsfällen sein. In einer Augmented-Reality-Anwendung kann das erfasste Objekt eine Oberfläche sein, auf der ein Augmented-Reality-Modell positioniert werden kann. Wenn sich der Bilderkennungsprozess in dem Zustand Oberfläche erfasst 402e befindet, ist die Menge von visuellen Markern 412e dazu konfiguriert, ein Verhalten „Oberfläche erfasst“ 404e aufzuweisen, das dem Zustand Oberfläche erfasst 402e entspricht. Beispielsweise kann das Verhalten „Oberfläche erfasst“ 404e die visuellen Marker so veranschaulichen, dass sie über die erfasste Oberfläche 41 0e in der Live-Kameraansicht 406e verstreut sind, wie auf der Benutzervorrichtung 408e aus 4E gezeigt. In anderen Ausführungsformen des „Fehler“-Verhaltens können die visuellen Marker ein anderes Aussehen oder einen anderen Stil aufweisen.
  • 4F veranschaulicht eine beispielhafte Schnittstelle 460 gemäß verschiedenen Ausführungsformen, die eine Live-Kameraansicht und eine Menge von visuellen Markern zeigt, die ein „Render“-Verhalten in einer Augmented-Reality-Anwendung aufweisen. Der Prozess kann in einen Modellrenderzustand 402f übergehen, in dem das Modell an einer bestimmten Position gerendert wird. In einigen Ausführungsformen kann das Rendern einige Zeit dauern, was zu einer gewissen Latenz führt. Somit wäre es vorteilhaft, dem Benutzer visuell anzuzeigen, dass das Rendern erfolgt und das Modell bald angezeigt wird. Wenn sich der Bilderkennungsprozess in dem Zustand Objekt erfasst 402f befindet, ist die Menge von visuellen Markern dazu konfiguriert, ein „Modellrender“-Verhalten 404f aufzuweisen, das dem Modellrenderzustand 402f entspricht. Beispielsweise kann das „Modellrender-‟ Verhalten 404f die visuellen Marker 412f so veranschaulichen, dass sie an der Position, in der das Modell in der Live-Kameraansicht 406f gerendert wird, gesammelt sind, wie auf der Benutzervorrichtung 408f aus 4F gezeigt. In anderen Ausführungsformen von „Objekt erfasst“ können die visuellen Marker ein anderes Aussehen oder einen anderen Stil aufweisen.
  • Wie bereits erörtert können die visuellen Marker ihr Verhalten und ihre Bewegung gemäß den verschiedenen Zuständen des Bilderkennungsprozesses ändern. Die vorstehenden Beispiele veranschaulichten verschiedene Stufen des Bilderkennungsprozesses. Ein Bilderkennungsprozess kann jedoch neben Stufen auch andere mögliche Zustände umfassen, wie etwa solche, die auf der Art der erfassten Szenen und den erfassten Objekten basieren. Beispielsweise kann das Erfassen eines Objekts in einem visuellen Suchprozess und das Erfassen einer Oberfläche in einem Augmented Reality-Prozess dieselbe Stufe in einem allgemeinen Bilderkennungsprozess sein. Da die Szenen jedoch unterschiedlich sind, können die beiden als zwei unterschiedliche Zustände bezeichnet werden und daher ein unterschiedliches Verhalten der visuellen Marker hervorrufen. Zusätzliche Beispiele für Arten von Szenen beinhalten u. a. eine überfüllte Szenen, eine verschwommene Szene, eine leere Szene, die unterschiedliche Verhalten von den visuellen Markern hervorrufen können, um dem Benutzer ein Feedback und eine Anzeige bereitzustellen. Wenngleich visuelle Suchanwendungen, auch als bildbasierte Suche bekannt, und Augmented-Reality-Anwendungen in dieser Schrift als beispielhafte Anwendungen der vorliegenden Techniken verwendet werden, können viele andere kamerabasierte Anwendungen die vorliegenden Techniken verwenden, wie etwa u. a. Teileerkennung, virtuelle Mode oder virtuelles Make-up. Beispielsweise können die vorliegenden Techniken bei der Bildverarbeitung von Kreditkarten, Barcodes, Stadtlandschaften, Verpackungsetiketten und dergleichen verwendet werden.
  • In verschiedenen Ausführungsformen kann das Verhalten der visuellen Marker auf der bestimmten Anwendung und dem Objekt basieren, von dem erwartet wird, dass es von der Kamera aufgenommen wird. Beispielsweise kann in Anwendungen, in denen die Kamera dazu verwendet wird, ein Bild eines Gegenstands mit einer bekannter Form aufzunehmen, wie etwa u. a. einer Kreditkarte, eines Versandetiketts, eines Blatt Papiers oder eines Barcodes, die Menge von visuellen Markern einen Rahmen oder einen Umriss der bekannten Form bilden. Dies kann dem Benutzer eine Führung bereitstellen, um die Kamera in Bezug auf das Objekt so zu positionieren, dass das Objekt im Wesentlichen mit dem durch die visuellen Marker gebildeten Rahmen ausgerichtet ist oder in diesen passt, wenn er auf dem Bildschirm der Vorrichtung erscheint. Dies ermöglicht Konsistenz und höhere Qualität der Bildaufnahmen, was die Bilderkennung des Objekts verbessert.
  • Wie bereits erwähnt beinhaltet das Verhalten der visuellen Marker Parameter, wie etwa u. a. Größe, Form, Farbe und Opazität einzelner visueller Marker, Größe und Form der Menge von visuellen Markern. In verschiedenen Ausführungsformen kann das Verhalten der visuellen Marker auch Animationen beinhalten. Beispielsweise können sich die Größe, Form, Farbe und Opazität einzelner visueller Marker im Laufe der Zeit ändern, z. B. standardmäßig über die Quelle des Bildschirmlebenszyklus eines Markers oder wenn bestimmte Dinge geschehen oder als Reaktion auf das Auftreten eines Ereignisses. Beispielsweise kann ein einzelner Marker einen Lebenszyklus aufweisen, in dem der visuelle Marker eingeblendet wird, während seine Größe von eins zu einer maximalen Pixelgröße zunimmt, und ausgeblendet wird. Verschiedene einzelne visuelle Marker können versetzte Lebenszyklen aufweisen, in denen sich die visuellen Marker zu einem bestimmten Zeitpunkt an verschiedenen Punkten im Lebenszyklus befinden können, wodurch ein dynamisches und visuell ansprechendes Erlebnis entsteht. In einigen Ausführungsformen kann die Menge von visuellen Markern kollektiv animiert werden, wobei die Animation einzelner visueller Marker koordiniert wird, um eine Animation der Menge als Ganzes zu bewirken.
  • In verschiedenen Ausführungsformen und insbesondere in Augmented-Reality-Anwendungen kann sich die Größe der einzelnen visuellen Marker oder die Gesamtgröße der Menge von visuellen Markern basierend auf einem Abstand oder Zoom zwischen der Kamera und der Hintergrundoberfläche oder dem Hintergrundraum ändern. Somit kann die Perspektive beibehalten werden, wenn der Benutzer die Kamera in Bezug auf die Hintergrundumgebung bewegt. Wenn ein Benutzer beispielsweise eine Kamera näher an eine Oberfläche bewegt oder hineingezoomt hat, sodass die Oberfläche auf dem Bildschirm größer erscheint, können sich die visuellen Marker ebenfalls und in einem entsprechendem Maß ausdehnen, wodurch die Perspektive erhalten bleibt.
  • 5 veranschaulicht eine beispielhafte Umgebung 500, in der verschiedene Ausführungsformen umgesetzt sein können. In diesem Beispiel kann ein Benutzer Bilddaten aus einer Live-Kameraansicht einer Szene, die ein oder mehrere Objekte, eine oder mehrere Oberflächen oder einen oder mehrere Räume beinhaltet, unter Verwendung einer Rechenvorrichtung 502 aufnehmen. In verschiedenen Ausführungsformen können die Bilddaten auch von einem Standbild und/oder Video sein. Eine Anwendung, die auf der Rechenvorrichtung 502 oder einem mit der Rechenvorrichtung 502 kommunizierenden Remote-Server ausgeführt wird, kann die Bilddaten analysieren, um eine Bilderkennung auf den Bilddaten durchzuführen, wie etwa zur visuellen Suche oder Augmented-Reality-Produktbetrachtung. Die Rechenvorrichtung kann mindestens einen Teil der Informationen über mindestens ein zweckmäßiges Netzwerk 504 senden, wozu etwa das Internet, ein lokales Netzwerk (LAN), ein Mobilfunknetzwerk und dergleichen gehören können. Die Anfrage kann an einen zweckmäßigen Dienstanbieter 506 gesendet werden, der einen oder mehrere Dienste, ein oder mehrere Systeme oder eine oder mehrere Anwendungen zum Verarbeiten derartiger Anfragen bereitstellen kann. Zusätzliche oder alternative Elemente und Elemente können in einem derartigen System gemäß den verschiedenen Ausführungsformen verwendet werden. Dementsprechend ist zu beachten, dass zusätzliche Dienste, Anbieter und/oder Elemente in einem derartigen System enthalten sein können und wenngleich einige der Dienste, Anbieter, Elemente usw. als separate Einheiten und/oder Elemente veranschaulicht sind, die veranschaulichte Anordnung als beispielhafte Anordnung bereitgestellt ist und andere dem Fachmann bekannte Anordnungen durch die in dieser Schrift beschriebenen Ausführungsformen in Betracht gezogen werden. Es versteht sich, dass jeder Dienst und/oder jede Komponente eine oder mehrere Rechenkomponenten, wie etwa mindestens einen Server, sowie andere Komponenten beinhalten kann, die für die Bereitstellung von Diensten bekannt sind, wozu eine oder mehrere APIs, ein oder mehrere Datenspeicher und andere zweckmäßige Hardware- und Softwarekomponenten gehören können. Wenngleich die Dienste der Darstellung in 5 nach Teil der Anbieterumgebung 506 sind, versteht es sich, dass einer oder mehrere dieser Identifikationsdienste von Dritten 508 betrieben werden könnten, die diese Dienste dem Anbieter anbieten. In diesem Beispiel wird die Anfrage an einer Netzwerkschnittstellenschicht 510 des Dienstanbieters 506 empfangen.
  • Die Netzwerkschnittstellenschicht kann beliebige zweckmäßige Komponenten beinhalten, die dafür bekannt sind oder dazu verwendet werden, Anfragen aus einem Netzwerk zu empfangen, wozu etwa eine oder mehrere Anwendungsprogrammierschnittstellen (application programming interfaces - APIs) oder andere derartige Schnittstellen zum Empfangen derartiger Anfragen gehören können. Die Netzwerkschnittstellenschicht 510 kann Eigentum des Anbieters sein und von diesem betrieben werden oder vom Anbieter als Teil einer gemeinsam genutzten Ressource oder eines „Cloud“-Angebots genutzt werden. Die Netzwerkschnittstellenschicht kann die Anfrage empfangen und analysieren und bewirken, dass mindestens ein Teil der Informationen in der Anfrage an ein zweckmäßiges System oder einen zweckmäßigen Dienst weitergeleitet wird, wie etwa u. a. einen Inhaltsserver 512 (z. B. einen Webserver oder einen Anwendungsserver), einen Bildanalysedienst 518. Wie beschrieben kann der Bildanalysedienst 518 die Bilddaten der Live-Kameraansicht analysieren, um verschiedene Objekte, Oberflächen und Räume in der Live-Kameraansicht oder -Szene basierend auf visuellen Merkmalen, die aus den Bilddaten extrahiert wurden, zu identifizieren. In einigen Ausführungsformen kann der Bildanalysedienst 518 ein neuronales Netz beinhalten, das ein Convolutional Neural Network (CNN) beinhalten kann. Das CNN kann trainiert werden, um eine Bilderkennung unter Verwendung eines vielfältigen Satzes von Trainingsbildern durchzuführen, die als bestimmte Attribute, wie etwa Farbe, Stil, Länge, Marke, Form, Größe, Materialien, Textur und dergleichen, aufweisend gekennzeichnet sind, durch die das CNN lernt, wie bestimmte Attribute sich auf die Bilder auf ihre jeweiligen Klassifikationen beziehen. In einigen Ausführungsformen kann das neuronale Netz auch unter Verwendung von Trainingsbildern trainiert werden, die als keine bestimmten Attribute aufweisend gekennzeichnet sind, was als Hard Negative Mining bekannt ist, um das neuronale Netz weiter zu trainieren, um zu unterscheiden, ob ein Bild einem bestimmten Attribut zugeordnet ist oder nicht. In bestimmten Ausführungsformen kann das Trainieren eines neuronalen Netzes einen erheblichen Einsatz von Rechenressourcen und Zeit beinhalten, sodass dies einem vorbereitenden Schritt zum Bearbeiten von Suchanfragen entsprechen kann und/oder relativ selten in Bezug auf die Bearbeitung von Suchanfragen und/oder nach einem Zeitplan durchgeführt werden kann. Gemäß einigen Ausführungsformen können sich Trainingsbilder, entsprechende Kennzeichnungen und andere Metadaten in der Trainingsdatenbank befinden, die Daten enthält, die sich auf das Training und die Verfeinerung des Klassifizierungsmodells, einschließlich des neuronalen Netzes, beziehen.
  • Das neuronale Netz kann mehrere Lernschichten in seiner Architektur beinhalten. Beispielsweise kann das neuronale Netz eine Merkmalsextraktionsschicht beinhalten. Ein Trainingsbild aus den Trainingsdaten kann in der Merkmalsextraktionsschicht analysiert werden, um einen Merkmalsvektor aus dem Netzwerk vor der Klassifizierungsschicht zu extrahieren. Dieser Merkmalsvektor beschreibt den in dem Bild gezeigten Inhalt und kann einem oder mehreren der Attribute zugeordnet werden, für deren Bestimmung das Modell trainiert wird. Dieser Prozess kann für jedes der Trainingsbilder umgesetzt werden und die resultierenden Inhaltsmerkmalsvektoren können in einer Trainingsdatenbank gespeichert werden. In verschiedenen Ausführungsformen können die resultierenden Inhaltsmerkmalsvektoren zur verbesserten Verarbeitung komprimiert werden. Beispielsweise können die Inhaltsmerkmalsvektoren, die durch das neuronalen Netz erzeugt werden, Inhaltsmerkmalsvektoren beinhalten, die eine große Anzahl von Abmessungen aufweisen. Die Abmessungen dieser Objektmerkmalsvektoren können durch Anwenden von mindestens einem von Hauptelementanalyse (Principal Element Analysis - PCA) oder mehrdimensionaler Skalierung (Multi-Dimensional Scaling - MDS) verringert werden. Vorteilhafterweise kann ein derartiger Ansatz Speicheranforderungen reduzieren und die Latenzleistung erheblich verbessern. Zusätzlich kann ein derartiger Ansatz Rauschen in dem transformierten Raum entfernen oder zumindest reduzieren, da die Tailing-Abmessungen im Allgemeinen Rauschen entsprechen und das Verwerfen hilft, sich bei der Messung von Ähnlichkeiten auf das Nutzsignal zu konzentrieren.
  • Das neuronale Netz kann weiter trainiert oder verfeinert werden, indem ein Testbild durch das neuronale Netz ohne zugeordnete Attributkennzeichnung verarbeitet und die Klassifizierung des Testbilds durch das neuronale Netz als verschiedenen Attributen zugeordnet validiert wird. Insbesondere kann das neuronale Netz eine Validierung der Klassifizierung als richtig, falsch oder in einigen Ausführungsformen teilweise richtig empfangen. Die Validierung kann durch einen menschlichen Annotator oder durch Zugreifen auf eine gespeicherte Validierungsantwort erfolgen, die dem Testbild zugeordnet ist. In einer Ausführungsform wird der Klassifizierung des Testbilds eine Validierungsbewertung zugewiesen, wobei der Wert der Validierungsbewertung von der Beziehung zwischen den Attributen abhängt, die das neuronale Netzwerk als dem Testbild zugeordnet klassifiziert hat, und den tatsächlichen richtigen Attributen des Testbilds. In einigen Ausführungsformen kann das neuronale Netz so ausgelegt sein, dass es die Validierungsbewertung maximiert oder minimiert und das neuronale Netz kann darin bestärkt werden, das gewünschte Klassifizierungsverhalten durch Auslegung des Validierungsbewertungsschemas aufzuweisen. In bestimmten derartigen Ausführungsformen kann die Validierungsbewertung eine Strafbewertung beinhalten, die vergeben wird, wenn das neuronale Netz eine falsche Klassifizierung bereitstellt. Wenn beispielsweise ein von dem neuronalen Netz bestimmtes Attribut nicht mit dem richtigen Attribut übereinstimmt, das von dem neuronalen Netz bestimmte Attribut jedoch eine starke Assoziation mit dem richtigen Attribut aufweist oder diesem nahe kommt, kann eine niedrigere Strafbewertung zugewiesen werden. In einem derartigen Beispiel kann das neuronale Netz so ausgelegt sein, dass Strafbewertungen minimiert werden.
  • In verschiedenen Ausführungsformen können die Modelle, die dazu verwendet werden, die Attribute zu bestimmen, die dem Gegenstand zum Verbrauch basierend auf dem vom Benutzer bereitgestellten Bild zugeordnet sind, verschiedene Merkmalerkennungs- und Bilderkennungstechniken beinhalten. Beispielsweise kann in einigen Ausführungsformen die Bild- und Texterkennung Unterprozesse, wie etwa Merkmalsextraktion und Merkmalsabgleich beinhalten. Bilder und Text in der realen Welt weisen viele Farben, Formen, Schriftarten auf, die verzerrt, verschwommen, unterschiedlich groß sein können und dergleichen. Merkmalsextraktionstechniken beinhalten verschiedene Ansätze zum Erkennen und Definieren von Eigenschaften eines Bilds oder von Segmenten eines Bilds. Die Ausgabe derartiger Techniken kann manchmal als Merkmalsdeskriptoren oder -signaturen bezeichnet werden. In dieser Schrift sind Merkmale nicht auf Computervisionsmerkmale beschränkt, sondern beinhalten auch andere Arten von Merkmalen, wie etwa Merkmale, Farben, Formen eines Produkts usw. Merkmale können lokal sein (d. h. diskrete Teile eines Bilds beschreiben) oder global (d. h. das gesamte Bild darstellen). Bei der lokalen Merkmalsextraktion können Prozesse Ansätze zum Segmentieren des Bilds beinhalten. Derartige Ansätze können auf aktiven Konturen (z. B. Snakes, Scissors, Level Sets), graphenbasierter Zusammenführung (z. B. Wasserscheide, divisivem Clustering, agglomerativem Clustering, graphenbasierter Segmentierung, probabilistischer Aggregation), Mittelwertverschiebung und Mode Finding (z. B. k-Mittelwerte und Gaußsche Mischverteilungen), normalisierten Schnitten, Graphenschnitten usw. basieren. Produktbildmerkmale können global oder lokal nach Farbe, Textur, Form, anderen hervorstechenden Merkmalen oder einer Kombination davon extrahiert werden. Auf Farbe basierende Merkmalsextraktion kann das Berechnen von Histogrammen für die Farbelemente eines Bilds (z. B. Rot-, Grün- und Blauintensität) beinhalten. Texturmerkmale beinhalten die Granularität und sich wiederholende Muster von Oberflächen innerhalb eines Bilds. Beispielsweise unterscheiden sich Glas, Ziegel und Holz in Textur, Glattheit sowie Muster und derartige Eigenschaften können dazu verwendet werden, ein Bild oder Bereiche des Bilds zu beschreiben. Texturmerkmale können nach Koexistenzmatrizen, Tamura-Merkmalen (z. B. Granularität, Kontrast, Direktionalität, lineare Ähnlichkeit, Gleichmäßigkeit, Rauheit), Wold-Merkmalen (z. B. Periodizität, Zufälligkeit und Direktionalität), Gabor-Filterung, Wavelet-Transformationen usw. extrahiert werden. Formmerkmale für ein Bild können nach Seitenverhältnis, Zirkularität, Fourier-Deskriptoren, Momentinvarianten, aufeinanderfolgenden Begrenzungssegmenten usw. extrahiert werden. Andere hervorstechende Merkmale beinhalten Kanten (die z. B. unter Verwendung von Canny-Kantendetektion extrahiert werden), Ecken (die z. B. unter Verwendung von Harris-Eckendetektion oder SUSAN-Eckendetektion (Smallest Univalue Segment Assimilating Nucleus) extrahiert werden), Bereiche von Interesse (die z. B. unter Verwendung von Laplace von Gaußschen Pyramiden oder Differenz von Gaußschen Pyramiden extrahiert werden) oder eine Kombination und/oder Variation davon, wie etwa SIFT-Funktionen (Scale Invariant Feature Transform).
  • Verschiedene Merkmalsabgleichverfahren können dazu verwendet werden, die Ähnlichkeit zwischen Bildern zu bewerten. Ähnlichkeitsmaße können von den aus einem Bild ausgewählten Merkmalsdeskriptoren oder -signaturen abhängen. In einer Ausführungsform beinhalten Ähnlichkeitsmaße die Minkowski-Distanz oder die Mahalanobis-Distanz. Die Minkowski-Distanz kann zweckmäßig sein, wenn Merkmalsvektoren unabhängig sind und jeder Merkmalsvektor von gleicher Bedeutung ist. In einer anderen Ausführungsform beinhalten Ähnlichkeitsmaße die Quadratic Form Distance, die Kullback-Leibler-Divergenz, die Jeffrey-Divergenz, die Hausdorff-Distanz, die Mallows-Distanz, die Earth Mover's Distance, die Integrated Region Matching Distance oder Variationen davon. Bestimmte Ausführungsformen können verschiedene Indizierungsstrukturen oder -techniken zum effizienten Durchsuchen der Bilddatenbank verwenden, einschließlich mehrdimensionalem Hashing, bei dem Merkmalsdeskriptoren basierend auf einer Funktion, die auf jeden Deskriptorvektor angewendet wird, in Bins oder Buckets fester Größe abgebildet werden; lokalitätssensitivem Hashing, bei dem Verbindungen von unabhängig berechneten Hashing-Funktionen zum Indizieren von Merkmalen verwendet werden; mehrdimensionaler Suchbäume, wie etwa k-d-Bäume, die den mehrdimensionalen Merkmalsraum entlang alternierender achsenausgerichteter Hyperebenen teilen, um das Gleichgewicht der Suchbäume zu maximieren; usw. Wenn es hypothetische oder mutmaßliche Übereinstimmungen gibt, können Techniken, wie etwa geometrische Ausrichtung dazu verwendet werden, zu überprüfen, welche Übereinstimmungen Inlier und welche Outlier sind. In einigen Fällen kann erwartet werden, dass das gesamte Abfragebild übersetzt oder gedreht wird, um mit einem Bild im Datenbankbild übereinzustimmen, sodass das Abfragebild geometrisch transformiert werden kann, um nur die Merkmalsübereinstimmungen beizubehalten, die der geschätzten Transformation ausreichend nahe kommen. Zur Verifizierung können Prozesse wie RANSAC (Random Consensus Sampling) oder LMS (Least Median of Squares) verwendet werden.
  • In einigen Ausführungsformen können Bild- und Textverarbeitungsprozesse Unterprozesse beinhalten, wie etwa beispielsweise Thresholding (Konvertieren eines Graustufenbilds in Schwarzweiß oder Verwenden von Separation basierend auf einem Graustufenwert), Segmentierung, Blob-Extraktion, Mustererkennung, Barcode- und Datenmatrixcode-Lesen, Gauging (Messen von Objektabmessungen), Positionieren, Kantenerkennung, Farbanalyse, Filterung (z. B. morphologische Filterung) und Vorlagenabgleich (Finden, Abgleichen und/oder Zählen bestimmter Muster). Verschiedene Techniken (z. B. OCR und andere Texterkennungsprozesse) können als primäre Bild- und Textanalysetechnik oder zur Verbesserung anderer Prozesse verwendet werden.
  • In verschiedenen Ausführungsformen kann der Bildanalysedienst 518 u. a. eine Bilderkennung für eine visuelle Suchanwendung sowie eine Augmented-Reality-Anwendung bereitstellen. Somit kann die Umgebung 504 optional einen visuellen Suchdienst 522, einen Augmented Reality-Dienst 524 oder beides beinhalten. In verschiedenen Ausführungsformen einer visuellen Suchanwendung können die Merkmalsdaten dazu verwendet werden, Produkte in einem elektronischen Katalog zu identifizieren, die dem Objekt von Interesse visuell ähnlich, nachdem das Objekt von Interesse in der Szene identifiziert wurde und Objekterkennungstechniken durchgeführt wurden, um bestimmte dem Objekt zugeordnete Merkmalsdaten zu extrahieren. Dies kann durch verschiedene Techniken durchgeführt werden. Beispielsweise kann in einigen Ausführungsformen eine K-Nearest-Neighbors-(KNN-)Technik verwendet werden, bei der ein Merkmalsvektor des Objekts von Interesse mit Merkmalsvektoren von Produkten (d. h. Produktbildern) in dem elektronischen Katalog verglichen werden kann, und ein Maß für die visuelle Ähnlichkeit zwischen dem Objekt von Interesse und einem Produkt basierend auf einem Abstand zwischen ihren jeweiligen Merkmalsvektoren bestimmt werden. Die Produkte können dann basierend auf der bestimmten visuellen Ähnlichkeit als Suchergebnisse geordnet und/oder ausgewählt werden. Dies ist in 2B veranschaulicht, die eine beispielhafte Schnittstelle der Rechenvorrichtung gemäß verschiedenen Ausführungsformen veranschaulicht, die Suchergebnisse basierend auf dem aufgenommenen Bild des Objekts bereitstellt. In verschiedenen Ausführungsformen einer Augmented-Reality-Produktansicht-Anwendung kann ein grafisches Rendering eines Produkts erzeugt und einem System oder einer vom Benutzer ausgewählten Position der Szene überlagert werden, nachdem eine Oberfläche oder ein Raum in einer Szene durch Bilderkennung identifiziert wurde. Beispielsweise kann das grafische Rendering des Produkts proportional zu anderen Objekten in der Szene dimensioniert und so positioniert werden, dass die Illusion bereitgestellt wird, dass das Objekt auf einer bestimmten Oberfläche in der Szene platziert ist. In einigen Ausführungsformen kann ein Benutzer das grafische Rendering des Produkts ziehen, um es in verschiedenen Positionen zu platzieren oder die grafische Darstellung drehen, um verschiedene Winkel des Produkts zu betrachten. Somit können sich die Größe, die Position oder der Betrachtungswinkel des grafischen Rendering des Produkts gemäß der Benutzereingabe ändern.
  • Der visuelle Statusdienst 526 erfasst den Zustand des Bilderkennungsprozesses, der sowohl den Bildanalysedienst als auch den visuellen Such- oder Augmented-Reality-Dienst beinhaltet. Der visuelle Statusdienst bestimmt dann basierend auf dem Zustand das Verhalten einer Menge von visuellen Bildschirm-Markern als visuelle Anzeige für den Benutzer bezüglich des Zustands des Bilderkennungsprozesses. Der Menge von visuellen Markern kann auf dem Bildschirm der Rechenvorrichtung 502 als Overlay über der Live-Kameraansicht oder dem Standbild erscheinen, wie etwa beispielsweise in den 4A-4F gezeigt. Der Bildanalysedienst 518 oder andere Dienste und/oder Komponenten der Umgebung können auf einen oder mehrere Datenspeicher, wie beispielsweise einen Benutzerdatenspeicher 520, der Informationen über die verschiedenen Benutzer enthält, und ein oder mehrere Content-Repositories514 zugreifen, in denen Inhalte gespeichert sind, die diesen Benutzern bereitgestellt werden können. Beispielsweise kann der Benutzerdatenspeicher 516 Daten zu einzelnen Benutzern speichern, einschließlich u.a. Informationen bezüglich Interessen, demografischen Eigenschaften, Benutzerpräferenzen, Konfektionsgrößen, Ausgabeverhalten, Surfverhalten.
  • 6 veranschaulicht ein Flussdiagramm 600, das einen beispielhaften Prozess zum Bereitstellen von visuellem Feedback zu Bilderkennungsprozesszuständen gemäß verschiedenen Ausführungsformen beschreibt. Es versteht sich, dass für jeden in dieser Schrift diskutierten Prozess zusätzliche, weniger oder alternative Schritte in ähnlichen oder alternativen Reihenfolgen oder parallel im Rahmen der verschiedenen Ausführungsformen durchgeführt werden können. In diesem Beispiel werden Bilddaten einer Szene, die von einer Kamera einer Benutzervorrichtung aufgenommen wurden, empfangen 602. In einigen Ausführungsformen können die Bilddaten von einem Prozessor der Benutzervorrichtung oder einem entfernten Server empfangen werden, der mit der Benutzervorrichtung kommuniziert. Die Bilddaten können aus einer Live-Kameraansicht erhalten werden, die auf einer Anzeige der Benutzervorrichtung angezeigt 604 wird. Ein Bilderkennungsprozess, wie etwa ein visueller Suchprozess, ein Augmented Reality-Prozess oder eine andere bildbasierte Analyseanwendung, kann auf den Bilddaten durchgeführt 606 werden. Der Bilderkennungsprozess kann mehrere mögliche Zustände durchlaufen, wie etwa u. a. Initialisierung, Suche nach Bildmerkmalen, instabiler Frame, schlechte Beleuchtung, Durchsuchen des Katalogs, Netzwerkverbindungsprobleme. Somit kann ein aktueller Zustand des Bilderkennungsprozesses bestimmt 608 werden und das Verhalten einer Menge von visuellen Markern kann basierend auf dem aktuellen Zustand des Bilderkennungsprozesses bestimmt 610 werden. Die Menge von visuellen Markern wird dann als Overlay auf der Lichtkameraansicht angezeigt 612 und weist das bestimmte Verhalten auf. In einigen Ausführungsformen kann die Menge von visuellen Markern dazu konfiguriert sein, eine Vielzahl von möglichen Verhalten aufzuweisen, die der Vielzahl von möglichen Zuständen entsprechen. Somit zeigt die Menge von visuellen Markern, die ein bestimmtes Verhalten aufweisen, einen bestimmten Zustand des Bilderkennungsprozesses an. In einigen Ausführungsformen geht die Menge von visuellen Markern entsprechend von einem Verhalten zu einem anderen Verhalten über, wenn der Zustand des Bilderkennungsprozesses sich ändert oder von einem Zustand zu einem anderen Zustand übergeht. In einigen Ausführungsformen ist der Übergang zwischen dem Verhalten visueller Marker animiert und nahtlos.
  • 7 veranschaulicht ein Flussdiagramm 700, das einen visuellen Suchprozess mit visuellem Feedback über Verhalten von visuellen Markern gemäß verschiedenen Ausführungsformen beschreibt. In diesem Beispiel werden beim Initiieren einer Kamerafunktion des visuellen Suchprozesses visuelle Marker 702 auf der Anzeige einer Benutzervorrichtung in einem Initialisierungsmodus angezeigt. In einer beispielhaften Ausführungsform beinhaltet dies eine Animation der visuellen Marker, die von den Rändern der Schnittstelle auf den Bildschirm fliegen. Es kann dann bestimmt 704 werden, ob die Abtastbedingungen für die Bildanalyse akzeptabel sind. Dies kann beispielsweise Überprüfen umfassen, ob der Frame stabil ist, die Beleuchtung angemessen ist und dergleichen. Wenn die Bedingungen für die Bildanalyse nicht akzeptabel sind, können die visuellen Marker eine visuelle Anzeige dafür bereitstellen, indem sie in einem inaktiven Modus angezeigt 706 werden, wie etwa in 4A veranschaulicht. Wenn die Bedingungen akzeptabel sind, kann das System das Bild analysieren. Dementsprechend werden die visuellen Marker in einem Analysemodus angezeigt 708, um eine visuelle Anzeige bereitzustellen, dass das Bild analysiert wird. Es kann dann bestimmt 710 werden, ob ein Objekt erfasst wird. Wenn während der Analyse kein Objekt erfasst wird, werden die Bilddaten weiterhin analysiert und die visuellen Marker werden weiterhin im Analysemodus angezeigt 708. Wenn ein Objekt erfasst wird, werden die visuellen Marker in einem Modus Objekt erfasst und/oder Suchmodus angezeigt 712, wie in 4B veranschaulicht, der anzeigt, dass das Objekt erfasst wurde und eine Datenbank wird nach visuell ähnlichen Bildern durchsucht. Es wird dann bestimmt 714, ob Suchergebnisse erhalten werden. Wenn noch keine Ergebnisse erhalten werden, werden die visuellen Marker weiterhin im Modus Objekt erfasst und/oder Suchmodus angezeigt 712. Wenn die Ergebnisse erhalten werden, können die visuellen Marker in einem Ergebnismodus angezeigt 716 werden. In einigen Ausführungsformen können die visuellen Marker im Ergebnismodus als vom Bildschirm fliegend animiert sein, wenn die Suchergebnisse auf den Bildschirm kommen, wenn die Suchergebnisse angezeigt 718 werden.
  • 8 veranschaulicht ein Flussdiagramm, das einen Augmented-Reality-Prozess mit visuellem Feedback über Verhalten von visuellen Markern gemäß verschiedenen Ausführungsformen beschreibt. In diesem Beispiel werden beim Initiieren einer Kamerafunktion des Augmented-Reality-Prozesses visuelle Marker auf der Anzeige einer Benutzervorrichtung in einem Initialisierungsmodus angezeigt 802. In einer beispielhaften Ausführungsform beinhaltet dies eine Animation der visuellen Marker, die von den Rändern der Schnittstelle auf den Bildschirm fliegen. Es kann dann bestimmt 804 werden, ob die Abtastbedingungen für die Bildanalyse akzeptabel sind. Dies kann beispielsweise Überprüfen umfassen, ob der Frame stabil ist, die Beleuchtung angemessen ist und dergleichen. Wenn die Bedingungen für die Bildanalyse nicht akzeptabel sind, können die visuellen Marker eine visuelle Anzeige dafür bereitstellen, indem sie in einem inaktiven Modus angezeigt 806 werden, wie etwa in 4A veranschaulicht. Wenn die Bedingungen akzeptabel sind, kann das System das Bild analysieren. Dementsprechend werden die visuellen Marker in einem Analysemodus angezeigt 808, um eine visuelle Anzeige bereitzustellen, dass das Bild analysiert wird. Es wird dann bestimmt 810, ob eine Oberfläche erfasst wird. Wenn während der Analyse keine Oberfläche (oder kein Raum) erfasst wird, werden die Bilddaten weiterhin analysiert und die visuellen Marker werden weiterhin im Analysemodus angezeigt 808. Wenn eine Oberfläche erfasst wird, werden die visuellen Marker in einem Modus Oberfläche erfasst angezeigt 812, wie etwa in 4E veranschaulicht. Es kann dann bestimmt 814 werden, ob eine Position auf der erfassten Oberfläche zum Platzieren des Augmented-Reality-Modells bestimmt wurde. Die Position kann basierend auf einer Benutzereingabe bestimmt oder automatisch ausgewählt werden. Wenn eine Position bestimmt wird, kann das Augmented-Reality-Modell beginnen, gerendert zu werden und somit werden die visuellen Marker in einem Modellrendermodus angezeigt 816, wie etwa in 4F veranschaulicht. Es wird dann bestimmt 818, ob das Modell vollständig gerendert ist. Wenn das Modell vollständig gerendert ist, werden die visuellen Anzeigen in einem gerenderten Modus angezeigt 820. In einigen Ausführungsformen kann eine Benutzereingabe empfangen werden. Somit wird bestimmt 822, ob eine Benutzereingabe empfangen wird. Wenn eine Benutzereingabe empfangen wird, können die visuellen Marker in einem Benutzereingabemodus angezeigt werden. In einigen Ausführungsformen kann, wenn die visuellen Marker in einem Benutzereingabemodus angezeigt 824 werden, sich die Menge von visuellen Markern zu einem Punkt auf dem Bildschirm bewegen, wo der Benutzer diesen berührt hat, wie etwa zu einem Bereich der Schnittstelle. Die visuellen Marker können bestimmte Muster basierend auf der Art der Benutzereingabe anzeigen.
  • Zusätzlich können Ausführungsformen der vorliegenden Offenbarung im Hinblick auf die folgenden Sätze beschrieben werden:
    1. 1. System, umfassend:
      • mindestens einen Prozessor einer Rechenvorrichtung;
      • eine Kamera;
      • eine Anzeige; und
      • eine Speichervorrichtung, die Anweisungen beinhaltet, die bei Ausführung durch den mindestens einen Prozessor einer Rechenvorrichtung das System zu Folgendem veranlassen:
        • Aufnehmen von Bilddaten unter Verwendung der Kamera, wobei die Bilddaten eine Darstellung einer Szene beinhalten;
        • Anzeigen der Darstellung der Szene auf der Anzeige;
        • Durchführen von mindestens einem Teil eines Bilderkennungsprozesses auf den Bilddaten, wobei der Bilderkennungsprozess einer Vielzahl von möglichen Zuständen zugeordnet ist,
        • Bestimmen eines aktuellen Zustands des Bilderkennungsprozesses;
        • Erfassen eines Merkmals der Szene aus den Bilddaten;
        • Anzeigen einer Menge von animierten visuellen Markern, die auf der Darstellung der Szene überlagert sind, wobei die Menge von animierten visuellen Markern eine Vielzahl von möglichen Verhalten aufweist, die der Vielzahl von möglichen Zuständen und dem erfassten Merkmal entsprechen;
        • Bestimmen eines Verhaltens für die Menge von animierten visuellen Markern, zumindest teilweise basierend auf mindestens einem von dem aktuellen Zustand oder dem erfassten Merkmal, wobei das Verhalten den aktuellen Zustand anzeigt; und
        • Aktualisieren des Verhaltens der Menge von animierten visuellen Markern zumindest teilweise basierend auf einer Änderung des aktuellen Zustands oder des erfassten Merkmals.
    2. 2. System nach Satz 1, wobei die Anweisungen bei Ausführung das System ferner zu Folgendem veranlassen:
      • Durchführen einer Bildanalyse auf den Bilddaten für eine visuelle Suchabfrage;
      • Anzeigen der Menge von animierten visuellen Markern während der Bildanalyse, wobei die Menge von animierten visuellen Markern ein Verhalten aufweist, das dem Durchführen der Bildanalyse zugeordnet ist und dieses anzeigt;
      • Erfassen eines Objekts in der Darstellung der Szene; und
      • Anzeigen der Menge von animierten visuellen Markern beim Erfassen des Objekts, wobei die Menge von animierten visuellen Markern ein Verhalten aufweist, das dem Erfassen des Objekts zugeordnet ist und dieses anzeigt.
    3. 3. System nach Satz 1, wobei die Anweisungen bei Ausführung das System ferner zu Folgendem veranlassen:
      • Erfassen einer Oberfläche in der Darstellung der Szene für ein Augmented-Reality-Modell;
      • beim Erfassen der Oberfläche Anzeigen der Menge von animierten visuellen Markern, die ein Verhalten aufweisen, das der erfassten Oberfläche zugeordnet ist und diese anzeigt;
      • Rendern eines Augmented-Reality-Modells;
      • während des Renderns, Anzeigen der Menge von animierten visuellen Markern, die ein Verhalten aufweisen, das dem Rendern zugeordnet ist und dieses anzeigt; und
      • beim Abschließen des Renderns Anzeigen der Menge von animierten visuellen Markern, die ein Verhalten aufweisen, das dem Abschluss des Renderns zugeordnet ist und diesen anzeigt;.
    4. 4. System nach Satz 1, wobei die Menge von animierten visuellen Markern eine Vielzahl von unterschiedlichen grafischen Elementen beinhaltet, die ein Aussehen, eine Bewegung, eine Physik, eine Form, eine Opazität oder eine Farbe zumindest teilweise basierend auf dem Verhalten aufweisen.
    5. 5. Computerimplementiertes Verfahren, umfassend:
      • Empfangen von Bilddaten, die eine Darstellung einer Szene beinhalten;
      • Bewirken, dass die Darstellung der Szene in einer grafischen Schnittstelle auf einer Anzeigevorrichtung angezeigt wird;
      • Durchführen eines Bilderkennungsprozesses auf den Bilddaten, wobei der Bilderkennungsprozess einer Vielzahl von Zuständen zugeordnet ist;
      • Anzeigen einer Gruppe von visuellen Markern auf der grafischen Schnittstelle;
      • Bestimmen eines Verhaltens für die Gruppe von visuellen Markern zumindest teilweise basierend auf einem aktuellen Zustand des Bilderkennungsprozesses; und
      • Ändern des Verhaltens der visuellen Marker zumindest teilweise basierend auf einer Änderung des aktuellen Zustands.
    6. 6. Verfahren nach Satz 5, ferner umfassend:
      • Anzeigen eines animierten Übergangs der Gruppe von visuellen Markern von einem vorherigen Verhalten, das einem vorherigen Zustand zugeordnet ist, zu dem Verhalten, das dem aktuellen Zustand zugeordnet ist.
    7. 7. Verfahren nach Satz 5, ferner umfassend:
      • Durchführen eines Augmented-Reality-Prozesses unter Verwendung der Darstellung der Szene, wobei der Augmented-Reality-Prozess zumindest einer Teilmenge der Vielzahl von Zuständen zugeordnet ist;
      • Anzeigen einer Gruppe von visuellen Markern, die auf der Darstellung der Szene als Overlay erscheinen, wobei das Verhalten der Gruppe von visuellen Markern zumindest teilweise auf dem aktuellen Zustand des Augmented-Reality-Prozesses basiert; und
      • Aktualisieren des Verhaltens der Gruppe von visuellen Markern zumindest teilweise basierend auf einer Änderung des aktuellen Zustands des Augmented-Reality-Prozesses.
    8. 8. Verfahren nach Satz 5, ferner umfassend:
      • Durchführen eines bildbasierten Suchprozesses unter Verwendung der Darstellung der Szene, wobei der bildbasierte Suchprozess zumindest einer Teilmenge der Vielzahl von Zuständen zugeordnet ist;
      • Anzeigen einer Gruppe von visuellen Markern, die auf der Darstellung der Szene als Overlay erscheinen, wobei das Verhalten der Gruppe von visuellen Markern zumindest teilweise auf dem aktuellen Zustand des bildbasierten Suchprozesses basiert; und
      • Aktualisieren des Verhaltens der Gruppe von visuellen Markern zumindest teilweise basierend auf einer Änderung des aktuellen Zustands des bildbasierten Suchprozesses.
    9. 9. Verfahren nach Satz 5, ferner umfassend:
      • Empfangen einer Benutzereingabe; und
      • Bestimmen des Verhaltens für die Gruppe von visuellen Markern, zumindest teilweise basierend auf der Benutzereingabe.
    10. 10. Verfahren nach Satz 5, wobei eine Zuordnung zwischen der Vielzahl von Zuständen und der Vielzahl von Verhalten über eine Vielzahl von verschiedenen Szenenarten oder Bilderkennungsprozessen hinweg konsistent ist.
    11. 11. Verfahren nach Satz 5, wobei die Vielzahl von Zuständen mindestens eines von einer Stufe in einem Abtastprozess, einer Szenenart oder einer Objektart beinhaltet.
    12. 12. Verfahren nach Satz 5, ferner umfassend:
      • Bestimmen, dass der aktuelle Zustand des Bilderkennungsprozesses ein inaktiver Zustand ist, wobei die Bilddaten für den Bilderkennungsprozess nicht geeignet sind; und
      • Anzeigen der Gruppe von visuellen Markern, die ein Verhalten inaktiver Zustand aufweisen, wobei das Verhalten inaktiver Zustand anzeigt, dass sich der Bilderkennungsprozess in dem inaktiven Zustand befindet.
    13. 13. Verfahren nach Satz 5, ferner umfassend:
      • Bestimmen, dass der aktuelle Zustand des Bilderkennungsprozesses ein Führungszustand ist, in dem eine Benutzereingabe angefordert wird; und
      • Anzeigen der Gruppe von visuellen Markern, die ein Führungszustandsverhalten aufweisen, wobei das Führungszustandsverhalten die angeforderte Benutzereingabe anzeigt.
    14. 14. Verfahren nach Satz 5, ferner umfassend:
      • Bestimmen, dass der aktuelle Zustand des Bilderkennungsprozesses ein Fehlerzustand ist, in dem ein Verbindungs- oder Systemproblem erfasst wird; und
      • Anzeigen der Gruppe von visuellen Markern, die ein Fehlerzustandsverhalten aufweisen, wobei das Fehlerzustandsverhalten anzeigt, dass sich der Bilderkennungsprozess in dem Fehlerzustand befindet.
    15. 15. Verfahren nach Satz 5, ferner umfassend:
      • Bestimmen, dass der aktuelle Zustand des Bilderkennungsprozesses ein Bildanalysezustand ist, wobei die Bilddaten analysiert werden; und
      • Anzeigen der Gruppe von visuellen Markern, die ein Bildanalysezustandsverhalten aufweisen, wobei das Bildanalysezustandsverhalten anzeigt, dass die Bilddaten analysiert werden.
    16. 16. Verfahren nach Satz 5, ferner umfassend:
      • Bestimmen, dass der aktuelle Zustand des Bilderkennungsprozesses ein Zustand Objekt erfasst ist, wobei eine Darstellung eines Objekts aus den Bilddaten erfasst wurde; und
      • Anzeigen der Gruppe von visuellen Markern, die ein Verhalten Zustand Objekt erfasst aufweisen, wobei das Verhalten Zustand Objekt erfasst anzeigt, dass die Darstellung des Objekts erfasst wurde.
    17. 17. System, umfassend:
      • mindestens einen Prozessor einer Rechenvorrichtung; und
      • eine Speichervorrichtung, die Anweisungen beinhaltet, die bei Ausführung durch den mindestens einen Prozessor einer Rechenvorrichtung das System zu Folgendem veranlassen:
        • Empfangen von Bilddaten, die eine Darstellung einer Szene beinhalten;
          • Bewirken, dass die Darstellung der Szene in einer grafischen Schnittstelle auf einer Anzeigevorrichtung angezeigt wird;
          • Durchführen eines Bilderkennungsprozesses auf den Bilddaten, wobei der Bilderkennungsprozess einer Vielzahl von Zuständen zugeordnet ist;
          • Anzeigen einer Gruppe von visuellen Markern auf der grafischen Schnittstelle; Bestimmen eines Verhaltens für die Gruppe von visuellen Markern zumindest teilweise basierend auf einem aktuellen Zustand des Bilderkennungsprozesses; und
          • Ändern des Verhaltens der visuellen Marker zumindest teilweise basierend auf einer Änderung des aktuellen Zustands.
    18. 18. System nach Satz 17, wobei die Anweisungen bei Ausführung das System ferner zu Folgendem veranlassen:
      • Anzeigen eines animierten Übergangs der Gruppe von visuellen Markern von einem vorherigen Verhalten, das einem vorherigen Zustand zugeordnet ist, zu dem Verhalten, das dem aktuellen Zustand zugeordnet ist.
    19. 19. System nach Satz 17, wobei die Anweisungen bei Ausführung das System ferner zu Folgendem veranlassen:
      • Durchführen eines Augmented-Reality-Prozesses unter Verwendung der Darstellung der Szene, wobei der Augmented-Reality-Prozess zumindest einer Teilmenge der Vielzahl von Zuständen zugeordnet ist;
      • Anzeigen einer Gruppe von visuellen Markern, die auf der Darstellung der Szene als Overlay erscheinen, wobei das Verhalten der Gruppe von visuellen Markern zumindest teilweise auf dem aktuellen Zustand des Augmented-Reality-Prozesses basiert; und
      • Aktualisieren des Verhaltens der Gruppe von visuellen Markern zumindest teilweise basierend auf einer Änderung des aktuellen Zustands des Augmented-Reality-Prozesses.
    20. 20. System nach Satz 17, wobei die Anweisungen bei Ausführung das System ferner zu Folgendem veranlassen:
      • Durchführen eines bildbasierten Suchprozesses unter Verwendung der Darstellung der Szene, wobei der bildbasierte Suchprozess zumindest einer Teilmenge der Vielzahl von Zuständen zugeordnet ist;
      • Anzeigen einer Gruppe von visuellen Markern, die auf der Darstellung der Szene als Overlay erscheinen, wobei das Verhalten der Gruppe von visuellen Markern zumindest teilweise auf dem aktuellen Zustand des bildbasierten Suchprozesses basiert; und
      • Aktualisieren des Verhaltens der Gruppe von visuellen Markern zumindest teilweise basierend auf einer Änderung des aktuellen Zustands des bildbasierten Suchprozesses.
  • 9 veranschaulicht eine beispielhafte Rechenvorrichtung 900, die gemäß verschiedenen Ausführungsformen verwendet werden kann. Wenngleich eine tragbare Rechenvorrichtung (z. B. ein Smartphone, E-Book-Reader oder Tablet-Computer) gezeigt ist, versteht es sich, dass ein beliebige Vorrichtung, die zum Empfangen und Verarbeiten von Eingaben in der Lage ist, gemäß verschiedenen in dieser Schrift erörterten Ausführungsformen verwendet werden kann. Die Vorrichtungen können beispielsweise u. a. Desktop-Computer, Notebook-Computer, E-Book-Reader, Personal Data Assistants, Mobiltelefone, Videospielkonsolen oder -controller, Set-Top-Boxen für Fernsehgeräte und tragbare Medienabspielgeräte beinhalten.
  • In diesem Beispiel weist die Rechenvorrichtung 900 einen Anzeigebildschirm 902 auf, der im normalen Betrieb Informationen für einen Benutzer anzeigt, der dem Anzeigebildschirm zugewandt ist (z. B. auf derselben Seite der Rechenvorrichtung wie der Anzeigebildschirm). Die Rechenvorrichtung in diesem Beispiel kann ein oder mehrere Medienaufnahmeelemente beinhalten, in diesem Beispiel einschließlich eines Bildaufnahmeelements 904 auf der Rückseite der Vorrichtung, wenngleich es sich versteht, dass Bildaufnahmeelemente auch oder alternativ an den Seiten oder Ecken des Geräts der Vorrichtung platziert sein können und dass es eine beliebige zweckmäßige Anzahl von Aufnahmeelementen ähnlicher oder unterschiedlicher Arten geben kann. Jedes Bildaufnahmeelement 904 kann zum Beispiel eine Kamera, eine ladungsgekoppelte Vorrichtung (CCD), ein Bewegungserfassungssensor oder ein Infrarotsensor sein oder kann eine beliebige andere zweckmäßige Bildaufnahmetechnologie verwenden. Die Rechenvorrichtung kann auch mindestens ein Mikrofon oder (ein) andere(s) Audioaufnahmeelement(e) beinhalten, die in der Lage sind, andere Arten von Eingabedaten aufzunehmen, wie sie auf dem Fachgebiet bekannt sind, und kann mindestens ein Ausrichtungsbestimmungselement beinhalten, das zum Erfassen von Änderungen der Position und/oder Ausrichtung der Vorrichtung verwendet werden kann. Verschiedene andere Eingabearten können ebenfalls verwendet werden, wie sie auf dem Fachgebiet zur Verwendung mit derartigen Vorrichtungen bekannt sind.
  • 10 veranschaulicht einen Satz beispielhafter Komponenten einer oder mehrerer Vorrichtungen 1000 der vorliegenden Offenbarung. In diesem Beispiel beinhaltet die Vorrichtung mindestens einen Prozessor 1002 zum Ausführen von Anweisungen, die in einer Speichervorrichtung oder einem Speicherelement 1004 gespeichert sein können. Wie es für den Durchschnittsfachmann ersichtlich ist, kann die Vorrichtung viele Arten von Speicher, Datenspeicher oder computerlesbaren Medien beinhalten, wie etwa einen ersten Datenspeicher für Programmanweisungen zur Ausführung durch den Prozessor 1002, kann für Bilder oder Daten der gleiche oder ein gesonderter Speicher verwendet werden, kann ein Wechselspeicher zum Teilen von Informationen mit anderen Vorrichtungen verfügbar sein und kann eine beliebige Anzahl von Kommunikationsansätzen zum Teilen mit anderen Vorrichtungen verfügbar sein. Die Vorrichtung beinhaltet typischerweise eine Art Anzeigeelement 1006 wie etwa einen Touchscreen, elektronische Tinte (E-Ink), eine organische Leuchtdiode (organic light emitting diode - OLED) oder Flüssigkristallanzeige (liquid crystal display - LCD), obwohl Vorrichtungen, wie etwa tragbare Medienabspielgeräte, Informationen über andere Mittel übertragen können, wie etwa durch Audiolautsprecher. Wie erörtert beinhaltet die Vorrichtung in vielen Ausführungsformen mindestens ein Bildaufnahmeelement 1008, wie etwa mindestens eine Umgebungslichtkamera, das dazu in der Lage ist, einen Benutzer, Personen oder Objekte in der Nähe der Vorrichtung abzubilden. Ein Bildaufnahmeelement kann eine beliebige zweckmäßige Technologie beinhalten, wie etwa ein CCD-Bildaufnahmeelement, das eine ausreichende Auflösung, einen ausreichenden Brennweitenbereich und Sichtbereich aufweist, um ein Bild des Benutzers aufzunehmen, wenn der Benutzer die Vorrichtung bedient. Verfahren zum Aufnehmen von Bildern oder Video unter Verwendung eines Bildaufnahmeelements mit einer Rechenvorrichtung sind auf dem Fachgebiet hinlänglich bekannt und werden hier nicht ausführlich erörtert. Es versteht sich, dass die Bildaufnahme unter Verwendung eines einzelnen Bilds, mehrerer Bilder, periodischer Bildgebung, kontinuierlicher Bildaufnahme, Bild-Streaming usw. durchgeführt werden kann.
  • Die Vorrichtung kann eine oder mehrere Netzwerkkomponenten 1014 beinhalten, die es der Vorrichtung ermöglichen, mit entfernten Systemen oder Diensten, wie etwa Inhaltsanbietern und Rechtsbestimmungssystemen, zu kommunizieren. Diese Komponenten können beispielsweise drahtgebunden oder drahtlos betreibbar sein, um über ein Netzwerk, wie etwa ein Mobilfunknetz, ein lokales Netzwerk oder das Internet, zu kommunizieren. Die Vorrichtung kann außerdem mindestens ein zusätzliches Eingabeelement 1018 beinhalten, das herkömmliche Eingaben von einem Benutzer empfangen kann. Diese herkömmlichen Eingaben können zum Beispiel eine Drucktaste, ein Touchpad, einen Touchscreen, ein Rad, einen Joystick, eine Tastatur, eine Maus, einen Trackball, ein Tastenfeld oder eine beliebige andere derartige Vorrichtung oder ein beliebiges anderes derartiges Element beinhalten, wodurch ein Benutzer einen Befehl in die Vorrichtung eingeben kann. Diese E/A-Vorrichtungen könnten zudem in einigen Ausführungsformen auch durch eine drahtlose Infrarot- oder Bluetooth- oder andere Verknüpfung verbunden sein. In einigen Ausführungsformen könnte eine derartige Vorrichtung jedoch keinerlei Tasten beinhalten und könnte lediglich durch eine Kombination aus visuellen Befehlen und Audiobefehlen gesteuert werden, sodass ein Benutzer die Vorrichtung steuern kann, ohne die Vorrichtung berühren zu müssen. Die Vorrichtung kann außerdem eine oder mehrere Leistungskomponenten 1016 beinhalten, wie etwa eine Batterie. Die Vorrichtung kann zudem ein oder mehrere Ausrichtungsbestimmungselemente 1010 und ein oder mehrere Positionierungselemente 1012 beinhalten. Wie erörtert können unterschiedliche Ansätze in verschiedenen Umgebungen gemäß den beschriebenen Ausführungsformen umgesetzt werden.
  • 11 veranschaulicht eine beispielhafte Umgebung 1100 zum Umsetzen von Aspekten gemäß verschiedenen Ausführungsformen. Obwohl zu Zwecken der Erläuterung eine webbasierte Umgebung verwendet wird, versteht es sich, dass gegebenenfalls andere Umgebungen verwendet werden können, um verschiedene Ausführungsformen umzusetzen. Das System beinhaltet eine elektronische Client-Vorrichtung 1102, die eine beliebige zweckmäßige Vorrichtung beinhalten kann, die dazu betrieben werden kann, Aufforderungen, Meldungen oder Informationen über ein zweckmäßiges Netzwerk 1104 zu senden und zu empfangen und Informationen zurück an einen Benutzer der Vorrichtung zu übertragen. Beispiele für derartige Client-Vorrichtungen beinhalten Personalcomputer, Mobiltelefone, tragbare Messaging-Vorrichtungen, Laptop-Computer, Set-Top-Boxen, Personal Data Assistants, E-Book-Reader und dergleichen. Das Netzwerk kann ein beliebiges zweckmäßiges Netzwerk beinhalten, darunter ein Intranet, das Internet, ein Mobilfunknetz, ein lokales Netzwerk, ein Satellitennetzwerk oder ein beliebiges anderes derartiges Netzwerk und/oder eine Kombination davon. Komponenten, die für ein derartiges System verwendet werden, können zumindest teilweise von der Art des ausgewählten Netzwerks und/oder der ausgewählten Umgebung abhängig sein. Protokolle und Komponenten zum Kommunizieren über ein derartiges Netzwerk sind hinlänglich bekannt und werden hier nicht ausführlich erörtert. Kommunikation über das Netzwerk kann über drahtgebundene oder drahtlose Verbindungen und Kombinationen davon ermöglicht werden. In diesem Beispiel beinhaltet das Netzwerk das Internet, da die Umgebung einen Webserver 1106 zum Empfangen von Aufforderungen und Darbieten von Inhalt als Antwort darauf beinhaltet, wobei für andere Netzwerke eine alternative Vorrichtung, die einen ähnlichen Zweck erfüllt, verwendet werden könnte, wie es für den Durchschnittsfachmann ersichtlich ist.
  • Die veranschaulichende Umgebung beinhaltet mindestens einen Anwendungsserver 1108 und einen Datenspeicher 1110. Es versteht sich, dass mehrere Anwendungsserver, Schichten oder andere Elemente, Prozesse oder Komponenten vorliegen können, die verkettet oder anderweitig konfiguriert sein können und die interagieren können, um Aufgaben durchzuführen, wie etwa Erhalten von Daten von einem zweckmäßigen Datenspeicher. Im vorliegenden Zusammenhang bezieht sich der Ausdruck Daten-„Speicher“ auf eine beliebige Vorrichtung oder Kombination von Vorrichtungen, die dazu in der Lage ist, Daten zu speichern, darauf zuzugreifen und diese abzurufen, was eine beliebige Kombination und Anzahl von Datenservern, Datenbanken, Datenspeichervorrichtungen und Datenspeichermedien in einer beliebigen standardmäßigen, verteilten oder geclusterten Umgebung beinhalten kann. Der Anwendungsserver 1108 kann eine beliebige zweckmäßige Hardware und Software zum Integrieren mit dem Datenspeicher 1110 beinhalten, wie es notwendig ist, um Aspekte von einer oder mehreren Anwendungen für die Client-Vorrichtung auszuführen und einen Großteil des Datenzugriffs und der Geschäftslogik für eine Anwendung zu handhaben. Der Anwendungsserver stellt Zugriffssteuerungsdienste in Zusammenwirkung mit dem Datenspeicher bereit und ist dazu in der Lage, Inhalt wie etwa Text, Grafiken, Audio und/oder Video zu erzeugen, der an den Benutzer übertragen wird und dem Benutzer durch den Webserver 1106 in diesem Beispiel in Form von HTML, XML oder einer anderen zweckmäßigen strukturierten Sprache dargeboten werden kann. Die Handhabung aller Anforderungen und Antworten sowie die Lieferung von Inhalt zwischen der Client-Vorrichtung 1102 und dem Anwendungsserver 1108 können durch den Webserver 1106 gehandhabt werden. Es versteht sich, dass der Web- und Anwendungsserver nicht erforderlich sind und lediglich beispielhafte Komponenten sind, da in dieser Schrift erörterter strukturierter Code auf jeder beliebigen zweckmäßigen Vorrichtung oder Host-Maschine ausgeführt werden kann, wie es hier an anderer Stelle erörtert ist.
  • Der Datenspeicher 1110 kann mehrere gesonderte Datentabellen, Datenbanken oder andere Datenspeichermechanismen und Medien zum Speichern von Daten in Bezug auf einen bestimmten Aspekt beinhalten. Zum Beispiel beinhaltet der veranschaulichte Datenspeicher Mechanismen zum Speichern von Inhalten (z. B. Produktionsdaten) 1112 und Benutzerinformationen 1116, die dazu verwendet werden können, Inhalte für die Produktionsseite darzubieten. Es ist zudem gezeigt, dass der Datenspeicher einen Mechanismus zum Speichern von Protokoll- oder Sitzungsdaten 1114 beinhaltet. Es versteht sich, dass viele andere Aspekte vorhanden sein können, die in dem Datenspeicher gespeichert werden müssen, wie etwa Seitenbildinformationen und Zugangsrechteinformationen, die gegebenenfalls in einem beliebigen der vorstehend aufgelisteten Mechanismen oder in zusätzlichen Mechanismen in dem Datenspeicher 1110 gespeichert werden können. Der Datenspeicher 1110 kann durch damit assoziierte Logik dazu betrieben werden, Anweisungen von dem Anwendungsserver 1108 zu empfangen und Daten als Reaktion darauf zu erlangen, zu aktualisieren oder anderweitig zu verarbeiten. In einem Beispiel kann ein Benutzer durch eine durch den Benutzer betriebene Vorrichtung eine Suchabfrage nach einer gewissen Art von Objekt übermitteln. In diesem Fall kann der Datenspeicher auf die Benutzerinformationen zugreifen, um die Identität des Benutzers zu verifizieren, und er kann auf die Katalogdetailinformationen zugreifen, um Informationen über Objekte dieser Art zu erhalten. Die Informationen können dann an den Benutzer ausgegeben werden, wie etwa in einer Ergebnisauflistung auf einer Webseite, die der Benutzer über einen Browser auf der Benutzervorrichtung 1102 betrachten kann. Informationen für einen bestimmten Gegenstand von Interesse können auf einer dedizierten Seite oder in einem dedizierten Fenster des Browsers betrachtet werden.
  • Jeder Server beinhaltet typischerweise ein Betriebssystem, das ausführbare Programmanweisungen für die allgemeine Administration und den allgemeinen Betrieb dieses Servers bereitstellt, und beinhaltet typischerweise ein computerlesbares Medium, das Anweisungen speichert, die bei Ausführung durch einen Prozessor des Servers ermöglichen, dass der Server seine beabsichtigten Funktionen durchführt. Geeignete Umsetzungen für das Betriebssystem und die allgemeine Funktionalität der Server sind bekannt oder im Handel erhältlich und werden durch den Durchschnittsfachmann ohne Weiteres umgesetzt, insbesondere in Anbetracht der Offenbarung in dieser Schrift.
  • Die Umgebung ist in einer Ausführungsform eine verteilte Datenverarbeitungsumgebung unter Nutzung von mehreren Computersystemen und Komponenten, die über Kommunikationsverknüpfungen unter Verwendung von einem bzw. einer oder mehreren Computernetzwerken oder Direktverbindungen miteinander verbunden sind. Für den Durchschnittsfachmann ist jedoch ersichtlich, dass ein derartiges System in einem System mit einer geringeren oder größeren Anzahl von Komponenten als in 11 veranschaulicht gleichermaßen gut arbeiten könnte. Somit sollte die Darstellung des Systems 1100 in 11 als veranschaulichend und nicht einschränkend in Bezug auf den Umfang der Offenbarung erachtet werden.
  • Die verschiedenen Ausführungsformen können ferner in einer breiten Vielfalt von Betriebsumgebungen umgesetzt sein, zu denen in einigen Fällen ein oder mehrere Benutzercomputer oder Rechenvorrichtungen gehören können, die dazu verwendet werden können, eine beliebige Anzahl von Anwendungen zu betreiben. Benutzer- oder Client-Vorrichtungen können eine beliebige Anzahl von Universalcomputern beinhalten, wie etwa Desktop- oder Tablet-Computer, auf denen ein standardmäßiges Betriebssystem ausgeführt wird, sowie Mobilfunk-, drahtlose und tragbare Vorrichtungen, auf denen mobile Software ausgeführt wird und die dazu in der Lage sind, eine Reihe von Networking- und Messaging-Protokollen zu unterstützen. Ein derartiges System kann zudem eine Reihe von Workstations beinhalten, auf denen ein beliebiges aus einer Vielfalt von handelsüblichen Betriebssystemen und sonstige bekannte Anwendungen für Zwecke wie etwa Entwicklung und Datenbankverwaltung ausgeführt werden. Diese Vorrichtungen können zudem andere elektronische Vorrichtungen beinhalten, wie etwa Dummy Terminals, Thin Clients, Spielesysteme und andere Vorrichtungen, die dazu in der Lage sind, über ein Netzwerk zu kommunizieren.
  • Die meisten Ausführungsformen verwenden mindestens ein dem Fachmann bekanntes Netzwerk, um Kommunikation unter Verwendung eines beliebigen aus einer Vielfalt von handelsüblichen Protokollen zu unterstützen, wie etwa TCP/IP, FTP, UPnP, NFS und CIFS. Das Netzwerk kann zum Beispiel ein lokales Netzwerk, ein Weitbereichsnetzwerk, ein virtuelles privates Netzwerk, das Internet, ein Intranet, ein Extranet, ein öffentliches Fernsprechwählnetz, ein Infrarot-Netzwerk, ein Drahtlosnetzwerk und eine beliebige Kombination davon sein. In Ausführungsformen, die einen Webserver verwenden, kann der Webserver beliebige von einer Vielfalt von Server- oder Mid-Tier-Anwendungen ausführen, darunter HTTP-Server, FTP-Server, CGI-Server, Datenserver, Java-Server und Geschäftsanwendungsserver. Der bzw. die Server kann bzw. können zudem dazu in der Lage sein, Programme oder Skripte als Reaktion auf Anforderungen von Benutzervorrichtungen auszuführen, wie etwa durch Ausführen von einer oder mehreren Webanwendungen, die als ein oder mehrere Skripte oder Programme umgesetzt sein können, die in einer beliebigen Programmiersprache geschrieben sind, wie etwa Java®, C, C# oder C++ oder einer beliebigen Skriptsprache wie etwa Perl, Python oder TCL sowie Kombinationen davon. Die Server können auch Datenbankserver enthalten, einschließlich, ohne Einschränkung, der im Handel erhältlichen von Oracle®, Microsoft®, Sybase® und IBM®.
  • Die Umgebung kann eine Vielzahl von Datenspeichern und anderem Speicher und Speichermedien, wie vorstehend erörtert, beinhalten. Diese können an einer Vielfalt von Stellen angeordnet sein, wie etwa auf einem Speichermedium, das zu einem oder mehreren der Computer lokal (und/oder darin angeordnet) ist oder von beliebigen oder allen der Computer über das Netzwerk hinweg entfernt ist. In einem besonderen Satz von Ausführungsformen können die Informationen in einem Storage Area Network (SAN), das dem Fachmann bekannt ist, angeordnet sein. Gleichermaßen können beliebige erforderliche Dateien zum Durchführen der Funktionen, die den Computern, Servern oder anderen Netzwerkvorrichtungen zugeschrieben sind, gegebenenfalls lokal und/oder entfernt gespeichert werden. Wenn ein System computergestützte Vorrichtungen beinhaltet, kann jede derartige Vorrichtung Hardware-Elemente beinhalten, die über einen Bus elektrisch gekoppelt sein können, wobei die Elemente zum Beispiel mindestens eine zentrale Verarbeitungseinheit (central processing unit - CPU), mindestens eine Eingabevorrichtung (z. B. eine Maus, eine Tastatur, einen Controller, einen berührungsempfindlichen Bildschirm oder ein Tastenfeld) und mindestens eine Ausgabevorrichtung (z. B. eine Anzeigevorrichtung, einen Drucker oder einen Lautsprecher) beinhalten. Ein derartiges System kann außerdem eine oder mehrere Speichervorrichtungen beinhalten, wie etwa Plattenlaufwerke, optische Speichervorrichtungen und Solid-State-Speichervorrichtungen, wie etwa Direktzugriffsspeicher (random access memory - RAM) oder Festwertspeicher (read-only memory - ROM), sowie entfernbare Medienvorrichtungen, Speicherkarten, Flash-Karten usw. Derartige Vorrichtungen können zudem ein computerlesbares Speichermedien-Lesegerät, eine Kommunikationsvorrichtung (z. B. ein Modem, eine Netzwerkkarte (drahtlos oder drahtgebunden), eine Infrarot-Kommunikationsvorrichtung) und Arbeitsspeicher beinhalten, wie vorstehend beschrieben. Das computerlesbare Speichermedien-Lesegerät kann mit einem computerlesbaren Speichermedium, das entfernte, lokale, feste und/oder entfernbare Speichervorrichtungen sowie Speichermedien für vorübergehendes und/oder dauerhaftes Enthalten, Speichern, Übertragen und Abrufen von computerlesbaren Information darstellt, verbunden sein oder dazu konfiguriert sein, dieses aufzunehmen. Das System und die verschiedenen Vorrichtungen beinhalten zudem typischerweise eine Reihe von Softwareanwendungen, Modulen, Diensten oder anderen Elementen, die innerhalb mindestens einer Arbeitsspeichervorrichtung angeordnet sind, einschließlich eines Betriebssystems und Anwendungsprogrammen, wie etwa einer Client-Anwendung oder eines Webbrowsers. Es versteht sich, dass alternative Ausführungsformen zahlreiche Abwandlungen von der vorstehend beschriebenen aufweisen können. Zum Beispiel kann zudem angepasste Hardware verwendet werden und/oder spezielle Elemente können in Hardware, Software (einschließlich portabler Software wie etwa Applets) oder beiden umgesetzt sein. Ferner kann eine Verbindung zu anderen Rechenvorrichtungen, wie etwa Netzwerk-Eingabe/Ausgabe-Vorrichtungen, umgesetzt sein.
  • Speichermedien und andere nichttransitorische computerlesbare Medien, die Code oder Teile von Code enthalten, können beliebige zweckmäßige Medien beinhalten, die auf dem Fachgebiet bekannt sind oder verwendet werden, wie etwa unter anderem flüchtige und nichtflüchtige, entfernbare und nichtentfernbare Medien, die in einem beliebigen Verfahren oder einer beliebigen Technik zur Speicherung von Informationen umgesetzt sind, wie etwa computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten, darunter RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnik, CD-ROM, Digital Versatile Disk (DVD) oder anderer optischer Speicher, Magnetkassetten, Magnetband, Magnetplattenspeicher oder andere Magnetspeichervorrichtungen oder ein beliebiges anderes Medium, das dazu verwendet werden kann, die gewünschten Information zu speichern, und auf das durch eine Systemvorrichtung zugegriffen werden kann. Auf Grundlage der Offenbarung und der in dieser Schrift bereitgestellten Lehren versteht der Durchschnittsfachmann, dass andere Möglichkeiten und/oder Verfahren vorhanden sind, um die verschiedenen Ausführungsformen umzusetzen.
  • Die Beschreibung und die Zeichnungen sind dementsprechend in einem veranschaulichenden und nicht einschränkenden Sinne zu verstehen. Es versteht sich jedoch, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne vom weiteren Geist und Umfang der Erfindung abzuweichen, die in den Patentansprüchen dargelegt sind.
  • 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 15911850 [0001]

Claims (15)

  1. System, umfassend: mindestens einen Prozessor einer Rechenvorrichtung; eine Kamera; eine Anzeige; und eine Speichervorrichtung, die Anweisungen beinhaltet, die bei Ausführung durch den mindestens einen Prozessor einer Rechenvorrichtung das System zu Folgendem veranlassen: Aufnehmen von Bilddaten unter Verwendung der Kamera, wobei die Bilddaten eine Darstellung einer Szene beinhalten; Anzeigen der Darstellung der Szene auf der Anzeige; Durchführen von mindestens einem Teil eines Bilderkennungsprozesses auf den Bilddaten, wobei der Bilderkennungsprozess einer Vielzahl von möglichen Zuständen zugeordnet ist, Bestimmen eines aktuellen Zustands des Bilderkennungsprozesses; Erfassen eines Merkmals der Szene aus den Bilddaten; Anzeigen einer Menge von animierten visuellen Markern, die auf der Darstellung der Szene überlagert sind, wobei die Menge von animierten visuellen Markern eine Vielzahl von möglichen Verhalten aufweist, die der Vielzahl von möglichen Zuständen und dem erfassten Merkmal entsprechen; Bestimmen eines Verhaltens für die Menge von animierten visuellen Markern, zumindest teilweise basierend auf mindestens einem von dem aktuellen Zustand oder dem erfassten Merkmal, wobei das Verhalten den aktuellen Zustand anzeigt; und Aktualisieren des Verhaltens der Menge von animierten visuellen Markern zumindest teilweise basierend auf einer Änderung des aktuellen Zustands oder des erfassten Merkmals.
  2. System nach Anspruch 1, wobei die Anweisungen bei Ausführung das System ferner zu Folgendem veranlassen: Durchführen einer Bildanalyse auf den Bilddaten für eine visuelle Suchabfrage; Anzeigen der Menge von animierten visuellen Markern während der Bildanalyse, wobei die Menge von animierten visuellen Markern ein Verhalten aufweist, das dem Durchführen der Bildanalyse zugeordnet ist und dieses anzeigt; Erfassen eines Objekts in der Darstellung der Szene; und Anzeigen der Menge von animierten visuellen Markern beim Erfassen des Objekts, wobei die Menge von animierten visuellen Markern ein Verhalten aufweist, das dem Erfassen des Objekts zugeordnet ist und dieses anzeigt.
  3. System nach Anspruch 1, wobei die Anweisungen bei Ausführung das System ferner zu Folgendem veranlassen: Erfassen einer Oberfläche in der Darstellung der Szene für ein Augmented-Reality-Modell; beim Erfassen der Oberfläche Anzeigen der Menge von animierten visuellen Markern, die ein Verhalten aufweisen, das der erfassten Oberfläche zugeordnet ist und diese anzeigt; Rendern eines Augmented-Reality-Modells; während des Renderns, Anzeigen der Menge von animierten visuellen Markern, die ein Verhalten aufweisen, das dem Rendern zugeordnet ist und dieses anzeigt; und beim Abschließen des Renderns Anzeigen der Menge von animierten visuellen Markern, die ein Verhalten aufweisen, das dem Abschluss des Renderns zugeordnet ist und diesen anzeigt;.
  4. System nach Anspruch 1, wobei die Menge von animierten visuellen Markern eine Vielzahl von unterschiedlichen grafischen Elementen beinhaltet, die ein Aussehen, eine Bewegung, eine Physik, eine Form, eine Opazität oder eine Farbe zumindest teilweise basierend auf dem Verhalten aufweisen.
  5. Computerimplementiertes Verfahren, umfassend: Empfangen von Bilddaten, die eine Darstellung einer Szene beinhalten; Bewirken, dass die Darstellung der Szene in einer grafischen Schnittstelle auf einer Anzeigevorrichtung angezeigt wird; Durchführen eines Bilderkennungsprozesses auf den Bilddaten, wobei der Bilderkennungsprozess einer Vielzahl von Zuständen zugeordnet ist; Anzeigen einer Gruppe von visuellen Markern auf der grafischen Schnittstelle; Bestimmen eines Verhaltens für die Gruppe von visuellen Markern zumindest teilweise basierend auf einem aktuellen Zustand des Bilderkennungsprozesses; und Ändern des Verhaltens der visuellen Marker zumindest teilweise basierend auf einer Änderung des aktuellen Zustands.
  6. Verfahren nach Anspruch 5, ferner umfassend: Anzeigen eines animierten Übergangs der Gruppe von visuellen Markern von einem vorherigen Verhalten, das einem vorherigen Zustand zugeordnet ist, zu dem Verhalten, das dem aktuellen Zustand zugeordnet ist.
  7. Verfahren nach Anspruch 5, ferner umfassend: Durchführen eines Augmented-Reality-Prozesses unter Verwendung der Darstellung der Szene, wobei der Augmented-Reality-Prozess zumindest einer Teilmenge der Vielzahl von Zuständen zugeordnet ist; Anzeigen einer Gruppe von visuellen Markern, die auf der Darstellung der Szene als Overlay erscheinen, wobei das Verhalten der Gruppe von visuellen Markern zumindest teilweise auf dem aktuellen Zustand des Augmented-Reality-Prozesses basiert; und Aktualisieren des Verhaltens der Gruppe von visuellen Markern zumindest teilweise basierend auf einer Änderung des aktuellen Zustands des Augmented-Reality-Prozesses.
  8. Verfahren nach Anspruch 5, ferner umfassend: Durchführen eines bildbasierten Suchprozesses unter Verwendung der Darstellung der Szene, wobei der bildbasierte Suchprozess zumindest einer Teilmenge der Vielzahl von Zuständen zugeordnet ist; Anzeigen einer Gruppe von visuellen Markern, die auf der Darstellung der Szene als Overlay erscheinen, wobei das Verhalten der Gruppe von visuellen Markern zumindest teilweise auf dem aktuellen Zustand des bildbasierten Suchprozesses basiert; und Aktualisieren des Verhaltens der Gruppe von visuellen Markern zumindest teilweise basierend auf einer Änderung des aktuellen Zustands des bildbasierten Suchprozesses.
  9. Verfahren nach Anspruch 5, ferner umfassend: Empfangen einer Benutzereingabe; und Bestimmen des Verhaltens für die Gruppe von visuellen Markern, zumindest teilweise basierend auf der Benutzereingabe.
  10. Verfahren nach Anspruch 5, wobei eine Zuordnung zwischen der Vielzahl von Zuständen und der Vielzahl von Verhalten über eine Vielzahl von verschiedenen Szenenarten oder Bilderkennungsprozessen hinweg konsistent ist.
  11. Verfahren nach Anspruch 5, wobei die Vielzahl von Zuständen mindestens eines von einer Stufe in einem Abtastprozess, einer Szenenart oder einer Objektart beinhaltet.
  12. Verfahren nach Anspruch 5, ferner umfassend: Bestimmen, dass der aktuelle Zustand des Bilderkennungsprozesses ein inaktiver Zustand ist, wobei die Bilddaten für den Bilderkennungsprozess nicht geeignet sind; und Anzeigen der Gruppe von visuellen Markern, die ein Verhalten inaktiver Zustand aufweisen, wobei das Verhalten inaktiver Zustand anzeigt, dass sich der Bilderkennungsprozess in dem inaktiven Zustand befindet.
  13. Verfahren nach Anspruch 5, ferner umfassend: Bestimmen, dass der aktuelle Zustand des Bilderkennungsprozesses ein Führungszustand ist, in dem eine Benutzereingabe angefordert wird; und Anzeigen der Gruppe von visuellen Markern, die ein Führungszustandsverhalten aufweisen, wobei das Führungszustandsverhalten die angeforderte Benutzereingabe anzeigt.
  14. Verfahren nach Anspruch 5, ferner umfassend: Bestimmen, dass der aktuelle Zustand des Bilderkennungsprozesses ein Fehlerzustand ist, in dem ein Verbindungs- oder Systemproblem erfasst wird; und Anzeigen der Gruppe von visuellen Markern, die ein Fehlerzustandsverhalten aufweisen, wobei das Fehlerzustandsverhalten anzeigt, dass sich der Bilderkennungsprozess in dem Fehlerzustand befindet.
  15. Verfahren nach Anspruch 5, ferner umfassend: Bestimmen, dass der aktuelle Zustand des Bilderkennungsprozesses ein Bildanalysezustand ist, wobei die Bilddaten analysiert werden; und Anzeigen der Gruppe von visuellen Markern, die ein Bildanalysezustandsverhalten aufweisen, wobei das Bildanalysezustandsverhalten anzeigt, dass die Bilddaten analysiert werden.
DE112019001175.8T 2018-03-05 2019-03-04 Visuelles Feedback zum Prozesszustand Pending DE112019001175T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/911,850 2018-03-05
US15/911,850 US10558857B2 (en) 2018-03-05 2018-03-05 Visual feedback of process state
PCT/US2019/020499 WO2019173185A1 (en) 2018-03-05 2019-03-04 Object tracking in zoomed video

Publications (1)

Publication Number Publication Date
DE112019001175T5 true DE112019001175T5 (de) 2021-01-14

Family

ID=65818084

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019001175.8T Pending DE112019001175T5 (de) 2018-03-05 2019-03-04 Visuelles Feedback zum Prozesszustand

Country Status (5)

Country Link
US (2) US10558857B2 (de)
CN (1) CN111801680A (de)
DE (1) DE112019001175T5 (de)
GB (2) GB2584033B (de)
WO (1) WO2019173185A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289932B2 (en) * 2017-07-31 2019-05-14 Google Llc Object recognition state indicators
US20200201513A1 (en) * 2018-12-21 2020-06-25 Zebra Technologies Corporation Systems and methods for rfid tag locationing in augmented reality display
EP3779733A1 (de) * 2019-08-12 2021-02-17 Universität Bern Informationsabrufverfahren
CN111144363B (zh) * 2019-12-31 2023-02-28 北京理工大学 一种基于场景和物体信息的第一视角下的行为识别方法
US11727476B2 (en) * 2020-01-22 2023-08-15 Lydia Ann Colby Color rendering
US11176752B1 (en) * 2020-03-31 2021-11-16 Amazon Technologies, Inc. Visualization of a three-dimensional (3D) model in augmented reality (AR)
US11526544B2 (en) * 2020-05-07 2022-12-13 International Business Machines Corporation System for object identification
CN113392685A (zh) * 2020-09-22 2021-09-14 腾讯科技(深圳)有限公司 图像识别方法、装置、图像识别设备及存储介质
CN112613701B (zh) * 2020-12-02 2023-03-03 红云红河烟草(集团)有限责任公司 一种成品卷烟物流调度方法
US20220188625A1 (en) * 2020-12-11 2022-06-16 Poyen Hsieh Method and computer implemented system for generating layout plan using neural network
US20220300550A1 (en) * 2021-03-19 2022-09-22 Google Llc Visual Search via Free-Form Visual Feature Selection
CN113138894B (zh) * 2021-04-14 2022-07-15 哈尔滨工业大学 基于电力参数监测与屏幕信息识别的实验设备监控方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356258B2 (en) * 2008-02-01 2013-01-15 Microsoft Corporation Arranging display areas utilizing enhanced window states
AT10520U3 (de) * 2008-09-05 2013-10-15 Knapp Systemintegration Gmbh Vorrichtung und verfahren zur visuellen unterstützung von kommissioniervorgängen
US9377857B2 (en) * 2009-05-01 2016-06-28 Microsoft Technology Licensing, Llc Show body position
KR101670956B1 (ko) * 2009-08-07 2016-10-31 구글 인코포레이티드 시각 질의의 다수 영역들에 대한 검색 결과들을 제시하기 위한 사용자 인터페이스
US9135277B2 (en) * 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
US20110063440A1 (en) * 2009-09-11 2011-03-17 Neustaedter Carman G Time shifted video communications
EP2577500A1 (de) * 2010-05-26 2013-04-10 Nokia Corp. Verfahren und vorrichtung zur festlegung von zuordnungsparametern zur darstellung von benutzeroberflächenelementen in einer anwendung
US8694900B2 (en) * 2010-12-13 2014-04-08 Microsoft Corporation Static definition of unknown visual layout positions
US9547938B2 (en) * 2011-05-27 2017-01-17 A9.Com, Inc. Augmenting a live view
CN102902807B (zh) * 2011-10-18 2016-06-29 微软技术许可有限责任公司 使用多个视觉输入模态的视觉搜索
US8941487B2 (en) * 2012-03-09 2015-01-27 Salutron, Inc. Transferring a mobile tag using a light based communication handshake protocol
CN103376112A (zh) * 2012-04-18 2013-10-30 德尔福技术有限公司 高架道路辅助判断系统、具有该系统的导航设备及导航方法
US8873892B2 (en) * 2012-08-21 2014-10-28 Cognex Corporation Trainable handheld optical character recognition systems and methods
US9160993B1 (en) * 2013-07-18 2015-10-13 Amazon Technologies, Inc. Using projection for visual recognition
US9830631B1 (en) * 2014-05-02 2017-11-28 A9.Com, Inc. Image recognition result culling
US10915161B2 (en) * 2014-12-11 2021-02-09 Intel Corporation Facilitating dynamic non-visual markers for augmented reality on computing devices
US9600742B2 (en) * 2015-05-05 2017-03-21 Lucasfilm Entertainment Company Ltd. Determining control values of an animation model using performance capture
DE102016119510A1 (de) * 2015-10-16 2017-04-20 Cognex Corporation Lernfähige tragbare Systeme zur optischen Zeichenerkennung und Verfahren
US10282614B2 (en) * 2016-02-18 2019-05-07 Microsoft Technology Licensing, Llc Real-time detection of object scanability

Also Published As

Publication number Publication date
WO2019173185A1 (en) 2019-09-12
US20200160058A1 (en) 2020-05-21
US10558857B2 (en) 2020-02-11
CN111801680A (zh) 2020-10-20
GB202011478D0 (en) 2020-09-09
GB202210645D0 (en) 2022-09-07
GB2584033B (en) 2022-09-14
GB2606947A (en) 2022-11-23
US11093748B2 (en) 2021-08-17
GB2584033A (en) 2020-11-18
US20190272425A1 (en) 2019-09-05

Similar Documents

Publication Publication Date Title
DE112019001175T5 (de) Visuelles Feedback zum Prozesszustand
US10049308B1 (en) Synthesizing training data
US10176198B1 (en) Techniques for identifying visually similar content
DE112019005489T5 (de) Bestimmung visueller attribute zur inhaltsauswahl
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE112017006517T5 (de) Visuelle kategoriedarstellung mit vielfältiger einstufung
DE112017002821T5 (de) Verfahren, System und Computerprogrammprodukt zur interaktiven Identifizierung von gleichen Personen oder Objekten in Videoaufnahmen
DE112016001453T5 (de) Navigieren von Ereignisinformation
DE102016014798A1 (de) Genaues Vorhersagen einer Etikettrelevanz bei einer Bildabfrage
DE102011003201A1 (de) System für kreative Bildnavigation und Untersuchung
DE112016001830T5 (de) Das Entdecken von Unternehmen aus Bildern
DE102021004260A1 (de) Textuelles Bearbeiten von digitalen Bildern
DE102018003475A1 (de) Formbasierte Grafiksuche
DE112017006406T5 (de) Intelligentes automatisches zuschneiden von bildern
DE102017009505A1 (de) Erzeugen einer kompakten Videomerkmaldarstellung in einer digitalen Medienumgebung
De Campos et al. Images as sets of locally weighted features
US11755190B2 (en) Synthetic image data generation using auto-detected image parameters
DE112020004920T5 (de) Verfolgen von datenstromobjekten mit verzögerter objekterkennung
DE112021004894T5 (de) Dynamische sammlungsbasierte inhaltsdarstellung
Harding et al. Visual saliency from image features with application to compression
BE1029597B1 (de) Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder
BE1029610B1 (de) Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR)
DE102019000178A1 (de) Interaktives System zum automatischen Synthetisieren einer contentsensitiven Füllung
DE102023111198A1 (de) Kontextbasierte Rezensionsübersetzung
Katiyar et al. Fruit Recognition System Using MATLAB

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000