Difference between revisions of "ML-TN-003 — AI at the edge: visual inspection of assembled PCBs for defect detection — Part 3"

From DAVE Developer's Wiki
Jump to: navigation, search
Line 80: Line 80:
  
 
===Class subdivision and labelling===
 
===Class subdivision and labelling===
 +
In order to build a dataset for training a ML model for a classification application, a set of classes has to be defined. By looking at the standard IPC-A-610E-2010 developed by IPC for the Acceptability of Electronic Assemblies, and at the features of collected images, the classes identified are the following ones:
 +
 
===Soldering regions extraction===
 
===Soldering regions extraction===
  
Line 135: Line 137:
 
|[[File:Missing upper lower 256x256.png|thumb|350x350px|256 × 256 resolution ''upper'' and ''lower'' region images]]
 
|[[File:Missing upper lower 256x256.png|thumb|350x350px|256 × 256 resolution ''upper'' and ''lower'' region images]]
 
|}
 
|}
 
  
 
{| style="background:transparent; color:black" border="0" align="center" cellpadding="10px" cellspacing="0px" height="550" valign="bottom"
 
{| style="background:transparent; color:black" border="0" align="center" cellpadding="10px" cellspacing="0px" height="550" valign="bottom"
Line 147: Line 148:
 
|[[File:Tombstoning upper lower 256x256.png|thumb|350x350px|256 × 256 resolution ''upper'' and ''lower'' region images]]
 
|[[File:Tombstoning upper lower 256x256.png|thumb|350x350px|256 × 256 resolution ''upper'' and ''lower'' region images]]
 
|}
 
|}
 
  
 
==Useful links==
 
==Useful links==

Revision as of 13:21, 14 April 2021

Info Box
NeuralNetwork.png Applies to Machine Learning


History[edit | edit source]

Version Date Notes
1.0.0 March 2021 First public release

Introduction[edit | edit source]

Building the dataset[edit | edit source]

Defects generation and acquisition[edit | edit source]

Anomalies, generation process and numerosity
Anomaly P&P Serigraphy Manual Numerosity
Missing 21
Manhattan 4
Shift x-axis 51
Shift y-axis 58
Shift&Rotation
(shift x+z-axes)
57
Rotation
(z-axis)

55
Under soldering All
Over soldering All

Class subdivision and labelling[edit | edit source]

In order to build a dataset for training a ML model for a classification application, a set of classes has to be defined. By looking at the standard IPC-A-610E-2010 developed by IPC for the Acceptability of Electronic Assemblies, and at the features of collected images, the classes identified are the following ones:

Soldering regions extraction[edit | edit source]

Data augmentation with image synthesis[edit | edit source]

Generative adversarial networks[edit | edit source]

Progressive GAN implementation[edit | edit source]

ProGAN: training progression
ProGAN: growing progression of the model during training

Results validation[edit | edit source]

Class Synth image Resolution
(pixel)
Google Colab
(min)
AWS SageMaker
(min)

missing
full 512 × 512 ~480 ~410
upper/lower 256 × 256 ~435 ~310

tombstoning
full 512 × 512 ~460 ~390
upper/lower 256 × 256 ~420 ~300
Synthesized images for missing class
Synthesized images for tombstoning class
T-SNE algorithm results for missing class synthesized images
512 × 512 resolution full images
256 × 256 resolution full images
256 × 256 resolution upper and lower region images
T-SNE algorithm results for tombstoning class synthesized images
512 × 512 resolution full images
256 × 256 resolution full images
256 × 256 resolution upper and lower region images

Useful links[edit | edit source]