Welcome to the OpenVINO channel
In this video let's try to make sure we are focused on the kind of tasks OpenVINO is targeted for
and make sure we are aligned on the terminology.
OpenVino can do much more then vision. for example voice processing
but we are focused on Visual Understanding.
Artificial intelligence for Computer Vision usages.
When you are processing a video stream, you basically start by analyzing an image by image..
When you examine one image, And I call these operations, "per frame operations"
The most common operations we do are Classification, Detection and Segmentation
The aim of a "detection" model is to detect specific objects in the image.
The output of such a model will be a list of coordinates of bounding boxes for each of the objects detected in the image
And what people sometimes do is draw the bounding boxes around the object.
Or curve out the object.
Create a smaller image, Just of this object and send it to a classifier, to verify what is that object
A good place to start is the OpenVINO Object-detection demo
It's actually running detection AND classification, but you can see how it works..
Navigate to the samples directory, Open the object detection sample
You see here the inference request..
The output is being processed. It's a vector of boxes..
You see the 2 coordinates of each box
And these coordinates are being used for drawing the rectangles on the result image..
Detection models answer the question "where?"
Classification models will try to answer "what is there?"
And help you understand which objects are in the image..
The model is trained with a list of classes or labels.
And the output is a vector of probabilities per each of these classes.
We need to sort these probabilities, and display the highest, along with their corresponding label
Go to the classification samples,
Open the file..
Here is the inference request..
The output blob..
And then... top results .. With the highest probability
We open the labels file, And basically print the labels with the highest probability
Segmentation is basically deciding on a class per each of the pixels
I want to color each of the pixels with a different color
Here is a person..
And here is a basketball..
This is of course a much more compute intensive operation..
Check out the segmentation demo..
You can see here again the inference request.. For each of the images...
And then we go over every pixel to get its class..
And writing the result to a bmp image
Another approach is feature extraction..
Look at the yellow dots around my face for example
Check out the interactive-face-detection demo.. Video number 21 - To see how it works..
The next level is to use these features for recognition..
So I can not only detect a face, but also identify someone from a blacklist or a whitelist..
Check out the smart classroom demo to see how to do it..
When we look "across frames" We can think of higher level capabilities like tracking an object..
When we can distinguish between the objects we can also count them and so on..
Look at this video when we trace the line of movement of each of these persons
This is the Pedestrian-tracking sample, we present it on Video 23
Next is higher level models to detect intentions, relations between objects etc..
Each application will do it differently.
we can probably help you here as well if you have such a model..
I hope we are now aligned on the models terminology
And I hope you know how to look at the relevant samples and learn by example how to actually do it
Subscribe to our channel to get more videos like this.
Thank you.