Eugen G. Leuze Verlag KG
×
 x 

Warenkorb leer.
Warenkorb - Warenkorb leer.
Montag, 28 November 2022 10:59

Transfer Learning – Teil 2 Automatische Detektion und Klassifikation elektronischer Bauelemente in Röntgen-aufnahmen auf Basis neuronaler Netze

von O. Albrecht
Geschätzte Lesezeit: 10 - 20 Minuten

As part of a graduation thesis, a system was developed with which convolutional neural networks (CNN) can be trained to reliably identify electronic components in X-ray images. The concept of transfer learning is used to train the CNNs. A procedure was designed and implemented to generate suitable training data sets. With the help of the training data sets, different network architectures for image classification and object detection could be trained and evaluated. For the transfer learning, freely available models from another domain were used. The results show that transfer learning is a suitable method to reduce the effort (time, amount of data) in creating classification and object detector models. The models created show a high degree of accuracy in classification and object detection, even with unknown data. Applications that are related to the evaluation of radiographic images of electronic assemblies can be designed more effectively thanks to the available knowledge.

Part 2 in this issue explains the concept of transfer learning and presents the study results. (See issue 10/2022 for Part 1)

Im Rahmen einer Graduierungsarbeit wurde ein System entwickelt, mit dem Convolutional Neural Networks (CNN) trainiert werden können, um in Röntgenaufnahmen elektronische Bauelemente sicher zu erkennen. Hierbei wird das Konzept des Transfer-Learning verwendet. Zur Erzeugung geeigneter Trainingsdatensätze wurde ein Verfahren entworfen. So konnten verschiedene Netzarchitekturen für die Bildklassifikation und Objektdetektion trainiert und evaluiert werden. Für das Transfer-Learning wurden frei verfügbare Modelle einer anderen Domäne verwendet. Die Ergebnisse zeigen, dass Transfer Learning eine geeignete Methode zur Reduzierung des Aufwands (Zeit, Datenmenge) bei der Erstellung von Klassifizierungs- und Objektdetektor-Modellen ist. Die erstellten Modelle zeigen dabei eine hohe Genauigkeit bei der Klassifikation und Objektdetektion auch bei unbekannten Daten. Anwendungen, die mit der Auswertung radiografischer Aufnahmen elektronischer Baugruppen in Zusammenhang stehen, können so effektiver gestaltet werden.

Im ersten Teil des Artikels (siehe Heft 10/2022) wurden die Spezifika der Objekterkennung in Röntgenbildern und die Nutzung neuronaler Netze für derartige Aufgaben dargestellt. Auf die Frage, wie man vorhandene Ergebnisse aus dem Bereich der Bilderkennung an lichtoptischen Aufnahmen von Objekten aus anderen Anwendungsbereichen schneller zu Ergebnissen kommen kann, wird nachfolgend eingegangen.

Teil 2 in diesem Heft erläutert das Konzept des Transfer Learning und stellt die Ergebnisse der Untersuchung dar. (Teil 1 siehe Heft 10/2022)

4 Transfer Learning

Den Ablauf der Bildklassifikation mittels CNN kann man sich in kompakter Form wie in Abbildung 4 vorstellen. Das Modell besteht aus dem sogenannten Backbone und dem Head. Der Backbone generiert durch Anwendung von Filtern Merkmale (Features) aus den Eingangsdaten und erzeugt Feature Maps. Diese werden im Head klassifiziert. Bei einem neu initialisierten neuronalen Netz sind die Filter zunächst sehr unspezifisch und werden im Rahmen des Trainings verfeinert und optimiert. Die Neuinitialisierung eines CNN ist jedoch sehr zeit- und rechenintensiv und benötigt eine sehr große Anzahl annotierter Datensätze, d. h. mehrere 100 Bilder pro Objektklasse. Annotation bedeutet in diesem Zusammenhang die Verknüpfung eines Bildes mit dem entsprechenden Klassenlabel.

Abb. 4: Ablauf einer BildklassifikationAbb. 4: Ablauf einer Bildklassifikation

Die Erzeugung eines Datensatzes gilt im Allgemeinen als aufwendigster und teuerster Prozess. Der Aufwand kann jedoch reduziert werden durch die Übertragung des Wissens eines vortrainierten neuronalen Netzes zur Lösung einer Aufgabe auf eine neue Aufgabe bzw. Anwendung. Das sogenannte Transfer Learning läuft prinzipiell gleich zur Klassifikation ab, wobei hier ein bereits trainiertes Modell modifiziert und weiter optimiert wird.

Für das Transfer Learning stehen grundsätzlich unterschiedliche Szenarien der Modifikation zur Verfügung und folgen dabei dem Schema:

  1. Auswahl eines Basisnetzwerks
  2. Kopieren der ersten n Schichten (Filter-Kernel)
  3. Trainieren des Netzwerks mit dem Zieldatensatz

Die Konfiguration des Zielnetzwerks (Wahl des Basisnetzwerks, die Zahl der transferierten bzw. neu initialisierten Schichten) ist frei in der Gestaltung und bleibt dem Anwender überlassen. Die genannten Parameter hängen jedoch von der Größe des Datensatzes, der Ähnlichkeit mit der Quelldomäne und der Anwendung ab und müssen in der Regel experimentell ermittelt werden. Generell wird empfohlen, vor allem bei sehr kleinen Datensätzen, lediglich die letzte Schicht auszutauschen und durch einen linearen Klassifikator zu ersetzen [6].

(a) Ausgangspunkt: Vortrainiertes Netz für eine bestimmte Aufgabe(a) Ausgangspunkt: Vortrainiertes Netz für eine bestimmte Aufgabe

(b) Szenario 1: Die vortrainierte Netzarchitektur wird vollständig transferiert. Die einzelnen Schichten können während des Trainings optimiert werden(b) Szenario 1: Die vortrainierte Netzarchitektur wird vollständig transferiert. Die einzelnen Schichten können während des Trainings optimiert werden

(c) Szenario 2: Es werden die ersten n Schichten transferiert und die letzten zwei mit zufälligen Werten initialisiert. Die transferierten Schichten können, die neu initialisierten müssen trainiert werden(c) Szenario 2: Es werden die ersten n Schichten transferiert und die letzten zwei mit zufälligen Werten initialisiert. Die transferierten Schichten können, die neu initialisierten müssen trainiert werden

(d) Szenario 3: Das Netzwerk wird transferiert, nach der dritten Schicht abgeschnitten und zwei neue Schichten angehängt, nach [6](d) Szenario 3: Das Netzwerk wird transferiert, nach der dritten Schicht abgeschnitten und zwei neue Schichten angehängt, nach [6]

4.1 Datensatz

Die Anforderungen an einen Datensatz werden maßgeblich durch den Anwendungszweck festgelegt. Im Rahmen dieser Untersuchung wurden zwei Anwendungen im Bereich der maschinellen Bildverarbeitung betrachtet. Dies ist zum einen die Bildklassifikation und zum anderen die Objektdetektion.

Für die Klassifikation ist es ausreichend, ein Label pro Bild bereitzustellen. Dies kann in Form einer Ordnerstruktur im Dateisystem oder durch eine Datei, in der die Zuordnung der Dateinamen mit den Objektklassen vorgenommen wird, geschehen. Für die Objektdetektion müssen zusätzlich die Koordinaten des Rechtecks bereitgestellt werden, welches die Objektgrenzen darstellt.

Die Menge der benötigten Trainingsdaten für die Klassifikation hängt von der Komplexität der Aufgabe und der Komplexität des Modells ab. Generell ist von einem linearen Zusammenhang zwischen der Zahl der optimierbaren Parameter und der benötigten Samples auszugehen. Für die Objektdetektion gelten abweichende Anforderungen, da während des Trainings neben der Klassifikation der Objekte zusätzlich die Unterscheidung vom Hintergrund erlernt werden muss. Daher spielt neben der Quantität der Daten auch die Qualität eine sehr wichtige Rolle. Damit ist jedoch nicht die Bildqualität im herkömmlichen Sinne gemeint, sondern die Vielfalt der Aufnahmen. Ein qualitativ hochwertiger Datensatz repräsentiert im besten Fall alle möglichen Aufnahmebedingungen und Situationen. Für Alltagsgegenstände bedeutet das: Ausleuchtung, Tages- und Jahreszeit, Witterung und unterschiedliche Kontexte.

Für die Erkennung von elektronischen Bauelementen bedeutet das, dass möglichst viele unterschiedliche Baugruppen sowie Packagetypen und -größen in die Erstellung des Datensatzes einfließen. Mithilfe von Data Augmentation kann der Datensatz künstlich erweitert werden. Dabei handelt es sich um Bildtransformationen wie beispielsweise Spiegelungen, Verzerrungen, Hinzufügen von Bildrauschen.

Die Datensätze, die für das Training und die Versuche erzeugt wurden, basieren zum einen auf bereitgestellten Bilddaten von zwei verschiedenen Baugruppen eines Industriepartners (siehe Tab. 2) und zum anderen auf eigens aufgenommenen Bildern an Testbaugruppen. Zur Beschleunigung des Prozesses wurden Röntgenbilder von Baugruppen mit den entsprechenden Entwurfsdaten automatisch annotiert. Um dies zu realisieren, wurden 2D-Codes in der Kupferschicht der Leiterplatte strukturiert, welche im Röntgenbild sichtbar sind und so eine eindeutige Zuordnung zwischen Bildausschnitt und Entwurfsdaten ermöglichen. Bei der Erstellung des Datensatzes wurden eine möglichst ausgewogene Klassenverteilung sowie eine hohe Vielfalt in den Aufnahmen berücksichtigt. Auf diese Weise wurden verschiedene Datensätze für das Training von Bildklassifikatoren sowie Objektdetektoren erzeugt.

Tab. 2: Informationen zu Baugruppen der bereitgestellten Datensätze
 Datensatz  Baugruppe 1  Baugruppe 2
Bestückung
Lagen
Technologien
Bauelemente
Häufigste Bauelemente
Besonderheiten
Čeinseitig
einlagig
SMT, THT
1492 Objekte
9 unterschiedliche Bauelement-Typen
77 Package- / Foot-print-Varianten
Widerstand – 37%
Kapazität – 22%
Diode – 17%
Kundenprodukt (Testbaugruppe)
plus 2022 11beidseitig
mehrlagig
SMT, THT
783 Objekte
11 Bauelement-Typen
57 Package- / Foot-print-Varianten
Widerstand – 56%
Kapazität – 24%
Diode – 8,3%
Kundenprodukt, Aufnahme mit längerer Expositionszeit, dadurch geringes Bildrauschen

Für das eigene Testboard wurden sechs unterschiedliche SMD-Bauelement- und Packagetypen verwendet. Dazu gehören im konkreten Fall:

  • Chip-Widerstand Gr. 0603
  • Chip-Kondensator Gr. 0603
  • Chip-Induktivität Gr. 0402
  • TVS-Diode - Bidirektional, Package: SOD-882
  • Transistor, Package: HUSON3 (QFN / SON)
  • Schottky-Diode, Package: SOT-143R

Damit eine unausgeglichene Klassenverteilung vermieden wird, werden auf dem Testboard von allen o. g. Bauelement-Typen jeweils 50 Stück platziert (insgesamt 300 Bauelemente). Um dabei eine möglichst hohe Variation in den Aufnahmen zu erhalten, werden die Bauelemente nicht regelmäßig, sondern zufällig auf dem Board platziert. Im konkreten Fall hat das Board Abmessungen von 80mm x 100mm. Die zufällige Anordnung der Bauelemente ist in Abbildung 6 anhand der Board-Datei aus dem Entwurfssystem zu sehen.

Abb. 6: Bestückpositionen des TestboardsAbb. 6: Bestückpositionen des Testboards

Abb. 7: In Kupfer strukturierte Aruco-Marken, Testplatine zur Untersuchung verschiedener Strukturgrößen (je Pixel: 0,25 mm, 0,5 mm, 0,75 mm, 1 mm und 2 mm)Abb. 7: In Kupfer strukturierte Aruco-Marken, Testplatine zur Untersuchung verschiedener Strukturgrößen (je Pixel: 0,25 mm, 0,5 mm, 0,75 mm, 1 mm und 2 mm)Damit die automatische Annotation der Bilddaten später leichter durchführbar ist, wurden zusätzlich spezielle Referenzmarken in Form von Aruco-Marken manuell auf der Leiterplatte platziert. Dabei handelt es sich um eine quadratische Struktur, mit der eine Zahl in Form einer Pixelmaske codiert wird. Diese Struktur wurde später zusammen mit den Bauelement-Anschlusspads in die Kupferschicht der Leiterplatte strukturiert. Ein Beispiel dieser Strukturen ist in Abbildung 7 dargestellt. Bei Aruco-Marken handelt es sich um ein Referenzmarkensystem, das ursprünglich für den Bereich der Roboter-Navigation und Augmented-Reality-Anwendungen entwickelt wurde und dort auch eingesetzt wird. Zur Vergrößerung der Datenmenge werden mehrere Aufnahmen pro Board durchgeführt, wobei das Testboard mit unterschiedlichen Strukturen überlagert wird.

Für die automatische Annotation der Bilddaten sollte im Bild mindestens eine der Referenzmarken vorhanden sein, besser wären jedoch zwei. Eine weitere Voraussetzung ist die Bereitstellung der zu dem Board gehörigen CAD-Daten in Form eines Board-Files. Die Verwendung von Aruco-Marken bietet gegenüber den gebräuchlichen Referenzmarken in Form von Kreisen, Quadraten oder Kreuzen einige Vorteile für die automatisierte Annotation. Es werden häufig nur Einzelaufnahmen von Teilen einer Baugruppe angefertigt. Obwohl auf diesen Bildern Referenzmarken abgebildet sein können, sind diese nicht einzigartig. Daher kann es schwierig sein, die betrachtete Bildregion der korrekten Position in den CAD-Daten zuzuordnen. Aruco-Marken besitzen neben der codierten Zahl auch ein Koordinatensystem, welches über die Kanten aufgespannt wird und zusätzlich größen- und rotationsinvariant ist. Aruco-Marken sind somit theoretisch in Subpixel-Genauigkeit detektierbar.

Die auf der Leiterplatte platzierten Referenzmarken erlauben es, die Pixelgröße im Mikrometerbereich zu ermitteln. Darüber hinaus geben sie Auskunft über die Lage des betrachteten Bildausschnitts. Anhand der Lage der Referenzmarke im Bild und der berechneten Pixelgröße können die Position und der betrachtete Ausschnitt in den CAD-Daten zugeordnet werden. Anschließend muss das Koordinatensystem der Bild- und CAD-Daten transformiert werden, so dass die Positionen korrespondieren und ein Offset berechnet werden kann. Danach lässt sich ermitteln, welche Bauelemente im Bildausschnitt sichtbar sind. Die so gewonnenen Informationen für das Bild werden anschließend in einer Tabelle gespeichert. Weitere Bearbeitungen zur Verbesserung und Erweiterung des Datensatzes wurden durchgeführt, z. B. die bereits erwähnte Data Augmentation unter Nutzung der Online-Plattform Roboflow. Tabelle 3 zeigt die Übersicht der erstellten Datensätze.

 Tab. 3: Übersicht der erstellten Datensätze für Klassifikation und Detektion

Datensatz

Quelle

Klassen

Kategorien & Instanzen

Gesamt

Klassifikation

Intern

6

CC

380

SOD

294

2226 Bilder

 

CR

361

SOT

417

 

CL

376

SON

398

Detektion 1

Intern

6

CC

398

SOD

391

144 Bilder

2459 Annotationen

Ø 17 Label / Bild

 

CR

388

SOT

470

 

CL

390

SON

422

Detektion 2

Intern, Extern

1

Bauelement

3170

   

175 Bilder

3164 Annotationen

Ø 18 Label / Bild

         

Detektion 3

Intern, Extern

7

CC

575

SOD

402

175 Bilder

3164 Annotationen

Ø 18 Label / Bild

 

CR

775

SOT

579

 

CL

393

SON

429

 

andere

11

   

4.2 Modellauswahl

Die Prämisse des Transfer Learnings grenzt die Auswahl auf frei zugängliche, vortrainierte Modelle ein. Prinzipiell ist ein Modell auszuwählen, welches sich thematisch möglichst nah an der Zieldomäne befindet. In der Regel wurden jedoch alle Modelle mit dem ImageNet-Datensatz vortrainiert und sind innerhalb der Deep Learning Frameworks in sog. Model Zoos für die direkte Verwendung verfügbar. Da diese Modelle nun alle im Bereich der Erkennung von Alltagsgegenständen beheimatet sind, ist nicht zu erwarten, dass die berichtete Leistungsfähigkeit in die Zieldomäne übertragbar ist. Hier besteht die Hypothese, dass flache Netzarchitekturen einen Vorteil bieten, da diese eher unspezifische Merkmale extrahieren [6, 7]. Dies lässt sich durch die Verwendung unterschiedlicher Modelle überprüfen.

Die Verwendung von Röntgenbildern gegenüber Lichtbildern führt zu einigen Unterschieden. Der offensichtlichste Unterschied ist die Verwendung verschiedener Farbräume. Eine weitere Differenz ist das Verhalten bei Verdeckungen. In Lichtbildern führt diese aufgrund der Reflexion ebenfalls zu einer Verdeckung in der Aufnahme. In Röntgenbildern hingegen entsteht das Bild durch Transmission und Absorption von Strahlung. Dadurch führt eine Verdeckung zu einer Superposition (Überlagerung) in der Aufnahme.

Obwohl die Bildarten so unterschiedlich sind, werden sie doch auf die gleiche Weise vom Menschen rezipiert. Aus diesem Grund und da in vielen anderen Arbeiten diese Art von Netzen erfolgreich zur Auswertung von Röntgenbildern verwendet wird, sollten diese Modelle auch für den Zweck dieser Arbeit gut geeignet sein.

4.3 Training

Um das Modell im Sinne des Transfer Learnings zielführend zu trainieren, muss das Zielnetz konfiguriert werden. So bietet es sich an, vor allem bei kleineren Datensätzen das Netzwerk zunächst als Fixed Feature Extractor einzusetzen und die extrahierten Merkmale als Eingang für einen linearen Klassifikator (SVM, Support Vector Machine) zu verwenden. Dabei handelt es sich um die Konfiguration, wie sie in ‚Transfer-Szenario 1' – Abbildung 5 (b) – dargestellt ist. Das vollständige Modell wird kopiert, alle Gewichte ‚eingefroren' und die Klassifikationsschicht ausgetauscht. Die Klassifikationsschicht ist in der Regel die letzte Schicht des Netzwerks. Sie wird auch als ‚Kopf' des Netzwerks oder Head (gebräuchlichster Begriff) bezeichnet.

Abb. 8: Stark vereinfachte Darstellung des Trainingsablaufs eines CNNAbb. 8: Stark vereinfachte Darstellung des Trainingsablaufs eines CNN

Anschließend folgt das Training eines neuronalen Netzes nach dem in Abbildung 8 dargestellten Schema. Dieser Prozess wird solange wiederholt, bis ein Stopp-Kriterium erreicht wurde. Dabei kann es sich bspw. um eine zu erreichende Genauigkeit, Zeitdauer oder Iterationszahl handeln.

Damit ein Training durchgeführt und evaluiert werden kann, muss ein Ablaufplan erstellt werden, welcher die notwendigen Schritte definiert. In der Regel gehören dazu:

  • Datenlader – Routine zur Vorbereitung der Daten, damit sie in das Netzwerk eingespeist werden können
  • Hyperparameter-Einstellung – Festlegung diverser Hyperparameter (s. u.)
  • Modellinitialisierung – Festlegung der anpassbaren / zu optimierenden Schichten
  • Trainingsschritt
  • Evaluation

Der Datenlader hat die Aufgabe, die Eingangsdaten in ein für das Netzwerk verwertbares Format zu transformieren. Dabei handelt es sich i. d. R. um eine Größenanpassung, Normierung und Normalisierung der Pixelwerte. Beim Laden von Trainingsdaten können diese auch modifiziert werden, um den Datensatz künstlich zu vergrößern (Data Augmentation).

Die Hyperparameter werden ausgehend von Standardwerten experimentell bestimmt. Im Rahmen des Transfer Learnings sind hier besonders wichtig:

  • Learning Rate (Lernrate) – bestimmt, wie stark die Parameter im Optimierungsschritt geändert werden. Je höher sie ist, desto schneller vergisst das Modell alte Informationen. Sie liegt typischerweise im Bereich von 10−5 . . . 10−3.
  • Verlustfunktion – Misst, wie gut bzw. schlecht das Netzwerk die Eingangsdaten vorhersagt
  • Optimizer – Algorithmus, der die neuen Gewichte ermittelt
  • Batch Size – Anzahl der Samples pro Trainingsschritt. Die Anzahl wird durch den Grafikspeicher limitiert, da dieser alle Zwischenergebnisse speichern muss.

Wurde das Modell mit den Hyperparametern und der gewünschten Architektur konfiguriert, kann das Training durchgeführt werden. In einem Trainingsschritt erfolgt die Optimierung in Form der Minimierung einer Kosten- bzw. Verlustfunktion. Diese Funktion wird je nach Art des Klassifikators und nach Klassenzahl ausgewählt. Während und nach dem Training kann die Qualität des Modells mit dem Testdatensatz ermittelt werden. Eine regelmäßige Zwischenevaluation kann ein Overfitting (Überanpassung) des Netzwerks erkennen lassen.

4.4 Evaluation

Für die Evaluation von neuronalen Netzen stehen je nach Anwendungsfall unterschiedliche Metriken und Werkzeuge zur Verfügung. Für den Vergleich von binären Klassifikatoren (k = 2 Klassen) wird die Genauigkeit als Accuracy angegeben. Bei mehrklassigen Klassifikatoren (k > 2) wird i. d. R. die durchschnittliche Genauigkeit über alle Klassen angegeben und auch (Average) Accuracy genannt. Sie wird gemäß Gleichung <1> berechnet. Eine Vorhersage bzw. Klassifikation wird in der Regel als korrekt (True Positive) gewertet, wenn die vorhergesagte Klasse mit der tatsächlichen Klasse übereinstimmt.

Abb. 9: Beispiel der Intersection-over-Union-BerechnungAbb. 9: Beispiel der Intersection-over-Union-Berechnung

Zur Evaluation der Leistungsfähigkeit (im Sinne von Genauigkeit) von Objektdetektoren werden meist die Metriken der COCO Detection Evaluation [8] verwendet. Der häufigste Vergleichswert ist dabei die Average Precision (AP). Dabei handelt es sich um einen Durchschnittswert aus Durchschnittswerten. Zur Berechnung des Wertes wird die Precision (Gl. <2>) für jede Klasse bei unterschiedlichen Intersection over Union-Schwellwerten (kurz: IoU, Abb. 9) bestimmt. Dieser Wert kann auch als mean Average Precision (mAP) verstanden werden. Die Precision beschreibt das Verhältnis der korrekt erkannten Objekte zu der Menge an erkannten Objekten. Die IoU beschreibt die Überlappung der vorhergesagten Objektgrenze mit der tatsächlichen Objektgrenze.

Zudem werden im Rahmen der COCO Evaluation die genannten Metriken auf unterschiedliche Skalenebenen bezogen, um die Performanz für kleine (small), mittelgroße (medium) und große (large) Objekte zu bestimmen. Diese werden als APs, APm, APl notiert. Dabei wird die Objektfläche (area) in Pixeln betrachtet.

  • small  0 < area ≤ 1024
  • medium  1024 < area ≤ 9216
  • large  9216 < area

formel01<1>

 

 

 

formel02

<2>

 

 

 

TP – True Positive, FP – False Positive

5 Versuche und Ergebnisse

Zur Überprüfung, ob Transfer Learning und vortrainierte Modelle sich in diesem Anwendungsgebiet verwenden lassen, wurden Versuche im Bereich der Bildklassifikation und Objektdetektion durchgeführt. Hierbei wurde hauptsächlich der Einfluss von den Hyperparametern auf das Trainingsverhalten untersucht. Diese werden ausgehend von Standardwerten experimentell bestimmt.

5.1 Bildklassifikation

Die hier genutzten CNN-Modelle stammen von PyTorch [9]. Folgende Softwareversionen und Hardware wurden während der Versuche verwendet:

  • Python Version: 3.7.10
  • PyTorch Version: 1.8.1
  • Torchvision Version: 0.9.1
  • W&B CLI Version: 0.10.32
  • Grafikkarte: Tesla V100-SXM2-16GB (via Google Colab Pro)
  • Driver Version: 460.32.03
  • CUDA Version: 11.2

Für das Training der CNNs wird der Datensatz ‚Klassifikation' (Tab. 3) genutzt. Von jeder Klasse werden 60 Samples für das Testset (N = 360) zufällig ausgewählt, die verbleibenden Elemente werden für das Training verwendet.

Im ersten Versuch wurden 30 unterschiedliche Netzarchitekturen aus 10 Familien mit der folgenden Standardkonfiguration trainiert und evaluiert.

  • Batchsize 256
  • Optimizer SGD
  • Learn Rate 1*10-3
  • Loss function Cross Entropy

In diesem Experiment wurde deutlich, dass manche Netzarchitekturen besser und manche schlechter als Fixed Feature Extractor geeignet sind. Die Performanz einiger Modelle während des Trainings ist in Abbildung 10 dargestellt. Wie zu erkennen ist, erreichen Modelle aus der Familie der VGGs und das AlexNet eine Genauigkeit von über 95 % bereits nach 10 Epochen.

Abb. 10: Verlauf der Accuracy über den Trainingsfortschritt unterschiedlicher NetzarchitekturenAbb. 10: Verlauf der Accuracy über den Trainingsfortschritt unterschiedlicher Netzarchitekturen

Abb. 11: Einfluss verschiedener Learn Rates auf das Training am Beispiel von ResNet-152Abb. 11: Einfluss verschiedener Learn Rates auf das Training am Beispiel von ResNet-152

Abb. 12: Einfluss unterschiedlicher Batch Sizes auf das Training am Beispiel von ResNet-152Abb. 12: Einfluss unterschiedlicher Batch Sizes auf das Training am Beispiel von ResNet-152

Abb. 13: Einfluss der DatensatzgrößeAbb. 13: Einfluss der Datensatzgröße

Es wurden praktische Versuche mit einer Reihe gängiger CNNs durchgeführt. Diese wurden dabei speziell auf ihre Eignung als Fixed Feature Extractor überprüft, da hierfür besonders wenig Trainingsdaten erforderlich sind. Dabei zeigte es sich, dass die meisten der getesteten Modelle in diesem Fall gute bis sehr gute Resultate liefern und andere ungeeignet sind. Die Modelle der VGG-, DenseNet-Familien sowie AlexNet zeigten in dieser Konfiguration die besten Resultate. Es stellte sich dabei heraus, dass der Parameter Learn Rate einen starken Einfluss auf die Trainingsqualität hat (Abb. 11)). Gegenüber Änderungen der Batch Size waren die Modelle hingegen eher unempfindlich (Abb. 12). Die Untersuchung des Einflusses der benötigten Daten für das Training offenbarte, dass der veranschlagte Wert von 100 Samples pro Klasse mehr als ausreichend war. Bereits nach 50 Samples waren keine wesentlichen Verbesserungen des Modells mehr erkennbar (Abb. 13).

Tab. 4: Einfluss der Batch Size 

Modell

Batch Size

AP

APs

APm

APl

RetinaNet
(ResNet-101-FPN-3x)

4 (Startwert)

58,90

47,07

58,94

62,47

2

60,25

50,54

60,72

62,14

8

58,96

42,42

59,06

64,42

 Tab. 5: Einfluss ‚eingefrorener‘ Schichten

Modell

Frozen Layer

AP

APs

APm

APl

RetinaNet (ResNet-101-FPN-3x)

2

60,25

50,54

60,72

62,14

3

58,86

41,57

59,64

60,75

4

54,18

50,08

54,54

55,46

6

47,03

23,03

50,33

39,18

10

44,13

21,91

47,71

36,18

5.2 Objektdetektion

Im vorhergehenden Abschnitt konnte gezeigt werden, dass CNNs zur Klassifikation elektronischer Bauelemente in radiografischen Aufnahmen gut geeignet sind. Da die dort untersuchten Netze in Objektdetektoren häufig als Backbone eingesetzt werden, liegt die Vermutung nahe, dass sich auch für diesen Anwendungsfall gute Ergebnisse erzielen lassen. Für das Training des Objektdetektors wurde neben Detectron2 auch die YOLOv5-PyTorch-Implementation [10] genutzt. Aus dem Detectron Model Zoo [11] wurden hier die Architekturen Faster R-CNN (zweistufig, Two-Stage) und RetinaNet (einstufig, One-Stage) genutzt. Es wurde erneut der Einfluss der Batch Size auf den Trainingsprozess und die Ergebnisse untersucht. Dabei zeigte sich, dass die Reduzierung der Batch Size auf 2 (0,5x Startwert) oder Erhöhung auf 8 (2x Startwert) nur einen geringen Effekt auf das Training hat. Tabelle 4 ist beispielhaft für das Modell RetinaNet.

 Tab. 6: Einfluss der Datensatzqualität auf die Objektdetektion an unbekannten Eingangsdaten

Modell

Datenquelle

Klassen

APs

YOLOv5l

intern

1

65,31

6

62,11

intern + extern

1

66,61

7

68,01

 plus 2022 11 0042  plus 2022 11 0044

Datensatz Detektion 1 / Anzahl Klassen = 1

Datensatz Detektion 2 / Anzahl Klassen = 1

als Bauelement erkannte Objekte werden mit rotem Rahmen hervorgehoben

 
 plus 2022 11 0043  plus 2022 11 0045

Datensatz Detektion 1 / Anzahl Klassen = 6

Datensatz Detektion 3 / Anzahl Klassen = 7

Erkannte Bauelemente, die mit einer definierten Wahrscheinlichkeit (P ≥ 50%) einer Klasse zugeordnet werden können, erhalten eindeutige Umrahmung (CC = rot, CL = dunkelgelb; CR =P gelb; SOT = grün, SOD = rosa; SON = orange)

In einem weiteren Experiment wurde der Einfluss von Frozen Layers untersucht. Darunter wird die Anzahl der Schichten verstanden, die während des Trainingsvorganges nicht optimiert werden. Die Grundeinstellung ist das ‚Einfrieren' der ersten zwei Schichten. In den Versuchen wurden nun 3, 4, 6, 10 Schichten ‚eingefroren'. Dies hatte einen sehr starken Einfluss auf die Genauigkeit, insbesondere bei der Erkennung kleiner und großer Objekte (Tab. 5).

Untersuchungen zum Einfluss der Learn Rate ergaben, dass eine Erhöhung derselben die Genauigkeit des Modells allgemein steigert.

Abschließend sollte der Einfluss der ‚Qualität' der bereitgestellten Trainingsdatensätze auf das Ergebnis bei der Objekterkennung an einem unbekannten Untersuchungsobjekt bewertet werden. Dazu wurden folgende Datensätze herangezogen und am Modell YOLOv5l trainiert:

  • Datensatz ‚Detektion 1' (intern), mit 1 Klasse (Binäre Detektion)
  • Datensatz ‚Detektion 1' (intern) mit 6 Klassen (Mehrklassen-Detektion)
  • Datensatz ‚Detektion 2' (intern + extern) mit 1 Klasse
  • Datensatz ‚Detektion 3 ‚ (intern + extern), mit 7 Klassen

Es zeigte sich, dass die Qualität der Objektdetektion durch eine höhere Vielfalt und Datensatzgröße verbessert werden kann. In Tabelle 6 sind die Ergebnisse der Objektdetektion aller vier Varianten für dasselbe Eingangsbild dargestellt. Dabei handelt es sich um den Ausschnitt einer Röntgenaufnahme einer realen Baugruppe (Einplatinencomputer Arduino), der zuvor in keinem der Datensätze enthalten war. Die Sicherheit und Menge der Detektionen ist in beiden Fällen nach dem Training mit einem kombinierten Datensatz erhöht.

6 Zusammenfassung

Es konnte gezeigt werden, dass das Transfer Learning eine geeignete Methode sowohl für die Klassifikation als auch für die Objekterkennung elektronischer Bauelemente in radiografischen Aufnahmen darstellt. In der Regel benötigen neuronale Netze eine sehr große Datenbasis, um zugrundeliegende Muster und Strukturen zu erkennen. Der hier gewählte Ansatz ermöglicht es, das Wissen eines neuronalen Netzes aus einer Quelldomäne in eine Zieldomäne zu transferieren. Es konnte gezeigt werden, dass somit die benötigten Daten und die Zeit für das Training deutlich reduziert werden können. Geeignete Trainingsdatensätze lassen sich mit überschaubarem Aufwand generieren, werden aber zunehmend auch allgemein verfügbar sein. Zudem existieren eine Vielzahl geeigneter Softwareplattformen und vorgefertigter Modelle, die sich auch ohne tiefergehende Programmierkenntnisse auf die spezifischen Anforderungen anpassen lassen. Eine ausführliche Darstellung aller Arbeiten und erzielten Ergebnisse ist in [12] zu finden.

Literatur

[6] J. Yosinski; J. Clune; Y. Bengio; H. Lipson: How transferable are features in deep neural networks?, Adv. Neural Inf. Process. Syst., vol. 4, no. January, 2014, 3320–3328
[7] D. Soekhoe; P. van der Putten; A. Plaat: On the impact of data set size in transfer learning using deep neural networks, 2016, 50–60
[8] COCO Consortium, COCO detection evaluation, COCO Common Objects in Context, 2022. https://cocodataset.org/#detection-eval
[9] Models and Pre-Trained Weights, https://pytorch.org/vision/stable/models.html
[10] ultralytics/yolov5: YOLOv5 in PyTorch, https://github.com/ultralytics/yolov5
[11] facebookresearch/detectron2: Detectron2 is FAIR’s next-generation platform for object detection, segmentation and other visual recognition tasks, https://github.com/facebookresearch/detectron2
[12] J. Schmitz-Salue: Systementwurf zum Transfer Learning neuronaler Netze zur Objekterkennung von elektronischen Bauelementtypen in radiografischen Aufnahmen, Diplomarbeit, TU Dresden 2021

Weitere Informationen

  • Ausgabe: 11
  • Jahr: 2022
  • Autoren: O. Albrecht, J. Schmitz-Salue, M. Oppermann, T. Zerna, TU Dresden, Zentrum für mikrotechnische Produktion

Onlineartikel Suche

Volltext

Autoren

Ausgabe

Jahr

Kategorie

Newsletter

Auf dem Laufenden bleiben? Jetzt unsere Newsletter auswählen und alle 14 Tage die neuesten Nachrichten in Ihrem E-Mail Postfach erhalten:

Der Leuze Verlag ist die Quelle für fundierte Fachinformationen.
Geschrieben von Fachleuten für Fachleute. Fachzeitschriften und Fachbücher
rund um Galvano- und Oberflächentechnik sowie Aufbau- und Verbindungstechnik in der Elektronik –
seit 120 Jahren professionelle Informationen und Fachwissen aus erster Hand.

UNTERNEHMEN

ZAHLARTEN

Paypal Alternative2Invoice
MaestroMastercard Alternate
American ExpressVisa

Zahlarten z.T. in Vorbereitung.

KONTAKT

Eugen G. Leuze Verlag
GmbH & Co. KG
Karlstraße 4
88348 Bad Saulgau

Tel.: 07581 4801-0
Fax: 07581 4801-10

E-Mail: [email protected] oder
E-Mail: [email protected]