Nothing Special   »   [go: up one dir, main page]

PFS Rapport

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 42

Université Cadi Ayyad

Ecole Nationale des Sciences Appliquées

Marrakech 2022/2023

Rapport de Projet de Fin de Semestre

Fillière : Génie Réseaux et Télécommunications

Détection de Stress par Caméra

Présenté par : Encadré par :

OUMARAY AYOUB Dr. LATIF ADNANE


Remerciements

Je tiens à exprimer ma reconnaissance au professeur Latif Adnane pour son soutien et son
encadrement tout au long de ce projet de fin de semestre sur la détection du stress par webcam.
Sa guidance et ses conseils ont été précieux pour notre réussite. Je tiens également à remercier
tous ceux qui ont contribué de près ou de loin à la réussite de ce projet, en particulier les
membres de mon groupe de travail pour leur collaboration et leur dévouement. Je suis
également reconnaissant envers tous ceux qui nous ont fourni les données nécessaires à notre
étude et qui ont rendu possible notre travail de recherche. Enfin, je tiens à remercier tous ceux
qui ont pris le temps de lire et de commenter notre rapport, ce qui a permis de l'améliorer
considérablement.

1
Sommaire

Remerciements.................................................................................................................................................................... 1
Sommaire............................................................................................................................................................................. 2
Table de Figures..................................................................................................................................................................4
Introduction......................................................................................................................................................................... 5
Chapitre 1 : Présentation de la Problématique:................................................................................................................6
Problématique et motivations :..............................................................................................................................6
Objectifs du projet :...............................................................................................................................................6
Conclusion :............................................................................................................................................................ 7
Chapitre 2 : Les Concepts Théoriques :............................................................................................................................8
Introduction :..........................................................................................................................................................8
HealthCare :........................................................................................................................................................... 8
Introduction :...............................................................................................................................................9
Technologie de HealthCare :.......................................................................................................................9
Internet of Things (IoT) :.......................................................................................................................................9
Définition et concept de l'IoT :..................................................................................................................10
L’histoire et l’évolution de l’IoT :...............................................................................................................11
Caractéristiques et Composants de l'Internet des objets (IoT) :................................................................12
Défis et opportunités de l’IoT :..................................................................................................................13
L’IoT dans le HealthCare :..........................................................................................................................15
Mesure de constantes vitales:..............................................................................................................................16
Définition :.................................................................................................................................................16
Les réseaux de capteurs :..........................................................................................................................17
Les capterurs cardiaques :.........................................................................................................................18
La photopléthysmographie (PPG) :............................................................................................................19

2
Remote photopléthysmographie (rPPG) :.................................................................................................20
BIG DATA :..........................................................................................................................................................22
Définition :.................................................................................................................................................22
Caractéristiques de BIG DATA :..................................................................................................................22
BIG DATA dans le HealthCare :..................................................................................................................22
Machine Learning :..............................................................................................................................................23
Conclusion :..........................................................................................................................................................25
Chapitre 3 : Implémentation et Exécution :....................................................................................................................26
Introduction :........................................................................................................................................................26
Exigences :.............................................................................................................................................................26
Bibliothèques :...........................................................................................................................................26
Plan d’action :.......................................................................................................................................................27
Implementation :..................................................................................................................................................28
Détection des repères faciaux (Facial landmark) :.....................................................................................28
Extraction des signaux de battement de cœur de la vidéo de la webcam :...............................................31
Appliquer des filtres numériques en Python :...........................................................................................33
Script d’exécution du programme  :..........................................................................................................35
Exécution :............................................................................................................................................................36
Conclusion :..........................................................................................................................................................39
Conclusion......................................................................................................................................................................... 40
Références.......................................................................................................................................................................... 40

3
Table de Figures
Figure 1 - Exemple de systèmes pour la mesure cardiaque................................................................................................17
Figure 2 - Principe de fonctionnement des capteurs PPG...................................................................................................20
Figure 3 - Principe de fonctionnement de rPPG..................................................................................................................21
Figure 4 - Cycle de machine learning...................................................................................................................................25
Figure 5 - fournissant Camera, qui encapsule le flux d'entrée OpenCV dans un thread PyQt.............................................29
Figure 6 - Définition de la fonction get_facemesh_coords()...............................................................................................30
Figure 7 - les repères faciaux avec MediaPipe.....................................................................................................................30
Figure 8 - Définition de la fonction fill_roimask()................................................................................................................31
Figure 9 - Définition de la classe ROIDetector, et la fonction process()...............................................................................32
Figure 10 - Définition de la classe RPPG..............................................................................................................................33
Figure 11 - Création d’n exemple synthétique....................................................................................................................34
Figure 12 - Application du filtre conçu sur le signal bruyant...............................................................................................35
Figure 13 - Application du filtre forward et backward.........................................................................................................35
Figure 14 - Script pour exécuter le programme...................................................................................................................36
Figure 15 - La détéction de ROI et l’extraction le signal filtré de battement de coeur en temps réel.................................37
Figure 16 - La comparaison entre le signal filtré et le signal original...................................................................................37
Figure 17 - La comparaison entre le signal filtré passe bas et à filtrage à zéro et le signal original.....................................38

4
Introduction
La fréquence cardiaque, c'est-à-dire le nombre de battements de cœur par minute, est un
paramètre physiologique important qui reflète l'état de santé général et le bien-être d'une
personne. Traditionnellement, la fréquence cardiaque a été mesurée à l'aide de dispositifs
spécialisés tels que les moniteurs d'électrocardiographie (ECG) ou les oxymètres de pouls.

Cependant, ces méthodes nécessitent un contact physique avec la personne, ce qui peut être
encombrant ou même impossible dans certaines situations. Depuis quelques années, il y a un
intérêt croissant pour développer des techniques non invasives pour l'estimation de la fréquence
cardiaque qui peuvent être réalisées à l'aide de dispositifs couramment disponibles tels que les
webcams.

Ce rapport explorera l'utilisation de webcams pour l'estimation de la fréquence cardiaque, en


mettant l'accent sur la méthode rPPG (photopléthysmographie à distance), qui utilise de légères
modifications de la couleur de la peau faciale pour déduire la fréquence cardiaque. Nous
discuterons des principes de la méthode rPPG, de ses points forts et de ses limites, ainsi que des
applications potentielles de cette approche dans divers contextes.

5
Chapitre 1 : Présentation de la Problématique:

Problématique et motivations :
L'estimation du rythme cardiaque a une grande importance pour déterminer l'état mental et
physiologique d'une personne. Dans certains cas, il n'est pas possible d'utiliser des dispositifs
médicaux tels que l'oxymètre de pouls au doigt avec technologie de photopléthysmo raphie
(PPG) en raison de l'état de santé et de la peau délicats du patient. Par exemple, une telle
technologie est nécessaire pour la surveillance continue des prématurés. Dans un tel cas, il est
nécessaire de mesurer la fréquence cardiaque à distance. Donc on aura besoin des solutions
permettant d'estimer la fréquence cardiaque grâce à une vidéo de visage obtenue avec une
webcam standard en se basant sur les valeurs RGB des pixels de la peau dans les images d’une
video. En traitant ces signaux, nous pouvons estimer le rythme cardiaque.

Objectifs du projet :
Les objectifs de ce projet sont de développer et de tester un système capable d'estimer avec
précision le rythme cardiaque d'un individu sans contact à l'aide d'une webcam. Pour atteindre
ces objectifs, nous allons développer un système qui peut estimer le rythme cardiaque d'une
personne en utilisant une caméra. Ce système analysera divers aspects de l'apparence et des
mouvements faciaux de la personne, tels que la couleur de la peau pour estimer leur rythme
cardiaque en temps réel en prenant en compte ces défis et en utilisant des techniques de deep
learning pour créer un outil précis et robuste. En fournissant des estimations précises et
pratiques du rythme cardiaque, ce système a le potentiel de améliorer la santé cardiovasculaire
globale de ses utilisateurs et potentiellement de sauver des vies. La technique approuvée c’est
rPPG pour estimer le rythme cardiaque en analysant les variations de couleur de la peau d'une
personne en temps réel à l'aide d'une caméra et les sources d'erreur et de bruit, et les approches
pour les atténuer et les compenser.

6
Conclusion :
En conclusion, la capacité d'estimer avec précision le rythme cardiaque d'un individu à l'aide
d'une webcam a de nombreuses applications potentielles dans les soins de santé et le bien-être,
ainsi que dans d'autres domaines tels que l'exercice et le divertissement. Cependant, ce domaine
de recherche fait également face à plusieurs défis, dont la variabilité individuelle, l'influence des
facteurs environnementaux et l'évolution de l'état de santé. Dans ce projet, nous visons à relever
ces défis et à développer un système capable d'estimer la fréquence cardiaque en temps réel à
l'aide d'une webcam, en utilisant des techniques de deep learning pour créer un outil précis et
robuste. En atteignant cet objectif, nous espérons créer un système non invasif qui peut aider les
gens à surveiller leur santé cardiaque et à détecter les problèmes potentiels dès le début,
améliorant ainsi leur santé cardiovasculaire globale et potentiellement sauvant des vies.

7
Chapitre 2  : Les Concepts Théoriques :

Introduction :

Le rythme cardiaque, ou "Pulse", est un signe vital qui reflète la quantité de sang pompée par le
cœur en une minute. C'est un indicateur important du bien-être physique et émotionnel d'une
personne, ainsi que de son risque de développer des maladies cardiovasculaires.
Traditionnellement, la fréquence cardiaque est mesurée à l'aide d'appareils dédiés tels que les
oxymètres de pouls, les électrocardiogrammes (ECG) et les moniteurs de ceinture pectorale.
Ces appareils nécessitent un contact physique avec le corps, ce qui peut être gênant,
inconfortable ou risqué, en particulier dans certaines situations telles que l'hygiène, l'infection,
les traumatismes ou la sensibilité.Pour surmonter ces limites et permettre la surveillance du
rythme cardiaque sans contact, les chercheurs ont commencé à explorer l'utilisation du Machine
Learning, de l'IoT et des technologies de Big Date. Ces technologies peuvent interconnecter des
objets et des données pour estimer le rythme cardiaque à partir de diverses sources et modalités,
telles que la vidéo, l'audio, le radar ou le thermique. Par exemple, les algorithmes Machine
Learning peuvent analyser les signaux vidéo ou audio d'une webcam ou d'un microphone pour
extraire des caractéristiques liées au flux sanguin et au pouls, et faire des prédictions à l'aide de
modèles statistiques ou neuronaux. Les plates-formes IoT peuvent connecter ces systèmes à
Internet et permettre la collecte, la communication et l'intégration de données avec d'autres
appareils et systèmes. Les technologies de Big Data peuvent gérer et traiter les ensembles de
données volumineux et complexes générés par ces systèmes. Ce chapitre couvre les principes et
les méthodes d'estimation du rythme cardiaque sans contact, le rôle de Machine Learning, de
l'IoT et du Big Data... dans ce domaine. Il aborde également la recherche et le développement
de pointe, ainsi que des applications potentielles et des orientations future.

HealthCare :

8
Introduction :

Le secteur de la santé est défini comme l'ensemble des activités et des services visant à
maintenir, à améliorer et à protéger la santé de la population. Il comprend les soins de santé
primaires, secondaires et tertiaires, ainsi que les services de santé publique et les équipements
médicaux. Le secteur de la santé est généralement divisé en deux grandes catégories : la santé
curative, qui comprend les soins de santé prodigués pour traiter une maladie ou une condition
médicale, et la santé préventive, qui vise à empêcher l'apparition de maladies ou de conditions
médicales. Le secteur de la santé est un domaine complexe et en constante évolution, qui inclut
un large éventail de professionnels de la santé, de technologies médicales et de politiques de
santé.

Technologie de HealthCare :

La technologie de la santé désigne l'utilisation de la technologie pour améliorer la prestation de


services de santé. Cela peut comprendre une grande variété d'outils et de systèmes, tels que les
dossiers de santé électroniques (DSE), les plateformes de télémédecine, les appareils et
équipements médicaux et les systèmes d'aide à la décision clinique.L'utilisation de la
technologie de la santé a le potentiel de transformer l'industrie de la santé et d'améliorer la
qualité des soins pour les patients. Elle peut aider à augmenter l'efficacité et la précision, réduire
le risque d'erreurs et rendre les soins de santé plus accessibles et pratiques pour les patients. Par
exemple, les DSE permettent aux professionnels de la santé d'accéder à l'historique médical et
aux dossiers d'un patient en un seul et même lieu centralisé, ce qui peut contribuer à réduire les
erreurs et à améliorer la qualité des soins. Les plateformes de télémédecine permettent aux
patients d'accéder aux services de santé à distance, ce qui leur permet de recevoir des soins
même s'ils vivent dans une région rurale ou mal desservie. Ces dernières années, on a constaté
une augmentation significative de l'adoption de la technologie de la santé, soutenue par les
progrès de la technologie et la demande croissante de services de santé plus pratiques et
efficaces. En conséquence, c'est un sujet important à considérer dans l'industrie de la santé.

Internet of Things (IoT) :

9
Définition et concept de l'IoT :

L'Internet des objets (IoT) est un concept qui réfère à l'interconnexion d'objets physiques, de
dispositifs, de capteurs et de systèmes via l'internet, leur permettant de collecter et d'échanger
des données, et de réaliser des actions et des tâches basées sur ces données. L'IoT permet
l'intégration et la coordination d'une large gamme d'objets et de systèmes, tels que les appareils
ménagers, les véhicules, les bâtiments, l'infrastructure, et les dispositifs, équipés de capteurs, de
processeurs, et de capacités de communication. L'IoT permet à ces objets et systèmes d'être
connectés et contrôlés à distance, et d'interagir les uns avec les autres et avec les personnes de
manière fluide, intelligente et automatisée.L'IoT a le potentiel de révolutionner divers aspects de
la société et de l'industrie, tels que la manufacture, le transport, l'énergie, l'agriculture, les soins
de santé, l'éducation, les loisirs, et les modes de vie. Il peut permettre de nouvelles formes
d'efficacité, de productivité, de commodité, et d'innovation, ainsi que de nouveaux modèles
d'affaires, de services, et d'applications. Cependant, l'IoT soulève également divers défis et
préoccupations, tels que la sécurité, la vie privée, l'interopérabilité, l'évolutivité, la fiabilité, et
l'éthique, qui doivent être pris en compte.

Voici quelques caractéristiques de l'Internet des objets (IoT) :

- Interconnexion : L'IoT implique l'interconnexion d'une large gamme d'objets et de


systèmes via l'internet, leur permettant de communiquer et d'échanger des données entre
eux et avec les personnes.
- Intelligence : L'IoT permet l'intégration d'intelligence et de fonctionnalité dans les objets
et les systèmes, leur permettant de traiter, d'analyser et d'agir sur les données qu'ils
collectent et reçoivent.
- Autonomie : L'IoT permet l'automatisation des objets et des systèmes, leur permettant de
réaliser des tâches et des actions sans intervention ou contrôle humain.
- Capteurs et actionneurs : L'IoT s'appuie sur des capteurs et des actionneurs pour collecter
et transmettre des données, et pour contrôler et manipuler les objets et les systèmes.
- Données et informations : L'IoT génère et utilise des données et des informations
provenant de différentes sources et sous différents formats, tels que structurées, non
structurées, et en temps réel.
- Intégration et coordination : L'IoT permet l'intégration et la coordination des objets et des
systèmes à travers différents domaines, technologies et plates-formes.

10
- Évolutivité et extensibilité : L'IoT peut impliquer un grand nombre et une croissance
constante d'objets et de systèmes, nécessitant une évolutivité et une extensibilité en
termes d'infrastructure, de protocoles et de normes.
- Sécurité et vie privée : L'IoT implique la collecte et la transmission de données sensibles
et personnelles, nécessitant des mesures de sécurité et de vie privée pour protéger et
contrôler l'accès à ces données.

L’histoire et l’évolution de l’IoT :

L'idée de l'IoT a été formulée pour la première fois dans les années 1990 par Kevin Ashton, un
chercheur britannique, qui a utilisé le terme "Internet des objets" pour décrire un réseau de
objets connectés et interconnectés via l'internet. Ashton a souligné le potentiel de l'IoT pour
améliorer l'efficacité, la productivité et la qualité de vie, en utilisant les technologies de
l'information et de la communication (TIC) pour intégrer et coordonner les objets et les
systèmes de manière intelligente et automatisée.Depuis lors, l'IoT a connu une croissance rapide
et une diffusion massive, grâce à l'émergence et la maturation de différentes technologies et
tendances qui ont favorisé son développement, telles que:

 La miniaturisation et la démocratisation des capteurs et des dispositifs connectés, qui ont


permis de rendre les objets et les systèmes plus accessibles et abordables.
 La convergence et l'intégration des réseaux et des technologies de communication, qui
ont favorisé la connectivité et l'interopérabilité des objets et des systèmes.
 La maturité et l'accessibilité des technologies de l'information et de l'analyse de données,
qui ont permis de gérer, de traiter et de valoriser les données générées par l'IoT.
 L'émergence de nouvelles applications et de nouveaux services basés sur l'IoT, qui ont
créé de nouvelles opportunités de marché et de valeur.

Aujourd'hui, l'IoT est présent dans de nombreux domaines et secteurs, tels que la manufacture,
le transport, l'énergie, l'agriculture, les soins de santé, l'éducation, les loisirs, et les modes de
vie. Il est également au centre de nouvelles formes de collaboration, d'innovation et de création
de valeur, qui transforment les modèles d'affaires, les services et les expériences. Toutefois,
l'IoT soulève également de nombreux défis et préoccupations, tels que la sécurité, la vie privée,
l'interopérabilité, l'évolutivité, la fiabilité, et l'éthique, qui nécessitent des réglementations et des
normes pour être gérés de manière adéquate. L'avenir de l'IoT est donc incertain et dépendra de
la façon dont ces défis et préoccupations seront abordés et résolus.Malgré ces incertitudes, il est
certain que l'IoT continuera à jouer un rôle important dans l'évolution de la société et de

11
l'industrie, en offrant de nouvelles opportunités et en créant de nouvelles valeurs. L'IoT pourrait
également contribuer à la réalisation de nombreux objectifs et agendas sociaux, tels que la
durabilité, la santé, l'éducation, et la justice sociale, en utilisant les technologies et les données
de manière responsable et éthique. L'IoT reste donc un domaine en évolution et en
transformation, qui nécessite une réflexion et une anticipation continues pour en comprendre les
impacts et les opportunités.

Caractéristiques et Composants de l'Internet des objets (IoT) :

L'Internet des objets (IoT) est un phénomène complexe qui implique l'intégration et
l'interconnexion de différents types d'objets et de dispositifs, parmi ses caractéristiques et
composants :

- Objets et dispositifs : L'IoT implique l'intégration et l'interconnexion de différents types


d'objets et de dispositifs, tels que les appareils électroménagers, les véhicules, les
bâtiments, l'infrastructure, et les dispositifs, qui sont équipés de capteurs, de processeurs
et de capacités de communication.
- Capteurs et actionneurs : L'IoT s'appuie sur des capteurs et des actionneurs pour collecter
et transmettre des données, et pour contrôler et manipuler les objets et les systèmes. Les
capteurs sont des dispositifs qui mesurent et détectent des phénomènes physiques,
chimiques ou biologiques, tels que la température, l'humidité, la pression, le mouvement
ou le son. Les actionneurs sont des dispositifs qui convertissent l'énergie en mouvement
ou en action, tels que des moteurs, des solénoïdes ou des relais.
- Réseaux et communication : L'IoT nécessite des technologies et des protocoles de réseau
et de communication pour permettre la connectivité et l'interopérabilité des objets et des
dispositifs. Ces technologies et protocoles incluent des technologies filaires et sans fil,
telles que Bluetooth, WiFi, ZigBee, NFC et LTE, ainsi que des protocoles internet, tels
que TCP/IP, HTTP et MQTT.
- Données et informations : L'IoT génère et utilise des données et des informations
provenant de différentes sources et sous différents formats, tels que structurées, non
structurées, et en temps réel. Ces données et informations peuvent être stockées, traitées
et analysées à l'aide de différentes technologies et outils, tels que des bases de données,
des plates-formes de big data et des logiciels d'analyse.

12
- Plateformes et cadres : L'IoT nécessite des plateformes et des cadres pour permettre
l'intégration et la coordination des objets et des dispositifs, et pour fournir des services et
des fonctionnalités aux utilisateurs et aux développeurs. Ces plateformes et cadres

incluent des plateformes cloud, des plateformes de développement, des plateformes de


gestion de données, et des plateformes de déploiement et de diffusion. Ils permettent
également de fournir des fonctionnalités de gestion de la sécurité, de l'intégration, de
l'analyse, de l'orchestration et de la collaboration, qui sont essentielles pour la gestion et
l'exploitation de l'IoT.
- Services et applications : L'IoT offre de nombreux services et applications qui tirent parti
de la connectivité et de l'analyse des données pour améliorer la productivité, l'efficacité,
la qualité, et l'expérience de l'utilisateur. Ces services et applications peuvent être liés à
différents domaines et secteurs, tels que la santé, la sécurité, la mobilité, l'énergie,
l'environnement, et les loisirs, et peuvent être proposés par des entreprises, des
organismes, ou des individus.

- Ecosystème et partenariats : L'IoT implique la participation et la collaboration de


nombreux acteurs et parties prenantes, qui forment un écosystème complexe et
dynamique. Ces acteurs et parties prenantes incluent les fabricants, les fournisseurs, les
opérateurs, les développeurs, les utilisateurs, les régulateurs, et les standards. Ils
interagissent et coopèrent pour créer, diffuser, utiliser, et améliorer les services et les
applications de l'IoT, en mettant en œuvre des modèles d'affaires et des partenariats
innovants.

En résumé, l'IoT est un phénomène complexe et multifacette, qui implique la convergence et


l'intégration de différents éléments et dimensions technologiques, économiques, sociaux, et
éthiques. L'IoT représente une opportunité et un défi pour la société et l'industrie, qui
nécessitent une réflexion et une anticipation continues pour en comprendre les impacts et les
opportunités.

Défis et opportunités de l’IoT :

L'Internet des objets (IoT) présente à la fois des défis et des opportunités pour la société et
l'industrie. Voici quelques exemples de ces défis et opportunités:

13
Défis :

 Sécurité et confidentialité : L'IoT implique la collecte, le stockage et le traitement de


grandes quantités de données sensibles, qui peuvent être exposées à des risques de
piratage, de vol, de corruption ou de fuite. Il est donc important de mettre en place des
mesures de sécurité et de confidentialité pour protéger ces données et prévenir les
incidents.
 Interopérabilité et compatibilité : L'IoT implique l'interconnexion et l'intégration de
nombreux objets et dispositifs, qui peuvent utiliser différentes technologies, protocoles et
standards. Il est donc important de garantir l'interopérabilité et la compatibilité entre ces
objets et dispositifs, afin de permettre une communication et une coordination efficaces.
 Efficacité et performance : L'IoT implique le traitement et l'analyse de grandes quantités
de données en temps réel, ce qui peut exiger de fortes capacités de traitement et de
stockage. Il est donc important de garantir l'efficacité et la performance de ces systèmes,
afin d'éviter les ralentissements et les congestions.

 Fiabilité et disponibilité : L'IoT implique l'utilisation de nombreux objets et dispositifs,


qui peuvent être sujets à des pannes ou à des dysfonctionnements. Il est donc important
de garantir la fiabilité et la disponibilité de ces systèmes, afin de minimiser les temps
d'arrêt et les interruptions de service.

Opportunités :

 Nouvelles applications et services : L'IoT offre de nombreuses opportunités pour créer de


nouvelles applications et services, qui tirent parti de la connectivité et de l'analyse des
données pour améliorer la productivité, l'efficacité, la qualité, et l'expérience de
l'utilisateur. Ces applications et services peuvent être liés à différents domaines et
secteurs, tels que la santé, la sécurité, la mobilité, l'énergie, l'environnement, et les loisirs.
 Amélioration de l'efficacité et de la qualité : L'IoT peut être utilisé pour optimiser les
processus et les systèmes, en utilisant des données et des analyses pour prendre des
décisions plus éclairées et plus rapides. Cela peut conduire à des gains d'efficacité.
 Innovation et disruption : L'IoT représente une opportunité pour innover et disrupter de
nombreux secteurs et industries, en proposant de nouvelles approches et de nouvelles
solutions qui utilisent la connectivité et l'analyse des données. Cela peut conduire à la
création de nouveaux modèles d'affaires, de nouvelles chaînes de valeur, et de nouvelles
formes de collaboration.
14
 Développement de nouvelles compétences et de nouveaux métiers : L'IoT nécessite
l'implication et la participation de nombreux acteurs et parties prenantes, qui doivent
développer de nouvelles compétences et de nouveaux métiers pour répondre aux
exigences et aux opportunités de l'IoT. Cela peut conduire à la création de nouvelles
opportunités de formation et de développement professionnel.

En résumé, l'IoT est un phénomène complexe et multifacette, qui présente à la fois des défis et
des opportunités pour la société et l'industrie. Il nécessite une réflexion et une anticipation
continues pour en comprendre les impacts et les opportunités, et pour en tirer parti de manière
responsable et durable.

L’IoT dans le HealthCare :

L'Internet des objets (IoT) offre de nombreuses opportunités pour améliorer les soins de santé et
la qualité de vie des patients. En utilisant des capteurs et des objets connectés, l'IoT permet de
suivre et de surveiller les patients à distance, de diagnostiquer et de prévenir les maladies, de
gérer les médicaments et les traitements, et de fournir des soins de santé de qualité. L'IoT peut
également permettre de réduire les coûts de santé en optimisant les ressources et en évitant les
erreurs de soins. Toutefois, l'IoT pose également des défis en termes de sécurité, de
confidentialité, d'interopérabilité et de performance, qui nécessitent une réflexion et une
anticipation continues pour en gérer les impacts et les opportunités de manière responsable et
durable. Voici quelques exemples de l'utilisation de l'IoT dans le domaine de la santé :

- Moniteurs de santé : Des dispositifs portables tels que les trackers d'activité physique ou
les moniteurs de fréquence cardiaque peuvent être utilisés pour suivre et surveiller la
santé de manière continue.
- Suivi de la santé à distance : Des dispositifs tels que les capteurs de glucose ou les
inhalateurs pour l'asthme peuvent être connectés à Internet et utilisés pour surveiller la
santé des patients à distance.
- Gestion de l'inventaire des médicaments : Des capteurs peuvent être utilisés pour
surveiller les stocks de médicaments dans les hôpitaux et les pharmacies et pour envoyer
des alertes lorsque les niveaux sont bas.
- Systèmes de gestion de dossiers médicaux : Des systèmes de gestion de dossiers
médicaux en ligne peuvent être utilisés pour stocker et accéder aux dossiers médicaux de
patients de manière efficace et sécurisée.

15
- Télémédecine : Les plateformes de télémédecine peuvent être utilisées pour permettre
aux patients de consulter des médecins à distance, ce qui peut être particulièrement utile
pour les patients vivant dans des régions éloignées ou mal desservies.

- Systèmes de suivi de l'état de santé : Des systèmes de suivi de l'état de santé peuvent être
utilisés pour surveiller en temps réel l'état de santé des patients et alerter les
professionnels de la santé en cas de problèmes potentiels.

- Robots de téléassistance : Des robots de téléassistance peuvent être utilisés pour aider les
patients âgés ou en perte d'autonomie à effectuer des tâches quotidiennes, comme prendre
des médicaments ou se déplacer dans la maison.

- Systèmes de gestion de la douleur : Des capteurs peuvent être utilisés pour mesurer la
douleur des patients et aider les professionnels de la santé à adapter leur traitement en
conséquence.

En général, l'IoT peut être utilisé pour améliorer la qualité des soins de santé, rendre les soins
plus accessibles et pratiques pour les patients, et réduire les coûts pour les systèmes de santé.
Cependant, il est important de tenir compte des enjeux de sécurité et de confidentialité liés à
l'utilisation de l'IoT dans le domaine de la santé.

Mesure de constantes vitales:

Définition :

La mesure des constantes vitales est l'ensemble des mesures effectuées pour surveiller l'état de
santé d'une personne. Les constantes vitales incluent la fréquence cardiaque, la tension
artérielle, la respiration, la température corporelle et la saturation en oxygène dans le sang. Ces
mesures sont généralement effectuées de manière régulière pour surveiller l'état de santé d'une
personne et détecter tout changement qui pourrait être le signe d'un problème de santé. Les
constantes vitales peuvent être mesurées manuellement ou à l'aide de dispositifs de mesure
automatisés. La technologie moderne permet également de mesurer ces constantes à distance
grâce à des capteurs et à des appareils de surveillance connectés.

16
Figure 1 - Exemple de systèmes pour la mesure cardiaque.

Les réseaux de capteurs :

Les réseaux de capteurs sont des groupes de capteurs (des dispositifs qui détectent et
transforment des stimuli en signaux électriques) qui sont connectés et travaillent ensemble pour
collecter et partager des données. Ils peuvent être utilisés dans de nombreux domaines, tels que
la surveillance environnementale, la santé, les transports et la sécurité. Les capteurs dans un
réseau de capteurs peuvent être placés à différents endroits et peuvent être utilisés pour mesurer
une variété de choses, comme la température, l'humidité, la pression, la vibration, le
mouvement, la lumière, etc. Les données collectées par les capteurs sont généralement
transmises à un système central qui les analyse et les utilise pour prendre des décisions ou
déclencher des actions.

 Les Capteurs :

Les capteurs sont des dispositifs qui mesurent une grandeur physique, telle que la température,
la luminosité, la pression ou la vitesse, et qui envoient les données à un système de traitement
de l'information. Les capteurs sont utilisés dans une grande variété de applications, telles que la
surveillance de la santé, la gestion de l'énergie, la navigation et la sécurité. On peut classé trois
types de capteurs :

- Les capteurs Physiologiques : sont des capteurs qui mesurent les fonctions
physiologiques d'une personne, telles que la fréquence cardiaque, la respiration, la
tension artérielle et la température corporelle. Ils peuvent être portés sur le corps, tels que
dans un moniteur de fréquence cardiaque portatif ou un dispositif de suivi de la
respiration, ou ils peuvent être intégrés dans des dispositifs de soins de santé, tels que des
moniteurs de soins intensifs ou des appareils de mesure de la pression artérielle. Les

17
capteurs physiologiques sont souvent utilisés pour surveiller la santé et le bien-être d'une
personne, ou pour collecter des données sur les fonctions physiologiques d'une
population.
- Les capteurs Comportementaux : sont des capteurs qui mesurent les comportements et les
activités d'une personne. Ils peuvent être utilisés pour suivre l'activité physique, le
sommeil, les habitudes alimentaires et d'autres aspects de la vie quotidienne d'une
personne. Les capteurs comportementaux peuvent être portés sur le corps, tels que dans
une montre de fitness ou un bracelet d'activité, ou ils peuvent être intégrés dans des objets
du quotidien, tels que des téléphones portables ou des ordinateurs portables. Ils peuvent
être utilisés pour surveiller la santé et le bien-être d'une personne, ou pour collecter des
données sur les comportements et les activités d'une population.
- Les capteurs Environnementaux : sont des capteurs qui mesurent les caractéristiques de
l'environnement dans lequel ils sont placés, telles que la température, l'humidité, la
luminosité et la qualité de l'air. Ils peuvent être utilisés dans une variété d'applications,
telles que la surveillance climatique, la gestion de l'énergie et la sécurité
environnementale. Les capteurs environnementaux peuvent être portables ou fixés, et ils
peuvent être utilisés pour surveiller l'environnement d'une seule pièce ou d'une région
étendue.

Les capterurs cardiaques :

Le rythme cardiaque est défini comme le nombre moyen de contractions du muscle cardiaque
en 1 minute, on le note battements par minute (bpm). Du fait de son évolution lente, la mesure
du rythme cardiaque peut nécessiter des temps d’intégration minimum de 10 à 20 secondes pour
des mesures non-invasives. Bien évidemment, la qualité et précision de la mesure sont
directement liées à ces temps d’intégration. Ainsi, une période d’observation plus courte
fournira une mesure instantanée temporellement mieux résolue mais sera moins précise et plus
difficile à obtenir, notamment avec des systèmes optiques dont la précision n’est pas suffisante
pour travailler avec des temps d’intégration très courts. Suivant les pathologies que l’on cherche
à dètecter, il faut surveiller l’évolution du rythme cardiaque sur de longues périodes de temps,
ce qui peut demander plusieurs jours ou semaines d’observation. Ainsi, en fonction des besoins
et du niveau de criticité de la mesure en matière de précision ou de temps de surveillance,
différents systèmes existent afin de mesurer le rythme cardiaque. Dans le cadre médical, cette
mesure est effectuée de 3 façons :

18
- La méthode hémodynamique consiste à introduire un fil cathéter dans une artère reliée à
un capteur de pression. Les variations de pression ainsi mesurées permettent d’établir
l’exactmoment du cycle cardiaque et son rythme instantané.
- L’électrocardiographie permet d’enregistrer les modulations de polarisation des mem-
branes cellulaires du cœur et ainsi d’avoir une mesure très précise de l’activité du muscle
cardiaque. Elle s’applique en disposant jusqu’à 12 électrodes sur le corps du patient, sui-
vant un schéma bien défini.
- La photopléthysmographie est une méthode optique non invasive qui permet d’évaluer
les variations du volumes sanguins dans les tissus superficiels par la variation de
l’absorption de lumière dans ces tissus. Cette méthode permet également de déterminer
le niveau d’oxygénation. Les oxymétres de pouls sont généralement fixés au doigt ou à
l’oreille.

La photopléthysmographie (PPG) :

La photopléthysmographie (PPG) est une technique de mesure non invasive de la circulation


sanguine qui utilise la lumière pour détecter les variations de la quantité de sang dans les
vaisseaux sanguins. Elle peut être utilisée pour mesurer la fréquence cardiaque, qui est le
nombre de battements de cœur par minute, ainsi que d'autres paramètres tels que le volume
sanguin, la saturation en oxygène et la pression artérielle.

La PPG peut être réalisée à l'aide de capteurs de lumière placés sur la peau qui envoient de la
lumière à travers la peau et mesurent la quantité de lumière qui est absorbée ou réfléchie. Les
variations de lumière sont analysées pour déterminer les variations de la quantité de sang dans
les vaisseaux sanguins. La PPG est une technique non invasive, facile à utiliser et peu coûteuse,
ce qui en fait une méthode de choix pour la mesure de la fréquence cardiaque dans de nombreux
domaines, tels que la santé, le sport et le bien-être.

Voici comment fonctionne la PPG en général:

- Le capteur de lumière émet de la lumière qui passe à travers la peau et atteint les
vaisseaux sanguins.
- La lumière est absorbée par le sang dans les vaisseaux sanguins et certaines longueurs
d'onde sont plus absorbées que d'autres.

19
- Le capteur de lumière mesure la quantité de lumière qui est réfléchie et envoie le signal à
un ordinateur.
- L'ordinateur analyse les variations de lumière pour déterminer les variations de la
quantité de sang dans les vaisseaux sanguins.
- La fréquence cardiaque peut être estimée à partir de ces variations en utilisant des
algorithmes d'analyse du signal.

Figure 2 - Principe de fonctionnement des capteurs PPG

Remote photopléthysmographie (rPPG) :

La photopléthysmographie à distance (rPPG) est une technique qui utilise des capteurs de
lumière et des algorithmes d'apprentissage automatique pour estimer la fréquence cardiaque à
partir d'images vidéo. Elle permet de mesurer la fréquence cardiaque de manière non invasive à
distance, sans nécessiter de contact physique avec le patient.La rPPG fonctionne en analysant
les variations de couleur de la peau causées par les variations de la quantité de sang dans les
vaisseaux sanguins. Les capteurs de lumière sont généralement placés sur un dispositif portable
20
tel qu'une webcam ou un smartphone, et mesurent la luminance et la chrominance de l'image
vidéo. Les algorithmes d'apprentissage automatique sont utilisés pour analyser les variations de
couleur et estimer la fréquence cardiaque.La rPPG offre de nombreux avantages, tels que la
praticité, l'hygiène et le confort pour le patient, ainsi que la possibilité de surveiller de manière
non intrusive la santé et le bien-être à distance. Elle est utilisée dans de nombreux domaines,
tels que la santé, le sport et le bien-être, et est particulièrement utile dans les situations où il est
difficile d'obtenir des mesures de PPG de manière traditionnelle, par exemple lorsque le patient
est en déplacement ou lorsqu'il est difficile de placer des capteurs de lumière sur la peau.
Cependant, il est important de noter que la rPPG peut être affectée par de nombreux facteurs,
tels que la luminosité et la couleur de l'environnement, et nécessite donc une calibration et une
évaluation appropriées pour garantir sa précision. De plus, la qualité de l'image vidéo peut
affecter la précision de la rPPG, il est donc important de s'assurer que l'image est nette et bien
éclairée. Enfin, il est également important de tenir compte de la variabilité individuelle de la
fréquence cardiaque et de la réponse au stress lors de l'interprétation des résultats de la rPPG.

Figure 3 - Principe de fonctionnement de rPPG

21
BIG DATA :

Définition :

Les données massives (ou "big data") sont une quantité importante et rapide à croître de
données structurées et non structurées, qui sont difficiles à traiter à l'aide de technologies de
traitement de données traditionnelles. Les données massives peuvent être issues de sources
diverses, telles que les transactions commerciales, les données de sensor, les réseaux sociaux et
les appareils connectés à Internet. Elles sont souvent utilisées pour découvrir des tendances et
des modèles cachés, et pour prendre des décisions en temps réel à l'aide de technologies de
traitement de données massives.

Caractéristiques de BIG DATA :

Le Big Data est caractérisé par :

- Volume: Le big data se caractérise par sa taille, qui peut être très importante, avec des
quantités de données qui peuvent atteindre plusieurs pétaoctets (milliards de gigaoctets).
- Variété: Le big data peut être structuré, semi-structuré ou non structuré, et peut inclure
des données textuelles, numériques, audio, vidéo, etc.
- Vitesse: Le big data peut être généré à une vitesse très élevée, avec des flux de données
en temps réel ou presque en temps réel.
- Véracité: Le big data peut être incohérent ou imprécis, ce qui peut poser des défis pour
son utilisation et son analyse.

En résumé, le big data se caractérise par sa grande taille, sa diversité, sa rapidité de génération
et sa complexité, qui posent des défis pour sa gestion et son analyse.

BIG DATA dans le HealthCare :

Le big data dans le domaine de la santé fait référence aux grandes quantités de données
générées par diverses sources au sein de l'industrie de la santé, comme les dossiers médicaux

22
électroniques, les appareils médicaux et les données génomiques. Ces données peuvent être
utilisées pour améliorer les soins aux patients, découvrir de nouveaux traitements et optimiser la
prestation de soins de santé. Cependant, la gestion et l'analyse du big data dans le domaine de la
santé posent également plusieurs défis, comme les préoccupations en matière de confidentialité,
la nécessité d'outils et d'expertise spécialisés et la complexité des données elles-mêmes. Voici
quelques exemples de façons dont le big data est utilisé dans le domaine de la santé :

- Amélioration des soins aux patients : en analysant les dossiers médicaux électroniques,
les professionnels de santé peuvent identifier des modèles et des tendances dans les
données des patients, ce qui permet de mettre en place des plans de traitement
personnalisés et efficaces.
- Découverte de nouveaux traitements : le big data peut être utilisé pour identifier des
relations entre différents facteurs, comme les données génétiques et les résultats des
patients, ce qui peut aider les chercheurs à découvrir de nouveaux traitements ou
thérapies.
- Optimisation de la prestation de soins de santé : le big data peut être utilisé pour analyser
les modèles d'utilisation des soins de santé et identifier les inefficacités, ce qui permet
d'obtenir des soins plus économiques et efficaces.
- Analyse prédictive : le big data peut être utilisé pour prédire les résultats des patients,
comme la probabilité de développer une maladie particulière, et pour identifier les
facteurs de risque de certaines conditions.
- Gestion de la santé de la population : le big data peut être utilisé pour analyser la santé
d'une population et identifier les tendances, ce qui permet aux professionnels de santé de
cibler les interventions sur des groupes spécifiques de personnes.

Dans l'ensemble, le big data a le potentiel de transformer le secteur de la santé en permettant des
soins plus personnalisés et efficaces, ainsi qu'en améliorant notre compréhension des facteurs
qui influencent la santé et la maladie.

Machine Learning :

c'est une méthode d'enseignement des ordinateurs à apprendre à partir de données, sans être
explicitement programmés. Cela implique de fournir à un système informatique un grand
23
nombre d'exemples et de permettre au système d'apprendre à partir de ces exemples. Le système
est alors capable de faire des prédictions ou des décisions sans être spécifiquement dit comment
le faire. Il existe de nombreuses approches différentes pour le machine learning, y compris
l'apprentissage d'arbres de décision, les réseaux de neurones et l'apprentissage profond. Le
machine learning est un domaine en croissance rapide et a de nombreuses applications pratiques
dans divers domaines. Il y a de nombreuses applications pratiques pour le machine learning,
notamment:

- La reconnaissance d'images et de la parole: Les algorithmes de machine learning peuvent


être utilisés pour identifier des objets, des personnes et des mots dans les images et les
enregistrements audio.
- Le traitement du langage naturel (NLP): Le machine learning peut être utilisé pour traiter
et comprendre le langage humain, permettant des tâches telles que la traduction de
langues et l'analyse de sentiment.
- La modélisation prédictive: Les algorithmes de machine learning peuvent être utilisés
pour faire des prévisions sur des événements futurs en fonction de données passées.

Ce sont là quelques exemples des nombreuses manières dont le machine learning est utilisé
aujourd'hui. Le domaine évolue constamment et de nouvelles applications sont développées en
permanence.

Le cycle de vie d'un projet de machine learning comprend généralement les étapes suivantes:
définition du problème et collecte de données, préparation des données, entraînement du
modèle, évaluation du modèle, optimisation du modèle (si nécessaire), déploiement du modèle
et surveillance et maintenance. Chacune de ces étapes est importante pour garantir la qualité et
l'efficacité du modèle de machine learning.

24
Figure 4 - Cycle de machine learning

Conclusion :
En résumé, l'utilisation conjointe de l'IoT, de l'apprentissage automatique et des données
massives peut offrir de nombreuses possibilités pour améliorer la santé et le bien-être des
patients. Dans le domaine de l'estimation de la fréquence cardiaque, ces technologies permettent
de développer des solutions pratiques et accessibles qui peuvent aider les patients à surveiller
leur santé de manière proactive et à recevoir des conseils et des soins précoces en cas de besoin.
Cependant, il est important de veiller à ce que ces solutions respectent la vie privée et la sécurité
des données des patients, et à ce qu'elles soient validées par des essais cliniques rigoureux avant
d'être mises en œuvre à grande échelle.

25
Chapitre 3  : Implémentation et Exécution :

Introduction :

Le système nerveux autonome est une partie du système nerveux qui contrôle les fonctions du
corps de manière involontaire, telles que la respiration, la digestion et le rythme cardiaque. La
variabilité de la fréquence cardiaque (HRV), qui est la mesure de l'irrégularité des intervalles
entre les battements de cœur, est considérée comme un indicateur de la fonction du système
nerveux autonome et de la réponse au stress. Dans ce chapitre, nous allons examiner comment
la HRV peut être utilisée pour estimer la fréquence cardiaque à l'aide de la webcam et comment
cette approche peut être utilisée pour évaluer la santé et le bien-être. Nous verrons également
comment l'apprentissage automatique et les technologies de l'IoT peuvent être utilisés pour
améliorer la précision et l'efficacité de cette méthode d'estimation de la fréquence cardiaque.

Exigences :

- Python 3.10.8 : Python est un langage de programmation interprété qui permet de


concevoir des logiciels de manière simple et rapide. Il est utilisé pour de nombreuses
applications, notamment la science des données, l'apprentissage automatique et le
développement Web. Il est caractérisé par une syntaxe lisible et conviviale et une
communauté de développeurs active

Bibliothèques :

- Detection de visage :

OpenCV : est une bibliothèque logicielle open-source pour le traitement en temps réel
d'images et de vidéos. Il offre de nombreuses fonctionnalités pour l'analyse et le
traitement d'images, telles que la détection de visages, la reconnaissance de formes et de
couleurs, le suivi d'objets et la correction de distorsion. OpenCV est disponible pour de
nombreuses plateformes et est compatible avec de nombreux langages de programmation,
y compris Python, C++ et Java.

26
Mediapipe : est une plateforme open-source pour le développement de pipelines de
traitement de médias en temps réel. Il offre une large gamme de fonctionnalités pour le
traitement d'images, de vidéos et de flux audio en temps réel, y compris la détection de
visages, la reconnaissance de formes et de couleurs, le suivi d'objets et la correction de
distorsion.
Numpy : est une bibliothèque pour langage de programmation Python, destinée à
manipuler des matrices ou tableaux multidimensionnels ainsi que des fonctions
mathématiques opérant sur ces tableaux.Plus précisément, cette bibliothèque logicielle
libre et open source fournit de multiples fonctions permettant notamment de créer
directement un tableau depuis un fichier ou au contraire de sauvegarder un tableau dans
un fichier, et manipuler des vecteurs, matrices et polynômes.NumPy est la base de SciPy,
regroupement de bibliothèques Python autour du calcul scientifique.
Matplotlib : une bibliothèque complète permettant de créer des visualisations statiques,
animées et interactives en Python. Matplotlib rend les choses faciles et les choses
difficiles possibles. C’est une bibliothèque graphique de visualisation 2D (avec un
support pour la 3D, l’animation et l’interactivité), permettant des sorties de haute qualité
« prêtes à publier ». C’est à la fois une bibliothèque de haut niveau, fournissant des
fonctions de visualisation « clés en main » (échelle logarithmique, histogramme, courbes
de niveau, etc), et de bas niveau, permettant de modifier tous les éléments graphiques de
la figure (titre, axes, couleurs et styles des lignes, etc.)

- Filtrage digital :

Scipy : est une bibliothèque Python qui fournit des fonctions pour le calcul scientifique
et technique. Il est construit sur NumPy et offre de nombreuses fonctions supplémentaires
pour travailler avec des données numériques, ainsi que de la fonctionnalité
supplémentaire telle que l'optimisation, l'interpolation et le traitement du signal et de
l'image. SciPy est une bibliothèque essentielle pour de nombreuses applications de calcul
scientifique et technique en Python et est souvent utilisé conjointement avec d'autres
bibliothèques scientifiques telles que NumPy et Matplotlib.

Plan d’action :

Outre les I/O et l'interface utilisateur, les parties principales dans cette application rPPG (et
fondamentalement la plupart des autres), cette solution va se base sur la mise en place une
27
pipeline MediaPipe pour traiter en temps réel un flux vidéo, en utilisant le modèle de détection
des visages pour détecter et suivre les visages dans la vidéo, activer la fonctionnalité de
maillage de visage dans la pipeline MediaPipe, qui génère en temps réel un maillage 3D du
visage détecté.Après la Mise en place une pipeline de traitement vidéo en temps réel pour traiter
un flux vidéo en entrée. On va identifier la région du visage où le signal de battement de coeur
peut être mesuré de manière la plus précise. Cette région est généralement autour du nez et de la
bouche, car les vaisseaux sanguins de cette région sont proches de la surface de la peau et le
mouvement du sang peut être facilement détecté. Extraire le signal de battement de coeur à
partir du flux vidéo en isolant le canal vert de la vidéo, car le canal vert fournit le signal
pulsatile le plus fort en raison de la absorption de l'hémoglobine donc le signal fournit du canal
vert va présenter signal d'impulsion de volume sanguin (BVP). Calculer le rythme cardiaque en
analysant le signal de battement de coeur extrait. Cela peut être fait en utilisant des techniques
telles que la détection de pics ou l'analyse de fréquence pour identifier la fréquence du signal de
battement, qui est directement liée au rythme cardiaque. Déterminer le type de filtre numérique
nécessaire pour traiter le signal de battement de coeur en fonction de ses caractéristiques et de
l'objectif de traitement. Par exemple, un filtre passe-bas peut être utilisé pour éliminer les hautes
fréquences indésirables du signal pour couper les fréquences supérieures à 2,5 Hz. Appliquer le
filtre numérique au signal de battement de coeur en utilisant une des fonctions de filtrage
disponibles dans Python, comme scipy.signal.lfilter et scipy.signal.filtfilt ce dernier est un
filtrage à phase nulle cette technique de filtrage permet de supprimer les distorsions de phase
introduites par le filtrage lui-même donc le signal filtré a la même phase que le signal original.
Appliquer le filtre numérique sélectionné au signal de battement de coeur en utilisant une des
fonctions de filtrage choisies, comme scipy.signal.lfilter et livelfilter, puis comparer différentes
implémentations de filtres numériques en utilisant scipy.signal.lfilter et livelfilter.

Implementation :

Détection des repères faciaux (Facial landmark) :


Tout d'abord, nous devons lire le flux de la webcam. Pour traiter les trames en attendant de
nouvelles entrées, la caméra est implémentée en tant que QThread. Il encapsule un objet
OpenCV VideoCapture, exécute une boucle infinie et émet de nouvelles images via un
pyqtSignal.

28
Figure 5 - fournissant Camera, qui encapsule le flux d'entrée OpenCV dans un thread PyQt.

- Accéder aux coordonnées des points de repère

Comme son nom l'indique, les coordonnées du point de repère sont normalisées (par les
dimensions de l'image) à des valeurs comprises entre 0 et 1. Pour extraire les coordonnées du
point de repère dans un tableau NumPy de coordonnées en pixels, nous pouvons utiliser la
fonction suivante :

29
Figure 6 - Définition de la fonction get_facemesh_coords()

Notez que la coordonnée z est mise à l'échelle avec la largeur de l'image (identique à x) et
qu'elle est relative à la distance moyenne du visage par rapport à la caméra (en savoir plus dans
la documentation).En utilisant la fonction ci-dessus, nous pouvons obtenir les coordonnées 3D
des repères faciaux et les traiter ultérieurement en Python.

Figure 7 - les repères faciaux avec MediaPipe


30
Extraction des signaux de battement de cœur de la vidéo de la webcam :

- Identification de la région d'intérêt (ROI)

La région d'intérêt (ROI) désigne une zone spécifique dans une image ou un cadre qui est
particulièrement intéressante ou pertinente. En traitement d'image et en vision par ordinateur, il
est souvent utile de n'analyser ou de traiter que les pixels de la ROI, plutôt que l'ensemble de
l'image, afin de gagner du temps et des ressources. Les ROI peuvent être définies de différentes
manières, comme à l'aide d'un masque binaire, d'un ensemble de points délimitant un contour
ou d'une boîte englobante.

Seule la moitié inférieure du visage sera utilisée comme ROI. C'est là que nous devons accéder
aux coordonnées réelles du maillage du visage avec la fonction get_facemesh_coords() présentée
au dessus.

o Définition de la fonction fill_roimask()

La fonction fill_roimask() crée un masque binaire pour une région d'intérêt (ROI) dans une
image. Elle le fait en prenant en entrée une liste de points qui définissent le contour de la ROI et
une image, et en retournant un masque binaire où les pixels à l'intérieur du contour sont définis
à 255 (blanc) et les pixels à l'extérieur du contour sont définis à 0 (noir).

Figure 8 - Définition de la fonction fill_roimask()

Le détecteur Face Mesh est enveloppé dans une classe ROIDetector, La méthode process()
trouve alors un seul visage dans un cadre donné, extrait la moitié inférieure du visage à l'aide
d'une liste d'indices de maillage prédéfinis et génère un masque binaire pour cette ROI .

31
Figure 9 - Définition de la classe ROIDetector, et la fonction process()

- Extraction du signal d'impulsion :

o Définition de la classe RPPG

La classe RPPG a plusieurs méthodes et attributs:__init__ est le constructeur de la classe, qui est
appelé lorsque vous créez une nouvelle instance de la classe RPPG. Il met en place un objet
Camera pour recevoir des trames d'une diffusion vidéo et initialise un objet ROIDetector qui est
utilisé pour trouver la région d'intérêt dans chaque trame. Il initialise également une liste vide
appelée signal qui sera utilisée pour stocker les données de pouls. on_frame_received est une
méthode qui est appelée lorsqu'une nouvelle trame est reçue de la caméra. Il traite la trame pour
trouver la région d'intérêt et ajoute la valeur du canal vert de la trame à la liste signal. Il émet
ensuite le signal rppg_updated avec un tuple nommé RppgResults contenant la trame brute, le
masque de la région d'intérêt, les repères de visage et la liste signal.start est une méthode qui
démarre le thread de la camera.stop est une méthode qui arrête le thread de la caméra et ferme
l'objet ROIDetector.

32
Figure 10 - Définition de la classe RPPG

Appliquer des filtres numériques en Python :

- Filtres à réponse impulsionnelle infinie (RII)

Il existe différentes façons de définir et d'utiliser un filtre numérique en Python.L'approche la


plus polyvalente consiste à utiliserréponse impulsionnelle infinie(RII). Un filtre RII est décrit
par une équation dite aux différences, qui définit comment un signal entrant est traité au fil du
temps. Une nouvelle sortie y[n] estobtenu en combinant mathématiquement les sorties de filtre
passées avec les entrées passées (récursivité). Une équation aux différences ressemble à ceci :

a0 y[n] = b0 x[n] + b1 x[n-1] + b2 x[n-2] – a1 y[n-1] – a2 y[n-2]

33
La nouvelle sortie est une somme pondérée des entrées et sorties passées. En fonction des
valeurs réelles des coefficients ai et bi, un tel filtre peut rejeter ou laisser passer certaines plages
de fréquences. Les filtres d'ordre supérieur regardent plus loin dans le passé et comportent donc
plus de termes que ceux illustrés ci-dessus.Trouver des coefficients appropriés pour obtenir un
comportement souhaité - un processus appelé conception du filtre -est un sujet riche en soi.

- Concevoir et appliquer un filtre RII passe-bas en Python

Créons un exemple synthétique, auquel nous pouvons appliquer le filtre. On choisit un taux
d'échantillonnage de 30 Hz (FPS typique d'une webcam grand public) et génère 5 secondes
d'une onde sinusoïdale recouverte de bruit gaussien.

Figure 11 - Création d’n exemple synthétique

Nous pouvons maintenant concevoir le filtre passe-bas pour couper les fréquences supérieures à
2,5 Hz. Par défaut, la fonction iirfilter renvoie les coefficients de la différence équation ai et bi,
qui peuvent être passées à une fonction de filtrage. On choisit un ordre de filtre de 4 (premier
argument). Le type de filtre Butterworth est le choix par défaut, mais il vaut mieux être
explicite. Nous pouvons appliquer le filtre conçu sur le signal bruyant en appelant la fonction
lfilter.

34
Figure 12 - Application du filtre conçu sur le signal bruyant

- Utilisation de filtfilt pour obtenir un filtrage à phase zéro

Le déphasage est un problème inhérent aux filtres numériques et ne peut être correctement traité
que dans un environnement hors ligne : si l'intégralité du signal est disponible, nous pouvons
appliquer le filtre deux fois - une fois en avant, une fois en arrière. De cette façon, le déphasage
est compensé par la deuxième course et le signal de sortie est "en phase" avec l'entrée. Le
scipy.signal.filtfilt fait exactement cela. Il peut être utilisé de la même manière que lfilter :

Figure 13 - Application du filtre forward et backward

Script d’exécution du programme  :


Le programme minimal peut être exécuté avec un court script de lancement.

35
Figure 14 - Script pour exécuter le programme

Exécution :
Pour lancer le programme ci-dessous on va utitliser cette commande :

python main.py

36
Figure 15 - La détéction de ROI et l’extraction le signal filtré de battement de coeur en temps réel

Après l’application du filtre passe bas sur le signal original :

Figure 16 - La comparaison entre le signal filtré et le signal original

37
Nous avons débarrassé du bruit à haute fréquence et extraire le signal sous-jacent de fréquence
inférieure en appliquant le filtre passr bas

Après l’application du filtfit sur le signal fitré passe bas pour obtenir un filtrage à phase zéro

Figure 17 - La comparaison entre le signal filtré passe bas et à filtrage à zéro et le signal original

La sortie résultante est bien alignée avec le signal brut et encore plus fluide par rapport au
résultat de lfilter.

lfilter et filtfilt sont faciles à utiliser et fonctionnent bien dans un environnement hors ligne.
Mais les fonctions scipy.signal ne sont pas conçues pour les applications en temps réel. Donc on
peut implémenter autre filtres RII pour des lives applications.

38
Conclusion :

Au cours de ce chapitre, nous avons examiné les différentes étapes de l'implémentation de la


méthode rPPG pour l'extraction de signaux de pouls de volume sanguin (BVP) et le calcul de la
fréquence cardiaque. Nous avons détaillé comment la méthode rPPG permet de mesurer de
manière non invasive la fréquence cardiaque en analysant les variations de la couleur de la peau
faciale causées par le flux sanguin. Nous avons également exploré les techniques de traitement
du signal qui peuvent être utilisées pour atténuer ces difficultés. En conclusion, la méthode
rPPG constitue une approche prometteuse pour la surveillance de la fréquence cardiaque, avec
un potentiel d'application dans une variété de contextes cliniques et de recherche.

39
Conclusion

Dans ce rapport, nous avons examiné les différentes approches pour détecter le stress à
l'aide d'une webcam. Nous avons notamment mis en évidence la méthode rPPG, qui permet de
mesurer de manière non invasive la fréquence cardiaque en analysant les variations de la
couleur de la peau faciale causées par le flux sanguin. Nous avons également présenté les
principaux défis et limites de la détection du stress à l'aide d'une webcam, ainsi que les
principaux domaines d'application de cette technique. En conclusion, la détection du stress à
l'aide d'une webcam représente une approche prometteuse pour l'étude du stress et de ses effets
sur la santé, avec un potentiel d'application dans un large éventail de domaines. Cependant, il
convient de continuer à explorer et à améliorer les méthodes de détection du stress afin de
garantir une précision et une fiabilité optimales de ces approches.

40
Références

W. Verkruysse, L. O. Svaasand, and J. S. Nelson, “Remote plethysmographic imaging


using ambient light,”

W. Wang, A. C. den Brinker, S. Stuijk, and G. de Haan, “Algorithmic Principles of


Remote PPG,”

P. V Rouast, M. T. P. Adam, R. Chiong, D. Cornforth, and E. Lux, “Remote heart rate


measurement using low-cost RGB face video: a technical literature review,”

C. H. Cheng, K. L. Wong, J. W. Chin, T. T. Chan, and R. H. Y. So, “Deep Learning


Methods for Remote Heart Rate Measurement: A Review and Future Research Agenda,”

41

Vous aimerez peut-être aussi