Computer Vision Based PPI Tool

Executive Summary

The Poverty Probability Index (PPI) is a poverty measurement tool for organizations and businesses with a mission to serve the poor. A PPI survey consists of 10 questions about a household’s characteristics using which asset ownership is scored to compute the likelihood that the household is living below the poverty line.

Leveraging Cloud Vision, a field officer would simply have to take a series of photos with their smartphone camera inside and outside of the house and then the Cloud Vision would be able to deduce based on the images the response to the 10 questions by detecting whether the objects mentioned in the survey are present in the household or not.



  • Python

  • Android Application Development using Kotlin

  • Some knowledge of Google MLKit

  • Knowledge of machine learning and computer vision is beneficial


Design and Technical Overview

The project has 2 main parts:

  • The android application which is used to upload data to Cloud Vision using the AutoML API. Cloud Vision then classifies the uploaded image and returns its category. If possible, based on the results from Cloud Vision, the app can automatically fill the needed entries in the PPI Survey form.

  • The augmentation part: The second part is the data augmentation part. This part is needed because photos household items like washing machines, TVs, etc, in the household environment itself are less found. So images are scraped from google and are augmented using various techniques to increase the size of the dataset which in turns help increase the accuracy of the model trained in using Cloud Vision.


Source Code:


Preview link to the application on

Latest link:

Older version:

Using the above link, the app can be tested on a browser itself without installing it on a physical device.

Other Resources

Meeting Notes