No video

Using Sensor Fusion and Machine Learning to Create an AI Nose | Digi-Key Electronics

  Рет қаралды 31,644

DigiKey

DigiKey

2 жыл бұрын

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: www.digikey.co...
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 -
www.digikey.co...
Grove - Multichannel Gas Sensor v2 -
www.digikey.co...
Grove - SPG30 VOC and eCO2 Gas Sensor -
www.digikey.co...
Grove - BME680 Temperature, Humidity, and Pressure Sensor -
www.digikey.co...
Grove - I2C Hub -
www.digikey.co...
Related Videos:
Intro to TinyML Part 1: Training a Neural Network for Arduino in TensorFlow -
• Intro to TinyML Part 1...
Intro to TinyML Part 2: Deploying a TensorFlow Lite Model to Arduino -
• Intro to TinyML Part ...
Related Project Links:
Intro to TinyML Part 1: Training a Model for Arduino in TensorFlow -
www.digikey.co...
Intro to TinyML Part 2: Deploying a TensorFlow Lite Model to Arduino -
www.digikey.co...
Related Articles:
What is Edge AI? Machine Learning + IoT -
www.digikey.co...
Learn more:
Maker.io - www.digikey.co...
Digi-Key’s Blog - TheCircuit www.digikey.co...
Connect with Digi-Key on Facebook / digikey.electronics
And follow us on Twitter / digikey

Пікірлер: 19
@HendraKusumahiot
@HendraKusumahiot 2 жыл бұрын
Was working with wio terminal with sgp30 and sht40 to detect smoke and fire this afternoon to do the exact same thing, store the data in csv format and upload it to edge impulse. I didn't know that it need to be normalize to get a better result. Thanks shawn for another lesson you share
@WaldirBorbaJunior
@WaldirBorbaJunior Жыл бұрын
Amazing, the best class of my life. 42 minutes, is much more interesting than 1-year os school. For more content like this one. thousands of likes.
@TheAstronomyDude
@TheAstronomyDude 2 жыл бұрын
This guide was so cool! Thanks! I was intimidated to work with Edge Impulse but now I'll give it a try. A tip for the Wio Terminal: #include "TFT_eSPI.h" TFT_eSPI tft; TFT_eSprite spr = TFT_eSprite(&tft); and use spr. instead of tft. to avoid the LCD flickering when it updates
@ShawnHymel
@ShawnHymel 2 жыл бұрын
Ah! Good to know. I was wondering how to fix that. Thank you!
@byronwatkins2565
@byronwatkins2565 2 жыл бұрын
Given N independent functions, f_n(x_1,...,x_N), (sensor measurements) of N variables (temp, humidity, x-concentration,...), it is always possible to derive an orthonormal basis for the variables since df_n = sum_m partial {f_n/x_m} dx_m. We merely need to measure that matrix of partials and to invert that matrix at each data point. Often closed form approximations to the inverted matrix entries is close enough. The details of this matrix WILL be sensitive to the particular sensors used... fit the function parameters to your data. It is wise to repeat this several times and to average the parameters over these samples.
@MeanGeneHacks
@MeanGeneHacks 2 жыл бұрын
Very detailed video, thank you once again for another excellent and informational video!
@rickh6963
@rickh6963 2 жыл бұрын
Thanks Shawn, another great video!
@MJRoBot_MarceloRovai
@MJRoBot_MarceloRovai 2 жыл бұрын
Great tutorial! Thanks a lot! Shawn,Thanks a lot! @ShawnHymel, do you think that 2 models in cascade would help to improve spirit result? I mean, a first one classifying only tea, coffee and spirit and a second one having spirit as “input’ and with vodka, run and whisky as labels?
@matthewray6008
@matthewray6008 2 жыл бұрын
I was thinking something like this too. Identify that it is a spirit first and then distinguish the differences then. Also I wonder if you could even drop the Ethanol sensor at that point since they would all be highly correlated there.
@sebastianmonroy5296
@sebastianmonroy5296 5 ай бұрын
Tried this many times but always getting an anomaly score way too high and dont know what it could possibly happening. Any Ideas?
@nifgo1581
@nifgo1581 2 жыл бұрын
Great project! Can I translate this to vietnamese and share it to our community ?
@nendhang
@nendhang 2 жыл бұрын
more data !!!
@jacky5948
@jacky5948 7 ай бұрын
at 10:12 it is showing incorrect syntax for me
@KellyClowers
@KellyClowers 2 жыл бұрын
But what about bad smells like good gone bad, gas leaks etc?
@KellyClowers
@KellyClowers 2 жыл бұрын
Seriously, I can't smell and I need this
@nendhang
@nendhang 2 жыл бұрын
COOL
@moody935
@moody935 6 ай бұрын
Would you mind sending me 3 Research Papers correlated with this project?
@oldpain7625
@oldpain7625 Жыл бұрын
Can it detect farts?
@Hasan...
@Hasan... 2 жыл бұрын
A fart detector automatic air freshener system is now possible 👍🏻😁
لااا! هذه البرتقالة مزعجة جدًا #قصير
00:15
One More Arabic
Рет қаралды 50 МЛН
ROLLING DOWN
00:20
Natan por Aí
Рет қаралды 7 МЛН
Fast and Furious: New Zealand 🚗
00:29
How Ridiculous
Рет қаралды 48 МЛН
Accelerometers and Gyroscopes - Sensor Fusion #1 - Phil's Lab #33
14:50
TinyRL: Can AI Learn to Swing Up a Real Pendulum? | DigiKey
21:42
The moment we stopped understanding AI [AlexNet]
17:38
Welch Labs
Рет қаралды 906 М.
These sound illusions fool almost everyone
24:55
Veritasium
Рет қаралды 1,5 МЛН
Introduction to Anomaly Detection for Engineers
14:57
MATLAB
Рет қаралды 27 М.
AI, Machine Learning, Deep Learning and Generative AI Explained
10:01
IBM Technology
Рет қаралды 57 М.
Hacking a weird TV censoring device
20:59
Ben Eater
Рет қаралды 3 МЛН
Why mechanical noses are so clever
13:38
Steve Mould
Рет қаралды 649 М.
How to do Object Detection using ESP32-CAM and Edge Impulse YOLO Model
16:50
لااا! هذه البرتقالة مزعجة جدًا #قصير
00:15
One More Arabic
Рет қаралды 50 МЛН