DE112020005693T5 - Verfahren zum suchen nach bildern unter verwendung von rotationsgesteneingaben - Google Patents

Verfahren zum suchen nach bildern unter verwendung von rotationsgesteneingaben Download PDF

Info

Publication number
DE112020005693T5
DE112020005693T5 DE112020005693.7T DE112020005693T DE112020005693T5 DE 112020005693 T5 DE112020005693 T5 DE 112020005693T5 DE 112020005693 T DE112020005693 T DE 112020005693T DE 112020005693 T5 DE112020005693 T5 DE 112020005693T5
Authority
DE
Germany
Prior art keywords
image
alignment axis
images
attribute
computer
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
DE112020005693.7T
Other languages
English (en)
Inventor
Kulvir Singh Bhogal
Alexandre Polozoff
Sarbajit Rakshit
Jeremy Fox
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020005693T5 publication Critical patent/DE112020005693T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/53Querying
    • G06F16/535Filtering based on additional data, e.g. user or group profiles
    • 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/538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/048023D-info-object: information is displayed on the internal or external surface of a three dimensional manipulable object, e.g. on the faces of a cube that can be rotated by the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Es wird ein Verfahren zum Suchen nach Bildern bereitgestellt. Das Verfahren umfasst ein Identifizieren eines Objekts in einem zweidimensionalen Referenzbild. Das Verfahren umfasst ein Ermitteln einer dreidimensionalen Referenz-Ausrichtungsachse des Objekts auf der Grundlage von mindestens einem Attribut des Objekts. Das Verfahren umfasst ein Empfangen einer Eingabe, die eine Änderung einer dreidimensionalen Perspektive des Objekts anfordert. Das Verfahren umfasst ferner ein Ermitteln einer neuen Ausrichtungsachse auf der Grundlage von der Eingabe und der Referenz-Ausrichtungsachse. Das Verfahren umfasst ein Ausführen einer Suchanfrage in einem Satz von zweidimensionalen Bildern, wobei die Suchanfrage auf der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts beruht. Das Verfahren umfasst ferner ein Anzeigen von Bildsuchergebnissen, die auf der Grundlage von Korrelationen mit der neuen Ausrichtungsachse und dem Attribut des Objekts in einer Rangfolge geordnet sind.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich auf ein Suchen nach Bildern, genauer gesagt auf ein Suchen nach Bildern unter Verwendung von einer Eingabe von Rotationsgesten.
  • HINTERGRUND
  • Anzeigeeinheiten können Objekte in zweidimensionaler („2D“) oder dreidimensionaler („3D“) Form anzeigen. Wenn ein Objekt in einer 2D-Darstellung angezeigt wird (z.B. in einer flachen Fotografie eines Autos), fehlen dem Datenverarbeitungssystem die Informationen, die erforderlich sind, um die Ansicht des Objekts in einen anderen Blickwinkel zu ändern. Andererseits können Objekte, die in einer 3D-Darstellung angezeigt werden, auf einer zweidimensionalen Anzeigeeinheit in einer Vielfalt von verschiedenen Winkelausrichtungen oder Blickwinkeln betrachtet werden. Zum Beispiel ermöglichen CAD-Programme (computer aided design) dem Benutzer, eine ausgefüllte (oder Drahtmodell-) Darstellung eines Objekts zu drehen, um es aus verschiedenen Blickwinkeln zu betrachten. Das 3D-Modell des Objekts umfasst zusätzliche Informationen (z.B. Informationen über die X-, Y- und Z-Achse), die es dem Programm ermöglichen, ein neues Bild des Objekts zu erstellen, wenn der Benutzer eine Änderung der Perspektive anfordert. Bei Objekten, die in einer 2D-Darstellung betrachtet werden, führt eine Rotationsgeste (oder eine andere Form der Benutzereingabe) jedoch nicht zu einem anderen Blickwinkel auf das Objekt. Daher kann der Benutzer keine Eingaben bereitstellen, um den Rotationsblickwinkel von den 2D-Bildern zu ändern. In der Technik besteht folglich ein Bedarf, das oben genannte Problem zu lösen.
  • KURZDARSTELLUNG
  • Von einem ersten Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Verfahren zum Suchen nach Bildern bereit, wobei das Verfahren aufweist: Identifizieren eines Referenzobjekts in einem zweidimensionalen Referenzbild; Ermitteln einer dreidimensionalen Referenz-Ausrichtungsachse des Referenzobjekts auf der Grundlage von mindestens einem Attribut des Referenzobjekts; Empfangen einer Eingabe, die eine Änderung in einer dreidimensionalen Perspektive des Referenzobjekts anfordert; Ermitteln einer neuen Ausrichtungsachse auf der Grundlage von der Eingabe und der Referenz-Ausrichtungsachse; Ausführen einer Suchanfrage in einem Satz von zweidimensionalen Bildern, wobei die Suchanfrage auf der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts beruht; und Anzeigen von Bildsuchergebnissen, die auf der Grundlage von der Korrelation mit der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts in einer Rangfolge geordnet sind.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computersystem bereit, das aufweist: Ein durch einen Computer lesbares Speichermedium, auf dem Programmanweisungen gespeichert sind; und einen oder mehrere Prozessoren, die so konfiguriert sind, dass sie die Programmanweisungen ausführen, um ein Verfahren durchzuführen, das aufweist: Identifizieren eines Referenzobjekts in einem zweidimensionalen Referenzbild; Ermitteln einer dreidimensionalen Referenz-Ausrichtungsachse des Referenzobjekts auf der Grundlage von mindestens einem Attribut des Referenzobjekts; Empfangen einer Eingabe, die eine Änderung in einer dreidimensionalen Perspektive des Referenzobjekts anfordert; Ermitteln einer neuen Ausrichtungsachse auf der Grundlage von der Eingabe und der Referenz-Ausrichtungsachse; Ausführen einer Suchanfrage in einem Satz von zweidimensionalen Bildern, wobei die Suchanfrage auf der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts beruht; und Anzeigen von Bildsuchergebnissen, die auf der Grundlage von der Korrelation mit der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts in einer Rangfolge geordnet sind.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Suchen nach Bildern bereit, wobei das Computerprogrammprodukt aufweist: Ein durch einen Computer lesbares Speichermedium, das durch einen Verarbeitungsschaltkreis lesbar ist und Anweisungen zum Ausführen durch den Verarbeitungsschaltkreis speichert, um ein Verfahren zum Durchführen der Schritte der Erfindung durchzuführen.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem durch einen Computer lesbaren Medium gespeichert ist und in den internen Speicher eines digitalen Computers geladen werden kann, und das Softwarecode-Abschnitte aufweist, wenn das Programm auf einem Computer ausgeführt wird, um die Schritte der Erfindung durchzuführen.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Implementieren eines Verfahrens zum Suchen nach Bildern bereit, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, in dem Programmanweisungen verkörpert sind, wobei die Programmanweisungen von mindestens einem Computerprozessor ausführbar sind, um den Computerprozessor zu Folgendem zu veranlassen: Identifizieren eines Referenzobjekts in einem zweidimensionalen Referenzbild; Ermitteln einer dreidimensionalen Referenz-Ausrichtungsachse des Referenzobjekts auf der Grundlage von mindestens einem Attribut des Referenzobjekts; Empfangen einer Eingabe, die eine Änderung in einer dreidimensionalen Perspektive des Referenzobjekts anfordert; Ermitteln einer neuen Ausrichtungsachse auf der Grundlage von der Eingabe und der Referenz-Ausrichtungsachse; Ausführen einer Suchanfrage in einem Satz von zweidimensionalen Bildern, wobei die Suchanfrage auf der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts beruht; und Anzeigen von Bildsuchergebnissen, die auf der Grundlage von der Korrelation mit der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts in einer Rangfolge geordnet sind.
  • Ausführungsformen der vorliegenden Offenbarung beziehen sich auf ein Verfahren zum Suchen nach Bildern. Das Verfahren umfasst ein Identifizieren eines Objekts in einem zweidimensionalen Referenzbild. Das Verfahren umfasst ein Ermitteln einer dreidimensionalen Referenz-Ausrichtungsachse des Objekts auf der Grundlage von mindestens einem Attribut des Objekts. Das Verfahren umfasst ein Empfangen einer Eingabe, die eine Änderung einer dreidimensionalen Perspektive des Objekts anfordert. Das Verfahren umfasst ferner ein Ermitteln einer neuen Ausrichtungsachse auf der Grundlage von der Eingabe und der Referenz-Ausrichtungsachse. Das Verfahren umfasst ein Ausführen einer Suchanfrage in einem Satz von zweidimensionalen Bildern, wobei die Suchanfrage auf der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts beruht. Das Verfahren umfasst ferner ein Anzeigen von Bildsuchergebnissen, die auf der Grundlage von Korrelationen mit der neuen Ausrichtungsachse und dem Attribut des Objekts in einer Rangfolge geordnet sind.
  • Andere Ausführungsformen der vorliegenden Offenbarung beziehen sich auf ein Computersystem und ein Computerprogrammprodukt zum Durchführen des Verfahrens.
  • Die obige Zusammenfassung dient nicht dazu, jede veranschaulichte Ausführungsform oder jede Umsetzung der vorliegenden Offenbarung zu beschreiben.
  • Figurenliste
  • Die in der vorliegenden Anmeldung enthaltenen Zeichnungen sind in die Spezifikation aufgenommen und bilden einen Teil von ihr. Sie zeigen Ausführungsformen der vorliegenden Offenbarung und erläutern zusammen mit der Beschreibung die Grundgedanken der Offenbarung. Die Zeichnungen sind lediglich zur Veranschaulichung bestimmter Ausführungsformen gedacht und stellen keine Einschränkung der Offenbarung dar.
    • 1 zeigt ein Blockschaubild eines Verarbeitungssystems gemäß den Ausführungsformen.
    • 2 zeigt ein Blockschaubild einer beispielhaften Cloud-Computing-Umgebung mit einem oder mehreren Datenverarbeitungsknoten, mit denen lokale, von Cloud-Kunden verwendete Datenverarbeitungseinheiten gemäß Ausführungsformen Daten austauschen.
    • 3 zeigt ein Blockschaubild eines Satzes von funktionalen Abstraktionsschichten, die gemäß Ausführungsformen von einer Cloud-Computing-Umgebung bereitgestellt werden.
    • 4 zeigt einen Ablaufplan für ein Verfahren zur Bildsuche gemäß Ausführungsformen.
    • 5A und 5B zeigen ein Beispiel für ein Objekt, das gemäß einer Ausführungsform in zwei verschiedenen visuellen Ausrichtungen angezeigt wird.
    • 6 zeigt ein Beispiel für ein Objekt und eine Rotationsgeste eines Benutzers, gemäß einer Ausführungsform.
    • 7 zeigt ein Beispiel für ein Objekt und ein sphärisches Modell, das gemäß einer Ausführungsform die verfügbaren Blickwinkel in den Bildsuchergebnissen anzeigt.
    • 8 zeigt ein Beispiel für ein sphärisches Modell, das gemäß einer Ausführungsform die verfügbaren Blickwinkel in den Bildsuchergebnissen anzeigt und den Grad der Korrelation zwischen den verfügbaren Bildern und dem Referenzbild angibt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Bildsuchmaschinen stellen keine 2D-Bildergebnisse auf der Grundlage von einem bestimmten Blickwinkel eines Objekts im Bild bereit und erlauben es einem Benutzer nicht, einen bestimmten Blickwinkel zur Betrachtung festzulegen. Es ist jedoch wünschenswert, bestimmte Objekte aus verschiedenen Blickwinkeln als 2D-Bilder betrachten zu können, wenn solche Objekte nicht durch ein 3D-Bildmodell dargestellt werden können.
  • Die hier beschriebenen Ausführungsformen stellen Systeme, Verfahren und Computerprogrammprodukte bereit, die es Benutzern ermöglichen, eine gewünschte Änderung des Blickwinkels eines Objekts in einem 2D-Bild einzugeben und 2D-Bildsuchergebnisse zu erhalten, die den gewünschten Blickwinkel darstellen. Darüber hinaus ermöglichen die hier beschriebenen Ausführungsformen ein Crowdsourcing neuer Bilder für fehlende Blickwinkel auf der Grundlage von der Nachfrage der Benutzer nach einem Betrachten bestimmter Objekte aus bestimmten Perspektiven.
  • Unter Bezugnahme auf die Zeichnungen, in denen gleiche oder ähnliche Elemente durch gleiche Ziffern dargestellt sind, und zunächst auf 1 wird ein beispielhaftes Verarbeitungssystem 100 gemäß einer Ausführungsform gezeigt, auf dem die vorliegenden Ausführungsformen durchgeführt werden können. Das Verarbeitungssystem 100 umfasst mindestens einen Prozessor (CPU) 104, der über einen Systembus 102 funktionsmäßig mit anderen Komponenten verbunden ist. Ein Cache 106, ein Nur-Lese-Speicher (ROM) 108, ein Direktzugriffsspeicher (RAM) 110, ein Eingabe-/Ausgabe-(E/A-) Adapter 120, ein Soundadapter 130, ein Netzwerkadapter 140, ein Benutzerschnittstellen-Adapter 150 und ein Anzeigeadapter 160 sind funktionsmäßig mit dem Systembus 102 verbunden.
  • Eine erste Speichereinheit 122 und eine zweite Speichereinheit 124 sind über den E/A-Adapter 120 funktionsmäßig mit dem Systembus 102 verbunden. Bei den Speichereinheiten 122 und 124 kann es sich um eine Plattenspeichereinheit (z.B. eine magnetische oder optische Plattenspeichereinheit), eine magnetische Halbleitereinheit und so weiter handeln. Bei den Speichereinheiten 122 und 124 kann es sich um dieselbe Art von Speichereinheit oder um unterschiedliche Arten von Speichereinheiten handeln.
  • Ein Lautsprecher 132 ist über den Soundadapter 130 funktionsmäßig mit dem Systembus 102 verbunden. Ein Transceiver 142 ist über den Netzwerkadapter 140 funktionsmäßig mit dem Systembus 102 verbunden. Eine Anzeigeeinheit 162 ist über den Anzeigeadapter 160 funktionsmäßig mit dem Systembus 102 verbunden.
  • Eine Eingabeeinheit eines ersten Benutzers 152, eine Eingabeeinheit eines zweiten Benutzers 154 und eine Eingabeeinheit eines dritten Benutzers 156 sind über den Benutzerschnittstellen-Adapter 150 funktionsmäßig mit dem Systembus 102 verbunden. Bei den Benutzer-Eingabeeinheiten 152, 154 und 156 kann es sich um eine Tastatur, eine Maus, ein Tastenfeld, eine Bilderfassungseinheit, eine Bewegungserkennungseinheit, ein Mikrofon, eine Einheit, die die Funktionalität von mindestens zwei der vorgenannten Einheiten enthält, oder um andere geeignete Arten von Eingabeeinheiten handeln. Bei den Benutzer-Eingabeeinheiten 152, 154 und 156 kann es sich um dieselbe Art von Benutzer-Eingabeeinheit oder um unterschiedliche Arten von Benutzer-Eingabeeinheiten handeln. Die Benutzer-Eingabeeinheiten 152, 154 und 156 werden zur Eingabe und Ausgabe von Informationen in das und aus dem System 100 verwendet.
  • Eine Bildanalyse-Komponente 172 ist funktionsmäßig mit dem Systembus 102 verbunden. Die Bildanalyse-Komponente 172 (oder Routine) identifiziert Objekte in einem Bild auf der Grundlage von Bildanalyse, Bildverarbeitung, Metrologie, Kantenerkennung, Objekterkennung, Klassifizierungen usw., die an dem Bild durchgeführt werden. Die Bildanalyse-Komponente 172 ist so konfiguriert, dass sie eine Vielfalt verschiedener Objekte auf der Grundlage von vielen verschiedenen Attributen des Objekts identifiziert. Die Attribute des Objekts können auf der Grundlage von Farbe, Modell, Art des Objekts, Form des Objekts, Größe des Objekts usw. identifiziert werden. Darüber hinaus werden die Bildobjekte unter Verwendung entsprechender Bildklassifizierungsverfahren auf der Grundlage von den identifizierten Attributen klassifiziert.
  • Eine Bildsuchmaschinen-Komponente 174 ist funktionsmäßig mit dem Systembus 102 verbunden. Die Bildsuchmaschinen-Komponente 174 sucht nach Bildern auf der Grundlage von Schlüsselwörtern, einem Bild, einem Weblink zu einem Bild, Bildmetadaten, der Verteilung von Farben, Formen, dem Rotationsblickwinkel usw.
  • Das Verarbeitungssystem 100 kann auch andere (nicht dargestellte) Elemente umfassen, wie sie von einem Fachmann leicht in Betracht gezogen werden können, und bestimmte Elemente können auch weggelassen werden. Zum Beispiel kann das Verarbeitungssystem 100 verschiedene andere Eingabeeinheiten und/oder Ausgabeeinheiten enthalten, je nach der bestimmten Implementierung desselben, wie ein Fachmann leicht verstehen wird. Zum Beispiel können verschiedene Arten von drahtlosen und/oder drahtgebundenen Eingabeeinheiten und/oder Ausgabeeinheiten verwendet werden. Darüber hinaus können auch zusätzliche Prozessoren, Steuerungen, Speicher usw. in verschiedenen Konfigurationen verwendet werden, wie ein Fachmann leicht erkennen wird. Diese und andere Variationen des Verarbeitungssystems 100 sind für einen Fachmann in Anbetracht der hier bereitgestellten Lehren der vorliegenden Offenbarung leicht in Betracht zu ziehen.
  • Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing umfasst. Stattdessen können Ausführungsformen der vorliegenden Offenbarung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Bei Cloud-Computing handelt es sich um ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können.
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten aufweist.
  • Unter Bezugnahme auf 2 ist die veranschaulichende Cloud-Computing-Umgebung 250 abgebildet. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 250 einen oder mehrere Cloud-Computing-Knoten 210 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 254A, der Desktop-Computer 254B, der Laptop-Computer 254C und/oder das Automobil-Computer-System 254N Daten austauschen können. Die Knoten 210 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie Private, Community, Public oder Hybrid Clouds gruppiert werden (nicht dargestellt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 250, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 2 gezeigten Datenverarbeitungseinheiten 254A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 210 und die Cloud-Computing-Umgebung 250 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 3, wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 250 (2) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 3 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 360 umfasst Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 361; auf der RISC-Architektur (Reduced Instruction Set Computer) beruhende Server 362; Server 363; Blade-Server 364; Speichereinheiten 365; und Netzwerke sowie Netzwerkkomponenten 366. In einigen Ausführungsformen umfassen Software-Komponenten eine Netzwerk-Anwendungsserver-Software 367 und eine Datenbank-Software 368.
  • Die Virtualisierungsschicht 370 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 371; virtueller Speicher 372; virtuelle Netzwerke 373, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 374; und virtuelle Clients 375.
  • In einem Beispiel kann die Verwaltungsschicht 380 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 381 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 382 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 383 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 384 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 385 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 390 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 391; Software-Entwicklung und Lebenszyklusverwaltung 392; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 393; Datenanalytikverarbeitung 394; Transaktionsverarbeitung 395; und Bildsuchmaschinen-Verarbeitung 396.
  • In bestimmten Ausführungsformen empfängt eine Bildsuchmaschine eine Eingabe von einem Benutzer bezüglich einer Änderung des Blickwinkels eines 2D-Objekts in einem Bild und sucht nach einem vorhandenen, auf einer Speichereinheit gespeicherten Bild, das dieser neuen Perspektive entspricht. So gibt es eine Sammlung von verschiedenen 2D-Bildern des Objekts, die in einer Mehrzahl verschiedener Blickwinkel gespeichert sind. Dies unterscheidet sich von dem Mechanismus zur Änderung des Blickwinkels eines dreidimensionalen Objekts (z.B. eines in einem CAD-Programm erzeugten Objekts), bei dem das System jedes Mal, wenn sich der Blickwinkel und/oder die Zoomstufe ändert, programmatisch ein völlig neues Bild erzeugt.
  • Unter Bezugnahme auf 4 identifiziert eine Bildsuchmaschine in bestimmten Ausführungsformen in Schritt 400 ein Objekt in einem Bild. In Schritt 402 ermittelt die Suchmaschine einen Ausrichtungsvektor des identifizierten Objekts. In Schritt 404 empfängt die Suchmaschine eine Eingabe eines Benutzers zur Rotation des Objekts im Bild. In einem Beispiel, das hier näher erläutert wird, kann es sich bei der Eingabe des Benutzers um eine Rotationsgeste durch die Hand des Benutzers handeln. Auf der Grundlage von der Eingabe des Benutzers und einer Größe der Änderung des Ausrichtungsvektors durchsucht die Bildsuchmaschine einen Satz von Bildern, um zu ermitteln, ob andere 2D-Bilder des Objekts mit dem neuen Ausrichtungsvektor verfügbar sind. In Schritt 406 führt die Suchmaschine eine Suchanfrage auf der Grundlage von dem neuen Ausrichtungsvektor und auf der Grundlage von einem oder mehreren Attributen des Bildes (z.B. der Farbe des Objekts) aus. Wenn die Suchmaschine in Schritt 408 feststellt, dass ein anderes 2D-Bild verfügbar ist, wird dieses neue Bild dem Benutzer in Schritt 410 auf der Anzeigeeinheit angezeigt. Wenn die Suchmaschine in Schritt 408 feststellt, dass keine 2D-Bilder für den neuen Ausrichtungsvektor verfügbar sind, gibt es keine Bilder, die dem Benutzer angezeigt werden können. Die Suchmaschine erkennt, dass Informationen fehlen, und in Schritt 412 stellt die Suchmaschine eine Anforderung nach fehlenden Informationen bei einer oder mehreren Quellen. Wie hier näher erläutert, kann es sich in bestimmten Ausführungsformen bei der Anforderung nach zusätzlichen Informationen um eine Crowdsourcing-Anforderung handeln. Beim Crowdsourcing wird eine große Anzahl von Personen aufgefordert, eigene Bilder für die Bildsuchmaschine zur Verfügung zu stellen. Diese bereitgestellten Bilder tragen dazu bei, einen Satz von Bildern zu vervollständigen, so dass Benutzer das Objekt aus einem beliebigen 360-Grad-Rotationsblickwinkel betrachten können. Nach dem Ausführen von Schritt 410 oder Schritt 412 kehrt das System zu Schritt 404 zurück, damit der Benutzer eine weitere Rotationsgeste eingeben kann. In bestimmten Ausführungsformen kann darüber hinaus das Bilddatenarchiv mit dem neuen Bild aktualisiert werden (z.B. automatisch oder nach Freigabe des Bildes durch einen Systemverwalter), wenn die Anforderung nach einem fehlenden Bild in Schritt 412 von einer externen Quelle erfüllt wird, die ein solches Bild bereitstellt, woraufhin künftige Suchanfragen auf der Grundlage von dem aktualisierten Bilddatenarchiv ausgeführt werden.
  • In bestimmten Ausführungsformen wird dem Benutzer ein 2D-Bild angezeigt, das ein oder mehrere Objekte enthält. In Schritt 400 analysiert die Bildsuchmaschine das 2D-Bild, um die im Bild vorliegenden Objekte zu identifizieren. Das Identifizieren der Objekte erfolgt auf der Grundlage von Bildanalyse, Bildverarbeitung, Metrologie, Kantenerkennung, Objekterkennung, Klassifizierungen usw., die an dem Bild durchgeführt werden. Eine Bildanalyseroutine kann eine Vielfalt verschiedener Objekte auf der Grundlage von vielen verschiedenen Attributen des Objekts identifizieren. Die Attribute des Objekts können auf der Grundlage von Farbe, Modell, Art des Objekts, Form des Objekts, Größe des Objekts usw. identifiziert werden. Darüber hinaus werden die Bildobjekte unter Verwendung entsprechender Bildklassifizierungsverfahren auf der Grundlage von den identifizierten Attributen klassifiziert.
  • Nachdem die Suchmaschine das Vorhandensein des Objekts identifiziert hat, ermittelt sie in Schritt 402, in welche Richtung die Objekte ausgerichtet sind. Insbesondere identifiziert die Suchmaschine eine Basisrichtung (oder einen Ausrichtungsvektor) für jedes der Objekte im Bild. In einer Ausführungsform ist der Ausrichtungsvektor eine Achse, die durch den berechneten Massenschwerpunkt des Objekts verläuft, und dieser Vektor erstreckt sich in einer Richtung von der Vorderseite des Objekts zur Rückseite des Objekts. Bei diesem anfänglichen Ausrichtungsvektor des Objekts handelt es sich um eine Referenz, die zusammen mit der Rotationsgeste des Benutzers verwendet wird, um einen neuen Ausrichtungsvektor zu berechnen. In einer Ausführungsform gehören die anfänglichen Ausrichtungsvektoren der im 2D-Bild vorhandenen Objekte zu den Metadaten des Bildes und werden von der Suchmaschine bei der Suche nach neuen Bildern verwendet. Es sollte beachtet werden, dass der Ausrichtungsvektor in bestimmten Ausführungsformen nicht durch den Massenschwerpunkt des Objekts verläuft und sich von einer Vorderseite zu einer Rückseite erstreckt, sondern in einer anderen Richtung relativ zum Objekt verlaufen kann.
  • In bestimmten Ausführungsformen steht eine Bibliothek mit verschiedenen Richtungen der Ausrichtung für verschiedene Klassifizierungsarten von Objekten zur Verfügung. In diesen Ausführungsformen zeigen die Daten in der Bibliothek eine Referenzausrichtung für ein Tier (z.B. die Vorderseite des Kopfes) oder ein Auto (z.B. die Vorderseite des Autos) oder ein Haus (z.B. die Seite des Gebäudes mit der Eingangstür) oder eine andere Klassifizierungsart an. Sobald in diesen Ausführungsformen eine Referenzseite des Bildobjekts ermittelt ist, weist ein Bildanalysemodul dem Bildobjekt die Referenz-Ausrichtungsachse zu. Bei der zugewiesenen Achse handelt es sich um die Referenzachse für das erkannte Objekt. Sobald die Referenzachse eines Bildobjekts identifiziert ist, werden andere Bildobjekte damit verglichen, die in demselben oder einem anderen Bild vorliegen, und es wird eine relative Referenzausrichtung oder -seite berechnet. Die relative Objektausrichtung verschiedener Bildobjekte wird mit dem Referenzbildobjekt verglichen, und die Ausrichtungsachse wird auf der Grundlage von der Differenz berechnet. In einer Ausführungsform wird die Ausrichtung verschiedener Bildobjekte in Bezug auf das Referenzbildobjekt berechnet und als aktuelle Winkelausrichtung des Objekts zugewiesen. Die Winkelausrichtung des Objekts wird in Bezug auf eine 3D-Achse berechnet, und dementsprechend wird die Winkelausrichtung der 3D-Achse berechnet und gehört zu den Metadaten des Bildobjekts.
  • Unter Bezugnahme auf 5A und 5B wird in bestimmten Ausführungsformen ein 2D-Bild (z.B. ein digitales Bild einer Fotografie), das mindestens ein Objekt (z.B. ein Auto) enthält, auf einer Anzeigeeinheit angezeigt. Bei dem Bild handelt es sich um ein 2D-Bild, und das Objekt wird dem Benutzer von einem anfänglichen dreidimensionalen Blickwinkel aus angezeigt (d.h. perspektivisch). Unter Bezugnahme auf 5A gibt es für ein Objekt 500 einen Referenzbild-Blickwinkel. In dem in 5A dargestellten Beispiel handelt es sich bei dem Referenzbild um eine Vorderansicht des Objekts 500, die auf der Z- und X-Achse liegen kann. Es sollte jedoch beachtet werden, dass statt einer Frontansicht auch jeder andere geeignete Blickwinkel als Referenzblickwinkel verwendet werden kann. Der Referenzblickwinkel weist auch einen entsprechenden Referenz-Ausrichtungsvektor auf, der senkrecht zu den beiden anderen Achsen steht. Unter Bezugnahme auf 5A sind eine X-Achse 504 und eine Z-Achse 502 dargestellt, die sich in horizontaler und vertikaler Richtung erstrecken, und die Referenzausrichtung erfolgt entlang der Y-Achse 506, die senkrecht zu den anderen Achsen verläuft (siehe auch die Y-Achse 506 in 5B). In einer Ausführungsform handelt es sich bei der Y-Achse 506 um die Ausrichtungsachse (oder den Ausrichtungsvektor 506) des Objekts, und der Ausrichtungsvektor 506 führt durch einen Massenschwerpunkt des Objekts von einer Vorderseite des Objekts zu einer Rückseite. Unter Bezugnahme auf 5B weist das Objekt 500 einen Ausrichtungsvektor 506 auf, der in einem Winkel nach vorne, nach links und leicht nach unten gerichtet ist. Die Richtung des Ausrichtungsvektors 506 in 5B weist in jeder der Richtungen der X-Achse 504, der Y-Achse 506 und der Z-Achse 502 einen bestimmten Winkelversatz gegenüber dem Referenz-Ausrichtungsvektor in 5A auf.
  • Unter Bezugnahme auf 6 kann der Benutzer in einer Ausführungsform einen anderen Blickwinkel anfordern, wenn er das Objekt 600 in einer anderen Ausrichtung oder einer anderen Perspektive sehen möchte, indem er der Bildsuchmaschine eine Eingabe bereitstellt. Als Reaktion auf eine Rotationsgeste oder eine andere Eingabe des Benutzers (z.B. eine Rotationsgeste 604 einer Hand 602 des Benutzers) ermittelt eine Bildsuchmaschine ein Ausmaß der gewünschten Änderung des Rotationsblickwinkels des Objekts 600 in einem 2D-Bild und sucht nach einem anderen 2D-Bild, das dem von dem Benutzer angeforderten neuen Blickwinkel entspricht. Zum Beispiel hat der Benutzer, wie in 6 dargestellt, eine Rotationsgeste 604 durchgeführt und eine Winkeländerung 606 für die Perspektive des Objekts 600 angefordert. Nochmals unter Bezugnahme auf 5B wird das Objekt 500 dem Benutzer in einem anderen Blickwinkel relativ zu dem in 5A oder 6 dargestellten Referenzblickwinkel angezeigt. Der Benutzer kann Änderungen des Blickwinkels anfordern, indem er beliebig oft eine Eingabe durch Gesten bereitstellt. In bestimmten Ausführungsformen löst die Suchmaschine eine Anforderung an eine oder mehrere Ressourcen aus, um die fehlenden Bildinformationen bereitzustellen, wenn kein anderes 2D-Bild für den neuen Rotationsblickwinkel vorhanden ist.
  • Die Eingabe von Rotationsgesten, die der Benutzer der Suchmaschine für eine Änderung des Rotationsblickwinkels bereitstellt, kann je nach Art der dem Benutzer zur Verfügung stehenden Eingabeeinheit(en) unterschiedlich sein.
  • In einer Ausführungsform, bei der es sich bei der Eingabeeinheit um eine Maus handelt, kann der Benutzer mit der Maus eine Operation durch Klicken und Ziehen durchführen, um eine neue Perspektive des Objekts anzufordern. Zum Beispiel kann mit der Operation Klicken und Ziehen ein Abstand und ein Winkel relativ zu einem Ursprungspunkt festgelegt werden (z.B. die Position, an der mit der Maus geklickt wurde, oder MouseDown-Ereignis (mousedown event)). Der Abstand und der Winkel der endgültigen Mausposition (z.B. die Position, an der die Maus freigegeben wurde, oder MouseUp-Ereignis (mouseup event)) vom Ursprungspunkt ist ein Vektor, der zum Festlegen einer gewünschten Rotation des Objekts verwendet werden kann. In einem anderen Beispiel befindet sich das Objekt in einer zentralen Position, und ein Abstand zwischen dieser zentralen Position und den Positionen der MouseDown- und MouseUp-Ereignisse werden verwendet, um eine gewünschte Rotation des Objekts festzulegen.
  • In einer Ausführungsform, bei der es sich bei der Eingabeeinheit um eine als Berührungsbildschirm ausgeführte Anzeigeeinheit handelt, kann der Benutzer eine Operation durch Berühren, Ziehen und Drehen mit einem oder mehreren Fingern durchführen, um eine Änderung der Ausrichtung anzufordern. Mit einem Finger kann diese Rotationsanforderung genauso ausgeführt werden wie die oben erläuterte Eingabe durch Klicken und Ziehen mit einer Maus. Mit mehr als einem Finger kann der Benutzer den Berührungsbildschirm zusammendrücken oder auseinanderziehen, um eine weitere Operation zum Vergrößern oder Verkleinern der Ansicht zu ermöglichen.
  • In einer Ausführungsform, bei der es sich bei der Eingabeeinheit um eine in erweiterter Realität (augmented reality) (oder in virtueller Realität) ausgeführte Anzeigeeinheit handelt, kann der Benutzer eine Rotationsgeste ausführen (z.B. durch Drehen einer Hand), um eine Änderung der Ausrichtung anzufordern. In bestimmten Ausführungsformen kann der Benutzer eine 3D-Rotationsgeste in Bezug auf das 2D-Objekt und auf der Grundlage von Daten aus dem Internet der Dinge (IdD; Internet of Things, loT) oder anderen Kameraaufnahmen durchführen, und mit diesen Informationen kann das System die Rotationsrichtung und Winkelbewegung der Geste identifizieren. Zum Beispiel können Kameras die Hand einer Person fotografieren und durch Bildverarbeitung Veränderungen der Position, Größe und Ausrichtung der Hand ermitteln. Auf der Grundlage von diesen Veränderungen wird die Rotationsgeste ermittelt. Es sollte beachtet werden, dass jede andere geeignete Art von Eingabe durch den Benutzer bereitgestellt werden kann, sofern die Eingabe die gewünschte Änderung des Blickwinkels des Objekts vermittelt.
  • In einer Ausführungsform verwendet die Suchmaschine als Reaktion auf eine Rotationsgeste (oder eine andere geeignete Eingabe) eines Benutzers: die Richtung der Rotationsgeste; und/oder die Winkelbewegung der Rotationsgeste; und/oder das Ausmaß der Rotationsgeste; und/oder die Winkelausrichtung (d.h. den Ausrichtungsvektor) des aktuell im 2D-Bild angezeigten Objekts. Die Eingabe legt also eine Änderung des Ausrichtungsvektors relativ zu einem aktuellen Ausrichtungsvektor fest. Auf der Grundlage von diesen Eingabedaten berechnet die Suchmaschine einen neuen Ausrichtungsvektor des Objekts, und dann erstellt die Suchmaschine eine neue Suchanfrage auf der Grundlage von diesen Daten. Die Suchmaschine führt die Suchanfrage aus und liefert ein oder mehrere Bilder des Objekts zurück, deren Ausrichtungsvektor mit dem berechneten neuen Ausrichtungsvektor übereinstimmt (oder zumindest annähernd übereinstimmt). Dieses neue Bild wird dem Benutzer auf einer Anzeigeeinheit angezeigt. Auf diese Weise kann der Benutzer einfach anhand einer Sammlung verschiedener 2D-Bilder erkennen, wie das Objekt aus einer anderen Perspektive aussieht, ohne auf komplexe 3D-Objektmanipulationsprogramme (z.B. CAD-Programme) angewiesen zu sein. Außerdem ist das Objekt möglicherweise nicht für die Darstellung als dreidimensionales Objekt in einem CAD-Programm geeignet (z.B. ein Gebirgszug, ein touristisches Wahrzeichen, Häuser, Gebäude usw.). Dieser Prozess der Auswahl neuer Perspektiven kann vom Benutzer beliebig oft wiederholt werden, um das Objekt auf verschiedene Arten zu betrachten.
  • In bestimmten Ausführungsformen verwendet die Suchmaschine ein oder mehrere Attribute des in dem 2D-Bild identifizierten Objekts, um eine Suchanfrage auszuführen. Wie oben bereits angegeben, führt die Suchmaschine eine Bildanalyse an den Objekten in dem 2D-Bild durch, um einen Basis-Ausrichtungsvektor des Objekts zu ermitteln. Die Bildanalyse kann jedoch auch dazu verwendet werden, ein oder mehrere zusätzliche Attribute des Objekts zu identifizieren, um so die Suchanfrage zu unterstützen. Darüber hinaus können die Metadaten der Bilddatei verwendet werden, um die Suchanfrage zu unterstützen. Zu Beispielen für andere Attribute gehören die Größe des Objekts, die Farbe(n) des Objekts, der Typ oder die Kategorie des Objekts, ein geografischer Ort, an dem das Bild aufgenommen wurde, ein Zeitstempel, wann das Bild aufgenommen wurde, eine Produktteilnummer des Objekts, andere Metadaten der Bilddatei wie die Bildauflösung, grafische Merkmale des Objekts usw.
  • In einer Ausführungsform führt die Suchmaschine als Reaktion auf eine Eingabe einer Rotationsgeste durch den Benutzer eine Suchanfrage aus, um nach einem neuen 2D-Bild des Objekts zu suchen, das bestimmte Attribute aufweist, die mit den Attributen des ursprünglichen 2D-Bildes korrelieren. Wenn der Benutzer zum Beispiel ein Bild einer roten Limousine aus einem ersten Blickwinkel betrachtet und eine Rotationsgeste eingibt, um einen neuen Blickwinkel zu sehen, wäre es für den Benutzer weniger effektiv, wenn die Suchmaschine dem Benutzer ein neues 2D-Bild eines blauen Kleinlastwagens anzeigen würde. Zwar handelt es sich bei beiden um Automobile, doch sehen sie recht unterschiedlich aus. Der Benutzer hat dann möglicherweise das Gefühl, dass die Verknüpfung mit dem ursprünglichen Bild unterbrochen ist, wenn das neue Bild nicht zumindest im Wesentlichen eine visuelle Entsprechung mit dem ursprünglichen Bild aufweist. Auf der Grundlage von diesen identifizierten Attributen versucht die Suchmaschine, ein neues 2D-Bild mit der neuen Ausrichtung zu finden, das ähnliche (oder dieselben) visuellen Attribute wie das ursprüngliche 2D-Bild aufweist. Der Betrachter sieht somit zwar in Wirklichkeit nicht verschiedenen Ansichten desselben 3D-Objekts, aber es sollte sich für den Benutzer natürlicher anfühlen, wenn er verschiedene 2D-Bilder mit ganz ähnlichen visuellen Merkmalen sieht.
  • In bestimmten Ausführungsformen erfordert die Suchmaschine, dass alle 2D-Bilder genau dasselbe Objekt zeigen. Wenn ein Unternehmen zum Beispiel über eine Website mit einem Online-Produktkatalog verfügt, möchte das Unternehmen möglicherweise sicherstellen, dass die verschiedenen Ansichten des Objekts nicht von leicht unterschiedlichen Produkten stammen, um zu vermeiden, dass Kunden beim Kauf eines Produkts verwirrt werden. Zum Beispiel ist eine Produktteilnummer (oder Seriennummer) ein Bildmetadaten-Attribut der verschiedenen 2D-Bilder, und dies würde dazu beitragen, sicherzustellen, dass die Bildsuchergebnisse nicht eine Ansicht eines anderen Produkts zurückliefern.
  • Wenn die Suchmaschine ein 2D-Bildersuchergebnis anzeigt, zeigt sie in bestimmten Ausführungsformen dem Benutzer auch an, welche anderen Ansichten verfügbar sind. Es kann Situationen geben, in denen die Suchmaschine viele gespeicherte Bilder eines Objekts mit nach vorne weisenden Ansichten findet, aber die Sammlung von Bildern des Produkts nur wenige (oder gar keine) mit einer Rückansicht enthält. Das System zeigt dem Benutzer visuell die Verfügbarkeit von 2D-Bildern an, so dass der Benutzer eine qualifizierte Entscheidung darüber treffen kann, welche Rotationsansicht er als Nächstes auswählen will. Wenn der Benutzer zum Beispiel weiß, dass in der Sammlung keine Rückansichten des 2D-Objekts vorhanden sind, wird er keine unnötige Zeit aufwenden, um eine Rotationsgeste in die Richtung der Rückansicht auszuführen.
  • Unter Bezugnahme auf 7 wird in einer Ausführungsform dem Benutzer die visuelle Anzeige der verfügbaren Ansichten eines Objekts 704 in den Bildsuchergebnissen in Form einer dreidimensionalen Kugel 706 angezeigt. In diesem Beispiel weist die Kugel 706 schattierte Bereiche auf, die das Vorhandensein eines 2D-Bildes des Objekts 704 unter verschiedenen Blickwinkeln anzeigen. Wie in 7 dargestellt, weist die 3D-Drahtmodell-Darstellung der Kugel 706 einen Ausrichtungsvektor 704 auf. Vor der Eingabe einer Rotationsgeste durch den Benutzer zeigt eine Anzeigeeinheit einen aktuellen Blickwinkel des Objekts 702 mit einem Ausrichtungsvektor 704 an, der mit dem Ausrichtungsvektor 704 der Kugel 706 identisch ist. In bestimmten Ausführungsformen kann der Benutzer mit einer Eingabeeinheit durch eine Rotationsgeste interagieren, und die Bildsuchmaschine bewirkt eine Rotation der Kugel 706 auf der Anzeigeeinheit. Der neue Ausrichtungsvektor 704 der Kugel 706 bietet dem Benutzer eine Vorschau davon, wie der neue Blickwinkel des Objekts 702 aussehen wird. In bestimmten Ausführungsformen aktualisiert die Bildsuchmaschine das 2D-Bild des Objekts 702 erst, nachdem der Benutzer die Rotationsgeste ausgeführt hat. In anderen Ausführungsformen sucht die Bildsuchmaschine kontinuierlich nach Bildern des Objekts und aktualisiert diese (sofern sie verfügbar sind), während der Benutzer die Kugel 706 immer weiterdreht.
  • In dem in 7 dargestellten Beispiel sind Abschnitte der Drahtmodell-Kugel 706 in binärer Form schattiert (z.B. schwarze Abschnitte 708 und weiße Abschnitte 710), um anzuzeigen, ob für diese Blickwinkel 2D-Bilder verfügbar sind. In diesem Beispiel würde, wenn der Benutzer eine Rotationsgeste für die Kugel 706 bereitstellen würde, diese sich so drehen, dass sie einen neuen vorderen Teilabschnitt der Kugel anzeigt. Wenn dieser am weitesten nach vorne gerichtete Kugelabschnitt schwarz schattiert ist, würde dies bedeuten, dass eine Bildsuche für diesen Blickwinkel keine Ergebnisse liefern würde. Daher wüsste der Benutzer, dass er die Rotationsgeste zu einem anderen Blickwinkel fortsetzen sollte, der zu einem Bildergebnis führen würde. In einer Ausführungsform findet die Bildsuche, wenn der Benutzer die Kugel 706 zu einem Blickwinkel dreht, der keine Bildergebnisse liefert, Ergebnisse für einen anderen Blickwinkel, der der Anforderung des Benutzers am nächsten kommt. Es sollte beachtet werden, dass es sich bei dem vordersten Abschnitt der Kugel nicht unbedingt um den Abschnitt des neuen Blickwinkels handeln muss, sondern dass jeder geeignete Abschnitt verwendet werden kann. In bestimmten Ausführungsformen wird der Abschnitt der Kugel 706, der dem neu auszuwählenden Blickwinkel entspricht, hervorgehoben, eingefärbt oder dem Benutzer auf andere Weise angezeigt.
  • In bestimmten Ausführungsformen werden die Abschnitte der Drahtmodell-Kugel dem Benutzer nicht nur in binärer Form angezeigt, sondern die Abschnitte weisen zusätzliche visuelle Hinweise oder Kennzeichnungen auf, die dem Benutzer angezeigt werden. Wenn es sich zum Beispiel bei dem ursprünglichen 2D-Bild des Objekts um eine blaue Limousine handelt, können mehrere der verschiedenen Blickwinkel unterschiedliche 2D-Bilder einer blauen Limousine aufweisen. In diesem Fall können die Abschnitte der Drahtmodell-Kugel, die diesen Blickwinkeln entsprechen, blau eingefärbt sein. Bei anderen Blickwinkeln sind jedoch möglicherweise nur Bilder einer roten Limousine vorhanden. Für diese Blickwinkel können die Abschnitte der Drahtmodell-Kugel, die diesen Blickwinkeln entsprechen, rot eingefärbt sein. Dies würde den Benutzer darauf aufmerksam machen, dass er bei diesen Blickwinkeln zwar immer noch eine Limousine sieht, diese aber nicht dieselbe Farbe hat wie das ursprüngliche 2D-Bild des Objekts. Es sollte beachtet werden, dass die Art des Hinweises oder der Kennzeichnung auf der Kugel nicht auf verschiedene Farben beschränkt ist. Die Art der Kennzeichnung kann für ein anderes visuelles Attribut des Objekts stehen (z.B. Größe, Art, Höhe usw.).
  • Unter Bezugnahme auf 8 kann es sich in bestimmten Ausführungsformen bei der Art der Kennzeichnung auch um eine geeignete visuelle Darstellung handeln, die angibt, wie sehr das Objekt in den verschiedenen Ansichten mit dem ursprünglichen 2D-Bild des Objekts übereinstimmt. In einer Ausführungsform wird, wie in 8 dargestellt, eine Heat-Map der Kugel 800 angezeigt, selbst wenn für alle der verschiedenen dreidimensionalen Blickwinkel ein 2D-Bild des Objekts vorhanden ist, die den Grad der Übereinstimmung (oder Abweichung) der Objekte in den verschiedenen Blickwinkeln mit dem ursprünglichen Bild des Objekts darstellt. Unter Bezugnahme auf 8 wird die Kugel 800 mit dem Ausrichtungsvektor 802 dargestellt. In diesem Beispiel weist die Kugel 800 eine Mehrzahl von Oberflächenabschnitten auf. Bei einigen dieser Abschnitte handelt es sich um weiße Abschnitte 804 (oder durchsichtige Abschnitte), die anzeigen, dass für diesen Blickwinkel kein Bild vorhanden ist. Andere Abschnitte sind in verschiedenen Grautönen gehalten. Ein hellgrauer Abschnitt 806 zeigt an, dass zwar ein Bild für diesen Blickwinkel vorhanden ist, aber dass die visuellen Merkmale des Objekts in diesem Bild nicht sehr gut mit dem ursprünglichen Bild übereinstimmen. Der Dunkelheitsgrad der Schattierung in einem Ausschnitt zeigt an, wie stark ein vorhandenes Bild mit dem ursprünglichen Bild übereinstimmt. In dieser Hinsicht stimmen die schwarzen Abschnitte 808 viel eher mit dem ursprünglichen Bild überein als die helleren grauen Abschnitte (z.B. der graue Abschnitt 806). So stellt diese Heat-Map der Sphäre 800 dem Benutzer eine leicht verständliche Karte bereit, auf der er erkennen kann, wo es eng übereinstimmende Bilder gibt.
  • In bestimmten Ausführungsformen können Blickwinkel, die sehr genau mit dem ursprünglichen Bild übereinstimmen (z.B. dieselbe Farbe und Größe haben), in einer Farbe auf der 360-Grad-Heat-Map angezeigt werden, während andere Blickwinkel, bei denen die Übereinstimmung geringer ist (z.B. wenn sie die Kriterien des angeforderten Blickwinkels erfüllen, sich aber in Farbe und/oder Größe von dem ursprünglichen Bild unterscheiden), in einer anderen Farbe auf der 360-Grad-Heat-Map angezeigt werden können (z.B. auf der Heat-Map als rot dargestellt im Gegensatz zu grün). Es sollte beachtet werden, dass die Kugel 800 (oder eine andere Anzeige) nicht notwendigerweise in einzelne Oberflächenabschnitte unterteilt werden muss, und dass andere geeignete visuelle Anzeigen verwendet werden können, um eine Heat-Map und den Grad der Übereinstimmung der verschiedenen vorhandenen 2D-Bilder mit dem ursprünglichen Bild darzustellen.
  • In anderen Ausführungsformen wird eine neue Winkelausrichtung auf der Grundlage von der Geste des Benutzers und der Winkelausrichtung des ursprünglichen Bildobjekts ermittelt, und die Bildsuchergebnisse werden auf der Grundlage von einer Abweichung von der neuen Winkelausrichtung in einer Rangfolge geordnet. Wenn Suchergebnisse angezeigt werden, analysiert die Bildsuchmaschine die Attribute des Bildobjekts und identifiziert die Verfügbarkeit anderer Bilder aus verschiedenen Quellen.
  • Es sollte beachtet werden, dass es sich bei der Anzeige des Blickwinkels nicht zwangsläufig um eine 3D-Drahtmodell-Kugel handeln muss. Es kann sich dabei auch um ein beliebiges anderes geeignetes Objekt oder eine visuelle Anzeige handeln, die es dem Benutzer ermöglicht, durch eine Rotationsgeste (oder eine andere Art der Eingabe) einen anderen dreidimensionalen Blickwinkel zu wählen. Handelt es sich bei dem Objekt also um eine Kuh, könnte es sich bei der visuellen Anzeige um eine 3D-Drahtmodell-Darstellung einer Kuh oder um ein anderes Objekt mit geeigneter Form handeln. Darüber hinaus ist es nicht erforderlich, dass es sich bei der visuellen Anzeige um ein 3D-Drahtmodell handelt. Bei der visuellen Anzeige kann es sich um jede andere geeignete dreidimensionale Form mit verschiedenen Oberflächenkennzeichnungen handeln, die die Anzahl (oder das Fehlen) von Bildsuchergebnissen anzeigen. Zum Beispiel kann es sich bei der visuellen Anzeige um eine glatte Kugel mit einer Heat-Map (oder einem Farbverlauf) handeln, die die Verfügbarkeit von Suchergebnissen für verschiedene Blickwinkel anzeigt. In anderen Ausführungsformen handelt es sich bei der visuellen Anzeige um eine 2D-Darstellung und nicht um ein dreidimensionales Modell.
  • In bestimmten Ausführungsformen implementiert die Suchmaschine Verfahren, um fehlende Bildinformationen zu identifizieren, anzufordern und zu ergänzen (oder bessere Bildinformationen anzufordern). Es kann Fälle geben, in denen kein vollständiger Satz von 2D-Bildern für jeden möglichen Blickwinkel für ein bestimmtes Objekt vorhanden ist. Als Reaktion auf eine Rotationsgeste und eine Bildsuchanfrage, die keine Ergebnisse zurückliefert, löst die Suchmaschine bei einem oder mehreren Empfängern eine Anforderung nach zusätzlichen Bilddaten aus. In einer Ausführungsform umfasst die Anforderung an einen oder mehrere Empfänger Maßnahmen zur Bildbeschaffung durch Crowdsourcing. Im Allgemeinen bezieht sich Crowdsourcing auf ein Beschaffungsmodell, bei dem Einzelpersonen oder Organisationen Waren und Dienstleistungen, zum Beispiel Ideen und Finanzmittel, von einer großen und dynamischen Gruppe von Beitragenden (z.B. Internetnutzern) beziehen. Beim Crowdsourcing wird also der Aufwand auf viele Teilnehmer verteilt, um ein kumulatives Ergebnis zu erzielen. Im Rahmen der vorliegenden Ausführungsformen ist es das Ziel, eine extrem hohe Anzahl relevanter Bilder für eine große Vielfalt unterschiedlicher Objekte und in einer Vielzahl unterschiedlicher Ausrichtungen des Objekts zu erhalten. Das Erstellen einer so großen Sammlung von 2D-Bildern kann also sehr aufwändig sein, und mit Hilfe von Crowdsourcing lässt sich das Ausmaß dieses Aufwands verringern oder abmildern. Wenn es sich bei dem Zielobjekt zum Beispiel um eine Touristenattraktion wie der Eiffelturm handelt, sind Touristen möglicherweise bereit, ihre Urlaubsfotografien des Turms aus vielen verschiedenen Blickwinkeln zu übermitteln. Auf diese Weise ließe sich ein äußerst relevanter Satz von 2D-Bildern des Turms aus einer Vielfalt von Perspektiven erstellen. In bestimmten Ausführungsformen handelt es sich bei den Crowdsourcing-Beitragenden um die breite Öffentlichkeit (z.B. alle Internetnutzer). In anderen Ausführungsformen handelt es sich bei den Crowdsourcing-Beitragenden um eine begrenztere Gruppe von Benutzern, zum Beispiel um die Mitarbeiter eines Unternehmens. In einer Ausführungsform stellt der Anbieter des ursprünglichen Inhalts den Beitragenden, die alternative Blickwinkel des übergeordneten Bildes zur Verfügung stellen, eine Vergütung (z.B. in Form von Geld, Rabatten auf Produkte/Dienstleistungen usw.) für ihre Bildbeiträge bereit.
  • In einer Ausführungsform erfolgt das Auslösen für ein Erstellen einer Crowdsourcing-Anforderung für Bilder, wenn ein Nutzer eine Rotationsgeste ausführt, um das Objekt in einem bestimmten Blickwinkel zu sehen (unter der weiteren Voraussetzung, dass für diesen Blickwinkel kein Bild vorhanden ist). Wie oben in Bezug auf 4 erläutert, sendet die Bildsuchmaschine in Schritt 410 eine Anforderung für fehlende Bildinformationen, wenn in Schritt 406 ermittelt wird, dass für den neuen Rotationsvektor kein Bild vorhanden ist. Mit anderen Worten: Wenn ein Benutzer eine Anforderung gestellt hat, ein Objekt aus einer bestimmten Perspektive zu sehen, zeigt dies an, dass tatsächlich eine Nachfrage danach besteht, das Objekt aus diesem Blickwinkel zu sehen. Wenn es jedoch noch nie eine Anforderung gibt, ein Produkt zum Beispiel von hinten zu sehen, lohnt es sich möglicherweise nicht, anhand einer Crowdsourcing-Maßnahme Fotografien von der Rückseite dieses Objekts zu sammeln. In einem Beispiel, bei dem es sich bei dem Objekt um ein Auto handelt, besteht möglicherweise kein oder nur ein geringer Bedarf, die Unterseite des Autos zu sehen. In diesem Beispiel sind die Benutzer nicht daran interessiert, das Objekt aus diesem Blickwinkel zu betrachten.
  • In einer Ausführungsform hat der Inhaber des übergeordneten Bildes (d.h. des Referenzbildes) die Möglichkeit, das Bild zu überprüfen, wenn Beitragende auf die Anforderung reagieren und zusätzliche Bilder anbieten. Der Inhaber des Referenzbildes kann die beigetragenen Bilder überprüfen, um zu ermitteln, ob sie von ausreichender Qualität sind oder den visuellen Attributen des übergeordneten Bildes in ausreichendem Maße entsprechen. Wenn der Inhaber des übergeordneten Bildes entscheidet, dass die beigetragenen Bilder geeignet sind, kann er das Bild auf einer Speichereinheit speichern und zusätzliche Blickwinkel des Bildes zur Ansicht freigeben. In einer anderen Ausführungsform hat das übergeordnete Bild möglicherweise keinen Inhaber, und es gibt keine Person, die die beigetragenen Bilder manuell überprüft. In dieser Ausführungsform wird eine Bildverarbeitung an dem beigetragenen Bild durchgeführt, um zu ermitteln, ob es mit dem übergeordneten Bild ausreichend übereinstimmt.
  • In einer Ausführungsform kann die Bildsuchmaschine auch dann, wenn die Suchanfrage einige Ergebnisse liefert, eine Anforderung nach zusätzlichen Bilddaten auslösen, wenn die Qualität der Übereinstimmung des Bildes für die betreffende Rotationsansicht gering ist. So kann zum Beispiel ein 2D-Bild eines Objekts für einen bestimmten Blickwinkel vorhanden sein, das eine sehr geringe Korrelation mit dem Objekt in dem ursprünglichen Referenzbild aufweist. Zum Beispiel kann es sich bei dem ursprünglichen Referenzbild um ein Bild eines grauen Kleinlastwagens mit kurzer Ladefläche handeln, während es sich bei dem gespeicherten Bild für die andere Perspektive um ein Bild eines braunen Kleinlastwagens mit langer Ladefläche handelt, bei dem Marke und Modell nicht mit dem Original übereinstimmen. In diesem Beispiel könnte der braune Kleinlastwagen mit langer Ladefläche einige visuelle Attribute aufweisen, die einen gewissen Schwellenwert erfüllen, um als ausreichende Übereinstimmung zu gelten. Allerdings stimmt dieser braune Lastwagen nur sehr schlecht mit dem ursprünglichen Bild überein. In dieser Ausführungsform sendet die Suchmaschine als Reaktion auf eine Rotationsgeste und ein Feststellen, dass ein gespeichertes Bild für den neuen Ausrichtungsvektor eine geringe Korrelation mit dem Referenzbild aufweist (d.h. unter einem bestimmten Korrelations-Schwellenwert liegt), eine Anforderung an einen oder mehrere Empfänger, das Bild zu aktualisieren und die Qualität der Übereinstimmung zu verbessern. Nach dem Empfangen eines neuen Bildes von einem Beitragenden als Reaktion auf die Anforderung vergleicht das System das neu empfangene Bild mit dem vorherigen Bild. Wenn festgestellt wird, dass das neue Bild eine bessere Übereinstimmung aufweist (d.h. besser mit den Attributen des ursprünglichen Referenzbildes korreliert als das aktuelle Bild), ersetzt die Bildsuche das aktuelle Bild durch das neue Bild. Wenn in einem Beispiel die Referenz-Ausrichtungsachse in dem empfangenen Bild und mindestens ein Attribut des Objekts in dem empfangenen Bild mit der Referenz-Ausrichtungsachse und mindestens einem Attribut des Referenzbildes bis zu einem vorbestimmten Grad übereinstimmen (z.B. könnte dies vom Anbieter des Inhalts festgelegt werden), fügt das System das empfangene Bild zu dem Satz von zweidimensionalen Bildern hinzu. Indem auf diese Weise neue Bilder akzeptiert werden, die möglicherweise alte Bilder ersetzen, kann die 360-Grad-Rotationssammlung von 2D-Bildern für ein bestimmtes Objekt im Laufe der Zeit kontinuierlich verbessert werden.
  • In einer Ausführungsform verwendet das System eine dynamische kontextbezogene relationale Kontext-Neudarstellung auf der Grundlage von Nutzungstyp, Aufgabe, Ziel der Objektsitzung, logischem Verlauf des Objekts in Bezug auf: historisches maschinelles Lernen hinsichtlich lokaler Benutzer; auf einer Cloud beruhende Nutzung für verschiedene eindeutige Benutzer (gemeinsamer Kontext); auf Crowdsourcing der Benutzer beruhendes maschinelles Lernen auf der Grundlage von der Objektausrichtung; und eine Vorhersage von Verhaltensmustern von Benutzern bei der Rotation von Objekten.
  • In einer Ausführungsform verwendet das System eine Verbesserung des physischen Standorts durch ein Crowdsourcing, bei dem geografisch Personen ermittelt werden, die am ehesten in der Lage sind, bei dem bereitgestellten Inhalt behilflich zu sein, um ein Modell oder ein Ziel zu vervollständigen. Wenn es sich zum Beispiel um einen Bereich handelt, der durch Geofencing eingegrenzt ist, betrachtet das System selektiv die aktuelle dynamische Position jeder Person und trifft eine Entscheidung darüber, ob deren jeweilige einzigartige Perspektive für diesen Blickwinkel und diesen Zeitpunkt von Vorteil wäre (d.h. eine zeitliche Entscheidung). Bei diesem Verfahren werden selektiv nur bestimmte Personen innerhalb bestimmter markierter Orte einbezogen, und es wird auf ein oder mehrere zeitliche Ereignisse oder eine Zeitachse fokussiert, wodurch ein einzigartiges und vollständigeres Modell entsteht.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailstufe der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Flussdiagramm-Darstellungen und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Flussdiagramm-Darstellungen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken des Flussdiagramms und/oder des Blockschaubilds festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit in einem Schritt gleichzeitig, im Wesentlichen gleichzeitig, teilweise oder vollständig zeitlich überlappend ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen wurden zur Veranschaulichung vorgelegt und sollen weder erschöpfend noch auf die offenbarten Ausführungsformen beschränkt sein. Für den Fachmann sind viele Modifikationen und Variationen erkennbar, ohne vom Umfang der beschriebenen Ausführungsformen abzuweichen. Die hier verwendete Terminologie wurde gewählt, um die Prinzipien der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber den auf dem Markt befindlichen Technologien bestmöglich zu erklären oder um es dem Fachmann zu ermöglichen, die hier offenbarten Ausführungsformen zu verstehen.

Claims (17)

  1. Verfahren zum Suchen nach Bildern, wobei das Verfahren aufweist: Identifizieren eines Referenzobjekts in einem zweidimensionalen Referenzbild; Ermitteln einer dreidimensionalen Referenz-Ausrichtungsachse des Referenzobjekts auf Grundlage von mindestens einem Attribut des Referenzobjekts; Empfangen einer Eingabe, die eine Änderung einer dreidimensionalen Perspektive des Referenzobjekts anfordert; Ermitteln einer neuen Ausrichtungsachse auf Grundlage der Eingabe und der Referenz-Ausrichtungsachse; Ausführen einer Suchanfrage auf einem Satz von zweidimensionalen Bildern, wobei die Suchanfrage auf der Grundlage von der neuen Ausrichtungsachse und mindestens einem Attribut des Referenzobjekts erfolgt; und Anzeigen von Bildsuchergebnissen, die auf Grundlage von Korrelationen mit der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts in einer Rangfolge geordnet sind.
  2. Verfahren nach Anspruch 1, wobei die Eingabe Informationen über eine von einem Benutzer durchgeführte Rotationsgeste aufweist.
  3. Verfahren nach Anspruch 2, wobei die Informationen eine Richtung der Rotationsgeste und eine Winkelbewegung der Rotationsgeste aufweisen.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren ferner ein Senden einer Anforderung an eine externe Bildanbieter-Ressource aufweist, wenn das Bildsuchergebnis keine Ergebnisse liefert, um Bilder bereitzustellen, die der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts entsprechen.
  5. Verfahren nach Anspruch 4, wobei das Verfahren ferner aufweist: Empfangen eines Bildes von der externen Bildanbieter-Resource; Identifizieren eines empfangenen Bildobjekts in dem empfangenen Bild; Ermitteln einer Referenz-Ausrichtungsachse in dem empfangenen Bild für das empfangene Bildobjekt; und wenn die Referenz-Ausrichtungsachse in dem empfangenen Bild und mindestens ein Attribut des Objekts in dem empfangenen Bild mit der Referenz-Ausrichtungsachse und dem mindestens einen Attribut des Referenzbildes bis zu einem vorbestimmten Grad übereinstimmen, Hinzufügen des empfangenen Bildes zu dem Satz von zweidimensionalen Bildern.
  6. Verfahren nach einem der Ansprüche 4 oder 5, wobei es sich bei der externen Bildanbieter-Resource um eine Crowdsourcing-Quelle handelt.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei der Referenz-Ausrichtungsachse um eine Achse handelt, die durch einen berechneten Massenschwerpunkt des Referenzobjekts verläuft und sich von einer nach vorne weisenden Seite des Referenzobjekts zu einer nach hinten weisenden Seite des Referenzobjekts erstreckt.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren ferner aufweist: Anzeigen einer dreidimensionalen Perspektive einer Kugel für einen Benutzer; und Aktualisieren einer Rotationsansicht der Kugel, um eine Eingabegeste des Benutzers zu verfolgen.
  9. Verfahren nach Anspruch 8, wobei die Kugel eine Mehrzahl von Oberflächenabschnitten aufweist, die einer Mehrzahl von unterschiedlichen Blickwinkeln des Referenzobjekts entsprechen, und die Oberflächenabschnitte visuelle Attribute aufweisen, die anzeigen, ob ein zugehöriges Bild des Referenzobjekts in dem Satz von zweidimensionalen Bildern für den entsprechenden Blickwinkel vorliegt.
  10. Verfahren nach Anspruch 9, wobei die visuellen Attribute der Oberflächenabschnitte ferner einen Grad der Entsprechung zwischen den zugehörigen Bildern in dem Satz von Bildern und dem Referenzbild anzeigen.
  11. Computersystem zum Suchen nach Bildern, wobei das System aufweist: Durch einen Computer lesbares Speichermedium mit darauf gespeicherten Programmanweisungen; und einen oder mehrere Prozessoren, die so konfiguriert sind, dass sie die Programmanweisungen ausführen, um ein Verfahren durchzuführen, das aufweist: Identifizieren eines Referenzobjekts in einem zweidimensionalen Referenzbild; Ermitteln einer dreidimensionalen Referenz-Ausrichtungsachse des Referenzobjekts auf der Grundlage von mindestens einem Attribut des Referenzobjekts; Empfangen einer Eingabe, die eine Änderung einer dreidimensionalen Perspektive des Referenzobjekts anfordert; Ermitteln einer neuen Ausrichtungsachse auf Grundlage der Eingabe und der Referenz-Ausrichtungsachse; Ausführen einer Suchanfrage auf einem Satz von zweidimensionalen Bildern, wobei die Suchanfrage auf der Grundlage von der neuen Ausrichtungsachse und mindestens einem Attribut des Referenzobjekts erfolgt; und Anzeigen von Bildsuchergebnissen, die auf Grundlage von Korrelationen mit der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts in einer Rangfolge geordnet sind.
  12. Computersystem nach Anspruch 11, wobei die Eingabe Informationen über eine von einem Benutzer durchgeführte Rotationsgeste aufweist.
  13. Computersystem nach Anspruch 12, wobei die Informationen eine Richtung der Rotationsgeste und eine Winkelbewegung der Rotationsgeste aufweisen.
  14. Computersystem nach einem der Ansprüche 11 bis 13, wobei das Verfahren ferner ein Senden einer Anforderung an eine externe Bildanbieter-Ressource aufweist, wenn das Bildsuchergebnis keine Ergebnisse liefert, um Bilder bereitzustellen, die der neuen Ausrichtungsachse und dem mindestens einen Attribut des Referenzobjekts entsprechen.
  15. Computersystem nach Anspruch 14, wobei das Verfahren ferner aufweist: Empfangen eines Bildes von der externen Bildanbieter-Ressource; Identifizieren eines empfangenen Bildobjekts in dem empfangenen Bild; Ermitteln einer Referenz-Ausrichtungsachse in dem empfangenen Bild für das empfangene Bildobjekt; und wenn die Referenz-Ausrichtungsachse in dem empfangenen Bild und mindestens ein Attribut des Objekts in dem empfangenen Bild mit der Referenz-Ausrichtungsachse und mindestens einem Attribut des Referenzbildes bis zu einem vorbestimmten Grad übereinstimmen, Hinzufügen des empfangenen Bildes zu dem Satz von zweidimensionalen Bildern.
  16. Computerprogrammprodukt zum Suchen nach Bildern, wobei das Computerprogrammprodukt aufweist: durch einen Computer lesbares Speichermedium, das durch einen Verarbeitungsschaltkreis lesbar ist und Anweisungen zum Ausführen durch den Verarbeitungsschaltkreis speichert, um ein Verfahren gemäß einem der Ansprüche 1 bis 10 durchzuführen.
  17. Computerprogramm, das auf einem durch einen Computer lesbaren Medium gespeichert ist und in den internen Speicher eines digitalen Computers geladen werden kann, und das Softwarecode-Abschnitte aufweist, wenn das Programm auf einem Computer ausgeführt wird, um das Verfahren nach einem der Ansprüche 1 bis 10 durchzuführen.
DE112020005693.7T 2019-11-20 2020-11-16 Verfahren zum suchen nach bildern unter verwendung von rotationsgesteneingaben Pending DE112020005693T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/689,338 US10970330B1 (en) 2019-11-20 2019-11-20 Method of searching images using rotational gesture input
US16/689,338 2019-11-20
PCT/IB2020/060765 WO2021099917A1 (en) 2019-11-20 2020-11-16 Method of searching images using rotational gesture input

Publications (1)

Publication Number Publication Date
DE112020005693T5 true DE112020005693T5 (de) 2022-10-20

Family

ID=75275387

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005693.7T Pending DE112020005693T5 (de) 2019-11-20 2020-11-16 Verfahren zum suchen nach bildern unter verwendung von rotationsgesteneingaben

Country Status (6)

Country Link
US (1) US10970330B1 (de)
JP (1) JP2023503247A (de)
CN (1) CN114651246B (de)
DE (1) DE112020005693T5 (de)
GB (1) GB2605534A (de)
WO (1) WO2021099917A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532856B (zh) * 2019-09-17 2023-10-17 中兴通讯股份有限公司 一种拍摄方法、装置和系统
CN115661342B (zh) * 2022-10-17 2023-07-28 上海信宝博通电子商务有限公司 针对车辆损伤点位的显示方法、装置及计算机可读介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000090112A (ja) * 1998-09-16 2000-03-31 Canon Inc 画像処理装置及びその方法
US6587574B1 (en) * 1999-01-28 2003-07-01 Koninklijke Philips Electronics N.V. System and method for representing trajectories of moving objects for content-based indexing and retrieval of visual animated data
JP2004164503A (ja) * 2002-11-15 2004-06-10 Olympus Corp 三次元モデル検索方法、三次元モデル検索装置、三次元モデル検索プログラム、及び三次元モデル検索システム
JP2004235739A (ja) * 2003-01-28 2004-08-19 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4521008B2 (ja) * 2007-03-19 2010-08-11 株式会社日立製作所 画像検索システム
JP2010186307A (ja) * 2009-02-12 2010-08-26 Kddi Corp 動画コンテンツ識別装置および動画コンテンツ識別方法
US20100238126A1 (en) 2009-03-23 2010-09-23 Microsoft Corporation Pressure-sensitive context menus
US8842135B2 (en) * 2011-03-17 2014-09-23 Joshua Morgan Jancourtz Image editing system and method for transforming the rotational appearance of a subject
US20130006953A1 (en) 2011-06-29 2013-01-03 Microsoft Corporation Spatially organized image collections on mobile devices
US20140002580A1 (en) * 2012-06-29 2014-01-02 Monkeymedia, Inc. Portable proprioceptive peripatetic polylinear video player
CN102902826B (zh) * 2012-11-08 2016-07-06 公安部第三研究所 一种基于基准图像索引的图像快速检索方法
CN105190644B (zh) 2013-02-01 2020-12-18 英特尔公司 用于使用触摸控制的基于图像的搜索的技术
US9576213B2 (en) * 2013-02-08 2017-02-21 Chuck Fung Method, system and processor for instantly recognizing and positioning an object
JP5887310B2 (ja) 2013-07-29 2016-03-16 京セラドキュメントソリューションズ株式会社 表示操作装置
US20150134651A1 (en) * 2013-11-12 2015-05-14 Fyusion, Inc. Multi-dimensional surround view based search
KR20150124262A (ko) * 2014-04-28 2015-11-05 주식회사 코어라인소프트 의료용 영상 장치의 씨암의 회전 각도를 제어하는 방법 및 장치
US10356395B2 (en) * 2017-03-03 2019-07-16 Fyusion, Inc. Tilts as a measure of user engagement for multiview digital media representations
US10755428B2 (en) * 2017-04-17 2020-08-25 The United States Of America, As Represented By The Secretary Of The Navy Apparatuses and methods for machine vision system including creation of a point cloud model and/or three dimensional model
US10599284B2 (en) * 2017-05-01 2020-03-24 Microsoft Technology Licensing, Llc Three-dimensional digital modeling with two-dimensional canvas
KR102421856B1 (ko) * 2017-12-20 2022-07-18 삼성전자주식회사 영상의 상호작용 처리 방법 및 장치

Also Published As

Publication number Publication date
US10970330B1 (en) 2021-04-06
WO2021099917A1 (en) 2021-05-27
JP2023503247A (ja) 2023-01-27
GB2605534A8 (en) 2022-12-07
GB202208935D0 (en) 2022-08-10
GB2605534A (en) 2022-10-05
CN114651246A (zh) 2022-06-21
CN114651246B (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
DE112019005750T5 (de) Erlernen des Erzeugens synthetischer Datensätze zum Trainieren neuronalerNetze
DE112020005360T5 (de) Fein differenzierte optische erkennung in erweiterter realität
DE112018004043B4 (de) Übertragung von visuellen daten in echtzeit an einen entfernt befindlichen empfänger
DE112020000526T5 (de) System und verfahren zum inkrementellen lernen für eine objekterkennung
DE112012001984B4 (de) Integrieren von Video-Metadaten in 3D-Modelle
DE112013000865B4 (de) Konsolidieren von unterschiedlichen Cloud-Dienst-Daten und -Verhaltensweisen auf der Grundlage von Vertrauensbeziehungen zwischen Cloud-Diensten
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE112016001902T5 (de) Schätzen von Rechenressourcen für die Ausführung von Data-Mining-Diensten
DE102017207686A1 (de) Einblicke in die belegschaftsstrategie
DE102011081542A1 (de) Datensuchergebnis-anzeigeverfahren und datensuchergebnis-anzeigevorrichtung
DE112021002867T5 (de) Defektdetektion für eine leiterplattenbaugruppe
DE112021002572T5 (de) Multikriterielles optimieren von anwendungen
DE102012220390A1 (de) Verwenden des geografischen Ortes zum Ermitteln von Element- und Gebietsdaten zum Bereitstellen an eine Datenverarbeitungseinheit
DE112020005693T5 (de) Verfahren zum suchen nach bildern unter verwendung von rotationsgesteneingaben
DE112021004329T5 (de) Durch einen computer automatisierte erkennung von interaktiven aktivitäten auf der grundlage der feststellung von schlüsselpunkten
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE112018003521T5 (de) Bereitstellen von anweisungen während einer fernbetrachtung einer benutzerschnittstelle
DE112021004380T5 (de) Maschinelles merkmalslernen zur produktformulierung
DE112021004612T5 (de) Aufzeichnung eines digitalen zwillings für ein mehrdimensionales modell unter verwendung von photogrammetrie
DE112017005772T5 (de) Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud
DE112022002736T5 (de) Übertragen von aufgabendaten zwischen edge-einheiten beim edge computing
DE102022121867A1 (de) Intelligentes zusammenfassen von änderungen für designer
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE102017208219A1 (de) Erstellung elektronischer Musterdokumente unter Nutzung des semantischen Kontexts
DE112021005927T5 (de) Patchen von arbeitsabläufen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence