Contents
• Abstract
• What is PCB defect detection…?
• History of PCB.
• Hardware used.
• Software Used.
• Modules of PCB Defect Detection System:
1. Data collection process
2. Model development
3. Training the model
4. Deploying the model into hardware
5. Working
• Applications
• Conclusion
Abstract
PCB(Printed Circuit Board) Defect Detection System is a
embedded system designed to detect the defects in PCB.
During the production of PCB hardware, the short circuits
between tracks and pads,discontinuity of track and
various defects may occur. This system presents a unique
technique for identification of PCB defects using
computer vision and image processing techniques. This
system reduces the time of PCB inspection and increases
the accuracy, even though the image scale varies with
respect to the reference image.
PCB Defect Detection System
●
PCB Defect Detection System is a computer vision
model to detect the defects in PCB.
●
The major defects in Printed circuit Boards are
●
Missing Hole
●
Open Circuit
●
Mouse Bite
●
Short
●
Spur
●
Spurious Copper
Hardware Used
●
Raspberry pi-The Raspberry Pi
is a microcontroller which
provides a set of GPIO
(general purpose input/output)
pins, allowing you to control
electronic components for
physical computing and
explore the Internet of Things
(IoT).
●
ISP-232 camera Fig. Raspberry Pi
●
Speaker
Software Used
• The software used for PCB Defect Detection system is
Tensorflow Framework,Numpy and Matplotlib
libraries in PYTHON.
➢
TensorFlow is a framework created by Google for creating
Deep Learning models.Deep Learning is a category of
machine learning models that use multi-layer neural
networks.
➢
Matplotlib is a cross-platform, data visualization and
graphical plotting library for Python and its numerical
extension NumPy.
Data collection Process
• A Data set is mandatory to train a machine learning
model
• We have created a data set with images of PCB with
different types of defects.
• For each defect, we collected nearly 116 images making
a total of 693 images in our dataset.
Model development
• We created a 11 layer Deep Neural Network(DNN)
consisting of 4 convolutional layers,4 max-pooling layers,1
flatten layer and 2 fully connected layers.
• A convolutional neural network (CNN) is a type of
artificial neural network used in image recognition and
processing that is specifically designed to process pixel
data.
• Max Pooling is a pooling operation that calculates the
maximum value for patches of a feature map, and uses it
to create a downsampled (pooled) feature map. It is usually
used after a convolutional layer.
●
A Flatten layer collapses the spatial dimensions of the input into
the channel dimension. For example, if the input to the layer is an
H-by-W-by-C array (sequences of images), then the flattened
output is an (H*W*C) one dimensional array.
●
In Fully connected layers, the neuron applies a linear
transformation to the input vector through a weights matrix. A non-
linear transformation is then applied to the product through a non-
linear activation function f.
Training the Model
●
After Building 11 layer Neural Network we started to train the
Network for 10 Epochs.
●
An epoch means training the neural network with all the
training data for one cycle. In an epoch, we use all of the data
exactly once. A forward propogation and a backward
propogation together are counted as one pass.
●
After Training we saved our model into a HDF5(.h5 extension)
file for deployment purpose.
Deploying the model into
Hardware&Working
●
First we load the saved HDF5 file into the raspberry pi.
●
Our system takes the input image from the camera which is
connected to the GPIO pins of the raspberry pi and passes it to
the loaded model. Model predicts the type of defect and gives
the output.
●
The output is given through speakers which are connected to
one of the GPIO pins of the raspberry pi.
Conclusion
• With the help of raspberry pi and Tensorflow,Matplotlib
and Numpy libraries present in PYTHON successfully
predicted the defect of PCB and the output is verifed in
real time.