REPUBLIQUE TUNISIENNE
**********
MINISTERE DE L'ENSEIGNEMENT
SUPERIEUR DE LA RECHERCHE
SCIENTIFIQUE ET DE LA TECHNOLOGIE
UNIVERSITE DE GABES
**********
INSTITUT SUPÉRIEUR D'INFORMATIQUE ET DE
MULTIMÉDIA DE GABES
N° D'ORDRE : MRI12/2008
ÈÔ
MEMOIRE DE MASTERE
Pour l'obtention du
DIPLÔME DE MASTERE EN INFORMATIQUE
Apprentissage des réseaux d'ondelettes
Bêta basé sur la théorie des frames :
Application à la détection de
visages
Sujet
Réalisé par
Faouzi HAJJEM
Sous la direction de
M. Mourad ZAIED
&
M. Chokri BEN AMAR
Soutenu publiquement le 13 Novembre 2008 devant le
jury
Président
Rapporteur
Encadreur
Encadreur
M. Ridha BENABDENNOUR
M. Khaled HASSINE
M. Mourad ZAIED
M. Chokri BEN AMAR
ANNEE UNIVERSITAIRE 2007/2008
Dédicaces
Je dédie ce modeste travail à tous ceux qui
me sont chers :
A ma très chère mère
Aïcha, pour son immense amour, pour sa patience dont
elle a fait preuve à mon égard, son soutien moral, ses conseils
précieux et les sacrifices qu'elle a toujours consentis.
A mon cher frère Moez,
Pour tous les encouragements qu'il a sus prononcer aux moments
difficiles.
A mes adorables soeurs Rebh, Gamra et
Samira.
A tous les membres de ma grande
famille.
A tous mes amis, pour
leurs encouragements et leurs aides considérables.
Que ce mémoire soit l'expression de mon profond
respect et mon grand amour.
Faouzi
Remerciements
Mes agréables gratitudes à tous ceux qui ont
contribué à la réalisation de ce travail.
J'adresse mes vifs remerciements à Monsieur
Mourad ZAIED, Assistant à l'ENIG, pour avoir accepté de
m'encadrer dans ce mémoire de mastère, pour sa
disponibilité et ses précieux conseils qui m'ont beaucoup
guidé pour l'accomplissement de ce mémoire et pour son
encouragement continu.
Je tiens à remercier plus particulièrement
Monsieur Chokri BEN AMAR, maître de conférences
à l'ENIS et membre du laboratoire REGIM, pour avoir accepté de
m'encadrer et de m'intégrer dans son équipe de recherche, pour
ses conseils et ses remarques pertinentes.
Je remercie également Monsieur Mohamed Adel
ALIMI, Professeur à l'ENIS et responsable du laboratoire REGIM,
pour avoir bien voulu m'accepter membre dans son laboratoire de
recherche.
Que tous mes sincères remerciements soient
adressés à la direction de l'ISG Gabès et tous mes
collègues et amis, en particulier Mme Salwa Saïd, pour son aide et
son encouragement.
Enfin, J'exprime toute ma reconnaissance et ma haute
considération aux membres du jury qui ont bien voulu me faire l'honneur
de juger ce travail.
Faouzi
Liste des figures
Figure
1.1 : Exemple d'images comportant un seul visage 13
Figure 1.2 : Exemple d'images comportant plusieurs visages
14
Figure 1.3 : Modèle géométrique du visage
16
Figure 1.4 : Exemple de la détection de visages de
Schneiderman and Kanade 20
Figure 1.5 : Le système de Rowley et al. (IEEE1998)
21
Figure 1.6 : L'architecture proposée par I.
Boaventura et al 23
Figure 2.1 : Quelques exemples d'ondelettes 1D 29
Figure 2.2 : Exemple d'une ondelette dilatée et
translatée 30
Figure 2.3 : Exemple d'une ondelette 2D 30
Figure 2.4 : Structure d'un neurone 34
Figure 2.5 : La synapse d'un neurone 34
Figure 2.6 : Perceptron Multicouches à une couche
cachée 36
Figure 2.7 : Un réseau à fonction radiale de base
38
Figure 2.8 : Modèle1 de réseaux d'ondelettes
40
Figure 2.9 : Modèle2 de réseaux d'ondelettes
41
Figure 3.1 : Exemple de l'ondelette Bêta2D 47
Figure 3.2 : Exemples de la dérivée
première de l'ondelette Bêta1D 48
Figure 3.3 : Exemples de la dérivée seconde
de l'ondelette Bêta1D 48
Figure 3.4 : L'ondelette Bêta2D et le
filtre associé 49
Figure 3.5 : Exemples de la dérivée
1ére & 2éme de l'ondelette Bêta2D
49
Figure 3.6 : Représentation des bases orthogonale,
biorthogonale et frame 51
Figure 3.7 : Les sept premières ondelettes de la
bibliothèque et un signal à analyser 52
Figure 3.8 : Architecture de l'approche proposée 56
Figure 3.9 : Modèle illustrant la démarche
d'apprentissage adoptée 58
Figure 3.10: Modèle illustrant la démarche de
détection adoptée 61
Figure 4.1: Interface de l'application de détection de
visages développée 64
Figure 4.2: Interface d'insertion d'une nouvelle image de test
65
Figure 4.3: Interface d'ajustement des paramètres de la
détection 65
Figure 4.4: Interface représentant le menu d'aide 65
Figure 4.5: Exemples d'images d'apprentissage de la classe
Visage 66
Figure 4.6: Exemples d'images d'apprentissage de la classe
Non-Visage 67
Figure 4.7: Application de détection de visages sur une
image à un seul visage 67
Figure 4.8: Exemples de détection dans une image
contenant un seul visage 68
Figure 4.9: Exemples de détection dans une image
contenant plusieurs visages 69
Liste des tableaux
Tableau 4.1: Les valeurs du PSNR de la classe Visage et de la
classe Non-Visage 67
Tableau 4.2 : Calcul de performances de l'approche
proposée 70
Tableau 4.3 : Calcul de performances en fonction du PSNR
71
Abréviations
v Bêta1D : Ondelette Bêta
unidimensionnelle
v Bêta2D : Ondelette Bêta
bidimensionnelle
v DE : Distance Euclidienne
v DFFS : Distance From Face Space
v EQM : Erreur Quadratique Moyenne
v HMM : Hidden Markov Model
v HSV : Hue Saturation Value
v IHM: Interface Homme Machine
v K-PPV : K- Plus Proches Voisins
v NRGB (RVBN) : Normal Red Green Blue
v PCA : Principal Components Analysis
v PDBNN: Probabilistic Decision Based Neural
Networks
v PMC: Perceptron MultiCouche
v PSNR : Peak Signal Noise Ratio
v RBF : Radial Basis Function
v RGB(RVB) : Red Green Blue (Rouge Vert
Bleu)
v SVM: Support Vector Machine
v TF : Transformée de Fourier
v TSL : Tint Saturation Luminance
Table des matières
INTRODUCTION GÉNÉRALE 10
CHAPITRE 1 : LA DÉTECTION DE VISAGES
12
Introduction 13
I. Le principe de la détection de visages
13
II. Approches et méthodes de détection de
visages 15
1. Les Méthodes basées sur les
caractéristiques du visage 15
a. Approches basées sur la
géométrie de visages 16
b. Approches basées sur la couleur de la peau
16
c. Approches basées sur la connaissance
généralisée 17
2. Les Méthodes Globales 18
a. Approche PCA ou Les Visages Propres
18
b. Approches Probabilistes (approches statistiques)
19
c. Approches basées sur les réseaux de
neurones 21
3. Les Méthodes Hybrides 22
Conclusion 23
CHAPITRE 2 : INTRODUCTION AUX RÉSEAUX
D'ONDELETTES 24
Introduction 25
I. L'analyse de Fourier 25
II. L'analyse par ondelettes 27
1. Définition des ondelettes 27
2. Les principales caractéristiques d'une
ondelette mère 28
a. L'admissibilité 28
b. La localisation 28
c. L'oscillation 29
d. La translation et la dilatation 29
3. Présentation des ondelettes
multidimensionnelles 30
4. La transformée en ondelettes 31
a. La transformée en ondelettes continues
31
b. La transformée en ondelettes discrètes
32
c. Les avantages de la transformée en ondelettes
32
III. Les réseaux de neurones 33
1. Fondements biologiques des neurones 33
a. La structure d'un neurone 33
b. Principe de Fonctionnement des neurones
34
2. Les réseaux de neurones artificiels
35
3. Exemples de réseaux de neurones artificiels
36
a. Le perceptron multicouche (PMC) 35
b. Le réseau à Fonction Radiale de Base
(RBF) 37
IV. Les réseaux d'ondelettes 38
1. Architectures des réseaux d'ondelettes
39
a. Modèle1 de réseaux d'ondelettes
39
b. Modèle2 de réseaux d'ondelettes
40
2. Comparaison des réseaux d'ondelettes aux
réseaux de neurones 41
3. Techniques de construction des réseaux
d'ondelettes 42
a. Technique fondée sur l'analyse
fréquentielle 42
b. Technique fondée sur la théorie des
ondelettes orthogonales 42
c. Réseaux d'ondelettes pour un système
adaptatif 43
d. Technique fondée sur la construction de
frames 43
4. Domaines d'application des réseaux
d'ondelettes 43
Conclusion 44
CHAPITRE 3 : APPROCHE PROPOSÉE POUR LA
DÉTECTION DE VISAGES PAR RÉSEAUX D'ONDELETTES BÊTA
45
Introduction 46
I. Etude de l'ondelette Bêta 46
1. Présentation de l'ondelette Bêta
46
a. L'ondelette Bêta1D 46
b. Propriétés de base de la fonction
Bêta 46
c. L'ondelette Bêta2D 48
2. Les frames 50
II. Principe de l'apprentissage des réseaux
d'ondelettes 52
1. Construction d'une bibliothèque d'ondelettes
pour le réseau 52
2. Optimisation du réseau 53
a. Calcul direct des poids 53
b. Algorithme d'optimisation 54
3. Apprentissage des réseaux d'ondelettes 2D
55
III. Approche proposée pour la détection de
visages 56
1. Architecture des réseaux d'ondelettes
Bêta2D utilisée 56
2. Démarche d'apprentissage basé sur la
théorie des frames 57
3. Démarche de détection de visages par
réseaux d'ondelettes Bêta2D 58
Conclusion 61
CHAPITRE 4 : EXPERIMENTATION & RÉSULTATS
62
Introduction 63
I. Implémentation des réseaux
d'ondelettes Bêta 63
1. Application 63
2. Résultats expérimentaux 66
a. L'apprentissage 66
b. La détection 68
II. Mesure des performances 69
1. Critères de performance 69
a. Taux de détection 69
b. Taux de mauvaise détection 69
2. Evaluation des résultats 70
a. Calcul de performances de l'approche proposée
70
b. Calcul de performances de l'approche proposée
avec PSNR 71
III. Interprétation et discussion 71
Conclusion 73
CONCLUSION GÉNÉRALE & PERSPECTIVES
74
BIBLIOGRAPHIE 76
Introduction Générale
Le problème de la détection de visages a
été posé comme une étape indispensable
précédente à la reconnaissance de visages, qui fait
partie d'un problème plus vaste et très répandu : La
reconnaissance de formes (pattern recognition) dans le domaine de
l'ingénierie et particulièrement de la vision par ordinateur, car
elle permet la description et la classification de mesures.
Parmi ses applications, on peut citer la
sécurité d'accès, la télésurveillance, les
robots intelligents (auto contrôle des passagers dans les gares, auto
contrôle d'accès à des zones privées ou
dangereuses,...) et les systèmes d'Interface Homme Machine
(identification de l'utilisateur par capture d'image)...
Différentes approches ont été
proposées pour remédier le problème de détection de
visages, dont nous citons les réseaux de neurones, les méthodes
statistiques ou encore celles basées sur la géométrie de
visage.etc. D'autres approches hybrides ont combiné deux ou plusieurs
techniques afin d'améliorer les résultats atteints.
Parmi ces approches, nous trouvons les réseaux
d'ondelettes qui exploitent les avantages des réseaux de neurones et
ceux des ondelettes, issus des techniques de traitement du signal.
Dans ce contexte, nous nous intéressons dans ce
mémoire, qui comporte quatre chapitres, à l'étude des
réseaux d'ondelettes Bêta, basée sur la théorie des
frames, pour la détection de visages. De ce fait, une approche est
étudiée, implémentée et testée sous
« MATLAB ».
Le chapitre 1 est consacré pour l'état de l'art,
dans lequel nous présentons le principe de détection de visages
et effectuons un survol des différentes techniques existantes dans ce
domaine.
Le chapitre 2 est introduit par la technique d'analyse par
ondelettes et ses avantages en évoquant les limites de l'analyse de
Fourier. Nous décrivons, ensuite, les réseaux de neurones
artificiels pour finir avec une présentation des réseaux
d'ondelettes. A ce stade, une comparaison entre les réseaux d'ondelettes
et d'autres architectures neuronales est détaillée ainsi qu'une
exposition des différentes techniques de construction des réseaux
d'ondelettes et leurs domaines d'application.
Le chapitre 3 décrit l'approche proposée dans ce
mémoire. Nous commencons par une étude détaillée
des ondelettes Bêta unidimensionnelle et multidimensionnelle en
évoquant la notion des frames. Ensuite, nous décrivons les
étapes de la phase d'apprentissage par réseaux d'ondelettes
Bêta et sa démarche d'optimisation. La dernière section de
ce chapitre est réservée pour détailler notre approche de
détection de visages par réseaux d'ondelettes Bêta,
basée sur la théorie des frames, en précisant son
architecture et ses étapes.
Le chapitre 4 détaille l'implémentation de
l'approche proposée. Des expérimentations permettant de
préciser certaines propriétés des réseaux
d'ondelettes, sont analysées et interprétées. Enfin, des
tests sont appliqués, à l'aide d'un prototype, sur
différentes images et des tableaux récapitulatifs sont
dégagés suite à cette implémentation pour montrer
la contribution apportée par ce travail dans le domaine de la
détection de visages.
Enfin, ce mémoire est clôturé par une
conclusion générale sur l'approche traitée, ainsi que
quelques perspectives visant l'amélioration des résultats
obtenus.
Chapitre 1 La
détection de visages
La
détection de visages
Introduction
Le problème de la détection de visages a
été traité par plusieurs méthodes et techniques
différentes. Dans ce chapitre, Etat de l'art, nous essayons d'expliquer,
en premier, le principe de la détection de visages et les enjeux
à prendre en considération. Dans la deuxième partie, nous
faisons un survol des différents travaux effectués à ce
propos, tout en essayant d'étudier ces techniques et faire apparaitre
leurs avantages et inconvénients.
I. Le principe de la détection de
visages
La détection automatique de visages prend son
importance de point de vue qu'elle est à la base de la reconnaissance de
visages dans une image ou dans une séquence vidéo.
Le concept de base de la détection de visages serait
celui des K-PPV(K-Plus Proches Voisins), qui consiste à parcourir
l'image avec une fenêtre ( Figure 1.1, Figure 1.2), puis
à comparer chaque «imagette»1(*) extraite avec une série de visages types
et de définir un «Visage» comme étant tout
résultat dont la distance à l'une des images de la base soit
suffisamment faible (Erreur < seuil).
Partons de ce constat, il est nécessaire que la
détection de la présence ou non d'un visage dans une image soit
basée sur des éléments stables et relativement descriptifs
du visage humain et qui permettent ensuite de le reconnaître. Parmi ces
éléments, on peut citer la forme du visage, la couleur de la
peau, le contour des yeux, la forme du nez ou de la bouche...
Figure 1.1 : Exemple d'images comportant un seul
visage
Figure 1.2 : Exemple d'images comportant plusieurs
visages
Mais en considérant des tailles, des orientations, des
rotations et des éclairages différents il faudrait pouvoir
comparer chaque « imagette » extraite à des
centaines de références! Si l'on rajoute les expressions faciales
(sourires, grimaces,...), la détection de visages devient un
problème difficile à traiter et c'est pour plusieurs raisons
[5]:
· Bien que la plupart des visages soient structurellement
semblables avec des caractères morphologiques communs (yeux, bouche,
nez,...) placés selon une certaine configuration spatiale, il existe de
grandes différences entre deux visages (forme du nez, couleur des yeux,
couleur de peau,...).
· Certains caractères morphologiques peuvent
être présents ou non selon les visages comme par exemple la
moustache, la barbe, ...
· Certains caractères extérieurs peuvent
déformer des caractères morphologiques comme par exemple le
bronzage modifiant partiellement la couleur de la peau, l'âge peut
modifier les rides du visage ou la couleur des cheveux, un éventuel
accident peut laisser ses traces sur le visage, les lunettes, ...
· Un visage peut avoir des orientations et des dimensions
très différentes. Il s'y ajoute les conditions d'éclairage
et la position dans l'image où certaines zones du visage peuvent
être cachées soit par un objet soit par un autre visage.
· Les visages sont avant tout des structures 3D dans un
espace 3D, de nombreux paramètres s'ajoutent encore au problème
original : des contraintes de luminosité (dues soit à la position
de la tête, soit au type d'éclairage choisi), de couleur, d'ombres
et de rotations éventuelles de la tête, ...
· La détection de visages doit être en temps
réel surtout lorsque le résultat de la détection demande
une réaction en temps réel comme par exemple une personne
s'introduisant dans une zone très dangereuse.
Par conséquent, la détection automatique de
visages dans une image reste un domaine de recherche très vaste et
très riche en termes d'approches et techniques utilisées.
II. Approches et
méthodes de détection de visages
Des nombreuses méthodes de détection de visages
sont apparues dans les deux dernières décennies et qui se
diffèrent, aussi bien par les approches qu'elles emploient, que par les
techniques d'apprentissage qu'elles utilisent. Yang et al. classifient ces
techniques en quatre classes [3, 8]:
Ø techniques descriptives basées sur la
connaissance,
Ø techniques basées sur l'extraction de
paramètres caractéristiques invariants,
Ø techniques basées sur la superposition de
caractéristiques,
Ø techniques basées sur l'apparence.
Les techniques, basées sur l'apparence, utilisent
l'analyse statistique et l'apprentissage automatique pour construire des
machines capables de séparer les visages des non-visages. Les
réseaux de neurones, les machines à vecteurs de support (SVM),
les classificateurs Bayesiens, les modèles de Markov cachés (HMM)
sont parmi les méthodes d'apprentissage automatique les plus souvent
utilisées.
Ces méthodes peuvent être divisées en deux
catégories : les méthodes géométriques et les
méthodes globales. La performance de ces méthodes dépend
de la précision (nombre de paramètres) avec laquelle les
informations utiles du visage sont extraites.
1. Les Méthodes basées sur
les caractéristiques du visage
On les appelle aussi les méthodes à traits,
à caractéristiques locales, ou analytiques. L'analyse du visage
humain est donnée par la description individuelle de ses parties, leurs
positions et de leurs relations. Ce modèle correspond à la
manière avec laquelle l'être humain perçoit le visage,
c'est à dire, à nos notions de traits de visage et ses parties
comme les yeux, le nez et la bouche, ce qui permet de conclure la
présence ou non du visage dans l'image à analyser [6].
a.
Approches basées sur la géométrie de visages :
Les travaux réalisés se sont au début
basés contours (les années 70) [5], ensuite la plupart des
approches se sont concentrées sur l'extraction des traits du visage
à partir d'une image et sur la définition d'un modèle
adéquat pour représenter ce visage. Un certain nombre de
stratégies ont modélisé et classé les visages sur
la base de distances normalisées et angles entre points
caractéristiques : les yeux, les sourcils, la bouche, le nez,...
mais peuvent être d'un niveau de détail beaucoup plus fin.
Cette phase d'extraction des traits caractéristiques du
visage constitue l'étape clé du processus, car la performance du
système entier en dépend.
Figure 1.3 : Modèle
géométrique du visage
b. Approches
basées sur la couleur de la peau :
Dans cette approche, la couleur de peau humaine a
été employée comme un dispositif efficace pour la
détection de visage, et les applications reliées. Bien que la
couleur de peau diffère d'un individu à un autre, plusieurs
études ont prouvé que la différence principale existe dans
l'intensité plutôt que la chrominance. Plusieurs espaces de
couleur ont été employés pour marquer des pixels de peau
comprenant RVB [4, 39], NRGB (RVB normal) [4, 26], HSV [4, 18] ...
J.C. Terrillon et al. [4, 46] ont présenté une
étude comparative de plusieurs espaces de couleur largement
répandus pour la détection de visages. Dans cette étude,
les auteurs comparent les espaces chrominance en modelant des distributions de
couleur de peau à un modèle gaussien. Dans leur essai de
détection de visages, l'espace normal de TSL fournit les meilleurs
résultats, cependant, leur conclusion générale est au
sujet du critère le plus important pour la couleur de peau filtrant, qui
est le degré du chevauchement entre la peau et les distributions de
non-visages dans un espace donné (et ceci dépend fortement du
nombre d'échantillons disponibles de peau et de non-visages). La
segmentation de couleur peut fondamentalement être effectuée en
utilisant les seuils appropriés de couleur de peau où elle est
modelée par des histogrammes ou des diagrammes [4, 16, 17].
Dans des méthodes plus complexes, N. Oliver et al. [4,
26] et Yang et al. [4, 19] utilisent une distribution gaussienne pour
représenter un faisceau de couleur de peau, se composant de milliers
d'échantillons, pris des différentes races humaines. La
distribution gaussienne est simplement caractérisée par sa
matrice moyenne et de covariance. N'importe quelle couleur de pixel d'une image
d'entrée est comparée au modèle de couleur de peau en
calculant la distance de Mahalanobis [4, 21]. Cette distance donne une
idée sur la ressemblance entre la couleur de pixel et la couleur de peau
du modèle.
Quoique l'information de couleur semble être un outil
efficace pour identifier des secteurs faciaux, les modèles de couleur de
peau peuvent échouer quand le spectre (la température
corrélée de couleur) de la source lumineuse change de
manière significative. En outre, les caractéristiques du
dispositif d'acquisition (équilibre spécifiquement blanc)
effectueront également la transformation de couleur entre
l'environnement et l'image.
En général, les filtres de couleur de peau sont
construits en employant des seuils fixes pour des distributions de pixels
témoins dans l'espace de couleurs.
c. Approches
basées sur la connaissance généralisée :
Dans cette approche, les algorithmes développés
sont basés sur des heuristiques au sujet de l'aspect de visages. Bien
qu'il soit simple de créer une heuristique pour décrire le visage
humain, la difficulté principale est dans la traduction de ces
heuristiques dans des règles de classification d'une manière
efficace.
Yang et Huang [4, 10] ont employé une méthode
basée sur la connaissance hiérarchique pour détecter des
visages. Leur système se compose de trois règles allant du niveau
général au détaillé. Cette méthode ne
rapporte pas un taux élevé de détection, mais, des
méthodes plus récentes ont utilisé des règles de
niveaux multiples.
L'avantage de ces méthodes est qu'elles prennent en
compte la particularité du visage en tant que forme naturelle à
reconnaître, et un nombre réduit de paramètres en
exploitant les résultats de la recherche en neuropsychologie et
psychologie cognitive sur le système visuel humain. La difficulté
éprouvée quand il s'agit de prendre en considération
plusieurs vues du visage ainsi que le manque de précision dans la phase
« extraction » des points, constituent leur
inconvénient majeur [6].
2. Les Méthodes
Globales
Cette classe regroupe les méthodes qui mettent en
valeur les propriétés globales du visage. Le visage est
traité comme un tout. Dans ces méthodes (`Neural Networks',
`Support Vecteur Machine', `Principal Component Analysis', `Eigen faces',
`Hidden Markov Model'...), on génère une base d'exemples à
partir de laquelle un classificateur va apprendre ce qu'est un visage
(apprentissage). Ces systèmes sont très performants, mais
très lents en phase d'apprentissage donc lourds à mettre en
oeuvre [6]. Parmi les approches les plus importantes réunies au sein de
cette classe on trouve:
a. Approche PCA ou Les
Visages Propres :
Vers la fin des années 80, Sirovich et Kirby [42] ont
développé une technique en utilisant PCA pour représenter
efficacement les visages humains. Le but est de capturer la variation dans une
collection d'images de visages et d'utiliser cette information pour coder et
comparer les visages (en termes mathématiques : trouver les vecteurs
propres de la matrice de covariance de l'ensemble des images de visages). Le
nombre possible de visages propres peut être approximé en
utilisant seulement les meilleurs visages propres qui correspondent aux plus
grandes valeurs propres [5].
Plus tard, au début des années 90, M. Turc et A.
Pentland [4, 47] ont amélioré cette technique pour
l'identification de visages. Leur méthode profite de la nature distincte
des poids de `Eigen faces' pour la représentation individuelle de
visages.
Plus récemment, en utilisant DFFS (Distance From Face
Space), B. Moghaddam et A. Pentland ont proposé un détecteur
facial de dispositif qui produit des `Eigen features' (`Eigen eyes', `Eigen
nose', `Eigen mouth'), qui sont obtenus à partir de divers calibres
faciaux de dispositif dans un ensemble de formation [27].
Ensuite, ils ont développé cette technique dans
un cadre probabiliste à l'aide d'un détecteur de maximum de
vraisemblance qui tient compte de l'espace de visage et de son
complément orthogonal pour manipuler des densités arbitraires.
Comparé au détecteur de DFFS, les résultats étaient
sensiblement meilleurs [28].
L'approche PCA (Principal Components Analysis) est une
manière intuitive et appropriée de construire un sous-espace pour
représenter une classe d'objet dans beaucoup de cas. Cependant, pour
modeler la variété dans des images de visages, PCA n'est pas
nécessairement optimal. L'espace de visage pourrait mieux être
représenté en le divisant en sous-classes. La plupart des
méthodes qui ont été proposées sont basées
sur un certain mélange de Gaussiens multidimensionnel.
b. Approches
Probabilistes (Statistiques) :
Ces approches reposent essentiellement sur la théorie
de décision pour résoudre les problèmes de classement et
de classification, et c'est pour ça qu'ils utilisent
généralement la classification fondée sur le
théorème de Bayes.
Colmenarez et Huang [4, 14] ont proposé un
système basé sur l'information relative de Kullback (divergence
de Kullback) pour créer des fonctions de probabilité pour les
classes de Visages et de Non-Visages.
Yang et al. [4, 34, 35] ont présenté une
méthode pour détecter des visages humains à partir
d'images en couleur. Un modèle de la couleur de peau humaine basé
sur une analyse statistique multivariante est construit pour capturer les
propriétés chromatiques. Ensuite, dans un autre travail, ils ont
présenté une autre méthode de probabilité qui
utilise un mélange d'analyseurs de facteur.
Dans une autre approche, E. Osuna et al. [4, 20] ont
développé une méthode efficace pour former un SVM pour des
problèmes à grande échelle, et l'ont appliqué
à la détection de visages.
Kumar et Poggio [4, 19] ont, ensuite, incorporé un
algorithme du SVM dans un système pour l'analyse des visages en temps
réel. Ils appliquent cet algorithme du SVM sur des régions
segmentées de peau dans les images d'entrée pour éviter le
balayage approfondi.
W. Karam et al. [3] ont crée, plus tard, un
système de détection de visage et d'extraction de
paramètres basé sur les SVM et appliqué sur des visages
parlants dans des séquences vidéo. Une machine SVM est apprise
sur des fenêtres après leur transformation dans le domaine
D'ondelettes. Un modèle géométrique statistique est
ensuite appliqué afin de lisser la sortie de la machine SVM et d'affiner
la détection. Un autre modèle probabiliste sur les distances aux
frontières SVM permet plus de lissage et une meilleure sélection
des composantes faciales.
Schneiderman et Kanade [4, 23, 24] décrivent deux
détecteurs de visage basés sur la décision de Bayes
(présenté comme essai de rapport de probabilité) :
Si le rapport de probabilité (côté gauche)
de l'équation ci-dessus est plus grand que l'autre côté,
alors on décide qu'un objet (un visage) est présent à
l'endroit courant.
L'avantage de cette approche est l'optimalité de la
règle de décision de Bayes [9], si les images sont
précises.
Figure 1.4 : Exemple de la détection de
visages Schneiderman and Kanade (IEEE 2000/2001)
S. Zhou et al. [38] proposent un modèle probabiliste
paramétrisé par un vecteur de cheminement d'état et une
variable de reconnaissance d'identité caractérisant
simultanément la dynamique et l'identité des humains. Ils
appellent, alors, des approches de condensation pour fournir une solution
numérique au modèle. Une fois que la distribution
postérieure commune du vecteur d'état et de la variable
d'identité est estimée, ils la marginalisent au-dessus du vecteur
d'état pour rapporter une évaluation robuste de la distribution
postérieure de la variable d'identité.
Ces approches posent le problème de la
complexité de calcul qui reste très élevée.
c. Approches
basées sur les réseaux de neurones:
Cette approche repose essentiellement sur la notion
d'apprentissage qui est depuis de nombreuses années au coeur de la
recherche en intelligence artificielle. Puisque la détection de visages
peut être comprise comme problème d'identification de
modèle de deux classes (visage ou non-visage), plusieurs méthodes
utilisant les réseaux de neurones ont été
présentées pour la solution. Un examen des méthodes de
détection de visage par réseaux de neurones peut être
trouvé dans la recherche de Viennet et al. [4, 36].
La première approche basée sur un réseau
de neurones, qui a donné des résultats significatifs sur des
données complexes, était présentée par Rowley et
al. [1]. Le système incorpore la détection de visages dans un
réseau de neurones connecté en rétine (Figure
1.5).
Sortie
Éclairage corrigé
Unités cachées
Champs réceptifs
Histogramme égalisé
Pyramide d'images d'entrée
Fenêtre extraite 20*20 pixels
Réseaux de neurones
Prétraitement
...
...
Entrée réseau
20*20 pixels
Figure 1.5 : le système de Rowley et al.
(IEEE1998)
Ce réseau de neurones est conçu pour traiter des
fenêtres de 20 x 20 pixels avec une couche cachée. La
fenêtre d'entrée est prétraitée par la correction
d'éclairage et l'égalisation d'histogramme.
Lin et al. [4, 2] ont proposé un système
d'identification de visages entièrement automatique à
décision probabilistes basé sur les réseaux de neurones
(PDBNN). Un PDBNN est un réseau de neurones de classification avec une
structure modulaire hiérarchique. Au lieu de l'image convertissante
d'entrée à un vecteur cru, ils ont préféré
employer des traits basés sur l'intensité et le contour.
Roth et al. [4, 30] ont proposé une nouvelle
architecture d'étude dans le domaine visuel, qui est appliquée
à la détection de visages. Le système est un réseau
d'étude se composant de deux sous-réseaux pour le Visage et le
Non-Visage. Les deux sous-réseaux de cible opèrent un espace
d'entrée de dispositifs booléens.
Une autre architecture de réseau de neurones a
été proposée par F. Boray Tek [4]. Cette architecture est
basée sur le système développé par Rowley et al.
et permettant de représenter n'importe quelle fonction, par la
projection, en utilisant les surfaces arbitraires de décision
basées sur des fonctions non-linéaires d'activation.
L'avantage de cette approche est le gain de temps
considérable. En insérant des zooms différents lors de
l'apprentissage, il ne devient plus nécessaire de tester chaque
dimension
potentielle. Rien n'interdisant la présence d'un visage occupant toute
l'image ou uniquement le un dixième dans le coin. Cependant,
l'utilisation d'exemples pour apprentissage apporte le risque de ne pouvoir
résoudre que des situations déjà rencontrées,
où un phénomène de sur-apprentissage qui
spécialiserait le réseau uniquement sur les exemples connus sans
généraliser.
3. Les Méthodes
Hybrides
La plupart des techniques courantes dans la détection
de visages sont basées sur l'hybridation de deux ou plusieurs
méthodes déjà expérimentées. Dans ce
contexte, Y. Zhu et al. [31] proposent une application de détection de
visages basée sur l'analyse orthonormale de paquet d'ondelettes avec un
modèle stochastique discret dans le but de réduire la
complexité et le temps de calcul.
I. Boaventura et al. [32] proposent une approche pour
détecter le visage humain dans des images numériques, en
combinant deux techniques différentes : La transformée
discrète en ondelettes (les ondelettes de Haar et Symlet) et un
réseau de neurones (Figure 1.6).
Une autre approche a été proposée par R.
Lim et al. [33] qui emploient d'abord l'information de couleur pour
détecter des régions candidates de visage humain, ensuite ils
utilisent un graphique déformable de l'ondelette de Gabor. La recherche
est exécutée en utilisant un algorithme génétique
qui peut explorer efficacement l'espace de solutions.
Image 4*4 (Niveau = 3)
Ondelette Symlets
Image 32*32
Ondelette Haar
1 : Visage
-1 : Non-Visage
Figure 1.6 : l'architecture
proposée par I. Boaventura et al.
Conclusion
Dans ce chapitre, nous avons vu le principe de la
détection de visages humains dans une image, ensuite nous avons
présenté quelques approches à propos de ce sujet :
Les méthodes basées sur les caractéristiques du visage (la
géométrie du visage, la couleur de la peau, la connaissance
généralisée,...) et Les méthodes globales (PCA,
Approches probabilistes, réseaux de neurones...), ainsi que quelques
méthodes hybrides.
La liste des méthodes présentées dans ce
chapitre n'est pas exhaustive, mais constitue un aperçu de la
diversité des approches qui existent pour faire la détection de
visages.
Les méthodes les plus riches et les plus
utilisées pour la détection de visages sont celles Exploitant les
réseaux de neurones. Dans ce contexte, plusieurs architectures de
réseaux et plusieurs méthodes d'apprentissage ont
été proposées.
Chapitre 2
Introduction aux réseaux d'ondelettes
Introduction aux réseaux d'ondelettes
Introduction
En 1983, J. Morlet et Grossmann ont proposé un
procédé révolutionnaire, l'analyse par ondelettes, qui
permet d'analyser efficacement des signaux où se combinent des
phénomènes d'échelles très différentes.
L'analyse par ondelettes est reconnue comme un outil puissant d'analyse et de
reconstruction de signaux.
Dans ce chapitre, nous présentons, tout d'abord, les
limites des techniques classiques d'analyse des signaux. Ensuite, nous abordons
l'historique des ondelettes, puis nous détaillerons cette théorie
et ses avantages.
Dans la seconde partie, nous décrivons la notion des
réseaux de neurones, leurs principes de fonctionnement illustrés
par quelques exemples et leurs relations avec les ondelettes.
Enfin, nous montrons une nouvelle approche hybride
basée sur la combinaison entre les réseaux de neurones et les
ondelettes : les réseaux d'ondelettes. Différents
modèles de ces réseaux d'ondelettes sont
étudiés.
I. L'analyse de Fourier
L'analyse de Fourier a dominé l'analyse
mathématique pendant plus d'un siècle. Elle a même
influencé la théorie des nombres et les probabilités. En
dehors des mathématiques, son influence est incontestable. Que se soit
dans les domaines de la téléphonie, de l'imagerie médicale
ou des outils de communications radios, l'analyse de Fourier est
omniprésente. Très souvent, lorsque des scientifiques ou des
ingénieurs analysent des systèmes ou cherchent des solutions,
c'est l'analyse de Fourier qui est utilisée.
La décomposition en série de Fourier d'une
fonction périodique permet de représenter celle-ci comme une
somme infinie de sinus et de cosinus de fréquences différentes
(2.1). Ce qui permet une foule d'applications, notamment le traitement du
signal (les signaux carrés, triangulaires, ...). Mais, la
catégorie de fonctions auxquelles elle s'applique est restreinte.
Par conséquent, la décomposition en série
de Fourier est très limitée et peu de signaux naturels
remplissent la condition d'être périodique.
Si on veut représenter une fonction périodique
f par une série trigonométrique, il faut
déterminer les paramètres an et
bn.
La série de Fourier d'une fonction f
périodique tel que f(t+T) = f(t) se déduit donc de
l'expression (2.1) et on la définit comme une série
trigonométrique :
Où les coefficients de Fourier a0,
an et bn sont définis par :
Les séries de Fourier sont, dans certains cas,
limitées. Tout d'abord, la fonction f doit être
périodique. Elle est exprimée par une somme de sinusoïdes
qui sont des fonctions périodiques et on peut montrer qu'une somme
quelconque de fonctions périodiques est encore une fonction
périodique. En effet, pour représenter d'autres fonctions sur , on aura besoin d'un nouvel outil : La transformée de
Fourier [45].
La transformée de Fourier est un passage d'une
représentation d'un signal à une autre.
La reconstruction du signal peut être
réalisée par la transformée inverse :
En règle générale, tous les signaux
physiques remplissent les conditions nécessaires pour être
traités par transformée de Fourier. L'intérêt d'une
telle décomposition est alors de pouvoir analyser ces signaux en
fréquences et repérer ainsi leur contenu fréquentiel
[45].
L'analyse de Fourier, Malgré ses avantages, elle
représente quelques inconvénients, en particulier son manque de
localisation temporelle. En effet, elle permet de connaître les
différentes fréquences excitées dans un signal,
c'est-à-dire son spectre, mais ne permet pas de savoir à quels
instants ces fréquences ont été émises. Cette
analyse donne une information globale et non locale, car les fonctions
d'analyse utilisées sont des sinusoïdes qui oscillent
indéfiniment sans s'amortir. Cette perte de localité devient un
problème pour l'étude de signaux non stationnaires.
II. L'analyse par ondelettes
1. Définition
des ondelettes
Le terme ondelette désigne une fonction qui
oscille pendant une durée donnée, si la variable est temporelle,
ou sur un intervalle de longueur finie si la variable est de spatiale
(fréquence). Au delà, la fonction décroît rapidement
à zéro.
Historiquement, les premières ondelettes introduites
par Haar dans les années 30 constituaient une base de fonctions
orthogonales. Les ondelettes de Haar présentent la particularité
de ne pas être dérivables.
Dans les années 80, Meyer a introduit des nouvelles
fonctions ondelettes qui constituent également une base de fonctions
orthogonales, et qui, de plus, sont dérivables. Elles ont
été mises en oeuvre dans le cadre de l'analyse
multirésolution de signaux par Mallat en 89.
Ces ondelettes ne peuvent pas s'exprimer sous une forme
analytique simple. Pour cette raison, elles sont peu adaptées pour
l'approximation de fonctions.
Les frames, ou ondelettes à structures
obliques, ont été introduites par J. Morlet dans le but de
trouver des bases de fonctions non nécessairement orthogonales pour
représenter des signaux. Ces structures obliques ont été
ensuite l'objet des travaux de I. Daubechies qui a développé un
support théorique aux résultats de J. Morlet. Les frames ont des
expressions analytiques simples, et toute fonction de carré sommable
peut être approchée, avec la précision voulue, par une
somme finie d'ondelettes issues d'une frame.
2. Les principales
caractéristiques d'une ondelette mère
Une ondelette mère est une fonction de base que l'on peut translater et dilater pour
recouvrir le plan temps-fréquences et analyser un signal. L'ondelette
doit être une fonction de moyenne nulle, en d'autres termes, doit être une onde ! Ce qui s'écrit
mathématiquement par [41] :
Toutes les ondelettes d'une famille, , sont générées à partir d'une ondelette
mère, en introduisant les paramètres de dilatation
(échelle) a et de translation dans le temps b.
Une ondelette mère doit remplir certaines
propriétés dont les plus importantes sont :
a.
L'admissibilité :
Soit une fonction non nulle de L2( ) et TF( ) sa transformée de Fourier. On dit que est admissible si :
b. La
Localisation :
Une ondelette dont la fonction de L2 est locale, si elle est à décroissance rapide sur les
deux bords de son domaine de définition. La localisation signifie que
l'énergie d'une ondelette est contenue dans un intervalle fini.
Idéalement, l'ondelette est une fonction nulle en dehors d'un intervalle
fini : c'est-à-dire une fonction à support compact.
c. L'oscillation :
C'est le moment d'ordre 0, où la moyenne de la fonction
de L2 est nulle, et par conséquent, doit avoir un caractère ondulatoire, qui change de signe au
moins une fois. Cette propriété figure dans l'expression
(2.8).
d. La translation et la dilatation :
L'ondelette mère doit satisfaire les
propriétés de translation et de dilatation pour quelle puisse
générer d'autres ondelettes (Figure2.2).
Nous présentons ci-dessous quelques ondelettes
unidimensionnelles :
Ondelette de Meyer
Ondelette de Haar
Ondelette de Morlet
Ondelette Bêta
Ondelette Chapeau mexicain
Figure 2.1: Quelques exemples
d'ondelettes 1D
Figure 2.2: Exemple d'une
ondelette dilatée et translatée.
3. Présentation
des ondelettes multidimensionnelles
Dans le cadre de la modélisation, il est
fréquent d'avoir affaire à des processus multivariables, il est
donc utile d'introduire la notion d'ondelette multidimensionnelle.
On peut définir une ondelette multidimensionnelle comme
le produit d'ondelettes unidimensionnelles : on dit alors que les ondelettes
sont séparables [45]. Dans ce cas, l'expression d'une ondelette
multidimensionnelle est :
Où est la kième composante du vecteur
d'entrée x, et Zjk la composante
centrée par mjk et dilatée d'un facteur
djk. Il a été montré que ces
ondelettes multidimensionnelles sont des frames à structures obliques de
L2( ).
Figure 2.3: Exemple d'une
ondelette 2D
4. La transformée en ondelettes
De manière analogue à la théorie des
séries de Fourier, les ondelettes sont principalement utilisées
pour la décomposition de fonctions.
La décomposition d'une fonction en ondelettes consiste
à l'écrire comme une somme pondérée de fonctions
obtenues à partir d'opérations simples (dilatation,
translation,...) effectuées sur une fonction principale :
l'ondelette mère.
Selon que ces translations et dilatations sont choisies de
manière discrète (ne veut pas dire, nécessairement, des
entiers) ou continue, on parle d'une transformée en ondelettes continue
ou discrète.
a. La transformée en ondelettes
continues :
Une transformée en ondelettes est dite continue lorsque
les paramètres structurels des fonctions utilisées,
c'est-à-dire les translations et les dilatations, peuvent prendre
n'importe quelle valeur réelle de (les dilatations doivent néanmoins
être positives).
Pour que la transformée en ondelettes d'une fonction
existe, il faut que cette fonction appartienne à l'ensemble des
fonctions de carré sommable que l'on note par
L2( ). Autrement dit, il faut que son carré soit fini. Cette
condition se traduit par [41] :
Dans ces conditions, la transformée en ondelette
continue de la fonction f est définie comme le produit scalaire
de f et de l'ondelette :
La reconstruction de la fonction f à partir de
sa transformée est possible, lorsque le critère
d'admissibilité (2.10) est vrai, à partir de la
transformée inverse :
b. La transformée en ondelettes
discrètes
Une transformée en ondelettes est dite discrète
lorsque les valeurs des translations et des dilatations sont discrètes
(pas nécessairement entières).
Soit une ondelette mère. Une famille d'ondelettes, obtenue à
partir de , est donc entièrement connue par la donnée du
triplet , où a détermine l'échelle des dilatations
et b détermine le pas des translations.
Les études ont montré que l'expression d'une
ondelette dans un contexte de transformée continue ou discrète
est la même, avec une dépendance entre la translation et la
dilatation dans le cas de la transformée discrète, alors que ces
quantités sont indépendantes dans le cas de la transformée
continue [41].
Il est connu que la représentation de l'équation (2.13) est très redondante
et que l'espace continu peut être discrétisé sans perte
d'informations. Dans l'équation (2.14), le double intégral est
remplacé par une double somme.
Une transformée en ondelettes discrètes à
deux dimensions peut être accomplie en exécutant deux
transformées unidimensionnelles séparées. En premier,
l'image (signal 2D) est filtrée horizontalement (suivant l'axe des x) et
divisée par deux. Par la suite la sous-image sera filtrée
verticalement (suivant l'axe des y) et divisée par deux.
On obtient alors une image composée de quatre bandes
après une décomposition à un seul niveau.
c. Les avantages de la transformée en
ondelettes :
Le fait que la transformée utilise des fonctions bien
localisées dans le plan temps-fréquence lui donne beaucoup
d'avantages [45] :
- La résolution en fréquence de la
transformée dépend du facteur de dilatation par le principe de
Heisenberg, on peut donc choisir arbitrairement celle-ci suivant ce que l'on
désire analyser.
- Pour des signaux physiques présentant des variations
très rapides et des discontinuités, l'analyse en ondelettes est
adaptée car l'ondelette va détecter ces variations et les
analyser. Cette particularité rend l'analyse en ondelettes
complémentaire à l'analyse de Fourier. En effet, avec l'analyse
de Fourier, les discontinuités d'un signal ne sont pas facilement
analysables.
- La localisation en temps est précieuse pour beaucoup
d'applications.
- La transformée en ondelette peut représenter
complètement et efficacement un signal quelconque avec peu de
coefficients.
III. Les réseaux de neurones
Issus de travaux à connotation biologique dans les
années 40, les réseaux de neurones artificiels sont maintenant
considérés comme des outils mathématiques et automatiques,
indépendamment de toute référence à la biologie.
Ils sont utilisés comme outils puissants de classification, notamment
pour la détection et la reconnaissance de formes (Pattern
recognition).
1. Fondements biologiques des neurones
a. La structure d'un neurone :
Les neurones sont des cellules qui représentent
l'élément de base du système nerveux. Un neurone est
composé de (Figure 2.4):
· Le corps cellulaire : Il contient
le noyau du neurone et effectue les transformations biochimiques
nécessaires à la synthèse des enzymes et d'autres
molécules pour assurer la vie du neurone.
· Les dendrites : Ce sont de fines
extensions tubulaires permettant de capturer les signaux arrivant au neurone,
et les acheminer vers son corps.
· L'axone : Il présente la
fibre nerveuse et permettant le transfert des signaux émis par le
neurone vers des autres. Il se distingue des dendrites par sa forme et par les
propriétés de sa membrane externe.
Un réseau de neurones est composé de plusieurs
neurones connectés par des synapses.
Axone
Noyau cellulaire
Corps cellulaire
Dendrites
Figure 2.4: Structure d'un
neurone
Figure 2.5: La synapse d'un
neurone
b. Principe de fonctionnement des
neurones :
Le fonctionnement d'un neurone dépend essentiellement
de propriétés de sa membrane externe. Lorsque le neurone est
excité, un potentiel électrique, appelé potentiel
d'action, naît dans le corps cellulaire de neurones et se propage le long
de l'axone. Une fois arrivé à l'extrémité de
l'axone, le potentiel d'action déclenche la libération d'un
médiateur chimique, appelé neurotransmetteur, au niveau de la
synapse où le signal électrique de l'impulsion nerveuse est
converti en un signal biochimique (Figure2.5).
Le courant synaptique se propage le long des dendrites
jusqu'au corps cellulaire du neurone cible. A ce niveau, le corps cellulaire
traite l'ensemble des courants synaptiques qui lui parviennent en effectuant
une somme algébrique des courants synaptiques excitateurs et
inhibiteurs. Si le potentiel résultant dépasse le seuil critique
d'excitation du neurone (-10mV), alors le neurone est excité et
déclenche à son tour un potentiel d'action qui se propage le long
de son axone. Dans le cas contraire, le neurone reste inactif.
2. Les réseaux de neurones
artificiels
Un neurone formel fait une sommation pondérée
des potentiels d'actions qui lui parviennent (chacun de ces potentiels est une
valeur numérique qui représente l'état du neurone qui l'a
émis), puis s'active suivant la valeur de cette sommation
pondérée. Si cette somme dépasse un certain seuil, le
neurone est activé et transmet une réponse dont la valeur est
celle de son activation, sinon le neurone reste inactif et ne transmet rien.
Chaque neurone artificiel reçoit un nombre variable
d'entrées. A chacune de ces entrées est associé un poids
w représentatif de la force de la connexion. Chaque neurone est
doté d'une sortie unique, qui permet d'alimenter un nombre variable de
neurones avals.
Le neurone effectue la somme pondérée de ses
entrées, puis il calcule sa sortie par une transformation non
linéaire de cette somme. Les pondérations ou les poids
représentent l'intensité synaptique de ce neurone.
Le fonctionnement d'un neurone artificiel est exprimé par
les expressions suivantes :
Avec :
3. Exemples de réseaux de neurones
a. Le perceptron multicouche
(PMC) :
Le perceptron est la forme la plus simple de réseau de
neurones, et permet de classifier correctement des objets appartenant à
deux classes linéairement séparables. Il consiste en un seul
neurone qui possède un seuil, ainsi qu'un vecteur de poids synaptiques
ajustables.
La mise en cascade de perceptrons conduit à ce qu'on
appelle les perceptrons multicouches (Figure2.6). Lorsque le vecteur
de caractéristiques d'un objet est présenté à
l'entrée du réseau, il est communiqué à tous les
neurones de la première couche. Les sorties des neurones de cette couche
sont alors communiquées aux neurones de la couche suivante, et ainsi de
suite. La dernière couche du réseau est appelée couche
de sortie, les autres étant désignées sous le terme
de couches cachées car les valeurs de sortie de leurs neurones
ne sont pas accessibles de l'extérieur.
Le théorème d'approximation prouve qu'un
perceptron multicouche, à une seule couche cachée, est en
théorie toujours suffisant.
Toutefois, il ne préjuge en aucun cas du nombre
d'unités cachées qui est nécessaire pour atteindre une
qualité d'approximation suffisante. Ce nombre pouvant parfois être
gigantesque, l'utilisation d'un perceptron multicouche à deux (ou plus)
couches cachées ne comportant chacune qu'un nombre restreint de neurones
peut parfois s'avérer être plus utile.
x1
x2
xn
y1
y2
ym
Vecteur d'entrée
Couche cachée
Couche de sortie
Figure 2.6: Perceptron Multicouche à une
couche cachée.
Grâce à l'utilisation de fonctions d'activation
non linéaires, le perceptron multicouche est à même de
générer des fonctions discriminantes non linéaires.
L'algorithme d'apprentissage supervisé du perceptron multicouche, connu
sous le nom d'algorithme de rétropropagation, nécessite
toutefois que les fonctions d'activation des neurones soient continues et
dérivables. Les fonctions qui sont le plus couramment utilisées
sont probablement de type sigmoïdal (Ondelettes par exemple).
Avec la rétropropagation, la donnée
d'entrée est, à plusieurs reprises, présentée au
réseau de neurones. À chaque présentation, la sortie du
réseau est comparée à la sortie désirée et
une erreur est calculée. Cette erreur est alors réinjectée
dans le réseau et employée pour ajuster les poids de façon
qu'elle diminue à chaque itération et que le modèle
neuronal arrive de plus en plus près de la reproduction de la sortie
désirée. Ce processus s'appelle la formation.
b. Le réseau à Fonction Radiale de Base
(RBF) :
Le réseau à fonction radiale de base comporte
deux couches de neurones (Figure2.7). Les cellules de sortie
effectuent une combinaison linéaire de fonctions de base non
linéaires, fournies par les neurones de la couche cachée. Ces
fonctions de base produisent une réponse différente de
zéro seulement lorsque l'entrée se situe dans une petite
région bien localisée de l'espace des variables. Bien que
plusieurs modèles de fonctions de base existent, le plus courant est de
type Gaussien.
L'apprentissage du réseau à fonction radiale de
base est généralement scindé en deux parties : Dans
un premier temps, les poids des neurones de la couche cachée sont
adaptés au moyen d'une quantification vectorielle. Il existe plusieurs
manières d'effectuer cette dernière. Lorsque les poids des
cellules cachées sont fixés, les paramètres de
normalisation sont déterminés en calculant la dispersion des
données d'apprentissage associées à chaque centroïde.
La seconde couche du réseau peut alors être
entraînée. L'apprentissage est cette fois supervisé (les
valeurs de sortie désirées sont fournies), et s'effectue
typiquement à l'aide d'un algorithme basé sur un critère
des Moindres Carrés de l'Erreur.
L'entraînement de la seconde couche est très
rapide, car, d'une part, les sorties de la couche cachée peuvent
être calculées une seule fois pour tous les exemples
d'apprentissage, et d'autre part, les sorties des neurones de la seconde couche
sont linéaires. Les méthodes d'apprentissage, tel que le
critère des moindres carrés du perceptron, peuvent être
appliquées.
w1
x1
w2
wN
Entrée
xn
Figure 2.7: Un réseau
à fonction radiale de base.
Le fait que l'apprentissage de la couche cachée soit
non supervisé, est toutefois un inconvénient de ce modèle
de réseau vis-à-vis d'un perceptron multicouche. Pour pallier
à ce dilemme, des méthodes d'apprentissage supervisé de
réseaux à fonction radiale de base ont également
été développées.
Un avantage du réseau à fonction radiale de base
est que sa phase d'apprentissage est plus rapide que celle du perceptron
multicouche. Mais la non-linéarité, présente dans la
couche de sortie du perceptron multicouche, est inexistante dans le
réseau à fonction radiale de base, ce qui constitue un
désavantage de ce dernier vis-à-vis du premier.
L'efficacité (Erreur / taille du réseau) d'un
réseau à fonction radiale de base et d'un perceptron multicouche
est dépendante du problème traité.
IV. Les réseaux d'ondelettes
La notion de réseaux d'ondelettes existe depuis les
années 90. Il s'agit d'une combinaison entre deux techniques de
traitement de signaux : La transformée en ondelettes et les
réseaux de neurones artificiels. Les réseaux d'ondelettes
remplacent la fonction sigmoïde par des ondelettes comme fonction de
transfert dans chaque neurone.
Deux modèles différents ont été
proposés pour différentes applications, telles que la
classification et la reconnaissance de formes, et la compression de signaux.
Rappelons de la relation (2.14) qui donne l'expression d'une
fonction f de carré sommable sous la forme d'une
intégrale sur toutes les dilatations et toutes les translations
possibles de l'ondelette mère. Supposons que l'on ne dispose que d'un
nombre fini d'ondelettes obtenues à partir de l'ondelette mère . On peut alors considérer la relation (2.17) comme une
approximation de la relation (2.14).
La somme finie de la relation (2.17) est donc une
approximation d'une transformée inverse. Elle peut être vue aussi
comme la décomposition d'une fonction en une somme
pondérée d'ondelettes, où chaque poids
cj est proportionnel à wf
(aj, bj). C'est dans cette perspective qu'a
été proposée l'idée de réseaux d'ondelettes
[41].
1. Architecture des réseaux
d'ondelettes
a. Modèle1 de réseaux
d'ondelettes
L'architecture dans ce modèle, est proche de celle d'un
réseau RBF. Le réseau est considéré
constitué de deux couches : une première couche avec
Ni entrées et une couche cachée
constituée de Nw ondelettes, et un Sommateur de
sortie recevant les sorties pondérées des ondelettes. Les
cellules d'une couche sont connectées à toutes les cellules de la
couche suivante uniquement. La propagation des valeurs se fait des cellules
d'entrées vers les cellules de sortie.
Cette architecture est donc tout à fait comparable aux
réseaux de neurones utilisant des fonctions sigmoïdales. Elle
présente également une similitude avec l'architecture des
réseaux RBF mais la fonction de transfert est remplacée par une
fonction ondelette .
L'algorithme d'apprentissage est hérité aussi de
celui des réseaux de neurone RBF. Il vise à réduire
l'erreur commise entre l'entrée du réseau et sa sortie en
corrigeant les paramètres de ce réseau.
La fonction de coût quadratique est utilisée pour
mesurer cette erreur. L'apprentissage vise, ainsi, à minimiser le
coût empirique donné par la quantité E [13]:
Où est la sortie réelle obtenue par le réseau et la sortie désirée.
L'expression de la sortie du réseau est :
L'algorithme de la descente en gradient est
utilisé à chaque itération de cet algorithme, en
propageant le calcul d'une couche à une autre jusqu'à la couche
de sortie.
Remarque : L'algorithme d'apprentissage
consiste à modifier les paramètres dans le sens opposé au
gradient de la fonction d'erreur.
x1
wkj
wik
?
?
y1
x2
ym
xn
Figure 2.8: Modèle1 de réseaux
d'ondelettes
b. Modèle2 de réseaux
d'ondelettes
Dans ce deuxième modèle, l'entrée est un
ensemble de paramètre ti qui décrivent les
positions ordonnées du signal à traiter. Les entrées ne
sont pas des données proprement dites, mais seulement des valeurs
décrivant des positions bien précises du signal. La couche
cachée contient un ensemble de neurones, dans chaque neurone une
ondelette translatée et dilatée. La couche de sortie contient un
seul neurone qui somme les sorties de la couche cachée
pondérées par les poids de connexion wi.
L'algorithme de la descente de gradient est utilisé pour faire
l'apprentissage. Ce modèle, introduit pour la première fois par
Zhang et Benveniste, est un cas particulier de l'architecture du
modèle1 des réseaux d'ondelettes présenté au
dessus [13].
Sortie
Figure 2.9: Modèle2 de réseaux
d'ondelettes
2. Comparaison des
réseaux d'ondelettes aux réseaux de neurones
La principale ressemblance entre ces deux réseaux
réside au fait que les deux réseaux calculent une combinaison
linéaire, de fonctions non linéaires dont la forme dépend
de paramètres ajustables (dilatations et translations) de cette
combinaison.
Mais la différence majeure est la nature des fonctions
de transfert utilisées par les cellules cachées. Nous
présentons dans ce qui suit quelques différences :
· Les ondelettes sont des fonctions qui
décroissent rapidement, et tendent vers zéro dans toutes les
directions de l'espace. Elles sont donc locales si a
est petit.
· La forme de chaque ondelette unidimensionnelle est
déterminée par deux paramètres ajustables (translation et
dilatation) qui sont des paramètres structurels de l'ondelette.
· Chaque ondelette unidimensionnelle possède deux
paramètres structurels, d'où pour chaque ondelette
multidimensionnelle, le nombre de paramètres ajustables est le double du
nombre de variables.
3. Techniques de construction des réseaux
d'ondelettes
Différentes techniques ont été
proposées pour construire des réseaux d'ondelettes,
fondées sur la transformée discrète à partir de
l'ensemble d'apprentissage.
Nous préciserons dans ce qui suit quelques unes ainsi
que les avantages et les inconvénients de chacune d'elles [41].
a. Technique fondée sur l'analyse
fréquentielle
Cette technique a été proposée par Y. C.
Pati en 93. Elle repose sur l'estimation du spectre d'énergie de la
fonction à approcher. Le domaine de fréquence contenant le
spectre d'énergie étant connu (il est obtenu en calculant la
transformée de Fourier de la fonction à approcher), ainsi que le
domaine des amplitudes des variables d'entrées couvert par la
séquence d'exemples, on peut alors déterminer les ondelettes
correspondant à ce domaine amplitude-fréquence.
Cette technique présente l'avantage de tirer parti des
propriétés de localité des ondelettes dans les domaines
spatial et fréquentiel. En revanche, elles présentent un
inconvénient majeur, notamment pour les modèles
multivariables : le volume de calcul nécessaire à
l'estimation du spectre de fréquence est très
élevé.
b. Technique fondée sur la théorie des
ondelettes orthogonales
Cette approche, utilisant des bases d'ondelettes orthogonales,
a été proposée par J. Zhang en 95. Étant
donné le domaine des amplitudes des entrées de l'ensemble
d'apprentissage, on choisit les ondelettes ayant leurs centres à
l'intérieur de ce domaine. Le nombre de dilatations différentes
à considérer dépend de la performance
désirée.
Cette technique présente l'avantage de mettre à
profit la propriété d'orthogonalité des ondelettes.
En revanche, sa mise en oeuvre est malaisée, car
à l'exception du système de Haar, on ne connaît pas,
à ce jour, d'expression analytique simple pour les ondelettes
mères qui engendrent des familles de fonctions orthogonales. Cet
inconvénient rend cette technique peu efficace.
c. Réseaux d'ondelettes pour un système
adaptatif
Cette technique a été proposée par M.
Cannon et J. E. Slotine en 95 pour la construction des réseaux
d'ondelettes en vue de leur utilisation dans un système adaptatif de
commande.
Une bibliothèque d'ondelettes est construite en
considérant le domaine des valeurs des variables d'état du
modèle. Le paramètre a, qui détermine
l'échelle des dilatations, est estimé en utilisant le spectre
d'énergie de la fonction à approcher.
Le réseau est constitué d'ondelettes de la
bibliothèque sélectionnées et pondérées
périodiquement. Les pondérations des ondelettes sont
comparées à un seuil. Une fonction est gardée ou exclue du
réseau suivant que sa pondération est supérieure ou
inférieure à ce seuil.
Cette technique de construction de réseaux d'ondelettes
présente l'inconvénient de nécessiter l'estimation du
spectre d'énergie de la fonction à approcher.
d. Technique fondée sur la construction de
frames
Étant donné les limites théoriques
auxquelles on se heurte pour la construction des réseaux d'ondelettes
orthogonales, A. Juditsky en 94 puis Q. Zhang en 97 ont utilisé des
structures obliques (frames).
La question qui se pose alors est le choix des
paramètres structurels de dilatation a et de translation
b.
Pour éviter le calcul du spectre d'énergie de la
fonction à approcher, la bibliothèque d'ondelettes est construite
en utilisant l'échantillonnage
dyadique2(*) : (a0 =2 et
b0 = 1).
4. Domaines d'application des réseaux
d'ondelettes
Plusieurs domaines sont touchés par les réseaux
d'ondelettes, malgré qu'ils aient été
récents : la compression d'images, la classification et la
reconnaissance des formes y compris le visage humain, le traitement des signaux
vocaux,...
Dans ce contexte, on peut citer les recherches de Daugman,
qui a utilisé une décomposition sur une base de fonctions de
Gabor pour la compression d'images 2D [13].
Les réseaux d'ondelettes sont utilisés aussi
dans la localisation du trait facial. Cette technique utilise un réseau
d'ondelettes hiérarchique à deux niveaux basé sur les
ondelettes de Gabor. La construction d'une base de données contenant les
réseaux d'ondelettes hiérarchiques de plusieurs visages permet
aux traits d'être détectés dans la plupart des visages
utilisés [40].
I. Boaventura et al. présentent une autre approche pour
la détection du visage humain dans des images numériques. Deux
techniques différentes sont combinées pour accomplir la
tâche de détection de visages : la transformée en
ondelettes discrètes est appliquée en se basant sur les fonctions
Haar et Symlet. Un Perceptron multicouche est utilisé afin d'extraire
les traits particuliers qui sont détectés [32].
Ces travaux ont motivé les applications des
réseaux d'ondelettes à des problèmes de classification et
autres. Les derniers résultats atteints plaident en faveur d'une
implémentation de réseaux d'ondelettes dont les coefficients sont
obtenus par apprentissage.
Conclusion
Dans ce chapitre, nous avons effectué une étude
de la théorie des ondelettes : les concepts de base, les
caractéristiques d'une ondelette mère, les ondelettes
unidimensionnelles et multidimensionnelles, ainsi que la transformée en
ondelettes continue et discrète.
Dans la seconde partie, nous avons fait un survol sur les
réseaux de neurones, ses principales caractéristiques et les
différentes architectures utilisées.
La dernière partie a été sacrifiée
aux réseaux d'ondelettes : les modèles utilisés,
leurs avantages et leurs domaines d'application.
Nous profitons, dans ce sujet, des avantages des
réseaux de neurones et de la capacité des ondelettes au
traitement du signal pour présenter, dans le chapitre suivant, une
nouvelle approche de détection de visages utilisant les réseaux
d'ondelettes Bêta et basée sur la théorie des frames.
Chapitre 3
Approche proposée pour la détection de visages
par réseaux d'ondelettes Bêta
Approche proposée pour la détection de
visages par réseaux d'ondelettes Bêta
Introduction
Dans ce chapitre, nous commençons par une étude
de la fonction Bêta et les ondelettes unidimensionnelles
Bêta1D et bidimensionnelles Bêta2D ainsi que
leurs dérivées. Ensuite, nous détaillons la phase
d'apprentissage des réseaux d'ondelettes Bêta basée sur la
théorie des frames. Enfin, nous présentons notre approche de
détection de visages humains par réseaux d'ondelettes.
I. Étude de l'ondelette Bêta
1. Présentation de l'ondelette
Bêta
a. L'ondelette Bêta1D
L'ondelette Bêta1D est
générée à partir de la fonction
Bêta :
b. Propriétés de base de la fonction
Bêta
Remarque : La fonction Bêta peut
être considérée comme une fonction linéaire de
x si on prend :
La fonction Bêta
satisfait toutes les propriétés d'une ondelette
mère précisées dans le chapitre
précédent [13]:
· L'admissibilité,
· La localisation,
· L'oscillation,
· La dilatation et la translation.
Figure 3.1: Exemple de l'ondelette
Bêta1D
Il est à noter que sous certaines conditions, toutes
les dérivées de la fonction Bêta sont des
ondelettes [49]:
Sachant que p>0, q>0 (p, q) , Si p = q, pour tout et quelque soit 0 < n < p, La fonction , la dérivée nième de la fonction
Bêta, est une ondelette.
Figure 3.2: Exemples de la dérivée
première de l'ondelette Bêta1D
Figure 3.3 : Exemples de la
dérivée seconde de l'ondelette Bêta1D
c. L'ondelette Bêta2D
Comme toute ondelette multidimensionnelle, une ondelette
Bêta2D (ondelette bidimensionnelle) est séparable. Son expression
est le produit de deux ondelettes unidimensionnelles.
Une ondelette Bêta2D doit vérifier les
propriétés d'une ondelette mère. La dilatation et la
translation sont présentes sur les deux axes (x,y). La
propriété de rotation s'y ajoute pour qu'elle tourne avec un
angle . L'équation d'une ondelette bidimensionnelle :
Avec la rotation :
Dans ce cas, la transformée en ondelettes continue
d'une fonction f bidimensionnelle est :
La reconstitution de la fonction f reste possible si
l'ondelette est admissible.
Nous présentons ci-dessous un exemple d'ondelettes
Bêta bidimensionnelles et ses deux dérivées
première et seconde :
Figure 3.4: l'ondelette Bêta2D et le filtre
associé
Figure 3.5: Exemples de la dérivée
1ére & 2éme de l'ondelette Bêta2D
2. Les frames
En remplaçant la double somme de l'expression (2.17) de
la transformée en ondelettes discrètes par une seule somme, la
fonction f peut être exprimée par :
D'après Daubechies, cette relation n'est valide que si
la famille d'ondelettes, obtenue lors de la discrétisation, forme une
base orthogonale. Pour un cas plus général (cas des bases
quelconques), des concepts comme les frames et les frames duales ont besoin
d'être introduits pour pouvoir écrire un signal donné en
termes des coefficients d'ondelettes.
Soit une ondelette, un échantillonnage sur une grille et , une famille discrète d'ondelettes. On dit que forme une frame, s'il existe tel que pour tout :
Où A et B représentent les limites de la
frame.
Quand une famille d'ondelettes discrètes forme une
frame, elle fournit une représentation complète et sans perte de
toute fonction [13].
Pour fournir plus de détails, nous introduisons
d'autres termes: est dite orthogonale si pour toute :
Une frame est dite base si pour toute fonction
f de L2, la combinaison linéaire (3.8) soit
unique. Une famille d'ondelettes qui est à la fois orthogonale et base,
s'appelle base orthogonale. En général, une frame n'est
pas une base orthogonale sauf si A = B = 1. Aussi, elle fournit une
représentation redondante de la fonction f. Le rapport (A /
B) est appelé facteur de redondance.
Pour d'autres valeurs de A et B, cette
représentation reste valable, Bø n'est plus
une base orthogonale mais une base dite biorthogonale. En plus, si la
représentation de f en combinaison linéaire d'ondelettes
n'est plus unique, la famille Bø est une
frame. Dans ces deux derniers cas on est mené à écrire
f en fonction de la frame duale :
Si la fonction est l'ondelette analysante, les coefficients d'ondelettes sont obtenus
par le calcul du produit scalaire de cette ondelette dilatée et
translatée et la fonction à analyser. L`ondelette duale est
utilisée pour la reconstruction (l'inverse est aussi vrai). Pour une
famille d'ondelettes orthogonales une ondelette est égale à sa
duale.
On peut calculer les coefficients d'ondelettes
wi par une projection orthogonale du signal f
à analyser sur la base orthogonale des ondelettes analysantes. Pour
le cas d'une base biorthogonale ou une frame la projection du signal f
se fait sur une frame duale [13].
La formule suivante permet de calculer la famille duale des
ondelettes Bêta :
Essayons de représenter les ondelettes par des
vecteurs. On peut illustrer les trois bases possibles qui peuvent être
reconstruites avec une famille d'ondelettes.
Frame
Base Orthogonale
Base Biorthogonale
Figure 3.6: Représentation des bases
orthogonale, biorthogonale et frame.
II. Principe de l'apprentissage des réseaux
d'ondelettes
La phase d'apprentissage inclut la procédure de
construction d'une bibliothèque d'ondelettes candidates à
être utiliser dans la couche cachée de notre réseau. Nous
détaillerons, dans ce qui suit, la manière de leurs
sélections, puis nous expliquerons les étapes d'optimisation de
ce réseau.
1. Construction de d'une bibliothèque d'ondelettes
pour le réseau
Pour obtenir une frame, une discrétisation des
paramètres de dilatation a et translation b est
nécessaire. La transformée en ondelettes discrète peut
être mise en oeuvre sur des valeurs discrètes de ces deux derniers
paramètres. En exploitant la transformée inverse en ondelettes
discrètes (3.12), qui peut être interprétée comme la
sortie d'un réseau d'ondelettes, nous pouvons construire notre
bibliothèque d'ondelettes.
Les coefficients a et b sont calculés
par la formule :
Remarque : Pour , on parle d'un échantillonnage dyadique.
Les ondelettes résultant de l'échantillonnage
temps-fréquence vont constituer la bibliothèque des ondelettes
candidates à joindre notre réseau d'ondelettes.
Figure 3.7: Les sept premieres ondelettes de
la bibliotheque et un signal a analyser [13]
2. Optimisation du reseau
Pour optimiser un réseau d'ondelettes,
l'échantillonnage dyadique sera utilisé pour sa
simplicité. Ce qui va produire une ondelette ayant la
décroissance la moins rapide dans la première échelle. Le
nombre d'ondelettes sera multiplié par deux à chaque fois qu'on
passe à l'échelle suivante.
Les ondelettes d'une même échelle se
diffèrent seulement par leurs positions (paramètre de
translation) et elles sont réparties sur l'axe de temps pour couvrir la
quasi-totalité du signal à analyser.
En fait, avec les ondelettes de basses fréquences, on
peut atteindre une approximation acceptable du signal, les autres ondelettes de
hautes fréquences, qui sont les plus nombreuses, se servent juste pour
affiner cette approximation.
Pour calculer le nombre d'ondelettes introduites dans la
bibliothèque, il faut calculer le nombre d'ondelettes sur
l`échelle dyadique de l'espace temps-fréquence.
Sachant que les échelles sont des puissances de
2 et N représente la taille du signal à
approximer, le nombre d'échelles nécessaires pour couvrir tout le
signal : j = log2(N)
Le nombre d'ondelettes, à chaque échelle
m donnée, est égal à 2 j
- m ondelettes translatées. Le nombre
total d'ondelettes sera donc : 1 + 2 + 22 + ... +
2j-1 = 2j - 1 = N - 1.
Malgré que ce nombre d'ondelettes paraisse assez
important, le nombre effectif d'ondelettes utilisées sera beaucoup plus
réduit, puisque une seule ondelette sera suffisante pour interpoler plus
qu'un échantillon du signal à analyser.
a. Calcul direct des poids
Pour des ondelettes orthogonales, le calcul des poids de
connexion à chaque étape est possible par projection du signal
à analyser sur la même famille d'ondelettes. Mais, pour une
famille d'ondelettes quelconque, il n'est pas possible de calculer les poids
par projection directe de la fonction f sur la même base. Une
solution consiste à utiliser les ondelettes duales.
Deux familles d'ondelettes et sont dites biorthogonales, si pour toutes i et
j on a :
L'ondelette est dite primale alors que l'ondelette est dite duale.
Si , la famille constitue une base orthogonale.
L'utilisation des ondelettes biorthogonales permet le calcul
direct des poids de connexion du réseau d'ondelettes :
Soit f un signal, une famille d'ondelettes qui forme une frame et la famille d'ondelettes duales alors il existe des poids
wi vérifiant la relation (3.10).
Le poids, dans ce cas, peut être calculé en
exploitant l'ondelette duale :
b. Algorithme d'optimisation
Pour plus de détails, on définit la fonction , avec f la fonction à approximer et la sortie du réseau. Au début du processus d'optimisation
et D = f. Sur la première échelle
dyadique qui contient une seule ondelette analysante (celle de la
fréquence la plus basse), le poids de la première connexion est
calculé par , la sortie du réseau est alors . L'ondelette suivante sur l'échantillonnage qui constitue une
base avec toutes les ondelettes du réseau, qui l'ont
précédé, va s'ajouter à la couche cachée de
ce dernier. Ce processus s'arrête lorsque l'erreur atteint un seuil
fixée d'avance.
Toutes les ondelettes de la bibliothèque doivent
vérifier la condition de l'indépendance
linéaire :
· Dans le cas d'une famille d'ondelettes orthogonales ou
biorthogonales, elles sont linéairement indépendantes.
· Dans le cas d'une frame (famille d'ondelettes ne
formant pas une base), les ondelettes, qui ne vérifient pas
l'indépendance linéaire et qui forment une frame avec les
anciennes ondelettes du réseau, ne seront pas totalement
rejetées. Chaque ondelette qui dépend d'une ou plusieurs de ses
précédentes ne sera pas introduite dans le réseau, mais
elle améliore les poids des ondelettes du réseau dont elle
dépend.
La sortie du réseau est alors
calculée en fonction des ondelettes qui sont linéairement
indépendantes par projection du signal d'entrée sur la famille
duale de toutes ces ondelettes.
3. Apprentissage des réseaux d'ondelettes
2D
La fonction d'activation choisie pour l'analyse du signal est
la fonction bidimensionnelle Bêta2D. On rappelle qu'une ondelette
bidimensionnelle est le produit de deux ondelettes unidimensionnelles :
(3.7).
La discrétisation de cette ondelette pour analyser des
signaux discrets, conserve les mêmes paramètres
d'échantillonnage des translations et des dilatations proposés
pour le cas unidimensionnel (3.16).
En ajoutant l'angle de rotation tel que : , la discrétisation et la transformée inverse en
ondelettes discrètes restent vraies pour les ondelettes
bidimensionnelles en remplaçant la fonction intégrale par la
fonction somme.
Un réseau d'ondelettes bidimensionnelles possède
la même structure qu'un réseau d'ondelettes unidimensionnelles,
sauf que chaque neurone a deux entrées caractérisant les
coordonnées spatiales des échantillons du signal à
approximer.
Dans le cas d'un signal 2D, l'échantillonnage dyadique
des paramètres de dilatation, de translation et de rotation de la
transformée 2D en ondelettes continues est utilisée. Le
résultat est une base d'ondelettes constituant une frame 2D,
commençant par une échelle contenant une seule ondelette
centrée exactement au milieu, puis à chaque échelle le
nombre d'ondelettes sera multiplié par quatre.
Les ondelettes doivent être reparties sur le support du
signal d'une manière uniforme.
Une fois la base d'ondelettes bidimensionnelles candidates
à joindre le réseau est construite, un algorithme d'apprentissage
sera appliqué. De même, les ondelettes de la base ne seront pas
toutes utilisées comme filtres d'approximation puisque quelques unes
seront exploitées pour améliorer les poids de connexions du
réseau.
III. Approche proposée pour la détection de
visages
Notre travail consiste à
déterminer, pour une image d'entrée quelconque, la
présence ou non d'un ou de plusieurs visages.
Dans le cas de détection, les visages seront
repérés dans l'image par des carrés à travers leurs
coordonnées.
1. Architecture des réseaux d'ondelettes
Bêta2D utilisée
Nous proposons une architecture qui comporte trois
couches de cellules: une couche d'entrées, une couche
cachées et une couche de sortie. Les cellules d'une couche sont
connectées à toutes les cellules de la couche suivante, et
à celles-ci uniquement. La propagation des valeurs se fait dans le sens
`feedforward', c'est-à-dire des cellules d'entrées vers
les cellules de sorties.
Comme pour le modele2 de réseaux d'ondelettes3(*), Les entrées seront des
valeurs décrivant des positions bien précises du signal
(image).
La couche de sortie contient une seule ondelette qui calcule
la somme des sorties de la couche cachée pondérées par les
poids de connexion wi.
La sortie sera l'image d'entrée avec un marquage de
tous les visages détectés par le réseau.
w1
Image
w2
1, 2, 3, 4, 5,...
?
wi
wn
Figure 3.8: Architecture de l'approche
proposee
2. Démarche d'apprentissage basé sur la
théorie des frames
L'apprentissage consiste à présenter les images
réservées pour cette phase aux entrées des réseaux.
Les images d'apprentissage doivent être de même dimension et
appartenant à l'une de deux classes : Visage ou Non-Visage. On
aura, dans ce cas, un réseau par image.
Chaque image d'apprentissage sera réinjectée
dans le réseau et on calculera la valeur de son PSNR (Peak Signal Noise
Ratio) en appliquant la formule :
Avec R est le nombre de bits avec lequel un pixel est
codé. Par exemple, si les images sont de 256 niveaux de gris, alors
R sera égal à .
Avec EQM est l'erreur quadratique moyenne, c'est la
métrique qui mesure la distorsion dans une image. Elle est
exprimée par la formule suivante :
Avec M et N représentent les
dimensions de l'image.
La condition d'arrêt d'un processus d'apprentissage sera
l'arrivée de l'indice PSNR à un seuil satisfaisant fixé
d'avance.
Les paramètres de chaque image d'apprentissage
(dilatation, translation, rotation,...) seront sauvegardés pour
être exploités dans la phase de détection (Figure
3.9).
Le réseau doit être entraîné d'une
manière correcte, lors de la phase d'apprentissage, pour donner des bons
résultats dans la phase de détection :
· Nombre d'images dans la base d'apprentissage doit
être satisfaisant,
· Diversification des images en termes de sexe, couleur,
éclairage, orientation,...
Une fois le réseau est entraîné dans la
phase d'apprentissage, il doit être prêt à recevoir les
images de test qu'on lui présente.
Figure 3.9: Modele illustrant la demarche
d'apprentissage adoptee.
3. Démarche de détection de visages par
réseaux d'ondelettes Bêta2D
Dans cette phase de détection, les images de test ne
doivent absolument pas être choisies parmi les images de l'apprentissage,
mais d'autres bases d'images doivent être réservées aux
tests.
Chaque image de test présentée à
l'entrée du réseau, est explorée avec une fenêtre
possédant les dimensions des images d'apprentissage. L'imagette extraite
est mise à l'entrée de chacun des réseaux d'apprentissage
ayant un poids Wi.
Les poids de chaque réseau sont recalculés en
projetant l'imagette sur la base duale formée par les ondelettes du
réseau, pour obtenir des nouveaux poids Vi qui sont
comparés au poids d'origine Wi en calculant la Distance
Euclidienne DE (3.21).
Pour comparer deux réseaux d'ondelettes la Distance
Euclidienne est calculée par la formule suivante [13] :
Quelques transformations algébriques donnent :
La Distance Euclidienne entre deux réseaux de
mêmes fonctions ondelettes se fait simplement en calculant le vecteur de
différence entre les deux poids des deux réseaux d'ondelettes.
DE peut être écrite comme suit :
Si le réseau ayant la distance minimale
(Dmin) appartient à la classe Visage, l'imagette comporte un
visage, sinon, c'est la classe Non-Visage, et il s'agit d'un autre objet.
Apres avoir exploré toute l'image, on réduit sa
résolution grâce à la technique de la
multirésolution et on reprend la même démarche
jusqu'à ce que la taille de l'image soit strictement inférieure
à la taille de la fenêtre utilisée pour l'apprentissage.
Le choix des valeurs du Pas de translation de la fenêtre
sur l'image et son taux de résolution est un critère
déterminant pour la qualité des résultats de
détection retournés.
Les images de test sont des images quelconques comportant ou
non des visages. Elles seront utilisées par le réseau en
appliquant les étapes suivantes :
1) Parcourir l'image de test
présentée à l'entrée du réseau, avec une
fenêtre possédant les dimensions des images
d'apprentissage.
2) Chaque imagette extraite sera mise à
l'entrée de chaque réseau d'apprentissage de poids
Wi.
3) Recalculer les poids de chaque réseau en
projetant l'imagette sur la base duale formée par les ondelettes du
réseau pour obtenir des nouveaux poids Vi.
4) Comparer chaque réseau de poids
Vi à son origine de poids Wi en calculant la
distance Euclidienne D.
5) Chercher la distance minimale séparant
le réseau à son origine (Dmin).
6) Voir si le réseau de distance minimale
appartient à la classe "Visage" ou à la classe "Non-Visage".
7) Réduire la résolution de l'image
grâce à la technique de la multirésolution en changeant
l'échelle.
8) Répéter les étapes (1?7)
jusqu'à ce que la taille de l'image soit inférieure à la
taille de la fenêtre utilisée pour
l'apprentissage.
9) Rétablir l'image avec sa taille
originale en précisant tous les visages
détectés.
Les étapes de cette démarche,
présentées ci-dessus, peuvent être résumées
dans la figure suivante :
Figure 3.10: Modele illustrant la demarche de
detection adoptee.
Conclusion
Ce chapitre nous a permis de présenter, dans une
première partie, les ondelettes, unidimensionnelles et
bidimensionnelles, générées à partir de la fonction
Bêta, ainsi que la notion de frames.
Ensuite, dans la deuxième partie, nous avons
détaillé la phase d'apprentissage des réseaux d'ondelettes
en expliquant ses étapes : la construction de la
bibliothèque d'ondelettes, le calcul des poids et leur optimisation
ainsi que le processus d'apprentissage dans un réseau d'ondelettes 2D.
Dans la troisième section, nous avons
présenté notre approche pour la détection de visages. Dans
cette partie, nous avons introduit l'architecture des réseaux
d'ondelettes proposée, ainsi que la démarche proposée pour
l'apprentissage que pour la détection de visages.
Dans le chapitre suivant, nous détaillerons
l'implémentation de cette approche de détection de visages, et
nous montrerons ses performances.
Chapitre 4
Expérimentation & résultats
Expérimentation &
résultats
Introduction
Dans ce chapitre, nous présentons la mise en oeuvre de
la méthode proposée et de la démarche
présentée dans ce mémoire pour la détection de
visages.
Il est primordial de valider l'approche choisie sur un
ensemble de données relativement volumineux. Ainsi, l'ensemble d'images
utilisées propose une gamme à diverses conditions (visage,
non-visage, plusieurs visages, grimaces, éclairage,...).
Dans une première partie, nous exposons
l'implémentation de notre application et les résultats
expérimentaux de détection de visages par réseaux
d'ondelettes Bêta. Ensuite, une évaluation objective des
performances de ces réseaux d'ondelettes Bêta est effectuée
en se basant sur certains critères de mesure. La dernière partie
est réservée pour l'analyse et l'interprétation des
résultats et des indices de performances calculés.
I. Implémentation des réseaux
d'ondelettes Bêta
1. Application
L'application a été développée
sous « MS Windows Vista» à l'aide
du logiciel MATLAB7.0.4. (Figure 4.1)
La démarche consiste à générer
toutes les ondelettes à partir de l'ondelette mère par
modification des paramètres de dilatation et de translation. Ces
ondelettes seront pivotées à plusieurs ongles (par exemple :
3 * 120°), pour mieux approximer l'image d'entrée, avant
d'être stockées dans une base d'ondelettes (matrice).
A chaque étape, une ondelette duale sera construite
à partir des ondelettes précédentes à une
échelle plus basse. Le poids de chaque ondelette sera recalculé
et ajusté.
Enfin, à partir de la base d'ondelettes et des poids
ajustés, un signal de sortie sera généré.
Il est à noter que les ondelettes de la base ne seront
pas toutes exploitées : Certaines d'entre elles seront
utilisées par le réseau, mais les autres seront exploitées
pour optimiser les poids.
Pendant la phase d'apprentissage du réseau, une image
de taille 15*15 sera remise à l'entrée de chaque réseau,
l'algorithme d'apprentissage sera tourné. Une erreur (EQM) mesurant la
distorsion entre l'entrée du réseau et sa sortie sera
calculée et l'indice de performances PSNR sera mesuré pour
définir un seuil à partir duquel on peut exiger si l'image
d'entrée est un visage ou non. Deux classes d'images seront
définies : classe Visage et classe Non-Visage.
Dans la phase de détection, l'image de test sera
parcourue par une fenêtre ayant la même taille que les images
d'apprentissage (15*15).
L'imagette extraite sera remise dans les différents
réseaux en calculant la Distance Euclidienne qui la sépare des
images d'apprentissage. On vérifie ensuite si la DE la plus proche
(DEmin) appartient à la classe Visage ou à la classe
Non-Visage. Une fois que l'image de test est totalement parcourue, on changera
sa résolution et on reprendra la comparaison...
Pour illustrer cette approche, nous avons
développé une interface graphique présentée
ci-dessous.
Figure 4.1: Interface de l'application de
détection de visages développée
Nous présentons, aussi, quelques images
représentant les principales fonctionnalités assurées par
notre application.
Figure 4.2: Interface d'insertion d'une nouvelle
image de test
Figure 4.3: Interface d'ajustement des
paramètres de la détection
Figure 4.4: Interface représentant le menu
d'aide
2. Résultats expérimentaux
Deux étapes sont indispensables pour faire fonctionner
l'application : phase d'apprentissage et phase de détection.
a. L'apprentissage
Dans cette phase nous exploitons une base d'images contenant
200 exemples. Chaque exemple est une image de taille 15*15 pixels appartenant
à l'une de deux classes Visage ou Non-Visage.
Pour un meilleur apprentissage :
· Pour la classe Visage, on trouve des images à
diverses conditions : images en couleurs ou en niveau de gris, images
claires ou sombres, visage avec des yeux fermés ou ouverts, visage avec
ou sans lunettes, visage avec ou sans barbe et/ou moustache,...
(Figure4.5)
· Pour la classe Non-Visage, on trouve des images
contenant des parties d'un visage, des parties du corps humain possédant
la couleur de visage, des images dont la couleur est proche de la couleur de
peau... (Figure 4.6).
Figure 4.5: Exemples d'images d'apprentissage de la
classe Visage
Figure 4.6: Exemples d'images d'apprentissage de la
classe Non-Visage
Dans le tableau suivant, nous présentons les PSNR
calculés pour quelques images d'apprentissage (Tableau 4.1)
N° de l'image
|
Classe de l'image
|
PSNR
|
N° de l'image
|
Classe de l'image
|
PSNR
|
01
|
Visage
|
45,679
|
21
|
Non-Visage
|
45,276
|
02
|
Visage
|
45,512
|
22
|
Non-Visage
|
48,397
|
03
|
Visage
|
45,904
|
23
|
Non-Visage
|
46,944
|
04
|
Visage
|
45,765
|
24
|
Non-Visage
|
46,992
|
05
|
Visage
|
46,101
|
25
|
Non-Visage
|
45,697
|
06
|
Visage
|
46,046
|
26
|
Non-Visage
|
49,499
|
07
|
Visage
|
45,426
|
27
|
Non-Visage
|
47,403
|
08
|
Visage
|
46,354
|
28
|
Non-Visage
|
47,002
|
09
|
Visage
|
46,095
|
29
|
Non-Visage
|
48,349
|
10
|
Visage
|
46,176
|
30
|
Non-Visage
|
50,454
|
11
|
Visage
|
44,955
|
31
|
Non-Visage
|
45,568
|
12
|
Visage
|
46,382
|
32
|
Non-Visage
|
47,970
|
13
|
Visage
|
50,241
|
33
|
Non-Visage
|
48,055
|
14
|
Visage
|
47,347
|
34
|
Non-Visage
|
49,583
|
15
|
Visage
|
47,053
|
35
|
Non-Visage
|
47,199
|
16
|
Visage
|
45,702
|
36
|
Non-Visage
|
46,722
|
17
|
Visage
|
45,763
|
37
|
Non-Visage
|
47,616
|
18
|
Visage
|
47,995
|
38
|
Non-Visage
|
47,120
|
19
|
Visage
|
48,761
|
39
|
Non-Visage
|
47,397
|
20
|
Visage
|
46,750
|
40
|
Non-Visage
|
51,017
|
Tableau 4.1: Les valeurs du PSNR de la classe
Visage et de la classe Non-Visage
D'après le tableau précédent on remarque
un chevauchement des valeurs du PSNR dans l'intervalle [44.955
, 51.017]. Donc le choix du seuil est fixé à la
valeur 45.
b. La détection
Dans cette phase de test, les images utilisées
possèdent différentes caractéristiques : taille de
l'image, sa résolution, avec ou sans couleurs,... pour assurer une
meilleure évaluation du système développé.
Certaines de ces images contiennent un seul visage, d'autres contiennent
plusieurs visages à diverses positions et tailles.
Figure 4.7: Application de détection de
visages sur une image à un seul visage
A la fin de cette phase de détection, il faut
rétablir l'image à sa taille originale en précisant tous
les visages détectés.
Voici quelques images de test retournées par notre
système après détection de visages :
Figure 4.8 : Exemples de détection dans
une image contenant un seul visage
Figure 4.9 : Exemple de détection dans
une image contenant plusieurs visages
II. Mesure des performances
Pour mieux évaluer l'approche proposée pour la
détection de visages, nous proposons quelques indices de mesure (Taux de
détection et Taux de mauvaise détection) permettant
d'apprécier les résultats trouvés. Quelques images de test
seront utilisées, en appliquant l'algorithme proposé, ensuite
nous essayons d'interpréter les indices trouvés.
1. Critères de performance
a. Taux de détection
Cette valeur permet de calculer le pourcentage des bonnes
détections de visages dans une image. Elle est donnée par
l'expression (4.1). Plus la valeur de cette expression est
élevée, plus l'approche proposée est efficace
(performante).
b. Taux de mauvaise détection
Cette valeur permet de calculer le pourcentage des mauvaises
détections, c'est-à-dire que la partie localisée dans
l'image n'est pas un visage. Elle est donnée par l'expression (4.2).
Plus la valeur de cette expression est réduite, plus l'approche
proposée est efficace.
2. Évaluation des résultats
L'application de deux critères de performance
exprimés précédemment sur quelques images de test,
comportant un ou plusieurs visages, a permis d'avoir les résultats
donnés dans les tableaux ci-dessous en fonction de PSNR par rapport au
seuil prédéfini (Seuil = 45):
a. Calcul de performances de l'approche
proposée
|
Détection de visages par réseaux
d'ondelettes Bêta
|
|
Taux de détection
|
Taux de mauvaise détection
|
Image de test 1
|
100%
|
0%
|
Image de test 2
|
100%
|
0%
|
Image de test 3
|
100%
|
50%
|
Image de test 4
|
100%
|
33.33%
|
Image de test 5
|
75%
|
25%
|
Tableau 4.2 : Calcul de performances de
l'approche proposée
b. Calcul de performances en fonction du
PSNR
|
Détection de visages par réseaux
d'ondelettes Bêta
|
|
PSNR < seuil (43)
|
PSNR = seuil (45)
|
PSNR > seuil (47)
|
|
Taux de détection
|
Taux de mauvaise détection
|
Taux de détection
|
Taux de mauvaise détection
|
Taux de détection
|
Taux de mauvaise détection
|
Image de test 1
|
100%
|
66,67%
|
100%
|
0%
|
100%
|
0%
|
Image de test 2
|
100%
|
50%
|
100%
|
0%
|
0%
|
-
|
Image de test 3
|
100%
|
66,67%
|
100%
|
50%
|
100%
|
50%
|
Image de test 4
|
100%
|
75%
|
100%
|
33.33%
|
50%
|
0%
|
Image de test 5
|
50%
|
57,14%
|
75%
|
25%
|
25%
|
0%
|
Tableau 4.3 : Calcul de performances de
l'approche proposée avec PSNR
III. Interprétation et discussion
Les résultats ont montré que les performances
des réseaux d'ondelettes exploitant la théorie des fra mes,
présentent des caractéristiques intéressantes dans le
domaine de la détection de visages dans une image.
Pour les images contenant un nombre réduit de visages,
le taux de détection peut atteindre un pourcentage de 100% avec un taux
faible de mauvaise détection voir même un pourcentage de 0% pour
certains cas d'un seul visage.
Pour les images contenant un nombre important de visages le
taux de détection décroît et le taux de mauvaise
détection augmente mais avec un taux faible.
En effet, les résultats de la détection ont
montré aussi que le taux de détection décroît avec
le nombre de visages dans une image, allant de 100% pour un nombre de visages
inferieur ou égale à 2, jusqu'à la valeur de 75% pour les
images dont le nombre de visages dépasse 3. De même, on remarque
que le taux de mauvaise détection augmente en fonction de la
complexité de l'image (Nombre de visage, Éclairage,
Qualité de l'image, ...).
Le nombre de visage dans l'image est un facteur ayant son
poids sur le taux de détection et le taux de mauvaise détection.
Mais, le nombre de visages n'est pas le seul facteur qui influe sur
l'efficacité de l'approche dans la détection. La qualité
de l'image, aussi, joue un rôle très important, ainsi que sa
résolution...
Nous avons fixé le seuil du PSNR à 45, c'est la
valeur optimale pour que les réseaux d'ondelettes, exploités dans
cette approche, convergent et donnent des résultats satisfaisants.
En effet, nous avons effectué différents essais
en utilisant une valeur inférieure au seuil (seuil = 43) et une
autre supérieure au seuil (seuil = 47) et nous avons
remarqué que lorsqu'on diminue le seuil, les performances des
réseaux, en termes de taux de détection, restent importantes.
Mais, le taux de mauvaise détection devient remarquable. A l'inverse,
lorsqu'on augmente ce seuil, les performances des réseaux, en termes de
taux de détection, se dégradent, mais avec des taux de mauvaise
détection plus faible.
Ces remarques peuvent être expliquées par la
qualité de l'image reconstruite.
· Lorsque le PSNR est faible (PSNR < Seuil), l'image
retournée manque de précision, qu'elle soit Visage ou Non-Visage.
Par conséquent plusieurs images d'apprentissage la ressemblent, ce qui
explique ce taux élevé de détection et de mauvaise
détection.
· Lorsque le PSNR est élevé (PSNR >
Seuil), l'image retournée est très précise. Par
conséquent, sa ressemblance avec une image de la base d'apprentissage
devient de plus en plus faible, ce qui explique le faible taux de
détection de visages et de mauvaise détection aussi.
Conclusion
Dans ce chapitre, nous avons évoqué notre
contribution dans le domaine de la détection de visages. Nous avons
proposé une approche exploitant les réseaux d'ondelettes
Bêta basée sur la théorie des frames, pour l'apprentissage
et la détection de visages humains dans une image. Nous avons
conçu un système capable d'exécuter la tâche de
détection automatique de visages à l'aide d'un algorithme
d'apprentissage.
Les indices de performances dégagés, ont permis
de conclure que notre approche présente des performances très
intéressantes surtout pour des images ne contenant pas trop de visages,
d'ailleurs on a eu des taux de détection de 100% pour ce type d'images
et un taux dépassant 75% pour des images contenant plusieurs visages.
Les performances des réseaux d'ondelettes Bêta,
dont l'apprentissage est basé sur la théorie des frames, comme
classificateurs pour la détection de visages sont évidentes
à travers les résultats. La robustesse et la rapidité de
cette approche font valoir les avantages de ces réseaux.
Conclusion Générale &
Perspectives
Dans ce mémoire, nous avons apporté notre
contribution dans le domaine de détection de visages dans une image en
adoptant une approche basée sur l'exploitation des réseaux
d'ondelettes Bêta basés sur la théorie des frames.
Nous avons commencé par une présentation de
l'état de l'art comportant une explication du principe de la
détection de visages ainsi qu'un survol sur les différentes
méthodes et techniques antérieures.
Ensuite, nous avons présenté les réseaux
d'ondelettes en décrivant la technique de l'analyse en ondelettes et ses
avantages par rapport à l'analyse de Fourrier. Nous avons passé
aussi par les avantages des réseaux d'ondelettes par rapport aux
réseaux de neurones à travers une comparaison entre les deux
approches. A la fin de cette partie, quelques méthodes utilisant les
réseaux d'ondelettes ont été citées.
Les réseaux d'ondelettes sont largement utilisés
dans les problèmes de la classification et l'identification. Nous avons
d'une part, étudié les particularités des réseaux
d'ondelettes dans ce domaine. D'autre part, nous avons démontré
leur capacité de réaliser un taux de détection assez
élevé.
Dans l'approche proposée dans ce travail, nous avons
exploité les réseaux d'ondelettes Bêta. Nous avons
présenté d'abord, les étapes d'une démarche
permettant d'assurer la phase d'apprentissage en utilisant les frames. Puis,
une autre démarche a été proposée pour la phase de
détection de visages.
En fait, la théorie des frames assure une
représentation exacte et sans redondance d'un signal en le projetant sur
la base des ondelettes, ce qui nous permet un calcul direct et d'une
façon optimale des poids de connexions de nos réseaux.
A la fin de ce mémoire, les résultats
expérimentaux de l'implémentation sont présentés et
interprétés pour montrer l'efficacité de la
méthode proposée.
Ce travail réalisé peut être
amélioré par son test sur d'autres bases d'images ou dans
d'autres domaines de détection ou par son optimisation en adoptant une
démarche sélective des ondelettes à introduire dans les
réseaux. Il peut être exploité, aussi, par son
intégration dans un processus de reconnaissance de visages par
réseaux d'ondelettes dans une image ou une séquence vidéo.
Bibliographie
· Articles, ouvrages et mémoires
[1] H. A. Rowley, S. Baluja, and T. Kanade.
Neural network-based face detection. IEEE Trans.
Pattern Analysis Machine Intelligence, 20:23-38, 1998.
[2] S.-H. Lin, S.-Y. Kung, and L.-J. Lin.
Face recognition/detection by probabilistic decision based neural
network. IEEE Trans. Neural Networks, 8:114-132, 1997.
[3] W. Karam, C. Mokbel, H. Greige, B.
Pesquet-Popescu, G. Chollet : Un système de
détection de visage et d'extraction de paramètres basé sur
les SVM et des contraintes, Computer Science Department,
University of Balamand, Tripoli, Lebanon, Ecole Nationale Supérieure des
Télécommunications, Paris, France, 2004.
[4] F. Boray Tek: Face detection
using learning networks, A thesis from the middle east technical
university, June 2002
[5] L.Carminati :
Détection et suivi de visage par Support Vector Machine
robustes aux changements d'echelle, Thèse du Centre
National de la Recherche Sientifique.
[6] M. Benkiniouar, M. Benmohamed :
Méthodes d'identification et de reconnaissance de visages en
temps réel basées sur AdaBoost, Novembre 2005
[7] Y. Wang, C.S. Chua: Robust
face recognition from 2D and 3D images using structural Hausdorff
distance, Image and Vision Computing 24(2)(2006)176-185.
[8] G. Potamianos, C. Neti, J. Luettin, and
I. Matthews, Audio-Visual Automatic Speech Recognition: An
Overview. In: Issues in Visual and Audio-Visual Speech
Processing, G. Bailly, E. Vatikiotis-Bateson, and P. Perrier (Eds.), MIT Press,
2004.
[9] D. Ginhac, E. Prasetyo, M. Paindavoine,
Localisation et Reconnaissance de visages : Vers une implantation
sur silicium, Laboratoire LE2I - UMR CNRS 5158 Université
de Bourgogne
[10] G. Yang and T. S. Huang.
Human face detection in complex background. Pattern
Recognition, 27:53-63, 1994.
[11] Iyengar S.S., E.C. Cho and V. Phoha,
Foundations of Wavelet Networks and Applications.
Chapman and Hall/CRC Press, June 2002.
[12] L. Chiunhsiun, F. Kuo-chin,
Human Face Detection using Geometric triangle
relationship, 15th International Conference on Pattern
Recognition ICPR'2000, Barcelona, September 3-8, 2000.
[13] M. Zaied, Etude des
réseaux d'ondelettes Bêta : Application à la reconnaissance
de visages. Thèse de doctorat, Laboratoire REGIM-ENIS.
Sfax, Février 2008.
[14] A. J. Colmenarez and T. S. Huang.
Face detection with information-based maximum
discrimination. IEEE Proc. of Int. Conf. on Computer Vision and
Pattern Recognition, 1997.
[15] O. Sawettanusorn, Y. Senda, S. Kawato,
N. Tetsutani, and H. Yamauchi, Real-Time Face Detection Using
Six-Segmented Rectangular Filter (SSR Filter) Ritsumeikan
University, Shiga, Japan and ATR Media Information Science Laboratories,
Kyoto, Japan
[16] S. Kawato and J. Ohya.
Real-time detection of nodding and head-shaking by directly
detecting and tracking the between-eyes. Proceedings Fourth IEEE
International Conference on Automatic Face and Gesture Recognition, 2000.
[17] J. Cai and A. Goshtasby.
Detecting human faces in color images. Image and
Vision Comput., 18:63-75, 1999.
[18] R. Kjedsen and J. Kender.
Finding skin in color images. Proc. of the
2nd Int. Conf. on Automatic Face and Gesture Recognition, pages
312-317, 1996.
[19] J. Yang and A. Waibel. A
real-time face tracker. IEEE Proc. of the 3rd Workshop
on Applications of Computer Vision, 1996.
[20] E. Osuna, R. Freund, and F. Girosi.
Training support vector machines: An application to face
detection. IEEE Proc. of Int. Conf. on Computer Vision and
Pattern Recognition, 1997.
[21] R. O. Duda, P. Hart, and D. G. Stork.
Pattern Classification. WileyInterscience, 2 edition,
2001.
[22] R. Fransens, C. Strecha, L. Van Gool,
Parametric Stereo for Multi-Pose Face Recognition and 3D-Face
Modeling, PSI ESAT-KUL, Leuven, Belgium 2005
[23] H. Schneiderman and T. Kanade.
Probabilistic modeling of local appearance and spatial
relationships for object recognition. IEEE Conference on Computer
Vision and Pattern Recognition, 6, 1998.
[24] H. Schneiderman and T. Kanade.
A statistical model for 3d object detection applied to faces and
cars. IEEE Conference on Computer Vision and Pattern Recognition,
2000.
[25] V. Kumar and T. Poggio.
Learning-based approach to real time tracking and analysis of
faces. Proc. 4th IEEE Int. Conf. on Automatic Face and Gesture
Recognition, Sept.1999.
[26] N. Oliver, A. Pentland and F. Berard.
A real-time face and lips tracker with
facial expression recognition. IEEE Trans. on Pattern
Recognition, 33:1369-1382, 2000.
[27] A Pentland, B. Moghaddam, and T.
Strarner. View-based and modular eigenspaces for face
recognition. IEEE Proc. of Int. Conf. on Computer Vision and
Pattern Recognition, pages 84-91, 1994.
[28] B. Moghaddam and A. Pentland.
Probabilistic visual learning for object representation.
IEEE Trans. Pattern Analysis and Machine Intelligence, 19(1),
1997.
[29] V. Kumar and T. Poggio.
Learning-based approach to real time tracking and analysis of
faces. Proc. 4th IEEE Int. Conf. on Automatic Face and Gesture
Recognition, 2000.
[30] D. Roth, M.-H. Yang, and N. Ahuja.
A snow-based face detector. Advances in Neural Information
Processing Systems. 12, 2000.
[31] Y. Zhu, S. Schwartz, and M. Orchard.
Fast Face Detection Using Subspace Discriminant Wavelet
Features. Electrical Engineering, Princeton University. IEEE Int.
Conf. on Computer Vision and Pattern Recognition, 2000.
[32] I. Boaventura, V. M. Volpe, A. Sanches
et A. Gonzaga. A face detector using Neural Networks and Discrete
Wavelet Transforms. IBILCE-UNESP UNIRP EESC-USP.
[33] R. Lim, M. J.T. Reinders and Thiang.
Face Detection Using Skin Color and Gabor Wavelet Representation.
Proc. of the International Conf. on Electrical, Electronics,
Communication, and Information CECI'2001, March 7-8, Jakarta
[34] M.H. Yang, N. Ahuja, D. Kriegman:
Detecting Human Faces in Color Images. Proc. of the
1998 IEEE International Conference on Image Processing (ICIP 98), pp. 127-139,
Chicago, October, 1998.
[35] M.H. Yang, N. Ahuja, D.
Kriegman: Face Detection Using a Mixture of Factor
Analyzers. Proc. of the 1999 IEEE International Conference on
Image Processing (ICIP 99), Kobe, Japan, 1999.
[36] E. Viennet and F. Fogelman
Soulié. Connectionist methods for human face processing, in
Face Recognition: From Theory to Application. Springer-Verlag,
Berlin/New York, 1998.
[37] C. Garcia, G. Zikos and G. Tziritas.
Face Detection in Color Images using Wavelet Packet Analysis.
Institute of Computer Science, Foundation for Research and
Technology-Hellas. Greece.
[38] S. Zhou, V. Krueger, and Rama Chellappa.
Face Recognition from Video: A CONDENSATION Approach.
Center for Automation Research (CfAR), Department of Electrical
& Computer Engineering, University of Maryland.
[39] S. Satoh, Y. Nakamura, and T. Kanade.
Name-it: naming and detecting faces in news videos.
IEEE Multimedia, 6:22-35, 1999.
[40] R.S. Feris, J. Gemmell, V. Krüger,
and K. Toyama. Facial Feature Detection Using A Hierarchical
Wavelet Face Database. Microsoft Research, University of
Maryland.
[41] Y. Oussar. Réseaux
d'ondelettes et réseaux de neurones pour la modélisation statique
et dynamique de processus. Thèse de doctorat de
l'université Pierre et Marie Curie. Paris, France. Juillet 1998.
[42] L. Sirovich and M. Kirby.
Low-dimensional procedure for the characterization of human
faces. Journ. Optical Society America, 4:519-524, 1987.
[43] T. H. Lin, W. P. Shih.
Automatic face authentication with self compensation. Image and
Vision Computing. October 2007.
[44] I. Daubechies. Ten Lectures
of Wavelets. Rutgers University and AT & T bell Laboratories,
Sept.1992.
[45] D. Jonathan, B. Michael et F.
Sébastien. Les Ondelettes. Université
Libre de Bruxelles. Printemps des Sciences. Bruxelles. Belgique.
[46] J.-C. Terrillon, M. Shirazi, H.
Fukamachi, and S. Akamatsu. Comparative performance of different
skin chrominance models and chrominance spaces for the automatic detection of
human faces in color images. in Proceedings Fourth IEEE
International Conference on Automatic Face and Gesture Recognition, 2000.
[47] M. Turk and A. Pentland.
Eigenfaces for recognition. Journal Cognitive
Neuroscience, 3(1) : 71-86. 1991.
[48] M. Zaied,C. Ben Amar and A. M. Alimi.
Beta Wavelet Networks For Face Recognition.
Intelligent Decision Systems, pages 109-122. JDS-14/2005.
[49] W.Bellil, C. Ben Amar et M. A. Alimi.
Etude d'une nouvelle famille d'ondelettes à base de la
fonction Bêta. Laboratoire REGIM-ENIS, Sfax, Tunisie. 2004.
· Références Web
v Face Detection & Recognition
http://www.liacs.nl/home/lim/face.detection.html
v Index of pub face data bases
http://ftp.uni-erlangen.de/pub/facedb/
v Sébastien Marcel - Frontal Face Data
bases
http://www.idiap.ch/resources/frontalfaces/
v
BioID-Technology Research: The BioID Face Database
http://www.bioid.com/downloads/facedb/index.php
v Resources for Face Detection
http://vision.ai.uiuc.edu/mhyang/face-detection-survey.html
v Face Detection Homepage: Face finding and
recognition
http://www.facedetection.com/
v Face
detection http://vasc.ri.cmu.edu/NNFaceDetector/
v Pittsburgh Pattern
Recognition http://www.pittpatt.com/
Apprentissage des réseaux d'ondelettes
Bêta par la théorie des frames :
Application à la détection de
visages
Faouzi HAJJEM
ÇáÎáÇÕÉ :
ÕÈÍÊ ÊÞäíÇÊ
ÊÚÑ ÇáæÌæå
ãä ÎáÇá
ÇáÕæÑ
ÈÇÓÊÎÏÇã
ÇáÌåÒÉ
ÇáÑÞãíÉ
æÇáÑæÈæÊÇÊ
ßËÑ ßËÑ
ÊØæÑÇ
áÊáÈíÉ
ÇÍÊíÇÌÇÊ
ÇáÅäÓÇä í
ãÌÇáÇÊ Çáãä
æÇáÊÍßã
ÇáÂáí. æ ÈäÇÁ
Úáíå Åä ÇáßÔ
Úä ÇáæÌæå í
åÐå ÇáÕæÑ
íãËá ãÑÍáÉ
ÍÇÓãÉ ÊÓÈÞ
ãÑÍáÉ
ÇáÊÚÑ
ÚáíåÇ. æ ãä
åäÇ ÊÊí
ÇáÍÇÌÉ
ÇáãáÍÉ
áÊÍÓíä
ÊÞäíÇÊ ÇáßÔ
Úä ÇáæÌæå
æÇáÊí åí
ãæÖæÚ åÐå
ÇáãÐßÑÉ.
áÞÏ ÙåÑÊ
ÚÏíÏ ÊÞäíÇÊ
ÇáßÔ Úä
ÇáæÌæå ãäåÇ
Êáß ÇáÊí
ÊÚÊãÏ ??? ÎÕÇÆÕ
åäÏÓÉ ÇáæÌå
æ ÎÑì ÊÚÊãÏ
Úáì ÔÈßÇÊ
ÇáÎáÇíÇ
ÇáÚÕÈíÉ
ÇáÇÕØäÇÚíÉ
ÈíäãÇ ÊÚÊãÏ
ÊÞäíÉ ËÇáËÉ ???
ÇáßËÇÉ
æÇááæä í
ÇáÕæÑÉ...
æäÍä í åÐÇ
ÇáÚãá äÏáí
ÈãÓÇåãÊäÇ í
ÇáÊÍáíá
æÇáßÔ Úä
ÇáæÌæå
龂
ÔÈßÇÊ
ÇáãæíÌÇÊ Bêta
ÇáÞÇÆãÉ Úáì
äÙÑíÉ
ÇáãæíÌÇÊ
ÇáãÇÆáÉ
ÞÏãäÇ æÕÇ
ááäãæÐÌ
ÇáãÞÊÑÍ
áåÐå ÇáÔÈßÉ
æ ßííÉ
ÊÏÑíÈåÇ Ëã
ÞÏãäÇ
ÇáãÈÇÏÆ æ
ÇáÎØæÇÊ
ÇáãÊÈÚÉ. æ ÞÏ
Êã ÊØæíÑ
äãæÐÌ
龂
MATLAB
ááÇÎÊÈÇÑ æ
ÇáãÕÇÏÞÉ.
ÎíÑÇ æ
áÊÞííã
ÇáäÊÇÆÌ
ÚÏÏíÇ æ
ÊÞííã ÚÇáíÉ
ÇáäãæÐÌ
ÇáãÞÊÑÍ
ÍÏÏäÇ ÈÚÖ
ÇáãÚÇííÑ
æÇÓÊÎÑÌäÇ
ÈÚÖ ÇáÌÏÇæá
Úáì ÓÇÓåÇ
ááÊÍáíá
æÇáÇÓÊÎáÇÕ.
ÇáßáãÇÊ
ÇáãÇÊíÍ :
ßÔ ? ÍÕÑ
ÇáæÌæå?
ÇáãæíÌÇÊ?
ÇáãæíÌÇÊ
ÇáãÇÆáÉ?
ÔÈßÇÊ
ÇáãæíÌÇÊ?
ÇáãæíÌÉBêta .
Résumé : Les techniques
de la reconnaissance de visages, à l'aide des appareils digitaux et des
robots, sont de plus en plus perfectionnés pour satisfaire des besoins
humains dans les domaines de la sécurité et du contrôle
automatisé. Il est donc indispensable de s'intéresser à la
détection de visages dans une image qui représente une phase
primordiale qui précède la phase de la reconnaissance.
D'où la nécessité d'améliorer les techniques de
détection de visages, qui fait l'objet de ce mémoire.
Différentes méthodes de détection ont
été développées, parmi lesquelles, on peut citer
les approches exploitant la géométrie et les
caractéristiques du visage, les approches neuronales et les approches
basées sur des modèles probabilistes de l'intensité et de
la couleur dans l'image.
Nous avons, dans ce travail, apporté notre contribution
à l'analyse et détection de visages par réseaux
d'ondelettes Bêta basés sur la théorie des frames. Nous
avons décrit l'architecture proposée de ce réseau et son
algorithme d'apprentissage. Ensuite nous avons présenté le
principe et les étapes de notre approche. Un prototype graphique sous
MATLAB a été développé
pour valider les algorithmes utilisés et tester l'approche suivie.
Enfin, pour apprécier numériquement les
résultats et évaluer l'efficacité de la démarche
proposée, nous avons défini quelques mesures et nous avons
dégagé des tableaux d'évaluation en fonction de ces
mesures.
Mots clés : Détection de
visages, Ondelettes, Frames, Réseaux d'ondelettes, ondelette
Bêta.
Abstract : The techniques of faces
recognition, using digital machines and robots, are increasingly successful to
satisfy human needs in the field of security and automated control. It's thus
necessary to be interested in face detection in an image that represents a
paramount phase which precedes that of recognition. From where appears the
necessity of improving the techniques of face detection, that represents the
object of this memory.
Various detection methods were developed, among which, we can
speak about the approaches exploiting the geometry and the characteristics of
the face, the neural approaches and those based on probabilistic models of the
intensity and the color in the image.
In this work, we have contributed to face analysis and
detection thanks to Beta wavelet networks that are based on frames theory. We
have also used proposed architecture of this network and its training
algorithm. Then, we presented principle and stages of our approach. A graphic
prototype under MATLAB was developed to validate the
used algorithm and to test the followed approach.
Finally, to value the results and evaluate the effectiveness
of the proposed process, we identified some measurements as well as evaluation
tables according to these measurements.
Key-words : Faces detection, Wavelets,
Frames, Wavelets networks, Beta wavelet.
* 1 Petite image
* 2 Voir Chapitre 3 Page 52.
* 3 Voir Chapitre2 Page 41.
|