• Aucun résultat trouvé

2.3 Détection et suivi de personnes dans des images de profondeur

2.3.1 Segmentation des têtes

La première étape de l’algorithme consiste à segmenter les têtes des individus dans l’image. La méthode présentée dans [86] est modifiée pour prendre en compte les cas où la tête est située au bord de l’image et non entièrement visible. L’algorithme décrit dans la suite est appliqué à l’image de sortie du module décrit section 2.2.

Tout d’abord, des régions appelées têtes candidates sont recherchées dans l’image. Pour cela, le pixel de profondeur minimale pmin est sélectionné comme point de départ d’un algorithme de croissance de régions avec pour paramètre P = 100 mm. Un nouveau pixel pijvoisin du pixel courant est ajouté à la région s’il satisfait la condition pij < pmin+P . La valeur du paramètre P est légèrement inférieure à la hauteur attendue d’une tête. La composante connexe résultante est conservée pour la suite si sa taille est acceptable.

Une première modification est apportée à la méthode initiale. Un masque prédéfini est appliqué sur le centre de la région pour ne conserver que les pixels y appartenant. Nous choisissons d’utiliser un masque circulaire de rayon r pixels. La plupart des pixels appartenant au corps de la personne sont donc écartés. Le choix du paramètre r dépend du système et est fixé empiriquement. L’application du masque circulaire diminue le nombre de régions candidates qui seront analysées dans la suite. Si le rayon est bien choisi, le risque de fausse détection peut être réduit. Le processus est répété itérativement tant que des régions candidates sont trouvées. Une région candidate et son masque sont représentés Figure 2.3.1.

CHAPITRE 2. DÉTECTION ET SUIVI DE PERSONNES 39

(a) (b)

FIGURE2.3.1 – En (a) l’image initiale et en (b) les régions candidates et leurs masques.

Chaque tête candidate est ensuite évaluée par les trois descripteurs présentés dans [86] : – l’aire projetée s1,

– le coefficient de sphéricité s2, – le ratio de test s3.

Ces trois quantités sont calculées pour vérifier si une région donnée est ou non une tête. L’aire projetée est une mesure de l’aire de la projection de la tête sur le sol. Pour effectuer ce calcul, les pixels de la région sont convertis en points 3D. La projection est calculée en supposant que l’axe optique est orthogonal au sol. Le coefficient de sphéricité quantifie le caractère circulaire de la région et est défini comme étant le pourcentage de pixels dont la distance au centre de la région est inférieure àpA / π, où A est le nombre de pixels composant la région. Enfin, le ratio de test permet de vérifier si la région constitue un maxima local en comparaison des zones adjacentes dans l’image. Ces scores sont ramenés dans l’intervalle [0, 1] grâce à une fonction logistique l de paramètres c ∈ R et T ∈ R de la forme

l(x) = 1

1 + e−c(x−T ) (2.3.1) et combinés pour obtenir le score final s de la région calculé comme suit

s = l(s1) l(s2) l(s3). (2.3.2) Les paramètres T et c sont respectivement des paramètres de position et de forme de la fonction logistique, choisis expérimentalement. Une tête candidate est finalement détectée comme une tête si son score est suffisamment élevé, c’est à dire

s≥ smin (2.3.3) où sminest le score minimal qu’une tête doit posséder. Comme recommandé dans [86], nous choisis-sons smin= 0.7.

Toutefois, comme mentionné dans [86], une limite de la méthode est que les têtes doivent être entièrement visibles sur l’image pour être détectées. En effet, une tête incomplète conduira à un score faible. Le capteur étant situé assez bas dans notre système, les têtes des personnes ne sont pas toujours entièrement visibles. Pour résoudre ce problème, nous proposons de choisir de manière adaptative des paramètres cet Tcomme suit 

c = c

40 2.3. DÉTECTION ET SUIVI DE PERSONNES DANS DES IMAGES DE PROFONDEUR

pour le calcul de s1uniquement et lorsque la région est située au bord de l’image. Afin de prendre en compte le fait que la tête est tronquée, on s’intéresse au ratio entre l’aire de la partie visible de la tête et l’aire de la tête complète. Pour cela, on suppose que la tête est un cercle de diamètre a. Comme cela est illustré Figure 2.3.2, d et a désignent respectivement les longueurs minimales et maximales de la boîte englobante de la tête tronquée dans l’image. La partie visible de la tête est approchée par une demi-ellipse de demi-axes d et l. La longueur l vautpd(a− d) et par conséquent l’aire de la partie visible vaut π dpd(a− d)/2. Le ratio recherché a donc finalement pour expression

K = 2 d p

d(a− d)

a2 (2.3.5)

FIGURE2.3.2 – Les têtes sont supposées avoir une forme circulaire en vue de dessus. Lorsqu’une tête est tronquée par un bord de l’image, la partie visible est proche d’une demi-ellipse. K est donc choisi comme étant le ratio entre les aires de la partie visible (demi-ellipse) et de la forme complète (cercle) Le choix des paramètres cet Tproduira des scores élevés même si la tête est tronquée par un bord de l’image. La Figure 2.3.3 illustre la différence entre les scores calculés par l’ancienne et la nouvelle méthode. Dans cet exemple, la tête n’est pas détectée avec les coefficients de base alors qu’elle l’est avec les coefficients modifiés. Les rectangles bleus sont les têtes candidates dont les scores sont trop faibles pour être détectées comme des têtes. Les rectangles rouges représentent les têtes détectées. Les cercles bleus sont les masques circulaires. Les scores de la tête sont s1= 0.69, s2 = 0.96, s3= 0.99 et s = 0.66 pour la non détection et s1= 0.97, s2= 0.96, s3= 0.99 et s = 0.92 pour la détection. Les nouveaux paramètres donnent dans ce cas un score suffisamment élevé pour détecter la tête tronquée.

(a) (b) (c)

FIGURE2.3.3 – En (a) l’image traitée, en (b) le résultat de la détection avec les coefficients de base et en (c) avec les coefficients modifiés.

CHAPITRE 2. DÉTECTION ET SUIVI DE PERSONNES 41