Home > On-Demand Archives > Microtalks >
emlearn - Machine Learning for Tiny Embedded Systems
Jon Nordby - Watch Now - EOC 2024 - Duration: 05:59
Modern Machine Learning makes it possible to automatically extract valuable information from sensor data. While Machine Learning is often associated with costly, compute-intensive systems, it is becoming feasible to deploy ML systems to very small embedded devices and sensors. These devices typically use low-power, microcontrollers that cost as little as 1 USD. This niche is often referred to as "TinyML", and is enabling a range of new applications in scientific applications, industry, and consumer electronics.
emlearn is an open-source Python library that allows converting scikit-learn and Keras models to efficient C code. This makes it easy to deploy to any microcontroller with a C99 compiler, while keeping Python-based workflow that is familiar to Machine Learning Engineers. The library has been used in a wide range of applications, from the detection of vehicles in acoustic sensor nodes, to hand gesture recognition based on sEMG data, to real-time malware detection in Android devices.
In this presentation we will give an introduction to the emlearn project. We will cover the models that are supported, the key features and tools that are provided, and demonstrate how this can be used to solve Machine Learning tasks: classification, regression and anomaly detection - with relevant examples to embedded systems.
Hi Simon. Apologies for the missing response, I must have missed this question completely. These techniques are used when the phenomena/variable of interest is too complicated to estimate well from manual analysis of the raw data. Here are some examples for accelerometer data:
Classification: Tracking if person has disrupted sleep events. Detect and count repetitions during exercise. Regression: Estimate overall calorie burn from activity/exercise. Anomaly Detection: Identify sensor failures in measurement systems. Identify machine abnormalities in infrastructure/manufacturing/etc.
Several of these use-cases are already deployed in various consumer and industrial markets.
In addition to the C library, one can also use emlearn on a microcontroller from Python, via https://github.com/emlearn/emlearn-micropython
Thanks, I’m new to this topic. Could you describe some benefits and examples for classification, regression and anomaly detection for a sensor, such as the accelerometer, vs just reading the raw data by the application on the microcontroller?