Working Principles

The app is underpinned by 3 software development kits (SDK), ARCore, Tenserflow and Android Studio.

ARCore

ARCore is a platform which streamlines the development of AR apps. The SDK combines 3 features which significantly reduces the complexity in programming an AR app. These 3 features are: 1) Motion tracking, 2) Environmental understanding and 3) Light estimation. These components allow the app to project objects onto the real world and tracks environmental changes from the user’s point of view.

Tensorflow / Tensorflow Lite

To track the user’s progress, machine learning is used to identity the object in camera’s field of view. Coding how an object looks like from every angle, light intensity etc is not possible. Hence, machine learning would allow the phone to infer if the object is present using past experience. However, tensorflow-lite is used instead due to a phone’s limited processing power. Nonetheless, tensorflow lite provides good inferences despite the lack of computational power.

Android Studio

Android studio is an integrated development environment where developers are able to design the application. It provides an android emulator for developers to test on a variety of devices. The built-in profilers would help us optimise the app’s performance and identify any bottle necks present in the application.

Images taken from:

  • https://www.androidguys.com/wp-content/uploads/2018/06/Google-ARCore.png
  • https://www.tensorflow.org
  • https://developer.android.com/studio