DE202014010944U1 - Bildbasierte Standortbestimmung - Google Patents

Bildbasierte Standortbestimmung Download PDF

Info

Publication number
DE202014010944U1
DE202014010944U1 DE202014010944.3U DE202014010944U DE202014010944U1 DE 202014010944 U1 DE202014010944 U1 DE 202014010944U1 DE 202014010944 U DE202014010944 U DE 202014010944U DE 202014010944 U1 DE202014010944 U1 DE 202014010944U1
Authority
DE
Germany
Prior art keywords
features
image
location
computing devices
geometry data
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.)
Active
Application number
DE202014010944.3U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/075,565 external-priority patent/US20150134689A1/en
Priority claimed from US14/075,621 external-priority patent/US9288636B2/en
Application filed by Google LLC filed Critical Google LLC
Publication of DE202014010944U1 publication Critical patent/DE202014010944U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • 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/30244Camera pose
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Navigation (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)

Abstract

System, das ein Computergerät oder mehrere Computergeräte umfasst, worin jedes davon einen Prozessor oder mehrere Prozessoren aufweist, worin das eine Computergerät oder die mehreren Computergeräte so konfiguriert ist oder sind, dass: es oder sie ein Bild eines Standorts empfängt oder empfangen; es oder sie das Bild zur Identifizierung von einem Merkmal oder mehreren Merkmalen des Bilds verarbeitet oder verarbeiten; es oder sie auf vorgespeicherte dreidimensionale Geometriedaten zugreift oder zugreifen, die eine Vielzahl von Merkmalen und zugehörigen Standorten in drei Dimensionen identifizieren; es oder sie das identifizierte Merkmal oder die identifizierten Merkmale mit den gespeicherten dreidimensionalen Geometriedaten vergleicht oder vergleichen, um zu versuchen, den Standort des Client-Geräts zu bestimmen; wenn das eine Computergerät oder die mehreren Computergeräte keine Standortbestimmung durchführen kann oder können, es oder sie ein weiteres Bild zur Identifizierung von einem weiteren Merkmal oder von mehreren weiteren Merkmalen des weiteren Bilds verarbeitet oder verarbeiten; und es oder sie einen übereinstimmenden Standort bestimmt oder bestimmen, indem das identifizierte Merkmale oder die mehreren identifizierten Merkmale und das eine identifizierte weitere Merkmal oder die identifizierten mehreren weiteren Merkmale mit den gespeicherten dreidimensionalen Geometriedaten verglichen werden.

Description

  • VERWEIS
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
  • HINTERGRUND
  • Zahlreiche Mobilgeräte können Informationen zu ihrem aktuellen Standort bereitstellen. So kann beispielsweise ein typisches mobiles Computergerät wie ein Mobiltelefon oder ein Tablet-Computer drahtlose Netzwerkzugangspunktmodelle, geografische Positionssysteme oder verschiedene Triangulationsverfahren zur Bestimmung seines Standorts verwenden. Diese Verfahren können jedoch an bestimmten Standorten, an denen keine Netzabdeckung gegeben ist oder Satelliteninformationen zur Verfügung stehen, nicht verfügbar sein.
  • ZUSAMMENFASSUNG
  • Aspekte der Offenbarung bieten ein computerimplementiertes Verfahren. Das Verfahren beinhaltet den Empfang durch ein Computergerät oder mehrere Computergeräte eines Bilds von einem Standort, die Verarbeitung durch ein Computergerät oder mehrere Computergeräte des Bilds zur Identifizierung von einem Merkmal oder von mehreren Merkmalen des Bilds, den Zugriff durch ein Computergerät oder mehrere Computergeräte auf gespeicherte Geometriedaten, die eine Vielzahl an Merkmalen und zugehörigen Standorten identifizieren, den Vergleich durch ein Computergerät oder mehrere Computergeräte des identifizierten Merkmals oder der identifizierten Merkmale mit den gespeicherten Geometriedaten, nach dem Vergleich die Verarbeitung durch ein Computergerät oder mehrere Computergeräte eines weiteren Bilds zur Identifizierung eines weiteren Merkmals oder von weiteren Merkmalen, die Bestimmung durch ein Computergerät oder mehrere Computergeräte eines übereinstimmenden Standorts durch den Vergleich des identifizierten Merkmals oder der identifizierten Merkmale mit den gespeicherten Geometriedaten.
  • In einem Beispiel beinhaltet das Verfahren auch die Bereitstellung einer Benachrichtigung zur Anforderung des weiteren Bilds und die Benachrichtigung fordert ferner an, dass das weitere Bild einen bestimmten Objekttyp beinhaltet. In einem anderen Beispiel beinhaltet das Verfahren auch den Empfang einer Anforderung des aktuellen Standorts eines Mobilgeräts und den Versand des ermittelten übereinstimmenden Standorts zur Anzeige an das Mobilgerät. In einem anderen Beispiel beinhaltet das Verfahren auch den Empfang einer Anforderung des aktuellen Standorts eines Mobilgeräts und die Anzeige des ermittelten übereinstimmenden Standorts in einer Anzeige des Mobilgeräts. In einem anderen Beispiel beinhaltet das Verfahren zudem den Empfang der gespeicherten geometrischen Daten vor dem Empfang der Anforderung des aktuellen Standorts eines Mobilgeräts. In einem anderen Beispiel beinhaltet das Verfahren ferner, wenn das eine Computergerät oder die mehreren Computergeräte allein durch den Vergleich des identifizierten Merkmals oder der identifizierten Merkmale mit den gespeicherten geometrischen Daten keine Übereinstimmung finden kann bzw. können, die Anforderung eines weiteren Bilds. In einem anderen Beispiel beinhaltet das Verfahren ferner den Empfang eines Videos, worin das Bild des Standorts ein Einzelbild des Videos ist.
  • Ein weiterer Aspekt der Offenbarung stellt ein System bereit. Das System beinhaltet ein Computergerät oder mehrere Computergeräte. Das eine Computergerät oder die mehreren Computergeräte ist oder sind so konfiguriert, dass es oder sie ein Bild von einem Standort empfängt oder empfangen, das Bild zur Identifizierung von einem Merkmal oder von mehreren Merkmalen des Bilds verarbeitet oder verarbeiten, auf gespeicherte Geometriedaten zugreift oder zugreifen, die eine Vielzahl an Merkmalen und zugehörigen Standorten identifizieren, das identifizierte Merkmal oder die identifizierten Merkmale mit den gespeicherten Geometriedaten vergleicht oder vergleichen, nach dem Vergleich ein weiteres Bild zur Identifizierung eines weiteren Merkmals oder von weiteren Merkmalen verarbeitet oder verarbeiten und einen übereinstimmenden Standort durch den Vergleich des identifizierten Merkmals oder der identifizierten Merkmale mit den gespeicherten Geometriedaten bestimmt oder bestimmen.
  • In einem Beispiel ist das eine Computergerät oder sind die mehreren Computergeräte ferner so konfiguriert, dass es oder sie eine Benachrichtigung zur Anforderung des weiteren Bilds bereitstellt oder bereitstellen und die Benachrichtigung fordert ferner an, dass das weitere Bild einen bestimmten Objekttyp beinhaltet. In einem anderen Beispiel ist das eine Computergerät oder sind die mehreren Computergeräte so konfiguriert, dass es oder sie eine Anforderung des aktuellen Standorts eines Mobilgeräts empfängt oder empfangen und den ermittelten übereinstimmenden Standort zur Anzeige an das Mobilgerät sendet oder senden. In einem anderen Beispiel ist das eine Computergerät oder sind die mehreren Computergeräte so konfiguriert, dass es oder sie eine Anforderung des aktuellen Standorts eines Mobilgeräts empfängt oder empfangen und den ermittelten übereinstimmenden Standort in einer Anzeige des Mobilgeräts anzeigt oder anzeigen. In einem anderen Beispiel ist das eine Computergerät oder sind die mehreren Computergeräte ferner so konfiguriert, dass es oder sie die gespeicherten geometrischen Daten vor dem Empfang der Anforderung des aktuellen Standorts eines Mobilgeräts empfängt oder empfangen. In einem anderen Beispiel ist das eine Computergerät oder sind die mehreren Computergeräte ferner so konfiguriert, dass, wenn das eine Computergerät oder die mehreren Computergeräte allein durch den Vergleich des identifizierten Merkmals oder der identifizierten Merkmale mit den gespeicherten geometrischen Daten keine Übereinstimmung finden kann oder können, es oder sie ein weiteres Bild anfordern. In einem weiteren Beispiel ist das eine Computergerät oder sind die mehreren Computergeräte ferner so konfiguriert, dass es oder sie ein Video empfängt oder empfangen und das Bild des Standorts ist ein Einzelbild des Videos.
  • Ein weiterer Aspekt der Offenbarung stellt ein nicht-transitorisches computerlesbares Speichergerät bereit, auf dem computerlesbare Anweisungen eines Programms gespeichert sind. Die Anweisungen, wenn sie von einem Prozessor oder von mehreren Prozessoren ausgeführt werden, führen dazu, dass der eine Prozessor oder die mehreren Prozessoren ein Verfahren durchführen. Das Verfahren beinhaltet den Empfang eines Bilds von einem Standort, die Verarbeitung des Bilds zur Identifizierung von einem Merkmal oder von mehreren Merkmalen des Bilds, den Zugriff auf gespeicherte Geometriedaten, die eine Vielzahl an Merkmalen und zugehörigen Standorten identifizieren, den Vergleich des identifizierten Merkmals oder der identifizierten Merkmale mit den gespeicherten Geometriedaten, nach dem Vergleich die Verarbeitung eines weiteren Bilds zur Identifizierung eines weiteren Merkmals oder von weiteren Merkmalen und die Bestimmung eines übereinstimmenden Standorts durch den Vergleich des identifizierten Merkmals oder der identifizierten Merkmale mit den gespeicherten Geometriedaten.
  • In einem Beispiel beinhaltet das Verfahren auch die Bereitstellung einer Benachrichtigung zur Anforderung des weiteren Bilds, worin die Benachrichtigung ferner anfordert, dass das weitere Bild einen bestimmten Objekttyp beinhaltet. In einem anderen Beispiel beinhaltet das Verfahren auch den Empfang einer Anforderung des aktuellen Standorts eines Mobilgeräts und den Versand des ermittelten übereinstimmenden Standorts zur Anzeige an das Mobilgerät. In einem anderen Beispiel beinhaltet das Verfahren auch den Empfang einer Anforderung des aktuellen Standorts eines Mobilgeräts und die Anzeige des ermittelten übereinstimmenden Standorts in einer Anzeige des Mobilgeräts. In einem anderen Beispiel beinhaltet das Verfahren zudem den Empfang der gespeicherten geometrischen Daten vor dem Empfang der Anforderung des aktuellen Standorts eines Mobilgeräts. In einem anderen Beispiel beinhaltet das Verfahren ferner, wenn das eine Computergerät oder die mehreren Computergeräte allein durch den Vergleich des identifizierten Merkmals oder der identifizierten Merkmale mit den gespeicherten Geometriedaten keine Übereinstimmung finden kann oder können, die Anforderung eines weiteren Bilds.
  • Weitere Aspekte der Offenbarung bieten ein computerimplementiertes Verfahren. Das Verfahren beinhaltet den Empfang durch ein Computergerät oder mehrere Computergeräte von Informationen, die zu einem bestimmten Bereich gesammelt wurden, die Identifizierung durch ein Computergerät oder mehrere Computergeräte von einem Merkmal oder mehreren Merkmalen und zugehörigen Standorten aus den empfangenen Informationen, die Auswahl durch ein Computergerät oder mehrere Computergeräte von gegebenen Merkmalen des identifizierten Merkmals oder der identifizierten Merkmale basierend auf einer Eigenschaft eines Benutzers und die Erzeugung durch ein Computergerät oder mehrere Computergeräte eines Satzes an Geometriedaten für den bestimmten Bereich basierend auf den ausgewählten Merkmalen des einen Merkmals oder der mehreren Merkmale und den zugehörigen Standorten.
  • In einem Beispiel beinhaltet die Eigenschaft die Standorte, an denen sich jener Benutzer in dem bestimmten Bereich höchstwahrscheinlich aufhält. In einem anderen Beispiel beinhaltet die Eigenschaft die Standorte, an denen sich jener Benutzer in dem bestimmten Bereich höchstwahrscheinlich nicht aufhält. In einem anderen Beispiel beinhaltet die Eigenschaft die Standorte, an denen sich jener Benutzer höchstwahrscheinlich verläuft. In einem anderen Beispiel beinhaltet die Eigenschaft einen Benutzertyp. In einem anderen Beispiel beinhaltet die Eigenschaft einen mit dem Benutzer verknüpfte Aktivität. In einem anderen Beispiel beinhaltet die Eigenschaft ein Speicherattribut eines mobilen Computergeräts des Benutzers. In einem anderen Beispiel beinhaltet die Eigenschaft ein Verarbeitungsleistungsattribut eines mobilen Computergeräts des Benutzers.
  • Ein weiterer Aspekt der Offenbarung stellt ein System bereit. Das System beinhaltet ein Computergerät oder mehrere Computergeräte. Das eine Computergerät ist oder die mehreren Computergeräte sind so konfiguriert, dass es oder sie Informationen, die zu einem bestimmten Bereich gesammelt wurden, empfängt oder empfangen, ein Merkmal oder mehrere Merkmale und zugehörigen Standorte aus den empfangenen Informationen identifiziert oder identifizieren, gegebene Merkmale des identifizierten Merkmals oder der identifizierten Merkmale basierend auf einer Eigenschaft eines Benutzers auswählt oder auswählen und einen Satz an Geometriedaten für den bestimmten Bereich basierend auf den ausgewählten Merkmalen des einen Merkmals oder der mehreren Merkmale und den zugehörigen Standorten erzeugt oder erzeugen.
  • In einem Beispiel beinhaltet die Eigenschaft die Standorte, an denen sich jener Benutzer in dem bestimmten Bereich höchstwahrscheinlich aufhält. In einem anderen Beispiel beinhaltet die Eigenschaft die Standorte, an denen sich jener Benutzer in dem bestimmten Bereich höchstwahrscheinlich nicht aufhält. In einem anderen Beispiel beinhaltet die Eigenschaft die Standorte, an denen sich jener Benutzer höchstwahrscheinlich verläuft. In einem anderen Beispiel beinhaltet die Eigenschaft einen Benutzertyp. In einem anderen Beispiel beinhaltet die Eigenschaft einen mit dem Benutzer verknüpfte Aktivität. In einem anderen Beispiel beinhaltet die Eigenschaft ein Speicherattribut eines mobilen Computergeräts des Benutzers. In einem anderen Beispiel beinhaltet die Eigenschaft ein Verarbeitungsleistungsattribut eines mobilen Computergeräts des Benutzers.
  • Ein weiterer Aspekt der Offenbarung stellt ein nicht-transitorisches computerlesbares Speichergerät bereit, auf dem computerlesbare Anweisungen eines Programms gespeichert sind. Die Anweisungen, wenn sie von einem Prozessor oder von mehreren Prozessoren ausgeführt werden, führen dazu, dass der eine Prozessor oder die mehreren Prozessoren ein Verfahren durchführen. Das Verfahren beinhaltet den Empfang von Informationen, die zu einem bestimmten Bereich gesammelt wurden, die Identifizierung von einem Merkmal oder mehreren Merkmalen und zugehörigen Standorten aus den empfangenen Informationen, die Auswahl von gegebenen Merkmalen des identifizierten Merkmals oder der identifizierten Merkmale basierend auf einer Eigenschaft eines Benutzers und die Erzeugung eines Satzes an Geometriedaten für den bestimmten Bereich basierend auf den ausgewählten Merkmalen des einen Merkmals oder der mehreren Merkmale und den zugehörigen Standorten.
  • In einem Beispiel beinhaltet die Eigenschaft einen mit dem Benutzer verknüpfte Aktivität. In einem anderen Beispiel beinhaltet die Eigenschaft ein Speicherattribut eines mobilen Computergeräts des Benutzers. In einem anderen Beispiel beinhaltet die Eigenschaft ein Verarbeitungsleistungsattribut eines mobilen Computergeräts des Benutzers.
  • Ein zusätzlicher Aspekt der Offenbarung bietet ein computerimplementiertes Verfahren. Das Verfahren beinhaltet den Empfang durch ein Computergerät oder mehrere Computergeräte von Informationen, die zu einem bestimmten Bereich gesammelt wurden, die Identifizierung durch ein Computergerät oder mehrere Computergeräte von einem Merkmal oder mehreren Merkmalen und zugehörigen Standorten aus den empfangenen Informationen, die Festlegung einer Rangfolge durch ein Computergerät oder mehrere Computergeräte des identifizierten Merkmals oder der identifizierten Merkmale basierend auf der relativen Einzigartigkeit des identifizierten Merkmals oder unter den identifizierten Merkmalen und die Erzeugung durch ein Computergerät oder mehrere Computergeräte eines Satzes an Geometriedaten für die Lokalisierung eines Mobilgeräts in einem bestimmten Bereich basierend auf den ausgewählten Merkmalen der in eine Rangfolge gebrachten Merkmale und den zugehörigen Standorten.
  • In einem Beispiel wird der Satz an Geometriedaten ferner basierend auf einem Perzentilwert der Schwellenwert-Rangliste erzeugt. In einem anderen Beispiel wird der Satz an Geometriedaten ferner basierend auf einer Anzahl an Richtungen erzeugt, in die eine Kamera eines mobilen Computergeräts höchstwahrscheinlich an einem bestimmen Standort in dem bestimmten Bereich gerichtet wird. In einem anderen Beispiel wird der Satz an Geometriedaten so erzeugt, dass der Satz an Geometriedaten keine doppelten Merkmale beinhaltet. In einem anderen Beispiel wird der Satz an Geometriedaten ferner basierend auf einer Größe des Satzes an Geometriedaten erzeugt, wenn die Geometriedaten komprimiert werden. In einem anderen Beispiel wird der Satz an Geometriedaten ferner basierend auf den erwarteten Standorten von Personen in dem bestimmten Bereich erzeugt. In einem anderen Beispiel wird der Satz an Geometriedaten an ein Client-Computergerät gesendet. In einem anderen Beispiel handelt es sich bei dem bestimmten Bereich um einen Innenraum.
  • Ein weiterer Aspekt der Offenbarung stellt ein System bereit. Das System beinhaltet ein Computergerät oder mehrere Computergeräte. Das eine Computergerät ist oder die mehreren Computergeräte sind so konfiguriert, dass es oder sie Informationen empfängt oder empfangen, die zu einem bestimmten Bereich gesammelt wurden, ein Merkmal oder mehrere Merkmale und zugehörige Standorte aus den empfangenen Informationen identifiziert oder identifizieren, eine Rangfolge des identifizierten Merkmals oder der identifizierten Merkmale basierend auf der relativen Einzigartigkeit des identifizierten Merkmals oder unter den identifizierten Merkmalen festlegt oder festlegen und einen Satz an Geometriedaten für die Lokalisierung eines Mobilgeräts in einem bestimmten Bereich basierend auf den ausgewählten Merkmalen der in eine Rangfolge gebrachten Merkmale und den zugehörigen Standorten erzeugt oder erzeugen.
  • In einem Beispiel ist das eine Computergerät oder sind die mehreren Computergerät ferner so konfiguriert, dass der Satz an Geometriedaten ferner basierend auf einem Perzentilwert einer Schwellenwert-Rangliste erzeugt wird. In einem anderen Beispiel ist das eine Computergerät oder sind die mehreren Computergerät ferner so konfiguriert, dass der Satz an Geometriedaten ferner basierend auf einer Anzahl an Richtungen erzeugt wird, in die eine Kamera eines mobilen Computergeräts höchstwahrscheinlich an einem bestimmen Standort in dem bestimmten Bereich gerichtet wird. In einem anderen Beispiel ist das eine Computergerät oder sind die mehreren Computergerät ferner so konfiguriert, dass der Satz an Geometriedaten so erzeugt wird, dass der Satz an Geometriedaten keine doppelten Merkmale beinhaltet. In einem anderen Beispiel ist das eine Computergerät oder sind die mehreren Computergerät ferner so konfiguriert, dass der Satz an Geometriedaten ferner basierend auf einer Größe des Satzes an Geometriedaten erzeugt wird, wenn die Geometriedaten komprimiert werden. In einem anderen Beispiel ist das eine Computergerät oder sind die mehreren Computergerät ferner so konfiguriert, dass der Satz an Geometriedaten ferner basierend auf den erwarteten Standorten von Personen in dem bestimmten Bereich erzeugt wird. In einem anderen Beispiel ist das eine Computergerät oder sind die mehreren Computergerät ferner so konfiguriert, dass der Satz an Geometriedaten an ein Client-Computergerät gesendet wird. In einem anderen Beispiel handelt es sich bei dem bestimmten Bereich um einen Innenraum.
  • Ein weiterer Aspekt der Offenbarung stellt ein nicht-transitorisches computerlesbares Speichergerät bereit, auf dem computerlesbare Anweisungen eines Programms gespeichert sind. Die Anweisungen, wenn sie von einem Prozessor oder von mehreren Prozessoren ausgeführt werden, führen dazu, dass der eine Prozessor oder die mehreren Prozessoren ein Verfahren durchführen. Das Verfahren beinhaltet den Empfang von Informationen, die zu einem bestimmten Bereich gesammelt wurden, die Identifizierung von einem Merkmal oder mehreren Merkmalen und zugehörigen Standorten aus den empfangenen Informationen, die Festlegung einer Rangfolge des identifizierten Merkmals oder der identifizierten Merkmale basierend auf der relativen Einzigartigkeit des identifizierten Merkmals oder unter den identifizierten Merkmalen und die Erzeugung eines Satzes an Geometriedaten für die Lokalisierung eines Mobilgeräts in einem bestimmten Bereich basierend auf den ausgewählten Merkmalen der in eine Rangfolge gebrachten Merkmale und den zugehörigen Standorten.
  • In einem Beispiel wird der Satz an Geometriedaten ferner basierend auf einem Perzentilwert der Schwellenwert-Rangliste erzeugt. In einem anderen Beispiel wird der Satz an Geometriedaten ferner basierend auf einer Größe des Satzes an Geometriedaten erzeugt, wenn die Geometriedaten komprimiert werden. In einem anderen Beispiel wird der Satz an Geometriedaten ferner basierend auf den erwarteten Standorten von Personen in dem bestimmten Bereich erzeugt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Funktionsdiagramm eines Beispielsystems gemäß den Aspekten der Offenbarung.
  • 2 ist ein Bilddiagramm des Beispielsystems von 1.
  • 3 ist ein Beispiel von Geometriedaten und eine Darstellung der Geometriedaten gemäß den Aspekten der Offenbarung.
  • 4 ist ein Beispiel eines Benutzers in einem Raum gemäß den Aspekten der Offenlegung.
  • 5 ist ein Beispiel eines Screenshots und eines Client-Computergeräts nach Aspekten der Offenbarung.
  • 6 ist ein Beispiel eines Bilds und einer Darstellung von Geometriedaten nach den Aspekten der Offenlegung.
  • 7 ist ein Beispiel eines Screenshots und eines Client-Computergeräts nach Aspekten der Offenbarung.
  • 8 ist ein weiteres Beispiel eines Screenshots und eines Client-Computergeräts nach Aspekten der Offenbarung.
  • 9 ist ein Flussdiagramm in Übereinstimmung mit Aspekten der Offenbarung.
  • 10 ist ein Beispiel einer Karte eines Innenraums nach Aspekten der Offenbarung.
  • 11 ist ein Flussdiagramm in Übereinstimmung mit Aspekten der Offenbarung.
  • 12 ist ein weiteres Flussdiagramm in Übereinstimmung mit Aspekten der Offenbarung.
  • DETAILLIERTE BESCHREIBUNG – ÜBERSICHT
  • Die hierin beschriebene Technologie bezieht sich auf ein mobiles Computergerät, das seinen Standort anhand eines Kamerabilds bestimmt, ohne dass es auf Informationen von der Kamera oder dem mobilen Computergerät, mit Ausnahme der Informationen des Bilds selbst, zurückgreifen muss. Bei Verwendung eines mobilen Computergeräts wie ein Mobiltelefon kann es beispielsweise in vielen Situationen sein, dass geografische Positionsbestimmungssysteme (GPS, Global Positioning System) oder lokale Netzzugangspunkte (z. B. WiFi) nicht verfügbar sind. So können diese beispielsweise in bestimmten Innenräumen oder an entfernt liegenden Standorten, wie Gebirgen, nicht verfügbar sein. Wenn der Benutzer bestimmen möchte, wo er/sie sich gerade aufhält, kann das mobile Computergerät den Standort mithilfe eines Bilds des Standorts und eines Vergleichs dieses Bilds mit einer vorgespeicherten Geometrie des Innenraums bestimmen. Somit kann das mobile Computergerät selbst in dem Fall, dass andere geografische Standortbestimmungssysteme nicht verfügbar sind, dem Benutzer Standortinformationen bereitstellen. Darüber hinaus kann es sein, dass das Mobilgerät des Benutzers, auch wenn geografische Standortbestimmungssysteme verfügbar sind, nicht über ein kompatibles Modul zur Bestimmung des Standorts verfügt. Oder das Modul zur Bestimmung des geografischen Standorts auf dem Mobilgerät, sofern eines vorhanden ist, ist unter Umständen ausgeschaltet oder aus anderen Gründen nicht verfügbar.
  • In einem Aspekt möchte der Benutzer, während er sich in einem Bereich wie einem Gebäude oder im Freien bewegt, unter Umständen wissen, wo er/sie sich gerade befindet. So kann der Benutzer beispielsweise eine Anwendung oder eine andere Funktion eines Client-Computergeräts starten, um den aktuellen Standort des Client-Computergeräts zu bestimmen. Daraufhin wird der Benutzer unter Umständen von dem mobilen Computergerät aufgefordert, das mobile Computergerät im Innenraum zu schwenken, um ein Video oder eine Serie von Bildern des Innenraums aufzunehmen. Alternativ kann der Benutzer einfach ein Bild des Innenraums aufnehmen.
  • Das mobile Computergerät kann auf Geometriedaten zugreifen, die die Geometrie in der unmittelbaren Umgebung des mobilen Computergeräts beschreiben. Diese Daten sind möglicherweise auf dem mobilen Computergerät vorgespeichert oder können von einem Server abgerufen werden. Wenn ein Benutzer beispielsweise ein Gebäude betritt, fordert das mobile Computergerät möglicherweise zu diesem Zeitpunkt unter Verwendung der zuletzt vom globalen Standortbestimmungssystem bestimmten Position, eines Barcodes, einer Adressinformation die Geometriedaten dieses Gebäudes an.
  • Das mobile Computergerät kann dann das Kamerabild mit den Geometriedaten vergleichen, um den Standort und die Ausrichtung des mobilen Computergeräts zu ermitteln, ohne dass weitere Informationen von der Kamera oder anderen Hilfsmitteln zur Standortbestimmung (z. B. GPS, WiFi usw.) benötigt werden. Sobald der Standort ermittelt wurde, wird er möglicherweise dem Benutzer angezeigt.
  • In einigen Ausführungsformen extrahiert das mobile Computergerät zur Bestimmung des Standorts des Geräts Merkmale aus dem abgerufenen Bild und es vergleicht diese Merkmale mit den Geometriedaten. Diese Merkmale werden möglicherweise auf dem mobilen Computergerät extrahiert und/oder das Bild wird unter Umständen an ein Computergerät oder an mehrere Computergeräte gesendet, um die Merkmale zu extrahieren.
  • In einigen Beispielen, wenn das mobile Computergerät den Standort nicht bestimmen kann, bittet es den Benutzer um Hilfe. So kann der Benutzer beispielsweise vom mobilen Computergerät aufgefordert werden, das Computergerät im Raum zu schwenken oder ein weiteres Bild aufzunehmen. Der Benutzer wird möglicherweise vom mobilen Computergerät auch aufgefordert, ein Bild von einem einzigartigen oder interessierenden Objekt in dem jeweiligen Raum aufzunehmen.
  • Um dem mobilen Computergerät die Geometriedaten bereitzustellen, müssen die Informationen zur Geometrie des Standorts zunächst erfasst werden. In einigen Beispielen kann das Innere eines Gebäudes mithilfe von Lasern, Sonargeräten und/oder Kameras erfasst werden. Diese Daten können dann verarbeitet werden, um die zahlreichen Merkmale des Standorts sowie deren relative Positionen zu verarbeiten.
  • Die identifizierten Merkmale können dann überprüft werden, um zu bestimmen, welche Geometrie (oder Merkmale) für die Lokalisierung benötigt werden. So muss beispielsweise ein Kompromiss zwischen der Größe eines Bereichs, der von einem bestimmten Paket von Geometriedaten abgedeckt werden kann und der Menge an Daten gefunden werden, die so komprimiert oder gepackt werden können, dass sie von einem mobilen Computergerät verwendet werden können. Somit können die Merkmale basierend auf der Anzahl an Richtungen, in die eine Kamera eines mobilen Computergeräts höchstwahrscheinlich an einem bestimmen Standort in dem bestimmten Bereich gerichtet wird sowie auf den Merkmalen selbst in die Geometriedaten eines bestimmten Bereichs eingeschlossen bzw. aus ihnen ausgeschlossen werden. Darüber hinaus können bestimmte Merkmale oder Geometriedaten dieser Merkmale ausgeschlossen werden, wenn sie für die Identifizierung des Standorts nicht hilfreich sind. Gleichermaßen sollten Merkmale, die für einen Bereich einzigartig sind (z. B. einzigartige geometrische Formen oder Anordnungen von Farben), eingeschlossen werden, da sie für die Lokalisierung hilfreich sein würden.
  • In einem Beispiel können die Merkmale und Geometrie der Merkmale entsprechend ihrer Einzigartigkeit sortiert werden. So sind zum Beispiel Stuhl- und Schreibtischanordnungen in einem Bürogebäude möglicherweise weniger einzigartig als der Standort, die Größe und/oder Art von Wandbehängen. Ebenso sind im Freien die Geometrie und Merkmale einer Gruppe von identischen Gebäuden weniger einzigartig, wohingegen dasselbe Gebäude als alleinstehendes Gebäude an einem anderen Standort sehr einzigartig sein kann.
  • Die in der Rangliste am höchsten stehenden Merkmale können bzw. die in der Rangliste am höchsten stehende Geometrie der Merkmale kann dann für die Geometriedaten ausgewählt werden, die von den mobilen Computergeräten zur Bestimmung des Standorts verwendet werden. In dieser Hinsicht können in der Rangliste weiter untenstehende Merkmale (oder jene, die weniger einzigartig sind) aus den Geometriedaten ausgeschlossen werden, die von dem mobilen Computergerät verwendet werden.
  • Die Geometriedaten können auch im Hinblick auf Benutzer im Allgemeinen oder spezifisch für einen bestimmten Benutzer oder ein mobiles Computergerät dieses Benutzers gefiltert oder anderweitig komprimiert (oder wie zuvor beschrieben sortiert) werden. Somit können die Merkmale und die Geometrie der Merkmale basierend darauf eingeschlossen oder ausgeschlossen werden, ob die Geometriedaten mit Standorten übereinstimmen, an denen sich die Benutzer höchstwahrscheinlich aufhalten oder verlaufen. Geometriedaten können auch basierend auf dem Typ von Benutzer gefiltert werden, der lokalisiert werden muss. Wenn es sich bei dem Benutzer beispielsweise um einen Touristen handelt, ist die Geometrie von Schildern oder die Form von Gebäuden möglicherweise wichtiger, wohingegen für einen Athleten als Benutzer (z. B. einem Läufer) Geometriedaten mit Bezug zu Straßen, Wegen oder der Vegetation (z. B. Bäume) unter Umständen wichtiger ist. In einem anderen Beispiel können die Geometriedaten anhand der Beschränkungen des mobilen Computergeräts des Benutzers wie Bandbreite, Speicherplatz, Verarbeitungsleistung usw. bestimmt werden.
  • BEISPIELSYSTEME
  • 1 und 2 beinhalten ein Beispielsystem 100, in welchem die vorstehend beschriebenen Merkmale implementiert sein können. Dieses soll nicht als den Umfang der Offenbarung oder Nützlichkeit der hierin beschriebenen Merkmale einschränkend betrachtet werden. In diesem Beispiel kann System 100 Berechnungsvorrichtungen 110, 120, 130 und 140 sowie ein Speichersystem 150 beinhalten. Jedes Computergerät 110 kann einen Prozessor oder mehrere Prozessoren 112, einen Speicher 114 und andere Komponenten enthalten, die üblicherweise in Universalcomputergeräten vorhanden sind. Der Speicher 114 jedes der Computergeräte 110, 120, 130 und 140 kann Informationen speichern, auf die durch den einen oder die mehreren Prozessoren 112 zugegriffen werden kann, einschließlich Anweisungen 116, die vom einen oder den mehreren Prozessoren 112 ausgeführt werden können.
  • Der Speicher kann außerdem Daten 118 enthalten, die durch den Prozessor abgerufen, manipuliert oder gespeichert werden können. Der Speicher kann von nichttransitorischer Art sein, der fähig ist, Informationen, die vom Prozessor abgerufen werden können, zu speichern, wie eine Festplatte, Speicherkarte, ROM, RAM, DVD, CD-ROM, beschreibbare und ausschließlich lesbare Speicher.
  • Die Anweisungen 116 können ein beliebiger Satz an Anweisungen sein, die direkt von dem einen Prozessor oder den mehreren Prozessoren auszuführen sind, wie Maschinencode oder indirekt von dem einen Prozessor oder den mehreren Prozessoren auszuführen sind, wie Skripts. Diesbezüglich können die Begriffe „Anweisungen”, „Schritte” und „Programme” hierin austauschbar verwendet sein. Die Anweisungen können in Objektcodeformat zum direkten Verarbeiten durch den Prozessor oder in einer beliebigen anderen Computergerätesprache gespeichert werden, die Skripts oder Sammlungen unabhängiger Quellcodemodule beinhaltet, die auf Anforderung interpretiert oder vorab kompiliert werden. Funktionen, Verfahren und Routinen der Anweisungen werden unten ausführlicher erklärt.
  • Daten 118 können von dem einen Prozessor oder von den mehreren Prozessoren 112 gemäß den Anweisungen 116 abgerufen, gespeichert oder modifiziert werden. Beispielsweise können, obwohl der hierin beschriebene Gegenstand nicht durch eine beliebige bestimmte Datenstruktur beschränkt ist, die Daten in Computerregistern, als Tabelle, die viele verschiedene Felder und Datensätze aufweist, oder XML-Dokumenten gespeichert werden. Die Daten können außerdem in einem beliebigen computergerätlesbaren Format wie, aber nicht beschränkt auf, Binärwerte, ASCII oder Unicode formatiert sein. Des Weiteren können die Daten beliebige Informationen umfassen, die ausreichend sind, um die relevanten Informationen zu identifizieren, wie Zahlen, beschreibenden Text, proprietäre Codes, Zeiger, Referenzen auf Daten, die in anderen Speichern wie anderen Netzwerkstandorten gespeichert sind, oder Informationen, die von einer Funktion verwendet werden, um die relevanten Daten zu berechnen, umfassen.
  • Der eine Prozessor oder die mehreren Prozessoren 112 können beliebige herkömmliche Prozessoren sein, wie eine handelsübliche CPU. Alternativ können die Prozessoren dedizierte Komponenten sein, wie ein anwendungsspezifischer integrierter Schaltkreis („ASIC”) oder ein anderer hardwarebasierter Prozessor. Obwohl nicht nötig, können eine oder mehrere der Computergeräte 110 spezielle Hardware-Komponenten beinhalten, um spezifische Rechenprozesse schneller oder effizienter durchzuführen, wie Dekodieren von Video, Abgleichen von Videoeinzelbildern mit Bildern, Verzerren von Videos, Kodieren verzerrter Videos usw.
  • Obwohl 1 funktionsmäßig den Prozessor, Speicher und andere Elemente von Computergerät 110 als im gleichen Block befindlich darstellt, können der Prozessor, Computer, Computergerät oder Speicher tatsächlich mehrere Prozessoren, Computer, Computergeräte oder Speicher umfassen, die innerhalb desselben physischen Gehäuses gelagert sein können. Der Speicher kann zum Beispiel eine Festplatte oder andere Speichermedien sein, die sich in Gehäusen befinden, die von dem der Computergeräte 110 verschieden sind.
  • Dementsprechend werden Referenzen auf einen Prozessor, Computer, Computergerät oder Speicher so verstanden, als sie Referenzen auf eine Sammlung von Prozessoren, Computern, Computergeräten oder Speichern beinhalten, die parallel arbeiten können oder nicht. Die Computergeräte 110 können zum Beispiel Server-Computergeräte beinhalten, die als eine Serverfarm mit Lastausgleich, ein verteiltes System usw. arbeiten. Noch weiter, obwohl manche unten beschriebenen Funktionen als auf einem einzigen Computergerät mit einem einzigen Prozessor stattfindend angezeigt werden, können verschiedene Aspekte des hierin beschriebenen Gegenstands von einer Vielzahl von Computergeräten implementiert werden, wobei zum Beispiel Informationen über ein Netzwerk 160 kommuniziert werden.
  • Jedes der Computergeräte 110 kann sich an verschiedenen Knoten eines Netzwerks 160 befinden und fähig ein, direkt und indirekt mit anderen Knoten des Netzwerks 160 zu kommunizieren. Obwohl nur einige Computergeräte in 12 dargestellt sind, sollte verstanden werden, dass ein typisches System eine große Anzahl verbundener Computergeräte beinhalten kann, wobei sich jedes verschiedene Computergerät an einem verschiedenen Knoten 160 des Netzwerks befindet. Das Netzwerk 160 und dazwischenliegende Knoten, die hierin beschrieben sind, können unter Verwendung verschiedener Protokolle und Systeme vernetzt sein, sodass das Netzwerk Teil des Internets, Word Wide Web, spezifischer Intranets, Langstreckennetze oder lokaler Netzwerke sein kann. Das Netzwerk kann Standardkommunikationsprotokolle, wie Ethernet, WLAN und HTTP, Protokolle, die proprietär für eine oder mehrere Unternehmen sind, und verschiedene Kombinationen der vorstehenden nutzen. Obwohl bestimmte Vorteile erzielt werden, wenn Informationen wie oben beschrieben übertragen oder empfangen werden, sind andere Aspekte des hierin beschriebenen Gegenstands nicht auf eine bestimmte Art der Übertragung von Informationen beschränkt.
  • Als ein Beispiel kann jedes der Computergeräte 110 Webserver beinhalten, die fähig sind, über das Netzwerk mit einem Speichersystem 150 sowie mit den Computergeräten 120, 130 und 140 zu kommunizieren. Ein oder mehrere der Computergeräte 110 können zum Beispiel das Netzwerk 160 verwenden, um Informationen an einen Benutzer zu übertragen und diesem darzustellen, wie einem Benutzer 220, 230 oder 240, auf einer Anzeige, wie Anzeigen 122, 132 oder 142 der Computergeräte 120, 130 oder 140. In dieser Hinsicht können die Computergeräte 120, 130 und 140 als Client-Computergeräte angesehen werden und können alle oder einige der hierin beschriebenen Funktion durchführen.
  • Jedes der Client-Computergeräte 120, 130 und 140 kann ähnlich wie die Server-Computergeräte 110 konfiguriert sein, mit einem Prozessor oder mit mehreren Prozessoren, Speicher und Anweisungen, wie oben beschrieben. Jedes Client-Computergerät 120, 130 oder 140 kann ein persönliches Computergerät sein, das zur Verwendung durch einen Benutzer 220, 230, 240 vorgesehen ist und alle Komponenten aufweisen, die normalerweise in Verbindung mit einem persönlichen Computergerät verwendet werden, wie eine zentrale Verarbeitungseinheit (CPU), Speicher (z. B. RAM und interne Festplatten), der Daten und Anweisungen speichert, eine Anzeige wie Anzeigen 122, 132 oder 142 (z. B. ein Monitor, der einen Bildschirm aufweist, ein berührungsempfindliches Display, ein Projektor, ein Fernseher oder eine andere Vorrichtung, die betriebsfähig ist, Informationen anzuzeigen) und eine Benutzereingabevorrichtung 124 (z. B. eine Maus, Tastatur, Berührungsbildschirm oder Mikrofon). Das Client-Computergerät kann außerdem eine Kamera zum Aufnehmen von Videostreams, Lautsprecher, eine Netzwerkschnittstellenvorrichtung und alle der Komponenten, die zum Verbinden dieser Elemente miteinander verwendet werden, beinhalten.
  • Obwohl die Client-Computergeräte 120, 130 und 140 jeweils ein persönliches Computergerät in voller Größe umfassen können, können sie alternativ mobile Computergeräte umfassen, die fähig sind, Daten drahtlos über ein Netzwerk wie das Internet mit einem Server auszutauschen. Nur exemplarisch kann ein Client-Computergerät 120 ein Mobiltelefon oder eine Vorrichtung wie ein funkfähiger PDA, ein Tablet-PC oder ein Netbook sein, die in der Lage sind, Informationen über das Internet abzurufen. In einem anderen Beispiel kann Client-Computergerät 130 ein am Kopf befestigtes Computersystem sein. Als ein Beispiel kann der Benutzer Informationen unter Verwendung einer kleinen Tastatur, eines Tastenfeldes, Mikrofons, unter Verwendung visueller Signale mit einer Kamera oder eines Touchscreens eingeben.
  • Wie der Speicher 114 kann das Speichersystem 150 von einem beliebigen Typ von computerisiertem Speicher sein, der fähig ist, Informationen zu speichern, auf die von den Computergeräten 110 zugegriffen werden kann, wie eine Festplatte, Speicherkarte, ROM, RAM, DVD, CD-ROM, beschreibbare und schreibgeschützte Speicher. Zusätzlich kann das Speichersystem 150 ein verteiltes Speichersystem beinhalten, in dem Daten auf einer Vielzahl von verschiedenen Speichergeräten gespeichert werden, die physisch an den gleichen oder verschiedenen geografischen Standorten angeordnet sein können. Das Speichersystem 150 kann über das Netzwerk 160 mit den Computergeräten verbunden sein, wie in 1 gezeigt, und/oder kann direkt mit beliebigen der Computergeräte 110, 120, 130 und 140 verbunden sein (nicht gezeigt).
  • Das Speichersystem 150 kann auch Geometriedaten speichern. Die Geometriedaten können für bestimmte Bereiche, Benutzer, Client-Computergeräte usw. wie nachfolgend beschrieben vorbestimmt werden. Die Geometriedaten können eine Vielzahl von dreidimensionalen Punkten oder Verktoren beinhalten, die geografische Standorte von Merkmalen sowie andere Informationen wie Farbe oder Farben, Merkmalstyp (Stuhl, Fenster usw.), Texturen usw. festlegen. 3 zeigt ein Beispiel 300 einer Tabelle mit Geometriedaten und einer dreidimensionalen Darstellung dieser Geometriedaten. In diesem Beispiel entsprechen die Geometriedaten einem Raum und beinhalten Informationen zur Identifizierung der Form und des Standorts der verschiedenen Elemente oder Merkmale, einschließlich eines Tisches 310, eines Computerbildschirms 311, einer Tastatur 312, eines Stuhls 313, einer Lampe 314, einer Mülltonne 315 und eines Whiteboards 316. Die Geometriedaten selbst können wie im Beispiel 300 als eine Reihe von Punkten oder als Vektoren oder in verschiedenen anderen Formaten gespeichert werden. Diese Geometriedaten können auch mit Karteninformationen verknüpft werden, die beispielsweise einem Benutzer angezeigt werden, um einen Standort anzugeben.
  • Obwohl die im Beispiel 300 gezeigte Geometrie richtig dargestellt zu sein scheint, kann die Geometrie in Wirklichkeit probabilistische Modelle umfassen, die mithilfe einer Structure-from-Motion(SfM)-Technik erzeugt werden, um die dreidimensionale Geometrie anhand von zweidimensionalen Bildern zu berechnen. Darüber hinaus kann es mehrere Modelle oder verschiedene Schätzungen hinsichtlich der Geometrie von anderen Objekten geben.
  • BEISPIELVERFAHREN
  • Um die hierin beschriebenen Techniken nutzen zu können, muss der Benutzer unter Umständen eine Anwendung installieren, eine Einstellung auswählen und/oder dergleichen ausführen. Anschließend fordert das Client-Computergerät möglicherweise die Geometriedaten wie zuvor beschrieben von einem Server-Computergerät an. Als Beispiel kann diese Anforderung automatisch vom Client-Computergerät 120 ausgeführt werden sowie der Benutzer 220 einen bestimmten geografischen Standort, z. B. ein bestimmtes Gebäude oder einen Innenraum, betritt. Alternativ kann der Benutzer die Geometriedaten vor dem Besuch des bestimmten geografischen Standorts herunterladen.
  • Als Reaktion auf die Anforderung ruft das Server-Computergerät möglicherweise die Geometriedaten von einem Speichersystem ab und sendet diese an das anfordernde Client-Gerät. So kann das Server-Computergerät 110 Geometriedaten vom Speichersystem 150 abrufen und die Geometriedaten an das Client-Computergerät 120 senden.
  • Der Benutzer kann dann sein/ihr Computergerät mit zu dem bestimmten geografischen Standort nehmen. In einigen Beispielen kann es sich bei dem Client-Computergerät um ein mobiles Client-Computergerät handeln, wie jene, die hinsichtlich der Client-Computergeräte 120, 130 und 140 so beschrieben sind, dass sich der aktuelle Standort des Client-Computergeräts des Benutzers ändert, wenn der Benutzer das Client-Computergerät an verschiedene Standorte mitnimmt. 4 ist ein Beispiel eines Raums 400, in dem der Benutzer 220 mit dem Client-Computergerät 120 in der Hand haltend steht. Der Raum 400 entspricht dem Bereich an Geometriedaten 300 und beinhaltet zahlreiche Objekte wie zum Beispiel einen Schreibtisch 410, einen Computerbildschirm 411, eine Tastatur 412, einen Stuhl 413, eine Lampe 414, eine Mülltonne 415 und ein Whiteboard 416. In diesem Beispiel gibt es mehrere kleinere Objekte wie eine Tasse 417, ein Radiergummi 418 und einen Marker 419.
  • Der Benutzer kann auf die Anwendung zugreifen, um den aktuellen Standort eines Client-Computergeräts des Benutzers zu bestimmen. Daraufhin wird der Benutzer möglicherweise vom Client-Computergerät aufgefordert, ein Bild oder ein Video aufzunehmen. Wenn der Benutzer entscheidet, dies zu tun, schwenkt er/sie unter Umständen das mobile Computergerät im Innenraum herum, um ein Video oder eine Serie von Standbildern des Innenraums aufzunehmen. Alternativ kann der Benutzer einfach ein Einzelbild des Innenraums aufnehmen. 5 ist ein Beispiel eines Screenshots 500 auf einem Client-Gerät 120 von einem aufgenommenen Bild 510.
  • Das Client-Computergerät kann ein Einzelbild oder mehrere Einzelbilder des Videos oder das Bild zur Identifizierung von Merkmalen verarbeiten. Die Merkmale werden möglicherweise auf dem mobilen Computergerät extrahiert und/oder das Bild oder ein Einzelbild oder mehrere Einzelbilder des Videos wird/werden unter Umständen an ein Computergerät oder an mehrere Computergeräte gesendet, um die Merkmale und ihre relativen Positionen zu extrahieren. Wie zuvor erwähnt wird bei diesem Prozess eine SfM-Technik verwendet. Das Client-Computergerät 120 kann beispielsweise das Bild 510 verarbeiten, um die Form der Lampe 520 zu identifizieren. Das Client-Computergerät 120 kann zudem den Standort der Lampe 520 relativ zu anderen Merkmalen in dem Bild wie den Computerbildschirm 530 bestimmen.
  • Die identifizierten Merkmale können mit den Geometriedaten verglichen werden, um übereinstimmende Merkmale zu identifizieren. Wie zuvor erwähnt, kann dieser Vergleich mithilfe einer SfM-Technik ausgeführt werden. Das Client-Computergerät kann zum Beispiel auf die Geometriedaten zugreifen und diese wie im Beispiel 600 von 6 gezeigt mit den identifizierten Merkmalen vergleichen. In diesem Beispiel können die Geometriedaten 310–16 mit den Merkmalen verglichen werden, die im Bild 510 identifiziert wurden. Das Client-Computergerät vergleicht unter Umständen die Lampe 520 im Bild 510 mit der Lampe 314 in den Geometriedaten 300 und gleicht diese ab. Gleichermaßen kann das Client-Computergerät den Computerbildschirm 530 im Bild 510 mit dem Computerbildschirm 311 in den Geometriedaten 300 vergleichen und abgleichen.
  • Mit den überstimmenden Merkmalen kann das Client-Computergerät den Standort des Client-Computergeräts bestimmen, als das Video oder das Bild aufgenommen wurde. Das Client-Computergerät kann zum Beispiel die Standorte der übereinstimmenden Merkmale verwenden, um die Ausrichtung und den Standort des Client-Computergeräts zu bestimmen, ohne andere Hilfsmittel zur Standortbestimmung wie die Daten von einem Beschleunigungsmesser oder Gyroskop, GPS, WiFi usw. zu nutzen. In dieser Hinsicht kann das Client-Computergerät den Standort und die Ausrichtung des Client-Computergeräts bestimmen, als das Video oder das Bild aufgenommen wurde.
  • Sobald der Standort bestimmt wurde, werden diese Informationen möglicherweise dem Benutzer bereitgestellt. Als Beispiel können die Informationen, die den bestimmten Standort identifizieren, wie im Screenshot von 7 gezeigt einem Benutzer angezeigt werden. In diesem Beispiel identifiziert das Client-Computergerät 120 einen Marker 710 mit einer Textblase 720, die den aktuellen Standort des Client-Computergeräts relativ zu einer Karte 730 anzeigt.
  • In einigen Beispielen, wenn das mobile Computergerät den Standort nicht bestimmen kann, bittet das Gerät den Benutzer um Mithilfe. So kann der Benutzer beispielsweise vom mobilen Computergerät aufgefordert werden, das Computergerät im Raum zu schwenken oder ein weiteres Video oder Bild aufzunehmen. 8 ist beispielsweise ein Screenshot eines Client-Computergeräts 120, von dem der Benutzer aufgefordert wird, ein weiteres Bild aufzunehmen. In diesem Beispiel entscheidet sich der Benutzer möglicherweise dazu, das Bild mithilfe der Option 810 oder nicht mit der Option 820 aufzunehmen.
  • Der Benutzer wird möglicherweise vom mobilen Computergerät auch aufgefordert, ein Bild von einem einzigartigen Objekt in diesem Raum aufzunehmen. Der Benutzer kann zum Beispiel vom Client-Computergerät aufgefordert werden, ein Bild eines Objekts aufzunehmen, das besonders ist und von dem unwahrscheinlich ist, dass es in anderen in der Nähe liegenden Bereichen vorkommt. Wenn der Benutzer beispielsweise in einem Konferenzraum in einem Hotel stehen würde, würden diese Räume möglicherweise an verschiedenen Standorten ähnlich aussehen. Nimmt der Benutzer jedoch das Bild eines Logos auf, das einzigartig für diesen Standort ist, wie ein Zeichen, das die Stadt oder den Namen des Hotels angibt oder ein Kunstwerk in der Lobby, dann hilft dieses Zeichen (oder Kunstwerk) dem Client-Computergerät oder einem anderen Computergerät dabei, den Standort des Benutzers zu bestimmen.
  • Obwohl sich die vorherigen Beispiele auf Innenräume beziehen, können die hierin aufgeführten Merkmale auch verwendet werden, um Standorte im Freien zu finden, wie jene, an denen die GPS-Signale zu schwach, zu wenig verbreitet oder nicht verfügbar sind. Als Beispiel kann ein Benutzer ein Bild eines Horizonts, der Skyline usw. aufnehmen und den aktuellen Standort abfragen, da die Geometrie einer Horizontlinie, einer Skyline usw. an verschiedenen Standorten unterschiedlich sein kann.
  • Das Ablaufdiagramm 900 in 9 ist ein Beispiel von einigen der zuvor beschriebenen Aspekte, das durch ein Computergerät oder durch mehrere Computergeräte, wie z. B. die Client-Computergeräte 120, 130, 140 und/oder die Server-Computergeräte 110, ausgeführt werden kann. In diesem Beispiel wird ein Bild eines Standorts in Block 902 empfangen. Das Bild wird in Block 904 verarbeitet, um ein Merkmal oder mehrere Merkmale zu identifizieren. Auf die vorgespeicherten Geometriedaten wird in Block 906 zugegriffen. Diese vorgespeicherten Geometriedaten identifizieren eine Vielzahl von Merkmalen und zugehörigen Standorten. Ein überstimmender Standort wird ermittelt, indem das identifizierte Merkmal oder die identifizierten Merkmale in Block 908 mit den vorgespeicherten Geometriedaten verglichen werden.
  • Die Geometriedaten, die wie zuvor beschrieben dem Client-Computergerät bereitgestellt werden, sind möglicherweise vorgegeben. Dazu müssen die Informationen zur Geometrie eines Bereichs erfasst oder aufgezeichnet werden. In einigen Beispielen kann das Innere eines Gebäudes mithilfe von Lasern und/oder Kameras erfasst werden. Diese Daten können dann verarbeitet werden, um die zahlreichen Merkmale des Standorts sowie deren relative Positionen erneut mithilfe einer SfM-Technik zu verarbeiten.
  • Die identifizierten Merkmale können verwendet werden, um die Geometriedaten zu erzeugen, die beispielsweise im Speichersystem 150 gespeichert werden. Als Beispiel können Merkmale und deren zugehörige Standorte abhängig von dem Wert der Merkmale bei dem Abgleich und der Bestimmung von Standorten wie zuvor beschrieben in die Geometriedaten eingeschlossen oder aus ihnen ausgeschlossen werden. Daher sind Merkmale oder Standorte von Merkmalen, die für einen bestimmten Standort innerhalb eines gegebenen Bereichs einzigartig sind, hilfreicher bei der Bestimmung und den Abgleich von Standorten. In dieser Hinsicht können Objekte mit einzigartigen geometrischen Formen, Farbanordnungen oder Standorten in die Geometriedaten eingeschlossen werden. Bestimmte Gruppen von Objekten oder deren relative Position zu anderen Objekten (oder andere Platzierungsmuster) können ebenfalls in die Geometriedaten eingeschlossen werden. Darüber hinaus können genug Merkmale und zugehörige Standorte in die Geometriedaten für einen bestimmten Bereich eingeschlossen werden, um eine Mindestanzahl an Richtungen abzudecken, in die eine Kamera eines Client-Computergeräts höchstwahrscheinlich an einem beliebigen gegebenen Standort gerichtet wird.
  • Wieder bezugnehmend auf die Beispiele des Raums 400 und des Beispiels 300 der Geometriedaten werden möglicherweise bestimmte Merkmale des Raums 400 nicht in die Geometriedaten eingeschlossen. So werden beispielsweise kleinere Objekte, die wahrscheinlich mitgenommen oder von dem Standort entfernt werden, wie eine Tasse 417, ein Radiergummi 418 und ein Marker 419, nicht in die Geometriedaten eingeschlossen. In einem anderen Beispiel, wenn es mehrere Räume in einem Gebäude wie den Raum 400 gibt, die einen bestimmten Schreibtisch und einen bestimmten Stuhl beinhalten, wie den Schreibtisch 410 und den Stuhl 413, werden diese Merkmale unter Umständen aus den Geometriedaten ausgeschlossen.
  • Einzigartigere Merkmale wie die Lampe 414 werden möglicherweise in die Geometriedaten eingeschlossen, da es weniger wahrscheinlich ist, dass sie in anderen Räumen vorhanden sind oder an einen neuen Standort transportiert werden. Darüber hinaus kann die Geometrie der Lampe 414 als einzigartig angesehen werden, da die Lampe 414 die einzige Lampe in den gesammelten Daten ist oder da sie eine einer kleinen Anzahl an identischen oder ähnlich geformten oder positionierten Lampen ist. So kann es beispielsweise keine oder nur sehr wenige Lampen wie die Lampe 414 geben bzw. keine oder nur sehr wenige Lampen geben, die sich innerhalb eines Abstands von x Fuß zu einem Schreibtisch, dessen Form der des Schreibtisches 410 entspricht oder innerhalb eines Abstands von x Fuß zu einer Tür oder einer Wand usw. befinden. Desgleichen kann es bei einem Standort im Freien sein, dass die Geometrie oder die Merkmale einer Gruppe von identischen Gebäuden weniger einzigartig ist oder sind, wohingegen dasselbe Gebäude als freistehendes Gebäude an einem anderen Standort äußerst einzigartig sein kann.
  • In einem Beispiel können die Merkmale und Geometrie der Merkmale entsprechend ihrer Einzigartigkeit sortiert oder bewertet werden. Bezugnehmend auf die vorherigen Beispiele können der Standort und die Geometrie der Tasse 417, des Radiergummis 418 und des Markes 419 als weniger einzigartig eingestuft werden als der Standort und die Geometrie der Lampe 414. In diesem Zusammenhang können Merkmale und ihre Geometrie relativ zueinander in einer Rangliste sortiert werden oder es kann ihnen einfach ein Einzigartigkeitswert auf einer Skala von z. B. 0–1 zugeordnet werden. So kann beispielsweise die Tasse 417 einen Wert von 0,01 haben, wohingegen die Lampe 414 einen Wert von 0,89 hat.
  • Die Merkmale oder Geometrie der Merkmale, die in der Randfolge am höchsten eingeordnet oder am höchsten bewertet werden bzw. wird, können oder kann dann für die Geometriedaten verwendet werden. In dieser Hinsicht können in der Rangliste weiter untenstehende Merkmale (oder jene, die weniger einzigartig sind) aus den Geometriedaten ausgeschlossen werden. Wie bereits erwähnt können Merkmale oder die Geometrie der Merkmale, die niedriger eingestuft oder bewertet werden oder wird, wie eine Tasse 417, ein Radiergummi 418 und ein Marker 419, aus den Geometriedaten ausgeschlossen, während Daten höher eingestufter Merkmale wie die Lampe 414 möglicherweise eingeschlossen wird. Das Ziel dieser Rangliste ist die Bereitstellung hilfreicher Geometriedaten innerhalb eines größtmöglichen Radius zur Speicherung in dem begrenzten Speicher eines Client-Computergeräts.
  • Das Ablaufdiagramm 1000 in 10 ist ein exemplarisches Ablaufdiagramm von einigen der zuvor beschriebenen Aspekte, das durch ein Computergerät oder durch mehrere Computergeräte, wie z. B. die Computergeräte 110, ausgeführt werden kann. In diesem Beispiel werden die in einem bestimmten Bereich gesammelten Informationen in Block 1002 empfangen. Ein Merkmal oder mehrere Merkmale und zugehörige Standorte werden anhand der empfangenen Informationen in Block 1004 identifiziert. Dem identifizierten Merkmal oder den identifizierten Merkmalen wird entsprechend der jeweiligen relativen Einzigartigkeit des identifizierten Merkmals oder unter den identifizierten Merkmalen in Block 1006 ein Rang zugeordnet. Eine Gruppe an Geometriedaten wird für den bestimmten Bereich basierend auf der Auswahl der in eine Rangfolge gebrachten Merkmale und zugehörigen Standorte in Block 1008 erzeugt.
  • Merkmale können zudem basierend auf den mit einem Benutzer verknüpften Eigenschaften in die Geometriedaten eingeschlossen oder aus ihnen ausgeschlossen oder anderweitig gefiltert werden. In einem Beispiel können Merkmale und die Geometrie der Merkmale basierend darauf eingeschlossen oder ausgeschlossen werden, ob sich diese Merkmale an Standorten befinden, an denen sich die Benutzer höchstwahrscheinlich aufhalten oder verlaufen. So zeigt zum Beispiel die Karte 1100 in 11 exemplarisch einen Flur eines Bürogebäudes. Merkmale und Merkmalsdaten für Standorte wie Toiletten, Flur 1, Empfangshalle (Lobby), Konferenzraum A und Konferenzraum B können Bereiche repräsentieren, in denen sich reisende Benutzer höchstwahrscheinlich aufhalten werden. Somit ist es unter Umständen hilfreich, Merkmale und die Geometrie der Merkmale in die Geometriedaten einzuschließen, die mit diesem Bereich verknüpft sind. Merkmale und die Geometrie der Merkmale jedoch, die mit privaten Bereichen verknüpft sind, wie Lager, Aktenraum und die Büros 1 bis 4, können aus den Geometriedaten ausgeschlossen werden, wenn sich die reisenden Benutzer höchstwahrscheinlich nicht in diesen Bereichen aufhalten werden. Gleichermaßen können, wenn die Wahrscheinlichkeit groß ist, dass sich reisende Benutzer in den Fluren 2 und 3 verlaufen, Merkmale und die Geometrie der Merkmale, die mit diesen Bereichen verknüpft sind, in die Merkmalsdaten eingeschlossen werden.
  • Geometriedaten können auch basierend auf dem Typ von Benutzer gefiltert werden, der lokalisiert werden muss. So muss unter Umständen ein Benutzer im Rahmen einer Registrierung für die Anwendung Informationen dazu bereitstellen, wann oder für was er/sie die Anwendung voraussichtlich nutzen wird oder welche Hobbys oder Interessen er/sie hat. Wenn es sich bei dem Benutzer um einen Touristen handelt, ist die Geometrie von Schildern oder die Form von Gebäuden möglicherweise wichtiger, wohingegen für einen Athleten als Benutzer (z. B. einem Läufer) Geometriedaten mit Bezug zu Straßen oder der Vegetation (z. B. Bäume) unter Umständen wichtiger ist. Wieder bezugnehmend auf das Beispiel der Karte 1100 und wie zuvor erwähnt können Geometriedaten, die für reisende Benutzer, Touristen usw. bestimmt sind, unter Umständen Merkmale und die Geometrie der Merkmale für jeden der Räume Flure 1 bis 3, Toiletten, Empfangshalle (Lobby), Konferenzraum A und Konferenzraum B einschließen. Für jemanden, wie zum Beispiel einem Mitarbeiter in einem Bürogebäude, können die Geometriedaten Merkmale und die Geometrie der Merkmale für die Räume Flure 1 bis 3, Toilette, Büros 1 bis 4, Konferenzraum A und Konferenzraum B einschlossen werden, jedoch nicht für die Räume Aktenraum und Lager, da diese weiterhin als private Bereiche angesehen werden.
  • In einem anderen Beispiel können die Geometriedaten anhand der Beschränkungen des mobilen Computergeräts des Benutzers bestimmt werden. So können beispielsweise die zur Bestimmung und den Abgleich von Standorten erforderlichen Geometriedaten nur so weit komprimiert werden, wie die Beschränkungen es zulassen. Somit können bestimmte Computergeräte, die über eine größere Bandbreite und Verarbeitungsleistung sowie einen größeren Speicher usw. verfügen, mit Geometriedaten für größere Bereiche oder mit mehr Merkmalen und Merkmalsgeometriedaten ausgestattet werden. Dementsprechend können bestimmte Client-Geräte, die über eine geringere Bandbreite und Verarbeitungsleistung sowie einen kleineren Speicher usw. verfügen, mit Geometriedaten für kleinere Bereiche oder mit weniger Merkmalen und Merkmalsgeometriedaten ausgestattet werden. Darüber hinaus kann sich auch die Anzeigefähigkeit des Client-Computergeräts auf die Geometriedaten auswirken, die an das Client-Computergerät gesendet werden.
  • Das Ablaufdiagramm 1200 in 12 ist ein exemplarisches Ablaufdiagramm von einigen der zuvor beschriebenen Aspekte, das durch ein Computergerät oder durch mehrere Computergeräte, wie z. B. die Computergeräte 110, ausgeführt werden kann. In diesem Beispiel werden die in einem bestimmten Bereich gesammelten Informationen in Block 1202 empfangen. Ein Merkmal oder mehrere Merkmale und zugehörige Standorte werden anhand der empfangenen Informationen in Block 1204 identifiziert. Die Auswahl von gegebenen Merkmalen des identifizierten Merkmals oder der identifizierten Merkmale basierend auf einer Eigenschaft eines Benutzers erfolgt in Block 1206. Eine Gruppe an Geometriedaten wird für den bestimmten Bereich basierend auf der Auswahl der in eine Rangfolge gebrachten Merkmale und zugehörigen Standorte in Block 1208 erzeugt. Diese Geometriedaten werden dann möglicherweise in Block 1210 an ein Client-Computergerät oder mehrere Client-Computergeräte gesendet, um die Standorte wie zuvor beschrieben, zu bestimmen.
  • In Situationen, in denen die Systeme, die hier behandelt werden, persönliche Informationen über Benutzer sammeln oder persönliche Informationen nutzen können, kann für die Benutzer eine Möglichkeit der Kontrolle bereitgestellt werden, ob Programme oder Funktionen Benutzerinformationen sammeln (z. B. Informationen über das soziale Netzwerk eines Benutzers, soziale Handlungen oder Aktivitäten, Beruf, eine Benutzer Präferenz oder eine derzeitige Lage des Benutzers) oder zu kontrollieren, ob und/oder wie der Benutzer Inhalte vom Inhaltsserver erhalten kann, die für den Benutzer relevanter sein können. Darüber hinaus können gewisse Daten auf eine oder mehrere Wege behandelt werden, bevor sie gespeichert oder verwendet werden, sodass Informationen zur Identifizierung von Personen entfernt werden. Eine Benutzeridentität kann beispielsweise so behandelt werden, dass keine persönlichen identifizierbaren Informationen für den Benutzer bestimmt werden können oder eine geographische Lage des Benutzers kann verallgemeinert werden, wobei Lageninformationen entnommen werden (wie beispielsweise eine Stadt, Postleitzahl oder Bundeslandebene), sodass eine bestimmte Benutzerlage nicht festgestellt werden kann. Deshalb kann der Benutzer darüber Kontrolle haben, wie die Information über den Benutzer gesammelt und durch einen Inhaltsserver wie einem oder mehrere der Server-Computergeräte 110 benutzt werden.
  • Die meisten der vorstehenden alternativen Beispiele schließen sich nicht gegenseitig aus, können aber in unterschiedlichen Kombinationen implementiert werden, um charakteristische Vorteile zu erzielen. Auch wenn diese und andere Variationen und Kombinationen der oben beschriebenen Merkmale verwendet werden können, ohne von dem in den Ansprüchen definierten Gegenstand abzuweichen, ist die vorstehende Beschreibung der Ausführungsformen nur als Veranschaulichung und nicht als Einschränkung des in den Ansprüchen definierten Gegenstands anzusehen. Beispielsweise muss bei der Durchführung der vorhergehenden Operationen nicht die genaue oben beschriebene Reihenfolge eingehalten werden. Stattdessen können unterschiedliche Schritte in unterschiedlicher Reihenfolge oder simultan durchgeführt werden. Sofern nicht anderweitig angegeben, können auch Schritte ausgelassen werden. Darüber hinaus darf die Angabe der hierin beschriebenen Beispiele und Klauseln, die mit Begriffen wie etwa „zum Beispiel”, „einschließlich” und dergleichen formuliert werden, nicht als Einschränkung des Gegenstands der Ansprüche auf diese spezifischen Beispiele interpretiert werden, da die Beispiele lediglich dazu dienen, eine der vielen möglichen Ausführungsformen zu veranschaulichen. Ferner können dieselben Referenznummern in unterschiedlichen Zeichnungen dieselben oder ähnliche Elemente identifizieren.
  • INDUSTRIELLE ANWENDBARKEIT
  • Die vorliegende Erfindung genießt breite industrielle Anwendbarkeit, einschließlich, aber ohne Einschränkung, der Bestimmung eines Standorts eines mobilen Computergeräts.

Claims (13)

  1. System, das ein Computergerät oder mehrere Computergeräte umfasst, worin jedes davon einen Prozessor oder mehrere Prozessoren aufweist, worin das eine Computergerät oder die mehreren Computergeräte so konfiguriert ist oder sind, dass: es oder sie ein Bild eines Standorts empfängt oder empfangen; es oder sie das Bild zur Identifizierung von einem Merkmal oder mehreren Merkmalen des Bilds verarbeitet oder verarbeiten; es oder sie auf vorgespeicherte dreidimensionale Geometriedaten zugreift oder zugreifen, die eine Vielzahl von Merkmalen und zugehörigen Standorten in drei Dimensionen identifizieren; es oder sie das identifizierte Merkmal oder die identifizierten Merkmale mit den gespeicherten dreidimensionalen Geometriedaten vergleicht oder vergleichen, um zu versuchen, den Standort des Client-Geräts zu bestimmen; wenn das eine Computergerät oder die mehreren Computergeräte keine Standortbestimmung durchführen kann oder können, es oder sie ein weiteres Bild zur Identifizierung von einem weiteren Merkmal oder von mehreren weiteren Merkmalen des weiteren Bilds verarbeitet oder verarbeiten; und es oder sie einen übereinstimmenden Standort bestimmt oder bestimmen, indem das identifizierte Merkmale oder die mehreren identifizierten Merkmale und das eine identifizierte weitere Merkmal oder die identifizierten mehreren weiteren Merkmale mit den gespeicherten dreidimensionalen Geometriedaten verglichen werden.
  2. System nach Anspruch 1, worin das eine Computergerät oder die mehreren Computergeräte ferner so konfiguriert ist oder sind, dass es oder sie eine Benachrichtigung zur Anforderung des weiteren Bilds bereitstellt oder bereitstellen, worin die Benachrichtigung ferner anfordert, dass das weitere Bild einen bestimmten Objekttyp beinhaltet.
  3. System nach Anspruch 1, worin das eine Computergerät oder die mehreren Computergeräte ferner konfiguriert ist oder sind für: den Empfang einer Anforderung eines aktuellen Standorts eines Mobilgeräts; und den Versand des ermittelten übereinstimmenden Standorts zur Anzeige an das Mobilgerät.
  4. System nach Anspruch 1, worin das eine Computergerät oder die mehreren Computergeräte ferner konfiguriert ist oder sind für: den Empfang einer Anforderung eines aktuellen Standorts eines Mobilgeräts; und die Anzeige des ermittelten übereinstimmenden Standorts in einer Anzeige des Mobilgeräts.
  5. System nach Anspruch 1, worin das eine Computergerät oder die mehreren Computergeräte ferner so konfiguriert ist oder sind, dass es oder sie die gespeicherten geometrischen Daten vor dem Empfang der Anforderung des aktuellen Standorts eines Mobilgeräts empfängt oder empfangen.
  6. System nach Anspruch 1, worin das eine Computergerät oder die mehreren Computergeräte ferner so konfiguriert ist oder sind, dass, wenn das eine Computergerät oder die mehreren Computergeräte keine Standortbestimmung durchführen kann oder können, ein weiteres Bild angefordert wird.
  7. System nach Anspruch 1, worin das eine Computergerät oder die mehreren Computergeräte ferner so konfiguriert ist oder sind, dass es oder sie ein Video empfängt oder empfangen, worin das Bild des Standorts ein Einzelbild des Videos ist.
  8. Ein nicht flüchtiges, computerlesbares Speichermedium, auf dem computerlesbare Anweisungen eines Programms gespeichert sind, die Anweisungen, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen ein Verfahren durchzuführen, das Verfahren Folgendes umfassend: den Empfang eines Bilds eines Standorts; die Verarbeitung des Bilds zur Identifizierung von einem Merkmal oder mehreren Merkmalen des Bilds; den Zugriff auf gespeicherte dreidimensionale Geometriedaten, die eine Vielzahl von Merkmalen und zugehörigen Standorten in drei Dimensionen identifizieren; den Vergleich des identifizierten Merkmales oder der identifizierten Merkmale mit den gespeicherten dreidimensionalen Geometriedaten, um zu versuchen, den Standort des Client-Geräts zu bestimmen; wenn das eine Computergerät oder die mehreren Computergeräte keine Standortbestimmung durchführen kann oder können, die Verarbeitung eines weiteren Bild zur Identifizierung von einem weiteren Merkmal oder von mehreren weiteren Merkmalen des weiteren Bilds; und es oder sie einen übereinstimmenden Standort bestimmt oder bestimmen, indem das identifizierte Merkmale oder die mehreren identifizierten Merkmale und das eine identifizierte weitere Merkmal oder die identifizierten mehreren weiteren Merkmale mit den gespeicherten dreidimensionalen Geometriedaten verglichen werden.
  9. Medium nach Anspruch 8, ferner umfassend die Bereitstellung einer Benachrichtigung zur Anforderung des weiteren Bilds, worin die Benachrichtigung ferner anfordert, dass das weitere Bild einen bestimmten Objekttyp beinhaltet.
  10. Medium nach Anspruch 8, worin das Verfahren weiterhin Folgendes umfasst: den Empfang einer Anforderung eines aktuellen Standorts eines Mobilgeräts; und den Versand des ermittelten übereinstimmenden Standorts zur Anzeige an das Mobilgerät.
  11. Medium nach Anspruch 8, worin das Verfahren weiterhin Folgendes umfasst: den Empfang einer Anforderung eines aktuellen Standorts eines Mobilgeräts; und die Anzeige des ermittelten übereinstimmenden Standorts in einer Anzeige des Mobilgeräts.
  12. Medium nach Anspruch 8, worin das Verfahren ferner den Empfang der gespeicherten Geometriedaten vor dem Empfang der Anforderung des aktuellen Standorts eines Mobilgeräts umfasst.
  13. Medium nach Anspruch 8, worin das Verfahren, wenn das eine Computergerät oder die mehreren Computergeräte keine Standortbestimmung durchführen kann oder können, ferner die Anforderung eines weiteren Bilds umfasst.
DE202014010944.3U 2013-11-08 2014-10-31 Bildbasierte Standortbestimmung Active DE202014010944U1 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US14/075,565 2013-11-08
US14/075,565 US20150134689A1 (en) 2013-11-08 2013-11-08 Image based location determination
US14/075,621 US9288636B2 (en) 2013-11-08 2013-11-08 Feature selection for image based location determination
US14/075,621 2013-11-08
US14/089,221 US9980098B2 (en) 2013-11-08 2013-11-25 Feature selection for image based location determination
US14/089,221 2013-11-25

Publications (1)

Publication Number Publication Date
DE202014010944U1 true DE202014010944U1 (de) 2017-01-26

Family

ID=56465467

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202014010944.3U Active DE202014010944U1 (de) 2013-11-08 2014-10-31 Bildbasierte Standortbestimmung

Country Status (3)

Country Link
EP (2) EP3066644A1 (de)
CN (2) CN105814606B (de)
DE (1) DE202014010944U1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110514181A (zh) * 2018-05-22 2019-11-29 杭州萤石软件有限公司 一种电子设备定位方法和装置
CN111854755A (zh) * 2020-06-19 2020-10-30 深圳宏芯宇电子股份有限公司 室内定位方法、设备及计算机可读存储介质
CN115602041B (zh) * 2021-07-09 2024-04-09 华为技术有限公司 信息生成方法和装置、信息使用方法和装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6345274B1 (en) * 1998-06-29 2002-02-05 Eastman Kodak Company Method and computer program product for subjective image content similarity-based retrieval
US20070127822A1 (en) * 2005-12-02 2007-06-07 Boose John H Method and system for analyzing image differences
US8645842B2 (en) * 2007-11-05 2014-02-04 Verizon Patent And Licensing Inc. Interactive group content systems and methods
US8068667B2 (en) * 2008-03-31 2011-11-29 Konica Minolta Systems Laboratory, Inc. Systems and methods for color data compression
US8284190B2 (en) * 2008-06-25 2012-10-09 Microsoft Corporation Registration of street-level imagery to 3D building models
US8825660B2 (en) * 2009-03-17 2014-09-02 Ebay Inc. Image-based indexing in a network-based marketplace
US8483715B2 (en) * 2009-03-26 2013-07-09 Yahoo! Inc. Computer based location identification using images
US8078623B2 (en) * 2009-10-14 2011-12-13 Cyberlink Corp. Systems and methods for summarizing photos based on photo information and user preference
US9275154B2 (en) * 2010-06-18 2016-03-01 Google Inc. Context-sensitive point of interest retrieval
US8792728B2 (en) * 2010-09-27 2014-07-29 Hewlett-Packard Development Company, L.P. Near-duplicate image detection
US8174931B2 (en) * 2010-10-08 2012-05-08 HJ Laboratories, LLC Apparatus and method for providing indoor location, position, or tracking of a mobile computer using building information
US9395188B2 (en) * 2011-12-01 2016-07-19 Maxlinear, Inc. Method and system for location determination and navigation using structural visual information

Also Published As

Publication number Publication date
CN105814606A (zh) 2016-07-27
EP3066644A1 (de) 2016-09-14
EP3300020A1 (de) 2018-03-28
CN105814606B (zh) 2019-05-10
CN110263800A (zh) 2019-09-20
CN110263800B (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
US9658744B1 (en) Navigation paths for panorama
DE202010018456U1 (de) Vorrichtung zum Erzeugen von virtuellem Graffiti in einem mobilen Virtual- und Augmented-Reality-System
DE202014010927U1 (de) Referenzpunktidentifizierung aus Punktwolken, die aus geografischen Bilddaten erstellt werden
DE202017105871U1 (de) Umsetzbare Vorschläge für Aktivitäten
DE202015009198U1 (de) Auswahl der zeitlich verteilten Panoramabilder für die Anzeige
CN109376313A (zh) 信息推荐方法、装置、终端及存储介质
DE202016006041U1 (de) Systeme für das Generieren und Anzeigen von Standortentitätsinformationen in Verbindung mit dem aktuellen geographischen Standort eines mobilen Geräts
DE202014010922U1 (de) Erzeugung von Tiefenkarten
US9288636B2 (en) Feature selection for image based location determination
DE202016008004U1 (de) Automatische Verbindung von Bildern unter Verwendung visueller Eigenschaftsquerverweise auf zugehörige Anwendungen
DE202016007816U1 (de) Das Entdecken von Unternehmen aus Bildern
DE112016001304T5 (de) Detektieren des Ortes einer Mobilvorrichtung basierend auf semantischen Indikatoren
DE202012013463U1 (de) Das Erzeugen und Beobachten von Benachrichtigungen für einen geographischen Bereich
DE202013012518U1 (de) System zur Abbildung eines Innenraums
DE112017006406T5 (de) Intelligentes automatisches zuschneiden von bildern
DE202010018498U1 (de) Abgleich eines ungefähr lokalisierten Anfragebildes mit einem Referenzbildsatz
DE202011110874U1 (de) System zur Bestimmung von Gebäudenummern
DE202018101368U1 (de) Erstellen von Modellen für WLAN-Zugangspunkte unter Verwendung von Cluster-Techniken
DE202015009137U1 (de) Verwenden von Bildmerkmalen zur Extraktion von Ansichtsfenstern aus Bildern
DE202014010949U1 (de) Vorrichtung zur Unterbreitung von Vorschlägen anhand von Favoriten in der Nähe
DE202014010887U1 (de) Das Navigieren durch zeit- und raumumspannende geolokalisierte Bilder
DE202014010966U1 (de) Geo-Foto-Suche basierend auf den zu erwartenden Bedingungen an einem Standort
DE102012221921B4 (de) Orten eines mobilen Endgeräts unter Nutzung von optisch detektierbaren Landmarken
DE202016007838U1 (de) Bereichsmodellierung mittels der geographischen Photobeschriftungsanalyse
DE202016007836U1 (de) Systeme zur Erleichterung der Übermittlung von Benutzerbildern von Standorten

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years