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