Hello.
My name is Martin Kronberg, and this is the IoT Developer Show
season two.
During our break, we've been busy reworking the show,
so think of this less like a sequel and more
like the gritty reboot.
We'll be coming out with a new show
every other Wednesday for the rest of the season.
Moving forward, the IoT Dev Show is going
to have an all new format.
We're going to be taking deep dive looks into specific IoT
technologies over the course of multiple episodes grouped
into a series.
Last season, I gave you guys a broad overview of all the
cool Intel IoT tech with some special guests.
And this season I'll be up here, a one man show,
leading you through deeper dives into the technology, the tools
available for developers, and demos that have
been built using those tools.
For the first series of episodes,
we're taking a look at Open Visual Inference and Neural
Network Optimization Toolkit, or more
simply, the OpenVINO Toolkit, which gives developers
the power to create cutting edge AI powered computer vision
applications.
Intel computer vision technologies
have grown over the last year and have
combined with Intel's Deep Learning Toolkit
to form OpenVINO.
But before we get to the details of OpenVINO,
let me show you guys a cool demo.
Here is the head position and emotional state detector demo.
It's running on a brand new IEI Tank,
which is a coupe piece of hardware
that we're going to be covering later on.
I'm using a couple of deep neural network models
to detect the position and orientation
of my face, an analysis of my gender,
my age, and even my mood.
All this is running at the edge on the tank
and running at over 120 frames per second.
And that's what OpenVINO's all about--
leveraging powerful neural network processing of video
as fast as possible on Intel architecture.
Want to learn more about how this demo works
and how you can build something like this yourself?
Well, stay tuned, because we're going to cover
all of that and much more.
First of all, let's do a quick overview
of traditional computer vision versus deep learning.
In traditional computer vision, an image
is analyzed using programmatic methods.
For instance, if we're looking to identify a face,
one method uses Haar cascade classifiers.
This method relies on taking the difference of pixel values
in various areas and linking it to known features,
such as edges, eyes, so on.
We can then say that two eyes and an oval is a face.
In deep neural networks, this approach
is radically different.
Instead of telling the computer of what features to look for--
eyes and so on--
we show the computer 10,000 images
of a face from various angles, and then it
learns what it looks like by adjusting
the structure of a complex, interconnected
network of nodes.
If this sounds like a black box to you, you wouldn't be alone.
In an article from the MIT Technology Review
called The Dark Secret at the Heart of AI,
AI engineer Joel Dudley said, "We can build these models,
but we don't know how they work."
But the fact of the matter is that they do work and work
extremely well.
In fact, with purpose built deep learning models,
a computer can recognize objects faster and more accurately
than any human.
But for now, what we need to know
is that deep learning has two components-- a training phase,
where the computer learns to identify objects,
and an inference phase, where the now trained
model is used to infer the identity of unknown objects.
Now, with that out of the way, let's take a look
at what's inside OpenVINO.
It's a combination of tools for computer vision and AI.
It uses OpenCV 3.3, which has been optimized
for Intel architecture.
OpenCV can be used for pre-processing
an image for analysis and then running analysis
on it, either through the traditional programmatic
methods or deep neural networks.
OpenVINO also has a custom inference engine built by Intel
for running deep neural networks for computer vision.
And inference engine is what's used
to run the inference phase of deep learning
that I mentioned earlier.
What makes this inference engine awesome
is its flexibility and its performance.
It's made to utilize both your Intel
CPU, your integrated Intel GPU, as well as a VPU,
like the Movidius Compute Stick, or an FPGA,
like the Altera Arria 10.
It's also been optimized to use the latest and fastest APIs
to access all of those processors.
Using various processors for a single task
is called heterogeneous computing,
and it's part of what makes OpenVINO so fast.
So how can you start developing using this toolkit?
Well, we have a ton of documentation out
there on IDZ and a few GitHub pages to get you started.
We also have two developer kits--
the UP Squared AI vision Development
Kit that can be used for rapid prototyping,
and the IEI Tank, which can be used
for more demanding applications in an industrial environment.
They both come loaded with all the software
alongside awesome hardware to help you
get started developing fast.
That's all the time we have for today.
In the next four episodes, we're going
to cover all we saw today in more detail.
I'm going to show you more awesome demos,
talk about all the neural net models available,
the IDEs that you can use, and deep dive
into some of the reference designs.
We're also going look at the hardware
and talk about heterogeneous computing.
Thanks for watching, and we'll see you guys in two weeks.