Kontext
Das Projekt entstand beim Hackathon des Masters Mechatronik, Energie & Intelligente Systeme (Universität Straßburg, September 2025), in einem Viererteam (Robin Gras, Noa Hisler, Sylvain Wanke und ich), betreut von Dominique Knittel. Das Ziel, anomale Geräuschsignale rotierender Maschinen automatisch erkennen, was den Kern der vorausschauenden Wartung bildet. Wir arbeiteten mit ungelabelten Aufnahmen unter engem Zeitdruck, mit seltenen und vielfältigen Anomalien, die sich nicht einzeln erlernen lassen. Die Gruppe wurde 1. von 10. Anschließend habe ich das Thema allein zu Hause wieder aufgegriffen, um daraus eine wirklich nutzbare Software zu machen, mit bereinigten Daten und einem sauber trainierten und validierten Modell.
Ansatz / Lösung
Beim Hackathon haben wir mehrere Methodenfamilien parallel in MATLAB erkundet, Kosinus-Distanz auf gemittelten Spektren, k-Means, DTW, Isolation Forest, einen Autoencoder und tiefe Modelle. Das CNN + LSTM 1D-Modell hat den Unterschied gemacht, indem es gesunde Signale klar von fehlerhaften trennte, und es ist das Modell, das schließlich die anomalen Dateien fand. Zu Hause habe ich das Ganze in eine Desktop-Anwendung überführt (Python, PySide6, PyTorch, scikit-learn). Man trainiert das Modell, diagnostiziert ein Signal, bewertet die Leistung (ROC-Kurve, AUC) und kalibriert die Entscheidungsschwelle. Die Anwendung verwaltet mehrere Maschinen, akzeptiert alle gängigen Audioformate (wav, mp3, Telefonaufnahmen, per ffmpeg dekodiert), nimmt über das Mikrofon auf, protokolliert jede Diagnose zur Drift-Verfolgung, erzeugt PDF-Berichte und lässt sich als eigenständige ausführbare Datei ohne installiertes Python bauen. Das Vorgehen bleibt ehrlich, die Konfiguration wird allein auf einem gelabelten Validierungssatz gewählt, und die Leistung wird anschließend auf den Testsätzen gemessen, ohne jegliche Abstimmung darauf.
Ergebnisse
Auf der gelabelten Validierung erreicht das Modell eine AUC von 0,956. Vor allem erkennt die Anwendung 17 von 17 Fehlern, während die Gruppe beim Hackathon 13 von 17 fand, ein perfekter Recall über beide Challenges (5 von 5 Anomalien in Challenge 1, 12 von 12 in Challenge 2). Dieser perfekte Recall hat einen Preis, einige Fehlalarme (7 in Challenge 1, 4 in Challenge 2), denn ich habe die Schwelle so eingestellt, dass nie ein Fehler übersehen wird. In der vorausschauenden Wartung ist das der richtige Kompromiss, und ein Regler verschiebt ihn. Lieber eine gesunde Maschine prüfen, als einen Fehler durchgehen lassen. Mein Fazit, der Schritt von einem Hackathon-Prototyp zu einer nutzbaren Software ändert fast alles, saubere Daten, ein validiertes Modell, eine kalibrierte Schwelle, eine klare Oberfläche. Was ich noch tun könnte, den Datensatz vergrößern, denn das ist der eigentliche Engpass, andere zeitliche Architekturen testen und die Drift einer realen Maschine über die Zeit verfolgen.