Master Thesis MSTR-2017-110

BibliographySchuler, Manuela: Stability Training of Convolutional Neural Networks for Defect Detection in Images.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Master Thesis No. 110 (2017).
122 pages, english.
Abstract

Abstract Optical defect detection in industrial image processing is mostly a binary classification task to examine working pieces towards their quality: images without defect (OK) and defective images (NOK) shall be distinguished. In many applications, state-of-the-art convolutional neural network architectures already achieve good performance. Transferring such a system from one production line to another can cause a performance drop due to illumination changes and other differences between image acquisition systems. The goal of this work is to improve stability of CNNs in presence of realistic image perturbations such as noise, blur or illumination changes. The prediction of the CNN should not change due to such perturbations, that means the CNN should be stable in its prediction. This consequently means the CNN should be robust against these realistic perturbations. For stable CNNs, line transferability can be achieved. Two approaches of improving the stability of a CNN are presented in this work: Data Augmentation and Stability Training. Stability Training requires a siamese network architecture and an improved loss function including an additional error term. Data Augmentation does not require additional adaptation. In order to get the best augmentation parameter setting, hyperparameter optimization is applied. The two state-of-the-art CNN architectures VGG16 and GoogLeNet are tested on four different datasets in order to compare stability and performance of the two approaches towards a baseline where no data augmentation is used. Compared to the training without augmentation, the results of the two approaches both show a significant performance improvement on the perturbed test data of the same production line and furthermore on data of other production lines compared to the plain training without any kind of augmentation. Experiments show that for simple tasks both approaches yield comparable results. For more complex datasets, Stability Training even outperforms Data Augmentation. In Data Augmentation, the original image is replaced by the perturbed image. For datasets with high variation, Data Augmentation might fail on the target task if e. g. for special defect types each of the representatives is perturbed. In Stability Training, the original sample is not overwritten. Furthermore, the stability term strongly penalizes deviations between probabilities of original and perturbed image. Data Augmentation enforces the perturbed image to have the correct label.

Zusammenfassung Optische Defekterkennung ist ein überwiegend binäres Klassifikationsproblem aus dem Bereich der industriellen Bildverarbeitung, um Werkstücke auf ihre Qualität hin zu prüfen: Es soll zwischen Bildern ohne Defekt (OK Bilder) und Bildern, die einen Defekt zeigen (NOK Bilder), unterschieden werden. Convolutional Neural Networks erzielen mittlerweile in vielen Applikationen gute Ergebnisse. Der Versuch, ein solches Klassifikationssystem auf mehreren Produktionslinien zu \\nutzen ist nicht selten mit starken Performance-Einbußen verbunden. Dies ist der Fall, weil sich die Aufnahmebilder der Linien z. B. in der Beleuchtung unterscheiden oder aufgrund von anderen Eigenschaften des Bildaufnahmesystems. Das Ziel dieser Arbeit ist es, die Stabilität von CNNs in Anwesenheit realistischer Bildartefakte wie z. B. Rauschen, Unschärfe oder Helligkeitsveränderungen, zu verbessern. Die Entscheidung des CNN sollte sich nicht ändern, d. h. das CNN sollte in seiner Entscheidung stabil sein. Dies bedeutet auch, dass das CNN gegenüber der Bildartefakte robust sein sollte. Das führt zu einer besseren Einsetzbarkeit des CNN auf anderen Produktionslinien. In dieser Arbeit werden zwei verschiedene Verfahren verglichen, welche die Stabilität eines CNNs verbessern können: Data Augmentation (DA) und Stability Training (ST). Für letzteres wird eine siamesische Netzwerkstruktur benötigt. Außerdem wird der Fehlerterm um einen weiteren Stabilitätsterm erweitert. Für Data Augmentation sind keine solchen Anpassungen nötig. Hyperparameter Optimization wird in dieser Arbeit genutzt, um optimale Hyperparameter für Data Augmentation und Stability Training zu finden. Die zwei State-of-the-Art Netzwerk-Architekturen VGG16 und GoogLeNet werden auf vier Datensätzen trainiert und auf deren Stabilität und Performance hin evaluiert, um die beiden Ansätze mit dem Training ohne Augmentierung zu vergleichen. Beide Ansätze zeigen eine starke Verbesserung der Stabilität gegen-\\über dem Training ohne Augmentierung auf der gleichen Produktionslinie sowie auf anderen Linien. Data Augmentation und Stability Training liefern für einfachere Probleme vergleichbare Resultate. Für komplexere Probleme erzielt Stability Training bessere Ergebnisse. Bei Data Augmentation wird ein Originalbild durch die augmentierte Version ersetzt. Für Datensätze mit hoher Varianz kann Data Augmentation auf den Originaldaten fehlschlagen, falls z. B. bei speziellen Defekttypen alle Instanzen augmentiert sind. Bei Stability Training wird das Original nicht ersetzt. Außerdem bestraft der Loss Term Unterschiede der Wahrscheinlichkeiten, während bei Data Augmentation das korrekte Label gefordert wird.

Department(s)University of Stuttgart, Institute of Parallel and Distributed Systems, Machine Learning und Robotics
Superviser(s)Toussaint, Prof. Marc; Klar, Dr. Michael
Entry dateApril 6, 2022
   Publ. Computer Science