ensembles d’arbres extrêmement aléatoires application à la classification d’images

54
P Geurts - séminaire LIP6 P Geurts - séminaire LIP6 1 Ensembles d’arbres Ensembles d’arbres extrêmement aléatoires extrêmement aléatoires Application à la Application à la classification classification d’images d’images Pierre Geurts Pierre Geurts Département d’Electricité, Département d’Electricité, d’Electronique et d’Electronique et d’Informatique, d’Informatique, Université de Liège, Belgique Université de Liège, Belgique 19 février 2004 19 février 2004

Upload: honorato-pearson

Post on 04-Jan-2016

26 views

Category:

Documents


2 download

DESCRIPTION

Ensembles d’arbres extrêmement aléatoires Application à la classification d’images. Pierre Geurts Département d’Electricité, d’Electronique et d’Informatique, Université de Liège, Belgique 19 février 2004. Plan de la présentation. Arbres extrêmement aléatoires - PowerPoint PPT Presentation

TRANSCRIPT

P Geurts - séminaire LIP6P Geurts - séminaire LIP6 11

Ensembles d’arbres Ensembles d’arbres extrêmement aléatoiresextrêmement aléatoires

Application à la Application à la classification d’imagesclassification d’images

Pierre GeurtsPierre GeurtsDépartement d’Electricité, Département d’Electricité,

d’Electronique et d’Informatique,d’Electronique et d’Informatique,

Université de Liège, BelgiqueUniversité de Liège, Belgique

19 février 200419 février 2004

P Geurts - séminaire LIP6 2

Plan de la présentationPlan de la présentation

►Arbres extrêmement aléatoiresArbres extrêmement aléatoires Arbres de décision et méthodes Arbres de décision et méthodes

d’ensembled’ensemble Arbres extrêmement aléatoiresArbres extrêmement aléatoires Analyse biais-varianceAnalyse biais-variance En pratiqueEn pratique Arbre totalement aléatoireArbre totalement aléatoire

►Application à la classification d’imagesApplication à la classification d’images

P Geurts - séminaire LIP6 3

Arbres de décision/régressionArbres de décision/régression

X1 t1

X2 t2 X1 t3

X2 t4r1 r2 r3

r4 r5

r2

r1

r3

r5

r4t2

t1 t3 X1

X2

P Geurts - séminaire LIP6 4

Arbres de décision/régressionArbres de décision/régression

► Construction de l’arbre à partir de donnéesConstruction de l’arbre à partir de données De haut en basDe haut en bas À chaque étape:À chaque étape:

► On choisit un nœud terminalOn choisit un nœud terminal► On cherche le meilleur attribut et la meilleure question On cherche le meilleur attribut et la meilleure question

selon une selon une mesure de scoremesure de score► On éclate le nœudOn éclate le nœud

► Variable numérique: question de type Variable numérique: question de type [[AA<<aathth?]?] Demande le tri de l’échantillon selon les valeurs Demande le tri de l’échantillon selon les valeurs

de de AA Calcul du score pour au plus Calcul du score pour au plus NN valeurs de seuil valeurs de seuil

candidates (si candidates (si NN objets au nœud) objets au nœud)

P Geurts - séminaire LIP6 5

Arbres de décision/régressionArbres de décision/régression

►Points forts de la méthode:Points forts de la méthode: InterprétableInterprétable FlexibleFlexible Relativement efficaceRelativement efficace

►Point faible: Une variance importantePoint faible: Une variance importante Interprétabilité remise en questionInterprétabilité remise en question Précision en deçà d’autres méthodesPrécision en deçà d’autres méthodes

P Geurts - séminaire LIP6 6

Réduction de varianceRéduction de variance

►Différentes approches possibles:Différentes approches possibles: Stabiliser les paramètres de l’arbreStabiliser les paramètres de l’arbre

►Améliore l’interprétabilité mais pas la précisionAméliore l’interprétabilité mais pas la précision

« Fuzzyfier » les tests: arbres flous, arbres « Fuzzyfier » les tests: arbres flous, arbres probabilistes…probabilistes…

►Améliore la précisionAméliore la précision et préserve l’interprétabilité et préserve l’interprétabilité

Agréger plusieurs arbres: méthodes Agréger plusieurs arbres: méthodes d’ensembled’ensemble

►Améliore la précision mais on perd Améliore la précision mais on perd l’interprétabilitél’interprétabilité

P Geurts - séminaire LIP6 7

Méthodes d’ensembleMéthodes d’ensemble

►Deux approches:Deux approches: Algorithmes de type boosting: Algorithmes de type boosting:

construction séquentielle (itérative) des construction séquentielle (itérative) des modèlesmodèles

►Réduit essentiellement le biais mais aussi la Réduit essentiellement le biais mais aussi la variancevariance

Algorithme de randomisation: Algorithme de randomisation: construction en parallèle des modèlesconstruction en parallèle des modèles

►Réduit Réduit essentiellementessentiellement la variance, augmente la variance, augmente le biaisle biais

P Geurts - séminaire LIP6 8

RandomisationRandomisation► Idée: agréger les prédictions de Idée: agréger les prédictions de

plusieurs modèles instablesplusieurs modèles instables

good badgood

good

P Geurts - séminaire LIP6 9

RandomisationRandomisation

► Pour obtenir les différents modèles, il faut Pour obtenir les différents modèles, il faut perturber soit:perturber soit: les données:les données:

► Bagging (Breiman, 1996): ré-échantillonnage avec Bagging (Breiman, 1996): ré-échantillonnage avec remplacementremplacement

► Méthode subspace (Ho, 1998): bruite la liste des attributsMéthode subspace (Ho, 1998): bruite la liste des attributs

l’algorithme d’apprentissage directement:l’algorithme d’apprentissage directement:► Random trees (Dietterich, 2000): choix aléatoire d’un Random trees (Dietterich, 2000): choix aléatoire d’un

test parmi les 20 meilleurstest parmi les 20 meilleurs► Random forests (Breiman, 2001): bagging + choix du Random forests (Breiman, 2001): bagging + choix du

meilleur test parmi un sous-ensemble aléatoire de meilleur test parmi un sous-ensemble aléatoire de kk attributsattributs

P Geurts - séminaire LIP6 10

RandomisationRandomisation

►Deux observations:Deux observations: Les méthodes Les méthodes d’ensembled’ensemble fournissent toutes fournissent toutes

un test différent de l’optimal mais un test différent de l’optimal mais recherchent quand même ce test optimal. recherchent quand même ce test optimal.

Les paramètres des arbres sont très Les paramètres des arbres sont très instablesinstables

►ButButss de l’étude proposée ici: de l’étude proposée ici: Évaluer une variante totalement aléatoireÉvaluer une variante totalement aléatoire Vérifier si le degré de randomisation est Vérifier si le degré de randomisation est

dépendant du problème.dépendant du problème.

P Geurts - séminaire LIP6 11

Randomisation proposéeRandomisation proposée

► Lors du développement d’un nœud:Lors du développement d’un nœud: On génère On génère KK tests aléatoirement et on prend le tests aléatoirement et on prend le

meilleur test parmi ceux-cimeilleur test parmi ceux-ci Pour générer un test aléatoire:Pour générer un test aléatoire:

► On choisit un attribut aléatoirementOn choisit un attribut aléatoirement► S’il est numérique, on choisit un seuil de discrétisation au S’il est numérique, on choisit un seuil de discrétisation au

hasard (entre le min et le max de l’attribut dans hasard (entre le min et le max de l’attribut dans l’échantillon)l’échantillon)

► S’il est symbolique, on choisit un sous-ensemble aléatoire S’il est symbolique, on choisit un sous-ensemble aléatoire des valeurs possibles de l’attributdes valeurs possibles de l’attribut

► On développe l’arbre complètementOn développe l’arbre complètement► (« extra-trees » pour « extremely randomized (« extra-trees » pour « extremely randomized

trees »)trees »)

P Geurts - séminaire LIP6 12

Extra-treesExtra-trees

►K contrôle le degré de randomisation:K contrôle le degré de randomisation: Si Si KK=1, la structure de l’arbre est =1, la structure de l’arbre est

déterminée totalement aléatoirement, déterminée totalement aléatoirement, sans référence à la sortie.sans référence à la sortie.

Si Si KK , la structure tend vers celle d’un , la structure tend vers celle d’un arbre classiquearbre classique

P Geurts - séminaire LIP6 13

ExpérimentationsExpérimentations

►Sur Sur 1212 problèmes de classification et problèmes de classification et 12 12 problèmes problèmes de régressionde régression

►Comparaison de plusieurs méthodes:Comparaison de plusieurs méthodes: Arbres classiques (élagués)Arbres classiques (élagués) Méthodes d’ensemble (100 arbres, non-Méthodes d’ensemble (100 arbres, non-

élagués)élagués)►BaggingBagging►Random Forests (k optimisé)Random Forests (k optimisé)►Arbres totalement aléatoires (K=1)Arbres totalement aléatoires (K=1)►Extra-trees (K optimisé)Extra-trees (K optimisé)

P Geurts - séminaire LIP6 14

Problèmes de classificationProblèmes de classificationDataset DT Bagging RF K=1 K opt.Waveform 28.76 19.41 16.97 17.98 16.59Two-norm 22.31 6.97 3.54 3.18 3.11Ring-norm 15.4 8.12 3.64 5.4 3.24Vehicle 28.05 25.15 24.73 27.27 24.19Vowel 20.71 7.35 3.43 2.08 1.68Segment 3.35 2.2 1.83 2.46 1.4Spambase 7.36 5.73 4.54 4.68 4.2Satellite 13.52 9.56 8.45 9.55 8.12Pendigits 3.89 1.74 1.02 0.89 0.62Dig44 13.96 8.24 5.23 5.4 4.44Letter 14.75 7.44 4.87 5.46 3.74Isolet 24.43 12.4 8.43 19.8 7.18

P Geurts - séminaire LIP6 15

ProblèmeProblèmess de classification de classification

► Erreurs relatives moyennesErreurs relatives moyennes

► Extra-trees meilleurs que bagging et Extra-trees meilleurs que bagging et légèrement meilleurs que random forestslégèrement meilleurs que random forests

► Arbres totalement aléatoires compétitifs par Arbres totalement aléatoires compétitifs par rapport aux autres méthodesrapport aux autres méthodes

1 arbre Bagging

RF ET (K=1) ET (K opt.)

1,0

0,580,42 0,50

0,37

P Geurts - séminaire LIP6 16

Problèmes de classificationProblèmes de classification

► Influence de Influence de KK sur l’erreur sur l’erreur

2

3

4

5

6

7

8

1 20 40 60 80 100

K

Err

eur

(%)

Arbre totalement aléatoire

Arbre classique

Letter

Two-norm

P Geurts - séminaire LIP6 17

ProblèmeProblèmess de régression de régressionDataset DT Bagging RF K=1 K opt.Friedman1 10.84 5.69 5.55 12.61 4.97Housing 19.63 9.86 9.72 17.37 9.5Hwang-f5 10.91 4.72 4.72 18.88 1.55Hwang-f5n 9.71 7.91 7.91 8.9 7.54Pumadyn-fh 4.26 4.22 4.18 6.24 4.18Pumadyn-nm 9.06 6.77 6.75 84.43 6.37Abalone 5.61 4.71 4.57 4.76 4.6Ailerons 4.21 2.88 2.85 5.96 2.91Elevators 15.86 9.42 9.36 16.77 7.9Poletelecomm 6.9 3.41 3.24 25.95 2.58Bank-32nh 9 7.46 7.35 12.26 7.23Census-16H 1.82 1.15 1.12 1.5 1.1

P Geurts - séminaire LIP6 18

ProblèmeProblèmess de régression de régression► Erreurs relatives moyennesErreurs relatives moyennes

► Bagging, Random Forests et Extra-trees très Bagging, Random Forests et Extra-trees très proches.proches.

► ArbreArbress totalement aléatoire totalement aléatoiress pas très bon pas très bonss sur certains problèmessur certains problèmes

1 arbre Bagging

RF ET (K=1) ET (K opt.)

1,00,67 0,66

2,06

0,61

1,16

P Geurts - séminaire LIP6 19

Problèmes de régressionProblèmes de régression► Influence de Influence de KK sur l’erreur sur l’erreur

6

8

10

12

14

16

18

1 20 40 60 80 100

K

Err

eur

Elevators

Housing

Arbre totalement aléatoire

Arbre classique

P Geurts - séminaire LIP6 20

Conclusion des Conclusion des expérimentationsexpérimentations

► On peut aller très loin en terme de randomisation On peut aller très loin en terme de randomisation avec les méthodes d’ensemble et quand même avec les méthodes d’ensemble et quand même améliorer la précision par rapport à un seul arbreaméliorer la précision par rapport à un seul arbre

► Différence importante entre problèmes de Différence importante entre problèmes de classification et problèmes de régressionclassification et problèmes de régression En classificationEn classification, l, la randomisation peut aller très loin a randomisation peut aller très loin

et améliore fortement la précision par rapport au et améliore fortement la précision par rapport au baggingbagging

En régressionEn régression, l, la randomisation permise est plus faible a randomisation permise est plus faible et le bagging va généralement suffisamment loin de ce et le bagging va généralement suffisamment loin de ce point de vuepoint de vue

► AnalyseAnalyse basée sur les notions de biais et de basée sur les notions de biais et de variancevariance

P Geurts - séminaire LIP6 21

Notion de biais et de Notion de biais et de variancevariance

►Biais=erreur systématique commise par Biais=erreur systématique commise par une méthode (indépendamment de une méthode (indépendamment de l’échantillon)l’échantillon)

►Variance=erreur due à la variabilité du Variance=erreur due à la variabilité du modèle (en fonction de l’échantillon)modèle (en fonction de l’échantillon)

►En régression: En régression: Err. quad.Err. quad. Moyenne (MSE) Moyenne (MSE)== erreur min.+biais+varianceerreur min.+biais+variance

P Geurts - séminaire LIP6 22

Compromis biais/varianceCompromis biais/variance► Sur un problème de régressionSur un problème de régression (Friedman1) (Friedman1)

► Lorsque K Lorsque K augmenteaugmente (la randomisation (la randomisation diminuediminue), ), le biais le biais diminuediminue et la variance et la variance augmenteaugmente..

0

2

4

6

8

10

12

14

0 20 40 60 80 100

MSE

BiaisVariance

K

P Geurts - séminaire LIP6 23

Variables non pertinentesVariables non pertinentes► Si K=1, la méthode est incapable de détecter Si K=1, la méthode est incapable de détecter

(localement ou globalement) des variables non (localement ou globalement) des variables non pertinentespertinentes

► Par exemple, s’il y a 50% de variables inutiles, Par exemple, s’il y a 50% de variables inutiles, 50% des tests dans l’arbre seront inutiles50% des tests dans l’arbre seront inutiles

la complexité effective de l’arbre diminue de la complexité effective de l’arbre diminue de moitié et le biais augmente fortementmoitié et le biais augmente fortement

► ExempleExemple: Friedman1 sans/avec 5 attributs : Friedman1 sans/avec 5 attributs bruitésbruités

MSEMSE BiaisBiais VarianceVariance

Sans bruitSans bruit 5,725,72 5,215,21 0,510,51

Avec bruitAvec bruit 11,7311,73 11,2711,27 0,460,46

P Geurts - séminaire LIP6 24

Biais et variance en Biais et variance en classificationclassification

► La plupart des méthodes de classification La plupart des méthodes de classification cherchecherchentnt une fonction une fonction ff ((xx)) et prédisent la et prédisent la classe en classe en xx par: par:

► Une erreur systématique (biais) sur Une erreur systématique (biais) sur ff n’a pas n’a pas d’importanced’importance tant que tant que ff reste du bon côté de reste du bon côté de la frontière de décisionla frontière de décision

En classification, le biais (sur En classification, le biais (sur ff ) a moins) a moins d’importance que la variance (sur d’importance que la variance (sur ff ))

5,0)( si

5,0)( si )(

2

1

xfc

xfcxC

P Geurts - séminaire LIP6 25

Compromis biais/varianceCompromis biais/variance► Sur un problème de classificationSur un problème de classification (Waveform) (Waveform)

► Le minimum du taux d’erreur correspond à plus Le minimum du taux d’erreur correspond à plus de randomisation de randomisation (K plus petit) (K plus petit) que le minimum que le minimum de l’erreur quadratique.de l’erreur quadratique.

MSE sur f

0

0,1

0,2

0 10 20 30 40 50

K

Biais sur fVariance sur f

Erreur sur C

P Geurts - séminaire LIP6 26

En pratiqueEn pratique

► Quelle valeur de K par défaut ?Quelle valeur de K par défaut ? En classification, K=5En classification, K=5 En régression, K=min(30,nombre d’attributs)En régression, K=min(30,nombre d’attributs)

► Ce qu’on perd en moyenne en précision:Ce qu’on perd en moyenne en précision:

1 arbre Bagging

K déf.K opt. 1 arbre Bagging

K déf.K opt.

Classification

Régression

1,0

0,580,37 0,41

1,00,67 0,61 0,62

P Geurts - séminaire LIP6 27

TTemps de calculemps de calcul

► Avantage important en classificationAvantage important en classification, marginal , marginal en régression. D’autant plus important qu’il y a en régression. D’autant plus important qu’il y a de variables. Exemple sur Isolet (de variables. Exemple sur Isolet (NN=6238 =6238 mm=617): =617): 1 arbre: 37s1 arbre: 37s Bagging: 37mBagging: 37m Extra-trees (déf.): 4sExtra-trees (déf.): 4s

1 arbre Bagging

K déf.K=1 1 arbre Bagging

K déf.K=1

1

62,2

4,1 7,41

57,0

11,3

49,1

Classification

Régression

P Geurts - séminaire LIP6 28

CComplexitéomplexité du modèle du modèle

► Les arLes arbres aléatoires sont beaucoup plus complexes bres aléatoires sont beaucoup plus complexes (surtout en classification). (surtout en classification).

► Heureusement, le test reste très rapide car la profondeur Heureusement, le test reste très rapide car la profondeur augmente seulement augmente seulement avec le lavec le logarithmogarithme dee de la complexité. la complexité.

1 arbre Bagging

K déf.K=1 1 arbre Bagging

K déf.K=1

174

596

330

164

130 107

Classification Régression

P Geurts - séminaire LIP6 29

Variante totalement aléatoireVariante totalement aléatoire

► Étonnamment, cette variante fonctionne assez Étonnamment, cette variante fonctionne assez bien sur plusieurs problèmes (particulièrement bien sur plusieurs problèmes (particulièrement de classification) de classification)

► Totalement non paramétrique (pas d’hypothèse Totalement non paramétrique (pas d’hypothèse sur le problème, pas de mesure de score…)sur le problème, pas de mesure de score…)

► Extrêmement rapide et complexité Extrêmement rapide et complexité indépendante de la dimension du problèmeindépendante de la dimension du problème

► la structure de l’arbre est totalement la structure de l’arbre est totalement indépendante de la sortie indépendante de la sortie On peut l’utiliser On peut l’utiliser pour une autre sortie en changeant simplement pour une autre sortie en changeant simplement les prédictions aules prédictions auxx feuille feuilless

P Geurts - séminaire LIP6 30

Comparaison avec le k-NNComparaison avec le k-NN► Points communs:Points communs:

Les deux méthodes sont basées sur une métrique Les deux méthodes sont basées sur une métrique indépendante de la sortie:indépendante de la sortie:

► Deux points sont proches s’ils tombent souvent ensemble Deux points sont proches s’ils tombent souvent ensemble dans les mêmes feuilles des arbres de l’ensembledans les mêmes feuilles des arbres de l’ensemble

Elles sont sensibles à la présence de variables non Elles sont sensibles à la présence de variables non pertinentespertinentes

Modèles relativement lourdsModèles relativement lourds► Mais grâce aux arbres:Mais grâce aux arbres:

Distance invariante à certaines transformations des Distance invariante à certaines transformations des variables, insensible aux outliers, normalisation variables, insensible aux outliers, normalisation inutile …inutile …

Traitement naturel de variables symboliques Traitement naturel de variables symboliques Prédiction très rapide, Prédiction très rapide, O(log(O(log(NN)))) si si NN est la taille du est la taille du LSLS

P Geurts - séminaire LIP6 31

Comparaison avec le k-NNComparaison avec le k-NN► ErreurErreur

► Temps de calculTemps de calcul

11,25

1,1 11,42

0,87

ET(K=1) ET(K=1)1-NN K-NN 1-NN K-NN

1-NNtest

1-NNtest

ET(K=1)test

E-T(K=1)Constr.+test

1

14,7 13,7

1

9,2

4,1

ET(K=1)test

ET(K=1)Constr.+test

Classification

Régression

Classification

Régression

P Geurts - séminaire LIP6 32

Conclusions et perspectivesConclusions et perspectives

► Extra-trees surtout intéressants en classification:Extra-trees surtout intéressants en classification: Précision comparable aux autres méthodes d’ensemblePrécision comparable aux autres méthodes d’ensemble Très rapide (surtout si beaucoup de variables)Très rapide (surtout si beaucoup de variables) Relativement robusteRelativement robuste

► Travaux futurs:Travaux futurs: Comparaison avec d’autres méthodes: boosting, SVM…Comparaison avec d’autres méthodes: boosting, SVM… Version incrémentale, adaptativeVersion incrémentale, adaptative Apprentissage non supervisé avec des ensembles Apprentissage non supervisé avec des ensembles

d’arbresd’arbres Interprétation d’un ensemble d’arbresInterprétation d’un ensemble d’arbres

P Geurts - séminaire LIP6P Geurts - séminaire LIP6 3333

Application à la Application à la classification classification

d’imagesd’images

Raphaël Marée, Pierre Geurts, Raphaël Marée, Pierre Geurts, Justus Piater, Louis WehenkelJustus Piater, Louis Wehenkel

Université de Liège, BelgiqueUniversité de Liège, Belgique

P Geurts - séminaire LIP6 34

Classification automatique Classification automatique d’imagesd’images

► À partir d’une base de données d’images À partir d’une base de données d’images pré-classifiées, construire un modèle qui pré-classifiées, construire un modèle qui classera aussi bien que possible de classera aussi bien que possible de nouvelles imagesnouvelles images

► Exemples d’applications: Exemples d’applications: reconnaissance de caractères manuscritsreconnaissance de caractères manuscrits reconnaissance de visagesreconnaissance de visages reconnaissance d’objetsreconnaissance d’objets reconnaissance de texturesreconnaissance de textures

P Geurts - séminaire LIP6 35

Aperçu de bases de donnéesAperçu de bases de données

► MNIST:MNIST:

► ORL: ORL:

► COIL-100: COIL-100:

► OUTEX: OUTEX:

P Geurts - séminaire LIP6 36

Algorithme génériqueAlgorithme générique► Solution traditionnelle en deux étapes: Solution traditionnelle en deux étapes:

Extraction de caractéristiques Extraction de caractéristiques Application de techniques d’apprentissage ou Application de techniques d’apprentissage ou

d’appariement (matching) sur ces caractéristiquesd’appariement (matching) sur ces caractéristiques► Inconvénient: la première étape de Inconvénient: la première étape de

prétraitement est laborieuse et dépendante du prétraitement est laborieuse et dépendante du problèmeproblème

► Avancées en apprentissage proposent des Avancées en apprentissage proposent des méthodes capables de traiter des problèmes méthodes capables de traiter des problèmes complexescomplexes de dimension très importante de dimension très importante

► Que peut-on faire pour ce problème particulier Que peut-on faire pour ce problème particulier en apprenant directement sur les valeurs brutes en apprenant directement sur les valeurs brutes des pixels ?des pixels ?

P Geurts - séminaire LIP6 37

Exemple de base de donnéesExemple de base de données

► OUTEX: base de données de 864 images en OUTEX: base de données de 864 images en couleurs (54 textures différentes) de 128x128 couleurs (54 textures différentes) de 128x128 pixelspixels

► Une image = 49152 (128x128x3) valeurs Une image = 49152 (128x128x3) valeurs entières comprises dans [0,255] et une classe entières comprises dans [0,255] et une classe (nom de texture)(nom de texture)

► LS = 432 images (8 images par texture)LS = 432 images (8 images par texture)► TS = 432 images (8 images restantes par TS = 432 images (8 images restantes par

texture)texture)

P Geurts - séminaire LIP6 38

Algorithmes proposésAlgorithmes proposés

►Extra-treesExtra-trees Très efficaces pour traiter un grand nombre Très efficaces pour traiter un grand nombre

de variablesde variables

►Extra-trees + sous-fenêtresExtra-trees + sous-fenêtres Extraction et classification de sous-fenêtres Extraction et classification de sous-fenêtres

dans les images dans les images Permet de tenir compte de caractéristiques Permet de tenir compte de caractéristiques

plus locales dans les images et augmente plus locales dans les images et augmente artificiellement l’ensemble d’apprentissageartificiellement l’ensemble d’apprentissage

P Geurts - séminaire LIP6 39

Extraction de sous-fenêtresExtraction de sous-fenêtres

► Apprentissage:Apprentissage:

Etant donné une taille de fenêtre Etant donné une taille de fenêtre WW11xxWW22 et un et un nombre de fenêtres nombre de fenêtres NNww:: Extraire Extraire NNww sous-fenêtres aléatoirement à partir des sous-fenêtres aléatoirement à partir des

images de l’ensemble d’apprentissage et assigner images de l’ensemble d’apprentissage et assigner à chaque sous-fenêtre la classe de l’image originaleà chaque sous-fenêtre la classe de l’image originale

Construire un modèle pour classer ces Construire un modèle pour classer ces NNww images images en utilisant les en utilisant les WW11xxWW22 pixels qui les décrivent pixels qui les décrivent

… …

P Geurts - séminaire LIP6 40

Extraction de sous-fenêtresExtraction de sous-fenêtres

►Test d’une image:Test d’une image:

Etant donné la taille de sous-fenêtres Etant donné la taille de sous-fenêtres WW11xxWW22:: Extraire tous les sous-fenêtres possibles de Extraire tous les sous-fenêtres possibles de

taille taille WW11xxWW22 dans l’image à tester dans l’image à tester Appliquer le modèle sur chaque sous-fenêtreAppliquer le modèle sur chaque sous-fenêtre Attribuer à l’image la classe majoritaire Attribuer à l’image la classe majoritaire

parmi les classes attribuées aux sous-parmi les classes attribuées aux sous-fenêtresfenêtres

P Geurts - séminaire LIP6 41

Extraction de sous-fenêtresExtraction de sous-fenêtres►TestTest

… … … …

Fleur

Fleur

Fleur

Métal

Fleur

P Geurts - séminaire LIP6 42

Extraction de sous-fenêtresExtraction de sous-fenêtres

► Les sous-fenêtres permettent de tenir compte Les sous-fenêtres permettent de tenir compte de caractéristiques plus locales dans les de caractéristiques plus locales dans les images et augmente artificiellement images et augmente artificiellement l’échantillon (l’échantillon (NNww>>)>>)

► La taille des sous-fenêtres dépend du problèmeLa taille des sous-fenêtres dépend du problème d’autant plus petite que les classes d’images d’autant plus petite que les classes d’images

dépendent de caractéristiques localesdépendent de caractéristiques locales Exemple: classification de caractères manuscripts Exemple: classification de caractères manuscripts !!

grandes fenêtres, classification de texture grandes fenêtres, classification de texture !! fenêtres fenêtres plus petitesplus petites

► En pratique, détermination de la taille optimale En pratique, détermination de la taille optimale par validation croisée pour rester générique.par validation croisée pour rester générique.

P Geurts - séminaire LIP6 43

DBsDBs #images#images #attribut#attributss

#classes#classes

MNISTMNIST 7000070000 784 784 (28x28x1)(28x28x1)

1010

ORLORL 400400 10304 10304 (92x112x1)(92x112x1)

4040

COIL-100COIL-100 72007200 3072 3072 (32x32x3)(32x32x3)

100100

OUTEXOUTEX 864864 49152 49152 (128x128x(128x128x3)3)

5454

Base de donnéesBase de données

P Geurts - séminaire LIP6 44

Protocoles d’expérimentationProtocoles d’expérimentation► MNISTMNIST

LS = 60000 premières imagesLS = 60000 premières images TS = 10000 dernières imagesTS = 10000 dernières images

► ORLORL 100 groupes de données:100 groupes de données:

► LS = 200 images (5 images par personne)LS = 200 images (5 images par personne)► TS = 200 images (5 images restantes par personne)TS = 200 images (5 images restantes par personne)

► COIL-100COIL-100 LS = 1800 images (k*20°, k=0..17)LS = 1800 images (k*20°, k=0..17) TS = 5400 images (36 images restantes par objet)TS = 5400 images (36 images restantes par objet)

► OUTEXOUTEX LS = 432 images (8 images par texture)LS = 432 images (8 images par texture) TS = 432 images (8 images restantes par texture)TS = 432 images (8 images restantes par texture)

P Geurts - séminaire LIP6 45

PrécisionPrécisionBDsBDs Extra-treesExtra-trees Sous-Sous-

fenêtresfenêtresLittératureLittérature

MNISTMNIST 3.26%3.26% 2.63%2.63%

(w(w11=w=w22=24)=24)12%…0.7%12%…0.7%

ORLORL 4.56% 4.56% ±± 1.43 1.43 2.13% 2.13% ±± 1.18 1.18

(w(w11=w=w22=32)=32)7.5%…0%7.5%…0%

COIL-100COIL-100 2.04%2.04% 0.39%0.39%

(w(w11=w=w22=16)=16)12.5%…0.1%12.5%…0.1%

OUTEXOUTEX 64.35%64.35% 2.78%2.78%

(w(w11=w=w22=4)=4)9.5%…0.2%9.5%…0.2%

P Geurts - séminaire LIP6 46

Comparaison avec d’autres Comparaison avec d’autres méthodesméthodes

MethodMethod MNISMNISTT

ORLORL COIL-100COIL-100 OUTEXOUTEX

One classical DTOne classical DT 11.5%11.5% 29.25%29.25% 20.80%20.80% 89.35%89.35%

Bagging DTBagging DT 4.42%4.42% 9.5%9.5% 2.24%2.24% 73.15%73.15%

Boosting DTBoosting DT 2.29%2.29% 3.75%3.75% 0.54%0.54% 69.44%69.44%

Random ForestsRandom Forests 3.0%3.0% 1.25%1.25% 1.17%1.17% 66.90%66.90%

Extra-treesExtra-trees 3.17%3.17% 1.25%1.25% 1.96%1.96% 65.05%65.05%

Extra-trees + SWExtra-trees + SW 2.54%2.54% 0.5%0.5% 0.35%0.35% 2.78%2.78%

SVMsSVMs 1.95%1.95% 1.25%1.25% 0.44%0.44% 71.99%71.99%

Nearest Nearest NeighboursNeighbours

5.5%5.5% 2.25%2.25% 1.94%1.94% 80.79%80.79%

State-of-the-artState-of-the-art 0.7%0.7% -- 0.1%0.1% 0.2%0.2%

P Geurts - séminaire LIP6 47

Temps de calculTemps de calcul

►Apprentissage sur COIL-100 Apprentissage sur COIL-100 (1800x3072)(1800x3072)

time (s)

19561

6805

2745

1291

188

62

9

0 5000 10000 15000 20000 25000

Boosting

Bagging

Extra-trees + SW

Random Forests

Classical DT

SVMs

Extra-trees

time (s)

P Geurts - séminaire LIP6 48

Temps de calculTemps de calcul

►Test sur COIL-100 (5400 images)Test sur COIL-100 (5400 images)

time (s)

1345

199

54

6

5

1

0,6

0,01

0 500 1000 1500

Nearest Neighbours

SVMs

Extra-trees + SW

Extra-trees

Random Forests

Boosting

Bagging

Classical DT

time (s)

P Geurts - séminaire LIP6 49

RobustesseRobustesse

►L’inconvénient d’une approche L’inconvénient d’une approche générique est peut-être le manque de générique est peut-être le manque de robustesse à différentes robustesse à différentes transformations des imagestransformations des images

►Exemples de transformations:Exemples de transformations: RotationRotation Changement d’échelleChangement d’échelle OccultationOccultation

P Geurts - séminaire LIP6 50

Robustesse: rotationRobustesse: rotation

►Rotation planaire des images (COIL-Rotation planaire des images (COIL-100)100)

►Ok, jusque 20° avec des sous-fenêtresOk, jusque 20° avec des sous-fenêtres

0%

20%

40%

60%

80%

100%

0° 10° 20° 30° 45°

Rotation degrees

Err

or

rate

s

Extra-trees

Extra-trees +Sub-windows

P Geurts - séminaire LIP6 51

Robustesse: échelleRobustesse: échelle► Seule la variante avec des sous-fenêtres peut Seule la variante avec des sous-fenêtres peut

encore être appliquéeencore être appliquée► Le modèle est construit sur des images 32x32 Le modèle est construit sur des images 32x32

(sous-fenêtres de 16x16)(sous-fenêtres de 16x16)

► Ok seulement pour de faibles variationsOk seulement pour de faibles variations

0%10%20%30%40%50%60%70%80%

Sizes

Err

or

ra

tes

Extra-trees +Sub-windows

P Geurts - séminaire LIP6 52

Robustesse: occultationRobustesse: occultation

► La partie droite de l’image est occultéeLa partie droite de l’image est occultée

► Ok jusqu’à environ 40% d’occultation avec Ok jusqu’à environ 40% d’occultation avec les sous-fenêtresles sous-fenêtres

0%10%20%30%40%50%60%

0% 25%

37.5

0%

40.6

3%

43.7

5%

46.8

8% 50%

Erased parts

Err

or r

ates Extra-trees

Extra-trees +Sub-windows

P Geurts - séminaire LIP6 53

Conclusions et perspectivesConclusions et perspectives► Méthode générique comparable aux meilleurs Méthode générique comparable aux meilleurs

méthodes spécifiques bien que légèrement méthodes spécifiques bien que légèrement inférieure en précision par rapport à l’état de inférieure en précision par rapport à l’état de l’artl’art

► Est-ce qu’une amélioration légère de la Est-ce qu’une amélioration légère de la précision justifie une approche spécifique ? La précision justifie une approche spécifique ? La réponse dépend de l’applicationréponse dépend de l’application

► Perspectives:Perspectives: Combinaison des sous-fenêtres avec d’autres Combinaison des sous-fenêtres avec d’autres

méthodes d’apprentissage (SVM, boosting…)méthodes d’apprentissage (SVM, boosting…) Amélioration de la robustesseAmélioration de la robustesse Étudier le compromis entre efficacité et précision Étudier le compromis entre efficacité et précision

pour faire une prédiction.pour faire une prédiction.

P Geurts - séminaire LIP6 54

RéferencesRéferences► Extra-trees: (Extra-trees: (http://http://www.montefiore.ulg.ac.bewww.montefiore.ulg.ac.be/~/~geurtsgeurts))

Contribution to decision tree induction: bias/variance tradeoff and time Contribution to decision tree induction: bias/variance tradeoff and time series classificationseries classification, P.Geurts, Thèse de doctorat, 2002., P.Geurts, Thèse de doctorat, 2002.

Traitement de grands volumes de données par ensemble d’arbre de Traitement de grands volumes de données par ensemble d’arbre de décisiondécision, P.Geurts, Journées de Statistiques, Lyon, Juin 2003., P.Geurts, Journées de Statistiques, Lyon, Juin 2003.

Extremely randomized trees, P.Geurts, Rapport interne, Mai 2003.Extremely randomized trees, P.Geurts, Rapport interne, Mai 2003.

► Classification d’images: (Classification d’images: (http://http://www.montefiore.ulg.ac.bewww.montefiore.ulg.ac.be/~/~mareemaree)) Une méthode générique pour la classification automatique d’images à partir Une méthode générique pour la classification automatique d’images à partir

des pixelsdes pixels, R.Marée, P.Geurts et L.Wehenkel, Journées de Statistiques, Lyon, , R.Marée, P.Geurts et L.Wehenkel, Journées de Statistiques, Lyon, Juin 2003.Juin 2003.

A generic approach for image classification based on decision tree A generic approach for image classification based on decision tree ensembles and local subwindowsensembles and local subwindows, R. Marée, P. Geurts, J. Piater, L. Wehenkel, , R. Marée, P. Geurts, J. Piater, L. Wehenkel, Sixth Asian Conference on Computer Vision, Jeju (Corée), janvier 2004Sixth Asian Conference on Computer Vision, Jeju (Corée), janvier 2004

A comparison of generic machine learning algorithms for image A comparison of generic machine learning algorithms for image classificationclassification, R.Marée, P. Geurts, G. Visimberga, J. Piater, L. Wehenkel, 23rd , R.Marée, P. Geurts, G. Visimberga, J. Piater, L. Wehenkel, 23rd SGAI International Conference on Innovative Techniques and Applications of SGAI International Conference on Innovative Techniques and Applications of Artificial Intelligence, Cambridge (UK), Décembre 2003.Artificial Intelligence, Cambridge (UK), Décembre 2003.