• Aucun résultat trouvé

Suite aux travaux de Viola et Jones, de nombreuses améliorations vont apparaître. Ces amé- liorations peuvent être classées suivant trois axes :

Algorithme 2 : L’algorithme d’apprentissage d’une cascade de classifieurs boostés Entrées : – fmax: taux maximum de faux positifs par niveau ;

dmin: taux minimum de détection par niveau ;

Ftarget: taux de faux positifs à atteindre à la fin de l’apprentissage ;

Sp : ensemble d’images d’apprentissage positives ;

Sn: ensemble d’images d’apprentissage négatives ;

B : ensemble d’images de fond ne contenant pas de positifs.

Sorties :{sign(H1(x) − τ1), . . . , sign(HK(x) − τK)}, une cascade de classifieurs boostés

F0 = 1.0; 1 D0 = 1.0; 2 j = 0; 3 siSn=∅ alors 4

RemplirSnavec des zones aléatoires provenant des images deB;

5

finsi

6

tant que Fj > Ftargetfaire

7 j = j + 1 ; 8 Tj = 0; 9 Fj = Fj−1; 10

tant que Fj > fmax× Fj−1faire

11

Tj = Tj+ 1;

12

En utilisantSp etSn, entraîner un classifieur sign(H

j(x) − τj) constitué de Tj

13

classifieurs faibles à l’aide d’un algorithme de boosting;

Appliquer le classifieur en cascade courant sur un ensemble de validation pour

14

déterminer le taux de faux positifsFj et le taux de détectionDj;

Ajuster le seuilτj jusqu’à ce que le classifieur en cascade courant ait un taux de

15

détections d’au moinsdmin× Dj−1(cela affecte aussiFj);

fintq 16 Sn =∅; 17 si Fj > Ftargetalors 18

Appliquer le classifieur en cascade courant sur les images deB et remplir Snavec

19

les fausses détections; finsi

20

fintq

1. Modification de l’algorithme d’apprentissage ; 2. Modification de l’ensemble des descripteurs utilisé ; 3. Modification de la structure en cascade.

2.4.1

Les algorithmes d’apprentissage alternatifs

La détection de visages est considérée comme une détection d’évènements rares. De façon général, le nombre de visages dans une image est extrèmement faible. Il en découle que lors de la phase d’apprentissage, le nombre d’images de visages est très inférieur au nombre d’images de fonds. Pour prendre en compte cette asymétrie dans l’apprentissage et donner plus d’importance aux positifs, Viola et Jones [73] ont proposé l’algorithme Asymboost.

En 2002, Lienhart et al. [35] ont effectué une étude comparative des algorithmes Adaboost discret, Adaboost réel et Gentle Adaboost dont il ressort qu’il est préférable d’utiliser Gentle Adaboost. Ce résultat sera par la suite nuancé par Brubaker et al. [4].

Un nouvel algorithme de boosting, nommé FloatBoost, est proposé par Lin et al. [33]. Après certaines itérations de boosting, le classifieur faible le moins pertinent est retiré du classifieur fort. Le but est d’obtenir les même performances que l’agorithme Adaboost en utilisant moins de classifieurs faibles et ceci, au prix d’un temps d’apprentissage augmenté.

Wu et al. [80] ont travaillé sur une nouvelle approche pour créer les classifieurs des diffé- rents niveaux d’une cascade. Ils proposent de découpler la phase de sélection des descripteurs et la phase de combinaison de ces descripteurs pour obtenir un classifieur fort. La première phase est assuré par l’algorithme Forward Feature Selection (FFS) tandis que la deuxième phase est assurée par l’algorithme Linear Asymmetric Classifier (LAC) qui prend en compte le caractère asymétrique du problème d’apprentissage de visage. Leur stratégie permet d’obtenir des cas- cades performantes tout en reduisant grandement le temps d’apprentissage. Pham et Cham [52] ont également travaillé sur la réduction du temps d’apprentissage. En s’appuyant sur des sta- tistiques calulées sur les pondérations des données d’apprentissage, ils parviennent à fortement diminuer le temps d’apprentissage d’un classifieur faible.

2.4.2

Présentation des autres ensembles de descripteurs de Haar

Une autre façon d’améliorer les performances d’une approche basée boosting consiste à étendre l’expressivité des descripteurs utilisés. En ce sens, Lienhart et Maydt [36] ont pro- posé d’enrichir l’ensemble des descripteurs de Haar considéré en y incorporant des ondelelettes tournées (voir figure 2.5(a)). Ils proposent également d’utiliser une image intégrale tournée pour calculer rapidement ces descripteurs.

Viola et Jones [27] ont remarqué que les ondelelettes utilisées dans leurs premiers travaux [74] ne permettaient pas d’apprendre correctement des visages qui ne sont pas de face. Pour combler cette limitation, ils proposent des descripteurs diagonaux (voir figure 2.5(b)) qui se

calculent en seize accès mémoire. Zhang et al. [90] ont également mis en avant que les néga- tifs générés dans les derniers niveaux de cascade devenaient très difficiles à classer en utilisant les descripteurs de Haar proposés par Viola et Jones. Ils proposent donc une structure en cas- cade où les premiers niveaux sont appris sur les ondelelettes de Haar (description locale des images) alors que les derniers niveaux sont appris sur des informations provenant d’une ACP (description globale des images).

(a) (b)

FIGURE2.5 – (a) Descripteurs de Haar tournés et image intégrale tournée proposés par Lienhart et Maydt [36] et (b) Un des descripteurs de Haar diagonal proposé par Viola et Jones [27]

Dans le but de capter les caractéristiques non symétriques des visages qui ne sont pas de face, Li et Zhang [33] ont utilisé un ensemble de descripteurs rectangulaires non adjacents. Chaque rectangle est de taille x × y et des distances (dx, dy) les séparent les uns des autres

(voir figure 2.6(a)).

Mita et al. [44] ont proposé des descripteurs de Haar joints (voir figure 2.6(b)). Chaque classifieur faible est ici appris sur plusieurs descripteurs de Haar. Basé sur les réponses de chaque descripteur, un mot binaire est formé et le classifieur faible est entraîné sur la valeur de ces mots en base 10.

(a) (b)

FIGURE 2.6 – (a) Descripteurs de Haar non adjacents proposés par Li et Zhang [33] et (b) Un exemple de descripteurs de Haar joint proposé par Mita et al. [44]

Pour finir, on peut citer certains descripteurs binaires appliqués avec succés au problème de détection de visages comme les descripteurs issus de la transformation modifié de Census [15], les Local Binary Pattern (LBP) [91] ou encore les Locally Assembled Binary (LAB) [83]. On

peut également citer les histogrammes de gradients orientés de Dalal et Triggs [10] utilisés dans le domaine de la détection de piétons.

2.4.3

Présentation des architectures en cascade différentes

Les deux limitations du sytème de Viola et Jones [74] concernent le temps important né- cessaire à l’apprentissage d’une cascade et le choix des paramètres d’une cascade. Dans la formulation classique d’une cascade, les classifieurs forts de chaque niveau sont indépendants. Plusieurs travaux ont ensuite montré qu’il était préférable de les ré-utiliser dans l’entrainenemt de chaque niveau. Xiao et al. [82] ont proposé le concept de chaîne de boosting. À chaque niveau de cascade, le classifieur fort précédemment appris est intégré au classifieur du niveau courant. Huang et al. [23] ont ensuite proposé la struture de cascade imbriquée. Au lieu d’in- tégrer le classifieur fort précédemment appris, ils utilisent le score de classification du niveau précédent pour former le premier classifieur faible du niveau courant. Enfin, Yan et al. [84] ont proposé le principe de descripteurs accumulés où les descripteurs sélectionnés au niveau pré- cédent sont utilisés pour entraîner les premiers classifieurs faibles du niveau courant. Ces trois concepts permettent de diminuer grandement le temps d’apprentissage.

En vue de fixer les paramètres d’une cascade, Brubaker et al. [3] ont introduit un critère pour sélectionner le seuil de chaque niveau ainsi que le nombre de classifieurs faibles de chaque niveau. Ce critère est basé sur un modèle probabiliste des performances globales d’une cascade. Xiao et al. [81] ont proposé le concept de cascade dynamique qui suppose que le taux de faux positifs change exponentiellement à chaque niveau.

Enfin, d’autres structures de cascade ont été proposées comme les cascades souples de Bour- dev et Brandt [2]. Une cascade est ici une longue succession de classifieurs faibles où chaque classifieur faible est associé à un seuil de rejet. L’ensemble des seuils de rejet est calculé à l’aide d’un algorithme de calibration une fois que les classifieurs faibles sont tous sélectionnés. Enfin, Le et Satoh [31] ont proposé d’associer des cascades apprises sur des descripteurs de Haar avec plusieurs SVM. Ils arrivent ainsi à accélérer le temps de détection nécessaire pour scanner une image.