Deep learning and cloud computing with intelligent software
There have been many publications recently on the subject of the future of intelligent image processing. Buzzwords such as 'neural networks' and 'deep learning' are uttered in the same breath as 'cloud computing', heralding a rosy future for intelligent image processing. In this sense, the future has already arrived: With its mvIMPACT Configuration Studio, MATRIX VISION is demonstrating the direction in which intelligent inspections are heading – neither specialist programming knowledge nor image processing expertise is required.
Deep Learning and Neural Networks
In an image processing context, deep learning refers to a learning process in which several, usually thousands, of good and bad images are used to train a system, which will eventually be able to decide automatically whether an image is good or bad. The computing time and storage capacity required for this is enormous. This is why neural networks are necessary to support the process. The neural networks will be generated by supercomputers and then used by the image processing application, or so the plan goes. But who pays the immense costs associated with the supercomputer? Another issue is the fact that nobody is able to follow what happens within neural networks and which aspects are decisive when it comes to deciding whether a part is good or bad. The following scenario, which is entirely feasible, illustrates the disadvantage of this lack of transparency: During the learning process, all of the good parts just happen to have a slight green tinge to them, which is then used as the basis for making the decision. This means that as soon as the green tinge is no longer present, even good parts will be recognized as bad parts. What is more, it is not possible to check why this is happening, nor can the incorrect behavior simply be corrected. Although you can try to use hundreds of these images to train the system to recognize good parts, you cannot be sure that the good parts will be accepted as a result.
As already mentioned a local PC cannot provide the huge storage capacity required by deep learning. For this reason, deep learning is often associated with cloud computing.
This also raises a number of questions, however: Where is the server located? Who has access to the data? Who ensures the security of the data? How quickly will security holes be patched? As production data is classififed as sensitive data, and security holes are frequently used to steal data, this is a point that cannot be taken lightly.
However, are such storage volumes and computing times really necessary? Is there not a more intelligent approach that will allow inspections to be carried out efficiently and learned by the existing hardware, which already performs sufficiently well? Yes, there is: with self-learning, intelligent software. And the best thing about it is that the technology is already available.
The mvIMPACT Configuration Studio software (mvIMPACT-CS for short) developed by MATRIX VISION offers the simple operation known by vision sensors. This is due to the fact that it comes with its own digital image processing expert. The actual scene captured by the camera is automatically analyzed, then suitable algorithms are selected along with any required filters. For the filters, too, the software sets the right parameters - both immediately and automatically. The 'mvIMPACT-CS expert team' that is integrated into the software is available 24/7. There is no need to pay a setup fee, or to conclude a maintenance contract.
The user can choose from a manageable number of tools whose names – such as 'Setup camera', 'Get image', 'Read code', 'Find object', 'Measure object', etc. tell the user what they actually do. This means that the software uses the same kind of language as the user, who may well be able to describe what he requires, yet usually has no previous knowledge of image processing. The tools make it possible to carry out visual inspection tasks in just a few minutes: quickly and cost-effectively.
The 'Find object' tool, for example, provides a good illustration of operation mode and philosophy behind the intelligent software:
The classic approach to the 'Find object' task
There are lots of image processing algorithms to find an object, including blob properties (blob = binary large object), numerous blobs and their spatial relationships, pattern recognition, edge-based pattern comparison, etc.. All of these basic algorithms have specific properties and limited scopes of application. An application developer involved in image processing will look at the image and decide – based on his experience – which the most suitable process for this particular object will be. The application developer will then implement the algorithm in his program or set parameters for the algorithm, assuming he is using a conventional, configurable camera. By means of tests and on basis of experience, the application developer determines and optimizes the parameters, whereof there can be up to 30 or even more.
An innovative solution for the 'Find object' task
Choosing the right algorithms and deciding on and setting suitable parameters – all this is integrated into the new software, and it happens automatically with the help of a few sample images and a configuration assistant also known as wizard that interacts with the user. So, with mvIMPACT-CS, MATRIX VISION is paving the way for automatic scene analysis – a task that had so far seemed impossible to achieve.
The 'Check object' tool
The 'Check object' tool uses a similar approach to deep learning, however only two to five sample images are required as opposed to thousands of good/ bad images. The tool does not use any non-transparent algorithms that make decisions as if by magic, but it uses well-established standard image processing algorithms instead. By way of example, the tool currently uses either an edge-based algorithm (are the present edges the same as those on the good parts?) or a brightness algorithm (are the grey values closer to those of the good parts or the bad parts?). Based on the images, mvIMPACT-CS automatically selects the appropriate algorithm along with the parameters. This is where it differs from other solutions in the market: No image processing expertise is required. What is more, both the process and the parameters are visible to everyone. First of all this means that it is possible to follow what is happening and why something is not working correctly and, secondly, that malfunctions can subsequently be amended by the user himself in order to influence the behavior.
mvIMPACT Configuration Studio demonstrates that the future of intelligent image processing has already begun - and that neither neural networks, nor cloud computing will be necessary for it. On the contrary: Everything takes place locally and the user has full control over the data – nothing leaves the system, and no external providers are required. In addition, the preparation of complete inspections is not restricted to a small group of image processing experts. Anybody can set up an inspection in a flash with the help of the wizard and the deep learning-style approach. Just like William Tell, who asserted his independence by taking things into his own hands.