Cartes du visage
Ce sont deux documents différents, et les confondre est l'erreur la plus courante au sujet de la lecture faciale. La première est le dictionnaire du mouvement du visage ; la seconde, la grammaire qui combine ces mouvements. Ici, les deux sont côte à côte — et à côté de chacune se trouve ce que le moteur de FROID calcule réellement à partir d'elle.
La distinction
Les deux montrent le même visage et utilisent les mêmes numéros — AU1, AU4, AU12. Mais elles répondent à des questions qui ne se remplacent pas.
Question à laquelle elle répond : qu'est-ce que, isolément, chaque mouvement possible du visage ?
Chaque Unité d'Action (UA) est un muscle ou un groupe musculaire nommé, avec un mouvement observable et rien de plus. AU4 est l'abaissement des sourcils (corrugateur, procérus). AU12 est la traction des commissures des lèvres vers le haut (grand zygomatique). Ce sont des entrées de dictionnaire : aucune d'elles ne signifie une émotion, de même qu'aucun mot isolé n'est une phrase.
Question à laquelle elle répond : quelles combinaisons d'UA la littérature du FACS associe-t-elle à chaque émotion et à chaque dissonance ?
Ici, les entrées du dictionnaire deviennent des phrases. AU6+AU12 est le sourire de Duchenne ; AU23+AU24 est la compression labiale de l'hostilité contenue ; AU1+AU2+AU5 est la signature de sursaut de la peur. C'est la grammaire — et c'est d'elle que sort toute lecture, car la combinaison porte un sens que la pièce seule ne porte pas.
Carte 1 · L'explicatif unitaire
Le Facial Action Coding System, de Paul Ekman et Wallace Friesen, décompose le mouvement facial en unités anatomiques. La carte ci-dessous est le catalogue complet de ces unités — y compris celles que FROID ne calcule pas. Cliquez pour agrandir.
Le navigateur du patient exécute le modèle MediaPipe FaceLandmarker (ARKit) sur la vidéo locale et produit 52 coefficients de blendshape — des valeurs de 0 à 1 décrivant des déformations du visage. Seuls ces 52 nombres circulent : aucune image, aucune trame vidéo et aucun point facial ne quitte l'équipement du praticien.
Sur le serveur, chaque Unité d'Action est la moyenne simple des blendshapes qui la composent. Lorsque l'UA a un pendant gauche et droit, les deux côtés sont moyennés pour donner l'intensité bilatérale. Une UA est considérée active à partir de 0,30.
| UA | Nom FACS | Muscle | Mouvement | Blendshapes qui la composent |
|---|---|---|---|---|
| AU1 | Inner Brow Raiser | Frontalis (pars medialis) | Élévation de la partie interne des sourcils | browInnerUp |
| AU2 | Outer Brow Raiser | Frontalis (pars lateralis) | Élévation de la partie externe des sourcils | browOuterUpLeft · browOuterUpRight |
| AU4 | Brow Lowerer | Corrugator, Depressor supercilii, Procerus | Abaissement et rapprochement des sourcils | browDownLeft · browDownRight |
| AU5 | Upper Lid Raiser | Levator palpebrae superioris | Élévation de la paupière supérieure, avec exposition de la sclère | eyeWideLeft · eyeWideRight |
| AU6 | Cheek Raiser | Orbicularis oculi (pars orbitalis) | Élévation des joues et pattes d'oie | cheekSquintLeft · cheekSquintRight |
| AU7 | Lid Tightener | Orbicularis oculi (pars palpebralis) | Mise en tension des paupières | eyeSquintLeft · eyeSquintRight |
| AU9 | Nose Wrinkler | Levator labii sup. alaeque nasi | Plissement du nez et élévation des ailes nasales | noseSneerLeft · noseSneerRight |
| AU10 | Upper Lip Raiser | Levator labii superioris | Élévation de la lèvre supérieure | mouthUpperUpLeft · mouthUpperUpRight |
| AU12 | Lip Corner Puller | Zygomaticus major | Traction des commissures des lèvres vers le haut (sourire) | mouthSmileLeft · mouthSmileRight |
| AU14 | Dimpler | Buccinator | Commissures de la bouche vers l'intérieur (fossettes) | mouthDimpleLeft · mouthDimpleRight |
| AU15 | Lip Corner Depressor | Depressor anguli oris | Abaissement des commissures de la bouche | mouthFrownLeft · mouthFrownRight |
| AU17 | Chin Raiser | Mentalis | Élévation de la peau du menton | mouthShrugLower · mouthShrugUpper |
| AU20 | Lip Stretcher | Risorius + Platysma | Étirement horizontal des lèvres | mouthStretchLeft · mouthStretchRight |
| AU23 | Lip Tightener | Orbicularis oris | Rétrécissement et tension des lèvres | mouthRollLower · mouthRollUpper |
| AU24 | Lip Pressor | Orbicularis oris | Compression des lèvres l'une contre l'autre | mouthPressLeft · mouthPressRight |
| AU26 | Jaw Drop | Relâchement du Masseter | Chute de la mâchoire | jawOpen |
Les 11 restantes figurent sur la carte et ne sont pas calculées : AU8, AU11, AU13, AU16, AU18, AU19, AU21, AU22, AU25, AU27 et AU28. Les Descripteurs d'Action (AD) ne le sont pas non plus — direction du regard, clignement, inclinaison et rotation de la tête. La raison est la même dans tous les cas : l'ensemble des 52 blendshapes de MediaPipe n'expose aucun coefficient correspondant à ces unités avec une fidélité suffisante, et les dériver par approximation produirait un nombre là où il n'y a pas eu de mesure.
Quatre des 16 calculées — AU9, AU17, AU20 et AU26 — sont mesurées à chaque trame et n'entrent aujourd'hui dans aucune règle de composition. Elles existent dans le calcul et n'ont pas encore de lecteur. C'est consigné ici parce que l'alternative serait que cette page laisse croire que toute UA calculée participe à la lecture, ce qui n'est pas le cas.
Carte 2 · L'explicatif de la composition
Une UA isolée ne soutient aucune lecture. Ce qui la soutient, c'est la cooccurrence : quelles unités apparaissent ensemble, à quelle intensité, et si elles apparaissent des deux côtés du visage ou d'un seul. Cliquez pour agrandir.
À chaque lecture faciale, le moteur confronte les UA actives à six règles de composition. Chaque règle déclenchée marque une dissonance faciale dans l'une des 12 Zones de Perception et écrit, sur l'écran du professionnel, quelles UA l'ont déclenchée et ce que ce schéma décrit. Dissonance a ici un sens précis : le visage contredisant ou masquant l'affect — la cooccurrence d'unités qui ne devraient pas être ensemble.
| Zone | Combinaison exigée | Schéma que FROID enregistre |
|---|---|---|
| Zone 3 | AU15 et AU12 | Tristesse masquée — abaissement des commissures labiales sous un effort de sourire : affect négatif recouvert. Zone 3 — Tristesse vs. Paix Intérieure |
| Zone 6 | AU14 active avec asymétrie ≥ 0,25, ou AU10 active avec un sourire (AU12) asymétrique ≥ 0,25 | Mépris — expression faciale unilatérale : distanciation affective masquée. C'est la seule lecture du moteur qui dépend d'un côté du visage différant de l'autre. Zone 6 — Amour Conditionnel vs. Amour Inconditionnel |
| Zone 7 | AU12 et (AU23 ou AU24) | Suppression de l'aversion — sourire social superposé à une compression labiale involontaire : le visage masque l'hostilité. Zone 7 — Colère vs. Acceptation du Changement |
| Zone 8 | AU1 et AU2 et AU5 | Peur contenue — signature de sourcils et de paupières de sursaut pendant une parole contrôlée. Zone 8 — Peur et Surcharge vs. Responsabilisation |
| Zone 9 | AU23 et AU24 et expressivité globale < 0,20 | Suppression expressive — lèvres pressées et tendues sur un visage aplani : rétention de ce qui serait dit. Zone 9 — Expression Émotionnelle Supprimée vs. Auto-expression Adéquate |
| Zone 12 | AU4 et AU7 | Conflit interne — sourcils contractés avec paupières tendues : incongruence entre le discours et l'état. Zone 12 — Croyances et Actions Conflictuelles vs. Congruentes |
« Active » signifie intensité ≥ 0,30. L'expressivité globale de la Zone 9 est la moyenne des intensités de AU1, AU2, AU5, AU6, AU12 et AU15 — les UA émotionnelles. AU26 (chute de la mâchoire) est délibérément exclue de cette moyenne parce qu'elle est conduite par la parole, non par l'émotion : l'inclure gonflait l'expressivité pendant le discours et masquait la retenue précisément quand elle compte le plus.
Les deux seuils sont des paramètres de produit FROID, choisis comme plage conservatrice de présence sur l'échelle 0–1 des blendshapes ARKit — ce ne sont pas des constantes publiées dans la littérature du FACS. Traitez-les comme une heuristique d'ingénierie calibrable.
L'intensité attribuée à une dissonance est le minimum parmi les UA qui la composent (la plus faible borne la preuve) ; en Zone 6, le maximum entre AU14 et AU10. Quand deux règles se disputent la même zone sur la même trame, celle de plus forte intensité l'emporte — une zone ne retient qu'un schéma. L'intensité est interne : elle sert à cette priorisation et n'est pas publiée dans le payload, qui expose les UA actives, le texte du schéma et la provenance.
Sans blendshapes, pas d'UA ; sans UA, pas de dissonance faciale — et les champs faciaux sortent nuls, la provenance déclarée. Il n'existe pas de mode simulé : le générateur a été retiré le 03/09/2026, et l'absence de mesure ne devient jamais un nombre.
froid-server/froid_facs.py (conversion et règles) et froid-dashboard/src/lib/froid-face.ts (capture dans le navigateur).La chaîne complète
Sept étapes séparent le visage du patient d'une marque sur le panneau du professionnel. Aucune n'invente de valeur : là où il n'y a pas eu de mesure, la chaîne s'arrête et déclare qu'elle s'est arrêtée.
Le modèle tourne localement sur la vidéo du patient et produit les blendshapes. Seuls les coefficients sont envoyés — image et vidéo ne quittent jamais l'équipement.
Moyenne simple par UA, côtés gauche et droit moyennés, asymétrie conservée à part pour AU12 et AU14.
Intensité ≥ 0,30. En dessous, l'UA existe comme nombre et ne compte pas comme présente — le seuil est là pour écarter le micro-mouvement involontaire.
Les UA actives sont confrontées aux six combinaisons. Chaque déclenchement marque une dissonance faciale dans une Zone de Perception.
Dans une zone marquée, l'écart acoustique de cette zone est multiplié par 2,5. C'est ici — et seulement ici — que visage et voix se rencontrent : le visage ne génère pas de lecture à lui seul, il pondère la lecture vocale.
Un pic sur un seul cycle ne devient pas un enregistrement. La dissonance n'est donnée pour confirmée que lorsqu'elle se maintient sur 2 des 3 derniers cycles d'analyse.
Forme binaire — il n'existe aucune forme continue implémentée. La valeur 2,5 est un paramètre de produit FROID, non dérivé d'une étude publiée.
Le moteur de dissonance reçoit l'écart sans M_fac. Sans cette séparation, un seul événement facial déclencherait à la fois le marqueur facial et le marqueur de zone extrême — double comptage d'un signal unique, corrélé par construction, gonflant la confiance de l'alerte.
La lecture faciale tourne à environ 3 images par seconde par défaut (intervalle minimal de 150 ms). C'est une cadence choisie pour ne concurrencer ni le traitement audio ni l'appel vidéo, et elle délimite ce qui est observable : voir Ce que ces cartes n'affirment pas.
froid-server/froid_core.py → calculate_multimodal_deviation(). Confirmation temporelle dans froid-server/froid_dissonance.py. Le montage de l'IDM et de l'IPM se trouve dans Technologie, Étape 5.La frontière
Une carte de référence montre ce que le FACS décrit. Elle n'est pas un inventaire de ce que ce logiciel fait. Là où les deux divergent, c'est ce qui est écrit ici qui vaut.
La carte de la composition liste sept émotions universelles. FROID n'en émet aucune comme résultat. Il n'existe nulle part dans le produit une sortie « joie », « surprise » ou « dégoût ». Ce qui sort est une marque de dissonance par zone, avec les UA qui l'ont produite. Les matrices de joie, de surprise et de dégoût figurent sur le tableau comme référence du FACS et n'ont aucune règle correspondante dans le moteur.
Les trois phases temporelles d'une expression — début, pic et fin — sont une méthodologie mature en vision par ordinateur, et FROID ne les implémente pas. Il n'y a ni modèle de Markov, ni confiance d'apex, ni durée d'UA. Chaque trame est évaluée isolément ; la seule mémoire temporelle du système est la confirmation de dissonance sur 2 des 3 derniers cycles.
Une microexpression dure entre 1/25 et 1/5 de seconde. La capture faciale de FROID tourne à environ 3 images par seconde — l'essentiel d'une microexpression tient entre deux images. La cadence est un choix d'ingénierie, et sa conséquence est celle-ci : la microexpression n'est pas un objet de mesure de ce système.
La dissonance est la cooccurrence d'unités faciales qui vont rarement ensemble, croisée avec l'écart acoustique de la même zone. C'est un signal invitant le professionnel à regarder, pas un verdict sur la sincérité. L'hypothèse classique du sourire de Duchenne (AU6 absente = sourire forcé) est contestée par des recherches récentes — voir Science, Pilier 4.
La carte de la composition met en avant quatre schémas de dissonance subconsciente. Confrontés aux six règles implémentées :
La divergence est publiée plutôt que corrigée sur la figure parce que le tableau est un document du FACS, avec sa valeur propre comme référence. Ce qui ne doit pas arriver, c'est qu'un lecteur reparte d'ici en croyant que chaque case de la carte correspond à un comportement du logiciel.