The Poverty Probability Index (PPI) is a poverty measurement tool for organizations and businesses with a mission to serve the poor. Taking this into account Vision PPI is designed to facilitate this measurement process much accurate and efficient. Vision PPI is a computer vision and machine learning based android app designed to help in filling out the PPI Survey. There are two broad aspects to this project - The android app which provides the interface to the field officer for conducting the survey and the machine learning models which are used in the backend of app to analyze the images captured.
For more information about the usecases of the project and details about PPI, the API used and demo credentials, please take a look at the project wiki.
- After installing or building the app, the first screen which is encountered is a Login screen with ppi logo on top of it. To log into the app enter the
username = mifos
andpassword = password
in the respectative columns of username and password.
- The second screen renders the Home page. It contains search bar through which client account can be searched by typing their names. At the top of screen Share, Logout and About Us buttons are present they functions to share the app ,logout from the app and to go to about us page respectively.
- The third screen comes up with Analyze Images page. It contains option for seleting the image from gallary or directly capturing form the camera. An other screen also appears here that asks for premission from user for accesing the gallery and camera.
- The result of object detection model appears in the Object Deteciton Result column after clicking on analyse images button. Result threshold implemented results in shown up only those outcomes for which model has an confidence of 60 % or more .
- The fifth screen contains PPI Questions. These quesion are directly comming from the API not from app. Users are able to tick only one choice out of the given. The scores are written for each question choice which are added at the end to in calculating over all PPI survey score.
- About Us page features information about the app. Links for
github and twitter
account of mifos is given in this page. Contact details and current app version are shown here . Contact details helps to reach out to community whenever needed.
We welcome contributions in form of issues, as well as pull requests. Please go though the contribution guidelines over here and also through our Code of Conduct here.
- The app can be installed by directly downloading the Android Application Package (APK) into the Mobile phone device with Android OS. Download the App
- For building the project from on your local machine, clone the repo and Open it with Android Studio and the follow the development setup guidlines given below.
The current apk is built using Android Studio Chipmunk | 2021.2.1 version.
Follow this Link to download specific version.
Before you begin, you should have already downloaded the Android Studio SDK and set it up correctly. You can find a guide on how to do this here: Setting up Android Studio
-
Download the project source. You can do this either by forking and cloning the repository (recommended if you plan on pushing changes) or by downloading it as a ZIP file and extracting it.
-
Install the NDK in Android Studio.
-
Open Android Studio, you will see a Welcome to Android window. Under Quick Start, select Import Project (Eclipse ADT, Gradle, etc.)
-
Navigate to the directory where you saved the ppi-vision project, select the root folder of the project (the folder named "vision-ppi"), and hit OK. Android Studio should now begin building the project with Gradle.
-
Once this process is complete and Android Studio opens, check the Console for any build errors.
- Note: If you receive a Gradle sync error titled, "failed to find ...", you should click on the link below the error message (if available) that says Install missing platform(s) and sync project and allow Android studio to fetch you what is missing.
-
To Build the app, go to Build > Make Project (or alternatively press the Make Project icon in the toolbar).
-
If the app was built successfully, you can test it by running it on either a real device or an emulated one by going to Run > Run 'app' or pressing the Run icon in the toolbar.
For data collection, this tool can be used. In order to increase the size of the dataset, we have used image augmentation techniques present in GeneratedImages.py. You can see how each technique works here in the sample notebook.
We use Google's ML Kit SDK for image labelling. In order to train the model used further, we use transfer learning on our collected data.
Useful resources for getting started with Transfer Learning
Useful Resources for getting started with ML Kit if you are interested in contributing to this project:
- Label images with ML Kit on Android
- MLKIt Quickstart Sample
- MLKit Custom Models
- Labelling images with a custom model on Android
- Converting an existing TensorFlow object detection model into a TensorFlow Lite model
This project adhers to the MIT License.