Deep Learning is a mathematical method to find patterns and make decisions by training neural networks with large amounts of data to make decisions like is a part is detected? What is it? Is it “good” or “bad? Where it is located? The initial training will take time and many images, but the benefit is that the model you develop can be trained to make decisions in a variety of conditions without having to define the decision criteria.
Figure 1: Deep Learning is Subset of Machine Learning
Machine vision tools already take advantage of Machine Learning. To understand the differences between Machine Learning and Deep Learning let’s think about an identification problem. On a production line you want to understand whether a finished part is ready to ship or if it has a defect. To do this, you might create a region of interest around the part, determine an ideal template (or several templates) and compare against them to determine a pass or fail. This method allows you to quickly perform a pass/fail inspection on a part where the parameters for “good” and “bad” can be limited by a region of interest and a template (or several templates). You did not explicitly program the parameters, but we are using the template to help the algorithm determine what features of the part are most important for determining a match.
With a deep learning approach, neural networks with multiple layers are used, each layer and neuron are analyzing subsets of the image -- attempting to find patterns for what makes the part “good” or “bad” and rather than comparing against a template, hundreds of labeled good and bad images are analyzed by the network and the decision criteria are determined during this training. As the network learns it will automatically define and weight the features of the image that are most important for making the decision.
There are many tools for training deep learning models. The Vision Development module currently supports TensorFlow-an open source tool from Google that helps develop Deep Learning Models for a variety of applications and requirements. The Vision Development Module helps you deploy these deep learning models on NI Hardware, so you can use the capabilities of LabVIEW to acquire the image, pass it to the model, and then interface with your inspection architecture or hardware based on the results. You can learn more about getting started with TensorFlow here.