DE202009019124U1 - Bildinhalte zur einfacheren Navigation in Panorama-Bilddaten - Google Patents

Bildinhalte zur einfacheren Navigation in Panorama-Bilddaten Download PDF

Info

Publication number
DE202009019124U1
DE202009019124U1 DE202009019124.9U DE202009019124U DE202009019124U1 DE 202009019124 U1 DE202009019124 U1 DE 202009019124U1 DE 202009019124 U DE202009019124 U DE 202009019124U DE 202009019124 U1 DE202009019124 U1 DE 202009019124U1
Authority
DE
Germany
Prior art keywords
feature
image
panorama
features
virtual model
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.)
Expired - Lifetime
Application number
DE202009019124.9U
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
Application filed by Google LLC filed Critical Google LLC
Publication of DE202009019124U1 publication Critical patent/DE202009019124U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)
  • Navigation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Generation (AREA)

Abstract

System zur Erzeugung und Anzeige von Kommentaren entsprechend einem virtuellen Modell, worin das virtuelle Modell aus einer Vielzahl von zweidimensionalen Bildern erzeugt wurde, umfassend: einen Server, der einen Navigations-Controller beinhaltet, der einen Schnittpunkt eines von einem Kamera-Viewport eines Bilds ausgehenden Strahls und eines virtuellen Modells bestimmt, worin das virtuelle Modell eine Vielzahl von Fassadenflächen umfasst, der Navigations-Controller ein Panoramabild gewinnt und das Panoramabild zur Schnittstelle hin orientiert.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft die Navigation zwischen Panoramabildern.
  • ALLGEMEINER STAND DER TECHNIK
  • Es gibt Computersysteme, die eine Vielzahl von Panoramabildern beinhalten, die mit Orten auf einer Karte geocodiert sind. Um zwischen benachbarten Panoramabildern zu navigieren, kann der Nutzer eine Schaltfläche auf einer Karte auswählen und ein neues, benachbartes Panoramabild kann geladen und angezeigt werden. Obwohl diese Technik ihre Vorzüge hat, kann das Springen von einem Bild zum nächsten den Nutzer verwirren. Deshalb werden neue Navigationssysteme notwendig.
  • KURZE ZUSAMMENFASSUNG
  • Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, 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. Die vorliegende Erfindung betrifft die Verwendung von Bildinhalten zur Navigation in Panoramabilddaten. In einer ersten Ausführungsform beinhaltet ein computerimplementiertes Verfahren zur Navigation in Panoramabilddaten Folgendes: (1) das Bestimmen einer Schnittstelle eines Strahls und eines virtuellen Modells, worin der Strahl von einem Kamera-Viewport eines Bilds ausgeht und das virtuelle Modell eine Vielzahl von Fassadenflächen umfasst; (2) das Abrufen eines Panoramabilds; (3) das Ausrichten des Panoramabilds zur Schnittstelle hin; und (4) das Darstellen des ausgerichteten Panoramabilds.
  • In einer zweiten Ausführungsform beinhaltet ein Verfahren zur Erstellung und Darstellung von Kommentaren Folgendes: (1) das Erstellen eines virtuellen Modells aus einer Vielzahl von zweidimensionalen Bildern; (2) das Bestimmen einer Schnittstelle von einem Strahl und dem virtuellen Modell, worin der Strahl von einem Kamera-Viewport des ersten Bilds ausgeht; (3) das Abrufen des Panoramabilds; (4) das Ausrichten des Panoramabilds zur Schnittstelle hin; und (5) das Darstellen des Panoramabilds.
  • In einer dritten Ausführungsform erstellt ein System Kommentare in Übereinstimmung mit einem virtuellen Modell und zeigt diese an, worin das virtuelle Modell aus einer Vielzahl von zweidimensionalen Bildern erstellt wurde. Das System beinhaltet einen Navigationscontroller, der die Schnittstelle eines Strahls, der von einem Kamera-Viewport des ersten Bilds ausgeht, und einem virtuellen Modell festlegt, ein drittes Panoramabild gewinnt und das dritte Panoramabild zur Schnittstelle hin orientiert. Das virtuelle Modell umfasst eine Vielzahl von Fassadenflächen.
  • Weitere Ausführungsformen, Merkmale und Vorteile der Erfindung sowie Struktur und Funktionsweise der verschiedenen Ausführungsformen der Erfindung werden unten mit Bezug auf die begleitenden Zeichnungen genau beschrieben.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN/FIGUREN
  • Die begleitenden Zeichnungen, die hierin enthalten sind und einen Teil der Spezifikation bilden, veranschaulichen die vorliegende Erfindung und dienen zusammen mit der Beschreibung außerdem dazu, Prinzipien der Erfindung zu erklären, um es Fachleuten zu ermöglichen, die Erfindung zu erstellen und zu nutzen.
  • 1 ist ein Diagramm, das die Verwendung von Bildinhalten zur Vereinfachung der Navigation in Panoramabilddaten veranschaulicht, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2A–D sind Diagramme, die Möglichkeiten zur Vereinfachung der Navigation in Panoramabilddaten detaillierter beschreiben.
  • 3 ist ein Flussdiagramm, das ein Verfahren zur Navigation in Panoramabilddaten einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • 4 ist ein Flussdiagramm, das ein Verfahren zur Erstellung eines virtuellen Modells aus Bilddaten gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • 5A–C sind Diagramme, die die Zuordnung von Merkmalen gemäß dem Verfahren aus 4 veranschaulichen.
  • 67 sind Diagramme, die die Bestimmung eines Punkts basierend auf einem zugeordneten Merkmalpaar gemäß dem Verfahren in 4 veranschaulichen.
  • 8A–B sind Diagramme, die eine Vielzahl von nach dem Verfahren in 4 festgelegten Punkten darstellen.
  • 9A–C sind Diagramme, die eine Fläche darstellen, die auf einer Vielzahl von Punkten gemäß dem Verfahren in 4 basiert.
  • 10 ist ein Diagramm, das ein System zur Verwendung eines virtuellen Modells zur Navigation in Bilddaten gemäß einer Ausführungsform der Erfindung darstellt.
  • 11 ist ein Diagramm, das ein System zur Erstellung eines virtuellen Modells aus Bilddaten gemäß einer Ausführungsform der Erfindung darstellt.
  • Die Zeichnung, in der ein Element zum ersten Mal erscheint, ist normalerweise durch die Ziffer ganz links oder Ziffern in der entsprechenden Bezugsnummer angegeben. In den Zeichnungen können gleiche Bezugsnummern identische oder funktionell ähnliche Elemente angeben.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung betrifft die Verwendung von Bildinhalten zur Navigation in Panoramabilddaten. In der folgenden detaillierten Beschreibung der Erfindung weisen Bezugnahmen in der Beschreibung auf „eine Ausführungsform”, „eine exemplarische Ausführungsform” usw. darauf hin, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft beinhalten kann, aber dass nicht unbedingt jede Ausführungsform das besondere Merkmal, die besondere Struktur oder die bestimmte Eigenschaft beinhalten muss. Außerdem beziehen sich solche Ausdrücke nicht unbedingt auf dieselbe Ausführungsform. Wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft im Zusammenhang mit einer Ausführungsform beschrieben ist, so wird weiterhin unterstellt, dass Fachleute die Kenntnis besitzt, ein solches Merkmal, eine Struktur oder Eigenschaft im Zusammenhang mit anderen Ausführungsformen zu bewirken, unabhängig davon, ob sie ausführlich beschrieben sind oder nicht.
  • Wie hierin beschrieben, ermöglichen Ausführungsformen der vorliegenden Erfindung die Navigation der Nutzer zwischen Panoramabildern mithilfe von Bildinhalten. In einer Ausführungsform wird ein Modell erstellt, das den Bildinhalt wiedergibt. Ein Nutzer kann ein Objekt auswählen, das in einem ersten Panoramabild enthalten ist. Der Ort des Objekts wird durch die Projektion der Nutzerauswahl auf das Modell bestimmt. Ein zweites Panorama wird in Übereinstimmung mit diesem Ort ausgewählt und/oder orientiert. Auf diese Weise ermöglichen die Ausführungsformen dieser Erfindung die Navigation der Nutzer zwischen dem ersten und dem zweiten Panorama mithilfe von Bildinhalten.
  • 1 ist ein Diagramm 100, das die Verwendung von Bildinhalten zur vereinfachten Navigation in Panoramabilddaten gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Diagramm 100 zeigt ein Gebäude 114 und einen Baum 116. Die Standorte des Gebäudes 114 sowie des Baums 116 werden durch ein virtuelles Modell 112 angenähert. Das virtuelle Modell 112 kann ein dreidimensionales Modell sein, das mithilfe von Bildern, die von dem Gebäude 114 und dem Baum 116 gemacht wurden, erstellt wurde, wie unten beschrieben. Eine Straße 102 führt am Gebäude 114 und am Baum 116 vorbei.
  • Einige virtuelle Figuren (z. B., Autos) 104, 106, 108, und 110 werden an Orten der Straße 102 dargestellt. Jede virtuelle Figur 104, 106, 108, und 110 hat ein mit ihr verbundenes Panoramabild, das mit dem Standort dieser Figur auf der Straße 102 geocodiert ist. Das Panoramabild kann Inhalte von 360 Grad um die Figur herum beinhalten. Es kann jedoch nur ein Teil des Panoramas für den Nutzer gleichzeitig abgebildet werden, zum Beispiel durch einen Kamera-Viewport. In Diagramm 100 wird der Teil des Panoramas, der dem Nutzer gezeigt wird, durch die jeweilige Ausrichtung der Figuren dargestellt. Die Figuren 104, 106, 108, und 110 haben die Ausrichtungen 124, 126, 122, beziehungsweise 120.
  • Figur 104 hat die Ausrichtung 124 zu einen Punkt 118 hin. Der Viewport der Figur 104 würde einen Teil eines Panoramas darstellen, der mit dem Standort der Figur 104 geocodiert ist. Der Teil des Panoramas, der im Viewport dargestellt wird, würde einen Punkt 118 beinhalten. Ausführungsformen der vorliegenden Erfindung verwenden ein virtuelles Modell 112, um von der Position der Figur 104 zu den Positionen der Figuren 106, 108 und 110 zu navigieren.
  • In einer ersten Ausführungsform der vorliegenden Erfindung, im Folgenden als Spurwechselausführung bezeichnet, kann der Nutzer zwischen Spuren navigieren. Die Spurwechselausführung ermöglicht die Navigation der Nutzer vom Panorama der Figur 104 zum Panorama der Figur 106. Das Panorama der Figur 106 ist mit einem Standort geocodiert, der dem Panorama der Figur 104 ähnelt, jedoch auf einer anderen Spur der Straße 102. Da das Panorama mit einem anderen Standort geocodiert ist, würden die entsprechenden Viewports der Figur 104 und der Figur 106 bei gleicher Ausrichtung der Figuren verschiedene Inhalte anzeigen. Der im Viewport dargestellte veränderte Inhalt kann den Nutzer verwirren. Die Spurwechselausführung orientiert die Figur 106 auf den Punkt 118 im virtuellen Modell 112 hin. Auf diese Weise enthält der im Viewport der Figur 106 dargestellte Panoramaausschnitt denselben Inhalt wie der Panoramaausschnitt, der im Viewport der Figur 104 dargestellt wird. Auf diese Weise führt die Spurwechselausführung dazu, dass das Wechseln der Spuren den Nutzer weniger verwirrt.
  • In einer zweiten Ausführungsform der vorliegenden Erfindung, hiernach als die Walk-Around-Ausführung bezeichnet, kann der Nutzer ein Objekt leichter aus verschiedenen Perspektiven betrachten. Der Nutzer kann den Eindruck erhalten, dass er um das Objekt herumgeht. Die Walk-Around-Ausführung ermöglicht die Navigation des Nutzers vom Panorama der Figur 104 zum Panorama der Figur 108. Der Standort der Figur 108 kann beispielsweise vom Nutzer ausgewählt werden. Ein Nutzer kann beispielsweise den Standort der Figur 108 auswählen, indem er einen Standort auf einer Karte wählt oder eine Pfeiltaste auf einer Tastatur drückt. Da das Panorama mit einem anderen Standort geocodiert ist, würden die jeweiligen Viewports von Figur 104 und Figur 106 bei gleicher Ausrichtung der Figuren verschiedene Inhalte darstellen und ein im Viewport von Figur 104 dargestelltes Objekt von Interesse wird möglicherweise im Viewport von Figur 106 nicht dargestellt. Die Walk-Around-Ausführung orientiert die Figur 108 zum Punkt 118 auf dem virtuellen Modell 112. Auf diese Weise enthält der im Viewport der Figur 106 dargestellte Panoramaausschnitt denselben Inhalt wie der Panoramaausschnitt, der im Viewport der Figur 104 dargestellt wird. Der Nutzer kann so leichter ein Objekt aus verschiedenen Perspektiven betrachten.
  • In einer Ausführungsform kann für den Nutzer ein Übergang zwischen Figur 104 und Figur 108 dargestellt werden. Der Übergang kann Zwischenpanoramas für die Figurpositionen zwischen der Figur 104 und der Figur 108 darstellen. Die Zwischenpanoramas können ebenfalls zum Punkt 118 hin orientiert sein.
  • In einer dritten Ausführungsform, hiernach als Click-and-Go-Ausführungsform bezeichnet, kann ein Nutzer zu einem zweiten Panoramabild an einem neuen Standort navigieren entsprechend dem Standort eines Objekts eines ersten Panoramas. Die Click-and-Go-Ausführungsform ermöglicht dem Nutzer die Navigation vom Panorama der Figur 104 zum Panorama der Figur 110. Die Position der Figur 110 ist die Position des nächsten verfügbaren Panoramas zum Punkt 118 auf dem virtuellen Modell 112. Punkt 118 kann entsprechend einer vom Nutzer im ersten Panorama getroffenen Auswahl bestimmt werden.
  • In den Ausführungsformen kann Figur 110 eine Ausrichtung 120 zum Punkt 118 hin oder eine andere Ausrichtung 128 haben. Ausrichtung 128 kann die Ausrichtung der Ausrichtung der Straße 102 sein.
  • Wird Figur 110 entsprechend Punkt 118 auf dem virtuellen Modell 112 ausgewählt, verwendet die Click-and-Go-Ausführung das virtuelle Modell 112 für die Navigation zwischen den Panoramabildern. Wie unten beschrieben, wird in einer Ausführungsform unter Verwendung des Inhalts der Panoramabilder ein virtuelles Modell 112 erstellt.
  • In einem Beispiel kann die Click-and-Go-Ausführung dem Nutzer einen nähere Ansicht des Objekts ermöglichen. In dem Beispiel kann der Nutzer ein Objekt in einem ersten Panorama auswählen und ein zweites Panorama, das das Objekt näher zeigt, wird geladen. Des Weiteren kann der Ausschnitt des zweiten Panoramas, in dem das Objekt enthalten ist, im Viewport dargestellt werden. Auf diese Weise wird durch die Verwendung der Inhalte der Panoramabilder die Navigation zwischen den Panoramabildern für den Nutzer zufriedenstellender und weniger verwirrend.
  • In einer Ausführungsform kann ein Panoramaviewer einen Übergang zwischen der Figur 104 und der Figur 108 darstellen. Der Übergang kann Zwischenpanoramas für die Figurpositionen zwischen Figur 104 und 108 darstellen. Die Zwischenpanoramas können ebenfalls zum Punkt 118 hin orientiert sein.
  • 2A–D sind Diagramme, die Möglichkeiten zur Vereinfachung der Navigation in Panoramabilddaten detaillierter beschreiben.
  • 2A ist ein Diagramm 200, das zeigt, wie ein Punkt auf einem Modell, wie der Punkt 118 in 1, erzeugt werden kann. Diagramm 200 zeigt ein Gebäude 262 und einen Baum 264. Ein virtuelles Modell 202 stellt ein Gebäude 262 und einen Baum 264 dar. Modell 202 kann unter Verwendung von Bildinhalten, wie unten im Detail beschrieben, erstellt werden. Diagramm 200 zeigt auch ein Bild 266, das vom Gebäude 262 und vom Baum 264 aufgenommen wurde. Bild 266 kann ein Ausschnitt eines Panoramabilds sein, das von der Straßenebene gemacht wurde und dem Nutzer durch einen Viewport dargestellt wurde. Ein Punkt 268 wird auf dem Bild 266 gezeigt. In einigen Ausführungsformen, wie den Spurwechsel- und Walk-Around-Ausführungsformen, kann der Punkt 268 der Mittelpunkt des Bilds 266 sein. In anderen Ausfürungsformen, wie der Click-and-Go-Ausführung, kann der Nutzer mithilfe eines Eingabegeräts, wie einer Maus, den Punkt 268 auswählen.
  • Ein Strahl 212 erstreckt sich von einem Kamera-Viewport 210 durch den Punkt 268. In einem Beispiel kann der Kamera-Viewport 210 der Brennpunkt der Kamera sein, die zur Aufnahme des Photos 266 verwendet wurde. In diesem Beispiel ist der Abstand zwischen dem Bild 266 und dem Kamera-Viewport 210 die Brennweite 270.
  • Ein Punkt 204 ist die Schnittstelle zwischen Strahl 212 und dem virtuellen Modell 202. Punkt 204 kann verwendet werden, um zwischen den Panoramabildern der Straßenebene, wie in 2B–D dargestellt, zu navigieren.
  • 2B ist ein Diagramm 220, das ein Beispiel der Spurwechselausführung zeigt. Strahl 212 und Punkt 204 auf Modell 202 werden mit Hilfe eines Bilds festgelegt, das einen Standpunkt 214 auf einer Straße 208 besitzt. Ein Panoramabild, das von Standort 206 in der Nähe von Standort 214 aufgenommen wurde, jedoch auf einer anderen Spur der Straße 208, wird ebenfalls in 2B angegeben. Das Panoramabild mit dem Standort 206 ist zum Punkt 204 orientiert.
  • 2C ist ein Diagramm 230, das ein Beispiel für die Walk-Around-Ausführung zeigt. Strahl 212 und Punkt 204 auf Modell 202 werden unter Verwendung eines von Standort 214 aufgenommenen Bilds bestimmt. Ein Panoramabild mit einem Standort 232 kann beispielsweise von einem Nutzer ausgewählt werden. Das Panoramabild mit dem Standort 232 ist zum Punkt 204 orientiert.
  • 2D ist ein Diagramm 250, das ein Beispiel der Click-and-Go-Ausführung zeigt. Strahl 212 und Punkt 204 auf Modell 202 werden unter Verwendung eines Bilds mit einem Standort 214 bestimmt. Ein Panoramabild mit dem Standort 252, der in der Nähe des Standorts 204 liegt, wird ausgewählt. In einem Beispiel kann der Punkt 204 normal zur Straße 208 von einem Standort 252 entfernt sein, wie in 2D gezeigt. In einem anderen Beispiel kann der Standort 252 normal zum virtuellen Modell 202 vom Punkt 204 entfernt liegen. Das Panoramabild mit dem Standort 252 kann zum Punkt 204 orientiert sein oder kann in der Richtung der Straße 208 orientiert sein.
  • 3 ist ein Flussdiagramm, das ein Verfahren 300 zur Navigation innerhalb der Panoramabilddaten gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Verfahren 300 beginnt mit der Ausrichtung eines ersten Panoramabilds bei Schritt 302. In Schritt 304 erstreckt sich ein Strahl in die Richtung der Ausrichtung des ersten Panoramabilds, wie beispielsweise in Bezug auf 2A beschrieben. Ein Strahl kann ebenfalls entsprechend einem vom Benutzer ausgewählten Punkts auf dem Panoramabild bestimmt werden. In Schritt 306 wird eine Schnittstelle zwischen dem Strahl und einem virtuellen Modell bestimmt. Das virtuelle Modell kann unter Verwendung von Bildinhalten festgelegt werden.
  • In Ausführungsformen kann die Schnittstelle auf verschiedene Weisen zur Navigation zwischen Panoramabildern verwendet werden. In den Spurwechsel- oder Walk-Around-Ausführungen kann beispielsweise ein zweites Panoramabild bei Schritt 310 ausgewählt werden. In der Spurwechselausführung hat das zweite Panoramabild einen ähnlichen Standort, wie das erste Panoramabild, jedoch auf einer anderen Spur. In der Walk-Around-Ausführung kann das zweite Panoramabild beispielsweise von einem Nutzer ausgewählt werden. Das zweite Panoramabild ist in Schritt 316 zur Schnittstelle hin orientiert. Nach Schritt 316 endet das Verfahren 300.
  • In der Click-and-Go-Ausführung kann ein zweites Panoramabild derart gestaltet sein, dass es bei Schritt 308 nahe der Schnittstelle (beispielsweise innerhalb eines ausgewählten oder vorher festgelegten Abstands zur Schnittstelle) liegt, wie in Bezug auf 2D gezeigt. In Schritt 314 kann das zweite Panoramabild zur Schnittstelle hin orientiert sein, oder das zweite Panoramabild kann in andere Richtungen orientiert sein. Das zweite Panoramabild kann beispielsweise in der Richtung der Straße orientiert sein. Nach Schritt 314 endet das Verfahren 300.
  • 4 ist ein Flussdiagramm, das ein Verfahren 400 zur Erzeugung eines virtuellen Modells aus den Bilddaten gemäß einer Ausführungsform der Erfindung darstellt.
  • Verfahren 400 beginnt mit Schritt 402. In Schritt 402 werden die Merkmale der Bilder bestimmt. In einer Ausführungsform werden die Merkmale aus den Bildern für einen späteren Vergleich extrahiert. Dies wird unten genauer in Bezug auf 5A–B beschrieben. In einer Ausführung sind die verwendeten Bilder Panoramabilder von der Straßenebene, die von nahegelegenen Standorten entlang einer Fahrtroute aufgenommen wurden.
  • In Schritt 404 werden Merkmale in benachbarten Bildern zugeordnet. In einer Ausführungsform kann die Zuordnung der Merkmale die Erstellung eines Überlagerungsbaums beinhalten. Dies wird unten detaillierter mit Bezug auf 5C beschrieben.
  • In Schritt 406, werden die Standorte der Merkmale beispielsweise als Punkte im dreidimensionalen Raum berechnet. In einer Ausführungsform werden die Punkte durch die Berechnung von Stereo-Triangulationen bestimmt, wobei zugeordnete Merkmalpaare, wie in Schritt 404 festgelegt, verwendet werden. Die Berechnung von Punkten im dreidimensionalen Raum wird unten detaillierter mit Bezug auf 67 beschrieben. Das Ergebnis aus Schritt 406 ist eine Punktewolke.
  • In Schritt 408 werden basierend auf der in Schritt 406 berechneten Punktewolke Fassadenflächen berechnet. In einer Ausführungsform kann Schritt 408 die Verwendung eines dynamischen Optimierungsalgorithmus oder eines Best-Fit-Algorithmus umfassen. In einer Ausführungsform umfasst Schritt 408 beispielsweise das Bearbeiten einer Ebene, die zu einer Straße gefluchtet ist, mithilfe eines Sweeps, wie unten in Bezug auf 9 beschrieben.
  • In Schritt 410 werden Straßenflächen auf der Grundlage des Straßenstandorts berechnet. Diese Straßenflächen werden zusammen mit den in Schritt 408 berechneten Fassadenflächen zur Erstellung eines virtuellen Modells verwendet, entsprechend den in einer Vielzahl von zweidimensionalen Bildern gezeigten Objekten.
  • 5A–C veranschaulicht ein Beispiel zur Bestimmung und Abgleichung von Eigenschaften in Bildern gemäß Verfahren 400.
  • 5A zeigt ein Bild 502 und ein Bild 504. Bild 502 und Bild 504 Stellen beispielsweise zwei Fotos des gleichen Gebäudes und des gleichen Baums aus unterschiedlichen Perspektiven dar. In einer Ausführungsform können Bild 502 und Bild 504 Ausschnitte von Panoramabildern von der Straßenebene sein. Die beiden Bilder 502 und 504 können von benachbarten Standorten, jedoch aus unterschiedlichen Perspektiven, aufgenommen worden sein.
  • In einer Ausführungsform können die Bilder 502 und 504 aus einem fahrenden Fahrzeug aufgenommen worden sein, an dem eine Rosette von acht Kameras angebracht ist. Die acht Kameras nehmen gleichzeitig acht Bilder aus unterschiedlichen Perspektiven auf. Die acht Bilder können danach so miteinander verbunden werden, dass sie ein Panorama bilden. Bild 502 kann ein unverbundenes Bild aus einer ersten Kamera in der Rosette von acht Kameras sein, die senkrecht zum Fahrzeug ausgerichtet ist. Bild 504 kann ein unverbundenes Bild aus einer zweiten, zur ersten Kamera benachbarten Kamera sein, das zu einem späteren Zeitpunkt aufgenommen wurde.
  • 5B veranschaulicht Bild 502 und Bild 504 mit repräsentativen Merkmalen, die entsprechend Schritt 404 aus Verfahren 400 bestimmt/extrahiert wurden. Bild 502 beinhaltet die repräsentativen Merkmale 506, 508 und 512. Bild 504 beinhaltet die repräsentativen Merkmale 510, 514 und 516. Während nur sechs repräsentative Merkmale gezeigt werden, kann es in Wirklichkeit Tausende Merkmale geben, die für jedes Bild bestimmt und extrahiert werden.
  • In einer Ausführungsform kann der Schritt des Extrahierens von Merkmalen die Erkennung von interessanten Punkten und die Beschreibung von Bildmerkmalen beinhalten. Bei der Erkennung von interessanten Punkten (POIs) werden Punkte in einem Bild in Übereinstimmung mit einer Vorgabe erkannt. Dies ist bevorzugt reproduzierbar, wenn Veränderungen im Bild auftreten, wie veränderte Helligkeit oder veränderte Perspektive. Die Umgebung eines jeden POIs ist ein Merkmal. Jedes Merkmal wird von einem Feature-Deskriptor wiedergegeben. Bevorzugt ist ein Feature-Deskriptor unverwechselbar.
  • In einem Beispiel wird ein Speeded Up Robust Features (SURF) Algorithmus verwendet, um Merkmale aus benachbarten Bildern zu extrahieren. Der SURF-Algorithmus wird beispielsweise beschrieben in Herbert Bay, Tinne Tuytelaars, Luc Van Gool, "SURF: Speeded Up Robust Features", Proceedings of the Ninth European Conference on Computer Vision, May 2006. Der SURF Algorithmus beinhaltet ein Schema zur POI-Erkennung und zur Beschreibung von Merkmalen. Im SURF-Algorithmus beinhaltet jeder Feature-Deskriptor einen Vektor. In einer Umsetzung kann der Vektor 128-dimensional sein. In einem Beispiel, wo es sich bei den Bildern um von der Straßenebene aufgenommene Panoramabilder handelt, kann der SURF-Algorithmus vier- bis fünftausend Merkmale in jedem Bild extrahieren, was zu einer Feature-Deskriptor-Datei von ein bis zwei Megabyte führt.
  • 5C veranschaulicht die Zuordnung der extrahierten Merkmale. 5C zeigt eine Zuordnung 520 und eine Zuordnung 522. Zuordnung 520 beinhaltet Merkmal 512 und Merkmal 514. Zuordnung 522 beinhaltet Merkmal 506 und Merkmal 516. Wie in 5C dargestellt, hat nicht jedes Merkmal in Bild 502 ein entsprechendes Merkmal in Bild 504 und umgekehrt. Merkmal 508 in Bild 502 hat beispielsweise kein entsprechendes Merkmal in Bild 504, weil Merkmal 508 einen Ausschnitt eines Baums zeigt, der in Bild 504 verdeckt ist. In einem anderen Beispiel hat Merkmal 510 in Bild 504 beispielsweise keine Zuordnung in Bild 502, weil bei der Merkmalerkennung eine Ungenauigkeit aufgetreten ist. Die Merkmalerkennung sollte so genau wie möglich sein. Aufgrund von Schwankungen bei der Beleuchtung, der Ausrichtung sowie von anderen Faktoren sind Ungenauigkeiten jedoch wahrscheinlich. Aus diesem Grund ist ein Merkmalzuordnungsschema erforderlich, das diese Ungenauigkeiten ausgleicht. Ein Merkmalzuordnungsschema wird unten beschrieben.
  • In einer Ausführungsform wird jedes Merkmal, wie Merkmal 512, von einem Feature-Deskriptor wiedergegeben. Jeder Feature-Deskriptor beinhaltet einen 128-dimensionalen Vektor. Die Ähnlichkeit zwischen dem ersten und dem zweiten Merkmal kann durch die Bestimmung des euklidischen Abstands zwischen dem Vektor des ersten Feature-Deskriptors und dem Vektor des zweiten Feature-Deskriptors festgelegt werden.
  • Eine Zuordnung für ein Merkmal im ersten Bild aus den Merkmalen im zweiten Bild kann beispielsweise wie folgt bestimmt werden. Zuerst wird der nächste Nachbar [nearest neighbor](z. B. im 128-dimensionalen Raum) eines Merkmals im ersten Bild aus den Merkmalen im zweiten Bild bestimmt. Als zweites wird der zweitnächste Nachbar (z. B. im 128-dimensionalen Raum) des Merkmals im ersten Bild aus den Merkmalen im zweiten Bild bestimmt. Der dritte Schritt ist die Bestimmung eines ersten Abstands zwischen dem Merkmal im ersten Bild und dem nächst benachbarten Merkmal im zweiten Bild, sowie eines zweiten Abstands zwischen dem Merkmal im ersten Bild und dem zweit nächst benachbarten Merkmal im zweiten Bild. Viertens wird ein Merkmalähnlichkeitsverhältnis errechnet, indem man den ersten Abstand durch den zweiten Abstand teilt. Liegt das Merkmalähnlichkeitsverhältnis unter einem bestimmten Schwellenwert, gibt es eine Zuordnung zwischen dem Merkmal des ersten Bilds und dem nächsten Nachbarn des zweiten Bilds.
  • Wenn das Merkmalähnlichkeitsverhältnis zu niedrig ist, sind nicht genügend Zuordnungen bestimmt worden. Wenn das Merkmalähnlichkeitsverhältnis zu hoch ist, sind zu viele falsche Zuordnungen bestimmt worden. In einer Ausführungsform kann das Merkmalähnlichkeitsverhältnis zwischen 0,5 und einschließlich 0,95 liegen.
  • In einer Ausführungsform können der nächste und der zweitnächste Nachbar durch das Erstellen eines Überlagerungsbaums der Merkmale des zweiten Bilds bestimmt werden. Der Überlagerungsbaum nähert die nächsten Nachbarn an und nutzt die Prozessorressourcen effektiv. In einem Beispiel, wo es sich bei den abgeglichenen Bildern um von der Straßenebene aufgenommene Panoramabilder handelt, kann es Hunderte zugeordnete Merkmalpaare für jedes Bildpaar geben. Für jedes zugeordnete Merkmalpaar kann ein Punkt im dreidimensionalen Raum beispielsweise durch Verwendung von Stereo-Triangulation bestimmt werden.
  • 6 und 7 veranschaulichen ein Beispiel zur Bestimmung eines Punkts im dreidimensionalen Raum auf der Basis von zugeordneten Merkmalen mittels dreidimensionaler Stereo-Triangulation. In einer Ausführungsform wird diese Technik beispielsweise verwendet, um Schritt 406 des Verfahrens 400 zu implementieren. Zur Bestimmung eines Punkts im dreidimensionalen Raum in Übereinstimmung mit einem zugeordneten Merkmalpaar werden für das zugeordnete Merkmalpaar Strahlen konstruiert und der Punkt dann auf der Grundlage der Schnittstelle der Strahlen bestimmt. Dies wird unten detaillierter beschrieben.
  • 6 zeigt ein Beispiel 600, das zeigt, wie ein Strahl erstellt wird. Wie in 6 gezeigt, kann ein Strahl 606 durch die Projektion oder Verlängerung eines Strahls aus einem Kamera-Viewport 602 eines Bilds 608 durch ein Merkmal 604 eines Bilds 608 erzeugt werden. In Beispiel 600 entspricht der Kamera-Viewport 602 dem Brennpunkt der Kamera, mit der das Bild 608 aufgenommen wurde. Der Abstand zwischen Bild 608 und dem Kamera-Viewport 602 entspricht der Brennweite 610.
  • Nachdem für alle zugeordneten Merkmale ein Strahl erzeugt wurde, kann ein Punkt im dreidimensionalen Raum bestimmt werden. 7 veranschaulicht ein Beispiel 700, das die Bestimmung eines Punkts darstellt.
  • In Beispiel 700 werden zwei Kamerarosetten 702 und 704 gezeigt. In einer Ausführungsform können diese beiden Kamerarosetten dieselben sein (z. B. dieselbe Kamerarosette kann zur Aufnahme von Bildern an verschiedenen Orten und zu verschiedenen Zeitpunkten verwendet werden). Jede Kamerarosette 702 und 704 beinhaltet ein Bild mit einem zugeordneten Merkmal. In Beispiel 700 beinhaltet die Kamerarosette 702 ein Merkmal 706, dem ein Merkmal 708 der Kamerarosette 704 zugeordnet wird. Wie in 7, ein erster Strahl 710 wird durch die Verlängerung von Strahl 710 aus dem Kamera-Viewport der Kamerarosette 702 durch das Merkmal 706 gebildet. Ähnlich wird ein zweiter Strahl 712 durch die Verlängerung von Strahl 712 aus dem Kamera-Viewport der Kamerarosette 704 durch das Merkmal 708 gebildet. Die Schnittstelle von Strahl 710 und Strahl 712 stellt einen dreidimensionalen Punkt 714 dar. In Ausführungsformen schneiden sich die Strahlen 710 und 712 möglicherweise nicht tatsächlich am Punkt 714, beispielsweise aufgrund von Ungenauigkeiten bei der Bestimmung und Zuordnung der Merkmale. Falls sich die Strahlen 710 und 712 nicht tatsächlich schneiden, kann ein Liniensegment festgelegt werden, wo sich die Strahlen am nächsten kommen. In diesen Fällen kann der verwendete dreidimensionale Punkt 714 der Mittelpunkt des Liniensegments sein.
  • In Ausführungsformen, wie oben beschrieben, werden die in den Beispielen 600 und 700 aufgeführten Schritte bei jedem zugeordneten Merkmalpaar wiederholt, um so eine Wolke an dreidimensionalen Punkten zu bestimmen.
  • 8A zeigt ein Beispiel 800 eines dreidimensionalen Raums, der ein Gebäude 806 und einen Baum 808 beinhaltet. Beispiel 800 beinhaltet auch eine Straße 810. In einer Ausführungsform können Fotos des Gebäudes 806 und des Baums 808 von einem Fahrzeug aus aufgenommen worden sein, das die Straße 810 entlang fährt. Ein erstes Foto kann aus Position 802 gemacht worden sein, während ein zweites Foto aus Position 804 gemacht worden sein kann.
  • Wie hierin beschrieben werden die Merkmale gemäß einer Ausführungsform der vorliegenden Erfindung aus dem ersten und dem zweiten Bild herausgefiltert. Merkmalzuordnungen werden bestimmt und für jedes zugeordnete Merkmalpaar wird beispielsweise mithilfe von Stereo-Triangulation ein dreidimensionaler Punkt festgelegt. Dies ergibt eine Wolke von dreidimensionalen Punkten, wie in 8B dargestellt. 8B veranschaulicht ein Beispiel 850, bei dem eine Wolke von dreidimensionalen Punkten 852 wiedergegeben wird.
  • 9A–C veranschaulicht ein Beispiel, wie eine Fassadenfläche auf der Basis von einer Vielzahl von Punkten im dreidimensionalen Raum bestimmt werden kann. Dieses Beispiel dient nur zur Veranschaulichung und kann beispielsweise zur Umsetzung von Schritt 408 des Verfahrens 400 verwendet werden. In anderen Ausführungsformen kann die Fläche durch Verwendung eines Best-Fit-Algorithmus oder eines Regressions-Analyse-Algorithmus, wie beispielsweise ein Algorithmus der kleinsten Quadrate oder ein Algorithmus der dynamischen Optimierung, bestimmt werden. Beispiele für Algorithmen der dynamischen Optimierung beinhalten Aufstiegsalgorithmen, stochastische Aufstiegsalgorithmen, einen A*-Algorithmus und einen genetischen Algorithmus.
  • 9A stellt eine Straße 908 und eine Wolke von dreidimensionalen Punkten 910 dar. Parallel zur Straße 908 verläuft eine Fassadenfläche 902. In der Anwendung wird die Fassadenfläche 902 nach außen auf einer Achse von Straße 908 übertragen. In jeder sich nach außen bewegenden Position wird die Anzahl der Punkte innerhalb eines bestimmten Bereichs der Fassadenfläche 902 berechnet. In 9A wird der Bereich durch die gepunkteten Linien 912 und 914 gezeigt. Wie in 9A, null Punkte befinden sich zwischen den gepunkteten Linien 912 und 914.
  • 9B zeigt eine Fassadenfläche 904, die auf einer Achse von Straße 908 nach außen übertragen wird. In 9B, Fassadenfläche 904 wurde von der Straße 908 nach draußen bewegt, so dass ein größerer Abstand als der der Fassadenfläche 902, dargestellt in 9A, entstanden ist. Deshalb liegen nun drei Punkte innerhalb des Bereichs von Fassadenfläche 904.
  • In einer Ausführungsform kann, falls für die Fassadenfläche keine Position gefunden wird (z. B. eine Position mit einer vorgegebenen Anzahl von benachbarten Punkten), der Winkel der Fassadenfläche zur Straße verändert werden. Entsprechend zeigt 9C eine Fassadenfläche 906, die bezüglich der Straße 908 in einem nicht parallelen Winkel verläuft. Wie in 9C, fünf Punkte liegen nahe der Fassadenfläche 906.
  • Wie hierin beschrieben, wird ein virtuelles Modell entsprechend der vorliegenden Erfindung aus Fassadenflächen erstellt. Die Fassadenflächen können entsprechend dem Bildinhalt erzeugt werden. In einer Ausführungsform kann das Modell auch eine oder mehrere Straßenflächen (z. B. eine Ebene parallel zur Straße) beinhalten. In einer Ausführungsform kann eine Straßenfläche basierend auf einer bekannten Position einer Straße berechnet werden (z. B. kann die Position der Straße bezüglich der Kamera, mit der die Bilder aufgenommen wurden, bekannt sein). Das virtuelle Modell kann zweidimensional oder dreidimensional sein.
  • 10 zeigt ein System 1000 zur Verwendung eines dreidimensionalen Modells zur Navigation zwischen Bilddaten entsprechend einer Ausführungsform der Erfindung. Wie in 10, System 1000 beinhaltet einen Client 1002. Der Client 1002 kommuniziert mit einem oder mehreren Servern 1024 beispielsweise durch ein Netzwerk/Netzwerke 1044. Der Client 1002 kann ein Universalrechner sein. Alternativ kann der Klient 1002 ein spezielles Computergerät, wie beispielsweise ein Mobiltelefon, sein. Ähnlich können Server 1024 eingesetzt werden, die ein Computergerät verwenden, das den Client 1002 mit Daten versorgen kann.
  • Der Server 1024 kann einen Webserver beinhalten. Ein Webserver ist ein Software-Bauteil, das mit einer HTTP-Antwort auf eine Anfrage eines Hypertext-Übertragungsprotokolls antwortet. Als veranschaulichende Beispiele kann der Server, ohne darauf beschränkt zu sein, ein Apache HTTP Server, ein Apache Tomcat, ein Microsoft Internet Information Server, ein JBoss Application Server, ein WebLogic Application Server, oder ein Sun Java System Web Server sein. Der Webserver kann Inhalte, wie Hypertext-Auszeichnungssprache (HTML), erweiterbare HTML (XML), Dokumente, Videos, Bilder, Multimedia-Features oder eine Kombination davon, bereitstellen. Dieses Beispiel dient nur zur Veranschaulichung und ist keine Beschränkung der vorliegenden Erfindung.
  • Der Server 1024 kann Kartenkacheln 1014, ein Programm 1016, Konfigurationsinformationen 1018 und/oder Panoramakacheln 1020, wie unten besprochen, bereitstellen.
  • Das/die Netzwerk(e) 1044 kann/können irgendein Netzwerk oder eine Kombination aus Netzwerken sein, das/die Datenkommunikation übertragen kann/können, und kann hier als Computernetzwerk bezeichnet werden. Das/die Netzwerk(e) 1044 kann/können ein Local Area Network, ein Medium Area Network und/oder ein Wide Area Network, wie das Internet, sein, sind aber nicht auf diese beschränkt. Das/die Netzwerk(e) 1044 kann/können Protokolle und Techniken sein, wie World Wide Web-Protokolle und/oder -Dienste, sind aber nicht auf diese beschränkt. Zwischengeschaltete Webserver, Gateways oder andere Server können zwischen den Bauteilen des Systems 1000 angebracht werden, abhängig von einer bestimmten Anwendung oder Umgebung.
  • Der Server 1024 ist gekoppelt an eine Panoramadatenbank 1028 und eine Modelldatenbank 1030. Die Panoramadatenbank 1028 speichert Bilder. In einem Beispiel können die Bilder Fotos sein, die von der Straßenebene aufgenommen wurden. Die vom gleichen Ort aufgenommenen Fotos können zu einem Panorama verbunden werden. Die Modelldatenbank 1030 speichert ein dreidimensionales Modell entsprechend den Bildern in der Panoramadatenbank 1028. Ein Beispiel für eine Möglichkeit der Erzeugung eines dreidimensionalen Modells wird unten genauer besprochen. Die Kommentardatenbank 1032 speichert die vom Nutzer erstellten Kommentare.
  • Sowohl die Panoramadatenbank 1028, als auch die Modelldatenbank 1030 und die Kommentardatenbank 1032 können auf einem relationalen Datenbankmanagementsystem umgesetzt werden. Beispiele für relationale Datenbanken beinhalten Oracle, Microsoft SQL Server und MySQL. Die Beispiele sind nur zur Veranschaulichung und sollen keine Einschränkung der vorliegenden Erfindung darstellen.
  • Der Server 1024 umfasst einen Navigationscontroller 1032. Der Navigationscontroller 1032 verwendet ein aus Bildinhalten erzeugtes Modell in der Modelldatenbank 1030, um die Navigation zwischen den Panoramas zu erleichtern. Der Navigationscontroller 1032 erhält Eingaben von Navigationsdaten 1042. Die Navigationsdaten 1042 enthalten Daten über die derzeitige Position und Ausrichtung sowie Daten über die gewünschte nächste Position. In der Click-and-Go-Ausführung können die Navigationsdaten 1042 beispielsweise ein erstes Panoramabild und den Ort in einem ersten Panoramabild, zu dem der Nutzer gehen möchte, enthalten. Die Navigationsdaten 1042 können beispielsweise eine HTTP-Anfrage mit als HTTP-Parameter codierten Daten sein.
  • Als Reaktion auf die Navigationsdaten 1042 legt der Navigationscontroller 1032 das neue Panorama in der Panoramadatenbank 1028 basierend auf dem Modell in der Modelldatenbank 1030 fest. Der Navigationscontroller 1032 bestimmt auch die Ausrichtung für die Anzeige eines zweiten Panoramas. Der Navigationscontroller 1032 gibt das neue Panorama und die Ausrichtung als Konfigurationsinformationen 1018 und Panoramakacheln 1020 aus.
  • Der Navigationscontroller 1032 kann einen Spurwechselcontroller 1034, einen Click-and-Go-Controller 1036, und einen Rundum-Controller 1038 beinhalten. Gemäß einer Ausführungsform der vorliegenden Erfindung reagiert sowohl der Spurwechselcontroller 1034 als auch der Click-and-Go-Controller 1036 und der Walk-Around-Controller 1038 auf die Navigationsdaten 1042.
  • Der Spurwechselcontroller 1034 funktioniert entsprechend der Spurwechselausführung der vorliegenden Erfindung. Als Reaktion auf die Navigationsdaten 1042 wählt der Spurwechselcontroller 1034 ein zweites Panoramabild aus der Panoramadatenbank 1028 aus. Das zweite Panoramabild ist in der Nähe des Standorts des ersten Panoramabilds, jedoch in einer anderen Spur. In einem Beispiel kann das zweite Panoramabild das nächste Panoramabild in der Panoramadatenbank 1028 sein, das in einer anderen Spur besteht. Der Spurwechselcontroller 1034 bestimmt den Ort im Modell in der Modelldatenbank 1030 entsprechend der Position und Ausrichtung des ersten Panoramas in den Navigationsdaten 1042. Um den Ort zu bestimmen, verlängert der Spurwechselcontroller 1034 in einer Ausführungsform einen Strahl von der Position in der Richtung der Ausrichtung, wie in 2A basiert. Der Spurwechselcontroller 1034 bestimmt dann die Ausrichtung des zweiten Panoramas, wie in Bezug auf 2B angegeben. Schließlich zerlegt der Spurwechselcontroller 1034 das zweite Panorama in Panoramakacheln 1020 und die Ausrichtung des zweiten Panoramas in Konfigurationsinformationen 1018.
  • Der Click-and-Go-Controller 1036 funktioniert entsprechend der Click-and-Go-Ausführung der vorliegenden Erfindung. Als Reaktion auf die Navigationsdaten 1042 wählt der Click-and-Go-Controller 1036 ein zweites Panoramabild aus der Panoramadatenbank 1028 aus. Der Click-and-Go-Controller 1036 wählt ein zweites Panoramabild basierend auf dem Standort des ersten Panoramabilds aus den Navigationsdaten 1042 aus. Der Standort des ersten Panoramabilds kann durch ein Eingabegerät des Nutzers, wie beispielsweise eine Maus, bestimmt werden. Der Click-and-Go-Controller 1036 verwendet den Standort des ersten Panoramabilds zur Bestimmung eines Orts im Modell in der Modelldatenbank 1042, wie mit Bezug auf 2A beschrieben. Der Click-and-Go-Controller 1036 wählt dann ein zweites Panoramabild basierend auf dem Ort im Modell aus. Das zweite Panoramabild befindet sich in der Nähe des Orts im Modell, wie mit Bezug auf 2D gezeigt. In einem Beispiel kann der Standpunkt des zweiten Panoramabilds so sein, dass der Standpunkt auf dem Modell zur Straße normal ist. In einem anderen Beispiel kann das zweite Panoramabild einen Standpunkt haben, der zum virtuellen Modell normal ist. Der Click-and-Go-Controller 1036 bestimmt die Ausrichtung des zweiten Panoramas. Das zweite Panorama kann zum Standpunkt im Modell orientiert sein, oder das zweite Panorama kann in die Richtung der Straße orientiert sein. Schließlich gibt der Click-and-Go-Controller 1036 das zweite Panorama in Panoramakacheln 1020 wieder sowie dessen Ausrichtung in Konfigurationsinformationen 1018.
  • Der Walk-Around-Controller 1038 wählt ein zweites Panoramabild aus der Panoramadatenbank 1028 als Reaktion auf die Navigationsdaten 1042 aus. Das zweite Panoramabild kann beispielsweise in Übereinstimmung mit einer vom Nutzer eingegebenen Position in den Navigationsdaten 1042 ausgewählt werden. Der Walk-Around-Controller 1038 bestimmt einen Standpunkt im Modell in der Modelldatenbank 1030 entsprechend der Position und Ausrichtung des ersten Panoramas in den Navigationsdaten 1042. Zur Bestimmung des Standpunkts verlängert der Walk-Around-Controller 1038 einen Strahl aus der Position in die Richtung der Ausrichtung, wie mit Bezug auf 2A basiert. Der Walk-Around-Controller 1038 bestimmt eine Ausrichtung des zweiten Panoramas, wie oben beschrieben. Schließlich gibt der Walk-Around-Controller 1038 das zweite Panorama in Panoramakacheln 1020 sowie die Ausrichtung des zweiten Panoramas in Konfigurationsinformationen 1018 wieder.
  • In einer Ausführungsform kann der Client 1002 einen Mapping-Dienst 1006 und einen Panorama-Viewer 1008 beinhalten. Sowohl Mapping-Dienst 1006 als auch Panorama-Viewer 1008 können eine eigenständige Anwendung sein oder in einem Browser 1004 ausgeführt werden. In Ausführungsformen kann der Browser 1004 Mozilla Firefox oder Microsoft Internet Explorer sein. Der Panorama-Viewer 1008 kann beispielsweise als ein Script im Browser 1004, als ein Plug-In im Browser 1004 oder als ein Programm, das in einem Browser Plug-In abläuft, wie dem Adobe (Macromedia) Flash Plug-In, durchgeführt werden.
  • Der Mapping-Dienst 1006 zeigt eine visuelle Darstellung einer Karte, beispielsweise als Viewport in ein Gitter aus Kartenkacheln. Für die Implementierung des Mapping-Systems 1006 wird eine Kombination von Markup- und Scripting-Elementen, wie beispielsweise HTML und Javascript, verwendet. Wenn das Viewportfenster bewegt wird, braucht der Mapping-Dienst 1006 zusätzliche Kartenkacheln 1014 vom Server/von den Servern 1024, soweit die erforderlichen Kartenkacheln nicht bereits im örtlichen Cache zwischengespeichert sind. Insbesondere der/die Server, die die Kartenkacheln 1014 bereitstellen, kann/können der/die selbe(n) Server oder andere Server sein, als der/die, die die Panoramakacheln 1020, die Konfigurationsinformationen 1018 oder die anderen hierin benötigten Daten bereitstellen.
  • In einer Ausführungsform kann der Mapping-Dienst 1006 erfordern, dass der Browser 1004 ein Programm 1016 für einen Panorama-Viewer 1008 von dem/den Server(n) 1024 downloadet und das nötige Plug-In instantiiert, damit das Programm 1016 läuft. Das Programm 1016 kann eine Flash-Datei sein oder eine andere Art von ausführbaren Inhalten. Der Panorama-Viewer 1008 arbeitet entsprechend dem Programm 1016.
  • Der Panorama-Viewer 1008 benötigt Konfigurationsinformationen 1018 von dem/den Server(n) 1024. Die Konfigurationsinformationen beinhalten Meta-Informationen über ein zu ladendes Panorama, einschließlich Informationen über Links in den Panoramas zu anderen Panoramas. In einer Ausführungsform wird die Konfigurationsinformation in einer Form, wie beispielsweise als Extensible Markup Language (XML), dargestellt. Der Panorama-Viewer 1008 ruft visuelle Elemente 1020 für das Panorama beispielsweise in Form von Panoramabildern oder in Form von Panoramakacheln ab. In einer anderen Ausführungsform beinhalten die visuellen Elemente die Konfigurationsinformationen im jeweiligen Dateiformat. Der Panorama-Viewer 1008 gibt eine visuelle Darstellung auf dem Client-Display des Panoramas und anderen Nutzerschnittstellen wieder, wie sie aus den Konfigurationsinformationen 1018 und den visuellen Elementen 1020 erzeugt wurde. Wenn ein Nutzer die visuelle Wiedergabe des Panoramas mit einem Eingabegerät bearbeitet, aktualisiert der Panorama-Viewer 1008 die visuelle Darstellung und lädt dann nach Bedarf weitere Konfigurationsinformationen und visuelle Elemente herunter.
  • Sowohl der Browser 1004 als auch der Mapping-Dienst 1006 und der Panorama-Viewer 1008 können als Hardware, Software, Firmware oder einer Kombination daraus implementiert werden.
  • 11 zeigt ein System 1100 zur Erzeugung eines virtuellen Modells aus Bilddaten gemäß einer Ausführungsform der Erfindung. System 1100 beinhaltet eine Panoramadatenbank 1028 und eine Modelldatenbank 1030, die jeweils mit einem Verarbeitungspipeline-Server 1124 gekoppelt sind. Verarbeitungspipeline-Server 1124 kann jedes Computergerät sein. Beispiele für Computergeräte sind ein Computer, ein Arbeitsplatzrechner, ein verteiltes Rechnersystem, ein integriertes System, ein eigenständiges elektronisches Gerät, ein Netzwerkgerät, ein Mobilgerät, ein Rackserver, ein Fernsehgerät oder eine andere Art Computersystem, jedoch nicht auf diese Geräte beschränkt.
  • Der Verarbeitungspipeline-Server 1124 beinhaltet ein Merkmalextraktor 1116, einen Merkmalzuordner 1118, einen Punktkalkulator 1120, und einen Flächenberechner 1122. Sowohl der Merkmalextraktor 1116, aus auch der Merkmalzuordner 1118, der Punktkalkulator 1120 und der Flächenberechner 1122 können als Hardware, Software, Firmware oder einer Kombination daraus implementiert werden.
  • Der Merkmalextraktor 1116 wählt Bilder 1102 aus der Panoramadatenbank 1028 aus. In einer Ausführungsform können Bilder 1102 zwei Bilder beinhalten, die unverbundene Panoramabilder von der Straßenebene sind. Die beiden Bilder können von benachbarten Standpunkten aufgenommen worden sein, jedoch aus unterschiedlichen Perspektiven. In einer Ausführungsform werden die Bilder von einem fahrenden Fahrzeug, an dem eine Rosette aus acht Kameras befestigt ist, aufgenommen. Die acht Kameras nehmen gleichzeitig acht Bilder aus unterschiedlichen Perspektiven auf. Die acht Bilder können danach so miteinander verbunden werden, dass sie ein Panorama bilden. Das erste Bild kann ein unverbundenes Bild aus einer ersten Kamera in der Rosette aus acht Kameras sein. Das zweite Bild kann ein unverbundenes Bild aus einer zweiten, zur ersten Kamera benachbarten Kamera sein, das zu einem späteren Zeitpunkt aufgenommen wurde.
  • Der Merkmalextraktor 1116 extrahiert Merkmale aus Bildern 1102. In einer Ausführungsform kann der Merkmalextraktor 1116 mehr als eine Funktion durchführen, wie beispielsweise POI-Erkennung und Merkmalbeschreibung. Die POI-Erkennung erkennt Punkte in einem Bild entsprechend der Vorgaben und ist bevorzugt reproduzierbar bei Bildveränderungen, wie beispielsweise Veränderungen der Helligkeit oder der Perspektive. Die Umgebung eines POI wird dann als Merkmal bezeichnet. Diese Merkmale werden durch Feature-Deskriptoren wiedergegeben. Die Feature-Deskriptoren sind bevorzugt unverwechselbar.
  • In einem Beispiel kann ein Speeded Up Robust Features (SURF) Algorithmus zum Extrahieren der Merkmale aus den Bildern verwendet werden. Der SURF Algorithmus beinhaltet ein Schema zur POI-Erkennung und zur Beschreibung von Merkmalen. Im SURF-Algorithmus beinhaltet jeder Feature-Deskriptor einen Vektor. In einer Umsetzung kann der Vektor 128-dimensional sein. In einem Beispiel, wo die Bilder von der Straßenebene aufgenommene Panoramas sind, kann der SURF-Algorithmus vier- bis fünftausend Merkmale aus jedem Bild extrahieren, was zu einer Feature-Deskriptor-Datei 1104 von ein bis zwei Megabyte führt.
  • Der Merkmalzuordner 1118 verwendet die Feature-Deskriptor-Datei 1104 für die Zuordnung der Merkmale in den beiden Bildern. In einem Beispiel wird jedes Merkmal durch einen Feature-Deskriptor in der Feature-Deskriptor-Datei 1104 wiedergegeben. Jeder Feature-Deskriptor beinhaltet einen 128-dimensionalen Vektor. Die Ähnlichkeit zwischen einem ersten Merkmal und einem zweiten Merkmal kann durch die Bestimmung des euklidischen Abstands zwischen dem Vektor des ersten Merkmals und dem Vektor des zweiten Merkmals bestimmt werden.
  • Eine Zuordnung für ein Merkmal im ersten Bild aus den Merkmalen im zweiten Bild kann wie folgt bestimmt werden. Als erstes bestimmt der Merkmalzuordner 1118 den nächsten Nachbarn (z. B. im 118-dimensionalen Raum) des Merkmals im ersten Bild, der aus den Merkmalen im zweiten Bild bestimmt wird. Zweitens bestimmt der Merkmalzuordner 1118 den zweitnächsten Nachbarn des Merkmals im ersten Bild, der aus den Merkmalen im zweiten Bild bestimmt wird. Drittens bestimmt der Merkmalzuordner 1118 einen ersten Abstand zwischen dem Merkmal im ersten Bild und dem nächst benachbarten Merkmal im zweiten Bild, und der Merkmalzuordner 1118 bestimmt einen zweiten Abstand zwischen dem Merkmal im ersten Bild und dem zweit nächst benachbarten Merkmal im zweiten Bild. Viertens berechnet der Merkmalzuordner 1118 ein Merkmalähnlichkeitsverhältnis, indem der erste Abstand durch den zweiten Abstand geteilt wird. Liegt das Merkmalähnlichkeitsverhältnis unter einem bestimmten Schwellenwert, gibt es eine Zuordnung zwischen dem Merkmal des ersten Bilds und dem nächsten Nachbarn des zweiten Bilds.
  • Der Merkmalzuordner 1118 kann den nächsten Nachbarn und den zweitnächsten Nachbarn beispielsweise durch Erstellung eines Überlagerungsbaums bestimmen.
  • Falls das Merkmalähnlichkeitsverhältnis zu niedrig ist, kann der Merkmalzuordner 1118 nicht genügend Matches bestimmen. Falls das Merkmalähnlichkeitsverhältnis zu hoch ist, kann der Merkmalzuordner 1118 zu viele falsche Matches bestimmen. In einer Ausführungsform kann das Merkmalähnlichkeitsverhältnis zwischen 0,5 und einschließlich 0,95 liegen. In Beispielen, wo Panoramas von der Straßenebene aufgenommen wurden, kann es mehrere hundert zugeordnete Merkmale geben. Die zugeordneten Merkmale werden zum Punktkalkulator 1120 als zugeordnete Merkmale 1106 geschickt.
  • Der Punktkalkulator 1120 bestimmt einen Punkt im dreidimensionalen Raum für jedes zugeordnete Merkmalpaar 1106. Zur Bestimmung eines Punkts im dreidimensionalen Raum wird für jedes Merkmal ein Strahl erzeugt oder festgelegt, und der Punkt wird basierend auf der Schnittstelle der Strahlen für jedes Merkmal bestimmt. In einer Ausführungsform wird der Punkt, falls sich die Strahlen nicht schneiden, basierend auf dem Mittelpunkt des kürzesten Liniensegments, das die beiden Strahlen verbindet, bestimmt. Die Ausgabe des Punktkalkulators 1120 ist eine Wolke aus dreidimensionalen Punkten 1108 (z. B. ein Punkt für jedes zugeordnete Merkmalpaar).
  • Der Flächenberechner 1122 bestimmt eine Fassadenfläche basierend auf der Wolke aus Punkten 1108. Der Flächenberechner 1122 kann die Fassadenfläche mithilfe eines Best-Fit-Algorithmus oder eines Regressions-Analyse-Algorithmus, wie beispielsweise ein Algorithmus der kleinsten Quadrate oder ein Algorithmus der dynamischen Optimierung, bestimmt werden. Beispiele für Algorithmen der dynamischen Optimierung beinhalten Aufstiegsalgorithmen, stochastische Aufstiegsalgorithmen, einen A*-Algorithmus und einen genetischen Algorithmus. Alternativ kann der Flächenberechner 1122 die Fassadenfläche durch Übertragung einer Fläche bestimmen, so dass die beste Position der Fläche entlang einer Achse bestimmt wird, wie oben hinsichtlich 9A–C beschrieben.
  • Der Flächenberechner 1122 kann auch eine oder mehrere Straßenflächen bestimmen. Die Straßenflächen und die Fassadenflächen bilden gemeinsam die Oberflächen 1110. Der Flächenberechner 1122 speichert die Oberflächen 1110 in der Modelldatenbank 1030.
  • Es wird erwartet, dass die Detaillierte Beschreibung und nicht die Zusamenfassungs- und Kurzfassungsabschnitte für die Interpretation der Ansprüche verwendet wird. Die Zusammenfassungs- und Kurzfassungsabschnitte können eine oder mehrere, aber nicht alle exemplarischen Ausführungsformen der vorliegenden Erfindung wie von den Erfindern betrachtet, erwaitern und sollen daher die vorliegende Erfindung und die angehängten Ansprüche in keinster Weise einschränken.
  • Die vorliegende Erfindung wurde vorstehend mittels funktionaler Bausteine beschrieben, die die Implementierung der angegebenen Funktionen und deren Beziehungen veranschaulichen. Die Grenzen dieser funktionalen Bausteine wurden zum besseren Verständnis der Beschreibung hierin willkürlich definiert. Alternative Grenzen können definiert werden, solange deren spezifizierte Funktionen und Beziehungen angemessen durchgeführt werden.
  • Die vorstehende Beschreibung der spezifischen Ausführungsformen zeigt somit die allgemeine Natur der Erfindung vollständig, die andere durch die Anwendung fachgerechter Technik problemlos ändern bzw. für verschiedene Anwendungen solcher spezifischer Ausführungsformen anpassen können, ohne unangemessenes Experimentieren und ohne vom allgemeinen Konzept der vorliegenden Erfindung abzuweichen. Daher sind solche Anpassungen und Modifikationen auf Basis der hierin präsentierten Lehre und Anleitung als innerhalb der Bedeutungen des Bereichs der Äquivalente der offenbarten Ausführungsformen zu betrachten. Es versteht sich, dass die hierin enthaltene Phraseologie oder Terminologie dem Zweck der Beschreibung und nicht der Einschränkung dient, sodass die Terminologie oder Phraseologie der vorliegenden Spezifikation von Fachleuten angesichts der Lehren und Anleitung zu interpretieren ist.
  • Die Breite und der Wirkungsbereich der vorliegenden Erfindung sollen durch keinerlei der vorstehend beschriebenen exemplarischen Ausführungsformen eingeschränkt sein, sondern lediglich in Übereinstimmung mit den folgenden Ansprüchen und ihren Äquivalenten definiert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Herbert Bay, Tinne Tuytelaars, Luc Van Gool, ”SURF: Speeded Up Robust Features”, Proceedings of the Ninth European Conference on Computer Vision, May 2006 [0053]

Claims (10)

  1. System zur Erzeugung und Anzeige von Kommentaren entsprechend einem virtuellen Modell, worin das virtuelle Modell aus einer Vielzahl von zweidimensionalen Bildern erzeugt wurde, umfassend: einen Server, der einen Navigations-Controller beinhaltet, der einen Schnittpunkt eines von einem Kamera-Viewport eines Bilds ausgehenden Strahls und eines virtuellen Modells bestimmt, worin das virtuelle Modell eine Vielzahl von Fassadenflächen umfasst, der Navigations-Controller ein Panoramabild gewinnt und das Panoramabild zur Schnittstelle hin orientiert.
  2. System nach Anspruch 1, worin der Navigationscontroller einen Spurwechselcontroller umfasst, der einen Standpunkt des Kamera-Viewports des Panoramabilds in einer ersten Spur festlegt, die sich von einer zweiten Spur unterscheidet, worin der Standpunkt des Kamera-Viewports des Bilds sich in der zweiten Spur befindet.
  3. System nach Anspruch 1, worin der Navigationscontroller einen Click-and-Go-Controller umfasst, der den Standpunkt eines Kamera-Viewports des Panoramabilds entsprechend der Auswahl des Nutzers festlegt.
  4. System nach Anspruch 3, worin der Navigationscontroller einen Walk-Around-Controller umfasst, der den zum Schnittpunkt gehörigen Standpunkt des Kamera-Viewports des Panoramabilds festlegt.
  5. System nach Anspruch 1, des Weiteren umfassend: einen Processing-Pipeline-Server, der ein virtuelles Modell aus einer Vielzahl von zweidimensionalen Bildern erzeugt.
  6. System nach Anspruch 5, worin der Processing-Pipeline-Server Folgendes umfasst: einen Merkmalextraktor, der eine erste Vielzahl an Merkmalen eines ersten Bilds und eine zweite Vielzahl an Merkmalen eines zweiten Bilds erkennt; einen Merkmalzuordner, der eine Vielzahl von Merkmalpaaren bestimmt, worin jedes Merkmalpaar ein erstes Merkmal aus der ersten Vielzahl von Merkmalen und ein zweites Merkmal aus der zweiten Vielzahl von Merkmalen beinhaltet, und worin das erste Merkmal dem zweiten Merkmal zugeordnet wird; einen Punktkalkulator, der eine Vielzahl von Punkten entsprechen der Vielzahl von Merkmalpaaren bestimmt; und einen Oberflächenberechner, der das virtuelle Modell basierend auf der Vielzahl von Punkten erzeugt.
  7. System nach Anspruch 6, worin der Merkmalextraktor einen Speeded Up Robust Features (SURF) Algorithmus verwendet.
  8. System nach Anspruch 6, worin der Merkmalzuordner einen Überlagerungsbaum für die erste Vielzahl von Merkmalen festlegt, den Überlagerungsbaum nach einem ungefähren nächsten Nachbarn und einem ungefähren zweitnächsten Nachbarn für jedes Merkmal im zweiten Bild durchsucht, und festlegt, ob ein Merkmalähnlichkeitsverhältnis des ungefähren nächsten Nachbarn und des ungefähren zweitnächsten Nachbarn unter einem Schwellenwert liegt.
  9. System nach Anspruch 8, worin der Schwellenwert zwischen 0,5 und einschließlich 0,95 liegt.
  10. System nach Anspruch 6, worin für jedes Merkmalpaar in der Vielzahl der Merkmalpaare vom Punktkalkulator ein erster Strahl festgelegt wird, der sich von einem ersten Kamera-Viewport des ersten Bilds durch das erste Merkmal vom Paar aus erstreckt sowie einen zweiten Strahl, der sich von einem zweiten Kamera-Viewport des zweiten Bilds durch das zweite Merkmal vom Paar aus erstreckt und einen Punkt aus der Vielzahl der Punkte als eine Schnittstelle zwischen dem ersten Strahl und dem zweiten Strahl festlegt.
DE202009019124.9U 2008-02-27 2009-02-26 Bildinhalte zur einfacheren Navigation in Panorama-Bilddaten Expired - Lifetime DE202009019124U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/038,325 US8525825B2 (en) 2008-02-27 2008-02-27 Using image content to facilitate navigation in panoramic image data
US12/038,325 2008-02-27

Publications (1)

Publication Number Publication Date
DE202009019124U1 true DE202009019124U1 (de) 2016-10-31

Family

ID=40677548

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202009019124.9U Expired - Lifetime DE202009019124U1 (de) 2008-02-27 2009-02-26 Bildinhalte zur einfacheren Navigation in Panorama-Bilddaten

Country Status (8)

Country Link
US (4) US8525825B2 (de)
EP (1) EP2260470B1 (de)
JP (2) JP5337822B2 (de)
CN (2) CN103824317B (de)
AU (1) AU2009217725B2 (de)
CA (1) CA2716360C (de)
DE (1) DE202009019124U1 (de)
WO (1) WO2009108333A2 (de)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8072448B2 (en) 2008-01-15 2011-12-06 Google Inc. Three-dimensional annotations for street view data
US8525825B2 (en) 2008-02-27 2013-09-03 Google Inc. Using image content to facilitate navigation in panoramic image data
WO2009124156A1 (en) * 2008-04-01 2009-10-08 Decarta Inc. Gradually changing perspective map
US20110113315A1 (en) * 2008-12-31 2011-05-12 Microsoft Corporation Computer-assisted rich interactive narrative (rin) generation
US9454847B2 (en) 2009-02-24 2016-09-27 Google Inc. System and method of indicating transition between street level images
KR100971778B1 (ko) * 2009-09-16 2010-07-22 (주)올라웍스 그래프 구조를 이용하여 파노라마 이미지에 대한 이미지 매칭을 수행하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR20110052124A (ko) * 2009-11-12 2011-05-18 삼성전자주식회사 파노라마 이미지 생성 및 조회 방법과 이를 이용한 휴대 단말기
JP5387906B2 (ja) * 2009-12-28 2014-01-15 学校法人福岡大学 3次元座標特定装置、その方法、及びプログラム
US8447136B2 (en) 2010-01-12 2013-05-21 Microsoft Corporation Viewing media in the context of street-level images
WO2012071445A2 (en) * 2010-11-24 2012-05-31 Google Inc. Guided navigation through geo-located panoramas
US8447116B2 (en) 2011-07-22 2013-05-21 Honeywell International Inc. Identifying true feature matches for vision based navigation
US9036000B1 (en) * 2011-09-27 2015-05-19 Google Inc. Street-level imagery acquisition and selection
US9384711B2 (en) * 2012-02-15 2016-07-05 Microsoft Technology Licensing, Llc Speculative render ahead and caching in multiple passes
US9396577B2 (en) 2012-02-16 2016-07-19 Google Inc. Using embedded camera parameters to determine a position for a three-dimensional model
US8885952B1 (en) * 2012-02-29 2014-11-11 Google Inc. Method and system for presenting similar photos based on homographies
US20130271488A1 (en) * 2012-04-12 2013-10-17 Nokia Corporation Method and apparatus for filtering and transmitting virtual objects
US9230517B2 (en) 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US9286122B2 (en) 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
US10139985B2 (en) 2012-06-22 2018-11-27 Matterport, Inc. Defining, displaying and interacting with tags in a three-dimensional model
US9786097B2 (en) 2012-06-22 2017-10-10 Matterport, Inc. Multi-modal method for interacting with 3D models
US10127722B2 (en) 2015-06-30 2018-11-13 Matterport, Inc. Mobile capture visualization incorporating three-dimensional and two-dimensional imagery
US10163261B2 (en) * 2014-03-19 2018-12-25 Matterport, Inc. Selecting two-dimensional imagery data for display within a three-dimensional model
US9256961B2 (en) 2012-06-28 2016-02-09 Here Global B.V. Alternate viewpoint image enhancement
US9256983B2 (en) * 2012-06-28 2016-02-09 Here Global B.V. On demand image overlay
EP2897845B1 (de) * 2012-09-20 2017-08-09 Waymo Llc Erkennung von witterungsbedingungen auf strassen
US9275460B2 (en) * 2012-10-17 2016-03-01 Google Inc. Reference orientations for viewing panoramic images
US9885789B2 (en) * 2013-03-14 2018-02-06 Google Llc Accounting for atmospheric and terrestrial obstacles in geographic positioning
ITMO20130086A1 (it) * 2013-04-02 2014-10-03 Gabriele Garavini Metodo e sistema per la visita virtuale di luoghi inaccessibili e/o intransitabili mediante veicoli
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
JP2015095802A (ja) * 2013-11-13 2015-05-18 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム
US20150206337A1 (en) * 2014-01-17 2015-07-23 Nokia Corporation Method and apparatus for visualization of geo-located media contents in 3d rendering applications
US20150206343A1 (en) * 2014-01-17 2015-07-23 Nokia Corporation Method and apparatus for evaluating environmental structures for in-situ content augmentation
US10311633B2 (en) 2014-01-17 2019-06-04 Nokia Technologies Oy Method and apparatus for visualization of geo-located media contents in 3D rendering applications
US9235215B2 (en) 2014-04-03 2016-01-12 Honeywell International Inc. Feature set optimization in vision-based positioning
USD780777S1 (en) 2014-04-22 2017-03-07 Google Inc. Display screen with graphical user interface or portion thereof
US9934222B2 (en) 2014-04-22 2018-04-03 Google Llc Providing a thumbnail image that follows a main image
US9972121B2 (en) * 2014-04-22 2018-05-15 Google Llc Selecting time-distributed panoramic images for display
USD781317S1 (en) 2014-04-22 2017-03-14 Google Inc. Display screen with graphical user interface or portion thereof
US9185391B1 (en) 2014-06-17 2015-11-10 Actality, Inc. Adjustable parallax distance, wide field of view, stereoscopic imaging system
US9569498B2 (en) * 2014-06-27 2017-02-14 Google Inc. Using image features to extract viewports from images
KR102300034B1 (ko) * 2014-07-04 2021-09-08 엘지전자 주식회사 디지털 이미지 처리 장치 및 제어 방법
US9851299B2 (en) 2014-10-25 2017-12-26 Isle Management Co. Method of analyzing air quality
CN104717278A (zh) * 2014-12-04 2015-06-17 广西蕴藏科技有限公司 一种标记位置引导方法和系统
US9754413B1 (en) 2015-03-26 2017-09-05 Google Inc. Method and system for navigating in panoramic images using voxel maps
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US9984499B1 (en) 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US10523865B2 (en) * 2016-01-06 2019-12-31 Texas Instruments Incorporated Three dimensional rendering for surround view using predetermined viewpoint lookup tables
US11080871B2 (en) 2016-05-03 2021-08-03 Google Llc Method and system for obtaining pair-wise epipolar constraints and solving for panorama pose on a mobile device
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US10074381B1 (en) 2017-02-20 2018-09-11 Snap Inc. Augmented reality speech balloon system
CN108510433B (zh) * 2017-02-28 2020-03-24 贝壳找房(北京)科技有限公司 空间展示方法、装置及终端
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
US10102611B1 (en) * 2017-10-16 2018-10-16 Xplorit Llc Interconnected 360 video virtual travel
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
CN109859612A (zh) * 2019-01-16 2019-06-07 中德(珠海)人工智能研究院有限公司 一种街景数据的三维注释的方法及其系统
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
CN111189440B (zh) * 2019-12-31 2021-09-07 中国电建集团华东勘测设计研究院有限公司 一种基于空间信息模型与实时图像比对的定位导航方法
CN111323028B (zh) * 2020-02-20 2022-08-19 川谷汇(北京)数字科技有限公司 一种基于图像识别的室内室外定位装置以及定位方法
EP3923121A1 (de) * 2020-06-09 2021-12-15 Diadrasis Ladas I & Co Ike Verfahren und system zur objekterkennung in umgebungen mit erweiterter realität
US11443443B2 (en) * 2020-07-16 2022-09-13 Siemens Industry Software Inc Method and a data processing system for aligning a first panoramic image and a second panoramic image in a navigation procedure
CN112465696B (zh) * 2020-12-04 2024-09-06 中国科学院深圳先进技术研究院 一种全景呈现方法及其装置
CN113008252B (zh) * 2021-04-15 2023-08-22 东莞市异领电子有限公司 基于全景照片的高精度导航装置及导航方法

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06223198A (ja) 1993-01-26 1994-08-12 Hitachi Ltd 光線追跡による画像生成装置及び方法
US5737533A (en) 1995-10-26 1998-04-07 Wegener Internet Projects Bv System for generating a virtual reality scene in response to a database search
US5973699A (en) * 1996-09-19 1999-10-26 Platinum Technology Ip, Inc. System and method for increasing the performance for real-time rendering of three-dimensional polygonal data
US6308144B1 (en) 1996-09-26 2001-10-23 Computervision Corporation Method and apparatus for providing three-dimensional model associativity
US6111582A (en) * 1996-12-20 2000-08-29 Jenkins; Barry L. System and method of image generation and encoding using primitive reprojection
US6009190A (en) * 1997-08-01 1999-12-28 Microsoft Corporation Texture map construction method and apparatus for displaying panoramic image mosaics
US6157747A (en) * 1997-08-01 2000-12-05 Microsoft Corporation 3-dimensional image rotation method and apparatus for producing image mosaics
US6256043B1 (en) 1997-09-26 2001-07-03 Lucent Technologies Inc. Three dimensional virtual reality enhancement techniques
JPH11259672A (ja) * 1998-03-13 1999-09-24 Mitsubishi Electric Corp 3次元仮想空間表示装置
IL127314A0 (en) 1998-11-27 1999-09-22 Algotec Systems Ltd A method for forming a perspective rendering from a voxel space
US6346938B1 (en) * 1999-04-27 2002-02-12 Harris Corporation Computer-resident mechanism for manipulating, navigating through and mensurating displayed image of three-dimensional geometric model
US7620909B2 (en) * 1999-05-12 2009-11-17 Imove Inc. Interactive image seamer for panoramic images
US7148898B1 (en) * 2000-03-29 2006-12-12 Sourceprose Corporation System and method for synchronizing raster and vector map images
JP2002183150A (ja) 2000-12-13 2002-06-28 Nec Corp 位置関連情報提示システム及び位置関連情報提示方法並びにその制御プログラムを記録した記録媒体
US7096428B2 (en) * 2001-09-28 2006-08-22 Fuji Xerox Co., Ltd. Systems and methods for providing a spatially indexed panoramic video
US20040196282A1 (en) * 2003-02-14 2004-10-07 Oh Byong Mok Modeling and editing image panoramas
US20050128212A1 (en) 2003-03-06 2005-06-16 Edecker Ada M. System and method for minimizing the amount of data necessary to create a virtual three-dimensional environment
US7570261B1 (en) 2003-03-06 2009-08-04 Xdyne, Inc. Apparatus and method for creating a virtual three-dimensional environment, and method of generating revenue therefrom
JP2004342004A (ja) 2003-05-19 2004-12-02 Minolta Co Ltd 画像処理装置およびプログラム
WO2005029264A2 (en) 2003-09-19 2005-03-31 Alphatech, Inc. Tracking systems and methods
JP4437677B2 (ja) 2004-03-01 2010-03-24 三菱電機株式会社 景観表示装置
US7966563B2 (en) * 2004-03-12 2011-06-21 Vanbree Ken System for organizing and displaying registered images
US20050210008A1 (en) 2004-03-18 2005-09-22 Bao Tran Systems and methods for analyzing documents over a network
US7746376B2 (en) 2004-06-16 2010-06-29 Felipe Mendoza Method and apparatus for accessing multi-dimensional mapping and information
US7460953B2 (en) 2004-06-30 2008-12-02 Navteq North America, Llc Method of operating a navigation system using images
US7714859B2 (en) 2004-09-03 2010-05-11 Shoemaker Garth B D Occlusion reduction and magnification for multidimensional data presentations
JP2008520052A (ja) 2004-11-12 2008-06-12 モク3, インコーポレイテッド シーン間遷移のための方法
US8103445B2 (en) 2005-04-21 2012-01-24 Microsoft Corporation Dynamic map rendering as a function of a user parameter
US20070210937A1 (en) 2005-04-21 2007-09-13 Microsoft Corporation Dynamic rendering of map information
JP2006309626A (ja) * 2005-04-28 2006-11-09 Ntt Docomo Inc 任意視点画像生成装置
US7373246B2 (en) 2005-05-27 2008-05-13 Google Inc. Using boundaries associated with a map view for business location searching
US7353114B1 (en) 2005-06-27 2008-04-01 Google Inc. Markup language for an interactive geographic information system
US7933001B2 (en) 2005-07-11 2011-04-26 Kabushiki Kaisha Topcon Geographic data collecting system
US20070030396A1 (en) * 2005-08-05 2007-02-08 Hui Zhou Method and apparatus for generating a panorama from a sequence of video frames
US8818076B2 (en) * 2005-09-01 2014-08-26 Victor Shenkar System and method for cost-effective, high-fidelity 3D-modeling of large-scale urban environments
US20070070069A1 (en) * 2005-09-26 2007-03-29 Supun Samarasekera System and method for enhanced situation awareness and visualization of environments
US7840032B2 (en) 2005-10-04 2010-11-23 Microsoft Corporation Street-side maps and paths
US7933897B2 (en) 2005-10-12 2011-04-26 Google Inc. Entity display priority in a distributed geographic information system
WO2007108090A1 (ja) * 2006-03-20 2007-09-27 Fujitsu Limited 画像解析プログラム、該プログラムを記録した記録媒体、画像解析装置および画像解析方法
CN101055494B (zh) * 2006-04-13 2011-03-16 上海虚拟谷数码科技有限公司 基于空间索引立方体全景视频的虚拟场景漫游方法及其系统
WO2007124513A2 (en) 2006-04-25 2007-11-01 Google, Inc. Ranking and clustering of geo-located objects
CN101090460B (zh) * 2006-06-13 2011-11-02 上海杰图软件技术有限公司 一种在多幅全景图之间切换的方法
US8098934B2 (en) 2006-06-29 2012-01-17 Google Inc. Using extracted image text
GB2440197A (en) * 2006-07-20 2008-01-23 Alan Stuart Radley 3D Perspective Image of a User Interface for Manipulating Focus and Context
US20080033641A1 (en) 2006-07-25 2008-02-07 Medalia Michael J Method of generating a three-dimensional interactive tour of a geographic location
US7712052B2 (en) 2006-07-31 2010-05-04 Microsoft Corporation Applications of three-dimensional environments constructed from images
US7698336B2 (en) 2006-10-26 2010-04-13 Microsoft Corporation Associating geographic-related information with objects
US9369679B2 (en) * 2006-11-07 2016-06-14 The Board Of Trustees Of The Leland Stanford Junior University System and process for projecting location-referenced panoramic images into a 3-D environment model and rendering panoramic images from arbitrary viewpoints within the 3-D environment model
US20080143709A1 (en) * 2006-12-14 2008-06-19 Earthmine, Inc. System and method for accessing three dimensional information from a panoramic image
CN1987857A (zh) * 2006-12-18 2007-06-27 于慧 采用虚拟仿真综合图文信息交互实现数字城市系统的方法
US20080268876A1 (en) 2007-04-24 2008-10-30 Natasha Gelfand Method, Device, Mobile Terminal, and Computer Program Product for a Point of Interest Based Scheme for Improving Mobile Visual Searching Functionalities
US7843451B2 (en) 2007-05-25 2010-11-30 Google Inc. Efficient rendering of panoramic images, and applications thereof
US7990394B2 (en) 2007-05-25 2011-08-02 Google Inc. Viewing and navigating within panoramic images, and applications thereof
CA3036872C (en) 2007-05-25 2020-04-28 Google Llc Rendering, viewing and annotating panoramic images, and applications thereof
US20090132646A1 (en) 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method in a local search system with static location markers
US8072448B2 (en) * 2008-01-15 2011-12-06 Google Inc. Three-dimensional annotations for street view data
WO2009136969A2 (en) 2008-01-22 2009-11-12 Carnegie Mellon University Apparatuses, systems, and methods for apparatus operation and remote sensing
US8525825B2 (en) 2008-02-27 2013-09-03 Google Inc. Using image content to facilitate navigation in panoramic image data
US8676001B2 (en) 2008-05-12 2014-03-18 Google Inc. Automatic discovery of popular landmarks
US8700301B2 (en) 2008-06-19 2014-04-15 Microsoft Corporation Mobile computing devices, architecture and user interfaces based on dynamic direction information
US20100076976A1 (en) 2008-09-06 2010-03-25 Zlatko Manolov Sotirov Method of Automatically Tagging Image Data
US7882286B1 (en) 2008-09-26 2011-02-01 EMC (Benelux)B.V., S.A.R.L. Synchronizing volumes for replication
US20100250120A1 (en) 2009-03-31 2010-09-30 Microsoft Corporation Managing storage and delivery of navigation images
US8306973B2 (en) 2009-04-06 2012-11-06 Google Inc. Method for generating location targeted, keyword-triggered, ads and generating user recallable layer-based ads
US20100305855A1 (en) 2009-05-27 2010-12-02 Geodelic, Inc. Location relevance processing system and method
US20110137561A1 (en) 2009-12-04 2011-06-09 Nokia Corporation Method and apparatus for measuring geographic coordinates of a point of interest in an image
US8447136B2 (en) 2010-01-12 2013-05-21 Microsoft Corporation Viewing media in the context of street-level images
US8525834B2 (en) 2010-02-17 2013-09-03 Lockheed Martin Corporation Voxel based three dimensional virtual environments
US8392354B2 (en) 2010-02-17 2013-03-05 Lockheed Martin Corporation Probabilistic voxel-based database
US20110270517A1 (en) 2010-04-29 2011-11-03 Nokia Corporation Method and apparatus for providing personalized presentations based on navigation information
US9582166B2 (en) 2010-05-16 2017-02-28 Nokia Technologies Oy Method and apparatus for rendering user interface for location-based service having main view portion and preview portion
US8587583B2 (en) 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
US9245383B2 (en) 2012-08-17 2016-01-26 Google Inc. Accelerated three-dimensional intersection testing using compressed volumes
US9460510B2 (en) 2013-03-29 2016-10-04 Siemens Medical Solutions Usa, Inc. Synchronized navigation of medical images

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Herbert Bay, Tinne Tuytelaars, Luc Van Gool, "SURF: Speeded Up Robust Features", Proceedings of the Ninth European Conference on Computer Vision, May 2006

Also Published As

Publication number Publication date
US20120327184A1 (en) 2012-12-27
CN102016927B (zh) 2013-11-20
CN103824317B (zh) 2017-08-08
JP5678131B2 (ja) 2015-02-25
CA2716360C (en) 2014-07-08
US9632659B2 (en) 2017-04-25
EP2260470A2 (de) 2010-12-15
CN103824317A (zh) 2014-05-28
US20090213112A1 (en) 2009-08-27
US20170186229A1 (en) 2017-06-29
JP2013242881A (ja) 2013-12-05
EP2260470B1 (de) 2018-05-02
CA2716360A1 (en) 2009-09-03
US8963915B2 (en) 2015-02-24
US10163263B2 (en) 2018-12-25
AU2009217725B2 (en) 2013-10-17
AU2009217725A1 (en) 2009-09-03
WO2009108333A3 (en) 2009-11-05
WO2009108333A2 (en) 2009-09-03
JP2011513829A (ja) 2011-04-28
US20150116326A1 (en) 2015-04-30
JP5337822B2 (ja) 2013-11-06
CN102016927A (zh) 2011-04-13
US8525825B2 (en) 2013-09-03

Similar Documents

Publication Publication Date Title
DE202009019124U1 (de) Bildinhalte zur einfacheren Navigation in Panorama-Bilddaten
DE202009019126U1 (de) Dreidimensionale Beschriftungen für Strassenansichtsdaten
DE112019001310T5 (de) Systeme und verfahren zum reduzieren der menge an datenspeicher beim maschinellen lernen
DE202008018626U1 (de) System zum Betrachten von Panoramabildern
DE202014010843U1 (de) Ausrichten von bodenbasierten Bildern mit Luftbildern
DE202011110887U1 (de) Wiedergeben und navigieren fotografischer Panoramen mit Tiefeninformationen in einem geographischen Informationssystem
DE102017009276A1 (de) Erzeugen eines dreidimensionalen modells aus einem gescannten gegenstand
EP2923333B1 (de) Verfahren zum automatischen erstellen von zwei- oder dreidimensionalen gebäudemodellen
DE202015009182U1 (de) Ausrichten von Panoramaaufnahmen und Luftaufnahmen
DE202014010927U1 (de) Referenzpunktidentifizierung aus Punktwolken, die aus geografischen Bilddaten erstellt werden
DE202016008004U1 (de) Automatische Verbindung von Bildern unter Verwendung visueller Eigenschaftsquerverweise auf zugehörige Anwendungen
DE112014004990T5 (de) Verfahren zum Erzeugen exakter Fahrspurebenen-Karten
DE112011103221T5 (de) Erweitern von Bilddaten basierend auf zugehörigen 3D-Punktwolkendaten
DE202010018512U1 (de) System zur Darstellung von Bildern auf Grundlage der Umgebungsbedingungen
DE102013222023A1 (de) Mehrfach-Sichtbereich-Analyse
DE202010018459U1 (de) System zur Darstellung von Übergängen zwischen Strassenansichten
DE112011103690T5 (de) Erkennung und Verfolgung sich bewegender Objekte
DE202011110906U1 (de) Bahnplanung für die Navigation auf Strassenniveau in einer dreidimensionalen Umgebung und Anwendungen davon
DE102008012411A1 (de) Interaktive Methode zur integrierten Darstellung schematischer Netzpläne und geographischer Karten
DE202014010922U1 (de) Erzeugung von Tiefenkarten
DE112016006213T5 (de) System und Verfahren zum Fusionieren von Ausgängen von Sensoren, die unterschiedliche Auflösungen aufweisen
DE102019125169A1 (de) Objektpositionsbestimmungsvorrichtung mittels bezugsmarker
DE202016006110U1 (de) Erweiterung des Sichtfeldes von Fotografie
DE112014006670T5 (de) Anzeigegerät für ein informationsüberlagertes bild, anzeigeprogramm für ein informationsüberlagertes bild und verfahren für ein informationsüberlagertes bild
DE202015009139U1 (de) Bildmodifikation

Legal Events

Date Code Title Description
R207 Utility model specification
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
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

R081 Change of applicant/patentee

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

Free format text: FORMER OWNER: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUNTAIN VIEW, CALIF., US

R082 Change of representative

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

R071 Expiry of right