camera magna

camera magna

Kann man unsere Welt nur anhand von öffentlich verfügbaren Fotos darstellen?

Mit dieser Frage definierte ich mein Projekt im Fach Data Visualization. Ich wollte eine Datenvisualisierung erstellen, um die Masse an öffentlich zugänglichen Fotos aufzuzeigen.




Exploration

Um Visualisierungstypen zu explorieren, schrieb ich mehrere node.js Scripte, um Fotos in einem Raster von der Plattform flickr herunterzuladen. Zu aller erst stellte ich die Anzahl der Fotos dar. Je deckender eine Kachel der Erde gezeichnet wurde, desto mehr Fotos sind in diesem Bereich entstanden. Anhand der hieraus generierten Grafik konnte ich bereits schließen: Nur anhand der Fotos kann man die grobe Form der Kontinente erstellen. In meiner weiteren Exploration versuchte ich z.B. die Durchschnittsfarbe der Fotos zu errechnen, um so eine farbige Texture der Welt zu generieren. Dies erwies sich als problematisch, da viele Selfies z.B. die Durchschnittsfarbe meist braun / hautfarben werden ließen.



Virtual Reality

Um den Bezug zur Erde zu verstärken, wollte ich untersuchen, ob eine Darstellung im dreidimensionalen Raum mehr Sinn machte. Anstatt der klassischen 2D Karte wollte ich die Fotos wieder auf die Erdkugel bringen. Da dreidimensionale Visualisierungen auf einem zweidimensionalen Bildschirm allerdings meist keinen besonderen Mehrwert bieten, weil die Bedienung unintuitiv erscheint, portierte ich das Projekt kurzerhand auf eine HTC Vive Virtual Reality Brille. Dies setzte ich mit der Game Engine Unity und des frei verfügbaren Steam VR SDKs um.

Um qualitativ höherwertigere Fotos anzeigen zu können, wechselte ich von der flickr-API zur Foto-Community 500px. Durch ein großzügigeres Nutzungslimit der API konnte ich außerdem ein genaueres Raster der Welt generieren.

Mit mehreren node.js Scripten bereitete ich die Daten auf und generierte hochauflösende Texturen für die einzelnen Kategorien von 500px und eine gesamte. Hierbei hat die quelloffene async.js library sehr geholfen.



Die Textur wurde auf eine Spähre gemappt und bildete so die Erdkugel. Dieses schwebte im virtuellen Raum als ca. 1,70m hohes "Exponat" und rotierte sich langsam um die eigene Achse. Dank des Room Scale Tracking der HTC Vive konnten die Nutzer um die Erde herumlaufen und aus allen Perspektiven erkunden. Mit den beiden Controllern konnten die Kategorien durchgewechselt oder eine Foto-Galerie angesehen werden, die die aufgenommen Fotos an einem bestimmten (anvisierten) Punkt der Erde zeigte.




Verarbeitet wurden mehr als 3,2 Millionen Fotos mit über 200 Billiarden Pixel. Insgesamt wurden ca. 3300 Zeilen Code für das Data Mining und das Preprocessing geschrieben, wohingegen die VR-Anwendung mit etwas über 700 Zeilen lief.