Building Siren Detection machine learning model
This tutorial covers end-to-end information on how to build, train, evaluate and deploy a siren detection machine learning model using Imagimob Studio and Infineon PSoC™6 development kit.
Objective
We will build a siren detection machine learning model that recognize the siren sounds from the emergency vehicles. This can be used to alert pedestrians to emergency vehicles in their vicinity, or to trigger other safety features in wearables.
Prerequisites
Before starting this tutorial, you must meet the following:
-
Infineon PSoC™6 development kit
We will use the Infineon PSoC™6 Wi-Fi BT Pioneer kit (opens in a new tab) and IoT sense expansion kit (opens in a new tab) for collecting data and evaluating model.
-
Flash Imagimob Streaming Firmware
Before you use the PSoC™6 development kit for collecting data, make sure to flash your development kit with Imagimob Streaming Firmware. Refer to Getting started with Infineon PSoC™6 Wi-Fi BT Pioneer Kit and IoT sense expansion kit for detailed instrutions.
-
Register an account and Install Imagimob Studio
Imagimob Studio is a development platform that streamlines the different stages of a machine learning project, such as, collecting, labeling and importing data, preprocessing data, designing and training models, model evaluation, and model deployment. Create an Imagimob account to download and install Studio. For detailed instructions, refer to Download and Install Imagimob Studio.
-
Siren Detection Stater Project
We will use the Siren detection starter project as a starting point to understad the machine learning flow in detail. Begin with creating a project in Studio and select Classification> Infineon> Siren Detection as the project type. To know how to create a project, refer to Creating a project.
-
ModusToolbox™ and ModusToolbox™ Machine Learning solution
Finally, we deploy the model on the development kit using the ModusToolbox™ (opens in a new tab) and ModusToolbox™ Machine Learning solution (opens in a new tab).
After setting up everything, you can start building the siren detection machine learning model following the step-by-step instructions from the tutorial. The tutorial covers end-to-end machine learning stages from the data collection to deploying the generated model.
Let's start building the model
We will cover the following machine learning development flow:
-
Data Preparation: The first step is to collect and label data from sensors using Serial Capture in Graph UX and Infineon PSoC™ 6 development kit. After collecting and labeling data, we will import data into the Siren Starter project followed by distributing the data into the different datasets.
-
Preprocessing: The second main step is preprocessing where the data signal processing techniques are applied to the sensor data, such as windowing and filtering techniques to reduce the noise and extract the features of the sensors data.
-
Model Training: After building the preprocessor, data is passed to the model for training. In this step, we will generate, train and evaluate the model to find the best fitting siren detection model.
-
Model Deployment: The last step is to deploy the model, we will take the trained model and generate the source code in Studio and run the model on the development kit using ModusToolbox™ and ModusToolbox™ Machine Learning solution.