Enhanced Scripts Konzeptionierung einer App auf Basis eines Augmented Reality Frameworks
Ablauf Grundlagen Anforderungen Augmented Reality Framework Anforderungsanalyse Strukturierung der Anwendung ARCore & ARKit Umsetzung
Das AVMZ produziert Medien erstellt Lernanwendungen Fotos, Illustrationen, Animationen, Videos, Quizze 360°-Videos & -Bilder erstellt Lernanwendungen Bereitstellung für Medizinstudierende, Mitarbeiter und Schüler der Uniklinik Aachen
Problematik Umfrage: 80% der Medizinstudierenden lernen bevorzugt aus Papierskripten Papierskripte: keine Medien, wie Videos, Animationen, detaillierte Bilder Beispiel Operationstechniken: Lassen sich besser in Videos oder vielen einzelnen detaillierten Fotos zeigen
Ziel Anwendung für Studierende soll digitale Medien mit Papierskripten auf möglichst einfache Art verbinden Dazu: Einbau von „Markern“ in Papierskripte Erstellen einer Anwendung mit welcher die Studierenden Marker einscannen können Darstellung von digitalen Inhalten als Augmented Reality
Augmented Reality Definition von 1997 Zur Umsetzung: Vereinigung von Realität und Virtualität Registrierung in 3D Interaktivität und Echtzeit Zur Umsetzung: Hardware zur Aufnahme der realen Umwelt Software zur Darstellung der virtuellen Objekte
Anforderungen: Funktionen
Anforderungen: Usability Usability = Benutzerfreundlichkeit einfache Bedienung Zuverlässige Interaktion Schnelle Reaktion auf Benutzeraktionen
Anforderungen: Marker Keine expliziten Marker Vorschaubild als Marker zusätzlich Icon zur Kennzeichnung
Anforderungen: Medienarten Fotos, Bilder, 360°-Fotos Illustrationen Videos, interaktive Videos, 360°-Videos Audioinhalte Quizze, Umfragen, Tests Texte, Internetseiten
Anforderungen: Darstellung & Technisches Verfügbarkeit für IOS und Android Darstellung als Augmented Reality
Augmented Reality Framework Übernimmt die Funktionen: Markererkennung Laden des virtuellen Objektes Augmented Reality Darstellung Beispiele: ARToolkit, Vuforia, Wikitude Stellen API für verschiedene Betriebssysteme bereit
Augmented Reality Framework: Funktionsweise ARtoolkit
Augmented Reality Framework: Probleme Abhängigkeit von Entwicklung ARToolkit wurde nicht weiterentwickelt, ist mit heutigen Standards nicht kompatibel Alle Frameworks arbeiten mit expliziten Markern
Augmented Reality Framework: Fazit Für dieses Projekt ungeeignet: Abhängigkeit von Entwickler Explizite Marker zum Teil hohe Kosten
Anforderungsanalyse Markerlose Erkennung: Offlineverfügbarkeit Mit Framework nicht umsetzbar Offlineverfügbarkeit Problem bei großen Datenmengen Implementierung für IOS & Android Webbasierte Applikation Zwei native Applikationen
Webbasierte Applikation Wird über jeweiligen Webbrowser aufgerufen Updates in Echtzeit möglich Dauerhafte Internetverbindung erforderlich Entwicklung einer Applikation für alle Geräte / Betriebssysteme Nicht alle betriebssystemabhängigen Funktionen können benutzt werden
Native Applikation Werden über den jeweiligen Applikations-Store bereitgestellt Betriebssystemabhängige Funktionen können benutzt werden Updates über Applikations-Store Code liegt im Speicher des Gerätes: schnell Nur mit einem Betriebssystem kompatibel
Anforderungsanalyse: Ergebnis Es wird kein Augmented Reality Framework verwendet Die Offlineverfügbarkeit wird zunächst außer Acht gelassen Bilder, Videos, usw. sind zu groß Es werden zwei native Applikationen (IOS & Android) erstellt Bei Augmented Reality müssen alle Funktionen (Kamera / Sensoren) voll ausgeschöpft werden, um ein gutes Ergebnis zu erzielen
Strukturierung der Applikation Modulare Programmierung (3 Funktionsbereiche): Bilderkennung Laden der Daten Darstellung
Bilderkennung Funktionen: Besonderheiten: die Bildmarker im Papierskript erkennen Bild in geeignetem Format aufnehmen Relevante Daten für Augmented Reality Darstellung speichern Position im Raum Besonderheiten: Mehrere Bildmarker auf einer Seite Qualität der Bildaufnahme
Daten laden Funktionen: Besonderheiten: Aufgenommenes Bild mit Datenbank- Bestand vergleichen Bei Übereinstimmung Datensatz aus Datenbank laden Besonderheiten: Bildvergleich bei ähnlichen Bildern Geschwindigkeit
Darstellung Funktionen: Besonderheiten: Augmented Reality Daten ermitteln Lichteinfluss, Winkel des Gerätes Augmented Reality Darstellung des Mediums Besonderheiten: Unterschiedliche Anzeige verschiedener Medien
ARCore API zur Erstellung von Android Applikationen Von Google 2017 veröffentlich Basierend auf drei Technologien: Motion Tracking: Verfolgt die Position des Gerätes relativ zur realen Umwelt Berechnung mithilfe von Feature Points Environment Understanding: Erkennt Größen und Positionen von horizontalen Flächen Erkennung mithilfe von Mustern in Feature Points Light Estimation: Nimmt die aktuellen Lichtverhältnisse auf Notwendig für optimale Augemnted Reality Darstellung Quelle: https://developers.google.com/ar/discover/concepts
ARKIT API zur Erstellung von IOS Applikationen Von Apple 2017 veröffentlich Basierend auf der Technologie „visual-inertial odometry“: Kombiniert Informationen der Hardware mit Berechnungen aus dem Kamerabild Markante Unterschiede im Kamerabild werden erkannt und mit Bewegungsdaten des Gerätes verglichen Dadurch wird Position des Gerätes mit hoher Präzession aufgenommen
Umsetzung: Bilderkennung Android-Anwendung mit ARCore API IOS-Anwendung mit ARKit API Referenzobjekt (hier: Bildmarker) wird hinterlegt Kamerabild wird auf dieses Referenzobjekt hin untersucht Bei Übereinstimmung: Aufnahme des Bildes und Weitergabe an nächstes Modul (Daten laden)
Umsetzung: Bildvergleich und Laden der Daten Erstellung einer Webanwendung Verwendung sowohl für IOS-, als auch für Androidanwendung Webanwendung nimmt Bild von Applikation entgegen und führt Vergleich mit Datenbankbestand durch Verwendung von JavaScript Bibliothek Pixelmatch
Umsetzung: Augmented Reality Darstellung Abruf der relevanten Daten, welche bei Markererkennung gespeichert wurden Position im Raum Ständige Aufnahme von Umgebung Lichteinfluss, Position im Raum, Blickwinkel Umsetzung mit ARKit bzw ARCore
BildQuellen [1]https://www.digitalbodies.net/augmented-reality/using-ar-in-retail-amazon-explores-%20augmented-reality/ [2] https://www.artoolkit.org/documentation/doku.php?id=3_Marker_Training:marker_about [3] https://developers.google.com/ar/discover/concepts [4] https://github.com/mapbox/pixelmatch