Brevet FR2857481A1 — publié le 20050114

L'invention concerne un dispositif et une méthode de détection de visages dans une image. La détection de visage est un problème qui se pose dans beaucoup d'applications vidéo et notamment dans les systèmes d'indexation d'images, dans les systèmes de vidéo-téléphonie afin d'améliorer la qualité de la transmission. D'autre part, la détection de visages est un préalable à leur reconnaissance automatique. La reconnaissance de visages ayant beaucoup 10 progressé ces dernières années, la détection devient de plus en plus attendue. - Dans un contexte multimédia, une technique couplant détection et reconnaissance de visages permettrait des requêtes poussées sur des bases de photos personnelles en permettant de trouver toutes les photos où apparaît telle ou telle personne par exemple. - Une telle technique serait également très utile à des entreprises de cinématographie ou de télévision afin d'archiver automatiquement des vidéos sur des critères fins. Plus simplement, un algorithme de détection de visages permet de 20 classer des photos personnelles en plusieurs catégories; sans visage, avec 1 visage, avec peu de visages... Il existe pour le problème de la détection de visages deux types d'approches: les approches basées modèle et les approches basées 25 apparence. Les approches modèles cherchent à définir de manière simple l'objet recherché, en terme de silhouette, couleur, variation de lumière, texture. L'inconvénient de ces méthodes est qu'il est difficile de définir un objet en terme de règles. Si les règles adoptées sont trop strictes, les objets sortant un tant soit peu de la norme ne sont pas détectés. Au contraire, si les règles sont trop vagues, le système détecte beaucoup d'objets non désirés...DTD: Les approches apparence reposent quant à elles sur des méthodes de décisions (ou classificateurs) non paramétriques telle que les réseaux de 2857481 2 neurones. Les règles définissant l'objet à détecter ne sont pas clairement édictées, mais elles sont apprises sur un ensemble d'apprentissage. On effectue sur les images des mesures, les descripteurs (couleur moyenne, couleurs des pixels, transformée en ondelettes...). Le classificateur pondère alors les descripteurs de l'ensemble d'apprentissage de manière à définir ce qu'est l'objet à détecter. Les règles sont alors des moyennes statistiques sur les descripteurs. Le principe de telles solutions est de découper l'image d'entrée en petits morceaux, de soumettre chacun de ces morceaux à un classificateur qui décide si tel ou tel morceau est un visage. Le problème est de décider la taille que doivent avoir lesdits morceaux. Sur une image de type photo d'identité ou sur une photo de groupe, les visages n'ont absolument pas la même taille. Il faut alors faire sur toute image d'entrée un découpage multirésolutions, c'est-à-dire que l'on va soumettre au classificateur chaque quart de l'image, puis chaque huitième, etc. C'est ce qui rend de tels systèmes très lourds en temps de calcul. L'invention propose une méthode simple consistant à utiliser un modèle assez souple pour donner un ensemble réduit de candidat à un système de décision non paramétrique permettant de supprimer le découpage multirésolutions. A cet effet, l'invention propose un procédé de détection de visages dans une image, l'image étant composée d'une pluralité de pixels. 25 Selon l'invention, le procédé comporte les étapes de - détection des pixels de couleur chair dans l'image, - segmentation de l'image en régions de couleur homogène, - sélection, parmi les régions de couleur homogène, des régions comportant un nombre de pixels de couleur chair supérieur à un premier seuil prédéterminé, les régions sélectionnées étant dites régions de couleur chair, - fusion des régions voisines de couleur chair jusqu'à ce que le coût de fusion atteigne un second seuil prédéterminé, le coût de 2857481 3 fusion pondérant de façon linéaire un coût de fusion sur la forme des régions et un coût de fusion sur la couleur des régions, exclusion des faux positifs. En effectuant la segmentation de l'image sur l'image d'entrée et non pas sur la carte de probabilité obtenue à l'issue de l'étape de détection des pixels de couleur chair, on peut rendre possible une meilleure précision en limite. De plus, le calcul du coût de fusion se basant à la fois sur la forme et 10 sur la couleur des régions permet une approche rapide et efficace des régions potentiellement candidates comme étant des visages. Selon un mode préféré de réalisation, l'étape de fusion comporte les sousétapes de - calcul du coût de fusion sur la couleur des régions en calculant la différence de couleur moyenne entre des régions voisines, calcul du coût de fusion sur la forme en calculant - le recouvrement entre l'aire de la région et l'aire d'une ellipse ayant même centre de gravité que ladite région et 20 la recouvrant au mieux, - le caractère elliptique de chaque région par calcul du rapport de la somme du nombre de pixels de la région en dehors de l'ellipse et du nombre de pixels de l'ellipse hors de la région par le nombre de pixels de l'ellipse. - la différence entre le maximum des mesures de caractère elliptique des deux régions voisines et la mesure de caractère elliptique de la région fusionnée. Préférentiellement, l'étape de détection des pixels de couleur chair consiste à définir un modèle de couleur de visage sous la forme d'une loi de probabilité gaussienne bidimensionnelle dans un plan de chrominance. 2857481 4 Selon un mode préféré de réalisation, l'étape d'exclusion des faux positifs consiste à comparer les propriétés des régions fusionnées à certaines propriétés d'un visage et à exclure les régions dont les propriétés sont trop éloignées de celles d'un visage. Selon un mode préféré de réalisation, les propriétés sont choisies parmi la taille de la région, la forme de la région, la couleur moyenne, la variance de la luminance le long de l'axe majeur et une combinaison quelconque de ces propriétés. Selon un mode de réalisation préféré, l'étape d'exclusion des faux 15 positifs comprend les sous-étapes de - calcul d'au moins un descripteur visuel sur les régions fusionnées, - détermination d'un hyperplan optimal dans l'espace des descripteurs entre des images exemple comportant un visage et des images exemple ne comportant pas de visage, - exclusion des régions dont le descripteur ne se situe pas du bon côté de l'hyperplan. Avantageusement, le descripteur est calculé en effectuant une transformation en ondelettes d'un rectangle minimal englobant l'ellipse 25 fusionnée et en affectant au descripteur les variances des coefficients d'ondelettes dans douze images de détail obtenues par décomposition hiérarchique de l'image. L'invention concerne également un dispositif de détection de visages 30 dans une image l'image étant composée d'une pluralité de pixels. Selon l'invention le dispositif comporte: - des moyens de détection des pixels de couleur chair dans l'image, - des moyens de segmentation de l'image en régions de couleur homogène, - des moyens de sélection, parmi les régions de couleur homogène, des régions comportant un nombre de pixels de couleur chair supérieur à un premier seuil prédéterminé, les régions sélectionnées étant dites régions de couleur chair, - des moyens de fusion des régions voisines de couleur chair jusqu'à ce que le coût de fusion atteigne un second seuil prédéterminé, le coût de fusion pondérant de façon linéaire un coût de fusion sur la forme des régions et un coût de fusion sur la couleur des régions, - des moyens d'exclusion des faux positifs. L'invention est également relative à un produit programme d'ordinateur 15 comprenant des instructions de codes de programme pour l'exécution des étapes du procédé de détection de visages selon l'invention, lorsque ledit programme est exécuté sur un ordinateur. L'invention sera mieux comprise et illustrée au moyen d'exemples de modes de réalisation et de mise en oeuvre avantageux, nullement limitatifs, en référence aux figures annexées sur lesquelles: La figure 1 représente la loi de probabilité de couleur chair dans le plan (Cb, Cr). Le procédé comporte une étape de détection des pixels de couleur chair dans l'image. L'espace de couleur utilisé est l'espace (Y, Cb, Cr) qui sépare une composante Y de luminance de deux composantes décrivant les couleurs 30 bleues (Cb) et rouges (Cr). Quelle que soit l'ethnie d'un humain, la couleur de sa peau se trouve dans une portion précise du plan de chrominance. Plusieurs méthodes peuvent être proposées pour construire un modèle de couleur de peau. 2857481 6 Dans le mode de réalisation préféré, conformément à l'hypothèse que la couleur de peau se trouve dans un plan précis du plan de chrominance, on définit un modèle de couleur de peau sous la forme d'une loi de probabilité gaussienne bidimensionnelle dans le plan de chrominance (Cb, Cr) selon la figure 1. Les paramètres de cette loi de probabilité gaussienne sont déterminés par apprentissage. Dans d'autres modes de réalisation, il est possible de se baser sur des approches non paramétriques. Un pixel étant classé comme ayant une couleur chair si l'histogramme de couleur h(r,g), r représentant la couleur rouge et g représentant la couleur verte, est supérieur à un seuil sélectionné de façon empirique à partir de visages exemples. Lorsque les pixels de couleur chair sont identifiés, l'image est segmentée en régions afin d'identifier non plus des pixels mais des régions de couleur homogène. Plusieurs procédés de segmentation peuvent être appliqués. La segmentation s'effectue sur l'image d'entrée et non pas sur la carte de probabilité obtenue à l'issue de l'étape de détection des pixels de couleur chair. Ceci permet en particulier d'obtenir une meilleure précision aux frontières. La segmentation peut être effectuée en regroupant les pixels sur un critère d'homogénéité de couleur ou par une détection de contour, en utilisant 25 pour ceci des méthodes connues de l'homme du métier. Ainsi, une première étape détermine les pixels de couleur chair et une seconde étape, pouvant éventuellement être effectuée en parallèle de la première étape, segmente l'image d'entrée en région de couleurs homogènes. Ensuite, à l'issue de ces deux étapes, les régions dont un certain pourcentage (par exemple plus de la moitié) de pixels sont de couleur chair sont dites régions de couleur chair et sont conservées pour la suite de la recherche des visages. 2857481 7 Lorsque des régions ont été détectées comme étant de couleur chair, il est souhaitable de prendre en compte la forme de ces régions. L'hypothèse de départ est qu'un visage est plutôt de forme elliptique. L'étape suivante consiste donc à favoriser la fusion de macro régions 5 de couleur chair et de forme elliptique. De façon préférée, cette étape consiste à appliquer un procédé de fusion de régions RSST (acronyme anglais de recursive shortest spanning tree ) . Le document utilization of the recursive shortest spanning tree algorithm for video-object segmentation by 2-D affine motion modeling" de Ertem Tuncel et Levent Onutal paru dans le document IEEE transation CSVT, volume 10, 2000 illustre un tel procédé de fusion. La liste des liens entre régions voisines est maintenue à jour et triée par coût de fusion croissant. Les deux régions dont le coût de fusion est le 15 plus faible sont fusionnées itérativement jusqu'à ce qu'un coût de fusion maximal prédéterminé soit atteint. La fusion prend en compte les informations de couleur et de forme. Une fonction de coût C pondérant de façon linéaire un coût de fusion 20 sur la couleur Ccoweur et un coût de fusion sur la forme Cforme est appliquée: C = acc x Ccouleur + a J x C Jbrme Le poids af donné à la forme est par exemple le double du poids donné à la couleur ac. Le coût de fusion effectué sur la couleur est obtenu en effectuant la différence de couleur moyenne entre les régions fusionables. De cette manière, la région fusionnée possède une homogénéité de couleur. Dans l'équation ci-après, (17I,Cb1,Cr1) et (Y2,Cb2,Cr2) sont les vecteurs de couleur moyenne dans l'espace YCbCr de deux régions voisines donc fusionable R1 et R2. Le dénominateur est là pour normaliser le coût entre les valeurs 0 et 1, si les composantes de couleurs sont codées entre 0 et 255. = 3 *12552 [(Y, - YZ /2 + (C-b1 Cb2)2 + (Cr, Cr2 J2] Pour définir le coût de fusion sur la forme, on définit d'abord une 5 mesure de caractère elliptique sur les régions. A cette fin, on détermine comme indiqué en figure 2, les caractéristiques d'une ellipse ayant même centre de gravité que la région. Cette ellipse a une aire au moins égale à la surface de la région et la recouvre au mieux. La méthode dite des moments connue de l'homme du métier 10 peut être, à titre illustratif, utilisée pour déterminer cette ellipse. A chaque région R; est associée une ellipe E. On détermine ainsi le caractère elliptique Er; de la région R; en mesurant le recouvrement mutuel de la région et de son ellipse associée: tous les points de la région hors ellipse ainsi que tous les points à l'intérieur de l'ellipse hors région sont comptés et leur somme est normalisée par l'aire de l'ellipse; plus cette valeur est grande et moins la région est elliptique. Le coût de fusion sur la forme de deux régions voisines RI et R2 est la différence entre le minimum des mesures de caractère elliptique des deux régions fusionables Et-1 et Erg et la mesure de caractère elliptique de la région fusionnée R1vR2. Ce coût est d'autant plus faible que la région fusionnée est plus elliptique que ses parties. Le coût de fusion sur la forme peut par exemple être donné par la formule suivante: C forme = 2 (1 + Max (Erl, Er2) Er, v Er, On a à l'issu de cette étape, un certain nombre de régions de forme elliptique et de couleur chair qui sont candidates pour être des visages. Parmi ces régions, certaines ne sont pas des visages et sont dites faux positifs . Il est donc important d'exclure ces régions. Plusieurs méthodes d'exclusion des faux positifs existent. 2857481 9 Deux méthodes sont décrites, une méthode basée sur une approche paramétrique et une méthode basée sur l'apprentissage d'un classifieur. Approche paramétrique Différentes propriétés des régions fusionnées de forme elliptique et de couleur chair sont mesurées. Ces propriétés sont communes à des visages. On peut citer: - la forme ne doit être ni trop grande ni trop petite, ni trop étirée, l'axe majeur n'est pas trop éloigné de la verticale, la couleur moyenne est chair la variance de la luminance le long de l'axe majeur n'est pas trop forte. Dans d'autres modes de réalisation, d'autres paramètres peuvent être pris en compte. Approche basée sur l'apprentissage. Dans cette alternative, on calcule des descripteurs visuels pour chacune des ellipses candidates. Un classifieur supervisé permet de distinguer les visages des non-visages. Dans le mode préféré de réalisation, un classifieur de type SVM 25 (signifiant machine à vecteur de support ) est utilisé. Ce classifieur détermine, au cours d'une phase d'apprentissage où on lui fournit une base d'exemples et de contre-exemples, un hyperplan optimal dans l'espace des descripteurs, entre visages et non-visages. Cette phase d'apprentissage est effectuée en différé. Une fois cette phase d'apprentissage effectuée, le classifieur est capable de décider en temps réel si un candidat issu de la phase de détection décrite plus haut est un visage ou un non-visage. 2857481 10 Dans d'autres modes de réalisation, des classifieurs de type kmeans ou réseaux de neurones peuvent être utilisés. Plusieurs descripteurs peuvent être utilisés. Dans le mode préféré de réalisation le descripteur utilisé est issu de la transformation en ondelettes (ou sous-bandes) d'un rectangle qui englobe l'ellipse candidate détectée à l'étape précédente comme étant candidate comme indiqué en figure 3. Le descripteur est issu des variances des coefficients d'ondelettes dans les 12 images de détail obtenues par décomposition hiérarchique de l'image comme indiqué sur la figure 4, les douze images de détail étant les images de détail représentées à l'exclusion de la région hachurée. Le circuit pour décomposer les images en sous-bandes est un ensemble de filtres qui filtrent l'image dans les deux directions en sous- bandes basses et hautes fréquences. Le circuit comporte quatre niveaux successifs de décomposition pour décomposer l'image en sous-bandes selon quatre niveaux de résolution. La sous-bande ni comporte les composantes ou coefficients de basse fréquence dans les deux directions du signal image. La sous-bande LH1 comporte les coefficients basse fréquence dans une première direction et haute fréquence dans l'autre direction. La sous-bande HL, comporte les coefficients haute fréquence dans la première direction et basse fréquence dans la seconde direction. Finalement, la sous-bande HH1 comporte les coefficients haute fréquence dans les deux directions. La sous-bande LL1 est ensuite décomposée selon le même principe que décrit ci-dessus en sous-bandes LL2, LH2, HL2, HH2. La sous-bande LL2 est ensuite décomposée selon le même principe que décrit ci-dessus en sous-bandes LL3, LH3, HL3, HH3. La sous-bande LL3 est ensuite décomposée selon le même principe 30 que décrit ci-dessus en sous-bandes LL4, LH4, HL4, HH4. Ce descripteur permet de capturer les propriétés particulières de texture des visages. 2857481 11 Dans d'autres modes de réalisation, un descripteur représentant la variance de la luminance le long de l'axe majeur de l'ellipse peut être utilisé. 12 Revendications 1. Procédé de détection de visages dans une image, l'image étant composée d'une pluralité de pixels, caractérisé en ce qu'il comporte les étapes de - détection des pixels de couleur chair dans l'image, - segmentation de l'image en régions (R;) de couleur homogène, sélection, parmi les régions (R;) de couleur homogène, des régions comportant un nombre de pixels de couleur chair supérieur à un premier seuil prédéterminé, les régions sélectionnées étant dites régions de couleur chair, - fusion des régions (R;) voisines de couleur chair jusqu'à ce que le coût de fusion atteigne un second seuil prédéterminé, le coût de fusiôn pondérant de façon linéaire un coût de fusion sur la forme des régions (R; ) et un coût de fusion sur la couleur des régions (R;), - exclusion des faux positifs. 2. Procédé selon la revendication 1 caractérisé en ce que l'étape de fusion comporte les sous-étapes de calcul du coût de fusion sur la couleur des régions (R;) en calculant la différence de couleur moyenne entre des régions (R;) voisines, calcul du coût de fusion sur la forme en calculant - le recouvrement entre l'aire de la région (R;) et l'aire d'une ellipse (E;) ayant même centre de gravité que ladite région (R;) et la recouvrant au mieux, - le caractère elliptique de chaque région par calcul du rapport de la somme du nombre de pixels de la région en dehors de l'ellipse (E;) et du nombre de pixels de l'ellipse (E;) hors de la région (R;) par le nombre de pixels de l'ellipse (E;). - la différence entre le maximum des mesures de caractère elliptique des deux régions (R;) voisines et la 2857481 13 mesure de caractère elliptique de la région (R;) fusionnée. 3. Procédé selon l'une des revendications précédentes caractérisé en ce que l'étape de détection des pixels de couleur chair consiste à définir un modèle de couleur de visage sous la forme d'une loi de probabilité gaussienne bidimensionnelle dans un plan de chrominance. 4. Procédé selon l'une des revendications précédentes caractérisé en ce que l'étape d'exclusion des faux positifs consiste à comparer les propriétés des régions (Ri) fusionnées à certaines propriétés d'un visage et à exclure les régions dont les propriétés sont trop éloignées de celles d'un visage. 5. Procédé selon la revendication 4 caractérisé en ce que les propriétés sont choisies parmi - la taille de la région, la forme de la région, la couleur moyenne, la variance de la luminance le long de l'axe majeur et une combinaison quelconque de ces propriétés. 6. Procédé selon l'une des revendications 1 à 3 caractérisé en ce que l'étape d'exclusion des faux positifs comprend les sous-étapes de - calcul d'au moins un descripteur visuel sur les régions (R;) fusionnées, détermination d'un hyperplan optimal dans l'espace des descripteurs entre des images exemple comportant un visage et des images exemple ne comportant pas de visage, - exclusion des régions (R;) dont le descripteur ne se situe pas du bon côté 30 de l'hyperplan. 7. Procédé selon la revendication 6 caractérisé en ce que le descripteur est calculé en effectuant une transformation en ondelettes d'un rectangle minimal englobant l'ellipse fusionnée et en affectant au 2857481 14 descripteur les variances des coefficients d'ondelettes dans douze images de détail obtenues par décomposition hiérarchique de l'image. 8. Dispositif de détection de visages dans une image l'image étant composée d'une pluralité de pixels, caractérisé en ce qu'il comporte: des moyens de détection des pixels de couleur chair dans l'image, - des moyens de segmentation de l'image en régions (R;) de couleur homogène, des moyens de sélection, parmi les régions (R;) de couleur homogène, des régions (R;) comportant un nombre de pixels de couleur chair supérieur à un premier seuil prédéterminé, les régions sélectionnées étant dites régions de couleur chair, - des moyens de fusion des régions (R;) voisines de couleur chair jusqu'à ce que le coût de fusion atteigne un second seuil prédéterminé, le coût de fusion pondérant de façon linéaire un coût de fusion sur la forme des régions (R;) et un coût de fusion sur la couleur des régions (Ri), - des moyens d'exclusion des faux positifs. 9. Produit programme d'ordinateur comprenant des instructions de codes de programme pour l'exécution des étapes du procédé de détection de visages selon l'une des revendications 1 à 7, lorsque ledit programme est exécuté sur un ordinateur.