M.Sc. Topic: Edge Computation Offloading to Support HoloLenses AR/MR Applications
As Augmented Reality (AR) gets popular on wearable devices such as Google Glass and HoloLenses, various AR applications have been developed by leveraging synergetic benefits beyond the single technologies. However, the poor computational capability and limited power capacity of current wearable devices degrade runtime performance and sustainability. Computational offloading strategy has been proposed to outsource computation to remote cloud for improving performance. Nevertheless, offloading to remote locations have strong impact to real-time based applications and degrade the user experience. To enhance applications running on wearable devices, we advocate a new approach where the computation is opportunistically offloaded to powerful nodes in proximity. Hololenses are the perfect case because they are used basically only indoor and the chances to be connected to a stationary, power-plugged device are fairly high.
The objectives of this thesis are:
- Identifying existing applications for HoloLenses that make use of the most common image processing algorithms (object detection, image recognition etc..). If no application can be found or reverse-engineered, another option is implementing a simple framework to call different image manipulation algorithms through a custom-made HoloLenses application.
- Create a framework to offload the execution of this operations on close-by, powerful edge devices (for example Intel NUC) instead of using the mobile phone or the Cloud. Therefore, reproduce the same algorithm on the edge node and implement a decision strategy for the Hololenses to interact with this framework based on different parameters (proximity, complexity of the offloaded task and so forth).
- Evaluate the performance gain in term of energy consumption, network bandwidth utilization and execution time.
Good knowledge of image processing frameworks (OpenCV, Aruca). Solid coding skills in C# (for the Hololenses) and basic knowledge of the Unity framework. Fair knowledge of the Linux OS (the same image processing scripts have to run on a Linux node).