Projet C IG (1A)

IHM (2A)


VR/AR/Post-WIMP (3A)


Projet image (2A)


HCI (MoSIG 2)


Test Logiciel


Projects Docs

PrecedentMenuSuivant

Localisation du visage

Apres le calibrage de la couleur de peau, on obtient un ensemble de zones qui peuvent représenter un visage, comme par exemple un morceau de bras ou une table dont la couleur est proche de celle de la peau. Il faut donc un moyen pour localiser la tête de l'orateur une première fois, pour permettre ensuite au tracker de la suivre. Au début, une sélection à la souris permettait de renseigner la localisation de la tête, mais nous avons voulu automatiser cette recherche de visage.
Lors de nos recherches, nous avons trouvé plusieurs méthodes pour détecter un visage dans une image. Mais certaines de ces méthodes nécessitent une grande base d'images modèles, ou se basent sur les couleurs et les contours ce que nous avont déjà fait avec notre détection de couleur de peau. Nous avons donc choisi de détecter le visage grâce aux mouvements. Quand on recherche le visage dans l'image, on va fixer la camera et rechercher du mouvement pour trouver le visage.

La détection de mouvement

La première approche fût de comparer les images I(t) et I(t-1), la comparaison de chaques pixels se fait grâce à la distance euclidienne dans l'espace de couleur RGB. Lorsque un pixel P de I(t) est proche du pixel P de I(t-1) on le garde et le mémorise dans une nouvelle image.









figure a : Comparaisons des images successives

Mais comme on peut le voir ( figure a ), les mouvements faibles sont très légèrement détectés, car on compare deux images qui ont 40 ms d'écart. C'est pour cela que nous avons décidé d'espacer les comparaisons, pour détecter plus facilement les mouvements faibles.
Nous avons donc comparé les images à 400 ms d'intervale, on compare I(t) et I(t - 10), ce qui donne des résultats beaucoup plus satisfaisants.









figure b : Comparaisons toutes les dix images

Ensuite, on cherche dans l'image les pixels ayant la couleur de la peau, et on obtient ainsi les zones connexes de peau qui ont bougé.

Mais si la tête de l'orateur est peu mobile on obtient peu de zones et c'est difficile de pouvoir trouver un visage avec beaucoup de certitude. C'est pourquoi nous effectuons cette opérations dix fois. Chaque image I(t) est comparée à I(t-10), ce qui donne l'ensemble des zones mobiles à l'instant t : z(t) On effectue cette opération dix fois et on travaille sur l'ensemble Z(t), qui est l'union de z(t-9) à z(t). Les zones détectées sont alors en quantité suffisante et récouvrent les zones en mouvement.


figure c : Les petits cadres représentent un zone de mouvement entre les instants t-9 et t.

Nous obtenons plein de petites zones que nous allons regrouper en fusionnant toutes les zones qui se touchent. Nous obtenons ainsi quelques grandes zones où il y a eu du mouvement.



figure d : Les cadres représentent les zones restantes après la fusion.

Il reste ensuite à trouver la zone qui correspond au visage. Pour cela nous allons utiliser l'heuristique que le visage est la zone mobile la plus haute. A chaque série de comparaison, on regarde la zone la plus haute de Z(t). Mais en choisissant directement la zone la plus haute, il arrivait que les bras soit ciblés, ou même un objet qui se trouvait au niveau de la tête pendant le mouvement. C'est pourquoi nous avons mis en place un système pour valider une zone.
Quand on trouve une zone, on définie une bande, qui correspond à la hauteur probable de la tête. Ensuite, à chaque instant t, on regarde si la zone la plus haute de Z(t) touche cette bande. Si oui, on rapproche la bande de la nouvelle zone pour prendre en compte les variations de hauteur et on recommence. Au bout de dix tests positifs on conclut que la zone est bien un visage, et on envoie les coordonnées au tracker. Si on a dix tests négatifs, on recommence tout le procédé.












figure e : La main a été détectée en premier, mais n'a pas été validée, la bande de validité ( en jaune ) est remontée et la tête a été détecté.

A la fin, on trouve le visage avec un très bon taux de réussite.

PrecedentMenuSuivant
 Retour haut de la page 
Edit - History - Upload - Print - Recent Changes - Search
Page last modified on June 14, 2007, at 03:40 PM