Reconnaissance des scènes vidéo pour adulte
Transcription
Reconnaissance des scènes vidéo pour adulte
Université Mohammed V-Agdal Faculté des Sciences Rabat UFR Informatique et Télécommunications N° 2579 THÈSE DE DOCTORAT Présentée par : Hajar BOUIROUGA Discipline : Sciences de l’ingénieur Spécialité : Informatique et Télécommunications Reconnaissance des scènes vidéo pour adulte Soutenue le : 30 Juin 2012 Devant le jury Président : Driss ABOUTAJDINE, PES, Faculté des Sciences de Rabat, Maroc Examinateurs : Mr Lhoussaine MASMOUDI, PES, Faculté des Sciences de Rabat. Mr Abdallah ADIB, PES, Faculté des Sciences de Mohammedia Mr El Hassane IBN ELHAJ, PES, INPT Rabat. Mr Mohamed WAHBI, PES, EHTP Casablanca. Mme Sanaa EL FKIHI, PA (ENSIAS, Rabat, Maroc Faculté des Sciences, 4 Avenue Ibn Battouta B.P. 1014 RP, Rabat – Maroc Tel +212 (0) 5 37 77 18 34/35/38, Fax : +212 (0) 5 37 77 42 61, http://www.fsr.ac.ma ________________________________________________________________________ AVANT PROPOS Les travaux présentés dans ce mémoire ont été effectués au Laboratoire de Recherche en Informatique et Télécommunications (LRIT) à la Faculté des Sciences de Rabat, Université Mohamed V-Agdal, sous la direction du Professeur Driss ABOUTAJDINE, responsable du laboratoire LRIT, à qui je tiens à exprimer ma profonde gratitude pour m’avoir encadrée avec un grand intérêt ainsi que pour ses encouragements, son ouverture d’esprit et bien sûr ses qualités scientifiques exceptionnelles. Nulle parole ne saurait exprimer toute ma gratitude et mes chaleureux remerciements adressés à Mme Sanaa EL FKIHI, Professeur assistant à ENSIAS et à Mr Abdelillah JILBAB, Professeur agrégé à ENSET, pour avoir bien voulu accepter de diriger ce travail. Que ce modeste travail puisse leur donner entière satisfaction. Je dois une profonde reconnaissance pour l'aide et le soutien qu'ils m’ont apportés, ainsi pour leurs suggestions et leurs contributions, sans oublier bien sûr le partage de leurs connaissances sur le monde de la recherche. Je remercie les membres de mon jury de thèse pour l’intérêt qu’ils ont porté à mon travail. Merci au Professeur Driss ABOUTAJDINE d’avoir accepté de présider mon jury de thèse. Je suis également reconnaissante à Mr Lhoussaine MASMOUDI, Professeur de l'enseignement supérieur à la Faculté des Sciences de Rabat et à Mr El Hassane IBN ELHAJ, Professeur de l'enseignement supérieur à l’INPT de Rabat d’avoir accepté de juger ce travail et d’en être les rapporteurs. Mes sincères remerciements vont également à Mr Abdellah ADIB, Professeur de l'enseignement supérieur à la faculté des sciences et techniques de Mohammedia et à Mr Mohamed WAHBI, Professeur de l'enseignement supérieur à L’EHTP de Casablanca pour leur participation au jury de cette thèse. Je les remercie tous pour leurs remarques et leurs critiques constructives. Je remercie chaleureusement mes parents, proches, professeurs et tous ceux qui ont rendu ce travail possible par leurs conseils, soutiens, remarques et encouragements. Je voudrais maintenant remercier mes amis qui m’ont aidé, au cours de ces dernières années, à conserver ou à retrouver un certain équilibre. Au cours de mon travail de thèse, j’ai été amené à travailler au sein de Maroc-métrie la société qui mesure les audiences TV au maroc dont je saisie l’occasion à remercier tout son corps professoral et surtout son directeur Younès Alami ainsi que toute l’équipe PANEL et DSI qui m’ont épargné aucun effort pour m’orienter afin que je puisse mener a bien cette thèse. Enfin, j’adresse ma profonde gratitude et ma reconnaissance à Mme Sâadia Samri pour son soutien au cours de ces années. Je voudrais enfin renouveler mon affection à ma famille. Maman, Papa, mes deux sœurs Kawtar et Doha mes oncles et ma tante, c’est aussi pour vous et grâce à vous … _________________________________________________________________ RESUME La détection de la peau consiste à détecter les pixels de peau dans une image couleur pour obtenir une image binaire. Elle constitue une étape de prétraitement fondamentale dans plusieurs applications telles que la détection de visage, la segmentation vidéo, le filtrage des images sur le Web et la reconnaissance des scènes vidéo pour adultes. Cependant, c’est une tâche difficile à réaliser à cause de la variation de la couleur de la peau (européenne, africaine, etc.) et la diversité des conditions de prise de vue (lumière, bruit, ...) qui créent une classe de la peau avec beaucoup de variations inter-classe. Dans l’objectif de surmonter ces dernières contraintes nos travaux de thèses consiste à définir un modèle robuste de la distribution de la peau basé sur la fusion des différentes espaces de couleurs. La fusion de classificateurs, a été proposée comme une voie de recherche permettant de fiabiliser la détection en utilisant la complémentarité qui peut exister entre les trois classificateurs. Ensuite, nous avons proposé d’utiliser les informations de mouvement présentes dans la séquence. En effet, le mouvement apparent des pixels est généralement continu au cours du temps. L’utilisation de l’information de mouvement peut être un moyen simple pour mettre en œuvre une technique rapide de détection de peau dans une vidéo. Cette catégorie de systèmes suppose généralement que l’arrière plan de la scène vidéo est stationnaire et que les régions contenant la peau tels que le visage ou/et les mains par exemple sont en mouvement. Dans ce cas, ces régions peuvent être détectées par une simple différence entre l’image courante et l’image précédente. Il semble évident que les hypothèses retenues sont trop fortes. C’est pourquoi l’information de mouvement n’est jamais utilisée seule pour la détection. On la trouve utilisée conjointement avec l’information de couleur de peau. L’exploitation de l’information de mouvement oriente la détection de peau vers des zones préférentielles en éliminant les zones sans intérêt et permet donc une forte réduction de la complexité de la détection et par conséquent une limitation importante des calculs et des traitements. RESUME ___________________________________________________________________________ Ensuite, une vérification de la présence ou pas d’un visage dans la scène ne peut être que très bénéfique. Cette étape permettra au système de détourner l’opération de reconnaissance si la scène ne contient aucun visage. On se base donc sur un vote majoritaire selon le nombre de visages dans les différents frames de la vidéo à analyser. Notre méthode se révèle être en mesure de déterminer et de distinguer efficacement les vidéos à caractère illicite en intégrant la caractéristique de la forme associée à la détection de visage. Cependant, si le nombre de visages dominant dans la vidéo appartient à l’intervalle [1 4], on conclu que cette vidéo peut bien être une vidéo adulte. Pour augmenter les performances de notre démarche on a proposé de compléter le prétraitement en éliminant les images qui présentent des gens avec des costumes de natation. Une manière possible pour traiter ce problème est de créer une méthode d'identification d'objet pour la région peu sûre supérieure qui identifierait la différence entre un corps d'une femme et celle d’un homme. Cette méthode consiste tout d’abord à calculer le nombre de régions de peau dans les images de la vidéo, puis on procède à séparer les régions et en extraire différentes informations, en vérifiant un ensemble de contraintes qui sont aux nombres de deux. L’une concerne le ratio et l’inclination θ de la région et l'autre concerne sa surface, habituellement, dans le cas des organes adultes, ces contraintes ne dépassent pas un certain intervalle, donc tous les segments qui ont un ratio, une inclination et une surface qui ne fait pas partie de cet intervalle seront éliminés. Une phase de prise de décision consiste à calculer des descripteurs qui caractérisent les images pour adultes de la scène sur les zones détectées de la peau. Elle permet d’affecter la probabilité d’appartenance d'une image à l’une des deux classes : Adulte ou non adulte. Un pourcentage de peau élevé correspond à une image qui sera classifiée pour adulte. Tous ces descripteurs composent un vecteur de fonction simple qui sera pris en considération pour prendre notre décision. Cette phase peut être accomplie par plusieurs modèles (arbres, réseaux de neurones (ANN), SVM...). Il n’existe pas une règle générale pour choisir le meilleur classificateur pour une application donnée. Pour cela, le choix entre ces classificateurs se fait d’une manière empirique en utilisant les résultats de classification comme critère de performance. A cette fin, nous avons présenté une étude comparative entre les deux classificateurs ANN et SVM en termes de RESUME ___________________________________________________________________________ taux de bonne reconnaissance et on a conclu que la méthode SVM avec noyau gaussien est celle qui donne les meilleurs résultats. Mots clefs : Détection de la peau, Détection de mouvement, visage, classification, réseaux de neurones, SVM, descripteurs des images adultes, filtrage vidéo. _________________________________________________________________ ABSTRACT Skin detection is considered a fundamental step in many image and video processing applications namely, face detection, video segmentation, filtering internet images and recognition of adult video scenes. It consists in detecting skin and non-skin pixels in a given color image to obtain a binary one. However, this is not always an easy task because the change in skin color (European, African, etc) and the variety of shooting conditions (light, noise, etc) create a class of skin with a lot of inter-class variations. To overcome these drawbacks, our objective in this thesis is to put forward a robust approach capable of discriminating between skin and non skin areas. Our contributions are based on the fusion of different color spaces with the aim to take advantages of the complementarity that exists between these spaces. Besides, we propose to use the motion information present in the video sequence in conjunction with the information of skin color. Indeed, the apparent motion of pixels is generally continuous over time. Using motion information can be a simple way to implement a rapid detection of skin in a video by assuming that the background of the video scene is stationary and regions containing the skin such as the face and the hands are in motion. Indeed, in skin detection, the exploitation of motion properties allows the elimination of uninteresting areas and reduces largely the complexity of detection and, therefore, a significant limitation of the computing process. In our work, we focus on the detection of adult video scenes. In this way, the verification of a face in the scene can be very useful. This step will allow the system to ignore video analysis if no face is in the scenes. It is, therefore, based on a majority vote by the number of faces in different frames of video to analyze. Our method has proven to be able to identify videos that may contain adult scenes by integrating the characteristic shape associated with face detection. However, if the number of dominant face in the video belongs to the interval [1 4], we concluded that this video may well be an adult video. To improve the performance of our approach it was proposed to complete the pre-treatment by removing the images that present people with swimming costumes. One possible way to deal with this problem is to create a method of object identification for the region that would ABSTRACT ___________________________________________________________________________ identify the difference between the body of a woman and that of a man. This method first to calculates the number of regions of skin in the images of the video, then proceeds to separate different regions and extracts information by checking a set of constraints, namely first the ratio and the inclination θ of the region and then its surface. Usually in the case of adult organs, these constraints do not exceed a certain range. So, all segments that have a ratio, an inclination and a surface that is not part of this range will be eliminated. A decision phase, based on descriptors that characterize adult images obtained from the detected areas of the skin, determines the probability of belonging to an adult or a non adult image. A high percentage of skin corresponds to an image that will be classified for adults. All these descriptors comprise a vector of simple function that will be considered in making our decision. This phase can be accomplished by several models (trees, neural networks, SVM ...). There is no general rule for choosing the best classifier for a given application. The choice between these classifiers is empirically using the classification results as a method of performance. To this end, we presented a comparative study of the two classifiers ANN and SVM in terms of correct recognition rate. It was concluded that the SVM method using Gaussian kernel gives the best performances. Keywords: Skin detection, motion detection, classification, neural networks, SVM, descriptors of adult images, video filtering. __________________________________________________________________________ Table des matières Résumé………………………………………………………………………………………...2 Abstract ..……………………………………………………………………………………...5 Tables des matières……………….……………………………………………………………7 Liste des figures ………………………………………………………………………….…..11 Liste des tableaux……………………………………………………………………………..13 Abréviations ……………………………………………………………………………….....14 Introduction Générale…….…………………………………………………………….…….15 Chapitre 1 : Analyse Multimédia 1.1 Introduction ........................................................................................................................ 22 1.2 Etat de l’art et étude des systèmes existants ....................................................................... 22 1.2.1 Les approches de filtrage. ............................................................................................ 23 1.2.2 Logiciels existants ....................................................................................................... 24 1.3 Le fossé sémantique ........................................................................................................... 26 1.4 Le document vidéo ............................................................................................................. 26 1.5 Analyse du contenu de la vidéo .......................................................................................... 27 1.6 Modélisation du Contenu Vidéo ........................................................................................ 28 1.7 Les différents formats de fichiers vidéo numériques ......................................................... 29 1.8 Les images de références .................................................................................................... 30 1.9 Description générale du système de reconnaissance .......................................................... 31 1.9.1 Extraction des caractéristiques .................................................................................... 32 1.9.2 Classification ............................................................................................................... 32 1.10 La segmentation temporelle de vidéo ............................................................................... 33 1.10.1 Segmentation en plans ............................................................................................... 34 1.10.2 Segmentation en scènes ............................................................................................. 34 1.11 La segmentation d'image .................................................................................................. 35 1.11.1 Segmentation en blocs ............................................................................................... 35 1.11.1 Segmentation en régions ............................................................................................ 36 1.12 Les critères pour les mesures des performances .............................................................. 37 1.13 Présentation des données .................................................................................................. 37 1.14 Conclusion ........................................................................................................................ 39 Chapitre 2 : Détection de la peau 2.1 Introduction ........................................................................................................................ 41 2.2 Les espaces couleur pour la détection de la peau ............................................................... 42 2.2.1 L’espace RGB.............................................................................................................. 43 2.2.2 L’espace HSV .............................................................................................................. 44 2.2.3 L’espace YUV ............................................................................................................. 44 2.3 Représentation du contenu visuel des images .................................................................... 45 2.3.1 Les attributs réversibles ............................................................................................... 46 2.3.2 Les attributs non-réversibles ........................................................................................ 46 2.3.2.1 Descripteurs de couleur......................................................................................... 46 2.3.2.2 Descripteurs de texture.......................................................................................... 47 TABLE DES MATIÈRE __________________________________________________________________________________ 2.3.2.3 Descripteurs de forme ........................................................................................... 47 2.3.2.4 Descripteurs de mouvement .................................................................................. 48 2.4 Les méthodes de détection de la peau ................................................................................ 49 2.4.1 Les approches physiques de détection de la peau........................................................ 49 2.4.1.1 La couleur de peau dans l’espace RGB ................................................................ 50 2.4.1.2 La couleur de peau dans l’espace HSV................................................................. 50 2.4.1.3 La couleur de peau dans l’espace YCbCr ............................................................. 51 2.4.2 Les approches paramétriques de distribution de la peau ............................................. 52 2.4.2.1 Simple gaussien .................................................................................................... 52 2.4.2.2 Mélange de gaussiennes ........................................................................................ 53 2.4.3 Les approches non paramétriques de distribution de peau .......................................... 53 2.4.3.1 Le classificateur de Bayes ..................................................................................... 54 2.4.3.2 Table normale de consultation .............................................................................. 55 2.5 Fusion des méthodes de détection de la peau ..................................................................... 55 2.5.1 Fusion entre le modèle bayes et les différents espaces de couleurs ............................ 56 2.5.2 Fusion entre les deux espaces HSV et YCbCr ............................................................ 57 2.5.3 Fusion entre les deux espaces RGB et HSV ................................................................ 58 2.5.4 Fusion entre les deux espaces RGB et YCbCr ............................................................ 58 2.5.5 Fusion entre les trois espaces RGB-HSV-YCbCr ....................................................... 58 2.6 Evaluation de performances de classificateurs ................................................................... 59 2.7 Transformation morphologique.......................................................................................... 65 2.7.1 Erosion ......................................................................................................................... 65 2.7.2 Dilatation ..................................................................................................................... 66 2.8 Conclusion .......................................................................................................................... 68 Chapitre 3 : Détection des scènes vidéo pour adultes 3.1 Introduction ........................................................................................................................ 70 3.2 Description des changements de plans ............................................................................... 71 3.2.1 Détection des changements de plan ............................................................................. 71 3.2.2 Méthodes de détection du changement de plan ........................................................... 72 a. Méthodes basées sur les pixels .............................................................................. 72 b. Méthodes basées sur les histogrammes .................................................................. 72 c. Méthodes basées sur les blocs................................................................................ 73 d. Méthodes basées sur le mouvement ....................................................................... 74 3.3 Les méthodes de détection de mouvement ......................................................................... 74 3.3.1 Algorithme de la soustraction de l’arrière-plan par modélisation statistique .............. 75 a. Initialisation ........................................................................................................... 75 b. Extraction de l’avant-plan ...................................................................................... 76 c. Résultats expérimentaux ........................................................................................ 77 3.3.2 Algorithme de la différence entre deux images consécutives ..................................... 77 a. Calcul de la différence ........................................................................................... 78 b. Calcul des étiquettes de mouvement ...................................................................... 78 c. Résultats expérimentaux ........................................................................................ 78 3.4 Détection des visages ......................................................................................................... 79 3.4.1 Méthodes de détection de visages ............................................................................... 79 3.4.2 Notre approche pour la détection de visage................................................................. 80 a. Sélection des pixels représentant la peau à partir d'une image d'entrée ................. 80 b. Filtrage des régions de peau ................................................................................... 80 TABLE DES MATIÈRE __________________________________________________________________________________ c. Détection du visage par appariement du gabarit "template matching" .................. 80 3.4.3 Application de la méthode de détection de visage ...................................................... 82 a. Extraction de l'image niveau de gris ...................................................................... 82 b. Normalisation du segment ..................................................................................... 82 c. Comparaison du segment avec le modèle .............................................................. 82 d. Décision ................................................................................................................. 82 3.5 Extraction des caractéristiques des régions ........................................................................ 84 3.6 Vérification des images de la plage .................................................................................... 90 a. La position ............................................................................................................. 90 b. Les dimensions du segment ................................................................................... 90 c. La surface ............................................................................................................... 90 d. Le rapport entre la hauteur et la largeur ................................................................. 90 e. Calcul du centre de gravitée du segment ............................................................... 90 f. Calcul de la rotation du segment ............................................................................ 91 3.7 Evaluation de performance................................................................................................. 93 3.8 Conclusion .......................................................................................................................... 93 Chapitre 4 : Reconnaissance des scènes vidéo pour adultes 4.1 Introduction ........................................................................................................................ 95 4.2 Classification des vidéos ................................................................................................... 96 4.3 Méthode de classification ................................................................................................... 98 4.3.1 Classification Naïve de Bayes ..................................................................................... 98 4.3.2 Les arbres de décision.................................................................................................. 99 4.3.3 La logique floue en classification .............................................................................. 100 4.3.4 Réseau de neurones ................................................................................................... 101 4.3.4.1 Les étapes de la conception d'un réseau .............................................................. 102 a. Choix et préparation des échantillons .................................................................. 102 b. Elaboration de la structure du réseau ................................................................... 102 c. Apprentissage ....................................................................................................... 102 d. Validation et tests ................................................................................................. 102 4.3.4.2 Calcul de la valeur prédite .................................................................................. 103 4.3.4.3 Optimisation des paramètres ............................................................................... 104 4.3.4.4 Choix du nombre d’unités cachées ..................................................................... 105 4.3.4.5 Utilisation des ANN pour le blocage des scènes vidéo pour adultes ............... 105 a. Un filtre de réseau neuronal ................................................................................. 105 b. Vérifier des images pour adultes .......................................................................... 106 4.3.4.6 Comparaison entre les différentes fonctions d’activation ................................... 107 4.3.5 Les machines à vecteur de support ............................................................................ 110 4.3.5.1 Cas linéairement séparable ................................................................................. 110 4.3.5.2 Cas linéairement non-séparable .......................................................................... 114 4.3.5.3 Astuce noyau ...................................................................................................... 115 4.3.5.4 Exemples de kernels............................................................................................ 115 a. Le kernel polynomial ........................................................................................... 115 b. Le kernel RBF Gaussien ...................................................................................... 117 c. Le kernel neuronal (Sigmoïde) ............................................................................ 117 d. Le kernel linéaire ................................................................................................. 118 4.3.5.5 Choix des paramètres .......................................................................................... 118 4.3.5.6 Utilisation des SVM pour le blocage des scènes vidéo pour adultes .................. 119 TABLE DES MATIÈRE __________________________________________________________________________________ a. Résolution du problème d’optimisation quadratique ........................................... 119 b. Calcul du biais...................................................................................................... 119 4.3.5.7 Comparaison des performances entre les noyaux SVM ..................................... 125 4.4 Evaluation de la classification .......................................................................................... 126 4.5 Illustration et interprétation des résultats ......................................................................... 128 4.6 Conclusion ........................................................................................................................ 129 Conclusion Générale ………………………………………………..……………………….131 Liste des publications …………………………………………..……………………………133 Bibliographie………………………………………………………………………………...135 ________________________________________________________________________ LISTE DES FIGURES 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 2.1 Processus de filtrage de la vidéo adultes. Architecture du filtre Comparaison entre les logiciels existants. Structure d'une vidéo. Exemple d'image mosaïque construite à partir d'un ensemble d'images. Description générale du système de Reconnaissance. Composantes du système de Reconnaissance. Résultats de la segmentation d’une séquence de type Avi. Résultats de la segmentation d’une séquence de type Mpeg. Segmentation en blocs d’une image. Extrait de la base d’apprentissage. Extrait de la base de test. L’image originale et son masque binaire. 2.2 2.3 2.4 Présentation des couleurs dans l'espace RGB. Représentation du modèle HSV. Transformation du RGB en YCbCr et HSV. 2.5 Fusion de la méthode bayésienne et la méthode du seuillage par HSV, a) Original image, b) détection par la méthode de bayes, c) Ajout des pixels blancs par la méthode de seuillage, d) filtrage morphologique. Les courbes ROC pour Les approches physiques de détection de la peau, et pour les approches paramétriques et non paramétriques. Résultats de la modélisation paramétriques et non paramétrique de distribution de peau. Résultats des approches physiques de distribution de peau. 2.6 2.7 2.8 2.9 2.10 2.11 2.12 Les courbes ROC de la fusion entre le modèle bayes et les approches physiques de détection de la peau. Les courbes ROC pour HSV-YCbCr, RGB-HSV, RGB-YCbCr et RGB-HSV-YCbCr. Les courbes ROC pour Bayes-HSV et notre modèle hybride RGB-HSV-YCbCr. Résultats de la modélisation de la répartition de la peau en fonction de différents modèles. Résultat de l'érosion de la fonction de départ figuré en vert. Résultat de la dilatation de la fonction f(x) par un élément structurant B. Processus de segmentation général d’une image. Résultat du filtrage morphologique. 2.13 2.14 2.15 2.16 2.17 Les courbes Roc pour le résultat du modèle RGB-HSV-YCbCR avec et sans le filtrage morphologique 3.1 3.2 3.3 3.4 Résultats de la soustraction de l’arrière plan pour la séquence vidéo d’un être humain. Résultats de la soustraction de l’arrière plan pour la séquence vidéo de deux balles bondissantes. Détection du mouvement par la méthode de soustraction d’images consécutives. Illustration de quelques résultats de la détection des visages par la méthode Template LISTE DES FIGURES _________________________________________________________________________________ 3.5 3.6 3.7 3.8 3.9 3.10 3.11 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 Matching (Cas où il n’y a pas de visage). Illustration de quelques résultats de la détection des visages par la méthode Template Matching (Cas pas de visage). La probabilité de la peau moyenne à l'intérieur de l’ellipse globale. La probabilité de peau moyenne à l'intérieur du LFE. La probabilité de la peau moyenne à l'extérieur du LFE. Le taux de bonne défection en fonction du nombre de visage. La structure du filtre des scènes vidéo adulte. Les courbes ROC avec et sans détection de visage. Schéma général d'un réseau neuronal. La structure du filtre des scènes vidéo adulte cas des réseaux de neurone. Comparaison entre les différentes fonctions d’activation pour le filtre des scènes vidéo adulte. Hyperplan de séparation optimal. Représentation dans IR2 de l’hyperplan correspondant à la fonction de décision d’un classificateur linéaire. Représentation de la séparation par un kernel polynomial de degré d. Représentation de La séparation par un kernel RBF. La structure du filtre des scènes vidéo adulte cas des SVM. Noyau linéaire, moyenne sur 100 ensembles pour C = 1 à100. Noyau linéaire, moyenne sur 100 ensembles pour C = 2 à 5. Noyau gaussien, moyenne sur 100 ensembles pour C = 3 et σ=0.1 à 100. Noyau gaussien, moyenne sur 100 ensembles pour σ = 2.5 et C=1 à 100 puis de 3 à 10. Noyau gaussien, moyenne sur 100 ensembles pour C = 4.9 et σ= 0.1 à 100 et de 2.5 à 5. Noyau polynomiale, moyenne sur 100ensembles pour C = 3 et d=0.1 à 100. Noyau polynomial, moyenne sur 100 ensembles pour d = 2.5 et C=1 à 100 puis de 3 à 5. Noyau polynomial, moyenne sur 100 ensembles pour C = 3 et d =2.5 à 5. Les courbes ROC pour les différents kernels utilisés à identifier les scènes vidéo adultes. Les courbes ROC pour ANN et SVM pour la reconnaissance des vidéos pour adultes résultat sur des images synthétiques. Les courbes ROC pour ANN et SVM pour la reconnaissance des scènes vidéo pour adultes résultat sur des images réels. Résultats expérimentaux pour des images adultes. Résultats expérimentaux pour des images non adultes. Résultats expérimentaux pour des images qui présentent des fausses détections ________________________________________________________________________ LISTE DES TABLEAUX 2.1 Les performances des modèles de détection de peau 2.2 Résultats de la détection de la peau pour les deux modèles RGB-HSV-YCbCr (Test réalisé sur 100 vidéos adultes et 100 non adultes) 4.1 Comparaison de taux de performance et de temps moyen de traitement différentes fonctions d’activation pour le seuil 0.70. 4.2 Comparaison de taux de performance et de temps moyen de traitement différentes fonctions d’activation pour le seuil 0.72. 4.3 Comparaison de taux de performance et de temps moyen de traitement différentes fonctions d’activation pour le seuil 0.74. 4.4 Comparaisons entre ANN et SVM. et Bayes pour les pour les pour les ________________________________________________________________________ LISTE DES ABREVIATIONS AVI : Audio Video Interleave Imbrication Audio Vidéo, est un format de fichier conçu pour stocker des données audio et vidéo. JPEG : Joint Photographic Experts Group Méthode de compression des images qui en préserve les qualités. C'est probablement la plus utilisée en stockage et échange de photos via le WEB, avec le GIF. MOV : Quicktime Movie C’est un fichier vidéo propriétaire de la firme Apple, prévu pour être lu en streaming. MPEG : Moving Picture Expert Group Méthode de compression mise au point pour la transmission d'images vidéo. RGB : Red, Green and Blue (Rouge, Vert et Bleu). HSV : Hue, Saturation and Value (Teinte, Saturation et Valeur). YCbCr : Luma, blue-difference and red-difference Chrominance bleu et Chrominance rouge). CIE : International Commission on Illumination La commission internationale de l'éclairage est une organisation internationale dédiée à la lumière, l'éclairage, la couleur, les espaces de couleur. ROC : Receiver Operating Characteristics La courbe ROC, est un graphique tracé de la sensibilité , ou taux de vrais positifs, par rapport au taux de faux positifs. SAP : Extraction of background (Soustraction de l’arrière plan). SVM : Support Vector Machine (Machine à vecteurs de support). ANN : Artificial Neural Network (Réseau de neurones artificiels). LFE : Local fit ellipse L'ellipse Convenable Locale, calculée seulement sur la plus grande région de la carte peau. GFE : Global fit ellipse L'ellipse Convenable Globale, calculée sur la carte de peau entière. components (Luminance, __________________________________________________________________________________________ INTRODUCTION GENERALE Contexte général et problématique Internet est devenu le réseau public mondial le plus communément utilisé dans les administrations, les écoles, les entreprises et chez soi. En fait, toutes les tranches d’âge sont présentes sur la toile et leur nombre s’accroit d’une manière exponentielle. Face à l’importance de l’utilisation d’Internet, la facilité d’accès et la diversité des services disponibles sur cette toile, une grande prise de conscience de l’importance du traitement et de l’analyse des informations véhiculées s’est avérée impérativement indispensable. Par ailleurs, nos jeunes enfants devraient normalement ne faire usage de l’Internet que sous surveillance d’adultes. Et même pour les enfants plus âgés une initiation à un usage responsable de ce média s’impose. Ceci fait partie de l’éducation et dès lors des devoirs des parents et éducateurs. Pourtant, nous ne pouvons exclure que nos enfants qui, très souvent, maîtrisent les nouvelles techniques beaucoup plus vite que beaucoup d’adultes et qui s’y mettent sans préjugé, s’aventurent sur l’Internet en l’absence de leurs parents ou éducateurs. Il est bien compréhensible qu’on ne va pas démonter la configuration et l’enfermer dans une armoire à chaque fois qu’on quitte l’ordinateur. Cependant, il faut prendre quelques précautions pour limiter l’accès à l’internet. Une de ces mesures par exemple est l’installation d’un filtre de réseau. Ce problème, exprimé dans un contexte informatique s’intéresse au contenu visuel et demande de mettre en place un environnement permettant de détecter qu'une image ou une vidéo fassent illégalement partie d'une collection d'images. Différentes méthodes de filtrage d'images pour adultes existent. La couleur de la peau est utilisée en combinaison avec d'autres fonctionnalités telles que les histogrammes de texture et de la couleur. La plupart de ces méthodes s'appuient sur des réseaux de neurones ou des machines à vecteurs de support (SVM) [1] comme classificateurs. Les auteurs dans Forsyth et al. [2] ont proposé un filtre adapté qui permet d’extraire la peau en analysant la texture lisse. Après la détection de la peau, une analyse géométrique est appliquée pour détecter des parties nues dans le corps humain. Une autre méthode a été proposée par les auteurs Duan et al. [3] ; leur étude est basée uniquement sur la détection de la couleur de peau et la prise de décision est faite par les SVM. Les images sont d'abord filtrés par le modèle de la peau et les sorties sont classées par SVM. Rowley et al. [4] proposent un système qui inclut la INTRODUCTION GENERALE 16 __________________________________________________________________________________ couleur de peau et la détection de visage, ils ont utilisé un détecteur de visage pour supprimer la propriété particulière des régions de peau. Yoo [5] suggèrent de récupérer les images étiquetées d'une base de données où une image est étiquetée comme un contenu pour adultes si la plupart des images similaires sont étiquetés de cette façon. Les méthodes de reconnaissance des scènes vidéo sont en général propriétaires. Lee et al. [6] ont utilisé un classificateur linéaire discriminant qui combinent deux méthodes basées sur la forme et la détection des zones de peau dans les images de la vidéo. Rea et al. [7] estiment la couleur de peau avec la détection de motifs périodiques dans le signal audio d'une vidéo. Quant à Tong et al. [8] ils présentent une approche qui est entièrement basée sur l'information de mouvement. Malgré les bons résultats obtenus par ces méthodes, elles présentent l’inconvénient de s’accommoder aux variations des conditions d’éclairement, la richesse ethnique avec des teintes variées et des décors complexes. Il nous semble donc intéressant d’utiliser des espaces de couleur invariants vis à vis de la luminance et d’appliquer des techniques de fusion. C’est dans ce contexte que s’inscrivent les travaux que nous avons développés dans le cadre de cette thèse. Nous nous sommes principalement intéressés au problème d’identification de pixels de peau dans l’image. Ce sujet de recherche est d’enjeu important dans la mesure où il est indispensable avant d’envisager des analyses et des traitements de niveau supérieur. Notre objectif est de construire un modèle de peau le plus générique possible qui servira ensuite de base pour le développement d’un système de détection des parties du corps humain (visage, main, etc.) qui sera d’une utilité potentielle pour de nombreuses applications telles que la reconnaissance des scènes vidéo pour adultes. La mise en place d’un tel système doit, au préalable, s’appuyer sur un système de détection et de segmentation des régions de peau. En effet, Internet apparaît comme un immense gisement d’informations dont le libre accès conduit à des usages indésirables tel que l’accès des enfants à des sites adultes. Il est donc nécessaire d’introduire des outils de filtrage de sites pour des applications qui visent un control parental. Méthodologie La reconnaissance des scènes vidéo adultes est un problème très important. Il s’avère donc nécessaire d’introduire des méthodes originales permettant la mise à disposition de traitements automatiques pour l’aide à la reconnaissance des scènes vidéo pour adultes. Toutefois, le caractère non coopératif des vidéos pour adultes conduit à intégrer davantage INTRODUCTION GENERALE 17 __________________________________________________________________________________ de connaissances au sein du système d’identification. D’autre part, le volume de données vidéo devient de plus en plus important, ceci conduit à l’étude des méthodes semiautomatique de reconnaissance en faisant intervenir la détection de visage dans le processus de reconnaissance en particulier au niveau de la phase de détection des scènes vidéo pour adultes . Pour cela, la méthodologie générale adoptée est inspirée du processus d’extraction de caractéristiques à partir de données ce qui est similaire à la recherche d’images par le contenu. On peut dire que la phase de recherche est un cas particulier de la phase de classification du processus de reconnaissance, tandis que la phase de détection (extraction des caractéristiques) n’est qu’une étape de la phase de préparation de données. La figure 1 illustre le processus de filtrage de la vidéo pour adultes. Figure.1: Processus de filtrage de la vidéo adultes Le processus de filtrage de la vidéo adultes est un processus itératif et interactif qui se compose de quatre phases allant du prétraitement des images jusqu’à la phase d’évaluation des résultats, en passant par l’extraction de caractéristiques et la classification de données. Nous présentons brièvement ces quatre phases : • Prétraitement des images adultes : Cette phase est caractérisée par deux étapes : la détection de mouvement et la détection des régions de peau. La détection du mouvement, représente une étape très importante pour un système de vision numérique. En effet, un gain de performance considérable peut être réalisé lorsque des zones sans intérêt sont éliminées avant les phases d’analyses. Tandis que la détection de la couleur de la peau est un moyen efficace souvent utilisé pour définir une série des zones candidates. INTRODUCTION GENERALE 18 __________________________________________________________________________________ • Analyse d'images en temps réel : Le système analyse les flux d'images à l'aide de descripteurs visuels (couleur, texture, forme) pour en extraire une signature numérique (l'ADN de l'image). • Reconnaissance d'images et renvoi du résultat : Il existe des algorithmes dotés d'une capacité d'apprentissage. L'analyseur est donc capable d'apprendre et de détecter des catégories de vidéo déterminées par l’utilisateur. Ensuite pour chaque scène analysée, on renvoie un résultat sous la forme d'un score ou d'une alerte. Ce résultat provient d'une classification effectuée par le système et inférant l'appartenance de la scène à une catégorie donnée (adulte ou non adulte). • Evaluation des résultats : Cette dernière phase du processus consiste à évaluer les différentes méthodes utilisées dans les étapes du processus ainsi que la performance globale du système de reconnaissance. Nous avons utilisé, dans le cadre de nos travaux, le taux de bonne détection comme critère d’évaluation en se basant sur les courbes ROC [40]. Contributions et contenu du mémoire Dans cette thèse, nous introduisons un nouveau champ d’application de la fusion de données aux collections d’images afin de définir un modèle de peau efficace. Pour des raisons diverses telles que les conditions d’éclairage, la diversité ethnique, etc., l'identification de la peau est un problème complexe. Il nous semble intéressant d’appliquer les techniques de classification dans ce contexte. Nos premiers travaux, démarrés en 2009, ont permis la définition d’un modèle de peau permettant de discriminer les pixels de peau de ceux de non-peau. Ce modèle est essentiellement basé sur la couleur, celle-ci étant la primitive la plus riche et la plus simple à calculer. Notre approche trouve son originalité dans la fusion des trois espaces de couleurs nous aboutissons ainsi à un modèle de peau robuste aux variations de conditions de lumière et à la richesse ethnique. INTRODUCTION GENERALE 19 __________________________________________________________________________________ Les résultats expérimentaux ont montré que notre modèle est efficace. Pour cette raison, nous l’avons utilisée comme critère déterminant dans notre processus de reconnaissance de scènes vidéo pour adultes. Ce travail a fait l’objet d’un journal international [10]. Afin d'exploiter les règles obtenues à partir de la première phase de notre travail, il était nécessaire d’utiliser la détection de mouvement qui est une étape très avantageuse pour un système de vision numérique. En effet, un gain de performance considérable peut être réalisé lorsque des zones sans intérêt sont éliminées avant les phases d’analyses. Ce travail a fait l’objet d’une communication internationale [11]. Enfin, nous avons réalisé une application dans laquelle la classification des scènes vidéo pour adultes est une étape préalable nécessaire. Ce dernier travail a permis de mettre au point un système, permettant un filtrage sémantique du contenu adulte. L’ensemble des travaux ont donné lieu à : • 3 revues internationales • 8 conférences internationales avec actes et comité de lecture • 3 conférences nationales avec actes et comité de lecture • 1 poster Organisation du manuscrit Le travail réalisé dans le cadre de cette thèse est organisé en quatre chapitres. Le premier chapitre énonce la problématique générale de la thèse et les travaux effectués dans la littérature sur la modélisation d'un système de recherche et d'indexation par le contenu sémantique. Puis, il aborde la description globale de l'information vidéo, et décrit les données sur lesquelles nous avons travaillé. Le second chapitre expose un état de l'art sur les principaux espaces de couleur pour la détection de la peau. Ensuite, il présente les différentes méthodes de détection de la peau. Ces méthodes ont été classées et présentées en trois approches. Enfin, il est dédié à la définition d’un modèle de peau qui s’appuie sur des techniques de fusion des différents espaces de couleur. Le troisième chapitre s'intéresse à l’analyse et la modélisation de séquences vidéo. Cette phase consiste d’une part à détecter le mouvement des objets et d’autre part, à utiliser une méthode hybride. C’est une fusion entre la méthode de détection de la couleur de peau et la méthode du « template matching » qui est basée sur la création d’un modèle de visages. INTRODUCTION GENERALE 20 __________________________________________________________________________________ Nous présentons dans la dernière section de ce chapitre une deuxième phase qui consiste à calculer les différents descripteurs qui caractérisent les images adultes. Le dernier chapitre constituant les principales contributions, présente l’approche élaborée pour la reconnaissance des scènes vidéo pour adultes. L’accent est mis d’une part, sur le processus de détection, extraction et modélisation des caractéristiques visuelles des images adulte et d’autre part, sur l’architecture du système de reconnaissance adapté à l’identification des vidéos adultes. Dans ce chapitre nous exposons quelques méthodes de classification couramment utilisées dans la phase de fouille de données, en particulier les méthodes de classification supervisées telles que les méthodes bayésiennes, les réseaux de neurones et les machines à vecteurs de support. Ensuite, nous présentons le cadre formel du travail réalisé en ce qui concerne l’extraction des caractéristiques des vidéos, leur modélisation et la phase de reconnaissance. A la suite des différentes réalisations, les résultats expérimentaux sont exposés. Une nouvelle méthode hybride de détection adaptée aux vidéos adultes est présentée. C’est une méthode qui permet de pallier les limites des méthodes existantes. En fin de ce chapitre, nous étudions l’influence de la fusion sur les performances globales du système de reconnaissance. Nous dressons par la suite l’ensemble des conclusions liées aux différents volets de nos travaux, qui ouvrent un ensemble de perspectives sur des problématiques adjacentes. Chapitre 1 Analyse Multimédia Sommaire 1.1 Introduction ........................................................................................................................ 21 1.2 Etat de l’art et étude des systèmes existants ....................................................................... 22 1.2.1 Les approches de filtrage. ............................................................................................ 22 1.2.2 Logiciels existants ....................................................................................................... 24 1.3 Le fossé sémantique ........................................................................................................... 26 1.4 Le document vidéo ............................................................................................................. 27 1.5 Analyse du contenu de la vidéo .......................................................................................... 28 1.6 Modélisation du Contenu Vidéo ........................................................................................ 28 1.7 Les différents formats de fichiers vidéo numériques ......................................................... 30 1.8 Les images de références .................................................................................................... 31 1.9 Description générale du système de reconnaissance .......................................................... 32 1.9.1 Extraction des caractéristiques .................................................................................... 33 1.9.2 Classification ............................................................................................................... 33 1.10 La segmentation temporelle de vidéo ............................................................................... 34 1.10.1 Segmentation en plans ............................................................................................... 35 1.10.2 Segmentation en scènes ............................................................................................. 35 1.11 La segmentation d'image .................................................................................................. 36 1.11.1 Segmentation en blocs ............................................................................................... 36 1.11.1 Segmentation en régions ............................................................................................ 37 1.12 Les critères pour les mesures des performances .............................................................. 38 1.13 Présentation des données .................................................................................................. 38 1.14 Conclusion ........................................................................................................................ 40 1.1 Introduction De nos jours, Internet prend une place grandissante dans la vie quotidienne et dans le monde professionnel. Le public qui y a accès est de plus en plus large, mais aussi de plus en plus jeune. Les enfants trouvent chaque jour un accès plus facile à la toile [34]. Cet accès de plus en plus large ne va pas sans inconvénients, les sites à caractère adulte, violent, raciste, etc. en sont un. En effet, ces sites sont souvent en accès libre, ce qui pose un problème évident vis à vis des enfants. Alors, la question qui se pose est de savoir comment faire pour protéger nos enfants contre des données illicites ? CHAPITRE 1. ANALYSE MULTIMEDIA 22 __________________________________________________________________________________________ Pour faire face à ce fléau, il existe un ensemble de produits commerciaux sur le marché qui proposent des solutions de filtrage. Un nombre significatif de ces produits se basent sur une liste de mots clés peu convenable pour les enfants (nudité, adulte, etc.) Dans cette thèse, nous présentons notre solution de classification et de filtrage des scènes vidéo pour adultes. À la différence de la majorité des logiciels commerciaux, qui sont principalement basés sur la détection des mots interdits ou sur une liste noire, collectés et mis à jour manuellement, notre solution, réalise la classification et le filtrage à caractère adulte par un apprentissage qui s’appuie sur une combinaison judicieuse de plusieurs algorithmes de classification et une analyse du contenu structurel et visuel. Dans ce chapitre, nous décrivons tout d’abord les approches de filtrage de sites adultes et nous présentons quelques logiciels existants les plus connus sur le marché, nous allons ensuite introduire et comprendre le problème du fossé sémantique, puis, nous allons procéder à la description du support vidéo, pour mieux décrire la structure générale d'un système de reconnaissance, suivi d'une présentation des techniques de segmentation d'image et de la vidéo, ainsi que les critères pour la mesure des performances et l’évaluation du système. Enfin, nous allons présenter les bases d’apprentissage et de test que nous allons utiliser dans nos protocoles expérimentaux. 1.2 Etat de l’art et étude des systèmes existants De nombreux travaux de recherche dans la littérature ont déjà montré l’intérêt croissant pour la classification et le filtrage de sites Web dans le but de limiter l’accès des contenus préjudiciables sur la toile. Il existe également une panoplie de produits commerciaux de filtrage sur le marché. Dans cette partie, nous décrivons tout d’abord les approches de filtrage de sites pour adultes ensuite nous présentons quelques logiciels existants. 1.2.1 Les approches de filtrage. Il existe quatre approches de filtrage de sites pour adultes : la technologie de l’étiquetage, le filtrage par liste de sites autorisés ou interdits, le filtrage par mots clés et le filtrage par analyse du contenu multimédia. • Technologie de l’étiquetage Il existe divers systèmes d'étiquetage qui sont utilisables pour identifier les contenus circulant sur Internet, les plus connus sont basés sur un protocole standardisé appelé PICS (Platform for Internet Content Selection). Le standard PICS permet à n'importe quelle organisation de définir son propre système de classification et de donner ainsi la possibilité CHAPITRE 1. ANALYSE MULTIMEDIA 23 __________________________________________________________________________________________ aux personnes utilisant ce système de bloquer (ou de rechercher) des sites en fonction de leur contenu. Il est important de signaler que le standard PICS n'est pas un système de classification, mais une méthode de codage utilisée par les systèmes de classification. Lorsque la protection du navigateur est activée et qu'une personne utilise ce même navigateur pour accéder à une page Internet, celui-ci compare la cote de la page avec les niveaux ayant été définis précédemment comme acceptables par l’utilisateur. Si la page comporte un contenu correspondant à des niveaux supérieurs à ceux définis, le navigateur bloque l'affichage de la page. Les systèmes d'étiquetage les plus connus à l'heure actuelle sont ceux qui sont proposés par le RSACi (Recreational Software Advisory Council) et SafeSurf. Tous les deux sont basés sur le protocole PICS. L’utilisation d’étiquettes pour filtrer le contenu nécessite plusieurs opérations : création, stockage, mise à jour et diffusion des étiquettes, authentification des données des étiquettes et enfin utilisation de ces données par les logiciels de filtrage pour classifier les pages Web dans la catégorie acceptable ou la catégorie inacceptable. • Filtrage par liste de sites autorisés ou interdits Les techniques basées sur les listes d’URL permettent de créer un Internet où tout est autorisé sauf la consultation de quelques sites. On garde donc la possibilité de naviguer librement d’un site à un autre, tout en restreignant les risques d’accéder à un site inapproprié. Cependant, une liste noire ne peut jamais être exhaustive puisque de nouveaux sites apparaissent constamment, les logiciels de filtrage ne pourront pas, même avec des mises à jour régulières, bloquer la totalité des sites pour adultes. Chaque liste sera obsolète dès le moment où elle aura été mise sur le marché puisque tout nouveau site apparaissant après la mise à jour ne sera pas contenu sur cette liste et ne sera, par conséquent, pas bloqué. Il arrive souvent que certains sites à contenu tout à fait licite disparaissent, et leurs adresses peuvent être récupérées par des sites adultes d’où la nécessité d’une vérification régulière par l’administrateur. • Filtrage par mots clés En complément aux listes « noire » et « blanche » les logiciels de filtrage peuvent également effectuer un contrôle des contenus par mots clés ou phrases clés. À l’aide d'un outil d'analyse de texte, le programme vérifie tous les mots de la page avant que celle-ci ne s’affiche. Si un mot « interdit » est décelé, que ce soit dans une page Web, dans le titre d'un groupe de discussion ou dans celui d'un forum de dialogue en direct, le logiciel de filtrage bloquera l'affichage de ces données. CHAPITRE 1. ANALYSE MULTIMEDIA 24 __________________________________________________________________________________________ Ce système se heurte généralement au problème de la langue : une même expression devant être enregistrée dans toutes les langues véhiculées sur Internet. Par ailleurs les éditeurs de sites pour adultes déploient des trésors d’imagination pour trouver des orthographes de substitution, par exemple en écrivant S.E.X.E au lieu de sexe. • Filtrage par analyse du contenu multimédia. La classification des sites adultes par une analyse intelligente du contenu Web s’intègre dans une problématique plus générale, celle des systèmes automatiques de classification et de catégorisation de sites Web. La réalisation de tels systèmes doit s’appuyer sur un processus d’apprentissage automatique et plus précisément sur un apprentissage supervisé. L’analyse intelligente du contenu est basée sur le contenu non textuel. Une page web contient en général des images ou des vidéos. Pour ce faire, les données numériques de l’image ou la vidéo vont subir des mesures en fonction de différents critères à savoir : Couleur, texture et forme. L’objectif est de mettre en évidence des invariants ou informations stables qui permettront la comparaison et la classification. Cependant la technologie numérique permet de produire, stocker des volumes de plus en plus importants de données multimédia dans les sites Web, automatiser l’analyse et la recherche dans ces contenus numériques est devenu un enjeu crucial pour les applications de filtrages. 1.2.2 Logiciels existants Pour compléter notre étude sur les travaux existants, nous présentons quelques exemples de produits commerciaux de filtrage existants à savoir : • IE (Internet Explorer) • Cybersitter 2002 • Net Nanny 4.0.4 • Norton Internet Security 2003 • PureSight Home 2.6 • Cyber Patrol 5.0 • WebGuard 2005 Des tests de performance de ces logiciels ont été réalisés [64]. Les résultats de ces tests sont décrits dans la figure suivante : CHAPITRE 1. ANALYSE MULTIMEDIA 25 __________________________________________________________________________________________ Figure 1. 1. Comparaison entre les logiciels existants [64] Comme montre la figure ci-dessus, le taux de bonne classification est donné par le système WebGuard, ce système utilise un filtre par une analyse multimédia à la différence des autres systèmes qui sont principalement basés sur la détection des mots interdits ou sur une liste noire. Nous signalons que les tests sur ces systèmes commerciaux de filtrage les plus populaires, ont été effectués sur une base composée de 200 pages pour adultes et 300 pages non adultes. Etant donné la nature dynamique et la quantité énorme des documents Web et compte tenu de l’importance des images dans ces documents Web, en particulier pour les sites adultes, un système de filtrage efficace doit inclure une analyse du contenu visuel. Pour cela, nous avons opté pour un système automatique de détection du contenu adulte en se basant sur l’analyse des scènes vidéo pour adulte. En plus, Notre solution consiste à considérer le nombre d’images de la vidéo classifiées comme image potentiellement adulte selon une présence importante de peau, pour cette raison nous s’intéressons par la suite à étudier la détection de la peau qui présente une étape très importante dans la reconnaissance des scènes vidéo pour adulte et par conséquent pour le filtrage des sites illicites. CHAPITRE 1. ANALYSE MULTIMEDIA 26 __________________________________________________________________________________________ Figure 1. 2. Architecture du filtre. La figure 1.2 montre l’architecture globale du système qui suscite la création d’un certain nombre de filtre spécifiques. Un moniteur lance un ou plusieurs de ces filtres selon le site sollicité. Les différents blocs peuvent être créés et améliorés indépendamment les uns des autres ; ce qui donne à cette architecture un aspect évolutif. Cette indépendance permettra, en plus, de mieux structurer la conception de l’application. -Plusieurs intervenants peuvent développer en parallèles différentes parties du système. -Chaque partie peut être testée et validée indépendamment des autres. Le filtre global est donc construit autour de plusieurs modules de filtrage. Ces modules sont basés sur l’analyse des URL des sites d’une part, et sur l’analyse des images contenues dans ces sites d’autres part. C’est dans ce deuxième module que s’inscrit le travail de cette thèse. 1.3 Le fossé sémantique Si nous, humains, savons parfaitement interpréter et détecter le contenu d'une image ou d'une information, nous sommes limités lorsqu'il s'agit de traiter une grande quantité d'informations. Un comportement inverse de celui de la machine, qui ne trouve pas de problème à traiter une tâche répétitive donnée, mais limitée lorsqu'il s'agit d'interpréter ou d'extraire automatiquement des concepts à partir de données numériques, ce qui est appelé fossé sémantique, définit comme suit : « le manque de concordance entre les informations qu’on peut extraire des données visuelles et l’interprétation qu’ont ces mêmes données pour un utilisateur dans une situation déterminée » [12]. CHAPITRE 1. ANALYSE MULTIMEDIA 27 __________________________________________________________________________________________ Dans ce contexte, il semble important d’apporter des solutions pour la description sémantique des images, sous la forme d’associations entre des éléments sémantiques (concepts) et des éléments de bas niveau (caractéristiques des images). Notre objectif dans ce travail est alors d’exploiter l’information contenue dans ces données, et d’en extraire une sémantique fiable pour un besoin de classification et plus particulièrement pour une reconnaissance automatique des vidéos pour adultes. Dans notre approche, nous utilisons une représentation des caractéristiques symboliques et des caractéristiques numériques dans un même espace pour produire à la fin un vecteur de descripteur représentant le contenu de l’image. 1.4 Le document vidéo Formellement, un document vidéo est défini comme une combinaison de flux d’information. Principalement, deux sources d’informations composent ce document à savoir l’image et le son, qui sont synchronisés pour former une histoire. Le flux visuel comporte une séquence d’images fixes qui selon l’axe temporel apparaissent animées à une fréquence de 24 à 30 images par seconde. Le flux sonore est composé d’un ou plusieurs canaux (mono, stéréo). Le signal sonore est typiquement échantillonné entre 16000 et 48000 Hertz. Un troisième flux d’information généralement associée aux documents vidéo est le texte. Il provient soit d’un flux séparé, soit il est dérivé des sources audio et visuelle. Pour le stockage, la manipulation et la recherche de documents vidéo, il est nécessaire de se doter d’un moyen d’organiser l’information. On peut considérer qu’il existe plusieurs niveaux de structure liés à la donnée vidéo, il s’agit d’une organisation hiérarchique issue du monde de la production vidéo ou cinématographique. Cette hiérarchie met en évidence des séquences de granularités différentes. Un premier niveau de structure, appelé « plan », correspond au premier niveau de montage. Les niveaux supérieurs visent à monter en abstraction de façon hiérarchique, et tendent vers un niveau sémantique. En principe, ces différents niveaux de hiérarchie sont nommés selon le type de contenu du document vidéo (scène, histoire, documentaire, etc.). Une séquence vidéo brute est une suite d'images fixes, qui peut être caractérisée par trois principaux paramètres : sa résolution en luminance, sa résolution spatiale et sa résolution temporelle. La résolution en luminance détermine le nombre de nuances ou de couleurs possibles pour un pixel. Celle-ci est généralement de 8 bits pour les niveaux de gris et de 24 bits pour les séquences en couleurs. La résolution spatiale, quant à elle, définit le nombre de lignes et de CHAPITRE 1. ANALYSE MULTIMEDIA 28 __________________________________________________________________________________________ colonnes de la matrice de pixels. Enfin, la résolution temporelle est le nombre d'images par seconde [14]. 1.5 Analyse du contenu de la vidéo Les documents vidéo peuvent avoir des contenus extrêmement variés (télévisés, documentaires, films, publicité, vidéosurveillance, etc.). La plupart du temps, ces documents ont une (ou plusieurs) structures internes. Comme les documents eux-mêmes, ces structures peuvent être très variées. Le type de structure dont il est question ici est relatif au contenu sémantique du document. Il s’agit de structures qui ont un sens pour l’utilisateur. À ce titre, elles peuvent parfois apparaître mal définies, ambiguës ou subjectives. Notre thèse s’intéresse au contenu illicite de la vidéo, et en particulier, au contenu à caractère adulte auquel les enfants se retrouvent très souvent confronté. En ce qui concerne l’analyse du contenu, on peut distinguer deux niveaux de descriptions qui sont liés aux données vidéo : • Le niveau signal (ou « bas niveau ») : proche de la représentation numérique des documents, il s’attache à décrire les caractéristiques « physiques » des segments d’une vidéo comme la couleur, la texture et la forme. Les informations correspondant à ce niveau sont en général de type numérique (tableaux de nombres, histogrammes de couleur par exemple). • Le niveau sémantique (ou « haut niveau ») : proche de la façon dont les humains représentent le contenu des documents, il vise la description des concepts présents et des relations entre eux. Les informations correspondantes à ce niveau sont en général de type symbolique (concepts, relations, graphes) [14]. 1.6 Modélisation du Contenu Vidéo La structure la plus classique consiste à décomposer la vidéo en des unités (segments) dont chacune représente un niveau de description. Cette décomposition est similaire à la modélisation hiérarchique du contenu vidéo. Dans un document vidéo, on distinguera des séquences qui correspondent à des unités sémantiques de la vidéo (thème, sujet, etc.). Dans des vidéos de taille importante, plus le contenu est varié plus le nombre de séquences est important. Les séquences peuvent elles mêmes être décomposées en scènes. Ces scènes, sont composées d’un ou plusieurs plan(s). Chaque plan correspond à une prise de vue, avec ou sans mouvement de caméra (plan fixe). Les plans sont séparés par des transitions. CHAPITRE 1. ANALYSE MULTIMEDIA 29 __________________________________________________________________________________________ Dans une vidéo, on peut définir des entités élémentaires (éléments d’information) significatives comme des personnages, des éléments décors, des objets, etc. On peut également définir des objets de granularité plus fine : des parties d'éléments comme le visage du personnage. Ces entités sont regroupées au niveau description du contenu vidéo et sont appelées des entités « Classe ». On peut également définir une entité événement (event) : un événement est « quelque chose qui arrive ». Il peut être décrit par les classes ou les occurrences de classe qui interviennent dans « ce qui arrive » et par des relations qui définissent « ce qui arrive ». Un événement se déroule en général pendant un certain intervalle de temps [14]. La figure 1.3 illustre la structure d'un document vidéo. Figure 1. 3. Structure d'une vidéo. Pour la détection des transitions franches, chaque image est divisée en 16 blocs sans chevauchement, puis est extrait un histogramme pour chacun. Il suffit de comparer la similarité entre les images de la fenêtre coulissante avec l'image courante à travers le calcul d'une distance Euclidienne par exemple, en donnant un poids à chaque bloc. Ensuite, on trie de façon décroissante les distances obtenues et on analyse ce classement. L'algorithme arrive à détecter une coupure lorsque le nombre d'images en aval classées dans la première partie du classement est supérieur à un seuil préfixé. Il a été observé qu'un mouvement rapide dans un plan peut fausser le résultat de la segmentation. Pour cela, on donne plus d'importance aux régions qui représentent le fond de l'image que les régions centrales. Ceci a permis l'obtention d'un gain de performance sur les données. CHAPITRE 1. ANALYSE MULTIMEDIA 30 __________________________________________________________________________________________ 1.7 Les différents formats de fichiers vidéo numériques Il existe plusieurs formats de vidéo numérique. Tous ces formats sont compressés car, sans compression, 1 seconde de vidéo occuperait une taille non conciliable avec sa manipulation et son transport (22 Mo par seconde). Avec un tel débit, on se trouve confronté à deux problèmes : - La capacité de stockage : la vidéo non compressée nécessite énormément de place sur un disque dur. - La rapidité de transmission. Pour palier à ces deux inconvénients, il faut réduire le débit des données donc compresser les informations. Ces méthodes de compression vont engendrer une dégradation de la qualité de l’image. Elles sont basées sur deux constations : - La redondance spatiale : dans une image, deux points voisins sont souvent similaires. On parle de compression spatiale. - La redondance temporelle : deux images successives sont souvent fort similaire. On parle de compression temporelle. Dans ce cas, deux méthodes sont envisagées : le codage par différence entre les images successives et le codage par prédiction de mouvement. La compression des données va donc consister à déterminer ces redondances et les éliminer. Plusieurs formes de compressions existent, plus ou moins standardisées, qui réduisent la taille des fichiers pour une manipulation plus aisée sur ordinateur. La vidéo est compressée par ce que l’on appelle des CODEC (Codeurs/Décodeurs). Il existe deux types de CODEC, les CODEC logiciels et les CODEC matériels. Le codec a pour rôles de compresser la vidéo pour la rendre transportable et la décompresser pour la rendre lisible par l’utilisateur [15]. Le choix du codec utilisé doit dépendre du type de séquence vidéo, du système d’exploitation, utilisé mais aussi de plusieurs facteurs à savoir: - La qualité. - Le taux de transfert des données. - Le volume de stockage. - Le temps nécessaire à la compression et à la décompression des informations. L’encodage des séquences vidéo donne naissance à différents formats. Les principaux à employer sur Internet pour diffuser de la vidéo ou de l'audio sont : CHAPITRE 1. ANALYSE MULTIMEDIA 31 __________________________________________________________________________________________ Le format MPEG (Motion Picture Expert Group) : Le grand principe de ce type de codage repose sur les redondances qui existent entre les images successives. On trouve plusieurs niveaux de la norme MPEG : MPEG1, MPEG2 et MPEG4. Le format AVI (Audio Video Interleave) utilisé pour les fichiers Motion Jpeg. Les fichiers numériques qui peuvent être lus par un logiciel gratuit tel que Fast. Le format MOV (Quick time) utilisé pour les fichiers vidéo Quick time. Certain formats de vidéo numérique se reconnaissent par la forme de leur enveloppe de transport. D’autres utilisent une structure de transport standard, cas du format AVI ou MOV qui ne permettent pas de déterminer le CODEC utilisé [15]. 1.8 Les images de références On appelle image de référence, l'image qui va être utilisée pour prédire une image et estimer le mouvement à compenser. Cette image peut être simplement une image précédemment codée dans la séquence. Elle est souvent utilisée sous la forme d'objet mosaïque qui est construit à partir d'une séquence de vues de l'objet considéré. Le principe de construction consiste à recaler les images (ou portions d'images) traitées dans le référentiel de l'objet mosaïque. Ces images peuvent être utilisées pour représenter sur une seule image la totalité d'une scène, la figure 1.4 présente ce résultat. Cette mosaïque est généralement plus grande qu'une image de la séquence. Figure 1. 4. Exemple d'image mosaïque construite à partir d'un ensemble d'images. Il est important de souligner qu'il est inutile d'utiliser toutes les images d'un plan pour obtenir une bonne extraction des caractéristiques visuelles. En effet, il serait par la suite impossible de conserver et d'utiliser cette information qui est par ailleurs redondante. Ainsi, une sélection d'une ou plusieurs images représentatives des plans serait nécessaire. Or, on peut déjà noter que si un plan présente de faibles mutations, il pourra être considéré comme statique. Il suffit alors de choisir l'image qui est la plus identique aux autres. En pratique, CHAPITRE 1. ANALYSE MULTIMEDIA 32 __________________________________________________________________________________________ cette recherche exhaustive est difficilement réalisable. Les approches empiriques sélectionnent simplement la première, la dernière ou l'image médiane du plan [16]. Des travaux comme ceux de Yueting et al. [17] proposent une approche par regroupement des images similaires pour obtenir la ou les images représentatives du plan. Toutefois, lorsqu'un plan présente du mouvement, il est intéressant de sélectionner les images représentatives en fonction de l'intensité ou des variations du mouvement. Pour cela, Kobla et al. [18] utilisent le domaine compressé MPEG pour mesurer le déplacement de la caméra dans le plan et découpent ce dernier en sous plans afin de limiter l'amplitude du mouvement. Liu et al. [19] proposent une mesure de l'énergie du mouvement dans le domaine MPEG afin d'identifier les images-clés du plan. Les avantages de la détection dans des images fixes et l’aspect temporel d’une vidéo permet d’améliorer la détection et d’effectuer le suivi de la scène adulte. 1.9 Description générale du système de reconnaissance Le principe de base du processus de reconnaissance est d’effectuer une classification pour retrouver un objet spécifique dans une vidéo. Cette étape consiste à extraire les connaissances à partir des données en utilisant les méthodes de classification. En absence d’une règle générale pour choisir le meilleur classificateur, nous avons étudié et comparé de manière empirique les réseaux de neurones (ANN) et les SVM pour choisir celui le plus adapté à nos données. L’architecture du système est donc basée sur le contenu présenté par les deux approches: l'extraction des caractéristiques et la classification. La première étape implique l'extraction des caractéristiques d'un document, à travers la capture des couleurs, des textures, des formes et du mouvement dans un plan, etc. La seconde étape permet de compresser l'information extraite tout en conservant l'essentiel. La figure 1.5 illustre l'architecture générale du processus de reconnaissance des vidéos. CHAPITRE 1. ANALYSE MULTIMEDIA 33 __________________________________________________________________________________________ Figure 1. 4. Description générale du système de reconnaissance. 1.9.1 Extraction des caractéristiques Cette approche a pour but d’extraire l’ensemble des caractéristiques à partir desquelles nous allons prendre notre décision finale sur la vidéo à analyser. Par conséquent, les caractéristiques extraites lors du processus de la détection des vidéos pour adulte capable d'apprendre et de détecter des catégories de vidéos déterminées par l’utilisateur. En fonction du type d’extraction, l’utilisateur peut alors formuler sa requête par des descripteurs de bas niveau (tel que la couleur, la texture, la forme, etc.) et/ou par des éléments sémantiques [21]. Ce qui induisait qu’un utilisateur devait formuler une requête soit directement par des caractéristiques de bas niveau, soit par une ou plusieurs images exemples, à partir desquelles le système extrayait les descripteurs. La structuration des documents vidéo en images, plans, scènes ou histoires induit des différences dans la nature des données extraites lors des différentes étapes du processus de reconnaissance. Ces données sont typiquement hétérogènes. Au début du processus, les premières informations extraites sont des descripteurs de bas niveau, visant à modéliser et représenter un signal. A l’autre bout du processus, les concepts sont des éléments sémantiques. Néanmoins, il existe une grande diversité de concepts susceptibles de décrire un document multimédia. Un concept peut représenter un objet, une scène (lieu, évènement), une personne, une action, etc. 1.9.2 Classification La classification de données est définie en statistique comme une phase de décision. Elle consiste à attribuer une classe à une observation inconnue en se basant sur des observations connues ou bien sur des règles statistiques [24]. CHAPITRE 1. ANALYSE MULTIMEDIA 34 __________________________________________________________________________________________ Dans notre travail nous allons utiliser des algorithmes dotés d'une capacité d'apprentissage. L'analyseur est donc capable d'apprendre et de détecter des catégories de vidéos déterminées par l’utilisateur. Ensuite pour chaque scène analysée, nous allons renvoyer un résultat sous la forme d'un score ou d'une alerte. Ce résultat provient d'une classification effectuée par le système et inférant l'appartenance de la scène à une catégorie donnée (adulte ou non adulte). Il suffit d'ordonner les images de la vidéo suivant leur score et de présenter le résultat à l'utilisateur. Les images ayant le plus grand score étant considérées comme adulte. La figure 1.6 illustre les composantes d’un système de reconnaissance avec les deux phases d’extraction et classification. Figure 1. 6. Composantes du système de reconnaissance [20]. 1.10 La segmentation temporelle de vidéo La segmentation temporelle peut être considérée comme l’une des premières étapes nécessaires au traitement de séquences vidéo. Dans la plupart du temps, cette segmentation est obtenue par détection des changements de plans. Une fois les différents plans de la séquence sont obtenus, il est alors possible de les analyser indépendamment les uns des autres avec des outils adéquats. Ainsi, l’arrière-plan de la scène et les objets en mouvement peuvent être étudiés, de manière indépendante sur chaque sous séquence. Les entités manipulées familièrement par les humains sont des objets de nature sémantique, car ceux-ci nomment une partie d’une image (et par conséquent d’une vidéo) d’après son correspondant dans le monde réel : une main, une voiture, un arbre, une branche... Ceci requiert l’interprétation de la scène, qui est elle-même sujette à toutes les variations associées à une évaluation subjective (polysémie des images). La représentation des ordres visuels est une question importante. Elle n'est pas assez pour décrire la teneur d'une vidéo mais pour développer également les techniques qui peuvent CHAPITRE 1. ANALYSE MULTIMEDIA 35 __________________________________________________________________________________________ créer automatiquement ces descriptions. La vidéo originale devrait être subdivisée à des scènes vidéo qui peuvent également être divisés à des séquences d’images [25]. 1.10.1 Segmentation en plans Le plan constitue l'unité technique de base des systèmes de classification. Il est défini comme une séquence d'images prises par une caméra durant laquelle l'acquisition du signal est continue, souvent de courte durée. Un plan est identifié dans une zone limitée de l'espace où se déroule l'action, par le processus de segmentation en plans, qui regroupe les images selon leurs caractéristiques bas-niveau; où la différence calculée entre deux images conclura sur la présence ou non, d'un changement de plan. 1.10.2 Segmentation en scènes La scène constitue l'unité sémantique permettant d'exprimer une idée de l'action s'y déroulant où de l'ambiance dégagée dans un moment de la vidéo. Elle est faite d'une séquence de plans souvent de courte durée. En effet, deux catégories se distinguent : la première catégorie utilise les algorithmes de regroupement, où les plans sont regroupés en fonction de leur similarité [26]. La deuxième catégorie regroupe au fur et à mesure les plans sur la base d'un chevauchement des liens qui les relient en termes de contenus visuels et en variations temporelles. Un ensemble de règle basé sur l'application d'une fonction adaptative de seuil permettra de définir si un plan appartient à la scène courante ou à une nouvelle scène [27]. Pour la détection de scènes basées sur le contenu visuel des documents vidéos, le mouvement est peu pertinent [28]. Par conséquent, les techniques de classification d’images par le contenu peuvent être utilisées pour classer des séquences vidéo. Généralement, seules les images représentatives de chaque plan vidéo sont exploitées [29]. Les premiers travaux sur la classification d’images par le contenu ont porté sur la catégorisation en scènes, considérée comme une étape importante, elle fournit une information contextuelle pour d’autre tâches, telles que la reconnaissance d’objets [30]. Il s’agit d’un problème de classification qui s’appuie sur des caractéristiques de bas niveau. On distingue des approches dites globales où les caractéristiques sont extraites pour l’ensemble de l’image, des approches locales basées sur des blocs (ou patches) de taille fixe, des régions de tailles variables (automatiquement segmentées), ou plus récemment, une combinaison des deux. La figure 1.7 présente le résultat de la segmentation sur une vidéo de type « avi », alors que la figure 1.8 illustre le résultat sur une vidéo de type « mpeg ». CHAPITRE 1. ANALYSE MULTIMEDIA 36 __________________________________________________________________________________________ Figure 1. 7. Résultats de la segmentation d’une séquence de type Avi Figure 1.8. Résultats de la segmentation d’une séquence de type Mpeg 1.11 La segmentation d'image La segmentation d'image a pour but de regrouper des pixels entre eux suivant des critères prédéfinis, constituant une partition de l'image. Ce problème particulièrement difficile qui n'a actuellement pas de solution générique est largement traité dans la littérature. Les images-clés des plans vidéos sont segmentées en régions homogènes en utilisant deux méthodes de segmentation : (1) en bloc et (2) en segmentation de graphe [31]. Cette dernière a été sélectionnée pour sa capacité à préserver les détails dans les images avec peu de variations et de les ignorer dans les images avec de grandes variations. 1.11.1 Segmentation en blocs La première méthode de segmentation utilisée, est celle d'une division de l'image (576x720 pixels) en un certain nombre de (6x6) sous-images sans chevauchement, comme le montre la figure 1.9. CHAPITRE 1. ANALYSE MULTIMEDIA 37 __________________________________________________________________________________________ Figure 1. 9. Segmentation en blocs d’une image On obtient 36 blocs représentatifs de 96x120 pixels chacun. La couleur, la texture sont ensuite extraites. Notons que le nombre de blocs est choisi en prenant en compte deux points : (1) l'obtention de blocs de taille représentatif et (2) se prévenir d'une grande dimension qui risque d'être produite dans l'étape d'extraction des descripteurs. 1.11.1 Segmentation en régions Les méthodes appartenant à cette famille manipulent directement des régions. Soit elles partent d'une première partition de l'image, qui est ensuite modifiée en divisant ou regroupant des régions, et on parle alors de méthodes de type décomposition/fusion (ou split and merge en Anglais) ; soit elles partent de quelques régions, qui sont amenées à croître par incorporation de pixels jusqu'à ce que toute l'image soit couverte, et on parle alors de méthodes par croissance de régions. Les algorithmes de type décomposition/fusion exploitent les caractéristiques propres de chaque région (surface, intensité lumineuse, colorimétrie, texture, etc.). On cherche des couples de régions candidates à une fusion et on les note en fonction de l'impact que cette fusion aurait sur l'apparence générale de l'image. On fusionne alors les couples de régions les mieux notés, et on réitère jusqu’à ce que les caractéristiques de l'image remplissent une condition prédéfinie : nombre de régions, luminosité, contraste ou texture générale donnée, ou alors jusqu’à ce que les meilleures notes attribuées aux couples de régions n'atteignent plus un certain seuil (dans ce dernier cas, on parle d'un algorithme avec minimisation fonctionnelle). CHAPITRE 1. ANALYSE MULTIMEDIA 38 __________________________________________________________________________________________ Les algorithmes par croissance de régions partent d'un premier ensemble de régions, qui peuvent être calculées automatiquement (par exemple, les minima de l'image), ou fournies par un utilisateur de manière interactive. Les régions grandissent ensuite par incorporation des pixels les plus similaires suivant un critère donné, tel que la différence entre le niveau de gris du pixel considéré et le niveau de gris moyen de la région. 1.12 Les critères pour les mesures des performances Cette dernière phase consiste à évaluer les différentes méthodes utilisées dans les étapes du processus de détection ainsi que la performance globale du système de reconnaissance. Nous avons utilisé dans le cadre de nos travaux, le taux des détections négatives (false négative rate) et le taux des détections positives (false positive rate) comme critères d’évaluation. Une définition brève de ces critères est présentée par la suite : • Détection positive On appelle une détection positive une fenêtre qui selon le détecteur, contient un objet caractéristique. • Détection négative On appelle une détection négative une fenêtre qui, selon le détecteur, ne contient pas d’objet caractéristique. • Le taux des détections positives Le taux des détections est le pourcentage des objets caractéristiques pour lesquels on a une détection positive dans une série d’images ou de scènes vidéo. • Le taux des détections négatives Le taux des détections négatives est le pourcentage des objets caractéristiques pour lesquels on a une détection négative, dans une série d’images ou de scènes vidéo. 1.13 Présentation des données Notre base contient 200 vidéos (100 vidéos adultes et 100 vidéos non adultes) en couleur qui ont été tirées d’Internet [65] à différentes heures et avec différentes conditions d’éclairage. Elle a été créée pour tester et évaluer notre filtre adulte. La construction de la base d’apprentissage est un élément important dans une démarche d’extraction de connaissances à partir des données. Pour notre problème de classification des vidéos pour adulte, la qualité du corpus peut être jugée sur la taille de la base de données et la variété dans les contenus d’images, qui doit être représentative pour les différents races et conditions d’éclairages. CHAPITRE 1. ANALYSE MULTIMEDIA 39 __________________________________________________________________________________________ Les bases d’apprentissage et de test ont été construites autour de 130 et 70 vidéos respectivement. La figure 1.10 et 1.11 montrent un extrait de ces bases de données. Figure 1. 10. Extrait de la base d’apprentissages Figure 1. 11. Extrait de la base de test CHAPITRE 1. ANALYSE MULTIMEDIA 40 __________________________________________________________________________________________ 1.14 Conclusion Dans ce chapitre, nous avons introduit le système de reconnaissance des vidéos par le contenu. Nous avons décrit leurs structures générales et les difficultés qui peuvent être rencontrées pour mettre en place avec précision le cadre des travaux présentés dans les prochains chapitres. Enfin, une brève présentation du support vidéo a été effectuée, en particulier sur la segmentation temporelle en scènes, en plans et la sélection des images-clés. Notre prochaine étude se concentrera sur les caractéristiques visuelles qui peuvent être extraites du plan vidéo. Ensuite, nous présenterons les méthodes de classification utilisées dans cette thèse. Ainsi, dans le chapitre suivant nous entamerons la phase de la détection de la peau qui présente une étape très importante dans le domaine de la vision par ordinateur. Chapitre 2 Détection de la peau Sommaire 2.1 Introduction ........................................................................................................................ 42 2.2 Les espaces couleur pour la détection de la peau ............................................................... 43 2.2.1 L’espace RGB.............................................................................................................. 43 2.2.2 L’espace HSV .............................................................................................................. 44 2.2.3 L’espace YUV ............................................................................................................. 45 2.3 Représentation du contenu visuel des images .................................................................... 46 2.3.1 Les attributs réversibles ............................................................................................... 47 2.3.2 Les attributs non-réversibles ........................................................................................ 47 2.3.2.1 Descripteurs de couleur......................................................................................... 47 2.3.2.2 Descripteurs de texture.......................................................................................... 48 2.3.2.3 Descripteurs de forme ........................................................................................... 48 2.3.2.4 Descripteurs de mouvement .................................................................................. 49 2.4 Les méthodes de détection de la peau ................................................................................ 50 2.4.1 Les approches physiques de détection de la peau........................................................ 50 2.4.1.1 La couleur de peau dans l’espace RGB ................................................................ 51 2.4.1.2 La couleur de peau dans l’espace HSV................................................................. 51 2.4.1.3 La couleur de peau dans l’espace YCbCr ............................................................. 52 2.4.2 Les approches paramétriques de distribution de la peau ............................................. 52 2.4.2.1 Simple gaussien .................................................................................................... 53 2.4.2.2 Mélange de gaussiennes ........................................................................................ 54 2.4.3 Les approches non paramétriques de distribution de peau .......................................... 54 2.4.3.1 Le classificateur de Bayes ..................................................................................... 54 2.4.3.2 Table normale de consultation .............................................................................. 55 2.5 Fusion des méthodes de détection de la peau ..................................................................... 56 2.5.1 Fusion entre le modèle bayes et les différents espaces de couleurs ............................ 57 2.5.2 Fusion entre les deux espaces HSV et YCbCr ............................................................ 58 2.5.3 Fusion entre les deux espaces RGB et HSV ................................................................ 58 2.5.4 Fusion entre les deux espaces RGB et YCbCr ............................................................ 59 2.5.5 Fusion entre les trois espaces RGB-HSV-YCbCr ....................................................... 59 2.6 Evaluation de performances de classificateurs ................................................................... 60 2.7 Transformation morphologique.......................................................................................... 66 2.7.1 Erosion ......................................................................................................................... 66 2.7.2 Dilatation ..................................................................................................................... 67 2.8 Conclusion .......................................................................................................................... 69 CHAPITRE 2. DETECTION DE LA PEAU 42 __________________________________________________________________________________________ 2.1 Introduction La détection de la peau consiste à détecter les pixels de peau dans une image couleur pour obtenir une image binaire. Elle constitue une étape de prétraitement fondamentale dans plusieurs applications telles que la détection de visage [32], la segmentation vidéo et le filtrage des images sur le Web [33]. Cependant, c’est une tâche difficile à réaliser à cause de la variation de la couleur de la peau (européenne, africaine, etc.) et la différence des conditions de prise de vue (lumière, bruit, ...) qui créent une classe de la peau avec beaucoup de variations inter-classe. Ainsi, plusieurs recherches ont vu le jour, elles sont basées aussi bien sur des approches paramétriques que sur d’autres non paramétriques [34]. La figure 2.1 montre quelques images couleurs et leurs masques binaires après détection des régions de peau. (a) (b) Figure 2. 1. (a) et (b) représentent respectivement l’image originale et son masque binaire La détection de la couleur de la peau est donc un moyen efficace souvent utilisé pour définir une série de zones candidates. De plus, celle-ci peut être effectuée de manière assez simple grâce à des seuillages dans un espace de couleurs approprié. Une telle détection est alors relativement peu coûteuse en temps de calcul et donc particulièrement adaptée à un détecteur devant traiter un nombre significatif d’images par seconde. La peau possède des caractéristiques très particulières, quels que soient le type et la couleur de peau, et ce à condition de choisir un espace de couleur suffisamment discriminant. L'objectif ici est la classification automatique de pixels en pixels de peau ou non-peau dans les images. Un tel modèle peut avoir des applications évidentes pour la détection des scènes adulte et le filtrage des sites illicites. CHAPITRE 2. DETECTION DE LA PEAU 43 __________________________________________________________________________________________ L’image est tout d’abord convertie dans un espace de couleur approprié. On peut choisir entre les espaces de couleur RGB (Reed, Green, Blue), YCbCr (Luminance, Chrominance rouge, Chrominance bleue) ou HSV (Hue, Saturation, Value). Le choix de ces espaces de couleur parmi tend d’autres est justifier d’une part par leur popularité dans la littérature scientifique et d’autre part par le fait que nous n’avons trouvé les seuils de la couleur de peau que pour ces espaces de couleurs. Dans ce chapitre, nous présentons les différents espaces de couleurs utilisés dans le système de reconnaissance d’images par le contenu. Nous exposons ensuite les concepts de base pour caractériser le contenu visuel des images : texture, couleur et forme. Ensuite, nous abordons les méthodes de détection de peau qui ont comme objectif de classifier automatiquement les pixels en peau ou non-peau et conserver le maximum d’information possible des paramètres (caractéristiques de l’image) dans un espace de couleur donné. Toutefois la détection de la peau est une tâche difficile à accomplir, étant donné la diversité des couleurs de la peau et la variété des conditions de prise de vues. Dans l’objectif de surmonter ces dernières contraintes nos travaux de thèses consistent à définir un modèle robuste de la distribution de la peau basé sur la fusion des différentes espaces de couleurs. La fusion de classificateurs, a été proposée comme une voie de recherche permettant de fiabiliser la détection en utilisant la complémentarité qui peut exister entre les classificateurs. Enfin, nous implémentons l’érosion et la dilatation pour éviter le bruit et les régions discontinues. 2.2 Les espaces couleur pour la détection de la peau La colorimétrie, l'infographie et les normes de transmission de signal visuel ont donné naissance à beaucoup d’espace de couleur avec différentes propriétés. Une grande variété de celles-ci a été appliquée au problème de modélisation de la couleur de peau. Nous passerons en revue brièvement des espaces de couleur les plus populaires et leurs propriétés ainsi que les différentes manières de définir des modèles de peau dans ces espaces. 2.2.1 L’espace RGB Le codage RGB (Red, Green, Blue, pour Rouge Vert Bleu, en français RVB), mis au point en 1931 par la Commission Internationale de l'Eclairage (CIE) consiste à représenter l'espace des couleurs à partir de trois rayonnements monochromatiques de couleurs [35] : Rouge (de longueur d'onde égale à 700,0 nm). Vert (de longueur d'onde égale à 546,1 nm). CHAPITRE 2. DETECTION DE LA PEAU 44 __________________________________________________________________________________________ Bleu (de longueur d'onde égale à 435,8 nm). Etant donné que le codage RGB repose sur trois composantes proposant la même gamme de valeur, on le représente généralement par un cube dont chaque axe correspond à une couleur primaire (figure 2.2) : Figure 2.2. Présentation des couleurs dans l'espace RGB Cet espace de couleur correspond à la façon dont les couleurs sont généralement codées informatiquement, ou plus exactement à la manière dont les tubes cathodiques des écrans d'ordinateurs représentent les couleurs. Ainsi, le modèle RGB propose de coder sur un octet chaque composante de couleur, ce qui correspond à 256 intensités de rouge 256 intensités de vert et 256 intensités de bleu, soient 16777216 possibilités théoriques de couleurs différentes, c'est-à-dire plus que ne peut en discerner l'oeil humain (environ 2 millions) [35]. Cet espace de couleur est apparemment plus mauvais en raison de sa variation selon des états de luminance. Pourtant il facilite la formulation des règles relatives à la couleur peau. 2.2.2 L’espace HSV Nous partons ici de la grandeur "brillance" (le V) : elle traduit, indépendamment de la fréquence, l'intensité du flux lumineux perçu. Le terme suivant, la saturation (le S), explicite l'éloignement vis-à-vis de la lumière blanche : on dira qu'elle traduit la pureté relative de la grandeur. Quant au dernier terme, la teinte ou hue (le H) est un attribut associé à la longueur CHAPITRE 2. DETECTION DE LA PEAU 45 __________________________________________________________________________________________ d'onde dominante dans la distribution poly-chromatique perçue. Pour un H correspondant à 700 nm et une saturation maximale, on aura donc une couleur purement rouge. La saturation et la teinte caractérisent la chromaticité du signal : cela est très proche du système perceptif de notre corps. La brillance est une grandeur séparée, ce qui permet de faire des considérations sur les dégradés d'intensité indépendamment des considérations de couleurs [35]. La figure 2.3 représente le modèle de l’espace de couleur HSV. Figure 2.3. Représentation du modèle HSV 2.2.3 L’espace YUV L’espace YUV permet d'offrir une qualité de vidéo optimale en envoyant simultanément les 576 lignes de l'image, sans entrelacement. En fait le standard YUV (appelé aussi CCIR 601), auparavant baptisée YCbCr (Y Cb Cr), est un modèle de représentation de la couleur dédié à la vidéo analogique. Le paramètre Y représente la luminance, (c'est-à-dire l'information en noir et blanc), tandis que U et V permettent de représenter la chrominance, c'est-à-dire l'information sur la couleur. Ce modèle a été mis au point afin de permettre de transmettre des informations colorées aux téléviseurs couleurs, tout en s'assurant que les téléviseurs noir et blanc existant continuent d'afficher une image en tons de gris. Ainsi U est parfois noté Cr et V noté Cb, d'où la notation YCbCr [35]. CHAPITRE 2. DETECTION DE LA PEAU 46 __________________________________________________________________________________________ En générale les images acquises se présentent dans l’espace RGB, donc pour procéder à la segmentation de la couleur de peau selon un espace autre que l’espace RGB il est nécessaire de convertir l’image dans l’espace approprié. Soit la conversion : - RGB-HSV H = arccos S =1− 3 V = - 1 (( R − G ) + ( R − B )) 2 (( R − G ) 2 + ( R − B )( G − B )) min( R , G , B ) R +G + B ( 2 . 1) ( 2 .2 ) 1 (R + G + B) 3 ( 2 .3) RGB-YCbCr + 0 . 299 + 0 . 587 + 0 . 114 R Cb = − 0 . 169 Cr + 0 . 500 − 0 . 441 − 0 . 418 + 0 . 500 G − 0 . 081 B Y ( 2 .4 ) La figure suivante présente la représentation d’une image dans différents espaces de couleur. Figure 2.4. Transformation du RGB en YCbCr et en HSV. 2.3 Représentation du contenu visuel des images La manipulation directe des images ne permet pas d’obtenir de bonnes performances (temps de réponses, robustesse et efficacité) pour un système de reconnaissance d’images dans des bases de données de grand volume. Toutefois, elle ne prend pas en compte le contenu sémantique de l’image et les transformations géométriques (rotation, translation, changement d’échelle,...) qui peuvent l’affecter. Il convient donc d’utiliser des signatures (appelées aussi descripteurs ou attributs) de dimension réduite pour caractériser le contenu d’une image. Par ailleurs, la performance des systèmes de détection dépend pour une grande partie du choix des descripteurs employés et des techniques associées à leur extraction. La question alors qui se pose est : comment choisir les bons descripteurs ? Malheureusement, il n y a pas de CHAPITRE 2. DETECTION DE LA PEAU 47 __________________________________________________________________________________________ réponse à cette question, car le choix des attributs dépend de l’application envisagée et de la nature des images traitées. Ainsi, les attributs qui donnent d’excellents résultats sur une base d’images peuvent donner des résultats médiocres sur une autre. On peut déjà différencier deux types d'attributs : 2.3.1 Les attributs réversibles Ce sont les attributs qui décrivent l'image et qui permettent, à base seul, la reconstruction de l'image. Ces attributs se basent généralement sur la transformée de Fourier. 2.3.2 Les attributs non-réversibles Aussi appelés signatures, ces attributs caractérisent l'image mais ne permettent pas, à eux seuls de reconstruire l'image. La couleur, la texture et la forme sont, par exemple des signatures. A titre d’exemple, la seule connaissance des histogrammes de couleurs d'une image ne permet évidemment pas la restitution de l'image. Nous présentons dans la section suivante, les attributs les plus utilisés dans les systèmes de reconnaissance vidéo : la couleur, la texture, la forme et le mouvement. 2.3.2.1 Descripteurs de couleur La couleur est l'une des composantes les plus utilisées en traitement d'image. Elle est indépendante de la taille de l'image et de son orientation. Cependant, sans segmentation, elle est relativement peu robuste aux problèmes liés au fond de l'image. Dans la reconnaissance par la couleur, l'histogramme de couleur est la représentation colorimétrique la plus utilisés. Il dénombre la quantité de pixels de chaque valeur pour les différentes composantes de la couleur. Soit sur l'image dans sa totalité, soit sur des parties de l'image afin de prendre en compte la répartition des couleurs dans l'image. Généralement, il existe deux grandes catégories des descripteurs couleurs [36] : – Les descripteurs liés à l’espace couleur, où il s’agit de représenter les couleurs dominantes d’une image, tout en fournissant certaines informations (degré d’importance, distribution colorimétrique, etc.). – Les descripteurs visant à capturer la distribution spatiale des couleurs dans le plan image. L’approche la plus répandue et la plus utilisée dans la littérature se base sur l’histogramme de couleur. Ce dernier est invariant aux transformations géométriques de l’image notamment, la rotation, la translation et le changement d’échelle. Plusieurs mesures de similarité ont été proposées afin de comparer les images représentées par leurs histogrammes. La mesure la plus utilisée est celle proposée par [37]. Elle consiste à utiliser CHAPITRE 2. DETECTION DE LA PEAU 48 __________________________________________________________________________________________ l’intersection entre les histogrammes de couleur comme mesure de similarité entre deux images. L’histogramme de couleur peut être calculé à partir de plusieurs types d’espaces couleur. Ainsi, pour le choix de l’espace représentation colorimétrique, de très nombreux travaux ont été menés, notamment ceux cherchant à offrir des espaces perceptuellement uniformes. 2.3.2.2 Descripteurs de texture La texture est une caractéristique fondamentale des images et de la reconnaissance de formes. Cependant, il n’existe pas une définition précise et consensuelle de la texture en vision par ordinateur. De manière générale, il existe deux types de définition de la texture [37] : – Définition déterministe qui fait référence à une répétition spatiale d’un motif similaire dans différentes directions. Nous intitulons cette approche la texture macroscopique. – Définition probabiliste qui cherche à caractériser une zone purement homogène qui ne comprend ni motif ni fréquence de répétition. Cette approche est appelée microscopique. Les performances des méthodes de texture dépendent de la zone sur laquelle elles sont appliquées et aussi la nature de la texture de cette zone (microscopique ou macroscopique). L’analyse de texture a fait l’objet de nombreux travaux de recherche de traitement d’images [37]. Pour les textures macroscopiques, le but est de chercher des répétitions d’un motif dans une certaine direction à l’aide par exemple des matrices de cooccurrence ou des matrices de longueur de plage. Pour les textures de type microscopique, les techniques de recherche sont basées sur des calculs statistiques sur les niveaux de gris des images. L’analyse de Fourier et l’analyse en ondelettes permettent de calculer des attributs pour ce type de texture [37]. 2.3.2.3 Descripteurs de forme Semblable à la couleur et à la texture, la forme présente un rôle important dans la détection d'objets. Les descripteurs de formes sont moins développés que les deux précédents descripteurs due à la complexité de la représentation des formes. La forme est l’un des descripteurs les plus utilisés pour décrire le contenu visuel des images. Bien que la signature de la forme ne représente pas toute l’information contenue dans l’image, elle reste l’une des informations la plus utilisée dans les systèmes de description visuelle d’image [37]. Les descripteurs de forme permettent de décrire la structure géométrique générique du contenu visuel des images. Les descripteurs de forme sont généralement classifiés en deux familles : CHAPITRE 2. DETECTION DE LA PEAU 49 __________________________________________________________________________________________ – Descripteurs basés région. Ils décrivent les objets selon la distribution spatiale des pixels appartenant à la région. – Descripteurs basés contour. Ils décrivent les objets selon leur contour externe. Nous distinguons pour chacune de ces deux familles deux sous-familles : les méthodes qui traitent la forme d’objet dans sa totalité et celles qui traitent les contours en préservant l’information spatiale des sous-structures. 2.3.2.4 Descripteurs de mouvement Les descripteurs de mouvements peuvent être très utiles pour la détection du contenu dans les séquences vidéo, introduisant sa dimension temporelle, qui est généralement très coûteuse en termes de temps de calcul et du grand volume d'informations. On présentera trois descripteurs caractérisant les différents aspects du mouvement : mouvement de la camera, activité et trajectoire. - Camera Motion Descriptor (CMD) détaille le mouvement fourni par une caméra à un instant donné dans une scène. Le CMD prend en compte le positionnement physique de la caméra, particulièrement l'axe optique tel que le panoramique horizontal ou le panoramique vertical, que les mouvements engendrés par une modification de la focale comme pour le zoom avant ou arrière. Tous ces changements au niveau de la caméra induisent un mouvement global dans un plan image [38]. - Motion Activity Descriptor (MAD) indique comment une scène peut être perçue par un téléspectateur comme : lente, rapide ou action se déroulant à un certain rythme [38]. Un exemple d'une haute activité est l'action de but dans un match de football ou de tennis, tandis qu'une faible activité comprend les journaux télévisés, les scènes d'interviews, etc. - Motion Trajectory Descriptor (MTD) présente le déplacement des objets au cours du temps. Le MTD est défini comme une localisation spatio-temporelle donnée par la position d'un point représentatif comme le centre de masse. La trajectoire est représentée par une liste de N-1 vecteurs, où N est le nombre de frames dans une séquence vidéo [37]. Après avoir effectué une étude sur les différents descripteurs, nous avons jugé utile de présenter dans la section suivante les fondements théoriques des méthodes de classification utilisées par de nombreux chercheurs afin d’établir un modèle de peau. Ces méthodes sont divisées en trois sous axes principaux: méthodes basées sur des seuils fixés de définition de la peau, méthodes de peau paramétrique et méthodes de peau non paramétrique. CHAPITRE 2. DETECTION DE LA PEAU 50 __________________________________________________________________________________________ 2.4 Les méthodes de détection de la peau L'objectif final de la détection de couleur de peau est d'établir une règle de décision, cela distinguera entre la peau et les pixels non peau. Dans toutes ces approches, la couleur de peau est une primitive souvent utilisée en tant que première estimation de localisation et de segmentation pour réduire la zone de recherche. Les informations couleur sont incontestablement pertinentes pour l’analyse du corps adulte en vidéo car elles sont très spécifiques et permettent des algorithmes rapides et invariants aux changements d’orientation et d’échelle. Cependant une difficulté importante est de s’accommoder aux variations des conditions d’éclairement. Une solution est d’utiliser des espaces couleur invariants vis à vis de la luminance. Les modélisations existantes au niveau du pixel de la couleur de peau peuvent être regroupées d’une part en méthodes explicites, qui utilisent des règles de décision adéquates de manière empirique et statistiques, et d’autre part en modélisations paramétriques et non paramétriques. Les approches paramétriques représentent la distribution de couleur sous la forme d’un modèle gaussien, parfois elliptique ou utilisent des mélanges de gaussiennes pour traduire le caractère multimodal de la distribution de couleur de peau. Les approches non paramétriques, indépendantes vis à vis de la forme de la distribution de la teinte, utilisent des histogrammes pour représenter la densité de probabilité dans l’espace couleur. 2.4.1 Les approches physiques de détection de la peau Ce sont des approches pour établir un classificateur de peau est pour définir explicitement (par un certain nombre de règles) le faisceau de peau de frontières dans un certain espace de couleur (Algorithme 2.1). Ces méthodes définissent explicitement un classificateur de la peau en répondant à certains critères. La couleur de peau (chair) fait partie des caractéristiques bas niveaux (pixel) quasi-insensible aux facteurs d’échelle (donc ne nécessitant pas de multi-résolution). Néanmoins, il est connu que la couleur est peu fiable dans les zones sombres, sensibles à l’éclairage ambiant. Il faut noter qu’il est intéressant, lorsque l’image initiale est en couleur, de pouvoir se servir de cette information afin d’améliorer la localisation de la peau. Dans la plupart des cas, la peau peut être vue comme une portion de l’image d’une couleur déterminée. En utilisant les frontières de cette zone comme seuil pour une image, il est possible d’extraire les pixels dont la couleur peut s’apparenter à celle de la peau [34]. Des études ont montré que la variabilité de la couleur de la peau tenait plus de la différence de la chrominance plutôt que d’intensité. CHAPITRE 2. DETECTION DE LA PEAU 51 __________________________________________________________________________________________ Cependant la couleur peut être présentée dans différents espaces de couleur tel : RGB, HSV, YCbCr, …etc. 2.4.1.1 La couleur de peau dans l’espace RGB Cet espace de couleur correspond à la façon dont les couleurs sont généralement codées informatiquement, ou plus exactement à la manière dont les tubes cathodiques des écrans d'ordinateurs représentent les couleurs. Etant donné que le codage RGB repose sur trois composantes proposant la même gamme de valeurs, le seuillage appliqué sur l’espace RGB, s’applique aux trois canaux (Reed, Green & Blue), les règles proposées ont été adaptées aux conditions d'éclairage ces contraintes sont divisées en deux, selon l'état de l'éclairage, fort (jour) ou faible (nuit) - Eclairage fort : (R > 95) AND (G > 40) Et (B > 20) Et ((max[R, G, B]) - (min[R, G, B])) > 15) Et (ABS(R - G) > 15) Et (R > G) et (R > B) - (2.5) Eclairage faible : (R > B) Et (G > B)) Ou ((R > 220) Et (G > 210) Ou (B > 170) Et (ABS(R - G) <= 15)) (2.6) 2.4.1.2 La couleur de peau dans l’espace HSV C’est un modèle de représentation dit « naturel », c'est-à-dire proche de la perception physiologique de la couleur par l'œil humain. Il consiste à décomposer la couleur selon des critères physiologiques (La teinte, la saturation, et la luminance). Dans l’espace HSV, l’information d’intensité est représentée par le canal V, pour cette raison, ce canal doit être négligé dans le processus de détection de la peau, on ne considère que les canaux H et S qui représentent l’information chromatique. La segmentation de la couleur de peau selon l’espace HSV nécessite une conversion de l’image originale de l’espace RGB (souvent les images acquissent se représentent dans cet espace) à l’espace HSV dans lequel la couleur de peau [34] se représente dans les intervalles suivants : CHAPITRE 2. DETECTION DE LA PEAU 52 __________________________________________________________________________________________ 0 <H < 50 (2.7) 0.23 <S < 0.68 (2.8) 2.4.1.3 La couleur de peau dans l’espace YCbCr Utilisé souvent dans la compression des images, la luminance (appelée aussi Luma) est séparée de la couleur, présentée par la valeur Y et calculée par une somme pondérée des composantes de R, G et B [34] : Y = 0,299 * R + 0,587 * G + 0,114 * B (2.9) Les deux autres composantes de cet espace représentent l'information chromatique et elles sont calculées à partir de Luma : Cr = R – Y et Cb = B – Y (2.10) Seuls les deux canaux Cb et Cr sont retenus à l’application du seuillage [34]. (Cb>=85) et (Cb<=135 (2.11) (Cr>=135) et (Cr<=180) (2.12) (Cb>=77) et (Cb<=127) (2.13) (Cr>=133) et (Cr<=173) (2.14) (Cb>=80) et (Cb<=120) (2.15) __________________________________________________________________________ Algorithme 2.1 __________________________________________________________________________ Entrée : Une image. Traitement : Tester les valeurs des couleurs de l’image pour savoir s’ils respectent certaines contraintes. Sortie : Image binaire montrant la peau détectée. ___________________________________________________________________________ Le plus grand avantage de cette méthode est sa simplicité mais elle n’est pas très fiable dans le cas où l’image contient des objets ayant la même couleur que la peau [39]. 2.4.2 Les approches paramétriques de distribution de la peau Ces modèles demandent moins d’espace de stockage que les modèles non paramétriques. Ils offrent aussi plus de compréhension dans les formes correctes ou régulières des distributions et autorisent leur analyse de manière commode. CHAPITRE 2. DETECTION DE LA PEAU 53 __________________________________________________________________________________________ 2.4.2.1 Simple gaussien La distribution de couleur de peau (Algorithme 2.2) peut être modélisée par une fonction commune gaussienne elliptique de densité de probabilité définie comme : exp 1 p ( c / skin ) = 2π ∑ 1 2 − 1 ( c − µ skin ) T 2 ∑ skin ( c − µ skin ) −1 ( 2 . 16 ) skin Avec c est un vecteur de couleur et µs et ∑ sont les distributions paramétriques : la moyenne et la matrice de covariance de [10] : µ skin = ∑ skin = 1 n −1 1 n ∑ ∑ n j =1 n j =1 cj (c j − µ skin )(c j − µ skin ) T (2.17) (2.18) Où n est le nombre total des échantillons de couleurs de la peau cj. ___________________________________________________________________________ Algorithme 2.2 ___________________________________________________________________________ Entrées : - Une image ; - Des histogrammes peau et non peau qui jouent le rôle d’une base de comparaison. Traitement : Calcul des probabilités peau à partir de l'histogramme peau : P (skin) Calcul des probabilités non peau à partir de l'histogramme non peau : P (¬ skin) Calcul des : µs et ∑ µs : Moyenne skin ; ¬µs: Moyenne non skin ; ∑ : Matrice de covariance skin ; ¬∑ : Matrice de covariance non skin ; P (skin|c) calculée par l’équation en haut ; P (¬skin|c) (voir l’équation en haut) ; Le rapport P (skin|c)/ P (¬skin|c) ; Si le rapport est inférieur au seuil de comparaison (0.01 ou 0.024), alors le pixel de l’image est peau (on lui affecte une valeur de 1) sinon il est non peau (valeur de 0). Sortie : Image binaire montrant la peau détectée. __________________________________________________________________ CHAPITRE 2. DETECTION DE LA PEAU 54 __________________________________________________________________________________________ 2.4.2.2 Mélange de gaussiennes Un modèle plus amélioré, capable de décrire des distributions complexe formées est le modèle gaussien de mélange. C'est la généralisation du modèle gaussien simple, la probabilité est dans ce cas définie par : P(c / skin) = ∑ K i =1 π i p i (c / skin) (2.19) k est le nombre de composants de mélange et les πi sont les paramètres de mélange, obéissant à la contrainte de normalisation suivante: ∑ K i =1 πi =1 ( 2 .20 ) Après le procédé de détection de la tonalité de peau, des informations sur chaque armature sont alors stockées dans une image binaire où des pixels de fond sont placés à 0 et des pixels de tonalité de peau sont placés à 255 par exemple. 2.4.3 Les approches non paramétriques de distribution de peau L'idée principale de la modélisation non paramétrique de la peau est d'estimer la distribution de couleur de peau. Cette méthode emploie des images segmentées comme ensemble de données de formation pour trouver le modèle de peau, et puis applique ce modèle à de nouvelles images. Plusieurs techniques peuvent être employées pour exécuter ce modèle, comme par exemple le classificateur de Bayes ou la table normale de consultation. L'avantage principal de cette méthode est son indépendance à la forme de la distribution de peau. Mais elle exige de l'espace mémoire pour traiter les données de formation. 2.4.3.1 Le classificateur de Bayes Cette méthode utilise la modélisation de la couleur de peau et non peau à travers des histogrammes (Algorithme 2.3). Elle compte le nombre de couleurs des pixels dans chaque bac skin(c) pour la classe peau tout comme Nskin(c) pour la classe non peau. La formule de Bayes utilisée pour estimer les probabilités peau / non peau par rapport à la couleur d’un pixel est : P( skin / c ) = P(c / skin) P ( skin) P(c / skin) P( skin) + P (c / ¬skin) P(¬skin) P(¬skin / c) = 1 − P( skin / c) Avec : P (c / skin) = Nskin(c) Nskin (2.21) (2.22) CHAPITRE 2. DETECTION DE LA PEAU 55 __________________________________________________________________________________________ P ( c / ¬ skin ) = N ¬ skin ( c ) N ¬ skin Les deux classes de décision sont comparées par rapport au seuil sélectionné, 0 <Θ < 1. Le pixel est dit pixel peau si P (skin/c) > Θ ou non peau si P (skin/c) <Θ. ___________________________________________________________________________ Algorithme 2.3 ___________________________________________________________________________ Entrées : - Une image ; - Les histogrammes peau et non peau qui jouent le rôle de la base de comparaison. Traitement : Calcul des probabilités peau à partir de l'histogramme peau : P (skin) Calcul des probabilités non peau à partir de l'histogramme non peau : P (-Skin) Calcul des : P ( skin / c) = P (c / skin) P ( skin) /[ P (c / skin) P ( skin) + P (c / ¬skin) P (¬skin)] P (¬skin / c) = P (c / ¬skin) P (¬skin) /[ P (c / skin) P ( skin) + P (c / skin) P ( skin)] Rapport : P (skin/c)/P (-skin/c) à comparer avec un seuil (généralement égal à 0.01 ou 0.024). Si le rapport est supérieur au seuil alors le pixel de l’image est peau (on lui affecte une valeur de 1), sinon il est non peau (valeur de 0). Sortie : Image binaire montrant la peau détectée. ___________________________________________________________________________ 2.4.3.2 Table normale de consultation Plusieurs algorithmes de détection de la peau et de suivi de visage utilisent des histogrammes pour segmenter les pixels de la peau. Ces histogrammes représentent la fréquence des couleurs de l’image de traitement et ils sont construits à partir d’un ensemble d’images d’apprentissage contenant différentes races (peau blanche, brune, jaune,…). Les couleurs sont quantifiées dans des plages, chacune correspond à une rangé de couleur particulière. Après l’apprentissage, nous normalisons tous les histogrammes [35]: Pskin(c) = skin[c] Norm (2.23) skin[c] contient les valeurs des plages de l’histogramme, correspondant au vecteur de couleur c. Norm est le coefficient normalisé (somme de toutes les valeurs des plages de l’histogramme ou le maximum des valeurs dans le coffre). CHAPITRE 2. DETECTION DE LA PEAU 56 __________________________________________________________________________________________ On a passé en revue plusieurs techniques de détection de la peau, aussi bien paramétriques ou non paramétriques ou encore à règles fixes. Les approches non paramétriques sont réputées par leur simplicité de calcul mais elles nécessitent un espace mémoire important. Les approches paramétriques ne demandent pas trop de mémoire mais elles consomment beaucoup en termes de temps de calcul. Les méthodes des seuils fixes sont simple et rapide mais peu fiable. En outre la détection de la peau n’est pas une tâche facile, spécialement dans le cas des vidéos et des images du web. Aussi le choix de l’espace de couleur à adopté est souvent lié à la représentation de la couleur de la peau. Devant ces problèmes, il est nécessaire de faire des recherches dans cette voie afin de trouver un modèle qui pourra donner de bons résultats (bonne classification des pixels : peau ou non peau) dans un temps d’exécution réduit. A cette fin nous avons proposé de fusionner les différentes espaces de couleur afin de définir un seul modèle robuste devant ces problèmes. 2.5 Fusion des méthodes de détection de la peau Ces dernières années, la fusion d'informations est un domaine qui connaît une évolution importante, en particulier dans l'indexation, la reconnaissance et la recherche des documents multimédia où les sources d'informations se sont multipliées, qu'il s'agisse de capteurs, d'informations à priori, des caractéristiques (image, audio, texte et mouvement), etc. Chaque source d'information étant en général imparfaite et insuffisante, il est important d'en combiner plusieurs afin d'avoir une meilleure résolution. La fusion d'informations peut alors se définir comme : La combinaison d'informations souvent imparfaites et hétérogènes, afin d'obtenir une information globale plus complète, de meilleure qualité, permettant de mieux décider et d'agir. Pour limiter donc les conséquences de cette problématique, nous avons introduit dans le système différent types de descripteurs, tout en prenant à notre avantage les avancées scientifiques dans le domaine de l'apprentissage automatique et de la fusion. Elle peut être appliquée sur plusieurs niveaux du processus de classification. La fusion de classificateurs, a été proposée comme une voie de recherche permettant de fiabiliser la détection en utilisant la complémentarité qui peut exister entre les classificateurs. Sur ce point, on trouve des méthodes de combinaison qui se différencient aussi bien par le type d'informations apportées par chaque classificateur que par leurs capacités d'apprentissage et d'adaptation. Cette section a pour objectif de présenter les recherches actuelles sur la combinaison parallèle de classificateurs. Tout d'abord, nous proposons une CHAPITRE 2. DETECTION DE LA PEAU 57 __________________________________________________________________________________________ dichotomie des méthodes de combinaison en fonction de critères que nous justifions. Ensuite, nous présenterons une nouvelle méthode de combinaison basée sur les trois espaces de couleur Les résultats comparatif ci-dessous entre les différentes méthodes paramétriques et non paramétriques montrent que le modèle bayésien basé sur les histogrammes donne la meilleure performance en termes de classification de pixels de peau/non-peau (taux des faux positifs, taux des vrais positifs). De ce fait, nous avons proposé de fusionner ce dernier avec les différentes espaces de couleur. La formule de Bayes permet de déterminer les probabilités d’appartenance a posteriori si les densités de probabilité et les probabilités a priori sont connues. La règle de Bayes permet d’obtenir le taux d’erreur de classification minimum, ce qui est l’objectif souhaitable pour tout système de classification d’où la fusion de ce dernier aves les différents espaces de couleur. 2.5.1 Fusion entre le modèle bayes et les différents espaces de couleurs Ce modèle quantifie l'espace de couleur C à un certain nombre de bins c є C et compte le nombre de pixel de couleur dans chaque bins. Npeau(c) représente donc le nombre de pixels de couleur c pour la classe de peau et N⌐peau(c) pour la classe de non-peau. Enfin nous normalisons chaque bin pour obtenir la distribution conditionnelle des pixels de peau et de non peau p(c|peau) et p(c|non peau). • Etape 1: Segmentation des images de la vidéo par la méthode bayésienne obtenu par [Jones & Rehg]. • Etape 2: Ajout des pixels blancs ayons la couleur de la peau (le rouge, le jaune, l’organe, le blanc….) en utilisant la méthode de seuillage selon l’espace de couleur choisi. La figure suivante présente le résultat de cette méthode. Figure 2.5. Fusion de la méthode bayésienne et la méthode du seuillage par HSV, a) Original image, b) détection par la méthode de bayes, c) Ajout des pixels blancs par la méthode de seuillage, d) filtrage morphologique CHAPITRE 2. DETECTION DE LA PEAU 58 __________________________________________________________________________________________ Au final, la qualité du modèle bayésien obtenu par cette approche donne de bons résultats mais elle n’est pas satisfaisante, d’une part les règles obtenues ne nous permettent pas d’améliorer la performance de la méthode développée par Jones & Rehg [41] et d’autre part elles sont complexes. Cela nous a amené à exploiter directement les valeurs des pixels issues des différents axes de représentation afin de déterminer la pertinence de chaque axe indépendamment des autres, et d’en extraire les règles de prédiction. Notre objectif consiste à trouver un modèle de prédiction associé à un espace de représentation capable de discriminer les pixels de peau de ceux de non-peau. Cet espace de représentation peut être un des espaces de couleur classiques ou un nouveau type d’espace hybride en sélectionnant un ensemble de composantes issues de différents espaces de couleur classiques. 2.5.2 Fusion entre les deux espaces HSV et YCbCr Un ensemble de règles est tiré des deux espaces chromatiques, YCbCr et HSV. Toutes ces règles sont tirées pour les valeurs d'intensité entre 0 et 255. En premier lieu nous combinons les conditions de (2.11) à (2.15) par une logique ET, nous obtenons la règle A. Règle A: Equation (2.11) ∩Equation (2.12) ∩Equation (2.13) ∩ Equation (2.14) ∩ Equation (2.15) (2.24) Ensuite nous combinons les conditions (2.3) et (2.4) par une logique OU, nous obtenons la règle B Règle B: Equation (2.7) ∪ Equation (2.8) (2.25) Chaque pixel qui réalise la Règle A ∩ B est classifié comme un pixel chromatique de peau. 2.5.3 Fusion entre les deux espaces RGB et HSV Tout d'abord, nous combinons les deux conditions (2.5) et (2.6) par une logique OU, nous obtenons la règle A Règle A: Equation (2.5) ∪ Equation (2.6) (2.26) Ensuite nous combinons les conditions (2.7) et (2.8) par une logique OU, nous obtenons la règle B Règle B: CHAPITRE 2. DETECTION DE LA PEAU 59 __________________________________________________________________________________________ Equation (2.7) ∪ Equation (2.8) (2.27) Chaque pixel qui réalise la Règle A ∩ B est classifié comme un pixel chromatique de peau. 2.5.4 Fusion entre les deux espaces RGB et YCbCr En premier lieu nous combinons les deux conditions (2.5) et (2.6) par une logique OU, nous obtenons la règle A Règle A: Equation (2.5) ∪ Equation (2.6) (2.28) Ensuite nous combinons les conditions (2.11) à (2.15) par une logique ET, nous obtenons la règle B Règle B: Equation (2.11) ∩ Equation (2.12) ∩ Equation (2.13) ∩ Equation (2.14) ∩ Equation (2.15) (2.29) Chaque pixel qui réalise la Règle A ∩ B est classifié comme un pixel chromatique de peau. 2.5.5 Fusion entre les trois espaces RGB-HSV-YCbCr En premier lieu nous combinons les deux conditions (2.5) et (2.6) par un logique OU, nous obtenons la règle A Règle A: Equation (2.5) ∪Equation (2.6) (2.30) Ensuite nous combinons les conditions (2.11) à (2.15) par une logique ET, nous obtenons la règle B Règle B: Equation (2.11) ∩Equation (2.12) ∩Equation (2.13) ∩Equation (2.14) ∩Equation (2.15) (2.31) Enfin nous combinons les conditions (2.7) et (2.8) par une logique OU, nous obtenons la règle C Règle C: Equation (2.7) ∪Equation (2.8) (2.32) Chaque pixel qui réalise la Règle A ∩ B ∩ C est classifié comme un pixel chromatique de peau. La production de détection de peau est une carte indiquant les probabilités de peau sur des pixels. Par normalisation nous obtenons une image en niveau de gris, avec les niveaux gris proportionnels aux probabilités peau. La plupart des régions de peau sont détectées correctement. Cependant, il y a aussi quelques fausses alarmes quand quelques objets ont la couleur semblable à la peau. La performance CHAPITRE 2. DETECTION DE LA PEAU 60 __________________________________________________________________________________________ du classificateur peut être mesurée en traçant les courbes de ROC [40]. Ces courbes représentent le compromis entre les bénéfices (Vrais Positifs) et les pertes (Faux Positifs). 2.6 Evaluation de performances de classificateurs Après avoir survolé les différentes méthodes de détection de peau, on est passé à une étape d’évaluation de ces méthodes, afin de choisir la méthode la plus optimale et la plus adéquate. L’objectif et de calculer le taux de bonne détection de peau. On suppose que α est une image. Soit P un Pixel de l'image α et Xp un vecteur contenant les valeurs du Pixel P dans l'espace de couleur C. Une fonction D (Xp) s'appelle un détecteur de couleur de peau en C si : 1 si x p peau D( x p ) = 0 si x p Non peau (2.33) La valeur de D (Xp) peut être évaluée avec les deux paramètres suivants : Taux VP = Taux FP = positifs bien classifiés total positifs ( 2 .34 ) négatifs mal classifiés total négatifs ( 2 .35 ) Avec FP le taux faux d'alarme et VP le taux vrai d’alarme. Un détecteur D (Xp) de couleur de peau serait optimum quand il a le plus haut taux VP de détection pour une alarme fausse fixe donnée FP. Pour trouver le seuil optimum, on calcule les VP et FP pour les différents modèles de détection. L’ensemble de ces résultats est représenté sous forme des graphes standards (courbes ROC) [40] qui sont utilisés lors de la comparaison entre les modèles. (a) (b) Figure 2.6. a) Les courbes ROC pour Les approches physiques de détection de la peau, b) courbes ROC pour les approches paramétriques et non paramétriques CHAPITRE 2. DETECTION DE LA PEAU 61 __________________________________________________________________________________________ En général, les détecteurs peuvent faire deux types d'erreur : + Faute négative : une région qui est peau n’est pas comptée. + Faute positive : une région est déterminée comme couleur peau par le détecteur, mais elle n'est pas peau. Une évaluation correcte devrait prendre en compte ces facteurs, puisqu'on peut considérer les paramètres de la méthode pour augmenter les taux de détection tout en augmentant le nombre de détections fausses. D'une part, les résultats de la figure 2.6 (a) montrent que le meilleur taux obtenu par les approches physiques est celui basé sur l'espace HSV (89%) alors que le score le plus bas est obtenu par l'espace YCbCr (71%). D'autre part les résultats de la figure 2.6 (b) montrent que le meilleur taux est obtenu par le modèle bayésien (93%), alors que le score le plus bas est obtenu par la table de correspondance normalisée (59%). Nous fournissons ici le résultat de l'outil de détection de régions de couleur peau appliqué au quelques images de la base. (a) (b) (c) (a) (d) (e) Figure 2.7. Résultats de la modélisation paramétriques et non paramétrique de distribution de peau a) Image originale, b) Modèle gaussien, c) Mélange gaussien, d) Table normalisé, e) Modèle bayesien (a) (b) (c) (d) Figure 2.8. Résultats des approches physiques de distribution de peau a) Image originale, b) En espace RGB, c) En espace YCbCr, d) En espace HSV Le résultat de détection de peau est une carte indiquant les probabilités de peau sur des pixels. Par normalisation nous obtenons une image d'échelle de gris sur le même gabarit que l'image d'entrée et avec les niveaux de gris proportionnels aux probabilités peau. CHAPITRE 2. DETECTION DE LA PEAU 62 __________________________________________________________________________________________ La plupart des régions de peau sont détectées correctement. Cependant, il y a aussi quelques fausses alarmes quand des objets ont la couleur semblable à la peau. Ainsi, nous pensons qu’il serait judicieux de comparer nos travaux au modèle bayesien puisqu’il présente un taux de vrais positifs élevé par rapport aux autres modèles. En premier lieu, nous avons commencé notre étude par une approche bayésienne [41], l’objectif étant d’améliorer l’approche utilisée par [Jones & Rehg]. Nous cherchons donc à identifier un pixel de peau avec un degré élevé de précision en utilisant des règles de prédiction en fonction de différents espaces de couleur, contrairement à l’approche utilisée par [Jones & Rehg] qui utilise uniquement l’espace RGB avec un seuil fixé arbitrairement. Nous pouvons voir dans la figure 2.9 que la combinaison du modèle bayésien et les approches physiques fournissent généralement des résultats meilleurs que la classification en utilisant seulement un simple espace colorimétrique et un seul seuil. Figure 2.9. Les courbes ROC de la fusion entre le modèle bayes et les approches physiques de détection de la peau Les résultats des courbes ROC figure 2.9 montrent que pour une fausse alarme fixe donnée FP = 0,3 le plus, grand taux de détection TP a été donnée par le modèle Bayes-HSV (95%). Nous comparons dans ce qui suit les modèles HSV-YCbCr, RGB-HSV, RGB-YCbCr et RGBHSV-YCbCr. CHAPITRE 2. DETECTION DE LA PEAU 63 __________________________________________________________________________________________ Figure 2.10. Les courbes ROC pour HSV-YCbCr, RGB-HSV, RGB-YCbCr et RGB-HSV-YCbCr D’après la figure 2.10, on peut remarquer que la combinaison des différents espaces de couleurs fournis généralement des meilleurs résultats que la classification en utilisant uniquement un seul ou deux espaces de couleur. Ainsi, les bons résultats de détections sont donnés par le modèle hybride RGB-HSV-YCbCr suivi du modèle HSV-YCbCr avec respectivement 97% et 96% de bonne détection. Figure 2.11. Les courbes ROC pour Bayes-HSV et notre modèle hybride RGB-HSV-YCbCr D’après la figure 2.11, on peut remarquer que notre modèle hybride RGB-HSV-YCbCr fournis les meilleurs résultats que le modèle de base. Le tableau suivant synthétise une comparaison entre différentes méthodes de classification des pixels de la peau. CHAPITRE 2. DETECTION DE LA PEAU 64 __________________________________________________________________________________________ Méthodes Taux de Méthodes détection Taux de détection RGB 82% Bayes-HSV 95% YCbCr 71% Bayes-RGB 94% HSV 89% Bayes-YCbCr 90% Bayes 93% RGB-HSV-YCbCr 97% Table normale 59% RGB-YCbCr 92% Gausse 73% RGB-HSV 91% Mélange de gaussienne 92% HSV-YCbCr 96% Tableau 2.1. Les performances des modèles de détection de peau Clairement, le modèle hybride proposé RGB-HSV-YCbCr donne les meilleurs résultats de classification suivi par le modèle HSV-YCbCr. Nous avons également calculé pour chaque modèle le temps total de détection ainsi que celui d’exécution. Pour cela nous avons choisi l’environnement MATLAB 7.0 avec sa bibliothèque de traitement d’images « Image Processing Toolbox », en utilisant un processeur Intel ® Core ™ 2 Duo, Pentium IV1, Microsoft Windows Vista avec 2 Go en mémoire. Le tableau ci-dessous résume ce résultat: Modèle Taux de détection Temps Total de détection (en ms) RGB-HSV-YCbCr 97% 509.12 Bayes 93% 569.67 Tableau 2.2. Résultats de la détection de la peau pour les deux modèles RGB-HSV-YCbCr et Bayes Le tableau 2.2 montre que le modèle RGB-HSV-YCbCr est plus efficace pour un taux de rendement acceptable, tout en respectant un temps de traitement assez rapide. Ce choix est basé sur les tests que nous avons faits et les résultats trouvés. Finalement on a choisi le modèle hybride RGB-HSV-YCbCr, vu qu’il offre les meilleures performances. Nous présentons également les résultats obtenus après procédures de détection des pixels de peau et de segmentation en régions de l’image. Comme on peut le voir dans la figure 2.12, ces images sont très diversifiées. CHAPITRE 2. DETECTION DE LA PEAU 65 __________________________________________________________________________________________ Figure 2.12. Résultats de la modélisation de la répartition de la peau en fonction de différents modèles a) Image originale, b) modèle Bayes-RGB, c) modèle Bayes-YCbCr, d) modèle Bayes-HSV, e) RGB-HSV-YCbCr, f) le modèle HSV-YCbCr, g) Modèle RGB-YCbCr, h) Modèle RGB-HSV Les résultats sont prometteurs, néanmoins, nous pouvons signaler quelques problèmes. Dans certains cas, notre modèle ne détecte pas la totalité d’une région de peau et par conséquent nous nous trouvons avec des régions incomplètes. Ce problème est dû essentiellement aux conditions d’éclairage. Nous avons constaté des cas de fausses détections en présence des pixels de sable ou de bois qui ont une couleur similaire à celle de la peau. Ces régions sont généralement filtrées après le processus de segmentation et d’élimination des régions de petites tailles. On trouve aussi certaines régions appartenant à la classe des faux positifs. Ces régions de taille négligeable, sont parfois connectées à des régions de peau et donc ne peuvent être éliminées. Dans une séquence vidéo, la différence entre une image et la suivante est relativement faible, sauf lors d'un changement de plan. Autrement dit, la position d'un bloc de pixels varie généralement peu d'une image à l'autre. C'est cette variation qui est codée par compensation de mouvement et prédiction et qui jouent le rôle d’optimiser la détection des images en éliminant la redondance temporelle. La solution proposée permet une comparaison directe des images. Elle est basée sur une soustraction des matrices des images cellule par cellule, ensuite on calcule un vecteur horizontal des sommes de chaque colonne, puis on compare ce dernier à un seuil T pour éviter de déclencher de fausses alertes. Un point important concernant les études supplémentaires sur la valeur du seuil. Après avoir lancé plusieurs tests nous avons remarqué que la valeur optimale de T se trouve autour de CHAPITRE 2. DETECTION DE LA PEAU 66 __________________________________________________________________________________________ 1000000, cependant la valeur appropriée de T change fortement en fonction des images qui alimentent l’algorithme. On applique par la suite l’érosion et la dilatation pour éviter le bruit et les régions discontinues. Les petites régions sont considérées comme des régions insignifiantes. 2.7 Transformation morphologique Les transformations d'images en morphologie mathématique fonctionnelle se pratiquent comme pour la morphologie mathématique ensembliste : l'élément structurant B est déplacé de façon à ce que son origine x passe par toutes les positions de l'image. Pour chaque position, on comparera les valeurs prises par les pixels inclus dans le domaine de l'élément structurant. Le pixel central prendra soit la valeur minimale (lors d'une érosion) soit la valeur maximale (lors d'une dilatation) [42]. 2.7.1 Erosion L'érosion d'un objet par un élément structurant est l'ensemble des points de l'objet pour lesquels l'élément structurant est totalement inclus dans l'objet. L'érosion supprime les petites particules, réduit la taille des autres, supprime des pics et peu déconnecter certaines particules. Pour obtenir la fonction érodée de f(x), on attribue à f(x) la valeur minimale qu'elle prend dans le domaine de l'élément structurant B et ce, à chaque nouveau déplacement de B. La figure suivante illustre l'érosion de la fonction f(x) par un élément structurant B plat. Figure 2.13. Résultat de l'érosion de la fonction f(x) par un élément structurant B CHAPITRE 2. DETECTION DE LA PEAU 67 __________________________________________________________________________________________ 2.7.2 Dilatation L'opérateur dual de l'érosion est la dilatation. Celle-ci est représentée par la ligne externe à l'objet. Elle augmente la taille des particules, peut combler des concavités et connecter des particules. Les éléments structurants peuvent avoir des formes et tailles variées. Pour obtenir la fonction dilatée de f(x), on attribue à f(x) la valeur maximale qu'elle prend dans le domaine de B et ce, à chaque nouveau déplacement de B. La figure suivante illustre la dilatation de la fonction f(x) par un élément structurant B plat: Figure 2.14. Résultat de la dilatation de la fonction f(x) par un élément structurant B Le processus de segmentation d’une image est résumé dans la figure 2.15. En fait, cela correspond à un script d’enchaînement d’opérateurs de traitement d’image pour la localisation et la détection de régions homogènes de peau. Figure 2.15. Processus de segmentation général d’une image La figure 2.16 montre un exemple qui présente le résultat de ce processus de segmentation général à partir d’une image couleur. CHAPITRE 2. DETECTION DE LA PEAU 68 __________________________________________________________________________________________ (a) (b) (c) Figure 2.16. Résultat du filtrage morphologique a) image originale, b) Détection de peau avec notre modèle sans filtrage morphologique, c) détection avec filtrage morphologique Après avoir segmenté une image en régions de peau homogènes, il est nécessaire de localiser les régions de peau les plus significatives pour notre classification. Pour ce faire, nous calculons pour chaque région son centre de gravité et sa taille par rapport à l’image. Par la suite, nous éliminons les régions de taille négligeable et les régions dont la distance de leurs centres de gravité par rapport à l’axe central de l’image dépasse un seuil β. - Calcul du Centre de gravité : Etant donné N pixels (x0,y0), (x1,y1), … (xN-1,yN-1) qui composent une région homogène R, le centre de gravité G, de coordonnée (xG, yG) est défini par: - XG = 1 N ∑ YG = 1 N ∑ N −1 i =0 N −1 i =0 xi (2.36) yi (2.37) Critère de sélection : Une région de peau est considérée comme significative si la distance de son centre de gravité par rapport à l’axe central de l’image divisée par la largeur de l’image est inférieure à un seuil β. La formule de sélection est la suivante : x g − xc W ≤β Avec : xg : l’abscisse du centre de gravité de la région en question xc : représente l’axe central de l’image W : la largeur de l’image (2.38) CHAPITRE 2. DETECTION DE LA PEAU 69 __________________________________________________________________________________________ Enfin la phase d’apprentissage nous a permis de fixer le seuil β à 0.25. Figure 2.17. Les courbes Roc pour le résultat du modèle RGB-HSV-YCbCR avec et sans le filtrage morphologique D’après la figure 2.17, on peut remarquer que le taux de bonne détection est passé de 97% à 97,8% en utilisant un filtrage morphologique. Le filtrage morphologique est une approche intéressante qui pourra être exploitée en combinaison avec les règles de décision pour mettre en évidence des régions ou des formes bien précises. 2.8 Conclusion Nous avons présenté dans ce chapitre nos travaux pour l’élaboration d’un modèle de peau qui permet de détecter des régions de couleur de peau dans une image en fonction d'un certain nombre de critères précis. Cette étude a mis en évidence l’intérêt des outils de classification pour extraire les informations les plus pertinentes à partir de données complexes et diverses. Ces outils nous ont permis d’extraire des connaissances qui ont abouti à la construction d’un modèle de prédiction de peau/non peau robuste par rapport à la variabilité des conditions de luminosité et à la richesse des ethnies. Les résultats de nos expérimentations montrent que ce processus apporte un plus indéniable. En effet, une étude comparative avec d’autres méthodes montre un gain d’efficacité substantiel, surtout lorsque la méthode est combinée avec une méthode de segmentation appropriée. Dans le chapitre suivant, nous étudions en détail l’application de notre modèle de peau à un problème important : le filtrage des scènes vidéo pour adultes. Nous y verrons que la combinaison de l’analyse sur des contenus textuels, structurels et visuels nous a permis d’aboutir à un système de filtrage très efficace. Chapitre 3 Détection des scènes vidéo pour adultes Sommaire 3.1 Introduction ........................................................................................................................ 71 3.2 Description des changements de plans ............................................................................... 72 3.2.1 Détection des changements de plan ............................................................................. 72 3.2.2 Méthodes de détection du changement de plan ........................................................... 72 a. Méthodes basées sur les pixels .............................................................................. 72 b. Méthodes basées sur les histogrammes .................................................................. 73 c. Méthodes basées sur les blocs................................................................................ 74 d. Méthodes basées sur le mouvement ....................................................................... 74 3.3 Les méthodes de détection de mouvement ......................................................................... 75 3.3.1 Algorithme de la soustraction de l’arrière-plan par modélisation statistique .............. 76 a. Initialisation ........................................................................................................... 76 b. Extraction de l’avant-plan ...................................................................................... 76 c. Résultats expérimentaux ........................................................................................ 77 3.3.2 Algorithme de la différence entre deux images consécutives ..................................... 78 a. Calcul de la différence ........................................................................................... 78 b. Calcul des étiquettes de mouvement ...................................................................... 79 c. Résultats expérimentaux ........................................................................................ 79 3.4 Détection des visages ......................................................................................................... 79 3.4.1 Méthodes de détection de visages ............................................................................... 79 3.4.2 Notre approche pour la détection de visage................................................................. 80 a. Sélection des pixels représentant la peau à partir d'une image d'entrée ................. 81 b. Filtrage des régions de peau ................................................................................... 81 c. Détection du visage par appariement du gabarit "template matching" .................. 81 3.4.3 Application de la méthode de détection de visage ...................................................... 82 a. Extraction de l'image niveau de gris ...................................................................... 82 b. Normalisation du segment ..................................................................................... 83 c. Comparaison du segment avec le modèle .............................................................. 83 d. Décision ................................................................................................................. 83 3.5 Extraction des caractéristiques des régions ........................................................................ 84 3.6 Vérification des images de la plage .................................................................................... 90 a. La position ............................................................................................................. 90 b. Les dimensions du segment ................................................................................... 90 c. La surface ............................................................................................................... 90 d. Le rapport entre la hauteur et la largeur ................................................................. 91 e. Calcul du centre de gravitée du segment ............................................................... 91 f. Calcul de la rotation du segment ............................................................................ 91 3.7 Evaluation de performance................................................................................................. 93 3.8 Conclusion .......................................................................................................................... 93 CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 71 __________________________________________________________________________________________ 3.1 Introduction Grâce à l’évolution des méthodes de la compression d’image, de son et de la vidéo, un échange massif des données numériques textuelles, sonores et visuelles (texte, image fixe et animée, vidéo et audio) n’a cessé de s’accroître régulièrement et rapidement. D’ailleurs les médias numériques ont envahi notre quotidien. Plus précisément, Internet est devenu le réseau public mondial le plus communément utilisé dans les administrations, les écoles, les entreprises et chez soi [34]. Cet accès de plus en plus large ne va pas sans inconvénients, les sites à caractère adulte, violent, raciste en sont souvent en accès libre, ce qui pose un problème évident vis à vis des enfants. Or chaque jour, plusieurs sites apparaissent alors que d’autres disparaissent. En plus les contenus des sites, et surtout les liens, sont mis à jours fréquemment. Ainsi, la nature du Web impose le recourt à de nouvelles techniques pour classifier et filtrer les sites inappropriés. La détection automatique des vidéos adultes est une possibilité intéressante de catégorisation des sites Web car elle combine généralement le contenu textuel avec le contenu visuel de la page. Plusieurs travaux de recherche sur la détection et la catégorisation des documents Web ont montré, d’une part qu’une détection basée seulement sur le contenu textuel n’est pas performante, et d’autre part que les descripteurs basés sur le contenu structurel aident considérablement à améliorer le taux de la détection. Toutefois le filtrage des images des vidéos est une possibilité beaucoup plus intelligente et plus dynamique pour bloquer les sites illicites grâce à l'information riche de donnée qu’elle contienne. En effet, les images sont les médias principaux utilisés pour propager l'information nocive comme la pornographie et la violence. Dans ce chapitre nous entamerons la phase de la détection et de l’analyse des vidéos qui présente une étape très importante dans le domaine de la vision par ordinateur, tout d’abord nous allons utiliser les informations de mouvement présentes dans la séquence. L’utilisation de l’information de mouvement peut être un moyen simple pour mettre en œuvre une technique rapide de détection de peau dans une vidéo. L’exploitation de l’information de mouvement oriente la détection de peau vers des zones préférentielles en éliminant les zones sans intérêt et permet donc une forte réduction de la complexité de la détection et par conséquent une limitation importante des calculs et des traitements. Ensuite, une vérification de la présence ou pas d’un visage dans la scène ne peut être que très bénéfique. Cette étape permettra au système de détourner l’opération de reconnaissance si la scène ne contient aucun visage. On se base donc sur un vote majoritaire selon le nombre de visage dans les différents frames de la vidéo à analyser. Notre méthode se révèle être en mesure de CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 72 __________________________________________________________________________________________ déterminer et de distinguer efficacement les vidéos à caractère illicite en intégrant la caractéristique de la forme associée à la détection de visage. Par la suite nous avons proposé de compléter le prétraitement en éliminant les images qui présente des gens avec des costumes de natation. Pour ensuite, passer à l’extraction des informations les plus pertinentes à partir de données complexes et diverses. Cette phase consiste à calculer des descripteurs qui caractérisent les images adultes. Enfin, nous évaluons les performances du système en termes de taux de bonne détection. 3.2 Description des changements de plans 3.2.1 Détection des changements de plan La détection des changements de plans permet de segmenter dans le domaine temporel une séquence vidéo. Cette détection doit donc être rapide et précise, puisqu’elle n'est qu’une phase de prétraitement. Afin de minimiser le temps de calculs et de traitements nécessaires à la détection des scènes vidéo pour adultes, il est judicieux d’utiliser des techniques de pré-filtrage qui restreindront l’espace de recherche. 3.2.2 Méthodes de détection du changement de plan La plupart des méthodes de détection des changements de plans sont basées sur l’utilisation de séquences vidéo non compressées. Les méthodes peuvent être basées sur les pixels, les histogrammes, un découpage en blocs, une information liée au mouvement ou encore une combinaison de ces différentes approches. a. Méthodes basées sur les pixels Les premières méthodes comparent deux images successives en utilisant directement les informations des pixels. Ainsi, différentes mesures plus ou moins robustes ont été progressivement proposées tout le long des recherches, parmi lesquelles on peut citer : – la différence de l’énergie (mesurée par la somme des carrés des intensités) des deux images. – la somme des différences absolues terme à terme pour des images en niveaux de gris ou en couleur. – l’énergie des différences normalisées. CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 73 __________________________________________________________________________________________ Il est également possible de déterminer, dans un premier temps, pour chaque couple de pixels appartenant aux deux images si leurs intensités sont proches ou non. La mesure de différence est alors obtenue, dans un second temps, en comptant le nombre de couples ayant des intensités éloignées. Des approches plus évoluées ont également été proposées. Ainsi, l’analyse de l’évolution de l’intensité de chaque pixel au cours du temps peut permettre d’étiqueter le pixel en question selon différentes classes : constant, changement brusque, changement linéaire, ou sans étiquette. Un changement est alors détecté en comptant le nombre de pixels ayant une étiquette donnée. Finalement, l’évolution des dérivées temporelles des intensités des pixels peut aussi être utilisée comme critère de détection. Ce type de méthode, quoique simple, s’est avéré peu robuste au bruit et aux mouvements présents dans la séquence. b. Méthodes basées sur les histogrammes Afin de pallier au manque de robustesse des méthodes basées sur les pixels, certains auteurs ont proposé d’utiliser des statistiques plus globales : les histogrammes. De la même manière que dans les approches à base de pixels, il est possible de calculer la différence terme à terme en considérant les classes de l’histogramme afin de comparer deux images successives. Cette différence peut être calculée en considérant les images en niveaux de gris ou en couleur, dans un espace relativement limité (par exemple 2 bits pour chaque composante couleur) ou dans l’espace original. Dans le cas d’images couleur, la mesure de distance entre deux images peut être calculée comme la plus grande des différences entre deux histogrammes de même couleur. D’autres mesures de distance peuvent être utilisées, telles que la mesure de similarité du cosinus, la distance quadratique, l’entropie croisée, la divergence. Le choix des coefficients pondérateurs peut être effectué empiriquement, proportionnellement à la luminance, ou encore après une étape d’apprentissage. Il est enfin possible de calculer l’intersection entre deux histogrammes de deux images successives. Plus celle-ci est faible, plus la probabilité d’être en présence d’un changement de plans est importante. Le test le plus utilisé pour ce type de méthode est le suivant [43] : ∑ ∑ N C n =1 c =1 H ( It , n, c) − H ( It − 1, n, c) f S (3.1) Avec H la valeur de l’histogramme, It l’intensité de l’image en cours, N le nombre d’images utilisées, C le canal sélectionné et S le seuil utilisé. Le principal défaut de ce type de méthodes est leur caractère purement global. CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 74 __________________________________________________________________________________________ c. Méthodes basées sur les blocs L’analyse des groupes d’images successives, dans la détection des changements de plans, peut aussi être effectuée à un niveau intermédiaire entre le niveau local (les pixels) et le niveau global (les histogrammes). Les méthodes incluses dans cette catégorie analysent l’image par blocs. De cette façon, il est possible de comparer deux images en mesurant les différences pour chaque paire de blocs via un calcul de la moyenne et de l’écart type des intensités pour chaque bloc. Une fois chaque paire de blocs étiquetée selon leur similarité, la détection dépend du nombre de paires de blocs différents. Il est aussi possible de calculer, entre deux blocs, le taux de vraisemblance ou la statistique de Freund [44] pour mesurer leur similarité. Certaines approches à base d’histogrammes ont été appliquées à un traitement de l’image par blocs. Dans ce cas, on calcule pour chaque bloc son histogramme et on le compare avec celui du bloc correspondant dans l’image précédente. En considérant l’ensemble des blocs ou seulement ceux dont la différence avec le bloc précédent est la plus faible, il est possible de mesurer la similarité entre deux images successives. La formule suivante donne un exemple de détecteur de changement de plan, relativement similaire. Elle est basée sur une analyse des histogrammes calculés sur les blocs de l’image [44]: ∑ ∑ ∑ B N C b =1 n =1 c =1 H ( I tb , n, c) − H ( I tb−1 , n, c) f S (3.2) H la valeur de l’histogramme, It l’intensité de l’image en cours, N le nombre d’images utilisées, C et B sont respectivement le canal et le bloc sélectionné et S le seuil utilisé. Ce type de méthode est un bon compromis entre les approches purement locales et les approches globales. d. Méthodes basées sur le mouvement Comme les séquences vidéo fournissent également une information de nature temporelle, certains auteurs ont proposé d’utiliser les informations de mouvement présentes dans la séquence. En effet, le mouvement apparent des pixels est généralement continu au cours du temps. Il peut donc être utilisé comme critère pour la détection d’un changement de plans. Ainsi, il est possible d’estimer dans chaque image le mouvement global qui peut par exemple être dû au mouvement de la caméra effectuant l’acquisition des images, puis de comparer ces informations dans les images successives. Deux trames successives d’une séquence vidéo CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 75 __________________________________________________________________________________________ caractérisées par des mouvements globaux différents peuvent être assimilées aux limites d’un plan. Le système en temps réel est basé sur la détection de mouvement et la segmentation de peau. L'ordre visuel d'entrée est environ 30 images par seconde. Le mouvement dans chaque image est détecté en comparant celle-ci aux images passées dans le flux vidéo. Nous présentons dans ce qui suit les différentes méthodes utilisées pour la détection de mouvement. 3.3 Les méthodes de détection de mouvement La détection du mouvement, réalisée immédiatement après l’acquisition d’une image, représente une étape facultative, mais très avantageuse pour un système de vision numérique. En effet, un gain de performance important peut être atteint lorsque des zones sans intérêt sont éliminées avant les phases d’analyses. Cette amélioration dépend cependant de la complexité des algorithmes de détection et de reconnaissance utilisés. L’utilisation de l’information de mouvement peut être un moyen simple pour mettre en œuvre une technique rapide de détection de peau dans une vidéo. Cette catégorie de systèmes suppose généralement que l’arrière plan de la scène vidéo est stationnaire et que les régions contenant la peau tels que le visage ou/et les mains par exemple sont en mouvement. Dans ce cas, ces régions peuvent être détectées par une simple différence entre l’image courante et l’image précédente. Il semble évident que les hypothèses retenues sont trop restreintes. C’est pourquoi l’information de mouvement n’est jamais utilisée seule pour la détection. On la trouve utilisée conjointement avec l’information de couleur de peau ou couplée à un système basé sur la reconnaissance de caractéristiques d’image. L’exploitation de l’information de mouvement oriente la détection de peau vers des zones préférentielles en éliminant les zones sans intérêt et permet donc une forte réduction de la complexité de la détection et par conséquent une limitation importante des calculs et des traitements [45]. Cependant, les performances de ces systèmes sont fortement réduites lorsque la scène vidéo contient de nombreux objets en mouvement. Parmi les techniques envisageables, on trouve la soustraction de l’arrière-plan (SAP), la technique basée sur la différence entre deux images consécutives ou encore la technique de calcul du flot optique. La soustraction de l’arrière-plan (SAP) forme la plus grande famille de méthodes de détection du mouvement. Cette technique est la plus utilisées probablement grâce à sa simplicité théorique ainsi qu’à sa faible complexité algorithmique. Son principe fondamental CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 76 __________________________________________________________________________________________ repose sur une estimation statistique de la scène observée. Le mouvement est détecté en comparant une image test avec le modèle d’arrière-plan calculé auparavant [46]. 3.3.1 Algorithme de la soustraction de l’arrière-plan par modélisation statistique L’algorithme utilisé pour la soustraction de l’arrière-plan par modélisation statistique comporte deux étapes importantes : l’initialisation et l’extraction du mouvement (avantplan). a. Initialisation La première étape consiste à modéliser l’arrière-plan à partir des N premières images (N ≈30) d’une séquence vidéo. Une moyenne d’intensité est donc calculée à partir de ces images pour chaque pixel et pour chacun des canaux (R, G et B). La moyenne d’intensité d’un pixel est donnée par l’équation suivante : µ c ( x, y ) = 1 N ∑ N −1 i =0 I i ,c ( x, y ) (3.3) avec Ii,c est la ième image d’initialisation et c le canal sélectionné. N étant la quantité d’images utilisées. L’étape suivante consiste à calculer un écart-type pour chaque pixel (et pour chaque canal) afin d’être utilisé comme seuil de détection. Cette opération nécessite habituellement le stockage des N premières images. Or, une équation modifiée permet de contourner cette contrainte de façon incrémentale et ainsi réduire la consommation d’espace mémoire. Pour ce faire, deux accumulateurs sont utilisés, soient S(x, y) pour stocker la somme des intensités des pixels et SC(x, y) pour emmagasiner la somme des carrés. Les écarts-types peuvent alors être calculés à l’aide de l’équation (3.4). Par ailleurs, il est intéressant de remarquer que S(x, y) peut être réutilisé pour le calcul de la moyenne, ce qui évite des opérations supplémentaires et superflues. SC ( x, y ) S c ( x, y ) σ c ( x, y ) = c 2 − N N b. 2 (3.4) Extraction de l’avant-plan Afin d’extraire le mouvement dans une image, le modèle de l’arrière-plan doit tout d’abord lui être soustrait. Chaque pixel, dont la différence en valeur absolue dépasse la valeur α*σc, CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 77 __________________________________________________________________________________________ est ensuite classifié comme étant un pixel en mouvement. La variable α représente un paramètre qui se situe dans l’intervalle [2.0, 4.0] et dépend du niveau d’exclusion désiré. Un masque binaire de mouvement peut alors être généré pour chaque canal à l’aide de l’équation suivante : 1 m c ( x, y ) = 0 si I c ( x , y ) − µ c ( x , y ) f ασ c ( x , y ) Autrement (3 . 5 ) Cette équation représente le calcul du masque de mouvement pour un seul canal. Pour utiliser cet algorithme avec les 3 canaux (RGB) des images utilisées, les masques individuels doivent tout d’abord être générés indépendamment et combinés par la suite à l’aide d’un opérateur OU logique. Par conséquent, si un mouvement est détecté pour un pixel dans un seul canal, cela sera suffisant pour en modifier l’état. L’équation suivante représente cette combinaison produisant ainsi un masque de mouvement à un seul canal. F ( x , y ) = M ( x, y ) I ( x , y ) (3.6) dont F(x, y) représente l’image d’avant-plan (mouvement ou foreground), M(x, y) et I(x, y) représentent respectivement le masque de mouvement et l’image d’entrée. Les deux images sont combinées grâce à une multiplication pixel à pixel pour chacun des canaux. Le calcul de cet arrière-plan (complémentaire de l’avant-plan) nous permet d’exploiter l’information temporelle contenue dans le flux d’images. c. Résultats expérimentaux La présente section illustre certains résultats obtenus avec la méthode de SAP par modélisation statistique. Tout d’abord, un exemple de détection de mouvement appliqué à une séquence vidéo contenant un être humain est illustré par la figure 3.1 Alors que l’image 3.1(a) représente l’arrière-plan modélisé, l’image 3.1(c) illustre quant à elle le mouvement détecté dans l’image test 3.1(b). La figure 3.2 illustre les résultats obtenus à partir d’une séquence vidéo contenant deux balles bondissantes. CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 78 __________________________________________________________________________________________ a) b) c) Figure 3. 1. Résultats de la soustraction de l’arrière plan pour la séquence vidéo d’un être humain a) Scène statique, b) Image test, c) Mouvement détecté. a) b) c) Figure 3. 2. Résultats de la soustraction de l’arrière plan pour la séquence vidéo de deux balles bondissantes, a) Scène statique, b) Image test, c) Mouvement détecté. 3.3.2 Algorithme de la différence entre deux images consécutives Etant peu complexe, la différence entre deux images consécutives représente une solution très intéressante. Comme son nom l’indique, elle consiste à soustraire une image acquise au temps tn d’une autre au temps tn+k, où k est habituellement égal à 1. Ainsi, l’image résultante sera vide si aucun mouvement ne s’est produit pendant l’intervalle de temps observé car l’intensité et la couleur des pixels seront presque identiques. Par contre, si un mouvement a eu lieu dans le champ de vue, les pixels frontières des objets en déplacement devraient changer de valeurs, révélant alors la présence d’activité dans la scène. Notons bien que chaque image est composée de deux trames qui peuvent tout à fait représenter des instants différents. Nous calculons en premier lieu la différence pour chacun des pixels et pour chaque trame de l’image, ensuite nous calculons les étiquettes de mouvement en comparant le résultat t(x) de la différence avec un seuil θ. a. Calcul de la différence Algorithme de [39] Pour chaque pixel x : 0(x) 0 Pour chaque trame t Pour chaque pixel x : t(x) |It(x) − It−1(x)| CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 79 __________________________________________________________________________________________ b. Calcul des étiquettes de mouvement On calcul les étiquettes de mouvement par comparaison entre la différence et le seuil θ Suite de l’algorithme de [39] Pour chaque trame t Pour chaque pixel x Si t(x) > θ Alors Et(x) 1 Sinon Et(x) 0 c. Résultats expérimentaux La présente section illustre certains résultats obtenus avec la méthode de la différence entre deux images consécutives a) b) c) Figure 3. 3. Détection du mouvement par la méthode de soustraction d’images consécutives a) Image t0, b) Image t1, c) Détection de mouvement Après avoir effectué la modélisation de l’arrière-plan, la détection du mouvement et la détection de la peau, les images résultantes sont présentées au module de la détection du visage. 3.4 Détection des visages 3.4.1 Méthodes de détection de visages Sans aucune hésitation, l’homme est capable de distinguer les visages de tout autre « objet ». Mieux, il est capable d’en reconnaître des centaines, malgré de très faibles différences structurelles. Toutefois la détection de visages dans une image sans hypothèse préalable est un problème très difficile à résoudre en raison de la très grande variabilité de la forme et la couleur à détecter (Orientation et tailles quelconques, éclairage variable, couleur de peau différente). Il existe trois types de modélisation pour détecter les visages : La première dite bas niveau : consiste à suivre par exemple des objets de teinte chair en mouvement dont on analyse la forme globale « Blob Analysis ». La seconde structurelle où des primitives tels CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 80 __________________________________________________________________________________________ que les yeux, le nez et la bouche sont détectés et associés à des modèles de visages. La dernière globale dans laquelle une image est assimilée à un vecteur (luminance, moment, codage). Une base d’exemples est constituée, à partir de laquelle on peut extraire des vecteurs propres « eigen-faces » ou configurer les poids d’un réseau de neurones [47]. Une grande variété de méthodes de détections de visages a été proposée ces dernières années. Cependant, la plupart d’entres elles s’attardent à répondre aux questions “Y a-t-il des visages dans cette image ? Si oui, où sont-ils ?”. Sans toutefois extraire les caractéristiques du visage. Les méthodes basées sur des réseaux de neurones se résument à l’utilisation d’un classificateur à deux sorties représentant la présence ou l’absence de l’objet recherché dans une sous-région de l’image. Le principe de base consiste à balayer l’image avec une fenêtre d’attention de dimensions fixes et de réaliser la détection sur les sous-images. Néanmoins, il est encore une fois nécessaire d’effectuer plusieurs balayages à différentes résolutions pour ainsi réaliser une détection suffisamment robuste. L’inconvénient majeur de cette méthode est que la phase d’apprentissage nécessite un redimensionnement des images pour être compatibles avec les dimensions requises par le nombre d’entrées du réseau, aussi cette phase est très gourmande en temps. Un autre problème qui peut nuire aux résultats des réseaux de neurone c’est la rotation de la tête et le changement d’échelle. D’autres méthodes s’intéressent aux parties caractéristiques du visage comme le nez, la bouche et les yeux. Les positions relatives des différentes composantes du visage sont étudiées après avoir été détectées. La difficulté dans cette approche est de traduire par des règles strictes, à définir, la manière dont le chercheur représente le visage. Si ces règles sont trop précises, elles n’identifient pas certains visages. Dans le cas contraire, elles provoquent de fausses alertes. Il est évident qu’il est impossible de définir des règles qui tiennent compte de toutes les variabilités comme la position du sujet, par exemple. Le taux de réussite de cette méthode reste faible avec surtout un grand nombre de fausses alertes et ne peut donc se suffire à ellemême. En revanche, elle permet une focalisation rapide sur les parties intéressantes de l’image [47]. Dans cette thèse, nous proposons une méthode de détection de visage basée sur l’hybridation de deux méthodes : la détection de couleur de peau et l’appariement du gabarit appelé communément «template matching ». 3.4.2 Notre approche pour la détection de visage De nombreuses techniques de détections existent et diffèrent aussi bien par leurs approches que par les techniques d'apprentissages qu'elles utilisent. L’approche proposée dans notre CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 81 __________________________________________________________________________________________ travail est basée sur l’utilisation de deux méthodes : La méthode de détection de peau pour éliminer les sections n’ayant pas la couleur de la peau et celle du template matching pour éliminer les sections n’ayant pas les caractéristiques d’un visage. Les principales étapes se résument comme suit : a. Sélection des pixels représentant la peau à partir d'une image d'entrée Lorsque les images en entrée sont en couleurs, il est avantageux d'utiliser cette information supplémentaire pour isoler les régions susceptibles de contenir des visages. b. Filtrage des régions de peau En utilisant le résultat de la détection de la peau, nous procédons à l’extraction des régions qui peuvent probablement contenir un visage humain. Ce processus se résume par une application des opérateurs morphologiques. c. Détection du visage par appariement du gabarit "template matching" L’appariement de gabarit ou template matching, consiste à comparer l’intensité des pixels entre un gabarit prédéfini et plusieurs sous-régions de l’image à analyser. Ce processus consiste en pratique à effectuer plusieurs balayages couvrant toute la superficie de l’image. Les endroits les plus propices à la présence de visages seront donc facilement identifiés par des minimums de distance entre le gabarit et l’image sousjacente. Parmi les distances envisageables, il y a notamment la norme L1 (distance de Manathan), la norme L2 (distance euclidienne), la cross-corrélation,…etc. La construction d’un gabarit efficace représente un défi en elle-même. En effet, l’utilisation d’un gabarit plus ou moins adapté au type d’objet recherché peut nuire à une détection efficace et diminuer la précision des résultats. Pour ce qui est de la localisation des différentes caractéristiques du visage, leurs positions peuvent être déduites à partir des positions correspondantes sur le gabarit. Celles-ci doivent être préalablement déterminées manuellement en positions relatives par rapport aux dimensions du gabarit. Il n’est cependant pas garanti que le gabarit soit parfaitement positionné en translation, en échelle et en rotation sur le visage à détecter, ce qui produira des coordonnées légèrement erronées. Cette étape est constituée autour de trois points à savoir : • Création du modèle de visage La caractéristique la plus importante de cette méthode est qu'elle utilise les visages pour décider si une région de peau correspond à un visage ou non. Notre modèle a été créé en effectuant un calcul de la moyenne à partir de plusieurs images en niveaux de gris (dans notre CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 82 __________________________________________________________________________________________ cas), qui ne contiennent que des visages [67]. Le modèle résultant sera une image en niveau de gris. • Recherche des visages dans les régions peau par «Template Matching» L'utilisation de la méthode du "template matching" se justifie principalement par la contrainte de temps réel qu'il faux appliquer au programme : il est nécessaire d'implémenter une fonction rapide, afin d'éviter que le système mette trop de temps pour réagir. Un autre avantage de cette méthode est la simplicité de l'implémentation. Le principe de cette méthode est le suivant : étant donné une image quelconque et un modèle prédéfini, il s'agit de déterminer le degré d'appartenance (similarité) de ce modèle à cette image [48]. • Mesures de similarité Il existe plusieurs manières pour mesurer la similarité entre deux images. La première mesure appliquée est données par la norme L1 (formule 3.7), et la deuxième mesure par la norme L2 (3.8). Norme L1 : ∑ (i , j ) a ( i , j ) − b( i , j ) (3.7) Norme L2 : ∑ (i, j ) a2(i, j ) − b2(i, j ) (3.8) où les a(i, j ) et b(i, j ) sont la valeur du pixel (i,j) dans les deux images à comparer. Il ressort donc que plus ces valeurs sont petites, plus les images sont proches [49]. Finalement, une troisième technique a été appliquée aux images binaires : Il s'agit d'un OU Exclusif suivi d'une négation (XNOR) appliquée sur chaque pixel correspondant aux deux images. De cette manière les pixels qui ont la même valeur seront blancs dans l'image résultante et noire aux endroits où ils sont différents [49]. 3.4.3 Application de la méthode de détection de visage Pour effectuer l'appariement avec un segment détecté en utilisant le modèle du visage créé, nous passons par les étapes suivantes : a. Extraction de l'image niveau de gris D'abord, nous devons extraire l'image binaire du segment et remplir les troues existants. Nous multiplions l'image résultante par l'image originale en niveau de gris, le résultat sera une CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 83 __________________________________________________________________________________________ image en niveau de gris qui représente le segment en question. En fin, nous réduisons la taille de l'image pour qu'elle ne contienne que les pixels du segment. b. Normalisation du segment Cette procédure de normalisation porte sur l'image en niveau de gris du segment, afin de rendre possible l'opération d'appariement et d'améliorer ses performances. La normalisation consiste à ajuster l'inclination du segment selon son orientation et rendre les dimensions du segment égales à celles du modèle. c. Comparaison du segment avec le modèle Cette comparaison s'effectue en balayant la surface du segment et en calculant la crosscorrélation entre le modèle et la région sélectionnée du segment normalisé. Le résultat de cette procédure est la valeur maximale calculée ainsi que la position de la région correspondante. La valeur du résultat est comprise dans l'intervalle des valeurs réelles : [0.0, 1.0]. d. Décision En fixant un seuil de similarité, nous pouvons prendre la décision sur un segment de peau s’il est un visage ou non. Nous avons effectué quelques tests sur des images que nous avons téléchargées de l’Internet. Les tests sont effectués sur des visages qui se présentent dans différentes couleurs et différentes orientations et échelles. Les fausses alertes sont parfois dues à la couleur de l’objet qui prend la couleur de peau alors que dans certaines scènes les visages ne sont pas bien détectés comme par exemple le visage du bébé car ce dernier fait partie d’un segment de peau de taille dépassant la norme. Les figures suivantes montrent le résultat de la méthode avant et après détection du visage. Figure 3. 4. Illustration de quelques résultats de la détection des visages par la méthode Template Matching (Cas existence de visage) CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 84 __________________________________________________________________________________________ Figure 3. 5. Illustration de quelques résultats de la détection des visages par la méthode Template Matching (Cas où il n’y a pas de visage) Les visages constituent une catégorie de stimulus importante par la richesse des informations qu’ils véhiculent. Ils sont à la fois des vecteurs visuels principaux à l’identité des individus et des vecteurs essentiels de communication (verbale et non verbale). La détection automatique de visages est un problème très important. Du point de vue application, elle est à la base de tous système de reconnaissance, car avant de reconnaître n’importe quelle personne il est indispensable de localiser son visage. Notre méthode est donc basée sur une méthode hybride, constitué de la méthode de détection de couleur de peau et la méthode du « template matching », s’appuyant sur la création d’un modèle de visages. Les résultats obtenus sont satisfaisants, car ils nous ont permis d’augmenter les performances de la méthode de détection des couleurs. Avant de lancer le système pour reconnaître les personnes a caractère adulte, une vérification de la présence d’un visage dans la scène ne peut être que très bénéfique. Cette étape permettra au système d’alléger l’opération de reconnaissance si la scène ne contient aucun visage. Cependant, pour mieux résoudre le problème de reconnaissance des scènes vidéo pour adulte, la phase suivante consiste à calculer des descripteurs qui caractérisent les images à caractère adultes de la scène. 3.5 Extraction des caractéristiques des régions Il existe des fonctions de haut niveau basées sur le groupement de régions de peau qui pourraient distinguer les images adultes des autres images. Beaucoup de ces fonctions sont basées sur les ellipses convenables [50] calculées sur la carte peau. Ces fonctions sont bien adaptées à notre exigence pour leurs simplicités. Ces ellipses aideront le système à distinguer les images adultes. De ce faite nous calculons pour chaque carte peau deux ellipses à savoir CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 85 __________________________________________________________________________________________ l'Ellipse Convenable Globale (GFE) calculée sur la carte de peau entière et l'Ellipse Convenable Locale (LFE) calculée seulement sur la plus grande région de la carte peau. On distingue 10 fonctions de la carte peau. Les 3 premières fonctions sont globales à savoir [51]: 1. La probabilité de peau moyenne de l'image entière. 2. La probabilité de peau moyenne à l'intérieur du GFE. 3. Le nombre de régions de peau dans l'image. Les 7 autres fonctions sont calculées sur la plus grande région de peau des images d'entrées à savoir : 4. La distance de la plus grande région de peau au centre de l'image. 5. L’angle de l'axe principal du LFE de l'axe horizontal. 6. La proportion de l'axe secondaire et l'axe principal du LFE. 7. La proportion du secteur du LFE et celui de l'image. 8. La probabilité de peau moyenne à l'intérieur du LFE. 9. La probabilité de peau moyenne à l'extérieur du LFE. 10. Le nombre de visage dominant dans la vidéo à analyser. Dans la suite nous donnons le détail de chaque descripteur. 1. Calcul de la probabilité de peau moyenne de l'image entière : Après application des opérations morphologiques (érosion et dilatation), pour éviter les impasses de la binarisation [16], on calcule la probabilité peau moyenne de toute l’image par la formule suivante [15] : Moyenne − skn = ∑ proba (masque ) longueur ∗ largeur (3.9) 2. Calcul de la probabilité de peau moyenne à l'intérieur du GFE : Dans cette étape on calcul la probabilité de la peau moyenne à l'intérieur de l’ellipse globale illustré en rouge dans la figure 3.6 Figure 3. 6. La probabilité de la peau moyenne à l'intérieur de l’ellipse globale CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 86 __________________________________________________________________________________________ 3. Calcul du nombre de régions de peau dans l'image. Cette fonction est simplement le nombre de "gouttes" de peau dans l'image. A cet effet on affecte un même numéro (exp: 1, 2, 3,..) aux pixels appartenant à la même région. Par la suite, on compte le nombre de régions qui existe dans l’image. Après, on extrait la plus grande région et on calcule les six descripteurs suivants : On calcule la ligne centrale r et la colonne centrale c [9] par la formule suivante : c = r = 1 A 1 A A= ∑y ∑ ∑ s∈R s∈R cs ys (3.10) rs y s (3.11) s s∈R rs et cs sont la ligne et la colonne cordonné du pixel s qui appartient a l’ensemble des pixels R de l’image au niveau de gris et ys la valeur de ce pixel dans l'intervalle [0 ; 1]. Puis on calcule la variation entre les lignes, entre les colonnes et entre les lignes et les colonnes. ∑ µ rr = 1 (rs − r )² y s A s∈R µ cc = 1 (c s − c)² y s A s∈R µ rc = 1 (rs − r )(c s − c) y s A s∈R ∑ (3.12) ∑ Ensuite, on calcule "delta" qui est égale au produit des variations entre les lignes, colonnes et entre les deux. delta = µ rr µ cc − µ rc ² (3.13) Si "delta" est strictement supérieur à 0 ceci veut dire qu’il y a une ellipse sinon aucune ellipse n’est détectée. 4. Calcul de La distance de la plus grande région de peau au centre de l'image : La formule suivante permet de calculer la distance entre le centre de la plus grande région de la peau et le centre de l’image. Fdist = ( r − longueur / 2) 2 + (c − l arg ueur ) 2 largeur + longueur 2 (3.14) 2 Avec r: la ligne qui coordonne le centre de la plus grande région de la peau et c : la colonne qui coordonne le centre de la plus grande région de la peau. CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 87 __________________________________________________________________________________________ 5. Calcul de l’angle de l'axe principal du LFE de l'axe horizontal : On calcule l’angle entre les axes horizontale et vertical de l’ellipse. Il y a quatre points de droit [15] pour le calcul de la longueur de l’axe majeur et celle de l’axe mineur et l’angle θ. • µ rc = 0 • µ rc = 0 et µ rr ≥ µ cc Largeur = 4 µ rr Lminieur = 4 µ rc = − 90 ° θ ( 3 . 15 ) Largeur = 4 µ cc Lminieur = 4 µ rr θ = − 0 ° ( 3 .16 ) et µ rr ≤ µ cc • µ rc ≠ 0 et µ rr ≤ µ cc Largeur = 8 (( µ rr + µ cc ) + 4 µ rc ² + ( µ rr − µ cc )² Lminieur = 8 (( µ rr + µ cc ) − 4 µ rc ² + ( µ rr − µ cc )² − 2 µ rc θ = arctan ( µ cc − µ rr ) + 4 µ rc ² + ( µ rr − µ cc )² • µ rc ≠ 0 ( 3 . 17 ) et µ rr f µ cc Largeur = 8 (( µ + µ ) + 4 µ ² + ( µ − µ )² rr cc rc rr cc Lminieur = 8 (( µ rr + µ cc ) − 4 µ rc ² + ( µ rr − µ cc )² ( µ rr − µ cc ) + 4 µ rc ² + ( µ rr − µ cc )² θ = arctan − 2 µ rc ( 3 . 18 ) 6. Calcul de la proportion de l'axe secondaire et l'axe principal du LFE. Le calcul de cette proportion est effectué par la relation suivante: fratl = Lmajeur Lmineur Avec Lmajeur : la longueur de l’axe majeur et Lmineur : la longueur de l’axe mineur. ( 3 . 19 ) CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 88 __________________________________________________________________________________________ 7. Calcul de la proportion du secteur du LFE et celui de l'image. Cette proportion est calculée par la formule suivante: frata = farea Largeur * Longueur farea = 4 . 0 * Π * delta ( 3 . 20 ) ( 3 . 21 ) 8. Calcul de la probabilité de peau moyenne à l'intérieur du LFE. Après détermination de l’ellipse LFE, on calcule la probabilité peau à l’intérieure de celle-ci. Figure 3. 7. La probabilité de peau moyenne à l'intérieur du LFE 9. Calcul de La probabilité de peau moyenne à l'extérieur du LFE. Après détermination de l’ellipse LFE, on calcule la probabilité peau à l’extérieure de l’ellipse. Figure 3. 8. La probabilité de la peau moyenne à l'extérieur du LFE CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 89 __________________________________________________________________________________________ 10. Calcul du nombre de visage dominant dans la vidéo à analyser Pour chacune des images de la vidéo contenant un visage et plus, nous calculons le nombre des visages existants dans chaque image de la vidéo ensuite nous éliminons la région visage et nous calculons le taux de bonne détection de la peau. Afin d’éliminer la région visage, nous balayons l'image segmentée à la recherche des pixels qui correspondent à l'étiquette de la région concernée. Le résultat sera une image binaire qui ne contient pas la région en question. Nous devons d'abord déterminer le nombre des régions de peau dans l'image, en associant à chaque région une valeur entière appelée étiquette. Nous avons réalisé les mesures en effectuant des tests sur 100 vidéos différents et en faisant la moyenne des résultats. L’ensemble des résultats est représenté par la figure suivante. Figure 3. 9. Le taux de bonne détection en fonction du nombre de visage Nous obtenons une meilleure détection de peau pour un nombre de visages compris entre 1 et 4. Dans ce cas la vidéo en question est candidate pour l’analyse finale. Nous supposons donc qu’une image pour adulte contiendra au maximum quatre personnes et au minimum une personne. Evidemment c’est le cas qu’on retrouve dans la plus part des vidéos pour adultes. Pour une vidéo composée de n frames, on a n fois le nb de visage compris entre 1 et 4. On dira que le nombre de visage dominant dans la vidéo appartient à l’intervalle [1 4]. On conclu que cette vidéo peut bien être une vidéo adulte. CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 90 __________________________________________________________________________________________ Pour une vidéo composée de n frames, si le nombre de visage dominant dans la vidéo n’appartient pas à l’intervalle [1 4]. On conclu que cette vidéo n’est pas une vidéo pour adulte. On se base donc sur un vote majoritaire selon le nombre de visage dans les différents frames de la vidéo à analyser. Tous ces descripteurs composent un vecteur de fonction simple qui sera pris en considération pour prendre une décision. Elles permettent d’affecter la probabilité d’appartenance d'une image. Un pourcentage de peau important correspond à une image qui sera classifiée adulte. Pour augmenter les performances de notre méthode nous avons éliminé également les images qui contiennent des gens avec des costumes de natation. 3.6 Vérification des images de la plage Dans le but d’amélioré la performance de notre filtre de vidéos pour adulte, dans le cas où, par exemple, des personnes sont dans des costumes de natation. Une possibilité pour résoudre ce problème est de créer une méthode d'identification d'objet pour la région "peu sûre" supérieure qui identifierait la différence entre un corps d'une femme et celle d’un homme. Cette méthode consiste tout d’abord à calculer le nombre de région de peau dans les images de la vidéos, ensuite on procède à séparer les régions et en extraire les différentes informations telles que : a. La position Il consiste à déterminer les cordonnées (X, Y) du coin supérieur gauche du segment par rapport à l'image segmentée. b. Les dimensions du segment On désigne par dimension, la largeur et la hauteur du segment, elle se calcule par la différence entre les cordonnées (X1, Y1) du coin inférieur droite du segment et ceux (X2, Y2) de son coin supérieur gauche, comme le montre la formule suivante : Largeur Hauteur c. = X1 - X2 = Y1 - Y2 La surface Elle consiste à compter le nombre de pixels appartenant à cette région : ( 3 . 22 ) CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 91 __________________________________________________________________________________________ ∑ ∑ Surface = d. M N i j I(i, j) (3.23) Le rapport entre la hauteur et la largeur C'est le rapport entre la largeur et la hauteur de la région. Il est défini comme suit : Ratio = Hauteur / Largeur e. Calcul du centre de gravitée du segment Pour étudier une région, nous devons déterminer son centre. Une manière efficace est de calculer le centre de gravité de la région : X = 1 S ∑ ∑ n m i j Y = 1 S ∑ ∑ n m i j jB[i, j] ( 3 . 24 ) iB[i, j] ( 3 . 25 ) Où B est la matrice [n x m] qui représente la région et S est la surface de cette région. f. Calcul de la rotation du segment Habituellement les organes adultes ont une petite inclination θ, ce qui nous amène à calculer cette inclination, par la formule suivante: 1 b arctan 2 a−c ( 3 . 26 ) (x i, j − x i, j ) 2 B[i, j] ( 3 . 27 ) θ = a = ∑ ∑ b= 2 n m i j ∑∑ c= n m i j (x i, j − x i, j )(y i, j - y i, j )B[i, j] ∑∑ n m i j (y i, j − y i, j ) 2 B[i, j] ( 3 . 28 ) ( 3 . 29 ) Nous sélectionnons ensuite les régions détectées, en vérifiant un ensemble de contraintes. Ces contraintes sont aux nombres de deux. L’une concerne le ratio et l’inclination θ de la région et l'autre concerne sa surface, habituellement, dans le cas des organes adultes, ces contraintes ne dépassent pas un certain intervalle, donc tous les segments qui ont un ratio, une inclination et une surface qui ne fait pas partie de cet intervalle seront éliminés. Les régions cibles seront comparées par la suite à un modèle de la base de données [66] pour décider si la région détectée est adulte ou non. Si les images de la vidéos analysées présentent un montant élevé de tonalité de peau et une région cible vérifiant les contraintes alors l’image est considérée comme image pour adulte. La structure de notre filtre des scènes vidéo adultes est représentée par le schéma suivant : CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 92 __________________________________________________________________________________________ Figure 3. 10. La structure du filtre des scènes vidéo adulte On note : - Nb : nombre de visage dominant dans une vidéo - I : l’intervalle [1 4] - Op : la sortie du classificateur - T : Seuil de classification, déterminé expérimentalement En premier lieu, nous commençons par la détection du mouvement et l’extraction de l’arrière plan. Ensuite nous passerons à l’étape de la détection de visage pour s’assurer de l’existence d’un être humain. Si le nombre de visage dominant dans la vidéo appartient à l’intervalle [1 4], nous conclurons que cette vidéo peut bien être une vidéo adulte. A cette fin nous passerons à l’étape de la détection de la peau, puis le vecteur de dispositif est extrait à partir du résultat de cette étape. Pour prendre la décision finale nous choisissons un classificateur qui utilise le vecteur de dispositif comme entrée et produit un scalaire Op, qui peut être comparé au seuil T pour décider la présence ou l’absence d’une scène pour adultes. Cette dernière étape sera détaillée dans le chapitre 4. Par la suite nous avons essayé d’évaluer la détection des vidéos adules avec et sans la détection de visage. L’objectif et de calculer le taux de bonne détection des vidéos adultes, à cette fin nous avons utilisé les courbes ROC pour déterminer le seuil optimum et comparer les deux méthodes. CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 93 __________________________________________________________________________________________ 3.7 Evaluation de performance Figure 3. 11. Les courbes ROC avec et sans détection de visage Les résultats des courbes ROC figure 3.11 montrent que pour un taux des faux positifs (FP) fixe, par exemple FP = 0.5, le plus haut taux TP de détection est donné pour la détection de visage et la détection de la peau (82%) alors que le score le plus bas a été donné sans détection de visage (74%). Notre méthode est donc en mesure de reconnaitre efficacement les vidéos à caractère adultes par rapport à la méthode basée seulement sur les 9 descripteurs. Ceci est réalisé en intégrant la texture, la forme, l'extraction des caractéristiques et la détection de visage. Une autre façon d'estimer l'efficacité globale des différents modèles étudiés est de calculer l’aire sous la courbe ROC ou AUC [52]. Ainsi, dans l'intervalle [0..0,8], la valeur de l'AUC est égale à 0,3125 pour le modèle sans la détection de visage et 0,3333 pour le modèle basé sur la détection de visage. Ainsi, nous remarquons que notre méthode présente de meilleurs résultats. 3.8 Conclusion Dans ce chapitre, nous avons exposé les phases d'analyse des séquences vidéo qui consistent à segmenter les objets et à en extraire les principaux attributs. Nous avons présenté des méthodes de détection du mouvement et de visage qui permettent d’obtenir des CHAPITRE 3. DETECTION DES SCENES VIDEO POUR ADULTES 94 __________________________________________________________________________________________ performances optimales de détection. Enfin, nous avons calculé les neuf descripteurs qui caractérisent les scènes pour adultes. Par la suite nous passons à l’étape de classification des images en s’appuyant sur des techniques d’apprentissage qui se basent sur l’analyse statistique. Les systèmes de filtrage utilisent divers algorithmes pour classifier les vidéos comme étant une vidéo adulte ou nonadulte. La plupart de ces systèmes ont des paramètres de sensibilité qui permettent à l'utilisateur d'avoir un certain degré de contrôle afin d’ajuster la décision du classificateur concernant la nature de la vidéo traitée. A cette fin, plusieurs techniques d’apprentissage se basant sur l’analyse statistique sont utilisées telles que : • Classification Naïve de Bayes. • Les arbres de décision • La logique floue en classification. • Machine à vecteurs de support (SVM). • Réseaux de Neurones. Dans le chapitre 4 nous adoptons les réseaux de neurones et SVM afin de classifier les vidéos. Plus précisément, ces classificateurs agiront sur le vecteur construit à partir des descripteurs calculés dans le présent chapitre afin de décider de la nature des vidéos. Chapitre 4 Reconnaissance des scènes vidéo pour adultes Sommaire 4.1 Introduction ........................................................................................................................ 96 4.2 Classification des vidéos ................................................................................................... 97 4.3 Méthode de classification ................................................................................................... 99 4.3.1 Classification Naïve de Bayes ..................................................................................... 99 4.3.2 Les arbres de décision.................................................................................................. 99 4.3.3 La logique floue en classification .............................................................................. 100 4.3.4 Réseau de neurones ................................................................................................... 102 4.3.4.1 Les étapes de la conception d'un réseau .............................................................. 102 a. Choix et préparation des échantillons .................................................................. 102 b. Elaboration de la structure du réseau ................................................................... 102 c. Apprentissage ....................................................................................................... 103 d. Validation et tests ................................................................................................. 103 4.3.4.2 Calcul de la valeur prédite .................................................................................. 103 4.3.4.3 Optimisation des paramètres ............................................................................... 104 4.3.4.4 Choix du nombre d’unités cachées ..................................................................... 105 4.3.4.5 Utilisation des ANN pour le blocage des scènes vidéo pour adultes ............... 106 a. Un filtre de réseau neuronal ................................................................................. 106 b. Vérifier des images pour adultes .......................................................................... 106 4.3.4.6 Comparaison entre les différentes fonctions d’activation ................................... 108 4.3.5 Les machines à vecteur de support ............................................................................ 111 4.3.5.1 Cas linéairement séparable ................................................................................. 111 4.3.5.2 Cas linéairement non-séparable .......................................................................... 115 4.3.5.3 Astuce noyau ...................................................................................................... 116 4.3.5.4 Exemples de kernels............................................................................................ 116 a. Le kernel polynomial ........................................................................................... 116 b. Le kernel RBF Gaussien ...................................................................................... 118 c. Le kernel neuronal (Sigmoïde) ............................................................................ 118 d. Le kernel linéaire ................................................................................................. 119 4.3.5.5 Choix des paramètres .......................................................................................... 119 4.3.5.6 Utilisation des SVM pour le blocage des scènes vidéo pour adultes .................. 120 a. Résolution du problème d’optimisation quadratique ........................................... 120 b. Calcul du biais...................................................................................................... 120 4.3.5.7 Comparaison des performances entre les noyaux SVM ..................................... 126 4.4 Evaluation de la classification .......................................................................................... 127 4.5 Illustration et interprétation des résultats ......................................................................... 129 4.6 Conclusion ........................................................................................................................ 130 CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 96 __________________________________________________________________________________________ 4.1 Introduction La classification automatique des vidéos pour adultes est un exemple représentatif d’un problème général de catégorisation des sites Web car elle combine généralement le contenu textuel avec le contenu visuel de la page. Plusieurs travaux de recherche sur la classification et la catégorisation des documents Web ont montré d’une part qu’une classification basée seulement sur le contenu textuel n’est pas performante, et d’autre part, que les descripteurs basés sur le contenu structurel aident considérablement à améliorer le taux de la classification [59]. En outre, la classification de données est définie en statistique comme une phase de décision. Elle consiste à attribuer une classe à une observation inconnue en se basant sur des observations connues ou bien sur des règles statistiques. Nous distinguons deux types de classification : La classification supervisée et la classification non-supervisée. La classification non-supervisée (appelée clustering en anglais) consiste à diviser un ensemble d’observations en sous-ensembles de nature différente (les individus d’une même classe sont similaires et ceux de classes différentes sont différents). Dans le cas de la classification supervisée, on se base sur un ensemble d’individus (appelé ensemble d’apprentissage) de classes connues et on essaye de chercher une fonction qui associe à chaque nouvelle observation la classe correspondante [59]. Nous nous intéressons ici à la classification supervisée. Généralement, deux phases préliminaires sont nécessaires pour résoudre le problème de la classification supervisée. La phase d’apprentissage et la phase de test. La première permet d’ajuster les paramètres du classificateur à partir d’un ensemble de données connues, alors que la deuxième phase sert à évaluer les performances du classificateur à partir d’un ensemble de test. La plupart des algorithmes d'apprentissage supervisés tentent donc de trouver un modèle qui explique le lien entre les données d'entrée et les classes de sortie. Après avoir calculé les différents descripteurs qui constituent l’entrée du dernier bloc dans la chaîne de blocage des images indésirables, un vecteur de fonction simple reconstruit a partir de ces descripteurs pour réaliser la reconnaissance des vidéos pour adultes, cette phase peut être accomplie par plusieurs modèles de classification. Pour cela, nous présentons en premier lieu les méthodes de classification les plus utilisées dans la littérature à savoir les arbres de décisions, les réseaux bayésiens, les réseaux de neurones et les machines à vecteurs de support. Nous modélisons ensuite les formes extraites avant d’évaluer les performances du système en termes de taux de bonne classification. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 97 __________________________________________________________________________________________ 4.2 Classification des vidéos Dans le cas de la classification de vidéos, on fournit à la machine des exemples sous la forme (Vidéo, Classe). Cette méthode de raisonnement est appelée inductive car on induit de la connaissance (le modèle) à partir des données d'entrée (les Vidéos) et des sorties (leurs Catégories). Grâce à ce modèle, on peut alors déduire les classes de nouvelles données. Un analyste qui veut classer des vidéos, utilise les éléments de l'interprétation visuelle pour identifier des groupes homogènes qui représentent des classes intéressantes. La classification numérique des vidéos utilise l'information spectrale contenue dans les valeurs d'une ou de plusieurs bandes spectrales pour classifier chaque image de la vidéo à analyser individuellement. Ce type de classification est appelé reconnaissance de regroupements spectraux. Les deux façons de procéder (manuelle ou automatique) ont pour but d'assigner une classe particulière à chacune des images de la vidéo. Lorsqu'on parle de classes, il faut faire la distinction entre des classes d'information et des classes spectrales : • Classes d’information Les classes d'information sont des catégories d'intérêt que l'analyste tente d'identifier dans les images. • Classes spectrales Les classes spectrales sont des groupes de pixels qui ont les mêmes caractéristiques dans les différentes bandes spectrales des données. L'objectif de la classification est de faire la correspondance entre les classes spectrales et les classes d'information. Il est rare qu'une correspondance directe soit possible entre ces deux types de classes. Des classes spectrales bien définies peuvent apparaître parfois sans qu'elles correspondent nécessairement à des classes d'information intéressantes pour l'analyse. Les méthodes de classification les plus communes peuvent être séparées en deux grandes catégories : les méthodes de classification supervisée et les méthodes de classification non supervisée. Lors de l'utilisation d'une méthode de classification supervisée, l'analyste identifie des échantillons assez homogènes de l'image qui sont représentatifs de différents types de surfaces (classes d'information). Ces échantillons forment un ensemble de données-tests. La sélection de ces données-tests est basée sur les connaissances de l'analyste et les types de CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 98 __________________________________________________________________________________________ surfaces présents dans l'image. L'analyste supervise donc la classification d'un ensemble spécifique de classes. Les informations numériques pour chacune des bandes et pour chaque pixel de ces ensembles sont utilisées pour que l'ordinateur puisse définir les classes et ensuite reconnaître des régions aux propriétés similaires à chaque classe. L'ordinateur utilise un programme spécial ou algorithme afin de déterminer la "signature" numérique de chacune des classes. Une fois que l'ordinateur a établi la signature spectrale de chaque classe à la classe avec laquelle il a le plus d'affinités, une classification supervisée commence donc par l'identification des classes d'information qui sont ensuite utilisées pour définir les classes spectrales qui les représentent. La classification non supervisée procède de la façon contraire. Les classes spectrales sont formées en premier, basées sur l'information numérique des données seulement. Ces classes sont ensuite associées, par un analyste, à des classes d'information utile. Des programmes appelés algorithmes de classification sont utilisés pour déterminer les groupes statistiques naturels ou les structures des données. Habituellement, l'analyste spécifie le nombre de groupes ou classes qui seront formés avec les données. De plus, l'analyste peut spécifier certains paramètres relatifs à la distance entre les classes et la variance à l'intérieur même d'une classe. Le résultat final de ce processus de classification itératif peut créer des classes que l'analyste voudra combiner, ou des classes qui devraient être séparées de nouveau. Chacune de ces étapes nécessite une nouvelle application de l'algorithme. L'intervention humaine n'est donc pas totalement exempte de la classification non supervisée. Cependant, cette méthode ne commence pas avec un ensemble prédéterminé de classes comme pour la classification supervisée. L'approche de base dans le domaine de l'identification des modèles pour dépister des images pour adultes est d'utiliser une procédure de formation qui classifie des modèles en deux classes : classe des images adultes et classe des images non adultes. En fait, dans cette approche, on applique des techniques d'apprentissage pour élaborer la fonction qui décrit la distribution des images. En général, ces méthodes se basent sur des techniques telles que l'analyse statistique et l'apprentissage automatique pour trouver les caractéristiques appropriées des images adultes et des images non adultes. Une image ou un vecteur des caractéristiques dérivé de l'image est vu comme variable aléatoire X, et cette variable aléatoire est caractérisée pour des images adultes et des images non adultes. La classification Bayésienne peut être employée pour classifier un endroit d'image candidate comme nu ou non nu. Malheureusement, une implémentation directe de CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 99 __________________________________________________________________________________________ classification Bayésienne est infaisable en raison de la dimension élevée de X et de la multi modalité des fonctions de densité de probabilité P(x | adulte), P(x | non adulte). Donc, plusieurs approches dans cette catégorie se sont concentrées à valider les approximations paramétriques et non paramétriques pour P(x | adulte) et P(x | non adulte). Une autre approche pour les méthodes basées sur des images est de trouver une fonction discriminante (surface de décision, l'hyperplan de séparation, la fonction de seuil...) qui classifie les images adultes et les images non adultes. Par convention, des modèles d'images sont projetés dans un espace dimensionnel inférieur et alors une fonction discriminante est formée (habituellement basé sur la métrique de distance) pour la classification, ou une surface non linéaire de décision peut être formée en utilisant les réseaux neurologiques multicouches. 4.3 Méthode de classification 4.3.1 Classification Naïve de Bayes On peut citer deux raisons pour l’utilisation d’un classificateur naïf de Bayes. D'abord, il permet une meilleure évaluation des probabilités conditionnelles. En plus, un classificateur naïf de Bayes fournit une forme fonctionnelle de la probabilité postérieure pour déterminer les statistiques communes de l'aspect et de la position locaux sur l'objet. Nommés d'après le théorème de Bayes, ces méthodes sont qualifiés de "Naïve" car elles supposent l'indépendance des variables. L'idée est d'utiliser des conditions de probabilité observées dans les données. La classification peut être vue comme le problème de déterminer la probabilité suivante : P (Ci|D) qui correspond à la probabilité de chaque classe Ci parmi les images D. De ce fait, la classe Ci qui donne la probabilité la plus forte est choisie. Cependant, cette probabilité n'est pas directement estimable, c'est pourquoi nous utilisons la loi de Bayes. L’algorithme calcule les fréquences d'apparition de chaque variable d'entrée avec celles de sortie. Pour classer des images, les variables d'entrées sont les pixels présents dans l'ensemble des images. Pour chaque pixel on calcule le nombre de fois qu'il apparaît dans les images classées dans une classe donnée; On calcule cette fréquence pour chaque classe. 4.3.2 Les arbres de décision La méthode d’arbres de décision est une méthode très connue et très appliquée en classification supervisée. Elle permet de modéliser graphiquement des règles de décision CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 100 __________________________________________________________________________________________ d’un ensemble de données (base d’apprentissage) et qui sont aisément et rapidement interprétables. C’est une méthode simple à mettre en œuvre qui a montré son intérêt et son succès dans le domaine de fouille de données [53]. Toutefois, il existe plusieurs algorithmes pour les arbres de décision dans la littérature, dont la plus connu est la méthode ID3 (Induction of Decision tree) [54]. La construction des arbres de décision se base sur une structuration des connaissances sous forme d’un graphe orienté. Il s’agit de trouver un partitionnement des objets et de les représenter sous forme d’un arbre. L’objectif est de produire des groupes d’objets les plus homogènes possibles. Chaque sommet (noeud) contient généralement un test (condition) et possède autant de branches qu’il y a de valeurs possibles de test. Les feuilles de l’arbre, quant à elles, indiquent la valeur prévue relative au chemin qui les relient à la racine. Pour un objet inconnu, on parcourt l’arbre à partir de la racine, puis on suit le chemin définit au fil des résultats des tests pour chaque sommet jusqu’à la rencontre d’une feuille, enfin on affecte à l’objet la classe correspondante à la feuille trouvée. L’arbre de décision se construit de manière récursive à partir de la base d’apprentissage. Pour chaque noeud, on détermine parmi les attributs restants dans la base d’apprentissage celui qui assure le plus possible, une discrimination entre les ensembles de la base d’apprentissage. 4.3.3 La logique floue en classification Les problèmes de classification offrent un terrain d’expérimentation tout à fait intéressant au concept des sous-ensembles flous. A l’évidence, un objet peut présenter des similitudes avec des objets d’autres classes. Le chevauchement entre classes peut être envisagé, simplement parce qu’il n’est pas toujours possible de définir d’une façon claire les frontières entre différents segments pour savoir à quelle classe (unique) appartient l’objet en question. Les classes peuvent être considérées comme des sous-ensembles flous. Deux grandes familles de méthodes peuvent être distinguées, selon la façon dont la logique floue est utilisée. La première correspond aux méthodes issues directement de la typologie classique ; ce sont en fait des versions « fuzzyfiées » des méthodes classiques, utilisant des sous-ensembles flous pour modéliser des classes d’objets. On peut citer la méthode des kplus proches voisins flous ou celle des c-moyennes floues. La deuxième repose sur les relations floues entre les valeurs d’un vecteur d’attributs et la classe à laquelle appartient l’échantillon. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 101 __________________________________________________________________________________________ Quelle que soit l’approche utilisée, ces deux familles de méthodes ont un point commun: leur résultat est une partition floue de l’ensemble des observations. Présenté sous forme d’une matrice des degrés d’appartenance de chaque objet à chaque classe où les objets auront la possibilité d’appartenir graduellement à la fois à plusieurs classes. L’idée de cette approche a été de suggérer qu’au lieu de chercher un seuil unique s décidant l’appartenance à un ensemble dans un contexte donné, il semble plus réaliste de considérer deux seuils s1<s2, avec une fonction d’appartenance donnant à chaque individu un degré d’appartenance (compris entre 0 et 1) selon lequel l’individu en question appartient à une classe donnée. Au-dessous de s1, l’individu appartient complètement à une classe (degré d’appartenance maximal égal à 1) ; au-delà de s2, il n’appartient plus du tout à cette classe (degré d’appartenance minimal, par convention égal à 0). Entre s1 et s2, les degrés d’appartenance seront intermédiaires (entre 0 et 1). Le concept de sous-ensemble flou et le degré d’appartenance ont été introduits pour éviter les passages brusques d’une classe à une autre et autoriser les éléments à n’appartenir complètement ni à l’une ni à l’autre ou encore à appartenir partiellement à chacune. L’algorithme des C-moyennes est l’une des méthodes les plus connues parmi les techniques de classification non supervisée. La version C-moyennes floues [61] est une extension directe de cet algorithme, où l’on introduit la notion d’ensemble flou dans la définition des classes. Cet algorithme utilise un critère de minimisation des distances intra-classes et de maximisation des distances interclasses, mais en tenant compte des degrés d’appartenance des individus. La partition floue obtenue est présentée sous forme d’une matrice n x c, où n est le nombre d’objets, c le nombre de classes obtenues, et µij l’élément de la matrice du degré d’appartenance de l’objet i à la classe j. La valeur d’appartenance d’un objet à une classe ne prend pas simplement les valeurs 0 ou 1, mais toutes les valeurs possibles dans l’intervalle [0, 1]. Le résultat direct fourni par l’algorithme est une matrice des degrés d’appartenance de chaque objet à chaque classe. Cette matrice donne déjà une image graduée de l’appartenance des individus aux classes ainsi qu’une image du chevauchement des classes. Il s’agit de révéler différentes configurations possibles au sein même d’une classe, et ce grâce à un indice appelé seuil d’affectation (ou α-coupe). Le principe est d’affecter à une classe tous les CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 102 __________________________________________________________________________________________ individus ayant un degré d’appartenance à cette classe supérieur ou égal à un seuil donné, chaque objet ayant désormais la possibilité d’appartenir simultanément à plusieurs classes. En faisant varier ce seuil, on obtiendra plusieurs configurations pour une même classe, et donc plusieurs scénarios d’action. 4.3.4 Réseau de neurones Puisque la reconnaissance des images pour adultes peut être traitée comme problème d'identification de modèle de deux classes, nous avons proposé diverses architectures de réseau de neurones. L'avantage d’utilisation des réseaux de neurones dans notre cas est la faisabilité de formation du système pour capturer la densité conditionnelle de classe complexe des modèles des images. L'idée cruciale de cette approche est que tout d'abord on utilise l'ensemble des images adultes et l'ensemble des images non adultes pour former le réseau de neurones. Puis, une fenêtre dont la taille peut être changée est balayée sur l'image d'entrée. Cette fenêtre est introduite au réseau, et elle sera classifiée en deux classes : classe des images adultes et classe des images non adultes. Dans la suite nous présentons le détail de notre réseau de neurones utilisé pour la reconnaissance des vidéos pour adultes. 4.3.4.1 Les étapes de la conception d'un réseau Pour construire un réseau de neurone, la première chose à faire n'est pas de choisir le type de réseau mais de bien choisir ses échantillons de données d'apprentissage, de tests et de validation. Ce n'est qu'ensuite que le choix du type de réseau interviendra. On donne dans les paragraphes suivants les quatre grandes étapes qui doivent guider la création d'un réseau de neurones. a. Choix et préparation des échantillons Comme dans les cas d'analyse de données, cette étape est cruciale et va aider le concepteur à déterminer le type de réseau le plus approprié pour résoudre son problème. La façon dont se présente l'échantillon conditionne : le type de réseau, le nombre de cellules d'entrée, le nombre de cellules de sortie et la façon dont il faudra mener l'apprentissage, les tests et la validation. b. Elaboration de la structure du réseau La structure du réseau dépend étroitement du type des échantillons. Il faut d'abord choisir le type de réseau : un perceptron standard, un réseau de Hopfield, un réseau à décalage CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 103 __________________________________________________________________________________________ temporel (TDNN), un réseau de Kohonen, un ARTMAP etc... Dans le cas du perceptron par exemple, il faudra aussi choisir le nombre de neurones dans la couche cachée. Plusieurs méthodes existent, on peut par exemple prendre une moyenne du nombre de neurones d'entrée et de sortie. c. Apprentissage L'apprentissage consiste tout d'abord à calculer la pondération optimale des différentes liaisons, en utilisant un échantillon. La méthode la plus utilisée est la rétro propagation : on entre des valeurs dans les cellules d'entrée et en fonction de l'erreur obtenue en sortie (le delta), on corrige les poids accordés aux pondérations. C'est un cycle qui est répété jusqu'à ce que la courbe d'erreurs du réseau ne soit croissante. d. Validation et tests Alors que les tests concernent la vérification des performances d'un réseau de neurones hors échantillon et sa capacité de généralisation, la validation est parfois utilisée lors de l'apprentissage. Une fois le réseau calculé, il faut toujours procéder à des tests afin de vérifier que notre réseau réagit correctement. Il y a plusieurs méthodes pour effectuer une validation : la cross validation, le bootstrapping... Mais pour les tests, dans le cas général, une partie de l'échantillon est simplement écartée de l'échantillon d'apprentissage et conservée pour les tests hors échantillon. On peut par exemple utiliser 60% de l'échantillon pour l'apprentissage, 20% pour la validation et 20% pour les tests. 4.3.4.2 Calcul de la valeur prédite Le calcul de la valeur prédite par un réseau de neurones se compose de trois étapes. Premièrement, on calcule une série de combinaisons linéaires des variables explicatives [56] : vi = α n i,0 ∑ j =1 α i, j x j ( 4 .1) où xj est la jème valeur de n variables explicatives et αi,0 et αi,j sont les coefficients de la ième combinaison linéaire. Le résultat de la combinaison linéaire, vi, représente une projection dans une direction de l’espace des variables explicatives. Chacune de ces projections combine de l’information provenant potentiellement de plusieurs variables. La seconde étape consiste à appliquer une transformation non linéaire à chacune des combinaisons linéaires afin d’obtenir les valeurs de ce que l’on appelle les unités cachées ou neurones qui forment un ensemble de couches cachées. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 104 __________________________________________________________________________________________ Typiquement, on utilise la tangente hyperbolique pour effectuer la transformation non linéaire. h i = tanh( x ) = e2x − 1 ( 4 .2 ) e 2x + 1 Où hi est la ième unité cachée. L’utilisation d’une telle fonction de transfert avec une expansion infinie dans ses termes joue un rôle fondamental dans la capacité d’un réseau de neurones et permet de capter les dépendances de haut niveau entre les variables explicatives. Finalement, les unités cachées sont recombinées linéairement afin de calculer la valeur prédite par le réseau de neurones : nh p ( x ) = β 0 ∑ β i hi ( 4 .3 ) i =1 Où : p (x) est la valeur prédite par le réseau de neurones, nh est le nombre d’unités cachées du réseau, β 0 et β i sont les coefficients de la combinaison linéaire. Les n variables explicatives sont représentées sous forme vectorielle par x . On peut résumer les étapes du calcul en une seule équation : p( x) = β 0 + nh ∑ i =1 β i tanh( α i , 0 + n ∑ α i,0 + j =1 n ∑α j =1 i, j xj) ( 4 .4 ) Dans chaque unité de la couche cachée, les variables sont combinées de façon linéaire. Le réseau de neurones applique une transformation non linéaire à chacune de ces combinaisons. Finalement, les valeurs résultantes des unités cachées sont combinées de façon linéaire pour obtenir la valeur prédite. 4.3.4.3 Optimisation des paramètres La transformation non linéaire joue un rôle prépondérant dans le réseau de neurones. Par contre, la présence de cette transformation dans les équations du calcul de la valeur prédite fait en sorte que l’on ne peut trouver de solution analytique pour le calcul des paramètres optimaux d’un réseau de neurones. Tout d’abord, les paramètres du réseau de neurones sont généralement initialisés à des valeurs aléatoires. La distribution de ces valeurs aléatoires suit certaines règles dictées par la théorie. Ensuite, on présente au réseau de neurones un exemple d’entraînement, c à d, une CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 105 __________________________________________________________________________________________ paire qui comprend l’ensemble des valeurs des variables explicatives x et la valeur observée du processus. Dans une première étape, on calcule la valeur prédite par le réseau de neurones p (x) et l’erreur de prédiction e, qui découle du fait que y ≠ p ( x) . Généralement, on utilise l’erreur quadratique qui jouit de certaines propriétés statistiques intéressantes : e = ( p ( x ) − y )² ( 4 .5 ) Dans une seconde étape, on utilise le calcul différentiel pour obtenir la dérivée de l’erreur par rapport à chacun des paramètres du réseau de neurones. Ces valeurs servent à modifier les paramètres de sorte que si l’exemple d’entraînement était présenté à nouveau au réseau de neurones, l’erreur serait moindre. Ces deux étapes (calcul de la valeur prédite et modification des paramètres) sont répétées pour chaque exemple d’apprentissage. Les paramètres sont modifiés jusqu’à ce que l’erreur d’entraînement, c à d, l’erreur totale commise sur tous les exemples de l’ensemble d’apprentissage se stabilise, ce qui peut nécessiter quelques centaines d’époques d’entraînement. La stabilité finale est théoriquement assurée si certaines règles relatives à la modification des paramètres du réseau sont respectées. 4.3.4.4 Choix du nombre d’unités cachées Le nombre d’unités cachées (nh) joue un rôle crucial dans le contrôle de la capacité du réseau de neurones. Si la valeur de nh est trop petite, alors le réseau possède peu de paramètres et ne peut pas capter toutes les dépendances qui servent à modéliser et prédire les valeurs du processus observées. À l’inverse, si l’on choisit une valeur trop grande pour nh, alors le nombre de paramètres du modèle augmente et il devient possible, pendant la phase d’optimisation des paramètres, de modéliser certaines relations qui ne sont que le fruit de fluctuations statistiques propres à l’ensemble d’apprentissage utilisé plutôt que des relations fondamentales de dépendance entre les variables. Un réseau de neurones peut apprendre un ensemble d’entraînement. Dans son apprentissage, on a besoin d’un ensemble d’entraînement et un autre ensemble appelé ensemble de validation. A la fin de chaque époque d’entraînement, on mesure l’erreur d’entraînement et l’erreur de validation, c à d l’erreur totale commise sur tous les exemples de l’ensemble de CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 106 __________________________________________________________________________________________ validation. Le calcul de l’erreur de validation est effectué une fois la phase d’optimisation des paramètres est terminée. Après avoir entraîné quelques modèles, chacun avec un nombre différent d’unités cachées, on peut comparer les erreurs d’entraînement et de validation. On obtient généralement le résultat suivant : L’erreur d’entraînement diminue au fur et à mesure que le nombre d’unités cachées augmente. L’erreur de validation, quant à elle, s’élève lorsque le nombre d’unités cachées est faible, décroît avec l’augmentation du nombre d’unités cachées, atteint un minimum pour un certain nombre optimal d’unités cachées, puis croît lorsque le nombre d’unités devient trop grand. 4.3.4.5 Utilisation des réseaux de neurones pour le blocage des scènes vidéo pour adultes Le système neuronal est divisé en deux étapes : détecter des images adultes en utilisant un réseau de neurones et vérifier les résultats acquis. a. Un filtre de réseau neuronal Dans cette étape, des objets adultes sont localisés dans une image grâce un filtre de réseau de neurones. En fait, c'est un réseau de neurones qui accepte des entrées comme des fenêtres qui sont balayées à chaque endroit dans l'image à plusieurs tailles. Le résultat sorti est de 0 à 1 signifiant respectivement l'absence ou la présence d'un corps nu. b. Vérifier des images pour adultes Dans cette étape, les images adultes sont vérifiées pour éliminer des fausses détections. Dans cette étape, le système mentionne des alertes qui permettent de réduire des erreurs de fausse détection. La difficulté dans cette méthode est l'architecture de réseau de neurones. Le choix de nombre de couches, de nombre de nœuds, de la relation entre des nœuds de deux couches consécutives influencent directement la performance du système. La figure ci-dessus présente le schéma général de l'organisation du réseau neuronal apprenant à distinguer des vidéos adultes et non adultes obtenus par le passage d'un détecteur et d'un seuillage sur l'image convertie en niveau de gris. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 107 __________________________________________________________________________________________ Figure 4. 1. Schéma général du réseau neuronal pour le filtrage des vidéos pour adultes Le réseau est composé d’une couche d’entrée indexée par i, une couche cachée, indexée par j et une couche de sortie indexée par k. Dans notre application, on utilise 53 nœuds dans la couche cachée et 1 nœud dans la couche de sortie. Le nombre de nœuds cachés est choisi de manière empirique. A chaque nœud caché est associée une fonction d’activation qui est une fonction tangente hyperbolique qui correspond à l’entrée du nœud. Les liens entre la couche d’entrée et celle cachée sont associés avec des poids dénotés par wij tandis que les liens entre la couche cachée et celle de sortie sont associés avec des poids dénoté par wkj. La procédure d’apprentissage débute par une séquence aléatoire de poids. Cette procédure est décomposée en deux : * Une procédure de forward (restauration en avant) où chaque motif d’apprentissage p est lassé dans le réseau pour évaluer la sortie Op. * Une procédure de propagation en arrière dans laquelle l’erreur de la sortie Ep nécessite des changements. Pour un motif d’entrée p, la sortie Op est un nombre réel entre 0 et 1. Plus le nombre s’approche de 1, plus le motif d’entré correspond à une scène pour adulte. Par la suite, on met en place un seuil T, 0 < T < 1, pour avoir une décision binaire. La structure de notre filtre des scènes vidéo adultes est montrée sur le schéma suivant. La première étape est la détection de peau, puis le vecteur de dispositif est extrait à partir du rendement de cette étape. Le réseau de neurone prend le vecteur de dispositif comme entrée CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 108 __________________________________________________________________________________________ et génère un scalaire Op, qui peut être comparé au seuil T pour décider la présence ou l’absence d’une scène adulte. Figure 4. 2. La structure du filtre des scènes vidéo pour adulte : cas des réseaux de neurone L’élément essentiel des réseaux de neurones réside dans leurs capacités de capter les dépendances non linéaires de haut niveau entre les variables explicatives, ce qui est possible grâce à la présence d’une transformation dans le calcul de la valeur prédite. 4.3.4.6 Comparaison entre les différentes fonctions d’activation Dans cette section, On présente une comparaison entre les différentes fonctions d’activation du réseau de neurone. La figure 4.3 montre cette comparaison. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 109 __________________________________________________________________________________________ Figure 4. 3. Comparaison entre les différentes fonctions d’activation pour le filtre des scènes vidéo adulte Pour une fausse alarme fixe donnée FP = 0,3 le taux de bonne détection a été donnée par la fonction tangente hyperbolique (95%) alors que le score le plus bas est obtenu par la fonction linéaire (25.3%). La fonction tangente hyperbolique joue un rôle fondamental dans la capacité d’un réseau de neurones et permet de capter les dépendances de haut niveau entre les variables explicatives. Elle a produit généralement de meilleurs résultats que les autres fonctions d’une part en raison de sa symétrie et d’autres part, elle possède une propriété simple permet d'accélérer le calcul de sa dérivée, ce qui réduit le temps de calcul nécessaire à l'apprentissage d'un réseau de neurones. Pour compléter notre travail, nous avons fait une étude comparative entre les différentes fonctions d’activation en comparant le taux de performance et le temps moyen de traitement pour différents seuils. Pour cela nous avons choisi l’environnement MATLAB 7.0 avec sa bibliothèque de traitement d’images « Image Processing Toolbox », en utilisant un processeur Intel ® Core ™ 2 Duo, Pentium IV1, Microsoft Windows Vista avec 2 Go en mémoire. Le tableau suivant représente les résultats de notre comparaison pour le seuil 0.70. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 110 __________________________________________________________________________________________ Fonction d’activation Taux de performance % Temps moyen de traitement (en ms) Linéaire 25.3 8.4553 Sigmoïde 52.1 8.5219 Gaussienne 76.2 8.9167 Tangente hyperbolique 95.1 8.8756 Tableau 4.1. Comparaison de taux de performance et de temps moyen de traitement pour les différentes fonctions d’activation pour le seuil 0.70. Le tableau suivant représente les résultats de notre comparaison pour le seuil 0.72. Fonction d’activation Taux de performance % Temps moyen de traitement (en ms) Linéaire 30.1 7.5177 Sigmoïde 55.4 8.3239 gaussienne 78.6 7.9177 Tangente hyperbolique 95.4 7.6766 Tableau 4.2. Comparaison de taux de performance et de temps moyen de traitement pour les différentes fonctions d’activation pour le seuil 0.72. Le tableau suivant représente les résultats de notre comparaison pour le seuil 0.74. Fonction d’activation Taux de performance % Temps moyen de traitement (en ms) Linéaire 29.2 8.5177 Sigmoïde 53.2 8.4369 gaussienne 69.5 8.2198 Tangente hyperbolique 95.2 7.7738 Tableau 4.3. Comparaison de taux de performance et de temps moyen de traitement pour les différentes fonctions d’activation pour le seuil 0.74. Nous constatons que la fonction d’activation tangente hyperbolique est plus performante avec un seuil de 0.72. Grâce à ces tests nous avons pu spécifier le niveau de filtrage des vidéos adultes. Nous pouvons ainsi choisir entre un niveau "bas", "moyen", ou bien "haut". CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 111 __________________________________________________________________________________________ Les réseaux de neurones sont des approximateurs universels dont l’utilisation doit aller en parallèle avec une méthodologie stricte qui permet de capter les relations fondamentales des données tout en évitant de modéliser les fluctuations statistiques propres à un ensemble d’entraînement particulier. 4.3.5 Les machines à vecteur de support Le problème de classification peut être limité à la considération du problème de deux classes sans perte de généralité. Dans ce problème le but est de séparer les deux classes par une fonction qui est issue des exemples disponibles. Il y a beaucoup de classificateurs linéaires possibles qui peuvent séparer les données, mais il y a seulement un qui maximise la marge. Ce classificateur linéaire se nomme l'hyperplan de séparation optimal. Nous allons donc, en plus, chercher parmi les hyperplans valides celui qui passe au milieu des points des deux classes d’exemples. Intuitivement, cela revient à chercher l’hyperplan le « plus sûr », nous nous attendrions à ce que cette frontière soit généralisée bien par opposition aux autres frontières possibles. Figure 4. 4. Hyperplan de séparation optimal 4.3.5.1 Cas linéairement séparable Un classificateur est dit linéaire lorsqu’il est possible d’exprimer sa fonction de décision par une fonction linéaire en x. Notre espace d’entrée X correspond donc à IRn où n est le nombre de composantes des vecteurs contenant les données. On peut, en toute généralité, exprimer une telle fonction comme ceci [58]: f ( x) =< ω , x > +b (4.6) n f ( x) = ∑ ω i xi + b i =1 Où ω Є IRn et b Є IR sont des paramètres, et x Є IR est une variable. ( 4 .7 ) CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 112 __________________________________________________________________________________________ Pour décider à quelle catégorie un exemple ~ x appartient, il suffit de prendre le signe de la ~ fonction de décision : y = sgn(f( x )). Géométriquement, cela revient à considérer un hyperplan qui est le lieu des points x satisfaisant <ω,x> + b = 0. En orientant l’hyperplan, la règle de décision correspond à observer de quel coté de x. l’hyperplan se trouve l’exemple ~ La figure 4.5 représente la situation dans IR2. On voit que le vecteur ω définit la pente de l’hyperplan : ω est perpendiculaire à l’hyperplan. Le terme b quant à lui permet de translater l’hyperplan parallèlement à lui-même. Figure 4. 5. Représentation dans IR2 de l’hyperplan correspondant à la fonction de décision d’un classificateur linéaire Avant de définir la marge, il est utile d’introduire la notion des exemples (training set) linéairement séparable. Un training set (x1,y1), (x2, y2), . . . , (xn, yn) est linéairement séparable si et seulement si: ∃ω ∈ R n , b ∈ R : y i (< ω , xi > +b) ≥ 0∀i = 1.....n (4.8) La définition impose l’existence d’un hyperplan laissant d’un coté toutes les données positives et de l’autre coté toutes les données négatives. Dans le cas de données linéairement séparables, il existe plusieurs méthodes pour trouver un tel hyperplan. La notion de marge peut être relative à un exemple particulier ou à l’ensemble du training set, de plus, on considère deux types de marges : fonctionnelle et géométrique. La marge fonctionnelle d’un exemple xi, par rapport à l’hyperplan caractérisé par ω et b est la quantité : y i (< ω , x i > + b ) ( 4 .9 ) CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 113 __________________________________________________________________________________________ La marge géométrique quant à elle représente la distance euclidienne prise perpendiculairement entre l’hyperplan et l’exemple xi. En prenant un point quelconque xp se trouvant sur l’hyperplan, la marge géométrique peut s’exprimer par : ω ( xi − x p ) ω ( 4.10) La marge géométrique d’un exemple xi, par rapport à l’hyperplan caractérisé par ω et b est donc la quantité : Ψω ,b ( xi , y i ) = y i ( ω b xi + ) ω ω (4.11) Par la suite nous utiliserons uniquement la marge géométrique, nous emploierons le terme « marge » pour désigner cette dernière. Les classificateurs ayant pour critère de maximiser la marge des exemples sont appelés classificateurs à marge maximale. SVM. Dans le cadre de classificateurs à marge maximale, l’hyperplan séparateur correspond à la médiatrice du plus petit segment de droite reliant les enveloppes convexes des deux catégories. Soit H : (w x+b) l'hyperplan qui satisfait les conditions suivantes : yi = 1 wx + b >= 1 Si wx + b <= −1 Si y i = −1 (4.12) Ce qui est équivalent à : yi ( wx + b) >= 1 pour i = 1.....m (4.13) Un hyperplan optimal est un hyperplan qui maximise la marge M qui représente la plus petite distance entre les différentes données des deux classes et l'hyperplan. Maximiser la marge M est équivalent à maximiser la somme des distances des deux classes par rapport à l'hyperplan. Ainsi, la marge a l'expression mathématique suivante : wx + b wx + b − max xi / yi =1 xi / yi = −1 w w M = min = 1 −1 − w w = 2 w (4.14) CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 114 __________________________________________________________________________________________ Trouver l'hyperplan optimal revient donc à maximiser minimiser w² 2 2 . Ce qui est équivalent à w . Ceci est un problème de minimisation d'une fonction objective quadratique avec contraintes linéaires. Après avoir défini les notions de marges et d’hyperplans canoniques, nous pouvons formuler un problème d’optimisation mathématique tel que sa solution nous fournisse l’hyperplan optimal (maximisant la marge) [59]: Minimiser W (ω , b) = 1 ω 2 2 ( 4.15) Tel que : y i (< ω , x i > + b ) ≥ 1 (4.16) Il s’agit d’un problème quadratique dont la fonction objective est à minimiser. Cette fonction objective est le carré de l’inverse de la double marge. Pour dualiser (4.15), nous devons former ce que l’on appelle le Lagrangien. Il s’agit de faire rentrer les contraintes dans la fonction objective et de pondérer chacune d’entre elles par une variable duale : L(ω , b, α ) = 1 ω 2 2 − ∑i =1α i [ y i (< ω , xi > +b) − 1] n (4.17) La méthode SVM est un classificateur à marge maximale dans lequel le produit scalaire a été remplacé par le kernel. Effectuons dès lors cette substitution dans le problème (4.17) : Maximiser W (α ) = ∑i =0 α i − n 1 n ∑ y i y j α i α j < xi , x j > 2 ij =1 ( 4.18) Tel que ∑ n α i y i = 0 i =1 α i ≥ 0∀ i = 1 ........ n ( 4 .19 ) Ce qui donne le problème quadratique (4.20) suivant : W(α ) = n ∑α i=0 Maximiser i − 1 n ∑ y i y jα iα j k ( xi , x j ) 2 ij =1 ( 4 .20 ) CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 115 __________________________________________________________________________________________ ∑ n α i y i = 0 i =1 α i ≥ 0...∀i = 1...n Tel que ( 4.21) La fonction de décision de notre classificateur linéaire devient : n f ( x ) = ∑ α i y i K < x i , x > +b (4.22) i =1 4.3.5.2 Cas linéairement non-séparable Nous avons présenté dans le paragraphe précédent le principe du SVM dans le cas des données linéairement séparables, cependant, dans la pratique, les données sont souvent nonlinéairement séparables. Dans le cas où les données ne sont pas linéairement séparables, il n’existe pas d’hyperplan qui sépare les deux classes. Ceci nous ramène à relâcher les contraintes qui deviennent: w. x i + b ≥ + 1 − ξ i w. x i + b ≥ − 1 − ξ i si yi = +1 si yi = −1 ( 4 . 23 ) Notons qu’en cas d’une fausse classification d’un vecteur d’entrée xi, le ξi correspondant n est supérieur à 1, ainsi ∑ξ i =1 i représente une borne supérieure du nombre d’erreurs. L’hyperplan optimal est obtenu alors en minimisant la fonction J(w, ξ) défini par : J (w, ξ ) = n ∑ 1 2 w + C ξi 2 i =1 (4.24) où C, dénommée pénalité d’erreur (trade-off ), est une constante choisie par l’utilisateur qui permet de contrôler le compromis entre le nombre d’erreurs de classification, et la largeur de la marge. En utilisant la méthode de Lagrange, on résout ce problème de la même façon que dans le cas où les données sont linéairement séparables. On remplace alors l’équation 4.17 par : L(w, , b, ξ , α , µ) = J (w, ξ ) + n n ∑α [1−ξ − y (w.x + b)]− ∑µ ξ i i =1 i i i i i (4.25) i =1 avec αi ≥ 0 et μi ≥ 0. Pour classer un nouvel individu, il suffit de regarder le signe de la fonction de décision Pour un nouvel individu x, l’estimation de sa classe se fait en étudiant le signe de la fonction suivante : CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 116 __________________________________________________________________________________________ n f(x)= ∑β ∗ ∗ i yi K ( x, xi ) + b (4.26) i =1 Les principaux noyaux utilisés dans le domaine de la classification sont : • polynomial • gaussien (RBF) • sigmoïdal • linéaire La difficulté du classificateur SVM réside dans le choix des noyaux et leurs paramètres ainsi que le paramètre de pénalité C. En utilisant la validation croisée, on peut optimiser et trouver les paramètres optimaux pour une base de données. 4.3.5.3 Astuce noyau Tout algorithme qui n’utilise que le produit scalaire entre les vecteurs d’entrée peut se généraliser à un algorithme calculant la valeur du noyau en ces vecteurs. Les calculs sont faits implicitement en passant par la fonction Ф : c’est l’Astuce noyau. Grâce à l’astuce noyau, il est possible de : - Rendre non-linéaire des méthodes linéaires (avec un noyau gaussien par exemple) - Plonger l’espace initial dans un espace plus grand. A la section suivante, nous présentons des exemples de kernels. 4.3.5.4 Exemples de kernels a. Le kernel polynomial La forme générique de ce kernel est : K ( x, z ) = ( a < x, z > +b ) d (4.27) La figure 4.6 donne une représentation de la séparation par un kernel polynomial de degré d dont les monômes sont les composantes de x (plus b est élevée plus on donne de poids aux degrés élevés). Figure 4. 6. Représentation de la séparation par un kernel polynomial de degré d Prenons une instance simple de cette fonction : CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 117 __________________________________________________________________________________________ K ( x, z ) =< x, z > 2 (4.28) < x, z > 2 =< Φ( x), Φ ( z ) > (4.29) Tentons de trouver un candidat Ф tel que : En supposant que la dimension de l’espace d’entrée est 2, on peut trouver les mappings suivants : Φ1 : R 2 ⇒ R 3 Φ2 : R 2 ⇒ R 4 x1 2 x1 2 x x 1 2 Φ 1 ( x) = 2 x1 x 2 .et.Φ 2 ( x) = x1 x 2 2 x2 2 x2 (4.30) On peut déduire de ceci que le tracé, l’espace de re-description et le kernel induit ne sont pas uniques. L’espace de re-description F est un espace de Hilbert que l’on peut voir comme une généralisation de l’espace Euclidien. Regardons maintenant une propriété intéressante du kernel polynomial. Supposons que nous ayons un ensemble d’exemples x1, x2…..xn ∈ IRn et que l’information discriminante se trouve dans les monômes d’ordre d, construits à partir des composantes de x :xi1 xi2 …….xid. On peut extraire cette information en utilisant un tracé Ф qui va amener les données dans un espace dans lequel chaque monôme de degré d est un axe. Si on note Dz, la dimension de l’espace d’entrée, la dimension de l’espace de re-description pour un d fixé est: DF = D χ + ( d − 1)! d ! ( D χ − 1) ( 4 . 31 ) Donc, pour un espace d’entré de dimension 100 (par ex. une image de 10× 10) et un degré de 5, l’espace de re-description doit être de l’ordre de 109. On conçoit qu’effectuer un produit scalaire dans un tel espace soit très coûteux en temps de calcul. Proposition : Le calcul d’un kernel polynomial de la forme k(x, z) =<x,z>d, où x, z ∈ IRn revient à calculer le produit scalaire de ces deux vecteurs mappés dans l’espace de tous les produits (de composantes) d’ordre d. Cette propriété est en pratique très importante. En effet, le coût d’une telle opération revient à celui d’effectuer une élévation à la puissance d du produit scalaire (dans l’espace d’entré) entre deux vecteurs. Nous terminons cette section en mentionnant qu’utiliser un kernel de la CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 118 __________________________________________________________________________________________ forme k(x, z) =(<x,z>+1)d revient à calculer le produit scalaire dans l’espace de tous les produits de composantes jusqu’à l’ordre d. b. Le kernel RBF Gaussien La forme générique de ce kernel est : K(x, z) = exp(− x−z 2 2σ 2 ) (4.32) La figure 4.7 donne une représentation de La séparation par un kernel RBF. Il Correspond à un produit scalaire en dimension infinie. Figure 4.7. Représentation de la séparation par un kernel RBF Le tracé Ф induit par ce type de kernel est un peu spécial. En fait, un exemple va être tracé sur une fonction gaussienne représentant la similarité de l’exemple avec tous les points de X. L’espace d’arrivée F (l’espace de re-description) de la fonction Ф est de dimension infinie étant donné que Ф fait correspondre une fonction continue à chaque exemple, Le kernel RBF permet donc de calculer des similarités dans un espace de dimension infinie. Avec le kernel RBF, tous les exemples sont placés sur une sphère de rayon 1 : K(x, x) = exp( − x−x 2σ 2 2 ) =1 ( 4 . 33 ) Le paramètre σ permet de régler la largeur de la gaussienne. En prennent un σ grand, la similarité d’un exemple par rapport à ceux qui l’entoure sera assez élevée, alors qu’en prenant un σ tendant vers 0, l’exemple ne sera similaire à aucun autre. c. Le kernel neuronal (Sigmoïde) Le noyau sigmoïdal est défini comme étant : K(x, z) = tanh(η < x, z > + β ) (4.34) L’utilisation d’un tel noyau est équivalente à celle d’un réseau de neurones à une couche cachée. Ce noyau dépend de deux paramètres η et β, ce qui peut poser des problèmes lors de sa mise en œuvre. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 119 __________________________________________________________________________________________ d. Le kernel linéaire Le noyau linéaire sur IRp est défini comme suit : k ( x, z ) = ∑ p x z i =1 i i = ( x, z ) ( 4.35) On a bien - ∀xz , k ( x, z ) = k ( z , x) - ∀a1 ,......, a N , x1 ,.......x N ∈ IR n ∑ i, j ai a j k ( xi x j ) = ∑ N i =1 2 ai xi ≥0 ( 4.36) 4.3.5.5 Choix des paramètres Le choix des paramètres qui sont le mieux adaptées à un problème donné n’est pas intuitif. En effet, dans notre cas de classification, le paramètre C est à déterminer. De même, si par exemple on utilise un noyau gaussien, le paramètre σ est aussi à ajuster. Pour ce faire, une méthode brutale consiste à essayer plusieurs valeurs de paramètres, et à mesurer l’erreur de généralisation de la SVM par une validation croisée. Ainsi, on prendra les paramètres pour lesquels l’erreur de généralisation est la plus faible. Le principe de cette méthode est de diviser l’ensemble de données initial en un ensemble d’apprentissage et un autre de test. Cette découpe est répétée un certain nombre de fois. La validation croisée (Algorithme 4.1) est une méthode d'estimation de la fiabilité d'un modèle fondé sur une technique d'échantillonnage. ___________________________________________________________________________ Algorithme 4.1 ___________________________________________________________________________ 1) Diviser les données S en Pi partitions de taille égale 2) Boucler : apprentissage/test en I itérations. A chaque itération I - Réserver la partition Pi pour le test - Entraîner sur S−Pi (Apprentissage sur toute la base sauf une partie Pi) 3) Estimer l'erreur sur les données de test à chaque itération, puis appliquer un moyenner sur les I itérations. 4) Comparer les erreurs moyennes obtenues avec divers noyaux et paramètres puis choisir la meilleure combinaison [60]. ___________________________________________________________________________ CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 120 __________________________________________________________________________________________ 4.3.5.6 Utilisation des SVM pour le blocage des scènes vidéo pour adultes Grâce à sa capacité de classification, SVM est souvent utilisé pour résoudre des problèmes dans le domaine de reconnaissance des images. Donc il est bien adapté à notre cas, puisque la reconnaissance des images adultes est aussi un problème de classification. Le système SVM de reconnaissances des images se compose de deux étapes : Tout d'abord, un SVM linéaire filtre des vidéos candidates en analysant toutes les fenêtres observées des images d'entrées. Ensuite, une SVM non linéaire prend une décision finale sur la vidéo encours si elle est adulte ou pas. a. Résolution du problème d’optimisation quadratique Le problème de programmation quadratique (PQ) provenant d'une SVM ne peut pas être facilement résolu avec les techniques standards. La matrice de gram contient un nombre d'éléments égal au carré du nombre total des données de la base d'apprentissage. Pour résoudre ce problème, Un algorithme appelé Sequential Minimal Optimisation SMO ou Optimisation minimale et séquentielle, a été proposé pour accélérer l'apprentissage d'un SVM. La solution du problème est donné par : α * = arg min − α b. 1 2 n n ∑∑ α iα j y i y j k ( xi , x j ) + i =1 j =1 n ∑α i (4.37) i =1 Calcul du biais. Après résolution du système quadratique qui va nous permettre d’obtenir les αi, on va calculer le biais pour les vecteurs de support bornés, c’est-à-dire les vecteurs pour lesquels 0 < αi < C, en se basant sur les formules suivantes : N ∑ y α K (x , x i i i sv ) + b = y sv (4.38) i =1 N ⇒ b = y sv − ∑ y α k(x , x i i i sv ) (4.39) i =1 Et en utilisant une fonction kernel. L’avantage d’utiliser une telle fonction noyau est qu’elle permet implicitement d’effectuer la projection dans l’espace de re-description sans avoir besoin de connaître explicitement le mapping ϕ. En faisant après la moyenne des biais CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 121 __________________________________________________________________________________________ associés à tous les vecteurs de support, on trouve le biais moyen, qui nous permet à l’aide de la formule suivante, de déterminer la classe d’une nouvelle donnée. N y ( x) = sign( ∑ y α K ( x , x ) + b) i i i (4.40) i =1 ___________________________________________________________________________ Algorithme 4.2 ___________________________________________________________________________ - Entré : Les différentes vidéos de la base de donnés. • Résolution du problème d’optimisation quadratique • Calcul des biais pour les vecteurs de supports bornés - Sortie : les classes des données. ___________________________________________________________________________ La fonction de décision obtenue varie selon le paramètre du kernel et la largeur de bande C. La valeur de C a essentiellement une influence sur la régularité de la frontière. En particulier on accordera davantage d’importance à la marge en utilisant un C petit. La structure de notre filtre des scènes vidéo pour adultes est montrée sur le schéma de la figure 4.8. Figure 4. 8. La structure du filtre des scènes vidéo pour adulte cas des SVM CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 122 __________________________________________________________________________________________ SVM prend le vecteur de dispositif comme entrée et retourne un nombre 1 ou -1 pour décider la présence ou l’absence d’une scène pour adultes. Il faut tout d’abord définir le critère d’erreur à utiliser par le système. En effet, c’est sur cette contrainte que nous pouvons décidé si une valeur d’un paramètre est plus ou moins efficace qu’une autre. Vu le type de problème auquel nous nous sommes confrontés, il nous a semblé logique de prendre pour critère d’erreur le nombre de vidéos mal classées (adultes et non adultes confondus), par rapport à leur nombre total. Etant donné la durée importante de calcul nous avons réalisé 100 vidéos différentes, chacun composés d’un ensemble d’apprentissage, et d’un ensemble de test. Toutefois, la validation croisée reste relativement lourde en temps de calcul à cause de sa dimension des données à manipuler. Nous avons appliqué la Méthode de validation croisée afin de déterminer le paramètre C optimal pour chaque kernel (Linéaire, polynomiale, RBF). Le paramètre C permet d'agir sur la frontière de décision estimée. C'est pourquoi, nous avons cherché à déterminer le meilleur paramètre C (ie celui minimisant l'erreur) par une méthode de validation croisée. Ce qui nous a permis d’agir sur les options des noyaux afin d’en modifier la forme de la frontière et obtenir ainsi la meilleure classification possible. • Noyau linéaire Dans le but de gagner en rapidité du système, nous avons réalisé les mesures en effectuant des tests sur 100 vidéos différentes et en faisant la moyenne des résultats. Nous nous sommes rendu compte que dans la zone où les paramètres se montraient bien dimensionnés, la performance de notre SVM dépendait plus de l’ensemble choisi que des valeurs des paramètres. La figure 4.9 montre le résultat d’un calcul d’optimisation du paramètre C pour une série de 100 vidéos. N’ayant à priori aucune idée quant à la plage de valeurs à utiliser pour C, nous avons commencé par réaliser un test très large, en testant des valeurs de C allant de 1 à 100. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 123 __________________________________________________________________________________________ Figure 4. 9. Noyau linéaire, moyenne sur 130 vidéos pour C = 1 à100 Les résultats étant particulièrement intéressants dans la zone allant de C=2 à C=5, nous avons fait des tests plus précis dans cette zone (Figure 4.10) pour finalement garder 3 comme valeur optimale du paramètre C pour le noyau linéaire. Avec à peu prés 91.14% des vidéos classées correctement. Figure 4.10. Noyau linéaire, moyenne sur 130 vidéos pour C = 2 à 5 • Noyau gaussien (RBF) Pour ce noyau, les choses se compliquent un peu. En effet, deux paramètres doivent être optimisés : C et σ. En pratique, nous avons pris C=3 (valeur optimale pour le noyau linéaire) et nous avons cherché la plage utile du paramètre σ (Figure 4.11). Nous avons ensuite pris la meilleure valeur de σ=2.7. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 124 __________________________________________________________________________________________ Figure 4.11. Noyau gaussien, moyenne sur 130 vidéos pour C = 3 et σ=0.1 à 100 Nous avons recommencé l’optimisation du paramètre C comme dans le cas du noyau linéaire. La Figure 4.12 présente les résultats pour C allant de 1 à 100, puis pour C allant de 3 à 10. Avec à peu prés 97% des vidéos classées correctement, c’est pour C=4.9 que nous obtenons les meilleurs résultats. Figure 4.12. Noyau gaussien, moyenne sur 130 vidéos pour σ= 2.5 et C=1 à 100 puis de 3 à 10 Nous sommes ensuite passés à l’optimisation du paramètre σ en testant d’abord de 0.1 à 100, puis de 0.1 à 5 (Figure 4.13), pour finalement trouver 2.7 comme valeur optimale du paramètre σ pour C=4.9. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 125 __________________________________________________________________________________________ Figure 4.13. Noyau gaussien, moyenne sur 130 vidéos pour C = 4.9 et σ= 0.1 à 100 et de 0.1 à 5 • Noyau polynomial C’est la même chose que pour le noyau gaussien, on a deux paramètres qui doivent être optimisés : C et le degré d du polynôme. En pratique, nous avons pris C=3 (valeur optimale pour le noyau linéaire) et nous avons cherché la plage utile du degré d (figure 4.14). Figure 4.14. Noyau polynomiale, moyenne sur 130 vidéos pour C = 3 et d=0.1 à 100 Nous avons ensuite pris la meilleure valeur de d=1.5 et nous avons recommencé l’optimisation du paramètre C. La figure 4.15 présente les résultats pour C allant de 1 à 100, puis pour C allant de 3 à 10. Avec 91.12% des vidéos classées correctement, c’est pour C=3 que nous obtenons les meilleurs résultats. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 126 __________________________________________________________________________________________ Figure 4.15. Noyau polynomial, pour d = 1.5 et C=1 à 100 puis de 3 à 5 D’après la figure 4.14 on remarque que les résultats étant particulièrement intéressants dans la zone allant de d=0.1 à d=5, nous avons fait des tests plus précis dans cette zone (Figure 4.16). Figure 4.16. Noyau polynomial, moyenne sur 130 vidéos pour C = 3 et d =0.1 à 5 On a finalement gardé 2.5 comme valeur optimale du paramètre d pour le noyau polynomiale. 4.3.5.7 Comparaison des performances entre les noyaux SVM Dans cette section, nous présentons une comparaison entre les différents noyaux SVM. La figure 4.17 montre cette comparaison. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 127 __________________________________________________________________________________________ Figure 4. 17. Les courbes ROC pour les différents kernels utilisés à identifier les scènes vidéo adultes Pour une fausse alarme fixée FP = 0,4 le taux de bonne détection a été donnée par le noyau gaussien (97%) alors que le score le plus bas est obtenu par le noyau linéaire (76%). 4.4 Evaluation de la classification Dans cette section, On va faire une comparaison entre l’algorithme SVM avec un Kernel gaussien pour C=4.9 et σ=2.5, et les réseaux de neurones avec une fonction d’activation tangente hyperbolique. Pour ce faire nous avons utilisé des donnés synthétiques et réelles [65] pour les validations pratiques. Dans les deux cas, nous avons pu constater une qualité des résultats supérieurs aux méthodes existantes. Dans le cadre de nos travaux nous avons utilisé le taux de bonne reconnaissance comme critère d’évaluation. • Cas des images synthétiques: Les images synthétiques utilisées ne contiennent pas de bruit afin de vérifier le bon fonctionnement de notre filtre et de simplifier son analyse. L’illustration de la figure 4.18 démontre la capacité du filtre à trouver les images adultes des autres images. Les résultats obtenus avec les images synthétiques démontrent la fonctionnalité de notre filtre aux différents niveaux de difficulté rencontrés. Notre filtre est en mesure de faire une très bonne reconnaissance et répond bien à la plupart des situations simulées avec les images synthétiques. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 128 __________________________________________________________________________________________ Figure 4. 18. Les courbes ROC pour ANN et SVM pour la reconnaissance des vidéos pour adultes résultat sur des images synthétiques Les résultats des courbes ROC Montrent que pour une fausse alarme fixée à FP = 0,7 le plus haut taux TP de détection a été donnée par SVM avec 98% alors que le taux bas de détection est donné par ANN. • Cas des images réels: L’évaluation des algorithmes de classification est une étape primordiale dans un système de reconnaissance. La figure 4.19 montre la comparaison entre les deux classificateurs en utilisant une base des vidéos réels. Figure 4. 19. Les courbes ROC pour ANN et SVM pour la reconnaissance des scènes vidéo pour adultes résultat sur des images réels CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 129 __________________________________________________________________________________________ Les résultats des courbes ROC Montrent que pour une fausse alarme fixée à FP = 0,7 le plus haut taux TP de détection a été donnée par SVM avec 97% alors que le taux bas de détection est donné par ANN. Le tableau ci-dessous donne le temps d’exécution et la précision des vidéos correctement classées pour ces deux algorithmes, en utilisant un processeur Intel ® Core ™ 2 Duo, Pentium IV1, Microsoft Windows Vista avec 2 Go en mémoire. Algorithmes d’apprentissage Temps d’exécution en (ms) Précision (%) SVM avec Kernel gaussien 75 97 Réseau de neurones 100 95.4 Tableau 4.4. Comparaisons entre ANN et SVM D’après ces résultats on constate que le SVM avec un Kernel gaussien de paramètre sigma égal à 2.5 permet de donner un bon pourcentage de classification avec un faible temps d’exécution. Malgré les résultats satisfaisants de ces techniques classiques du ML (Machine d’apprentissage), la plupart d’entre elles ont de grandes difficultés à traiter des données de très haute dimension. Cela s’explique par le fait, qu’en toute généralité, le nombre de paramètres à apprendre lors de l’apprentissage est exponentiel par rapport a la dimension de l’espace d’entrée. 4.5 Illustration et interprétation des résultats Nous avons effectué quelques testes sur des vidéos que nous avons téléchargé sur le Net. Les tests sont effectués sur les images des vidéos qui se présentent dans différentes couleurs et différentes orientations et échelles. Nous avons utilisé, dans le cadre de nos tests, le taux de bonne reconnaissance comme critère d’évaluation. Nous remarquons dans les figures 4. 20 et 4. 21 que les images sont reconnues correctement avec 0 fausse alerte. Les fausses alertes sont parfois dues à la couleur de l’objet qui prend la couleur de peau tel que dans la figure 4. 22 (a), cette image présente un visage et une grande tonalité de peau, il est donc reconnu comme adulte, alors que dans certaines scènes les visages ne sont pas détectés tel que dans la figure 4. 22 (b) où le visage n’a pu être détecté, cette image a été éliminée dans la phase de filtrage et donc considérée comme non adulte. CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 130 __________________________________________________________________________________________ a) Op=0,975 b) Resutat=1 c) Nbface=1 a) Op=0,924 b) Resutat=1 c) Nbface=1 Figure 4. 20. Résultats expérimentaux pour des images adultes, a) résultat du réseau de neurone, b) résultat du SVM, c) résultat de la détection du visage a) Op=0,560 b) Resutat=-1 c) Nbface=7 a) Op=0,709 b) Resutat=-1 c) Nbface=3 Figure 4. 21. Résultats expérimentaux pour des images non adulte, a) résultat du réseau de neurone, b) résultat du SVM, c) résultat de la détection du visage (a) b) Figure 4. 22.Résultats expérimentaux pour des images qui présentent des fausses détections 4.6 Conclusion Le bon fonctionnement de la phase de la classification dépend de plusieurs paramètres, en particulier la nature des données, du classificateur utilisé et du degré de généralisation de ce classificateur. Nous avons donné dans ce chapitre un aperçu des classificateurs les plus utilisés dans la littérature, à savoir les arbres de décisions, les réseaux bayésiens, les réseaux de neurones et les SVM. Il n’existe pas une règle générale pour choisir le meilleur classificateur pour une application donnée. Pour cela, le choix entre ces classificateurs se fait d’une manière empirique en utilisant les résultats de classification comme critère de performance. Ces approches de classification ont fait l’objet de notre application de reconnaissance des scènes vidéo pour adultes. Nous avons présenté une étude comparative entre les deux CHAPITRE 4. RECONNAISSANCE DES SCENES VIDEOS POUR ADULTE 131 __________________________________________________________________________________________ classificateurs ANN et SVM en termes de taux de bonne reconnaissance. La méthode SVM avec noyau gaussien est celle qui a donné les meilleurs résultats. D’autre part, nous avons montré l’impact des paramètres de ce noyau sur les performances du système de reconnaissance. CONCLUSION GENERALE ET PERSPECTIVES Le présent travail de thèse a été consacré à la reconnaissance des vidéos pour adultes. Pour ce faire, il a fallut déterminer un modèle de peau permettant d’identifier les pixels de peau dans les images constituants la vidéo. Nous avons proposé une approche d’extraction de caractéristiques pour l’élaboration d’un modèle de peau basé sur la couleur qui traduit la luminosité réfléchie par une surface de peau. Notre modèle de peau se distingue des travaux existants par sa généricité qui résulte d’une part d’une sélection de variables pertinentes des axes de couleur qui font appel notamment à la distribution spectrale de couleur, et d’autre part à des corpus significatifs de pixels de couleur traduisant la diversité de conditions de lumière et la richesse d’ethnies. L’originalité de nos travaux réside aussi dans l’utilisation conjointe d’une technique de segmentation basée sur la fusion des trois espaces de couleurs. Afin d’illustrer la robustesse et la généricité de notre approche, le modèle de peau issu de nos travaux a été utilisé avec succès dans la détection des vidéos pour adultes. L’utilisation de notre modèle de peau a permis un gain en taux de détection par rapport au modèle de peau basé sur une approche bayesienne. Ensuite, dans nos travaux, nous avons proposé l’intégration de mouvement pour l’extraction de l’arrière plan. L’utilisation de l’information de mouvement peut être un moyen simple pour mettre en œuvre une technique rapide de détection de peau dans une vidéo. Ainsi nous avons pu simplifier le problème de la détection des vidéos pour adultes en incluant la détection de visage basée sur l’hybridation de deux méthodes : la détection de couleur de peau et l’appariement du gabarit «template matching ». En effet, ceci a permis au système mis en œuvre d’analyser correctement une vidéo et de déterminer les images de celle-ci qui doivent être traitées. A partir du résultat de cette analyse le système calcule neuf descripteurs sur les régions peau détectées. Ces derniers permettent de générer la région la plus grande et de la représenter par une ellipse. Pour la phase de classification et en absence d’une règle générale pour choisir le meilleur classificateur, nous avons comparé les classificateurs les plus utilisés dans le domaine : les ANN et les SVM pour vérifier celui le plus adapté à notre cas. Nous avons vérifié lequel est le meilleur classificateur en utilisant les courbes ROC et nous avons testé différentes configurations ; en faisant varier le nombre de couches et la fonction de transfert pour les réseaux de neurones et le noyau et la valeur de pénalité C pour les SVM. Cette comparaison a montré que les SVM donnent des résultats de classification significativement meilleurs. Enfin, la chaîne optimale de reconnaissance des vidéos adultes a été obtenue en utilisant les SVM pour la décision. L’approche traditionnelle de la classification par SVM et ANN présente des limites de décision en matière de ciblage. D’autre part, nous avons vu que la fusion d’information peut apporter une solution intéressante pour la résolution de tels problèmes et particulièrement grâce à sa facilité de mise en œuvre pour les applications de classification. Ce qui nous amène à proposer les perspectives suivantes. Perspectives Il est clair qu’il existe une continuité logique de ce travail, car les différentes limites, évoquées dans le manuscrit, engendrent de nouveaux travaux de thèses. Il s’agit tout d’abord d’approfondir les connaissances liées au système de détection des vidéos pour recenser d’autres informations qui peuvent améliorer les performances du système de reconnaissance. Par exemple, la fusion des résultats de classification. Cette dernière, peut assurer une reconnaissance efficace et robuste, et cela même dans des situations très complexes. Il serait toutefois important d’intégrer l’information son et utiliser une nouvelle méthode de reconnaissance qui propose de détecter des séquences vidéo pour adultes. Une autre information généralement associée aux documents vidéo est le texte. Ainsi, nous pouvons inclure cette information pour la reconnaissance des vidéos pour adulte. Enfin, la méthodologie développée dans le cadre de ce travail peut être adaptée à d’autres problématiques dans le domaine médical notamment la reconnaissance des tumeurs de sein. ________________________________________________________________________ PUBLICATIONS Journaux internationaux 1. H.BOUIROUGA, S.ELFKIHI, A. JILBAB, D. ABOUTAJDINE, "Comparison of performance between different SVM kernels for the identification of adult video", World Academy of Science, Engineering and Technology, Issue 53, May 2011. http://www.waset.org/journals/waset/v77/v77-23.pdf 2. H. BOUIROUGA, S.ELFKIHI,A. JILBAB, D. ABOUTAJDINE, "Skin Detection in pornographic Videos using Threshold Technique", International Journal of Theoretical and Applied Information Technology, pp 007 – 019,Vol 35 Issue 1, 15th January 2011. http://www.jatit.org/volumes/Vol35No1/2Vol35No1.pdf 3. H. BOUIROUGA, S.ELFKIHI,A. JILBAB, D. ABOUTAJDINE, " Robust Identification of Adult Video based on Face and Skin Detection ", International Journal on Graphics, Vision and Image Processing 2011. http://icgst.com/paper.aspx?pid=P1151132682 Conférences Internationales et nationales (avec comité de lecture et acte) 1. H. BOUIROUGA, A. JILBAB, D. ABOUTAJDINE,"Reconnaissance des scènes vidéo adultes", 22-26 March 2009, SETIT, Hammamet TUNISIE. http://www.setit.rnu.tn/last_edition/setit2009/Image%20and%20Video/60.pdf 2. H. BOUIROUGA, A. JILBAB, D. ABOUTAJDINE,"Détection des scènes vidéo adultes par méthode hybride basée sur la couleur de la peau",8-11, GRETSI, Septembre 2009, Dijon FRANCE. http://documents.irevues.inist.fr/handle/2042/29189 3. H.BOUIROUGA, S.ELFKIHI, A. JILBAB, D. ABOUTAJDINE, "A comparison of Skin Detection Techniques for Objectionable Videos", 30 September, 1-2 Octobre 2010, ISIVC, Rabat MOROCCO. http://ieeexplore.ieee.org/Xplore/login.jsp?url=http%3A%2F%2Fieeexplore.ieee.org% 2Fiel5%2F5637455%2F5654712%2F05656278.pdf%3Farnumber%3D5656278&auth Decision=-203 4. H. BOUIROUGA, S.ELFKIHI,A. JILBAB, D. ABOUTAJDINE, "Recognition of Adult Video by combining skin detection features with motion information", 07-09 April 2011, ICMCS, Ourzazat MOROCCO. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5945570 5. H.BOUIROUGA, S.ELFKIHI, A. JILBAB, D. ABOUTAJDINE, "Comparison of performance between different SVM kernels for the identification of adult video " 2426 juin 2011 , ICCVISP, Paris FRANCE. http://www.waset.org/journals/waset/v53.php PUBLICATIONS 135 __________________________________________________________________________________ 6. H. BOUIROUGA, S.ELFKIHI,A. JILBAB, D. ABOUTAJDINE, "Utilisation des Support vecteur machine pour le blocage des scènes vidéo adultes", 7-9 Juillet 2011, JDITIC Tanger , MOROCOO. http://ensat.uae.ma/JDTIC2011/session.htm#session_Posters 7. H.BOUIROUGA, S.ELFKIHI, A. JILBAB, D. ABOUTAJDINE, "Utilisation des réseaux de neurones dans le blocages des scènes vidéos adultes ", 15-17 Juillet 2010, JDITIC, Fes MAROC. 8. H. BOUIROUGA, S.ELFKIHI, A. JILBAB, D. ABOUTAJDINE, "Comparison of Artificial Neural Network and Support Vector Machine Systems for adult and non adult Video Classification", 13-15 October 2011, WOTIC, Casablanca, MOROCOO. http://wotic11-ensem.net/files/program.pdf 9. H. BOUIROUGA, S.ELFKIHI,A. JILBAB, D. ABOUTAJDINE, "A novel method to identify Adult Video based on Face and Skin detection",19-21 Decembre, CSE-11 Istanbul, TURKEY. http://icgst.com/paper.aspx?pid=P1151132682 10. H. BOUIROUGA, S.ELFKIHI, A. JILBAB, D. ABOUTAJDINE, "Comparison of different activation functions in neural network for adult video recognition", 15-18 October, IPTA-2012 Istanbul, TURKEY. 11. H. BOUIROUGA, S.ELFKIHI, A. JILBAB, D. ABOUTAJDINE, " Neural network adult videos recognition using jointly face shape and skin feature extraction", 5-6 November, ICCS-2012 Agadir, MOROCOO (en cours). Conférences nationales (sans comité de lecture et acte) 1. H. BOUIROUGA, S.ELFKIHI,A. JILBAB, D. ABOUTAJDINE, "Reconnaissance des scènes vidéos adultes",25-26 Avril, JDLRIT-08 Rabat, MOROCOO. http://www.fsr.ac.ma/UFRIT/JDLRIT08/programme.htm ________________________________________________________________________ BIBLIOGRAPHIE [1] R.O. Duda, P.E. Hart, and D.G. Stork, "Pattern Classification", International Journal of Classification, Vol. 24 Issue 2, September 2007. [2] Fleck, M., Forsyth, D.A., Bregler, C., "Finding Naked People", Proceedings of the 4th European Conference on Computer Vision, pp. 593-602, April 1996. [3] Duan L., Cui G., Gao W., and Zhang H., "Adult Image Detection Method Base-on Skin Color Model and Support Vector Machine", Proceedings of the 5th Asian Conference on Computer Vision, pp. 780-797, Jan 2002. [4] Rowley H. A., Jing Y., Baluja S., "Large Scale Image-Based Adult-Content Filtering", Proceedings of the 1st International Conference on Computer Vision Theory, pp. 290296, February 2006. [5] Yoo S.J., "Intelligent Multimedia Information Retrieval for Identifying and Rating Adult Images", Proceedings of the 8th International Conference on Knowledge-Based Intelligent Information & Engineering Systems, pp. 164-170, September 2004. [6] H. Lee, S. Lee, and T. Nam. "Implementation of High Performance Objectionable Video Classification System", Proceedings of the 8th International Conference on Advanced Communication Technology, pp. 959-962, February 2006. [7] N. Rea, G. Lacey, C. Lambe, and R. Dahyot. "Multimodal Periodicity Analysis for Illicit Content Detection in Videos". Proceedings of the CVMP, pp. 106-114, February 2006. [8] X. Tong, L. Duan, C. Xu, Q. Tian, Hanqing L., J. Wang, and J. Jin. "Periodicity Detection of Local Motion". Proceedings of the 3th IEEE International Conference on Multimedia and Expo, pp. 650-653, July 2005. [9] H. BOUIROUGA, A. JILBAB, D. ABOUTAJDINE,"Détection des scènes vidéo adultes par méthode hybride basée sur la couleur de la peau", Proceedings of the 22th International Conference sur le Traitement du Signal et des Images , pp. 5609-5628, Septembre 2009. [10] H.BOUIROUGA, S.ELFKIHI, A. JILBAB, D. ABOUTAJDINE, "Comparison of performance between different SVM kernels for the identification of adult video , International Journal of Science, Engineering and Technology, Vol. 77 Issue 53, May 2011. [11] H. BOUIROUGA, S.ELFKIHI,A. JILBAB, D. ABOUTAJDINE, "Recognition of Adult Video by combining skin detection features with motion information", Proceedings of the 2th International Conference on Multimedia Computing and Systems, pp. 1-5, April 2011. BIBLIOGRAPHIE 138 _________________________________________________________________________________ [12] Smeulders, A.W.M., M. Worring, S. Santini, A. Gupta and R. Jain. "Content-based image retrieval at the end of the early years". IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, pp.1349-1380, December 2000. [13] Cees G.M. Snoek, Marcel Worring, Jan-Mark Geusebroek, Dennis C. Koelma, Frank J. Seinstra, and Arnold W.M. Smeulders. "The semantic pathfinder for generic news video indexing". Proceedings of the IEEE International Conference on Multimedia and Expo, July 2006. [14] Mbarek CHARHAD, "Modèles de Documents Vidéo basés Sur le Formalisme des Graphes Conceptuels pour l’Indexation et la Recherche par Le Contenu Sémantique", Ph.D. Thesis,Université Joseph Fourier, Novembre 2005. [15] Lire de la vidéo numérique. Le point sur les formats de vidéo numérique et de disque, http://www.planetenumerique.com/Lire-de-la-video-numerique-pour.html, 2002. [16] H. Ueda, T. Miyatake, and S. Yoshizawa, "An interactive naturalmotion- picture dedicated multimedia authoring system", Proceedings of the SIGCHI conference on Human factors in computing systems, pp. 343-350, May1991. [17] Z. Yueting, R. Yong, T-S. Huang, and S. Mehrotra, "Adaptive key frame extraction using unsupervised clustering", Proceedings of the IEEE International Conference on Image Processing, pp. 866-870, Oct 1998. [18] V. Kobla, D-S. Doermann, K-I. Lin, and C. Faloutsos. "Compressed domain video indexing techniques using DCT and motion vector information in MPEG video", Proceedings of SPIE conference on Storage and Retrieval for Image and Video Databases, pp. 200-211, February 1997. [19] T. Liu, H-J. Zhang, and F. Qi, "A novel video key-frame extraction algorithm based on perceived motion energy model", IEEE Transactions on Circuits and Systems for Video Technology, pp. 1006-1013, October 2003. [20] F. Souvannavong, " Indexation et recherche de plans vidéo par le contenu sémantique", Ph.D. Thesis, Institut Eurécom, June 2005. [21] J. R. Smith and S.-F. Chang, "Querying by color regions using the VisualSEEk contentbased visual query system", Proceedings of IJCAI conference on Intelligent Multimedia Information Retrieval, pp. 159–173, August 1996. [22] Joo-Hwee Lim, "Building visual vocabulary for image indexation and query formulation". International Journal of Pattern Analysis and Applications,Vol. 4, March 2001. [23] Mourad Mechkour, Catherine Berrut, and Yves Chiaramella, "Using conceptual graph framework for image retrieval", Proceedings of MMM International conference on MultiMedia Modeling, novembre 1995. BIBLIOGRAPHIE 139 _________________________________________________________________________________ [24] M. Vissac and J-L. Dugelay, "Un panorama sur l'indexation d'images fixes", Journal d'automatique, d'informatique et de traitement du signal, Vol. 3, Mars 2000. [25] Sébastien LEFEVRE, "Détection des événements dans des séquences vidéo", Ph.D. Thesis, décembre 2002. [26] M. Yeung and B-L. Yeo, "Time-constrained clustering for segmentation of video into story unites", Proceedings of the IEEE International Conference on Pattern Recognition, pp.375-380, June 1996. [27] A. Hanjalic, R-L. Lagendijk, and J. Biemond, "Automated high-level movie segmentation for advanced video-retrieval systems". IEEE Transactions on Circuits and Systems for Video Technology, pp.580-588, Jun 1999. [28] Cees G.M. Snoek and Marcel Worring, "Multimodal video indexing: A review of the state-of-the-art", Proceedings of ISIS International conference on Technical Report Series, December 2001. [29] Milind R. Naphade and John R. Smith, "the detection of semantic concepts at trecvid", Proceedings of the 12th annual ACM international conference on Multimedia, July 2004. [30] A. Torralba, K. Murphy, and W. Freeman, "Contextual models for object detection using boosted random fields", Proceedings of Advances in Neural Info Processing Systems, 2004. [31] P. Felzenszwalb and D. Huttenlocher, "Efficiently computing a good segmentation", Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 98-104, 1998. [32] Jean-Christophe Terrillon, M. N. Shirazi, H. Fukamachi, et S. Akamatsu, "Comparative performance of different skin chrominance models and chrominance spaces for the automatic detection of human faces in color images", Proceedings of the 4th International Conference On Automatic Face and gesture Recognition, pp. 54-61, 2000. [33] H. Zheng, M.Daoudi, et B. Jedynak, "Blocking adult images based on statistical skin detection", International Journal of Electronic Letters on Computer Vision and Image Analysis, Vol.4 pp: 1–14, Décembre 2004. [34] S. El Fkih, M. Daoudi,D. Aboutajdine, "Un algorithme basé sur les meilleurs arbres de dépendances pour la détection de la peau dans les images couleurs", Proceedings of the 12th journée d’études et d’échancre compression et représentation des signaux audiovisuels, Novembre 2007. [35] VLADIMIR VEZNEVETS, "A Survey on Pixel-Based Skin Color Detection Techniques", Ph.D. Thesis, Faculty of Computational Mathematics and Cybernetics Moscow State University, Moscow, 2005. BIBLIOGRAPHIE 140 _________________________________________________________________________________ [36] Daoudi, I, "Recherche par similarité dans les bases de données multimédia : application à la recherche par le contenu d’images". Ph.D. Thesis, Faculty Mohammed V- Agdal, Rabat, 2009. [37] Swain, M. et Ballard, D, "Color indexing", International Journal of Computer Vision, Vol. 1 pp:1 – 13,1991. [38] B-S. Manjunath, P. Salembier, and T. Sikora, "Introduction to MPEG-7: Multimedia content description interface", John Wiley and Sons, Jun 2002. [39] H. BOUIROUGA, A. JILBAB, D. ABOUTAJDINE,"Reconnaissance des scènes vidéo adultes", Mémoire de fin d’études, Novembre 2007. [40] Harry L. Van Trees, "Detection, Estimation, and Modulation Theory", Wiley, September 1968. [41] M. J. Jones and J. M. Rehg, "Statistical color models with application to skin detection", International Journal of Computer Vision, Vol.46, pp. 81-96, January 2002. [42] JAVIER RUIZ-DEL-SOLAR AND RODRIGO VERSCHAE, "Skin Detection using Neighborhood Information", Proceedings of the 6th IEEE international conference on Automatic face and gesture recognition, 2004. [43] A. Nagasaka et Y. Tanaka, "Automatic video indexing and full-video search for object appearances", Proceedings of the IFIP Working Conference on Visual Database Systems, pp. 113–127, Octobre 1991. [44] D. Swanberg, C.F. Shu, et R. Jain, "Knowledge guided parsing and retrieval in video databases", Proceedings of the SPIE Conference on Storage and Retrieval for Image and Video Databases, pp.13–24, Février 1993. [45] A. Elgammal, D. Harwood and L. Davis, "Non-parametric model for background subtraction", Proceedings of the European Conference on Computer Vision, pp. 751– 767, 2000. [46] Rayan cassel, "Analyse du mouvement humain par un système de vision", Ph.D. Thesis, novembre 2005. [47] A. lemieux, "Système d’identification de personnes par Vision numérique", Ph.D. Thesis, Décembre 2003. [48] H. Chang and U. Robles, "Face Detection", Proceedings of the ICMWI, International Conference on Machine and Web Intelligence, May 25,2000 [49] G. Heusch, "Détection automatique de visages dans une séquence vidéo", Proceedings of the SSC, Février 2002. [50] M.M. Fleck, D.A. Forsyth, C. Bregler, "Finding naked People", Proceedings of the European Conference on Computer Vision, pp 2:593.602, 1996. BIBLIOGRAPHIE 141 _________________________________________________________________________________ [51] Huicheng Zheng, "Détection des images adultes Maximum entropy modeling for skin detection with an application to Internet filtering", Ph.D. Thesis, 2004. [52] H. BOUIROUGA, S.ELFKIHI,A. JILBAB, D. ABOUTAJDINE, "A novel method to identify Adult Video based on Face and Skin detection", Proceedings of the CSE, December 2011. [53] Tahir, N. M., Hussain, A., Samad, A. A. et Hussin, H. (2010), "On the use of decision tree for posture recognition", Proceedings of the International Conference on intelligent systems, modeling and simulation, pp 209 – 214, 2010. [54] Quinlan, R,"Discovery rules by induction from large collections of examples", Expert Systems in the Microelectronic age, pp 168 – 201, 1979. [55] Quinlan, R, "Bagging, boosting, and c4.5", Proceedings of the 3th National Conference on Artificial Intelligence, 1996. [56] APSTAT, "Introduction aux réseaux de neurones". [57] H. A. Rowley, S. Baluja, et T. Kanade, "Neural Network Detection", IEEE Trans, Pattern Anal, January 1998. [58] Nello Cristianini and John Shawe-Taylor, "An Introduction to Support Vector Machines and Other Kernel-based Learning Methods", Proceedings of the International Conference on intelligent systems, modeling and simulation, 2004. [59] Steve R. Gunn, "Support Vector Machines for Classification and Regression", Ph.D. Thesis, Faculty of Southampton. [60] Fabien Moutarde, "Brève introduction aux Support Vector Machines", Ph.D. Thesis, Faculty of PARIS. [61] Lotfi KHODJA, "Contribution à la Classification Floue non Supervisée", Ph.D. Thesis, Faculty of SAVOIE. [62] Abdeilah JILBAB, "Filtrage de sites illicites sur Internet : contribution à la reconnaissance du type d’images basée sur le principe du maximum d’entropie", Ph.D. Thesis, Faculty of Rabat, Morocco 2009. [63] Sanaa Elfkihi, "Modèles probabilistes indéxé par les arbres : Application à la détection de la peau dans les images couleur", Ph.D. Thesis, Faculty of Rabat, Morocco 2008. [64] P. Y. Lee, S. C. Hui, A. C. M. Fong, Neural Networks for Web Content Filtering, IEEE Intelligent Systems, pp. 48-57, Sept/oct, 2002. [65] http://www.di.ens.fr/~laptev/actions/hollywood2/ http://www.lorisbazzani.info/code-datasets/rbm-tracking/ [66] http://www.yangsky.com/products/porndel/htm/BodyDataWhitepaper2009_07_02.pdf [67] http://see.xidian.edu.cn/vipsl/database_Face.html#top