This project uniquely utilizes the Vision AI Developer Kit to aid in training a Neural Network based on features extracted from audio files. In this sample use case, the water level of a fountain can be determined by using audio classification through a machine learning model based on the sound produced by water splashing into a larger volume of different depths. This demonstrates both how audio can be used in some cases as a cheaper alternative to vision with 360° field coverage that is still possible using the DevKit and how to train a model using the Azure Machine Learning Service.
This project following a 5-step process to acquire, label, train, build and push to the Vision AI Devkit, as shown below.
Software and Services used
Azure IoT Edge
Azure Machine Learning
Visual Studio Code
Vision AI DevKit
Find all relevant information for full implementation of this product here.
Users are always encouraged to innovate and continue to improve the functionality of current projects.
Future Improvements and Project Suggestions
This sample demonstrates one very linear way to train a model in a very controlled environment with just a few thousand audio files. Future improvements might include:
Modifying the AudioCapture module to read and write TWINs
Modifying the AudioInferece module to include updates for audio modules
Modifying the Label script to use a small model to later label non linear sample files
Modify the AudioCapture module to collect files and incorporate the pipeline capability of the Azure Machine Learning Service
Feel free to fork the project and contribute back any improvements or suggestions. Contributors and maintainers are encouraged.
About the Creator
Kevin Saye is an IoT Architect and a student of AI. From soldering resistors to writing code for MCUs to scaling out with MPP solutions, he is squarely focused on that thing he was meant to do in life, IoT. He regularly publishes ‘how to’ articles, based on customer, partner and personal experiences and challenges – with the goal to share and enable peers in the community.
He can be followed at: https://kevinsaye.wordpress.com/ .
You can also learn more about what Kevin is working on here.