I am doing a project on Gabor feature extraction. I am very confused about what a Gabor feature means. I have made a feature matrix with different orientation and frequency. Is that the Gabor feature or the feature like statistical feature, geometric feature, spatial domain feature, invariance, repeatability, etc computed of image obtained after convolving the image with the Gabor filter bank with different orientation and frequencies refers to the Gabor feature.
Gabor filters are used as detectors of small, localized cloud stretches or blobs in the satellite image. As these detectors are localized, a large number of Gabor filters are used to cover the whole image (the exact number depends on the size of the image and the size of each filter's receptive field).
The second function named "gaborFeatures. m" extracts the Gabor features of an input image. It creates a column vector, consisting of the Gabor features of the input image. The feature vectors are normalized to zero mean and unit variance.
Gabor wavelet filters are popularly used in many applications of image processing such as extraction of edges, texture analysis, object recognition, and many more. Local spatial as well as frequency information can be obtained by the use of Gabor wavelet filters.
A Gabor function is a Gaussian kernel multiplied by a sinusoid. Its 1D continuous form is defined as. (5.39)
Gabor filters act very similar to mamalian visual cortical cells so they extract features from different orientation and different scales.
I too recently did some Gabor filters based Feature extraction.
It looks hard initially but it is easy to implement.
To make it easy for you to understand I will give you a walkthrough.
Suppose you have an image like
And you calculate gabor features at 5 scales and 8 orientations (Which I suppose you have already done) you will get filters like
Now you need to convolve each filters with the image to get 40 (8*5=40) different representation(response matrices
) of same image where each image gives you a feature vector.
So after convolution
Now you need to convert those Response Matrices to feature vector.
So feature vector may consist of : Local Energy,Mean Amplitude,Phase Amlitude or Orientation whose local has maximum Energy
I worked on local energy and mean amplitude and got good enough results.
Local Energy = summing up the squared value of each matrix value from a response matrix
Mean Amplitude = sum of absolute values of each matrix value from a response matrix
Thus at the end you will get two matrix that will be [1x40]
each.
You can append one matrix to the other to create a [1x80]
feature matrix for One image and thus create a [nx80]
vector for n images for further training purpose.
How ever in order to increase efficiency you can use Log Gabor filters.(see this)
And for more information regarding the feature Extraction with Gabor Filters see this paper
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With