Twitter Feed
Couldn't connect with Twitter

What are you looking for?

Simply enter your keyword and we will help you find what you need.

Water Level Estimation App

The goal of this project was to develop a mobile application which is able to successfully determine the amount of water present in a semi-transparent container.


For this, three neural networks were trained:

  1. Semi-transparent drinking glass detector.
  2. Glass type classifier.
  3. Water level estimator.

Data for these networks was obtained through real and synthetic (computer graphics, GANs) means. The trained models were quantized for improving the inference speed on mobile devices.

The user interface of the application was simple and intuitive. The application was designed to take input images from the camera in real-time and resize them to match the size required by the detection network. The detection inference with the highest confidence is selected and the image is cropped using the inferred drinking glass location. This cropped image is then passed to the two classifiers for glass type and water level percentage classification. Based on the results of these networks, the amount of water is calculated and displayed to the user in real-time. Other details shown in the user interface include:

  • The processing times for the detection and classification networks.
  • The number of device threads to allocate to this application. Greater number of threads can improve the processing times.
  • The type of network model.
  • List of options of CPU and Neural Network API natively supported by Android OS.

The application was installed on an Android device and its real-time performance was tested. Detection times varied between 70-80ms and classification times between 25-35ms, which translates to 10 frames per second. This is sufficient for a real-time water level estimation application.

The major challenges observed in this project were:

  • Lack of available data.
  • Transparency of the containers
  • Maintaining real-time/live performance on a mobile device.



Previous Project
Next Project