Artificial Intelligence & Data

Machine sound anomaly detection software

Détection d'anomalies
CNN + LSTM 1D
Deep Learning
PySide6
Maintenance prédictive
Traitement du signal

We won a Master's hackathon as a team (1st out of 10), then I took the project up alone to turn it into a desktop application. Its CNN + LSTM 1D model detects 17 faults out of 17.

faults detected
17/17
AUC on validation
0.956
at the hackathon
1st/10
ContextMachine sounds, rare faults
ApproachCNN + LSTM 1D, desktop app
Result17/17 faults, AUC 0.956

Context

MESI Master's hackathon (University of Strasbourg, September 2025), with Robin Gras, Noa Hisler and Sylvain Wanke, supervised by Dominique Knittel. The task was to spot abnormal sounds from rotating machines, without labels and with limited time. I then took the subject up alone.

What I did

  • At the hackathon, we compared several methods in MATLAB (cosine distance, k-means, DTW, Isolation Forest, autoencoder, deep models).
  • Then alone, I wrote a Python application (PySide6, PyTorch) to train, diagnose, plot the ROC and calibrate the threshold.
  • I added PDF reports, support for several machines and a standalone executable.
  • I chose the settings on validation only, never on the test sets.

What I noticed and learned

  • Going from a hackathon prototype to usable software changes almost everything.
  • In predictive maintenance, it is better to inspect a healthy machine than to miss a fault.

My mistakes

  • The dataset is still too small. That is the main limitation.

Results

  • 1st out of 10 at the hackathon, with 13 faults out of 17 spotted by the group.
  • 17 faults out of 17 with the application, and an AUC of 0.956 on validation.
  • In return, 7 false alarms on Challenge 1 and 4 on Challenge 2. The threshold is adjustable with a slider.

Tech stack

Python
PyTorch
scikit-learn
PySide6 (GUI)
CNN + LSTM 1D
Traitement du signal (log-mel / FFT)
ffmpeg
Exécutable autonome (.exe)

Gallery