Using Artificial Intelligence (AI) For Visual Part Identification

By June 20, 2019January 24th, 2022Image Processing
Using Artificial Intelligence (AI) for Visual Part Identification

In manufacturing industries, it is common to have multiple variants or models being produced at a given time. There are various ways in which you can identify the different parts and models, like using barcode, RFID, etc. However, in some cases, like in the paint shop of an automobile plant, these technologies aren’t feasible, as pasting a barcode on a part to be painted will not be practical. Thus, the only reliable way of identification remains visual and manual. The manual inspection comes with its own limitations as it is error-prone and inefficient. This is where AI-based vision systems come in handy for automating this process.

Part Identification is done for a number of reasons. It could be for inventory tracking or to avoid part mixups among other applications. It could even be to decide on the next process – which will vary depending on the part variant. Identifying the part accurately is thus a challenge as it must be done very accurately and reliably. Parts may have very subtle visual differences between them and can be easily confused by human operators.

Below are some examples of color variation

A variation on the basis of the color of the component- Using Artificial Intelligence (AI) for Visual Part IdentificationA variation on the basis of the color of the component- Using Artificial Intelligence (AI) for Visual Part Identification

A variation on the basis of the color of the component.

Using Artificial Intelligence (AI) for Visual Part IdentificationUsing Artificial Intelligence (AI) for Visual Part Identification- Color Variation

A variation on the basis of the background color of the component
(as sticker color is same)

A variation on the basis of the color of the sticker’s text
(white and green)

The complications increase further as the permutations increase (based on color, size, etc).

Comparison of AI with Heuristical (Rule-Based) Vision System

Before AI was an option for Industrial Machine Vision, systems were deployed using heuristical machine vision software. A heuristical machine vision software employed the use of certain programmable rules and image processing functions that operate on the image. In other words, if you wanted to identify a part, you would have to program a rule or a set of rules which when executed will identify this part. As an example, a rule like a color match, or a pattern match (based on edges), or whether the size of a blob matches certain criteria can be used for this purpose.

In the below application, the parts are identified as Part 1 and Part 2 using an image processing tool that works on comparing the intensity values of R, G, and B channels respectively.

In the below example, the average RGB values were found to be 12, 8, & 4.

In the below example, the same RGB values were 5,6 and 10.

However, this would not be a very strong rule, as there could be variations between individual parts of the same variant. Other challenges could arise due to variations in the background or orientation. Updating the solution with a new set of the master image is cumbersome as the variations increase. This leads to more rules being applied, thus increasing the complexity and reliability of the solution.

AI-based systems, on the other hand, has a simple training methodology. Unlike conventional rule-based systems, there are no rules to be programmed for “teaching”. We just need to label (or tag) the image and the system automatically learns based on these training images. Furthermore, the training images can be further augmented with system generated images based modifications to the original images. These modified images are created with variations in luminance, contrast, shear, rotation, scale, etc further strengthening the learning accuracy.

What problem does an AI-based system solve?

Artificial Intelligence(AI) has been regarded as a growing, yet powerful technology. It has wide applications one of which is AI for quality inspection. AI is capable of solving many problems in maintaining the quality of the production, be it surface defects, wrong labeling, missed dimensions, etc. All it needs is a properly trained set of images. Problems will vary from industry to industry and from product to product. And these, if ignored will cause a heavy loss to the supplier as well as to the consumer.

Steps in developing an AI solutions

There are 4 basic steps in developing an AI solution for machine vision

Image Acquisition

The images for all the components which have to be inspected are first acquired typically using industrial cameras, aided with external illumination. A robust AI software will allow a fair amount of tolerance in inconsistencies between the acquired images, unlike rule-based systems. So the cost and complexity would be a saving for this step.

Solution Training

Next, a sample set of images is “trained” by labeling every part with a particular part number.

The process is illustrated in the following Video where a deep learning application is used to label images for different parts of a 2 wheeler.

Once the training phase is done, the solution is deployed at the customer end with hardware parts such as camera, lenses and lighting fixtures. On completion of the setup, the part is placed on a table-top setup and the part number is displayed in a user interface. Further, the customer is provided with the option to choose the part number and a MATCH/MISMATCH dialog box is provided on checking the part.

Training is a  resource-intensive computation that typically takes a few hours to even a few days to complete. It’s common to take advantage of parallel computation hardware (like GPUs) to assist in this task. The output of a training step would be a deployable model file.

Solution Deployment

Once the training is completed, the model file obtained from the previous step is deployed on the inspection machine. The inspection system which is running on the production line uses this model file to perform the visual inspection task which is trained to perform. Unlike the training process, this is a lightweight computation and can be completed in seconds or even milliseconds on a regular CPU (with a low-end GPU) based system

Fine-Tuning for accuracy improvement

It’s usually hard to complete the entire process in a single training step. The initial training images set which was used to train the system will likely provide a lower level of accuracy than desired. Thus, it’s important to monitor the system performance for a period of time (usually days or weeks) and identifies the errors which the system has generated. These error examples are then fed back to the training system, to retrain the deployable model file. This step needs to be done a few times until the desired levels of accuracy are reached.

Other Examples of AI-based inspection

Below are some examples of how the AI-based system can be used for a wide variety of applications in industries

1. Reading OCR on a cigarette packet. For more details, you can visit

2. For more details, you can visit our Parts counting page

3. For more details, you can visit our Surface Defect Inspection page
    

Get In Touch With Us


Leave a Reply

Schedule A Demo
close slider