(upbeat music)
- Hi, my name is Benjamin Cabé.
I am a Principal Program Manager
in the Azure IoT product team.
IoT as in internet of things, right?
So all things connected, cars, connected factories,
et cetera, et cetera.
My team more specifically looks at empowering developers
to build connected solutions.
Something that's actually interesting
when you connect objects
is you often wanna make them as smart as possible
because sometimes it's not necessarily convenient
to have your devices again, connected cars,
connected factories, et cetera.
You can't rely on the fact
that you're connected to the cloud, right?
So you wanna make the devices smart
and this is where you start using AI, machine learning.
I actually realized, I've known for a few years now
that although I'm a software engineer, AI, machine learning,
I really didn't understand what it was
and so that's kind of sad I guess,
that was my first realization,
but second, I also realized that I probably wasn't alone
in that situation, and then enter COVID, right?
And so at the beginning of the pandemic,
as I guess many other people,
I wanted to perfect my bread recipe.
And I realized that maybe I could build a device
that would use AI to figure out
when would my sourdough starter be perfectly ripe
and when would be the perfect time to bake my baguettes.
And so I started experimenting with that.
So surely and probably I could build some kind of AI model
that would do just that, and so that's what I did.
Rather than limiting myself
actually to just the bread scenario,
I ended up building a device
that can smell virtually anything.
At the hardware level, it starts with gas sensors,
gas sensors that are literally off the shelf
and pretty affordable.
The one I used can smell carbon monoxide,
volatile organic compounds, and a bunch of other things,
but is that enough?
Probably not.
So I then used a developer kit,
a microcontroller that can help me actually read
and acquire the data in my software
and feed the sensor data into an AI model,
but remember the AI model, that's where I was kind of lost.
So what was the next step?
So in very simple terms,
what I wanted to build and to establish was a correlation
between the concentration of such and such gas in the air
and some categories of smells:
coffee, whiskey, et cetera, et cetera.
But in order to establish this correlation,
I actually realized that just taking just the concentration
of the gas as a single data point,
probably wouldn't be enough.
After all things like vodka and whiskey,
they're all reasonably strong alcohol-wise.
So I went first through a process of extracting
key characteristics like if I capture
a few seconds of gas sensor data,
let's look at the minimum, the maximum, the average
of the concentration, my intuition that this would capture
essentially the olfactory fingerprint of the smells.
And then once I have captured those characteristics,
and once I had recorded enough training data,
smelled coffee over and over again,
then it was time to actually build a model.
And again, not being an AI expert, I needed some help
and it turns out that there are some great tools out there.
Like I used Edge Impulse,
I could have used the Azure Machine Learning Studio,
and I was guided to essentially build
a very simple neural network that could be trained
to establish this particular correlation
between the characteristics of the gases
and the expected labels, the expected smells.
So I guess I built my first AI model, I trained it,
I had really good results,
and so from the Edge Impulse environment,
I could easily generate software
that I could deploy back into my microcontroller
and I had built an artificial nose.
And I actually went the extra mile
and designed and printed a 3D enclosure for it
and went the extra-extra mile
by open sourcing the whole thing.
Like this journey I went through of learning AI,
essentially with a weird excuse that I was baking bread
and improving my bread baking skills,
I realized that maybe others could learn from it
so everything is effectively on GitHub.
So I shared the project on GitHub and on social media,
and people really liked it to my surprise actually,
and it went viral and developers from all around the world
started to get excited about it
and to build the project for themselves.
And beyond that, customers actually were interested,
customers from various industries
where when you think about it,
having some kind of smart nose is very relevant
in the goods industries,
like having a fridge that can smell
when something goes bad within the fridge,
all things linked to the food industries
or cosmetics industry, where you wanna either design smells
or figure out when something's bad in your supply chain,
things like that, right?
And so that actually made me think that,
yes, my nose, my device was smart,
but it might be missing the IoT piece to it, right?
And so the device I used, the Wio terminal,
just like many similar devices out there,
it's capable to connect to the internet.
It has a WiFi chip
so I connected it to the Azure IoT platform.
Effectively, if you check out the GitHub repository,
you end up with a IoT plug-and-play device,
a nose that you can super easily connect to an IoT platform
so that whenever the nose picks up something,
it can flow into your IT environment.
You can send an alert to a technician
when there is a dangerous gas being detected
on the shop floor, things like that.
So that's the project
and that's my journey into AI, I guess.
I want to leave you with a few takeaways.
First, don't be scared if just like me,
you cannot seem to get started with AI.
There are tons of resources out there to get started.
Your hello world might be very different
than someone else's but try.
If you wanna get started
with the artificial nose specifically,
everything is open source like I mentioned.
That actually includes the 3D enclosure as well
so you can always check out the GitHub repo
for more information.
If you're looking for some developer resources
to get started, I've curated a list
of really relevant modules that I suggest you go through.
When working on this project, I actually realized
that there is tons of really good research
around building similar devices, artificial noses,
and artificial organs almost.
Check out the Microsoft research website.
There's really good projects there.
I hope this project inspired you.
I can't wait to see what similar projects
you are going to build.
Thank you and until next time.
- We had to actually rethink the entire AI stack.
- What is reinforcement learning?
Let's look at an interactive demo.
- [Man] All our code is now open source.