Transcript Texture Classification
Discovery of Human-Competitive Image Texture Feature Extraction Programs Using Genetic Programming By Brian Lam and Vic Ciesielski blam,[email protected]
RMIT University School of Computer Science and Information Technology
What is texture ?
Texture can be considered to be repeating patterns of local variation of pixel intensities.
Brodatz Textures Vistex Textures
Human Invented Algorithms
Texture feature extraction algorithms can be grouped as follows* • Statistical • Geometrical • Model based • Signal Processing *Tuceryan and Jain, “Texture Analysis” in The Handbook of Pattern Recognition and Computer Vision, World Scientific, 2 nd edn., 1998
Statistical Methods
• Local features • Autoregressive • Galloway – run length matrix • Haralick – co-occurrence matrix • Unser • Sun and Wee • Amadasun • Dapeng • Amalung
Local Features
• Grey level of central pixels • Average of grey levels in window • Median • Standard deviation of grey levels • Difference of maximum and minimum grey levels • Difference between average grey level in small and large windows • Sobel feature • Kirsch feature • Derivative in x window • Derivative in y window • Diagonal derivatives • Combine features
Haralick Features
• First transform pixels into a co-occurrence matrix then calculate a (large) number of statistical features from the matrix.
Geometric Methods
Chen’s geometric features • First threshold images into binary images of n grey levels • Then calculate statistical features of connected areas.
Model Based Methods
These involve building mathematical models to describe textures. • Markov random fields • Fractals 1 • Fractals 2
Signal Processing Methods
These methods involve transforming original images using filters and calculating the energy of the transformed images.
• Law’s masks • Laines – Daubechies wavelets • Fourier transform • Gabor filters
Research Questions
1. How do we use GP to evolve texture feature extraction programs ?
- Inputs - Functions - Fitness evaluation 2. Can GP generate human competitive feature extraction programs ?
Texture Classification
Classical Approach Feature Extraction invented by human Extract Features from
Vistex
Training data Testing Data Classifier Test on testing data Our Approach Feature Extraction discovered by GP Extract Features from
Vistex
Training data Testing Data Classifier Test on testing data
Discovering Programs Using GP
Evolve feature extraction programs Learning Data (
Brodatz
) Extract Features Evaluate Fitness Feature Extraction programs discovered by GP
Data Set Definitions
• Learning set: 13 Brodatz textures used to evolve 78 programs (80 of 64 x 64 images in each).
• Training set: 15 Vistex textures used to train classifier (32 of 64 x 64 images in each ).
• Testing set: 15 Vistex textures used to test classifier (64 of 64 x 64 images in each).
*Wagner T, “Texture Analysis” in Handbook of Computer Vision and Applications, Academic Press, 1999
GP Configuration
Brodatz Texture Images 256 inputs Histogram Values Image size 64 x 64 GP System Operator : plus Fitness Evaluation : Overlap between clusters Texture Feature Extraction Programs
Feature Space for Two Textures
Histograms of Class 1 and Class 2 Learning Set Textures
Evolved program : X109 + 2*X116 + 2*X117 + X126 + 2*X132 + X133 + 2*X143 + X151 +X206 + X238 +3*X242 + X254
Results
Accuracy % GP features
90 80 70 60 50 40 30 20 10 0 L oc al fe at ur Fr es ac ta l ( Fr 2) ac ta l ( Su 1) n & We A m e ad as un Ma ko G v al lo Ma Pi w ay o ka z & & J ai A n ve rb uc h D ap G en P fe g at ur es G ab or L ai ne H ar al ic k Fo L aw ur ie s r co ef f.
U ns er A m el un g C he n
*Wagner T, “Texture Analysis” in Handbook of Computer Vision and Applications, Academic Press, 1999
RESULTS 2
• Industrial inspection problem • Classification of Malt Images • Our GP features slightly more accurate than Haralick features
Conclusions
• GP can generate feature extraction algorithms that are competitive with human developed algorithms.
• Evolved programs are fast compared with some of the human derived ones.
16 16 Pixels 16 x 16 = 256 inputs
Inputs
Histograms 64 64
90 80 70 60 50 40 30 20 10 0 1 22 43 64 85 106 127 148 169 190 211 232 253
256 grey levels = 256 inputs
Other GP Parameters
Generation : 200 Mutation rate : 0.28
Cross-over rate : 0.78
Elitism : 0.02