PROCEDE DE LOCALISATION ET DE SEGMENTATION FLOUE D'UNE PERSONNE DANS UNE IMAGE VIDEO
La présente invention concerne un procédé de localisation d'une personne dans une image vidéo. Elle concerne également un procédé de segmentation floue de ladite personne. L'invention trouve une application particulièrement avantageuse, mais non limitative, dans le domaine du filtrage des scènes visiophoniques. Toutefois, d'autres domaines d'applications peuvent être envisagés comme la surveillance ou la transmission télévisée par ADSL. Dans les applications liées aux services de visiophonie, destinés au grand public notamment, on rencontre deux types de difficultés, à savoir : - dans le domaine résidentiel, le fait de montrer une image de son environnement personnel est souvent ressenti par les utilisateurs comme une intrusion dans leur vie privée. Cette atteinte au respect de l'intimité constitue un frein psychologique important à l'utilisation de la visiophonie à domicile. - dans le domaine des téléphones mobiles, un autre type de difficultés se présente qui est lié au fait que transmettre un grand nombre d'informations complexes (rues, voitures, immeubles, fond en mouvement,... ) n'a pour résultat que de brouiller le message visiophonique que l'utilisateur nomade souhaite envoyer. Dans les deux situations, mais pour des raisons différentes, il s'avère nécessaire d'éliminer le fond de l'image pour ne conserver que les personnes en cours de conversation téléphonique. Pour la visiophonie résidentielle, l'avantage est de préserver l'intimité des utilisateurs. Pour la visiophonie mobile, l'avantage est de pouvoir augmenter le taux de compression en ne transmettant que les éléments d'image utiles. Pour atteindre ces résultats, il faut, sur le plan technique, être capable de segmenter l'image vidéo afin de distinguer du reste de l'image que l'on
veut éliminer les zones d'intérêt que l'on veut conserver, c'est à dire celles dans lesquelles la personne que l'on veut isoler est présente. Il est clair que cette opération de segmentation, dite floue, nécessite au préalable une opération de localisation de la personne dans l'image vidéo. Parmi les procédés connus de localisation, on peut citer l'utilisation d'un réseau de neurones pour classifier les éléments d'image (pixels) en tant qu'appartenant au visage ou non. L'inconvénient de cette approche réside dans le temps de calcul qui en général ne permet pas de faire des traitements en temps réel. II existe également d'autres procédés de localisation dit par modèles déformables. Ces modèles sont basés sur un algorithme de contour actif dont le principe général consiste d'abord à isoler le sujet à extraire dans un contour initial approché et à faire évoluer le contour par déformation algorithmique vers un contour final constituant une bonne approximation quant à la localisation du sujet d'intérêt dans l'image. Dans certains algorithmes de contour actif, l'évolution du contour est guidée par l'optimisation simultanée de deux critères. Le premier mesure la régularité géométrique du contour, en s'appuyant par exemple sur le calcul de sa courbure locale. Le second mesure une propriété de l'intensité lumineuse le long des points de l'image traversés par le contour déformable, par exemple la norme du gradient de l'intensité lumineuse afin de favoriser l'attraction du contour vers des points de fort contraste. Ces méthodes sont efficaces lorsque l'utilisateur peut initialiser le modèle de manière approximative autour de la région d'intérêt et exigent donc une initialisation proche de la solution, ce qui suppose une connaissance a priori de la position de la personne à extraire dans l'image. De ce fait, aucune mise en œuvre pratique de ces algorithmes ne peut être envisagée. Enfin, on remarquera en outre qu'une initialisation éloignée de la solution nécessite d'avoir recours à de fréquentes re-paramétrisations qui peuvent présenter des difficultés d'adaptation à la géométrie de la forme étudiée. Aussi, le problème technique à résoudre par l'objet de la présente invention est de proposer un procédé de localisation d'une personne dans une image vidéo codée en couleur selon un système de codage couleur
donné, ledit procédé utilisant au moins un algorithme de contour actif destiné à déterminer un contour final de la personne à extraire à partir d'un contour initial approché, procédé qui permettrait d'obtenir une localisation automatique en un temps de traitement optimal en fonction des degrés de complexité de la séquence vidéo, rendant possibles une implémentation en temps réel, une bonne stabilité temporelle et un usage facile en réduisant le nombre de paramètres à régler par l'utilisateur. La solution au problème technique posé consiste, selon la présente invention, en ce que ledit procédé comporte les étapes suivantes : -a) détermination d'un contour initial approché de la personne à extraire, consistant à : -ai) transformer le système de codage couleur de l'image en un codage TSL, -a2) effectuer une segmentation initiale de l'image à partir du calcul de la saturation moyenne Sm de l'image et de sa comparaison à deux seuils prédéterminés S1 et S2 (>S1 ) : -a21 ) si Sm>S2 : appliquer à l'image un filtre de « teinte chair », -a22) si S1 <Sm<S2 : appliquer à l'image une opération d'égalisation d'histogramme, puis un filtre de « teinte chair », -a23) si Sm<S1 : appliquer à l'image une opération d'égalisation d'histogramme suivie d'une opération de seuillage d'histogramme, puis une première opération de segmentation par le mouvement de l'image, -a3) appliquer un modèle de forme à l'image ainsi segmentée et en déduire ledit contour initial approché,
-b) choix d'un algorithme de contour actif,
-c) application dudit algorithme de contour actif au contour initial approché pour obtenir le contour final localisant la personne à extraire dans l'image vidéo. Ainsi, du fait que la première étape a) de recherche d'un contour initial approché est effectuée systématiquement sur l'ensemble de l'image vidéo, on comprend que le procédé de localisation conforme à l'invention n'exige pas
une connaissance a priori de la topologie du sujet à détecter et se prête donc bien à un traitement automatique de l'image. Par ailleurs, la référence au seul paramètre de saturation moyenne Sm afin de définir le type de traitement à appliquer pour réaliser la segmentation initiale de l'image simplifie considérablement le procédé de localisation, objet de l'invention, en limitant le paramétrage et en associant un traitement bien déterminé en fonction de la valeur de ce paramètre. Il en résulte la possibilité d'une mise en œuvre en temps réel du procédé de l'invention, ce qui constitue un avantage substantiel par rapport aux autres méthodes de localisation connues. Comme on le verra en détail plus loin, le procédé de localisation conforme à l'invention peut utiliser deux types d'algorithme de contour actif:
- l'algorithme connu sous le nom de B-snake décrit par exemple dans les publications suivantes :"Active Contour Models: Overview, Implémentation and Applications" (S. Menet, P. Saint-Marc and G. Medioni, IEEE, 1990, pp. 194-199) et "Représentation of Range Data with B-spline surface Patches (Chia-Xei Liao end G.Medioni, IEEE, 1992, pp. 745-748).
- un algorithme dit B-snake-GVF qui est un algorithme dérivé du précédent qui prend en compte la force externe connue sous le nom de GVF (Gradient Vector Flow), décrite dans les publications suivantes: "Snakes, Shapes, and Gradient Vector Flow" (Chenyang Xu, IEEE Transactions on Image Processing, vol. 7, n° 3, March 1998), "Gradient Vector Flow: A New External Force for Snakes" (Chenyang Xu and Jerry L Prince, IEEE Proc. On Comp. Vis. Patt. Recog. (CVPR'97), pp. 66-71) et "Global Optimality of Gradient Vector Flow" (Chenyang Xu and Jerry L. Prince, 2000 Conférence on
Information Sciences and Systems, Princeton University, March 15-17, 2000). L'algorithme B-snake est celui qui est le plus classiquement utilisé. Son implémentation est simple et son temps de calcul relativement rapide. Par contre, il nécessite un contour initial assez proche de l'objet à extraire. En effet, si le contour initial est trop lointain, la convergence vers le sujet est mal aisée et surtout très lente. L'algorithme B-snake-GVF est beaucoup plus robuste et conduit à de bons résultats même dans le cas d'un sujet à extraire présentant des
concavités ou si les contours initiaux sont lointains. Par contre, son implémentation est plus complexe que pour l'algorithme B-snake, mais son principal inconvénient réside dans le fait qu'il n'est pas utilisable si l'image vidéo contient deux sujets d'intérêt trop rapprochés, il se produit alors de interférences rendant cet algorithme inexploitable. A cet égard, on peut rappeler que le principe des algorithmes de contour actif repose sur la minimisation constante de l'énergie Ef de la courbe représentant le contour. Cette énergie est définie de sorte à présenter un minimum local sur le contour extérieur d'objets d'une image. Ainsi le contour initial évolue jusqu'à épouser sa forme finale. Dans l'algorithme B-snake-GVF, l'expression de l'énergie totale à minimiser est :
Eext etβ étant des coefficients un coefficient qui permet de
par l'algorithme B-snake classique et l'algorithme B-snake-GVF, en fonction de la valeur de la saturation moyenne Sm de l'image. L'invention propose une optimisation dans le choix de l'algorithme à utiliser consistant en ce que l'étape b) de choix d'un algorithme de contour actif comprend les étapes suivantes :
-b1 ) détermination du nombre NBP de personnes dans l'image vidéo, -b2) choix de l'algorithme : -b21) si NBP=1 : choix de l'algorithme B-snake-GVF, -b22) si NBP>1 : choix de l'algorithme B-snake. De cette façon, on obtient que si une seule personne est présente dans l'image l'algorithme B-snake-GVF, plus robuste, est utilisé pour un traitement efficace du contour même dans des conditions initiales difficiles. A l'inverse, si plusieurs personnes sont présentes, on utilise l'algorithme B-snake qui dans ce contexte donne les meilleurs résultats.
Il faut également signaler qu'afin d'affiner le résultat de- segmentation initiale obtenu dans le cas d'une saturation moyenne Sm comprise entre les deux seuils S1 et S2, l'invention prévoit que l'étape a22) est complétée par une deuxième opération de segmentation par le mouvement de l'image. D'une manière générale, ladite deuxième opération de segmentation par le mouvement de l'image est une méthode de simple différence d'images, comme cela sera décrit plus loin. Le procédé de localisation conforme à l'invention tel qu'il vient d'être caractérisé permet de définir un procédé de segmentation floue d'une personne dans une image vidéo qui, dans le cas de l'utilisation d'un algorithme de contour unique, est remarquable, selon l'invention, en ce que ledit procédé consiste à localiser ladite personne au moyen du procédé de localisation précédent, puis à effectuer les opérations de segmentation floue suivantes : -d1) calculer un indice IC de confiance,
-d2) comparer ledit indice IC de confiance à un seuil ICs prédéterminé : -d21) si IC>=ICs : effectuer une segmentation simple de l'image en multipliant respectivement par 1 et 0 l'intérieur et l'extérieur du contour final, -d22) si IC<ICs : effectuer une segmentation complexe de l'image en multipliant par 1 l'intérieur du contour final et par un nombre compris entre 0 et 1 fourni par un filtre gaussien l'extérieur dudit contour. Dans le cas où le procédé de localisation, objet de l'invention, met en œuvre, au choix, l'un ou l'autre de deux algorithmes de contour actif selon le nombre NBP de personnes présentes dans l'image vidéo, ledit procédé de segmentation est remarquable, selon l'invention, en ce que ledit procédé consiste à localiser ladite personne au moyen du procédé de localisation précédent, puis à effectuer les opérations de segmentation floue suivantes : -d1) calculer un indice IC de confiance, -d2) comparer ledit indice IC de confiance à un seuil ICs prédéterminé : -d21) si IC>=ICs et si IC<ICs avec NBP=1: effectuer une segmentation simple de l'image en multipliant respectivement par 1 et 0 l'intérieur et l'extérieur du contour final,
-d22) si IC<ICs avec NBP>1 : effectuer une segmentation complexe de l'image en multipliant par 1 l'intérieur du contour final et par un nombre compris entre 0 et 1 fourni par un filtre gaussien l'extérieur dudit contour. La description qui va suivre en regard des dessins annexés, donnés à titre d'exemples non limitatifs, fera bien comprendre en quoi consiste l'invention et comment elle peut être réalisée. La figure 1 est un diagramme représentant un procédé de localisation et de segmentation floue d'une personne dans une image vidéo selon l'invention. La figure 2 est un diagramme représentant l'étape A d'initialisation du procédé de la figure 1. La figure 3 est un diagramme représentant un procédé de détermination du nombre NBP de personnes dans l'image vidéo considérée. La figure 4 est un schéma illustrant deux exemples d'application du procédé de localisation et de segmentation floue conforme à l'invention. Sur la figure 1 est représenté de façon schématique un procédé de segmentation floue d'une personne dans une image vidéo. Ce procédé comporte essentiellement quatre étapes désignées par les lettres A, B, C, et D. Les étapes A et B correspondent à la mise en oeuvre d'un procédé de localisation de la personne que l'on cherche à extraire de l'image vidéo considérée. L'étape C est l'étape de segmentation floue proprement dite qui consiste à détacher la personne du fond ou arrière-plan de l'image en traitant ce dernier de manière à le rendre flou ou l'éliminer, sans affecter pour autant le rendu visuel de la personne. La dernière étape D est un traitement de données destiné notamment à déterminer l'évolution temporelle des paramètres utiles afin d'actualiser le contour de la personne image par image et d'être en mesure d'appliquer le meilleur algorithme de localisation. Dans le contexte de l'invention, le procédé de localisation décrit ici est du type de ceux utilisant au moins un algorithme de contour actif destiné à déterminer un contour final de la personne à extraire à partir d'un contour initial approché.
La première étape du procédé de localisation conforme à l'invention est représentée par l'étape A de le figure 1 et consiste à définir un contour initial approché de la personne à extraire. Cette opération est réalisée par un module d'initialisation automatique dont la mise en œuvre va maintenant être décrite en regard de la figure 2. Auparavant, il convient d'insister sur le caractère automatique de cette étape d'initialisation, au sens où, contrairement aux autres algorithmes connus, le contour initial approché est, selon l'invention, déterminé par une analyse globale de l'image vidéo considérée, sans qu'il soit nécessaire d'avoir une connaissance a priori de la position de la personne recherchée dans cette image. Comme l'indique la figure 2, l'étape A du procédé de localisation conforme à l'invention débute par la transformation du codage couleur de l'image vidéo (généralement le codage RVB (Rouge-Vert-Bleu) classique) en un codage TLS, connu en soi, construit autour des trois paramètres constitués par le Teint, la Luminance et la Saturation de l'image. Le codage TLS permet en particulier de calculer la saturation moyenne Sm de l'image. Cette grandeur est particulièrement pertinente pour l'invention puisqu'elle permet de segmenter le procédé de localisation en trois cas possibles en fonction de la valeur de la saturation moyenne Sm, chacun de ces cas étant optimisé en nombre de paramètres et en temps de calcul. En effet, l'idée de base pour la recherche du contour initial approché est d'appliquer un filtre dit de « teinte chair » sur la composante « Teinte » de l'image codée TLS, ceci de manière à faire apparaître au moins le visage de la personne à extraire. Or, le degré de pertinence du filtre de « teinte chair » dépend de la saturation moyenne Sm de l'image ; plus la saturation est grande et plus l'application du filtre de « teinte chair » conduira à de bons résultats en terme de définition du contour initial approché. En pratique, l'invention fixe deux seuils S1 et S2>S1 pour la saturation moyenne Sm :
- si la saturation Sm est élevée, supérieure à S2, on se trouve dans un cas où le filtrage de « teinte chair » est suffisant à lui seul pour localiser avec précision la position dans l'image de la personne à extraire,
- si la saturation Sm est moyenne, c'est à dire comprise entre S1 et S2, le filtrage de « teinte chair » ne peut être utilisé seul pour donner une
localisation approchée acceptable de la personne. Dans ce cas, on a recours à une égalisation d'histogramme de luminace effectuée sur la composante Luminance du codage TLS. Cette opération a pour effet d'éliminer les ombres, sans influence importante sur les caractéristiques de l'image, ce qui rend le filtrage « teinte chair » plus pertinent et plus significatif. Au besoin, on peut encore améliorer les résultats en appliquant une segmentation complémentaire par le mouvement de l'image en partant de l'hypothèse que dans les images visiophoniques le sujet d'intérêt fait partie des éléments de l'image susceptibles de bouger ; dans la visiophonie fixe c'est en général le seul élément en mouvement, alors qu'en visiophonie mobile d'autres éléments peuvent être en mouvement tels que des feuilles qui bougent ou des voitures qui passent. Dans la mesure où, dans ce cas, une segmentation par le mouvement d'image très précise n'est pas nécessaire, on a recours à une segmentation par simple différence d'images. Cette méthode est expliquée en détail dans l'article « Localisation des personnes dans une séquence vidéo » (A. Rojbi, J-C. Schmitt, A Georges, P . Boissanade, 17 janvier 2003, Université Claude-Bernard - Lyonl).
- si la saturation Sm est faible, inférieure à S1, le filtrage « teinte chair » n'est plus significatif, il faut alors effectuer comme précédemment une égalisation d'histogramme de luminance suivie, cette fois, d'un seuillage d'histogramme de luminance qui consiste à calculer le gradient de luminance afin de déterminer les zones de transition et les contours d'objets. Dans ce cas, la segmentation par le mouvement est réalisée par une autre méthode connue sous le nom de maximum de vraisemblance, beaucoup plus précise que la simple différence d'images. Cette méthode est également décrite dans l'article « Localisation des personnes dans une séquence vidéo » cité ci-dessus. Enfin, on peut voir sur la figure 2 qu'un modèle de forme humaine est appliqué à l'image segmentée obtenue à l'issue de l'un quelconque des trois traitements possibles en relation avec la valeur de la saturation Sm. Le résultat de cette opération est la détermination du contour initial approché recherché pour la personne à extraire et l'élimination des objets retenus par la segmentation par le mouvement mais qui ne sont pas des personnes. L'application du modèle de forme est également décrite dans l'article
« Localisation des personnes dans une séquence vidéo » mentionné ci- dessus. Les valeurs des seuils S1 et S2 de saturation sont déterminées de manière expérimentale. Le demandeur a établi que des valeurs de 0,4 pour S 1 et de 0,7 pour S2 conduisaient à des résultats satisfaisants. Revenant à la figure 1, on voit qu'après l'étape A d'initialisation est effectuée une étape B visant à choisir l'algorithme de contour actif le plus efficace en termes de temps de calcul et de paramétrage pour aboutir au contour final de la personne à extraire en partant du contour initial approché précédemment obtenu. Ainsi que le montre la figure 1 , le choix d'un algorithme de contour actif s'effectue entre deux possibilités, à savoir, d'une part, un algorithme robuste, l'algorithme B-snake-GVF, pouvant converger très rapidement vers le contour final même en partant d'un contour initial approché éloigné, mais inexploitable en présence de plusieurs personnes dans l'image, et, d'autre part, un algorithme moins robuste, l'algorithme B-snake, qui présente néanmoins l'avantage de pouvoir être utilisé même si plusieurs personnes sont présentes dans l'image. Pour choisir entre ces deux algorithmes, il faut donc déterminer le nombre NBP de personnes participant à l'image vidéo à analyser (B1). Si NBP=1 , alors on utilisera l'algorithme B-snake-GVF (B3), par contre, si NBP>1 on préférera l'algorithme B-snake (B2). La figure 3 montre comment le nombre NBP peut être déterminé. A partir de l'histogramme de luminance de l'image, on identifie la présence ou non d'une ou plusieurs vallées. Le terme « vallée » signifie ici une zone de minimum global de niveaux de gris défini à partir de l'histogramme de luminance. Si l'image ne comporte pas de telles vallées, on en conclut alors qu'une seule personne ne peut être dans l'image, d'où NBP=1. Dans le cas d'une détection d'une ou plusieurs vallées, les points de séparation correspondants définissent des zones représentant potentiellement des personnes ou des objets. Pour déterminer s'il s'agit de personnes ou d'objets, on applique aux zones ainsi obtenues un modèle de forme humaine classique en effectuant une corrélation entre ces zones et le
modèle de forme. Une erreur de 20% dans la corrélation est acceptée pour retenir la zone comme celle d'une personne. Dans le cas où les points de séparation mis en évidence ne sont pas validés en tant que zones représentant des personnes mais plutôt des objets, ces zones ne sont pas retenues. Le nombre NBP de personnes est alors celui des zones restantes retenues et validées. Enfin, l'algorithme de contour actif ainsi défini à partir du nombre NBP est appliqué au contour initial approché pour obtenir en sortie de l'étape B le contour final de la personne à extraire. L'étape C de la figure 1 correspond à la mise en œuvre du procédé de segmentation floue proprement dit, lequel utilise le contour final obtenu à l'issue de l'étape B du procédé de localisation de personnes qui vient d'être décrit. Comme on peut le voir sur la figure 1 , la segmentation floue, qui consiste à rendre flou l'arrière-plan de l'image pour ne conserver que la personne d'intérêt, met en jeu un indice IC de confiance compris entre 0 et 1. Cet indice IC est utilisé lors du choix qui devra s'effectuer entre une segmentation floue simple de l'image consistant à multiplier respectivement par 1 et 0 l'intérieur et l'extérieur du contour final, et une segmentation floue complexe dans laquelle l'intérieur du contour final est multiplié par 1 tandis que l'extérieur de ce contour est multiplié par un nombre compris entre 0 et 1 fourni par un filtre gaussien, ceci pour tenir compte d'une éventuelle incertitude dans la définition du contour final. D'une manière générale, cet indice IC s'exprime de la manière suivante : IC = λ*Sm - (1 - λ)*Bm - κ- ζ, Sm étant la saturation moyenne de l'image, Bm la valeur moyenne du bruit dans l'image, K un paramètre caractéristique d'un mouvement de rotation dans l'image valant 0,08 en présence d'un mouvement de rotation et 0 en l'absence d'un tel mouvement, et ζ un paramètre caractéristique de la texture de l'image valant 0,06 pour une image texturée et 0 pour une image non texturée (une image sera dite texturée si elle comporte plus de 12 régions homogènes).
Expérimentalement, λ est pris égal à 0,9, ce qui montre que la saturation Sm est le paramètre le plus significatif à prendre en considération dans la relation précédente. L'indice IC de confiance ainsi défini est alors comparé (C1) à un seuil ICs lui-même déterminé expérimentalement, par exemple 0,52. Si le procédé de localisation n'utilise qu'un seul algorithme de contour actif (B-snake par exemple), on aura recours à une segmentation simple si IC>=ICs ou à une segmentation complexe si IC<ICs. Si, conformément à la figure 1 , deux algorithmes de contour actif sont utilisés en fonction de la valeur du paramètre NBP, alors le choix de la segmentation à appliquer dépend des deux paramètres IC et NBP. Pour IC>=ICs ou si IC<ICs avec NBP=1 , on effectue une segmentation floue simple (C2), alors que pour IC<ICs avec NBP>1, on effectue une segmentation floue complexe (C3). A titre d'exemple numérique, on peut prendre dans l'équation de IC
Sm=0,8, Bm=0,1 , avec présence d'un mouvement de rotation et d'une image très texturée, ce qui donne IC=0,57>ICs=0,52. On utilisera donc dans ce cas une segmentation floue simple quelque soit le nombre NBP. Enfin, une dernière étape désignée par D sur la figure 1 consiste à effectuer un traitement des données de segmentation issues de l'étape C. Ce traitement a non seulement pour but de suivre l'évolution temporelle du contour final, mais également celui de détecter d'éventuels changements brusques dans l'image vidéo. Dans ce cas, l'étape A d'initialisation automatique est reprise dès le début afin de reconstruire le contour initial approché et obtenir le contour final par application de l'algorithme de contour actif approprié. On constate également sur la figure 1 que le traitement des données permet un calcul périodique de l'indice IC de confiance, par exemple toutes les N images avec N pouvant valoir 30. La figure 4 illustre deux applications possibles non limitatives du procédé de localisation et de segmentation floue conforme à l'invention dans le domaine de la visiophonie.
La première relève de la téléphonie mobile où l'on cherche à éliminer de l'image tous les éléments complexes inutiles du fond de l'image afin d'augmenter la compression et de simplifier le codage vidéo du côté émetteur et la décompression vidéo du côté du récepteur. La seconde concerne la visiophonie résidentielle où l'on cherche davantage à supprimer l'arrière-plan de l'image dans le but de préserver l'intimité de l'émetteur par segmentation floue réalisée chez le récepteur. Dans tout les cas, le procédé de l'invention est mis en œuvre par un programme d'ordinateur comprenant des instructions de code enregistrées sur un support lisible par un module logiciel implanté en aval de la caméra de prise de vues du côté de l'émetteur et, symétriquement, du côté du récepteur.