/PyGoodVibes

détection non supervisée de sons anormaux

Primary LanguageJupyter Notebook

PyGoodVibes

détection non supervisée de sons anormaux Réalisé par Chrisophe Gauffre et Aurélien Nanette

contact linkedin: /christophegauffre /a-nanette

A propos

Ce projet vous propose l'exécution d'un app streamlit, vous permettant de comprendre comment traiter des données audio, et détecter des anomalies dans des sons de machine. Les données sont issues de Kaggle.

image

Tous les détails ne sont pas forcément décrits dans l'appli, mais vous pourrez saisir la philosophie du traitement de données effectué:

  1. transformation des sons audio en représentation temps-fréquence (spectrogrammes) image
  2. encodage des spectrogrammes: embedding, et ACP pour générer de beaux nuages de points de sons normaux. image
  3. détection d'anomalies dans les nuages de points comportant des sons normaux et des sons anormaux par One Class SVM et Local Outlier Factor reglage-gamma-OSVM3

Utilisation

Pour que ce notebook soit pleinement opérationnel, une utilisation avec colab et google drive est vivement conseillée.

  • à la racine de votre drive, créez un dossier Kaggle dans lequel vous déposez votre fichier json de crédential Kaggle (rdv dans votre compte kaggle pour le générer). Ceci permettra de télécharger facilement le dataset depuis Kaggle grâce à l'API Kaggle
  • téléchargez tous les fichiers et dossiers de ce git dans un dossier de votre drive
  • ouvrez le notebook pyGoodVibes-streamlit-final.ipynb dans google colab
  • exécuter chaque cellule, sauf la dernière! (elle kilel le tunnel ngrok du streamlit, et rendra le streamlit inopérationnel! )

Résultats

Selon les types de machine, les résultats varient de très bons (quasi 100% sans faux positifs) à très mauvais (quasi du hasard on dirait..), selon le seuil de sensibilité réglé sur l'app. es résultats sont sensiblement les mêmes entre le OcSVM ou le LOF

image

Lancez le streamlit, cela vous donnera un bon aperçu de ce qu'il est possible de faire!