Deep Learning
Deep Learning
Deep Learning can be applied to solve an ever-increasing number of real world problems and is transformative to the increase in performance, and the applications it opens up, to industrial Machine Vision.
Traditional machine vision requires that a feature which is to be observed in an image must be described; that is to say it must be defined by a mathematical model.
This requires expertise and experience, not only of machine vision but also of the process/ object under consideration. This approach is always at risk of variations occurring which have not been accommodated by the model. Such variables will affect the output in an unintended way. Some processes do not lend themselves well to this approach.
Deep learning is a subset of Machine Learning and represents a fundamentally different approach. Rather than being programmed, Deep Learning networks are trained to discover rules which allow a predictive model to be formed. This model considers all possible interfering factors, thus eliminating the unmitigated variation risk which is inherent in the traditional computer vision approach.
The differences between a traditional and Deep Learning approach may be best understood by considering an example.
Traditionally an object detection application might be solved by searching for features in the image which match a predetermined model. These models may describe an edge, corner or connected group of pixels. If one or more features exist in the image then the object (class) can be said to be present in the image.
The difficulty of course is building the model to allow it to cope with variations which may occur in scale, orientation, colour and so on. It can also be a very time consuming process as the engineer must manually select which features are relevant and configure the parameters of each model. The suitability of these parameters must be challenged and fine tuned over a large number of images. The time required for this task, and the difficulty of managing the large number of models, increases quickly as the number of classes to identify rises.
In contrast, Deep Learning requires a set of images labelled with the classes present in each. The model is trained on this data. The most appropriate features and description of each class are automatically determined by the neural networks.
This approach opens up the possibility of inspecting objects of such complexity and variation that a traditional approach would not be feasible.