Clustering hilft beim automatischen Erkennen von Signalmustern


Wir verwenden Clustering unter anderem zur Identifikation von Mikrorissen in automatischen Fertigungsprozessen.
Wir werten dazu hochfrequenten Körperschall aus, der im Falle von Rissbildungen emittiert wird.
Die Zuordnung von typischen Maschinenemissionen und spontaner Rissbildung über Millionen von Datensätzen erfordert machine learning Ansätze.

diverse sporadisch auftretende Körperschallemissionen als 3D Spektrogramme


​Clustering-Konzept:


Datenaufbereitung: 
Für jeden Prozess schneiden wir ein "signifikantes" Snippet mit aus. 
Die Schwellenwerte für die Signifikanzanalyse ermitteln wir anhand des Amplituden-/Energie-Histogramms, und orientieren uns dort an Änderungen der Gradientenverläufe. 
Nachdem das Snippet erstellt wurde, können durch die Verwendung von Mesh- und Interpolationsalgorithmen die Snippets geglättet werden; Rohsignale enthalten i.d.R. zufällige Anteile, die wir nicht in den Mustervergleich einbeziehen wollen.
Später speichern wir das Snippet als HDF5-Datei für jeden Prozess. Die HDF5-Datei ist ein einfach zu handhabender Dateityp. 
Die Struktur ist ähnlich wie bei einem Wörterbuch und kann auch viele Attribute des Datensatzes enthalten.

 


Die Ermittlung und Speicherung der Snippets kann bereits auf dem an der Maschine verbauten Messgerät geschehen, dafür stehen Analyseoperatoren und Python Module zur Verfügung.


Maschinelles Lernen


Da es sich bei den akustischen Daten um eine ganz besondere Art von Daten handelt, sind klassische Ansätze aus der Bildverarbeitung nicht ohne weiteres übertragbar, daher haben wir eigene Methoden zur Ähnlichkeits- und Abstandsbewertung entwickelt. 
Die Ähnlichkeitsmaße zwischen den einzelnen Snippets erzeugen dann die Ähnlichkeitsmatrix. 

Für das hierarchische Clustering verarbeiten wir die Ähnlichkeitsmatrix mit der Python Scipy-Bibliothek. 

Unten sehen wir das Dendrogramm des Ergebnisses. 
Um zu bestimmen, wie viele Cluster es sein sollen, wird eine Distanzschwelle berechnet.
Wie wir im Diagramm sehen können, gibt es in diesem Projekt 7 Cluster mit einem Abstandsschwellenwert von 3911.


Nachfolgend finden wir je ein Ergebnis pro Cluster, die wir als repräsentative Snippets bezeichnen. 
Für jeden Cluster ermitteln wir ein Snippet, das den jeweiligen Clusters am besten repräsentiert. 

Die Theorie ist ähnlich wie bei K-means, wobei der zentrale Punkt jedes Clusters ermittelt wird. 
Das bedeutet, dass der Gesamtabstand zwischen dem repräsentativen Snippet und den anderen Snippets im selben Cluster am geringsten sein sollte. 


Hier kannst du weitere Konzepte zum machine Learning und zu Kompressionen
 nachlesen.