• Aucun résultat trouvé

Modélisation et prétraitements

Dans le document The DART-Europe E-theses Portal (Page 95-98)

IV.4 Matrice de confusion résultat du processus de fusion (en %)

III.3.1 Modélisation et prétraitements

a) Modélisation

FIG. III.5: Notre système de coordonnées et la modélisation liée.

Afin de rendre notre système de reconnaissance indépendant de la position de l’utilisateur par rapport au robot, nous avons défini notre vecteur d’observation comme étant la position des mains relativement à la tête dans un repère sphérique centré sur la tête et orienté suivant ce que nous appellerons « le plan de l’homme » : les axes −→y et −→z de notre système de coordonnées forment ce plan, tandis que l’axe−→x est orienté vers l’avant de l’homme, orthogonalement au plan. Nous obtenons alors à chaque instanttle vecteur d’observation dansR7 suivant :

Ot ={ρ(R), θ(R), ϕ(R), ρ(L), θ(L), ϕ(L), DHR−HL},

où ρ(.), θ(.), ϕ(.) sont les coordonnées sphériques des mains droite (R) et gauche (L), tandis queDHR−HLest la distance entre les deux mains. Il est à noter que l’orientation et la forme des mains n’est pas considérée ici. La raison est que ces données, bien que très utiles lors du suivi, ne sont pas assez fiables pour la reconnaissance, surtout dans des cas extrêmes d’éclairage (trop sombre ou trop clair). Le plan de l’homme est défini de la manière suivante :

– il est perpendiculaire au sol, c’est-à-dire que l’axe−→z est orthogonal au sol, – il passe par le centre de la tête,

– il est coplanaire à la droite formée par le couple main gauche - main droite durant la posi-tion de repos (ceci définit l’angleθH qui représente son orientation par rapport au repère monde, c’est-à-dire par rapport à un repère fixe indépendant du robot et de l’homme).

Il est à noter que, l’orientation de ce plan (θH) étant définie durant la position de repos (c’est-à-dire, en réalité, à la première observation d’une séquence), l’homme n’est plus censé bouger durant l’exécution de son geste (ou uniquement en translation). Cette limitation est imposée par le manque de données auquel doit faire face cette modélisation : si nous disposions, par exemple,

III.3IMPLÉMENTATION 91 de la position des jambes de l’utilisateur ou d’un suivi de son buste, elle n’aurait pas lieu d’être et l’orientation du plan de l’homme pourrait être recalculée à chaque pas de la reconnaissance.

Malheureusement, si une telle détection de jambes est possible sur certains robots (comme Jido) grâce à un balayage laser, elle ne l’est pas sur d’autres et notamment sur un robot humanoïde.

Mais cette limitation ne restreint que les mouvements de l’homme et il est tout à fait possible au robot de bouger durant l’exécution d’un geste sans perturber la reconnaissance (tant que le suivi réussit à conserver ses cibles et que le robot conserve une bonne approximation de sa position dans l’environnement). La figure III.5 schématise ce système de coordonnées, les ellipses et le cercle représentant la projection du résultat du suivi.

(t-1) (t)

FIG. III.6: Structures utilisées pour la reconnaissance par DBN : modèles M G1utilisant uni-quement les données en provenance du module GEST - gauche - et M G2 utilisant également les données issues du moduleGAZE- droite -.

La figure III.6 montre la structure des DBNs utilisés actuellement pour la reconnaissance de gestes sur nos robots. Le modèle de gauche modélise la reconnaissance utilisant les données en provenance du moduleGEST seul, tandis que celui de droite utilise en plus les données is-sues du module GAZE, c’est-à-dire l’orientation du visage. Dans ce second modèle, les deux variables supplémentaires, P an et P an2, représentent deux mesures de l’orientation panora-mique du visage. P an correspond ainsi à la variable τ définie dans la sous-section II.4.1 du chapitre précédent. La seconde mesure, P an2, est le résultat d’une heuristique exploitant la correspondance des modèles utilisées dans les deux modules de suivi (GEST et GAZE) afin d’en extraire une orientation horizontale grossière du visage. Ces modèles ont été prototypés empiriquement.

b) Discrétisation

Indépendamment de la représentation (HMM ou DBN), rappelons que nous utilisons des espaces d’observations discrets. Étant donné que nos données en entrée sont pour leur part continues, il nous reste à choisir un algorithme chargé d’effectuer une discrétisation la plus

efficace possible, c’est-à-dire un classifieur. En effet, déterminer simplement les classes via des bornes réparties uniformément impliquerait soit un nombre de classes très élevé et peu représentatives, soit un nombre de classes plus raisonnable, mais peu discriminantes et mal réparties.

L’un des algorithmes les plus simples est celui desk-moyennes (en anglais "k-means") [Ka-nungo et al., 2002]. Étant donné les valeurs minimales, maximales et un nombre de classes (en anglais "clusters") fixés a priori, cet algorithme de classification supervisée permet de définir les bornes entre ces classes. Malheureusement, le processus à modéliser est souvent complexe et on ne connaît pas précisément le nombre de classes. On a alors seulement un ordre de gran-deur de celui-ci, à moins de se fixer une limite afin de permettre un apprentissage du modèle et une reconnaissance en temps raisonnable. Dans ce cas, il faut recourir à des algorithmes de classification non-supervisées.

Nous avons exploité ici les cartes de Kohonen [Kohonen, 1984] dont l’utilisation dans un contexte proche a été proposé par G. Infantes durant sa thèse. Cet algorithme permet une dis-crétisation efficace en déterminant la taille de l’espace des observations et leur géométrie, c’est-à-dire respectivement la taille de chacune de ces classes et le nombre de classes par variable observable, à travers une carte auto-organisée. Nous utilisons pour notre part une grille bi-dimensionnelle, ce qui est l’utilisation courante et la plus adaptée dans notre cas étant donné notre nombre de classes limité et la taille de nos corpus (à noter que la dimensionnalité de la grille n’a rien à voir avec celle des vecteurs à classer). Dans ce cas, l’algorithme consiste, dans un premier temps, à remplir cette grille de taille prédéterminée (s×s) avec des vecteurs (ou valeurs dans le cas d’une observation unidimensionnelle) aléatoires, chaque case correspondant au final à un vecteur. En considérant que deux vecteurs sont voisins s’ils sont dans deux cases contigües, la phase d’auto-organisation de l’algorithme se décompose comme suit :

1 . pour chaque vecteur vi à classifier, on recherche la case cj correspondant au vecteur le plus proche (par exemple selon une distance euclidienne) devi,

2 . ce vecteur se rapproche alors devi selon la formulecj ←cj +ηvi, avecη <1,

3 . chaque vecteurckdu voisinage se rapproche également (mais dans une moindre mesure) devi:ck ←ckvi, avecη < η <1.

Ainsi, chaque vecteur à classifier réorganise la carte, puis l’ensemble du processus est réitéré (le nombre de ces itérations est fonction du nombre de vecteurs vi) avant la stabilisation des valeurs des cases : la carte est alors dite organisée. Les vecteurs de cases proches sont alors proches entre eux, et on obtient donc une relative continuité lorsque l’on suit un voisinage.

Une fois la carte organisée, on parcourt une dernière fois les vecteurs vi à classifier afin que chacun d’eux « vote » pour la case qui contient le vecteur le plus proche. On peut alors construire le paysage correspondant aux scores obtenus pour chaque case en se servant de ce score comme altitude. Les centres des classes seront alors les sommets de ce paysage (certains sommets étant éliminés s’ils sont trop proches d’un autre plus haut qu’eux-mêmes) et chaque classe est ainsi définie par le vecteur sommet qui est appelé vecteur caractérisant de la classe.

Ainsi, lors d’une reconnaissance, un nouveau vecteur sera classifié via cette carte grâce à un simple calcul de distance aux différents sommets sélectionnés : il fera alors partie de la classe dont le vecteur caractérisant est le plus proche. Il est à noter que la taille de la grille est un

III.3IMPLÉMENTATION 93 facteur déterminant de l’obtention de bon résultats. En effet, si certains scores sont nuls, le paysage construit perd tout son sens. D’après [Kohonen, 1984], la taille de la grille doit être au moins 500 fois plus petite quecard(vi). Dans notre application, nous aboutissons généralement à des espaces de dimension 4 à 8. Le tableau III.1 énumère les paramètres de notre système de reconnaissance de gestes par DBN dont les valeurs associées ont été estimées empiriquement pour les unes et obtenus après optimisation (de plus amples explications sur ce processus seront données en sous-section III.4.4) pour les autres.

Symbole Signification Valeur

N nombre de particules du filtre 675

- taille de la grille de Kohonen 5×5

(η;η) taux d’adaptation de Kohonen (0,146; 0,105)

DM nombre de gestes identiques successifs nécessaires

à la validation d’une reconnaissance 6

N minT min) poids normalisés et cumulés minimum

pour valider une reconnaissance (0,8; 0,01) TAB. III.1: Valeurs des paramètres principaux de la reconnaissance de gestes par DBN.

Dans le document The DART-Europe E-theses Portal (Page 95-98)