Subtitles section Play video Print subtitles 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.