Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-11558
Autor(en): Lazar, Léon
Titel: Neural Networks on Microsoft HoloLens 2
Erscheinungsdatum: 2021
Dokumentart: Abschlussarbeit (Bachelor)
Seiten: 61
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-115750
http://elib.uni-stuttgart.de/handle/11682/11575
http://dx.doi.org/10.18419/opus-11558
Zusammenfassung: The goal of the present Bachelor thesis is to enable comparing different approaches of integrating Neural Networks in HoloLens 2 applications in a quantitative and qualitative manner by defining highly diagnostic criteria. Moreover, multiple different approaches to accomplish the integration are proposed, implemented and evaluated using the aforementioned criteria. Finally, the work gives an expressive overview of all working approaches. The basic requirements are that Neural Networks trained by TensorFlow/Keras can be used and executed directly on the HoloLens 2 without requiring an internet connection. Furthermore, the Neural Networks have to be integrable in Mixed/Augmented Reality applications. In total four approaches are proposed: TensorFlow.js, Unity Barracuda, TensorFlow.NET, and Windows Machine Learning which is an already existing approach. For each working approach a benchmarking application is developed which runs a common reference model on a test datatset to measure inference time and accuracy. Moreover, a small proof of concept application is developed in order to show that the approach also works with real Augmented Reality applications. The application uses a MobileNetV2 model to classify image frames coming from the webcam and displays the results to the user. All the feasible approaches are evaluated using the aforementioned evaluation criteria which include ease of implementation, performance, accuracy, compatibility with Machine Learning frameworks and pre-trained models, and integrability with 3D frameworks. The Barracuda, TensorFlow.js and WinML approaches turned out to be feasible. Barracuda, which only can be integrated in Unity applications, is the most performant framework since it can make use of GPU inference. After that follows TensorFlow.js which can be integrated in JavaScript Augmented Reality frameworks such as A-Frame. Windows ML can currently only use CPU inference on the HoloLens 2 and is therefore the slowest one. It can be integrated in Unity projects with some difficulties as well as plain Win32 and UWP apps. Barracuda and Windows Machine Learning are also integrated in a biomechanical visualization application based on Unity for performing simulations. The results of this thesis make the different approaches for integrating Neural Networks on the HoloLens 2 comparable. Now an informed decision which approach is the best for a specific application can be made. Furthermore, the work shows that the use of Barracuda or TensorFlow.js on the HoloLens 2 is feasible and superior compared to the existing WinML approach.
Ziel der vorliegenden Bachelorarbeit ist es, verschiedene Ansätze, Neuronale Netze auf der HoloLens 2 auszuführen, vergleichbar zu machen. Um dies zu ermöglichen, werden qualitative und quantitative Kriterien festgelegt. Am Ende werden alle Ansätze in einer ausführlichen Übersicht verglichen. Darüber hinaus werden mehrere verschiedene Ansätze, die Integration zu realisieren, vorgeschlagen, implementiert und mit den eben genannten Kriterien evaluiert. Die grundlegenden Anforderungen sind, dass Neuronale Netze die mit TensorFlow/Keras trainiert wurden verwendet und direkt auf der HoloLens 2 ohne eine aktive WLAN-Verbindung ausgeführt werden können. Außerdem sollen die Neronalen Netze in Mixed/Augumented Reality Anwendungen integrierbar sein. Insgesamt werden vier Ansätze vorgestellt: TensorFlow.js, Unity Barracuda, TensorFlow.NET. und Windows Machine Learning, welches bereits in Verwendung auf der HoloLens 2 ist. Für jeden lauffähigen Ansatz werden Testanwendungen entwickelt, die einen Testdatensatz auf einem gemeinsamen Referenzmodel ausführen und die Ausführungszeit sowie die Genauigkeit messen. Darüber hinaus werden kleine Proof of Concept Anwendungen entwickelt um zu zeigen, dass der Ansatz auch in Augmented bzw. Mixed Reality Anwendungen integrierbar ist. Die PoC Applikationen nutzen ein MobileNetV2 Modell, um Bilder von der Webcam zu klassifizieren und das Ergebnis dem Nutzer anzuzeigen. Alle realisierbaren Ansätze werden angesichts verschiedenerer Kriterien wie Einfachheit der Implementierung, Performance, Genauigkeit, Kompatibilität mit Machine Learning Frameworks und vor-trainieren Modellen und Integrierbarkeit in 3D Frameworks evaluiert. Die Barracuda, TensorFlow.js und Windows ML Ansätze stellten sich als realisierbar heraus. Barracuda, das nur in Unity Anwendungen verwendet werden kann, ist das performanteste Framework, da es die GPU zur Ausführung nutzen kann. Danach folgt TensorFlow.js das in JavaScript 3D Frameworks wie A-Frame integriert werden kann. Windows ML kann derzeit nur die CPU auf der HoloLens 2 nutzen und ist daher das langsamste. Es kann in UWP und Win32 und mit einigen Schwierigkeiten in Unity Anwendungen integriert werden. Barracuda und WinML werden auch in eine biomechanische Visualisierungs-Anwendung auf Unity-Basis integriert, um darin Simulationen zu berechnen. Die Ergebnisse dieser Bachelorarbeit ermöglichen es verschiedene Ansätze, Neuronale Netze auf der HoloLens 2 auszuführen, zu vergleichen. Nun kann eine fundierte Entscheidung getroffen werden, welcher Ansatz für eine bestimmte Anwendung am besten geeignet ist. Darüber hinaus wurde gezeigt, dass die Barracuda und TensorFlow.js Ansätze praxistauglich sind und dem bestehenden Windows ML Ansatz in den meisten Punkten überlegen sind.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
BA-Lazar-2021.pdf5,53 MBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.