Convolutional Neural Networks and Deep Learning Techniques for Glass Surface Defect Inspection

Convolutional Neural Networks and Deep Learning Techniques for Glass Surface Defect Inspection

Eduardo José Villegas-Jaramillo, Mauricio Orozco-Alzate
DOI: 10.4018/978-1-6684-4991-2.ch004
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Convolutional neural networks and their variants have revolutionized the field of image processing, allowing to find solutions to various types of problems in automatic visual inspection, such as, for instance, the detection and classification of surface defects in different types of industrial applications. In this chapter, a comparative study of different deep learning models aimed at solving the problem of classifying defects in images from a publicly available glass surface dataset is presented. Ten experiments were designed that allowed testing with several variants of the dataset, convolutional neural network architectures, residual learning-based networks, transfer learning, data augmentation, and (hyper)parameter tuning. The results show that the problem is difficult to solve due to both the nature of the defects and the ambiguity of the original class labels. All the experiments were analyzed in terms of different metrics for the sake of a better illustration and understanding of the compared alternatives.
Chapter Preview
Top

Methods for Automatic Visual Inspection

The use of techniques for automatic visual inspection in manufacturing processes and especially for seeking defects in surfaces is becoming more frequent every day. To solve this problem, several strategies are used, including projection methods (Chen and Perng, 2011), filter-based approaches (Lin and Ho, 2007) and standard machine learning approaches (Chen and Hsu, 2007). Most of these strategies assume certainty in the class labels assigned by experts to the training examples; however, label weakness or ambiguity (Zhou, 2017) may appear in some datasets requiring the application of non-standard approaches (Mera et al., 2016).

Other approaches use neural networks and their variants. In (Weimer et al., 2015), for example, the authors use a deep convolutional network (DCNN) and classify twelve categories of defects from the DAGM2007 dataset; furthermore, they analyze the impact of applying different strategies used in extracting patches from images to train a neural network that, by using techniques such as DA, solves the problem of class imbalance. It is also important to highlight combinations of techniques such as those used in (Medina et al., 2011) for the detection of defects in steel sheets. In that study, the authors initially extract features based on shape and brightness, and then train three different classification techniques to create an ensemble, namely: an artificial neural network, a k-nearest neighbors algorithm, and a naive Bayes classifier.

Key Terms in this Chapter

Visual Inspection: The method of looking for defects using the naked eye and non-specialized inspection instruments.

Confusion Matrix: Matrix used to determine the performance of the classification models. It shows the predicted and actual class assignments along with the total number of class predictions.

Precision: The ratio between correctly predicted positive (target) observations to the total amount of observations that were predicted as positive. It is used to determine how often a model is correct when its prediction is positive.

F1-Score: Overall performance measure based on a weighted average between precision and recall. F1 is usually more useful than accuracy, especially in the case of class imbalance.

Loss Function: Mathematical function that is used to quantify how good or bad a model is performing.

Recall: Also known as sensitivity, it measures how often a model correctly identifies an observation for which both the predicted and the actual class labels are positive.

Class Imbalance: Scenario in which the number of observations belonging to one class is significantly lower than the number of observations belonging to the other classes.

Convolutional Neural Networks: A type of artificial neural networks that make use of convolutions, mainly to process images.

Hyperparameter: All the variables that a user can set before starting the training, which are tunable and can directly affect how well an algorithm learns.

Accuracy: The number of classifications that a model correctly predicts over the total number of predictions. This measure is used to determine the fraction of class predictions that a model got right.

Complete Chapter List

Search this Book:
Reset