Developing Object Detection Models for Android Using Tensorflow

Standard Post with Image
29 December 2018

Developing Object Detection Models for Android Using Tensorflow

Mobile operating environments like smartphones can benefit from on-device inference for machine learning tasks. It is common for mobile devices to use machine learning models hosted on the cloud. This approach creates latency and service availability problems, in addition to cloud service costs. With Tensorflow Lite, it becomes possible to do such inference tasks on the mobile device itself. Model training is done on high-performance computing systems and the model is then converted and imported to run on Tensorflow Lite installed on the mobile.

This work demonstrates a method to train a convolutional neural network (CNN) based multiclass object detection classifiers and then import the model to an Android device. In this study, Tensorflow Lite is used to processing images of cars and identify its parts on an Android mobile phone. This technique can be applied to a camera video stream in real-time, providing a kind of augmented reality (AR) experience.

Introduction to Tensorflow Lite

Tensor flow lite demo on android app

Tensorflow Lite, the next evolution of TensorFlow Mobile promises better performance to leverage hardware acceleration on supported devices. It also has few dependencies, resulting in smaller binaries than its predecessor. TensorFlow Lite is TensorFlow’s lightweight solution for mobile and embedded devices. It enables on-device machine learning inference with low latency and small binary size. TensorFlow Lite supports hardware acceleration with the Android Neural Networks API.

Architecture Overview of Tensorflow Lite

TensorFlow Lite supports both Android and iOS platforms. The initial step involves the conversion of a trained TensorFlow model to TensorFlow Lite file format (.tflite) using the TensorFlow Lite Converter. This converted model file is used in the application.

Advantages of using Tensorflow Lite

TensorFlow Lite remains better in its usage and applications due to the following characteristics:

  • TensorFlow Lite enables on-device machine learning inference with low latency. These characteristics led TensorFlow as fast in response with reliable operations.
  • TensorFlow Lite occupies small binary size and remains suitable for mobile devices.
  • TensorFlow Lite supports hardware acceleration with the Android Neural Networks API.
  • TensorFlow Lite operates extensively without relying on internet connectivity. 
  • TensorFlow Lite also enriches developers toward the exploration of pioneering real-time applications.

TensorFlow Lite uses several techniques for achieving low latency such as optimizing the kernels for mobile apps,  pre-fused activations and quantized kernels that allow smaller and faster models.

The conclusion to Tensorflow Model deployment

In this study, TensorFlow model is deployed on mobile devices, which addresses many challenges during the deployment. This document fulfills the concepts detailing the overview of TensorFlow, its architecture, its process flow, step-by-step procedures to start, train the model, and deployment. This document serves as a technical reference document for developers and provides an approach for deployment of TensorFlow Lite on Android.

Download pdf on Tensorflow object detection in android app