Livrable WP4 - L1 : Angle de la main
Objectif
Dans le cadre de la création d'un système de génération automatique du codage, la troisième étape requise consiste à déterminer la trajectoire de la main. La modélisation de la trajectoire de la main nécessite de prédire sa position, son angle et sa taille par rapport au visage du locuteur pour chaque image de la vidéo.
Approche globale
Dans un premier temps, des experts ont défini les positions des voyelles en fonction d'un visage théorique. Ces positions ont ensuite été décrites par rapport aux 68 points de repère faciaux extraits grâce au système de détection Face landmarks de SPPAS. Par exemple, les coordonnées de la position ‘m', qui correspond aux phonèmes [i], [ã] et [ɔ̃] et se situe près du coin de la bouche, sont calculées comme suit :
Aucune variabilité n'a été introduite dans l'estimation de ces coordonnées. Lorsque la main doit être placée à une position donnée, le bout du doigt cible (index ou majeur, selon la forme de la main) est directement assigné à ces coordonnées préétablies dans l'image correspondante. De la même manière, la taille de la main est toujours proportionnelle à la hauteur du visage et reste constante. La main suit une trajectoire en ligne droite entre les positions, avec une vitesse constante. En revanche, différents modèles d'angle ont été implémentés.
Ce livrable s'attache à décrire les différents modèles implémentés et les valeurs d'angles observées dans des données annotées.
Dans ce document, les valeurs d'angles sont indiquées en degrés dans le cercle trigonométrique comme suit :
90° | | 180° ------- + ------- 0° | | 270° -90°
L'angle de la main est calculé pour les points S0-S9 de la main, comme illustré dans la capture d'écran ci-après.

Description des données
Pour plus d’informations sur les annotations effectuées, voir le livrable WP1 - L4 de ce projet. En résumé, les transitions de position des quatre sessions impliquant cinq locutrices-codeuses ont été annotées manuellement. De plus, pour chaque vidéo du corpus, nous avons automatiquement extrait :
- les 21 points de référence de la main,
- les 68 points de référence du visage (voir WP4 - L2).
Différents modèles d'angles
Modèle 1 : ne varie pas
Dans ce modèle, l'angle de la main a été fixé à 60° dans tous les cas. Cette valeur ne varie jamais.





Modèle 2 : faible variance
Les valeurs des angles de ce modèle ont été établies par des experts du codage. Sans compter la valeur neutre, ce modèle utilise un angle moyen de 71,2° avec un faible écart-type de 9,3°. Ce modèle s'éloigne de la valeur utilisée dans le modèle 1, mais les variations entre les positions sont modérées :
- neutre (poitrine) : 50°
- pommette : 75°
- menton : 67°
- bouche : 73°
- côté du visage : 83°
- gorge : 58°
Modèle 3 : angles mesurés dans un échantillon
Les valeurs des angles de ce modèle ont été établies en sélectionnant des images extraites des vidéos du corpus CLeLfPC. Trois images par position, représentant différentes codeuses et différentes formes de la main, ont été sélectionnées par les experts du projet. La valeur retenue est la moyenne (arrondie). Les valeurs mesurées sont les suivantes :
- 1-b : 53
- 2-b : 73
- 6-b : 57
- 7-b : 63
- 8-b : 62
- 3-c : 64
- 4-c : 69
- 5-c : 52
- 6-c : 51
- 7-c : 59
- 1-m : 55
- 4-m : 56
- 5-m : 62
- 6-m : 39
- 8-m : 70
- 2-s : 73
- 3-s : 87
- 4-s : 90
- 6-s : 80
- 7-s : 85
- 1-t : 48
- 3-t : 52
- 4-t : 42
- 5-t : 57
- 6-t : 44
Sans compter la valeur neutre, ce modèle utilise un angle moyen de 61,8° avec un écart-type de 12,5°. Il est donc plus proche du modèle 1 dans sa moyenne que ne l'est le modèle 2, mais les valeurs d'angles varient plus :
- neutre (poitrine) : 50°
- pommette : 62°
- menton : 59°
- bouche : 56°
- côté du visage : 83°
- gorge : 49°
Résultats
Exemples de vidéos codés



Evaluations
Nous avons évalué l'efficacité des modèles de prédiction de l'angle dans une tâche de décodage de vidéos d'un locuteur, codée en LfPC de manière automatisée. Les modèles 1 à 3 ont été testés pour déterminer lequel est le plus performant en termes de facilité de décodage pour les participants. Cette expérimentation a eu lieu lors du stage annuel de l'ALPC 2024. Pour plus de détails sur le protocole, voir WP6 - L1.
Deux participants (P2 et P6) ont été assignés à cette expérience. Ils devaient décoder des vidéos sans son, dans lesquelles les angles de la main codant les phonèmes étaient différents selon le modèle appliqué. Les vidéos étaient organisées en trois ensembles distincts de cinq phrases chacun, chacun utilisant un modèle différent :
- Ensemble 1 : modèle 1 - valeur fixe d'angle
- Ensemble 2 : modèle 2 - valeur d'angle faiblement variable
- Ensemble 3 : modèle 3 - valeurs fixées après mesures
Le participant P2 obtient de meilleures performances avec le modèle 2, tandis que le modèle 3 semble moins efficace. Pour le participant P6, les résultats favorisent les modèles 1 et 2, tandis que le modèle 3 est également moins performant.
L'analyse détaillée de ces résultats, nous montre que le modèle 2 est significativement le plus robuste, offrant une performance de décodage élevée pour les deux participants. Cela suggère que ce modèle devrait être privilégié. A défaut, il semble préférable de ne pas faire varier l'angle (modèle 1), s'éloignant ainsi des observations faites sur les codeuses du corpus (modèle 3).
Analyse des angles observés dans le corpus
Nous avons collecté et analysé un grand nombre de données pour comprendre comment différents facteurs influencent ces angles. Nous avons extrait 3769 valeurs et, après avoir filtré les données aberrantes, nous avons conservé 3722 valeurs pour notre analyse.
Statistiques par forme de la main
- 1 : Moyenne = 63.37°, Écart-type = 11.85°
- 2 : Moyenne = 64.03°, Écart-type = 10.54°
- 3 : Moyenne = 65.73°, Écart-type = 10.89°
- 4 : Moyenne = 66.25°, Écart-type = 11.50°
- 5 : Moyenne = 62.38°, Écart-type = 10.01°
- 6 : Moyenne = 65.04°, Écart-type = 12.08°
- 7 : Moyenne = 60.59°, Écart-type = 11.59°
- 8 : Moyenne = 60.98°, Écart-type = 9.50°
En observant ces valeurs pour chaque forme utilisée, nous remarquons une grande similarité. Les valeurs moyennes se situent toutes entre 60.59° et 66.25°, et la façon dont ces valeurs fluctuent (leur variabilité) est également très proche. Cela nous amène à penser que la forme de la main n'a pas vraiment d'influence sur l'angle, même si l'on utilise des doigts différents pour certaines formes (l'index pour les formes 1 et 6, le majeur pour les autres).
Statistiques par condition d'enregistrement
- syll : Moyenne = 61.17°, Écart-type = 8.68°
- word : Moyenne = 58.30°, Écart-type = 12.72°
- sent : Moyenne = 64.88°, Écart-type = 10.05°
- text : Moyenne = 66.11°, Écart-type = 10.49°
Les conditions "text" et "sent" montrent des angles plus élevés, tandis que "word" et "syll" sont plus bas. Cela suggère que la condition influence l'angle, probablement en affectant la précision du mouvement. Un codage naturel (sent, text) entraîne un angle plus ouvert qu'un codage à but pédagogique (syll, word). Le débit et l'intention pédagogique semblent donc influencer l'angle.
Statistiques par locuteur
- AM : Moyenne = 63.86°, Écart-type = 12.91°
- CH : Moyenne = 73.80°, Écart-type = 10.41°
- LM : Moyenne = 61.72°, Écart-type = 7.35°
- ML : Moyenne = 56.81°, Écart-type = 5.88°
- VT : Moyenne = 65.60°, Écart-type = 11.10°
Les moyennes des angles varient considérablement entre les locuteurs. CH et VT ont des angles plus élevés, tandis que ML a l'angle le plus bas. Il existe donc un effet du locuteur.
Dans le contexte de ce projet, nous avons choisi AM comme référence en raison de sa stabilité et de sa clarté, validées par des acteurs de terrain. Nous avons comparé les valeurs d'AM avec celles des autres locuteurs pour chaque position de main :
Position | Moyenne AM | Écart-Type AM | Moyenne Autres | Écart-Type Autres | Différence Moyenne | Différence Écart-Type |
---|---|---|---|---|---|---|
b | 63.35 | 3.78 | 64.48 | 8.46 | -1.13 | -4.68 |
c | 58.62 | 5.29 | 61.85 | 7.75 | -3.23 | -2.46 |
m | 62.45 | 4.38 | 62.61 | 8.80 | -0.16 | -4.42 |
s | 75.67 | 6.77 | 67.52 | 11.22 | +8.15 | -4.45 |
t | 38.96 | 5.94 | 56.20 | 8.84 | -17.24 | -2.90 |
Pour évaluer la représentativité des données d'AM, nous avons effectué une analyse comparative avec les données des autres codeuses, en nous basant sur les informations présentées dans le tableau :
- s : Angle plus élevé pour AM (75.67° vs 68.49°), moins de variabilité.
- t : Angle beaucoup plus bas pour AM (38.96° vs 54.02°).
- b, c, m : Variations faibles, valeurs légèrement réduites pour AM.
Ainsi, en moyenne, l'écart entre AM et les autres locuteurs est d'environ 6°. AM est proche des autres pour les positions b, c, m, mais a un angle plus élevé pour s et beaucoup plus faible pour t. AM a également moins de variabilité que les autres, ce qui peut expliquer en partie la préférence pour son codage.
En conclusion, AM est une bonne référence, sauf pour les positions s et t, où un ajustement pourrait être nécessaire.
Statistiques par position de la main
- b : Moyenne = 64.29°, Écart-type = 7.87°
- c : Moyenne = 61.34°, Écart-type = 7.37°
- m : Moyenne = 62.58°, Écart-type = 8.12°
- s : Moyenne = 68.49°, Écart-type = 11.07°
- t : Moyenne = 54.02°, Écart-type = 9.96°
L'angle varie évidemment selon la position : s (68.49°) et b (64.29°) sont plus élevés, t (54.02°) est plus bas, et c (61.34°) et m (62.58°) sont intermédiaires. La position de la main est le facteur majeur qui influence l'angle.
Analyse de l'angle du visage
Une série de tests statistiques a été effectuée pour analyser la relation entre l'angle du visage et l'angle de la main. Voici les résultats obtenus :
- Test T : t = -83.757, p < 0.00001
- Régression linéaire : y = 0.861x - 14.017, R² = 0.045
- Corrélation de Pearson : 0.211
Il existe une relation faible mais significative entre l'angle du visage et celui de la main. Pour mieux comprendre comment l'inclinaison du visage affecte l'angle de la main, nous avons divisé les données en quatre groupes en fonction de l'angle du visage. Cette méthode nous permet de voir si chaque groupe, représentant une inclinaison différente du visage, a une influence distincte sur l'angle de la main. Les résultats sont les suivants :
- Groupe 1 (<= 88°) : Visage incliné à gauche (88°). Réduire l'angle de la main de 3°.
- Groupe 2 (89° à 92°) : Visage presque droit (90°). Ne pas modifier l'angle de la main.
- Groupe 3 (93° à 95°) : Visage légèrement incliné à droite (92°). Augmenter l'angle de la main de 2°.
- Groupe 4 (> 95°) : Visage fortement incliné à droite (95°). Augmenter l'angle de la main de 2°.
Ces ajustements permettent de compenser l'influence de l'inclinaison du visage sur l'angle de la main, assurant ainsi un plus grand réalisme dans le codage.
Conclusion de l'analyse
Cette étude a montré que plusieurs facteurs influencent l'angle de la main en LfPC. La position de la main est évidemment particulièrement important. Nous avons également observé que l'inclinaison du visage affecte significativement la valeur de l'angle de la main. Nous avons identifié AM comme codeuse de référence stable, bien que des ajustements soient nécessaires pour les positions "s" et "t". Enfin, nous avons observé que le codage à but pédagogique tend à présenter des angles plus fermés, tandis que le codage spontané favorise des angles plus ouverts, reflétant une différence dans le débit et l'intention de communication.
Nouveaux modèles possibles
Sur la base des analyses faites précédemment, il est possible de définir les valeurs à utiliser selon le contexte et les corrections à appliquer si la tête est inclinée.
Contexte pédagogique
Dans un contexte d'enseignement du codage, on privilégie des valeurs stables et proches de la moyenne de la codeuse AM. Comme vu plus haut, il est toutefois pertinent d'apporter une correction pour 't' et 's'. Il en résulte les valeurs suivantes :
- pommette : 63°
- menton : 55°
- bouche : 58°
- côté du visage : 70° (légère réduction pour se rapprocher de la moyenne des codeurs)
- gorge : 50° (forte augmentation pour éviter un angle trop bas et rester plus lisible)
Ce système a donc une valeur moyenne d'angle de 59,2°, qui est quasiment celle du modèle 1, avec un écart-type très faible de 8,1°, qui est assez proche du modèle 2.
Contexte naturel
Dans un contexte où le codage est plus naturel, on garde AM comme référence :
- pommette : 64°
- menton : 60°
- bouche : 64°
- côté du visage : 75° (légère réduction pour se rapprocher de la moyenne des codeurs)
- gorge : 50° (augmentation pour éviter un angle trop bas et rester plus lisible)
Ce système a donc une valeur moyenne d'angle de 62,6°, qui est proche de celle du modèle 1, et en gardant un écart-type faible de 8,5°, qui est assez proche du modèle 2 également.
Correctif avec l'inclinaison du visage
Notre analyse montre que l'angle de la main subit une influence lorsque le visage n'est pas parfaitement vertical. Il est donc souhaitable d'appliquer une correction de l'angle de la main lorsque l'angle mesuré du visage n'est pas de 90°. Voici les règles que nous pouvons appliquer :
- Si l'angle du visage est inférieur ou égal à 88° : réduire l'angle de la main de 3 degrés.
- Si l'angle du visage est supérieur ou égal à 93° : augmenter l'angle de la main de 2 degrés.
Proposition d'un modèle unifié
Compte-tenu des évaluations des modèles précédents et des modèles possibles élaborés à partir des observations du corpus, nous proposons un "modèle 4" unifié, qui rassemble l'ensemble des qualités qui semblent requises pour un décodage facilité. Ce modèle implémente les angles suivants :
- pommette : 63°
- menton : 57°
- bouche : 60°
- côté du visage : 70° (légère réduction pour se rapprocher de la moyenne des codeurs)
- gorge : 50° (forte augmentation pour éviter un angle trop bas et rester plus lisible)
Exemple de vidéo codée avec ce modèle

Accès et utilisation du système
Les modèles proposés sont distribués sous les termes de la licence GNU GPL v3. Ils font partie du logiciel SPPAS. Les modèles 1, 2 et 3 sont disponibles depuis la version 4.22, tandis que le modèle 4 a été intégré dans la version 4.25 : https://sppas.org/.
Pour obtenir le codage de ce système sur la démo proposée dans SPPAS, il est possible d'utiliser l'interface graphique de SPPAS, ou la commande en ligne suivante :
> python sppas/bin/cuedspeech.py -I demo/demo.mp4 -l fra --createvideo=true --handangle=4
L'option "handangle" permet de choisir le numéro du modèle comme décrit dans ce document. Cette commande permet de créer trois fichiers : deux fichiers de description au format XML qui contiennent l'ensemble des informations prédites par le système, ainsi que la vidéo codée automatiquement.
Contributeurs
Développement logiciel : Brigitte Bigi (LPL)
Analyse des données : Brigitte Bigi (LPL)
Expertise du codage : Datha
À propos
- Rédaction du document : Brigitte Bigi
- Licence du document : GNU documentation libre - FDL 1.3
- Copyright 2025 Brigitte Bigi, CNRS, Laboratoire Parole et Langage, France
- URL de ce document : https://auto-cuedspeech.org/wp4l1.html
- Dernière mise à jour : 31 mars 2025