• Aucun résultat trouvé

Suivi de l’objet sur plusieurs images

6.5 Suivi de l’objet sur plusieurs images

Après avoir détecté les objets de petite taille dans une image, nous devons maintenant réali-ser leur suivi dans la séquence vidéo. Ce problème difficile va notamment permettre de séparer les régions qui sont réellement des objets de petite taille des régions qui correspondent au bruit présent dans les images. Le but est donc double : suivre les objets d’une image à l’autre, et éliminer les candidats obtenus qui correspondent au bruit.

6.5.1 Principe

Afin de suivre ces objets tout au long d’une séquence vidéo, il est possible de fusionner les résultats obtenus par la détection des objets sur les différentes images de la séquence analysée.

Cependant, il n’est pas toujours possible de prédire la trajectoire d’un objet de petite taille lorsque la source d’acquisition est elle-même en mouvement. Nous n’effectuerons donc pas ici d’estimation de mouvement de l’objet suivi ni de prédiction de sa position dans les trames suivantes de la séquence vidéo.

La détection des objets dans une imageItnous fournit des régions candidates que nous no-teronsRi(It)avecil’indice du candidat dans la listeL(It)des candidats détectés dans l’image It. Chaque candidatRi(It)peut être représenté par un vecteur de caractéristiques :

Ri = ci fi

!

(6.1) oùcietfi sont la position et la forme de la régionRi.

Le suivi, quant à lui, doit permettre de connaître la position d’un objetO tout au long de la séquence. Dans une image donnéeIt, l’objetO sera associé à une des régionsRi(It). Nous pouvons alors définir le prédicatΦqui associe deux régions de deux images différentes si elles correspondent au même objetO:

Φ(Ri(It1), Rj(It2)) =

vrai siRi(It1)etRj(It2)représentent le même objetO faux sinon

(6.2)

6.5. Suivi de l’objet sur plusieurs images 113

La technique utilisée pour suivre un petit objet consiste à mettre en relation les régions dé-tectées d’une image à l’autre, c’est-à-dire déterminer les régionsRi(It−1)et Rj(It) telles que le prédicat Φ(Ri(It−1), Rj(It)) soit vrai. L’objet suivi sera validé si plusieurs images consé-cutives contiennent une occurrence de celui-ci. Cette hypothèse se justifie par le fait que le résultat obtenu par le processus de détection des objets de petite taille consiste en de nom-breux candidats parmi lesquels l’objet recherché et d’autres régions relatives au bruit. Or ces dernières régions ne seront pas détectées dans toutes les images, contrairement à l’objet que l’on cherche à suivre. Nous pouvons ainsi éliminer des régions candidates les régions corres-pondant au bruit. Le processus de mise en relation est alors le suivant. Pour chaque région détectéeRj(It), nous cherchons (dans un voisinage de taille fixée) la régionRi(It−1)qui vérifie le prédicatΦ(Ri(It−1), Rj(It)), c’est-à-dire l’occurrence de l’objet concerné parmi les résultats obtenus sur l’image précédente, en considérant l’équation (6.3).

Nous associons à chaque objet un poids qui représente le nombre d’images dans lesquelles il apparaît. A chaque instant, l’objet de plus fort poids correspond, selon notre hypothèse, à l’objet suivi.

Lorsqu’une régionRi(It)ne peut être appariée avec les résultatsRj obtenus sur un nombre d’images donné∆t, nous ne prenons plus en compte l’objetOcorrespondant. Cela nous permet de gérer correctement les occlusions temporaires des objets à suivre. De plus, lorsque le nombre d’occurrences de l’objet suivi au cours du temps s’accroît, la confiance donnée au résultat est plus importante. Nous limitons alors la détection des objets à une zone de l’image centrée autour de cette position de l’objet suivi dans l’image précédente. Le temps de calcul se trouve ainsi diminué.

6.5.2 Résultats

Nous considérons ici que la détection des objets a été obtenue par l’approche locale décrite dans la section 6.4. Cette approche a évidemment été préférée à la première solution étudiée (analyse globale) car elle respecte toutes les contraintes formulées, et tout particulièrement la

6.6. Conclusion 114 contrainteCrapidité.

La figure 6.8 illustre le résultat obtenu sur un extrait d’une séquence d’images. La ligne horizontale associée à chaque région représente le nombre d’apparitions de l’objet dans les dif-férentes images. L’objet à suivre correspond bien à la région la plus fréquente dans la séquence à un instant donné.

FIG. 6.8 – Suivi des objets de petite taille dans les images successives d’une séquence vidéo : images originales (en haut) et résultats (en bas).

Les paramètres utilisés pour obtenir le résultat précédent sont donnés dans le tableau 6.3.

Paramètre Description Valeur

t Nombre d’images considérées pour le suivi 4

s Déplacement maximal (en pixels) d’un objet suivi entre deux images consécutives 15 TAB. 6.3 – Paramètres utilisés pour la détection et le suivi de petits objets.

6.6 Conclusion

Dans ce chapitre, nous avons traité le problème du suivi d’objets de petite taille. Nous étions à la recherche d’une solution considérant les différentes contraintes imposées :Ccouleur, Cmouvement,Crapidité,Cvariabilité, scène complexe, mouvement non-linéaire, etc.

Afin de prendre en compte la contrainte Cmouvement, nous avons choisi de ne pas effectuer d’estimation de mouvement, puisque celui-ci peut être non-linéaire. Nous avons déterminé les caractéristiques des objets à suivre, ce qui nous a permis de gérer plus facilement l’as-pectCvariabilité. Pour résoudre le problème posé, nous l’avons tout d’abord modélisé comme un problème de séparation du fond et des objets en considérant que, dans ce cas, les objets étaient de petite taille et que toutes les autres régions pouvaient être assimilées à l’arrière-plan. Nous

6.6. Conclusion 115 avons donc cherché à réutiliser les concepts et solutions énoncés dans le chapitre 3 et nous avons proposé une approche multirésolution pour résoudre le problème. Les résultats obtenus ne permettant pas de considérer avec exactitude la contrainteCrapidité, nous avons ensuite proposé une solution par analyse locale de l’image, qui consiste à segmenter localement l’image pour y détecter les objets de petite taille. La solution obtenue permet de respecter toutes les contraintes formulées.

Cependant, lorsque l’objet à suivre est non-rigide, la solution proposée ici n’est pas adaptée.

Ce nouveau problème sera abordé dans le prochain chapitre.

Chapitre 7

Suivi d’objet non-rigide par contours actifs

Dans les chapitres précédents, nous avons traité le problème du suivi d’objet rigide, que ce soit avec ou sans apprentissage. Dans ce chapitre, nous abordons le problème du suivi d’objet non-rigide. Pour cela, nous proposons d’utiliser les contours actifs, ou snakes, particulièrement adaptés pour segmenter des objets non-rigides. Les algorithmes utilisant les contours actifs sont souvent caractérisés par des temps de calcul importants, rendant impossible un suivi des objets en temps réel. Nos travaux ont donc principalement porté sur l’amélioration de la complexité algorithmique de ces outils [Lef00a, Lef01b, Lef02d].

Après avoir présenté la problématique du suivi d’objet non-rigide, nous expliquerons com-ment les contours actifs peuvent être utilisés pour suivre des objets dans des séquences vidéo.

Pour cela, nous présenterons différents modèles et implémentations de contours actifs. Nous dé-taillerons aussi quelques méthodes de suivi par contours actifs publiées dans la littérature. Dans un second temps, nous décrirons la méthode de suivi proposée. Celle-ci est composée de deux étapes effectuées sur chaque image : l’initialisation du contour actif puis sa déformation en uti-lisant des énergies données. Une extension de la méthode au cas du suivi d’objets multiples sera ensuite présentée. Afin de diminuer le temps de calcul nécesssaire, nous proposons d’analyser les images suivant une approche multirésolution. Finalement des résultats seront présentés afin de montrer l’intérêt de notre contribution.

116

7.1. Problématique 117

7.1 Problématique

Les méthodes de suivi d’objet rigide se basent sur la recherche d’un même motif dans des images successives. Les objets non-rigides (comme les corps humains), de par leur nature dé-formable, ne peuvent être suivis avec les mêmes outils. Il est donc nécessaire d’utiliser des approches appropriées, tels les modèles déformables ou les contours actifs. Les modèles dé-formables [Jai98b] sont particulièrement intéressants lorsque l’on peut modéliser la forme de l’objet que l’on cherche à suivre. Dans le cas contraire, on utilisera plutôt les contours actifs.

Les contours actifs sont notamment utilisés en segmentation d’image et en suivi d’objet [Bla99].

Nous cherchons des outils les plus génériques possibles pour permettre la mise en place de sys-tèmes d’indexation spécifiques. Nous avons donc choisi d’utiliser les contours actifs plutôt que les modèles déformables pour suivre les objets non-rigides.

Différents modèles de contours actifs ont été proposés dans la littérature. Ainsi, on doit à Kass et al. [Kas88] les travaux originaux dans ce domaine. Le modèle utilisé, appelé snakes, a cependant montré différentes limites, liées notamment à l’initialisation, au paramétrage, et à l’impossibilité de changement de topologie du snake. Certains auteurs ont donc proposé d’autres modèles. Parmi eux, les contours géodésiques [Par00] (de la famille des approches level set [Set96, Set99]), préconisés actuellement dans la littérature, permettent de gérer des to-pologies quelconques, mais se traduisent par des temps de calcul importants. D’après Aubert et Blanc-Féraud [Aub99], les snakes et les contours géodésiques peuvent être considérés dans une certaine mesure comme équivalents.

Puisque nous souhaitons effectuer le suivi des objets non-rigides en temps réel, nous avons préféré les snakes aux autres approches, plus puissantes mais aussi plus coûteuses en temps de calcul. Cependant, les snakes présentent différentes limites que nous précisons :

initialisation : afin d’obtenir un résultat correct, il est souvent nécessaire d’initialiser le snake proche du contour de l’objet recherché,

paramétrage : le modèle de snake comporte de nombreux paramètres, souvent difficiles à régler,

topologie : les snakes ne permettent pas un changement de topologie (comme une scission si le contour regroupe deux objets),

temps de calcul : même si les snakes sont moins coûteux en ressources que les approches par level set, ils restent néanmoins difficiles à exécuter en temps réel.

Nous avons développé une technique de snakes pour effectuer un suivi d’objet non-rigide en temps réel et envisagé une méthode de scission. Nous présenterons tout d’abord une intro-duction aux contours actifs et décrirons leur utilisation pour le suivi d’objet.