If you’ve been watching my previous videos, you probably have learned a lot of techniques about how to capture images that is best suited for your machine vision application.
But once you capture the images, processing them is a very important step. The hot technology that helps you with machine vision image processing today is deep learning.
The building block of Deep Learning algorithm is, as you guessed it, a deep neural network.
Right, so where does deep learning derive its name from? It’s because the network used to process these images i.e. the neural network goes with many different layers, thus making it deep.
Okay, so that’s some technical mumbo jumbo. But how to actually apply this for industrial use?
3 different types of algorithms or problem classes, if you will, that you can use in deep learning for your machine vision application.
1. The first one is called classification. In classification, you are processing the image at the entire image level. So what do I mean by that? The algorithm is responsible for taking an image and then deriving a class or giving it a class based on the entire image. So, an example could be, you are looking at a particular model of a car and it identifies whether this is Model A or Model B. It takes the entire image as input and processes it to understand the difference between the two. You could have many different classes, and that makes it a multi-class architecture.
2. The next type of problem type is called object detection. And here you’re not looking to classify entire images but are actually going a little deeper an identifying specific objects that are present in the image. So in this particular example, it could be the internal parts of a refrigerator like a shelf or a freezer compartment or a manual that’s present. So here it identifies the location as well as the presence of that object.
3. Now, the third is going a little bit deeper. And this is analyzing the image at a pixel level. And this is called segmentation. And in segmentation, you really have two types of segmentation problems. You can have instance segmentation and semantic segmentation. In segmentation, each pixel is analyzed to identify if they belong to a certain class. So in this particular example, it could be whether each pixel is part of a vehicle, a part of the road, or a part of any other object present on the scene. So you’re really going at not only just identifying the object in a bounding box, but you’re really trying to classify each and every pixel present on this particular image.
The instance segmentation problem takes it a bit further and here it not only classifies whether a pixel belongs to a pedestrian; it also tries to identify different instances of different pedestrians present on the image. So, for instance, if we have five different pedestrians or people, it classifies each of those five as separate instances and gives you that information. This is actually used in the industrial machine vision.
Let’s take a look at all the three problem types. So, classification. So here again as a reminder you are looking at an image and then identifying the class for that image. And the typical application could be identifying a particular SKU. So let’s say you’re doing incoming stock inventory and you’re trying to identify which one of those incoming SKU is actually coming into your material line. So here it takes an image and from that entire image, it identifies that this belongs to SKU A. If the feature within an image is broad enough or visible enough in relation to the entire image you could also use it for classifying whether something is defective or not defective. So if the defect features are very big, that could also be an easy way to train a neural network to identify whether something is good or bad.
Related Article: Pizza topping inspection using Deep Learning
Object detection, a classic example could be assembly verification, identifying if all the engine parts within an engine body are actually present.
Segmentation problems are typically defected detection. So let’s say you have a smooth surface and you’re trying to identify a scratch or a dent. And there the scratches and the dents can be pretty small. So here you have to identify which pixels of that entire surface in the image constitutes a defect.
In order for the machine learning algorithm or the neural network to do the identification, you have trained this algorithm to actually do this detection. And the process of training is called deep learning or machine learning or deep learning training. And the training process involves a technique called supervised learning. The supervised learning technique is teaching by examples. So you give it sufficient examples of the different types of classes or different types of varieties of images that you want it to identify, and then you teach it with those examples, and the neural network builds a specific model that helps you predict any kind of future images that are then asked of it to be identified.
So, as you can imagine for classification, the training is really about giving it an image and then giving it a class. So it’s a very easy teaching process because it’s at the image level that you’re trying to train the model on.
The object detection goes a step further, and you have to teach it specific objects that you want to detect. So there, it uses bounding boxes as a typical technique to identify each object and then allowing the model to learn each object within the dimension.
In segmentation. It’s a lot more detailed. So, as I said earlier, it’s pixel-based teaching. So here you have to identify each pixel or classify each pixel within that image and then the model is going to learn from these examples.
So, depending on whether you want to classify an image, identify an object, or actually classify each of the pixels, you have a model, a deep learning model, or a technique that can allow you to do that. These are finding amazing use in machine vision. And as algorithms are getting more powerful and more intelligent, so are the application and the possibilities of different applications that can be used in industrial or machine vision.
Next time you see a challenging application, do give deep learning thought and you’ll be surprised with what you can come up with.
Deep Learning Problem Types in Machine Vision- Watch Now
Get In Touch With Us