Vous êtes sur la page 1sur 9

Suivi Statistique Simultané des Parties du Corps pour des Interactions

Bi-Manuelles.

Simultaneous Body Parts Statistical Tracking for Bi-Manual Interactions.

S. Carbini, J.E. Viallet et O. Bernier


France Télécom R&D/TECH/VIA
Technopole Anticipa, 2 Avenue Pierre Marzin
22307 Lannion Cedex - France
{sebastien.carbini, jeanemmanuel.viallet, olivier.bernier}@rd.francetelecom.com

Résumé as a body reference, hands are detected and tracked as the


user moves them towards a display he or she interacts with.
Les interfaces homme-machine basées sur la vision par or-
Thus the user may naturally points objects with one hand
dinateur offrent l’avantage de laisser l’utilisateur intera-
and select them with the other. The system does not require
gir librement. Pour cela, il faut pouvoir reconnaı̂tre et
any user specific learning stage or calibration or specific
suivre une ou plusieurs parties du corps de l’utilisateur
backgrounds and allows other persons presence behind the
et analyser ses mouvements. Dans le cadre des inter-
interacting user.
faces, les mains représentent notre moyen naturel d’agir
sur le monde et le visage est une partie du corps car- Keywords
actéristique. La technique présentée ici permet, à par-
tir d’une caméra stéréo, de suivre simultanément la posi- Non intrusive human computer interface, pointing gesture,
tion 3D des deux mains et du visage et d’estimer la direc- bi-manual interaction, large display, face and hands detec-
tion pointée par l’axe tête-main. Lorsqu’il arrive dans le tion, body parts tracking.
champ de la caméra, le visage de l’utilisateur est automa-
tiquement détecté puis suivi. En prenant le visage comme 1 Introduction
point de repère pour le corps, les mains sont détectées Les interfaces homme-machine basées sur la reconnais-
et suivies lorsque l’utilisateur les avance en direction de sance de gestes par vision par ordinateur permettent de
l’écran. L’utilisateur peut ainsi pointer naturellement des laisser l’utilisateur interagir librement. De nombreuses
objets avec une main et les sélectionner en avançant l’autre études dans ce domaine portent sur la reconnaissance
main. Le système ne nécessite aucun apprentissage et d’activités humaines caractérisées par des gestes, des
aucune calibration spécifique à l’utilisateur et fonctionne démarches et des expressions faciales. Depuis le système
avec un fond quelconque même lorsque d’autres personnes “Put-That-There” de Bolt [2], on sait que parmi l’ensemble
sont présentes derrière l’utilisateur. des gestes que les hommes accomplissent lorsqu’ils com-
muniquent, les gestes de pointage sont facilement in-
Mots Clef
terprétables et peuvent conduire à des interfaces homme-
Interface homme-machine non intrusive, geste de pointage, machine naturelles et puissantes.
interaction bi-manuelle, grand écran, détection de visage et L’être humain dispose de plusieurs moyens pour désigner
de mains, suivi des parties du corps. des objets dans l’espace. On peut pointer en utilisant
un objet comme une baguette [4] mais dans ce cas, em-
Abstract ployer des techniques de vision par ordinateur présente
Computer vision based man machine interfaces allows the un intérêt limité car il est facile de placer des capteurs
user to freely interact. In order to do so, it is necessary sans fil à l’intérieur de l’objet. D’autres études emploient
to detect and track user’s body parts and to analyze their comme convention de pointage la direction du regard [1]
movements. Hands are our most common mean of inter- ou l’orientation de la tête [13], mais l’intentionnalité est
action with the world. The face is the body part the most difficilement détectable. De plus, dans [1], les auteurs tra-
characteristic of a human being. This paper deals with vaillent avec une caméra cadrée sur la tête et dans [13] les
the simultaneous 3D position tracking of the face and both auteurs utilisent un capteur relié par un fil à la machine,
hands, to estimate the direction of pointing gestures. As ce qui limite dans les deux cas la liberté de déplacement
the user enters the field of view of a stereo camera, the de l’utilisateur. Dans [11], les auteurs utilisent la di-
face is automatically detected and tracked. Using the face rection de la main dans le cadre d’une application avec
caméra portée par l’utilisateur. Dans [15, 10], la direc-
tion du bras tendu est utilisée, mais cette convention fa-
tigue l’utilisateur rapidement. Dans [6, 13], les auteurs
utilisent la direction de l’avant-bras, convention moins fati-
gante du point de vue de l’utilisateur. Dans [6], la direction
de l’avant-bras est obtenue à partir d’un modèle 3D articulé
de la partie supérieure du corps qui implique une phase
d’initialisation (bras en croix) préalable à chaque utilisa- Figure 1: Dispositif expérimental: (C) caméra, (E) écran,
teur et dont la complexité du modèle se traduit par une la- (P) projecteur, (ST) lame semi-transparente. A gauche:
tence qui pénalise l’interaction. Dans [13], les auteurs ob- caméra placée au dessus de l’écran à 45 degrés, A droite:
tiennent une précision de pointage plus faible avec l’avant- caméra virtuellement placée au milieu de l’écran grâce à la
bras qu’avec l’axe tête-main. La convention oeil-doigt [13] lame semi-transparente.
est utilisée lorsque l’on souhaite pointer précisément un ob-
jet. Nous avons choisis d’utiliser cette dernière convention
en l’approximant par l’axe tête-main.
Pour la reconnaissance de gestes de pointage devant Cette configuration est notamment utilisée pour favoriser le
un grand écran, certaines études utilisent deux caméras contact visuel entre un utilisateur (vu par la caméra placée
séparées [4] mais la plupart des études utilisent une caméra au centre de l’écran) et son interlocuteur (dont l’image
stéréo [6, 13, 10]. L’utilisation d’une caméra stéréo per- est aussi au centre de l’écran). Elle présente l’avantage
met de s’affranchir des fastidieuses étapes de calibration d’éliminer tout ombrage et d’obtenir des écrans de très
nécessaires avec deux caméras. Par ailleurs, la caméra grande taille, mais elle nécessite un grand espace. Par
stéréo nous permet d’avoir une information 3D sur la plu- ailleurs, comme le centre d’intérêt de l’interaction se situe
part des pixels et nous aide à détecter les mains puis à le plus souvent au centre de l’écran, l’utilisateur pointe
suivre la position 3D des parties du corps. Dans [9], avec fréquemment en direction de la caméra et cela se traduit
une caméra monoculaire, les auteurs utilisent un modèle sur l’image par une main qui occulte le visage. Ce cas
complexe du corps qui inclut les bras et permet de trouver d’occultation est bien géré par le système (c.f. §6.2) mais
les mains, mais impose un fond connu et des bras d’une diminue quand même la précision et la robustesse générale.
couleur différente du buste.
Dans l’étude présentée ici, nous estimons en temps réel 3 Architecture
la direction pointée par l’axe oeil-doigt en détectant et en
suivant automatiquement les positions 3D de la tête et des
mains obtenues à partir d’une caméra stéréo. A partir de
la position de la tête et des contraintes morphologiques,
on définit une zone de repos et une zone d’action dans
laquelle on recherche les mains et on détecte l’intention
de pointage. La première main spontanément avancée par
l’utilisateur est détectée et sert au pointage d’un objet, alors
que la seconde est utilisée pour la sélection de l’objet ou
pour contrôler un axe supplémentaire dans des interactions
3D.

2 Dispositif expérimental
L’utilisateur interagit, dans le champ de la caméra, entre
1m et 2,5m d’un grand écran de 2x1,7m. L’image est
obtenue par un projecteur placé au plafond et possédant
une courte focale afin d’éviter les ombres sur l’écran. On
emploie une caméra stéréo (C) (Figure 1-gauche) placée au
dessus de l’écran et avec un angle de 45 degrés de même
que dans [6]. Le placement à 45 degrés de la caméra per- Figure 2: Les différents états du système de reconnaissance
met d’obtenir la plus grande excursion possible sur l’image de geste de pointage.
lors des déplacements horizontaux ou verticaux de la main,
alors qu’une caméra placée sur le coté [13, 10] limite
l’excursion horizontale et donc la précision. Un autre dis- Lorsque aucun utilisateur n’est détecté, le système cherche
positif a été expérimenté (Figure 1-droite) dans lequel la un visage (Figure 2). Une fois un visage trouvé, on effectue
caméra est virtuellement placée au centre de l’écran avec un suivi et le détecteur de visage est désactivé (nous nous
un angle de 90 degrés grâce à une lame semi-transparente. intéressons uniquement aux interactions avec une seule
personne). Le système cherche alors une première main. ne peut être atteinte par une main compte tenu des con-
La première main détectée est suivie et est utilisée pour traintes morphologiques. Ces zones sont définies par rap-
estimer la direction pointée. Le système cherche ensuite port au visage ce qui permet de garder un comportement
une seconde main qui sera utilisée pour sélectionner ou du système identique lorsque l’utilisateur se déplace dans
contrôler un troisième axe lors d’interactions 3D. Quand le champ de la caméra.
le modèle de tête est perdu, le système le détecte au- Lorsque la seconde main est utilisée pour sélectionner un
tomatiquement (c.f. §6.1) et se réinitialise même si les objet pointé, le même découpage de l’espace est utilisé.
modèles de mains sont encore suivis, car la tête est indis- Lorsque cette main contrôle un axe de zoom 3D, un autre
pensable pour estimer la direction pointée et donc interagir. découpage de l’espace est réalisé. La seconde main n’est
Le système fonctionne automatiquement : aucune calibra- pas détectée tant qu’elle reste près du corps (Figure 4-a)
tion et aucun apprentissage spécifique à l’utilisateur n’est puis elle est détectée lorsqu’elle est avancée mais reste in-
nécessaire. De plus, le système est robuste à des variations active tant qu’elle est baissée (Figure 4-b); c’est sa zone de
raisonnables de luminosité et à la présence de teinte-chair repos. Une fois levée, la seconde main, en avançant ou en
sur les vêtements ou dans le fond. reculant, permet de contrôler de façon continue un axe (par
exemple le zoom Figure 4-c,d), ce qui constitue sa zone
4 Détection des parties du corps d’action.
4.1 Découpage de l’espace corporel
Lors d’une interaction homme-machine, l’utilisateur fera
des gestes sans s’adresser forcément à la machine. Pour
détecter l’intentionnalité de l’utilisateur, l’espace autour du
corps est divisé en trois zones (Figure 3-a).

Figure 4: Découpage de l’espace corporel de la seconde


main: (a),(b): Zone de repos, (c),(d): Zone d’action ((c):
Zoom arrière, (d): Zoom avant)

4.2 Calcul des indices


Le suivi et la détection des parties du corps (Figure 3-
b) utilise des indices de teinte-chair et de position 3D.
La teinte-chair (Figure 3-c) est obtenue grâce à un fil-
tre couleur assez large qui a été entraı̂né au préalable sur
plusieurs utilisateurs et sous plusieurs éclairages. Le filtre
est une table YUV sous échantillonnée. La position 3D est
donnée par la caméra stéréo grâce à un calcul de disparité
Figure 3: (a) Découpage de l’espace corporel, (b) Image de
(Figure 3-d). La disparité ne peut pas être déterminée pour
la caméra, (c) Image teinte-chair, (d) Image disparité
des zones de couleurs homogènes ou pour des zones qui
présentent une grande différence de profondeur. Dans les
Les contraintes morphologiques restreignent la position de autres cas, la disparité permet de connaı̂tre précisément la
la main à un sphéroı̈de centré approximativement sur la position de chaque pixel dans un repère 3D par rapport à
tête. L’espace en dehors de ce sphéroı̈de est appelé zone la caméra. En plus de ces indices, le mouvement est utilisé
de non-détection (3). Il est raisonnable d’admettre qu’une pour détecter le visage et les mains. Le mouvement est
personne qui interagit avec un grand écran déplacera sa obtenu par différence avec une image de fond. Le fond ne
main devant lui et à une distance suffisamment éloignée fait pas l’objet d’apprentissage mais consiste seulement en
de la tête (plus de 30 cm), ce qui restreint le volume que une image mise à jour en permanence avec les nouvelles
nous appelons zone d’action (2) à l’espace délimité par une images provenant de la caméra par l’équation:
sphère et un plan parallèle à l’écran. Enfin, en retrait de Ifnond = αIcamera
n
+ (1 − α)Ifn−1
ond
ce plan, se trouve la zone de repos (1). La zone de repos
permet à l’utilisateur de ne pas interagir en permanence. avec Ifnond,camera respectivement l’image de fond et de la
La zone d’action lui permet de traduire son intentionnalité caméra au temps n et α est choisi de telle manière que
et d’interagir avec le système. La zone de non-détection quelqu’un d’immobile intègre rapidement le fond.
4.3 Détection du visage problème, les pixels de ce bras sont détectés (c.f. §4.5) et
Le visage est une partie du corps ayant une variance de retirés de l’espace de recherche pour la seconde main.
forme inter-personne relativement stable et peut donc être Le système fonctionne aussi bien avec les droitiers qu’avec
détecté par une méthode neuronale. Nous utilisons le les gauchers. On part de l’hypothèse que l’utilisateur
détecteur de visage par réseau de neurones de Feraud dont commence par pointer un objet ou un centre d’intérêt sur
les performances sont détaillées dans [8]. Ce réseau de l’écran avant de le sélectionner ou d’agir dessus avec sa
neurones a été entraı̂né pour détecter des visages présentant deuxième main. Ainsi, la première main détectée est
des rotations latérales, hors du plan de l’image, jusqu’à utilisée pour estimer la direction pointée. La seconde main
50 degrés. Le réseau accepte en entrée une imagette de est utilisée pour la sélection ou pour contrôler un troisième
15x20 pixels et répond en sortie si l’entrée est un visage ou axe pour des interactions 3D (Figure 4).
non. Lors de la conception du réseau, un compromis entre 4.5 Détection du bras
le taux de détection et le taux de fausse alarme doit être
trouvé. Un très faible taux de fausse alarme a été privilégié Durant cette phase de détection, on ne cherche pas de con-
afin de ne déclencher que sur des visages. Par la suite, le tours précis mais une zone qui contient tous les pixels du
suivi du visage est initialisé avec le résultat de la détection. bras afin de les retirer de l’espace de recherche de la sec-
Pour accélérer le procédé de détection, l’image est divisée onde main. Pour détecter les pixels du bras, on initialise
une zone avec les pixels de teinte-chair de la main (Fig-
ure 6). Cette zone subit une première étape de croissance
durant laquelle on rajoute à chaque itération les pixels de
teinte-chair voisins et situés devant la tête, tant que la zone
croı̂t. Puis une seconde étape de croissance complète la
zone, à chaque itération, avec les pixels voisins continus en
profondeur et situés devant la tête, tant que la zone croı̂t.

Figure 5: Sur l’image divisée en zones rectangulaire, les


zones avec suffisamment de teinte-chair en mouvement
sont testées séquentiellement pour trouver un visage.

en 16 zones rectangulaires (Figure 5). A chaque nou-


velle image, le réseau balaye une seule zone à différentes
échelles. Les zones candidates au test doivent contenir
Figure 6: Détection du bras: à gauche l’image rvb
suffisamment de teinte-chair en mouvement. Un procédé
(carré:tête, cercle:main), à droite le bras détecté
de sélection de zones s’assure que toutes les zones candi-
dates soient testées avant de tester à nouveau une zone.
4.4 Détection des mains
A la différence du visage, une main a une forme très vari-
5 Suivi des parties du corps
able et est donc difficile à détecter dans toutes ses config- Dans une version précédente de l’algorithme de suivi
urations notamment à faible résolution. Une fois le vis- [5], le suivi était réalisé d’abord pour la tête puis pour
age repéré, la disparité permet de déterminer sa position en la première main en retirant les pixels de la tête des
3D et celui-ci sert alors de point de repère pour rechercher observations. Pour la seconde main, les pixels de la tête et
la main. On fait l’hypothèse que seules les mains de de la première main étaient retirés. Chacune des parties du
l’utilisateur sont dans la zone d’action. On considère corps était suivie successivement et indépendamment les
comme zones candidates de main uniquement les zones unes des autres. Pour chacun des trois suivis, il y avait un
contenant assez de pixels de teinte-chair en mouvement et modèle pour la partie du corps et un modèle pour le reste
situées dans la zone d’action. Pour la détection de la sec- de l’image. Les modèles étaient optimisés deux à deux
onde main, on procède de même en retirant de l’espace de successivement.
recherche les pixels de la première main. Cependant, la Dans les travaux présentés ici, les différentes parties
détection de seconde main peut se déclencher par erreur du corps sont suivies simultanément et de façon in-
sur le bras de la première main si il est nu ou revêtu de terdépendante. Chaque partie du corps possède un modèle
vêtement teinte-chair (le bras représente alors une seconde et il n’y qu’un seul modèle pour le reste de l’image. Ces
zone de teinte-chair en mouvement dans la zone d’action quatre modèles sont optimisés simultanément.
et plus rien ne le différencie d’une main). Pour éviter ce
5.1 Modèles statistiques de suivi
Le suivi est effectué par un algorithme EM [7] et
tente d’expliquer les observations résultant des étapes de
prétraitement avec des modèles statistiques. On ne con-
sidère comme observations que les pixels de teinte-chair
situés dans la zone d’action ou de repos. Sur la Figure 7, le
vêtement apparaı̂t dans les observations car il est de teinte-
chair. En revanche la personne qui bouge dans le fond
Figure 7: A gauche: l’image de la camera (rectan-
n’apparaı̂t pas dans les observations car elle n’est pas dans
gle:tête, cercle:main1, croix:main2), A droite: observa-
l’espace corporel de l’utilisateur qui interagit. Si cette per-
tions attribuées à l’un des 4 modèles en fonctions de leurs
sonne met ses mains dans l’espace corporel de l’utilisateur
probabilités (bleu:tête, rouge:main1, vert:main2, gris:rejet,
(Figure 3-a), elles ne seront pas détectées car les deux
blanc: pixels ignorés dans EM).
mains de l’utilisateur ont déja été détectées. Chaque ob-
servation est un vecteur:

Xi = xi , y i , z i , u i , v i 5.2 Probabilités des modèles
Avec i variant de 1 à N La probabilité d’une observation Xi pour chacun des
xi , y i , z i les coordonnées du pixels modèles est donnée par:
et u i , vi la chrominance du pixel P (Xi /i ∈ r) = Hr (ui , vi )Ur (xi , yi , zi )
dans l’espace couleur Y U V. P (Xi /i ∈ t) = Ht (ui , vi )Gt (xi , yi , zi )Et (yi )
P (Xi /i ∈ m1) = Hm1 (ui , vi )Gm1 (xi , yi , zi )Em1 (zi )
Quatre modèles statistiques simples sont utilisés
P (Xi /i ∈ m2) = Hm2 (ui , vi )Gm2 (xi , yi , zi )Em2 (zi )
(paramètres notés θ) pour lesquels on fait l’hypothèse que
les erreurs sur x, y, z, u et v sont décoréllées. Où Hr , Ht , Hm1 et Hm2 sont respectivement les his-
Pour la tête les paramètres du modèle sont: togrammes couleur des modèles rejet, tête, première main
  et seconde main; Ur est une loi uniforme; Gt , Gm1 et
xt Gm2 sont des gaussiennes 3D centrées sur les modèles tête,
 yt  première main et seconde main; Et , Em1 et Em2 des fonc-
θt =  
 zt  tions exponentielles associées aux modèles tête, première
Ht main et seconde main.
La probabilité d’appartenir à la classe rejet est donnée sim-
Et pour les mains: plement par un histogramme couleur multiplié par une loi
    uniforme. La tête et les mains sont considérées comme des
xm1 xm2 boules de teinte-chair modélisées par des gaussiennes 3D;
 ym1   ym2  pour la tête cette gaussienne s’exprime par:
θm1 =  
 zm1  et θm2 =  zm2


(x −x ) 2 +(y −y )2 +(z −z )2
Hm1 Hm2 1 − i t i
2
t i t
Gt (xi , yi , zi ) = √ e 2σt

( 2πσt )3
Le dernier modèle est la classe rejet définie pour le reste
de l’image. Il possède uniquement un histogramme Hr vec σt relatif à la taille de la tête. Les gaussiennes pour les
comme paramètre. Les parties du corps possèdent comme mains s’exprime de la même manière.
paramètres la position 3D de leur centre (x, y, z) et un his- Lorsque l’utilisateur est torse nu ou avec un vêtement
togramme couleur H. Les histogrammes couleur sont nor- teinte-chair, le modèle de la tête peut dériver sur le torse.
malisés comme des probabilités (somme des composantes L’exponentielle de la tête Et a été introduite pour donner
égale à 1). Les histogrammes des parties du corps sont plus d’importance aux pixels situés en hauteur et dépend
initialisés à la détection avec les pixels à l’intérieur du donc de yi (l’axe des y étant dirigé vers le bas):
cadre de leur modèle. L’histogramme de la classe re- Et (yi ) = τt e−λt (yi −yref )
jet est réinitialisé à chaque nouvelle détection et calculé
comme complément aux parties du corps détectées dans avec τt le paramètre de normalisation de l’exponentielle
l’espace des observations. Cet histogramme ne représente tête, λt correspondant à une distance caractéristique de
pas l’ensemble du fond de l’image, mais uniquement les 20cm et yref la hauteur maximum de la tête admise.
pixels de teinte-chair dans l’espace du corps n’appartenant De même, lorsque le bras est nu ou avec un vêtement de
ni à la tête ni aux mains (vêtement teinte-chair, avant-bras teinte-chair, les modèles de mains peuvent dériver sur leur
nu...) (Figure 7). bras. Les exponentielles des mains Em1 et Em2 ont été in-
troduites pour donner plus d’importance aux pixels situés
en avant de l’utilisateur afin de converger en situation de espérances. Pour la tête, la nouvelle position est:
pointage vers les mains. Ces exponentielles dépendent de
la distance sur l’axe z entre l’observation z i et la tête zt . x̂t
Elles s’expriment pour la première main: xt =
Ẑ t
ŷt
Em1 (zi ) = τm1 e−λm1 (zi −zt ) (idem pour la main 2) yt = − λt σt2
Ẑ t
avec τm1 le paramètre de normalisation de l’exponentielle ẑt Ẑ m1 Ẑ m2
zt = + 2λm1 σt2 + 2λm2 σt2
de la première main et λm1 correspondant à une distance Ẑ t Ẑ t Ẑ t
caractéristique de 20cm.

5.3 Algorithme EM Pour la première main, la nouvelle position est:


Les paramètres θ de chacun des modèles sont adaptés à
chaque image par un algorithme EM [7]. Cet algorithme x̂m1
alterne plusieurs fois une étape E avec une étape M et xm1 =
converge vers les paramètres correspondant à la probabilité Ẑ m1
ŷm1
maximum à posteriori (car on utilise un prior). A chaque ym1 =
nouvelle itération, les paramètres des modèles sont ini- Ẑ m1
tialisés avec leur valeur calculée à l’étape M de l’itération ẑm1 2
zm1 = − λm1 σm1
précédente ou avec le résultat de l’image précédente pour Ẑ m1
la première itération.

On procède de la même manière pour la position de la sec-


Etape E. onde main.
Lors de l’étape E (Espérance), la probabilité Ẑ d’appartenir Pour les histogrammes de chacun des modèles on a:
à chaque modèle (variable cachée d’EM) est calculée pour
chaque observation Xi et pour chacun des modèles. Pour
la tête, on a pour chaque observation i: H(u, v) = αĤ(u, v) + (1 − α)h(u, v)

Où α est le facteur de mise à jour des histogrammes, et


P (Xi /i ∈ t) h(u, v) l’histogramme du modèle à l’image précédente qui
Ẑit =P
M =r,t,m1,m2 P (Xi /i ∈ M ) agit comme prior. Ainsi les histogrammes s’adaptent aux
changements de luminosité qui ne manquent pas de se pro-
duire lorsque l’utilisateur se déplace dans la scène.
1 X t
et on pose: Ẑ t = Ẑ
N i i 5.4 Résultats

De même, on exprime Ẑm1 , Ẑm2 et Ẑr les probabilités La figure 8 compare le précédent suivi séquentiel avec une
d’appartenir aux modèles mains et au modèle rejet. gaussienne 2D et le suivi simultané actuel avec une gaussi-
On calcule des espérances intermédiaires à partir des Ẑi . enne 3D. Après étiquettage à la main de la position réelle
Pour l’histogramme tête: de la tête et des deux mains, on détermine pour les deux
méthodes de suivi, la distance entre la position trouvée lors
1 X t du suivi et la position réelle. Sur la séquence d’une durée
Ĥt (u, v) = Ẑ δ(ui − u)δ(vi − v) de 208 images, pour le suivi séquentiel avec une gaussi-
N i i
enne 2D, l’erreur moyenne est de 4,1 cm pour la tête, de
et pour la position du centre de la tête: 17,2 cm pour la main de pointage (main gauche) (figure 9)
et de 26,1 cm pour l’autre main. Pour la main de pointage,
1 X t il y a 3 pertes (précédées d’une dérive de longue durée)
x̂t = Ẑ xi idem pour ŷt et ẑt et 4 pour l’autre main. Notons qu’à chaque perte, afin
N i i
de pouvoir comparer entre eux les deux suivis, la position
On procède de la même manière pour les modèles mains de l’élément perdu est réinitialisée à partir de la position
et le modèle rejet. réelle étiquettée. Pour le suivi simultané avec une gaussi-
enne 3D, l’erreur moyenne est de 4,6 cm pour la tête, de
1,9 cm pour la main de pointage et de 9,8 cm pour l’autre
Etape M. main. Il n’y a pas de perte pour la main de pointage mais
Lors de l’étape M (Maximisation), les nouvelles esti- 3 pertes (précédées d’une dérive d’une seule image) pour
mations des paramètres θ sont calculées à partir des l’autre main.
couleur discriminante. Avec la stéréo, nous disposons de
la position 3D, mais cet indice n’est pas toujours suffisam-
ment discriminant.
Nous proposons de détecter les occultations lorsque les
cadres de deux objets suivis sont superposés même par-
tiellement sur l’image. Afin de suivre correctement les ob-
jets durant l’occultation, deux approches différentes sont
utilisées selon la nature de l’occultation.

Figure 9: Erreur sur la position de la main de pointage pour


le suivi séquentiel avec une gaussienne 2D (G2D) et le suivi
simultané avec une gaussienne 3D (G3D).

6 Gestion des Pertes et des Occulta-


tions Figure 10: Comportement du suivi lors du passage de la
6.1 Détection automatique des pertes main devant la tête. Carré: modèle tête. Cercle: modèle
main.
Il est indispensable de détecter automatiquement la perte
d’un des modèles pour que le système puisse se récupérer
en cas de divergence du suivi ou si l’utilisateur disparaı̂t
simplement du champ de la caméra. Pour cela, une con- Occultation de la tête par une main.
fiance est estimée sur le cadre du modèle en calculant le Lorsqu’un cadre main et un cadre tête se superposent en
pourcentage de pixels de teinte-chair et de disparité valide. situation de pointage, on considère que la tête est toujours
Lorsque la confiance est inférieure à un seuil on considère derrière la main. D’autre part, pour suivre correctement les
le modèle comme perdu, son suivi est interrompu et le objets pendant l’occultation, on fait l’hypothèse que la tête
processus de détection est relancé (c.f. §3). De même, reste fixe et que la main se déplace. En effet, les utilisateurs
en prenant compte des contraintes morphologiques, les pointent en déplaçant une main et non en déplaçant la tête
modèles de mains sont perdus si la distance entre la tête avec une main fixe. Le suivi de tête est donc suspendu pen-
et les mains est supérieure à un seuil (≈ 1, 3m). dant la durée de l’occultation. Si la main est suffisamment
devant la tête, la main est suivie correctement et, lorsque les
6.2 Gestion des occultations objets se séparent, le suivi de tête se poursuit (Figure 10).
Le problème des occultations est un des problèmes les plus
Occultation d’une main par une autre.
répandus et les plus difficiles à traiter lors du suivi d’objets
Lorsque les cadres des mains se superposent sur l’image,
multiples. Une occultation survient lorsqu’un des objets
cela ne traduit pas forcément une occultation mais peut
suivi occulte partiellement ou totalement un autre objet
traduire une collision. Pour différencier une collision d’une
suivi sur l’image. Une occultation pose quatre problèmes
occultation, la position 3D est utilisée. Si la distance dans
principaux:
l’espace 3D entre les deux mains est supérieure à un seuil,
1. Détecter un évènement d’occultation, on considère qu’il y a occultation. On fait alors l’hypothèse
de vitesse constante des deux mains durant l’intervalle de
2. Suivre correctement l’objet occulté et l’objet occul- temps de l’occultation. Les suivis des deux mains sont
tant durant l’occultation, interrompus et leurs modèles respectifs gardent la même
3. Détecter la fin de l’occultation, vitesse qu’à l’instant précédant l’occultation jusqu’à ce
qu’ils se séparent à nouveau. Le cas d’une collision est
4. Réassigner les bons labels à chacun des objets toujours à l’étude. Pour le moment, en cas de collision, le
lorsqu’ils se séparent. suivi des deux mains se poursuit et s’avère souvent suff-
isant.
Pour réaliser correctement ces étapes et notamment la
dernière, il faut disposer d’un indice discriminant entre les
objets suivis. Dans [12], l’auteur propose d’utiliser l’indice
7 Conclusion
couleur dans le cadre de suivi de plusieurs personnes avec La méthode présentée ici, ne requiert aucune calibration et
un filtre à particules. Dans le cadre de notre étude, les ob- aucun apprentissage spécifique à l’utilisateur. L’utilisateur
jets suivis sont des parties du corps et ne possèdent pas de est automatiquement détecté lorsqu’il arrive dans le champ
de la caméra et peut interagir avec ses deux mains [4] X. Cao et R. Balakrishnan, VisionWand: Interaction
immédiatement. Techniques for Large Displays Using a Passive Wand
L’algorithme EM décrit permet de suivre la tête et les mains Tracked in 3D, Proceedings of the 16th annual ACM
à 15 Hz sur un PC pentium IV 3 Ghz pour des images symposium on User interface software and technology,
320x240 pixels. Notre méthode permet de suivre en temps pp. 193-202, Vancouver, Canada, 2003.
réel plusieurs objets simultanéments avec un faible surcoût
[5] S. Carbini, J.E. Viallet et O. Bernier, Pointing Ges-
en temps de calcul. Par ailleurs, l’histogramme couleur
ture Visual Recognition for Large Display, Pointing’04
de chaque objet suivi est adapté à chaque nouvelle image,
ICPR Workshop, Cambridge, U.K., 2004.
permettant de résister à des changements de couleur rapi-
des (par exemple lorsque la main passe dans le champ du [6] D. Demirdjian et T. Darrell, 3-D Articulated Pose
projecteur Figure 11). Tracking for Untethered Diectic Reference, ICMI (In-
A partir du suivi, le système permet d’estimer la direction ternational Conference on Multimodal Interfaces), pp.
pointée avec une précision suffisante (≈ 0, 5% de la diag- 267, Pittsburgh, Pennsylvanie, E.U. , 2002.
onale de l’écran) pour être utilisé dans différentes applica-
tions (Figure 11). [7] A.P. Dempster, N.M. Laird et D.B. Rubin, Maximum
likelihood from incomplete data via the EM algorithm,
Journal of the Royal Statistical Society, B, vol. 39, no.
1, pp. 1-38, 1977.
[8] R. Feraud, O. Bernier, J.E. Viallet et M. Collobert, A
fast and accurate face detector based on neural net-
works, PAMI (Pattern Analysis and Machine Intelli-
gence), Vol. 23, n. 1, pp. 42-53, 2001.
[9] P. Horain et M. Bomb, 3D Model Based Gesture Ac-
quisition Using a Single Camera, Proceedings of IEEE
Figure 11: Exemple d’interactions bi-manuelles. A
Workshop on Applications of Computer Vision, pp.
gauche: sélection et déplacement d’une pièce dans un jeu
158-162, Orlando, Floride, E.U, 2002.
d’échec, A droite: navigation sur un site internet
[10] N. Jojic, B. Brumitt, B. Meyers et S. Harris, Detect-
ing and Estimating Pointing Gestures in Dense Dispar-
Le suivi de la seconde main offre une solution intéressante ity Maps, IEEE International Conference on Face and
pour sélectionner un objet ou contrôler un troisième axe Gesture recognition, pp. 468, Grenoble, France, 2000.
lors d’interactions 3D en permettant de séparer spatiale-
[11] T. Kurata, T. Okuma, M. Kourogi et K. Sakaue
ment le pointage de la sélection. Le geste bi-manuel
The Hand Mouse: GMM Hand-color Classification
de pointage/sélection n’implique pas nécessairement de
and Mean Shift Tracking, Recognition, Analysis, and
croisement de mains mais l’utilisateur peut réaliser
Tracking of Faces and Gestures in Real-Time Systems.
d’autres gestes responsables de tels croisements qui con-
Proceedings. IEEE ICCV Workshop on, pp. 119-124,
duisent à permuter le rôle des deux mains lors du
Vancouver, Canada, 2001.
suivi (malgré notre gestion actuelle des occultations).
L’utilisation d’une fonction de cohérence de trajectoire, [12] O. Lanz, Occlusion Robust Tracking of Multiple Ob-
utilisée dans [14], devrait permettre de rendre le suivi plus jects, ICCVG (International Conference on Computer
robuste aux occultations main-main. Vision and Graphics), Varsovie, Pologne, 2004.

References [13] K. Nickel, E. Seemann et R. Stiefelhagen, 3D-


Tracking of Head and Hands for Pointing Gesture
[1] R. Atienza et A. Zelinsky, Interactive Skills Using Ac- Recognition in a Human-Robot Interaction Scenario,
tive Gaze Tracking, ICMI (International Conference IEEE International Conference on Automatic Face and
on Multimodal Interfaces), pp. 188-195, Vancouver, Gesture Recognition, pp. 565, Seoul, Korea, 2004.
Canada, 2003.
[14] E. Polat, M. Yeasin et R. Sharma, Tracking Body
[2] R. A. Bolt, ”Put-that-there”: Voice and gesture at the Parts of Multiple People: A New Approach, Proceed-
graphics interface, Proceedings of the 7th Annual Con- ings of the IEEE Workshop on Multi-Object Tracking
ference on Computer Graphics and Interactive Tech- (WOMOT’01), pp. 35, 2001.
niques, pp. 262-270, Seattle, Washington, E.U., 1980. [15] Y. Yamamoto, I. Yoda et K. Sakaue, Arm-Pointing
Gesture Interface Using Surrounded Stereo Cameras
[3] G. Bradski, Computer Vision Face Tracking For Use in System, ICPR (International Conference on Pattern
a Perceptual User Interface, Intel Technology Journal, Recognition), pp. 965-970, Cambridge, R.U. , 2004.
Q2, pp. 15, 1998.
Figure 8: Comparaison entre les deux suivis. Carré: modèle tête. Cercle: modèle main de pointage (main gauche). Croix:
modèle de l’autre main (main droite). A gauche le suivi séquentiel avec une gaussienne 2D et à droite le suivi simultané
avec une gaussienne 3D. Les images sont extraites de la séquence entre les images 149 et 194, seule une image sur trois
est présentée. On constate, pour la main droite, une dérive importante du suivi 2D à partir de l’image 183, suivie d’une
récupération à l’image 194. Pour le suivi 3D, cette main perdue à l’image 185 est retrouvée à l’image 186.

Vous aimerez peut-être aussi