• Aucun résultat trouvé

Robustesse des paramètres vis-à-vis des changements de résolution 129

7.5 Analyse multirésolution des images

7.5.2 Robustesse des paramètres vis-à-vis des changements de résolution 129

Afin d’assurer la robustesse de l’algorithme face aux changements de résolution, on a fait dé-pendre certains paramètres de la résolution de l’image. D’autres, au contraire, restent fixes tout au long du processus d’analyse multirésolution. Ainsi, les coefficientsαpondérant les énergies ainsi que la taille∆s du voisinage ne dépendent pas du niveau de résolution. Nous décrivons ici les différents paramètres évoluant selon la résolution, ainsi que les fonctions d’évolution associées.

La tailleXV0 ×YV0 du rectangle pour le snake initialV0 ne doit évidemment pas être fixe, puisqu’une diminution de résolution s’accompagne d’une diminution de la taille des objets dans l’image. En conservant les notations utilisées dans ce mémoire, et en notantXV0

0

×YV0

0

la taille du rectangle à la résolution originaler= 0, on a :

XV0

La même fonction d’évolution s’applique pour le nombre m de points du snake, lui aussi dépendant du nombre de pixels dans l’image :

mr = m

2r (7.20)

Puisque l’on considère un voisinage ∆s constant alors que la taille de l’espace des don-nées (c’est-à-dire le nombre de pixels dans l’image) est variable, le processus de déformation convergera plus ou moins rapidement vers la solution selon la résolution utilisée. Le nombre Γ d’itérations peut alors être réduit ou augmenté lorsque la résolution change : la valeur du coefficientΓ

r est donc variable selon la résolution donnéer.

Finalement, nous observons que les propriétés du calcul du gradient ne sont pas indépen-dantes de la résolution. En effet, le moyennage successif des pixels pour obtenir une image à plus faible résolution, entraîne également un lissage de l’image. Les pixels sont alors caractéri-sés par des modules de gradient plus faibles. Le seuilSgradutilisé pour la comparaison avec les

7.6. Résultats 130 modules de gradient des pixels doit être adapté à la résolution utilisée.

La méthode de suivi décrite dans la section 7.3, avec ses extensions liées au changement de topologie et à l’analyse multirésolution des images, est résumée par l’algorithme 4.

La méthode de suivi présentée dans ce chapitre a été testée sur différentes séquences vi-déo. Les résultats obtenus, permettant de caractériser son efficacité, sont décrits dans la section suivante.

7.6 Résultats

Nous avons présenté précédemment un modèle de contour actif permettant le suivi rapide d’objets non-rigides en mouvement dans des images couleur acquises avec une caméra en mou-vement. Nous avons aussi introduit différentes extensions qui consistent en la gestion des chan-gements de topologie et en l’accéleration du traitement par une analyse multirésolution des images. Dans cette section, nous décrirons tout d’abord les différents paramètres utilisés dans la méthode et discuterons la manière de les régler. Ensuite nous présenterons quelques résultats obtenus avec ces paramètres sur des séquences vidéo de matchs de football, afin d’illustrer la méthode de suivi décrite précédemment. Finalement nous commenterons les temps de calcul obtenus.

La méthode proposée a été testée sur des séquences vidéo représentant des scènes d’exté-rieur caractérisées par un arrière-plan relativement uniforme. La taille des images couleur est égale à384×284 pixels et la fréquence d’acquisition est de 15 Hz. Afin de limiter le temps de calcul, nous n’effectuons pas ici de conversion depuis l’espace couleur RGB vers un autre espace de représentation.

Le snake est composé initialement dem points à la résolution originale (r = 0). Ce para-mètrema une influence directe sur le résultat obtenu d’une part et le temps de calcul nécessaire d’autre part. Lorsque l’application ne nécessite que la position de l’objet, et que la précision de la forme de l’objet n’est pas importante, le nombre de points peut être réduit, ce qui conduit à un temps de calcul moindre.

A la résolution initiale (r = 0), le nombre maximum d’itérations est égal à 30. Cependant, le contour converge la plupart du temps avant ce nombre d’itérations. En effet, la convergence a été obtenue pour plus de 70 % des images. La taille∆sdu voisinage utilisé pour la recherche locale du point minimisant la fonctionnelle d’énergie est égale à5×5pixels. Afin de diminuer une nouvelle fois le temps de calcul, il est possible de réduire les valeurs deΓet de∆s.

7.6. Résultats 131 Algorithme 4: Suivi d’objet non-rigide par contours actifs.

Entrée : Plan d’une séquence vidéo composé deT trames codées en RGB Position initiale de l’objet suivi modélisé par un snakeV0

Paramètresm,Γ,∆s, coefficientsα,rmax, etp2

Sortie : Position de l’objet suivi dans chaque trame modélisé par un snakeV Initialisation

Détermination des extrémités du snake initialVinitial

Création du snakeV le long d’un rectangle proportionnel aux extrémités deVinitial Calcul du gradient et dek∇Iksur une zone limitée autour deV

γ ←0

Déformation itérative du snake répéter

Calcul de la distance moyenneV Déplacement de chaque point du snake pouri←1àmfaire

pour chaque pointM(j)voisin deV(i)vérifiantM(j)∈ V(V(i))faire Calcul de l’énergieE(M(j))par l’équation (7.4)

Recherche du point voisin minimisant l’énergie jmin← arg min Découpage des segments[V(i)V(i+ 1)]et génération des ensemblesΞ Création des nouveaux snakes contenant les ensemblesΞ

pour chaque nouveau snakeV0créé faire siV0 n’est pas valide alors SupprimerV0 jusqu’à∃V0 our = 0

Afficher le contourV Vinitial ←V

7.6. Résultats 132 Les coefficients utilisés pour pondérer les différentes énergies ont tous été fixés à 1. Les résultats obtenus sont satisfaisants tout en limitant le nombre d’opérations (les multiplications des coefficients et de l’énergie correspondante ne sont pas à effectuer). Le seuilSgradutilisé pour le calcul du gradient est quant à lui fixé à 500 pour la résolution originale.

Le tableau 7.1 récapitule les différents paramètres nécessaires à la méthode et les valeurs que nous avons utilisées pour ces paramètres.

Paramètre Description Valeur

m Nombre de points du snake (pourr= 0) 16 Γ Nombre maximal d’itérations

lors de la déformation (pourr = 0) 30 Sgrad Seuil utilisé dans le calcul du gradient (pourr= 0) 500

s Taille du voisinage analysé

pour le calcul local de l’énergie 5×5

αint Coefficient de l’énergie interne 1

αext Coefficient de l’énergie externe 1

αcont Coefficient de l’énergie continuité 1

αcour Coefficient de l’énergie courbure 1

αball Coefficient de l’énergie ballon 1

αgrad Coefficient de l’énergie gradient 1

αcoul Coefficient de l’énergie couleur 1

rmax Nombre de couches de la pyramide 5

p2 Nombre de pixels utilisés à la résolutionr

pour générer un pixel à la résolutionr+ 1 4 TAB. 7.1 – Paramètres utilisés lors du suivi d’objet non-rigide par contours actifs.

La figure 7.4 illustre le suivi d’un objet (joueur de football) au cours d’une séquence conte-nant 100 trames. Dans ce cas, le suivi a été effectué à la résolution originale. L’algorithme permet de suivre un objet mobile dans un environement également mobile, sans effectuer d’es-timation de mouvement de l’objet ni de compensation de mouvement de la caméra.

FIG. 7.4 – Suivi d’un objet non-rigide dans une séquence de 100 trames.

La figure 7.5 illustre le principe de scission. Ainsi, il est possible de suivre indépendamment

7.6. Résultats 133 les différents objets présents dans la scène. La répartition précise des différents points du snake est donnée dans la figure 7.6. Nous pouvons ainsi observer l’apport du principe de scission.

Cependant, la sensibilité du modèle de contour actif à un arrière-plan complexe (contenant des pixels caractérisés par des valeurs de gradient élevées) reste forte.

FIG. 7.5 – Intérêt de l’étape de scission dans le cas d’objets proches. Les deux objets mobiles ont des trajectoires croisées (l’occlusion intervient dans la seconde image). L’étape de scission permet d’obtenir des contours corrects après l’occlusion (image de droite).

FIG. 7.6 – Répartion précise des points du snake avant l’exécution de la procédure de scission.

L’analyse multirésolution décrite dans la section 7.5 est illustrée dans la figure 7.7. La ré-solution utilisée est égale à 4, ce qui résulte en une taille d’image 256 fois inférieure à la taille originale. On peut observer le manque de précision de la forme du snake, qui est due à la faible résolution à laquelle l’image est analysée.

Le temps de calcul de la méthode de suivi proposée est d’environ 35 millisecondes par image. L’architecture utilisée est toujours un PC Pentium 4 cadencé à 1700 MHz. Il est donc possible de suivre en temps réel des objets en mouvement dans une scène en mouvement, en utilisant des informations de gradient et de couleur.

Contrairement aux justifications théoriques, l’analyse monorésolution s’effectue quasiment aussi rapidement que l’analyse multirésolution (l’écart n’est que de quelques millisecondes).

7.7. Conclusion 134

FIG. 7.7 – Suivi d’objet non-rigide dans un cadre multirésolution. Les images ont été analysées à une résolution 256 fois inférieure à la résolution originale.

Cela est dû en partie au temps nécessaire pour créer la représentation multirésolution de l’image.

Ce traitement peut être évité si l’on analyse des séquences vidéo compressées (comme celles au format MPEG ou M-JPEG). Dans ce cas, les coefficients DC peuvent être utilisés direc-tement (sans décompression) pour obtenir des images à faible résolution. La décompression complète des trames de la séquence vidéo n’est alors pas nécessaire si l’algorithme converge à faible résolution. Cependant, après avoir analysé le temps nécessaire pour construire la repré-sentation multirésolution de l’image, il s’avère que celui-ci reste faible (de l’ordre de quelques millisecondes). L’absence de différence dans les temps de calcul des images monorésolution et multirésolution se justifie donc par une raison différente.

On peut remarquer que l’observation des temps de calcul similaires pour les analyses mo-norésolution et multirésolution est due au fait que l’algorithme de suivi a déjà été optimisé (par exemple le gradient n’est calculé qu’une seule fois par image, et sur une zone limitée autour du snake initial) et est déjà caractérisé par une complexité algorithmique faible.

7.7 Conclusion

Dans ce chapitre, nous avons traité le problème du suivi d’objet non-rigide. Ce type d’objet ne peut être suivi avec les méthodes dédiées aux objets rigides décrites dans les chapitres 5 et 6, et nécessite d’utiliser un outil adapté. C’est pourquoi notre choix s’est porté sur les snakes introduits dans [Kas88]. Quoiqu’efficaces, les snakes présentent différents inconvénients liés à l’initialisation, aux nombreux paramètres, au changement possible de topologie, et au temps de calcul. Dans ce chapitre, notre contribution a donc consisté à résoudre les différents problèmes posés par les snakes, afin d’obtenir une méthode de suivi d’objet non-rigide par contours actifs respectant les différentes contraintes énoncées précédemment.

Afin de limiter la sensibilité du modèle à l’initialisation, nous avons proposé une approche originale qui consiste à intialiser le snake sous la forme d’un rectangle, puis à le réduire

au-7.7. Conclusion 135 tour de l’objet suivi. De ce fait, le suivi est robuste aux conditions d’initialisation. Pour gérer les changements de topologie, nous avons introduit un processus de scission, ce qui permet de suivre des objets même s’ils sont proches les uns des autres. Finalement, la contrainte la plus difficile à prendre en compte dans le cas des snakes estCrapidité. Pour résoudre le problème tout en prenant en compte cette contrainte, nous avons combiné différentes techniques d’optimisa-tion : calcul du gradient une seule fois par image et sur une zone limitée de celle-ci, absence de filtrage ou de prétraitement global, absence d’estimation de mouvement de l’objet suivi, ab-sence d’estimation et de compensation du mouvement de la caméra, analyse multirésolution des images, etc..

Dans cette partie nous avons traité le problème du suivi d’objet en s’intéressant à trois classes d’objet : les objets rigides qui peuvent être appris (chapitre 5), les objets rigides de petite taille qui ne peuvent pas être appris (chapitre 6), et enfin les objets non-rigides (chapitre 7). Ces trois types d’objets peuvent respectivement être suivis à l’aide de méthodes basées sur les chaînes de Markov cachées ou le template matching, la recherche des détails dans l’image, et les contours actifs. Après avoir effectué un découpage de la séquence en plans (partie I), l’analyse combinée de l’arrière-plan (partie II) et des objets (partie III) permet de fournir les informations nécessaires à l’interprétation du contenu de la séquence (c.f. figure 1 page 4). A l’aide de cette interprétation, il est ensuite possible de détecter des événements prédéfinis. Les différents outils génériques décrits précédemment peuvent donc être intégrés dans des systèmes spécifiques d’indexation vidéo. Nous présentons dans la partie suivante trois systèmes différents d’indexation vidéo, basés sur une source vidéo contrôlée ou non.

Quatrième partie Applications

136

137 Dans les parties précédentes, nous avons identifié les différents problèmes à résoudre pour mettre en place un système d’indexation vidéo. Pour chacun des problèmes présentés, nous avons donné quelques points d’entrée dans la littérature et proposé des méthodes performantes permettant d’obtenir le résultat souhaité, en prenant en compte les différentes contraintes énon-cées. Ces outils se caractérisent notamment par leur généricité : ils peuvent être utilisés dans différentes applications et ne dépendent pas d’un contexte donné. De même, l’architecture pro-posée peut être utilisée sans modification pour réaliser différents systèmes d’indexation spéci-fiques, chacun répondant à un besoin précis. Nos travaux peuvent donc être comparés à ceux de Amer [Ame02], Carrive [Car00], ou encore Haering [Hae00] qui proposent également des ar-chitectures et des outils pour la mise en place de systèmes permettant la détection d’événements dans des séquences vidéo.

L’architecture et les outils proposés précédemment ont été validés expérimentalement. Pour cela, nous avons réalisé plusieurs systèmes d’indexation vidéo que nous avons regroupés en deux catégories. La première catégorie, présentée dans le chapitre 8 concerne les systèmes ana-lysant des séquences vidéo acquises par une source non-contrôlée (typiquement une séquence télévisée). Nous illustrerons ce cas par un système temps réel de détection des buts inscrits dans un match de football. La seconde catégorie, illustrée dans le chapitre 9, correspond au cas d’une source contrôlée, comme par exemple une caméra numérique ou une webcam dont on connait et maîtrise les différents réglages. Ce cas sera illustré par deux applications, faisant toutes deux suite aux demandes de l’entreprise Atos Origin ayant financé cette thèse au travers d’un contrat CIFRE. La première application est liée à l’obtention de statistiques relatives à la fréquenta-tion d’un site. Le but de cette applicafréquenta-tion est d’évaluer l’interêt commercial du site en quesfréquenta-tion afin de mettre en place (ou non) un distributeur automatique de billets. La seconde application concerne la vidéosurveillance d’une salle informatique sécurisée. Le problème à résoudre ici consiste en la détection de deux événements prédéfinis : "le nombre de personnes entrant sur le site est supérieur au nombre autorisé", et "la zone d’intervention est différente de celle prévue".

Chapitre 8

Cas d’une source vidéo non-contrôlée : Détection de buts dans des matchs de

football

La première application que nous présentons dans cette partie illustre le cas d’une séquence vidéo non-contrôlée, c’est-à-dire acquise à l’aide d’une ou plusieurs sources dont les caracté-ristiques nous sont inconnues. Afin d’illustrer ce cas de figure, nous avons choisi d’analyser des séquences vidéo issues de retransmissions télévisées. Plus précisément, l’objectif ici consiste en la détection, en temps réel, de courtes périodes du film pendant lesquelles un but est inscrit lors d’un match de football. Le système d’indexation vidéo nécessaire s’inspire donc directement de l’architecture décrite au début de ce mémoire et utilise les différents outils qui ont été présentés.

Dans ce chapitre, nous décrirons tout d’abord plus précisément le problème à résoudre.

L’analyse de séquences vidéo de football, ou plus généralement de sport, a suscité récemment l’intérêt de nombre de chercheurs de la communauté. C’est pourquoi nous dresserons un pano-rama des systèmes décrits dans la littérature. Ce panopano-rama nous permettra notamment de situer notre contribution vis-à-vis des travaux existants. Nous introduirons alors l’architecture du sys-tème d’indexation vidéo que nous proposons pour résoudre le problème donné. Les différents outils d’analyse d’images utilisés ici ont déjà fait l’objet d’une description dans les chapitres précédents. Par ailleurs, les séquences vidéo télévisées comportent en outre une bande son, qui a également été analysée. Cette analyse fera l’objet d’une section particulière.

138

8.1. Problématique 139

8.1 Problématique

Le sport occupe une place de plus en plus importante dans les média, notamment la té-lévision. La durée et la fréquence des retransmissions télévisées d’événements sportifs sont en constante augmentation. Cependant, le public se considère souvent comme "noyé" sous le nombre d’images diffusées, puisque qu’il n’est intéressé que par une faible portion de ces images. Ainsi, de nombreux téléspectateurs souhaiteraient ne voir que les moments importants (ou moments clé) d’une rencontre sportive. D’où la diffusion quasi-systématique, à la fin de la rencontre concernée, d’un résumé constitué des moments principaux. Dans le cas d’un match de football, ces moments sont principalement ceux des buts inscrits lors de la rencontre. Ce résumé n’est disponible qu’à la fin de la rencontre et il n’est donc pas permis aux intéressés de visua-liser les moments importants à l’instant où ceux-ci se déroulent. Pourtant, les technologies de diffusion de contenu vidéo permettraient à l’heure actuelle, ou pour certaines permettront bien-tôt, de diffuser aux utilisateurs, et sur différents canaux, les extraits les plus pertinents d’une retransmission télévisée. Ainsi les destinataires de ces messages vidéo sont ou seront capables de les recevoir via la télévision, Internet, la téléphonie mobile (avec l’UMTS), etc. Certaines propositions commerciales sont faites actuellement dans ce sens. Mais la sélection des extraits est effectuée manuellement. Le problème que nous traitons ici consiste donc en la détection, en temps réel, d’événements prédéfinis (comme des buts inscrits lors de matchs de football).

Ce problème résolu, il serait alors possible, grâce aux technologies énoncées précédemment, de transmettre les extraits pertinents (ici les portions de séquences vidéo correspondant aux buts) aux personnes interessées. La figure 8.1 illustre le principe exposé ici.

L’application que nous considérons dans ce chapitre consiste donc en la détection, en temps réel, des buts inscrits dans des matchs de football, par analyse des séquences vidéo issues des retransmissions télévisées. Le problème s’inscrit dans l’analyse de séquences vidéo sportives, champ d’application ayant fait l’objet de différents travaux publiés dans la littérature. Nous dressons donc un panorama de ces travaux, afin notamment de mieux situer notre contribution.