Application for Automated Optical Inspection of PCAs

Customers

ScienceSoft has developed an application for the electronics industry aimed at ensuring the quality of printed circuit assemblies (PCAs) by means of machine vision.

Challenge

The application was to perform fast and efficient quality inspection of printed circuit assemblies right on the conveyor belt and detect if any of the PCA components were missing.

Solution

A team of a project manager, a business analyst, 3 senior С++ developers, a senior UI designer, and a software testing engineer have delivered a desktop application based on image analysis algorithms, complemented with a simple and intuitive GUI. In particular, ORB algorithm has been used for feature detection, and a combination of algorithms (perceptual hash algorithm, PSNR and histograms comparing) have been employed to compare regions of interest in the reference template and in the image under inspection.

How it works

The user provides a reference board template, putting on all the elements to be inspected with a tool that allows marking objects of three main shapes:

  • Elements with a round cross-section (mainly capacitors)
  • Rectangular elements (chips, diodes, transistors)
  • Dumbbell-shaped elements (resistors)

The scale of a reference template can be changed so as the smallest components could be properly marked. The sensitivity of the detection is adjusted depending on the amount of noise.

After preparing the reference template with all the elements located, the user can proceed to the analysis of printed circuit assemblies of the same type as the reference PCA. Comparing these images with the reference assembly, the application defines defected ones and shows the locations of missing components in detail. 

Results

ScienceSoft’s team has successfully developed image analysis software for automated optical inspection of printed circuit assemblies. The application offers considerable opportunities for the SMT manufacturing industry, providing a fast and reliable solution for PCA quality control.

Technologies and Tools

C++, Qt5, OpenCV library