Mobile Augmented Reality Entwicklung einer Smartphone basierten Anwendung Christoph Blut RWTH Aachen University Geodätisches Institut Lehrstuhl für Bauinformatik & Geoinformationssysteme
Christoph Blut Inhaltsverzeichnis Augmented Reality Mobile Augmented Reality System Polygon Triangulierung Augmented Reality Applikation 2 Doktorandenkolloquium 2015
Christoph Blut Augmented Reality 3 Doktorandenkolloquium 2015 Quelle: WikitudeQuelle: NokiaQuelle: MercedesQuelle: BMW
Christoph Blut Mobile Augmented Reality System Nexus 5 Android Full-HD Display 8 MP Kamera mit optischer Bildstabilisierung 32 GB interner Speicher 2 GB RAM Sensoren GPS Gyroskop Beschleunigungsmesser Kompass Barometer Halleffekt 4 Doktorandenkolloquium 2015 Quelle: Google
Christoph Blut Datenbasis … 5 Doktorandenkolloquium 2015 City Geography Markup Language (CityGML) Situationsbedingt Level of Detail (LoD) wählbar
Christoph Blut Augmented Reality - Anwendungsfälle 6 Doktorandenkolloquium 2015 Digitale Bauwerksmodelle Möglichkeiten Visualisierung geplanter Bauwerke Visualisierung historischer Bauwerke
Christoph Blut Augmented Reality - Anwendungsfälle 7 Doktorandenkolloquium 2015 Raum: Volt Raum: 24 Rigips Digitales Bauwerksmodell / Innenraummodell Georeferenziertes (Innenraum)Modell Abruf von Objektinformationen Visualisierung verdeckter Objekte (X-Ray)
Christoph Blut Mobile AR-System Komponenten des AR-Systems Datenverarbeitung Datenimport Datenspeicherung Datenabfrage Datenvisualisierung Polygon Triangulierung Rendering Tracking Tracking des AR-Devices im realen 3D-Raum Positionierung und Ausrichtung der Kamera an ansprechender Stelle im virtuellen 3D-Raum 8 Doktorandenkolloquium 2015
Christoph Blut Mobile AR-System Komponenten des Systems Datenverarbeitung Datenimport Datenspeicherung Datenabfrage Datenvisualisierung Polygon Triangulierung Rendering Tracking Tracking des AR-Devices im realen 3D-Raum Positionierung und Ausrichtung der Kamera an ansprechender Stelle im virtuellen 3D-Raum 9 Doktorandenkolloquium 2015
Christoph Blut CityGML - Parser Umsetzung Datenimport mit CityGML-Parser (Android Pull-XML- Parser) Suche nach vordefinierten XML-Tags in der CityGML-Datei Wird ein XML-Tag gefunden Auslesen der relevanten Informationen und Einfügen in Datenbank 10 Doktorandenkolloquium 2015 Ein Testgebäude Test-Building … DB-Eintrag (Building): -ID: GMLID_BUI151504_544_1149 -Description: Ein Testgebäude -Name: Test-Building …
Christoph Blut CityGML - Datenspeicherung SQLite SQLite liegt Android bei Serverlose, transaktionale SQL Datenbankengine Einzelne Datenbankdatei (austauschbar) SQLite Nachteil Nativ keine räumlichen Funktionalitäten 11 Doktorandenkolloquium 2015
Christoph Blut CityGML - Geometriespeicherung SpatiaLite SpatiaLite ergänzt SQLite um räumliche Operationen Unterstützung von Geometrietypen wie Punkte, Linien und Polygonen und komplexeren Typen wie multiplen Polygonen, im 2D, als auch im 3D- Raum Geometrische Abfragen / Operationen (contains, equals, touches, etc.) Möglichkeit des Aufbaus eines räumlichen Index 12 Doktorandenkolloquium 2015
Christoph Blut Mobile AR-System Komponenten des AR-Systems Datenverarbeitung Datenimport Datenspeicherung Datenabfrage Datenvisualisierung Polygon Triangulierung Rendering Tracking Tracking des AR-Devices im realen 3D-Raum Positionierung und Ausrichtung der Kamera an ansprechender Stelle im virtuellen 3D-Raum 13 Doktorandenkolloquium 2015
Christoph Blut CityGML Polygone CityGML Polygone sind über Punkte definiert Graphics Processing Unit (GPU) kann nur Dreiecke zeichnen CityGML Polygone müssen daher trianguliert werden 14 Doktorandenkolloquium
Christoph Blut Ear Clipping Algorithmus - Aktivitätsdiagramm 15 Doktorandenkolloquium 2015
Christoph Blut Ear Clipping Triangulation Schritt 1 Voraussetzungen prüfen Überschneidungsfreiheit des Polygons Punkte des Polygons müssen geordnet sein (gegen den Uhrzeigersinn) 16 Doktorandenkolloquium
Christoph Blut Ear Clipping Triangulation Schritt 2 Polygon prüfen ob konvex oder konkav 17 Doktorandenkolloquium 2015 konvex konkav ?
Christoph Blut Ear Clipping Triangulation Schritt 3 (Konvexer Fall) Einfache Triangulierung Geordnete Punkte der Reihe nach verbinden Beliebigen Punkt wählen und mit allen anderen Punkten verbinden, außer den direkten Nachbarn 18 Doktorandenkolloquium 2015 konvex
Christoph Blut Ear Clipping Triangulation Schritt 3 (Konkaver Fall) Pseudo-Code while (points.length > 3) earTip = findEarTip() cutEarTip(earTip) classifyPoint(prevNeighbour(earTip)) classifyPoint(nextNeighbour(earTip)) 19 Doktorandenkolloquium 2015 konkav findEarTip: Finde den ersten konvexen Punkt, für den gilt: Kein anderer Punkt liegt im Dreieck, das sich aus dem Punkt und seinen Nachbarn zusammensetzt. Ignoriere dabei alle konvexen Punkte, da diese nicht im Dreieck liegen können. cutEarTip(point): Entferne das Ohr vom Polygon und speichere das Dreieck, das sich aus dem Punkt und seinen Nachbarn bildet. classifyPoint(point): Prüfe ob der Punkt konvex, konkav oder kollinear ist. Gleicher Test, wie oben beschrieben. Speicher
Christoph Blut Ear Clipping Triangulation 20 Doktorandenkolloquium 2015 konkav
Christoph Blut Ear Clipping Triangulation Spezialfall Polygon (mit Loch) Äußerer Ring gegen den Uhrzeigersinn Innerer Ring im Uhrzeigersinn Vorgehen des Algorithmus Die inneren Polygone werden mit dem äußeren Polygon verbunden. Zuerst finde einen geeigneten Punkt des äußeren Polygons um dieses mit dem Inneren zu verbinden Benutze den gefunden Punkt nun um zwei neue Kanten einzufügen um das Polygon „aufzuschneiden“. 21 Doktorandenkolloquium 2015 konkav
Christoph Blut Ear Clipping Triangulation Spezialfall Polygon (mit multiplen Löchern) Dasselbe Verfahren, wie bei einem einzelnen Loch Alle Löcher von rechts nach links mit dem äußeren Polygon verbinden 22 Doktorandenkolloquium 2015 konkav
Christoph Blut Ear Clipping Triangulation Triangulierung im 3D-Raum (3D-Objekt) Projektion der einzelnen Polygone in 2D-Raum Flächennormale des Polygons berechnen und Komponente mit größtem absoluten Wert ignorieren Triangulierung durchführen Anschließend Rücktransformation in 3D-Raum 23 Doktorandenkolloquium 2015
Christoph Blut Ear Clipping Triangulation Nachteile Ear Clipping Algorithmus Bei Polygonen mit unregelmäßiger Punktverteilung können Dreiecke unterschiedlicher Größe entstehen, was zu Grafikfehlern führen kann. Zeitkomplexität: O(n) [konvex]; O(n²) [konkav] Optimierung (Offenes Problem) Implementation der Delaunay-Triangulation Ziel: Erzeugung eines ausgewogeneren Dreiecksnetzes Zeitkomplexität: O(n*log(n)) 24 Doktorandenkolloquium 2015
Christoph Blut Stadtmodell Aachen Testdaten der kompletten StädteRegion Aachen CityGML-Modelle (LoD-2) 8 Städte und 2 Gemeinden 707,1 km² Gebäude und Gebäudeteile Polygone 25 Doktorandenkolloquium 2015 Quelle: TUBS
Christoph Blut 26 Doktorandenkolloquium 2015 Stadtmodell Aachen Quelle der Modelldaten: StädteRegion Aachen
Christoph Blut Darstellungsinformationen Darstellungsinformationen X3D-Material Liefert Darstellungsinformationen für Polygone 27 Doktorandenkolloquium #PolyID58906_886_364949_26381 #PolyID58803_371_698036_77126
Christoph Blut Gebäudevisualisierung 28 Doktorandenkolloquium 2015 Triangulierung + Darstellungsinformationen Quelle der Modelldaten: Karlsruher Institut für Technologie
Christoph Blut 29 Doktorandenkolloquium 2015 Innenraum-Visualisierung Quelle der Modelldaten: Karlsruher Institut für Technologie
Christoph Blut AR-Applikation 30 Doktorandenkolloquium 2015 Quelle der Modelldaten: Karlsruher Institut für Technologie
Christoph Blut Mobile AR-System Komponenten des AR-Systems Datenverarbeitung Datenimport Datenspeicherung Datenabfrage Datenvisualisierung Polygon Triangulierung Rendering Tracking Tracking des AR-Devices im realen 3D-Raum Positionierung und Ausrichtung der Kamera an ansprechender Stelle im virtuellen 3D-Raum 31 Doktorandenkolloquium 2015
Christoph Blut Tracking Aktueller Stand Positionierung per GPS Orientierung über Smartphone interne Sensoren 32 Doktorandenkolloquium 2015 GPS Gyroskop Accelerometer Kompass Näherungs-/ Umgebungslichtsensor Barometer Halleffekt Nexus 5 Sensoren
Christoph Blut Tracking - Optimierung Edge Based Tracking Überlagerung von 3D-Modell und realem Gebäude 33 Doktorandenkolloquium 2015
Christoph Blut Danke 34 Doktorandenkolloquium 2015 Fragen ?