This section describes step-by-step procedure to use Infineon PSoC™ 6 with ModusToolbox™ and IMAGIMOB Studio to collect data, train, optimize, and deploy machine learning models onto an embedded device. Learn how to collect data and deploy a model using ModusToolbox™ while build, train, and optimize model using IMAGIMOB Studio.
ModusToolbox™ is a set of tools that enable integration of devices into existing development methodology. Out of the box, ModusToolbox™ comes with an Eclipse-based Integrated Development Environment (IDE) that supports application configuration and development. ModusToolbox™ also supports development with IAR, Keil, and Visual Studio toolchains.
Download and install the ModusToolbox™ tools package (opens in a new tab) and refer the ModusToolbox™ tools package installation guide (opens in a new tab) for detailed instructions.
The ModusToolbox™ ML solution is a set of tools, libraries, and middleware that helps to build, evaluate, and benchmark pre-trained ML models. ModusToolbox™ ML libraries easily and efficiently run inferencing on an Infineon MCU. These libraries and tools help to rapidly deploy neural network (NN)-based classification-type ML applications.
The solution also provides a configurator to import pre-trained ML models and generate an embedded model implementation (as C code or binary file). This generated model can be used with the Modus Toolbox™ ML library along with the user application code for a target device. The tool also lets you optimize the pre-trained model of choice and evaluate its performance.
Download and install the ModusToolbox Machine Learning Pack (opens in a new tab) and refer the ModusToolbox™ Machine Learning user guide (opens in a new tab) for detailed instructions.
Infineon PSoC™ 6 board is built on an ultra-low-power architecture and MCUs feature low-power design techniques that are ideal for battery-operated and low-power embedded applications. The dual-core Arm® Cortex®-M4 and Cortex-M0+ architecture lets designers optimize for power and performance simultaneously.
To purchase the Infineon PSoC™ 6 board, click here (opens in a new tab).
After installing the ModusToolbox™, create a project for your desired PSoC™ 6 device and IDE. To know the detailed instructions, refer to Setup Infineon PSoC™ 6 board using ModusToolbox™.
IMAGIMOB Studio is a development platform that streamlines the general flow of machine learning development. Studio supports the different lifecycle stages of a machine learning project, such as, importing and labeling data, pre-processing data, designing and training of models, model evaluation, and model deployment. Create an Imagimob account to download and install IMAGIMOB Studio. For detailed instructions, refer to Download and Install IMAGIMOB Studio.
Imagimob offers a selection of starter projects to get started with building and deploying the machine learning models quickly. The following are the Infineon Starter projects:
- Human Activity Recognition
- Baby Crying Detection
The Human Activity Recognition starter project provides a pre-trained machine learning model that predicts human activities such as running, standing, walking, sitting, or jumping. Data for the project has been collected and is stored in “Data” folder. The project uses the BMI160 or BMX160 Inertial Measurement Unit (IMU), setup to collect data at 50 Hz using ± 8g for the accelerometer scale.
The Baby Crying Detection project provides a machine learning mode that predicts if a baby is crying or not. Data for the project has been collected and is stored in the “Data” folder. The project uses dual-channel pulse density-modulated audio data collected at 16 kHz to train the model.
The above mentioned starter projects are used throughout the tutorial to show the standard ML flow using both ModusToolbox™ for Machine Learning (MTB-ML) and IMAGIMOB Studio.
Begin with creating a project in IMAGIMOB Studio and selecting Infineon Human Activity Recognition or Baby Crying Detection as the project type. To know how to create a project, refer to Creating a project.
It is recommended that an empty project is started after going through the starter projects and the ML flow is understood.
After setting up everything, you can start building the machine learning model for the Human Activity Recognition and Baby Crying Detection 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. For detailed instructions, refer to Model building using Infineon PSoC™ 6.