Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gabor feature extraction

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.

like image 271
user3106892 Avatar asked Dec 16 '13 10:12

user3106892


People also ask

What are Gabor filters used for?

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).

How extract Gabor features in Matlab?

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.

Is Gabor filter a wavelet?

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.

What is Gabor kernel?

A Gabor function is a Gaussian kernel multiplied by a sinusoid. Its 1D continuous form is defined as. (5.39)


1 Answers

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

test Image

And you calculate gabor features at 5 scales and 8 orientations (Which I suppose you have already done) you will get filters like

filters

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

convolved images

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

like image 179
xor Avatar answered Oct 14 '22 02:10

xor