dalgarins / pcb_defects_classification

A deep-learning ensemble of models based on the fuzzy Sugeno integral for classifying PCB defects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PCB defects classification

The project implements the task of detection and classification defects in printed circuit boards. A reference based method is used to detect defects, and an ensemble of three CNN models (VGG16, ResNet-101, Inception v3) is made to classify them.

To combine classification models decision scores, a method based on the fuzzy Choquet integral is used.

Dataset

For training and test data, an open dataset DeepPCB is used that contains scans of pairs images of printed circuit boards in black and white format. All images are in jpeg format and have a size of 640x640. Each pair consists of a template image of the board and a test one.

temp   temp
Template image                                            Test image

Result

The architecture of the ensemble with the fuzzy Choquet integral showed a classification accuracy of 98.6%.

temp

              precision    recall  f1-score   support

        open      0.995     0.995     0.995       388
       short      0.952     0.997     0.974       301
    mousebit      0.982     0.980     0.981       393
        spur      0.997     0.960     0.978       325
      copper      1.000     1.000     1.000       294
    pin-hole      0.990     0.987     0.988       300

    accuracy                          0.986      2001
   macro avg      0.986     0.986     0.986      2001
weighted avg      0.986     0.986     0.986      2001


The result of detection and classification of defects, using the module /tools/defect_detection.py:

temp   temp
Template                                                    Result

About

A deep-learning ensemble of models based on the fuzzy Sugeno integral for classifying PCB defects


Languages

Language:Jupyter Notebook 99.7%Language:Python 0.3%