27
Application de l’Adaboosting à la détection de visages Séminaire Giens, 15 juin 2009 S.Paris LSIS/DYNI

Tutoriel Adaboost Haar Lbp Face Detection

Embed Size (px)

Citation preview

Page 1: Tutoriel Adaboost Haar Lbp Face Detection

Application de l’Adaboosting à la détection de visages

Séminaire Giens, 15 juin 2009

S.Paris LSIS/DYNI

Page 2: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 3: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 4: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 5: Tutoriel Adaboost Haar Lbp Face Detection

� 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.

Page 6: Tutoriel Adaboost Haar Lbp Face Detection

� 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)

Page 7: Tutoriel Adaboost Haar Lbp Face Detection

� 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.

Page 8: Tutoriel Adaboost Haar Lbp Face Detection

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.

Page 9: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 10: Tutoriel Adaboost Haar Lbp Face Detection

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 .

Page 11: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 12: Tutoriel Adaboost Haar Lbp Face Detection

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 ?

Page 13: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 14: Tutoriel Adaboost Haar Lbp Face Detection

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 :

Page 15: Tutoriel Adaboost Haar Lbp Face Detection

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.

Page 16: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 17: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 18: Tutoriel Adaboost Haar Lbp Face Detection

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.

Page 19: Tutoriel Adaboost Haar Lbp Face Detection

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.

Page 20: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 21: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 22: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 23: Tutoriel Adaboost Haar Lbp Face Detection

Descripteurs LBP (2/2)Nombre total d’attributs calculés sur une image

avec

Performances supérieures des MBLBP et

Page 24: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 25: Tutoriel Adaboost Haar Lbp Face Detection

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

Page 26: Tutoriel Adaboost Haar Lbp Face Detection

Démo

Page 27: Tutoriel Adaboost Haar Lbp Face Detection

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.