TwittAR

Augmented Reality (AR), Mixed Reality (MR) und Virtual Reality (VR) bieten großes Potiental für zahlreiche Anwendungsfälle. Populäre Apps wie Pokémon Go zeigen wie groß die Akzeptanz der Nutzer inzwischen gegenüber derartigen Entwicklungen ist.

Der Forschungsschwerpunkt nextPlace der Hochschule Ostwestfalen-Lippe greift diesen Trend auf um damit aktuelle Forschungsfragen aus dem Kontext von Raum und Zeit zu untersuchen. Als Grundlage dafür haben die Autoren eine Smartphone App mit folgender Prämisse entwickelt: Erweiterung der realen Welt mit sozialen Daten aus der virtuellen Welt, basierend auf Open-Source-Software und ausführbar auf typischer Hardware. Dazu wird die in TwitterGeoStream vorgestellte Applikation um AR-Funktionalität ergänzt.

Grundlagen

Ein wesentliche Punkt bei AR ist die visuelle Anreicherung der realen Welt durch zusätzliche Daten, die so nicht für den Nutzer sichtbar sind. In einem aktuellen typischen Szenario wird die Kamera eines Smartphones als Fenster in die reale Welt genutzt und dabei werden auf dem Live-Vorschaubild zusätzliche Informationen angezeigt. Um dabei den Eindruck des Eintauchens (engl. immersion) in eine tatsächlich angereicherte Realität zu schaffen ist es von Bedeutung, dass die virtuellen Daten entsprechend genau auf etwaige reale Objekte abgebildet werden. Insbesondere die genaue Position und Blickrichtung des Nutzers zu realen Objekten und die dreidimensionale Ansicht von Daten sollte berücksichtigt sein. Die darauf basierende perspektivische Bilddarstellung wird dann durch eine Projektionsmatrix (vgl. [Hartley2003]) erreicht.

AR für Smartphones kann grundsätzlich und je nach Anwendungsfall mittels verschiedener Technologien erreicht werden.

Geo-AR

Bei der sogenannten Geo-basierten AR werden z.B. die GPS Positionsdaten zur Bestimmung des Nutzers in der realen Welt herangezogen. Damit können dann Daten aus dem entsprechenden Umkreis des Nutzers identifiziert werden. Zusätzlich werden weitere im Smartphone vorhandene Sensoren (u.a. Lagesensor, Beschleunigungssensor, Kompass) genutzt, um die Position des Nutzers im Raum weiter zu verfeinern und die genaue Ausrichtung und Blickrichtung zu Erkennen und Verfolgen (engl. tracking).

In [Schmid2014] wurde beispielsweise gezeigt, das Geo-basiertes AR grundsätzlich sinnvoll eingesetzt werden kann. Als wesentlicher Hinderungsgrund für bestimmte Anwendungsfälle wird die Genauigkeit der vorherrschenden Positionsbestimmung via GPS angegeben. Diese beträgt laut den Autoren ca. ± 10m. Entsprechend ist Geo-AR vor allem Sinnvoll auf Objekten bzw. Entfernungen deren Größe größer als diese Abweichung ist.

Bild-AR

Anders als Geo-AR basiert Marker-AR lediglich auf dem Kamerabild. Die Projektion von virtuellen Objekten wird auf sogenannten Markern der realen Welt durchgeführt. Die dedizierten Marker sind z.B. 2D-Barcodes in Größe einer Karteikarte und zeichnen sich typischerweise durch eine simple aber eindeutige visuelle Struktur mit entsprechenden Hell-Dunkelkontrasten aus. Die Kontraste werden als Schlüsselpunkte (engl. feature) erkannt. Diese Punkte werden dann extrahiert (engl. extraction) und permanent mit dem Vorschaubild verglichen (engl. mapping). Deren perspektivische Darstellung zu der Blickrichtung des Nutzers bzw. der Kamera entspricht damit auch der entsprechenden Darstellung der virtuellen Objekte [Kato1999]. Diese Art der Darstellung ist grundsätzlich deutlich präziser als bei Geo-AR. Nachteilig ist insbesondere die Tatsache das Marker als künstliche Objekte in der Welt zum einen anzusehen als auch vorgehalten werden müssen. Um diesen Nachteil zu begegnen werden mittels verschiedene Algorithmen der Bildverarbeitung aus gewöhnlichen Bildern Schlüsselpunkte erkannt und generiert [Fiala2005]. Dieses Bild-basierte (engl. fuidical) Verfahren wird auch als markerloses Verfahren (engl. marker less) oder natürliches Marker-Verfahren (engl. Natural Feature Tracking, NFT)bezeichnet, da es grundsätzlich auch auf Fotos von der realen Welt durchgeführt werden kann.

TwittAR

Die Autoren kombinieren diese beiden Ansätze Geo-AR und Bild-Marker-AR in einer prototypischen Smartphone App um eine möglichste genaue Anreicherung der realen Welt mit virtuellen Twitter-Tweets zu erreichen.

Anwendungsfälle

Zu der aktuellen mit GPS bestimmten Position des Nutzers werden Twitter-Tweets aus der Umgebung in Echtzeit angezeigt (Abbildung 1). Diese Tweets werden wie bei TwitterGeoStream als aufsteigende Seifenblasen dargestellt. Die Ausgangsposition der Tweets sind dabei die von Twitter hinterlegten Koordinaten. Je nach Einstellung des Twitter-Nutzers können diese dabei dem tatsächlichen Standort des jeweiligen Nutzers entsprechen. In anderen Fällen wird von der genauen Position abstrahiert und Näherungsweise z.B. ein Platz, Bezirk oder eine Stadt angegeben.

Screenshot: Tweet-Bubbles

Abbildung 1: Screenshot Tweet-Bubbles

Einzelne Tweet-Blasen können nun vom App-Nutzer eingefangen und der Tweet-Text kann als Grafitti auf Objekten der realen Welt, z.B. Häuserfassaden, angezeigt werden. Dazu kann der Nutzer von den entsprechenden realen Objekten in der App aus der Kameravorschau ein Foto generieren und zur Server-Applikation übertragen. Als Ergebnis erhält die App die extrahierten Schlüsselpunkte zu diesem Bild. In der App wird mit diesen Daten der aktuell gewählte Tweet-Text perspektivisch korrekt angezeigt (Abbildung 2).

twittar_screenshot

Abbildung 2: Screenshot Projektion Tweet-Text auf Bild-Marker

An der geografischen Position des Marker-Bildes wird ein entsprechender Geo-Marker hinterlegt, so dass diese Projektionsfläche für andere Nutzer einfach auffindbar ist (Abbildung 3). Sobald andere Nutzer diese Position in geringem Umkreis erreichen wird der Bild-Marker ebenfalls an deren App übertragen und kann für die Projektion genutzt werden.

Screenshot: Geo-Marker

Abbildung 3: Screenshot Geo-Marker

Software-Architektur

Die in TwitterGeoStream entwickelte Software-Architektur ist bereits modular aufgebaut und bietet lose Kopplung und starken Zusammenhalt. Wie in Abbildung 4 hervorgehoben wurden in der Server-Applikation lediglich neue Funktionalitäten hinzugefügt:

Die HTTP-REST Schnittstelle wird um Methoden zum Abfragen, hinzufügen und löschen von Bild-basierten Markern erweitert. Die Tweet-Daten werden ebenfalls via Web-Sockets zwischen Client und Server übertragen, das Datenformat ist aber statt dem CesiumJS-spezifischen CZML ein generisches JSON.

Abbildung 4: Software-Architektur, konzeptionelle Sicht

Abbildung 4: Software-Architektur, konzeptionelle Sicht

In der Anwendungsschicht ist die Fast Retina Keypoint (FREAK) [Alahi2012]-basierte Bilderkennung und Markergenerierung integriert. Dazu wird eine Komponente von ARtoolkit [ARToolkit2016] genutzt, welche wiederum Bibliotheken der etablierten und offenen Bibliothek zur Bildverarbeitung OpenCV [OpenCV2016] nutzt. Das übertragende Bild wird mit dem FREAK-Algorithmus analysiert, es werden markante Bildpunkte erkannt und in ein dediziertes Dateiformat für das ARTolkit überführt. Mittels dieser Bildpunkte wird dann in der Client-App die oben genannte Projektion von virtuellen Objekte im realen Raum durchgeführt.

Die von dem Nutzer für Marker genierten Bilder sowie die extrahierten Bildpunkte werden mittels der Datenzugriffsschicht im Server gespeichert und können so auch von allen anderen Nutzern als Marker angefragt werden. Die Verarbeitungsdauer vom Hochladen eines neuen Marker-Bildes bis zur Projektion dauert wenige Sekunden und ist vor allem von der verfügbaren Netzwerkverbindung beeinflusst.

Der TwittAR-Client ist eine Android-basiert Smartphone App. Diese nutzt im Wesentlichen die beiden Open-Source-Komponeten DroidAR [DroidAR2016] und ARToolkit. Die Darstellung von dreidimensionalen Daten der virtuellen Welt erfolgt mittels OpenGL.

Ausblick

Die TwittAR Smartphone-App ist insbesondere ein technischer Prototyp und ein Werkzeug und bietet eine Grundlage für weitere Untersuchungen. Die App kann dem Nutzer einen Mehrwert bieten und als Gegenleistung generiert und teilt er ebenfalls goereferenzierte Daten. Die von Ihm aufgenommenen Marker-Bilder können nun für weitere Analysen herangezogen werden.

Weiterhin entwickelt sich die Technik zur Bestimmung des Nutzer Raum weiter. So ist z.B. mittels der aus der Robotik bekannten Verfahren der simultanen Lokalisierung und Kartenerstellung (engl. Simultaneous Localization and Mapping, SLAM) das oben erläuterte Erkennen und Extrahieren von Schlüsselpunkten in dem Live-Kamerabild in Echtzeit möglich und kann für die Projektion in der Darstellung genutzt werden. Durch den modularen Aufbau des Prototypen können derartige technische Neuerungen einfach integriert und evaluiert werden.

Demo

Ein Video der Demo Applikation kann bei vimeo.com angeschaut werden:

 

TwittAR from Mark Thomé on Vimeo.

Kommentar hinterlassen