Vous êtes sur la page 1sur 27

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

Multiples détections

Fausses alarmes

En général, de multiples détections se concentrent autour des


visages, tandis que les fausses alarmes sont réparties uniformément
Introduction (3/5)
 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.

Il existe de nombreuses techniques pour réaliser ce post-traitement,


capital pourtant et souvent minoré dans les publications.
Introduction (4/5)
 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 (5/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…)

Nous considérons pour la suite, le problème de détection de


visages comme un problème de classification supervisée binaire.
Notations
On 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 apprenante
Cette 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 .
Risques, performances
On 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é :

Si la fonction est la fonction 0-1 alors est


l’erreur d’apprentissage empirique et le risque total se réécrit

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 de test

Risque calculé sur l’ensemble


d’apprentissage
« richesse » modèle

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 ?
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.
Minimisation du Risque Structurel (SRM)
Question posée : dans quelles conditions l’ERM est justifiée, i.e. on a
la consistance de l’ERM ?

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 réel Risque empirique


Intervalle de confiance
Minimisation du Risque Structurel (SRM)
Risque réel

Intervalle de confiance

Risque empirique

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-dimension
grande.
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

Algorithme Apprentissage Prédiction Normes Optimisation Marge Remarques

SVM quadratique, Maximum se concentre sur


Nb support recherche les mal classés
vectors globale

Adaboost linéaire,
Nb weak- recherche locale ≥ Maximum/2
learner gloutonne
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 :


Marge de l’adaboost

0.8

0.6

0.4
Rätsch 02

0.2 Schapire 98

0.2 0.4 0.6 0.8 1


Vraie marge
Adaboost
L’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.
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 classifieur


aléatoire, i.e.

Au cours des itérations, l’algorithme se concentre sur les exemples mal


classés (au travers de ).
Adaboost pour la détection de visages
Le 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 descripteurs
Le 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 Haar
Formes 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

Nombre total d’attributs calculés sur une image avec


patterns

avec

Chaque classifieur faible retenu par Adaboost correspond à un


pattern positionné dans l’image avec un certain facteur d’échelle.
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


Cascades
Lorsque 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.

Vous aimerez peut-être aussi