Deep Learning

Deep Learning

Deep Learning

Deep Learning can be a powerful tool for automating industrial quality inspection because it excels at finding anomalies, including surfaces such as turned, brushed, shiny, or complex. It is useful to detect scratches, dents, or foreign material, and can also be used to locate and identify a part, or read distorted text.

Projects with high complexity, or high variability in the surface, or a wide range of defects, can now be handled by Deep Learning systems with excellent results. These would have been impossible just five years ago with traditional rule-based Machine Vision.
deep learning surface defects

Artificial Neural Networks
Deep learning is a subsection of machine learning, and is a rough interpretation of how a biological brain solves problems. In biological brains there are neurons, and each neuron is connected to others via the synapses. In artificial neural networks there are layers of nodes, which are comparable to the neurons in a brain.

Data is fed into the input layer, which is connected to nodes in a hidden layer by a series of mathematical weights that act like the synapses between neurons. Deep learning has many hidden layers. An optimizer algorithm adjusts millions of combinations of weights until the output layer until its nodes predicts a score that are closest to the desired result.
deep learning neural network example

Image Based Learning

Images processed by deep learning need to have the input data represented numerically so that features such as a color, edge, corner, texture, etc. become a numerical representation. One method is to use convolution filters.

An image can be represented as a matrix. A second matrix, known as a filter or kernel, is started in the upper left hand corner of the image, and rolled through (convolved) the image. It multiplies itself with a sub-region of the image, and the result is saved to an output image. In doing this, particular features of an image can either be emphasized or de-emphasized.
kernal matricies

Many of these processed images are fed into the input layer, and the optimizer learns which filters (or in some cases modifies the filters) that best predicts the desired result such as good/bad, apple/orange, or part is located at x,y in the image.

Vision Filter Example
Vision Filter Example
Vision Filter Example
Vision Filter Example
Vision Filter Example
Vision Filter Example
Vision Filter Example
Vision Filter Example
Vision Filter Example

Depending on the training set size, the time to optimize the network can take 20 minutes, but more often an hour or more. Very Large training sets can take days to optimize the networks, but once optimized, it's not uncommon to have execution times of 20 - 500 milliseconds (depending on the power of the GPU) for production.

A GPU or Graphics Processing Unit is good at doing a simple calculation on large numbers of variables simultaneously. It’s like a lot of really primitive CPUs that all respond to the same instruction. So if you have a matrix of numbers and you want to add, subtract, multiple, divide, etc. with another matrix, such as what is needed for executing convolution filters, a GPU is highly optimized to do just that.

A CPU has relatively few processor cores and that means it can do only a few calculations simultaneously, but it can run advanced calculations. It is possible to run a deep learning optimizer on a CPU, but it is very slow.


As with any new technology, there are pitfalls with integrating a Deep Learning system, that can impact the customer experience and reliability if it is not properly architected or the importance of data management glossed over.

Garbage In, Garbage Out
For a trained deep learning image algorithm to have a reliable and robust detection or matching results, the quality of input images matter because there needs to be features for the convolution filters to extract. If the image is fuzzy or has poor contrast because of substandard lighting and optics design, there is no data. Hollywood scenes of looking at a grainy surveillance video and someone says "freeze that video," "now zoom in," then "can you enhance the image" are pure fiction.

To Cut Down the Tree in 5 Minutes, Spend 3 Minutes Sharpening Your Axe
A well-trained deep learning application requires a comprehensive set of training images that represent a range of defects and/or acceptable part variations to perform well in production. Deep learning can save a lot of time for the machine vision programmer, but a lot more time is spent organizing and annotating the images; which can be accomplished by an intern or junior machine vision engineer. Although, in some cases may also require the manufacturing quality team to be part of the process or at the very least review the Annotation Guide put together for the labeling team. Along with performing a 5 - 10% or more review of the labelled images.

It's Getting Hot in Here
Most production floors are not kept at a comfortable 72 degrees year round. Industrial Machine Vision PCs running Deep Learning algorithms may have their GPUs continuously running. This can generate a lot of heat in an enclosed industrial control cabinet, and if not properly managed with active cooling, the GPU will throttle (slow) itself down. Having a vision system that after 10 minutes progressively takes longer to execute an inspection can't be relied upon.


Deep Learning Inspection System Deep Learning Inspection System Deep Learning Inspection System Deep Learning Inspection System Deep Learning Inspection System Deep Learning Inspection System Deep Learning Inspection System Deep Learning Inspection System Deep Learning Inspection System

Latest Deep Learning Project from Our Portfolio

How Can We Help?

Industrial Machine Vision systems help to ensure the quality of your product and can be designed so that they are maintenance friendly.

From retrofits to turnkey solutions, extracting meaningful data or making an existing system more reliable; we are here to help you meet The Standard.

Fill Out a Project Brief