Building IoT Machine Learning Applications using the Raspberry Pi Pico

Jacob Beningo

Machine Learning is finding its way into various microcontroller-based IoT devices. Unfortunately, embedded software developers typically aren’t experienced in machine learning, making designing these new device types challenging.

In this workshop, attendees will learn hands-on about machine learning using the inexpensive Raspberry Pi Pico. We will introduce machine learning concepts and how they affect embedded software developers. Attendees will then get the opportunity to collect their dataset, train, and deploy a machine-learning model to their Raspberry Pi Pico.

Topics covered in this session include:

  • Introduction to machine learning
  • A Raspberry Pi Pico overview
  • Hands-on data collection and model training
  • Model validation, testing, and deployment
  • Next steps

The hands-on portion is optional, but if you wish to participate, the following hardware will be required:

We will discuss several machine learning frameworks and tools, but the hands-on piece will use Edge Impulse Studio.


Embedded ML: The New Secret Weapon to IoT Success

Arun Rajasekaran

Attempting to add-on AI and ML modeling to existing IoT networks delivers marginal results compared to when it's designed into the architecture. Organizations that have accomplished this in their IIoT/IoT architectures can support model processing in multiple stages of their solution while reducing networking throughput and latency, making everything more purposeful and even more secure.


TinyML for Fun and Profit

Pete Warden

Machine learning allows small, battery-powered devices to understand speech, protect wildlife, diagnose and even treat diseases. In this talk, Pete Warden, lead of the TensorFlow Lite Micro open source project, will talk about how embedded ML opens up a new world of possibilities, and will introduce some easy ways to get started.


Deep Learning Inference in Embedded Systems

Jeff Brower

The path to developing, testing, and deploying deep learning inference in embedded system products is marked by obstacles you must avoid. To do it sucessfully -- and avoid your investors and managers losing faith -- here are some crucial, high level guidlines.


Introduction to Machine Learning and Deep Learning

Peter McLaughlin

In 2016 the Google supercomputer AlphaGo beat the world champion of the board game Go, a highly complex mathematical game. This milestone demonstrated the possibilities of Artificial Intelligence and set the scene for new technologies which are now transforming our lives, from the way we drive to the way we buy clothes. Thanks to recent advances in graphics acceleration hardware and neural network development tools, the benefits of Artificial Intelligence are within reach for any business. This presentation introduces the underlying theory of Machine Learning and Deep Learning and explains how to practically apply it. Topics covered include the training process, model types, development tools, common pitfalls and real-life examples. Attendees will walk away with a kick start to help them apply Machine Learning and Deep Learning in their projects.


Real Life Embedded ML + The AI-Powered Nose

Jenny Plunkett

  • So you want to bring the power of edge intelligence to your IoT device, how do you get started?
  • Utilize data-driven engineering to collect your sensor data and upload directly into Edge Impulse
  • Examples of real life applications of Edge AI for IoT microcontrollers (including an AI-powered nose)


Machine Learning with Python: Introduction to Clustering and Classification

Matous Cejnek

In this workshop, the difference between clustering and classification will be explained with illustrative examples. The examples will demonstrate utilization of common machine learning algorithms (random forests, k-means, SVM) implemented in popular Python libraries.

Notebooks:

python_clustering.ipynb

python_classification.ipynb

Sample image



Data-Centric AI for Signal Processing Applications

Frantz Bouchereau

Model-centric approaches to solve AI problems have been dominant in applications where large and high-quality datasets are available. Such approaches aim to improve model performance through the development of more complex architectures. 

In signal processing applications, where data is usually scarce and noisy and where advanced models and architecture experts are hard to find, a potentially more fruitful approach is a data-centric one that focuses on improving the data to make simpler network architectures perform better. The idea is to enhance signal data by improving its labels, removing noise, and reducing variance and dimensionality. This idea can be extended to include transforming signals into domains where key features become more prominent and easier to distinguish.

In this talk I go over various examples that follow a data-centric approach to improve AI-model performance. I show how signal processing techniques like time-frequency transformations, filtering, denoising, multiresolution analysis, data synthesis, and data augmentation can be used to obtain state-of-the-art results with simpler AI architectures in the solution of signal classification, signal regression, and anomaly detection problems.


Training and Deploying ML models to STM32 Microcontrollers

Jacob Beningo

Machine learning (ML) has often been considered a technology that operates on high-end servers and doesn’t have a place in traditional embedded systems. That perception is quickly changing. This workshop will explore how embedded software engineers can get started with machine learning for microcontroller based systems.

This session balances theory with practical hands-on experience using an STM32 development board.

Attendees will learn:

  • How to collect and classify data
  • Methods available to embedded developers to train a model
  • Hands-on experience training a model
  • How to convert a model to run on an STM32 MCU
  • How to run an inference on a microcontroller

Additional details for development board and tools will be provided closer to the conference.


Become A DSP Tuning Master and Build More Efficient Neural Networks

Alex Elium

Sensor data is typically preprocessed with DSP in TinyML applications.  As engineers deploy NNs on ever smaller processors, it is becoming necessary to tune DSP algorithms in order to fit within RAM or real-time processing constraints.  But not all steps in a DSP pipeline are created equal!  Knowing how to find sections to slim down can mean the difference between giving up a few percent of accuracy, and ending up with a model that’s no longer usable.

This presentation will show experimentation with DSP parameter choices (number of cepstral coefficients, spectrogram frame size, etc) for an example keyword spotting classifier, and analyze the RAM, latency, and accuracy impacts of various scenarios.  Attendees will leave with ideas on where to find elusive kB of RAM and mS of latency next time they need to optimize a DSP pipeline.