3D Objekterkennung mit AR Kit

von Maximilian von Detten und Kevin Pakula

Kontext des Projekts

Augment Reality kennt jeder, ob es nun Spiele wie Pokémon GO, Designapps wie Ikeas Raumgestalter oder Google Maps mit Fußgänger Funktion sind; Bisher waren die AR-Funktionen meist noch ein Gimmick, um Kunden anzuziehen, oft spielt man damit ein wenig herum, genießt wenige kurzweilige Minuten mit den Applikationen, bis man diese letztendlich deinstalliert oder die AR Funktionen gänzlich ignoriert.

Gründe dafür gibt es viele, zum einem funktioniert die AR-Integration nur mit deutlichen Einschränkungen, welche einen zwingen eine Oberfläche zu finden welche vom Gerät möglichst genau erkannt werden kann oder sogar einen QR Code benötigen, zum anderen sind die Funktionen sehr ungewohnt und nicht alltagstauglich. Eigentlich stellt man sich bei dem Begriff “Augment Reality“ großes vor, Interaktionen zwischen der Welt und genutzten Geräten, erweiterte Realitäten, welche Übergangslos zwischen Bildschirm und Objekt aufrechterhalten werden. Doch die Wirklichkeit sieht anders aus, meistens reicht eine leichte Änderung des Winkels oder Lichts und die Illusion bricht zusammen. Interaktionen ohne Objekte oder Geräte, welche spezifisch dafür gestaltet worden sind stellen sich immer noch als Problem heraus. Doch woran liegt das? Ist AR für immer verdammt nur ein Gimmick zu sein oder gibt es Möglichkeiten in Zukunft mehr aus dieser faszinierenden Technologie herauszuholen?

Diese Fragen haben wir uns vor dem Projekt gestellt, nachdem wir uns mit verschiedenen AR-Integrationen beschäftigt hatten. Unser Ziel war es herauszufinden, was mit AR möglich ist und welche Zukunftsweisenden Technologien es mit sich führt oder zu welchen es führen kann. In Zukunft wird es bessere AR Integrationen geben, wie beispielweise Brillen, welche früher oder später alltagstauglich werden. Um diese nutzen zu können muss noch viel an AR gearbeitet werden. Um herauszufinden, was möglich ist wollten wir dieses Projekt machen.

Da wir nicht weit verbreitete Technologien nutzen wollten, sondern an die aktuellen Grenzen von AR gelangen wollten, fiel die klassische 2D-Bilderkennung heraus. Generell mussten wir für unser Projekt einen Ansatz finden, welcher es ermöglicht den Gebrauch und die Funktionalität von AR zu prüfen. Daher beschlossen wir auf der Basis von 3D Objekterkennung, eine Bauanleitung für Steckbausteinsysteme, mit Darstellung des nächsten anzubringendem Elementes, zu entwickeln.

Hintergrundinformationen AR

Die Ursprünge von Augmented Reality gehen zurück bis in die 60er, in welchen die ersten Konzepte zu Head-Mounted Displays entstanden sind. Die ersten industriellen Entwicklungen gab es folgend in den 90ern, dabei wurde das Anzeigen von manuellen Herstellungsprozessen bei Boeing behandelt; hierbei kam es ebenfalls zur Namensgebung der „Augmented Reality“. In den frühen 2000er Jahren wurde AR immer weiter erschlossen und für Enthusiasten nutzbar gemacht, beispielweise gab es bereits im Jahr 2000 AR Quake, welches als erstes AR Computerspiel gilt und die darauffolgenden Jahre boten verschiedene kleinere AR Implementationen, wie AR Tennis und das Nutzen von AR in Werbekampagnen. Auch aus dem Gebiet der VR-Technologie gibt es inzwischen Geräte wie die Oculus Quest, welche beginnen den Bereich der AR-Technologie mit zu nutzen. An spezifischer Hardware für AR wie zum Beispiel der HoloLens oder den diskutierten Apple Glasses wird mittlerweile von verschiedenen Unternehmen gearbeitet, daher ist es nur noch eine Frage der Zeit bis AR effektiv zu unserem Alltag dazugehören wird und nicht nur eine Spielerei darstellt oder Enthusiasten vorenthalten wird. Mit modernen Smartphones wurden mehr Möglichkeiten erschlossen AR zu implementieren, welches von verschiedenen Apps erfolgreich umgesetzt wurde. Durch verschiedene Trends wie zum Beispiel Pokémon GO fiel AR dazu immer mehr in den Fokus der Gesellschaft; laut Bitkom hat 2019 jeder fünfte bereits AR Anwendungen ausprobiert. Dabei werden Firmen wie Apple eine große Rolle spielen, schon heute kann man in ihren Smartphones Innovationen sehen, welche eine solche Zukunft ankündigen, von mehreren Kameras bis zum Nutzen von LiDAR Scannern. Durch die bessere Bilddaten und das 3D Abtasten des Raumes wird mittlerweile eine immer bessere und genauere Einbindung verschiedener AR Features ermöglicht. Inzwischen ist es möglich, in Echtzeit, mithilfe einer App virtuelle Objekte vor oder hinter realen Objekten darzustellen, ohne Erkennungsprobleme zu haben. Daran kann man leicht sehen, dass genutzte Hardware immer besser den Ansprüchen von AR angepasst wird. Die Entwicklung an AR ist ebenfalls leichter geworden, mit Frameworks wie ARKit oder ARCore, womit jeder eigene Apps entwickeln kann. Jedoch gibt es ebenfalls Probleme, welche mit dem Nutzen von AR eingehen, dabei kann es sich nicht nur um Soft und Hardwareprobleme handeln, auch das Behandeln von Daten und Privatsphäre ist ein Gebiet, welches betrachtet werden muss, um den Erfolg dieser Technologie zu garantieren.

Es gibt verschiedenste Einsatzgebiete von AR, von Spielen bis zur Vermessung ist alles zu finden. Es gibt Apps, welche Sternbilder, Objekte und sogar Satelliten am Himmel anzeigen können, genauso wie Maßbänder, welche über die Kamera Objekte vermessen und spezifische Daten herausgeben. Ebenso kommt AR in der Medizin zum Einsatz, beispielweise durch das Anzeigen von Blutgefäßen oder CT Scans. Professioneller Einsatz ist genauso im Ingenieurswesen wie auch in der Luftfahrt möglich, durch das Einblenden von Stromkreisen in Wänden aber auch Rundumblick im Cockpit und HUD für Piloten. Für den Freizeiteinsatz gibt es mittlerweile immer mehr Spielereien, so ist Pokémon GO eine sehr bekannte AR Anwendung, ein sehr kreativer Einsatz wäre Mario Kart Live Home Circuit, welches kleinen Rennautos mit Kameras nutzt, welche einen Raum in eine Rennstrecke verwandeln. Die Rennstrecke als auch Hindernisse werden dabei digital generiert.

Die Implementierung von AR kann über verschiedene Wege Erfolgen. Man kann zum Beispiel spezielle Marker oder flache Oberfläche nutzen, worauf eine Darstellung erfolgt. Mittlerweile kann man aber auch komplexere Erkennung von Objekten für gewünschte Funktionen nutzen, jedoch sind diese Ansätze deutlich aufwendiger. Dafür gibt es verschiedene Möglichkeiten. Zwei davon wären zum einem die Verwendung von Deep Neural Networks, welche mithilfe von Bilderkennung die Objekte erkennen, wie zum Beispiel Vuforia, ein AR SDK. Eine andere Möglichkeit wäre Apples ARKit, einem Framework, welches das Erstellen von AR Apps für Apple Geräte ermöglicht. Dieses produziert intern eine Repräsentation des 3D Objektes, welches versucht wird in der Welt wiederzuerkennen.

Das Nutzen von Augmented Reality setzt bestimmte Bedingungen voraus, so ist es kaum möglich in sehr dunklen Umgebungen zu arbeiten, da unter diesen Umständen keine Objekte erkannt werden können. Jedoch gibt es Hardware, welche spezifisch für AR genutzt werden kann, um auch unter schlechten Bedingungen verwendbar zu sein und generell bessere Leistung zu ermöglichen. So baut Apple seit der aktuellen 12. Hardwaregeneration einen LiDAR Scanner in iPhones und iPads der Spitzenklasse ein. LiDAR steht für Light Detection and Ranging; mithilfe von Lasern kann damit räumliche Tiefe ermittelt werden, indem der Abstand von Objekten in bis zu fünf Metern gemessen wird. Dadurch kann man deutlich präzisere Ergebnisse bei Vermessung und Tiefenerkennung erhalten. Die Leistung von AR kann ebenfalls durch das Nutzen der multiplen Kameras verbessert werden, wodurch beispielweise die Zeit der Raumabtastung reduziert werden kann. Diese Features bieten schnellere und genauere Ergebnisse bei der Raumerkennung, komplexerer Räume, was bisher die größte Barriere beim Nutzen von AR Features darstellte. Dadurch wird nun präzise 3D Repräsentationen nicht nur einer professionellen Umgebung vorenthalten, welche spezifisch dafür entwickelte Developer Hardware nutzt.

Struktur

Grundlegend wollten wir erfahren, an welche Grenzen der normale Verbraucher beim Nutzen von AR stößt; dabei wollten wir uns mehr mit verfügbaren Technologien befassen und wie man diese effektiv einsetzen kann. Zudem wollten wir herausfinden, ob es zum aktuellen Zeitpunkt sinnvoll wäre AR zu verwenden, anstatt einen herkömmlichen Ansatz zu wählen. Da wir bisher nur Erfahrung in 2D Bilderkennungs-AR hatten, mussten wir zuerst erforschen, mit welcher Technik man zu tun hat und welche Voraussetzungen es für die Entwicklung an AR gibt.

Daraufhin setzten wir uns als Ziel 3D Objekterkennung zu verwenden, um ein Steckbausteinmodell zu erkennen und mithilfe der App fehlende Teile anzeigen zu lassen. Der Gedanke dahinter war, dass man dadurch 3D Objekterkennung testen kann, sowie verschiedene Einschränkungen, wie zum Beispiel fehlende Teile oder dem Verdecken von Teilen des Objektes testen kann. Zudem kann man dadurch die Einschränkungen auf Größe und Detailreichtum analysieren, um einen geeigneten Scan zu erzeugen.

Für das Projekt wurde Unity und ARKit genutzt, für das Gestalten von Objekten wurde Blender gebraucht, für den Buildprozess wurde zuletzt XCode verwendet.

Unity wurde gewählt da dies die einfachste Möglichkeit bot, um virtuelle 3D-Objekte darzustellen und per Skript zu modifizieren. Zudem gibt es native Unterstützung von ARCore und ARKit als auch 3rd-Party-Support von Vuforia.

Um XCode zu verwenden war ein Macbook notwendig, die AR Funktionalität wurde auf einem iPhone 11 Pro getestet. Ein iPhone 12 wurde angedacht, jedoch war es während des Projekts nicht möglich dieses zu erhalten.

Am Anfang des Projektes war es geplant eine App auf Android zu entwickeln. Dazu war es angedacht ARCore von Google zu verwenden. Jedoch ist selbst in der aktuellen Variante von ARCore keine Funktionalität zum Object Tracking gegeben. Die einzigen gegebenen Möglichkeiten sind die Plane Detection zum Erkennen von flachen Flächen, welche auch verwendet werden, um den Raum zu erkennen, als auch die Bilderkennung. Wir versuchten die Bilderkennung auszunutzen, indem wir ein Foto des Objektes aufnahmen und anhand dessen versuchten das Objekt aus demselben Winkel wieder zu erkennen. Dies schlug jedoch fehl, da die Bilderkennung zuerst darauf wartet, dass eine flache Fläche von der Plane Detection erkannt wird, um dann auf dieser nach dem Bild zu suchen.

Vuforia wurde von Vorhinein ausgeschlossen, da es einerseits keine frei verfügbare Technologie nutzt, sondern hinter einer Paywall ist, andererseits ist der Ansatz der Erkennung aus 2D Bildmaterial mit Deep Neural Networks nicht zukunftsfähig, da die Erkennung einfach nur mit roher CPU-Leistung erfolgt. Da die Steigerung der CPU-Fähigkeiten in absehbarer Zukunft vorerst abflachen wird besitzt dieser Ansatz keine langfristige Zukunftstauglichkeit.

Deswegen beschlossen wir Apples ARKit zusammen mit einem geeigneten mobilen Apple Gerät zu verwenden, da dieses native Unterstützung von 3D-Objekt Tracking seit ARKit 3 besitzt. Nachteile daran waren, dass man zum Aufsetzen der App einen Mac benötigt, welcher ausgeliehen werden musste. Wir wollten ein iPhone 12 oder äquivalentes iPad nutzen, um den LiDAR Scanner zusätzlich nutzen zu können, als dies nicht möglich war versuchten wir an anderen iPhones zu gelangen. Die uns zur Verfügung stehenden Geräte waren schlussendlich ein iPhone SE und iPhone 11 Pro. Sofern ein iPhone 12 pro gegeben wäre, hätten wir dieses ebenfalls versucht in unsere Tests einzubinden.

Als wir die Hard und Software festgelegt hatten, ging es daran Scans von Objekten herzustellen, um die 3D Objekterkennung zu testen. Dazu nutzten wir eine von Apple gegebene App zum Scannen von 3D Objekten. Nachdem wir grundlegende Bedingungen für einen erfolgreichen Scan feststellen konnten, versuchten wir diese Informationen dann zu verwenden, um einen Scan, von einem Modell, für unsere Bauanleitung, zu erstellen. Um an diesem Scan die Phantomsteckbausteine darstellen zu können, modellierten wir einen Teil des Modells in Blender nach und platzierten dieses digital an dem Scan. Schlussendlich testeten wir, wie genau die Position des Scans erfasst wird, um die Virtuellen Bauteile darzustellen. Anhand dessen versuchten wir die Ergebnisse auszuwerten und gegebenenfalls die Positionen anzupassen. Zuletzt teilten wir die Bauanleitung in die einzelnen Schritte auf, um das Modell mithilfe der App aufbauen zu können.

Nachdem die App fertig entwickelt war, testeten wir noch weiter die Performance der Erkennung unter verschiedenen Bedingungen und versuchten den initialen Scan noch weiter zu verbessern.

Implementation und Basic Setup 

Aufsetzen des 3D Scanners

Um 3D-Objekterkennung testen zu können ist es möglich verschiedene Applikationen zu nutzen. Eine der besten Umsetzungen davon findet man bei der Apple Developer Dokumentation:

https://developer.apple.com/documentation/arkit/content_anchors/scanning_and_detecting_3d_objects

Hier kann man einen 3D Objektscanner testen. Zum Verwenden muss man das Beispielprojekt herunterladen und mithilfe von XCode builden. Dazu benötigt man ein geeignetes Gerät, welches mindestens einen A9 Prozessor oder höher besitzt, wie in unserem Beispiel ein iPhone 11 Pro. Wenn man das Projekt aufsetzt besteht die Möglichkeit, dass ein Fehler zum Code-Signing geworfen wird; um diesen zu beheben muss man über das Projektverzeichnis auf „Signing and Capabilities“, dort kann man dann ein Team zuweisen.

Die Scanner App funktioniert wie folgt:

In dem ersten Schritt setzt man eine Box um das zu scannende Objekt und sofern alle Maße stimmen kann man den Scan starten und beobachten, wie an allen Seiten Punkte definiert werden, welche zu Objekterkennung dienen. Nach dem Scan kann man entweder einen neuen Scan starten und diesen mit vorherigem Kombinieren oder fortfahren. Beim Kombinieren ist zu beachten, dass unter Umständen das Resultat nicht mehr genau genug ist und beim Nutzen des Scans dadurch Zittern und Anzeigeprobleme entstehen. Zuletzt kann man den Ursprung des Objektes anpassen und es als ARReferenceObject exportieren. Ein ARReferenceObject wird definiert als die digitale Repräsentation eines realen 3D Objektes, welches von ARKit verlangt wird, um es in der Umgebung zu erkennen. Dieses besteht aus den einzelnen Featurepoints und dem dazugehörigen Ursprung.

Umsetzung und Aufsetzen unserer App

Im ersten Schritt muss im Package Manager die für AR nötigen Pakete installiert werden.

Um diese anzuzeigen muss man links oben „Packages: All“ auswählen, und um eine ausreichend aktuelle Version zu erhalten rechts oben die Preview Packages auswählen.

Man benötigt ARFoundation 4.+, ARSubsytems 4.+, und ARKit XR Plugin 4.+.

Unter den Build Settings (File -> Build) muss die Plattform auf iOS gewechselt werden.

Bei den Player Settings muss unter dem Punkt „XR-Plugin“ ARKit aktiviert werden.

Zudem muss ARKit als „required“ angegeben und FaceTracking deaktiviert werden.

Bei dem Unterpunkt „Player“ muss ein Bundle Identifier angegeben werden und in der Camera Usage Description etwas angegeben werden, damit Zugriff auf die Kamera möglich ist.

Zunächst erstellt man unter XR eine Reference Object Library.

Zudem fügt man den erstellten Scan dem Projekt hinzu. Wenn alles richtig aufgesetzt wurde, gibt es zu diesem ein Vorschaubild.

In der Reference Object Libary fügt man ein neues Objekt hinzu, gibt diesem einen Namen und referenziert den Scan. Dieser Scan steht nun zur Verfügung.

Als nächste wählt man die Kamera in der Szene aus und verwandelt diese zu einem XR Rig.

Diesem XRRig fügt man ein AR Session Origin und ein AR Tracked Object Manager hinzu. Dem AR Session Origin gibt man die Referenz zu der Kamera, und dem AR Tracked Object Manager die Referenz der erstellten Reference Object Library.

Zudem erstellt man ein leeres Spielobjekt und fügt diesem eine ARSession und einen AR Input Manager hinzu.

Der Kamera fügt man einen ARCameraBackground hinzu, damit der Kamerafeed als Skybox verwendet wird.

Schlussendlich erstellt man das Objekt, welches man an dem Scan dargestellt haben will. In diesem Tutorial verwende ich dafür einen Default Cube. Diesen speichert man als Prefab ab.

Dieses Prefab referenziert man im AR Tracked Object Manager, der sich an dem XRRig befindet. Damit ist die Szene bereit, um mit AR Objekterkennung zu arbeiten.

Nachdem die App erstellt wurde, wird das im AR Tracked Object Manager angegebene Prefab an der Position des erkannten Scans erzeugt, sobald das gescannte Objekt in dem Kamerablickfeld erkannt wird. Diese Position wird auch weiterhin aktualisiert, solange das Gerät das Objekt weiterhin erkennt. Insofern das Objekt vom Scan nicht erkannt wird, bleibt das Prefab an der zuletzt erkannten Position und bleibt an seiner Position im Raum zurück.

Funktionen und Ablauf unserer App

Bei unserer App richtet man die Kamera auf ein Lego Modell aus, welches als Referenzobjekt gespeichert wurde, sobald das Modell erkannt wird werden die fehlenden Teile auf dem Modell angezeigt. Die Teile wurden auf den korrekten Positionen gespeichert, jedoch ist in verschiedenen Tests aufgefallen, dass diese nicht in jedem Durchlauf gleich angezeigt werden. Daher haben wir Knöpfe eingebaut, welche die Position oder Rotation auf den Achsen anpassen können. Sobald die initiale Position stimmt kann man das gewünschte Teil platzieren und danach mithilfe der Pfeiltasten zum nächsten Teil wechseln. Dieses wird dann an seiner entsprechenden Position angezeigt.

Ergebnisse und Probleme

Zeit und Offset der Erkennung

Ablauf unserer Tests:

Um die Performance der 3D-Objekterkennung zu testen bauten wir einen simplen Versuchsaufbau auf. Dazu verwendet wurden eine Softbox, welche an einem Stativ aufgehängt wurde, ein Handystativ, neutralgraue Pappe, dem iPhone 11 Pro und das Scan-Testobjekt.

Die Pappe wurde als Untergrund genutzt, da wir den Scan nicht mit Umgebungsdetails verfälschen wollten, darauf wurde das Objekt platziert. Über diesem wurde die Softbox an einem Stativ angebracht, um gleichmäßige Lichtverhältnisse zu garantieren, welche ohne Schatten von einer Seite aus sein sollten. Zudem wurde das Handy einmal an einem Stativ angebracht, das andere Mal wurde es Handheld genutzt.

Getestet wurden Zeit zur Erkennung, Position (X, Y, Z) und Rotation (X, Y, Z) der virtuellen Bauteile, im Vergleich zum Ursprung. Dazu wurde die Kamera des Handys auf das Objekt gerichtet und nach dem Starten der App die Zeit gemessen, bis das Objekt erkannt wurde. Daraufhin wurden die Position und Rotation der virtuellen Bauteile manuell an die korrekte Stelle des Modells verschoben. Die einzelnen Tests verliefen einmal von einem festen Punkt aus, wozu ein Handystativ genutzt wurde, das andere Mal wurde das Handy in der Hand gehalten und auf das Objekt gezielt.

Ergebnisse unserer Tests:

Diese Tabelle stellt die Messwerte für Stativ und Handheld Messung da


Aus den Ergebnissen der Tabelle können folgende Boxplots und Diagramme erstellt werden:

Schlussfolgerungen unserer Tests:

In den, aus den Tests gezogenen Werten, gab es einige aussagekräftige Muster. Wenn man Position und Rotation betrachtet, schwanken die Werte beim Handheld Gebrauch deutlich mehr, während beim Stativ diese Werte konsistenter sind. Wir vermuten, dass dies daran liegt, dass beim Stativ die Position nie geändert werden musste und daher immer dieselben Punkte zur Erkennung dienen konnten. Beim Handheld Gebrauch veränderten sich diese Werte durch das leichte Schwanken der Hand und dem dadurch veränderten Blickwinkel.

Auffällig bei Position und Rotation sind zum einen, dass durch das Drehen des Objektes oder Veränderung der Kameraposition die Position und Rotation sehr stark beeinflusst werden. Da andere Punkte des Objektes für das Tracking genutzt werden kann dies starke Auswirkungen auf die virtuelle Darstellung haben. Dies ist uns bei allen unserer Scans aufgefallen. Dies könnte an der Art und Weise des Scannens liegen, da man einen Würfel nutzt, um die Punkte der Objekte zu sammeln und daher die Punkte anhand der 5 sichtbaren Seiten ausgerichtet sind. Anhand der starken Positionsschwankungen zwischen den einzelnen Handheld Versuchen, trotz nahezu identischer Position, kann man erkennen, dass die Scans keine exakte Repräsentation des realen Modells sind, sondern in sich verzogen ist, was zur Folge hat, dass je nach Blickwinkel das Objekt an einer leicht veränderten Position erkannt wird. Der stärkste Unterschied tritt hierbei auf wenn man von einer Scanseite zu einer anderen wechselt.

Betrachtet man nun die Zeit anstelle der Position fällt auf, dass bis auf kleinere Ausnahmen Handheld das Objekt schneller erkannt wird als par Stativ, dies ist uns genauso während unserer Entwicklung aufgefallen, da das Objekt schneller erkannt wurde, wenn man die Kamera nicht statisch hat. Wir vermuten, dass dies daran liegt, dass durch Bewegen des Gerätes mehr Punkte erkennbar gemacht werden und daher die Erkennung schneller erfolgt.

Bei diesem Versuch haben wir nur eine Seite des Objektes betrachtet, dies erschwerte die Platzierung an der genauen Position, da keine Tiefenwahrnehmung auf dem Bildschirm möglich war. Da jedoch der Scan in jedem Fall in sich verzogen ist, war es nicht möglich durch Triangulation die fehlende Tiefenwahrnehmung zu ersetzen.

Einfluss Licht und Abdeckung

Optimale Lichtbedingungen für den Scan wurden von Apple zwar angegeben, bei unseren Tests konnten wir jedoch weitere Eigenschaften feststellen. Uns ist aufgefallen, dass das beste Licht umfassendes Tageslicht wäre, da dadurch die Objekte gut ausgeleuchtet werden und weder viele Schatten noch Reflektionen auftreten. Einer Softbox ist eine Alternative, hierbei ist jedoch zu beachten, dass durch den stärkeren direkten Lichteinfall es zu auffälligeren Schatten und Reflektionen kommen kann, diese sollten wenn möglich vermieden werden. Auch das Verwenden von mehreren, in unserem Fall 8, normalen Lampen, die direkt von verschiedenen Winkeln auf das Modell gerichtet sind, führt zu akzeptablen Scanergebnissen.

Sobald der Scan erkannt wurde besteht die Möglichkeit, dass das Objekt nicht vollständig ist oder von anderen Objekten verdeckt wird und dennoch erkannt wird. Dabei ist uns aufgefallen, dass beim initialen Erkennen das Objekt möglichst genau erkennbar sein sollte, dazu zählt auch ausreichende Beleuchtung, jedoch nach dem Erkennen die Position verändert werden kann und das Objekt zum Teil verdeckt werden kann und es dennoch weiterhin verfolgt wird. Diese Verfolgung benötigt jedoch je nach Scanqualität und Lichtverhältnissen ein paar Millisekunden bis zu einzelnen Sekunden. Genaue Angaben wurden in unseren Versuchen jedoch nicht getestet.

Optimale Objekte

Optimale Objekte müssen viele Details besitzen, da dadurch mehr Punkte genau gesetzt werden können welche für das Tracking genutzt werden können. Eine Weiße Fläche zu Beispiel enthält keine Stellen, welche als Punkte genutzt werden können in Abhängigkeit zum restlichen Objekt. Diese Details müssen zudem einzigartige Punkte sein, da sich wiederholende Muster durch die wiederholende Struktur nicht als Einzigartig eingeordnet werden können. Dadurch ist es möglich, dass Probleme beim Platzieren und Erkennen der Punkte entstehen. Die Objekte sollten zudem keine reflektierenden Oberflächen enthalten, da diese zu anderen Umgebungsbedingungen ein anderes Erscheinen haben und damit das Aussehen des Modells verändern. Dies erschwert die Erkennung jedoch stark, teilweise ist die Erkennung sogar unmöglich.

Als Featurepoints zählen Kanten, Texturwechsel, Übergänge und Ähnliches. Ein beispielweise nahezu Ideales Objekt ist eine Ananas. Diese besitzt eine sehr detaillierte Struktur mit vielen Kanten, viele Farbwechsel auf der Oberfläche, als auch eine gänzlich Matte Oberfläche.

Schlusswort

Mit heutigen Möglichkeiten lässt sich bereits vieles mit AR machen, sei es mit 2D oder 3D Tracking. Für beide Möglichkeiten gibt es verschiedene Umsetzungsmöglichkeiten, welche teilweise rechenlastig und andere hardwareabhängig sind. Mit Optimalen Bedingungen und Objekten kann man bereits heute spektakuläre Dinge erreichen, jedoch muss an der Präzision noch viel gearbeitet werden. Uns hätte es gefreut, wäre Hardware mit LiDAR Scannern verfügbar gewesen, dadurch wären präzisere Ergebnisse möglich gewesen, jedoch können wir zum aktuellen Zeitpunkt nur spekulieren, wie stark der Einfluss davon wäre. Wahrscheinlich wären Messungen präziser, da der Erkennung neben den zweidimensionalen Bilddaten noch die dritte Dimension als Tiefendaten zur Verfügung steht. Auch ohne diese Technologie konnten wir ein Prototyp erstellen, welcher einem bei kleineren Bauanleitungen helfen kann und die Eigenschaften von AR gut nutzen kann. Der Umstieg davon, anhand von 2D Bildern 3D Objekte zu analysieren, und Objekte per Abtastung direkt dreidimensional zu erkennen kann ein großer Sprung für Augmentive Reality sein; In Zukunft können dadurch Projekte wie die Apple Glasses möglicherweise einen ähnlichen Einfluss ausüben wie zum Beispiel Smartwatches einen Weg in unseren Alltag finden.

Referenzen:

AR bei Apple:

https://www.apple.com/de/newsroom/2020/03/apple-unveils-new-ipad-pro-with-lidar-scanner-and-trackpad-support-in-ipados/

https://www.apple.com/de/augmented-reality/

https://developer.apple.com/augmented-reality/arkit/

https://developer.apple.com/documentation/arkit/content_anchors/scanning_and_detecting_3d_objects

Vuforia – 3D Objekterkennung:

https://library.vuforia.com/

AR Spiel in der Geschichte:

http://www.tinmith.net/arquake/

https://ir.canterbury.ac.nz/bitstream/handle/10092/2342/12605408_2006-SIGGRAPH-ARTennis.pdf?sequence=1

https://www.pokemongo.com/de-de/

https://mklive.nintendo.com/

Praktische Anwendungen AR:

https://tweakers.net/files/upload/329676148-Augmented-Reality-An-Application-of-Heads-Up-Display-Technology-to-Manual-Manufacturing-Processes.pdf

https://redshift.autodesk.com/augmented-reality-in-construction/

https://www.airspacemag.com/military-aviation/super-helmet-180964342

https://pubs.rsna.org/doi/full/10.1148/radiol.2401040018

Datenschutz und AR:

https://www.analyticsinsight.net/spiking-augmented-reality-draws-flak-augmented-privacy/

Statistik zur AR Nutzung:

https://www.bitkom.org/Presse/Presseinformation/Fuenfte-Augmented-Reality-Anwendungen-ausprobiert