Kamerabasierte Pulverbettüberwachung bei Pulverbettverfahren
Arbeitspaket | 5: Qualitätsmonitoring |
Konsortialpartner | FHWS, Toolcraft |
🚧 ❬Abbildung 32 einfügen.❭
Neuronales Netz für semantische Segmentierung der Kamerabilder
Wie Abbildung 32 darstellen soll, war es die Aufgabe automatisiert Anomalien in Kamerabildern des Pulverbetts in jeder Schicht zu erkennen. Der hier beschriebene Ansatz geht in zwei Stufen vor:
- Festlegung von Bereichen, in denen Metall aufgeschmolzen wurde (= Vordergrund, Metall)
und Bereichen, in denen kein Metall aufgeschmolzen wurde (= Hintergrund, Metallpulver) - Berechnung des Verhältnisses von Ist-Vordergrund zu Soll-Vordergrund
Aus dem letzten Schritt resultiert pro Schicht ein einfaches Überwachungskriterium welches im Idealfall gleich eins ist. Eine Abweichung von diesem Wert abzüglich einer gewählten Toleranz wird als Anomalie und somit Fehler im Pulverbett gewertet. Eine Klassifizierung welche Art von Fehler vorliegt, erfolgt zunächst nicht.
Die Umsetzung des ersten Schrittes erfordert die sichere Erkennung der aufgeschmolzenen Bereiche im Pulverbettbild. Wie in Abbildung 32 links zu erkennen ist, ist die Festlegung eines einfachen Schwellwerts – Schwarz-Weiß-Konvertierung – nicht möglich. Dies liegt an den sich spiegelnden Oberflächen, Reflexionen und Schattenwürfen. Auch aufwendige Algorithmen zur Trennung von Vorder- und Hintergrund wie sie in der Softwarebibliothek openCV[1] vorgeschlagen werden, liefern keine befriedigenden Ergebnisse.
Der Einsatz eines trainierten neuronalen Netzes, als spezifischer Algorithmus zur Lösung des ersten Schritts, kam daher aus den folgenden Gründen in Betracht:
- Eine typische Zeitspanne zwischen zwei Bauteilschichten beträgt mindestens 0,5 Sekunden. Diese Zeit ist in den meisten Fällen mit modernen Geräten ausreichend, um ein Bild mit 1024×1024 Pixeln zu verarbeiten.
- Entsprechend des Stands der Technik steht eine Netzwerkarchitektur – ein sog. U-Netz – zur Verfügung, welche sich als geeignet und performant bei der Aufgabe zeigte, automatisiert biomedizinische Bilder zu analysieren. Auch bei einer weiteren Anwendung zur Erkennung des Verschleißes von Werkzeugen wurde dieser Ansatz erfolgreich eingesetzt.
Aus dem Stand der Technik wurde daher eine U-Net Architektur gewählt. Jedoch nicht wie ursprünglich vorgeschlagen – es wurde ein abgewandeltes Netzwerk entwickelt, bei dem Vorteile hinsichtlich der Genauigkeit gezeigt werden konnten. Abbildung 33 zeigt diese Xception-Style Architektur angepasst auf eine Bildgröße von 256×256 Pixel mit beispielhaft gewählten Eingangs- und Ausgansbildern.
🚧 ❬Abbildung 33 einfügen.❭
Durch den Einsatz eines trainierten Netzes, wie in Abbildung 33 dargestellt, konnten trotz schwieriger Belichtungsszenen und Spiegelungen Bereiche, in dem Metall aufgeschmolzen wurde, pixelweise im Bild vom Hintergrund getrennt werden. Dies wird im weiteren Verlauf des Artikels noch erläutert.
Sensorgestützte Generierung von pixelweise klassifizierten Trainingsbildern
Die Anwendung von künstlichen neuronalen Netzen als Algorithmus zur Bildverarbeitung erfordert ein vorheriges Training, also eine Parametrisierung des Netzes. Für die Anzahl der Bilder, welche zum Training verwendet werden, gilt stets: je mehr, desto genauer kann später eine Aussage / Vorhersage erfolgen. Da nicht nur Bilder, sondern auch entsprechende Kontextinformationen eingegeben werden müssen, kann das Training sehr zeit- und ressourcenaufwändig werden. Gerade im Falle einer semantischen Segmentierung, welche hier zum Einsatz kommt, muss jeder Pixel im Bild eine Kontextinformation erhalten, um für das Training verwendet werden zu können. Im einfachsten Fall – wie hier – kann jeder Pixel maximal zwei Zustände haben. Vordergrund = Metall oder Hintergrund = Metallpulver. Wie in der aktuellen Veröffentlichung[2] berichtet, wurden hier etwa 6000 Bilder per Hand pixelweise von Experten mit der notwendigen Kontextinformation erweitert. Dabei wird hier von labeling gesprochen. Dieser Vorgang ist sehr zeitaufwendig. Allerdings muss dieser Vorgang nur einmal durchgeführt werden und später in der Anwendung des trainierten Netzes nicht mehr. Daher wird hier der Ansatz verfolgt, zusätzliche Sensoren einzusetzen, um den Vorgang des labelings zu automatisieren. In der vorhandenen Anlage EOS M290 stehen zwei weitere Messsysteme zur Verfügung, welche sich eignen, aufgenommene Bilder vom Pulverbett zu klassifizieren. Eingesetzt wurde eine weitere Kamera welche Aufnahmen im nahen Infrarotwellenlängenbereich (900 bis 1200 nm) erstellt.
Diese Bilder wurden mit einem festen Schwellwert schwarz-weiß-transformiert um somit eine Maske zu erhalten, welche die Bereiche schwarz kennzeichnet, in denen Metall aufgeschmolzen wurde und weiß, wo kein Metall aufgeschmolzen wurde. Abbildung 34 stellt anhand einer beispielhaften Bauschicht die unterschiedlichen Bilder dar. Ganz rechts ist das Bild, welches als Maske für das Training des neuronalen Netzes verwendet wird. Somit können Bilder zusammen mit der Verwendung von zusätzlicher Sensorik automatisiert als Trainingsdaten verwendet werden.
Das so trainierte Netz erfüllt die im Abschnitt zuvor definierte erste Aufgabe – das Trennen von Vordergrund und Hintergrund. Mit der Nutzung des neuronalen Netzes kann eine zweite Kamera im nahen Infrarotbereich – wie sie für das Training verwendet wurde – eingespart werden. Hier wird daher von einem Soft-Sensor gesprochen, da die Funktionalität durch die Software, genauer von einem Algorithmus übernommen wird. Der Zeitbedarf für die Ausführung des Netzes auf eine Bild mit 256×256 Pixeln liegt kleiner 100 Millisekunden und kann daher als Lösung verwendet werden.
🚧 ❬Abbildung 34 einfügen.❭
Erste Versuche und das initiale Training des neuronalen Netzes wurden mit etwa 5000 Bildern durchgeführt. Eine Validierung mit einem Testdatensatz ergab eine Genauigkeit (true-positiv) von 90%. Allerdings muss dieses Ergebnis relativiert werden, da die Aussage stark von der Verteilung der Flächen von Hintergrund zu Vordergrund abhängt. Enthalten Bilder beispielsweise überwiegend Pixel, welche als Hintergrund klassifiziert werden, ist nur aufgrund der Menge an Pixeln die Genauigkeit stets besser als für die Klassifizierung des Vordergrundes.
Anwendung zur Verbesserung der Anomalieerkennung
Im vorherigen Abschnitt wurde gezeigt, wie mit Hilfe eines neuronalen Netzes die Bereiche, in denen Metall aufgeschmolzen wurde, von Bereichen mit Metallpulver segmentiert werden können. Dies erfolgt ohne den Einsatz zusätzlicher Sensorik. Wird nun das trainierte Netz UNet(P) während der Fertigung auf jedes Bild mit der Pixelmenge Ppowder einer Schicht angewendet, kann die Fläche Ametall, also die Summe aller Pixel mit der Klassifizierung Vordergrund, beschrieben werden. Wird diese beobachtete bzw. berechnete Fläche Ametall auf Basis der Kamerabilder in Bezug zu der bekannten Sollfläche Asoll gesetzt, resultiert, wie eingangs beschrieben, ein Überwachungskriterium für eine fehlerfreie Schicht:
mit
Abbildung 35 zeigt für ein Bauteil den Verlauf der berechneten/beobachteten Fläche und die Sollfläche für die ersten 7 mm der Bauhöhe. Im Bereich der Bauhöhe zwischen 1 und 1,5 mm kann deutlich eine signifikante Abweichung zwischen Sollfläche und im Pulverbett aufgeschmolzene Fläche erkannt werden. Die entsprechenden Ausschnitte aus den Kamerabildern bestätigen die Abweichung, wie in Abbildung 35 rechts in den Bildern zu erkennen. Der Bereich, der geschlossen rechteckig aufgeschmolzen werden sollte, hat sichtbare Fehlstellen. Diese ersten Ergebnisse bestätigen zunächst den Ansatz und stellen zugleich ein einfaches Überwachungskriterium dar. Darin liegt aber auch das Optimierungspotential begründet, da diese Schwellwertüberwachung keine direkten Rückschlüsse auf die Position oder die Art der Anomalie im Pulverbett zulässt. Weiterhin wird im Folgenden noch untersucht, wie die Auflösung der Kamerabilder weiterhin einen positiven Einfluss auf die Genauigkeit der Flächenberechnung hat. Eine Verifizierung der Generalisierung des Ansatzes konnte bisher nicht gegeben werden, da nur Bildmaterial von einer Anlage zur Verfügung stand.
🚧 ❬Abbildung 35 einfügen.❭