Inspiration
India is a water-stressed nation having less than 1700 meter cubic availability, and is on the verge of becoming a water-scarce environment for which it requires efficient practices on the part of the people that can come only with awareness of their consumption. This water-deficiency can lead to population stress, poor socio-economic status and declining economic growth of India. Hence, I thought to use my technological ability to contribute as an individual for the stress being laid upon the environment, by creating an app that raises awareness among the masses and ensures sustainable consumption as per SDG 11.
What it does
My water monitoring agent application calls an AWS Lambda function (via API Gateway) to transfer the metric.json files and thumbnail images of the selected location from 2 years of satellite data (pre-processed using S3, SQS and Lambda function) to AWS Bedrock nova model. This model is then used to analyze the results and provide a brief summary of the vegetation quality, water quality (foam) and area of the waterbody.
My project can be a significant leap forward in terms of effective and quick monitoring of water bodies and vegetation quality in India, or possibly in the World. The application can be used to detect unusual foam levels in water bodies along with tackling poor vegetation quality issues early on. The project is also impactful in cases of illegal encroachment detection, ease of insurance and Government scheme claims.
How I built it
I built this project by pre-processing AWS Open data Sentinel - 2 image tiles (.jp2 files) for various locations in India and storing them under S3 folders (./results). I used a lambda function to process these images using push event notifications from S3 bucket. The results were thumbnail images and metric.json files with data about the water, foam and vegetation quality of the area. I used another lambda function to gather these results from S3 (total 2 years of data) and provide as input to Bedrock nova model for AI insights on the same.
Challenges we ran into
Exact tile naming convention and its calculation is very tricky and the current working model is a basic implementation of the same. The project is scalable and thus its precision can be improved. The pre-processing of data took a long time especially considering the amount of tiles and the time taken to experiment with modules such as rasterio for the lambda function
Accomplishments that I am proud of
I managed to pre-process a large amount of data accurately using novel technologies and modules. It was also very tricky to write up the lambda functions for effective analysis of gathered results, but I am happy with the outcome.
What I learned
I learned a lot about AWS Cloud and its various services. For making the project, I had to experiment with various services such as ECR, SNS, etc. which I was completely unfamiliar with, and did not use for the final product, but I learned a lot about the AWS services and their working. Glad to have taken participation, it was a great experience.
What's next for AI-Based Water Monitoring Agent
There are a plethora of possibilities for the AI-Based Monitoring Agent, including anomaly detection using AI, precise tile mapping (very extensive process) and expanding this project for the entire World, and not limiting to India only.
Built With
- amazon-queue-service
- amazon-web-services
- bedrock
- bedrocknova
- lambda
- nova
- python
- s3
- sqs
Log in or sign up for Devpost to join the conversation.