Project Title: AI-Based Water Quality Monitoring App
Category: Mobile Application
Project File: Download Project File
Muhammad Imran Afzal
imran.afzal@vu.edu.pk
imranafzal126
AI-Based Water Quality Monitoring App
Project Domain / Category:
AI/Mobile Apps
"And We sent down water from the sky with a specific measure, then We caused it to remain in the earth; and surely, We have the power to take it away." (The Holy Quran: Para 18, Surah 23 Al- Mu’minoon, Verse 18)
Water pollution is a major global issue affecting human health, agriculture, and the environment. Traditional water quality testing methods require laboratory analysis, which can be time-consuming and costly. This project aims to develop an AI-powered Android application that utilizes image-based detection to assess water quality in real-time.
Users can capture an image of a water sample, and app will analyze it using machine learning models to determine contamination levels. The app will provide health risk assessments, recommendations for water purification, and allow analysts to report water contamination issues, contributing to a crowdsourced Water Quality Map.
I. Users: The app must support two types of users: Admin and Analyst.
1. Admin:
· Manages analysts accounts and verifies reported water contamination cases.
· Monitors and improves the machine learning model.
· Handles technical support and application maintenance.
2. Analyst:
· Captures and uploads water sample images for analysis.
· Receives water quality results and health risk assessments.
· Reports contaminated water sources and contributes to the water quality map.
· Views reported water quality data on an interactive map.
· App should provide registration and login pages for admin and analysts.
· Credentials should be stored at Firebase Authentication.
· Analysts can take or upload an image of a water sample.
· The AI model should analyse the image and classify water quality.
· Results should be displayed within seconds, showing contamination level and recommendations.
IV. Water Contamination Levels: The app should classify water into following three contamination levels:
1. Safe Water:
· Clear and free from visible impurities.
· No significant colour change, suspended particles, or algae detected.
· Recommendation: Safe for consumption (drinking and general use).
2. Moderately Contaminated Water:
· Slight discoloration (yellowish, brownish, or greenish tint).
· Presence of minor suspended particles or sediment.
· Contain organic matter or minor bacterial growth.
· Recommendation: Require filtration or boiling before use.
3. Highly Contaminated Water (Unsafe):
· Dark or cloudy appearance.
· Strong discoloration (greenish, dark brown, or reddish).
· Visible floating debris, algae, or oil films
· High risk of microbial or chemical contamination.
· Recommendation: Avoid usage; seek purification or alternative sources.
· Analysts can report contaminated water sources with GPS location tagging.
· Reports should be stored in Firebase Database and visible on a Water Quality Map.
· If water is deemed unsafe, all analysts should receive an alert.
· The app should provide recommendations for purifying contaminated water.
· A real-time map showing analyst-submitted water quality reports.
· Analysts can filter reports based on location and contamination level.
· Analysts should be able to capture images and submit reports while offline.
· Data should sync once the analyst is connected to the internet.
· The app should provide help resources, FAQs, and tutorials to guide analysts in understanding features and resolving issues.
The basic workflow of this project is as follows.
· Set up IDEs: PyCharm for model development/training & Android Studio for app development.
· Load and preprocess water quality dataset.
· Split the dataset into training, validation, and test sets.
· Use any pre-trained CNN model for the water contamination classification.
· Evaluate the model and export it as TensorFlow Lite for mobile deployment.
· Use Java/Kotlin to create app and integrate the model for water quality assessment.
· Implement functional requirements for water quality detection, reporting, and result displaying etc.
1. IDE: Android Studio & PyCharm
2. Programming Language: Java/Kotlin & Python
3. Databases: Firebase Real-Time/Cloud Fire-Store & SQLite/Room
4. Dataset: Kaggle’s Water Quality Dataset or any custom-labeled images (https://www.kaggle.com/datasets/kabeer2004/water-pollution-images)
5. AI Model: Pre-trained CNN model (e.g., MobileNet) (https://www.analyticsvidhya.com/blog/2020/02/learn-image-classification-cnn-convolutional- neural-networks-3-datasets/)
(https://builtin.com/machine-learning/mobilenet)
6. Model Deployment: LiteRT i.e., TensorFlow Lite (https://ai.google.dev/edge/litert)
Note: VU will not pay for any software/library/toolkit/API used in this project.
Name: Muhammad Imran Afzal
Email ID: imran.afzal@vu.edu.pk
Skype ID: imranafzal126
No reviews available for this project.