240 likes | 414 Views
Discovery of Human-Competitive Image Texture Feature Extraction Programs Using Genetic Programming. By Brian Lam and Vic Ciesielski blam,vc@cs.rmit.edu.au RMIT University
E N D
Discovery of Human-Competitive Image Texture Feature Extraction Programs Using Genetic Programming By Brian Lam and Vic Ciesielski blam,vc@cs.rmit.edu.au 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, 2nd 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 • How do we use GP to evolve texture feature extraction programs ? - Inputs - Functions - Fitness evaluation • Can GP generate human competitive feature extraction programs ?
Texture Classification Our Approach Classical Approach Feature Extraction invented by human Feature Extraction discovered by GP Extract Features from Vistex Extract Features from Vistex Training data Testing Data Training data Testing Data Classifier Classifier Test on testing data 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
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 *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.
Inputs Histograms Pixels 64 16 16 64 16 x 16 = 256 inputs 256 grey levels = 256 inputs
Other GP Parameters Generation : 200 Mutation rate : 0.28 Cross-over rate : 0.78 Elitism : 0.02