Montre-moi ton visage, je te dirai ce que tu ressens !

Comme je vous l’avais dit dans l’un de mes précédents articles, j’ai eu la chance de rencontrer les ingénieurs de la société ROBOT4YOU, qui ont conçu Feel 1.2. Ils m’ont présenté deux de leurs programmes de reconnaissance de l’émotion. Le premier permettait de reconnaître l’émotion à partir de l’état mental ; le second que je vais maintenant vous présenter permet de reconnaître une émotion grâce aux expressions faciales.

Objectif de l’algorithme

Le but de cet algorithme est de déduire l’émotion d’une personne parmi la joie, la colère et la tristesse à partir des expressions faciales de la personne.


Outils utilisés

  • Algobox, logiciel de programmation algorithmique, pour saisir l’algorithme
  • Geogebra, logiciel de géométrie, pour représenter les visages

Bases théoriques

On utilise les parties du visage permanentes et qui se modifient en fonction de l’émotion : les sourcils, les yeux et la bouche. On choisit ensuite 5 distances caractéristiques dans l’expression de l’émotion :

Représentation des 5 distances sur un visage
  • la distance d’ouverture de l’oeil D1
  • la distance entre le coin interne de l’oeil et le sourcil intérieur D2
  • la largeur de la bouche D3
  • l’ouverture de la bouche D4
  • la distance entre le coin externe de l’oeil et le coin externe de la bouche D5

Dans sa thèse, Alice Pascal Caplier, sur la base de mesures sur de nombreuses personnes, a calculé l’évolution des 5 distances en fonction de l’émotion. Dans le cas de la joie, par exemple, l’apparition du sourire va rapprocher le coin externe de la bouche du coin externe de l’oeil. Ainsi, la distance D5 va être réduite.

Le tableau suivant représente donc l’évolution des distances pour chaque émotion :

  • S : la distance reste la même que lorsque le visage est neutre, sans émotion
  • C+ : la distance augmente par rapport au visage neutre
  • C- : la distance diminue par rapport au visage neutre

D1

D2 D3 D4 D5
Joie E1

C

S / C C+ C+

C

Surprise E2

C+

C+ C C+

C+

Dégoût E3

C

C S / C+ C+

S / C

Colère E4

C+

C S S / C

S

Tristesse E5

C

C+ S S

S

Peur E6

S / C+

S / C+ S / C S / C+ S

Neutre E7

S S S S

S


Construction du programme

Les étapes de la reconnaissance faciale

  1. Localisation du visage sur l’image
  2. Extraction des informations essentielles, donc des points caractéristiques
  3. Classification et interprétation des données

L’algorithme de la société ROBOT4YOU se situe dans la troisième étape.

DONNÉES : Quelles valeurs faut-il saisir en entrée ?

Sur la base de photos d’une personne éprouvant différentes émotions, j’ai représenté sur Geogebra le visage neutre d’une femme, puis son visage quand elle est joyeuse, en colère et triste.

Le logiciel Geogebra nous permet d’avoir des coordonnées précises pour chacun de ces points. Ces valeurs qui concernent le visage neutre et le visage émotionnel servent de base de données pour exécuter l’algorithme.

Dans le cas d’un robot, ces données auront pu être obtenues grâce aux capteurs visuels, notamment les caméras numériques, et après identification du visage et de ses zones.

TRAITEMENT : Comment le programme déduit-il l’émotion ?

  • A l’aide des coordonnées des points, l’algorithme va tout d’abord calculer les différentes distances pour le visage neutre et émotionnel en utilisant la formule suivante :

  • Le programme va ensuite soustraire l’écart entre la distance du visage neutre et celle du visage émotionnel.
    • Si l’écart est positif, alors la distance a diminué avec l’émotion.
    • Si l’écart est négatif, alors la distance a augmenté avec l’émotion.
    • Si l’écart est nul, la distance est la même pour le visage neutre et le visage émotionnel.
neutralité tristesse joie colère
Ecart 1 = 0 > 0 >0 < 0
Ecart 2 = 0 < 0 ≥ 0 > 0
Ecart 3 = 0 = 0 < 0 = 0
Ecart 4 = 0 = 0 < 0 ≥ 0
Ecart 5 = 0 = 0 > 0 = 0

SORTIE : Que donne l’algorithme en sortie ?

Le programme va ensuite déduire l’émotion en prenant en compte les différents écarts selon le tableau ci-dessus.

Maintenant, voici une vidéo qui vous permettra de comprendre l’organisation du logiciel Algobox et de voir l’algorithme en train de s’exécuter.


Voici ci-dessous, l’intégralité de l’algorithme conçu par la société ROBOT4YOU :

Ainsi, ce programme, élaboré grâce à Algobox et Geogebra, permet à Feel 1.2 de reconnaître les émotions grâce aux expressions faciales, et donc de réagir en conséquence.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *