Using Sensor Fusion and Machine Learning to Create an AI Nose | Digi-Key Electronics
DigiKey DigiKey
153K subscribers
30,796 views
0

 Published On Aug 15, 2022

Machine learning can be used to combine different sensor data together to make decisions and classifications. This is a form of sensor fusion. Instead of mixing the readings together to get something like an absolute heading (from an inertial measurement unit), we can instead feed the raw data to a neural network. The network will learn the best ways to mix the data to help make predictions and classifications.

This tutorial will demonstrate the process of collecting gas data to train a machine learning model that can identify different odors. We then deploy the model to a Seeed Studio Wio Terminal so that odor classification can be performed in real time.

A written guide for building this AI artificial nose can be found here: https://www.digikey.com/en/maker/proj...

The first part of the project involves capturing raw data from a variety of gas sensors, including temperature, humidity, pressure, equivalent CO2, NO2, ethanol, CO, and two different VOC measurements. From there, we analyze the data using Python in Google Colab. That allows us to normalize all of the data so that it fits between the range 0 and 1. Note that you will need to record the minimums and ranges for each of the sensor channels, as you will need to perform normalization on raw data during inference.

Using this information, we can also drop sensor channels that do not appear to help us differentiate among odors. For example, the pressure channel offers little variation among the measurements, so we get rid of it.

Next, we import our preprocessed data into an Edge Impulse project, which guides us through the process of building a neural network that can identify odors. We use Edge Impulse to test our neural network accuracy and generate an Arduino library for us to perform real-time inference.

Finally, we deploy our model to the Wio Terminal, which provides us with inference results on the LCD.

Product Links:
Wio Terminal -
https://www.digikey.com/en/products/d...

Grove - Multichannel Gas Sensor v2 -
https://www.digikey.com/en/products/d...

Grove - SPG30 VOC and eCO2 Gas Sensor -
https://www.digikey.com/en/products/d...

Grove - BME680 Temperature, Humidity, and Pressure Sensor -
https://www.digikey.com/es/products/d...

Grove - I2C Hub -
https://www.digikey.com/en/products/d...

Related Videos:
Intro to TinyML Part 1: Training a Neural Network for Arduino in TensorFlow -
   • Intro to TinyML Part 1: Training a Ne...  

Intro to TinyML Part 2: Deploying a TensorFlow Lite Model to Arduino -
   • Intro to TinyML Part  2: Deploying a ...  

Related Project Links:
Intro to TinyML Part 1: Training a Model for Arduino in TensorFlow -
https://www.digikey.com/en/maker/proj...

Intro to TinyML Part 2: Deploying a TensorFlow Lite Model to Arduino -
https://www.digikey.com/en/maker/proj...

Related Articles:
What is Edge AI? Machine Learning + IoT -
https://www.digikey.com/en/maker/proj...

Learn more:
Maker.io - https://www.digikey.com/en/maker
Digi-Key’s Blog – TheCircuit https://www.digikey.com/en/blog
Connect with Digi-Key on Facebook   / digikey.electronics  
And follow us on Twitter   / digikey  

show more

Share/Embed