According to World Health Organization, more than 2 billion people are still being affected by contaminated water. And while we think it’s safe in United States, flint, Michigan water crisis has proven to us that even in first world country like US, we still face water safety issues.
What it does
Clean Water AI is IoT device that classifies and detects dangerous bacteria and harmful particles. The system can run continuously in real time. The cities can install IoT devices across different water sources and they will be able to monitor water quality as well as contamination continuously. The entire cost for the prototype is under $500, making it by far the most economical way of water monitoring, and you can use Alexa to find out about water quality around you area.
How we built it
We built Clean Water AI using the model Training on the Sever and Deploying on the Edge, this way all the inferencing is done directly on the IoT Device itself.
We used Data Science Virtual Machine for Linux on Azure, nc6 to be exact to train our Neural Network Model. We used pre-installed caffe on the machine to train our data model, we used 6 layers. For PoC we did particles vs. clean water under convolutional neural network, we used about 1,000 images. Right now the model is able to classify clean water, particles, as well as yeast at about 98% accuracy rate. After getting the model, we deploy them on to Edge device so that the neural network model can run locally, Movidius Neural Computing stick to be exact, this way it does not need internet connection or server resources which are quiet expensive for IoT devices.
We then used Helium Model and Helium Element to connect the Neural Network model data directly to Azure IoT Hub, The Azure Functions are directly connected to Azure IoT Hub and push data into Azure SQL for storage. It is then being picked up by Azure Map for display and warn nearby users about the water quality.
A step by step building process can be seen at https://www.hackster.io/clean-water-ai/clean-water-ai-e40806
Our scenario is Following, Camera data being analyzed through AI on the Edge, passing it via Azure IoT Hub and then being processed into Azure SQL
After everything, we use Alexa to check the water quality around your region.
Challenges we ran into
Training new Neural Networks are never easy, we had to go through a lot of trial and errors to train our own neural network and deploy them on the IoT Device which can run inference in near real time. The entire process is being documented.
Accomplishments that we're proud of
We are able to train our own AI Deep Learning Neural network and deploy it over the edge device so that we can run AI on the edge with very little cost. We are also proud that we've documented the entire process so that others can create similar projects in the future.
What we learned
We've learned 2 things, the over whelming response to the need of the Clean Water in the world, as well as how to train, deploy, connect and display the Artificial Intelligence Deep Learning to IoT Services end to end. We've documented every part of this.
What's next for Clean Water AI
Since building of the project, we've been invited to give demos at AIDC, CVPR and Intel DevJam, we plan to classify more bacteria such as ecoli and Salmonella through Single Shot Detection as well as build microscopic camera within the IoT in the near future.