Application de l’Adaboosting à la détection de visages
Séminaire Giens, 15 juin 2009
S.Paris LSIS/DYNI
Plan de la présentation
I. Introduction
II. Éléments sur la théorie de l’apprentissage
III. L’Adaboosting
IV. Descripteurs Haar & LBP
V. Conclusions & Perspectives
Introduction (1/5)
� La détection de visages est une problématique rencontrée notamment en :
� Vidéo surveillance
� Mis au point Autofocus d’appareils photos
� La phase de détection représente souvent la première étape dans une chaîne de traitement de plus haut niveau, eg. reconnaissance de visages
Introduction (2/5)� Le détecteur consiste à balayer l’image avec une fenêtre d’analyse de différentes tailles
En général, de multiples détections se concentrent autour des visages, tandis que les fausses alarmes sont réparties uniformément
Multiples détections
Fausses alarmes
� Une étape de Post-traitement consiste à « réunir » toutes les détections qui « s’entremêlent » et d’éliminer les détections isolées afin
i) d’améliorer la précision de localisation des visages,
ii) de diminuer la fausse alarme.
Introduction (3/5)
Il existe de nombreuses techniques pour réaliser ce post-traitement, capital pourtant et souvent minoré dans les publications.
� Les principaux problèmes rencontrés lors de la détection :
� l’orientation et des différentes échelles des visages
� la multitude des expressions faciales
� les occlusions
� les conditions de prise des images
Introduction (4/5)
� Les techniques de détection de visages sont regroupées en 4 familles
� les méthodes s’appuyant sur la géométrie et l’anthropométrie du visage (positions des yeux, symétries, etc…),
� les méthodes s’appuyant sur des calculs d’attributs structurels robustes (couleur de peau, contours + blobs, etc..),
� les méthodes effectuant une corrélation avec un « visage » ou parties de visage de référence,
� les méthodes s’appuyant sur un apprentissage de la variabilité des visages (Eigenfaces, etc…)
Introduction (5/5)
Nous considérons pour la suite, le problème de détection de visages comme un problème de classification supervisée binaire.
NotationsOn dispose d’une base finie de données d’images (ex : MIT+CMU)
Associées à ces images, on dispose également de leur étiquette
où chaque
L’étiquette est associée aux visages tandis que l’étiquette est associée aux non visages.
Notations
En général, on n’apprend pas directement à partir des images mais àpartir d’attributs (calculés sur les images) permettant en général de :
� diminuer la dimension de représentation des images,
� d’améliorer les performances en détection.
Soit la collection des vecteurs d’attributs calculés à partir de
On définit l’ensemble (attributs, étiquettes) par :
D’un point vue formel, l’apprentissage consiste « déterminer » la fonction (machine) :
Le rôle de cette machine est de prédire l’étiquette associée à une toute entrée
La machine apprenanteCette machine , doit à partir des seuls , capturer autant que faire soit peu la dépendance fonctionnelle sur entier.
Cette machine dépend en général d’un paramètre et dans le cas d’une classification binaire s’écrit sous la forme :
Objectif : trouver un principe inductif général qui permet d’apprendre
à partir des seuls .
Si la fonction est la fonction 0-1 alors est l’erreur d’apprentissage empirique et le risque total se réécrit
Risques, performancesOn définit le risque total par
où désigne une fonction de coût entre l’étiquette et sa prédiction par la machine.
En pratique est inconnue et seul le risque empirique peut être calculé :
marge
Minimisation du Risque Empirique (ERM)Une idée naturelle d’induction est d’approcher la machine idéale en minimisant le risque empirique i.e.
Toutefois, plus la « richesse » du classifieur est importante, i.e. a les capacités de minimiser encore plus l’ERM, plus on observe le phénomène suivant :
Risque calculé sur l’ensemble
d’apprentissage
Risque calculé sur l’ensemble de test
« richesse » modèle
Sans savoir pourquoi, pendant longtemps, une solution pratique a étéd’arrêter l’apprentissage dès que l’erreur sur un ensemble de test augmente.
Plus le classifieur devient un bon « mémorisateur », moins il peut prédire correctement des données non vues, c-a-d moins il possède des capacités de généralisation. Mais pourquoi observe-t-on ça ?
Question posée : dans quelles conditions l’ERM est justifiée, i.e. on a la consistance de l’ERM ?
Minimisation du Risque Structurel (SRM)
Vapnik dans sa théorie répond à cette question, mais également à
� quelle est vitesse de convergence?
� comment contrôler la capacité de généralisation (SRM)
Th : « Pour que l’ERM soit consistant et indépendant de la distribution des exemples, il suffit que est une VC-dimension finie »
Sous la PAC forte (Probability Approximation Correct), Vapnik montre avec une probabilité
Risque empirique Risque réel Intervalle de confiance
Minimisation du Risque Structurel (SRM)
Risque empirique
Risque réel
Intervalle de confiance
En général, le risque empirique est une fonction décroissante de la VC-dimension.
sera d’autant plus grand que l’on travaille avec un nombre restreint d’exemples et/ou un classifieur avec une VC-dimensiongrande.
Exemple : pour un MLP, nombre de neurones . Choix par CV.
Une nouvelle technique d’induction est de minimiser la somme de 2 termes, i.e. l’erreur structurelle :
Lien entre la SRM et les classifieurs à vaste marge
Objectif des classifieurs à vaste marge (eg. SVM) : trouver un paramètre minimisant l’erreur d’apprentissage tout en cherchant la plus grande marge de séparation entre éléments des 2 classes
Or Vapnik a montré
Trouver un classifieur qui maximise également , fait diminuer l’intervalle de confiance et donc garantie une certaine capacité de généralisation.
Quel choix de classifieurs à vaste marge en détection de visages ?
La base de données dont on dispose possède un très grand nombre d’attributs (> 10000, voire > 100000) et un grand nombre d’exemples (≈10000)
Idéalement on cherche un classifieur (lettre au père noël) :1. qui maximise globalement une marge pour garantir une certaine capacité
de généralisation,
2. qui prédit avec un minimum d’opérations (aspect détection temps-réel)
3. qui s’infère le plus rapidement possible.
Compromis à trouver entre les 3 voeux
SVM
Adaboost
RemarquesMargeOptimisationNormesPrédictionApprentissageAlgorithme
Nb support vectors
Nb weak-learner
quadratique, recherche globale
linéaire, recherche locale gloutonne
Maximum
≥ Maximum/2
se concentre sur les mal classés
Pourquoi choisir Adaboost ?Le choix de l’Adaboost se justifie car � la prédiction peut être en (selon le choix du weak-learner),
� tend à maximiser également une marge.
La classifieur Adaboost consiste à construire un classifieur « fort »à l’aide d’une somme pondérée de classifieurs faibles .
La marge de l’adaboost se définit par :
0.2 0.4 0.6 0.8 1
0.2
0.4
0.6
0.8
Vraie marge
Marge de l’adaboost
Schapire 98
Rätsch 02
AdaboostL’idée principale de l’Adaboost est de définir à chaque étape , une nouvelle distribution de probabilités sur les exemples d’apprentissage en fonction des résultats à l’étape . La détermination des se fait donc séquentiellement.
Au cours des itérations, l’algorithme se concentre sur les exemples mal classés (au travers de ).
A l’itération , le classifieur faible est celui qui minimise le plus l’erreur empirique pondérée selon la distribution parmi tous les classifieurs faibles disponibles :
avec
Puis est mis-à-jour en fonction de et
Chaque classifieur faible doit être plus performant que le classifieuraléatoire, i.e.
Adaboost pour la détection de visagesLe classifieur faible généralement utilisé est le « Decision Stump », i.e. un arbre de décision à 2 feuilles où
Cela revient à déterminer l’indice de l’attribut, le seuil séparant au mieux les 2 classes et le sens de comparaison.
Choix des descripteursLe choix des descripteurs est un compromis entre :� leur pouvoir discriminatif entre les 2 classes,
� leur robustesse à différentes perturbations (condition d’illumination, transformation, bruit, etc…)
� et leur simplicité de calcul.
2 types de descripteurs couramment utilisés :� descripteurs de Haar,
� descripteurs LBP (Local Binary Pattern).
Leur calcul repose sur l’évaluation d’intégrales et sont accélérés grâce au calcul préalable de l’image intégrale
Descripteurs de HaarFormes d’ondelettes primitives calculées pour différentes positions et à différentes échelles
Revient à sommer et/ou à retrancher des intégrales calculées sur l’image
Chaque classifieur faible retenu par Adaboost correspond à un pattern positionné dans l’image avec un certain facteur d’échelle.
Nombre total d’attributs calculés sur une image avec patterns
avec
Descripteurs LBP (1/2)8 aires sont comparées avec l’aire centrale et code un mot binaire.
Descripteurs insensibles aux variations d’illumination
Extension aux Multi-Block LBP : globalité du descripteur contrôlé par la taille du block
Descripteurs LBP (2/2)Nombre total d’attributs calculés sur une image
avec
Performances supérieures des MBLBP et
CascadesLorsque le détecteur balaye l’image, une grande majorité des fenêtres analysées indiquent un « non-visage ». L’occurrence des visages est rare dans une image.
Idée : Accélérer grandement l’analyse en rejetant le plus rapidement les non-visages.
Au détriment d’une légère baisse des performances en détection, cascader plusieurs classifieurs forts accélère la rejection des non-visages (classe majoritaire).
exemple
Conclusions & Perspectives� Détection performante et rapide grâce :
� à l’adaboost : classifieur à vaste marge,
� attributs calculés rapidement via l’intégrale image,
� classifieur faible = decision stump,
� technique de cascade.
� Amélioration d’Adaboost :
� Utiliser des versions d’adaboost à marge douce,
� Minimisation « globale » de l’erreur structurelle via optimisation stochastique.
� Relevance Support Vector Machine + noyaux séparables + cascades
� Approche Bayésienne : Expectation-Propagation
� Attributs : sift, surf + Integral Histogram
Démo
Au tout début …Les années 1930-1960 représentent l’age d’or du paradigme
paramétrique classique basé sur les 3 croyances suivantes :1. La dépendance fonctionnelle des données peut être approchée par un jeu
(relativement petit) de fonctions linéaires dans leurs paramètres (cf. Th de Weierstrass).
2. Les processus stochastiques des problèmes réels suivent une loi normale.
3. La méthode de maximum de vraisemblance est une bonne méthode pour estimer les paramètres de ces fonctions approximantes.
Ces 3 croyances vont rapidement montrer leurs limites
1. Bellman met en évidence un phénomène appelé « course à la dimensionnalité » qui indique que la complexité calculatoire augmente exponentiellement avec le nombre de paramètres. Hors par exemple, si n’est pas une fonction « lisse », il faut donc un nombre exponentiel de termes pour l’approcher.
2. Un grand nombre de phénomènes réels ne suivent pas une loi normale.
3. Même dans un cas simple de l’estimation de la moyenne d’une gaussienne pour , l’estimateur de maximum de vraisemblance n’est pas le meilleur.