• Aucun résultat trouvé

5.4 Inférence des positions des épaules

5.4.3 Construction d'un modèle de forme

L'ensemble d'apprentissage du modèle de variations de formes (gure 5.10bc) a été créé

manuellement9 à partir d'images issues du corpus d'étude. Chaque forme est composée de

8 courbes de Bézier comportant toutes le même nombre de points de contrôle, ici 25 points de contrôle, positionnés à des endroits similaires sur toutes les formes (gure 5.10a). Les points d'annotation ont été choisis d'une part de manière à reéter les degrés de liberté de l'ensemble des courbes (là où l'on autorise une déformation), et d'autre part en fonction de possibles accroches visuelles permettant de retrouver ces points par traitement d'image. Ces derniers ont une signication sémantique : ils sont positionnés de manière à séparer des éléments susceptibles de bouger indépendamment les uns des autres, comme le cou ou les épaules. Ils permettent également des déformations liées à la forme de l'objet ciblé : les points de chaque côté du visage traduisent une déformation du visage lorsque la tête change d'orientation (vers la gauche ou vers la droite).

9Pour la création de cet ensemble d'apprentissage, nous avons utilisé le logiciel libre, de dessin vectoriel,

Inkscape qui fournit des données au format SVG. Nous recommandons l'utilisation de tel logiciel pour la récupération des données.

-0.4 -0.3 -0.2 -0.1 0 0.1 0.2 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 Point de contrôle (a) (b) (c)

Fig. 5.10: (a) exemple d'annotation de la forme du haut du corps sur une image, seuls les point de début et de n de courbe sont représentés. (b) Échantillons de formes apprises, (c) toutes les formes centrées, normées

Une fois les N formes de l'ensemble d'apprentissage alignées sur une forme moyenne (Cf gure 5.10c), il est possible d'eectuer une analyse statistique des déformations contenues dans cet ensemble. On utilise pour cela l'Analyse en Composante Principale (ACP), an de connaître les principaux paramètres de variation, c'est-à-dire les principaux axes de l'espace alors construit. On élabore ainsi un modèle de variations de formes. La méthode peut se réaliser comme suit :

1. Calculer la forme moyenne de l'ensemble d'apprentissage ¯s = 1 n n X i=1 si

2. Calculer la matrice de covariance de l'ensemble

C = 1 n − 1 n X i=1 (si− ¯s)(si− ¯s)T

3. Calculer les vecteurs propres φi principaux de la matrice de covariance C, ainsi

que les valeurs propres λi correspondantes à l'aide d'une décomposition en valeurs

propres. Les vecteurs propres expliquant le plus la variance sont ceux qui corres- pondent aux valeurs propres les plus grandes.

Il est à noter qu'un vecteur propre correspond à un ensemble de vecteurs de dépla- cements selon lesquels la forme est modiée an de générer une nouvelle instance de forme. Cette instance permet d'approcher chaque élément s de l'ensemble des formes de la manière suivante :

s = ¯s + Φsbs

La matrice Φs contient les vecteurs propres associés aux q plus grandes valeurs propres

de la matrice de covariance C.

5.4. Inférence des positions des épaules Le nombre q de vecteurs propres à retenir est choisi an que le modèle conserve une certaine proportion de la variance totale de la forme (par exemple 98% [Cootes 92]).

Pq

i=1λi

PN

i=1λi

≥ 0.98

La projection d'une forme s dans le sous-espace propre (déni par la matrice Φs)

donne les paramètres de cette forme dans l'espace : bs = ΦsT(s − ¯s)

La matrice Φs contient les vecteurs propres de C, qui sont orthogonaux entre eux. L'in-

verse de Φs est égal à sa transposée ΦT.

Si l'on fait l'hypothèse que les bi constituant bssont indépendants et gaussiens, il possible

de les contraindre en xant des limites de variation telles que |bi| ≤ 3

λi an de générer

des formes plausibles (voir tableau 5.1).

Mode −3√bi 3

bi Commentaire

1 De face, élévation d'un bras

2 De prol

3 De prol, élévation d'un bras

4 De face

Tab. 5.1: Les 4 premiers modes de variation de l'espace des formes

5.4.3.1 Généralisation modèle de forme

Le modèle de forme décrit utilise une combinaison linéaire des formes vues dans l'en- semble d'apprentissage. Pour être capable d'eectuer une bonne mise en correspondance d'une nouvelle forme aux paramètres du modèle, l'ensemble d'apprentissage doit contenir

toutes les variations attendues d'une classe de forme modélisée. S'il ne les contient pas, le modèle utilisé est sur-contraint et ne sera pas capable de mettre en correspondance certains nouveaux exemples. Une manière de vérier la capacité du modèle à généraliser est de le soumettre à des expériences telles que les jacknife ou leave-one-out [Stone 77]. Étant donné un ensemble d'apprentissage composé de N formes, nous construisons un modèle avec toutes les formes sauf une, puis nous eectuons un recalage du modèle sur la forme manquante et enregistrons l'erreur. Nous répétons ceci pour toutes les N formes de l'ensemble d'apprentissage. Si l'erreur est trop grande pour n'importe quel exemple, il faut fournir davantage de formes à l'ensemble d'apprentissage. Cependant une erreur basse pour toutes les formes nous indique seulement que l'ensemble d'apprentissage contient plus d'un exemple pour chaque type de variation et non que toutes les variations de la forme sont prises en compte dans le modèle.

Nous avons eectué un leave-one-out sur le modèle construit (gure 5.11). L'erreur de reconstruction calculée lors de l'expérience est l'erreur quadratique moyenne de po-

sition en chaque point σ = q1

N P(x

i

reconstruct− xiorig)2. Comme l'on peut le constater

sur l'illustration (gure 5.11) l'ensemble d'apprentissage contient susamment de formes représentatives pour pouvoir regénérer les formes manquantes. L'erreur de construction moyenne est assez faible et n'est pas pénalisante pour la génération de formes.

0 0.005 0.01 0.015 0.02 0.025 0.03 0 100 200 300 400 500 600 700 Formes Erreur sur x 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0 100 200 300 400 500 600 700 Erreur sur y Formes

Forme reconstruiteForme originale -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 -0.1 -0.05 0 0.05 0.1 0.15

Forme reconstruiteForme originale -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 Forme 347 Forme 608

Fig. 5.11: Erreur moyenne de reconstruction pour chaque forme lorsqu'elle n'est pas connue de l'ensemble d'apprentissage. En haut à gauche l'erreur de reconstruction en x, à droite en y. En bas deux exemples de formes reconstruites. Ces formes sont celles générant les pics d'erreur les plus importants en x et en y.

5.4. Inférence des positions des épaules 5.4.3.2 Évaluation de l'orientation

Nous avons évalué le pouvoir de classication du modèle de forme. Ce modèle permet des variations dûes à diérents mouvements. Nous avons identié les paramètres permet- tant d'obtenir des informations sur la posture de la personne (gure 5.12). Ces résultats nous montrent qu'il est possible de connaître l'orientation de la personne à l'aide des 6

premiers paramètres du vecteur bs. La linéarité des variations nous laisse penser qu'ils

peuvent être mis en correspondance par régression avec une valeur angulaire de l'orienta- tion d'une personne par rapport à la caméra.

Parametre 1 Parametre 2 Parametre 3 Parametre 4 Parametre 5 Parametre 6 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0 100 200 300 400 500 P aramètres de forme Images 29 77 113 202 304 361 461

Image 0 Image 29 Image 77

Image 113 Image 202 Image 304

Image 361 Image 461 Image 534

Fig. 5.12: Évaluation qualitative de l'estimation d'orientation d'une personne par rapport à la caméra

-0.01 -0.005 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 -0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 P aramètre 4 Paramètre 1 De face Prole gauche Prole droit

Fig. 5.13: Évaluation de la séparabilitée de classes de face, prol gauche, prol droit

Nous avons également voulu évaluer la séparabilité de trois classes d'orientation : de face, de prol vers la gauche, de prol vers la droite. D'aprés les regroupements de points que l'on peut constater gure 5.13, les paramètres 1 et 4 du vecteur b permettent une bonne séparabilité malgré la présence de quelques points aux frontières des groupes (voir gure 5.13).

Cette étude préliminaire nous montre qu'il peut être possible de connaître l'orientation d'une personne à l'aide du modèle de formes actives proposé. C'est un résultat intermé- daire et non notre objectif premier. Néanmoins il peut être intéressant de proposer, par la suite, une méthode permettant la mise en correspondance de ces paramètres avec une valeur angulaire.

5.4.3.3 Recalage du contour du haut du corps

Le Modèle de Distribution de Point contient les contraintes de déformation pour un modèle de classe qui a été appris à partir d'un ensemble d'apprentissage. Cootes et al [Cootes 92] ont décrit les modèles actifs de forme (Active shape model ASM) comme des applications de ce modèle déformable (le MDP) pour suivre un objet dans une image. Dans ce but, l'objet doit être capable de se déplacer en plus de pouvoir se déformer. Dans le cas d'un contour en deux dimensions, le mouvement se compose d'une transla- tion, d'une rotation et d'un agrandissement. En faisant l'hypothèse que l'agrandissement sera isotropique, ce mouvement sera composé de quatre paramètres qui permettront de positionner et d'orienter le modèle dans l'image.

Une instance s du modèle est donnée par s = W X + ¯s. Le modèle actif de forme fait

5.4. Inférence des positions des épaules sera proche des caractéristiques recherchées. Le modèle est alors ajusté itérativement en calculant une nouvelle pose pour le modèle s en ajustant les paramètres de pose X et de forme b. La convergence est faite si, lorsque l'on applique une itération de cet algorithme, il n'y a pas de variation signicative dans les paramètres de pose ou de forme. La fonction

EstimationBezier()est décrite en annexe (A.2.2).

L'algorithme de recalage de la forme s à partir d'un ensemble de points Y peut être résumé ainsi :

1. Calculer la forme s = EstimationBezier(Y) 2. Initialiser les paramètres de forme b = 0

3. Générer le modèle s0 = ¯s + Φb

4. Calculer les paramètres de pose X = W+(s − s0)

5. Reprojeter s = W X + s0

6. Calculer les paramètres de forme b = ΦT(s − ¯s)

7. Si la convergence n'est pas atteinte, retour à l'étape 3.

Cet algorithme peut facilement s'adapter dans le cas du suivi, c'est à dire du recalage d'une forme si−1 vers une forme si, en remplaçant l'étape 2 (l'initialisation des paramètres

de forme) par b = ΦT(s

i−1 − ¯s), c'est à dire en utilisant les paramètres de la forme

précédente à la place de la forme moyenne. 5.4.3.4 Attribut image

Dans le but de mettre en correspondance une forme avec la forme d'un objet gurant dans une image, des primitives de traitement d'image doivent être dénies. Les accroches visuelles permettant la mise en correspondance sont dénies le long des normales à la forme (voir gure 5.14).

Contour

Objet

Normales

(a) (b)

Fig. 5.14: (a) Schéma d'un modèle à forme active. (b) Forme avec ses normales. La recherche d'accroches visuelles s'eectue le long des normales au contour.

Nous avons considéré le cas simple où l'accroche visuelle correspond au gradient local maximal, ce qui suppose que le fond de scène ne soit pas texturé et que la personne ne porte pas non plus des habits très texturés (voir gure 5.15).

(a) (b)

(c) (d)

Fig. 5.15: Exemple d'extraction de courbe du contour à partir de gradient. (a) Points extraits à partir de la recherche de gradient le long des normales, ici 500 points ont été recherchés, (b) Les gradients de l'image au travers des normales. (c) Les 8 courbes de Bézier interpolées. (d) La forme générée à partir du modèle de forme.

L'erreur moyenne de mise en correspondance (voir gure 5.16a) est calculée à partir de la variation des paramètres de pose X et de forme b. Cette erreur moyenne montre la convergence du modèle et une stabilisation vers une forme. Cependant si dans la majorité des cas traités, nous avons eectivement constaté une convergence, d'autres n'ont pas le même comportement (voir gure 5.16b).

5.4. Inférence des positions des épaules 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 100 200 300 400 500 600 700 800 900 1000 Pose Forme (a) 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 100 200 300 400 500 600 700 800 900 1000 Forme Pose (b)

Fig. 5.16: (a) Erreur moyenne de recalage et génération de forme, calculé à partir du recalage de 30 formes. (b) exemple de non-convergence

La longueur de la zone de recherche le long des normales est un paramètre à ne pas négliger : d'elle dépend la capacité de la forme à se déplacer. Cependant, des segments trop longs aecteraient le temps de calcul. [Blake 98] propose également de faire varier la taille des segments selon la vitesse de déplacement de l'objet, pour un objet de déplaçant sur un plan parallèle au plan image.