This demo project is the integration of
Infineon's Machine learning: Imagimob model deployment and Avnet's IoTConnect Modus Toolbox™ Basic Sample. It demonstrates the Human Activity Detection AI algorithm by Imagimob and reports the result of the recognized class to IoTConnect.
To quickly evaluate this project without compiling code follow the step-by-step instructions in the QuickStart Guide.
- GNU Arm® Embedded Compiler (GCC_ARM) - Default value of TOOLCHAIN
The code has been developed and tested with MTB 3.2, with Eclipse, and the boards below:
- PSoC™ 6 CY8CKIT-062S2-AI(
CY8CKIT-062S2-AI
)
Watch an overview video of creating a new project with IoTConnect in ModusToolbox™ then follow the steps below.
To build the project, please refer to the IoTConnect ModusToolbox™ Basic Sample Developer Guide and note the following:
- Once ModusToolbox has been installed, the ModusToolbox™ for Machine Learning software should be installed as well.
- If using the model generator, you will need to install QEMU and set up the relevant environment variables per Machine Learning User Guide
- Over-the-air updates are not currently supported.
- Use the psoc6aiimu-device-template.json Device Template instead of the Basic Sample's template.
Learn how to orient the board for detection in the Infineon Machine learning: Imagimob model deployment README file. We recommend to plug the board into a battery pack while testing.
The application sends data once every second, but the AI model recognizes human activity several times per second. If at the time of reporting data to IoTConnect, the activity is not recognized, he class value will be reported as unlabelled. If the activity is reconginized, the class value will be reported as one of the following:
- sitting
- standing
- walking
- running
- jumping
The model will report different confidence percentages for each identified class, and the application will report the highest confidence class along with its confidence percentage. Along with these values, the data will contain the raw accelerometer reading based on board's orientation and movement as an object value accel, with x, y and z values.
To evaluate other Infineon/Imagimob models with IoTConnect, use the links below:
The project can be modified to support the CY8CKIT-028-SENSE shield and similar boards. If introducing support for other boards, please make note that .cyignore currently ignores shield files and that CY_IGNORE logic in the makefile has no effect.
See the list here