Kamerabasierte Pulverbettüberwachung bei Pulverbettverfahren: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
(Rohtext aufgearbeitet.) |
||
Zeile 6: | Zeile 6: | ||
{{todo|Abbildung 32 einfügen.}} | {{todo|Abbildung 32 einfügen.}} | ||
Wie Abbildung 32 darstellen soll, ist die Aufgabe automatisiert Anomalien in Kamerabildern | == Neuronales Netz für semantische Segmentierung der Kamerabilder == | ||
des Pulverbetts in jeder Schicht zu erkennen. Der hier beschriebene Ansatz geht in zwei | |||
Wie Abbildung 32 darstellen soll, ist die Aufgabe automatisiert Anomalien in Kamerabildern des Pulverbetts in jeder Schicht zu erkennen. Der hier beschriebene Ansatz geht in zwei Stufen vor: | |||
Metall) und Bereichen, in denen kein Metall aufgeschmolzen wurde (= Hintergrund, | # Festlegung von Bereichen, in denen Metall aufgeschmolzen wurde (= Vordergrund, Metall) und Bereichen, in denen kein Metall aufgeschmolzen wurde (= Hintergrund, Metallpulver) | ||
Metallpulver) | # Berechnung des Verhältnisses von Ist-Vordergrund zu Soll-Vordergrund | ||
Aus dem letzten Schritt resultiert pro Schicht ein einfaches Überwachungskriterium welches | 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. | ||
im Idealfall gleich eins ist. Eine Abweichung von diesem Wert abzüglich einer gewählten | |||
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 | |||
Art von Fehler vorliegt, erfolgt zunächst nicht. | Trennung von Vorder- und Hintergrund wie sie in der Softwarebibliothek openCV<ref>https://opencv.org</ref> vorgeschlagen werden, liefern keine befriedigenden Ergebnisse. | ||
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 | |||
Der Einsatz eines trainierten neuronalen Netzes, als spezifischer Algorithmus zur Lösung des | Der Einsatz eines trainierten neuronalen Netzes, als spezifischer Algorithmus zur Lösung des | ||
ersten Schritts, kam daher aus den folgenden Gründen in Betracht: | 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 dem Stand der Technik steht eine Netzwerkarchitektur – sog. U-Netz – zur Verfügung, welche sich als geeignet und performant bei der Aufgabe automatisiert biomedizinische Bilder zu analysieren zeigte. Auch bei einer weiteren Anwendung zur | |||
ein Bild mit | Erkennung des Verschleißes von Werkzeugen wurde dieser Ansatz erfolgreich eingesetzt. | ||
zur Verfügung, welche sich als geeignet und performant bei der Aufgabe automatisiert | |||
biomedizinische Bilder zu analysieren zeigte. Auch bei einer weiteren Anwendung zur | |||
Erkennung des Verschleißes von Werkzeugen wurde dieser Ansatz erfolgreich | |||
Aus dem Stand der Technik wurde daher eine U-Net Architektur gewählt. Jedoch nicht wie | Aus dem Stand der Technik wurde daher eine U-Net Architektur gewählt. Jedoch nicht wie | ||
ursprünglich vorgeschlagen, sondern ein abgewandeltes Netzwerk entwickelt, bei dem Vor- | ursprünglich vorgeschlagen, sondern ein abgewandeltes Netzwerk entwickelt, bei dem Vor- | ||
teile hinsichtlich Genauigkeit gezeigt werden konnten. Abbildung 33 zeigt diese Xception-Style | teile hinsichtlich Genauigkeit gezeigt werden konnten. Abbildung 33 zeigt diese Xception-Style | ||
Architektur angepasst auf eine Bildgröße von | Architektur angepasst auf eine Bildgröße von 256×256 Pixel mit beispielhaft gewählten Eingangs- | ||
und Ausgansbildern. | und Ausgansbildern. | ||
Zeile 44: | Zeile 35: | ||
schwieriger Belichtungsszenen und Spiegelungen Bereiche, in dem Metall aufgeschmolzen | schwieriger Belichtungsszenen und Spiegelungen Bereiche, in dem Metall aufgeschmolzen | ||
wurde, pixelweise im Bild vom Hintergrund getrennt werden. Dies wird im weiteren Verlauf des | wurde, pixelweise im Bild vom Hintergrund getrennt werden. Dies wird im weiteren Verlauf des | ||
Artikels noch erläutert. | Artikels noch erläutert. | ||
Die Anwendung von künstlichen neuronalen Netzen als Algorithmus zur Bildverarbeitung | == 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 | 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 | eine Aussage / Vorhersage erfolgen. Da nicht nur Bilder, sondern auch entsprechende Kontextinformationen eingegeben werden müssen, kann das Training sehr zeit- und ressourcenaufwendig werden. Gerade im Falle einer semantischen Segmentierung, welche hier zum Ein- | ||
satz kommt, muss jeder Pixel im Bild eine Kontextinformation erhalten, um für das Training | satz 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 | 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 | Zustände haben. Vordergrund = Metall oder Hintergrund = Metallpulver. Wie in der aktuellen | ||
Veröffentlichung <ref https://doi.org/10.1016/j.addma.2020.101453> berichtet, wurden hier etwa 6000 Bilder per Hand pixelweise von Experten | Veröffentlichung<ref>https://doi.org/10.1016/j.addma.2020.101453</ref> berichtet, wurden hier etwa 6000 Bilder per Hand pixelweise von Experten | ||
mit der notwendigen Kontextinformation erweitert. Dabei wird hier von labeling gesprochen. | mit der notwendigen Kontextinformation erweitert. Dabei wird hier von labeling gesprochen. | ||
Dieser Vorgang ist sehr zeitaufwendig. Allerdings muss dieser Vorgang nur einmal | 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 au- | der Ansatz verfolgt, zusätzliche Sensoren einzusetzen, um den Vorgang des labelings zu au- | ||
tomatisieren. In der vorhandenen Anlage EOS M290 stehen zwei weitere Messsysteme zur | tomatisieren. In der vorhandenen Anlage EOS M290 stehen zwei weitere Messsysteme zur | ||
Zeile 77: | Zeile 66: | ||
werden. Hier wird daher von einem Soft-Sensor gesprochen, da die Funktionalität durch die | 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üh- | Software, genauer von einem Algorithmus übernommen wird. Der Zeitbedarf für die Ausfüh- | ||
rung des Netzes auf eine Bild mit | rung des Netzes auf eine Bild mit 256×256 Pixeln liegt kleiner 100 Millisekunden und kann daher | ||
als Lösung verwendet werden. | als Lösung verwendet werden. | ||
Zeile 85: | Zeile 74: | ||
durchgeführt. Eine Validierung mit einem Testdatensatz ergab eine Genauigkeit (true-positiv) | 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 | 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 | 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. | Menge an Pixeln die Genauigkeit stets besser als für die Klassifizierung des Vordergrundes. | ||
Zeile 116: | Zeile 104: | ||
{{todo|Abbildung 35 einfügen.}} | {{todo|Abbildung 35 einfügen.}} | ||
== Quellen == | |||
<references/> |
Version vom 28. Oktober 2022, 15:40 Uhr
Arbeitspaket | 5: Qualitätsmonitoring |
Konsortialpartner | FHWS, Toolcraft, (EOS) |
🚧 ❬Abbildung 32 einfügen.❭
Neuronales Netz für semantische Segmentierung der Kamerabilder
Wie Abbildung 32 darstellen soll, ist 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 dem Stand der Technik steht eine Netzwerkarchitektur – sog. U-Netz – zur Verfügung, welche sich als geeignet und performant bei der Aufgabe automatisiert biomedizinische Bilder zu analysieren zeigte. 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, sondern ein abgewandeltes Netzwerk entwickelt, bei dem Vor- teile hinsichtlich 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 ressourcenaufwendig werden. Gerade im Falle einer semantischen Segmentierung, welche hier zum Ein- satz 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 au- tomatisieren. In der vorhandenen Anlage EOS M290 stehen zwei weitere Messsysteme zur
Verfügung, welche sich eignen, aufgenommene Bilder vom Pulverbett zu klassifizieren. Ein- gesetzt 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 aufgeschmol- zen 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 zu- sammen mit der Verwendung von zusätzlicher Sensorik automatisiert als Trainingsdaten ver- wendet 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üh- rung 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.
1.2.7.3 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ön- nen. 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, be- schrieben werden. Wird diese beobachtete bzw. berechnete Fläche Ametall auf Basis der Ka- merabilder in Bezug zu der bekannten Sollfläche Asoll gesetzt, resultiert, wie eingangs be- schrieben, ein Überwachungskriterium für eine fehlerfreie Schicht:
🚧 ❬Formeln einfügen.❭
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 aufge- schmolzene 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 Be- reich, 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ächenbe- rechnung hat. Eine Verifizierung der Generalisierung des Ansatzes konnte bisher nicht gege- ben werden, da nur Bildmaterial von einer Anlage zur Verfügung stand.
🚧 ❬Abbildung 35 einfügen.❭