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)