discovery of human-competitive image texture feature extraction programs using genetic programming...
TRANSCRIPT
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
Brodatz Textures
Vistex Textures
What is texture ?Texture can be considered to be repeating patterns of localvariation of pixel intensities.
Human Invented AlgorithmsTexture 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
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
ClassifierTest on testing data
Our Approach
Feature Extraction discoveredby GP
Extract Features from Vistex
Training data Testing Data
ClassifierTest on testing data
Learning Data (Brodatz)
Evolve feature extraction programs
Extract Features
Evaluate Fitness
Feature Extraction programs discovered by GP
Discovering Programs Using 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
Brodatz Texture Images
256 inputsHistogramValuesImage size64 x 64
GP SystemOperator : plusFitness Evaluation : Overlap between clusters
Texture Feature Extraction Programs
GP Configuration
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
0102030405060708090
Local
feat
ures
Fracta
l (2)
Fracta
l (1)
Sun &
Wee
Amad
asun
Mak
ov
Gal
loway
Mao
& Ja
in
Pikaz
& A
verb
uch
Dapen
g
GP fe
atur
es
Gab
orLain
e
Har
alick
Laws
Fourie
r coe
ff.
Unser
Amelu
ngChe
n
GP features
*Wagner T, “Texture Analysis” in Handbook of Computer Vision and Applications, Academic Press, 1999
Accuracy %
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
64
64
16 x 16 = 256 inputs
0
10
20
30
40
50
60
70
80
90
1 22 43 64 85 106 127 148 169 190 211 232 253
256 grey levels = 256 inputs
Histograms
Inputs
Pixels
Generation : 200Mutation rate : 0.28Cross-over rate : 0.78Elitism : 0.02
Other GP Parameters