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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
Evaluation expérimentale
Texture Classification from Random Features – REPAR – 24/03/2015 19
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
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
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
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
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
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
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
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
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
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 %
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
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
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
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
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