Skip to content

tafsuttagnit/Stress-Classification

 
 

Repository files navigation

Real time stress classification

Fonctionnement:

1) Filtrage du signal avec un passe-bande de butterworth

Utilisation d'un passe-bande d'ordre 4 avec comme fréquences de coupures [0,8 Hz; 4 Hz], ce qui correspond à des fréquences cardiaques de 48 à 240 battements par minute

2) Détection des piques (pulsations cardiaques)

hi

3) Extraction des intervalles de temps entre chaque pulsation (intervalle R-R)

hi

4) Calcul des mesures de la variabilité cardiaque à partir des R-R

3 mesures temporelles:


hi


BPM : nombre de battements par minutes

1 mesure fréquentielle:

Obtenue par transformée de fourier du tachogramme : la balance sympato-vagale (BSV)

hi

BSV = LF/HF avec :

  • LF: De 0.04 Hz à 0.15 Hz, reflète l’activité sympathique du système nerveux autonome.
  • HF: De 0.15 Hz à 0.4 Hz, reflète l’activité parasympathique du système nerveux autonome

5) Injecte les mesures chaque seconde dans le modèle de classification

Les 4 mesures de la VFC sont les features de notre modèle de classification

Matériel:

  • Raspberry pi 3B+ sous Raspbian
  • Capteur ppg : pulse sensor
  • Convertisseur analogique numérique MCP3008

Librairies:

  • spidev==3.3
  • numpy==1.13.3
  • scipy==1.0.1
  • matplotib==2.2.2
  • Keras==2.0.5
  • h5py==2.8.0
  • Theano==1.0.2
  • tensorflow==1.1.0

Codes:

  • MCP3008.py: Code du convertisseur analogique numérique du même nom
  • get_pulse.py: Code du capteur photopléthysmographique
  • Stress_classification.py: Contient le code des mesures de la variabilité de la fréquence cardiaque en temps réel, mesures qui sont injectés dans un modèle de classification précédemment construit avec un réseau de neurones
  • bandpass.py: Filtre passe bande de butterworth
  • detect_peak.py: Algorithme de détection de piques

Schéma électronique:

hi

About

Classification du stress en temps réel - Raspberry

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.7%
  • Ruby 3.3%