texture classification from random...

33
Texture Classification from Random Features Li Liu and Paul W. Fieguth IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 34, No. 3, Mars 2012 Présenté par Nicolas Vandenbroucke REPAR – mardi 24 mars 2015

Upload: others

Post on 30-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Texture Classification from Random Features

Li Liu and Paul W. Fieguth

IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 34, No. 3, Mars 2012

Présenté par

Nicolas Vandenbroucke REPAR – mardi 24 mars 2015

Page 2: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Mots clés de l’article

Texture classification (classification de textures),

Random projections (projections – mesures – attributs aléatoires ?),

Sparse representation (représentation parcimonieuse),

Compressed sensing (acquisition compressée ou comprimée),

Textons,

Image patches (patchs d’image),

Bag of words (sac de mots).

Texture Classification from Random Features – REPAR – 24/03/2015 2

Page 3: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Cadre théorique

Méthode inspirée de la représentation parcimonieuse et de l’acquisition comprimée.

Adapté aux applications avec des bases de données de taille importante

Réduction de la dimension par projection aléatoire

Texture Classification from Random Features – REPAR – 24/03/2015 3

Page 4: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Introduction

Système de classification de texture

1. Extraction d’attributs (feature extraction) Premiers descripteurs : Histogramme des sommes et des différences,

Matrices de longueurs de plages, Champs de Markov, Modèles autorégressifs, Fractal…

Années 1980 : transformation de Gabor, transformée en ondelettes…

Plus récemment : Gray-Level Aura Matrices, Local Binary Patterns… Descripteurs à partir desquels un histogramme est exploité

2. Classification

Approche locale : un ensemble limité d’attributs de texture est extrait à partir de patchs d’image locaux.

Texture Classification from Random Features – REPAR – 24/03/2015 4

Page 5: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Introduction

Ces méthodes focalisent sur l’information de texture locale (répartition spatiale des niveaux d’un motif dans le voisinage réduit d’un pixel donné)

Pour tenir compte de l’apparence globale de la texture (répartition spatiale répétitive ou périodique de motifs) :

Les sacs de mots (Bag of Words : BoW) intègrent L’information locale : des attributs extraits de patchs locaux forment

un texton.

L’information globale : un histogramme représentant le nombre d’occurrences des textons est calculé.

Texture Classification from Random Features – REPAR – 24/03/2015 5

Page 6: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Introduction

Deux approches sont présentées pour construire des textons : 1. Détecter un ensemble parcimonieux de points dans une

image en détectant des points d’intérêt et extraire des attributs locaux sur chaque point. [22] S. Lazebnik, C. Schmid, and J. Ponce, “A Sparse Texture Representation Using Local Affine Regions,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 27, no. 8, pp. 1265-1278, Aug. 2005.

2. Extraire des attributs locaux sur chaque pixel d’une image de manière « dense ».

L’approche dense est d’avantage utilisée et étudiée.

Texture Classification from Random Features – REPAR – 24/03/2015 6

Page 7: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Introduction

Construction des textons à partir de patchs d’image :

1. Un descripteur de texture est utilisé pour extraire des attributs sur chaque patch (exemple : réponses à une batterie de filtres (gaussien, Gabor, ondelettes…))

2. Les textons sont déterminés directement à partir des données bruts de l’image

Paramètres : taille (position et nombre) des patchs : Trop petit :

o Les motifs plus larges ne sont pas prises en compte

o Hautement sensible au bruit et aux variations d’illumination

Trop grand :

o Augmentation de la dimension : « curse of dimensionality »

Texture Classification from Random Features – REPAR – 24/03/2015 7

Page 8: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Introduction

Texture Classification from Random Features – REPAR – 24/03/2015 8

Extrait de [21] M. Varma and A. Zisserman, “A Statistical Approach to Material

Classification Using Image Patches,” IEEE Trans. Pattern Analysis and Machine

Intelligence, vol. 31, no. 11, pp. 2032-2047, Nov. 2009

Page 9: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Introduction

Réduction de la dimension

Réduction de l’espace de stockage

Réduction de la complexité calculatoire

Amélioration des performances de classification

Meilleure représentation des données

Projection de l’espace des pacths dans un sous-espace de dimension réduite sans perte d’information et indépendamment de la nature des données (type de texture)

Texture Classification from Random Features – REPAR – 24/03/2015 9

Page 10: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Introduction

Approche proposée Utiliser les « random projection » (RP) afin de réduire la

dimension de l’espace de représentation sans introduire de distorsion et avec une méthode à faible complexité calculatoire.

RP : techniques de projection d’un ensemble de points représentés dans un espace de grande dimension vers un sous-espace de faible dimension choisi aléatoirement.

Méthode utilisée dans le domaine du Compressed Sensing (CS) : pour des signaux compressibles (éparses), un faible nombre de mesures sous la forme de RP peuvent capturer l’information pertinente d’un signal et permettre sa reconstruction.

Texture Classification from Random Features – REPAR – 24/03/2015 10

Page 11: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Introduction

Les RP de patches locaux forment des nuages de points permettant de distinguer les classes de texture.

Pour les 3 textures extraites de la base Brodatz, la figure compare la distribution et la séparabilité :

- (a) (b) des valeurs brutes des pixels,

- (c) de deux réponses de filtres linéaires,

- de paires de RP extraites de patchs de taille (d) 9×9, (e) 15×15, and (f) 25×25.

Texture Classification from Random Features – REPAR – 24/03/2015 11

Page 12: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Introduction

Approche proposée Utilisation des RP pour la classification de textures Les RP permettent de :

Réduire la dimension de l’espace de représentation des patchs d’image locaux (p ϵ Rn×1) par une version compressée (x ϵ Rm×1) en utilisant une « matrice de mesures aléatoires » Ф de taille m×n. Les coefficients de cette matrice sont des variables aléatoires indépendantes réparties selon une loi normale (gausienne) avec une moyenne nulle et une variance unitaire : x = Ф p.

Les éléments de x sont une combinaison linéaire des éléments de p. Préserver l’information : les distances entre deux points dans l’espace

d’origine sont approximativement préservées dans l’espace compressé. Cette condition permet de minimiser la perte d’information.

Texture Classification from Random Features – REPAR – 24/03/2015 12

Page 13: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Approche proposée

3 étapes :

Apprentissage d’un dictionnaire de textons compressés

Classification supervisée Apprentissage des histogrammes de textons (sac de mots)

Classification

Texture Classification from Random Features – REPAR – 24/03/2015 14

Page 14: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Construction du dictionnaire

Texture Classification from Random Features – REPAR – 24/03/2015 15

C classes de texture S prototypes par classe Ic,s est l’image de taille √N×√N (N pixels) du prototype de texture s de la classe c

pc,s,i est le ième patch de l’image Ic,s de taille √n×√n (n pixels : p ϵ Rn×1)

Ici, les attributs utilisés sont les projections aléatoires effectuées à partir de p en utilisant la matrice Ф de taille m×n : x = Ф p

xc,s,i est le ième patch compressé de l’image Ic,s de taille m (x ϵ Rm×1)

Une procédure de clustering (k-means) est appliquée dans le domaine des patchs X (compressés) afin de définir K textons wc,j

Le dictionnaire W des textons de taille C×K est construit en concaténant les K textons wc,j

(w ϵ Rm×1) de chaque classe c

Page 15: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Apprentissage

Texture Classification from Random Features – REPAR – 24/03/2015 16

A partir de chaque prototype, Les patchs compressés xc,s,i sont extraits de l’image Ic,s

correspondante

Chaque patch est assigné au texton du dictionnaire le plus proche (plus proche voisin)

Un histogramme hc,s des textons (compressés) est évalué pour représenter chaque prototype (sac de mots)

Chaque classe de texture est représentée par un ensemble Hc d’histogrammes (modèle)

Page 16: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Classification

Texture Classification from Random Features – REPAR – 24/03/2015 17

La texture à classer est caractérisée par l’histogramme hnew évalué comme précédemment

L’histogramme hnew est assigné à l’histogramme le plus proche de la base d’apprentissage (plus proche voisin) au sens d’une distance Χ2

Page 17: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Evaluation expérimentale

Comparaison avec 4 méthodes LBP multi-échelle invariante en rotation à 5 échelles

différentes

[21] M. Varma and A. Zisserman, “A Statistical Approach to Material Classification Using Image Patches,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 31, no. 11, pp. 2032-2047, Nov. 2009 Patch : approche basée sur les patchs locaux dans laquelle les patchs

d’image de taille √n×√n sont directement utilisés comme attributs

MR8 : 8 réponses (maximales) de filtres à partir d’une batterie de filtres appliqués sur chaque patch.

Patch-MRF (Markov Random Fields) : l’image de texture est représenté par un histogramme 2D

Texture Classification from Random Features – REPAR – 24/03/2015 18

Page 18: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Evaluation expérimentale

Texture Classification from Random Features – REPAR – 24/03/2015 19

Page 19: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Evaluation expérimentale

6 bases d’images de textures (monochromes) de référence

Base Brodatz (illumination non contrôlée) Brodatz small data set : 24 classes. Chaque classe est représentée par

une image de texture divisée en 25 sous-images de taille 128×128, 13 pour l’apprentissage, 12 pour le test.

Brodatz large data set : 90 classes.

Brodatz full data set : 111 classes. Chaque classe est représentée par une image de texture divisée en 9 sous-images de taille 215×215, 3 pour l’apprentissage, 6 pour le test.

Texture Classification from Random Features – REPAR – 24/03/2015 20

Page 20: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Evaluation expérimentale

6 bases d’images de textures (monochromes) de référence Base CUReT (illumination contrôlée)

CUReT large data set : 61 classes. Chaque classe est représentée par 92 images de texture (conditions d’acquisition différentes) de taille réduite à 200×200, 46 pour l’apprentissage, 46 pour le test.

CURet small data set : 61 classes. Une seule image est utilisée pour représenter chaque classe (mêmes conditions d’acquisition). Elle est divisée en 9 sous-images de taille 106×106, 5 pour l’apprentissage, 4 pour le test.

MSRC data set (textile) : 16 classes de textures déformables. Chaque classe est représentée par 20 images de taille 1024×768, 15 pour l’apprentissage, 5 pour le test.

Texture Classification from Random Features – REPAR – 24/03/2015 21

Page 21: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Evaluation expérimentale

3 types de normalisation du vecteur RP :

Loi de Weber

Norme unité

Aucune normalisation

3 paramètres étudiés

Nombre K de textons

Taille du patch (nombre d’éléments n)

Dimension m du sous-espace de représentation (nombre de projections) avec m < n

Texture Classification from Random Features – REPAR – 24/03/2015 22

Page 22: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Etude des paramètres

Dimension m

n = 121 (patchs de taille 11×11)

K = 10

CUReT large data set

Difficulté du k-means pour des grandes dimensions => nécessité de réduire la dimension

Texture Classification from Random Features – REPAR – 24/03/2015 23

Page 23: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Etude des paramètres

Dimensions m et n

(a) CUReT small data set (Loi de Weber)

(b) CUReT large data set (norme unité)

Texture Classification from Random Features – REPAR – 24/03/2015 24

Page 24: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Etude des paramètres

Dimensions m et n

Les performances atteignent leur maximum pour m ≈ n/3

(a) Les performances diminuent avec l’augmentation de n. => nombre trop faible de prototypes pour de grands patchs

(b) performances constantes avec l’augmentation de n

Texture Classification from Random Features – REPAR – 24/03/2015 25

Page 25: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Etude des paramètres

Nombre K de textons

n = 121 (patchs de taille 11×11)

m = 40 (n/3)

CUReT large data set

La réduction de la dimension permet d’obtenir de bonnes performances avec des grandes valeurs de K et de partitionner au mieux l’espace de représentation.

Texture Classification from Random Features – REPAR – 24/03/2015 26

Page 26: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Comparaison avec ACP

Comparaison RP, ACP et méthode par patch (sans réduction de la dimension)

Performance moyenne sur 50 essais avec le même classifieur (a) CUReT large data set, patch 11×11, loi de Weber, K = 10

(b) CUReT large data set, patch 15×15, norme unité, K = 10

(c) Brodatz large data set, patch 5×5, norme unité, K = 10

Texture Classification from Random Features – REPAR – 24/03/2015 27

Page 27: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Comparaison avec d’autres méthodes

Paramètres

Performance moyenne obtenue avec la base CUReT large data set sur une dizaines de répartition training / testing

3 normalisations et plusieurs tailles de patchs

Résultats « Patch-VZ » et « MR8-VZ » fournis par l’auteur K=10, Loi de Weber

Texture Classification from Random Features – REPAR – 24/03/2015 28

Page 28: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Autres résultats

Meilleurs performances obtenues sur la base CUReT large data set

Autre bases CUReT small data set : la méthode proposée donne des

performances équivalentes ou meilleures à ce qui existe

Brodatz data set : excepté sur la base complète et dans un seul cas de figure, la méthode proposée reste meilleure

MSRC data set : la méthode proposée donne des performances meilleures que la méthode par patch pour différentes valeurs de K et de n.

Texture Classification from Random Features – REPAR – 24/03/2015 29

Method Affine LBP MR8 Patch Patch-MRF RP

Précision 95,30 % 95,72 % 97,43 % 97,17 % 98,03 % 98,52 %

Page 29: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Autres résultats

Variabilité des résultats selon :

La répartition training / testing

Le paramétrage du k-means

Les coefficients de la matrice RP

Sur un ensemble de 20 tests réalisés sur la base CUReT large data en faisant varier ces 3 paramètres ainsi que la dimension du sous-espace, l’écart-type des performances obtenues reste inférieur à 1% (avec patchs 11×11, loi de Weber, K = 10)

Complexité algorithmique

Texture Classification from Random Features – REPAR – 24/03/2015 30

Page 30: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Conclusion

La méthode proposée donne des performances de classification qui dépassent d’autres approches.

Environ un tiers de la dimension de l'espace des patchs d'origine est nécessaire pour préserver l'information contenue.

L’efficacité des attributs aléatoires pour la classification de texture est démontrée ainsi que la classification dans le domaine des patchs compressés.

L’approche RP permet d’obtenir de meilleurs performances dans un espace de dimension réduite.

Aucune information n’est a priori nécessaire sur la nature des textures.

Texture Classification from Random Features – REPAR – 24/03/2015 31

Page 31: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Remarques…

Sur le clustering pour la construction du dictionnaire :

Il est effectué dans le domaine des patchs compressés,

Il permet de regrouper les patchs similaires sous la forme d’un texton dont les éléments sont le centre des patchs compressés d’un même groupe.

Difficulté à cerner le lien avec la représentation parcimonieuse

Les patchs de texture sont identifiés par un seul « atome » du dictionnaire.

Texture Classification from Random Features – REPAR – 24/03/2015 32

Page 32: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Remarques…

Sur la « Random Projection » (RP)

Peu d’information sur le contenu de la matrice de valeurs aléatoires. Existe-t-il des contraintes ?

Méthode très efficace compte tenu de l’aspect aléatoire de la réduction de la dimension par RP

Les bons résultats obtenus semblent s’expliquer par : Le lemme de Johnson-Lindenstrauss qui permet de garantir un

minimum de perte d’information par la préservation des distances entre pairs de points dans l’espace comprimée

Le fait qu’on ne cherche pas ici à reconstruire le signal (la texture) contrairement aux problèmes d’acquisition comprimée

Nécessité d’un approfondissement des RP

Texture Classification from Random Features – REPAR – 24/03/2015 33

Page 33: Texture Classification from Random Featuresrepar.univ-lille1.fr/wp-content/uploads/2015/03/reunion... · 2015-03-25 · Texture Classification from Random Features Li Liu and Paul

Texture Classification from Random Features

Li Liu and Paul W. Fieguth

IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 34, No. 3, Mars 2012

Présenté par

Nicolas Vandenbroucke REPAR – mardi 24 mars 2015