Grating cell operator for image processing and computer vision

M. Hol, F.E. Kalsbeek and N. Petkov, University of Groningen,
Department of Computing Science, Intelligent Systems

This page contains examples concerning a simulation program available on internet.


1) Gabor filter output

The grating cell operator makes use of the Gabor filter to detect lines of a given orientation. The response of a Gabor filter to such lines is used to detect gratings of lines. To facilitate understanding of the model, we first illustrate its first step - the computation of a Gabor filter output to an input image in which lines, line gratings and edges are present.
Select the following
parameter values: Two Gabor filters are applied - one with a phase offset 180 deg that detects black bars on a bright background, and the other with a phase offset 0 deg that detects white bars on a black background. (These two filters correspond to computational models of center-off and center-on simple cells, respectively.) Note that the the vertical bar grating consists of alternating black and (wider) white bars so that both filters will generate response. The output window shows the superpositon of the outputs of two filters in which their responses to black and white bars, respectively, are interleaved. You can observe these responses separately by eliminating one of the phase offset values in the input list. The center-off (180 deg offset) filter responds also to the long vertical bar in the center of the image. This response is surrounded by two flanking responses produced by the center-on (0 deg offset) filter. This response pattern (one central line surrounded by two flanking lines) is characteristic of an isolated bar that does not make part of a grating. A bar grating in the input gives rise to a larger number (larger than 3) of parallel line responses in the Gabor filter output.

2) Grating subunits output

The second step is the calculation of grating subunits from the Gabor filter output image.
Select the following
parameter values: A grating subunit is activated by a set of nrsimplecells/2 bars from the input image, which is, in this case, 4 (black or white) bars.
Since the Gabor filter output image contains both center-off and center-on responses (see example 1), a grating subunit is activated by "nrsimplecells" bars from the Gabor filter output image.
In this example, number of simple cells = 6.
Recall from the explanations page that a grating subunit (q) will get the value 1 if these 6 simple cells have nearly the same intensities (within the margin of rho). This is the case for our example.
The 6 leftmost bars of the Gabor filter output image fill 6*(wavelength/2) pixels. (Note: wavelength/2, because in the input image, one black bar next to a white bar is one lambda (=wavelength))
In this example, wavelength is 12, so 6 bars in the Gabor filter output image fill 6*6 = 36 pixels. Since, by the definition of a grating subunit, these pixels count as grating and the middle pixel of them will get the value 1 (this middle pixel is 18 if the grating starts at pixel 1).
This process is repeated for all pixels on a row, and for all rows of the image.
It is now clear to see why the 4 leftmost and rightmost bars of the Gabor filter output image are not detected as grating when padding to grating is disabled.

Observe that the blurring effect of the Gabor filter in the vertical direction (see previous example) causes some grating to be detected above and below the vertical bars of the original input image. This is not the case for the horizontal middle of the output picture. This is caused by the large intensity difference with the large bar in the middle. When rho is set lower, the intensity difference is accepted and grating will be found also in the middle of the picture.

Note that the 3 vertical bars in the upper half Gabor filter output image are not detected by the grating subunits.

3) Grating filter output

Select the following
parameter values: Selecting as output the Grating filter output will show the gratingcells as explained in explanations page. Notice that the parameters except the Output image are the same as used in example 2. The output image is set to Grating filter output. On grating subunits from example 2 a convolution is performed with a gaussian kernel. The convolution is a weighted summation (formula 5) observe that the gratingfilter output is a blurred version of the grating subunits. The parameter beta determines the size over wich effective summation takes place, one can increase or decrease the value and see how this effects the grating filter output. An increase in beta results in a more blurred output where a decrease in beta results in an output wich more resembles the grating subunits.

4) Nearly exact grating detection

Select the following
parameter values: With these settings the grating filter output gives a quite precise representation of the actual grating in the input image.
How this is achieved is explained here:

In the Gabor filter output image of example 1, the vertical bars are longer than the original vertical bars from the input image. This is caused by the blurring effect of the Gabor filter.
For an understanding of this: please select as output image: Gabor function.
The strongest response of this Gabor function occurs when it is fully covered by a bar (from the top to the bottom of this Gabor funtion).
If only the lower half of the Gabor function covers a bar, and the upper half covers the background, the response at that point is 50%. This is the reason that when HWR Threshold is set to 50%, the Gabor filter output image shows the same vertical lenght of the bars as the input image.

Now, please select as output image: Grating subunits output.
With HWR set to 50%, the vertical length of the detected grating is nearly the same as the vertical length of the original bars in the input image. Since padding to grating is enabled, the width of the grating corresponds also well to the grating of the input image.

5) Grating detection on a natural image

Select the following
parameter values:
The input image shows a bottle placed on a wrinkled cloth with bar shaped texture under an orientation of about 10 degrees. The wavelength of the grating is about 5 pixels. Selecting the Gabor filter output one can see that the edges of the bottle and the bar grating is mostly preserved. Yet after applying the grating filter with apropriate paremeters only the bar shaped texture is preserved.
Last changed: 2008-07-03