Automated Optical Material Inspection and Defect Detection
Background
Technology has changed the way we work – but by how much? When AI works as the brain of a manufacturing unit, two things are assured: quality and speed. Industrial prodution faces several challenges that could be addressed with advanced analytics tools from predictive maintenance to process mining.
Problem Statement
-
One particularly common practical industrial application is optical material defect inspection with the goal of detecting imperfect products or components during production, which usually performed by human quality controllers in time consuming, expensive and error prone visual inspection.
-
Our solution here is an automatic system for hot-rolled steel plate surface defect recognition. The defect detection task could be interpreted as a composite task of either classification or location.
-
Our solution is based on image recognition with artificial intelligence (deep learning).
Data Acquisiton & Preparation
The database includes 1,800 samples in the form of grayscale photographs - 300 samples each of six different kinds of typical surface defects:
-
-
Rolled-in scale (RS)
-
Patches (Pa)
-
Crazing (Cr)
-
Pitted surface (PS),
-
Inclusion (In)
-
Scratches (Sc)
-
Possible Technical Approaches
Segmentation: localization of defections on plate images with either by masks or by bounding boxes (not applied here because of lack of additional business value)
Classification: only detection of the presence or absence of defection and its kind (applied here)
Model Experiments
I. Convolutional Neural Network from Scratch
2x Convolutional layers
32 filters, 3*3 kernel size with Maximum Pooling 2*2 pool size
Optimizer
Stochastic Gradient Descent (learning rate: 0.01 with decay and momentum)
Batch size: 32
The number of examples from the training dataset used in the estimate of the error gradient is called the batch size.
Model Experiments
II. Transfer Learning with Inception Net
Custom last layer
Inception Net (Google, version 3) with ImageNet weights
Optimizer
Stochastic Gradient Descent (learning rate: 0.01 with decay and momentum)
Batch size: 32
The number of examples from the training dataset used in the estimate of the error gradient is called the batch size.
Evaluation
Convolutional Neural Network from Scratch
Training Accuracy: 79%
Test Accuracy: 71%
Test Precision: 74%
Test Recall: 71%
Test F1 Score: 71%
Transfer Learning with Inception Net
Training Accuracy: 99%
Test Accuracy: 97%
Test Precision: 97%
Test Recall: 97%
Test F1 Score: 97%
Search
Tech Stack
Android
Angular
Apache
Artificial Intelligence
Business Analysis
C++
Centura
Cloud
Docker
EAPware
Firebase
Gitlab
Industry 4.0
IoT
Java
JavaScript
JIRA
Linux
Load Test
M2M
MariaDB
Microservice
NLTK
Node.js
OpenWRT
Oracle
PHP
PLC programming
Python
PyTorch
RASA
Scikit-learn
TensorFlow
Test Automation