Guillaume Hansen et Alexandre Thouvenin, étudiants en 2e année de formation génie électrique (GE2) à l'INSA Strasbourg, ont réalisé un projet d'initiative personnelle encadré (TIPE) dont l'objectif était de réaliser un système capable de lutter contre la somnolence en voiture. Retour sur les différentes étapes du projet.
L’objectif que nous avons cherché à accomplir tout au long de ce TIPE est de réaliser un système capable de lutter contre la somnolence en voiture.
Pour ce faire, nous avons élaboré un programme de reconnaissance faciale en langage C++ exploitable sur une carte Raspberry Pi 4. Nous avons utilisé les librairies OpenCv et Dlib pour réaliser cette fameuse reconnaissance faciale.
L’idée était la suivante : grâce à la détection de notre visage (possible
par les cascades de Haar utilisées dans OpenCv) et l’obtention des 68
points caractéristiques de notre visage (possible par la méthode facial
landmarks de Dlib) nous avons calculé une moyenne du taux
d’ouverture de l’œil droit et gauche (sur quelques mesures).
Puis nous avons défini un seuil critique que nous avons déterminé par
mise au point du projet via une vidéo enregistrée sur VisualStudio2019.
Ce seuil est très important car c’est lui qui va venir définir le moment où
la moyenne des deux yeux est trop basse est donc l’instant de détection
de la somnolence.
Ainsi si la valeur de la moyenne du taux d’ouverture des deux yeux est
supérieure au seuil rien ne se passe (pas de somnolence détectée). Mais
si la valeur de la moyenne du taux d’ouverture des deux yeux est
inférieure au seuil sur un nombre de points précis alors la
somnolence est détectée et le système commence à émettre un son et
à marquer sur l’écran « somnolence » pour réveiller l’individu endormi.
Remarque : il faut faire beaucoup d’essais, dans des conditions fixées,
pour trouver une détection « fiable » et « robuste ».
- Fiable : pas de détection intempestive.
- Robuste : si les conditions changent légèrement (visage qui bouge un peu, éclairage qui varie un peu…) la détection doit continuer à fonctionner.
Nous avons également apporté une amélioration au programme, en effet
lorsque 11 images consécutives n’ont pas réussi à détecter un vissage
(par exemple dans la vie réelle ceci peut se produire lorsque notre tête
est tournée pour regarder à l’arrière de la voiture ou le paysage sur le
côté) alors un signal sonore s’enclenche et il est noté sur l’écran
« visage tourné ».