Defect Detection

Defect Detection

This page contains a description of some of the defect detection tools we at Kmbara have created. Our defect detection tools use advanced machine learning and computer vision technology to help with quality assurance in manufacturing processes.


The Challenge

Manufacturing is extremely difficult, even for the very best firms. A crucial part of every manufacturing process is quality assurance: during and after the manufacturing process, checking products for defects. Defect detection enables manufacturers to make sure their process is running correctly, avoid shipping defective products, and apply repairs where necessary. Often, defect detection is accomplished by highly trained professionals doing thorough manual inspections of individual products. Manual inspections by professionals have a few potential downsides:

  • They are time-consuming and could delay product shipments.
  • They are costly, as they require investments in training, time, and equipment.
  • Humans, no matter how well-trained, have limitations in their senses and discernment. They are likely to fail to notice some defects that are microscopic or subtle, and on the other hand they'll occasionally think they see a defect in a perfectly manufactured product.

Manufacturing firms therefore face a complex challenge: they need to perform the best possible defect detection and quality assurance they can, but they need to mitigate these likely downsides of manual inspections. We at Kmbara are stepping in to help firms overcome this challenge.

Our Solutions

The idea of our solution is to automate the manual inspection process: create software tools that use the latest methods in computer vision and machine learning to automatically inspect products and detect defects quickly, easily, and accurately.

We start with an image. The image could be a photograph, x-ray, or any other type of visual scan. It could be an image of the surface of the product or its inside or both - depending on where we are looking for defects. For example, consider the following photograph of a fabric:


The manufacturer of this fabric wants it to have a constant, regular texture across its entire surface. As you look at the image, you can see that there are some very small irregularities. For example, some spots appear a little brighter, and others appear a little darker. However, these variations in brightness are relatively small and don't decrease the quality or look of the fabric. We can say that this fabric has been produced correctly and is free of defects.

By contrast, consider this photograph:

fabric contrast

You can see on the right side of the photo, there's a vertical line that appears much brighter than its surroundings. An irregularity this large and noticeable could indicate a structural weakness in the fabric or a problem in the weaving process, and even if not, it could be visually unappealing to customers who expect a regular texture and color free from these kinds of larger, noticeable irregularities. So, we can conclude that this fabric is defective.

These images are from an academic paper by Bodnarova, Bennamoun, and Latham. In that paper, the authors describe a mathematical method that can be used to effectively scan images of fabrics to automatically find defects. Their method relies on a mathematical function called a "Gabor function," which can be used to create a "Gabor filter." Gabor functions often have an appearance that looks like this image, also from their paper:

gabor filter

Through a complex series of steps, we can create and optimize Gabor filters so that they can be used to create a "mask" that automatically shows us the location and intensity of defects in fabric. For example, the following image shows the mask that results from applying a Gabor filter to the defective fabric shown above:

defective fabric

Here, we can see that the Gabor filter has identified the vertical line on the right side of the photograph as a location of a defect. In this case, it has told us something we already know. But, for a manufacturer that produces huge quantities of fabric every day, automatic defect detection like this could save a great deal of time, effort, and capital investment, and it could find defects that were small and harder for human inspectors to notice.

Gabor filters provide an appropriate solution for defect detection in fabrics, since they're designed to work with textures and irregularities. But other types of products have different characteristics and likely defects that may make Gabor filters inappropriate.

Neural networks are an advanced machine learning tool that are more difficult to implement than Gabor filters, but are also more robust and applicable to a wider range of manufacturing processes. They work the same way as Gabor filters - by computer analysis of images of manufactured products - but they require rigorous "training" before they're ready to implement.

Training a neural network requires collecting thousands of images of the manufactured product - both correct and defective examples. After inputting both correct and defective examples into the neural network, it can "learn" to distinguish between them. More technically, it will determine a set of optimal coefficients that can be used in a numeric model that takes images as inputs, converts the images into numeric vectors, then performs some advanced arithmetic on those vectors using the optimized coefficients that finally yields a classification as defective or correct, and a set of locations of defects if any exist. The most commonly used neural networks in advanced applications today are called "convolutional neural networks," and these have been shown to have very high accuracy in automated image analysis. You can see an example of a representation of a very simple neural network here:

neural network

A defect detection solution based on neural networks will be able to identify the existence of a defect, its location, and even a measurement of certainty about the likelihood that a defect is actually a problem rather than a false positive. The following example shows what a neural network output might look like for a solution that scans x-rays of cars during their assembly process:

car xray

Neural network solutions can be trained to identify defects in any kind of product, from any kind of image. This robustness, together with their great accuracy, is the reason why they're so popular today. However, implementing them correctly can be difficult, and requires a huge amount of training data, advanced hardware, and precise "tuning" by experts. Defect detection in any form, whether by neural networks or through another method, is difficult, but can be worth it when it helps create a manufacturing process that's quicker, more affordable, and more reliable.

The images that are used for training a neural network, Gabor filter, or other defect detection solution can be collected either during or after a manufacturing process, or both, depending on when in the process we want to detect and deal with defects. Images can be collected as photographs, x-rays, or any other kind of visual scan. The following image shows one way to set up the hardware of a full solution on an automobile assembly line, from an academic paper by Karbacher et al.:


The specific details of a defect detection implementation will vary, depending on the product, the types of defects we're looking for, the manufacturing process, and the particular needs of every manufacturer. Kmbara can tailor-make a custom solution for your firm and help you improve your quality assurance and overall manufacturing process. Our developers are experts in the latest machine learning and computer vision methods, including neural networks, and we're excited to innovate with you. Get in touch with us today and let's work together to automate defect detection, improve your manufacturing process, and keep your customers delighted with your manufactured products.

Get in touch with us today

Kmbara © 2021 - 2022