-
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
-
Reale 3D-Modelle können Objekte wie Gebäude und Denkmäler abbilden, die sich an einigen entfernt liegenden oder interessanten geografischen Standorten befinden. Normalerweise basieren derzeitigen Techniken zur Erstellung realer 3D-Modelle auf Datenmaterial (z. B. von professionellen Anbietern gesammelte Luftbildaufnahmen und sonstige Aufnahmen), das mit großem Aufwand gesammelt wird. Dieser Prozess kann jedoch kostspielig und zeitaufwendig sein. Darüber hinaus können diese 3D-Modelle nach Abschluss der Datensammlungen im Laufe der Zeit aufgrund von Änderungen am Standort veralten und ungenau werden.
-
KURZE ZUSAMMENFASSUNG
-
Aspekte der Offenbarung können vorteilhaft für die Bereitstellung eines skalierbaren Verfahrens zur Aktualisierung eines 3D-Modells eines Standorts unter Verwendung von Crowd-Sourcing-basierten Bilddaten sein. So kann durch den Empfang von Videosegmenten von einer großen Anzahl an Benutzern von einem Standort zum Beispiel ein genaues und aktuelles 3D-Modell dieses Standorts erstellt werden.
-
Ein Aspekt der vorliegenden Technologie stellt ein Verfahren bereit, dass die Verwendung von einem Computergerät oder von mehreren Computergeräten beinhaltet, um einen Benutzer aufzufordern, Videodaten an einem Standort aufzunehmen. Der Standort kann mit Navigationsanweisungen für den Benutzer verknüpft sein. Die Computergeräte können die aufgenommenen Videodaten empfangen, die Informationen beinhalten, die Informationen zur visuellen Ausrichtung und Positionsinformationen repräsentieren, die mit den aufgenommenen Videodaten verknüpft sind und ein gespeichertes Datenmodell, das eine 3D-Geometrie repräsentiert, die Objekte bezüglich des Standorts abbildet, kann aufgerufen werden. Mithilfe der Computergeräte kann eine Kandidaten-Änderungsregion bzw. können mehrere Kandidaten-Änderungsregionen zwischen übereinstimmenden Bildern aus den aufgenommenen Videodaten und den Projektionen der 3D-Geometrie erkannt werden. Jede Kandidaten-Änderungsregion zeigt einen Bereich visuellen Unterschieds zwischen den aufgenommenen Videodaten und den Projektionen an. Wenn die Computergeräte erfassen, dass der Zählwert von einer Kandidaten-Änderungsregion oder mehreren Kandidaten-Änderungsregionen unter einem Schwellenwert liegt, werden die gespeicherten Modelldaten unter Umständen basierend auf den Informationen zur visuellen Ausrichtung und den Positionsinformationen, die mit den aufgenommenen Videodaten verknüpft sind, mit mindestens einem Teil der aufgenommenen Videodaten aktualisiert.
-
In einem Beispiel überlappen die Positionsinformationen, die mit den aufgenommenen Videodaten verknüpft sind, Positionsinformationen für die 3D-Geometrie. In diesem Beispiel wird unter Umständen eine visuelle Korrelation zwischen einem Objekt oder mehreren Objekten, das bzw. die in den aufgenommenen Videodaten abgebildet wird bzw. werden und einem Objekt oder mehreren Objekten, das bzw. die in den Projektionen abgebildet wird bzw. werden, festgestellt.
-
In einem anderen Beispiel beinhaltet die Erkennung den Vergleich von Merkmalen in einem bestimmten Bereich eines bestimmten Bilds aus den aufgenommenen Videodaten mit Merkmalen in einem entsprechenden Bild aus den Projektionen, um einen Differenzwert zu erhalten.
-
In noch einem anderen Beispiel beinhaltet die Aktualisierung der gespeicherten Modelldaten die Einbindung von Bildern aus den aufgenommenen Videodaten in die 3D-Geometrie. Eine Ausrichtung eines eingebundenen Bilds kann basierend auf einem entsprechenden Bild aus den Projektionen festgelegt werden. Die Ausrichtung der eingebundenen Bilder kann mithilfe der visuellen Ausrichtungsinformationen angepasst werden, die mit dem entsprechenden Bild aus den Projektionen verknüpft sind.
-
Ein weiterer Aspekt der vorliegenden Technologie stellt ein nicht-transitorisches computerlesbares Medium bereit, das Anweisungen beinhaltet, die bei Ausführung über einen Prozessor oder mehrere Prozessoren bewirken, dass der eine Prozessor oder die mehreren Prozessoren ein Verfahren ausführt oder ausführen, das die Aufforderung des Benutzers zur Aufnahme von Videodaten an einem Standort beinhaltet. Der Standort kann mit Navigationsanweisungen für den Benutzer verknüpft sein. Die Prozessoren können die Videodaten empfangen, die Informationen beinhalten, die visuelle Ausrichtungs- und Positionierungsinformationen repräsentieren, die mit den aufgenommenen Videodaten verknüpft sind und ein gespeichertes Datenmodell, das eine 3D-Geometrie repräsentiert, die Objekte bezüglich des Standorts abbildet, kann aufgerufen werden. Mithilfe des einen Prozessors oder der mehreren Prozessoren kann eine Kandidaten-Änderungsregion bzw. können mehrere Kandidaten-Änderungsregionen zwischen entsprechenden Bildern aus den aufgenommenen Bilddaten und den Projektionen der 3D-Geometrie erkannt werden. Jede Kandidaten-Änderungsregion zeigt einen Bereich visuellen Unterschieds zwischen den aufgenommenen Videodaten und den Projektionen an. Wenn die Prozessoren erfassen, dass der Zählwert von einer Kandidaten-Änderungsregion oder mehreren Kandidaten-Änderungsregionen unter einem Schwellenwert liegt, werden die gespeicherten Modelldaten unter Umständen basierend auf den Informationen zur visuellen Ausrichtung und den Positionsinformationen, die mit den aufgenommenen Videodaten verknüpft sind, mit mindestens einem Teil der aufgenommenen Videodaten aktualisiert.
-
Ein noch weiterer Aspekt der vorliegenden Technologie stellt ein System bereit, das einen Speicher und einen oder mehrere Prozessoren beinhaltet, der oder die mit dem Speicher gekoppelt sind. Der ein Prozessor ist oder die mehreren Prozessoren sind so konfiguriert, dass ein Benutzer aufgefordert wird, Videodaten an einem Standort aufzunehmen. Der Standort kann mit Navigationsanweisungen für den Benutzer verknüpft sein. Informationen, die visuelle Ausrichtungs- und Positionierungsinformationen repräsentieren, die mit den aufgenommenen Videodaten verknüpft sind, werden erhalten und ein gespeichertes Datenmodell, das eine 3D-Geometrie repräsentiert, die Objekte bezüglich des Standorts abbildet, kann aufgerufen werden. Danach wird oder werden möglicherweise eine Kandidaten-Änderungsregion bzw. mehrere Kandidaten-Änderungsregionen zwischen entsprechenden Bildern der aufgenommenen Videodaten und den Projektionen der 3D-Geometrie erkannt. Jede Kandidaten-Änderungsregion zeigt einen Bereich visuellen Unterschieds zwischen den aufgenommenen Videodaten und den Projektionen an. Wenn der eine Prozessor erfasst oder die mehreren Prozessoren erfassen, dass der Zählwert von einer Kandidaten-Änderungsregion oder mehreren Kandidaten-Änderungsregionen unter einem Schwellenwert liegt, werden die gespeicherten Modelldaten unter Umständen basierend auf den Informationen zur visuellen Ausrichtung und den Positionsinformationen, die mit den aufgenommenen Videodaten verknüpft sind, mit mindestens einem Teil der aufgenommenen Videodaten aktualisiert.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 veranschaulicht ein Bilderfassungsprozess nach Aspekten der Offenbarung.
-
2A–B veranschaulicht die Ausrichtungsparameter für ein Gerät nach Aspekten der Offenbarung.
-
3 veranschaulicht ein Bilderverarbeitungssystem nach Aspekten der Offenbarung.
-
4 veranschaulicht Aspekte des Bilderverarbeitungssystems von 3 nach Aspekten der Offenbarung.
-
5 veranschaulicht eine Bildvergleichstechnik nach Aspekten der Offenlegung.
-
6 veranschaulicht eine Bildanalysetechnik nach Aspekten der Offenlegung.
-
7 veranschaulicht eine Aktualisierungstechnik nach Aspekten der Offenlegung.
-
8 ist ein Piktogramm eines Systems nach Aspekten der Offenbarung.
-
9 ist ein Blockdiagramm eines Systems nach Aspekten der Offenbarung.
-
10 ist ein Flussdiagramm eines Verfahrens nach Aspekten der Offenbarung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Aspekte, Merkmale und Vorteile der Offenbarung werden ersichtlich, wenn sie unter Bezugnahme auf die folgende Beschreibung von Ausführungsformen und beigefügten Figuren betrachtet wird. Dieselben Referenznummern in unterschiedlichen Zeichnungen können dieselben oder ähnliche Elemente identifizieren. Ferner ist die folgende Beschreibung nicht einschränkend; der Umfang der vorliegenden Technologie wird durch die beigefügten Ansprüche und Äquivalente definiert. Während bestimmte Prozesse in Übereinstimmung mit exemplarischen Ausführungsformen in den Figuren als in linearer Weise vorkommend dargestellt sind, ist dies nicht erforderlich, sofern nicht ausdrücklich hierin angegeben. Verschiedene Prozesse können in einer anderen Reihenfolge oder gleichzeitig durchgeführt werden. Schritte können auch hinzugefügt oder weggelassen werden, sofern nicht anders angegeben.
-
Die vorliegende Offenbarung bezieht sich allgemein auf ein skalierbares Verfahren zur Aktualisierung eines 3D-Modells eines Standorts unter Verwendung von Crowd-Sourcingbasierten Bildern, wie Bilder von einem Videosegment. Diese Bilder können Informationen zum Korrigieren und Aktualisieren eines 3D-Modells und Hinzufügen zu einem 3D-Modell bereitstellen. In einigen Aspekten können die hierin beschriebenen Techniken in Form einer Anwendung eingesetzt werden, die von einem Mobilgerät wie einem Mobiltelefon verwendet werden kann. Während Aspekte der Offenbarung nachfolgend in Verbindung mit bestimmten Typen von Mobilgeräten beschrieben werden, können die hierin beschriebenen Techniken auch in Anwendungen für andere Typen von Mobilgeräten verwendet werden, wie z. B. für einen PC, eine Videokamera oder ein auf dem Kopf getragenes Computergerät, das über Funktionen zur Aufnahme von Videobildern/digitalen Bildern verfügt.
-
In manchen Ausführungsformen muss der Benutzer möglicherweise die Anwendung installieren und/oder einen Dienst auswählen, um die Vorteile der hierin beschriebenen Techniken zu erhalten. In diesen Ausführungsformen kann der Benutzer, wenn er dies nicht getan hat, nicht zur Hilfe aufgefordert werden und seinen Beitrag leisten, bei der Aktualisierung des Modells zu helfen.
-
In einer solchen Ausführungsform können die Benutzer beispielsweise eine Webbeschreibung zu einem bestimmten Standort erhalten. Wenn die Benutzer in diesem Beispiel an dem Standort ankommen, werden sie gebeten, ein kurzes Videosegment aufzunehmen, das die Anwendung dann auf einen zentralen Server hochlädt. Dieses Videosegment, das Objekte abbildet, dass die Benutzer an dem Standort gesehen haben, kann verwendet werden, um das 3D-Modell dieses Standorts zu aktualisieren. In einigen Fällen werden die Benutzer aufgefordert, das Mobilgerät allgemein über den Standort zu schwenken oder das Gerät auf eine bestimmte Weise zu führen, um bestimmte Bereiche des Standorts aufzunehmen.
-
Durch den Empfang von Videosegmenten von einer großen Anzahl an Benutzern von einem gegebenen Standort kann ein genaues und aktuelles 3D-Modell dieses Standorts erstellt werden. In dieser Hinsicht kann eine visuelle Korrelation zwischen einem Objekt bzw. mehreren Objekten, das bzw. die in den Videosegmenten abgebildet ist bzw. sind und den Projektionen (z. B. rekonstruierte Zielbilder) der 3D-Modelle festgestellt werden. Die Projektionen des 3D-Modells bilden Objekte ab, die mit dem Standort verknüpft sind. Daraufhin wird oder werden möglicherweise eine Kandidaten-Änderungsregion bzw. mehrere Kandidaten-Änderungsregionen zwischen entsprechenden Bildern des Videosegments und den Projektionen des 3D-Modells erkannt. Jede Kandidaten-Änderungsregion zeigt einen Bereich visuellen Unterschieds zwischen den entsprechenden Bildern an.
-
Wenn der Zählwert von einer Kandidaten-Änderungsregion oder mehreren Kandidaten-Änderungsregionen unter einem Schwellenwert liegt, dann wird das 3D-Modell mit mindestens einem Teil des Videosegments aktualisiert. Bilder aus dem Videosegment werden beispielsweise basierend auf den visuellen Ausrichtungs- und Positionierungsinformationen, die mit dem Videosegment verknüpft sind, in das 3D-Modell eingebunden. Falls der Zählwert der einen Kandidaten-Änderungsregion oder der mehreren Kandidaten-Änderungsregionen dem bestimmten Schwellenwert entspricht oder diesen überschreitet, wird das Videosegment unter Umständen nicht zur Aktualisierung des 3D-Modells verwendet oder andernfalls gelöscht. Ein Vorteil dieser Art der Aktualisierung des 3D-Modells ist die Sicherstellung, dass Änderungen an dem 3D-Modell basierend auf neuen Videosegmenten schrittweise vorgenommen werden.
-
Wie zuvor beschrieben müssen Benutzer in manchen Ausführungsformen möglicherweise eine Einstellung auswählen und/oder eine Anwendung installieren, um die Vorteile der hierin beschriebenen Techniken zu erhalten. 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. Beispiel kann eine Identität des Benutzers so behandelt werden, dass für den Benutzer keine persönlichen Informationen ermittelt bzw. ein aktueller oder im Verlauf erscheinender Standort des Benutzers verallgemeinert werden kann, während Standortinformationen (z. B. Stadt, Postleitzahl- oder Bundesstaat) empfangen werden, so dass eine spezifische Position eines Benutzers nicht bestimmt werden kann.
-
1 veranschaulicht einen Bilderfassungsprozess 100, der möglicherweise eingesetzt wird. In vielen Situationen sind Benutzer in der Lage, ein Mobilgerät zu verwenden, um eine Wegbeschreibung zu dem Standort zu erhalten. Ein Benutzer kann beispielsweise eine Anfrage nach einer Wegbeschreibung zu einem Standort, wie einem berühmten Restaurant, in eine Anwendung eingeben, die auf dem Mobilgerät installiert ist. Daraufhin zeigt die Anwendung möglicherweise eine Wegbeschreibung in Echtzeit zu diesem Standort auf einem Anzeigebildschirm des Geräts an.
-
Unter Verwendung desselben oder eines anderen Geräts kann der Benutzer bei Ankunft an dem Standort Videosegmente der Umgebung aufnehmen. Wie in 1 dargestellt, kann ein Benutzer oder können mehrere Benutzer 105 beispielsweise ein Gerät wie ein Mobilgerät 101 verwenden, um Bilder von Objekten (z. B. Gebäude 102, 104 und 106) am Standort aufzunehmen. In den von den Benutzern 105 aufgenommenen Videosegmenten sind möglicherweise Bilder von Menschen, Orten oder Dingen von Interesse an dem Standort erfasst, wobei der Winkel in der Regel senkrecht zum Boden ist oder wo das Mobilgerät 101 auf dem Boden oder in der Nähe des Bodens positioniert ist.
-
In einigen Situationen werden die Benutzer 105 möglicherweise aufgefordert, Bilder von ihrer Umgebung aufzunehmen, sobald sie beim Standort ankommen. Eine auf dem Mobilgerät 101 installierte Anwendung kann beispielsweise einen oder mehrere der Benutzer 105 auffordern, am Standort ein kurzes Videosegment in einer beliebigen oder bestimmten Richtung aufzunehmen. Die Bilder können Objekte an dem Standort erfassen, die möglicherweise von Interesse für die Benutzer 105 oder andere Benutzer der Anwendung sind. Die Ankunft eines Benutzers beim Standort kann mithilfe eines globalen Positionsbestimmungsdiensts (z. B. GPS) erfasst werden. In dieser Hinsicht ist das Mobilgerät 101 möglicherweise mit GPS-Komponenten ausgestattet, die zur Feststellung verwendet werden können, wann einer oder mehrere der Benutzer 105 bei dem Standort ankommt oder ankommen.
-
Wenn eine Reihe von Benutzern Bilder von ihrer Umgebung an einem Standort aufnehmen, können diese Bilder zur Aktualisierung und Pflege eines 3D-Modells verwendet werden, das mit diesem Standort verknüpft ist. Zur Aufnahme von Bildern sind die Mobilgeräte des Benutzers möglicherweise mit einer Kamera oder anderen Arten von Bilderfassungskomponenten ausgestattet, die in das Gerät eingebunden sind. Das Mobilgerät 101 kann beispielsweise eine Kamera beinhalten, die digitale Bilder von Objekten aufnehmen kann, wie eine digitale Standbildkamera, eine digitale Videokamera und/oder einen Bildsensor. Diese Bilder können in konventionellen Formaten wie JPEG oder MPEG oder in andere Arten von Formaten gespeichert werden. Die Bilder können lokal in einem Speicher des Mobilgeräts 101, wie einem RAM oder einer Flash-Karte gespeichert werden. Alternativ können die Bilder aufgenommen und entfernt gespeichert werden.
-
Wie zuvor beschrieben können Benutzer von Mobilgeräten Bilder von Personen, Orten oder Dingen von Interesse an verschiedenen Standorten aufnehmen. üblicherweise können die Bilder so viele Objekte wie mit dem Standort verknüpft (wie Straßenbeleuchtungen, Schilder und Werbungen, Berge, Bäume, Skulpturen, Gewässer, Fassaden usw.) mit so vielen Details enthalten, wie das mit einem Bilderfassungsgerät möglich ist. Zusätzlich zu der Zuordnung zu einem Standort sind die Bilder auch Informationen zugeordnet, die die Ausrichtung der Bilder anzeigen. Die Ausrichtung der Bilder kann zum Beispiel einfach einem Kamerawinkel entsprechen, wie einem Winkel von 30° östlich vom geografischen Nordpol und 2° vom Boden. Wenn die Bilder 360°-Panoramaansichten sind, die an einem Standort zentriert sind, kann die Ausrichtung den Teil der Bilder anzeigen, der bei Blick in Richtung Norden der Kameraposition in einem Winkel direkt parallel zum Boden entspricht.
-
2A–B zeigt die Kamera-Ausrichtungsparameter für ein Gerät wie das Mobilgerät 101 in 1. Die Kameraausrichtungsparameter können in drei Dimensionen wie zum Beispiel die Achsen X, Y und Z ausgedrückt werden, wobei die X-Achse eine Breitengradposition, die Y-Achse eine Längengradposition und die Z-Achse eine Position des Geräts relativ zur Ebene angeben, die senkrecht zur Lotrichtung, z. B. dem Boden, ist. Es wird der Verständlichkeit und nicht der Beschränkung halber angenommen, dass der Kamerawinkel relativ zur Ausrichtung des Geräts 101 festgelegt ist. In diesem Zusammenhang veranschaulicht 2A einen möglichen Nickwinkel des Geräts 101 (bei Blick in Richtung der linken Seite des Geräts) relativ zum Boden.
-
2B veranschaulicht einen möglichen Breitengrad-/Längengradwinkel des Geräts 101 (bei Blick von oben auf die Oberseite des Geräts), z. B. die Kamerarichtung, in der die Kamera relativ zum Breitengrad und Längengrad zeigt. Zusammen definieren die Neigung und der Breiten-/Längengradwinkel eine Kamerahaltung oder einen Standort und eine Ausrichtung. Der Rollwinkel (die Rotation um die Y-Achse des Geräts 101), der Gierwinkel/Azimutwert und/oder die Höhe werden möglicherweise auch erfasst. Diese und andere bildspezifische Informationen können als numerische Werte von einem Beschleunigungsmesser (nicht dargestellt) oder einer anderen Komponente im Gerät 101 ausgegeben, von dem Prozessor des Geräts verwendet und in dem Speicher des Geräts 101 gespeichert werden.
-
Nach der Aufnahme der Bilder können sie zum Aufrufen und Aktualisieren eines 3D-Datenmodells verwendet werden, das mit dem Standort verknüpft ist. Es kann zum Beispiel eine Anwendung eingesetzt werden, um Informationen zum Bild wie einen Standort und die visuelle Ausrichtung der Objekte in den Bildern zu identifizieren. Dann werden die relevanten Informationen bezüglich der Bilder möglicherweise einem System zur Identifizierung eines entsprechenden Datenmodells eines Standorts bereitgestellt, an dem die Bilder aufgenommen wurden. Ein Beispiel eines Systems zur Verarbeitung dieser Arten von Bildern, die zur Aktualisierung eines Datenmodells verwendet werden, ist nachfolgend mit Bezugnahme auf 3 weiter beschrieben.
-
3 illustriert ein Bildverarbeitungssystem 300 zum Empfangen einer Anzahl an Eingangsbildern 308, Analysieren der Bilder auf relevante Informationen und Aktualisieren eines Datenmodells, das mit einem Standort verknüpft ist, der in den Bildern 308 dargestellt wird. Wie gezeigt verfügt das System 300 unter Umständen über eine Reihe von Filtermodulen, um einen Standort und eine visuelle Ausrichtung zu identifizieren, die mit den Eingangsbildern 308 verknüpft sind. Die Module können beispielsweise einen Standortabgleichsfilter 310 zur Bestimmung eines mit einem Eingangsbild verknüpften Standorts und einen Filter für die visuelle Ausrichtung 312 zur Bestimmung der Ausrichtung von Objekten, die in dem Bild abgebildet sind, beinhalten. Es können auch andere Module (nicht gezeigt) eingesetzt werden. Die Filtermodule können verschiedene Techniken zum Analysieren von Bildern einsetzen. Die Filter für die visuelle Ausrichtung 312 kann beispielsweise Software beinhalten, um die Ausrichtung von Objekten zu analysieren, die in einem Eingangsbild abgebildet sind.
-
Die Module werden als mit einer Datenbank oder mehreren Datenbanken 314 verbunden gezeigt. Diese Datenbanken können Datenmodelle speichern, die mit einem Standort verknüpft sind, der dem Ort entsprechen kann, an dem die Bilder 308 erfasst wurden. Diese Module können in Reihe oder auf parallele Weise arbeiten. Ein anderes Modul 316 des Systems 300 verwendet möglicherweise die Ergebnisse der Filtermodule, um zum Beispiel die Datenmodelle in den Datenmodell-Datenbanken 314, die mit einem Standort verknüpft sind, zu aktualisieren, zu korrigieren und ihnen Daten hinzuzufügen.
-
Zur Lokalisierung eines Datenmodells, das den Eingangsbildern entspricht, verwendet das System 300 möglicherweise die Ergebnisse des Standortabgleichsfilters 310. Das System 300 kann zum Beispiel ein Datenmodell auswählen, dass Positionsinformationen innerhalb eines überlappenden Bereichs mit den Positionsinformationen beinhalten, die mit Eingangsbildern 308 verknüpft sind.
-
Danach werden möglicherweise Bildprojektionen, die mit den Datenmodellen verknüpft sind, zur Rekonstruktion eines Zielbilds verwendet, das eine bestimmte Ansicht des Standorts abbildet, der von dem Datenmodell wiedergegeben wird. Dieser Prozess zur Rekonstruktion eines Zielbilds basierend auf einem Datenmodell wird nachfolgend unter Bezugnahme auf 4 näher beschrieben.
-
4 veranschaulicht Aspekte 400 des Bildverarbeitungssystems 300 aus 3, wie zuvor beschrieben. Wie gezeigt kann die mit einem Datenmodell verknüpfte 3D-Geometrie 416 eine Reihe von Bildprojektionen 416A–E beinhalten. Jede der Bildprojektionen kann mehrere zugehörige Bilder beinhalten, die zum Beispiel in einem Videosegment aufgenommen wurden. Wenn die Bildprojektionen 416A–E anhand der in jedem zugehörigen Bild gespeicherten Informationen zusammengeführt werden, wird möglicherweise ein Zielbild 426 rekonstruiert, das Objekte (z. B. Gebäude 102–106) an dem Standort abbildet, an dem die zugehörigen Bilder aufgenommen wurde. Zur Bestimmung, ob ein Datenmodell mit einem Satz an Eingangsbildern überstimmt, die an einem Standort aufgenommen wurden, können die Eingangsbilder mit der 3D-Geometrie 416 verglichen werden, die mit dem Datenmodell verknüpft ist.
-
5 veranschaulicht eine Bildvergleichstechnik 500. Wie gezeigt kann ein Bild oder können mehrere der Eingangsbilder 508 mit Bildprojektionen einer 3D-Geometrie 416 verglichen werden. Eine Übereinstimmung zwischen den Eingangsbildern 508 und den Bildprojektionen kann anhand von Informationen, die mit beiden Bildern verknüpft sind, bestimmt werden. Diese Informationen können Informationen zur visuellen Ausrichtung beinhalten, die möglicherweise eine visuelle Ausrichtung von Objekten anzeigen, die in den Bildern abgebildet sind. Falls die Informationen zur visuellen Ausrichtung, die mit den Eingangsbildern 508 und den Bildprojektionen verknüpft sind, übereinstimmen, dann stimmt eines oder mehrere der Eingangsbilder 508 mit dem einen Bild oder den mehreren Bildern von den Bildprojektionen überein.
-
In einigen Aspekten kann eine weitere Übereinstimmung zwischen den Eingangsbildern 508 und den Bildprojektionen bestimmt werden, indem eine visuelle Korrelation zwischen Objekten, die in beiden Bildern abgebildet sind, analysiert wird. In diesem Zusammenhang werden möglicherweise bestimmte Objekte, die in den Eingangsbildern 508 abgebildet sind, wie Fahrzeuge oder Personen, entfernt oder anderweitig ignoriert oder die Eingangsbilder 508 werden möglicherweise vorverarbeitet, um den Vergleich der Eingangsbilder 508 mit den Bildprojektionen zu vereinfachen.
-
Falls keine überstimmenden Bilder zwischen den Eingangsbildern 508 und den Bildprojektionen der 3D-Geometrie 416 gefunden werden, dann werden die Eingangsbilder 508 unter Umständen verworfen oder in einigen Fällen dazu verwendet, neue Bilder des Standorts zu modellieren, die zuvor nicht in das Datenmodell integriert wurden. Falls eine Übereinstimmung zwischen den Eingangsbildern 508 und den Bildprojektionen der 3D-Geometrie 416 gefunden wird, dann werden die übereinstimmenden Bilder analysiert, um eine Reihe von Änderungsregionen zu ermitteln.
-
6 veranschaulicht eine Bildanalysetechnik 600. Wie gezeigt können eine Reihe von Änderungsregionen 611–615 und 621–625 zwischen den Eingangsbildern 508 und den Bildprojektionen der 3D-Geometrie 416 festgestellt werden. Jede Änderungsregion repräsentiert einen Kandidaten-Bereich, der einen Bereich visuellen Unterschieds zwischen übereinstimmenden Bereiche der Eingangsbilder 508 und der Bildprojektionen anzeigt. Wie beispielsweise in 6 gezeigt kann eine Änderungsregion 615 von den Eingangsbildern 508 mit einem bestimmten Bereich der Bildprojektionen der 3D-Geometrie 416 überstimmen, der von der Änderungsregion 625 repräsentiert wird.
-
Ein Score für die übereinstimmenden Änderungsregionen kann mithilfe der Bildanalyse bestimmt werden. Der Score kann beispielsweise auf einer Korrelation zwischen Unterschieden zwischen visuellen Merkmalen von Objekten basieren, die in den übereinstimmenden Bildern abgebildet sind. Der Score kann ferner oder alternativ auf einer Korrelation zwischen anderen Bildinformationen und Objekten, die in den Bildern abgebildet sind oder auf anderen konventionellen Bildanalyseverfahren basieren. Falls der Score für eine bestimmte übereinstimmende Änderungsregion einen bestimmten Schwellenwert erreicht, kann festgestellt werden, dass sich ein bestimmter Bereich des Standorts, der von der Änderungsregion abgedeckt wird, signifikant verändert hat.
-
Wenn der mittels der Bildanalyse ermittelte Zählwert der Änderungsregionen unter einem vorbestimmten Schwellenwert liegt, dann wird das Datenmodell möglicherweise mit einem oder mehreren der Eingangsbilder 508 aktualisiert. Dies kann sicherstellen, dass die Änderungen an dem 3D-Modell schrittweise vorgenommen werden. Alternativ werden die Eingangsbilder 508, falls der Zählwert der Änderungsregionen dem vorbestimmten Schwellenwert entspricht oder diesen überschreitet, nicht zur Aktualisierung des Datenmodells verwendet und möglicherweise gelöscht.
-
7 veranschaulicht eine Aktualisierungstechnik 700, die zum Beispiel zur Aktualisierung eines Datenmodells eines Standorts verwendet werden kann. Zur Aktualisierung eines Datenmodells eines Standorts, der in einer Datenmodell-Datenbank 314 gespeichert ist, kann ein Eingangsbild oder können mehrere Eingangsbilder 508 in eine 3D-Geometrie von Bildern 416 eingebunden werden, die mit dem Datenmodell verknüpft ist. Wie zuvor erörtert kann diese Aktualisierung auf den Informationen zur visuellen Ausrichtung und den Positionsinformationen, die mit dem Eingangsbild 508 verknüpft sind sowie den gleichen Informationen der übereinstimmenden Bilder von der 3D-Geometrie 416 basieren. In einigen Fällen kann die Ausrichtung der Eingangsbilder 508 so angepasst werden, dass die Bilder nahtlos in das Datenmodell eingebunden werden können. Die Ausrichtung der Eingangsbilder 508 kann beispielsweise die Aktualisierung und/oder Korrektur eines Blickwinkels der Eingangsbilder 508 beinhalten, damit dieser mit den Bildprojektionen der 3D-Geometrie 416 übereinstimmt, die mit dem Datenmodell verknüpft ist.
-
Es ist unter Umständen durchaus möglich, Aspekte der Bildverarbeitung wie zuvor beschrieben mit einer Anwendung auszuführen, die lokal auf einem Mobilgerät wie einem Mobiltelefon installiert ist, es kann jedoch praktikabler sein, die Verarbeitung sowohl remote als auch lokal (oder eine Kombination aus beidem) durchzuführen. Ein Remote-Computergerät wie ein Anwendungsserver kann beispielsweise einige oder alle Aspekte der Bildverarbeitung ausführen.
-
8 ist ein Beispiel eines Systems 800, das Computergeräte zum Durchführen von Aspekten der vorliegenden Offenbarung beinhaltet. Wie gezeigt stellt das System 800 verschiedene Computergeräte dar, die allein oder in einer vernetzten Konfiguration verwendet werden können. Diese Figur illustriert zum Beispiel ein Computernetzwerk, das eine Vielzahl von Computern 802 und 820 sowie andere Arten von Mobilgeräten wie ein Mobiltelefon 830, ein PDA 840 und ein Laptop/Netbook 850 umfasst. Diese verschiedenen Geräte können über einen lokalen Bus oder eine direkte Verbindung 818 miteinander verbunden sein und/oder können über ein Kommunikationsnetzwerk 895 wie ein LAN, WAN, das Internet usw. gekoppelt sein, das verdrahtet oder drahtlos sein kann.
-
Jedes Computergerät kann zum Beispiel Benutzereingabegeräte wie eine Tastatur 824 und eine Maus 826 und/oder verschiedene andere Arten von Eingabegeräten wie Eingabestifte, Joysticks, Tasten, Touchscreens usw. sowie ein Anzeigegerät 822 beinhalten, das zum Beispiel eine CRT, ein LCD, einen Plasmabildschirm-Monitor, ein TV-Gerät, einen Projektor usw. beinhalten könnte. Jeder Computer 802 und 820 kann ein Personalcomputer, ein Anwendungsserver usw. sein. Nur als Beispiel kann der Computer 820 ein Personalcomputer sein, während der Computer 802 ein Server sein kann. Datenbanken wie die Datenmodell-Datenbank 314 sind für einen oder mehrere der Server oder anderen Geräte des Systems 800 zugänglich.
-
9 ist ein Blockdiagramm eines Systems 900, das möglicherweise wie hierin beschrieben zur Pflege einer Datenmodell-Datenbank verwendet werden kann. Wie gezeigt, beinhaltet das System 900 einen Server 902, der mit einem Netzwerk 995 gekoppelt ist und eine Anzahl an Client-Geräten, wie die Client-Geräte 930 und 940, die über das Netzwerk 995 mit dem Server 902 kommunizieren können. Der Server 902 kann einen Prozessor 904, einen Speicher 906 und andere Komponenten beinhalten, die üblicherweise in Universalcomputern vorhanden sind.
-
Der Speicher 906 des Servers 902 kann Informationen speichern, die für den Prozessor 904 zugänglich sind, einschließlich Anweisungen 908, die vom Prozessor 904 ausführt werden können und Daten 912. Der Speicher 906 kann eine Art von Speicher sein, der betriebsfähig ist, um für die Prozessor 904 zugängliche Informationen zu speichern, der ein nichttransitorisches computerlesbares Medium oder ein anderes Medium, das Daten speichert, die mithilfe eines elektronischen Geräts gelesen werden kann, wie eine Festplatte, eine Speicherkarte, Read-Only-Memory („ROM”), Random-Access-Memory („RAM”), Digital Versatile Disk („DVD”) oder andere optische Platten sowie andere beschreibbare und schreibgeschützte Speicher. Der hierin offenbarte Gegenstand kann verschiedene Kombinationen des Vorangehenden beinhalten, wobei verschiedene Teile der Anweisungen 908 und Daten 912 auf verschiedenen Arten von Medien gespeichert sind.
-
Auch wenn 9 den Prozessor 904 und den Speicher 906 funktionsmäßig als im selben Block befindlich darstellt, können der Prozessor 904 und der Speicher 906 tatsächlich mehrere Prozessoren und Speicher beinhalten, die im gleichen physischen Gehäuse untergebracht sein können oder nicht. Manche der Anweisungen 908 und Daten 912 können zum Beispiel auf einer entfernbaren CD-ROM und andere innerhalb eines schreibgeschützten Computerchips gespeichert werden. Einige oder alle der Anweisungen und Daten können an einem Standort gespeichert werden, der physisch vom Prozessor entfernt ist, zu dem der Prozessor 904 aber trotzdem Zugang hat. Desgleichen kann der Prozessor 904 eine Reihe von Prozessoren umfassen, die parallel betrieben werden können oder nicht.
-
Die Daten 912 können vom Prozessor 904 gemäß den Anweisungen 908 abgerufen, gespeichert oder bearbeitet werden. Zum Beispiel, obwohl die vorliegende Offenbarung nicht durch eine bestimmte Datenstruktur eingeschränkt ist, können die Daten 912 in Computer-Registern, in einer relationalen Datenbank als eine Tabelle mit einer Vielzahl von verschiedenen Feldern und Datensätzen, XML-Dokumente oder flache Dateien gespeichert werden. Die Daten 912 können auch in einem computerlesbaren Format wie zum Beispiel, aber nicht beschränkt auf binäre Werte, ASCII oder Unicode formatiert sein. Nur als weiteres Beispiel können die Daten 912 als Bitmaps gespeichert werden, die Pixel umfassen, die in komprimierten oder unkomprimierten oder verschiedenen Bildformaten (z. B. JPEG), vektorbasierten Formaten (z. B. SVG) oder Computeranweisungen zum Zeichnen von Grafiken gespeichert sind. Darüber hinaus können die Daten 912 Informationen umfassen, die ausreichend sind, um die relevanten Informationen, wie Ziffern, beschreibenden Text, proprietäre Codes, Zeiger, Verweise auf in anderen Speichern (einschließlich anderer Netzwerkorte) gespeicherte Daten oder Informationen, die von einer Funktion verwendet werden, um die relevanten Daten zu berechnen, zu identifizieren.
-
Datenmodell-Datenbanken 914 des Servers 902 können Datenmodelle speichern, die ein 3D-Modell eines Standorts wiedergeben, das möglicherweise an die Client-Geräte 930 und 940 übertragen wird. Jedes Datenmodell kann mit einer 3D-Geometrie von Bildern verknüpft sein, die Bilder beinhalten, die an dem Standort aufgenommen wurden. Bildprojektionen von der 3D-Geometrie können zur Rekonstruktion eines Zielbilds verwendet werden, das die Objekte an diesem Standort abbildet. Die Datenmodell-Datenbanken 914 können Informationen beinhalten, die relevant für die 3D-Geometrie von Bildern sind, wie Informationen zur visuellen Ausrichtung, Breiten-/Längengrad-Koordinaten, die die Standorte repräsentieren, an denen die Bilder aufgenommen wurden sowie andere Arten von relevanten Daten. Auch wenn der hierin offenbarte Gegenstand nicht auf ein bestimmtes Positionsbezugssystem begrenzt ist, können der Verständlichkeit halber Breiten-/Längengradpositionen verwendet werden, wenn auf Standorte Bezug genommen wird, die mit Datenmodellen verknüpft sind.
-
Der Server 902 kann sich an einem Knoten des Netzwerks 995 befinden und in der Lage sein, direkt oder indirekt mit anderen Knoten des Netzes 995 zu kommunizieren. Der Server 902 kann beispielsweise einen Webserver umfassen, der in der Lage sein kann, über das Netzwerk 995 mit den Client-Geräten 930 und 940 zu kommunizieren, indem er das Netzwerk 995 benutzt, um Informationen zu übertragen und sie über ein Display 941 des Client-Geräts 940 einem Benutzer anzuzeigen. Auch der Server 902 kann eine Vielzahl von Computer – z. B. eine lastausgeglichene Serverfarm – beinhalten, die Informationen mit verschiedenen Knoten eines Netzwerks austauschen, um Daten von den Client-Geräten 930 und 940 zu empfangen, zu verarbeiten und an sie zu senden. In diesem Fall werden sich die Client-Geräte 930 und 940 in der Regel noch an anderen Knoten des Netzwerks 995 befinden als die Computer des Servers 902.
-
Das Netzwerk 995 und dessen Knoten können verschiedene Konfigurationen und Protokolle einschließlich Internet, World Wide Web, Intranet, virtueller privater Netzwerke, WANs, lokaler Netzwerke, privater Netzwerke, die Kommunikationsprotokolle verwenden, die Eigentum eines oder mehrerer Unternehmen sind, Ethernet, WiFi (z. B. 802.11, 802.11b, g, n oder andere Standards), HTTP und verschiedener Kombinationen derselben umfassen. Eine solche Kommunikation kann durch ein Gerät ermöglicht werden, das fähig ist, Daten zu und von anderen Computern wie Modems (z. B. Wähl-, Kabel- oder Lichtwellenleitermodems) und drahtlose Schnittstellen zu übertragen.
-
Obwohl bestimmte Vorteile erhalten werden, wenn Informationen wie oben angemerkt übertragen oder empfangen werden, sind andere Aspekte des hierin offenbarten Gegenstands nicht auf eine bestimmte Übertragungsweise von Informationen beschränkt. In manchen Aspekten können Informationen zum Beispiel über ein Medium wie eine Platte, ein Band oder CD-ROM gesendet werden. Noch darüber hinaus, obwohl manche Funktionen als auf einem einzigen Server mit einem einzigen Prozessor stattfindend angedeutet sind, können verschiedene Aspekte durch eine Vielzahl von Servern implementiert werden, die zum Beispiel Informationen an die Client-Geräte 930 und 940 über das Netzwerk 995 senden.
-
Jedes Client-Gerät 930 und 940 kann ähnlich wie der Server 902 konfiguriert sein, mit einem Prozessoren 942, einem Speicher 944, Anweisungen 946, Daten 948 und allen internen Komponenten, die üblicherweise in einem Personalcomputer zu finden sind. Nur als Beispiel kann das Client-Gerät 940 eine zentrale Prozessoreinheit (CPU), ein Anzeigegerät 941 (zum Beispiel einen Monitor mit einem Bildschirm, einen Projektor, einen Touchscreen, einen kleinen LCD-Bildschirm, einen Fernseher oder ein anderes Gerät wie ein elektrisches Gerät, das betrieben werden kann, um von dem Prozessor 612 verarbeitete Informationen anzuzeigen), CD-ROM, Festplatte, Benutzereingabegeräte (nicht dargestellt) wie eine Tastatur, eine Maus, einen Touchscreen oder ein Mikrofon, Lautsprecher, ein Modem und/oder ein Netzwerkschnittstellengerät (Telefon, Kabel oder Sonstiges) und alle der Komponenten beinhalten, die zum Verbinden dieser Elemente miteinander verwendet werden.
-
Das Client-Gerät 940 kann ein Computergerät sein. Das Client-Gerät 940 kann zum Beispiel ein Laptop-Computer, ein Netbook, ein Desktop-Computer und ein tragbarer Personalcomputer wie ein zur drahtlosen Kommunikation fähiger PDA, ein Tablet-PC oder eine andere Art von Computergerät sein, das fähig ist, Informationen über ein Netzwerk wie dem Internet zu erhalten. Obwohl Aspekte der Offenbarung im Allgemeinen ein einziges Client-Gerät 940 betreffen, kann das Client-Gerät 940 als mehrere Geräte mit sowohl tragbaren als auch nicht tragbaren Komponenten implementiert sein (z. B. Software, die auf einem rackmontierten Server mit einer Schnittstelle zum Sammeln von Standortinformationen ausgeführt wird).
-
Obwohl das Client-Gerät 940 einen Personalcomputer voller Größe beinhalten kann, kann der Gegenstand der vorliegenden Offenbarung auch in Verbindung mit Mobilgeräten verwendet werden, die zum drahtlosen Austauschen von Daten fähig sind. Das Client-Gerät 940 kann zum Beispiel ein zur drahtlosen Kommunikation fähiges Mobilgerät wie ein Smartphone oder ein Internet-fähiges Mobiltelefon sein. In beiderlei Hinsicht kann der Benutzer Informationen unter Verwendung einer kleinen Tastatur, eines Tastenfelds, eines Touchscreens oder eines anderen Mittels zur Benutzereingabe eingeben. In verschiedenen Aspekten können die hierin beschriebenen Client-Geräte und Computer ein Gerät umfassen, das zum Verarbeiten von Anweisungen und Übertragen von Daten zu und von Personen und anderen Geräten und Computern fähig ist.
-
Das Client-Gerät 940 kann eine geografische Positionskomponente 947 wie beispielsweise Schaltkreise zur Bestimmung der geografischen Position des Geräts 940 beinhalten. Das Client-Gerät 940 kann beispielsweise einen GPS-Empfänger zur Bestimmung der Breiten- und Längengradposition des Geräts beinhalten. Auf diese Weise kann der GPS-Empfänger eine neue aktuelle Position bestimmen, wenn das Client-Gerät 940, z. B. dadurch, dass es physisch bewegt wird, den Standort wechselt. Nur als Beispiel kann die Komponente 947 Software beinhalten, um die Position des Geräts anhand anderer auf dem Client-Gerät 940 erhaltener Signale zu bestimmen, wie Signale, die an einer Mobiltelefonantenne von einem Mobilfunkmast oder mehreren Mobilfunkmasten empfangen wurden, wenn es sich bei dem Mobilgerät um ein Mobiltelefon handelt. In dieser Hinsicht kann das Bereitstellen von Standortidentifikationsdaten automatisch auf Basis der von einer derartigen Komponente erhaltenen Informationen erfolgen.
-
Wie in 9 gezeigt kann das Client-Gerät 940 auch ein Bilderfassungsmodul 945 beinhalten. Das Bilderfassungsmodul 945 kann zur Aufnahme eines Videos und/oder von Standbildern von einem Objekt verwendet werden. Das Bilderfassungsmodul 945 kann ein Software-Modul sein, das in Verbindung mit einer Videokamera betriebsfähig ist oder ein Videografikgerät, wie eine digitale Videokamera mit Bildverarbeitungskomponenten, beinhalten. Das Client-Gerät 940 kann zum Beispiel an eine digitale Videokamera angeschlossen werden, die in Verbindung mit dem Bilderfassungsmodul 945 betriebsfähig ist. Das Bilderfassungsmodul 945 kann ebenfalls in Verbindung mit anderen Bilderfassungssystemen betrieben werden, die im Stand der Technik bekannt sind, wie eine Digitalkamera mit Bild- und/oder Videoaufnahmefunktionen, eine Kamera in einem Mobiltelefon, eine Videokamera oder andere Geräte mit Bilderfassungsfunktionen.
-
Zur Bestimmung der Richtung, in der das Client-Gerät 940 ausgerichtet ist, während ein Bild mit dem Bilderfassungsmodul 945 aufgenommen wird, kann das Client-Gerät 940 einen Sensor oder mehrere Sensoren 943 wie z. B. einen Beschleunigungsmesser, ein Gyroskop, einen Kompass oder eine Kombination derselben enthalten. Ein Beschleunigungsmesser kann beispielsweise zur Erkennung einer Ausrichtung des Client-Geräts 940 verwendet werden. Lediglich beispielsweise kann das Client-Gerät 940 den Eingang vom Beschleunigungsmesser verwenden, um den Nick-, den Gier- oder den Rollwinkel (oder Veränderungen derselben) des Client-Geräts zur Lotrichtung oder einer senkrecht dazu stehenden Ebene zu bestimmen. In dieser Hinsicht versteht sich, dass die hier beschriebene Bereitstellung von Ausrichtungsdaten für ein Client-Gerät dem Client-Gerät 940 gegenüber möglicherweise automatisch erfolgen kann. Die von dem einen oder den mehreren Sensoren 943 empfangenen Ausrichtungsdaten können auf verschiedene Weise genutzt werden. Die Ausrichtungsdaten können zum Beispiel mit Bildern verknüpft werden, die von dem Bilderfassungsmodul 945 aufgenommen wurden. Diese Ausrichtungsdaten zeigen möglicherweise die visuelle Ausrichtung von erfassten Bildern in Bezug auf die Richtung des Client-Geräts 940 während der Aufnahme der Bilder an einem Standort an.
-
Die Anweisungen 946 des Client-Geräts 940 können ein beliebiger Satz an Anweisungen sein, die direkt (z. B. Maschinencode) oder indirekt (z. B. Skripte) vom Prozessor ausgeführt werden. In dieser Hinsicht können die Begriffe „Anweisungen”, „Schritte” und „Programme” hierin austauschbar verwendet werden. Die Anweisungen 616 können in Objektcodeformat zur direkten Verarbeitung durch den Prozessor oder in einer anderen Computersprache 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.
-
Zur Erleichterung der Vorgänge bei der Aktualisierung eines 3D-Datenmodells des Systems 900 kann der Server 902 ferner einen Änderungsregionsdetektor 909 zur Erkennung eines Bereichs visuellen Unterschieds zwischen Eingangsbildern und übereinstimmenden Bildern von einem Datenmodell und einen 3D-Bildintegrator zur Einbindung der erfassten Bilder in das Datenmodell beinhalten. Die Funktionalität dieser Module kann in einer kleineren oder größeren Anzahl von Modulen als gezeigt existieren, wobei sich diese Module in einem oder mehreren Computergeräten befinden, die geografisch verteilt sein können. Die Module können in Verbindung mit dem Client-Gerät 940 betriebsfähig sein, von dem sie Standort abbildende Bilder sowie relevante Informationen in Bezug auf diese Bilder empfangen können. Daraufhin können diese Bilder zur Aktualisierung und Pflege von Datenmodellen verwendet werden, die mit den Standorten verknüpft sind.
-
Techniken zur Pflege eines Datenmodells eines Standorts zum Beispiel unter Verwendung des zuvor erörterten Systems 900 werden nachfolgend beschrieben. Es sollte sich verstehen, dass die folgenden Operationen nicht in der nachstehend beschriebenen genauen Reihenfolge durchgeführt werden müssen. Stattdessen, wie oben angemerkt, können verschiedene Vorgänge in einer unterschiedlichen Reihenfolge oder gleichzeitig gehandhabt werden und Vorgänge können hinzugefügt oder weggelassen werden.
-
10 ist ein Flussdiagramm 1000, das ein Beispiel von einigen der zuvor beschriebenen Aspekte veranschaulicht. In der Phase 1010 wird ein Benutzer möglicherweise aufgefordert, ein Videosegment an einem Standort aufzunehmen. Eine auf dem Mobilgerät eines Benutzers installierte Anwendung kann beispielsweise den Benutzer auffordern, am Standort ein kurzes Videosegment aufzunehmen. Dieses Video kann Bilder einhalten, die Objekte an dem Standort abbilden, die möglicherweise für den Benutzer von Interesse sind.
-
In der Phase 1020 wird das in der Phase 1010 aufgenommene Videosegment möglicherweise empfangen. Dieses Videosegment kann Informationen zur visuellen Ausrichtung und Positionsinformationen beinhalten, die mit dem Standort verknüpft sind. Die Positionsinformationen können zum Beispiel eine Breiten-/Längengradposition angeben, die mit einem Standort verknüpft ist, an dem das Segment aufgenommen wurde. Die Informationen zur visuellen Ausrichtung geben eine visuelle Ausrichtung von Objekten, die auf den Bildern abgebildet sind, mit Bezug zur Richtung einer Kamera an, die mit dem Mobilgerät des Benutzers verknüpft ist.
-
In Phase 1030 kann ein Datenmodell aufgerufen werden, das den Standort abbildet. Ein Datenmodell kann beispielsweise aus einer Datenbank ausgewählt werden, wo sich die mit dem Datenmodell verknüpften Positionsinformationen und die Positionsinformationen, die mit dem Videosegment verknüpft sind, überlappen.
-
In der Phase 1040 kann eine Änderungsregion bzw. können mehrere Änderungsregionen zwischen übereinstimmenden Bildern aus dem Videosegment und dem Datenmodell erkannt werden. Jede Änderungsregion repräsentiert einen Kandidaten-Bereich, der einen Bereich visuellen Unterschieds zwischen den Bildern des Videosegments und den Bildprojektionen einer 3D-Geometrie anzeigt, die mit dem Datenmodell verknüpft ist.
-
In der Phase 1045 wird festgelegt, ob ein Zählwert der Kandidaten-Änderungsregionen unter einem Schwellenwert liegt. Falls der Zählwert der Kandidaten-Änderungsregionen unter einem Schwellenwert liegt, wird das Verfahren 1000 unter Umständen automatisch gestoppt. Andernfalls wird das Verfahren 1000 mit der Phase 1050 fortgesetzt.
-
In dieser Phase 1050 kann das Datenmodell basierend auf den Informationen zur visuellen Ausrichtung und den Positionsinformationen, die mit dem Videosegment verknüpft sind, mit mindestens einem Teil des Videosegments aktualisiert werden. Ein oder mehrere der Bilder aus dem Videosegment können beispielsweise in eine 3D-Geometrie von Bildern eingebunden werden, die mit dem Datenmodell verknüpft ist.
-
Da diese und andere Varianten und Kombinationen der oben erörterten Merkmale genutzt werden können, ohne von der Offenbarung wie durch die Ansprüche definiert abzuweichen, sollte die vorstehende Beschreibung der Ausführungsformen als Veranschaulichung statt als Beschränkung der Offenbarung wie durch die Ansprüche definiert angesehen werden. Es versteht sich außerdem, dass die Bereitstellung von Beispielen der Offenbarung (sowie von Klauseln mit der Bezeichnung „wie”, „z. B.”, „einschließlich” und ähnliches) nicht so interpretiert werden sollten, dass sie die Offenbarung auf die spezifischen Beispiele beschränkt, sondern die Beispiele sollen nur einige der vielen möglichen Ausführungsformen veranschaulichen.