SCE Carleton Logo
  Carleton > Engineering > SCE > Faculty > A. Adler > Courses > ELG7173 > Visual System


ELG 7173 - Human Visual System

Block Diagram Model of Monochrome vision

Figure 1: Block Diagram Model of Monochrome vision

The model of figure 1 considers four stages of vision:

  1. Eye Optics
    • Input: Light: L(x, y, λ)
    • Output: Intensity: I(x, y, λ)
    • Model: H 1( f1, f2)
    The eye optics acts as a spatial low pass filter
  2. Spectral Response of Rods / Cones
    • Input: Intensity: L(x, y, λ)
    • Output: Luminance: f(x, y )
    • Model: V( λ )
    Photosensitive cells in the eye respond to photons in the range of 400 nm - 700 nm.
  3. Intensity Response of Rods / Cones
    • Output: Luminance: f(x, y )
    • Input: Contrast: C(x, y)
    • Model: g( . )
    Cells respond to contrast in a highly nonlinear way. This effectively compresses the percieved range of luminance. g( . ) may be modelled as a logarithm.
  4. Lateral Inhibition
    • Input: Contrast: C(x, y)
    • Output: Brightness: B(x, y )
    • Model: H 2( f1, f2)
    Lateral inhibition enhances edges and contrasts at mid frequencies, while filtering high frequencies.

Deficiencies of this model:

  • No consideration of the time domain performance
  • No consideration of colour
  • No consideration of higher level visual processing beyond the stage of lateral inhibition

Mach Bands

Mach bands are adjacent vertical stripes of increasing grey level.
They may be created using the following Matlab code:
colours= 256;
levels = 10;
hsize= 250;
vsize= 100;
colormap( gray(colours) );
hline= ceil( linspace( 1, levels+1, 250) )* colours/(levels + 2);
image( ones( vsize,1 ) *hline);

Figure 2: Mach Band Image
If you look carefully at transition between grey levels, you should perceive an enhanced contrast immediately adjacent to each contrast transition line.
In order to model the spatial frequency at which lateral inhibition operates, we construct in image with several different levels of low pass filter.
In order to do this, we use the following code
colours= 256;
levels = 10;
hsize= 250;
vsize= 8;
colormap( gray(colours) );
hline= ceil( linspace( 1, levels+1, 250) )* colours/(levels + 2);
pad_hline= [min(hline)*ones(1,hsize), ...
            hline, ...
            max(hline)*ones(1,hsize) ]; % smooth padding each side
for kernel_width= [ 0.01, .025, .05, .1:.1:.5]
    conv_kernel= ones(1, hsize/levels*kernel_width );
    conv_kernel= conv_kernel / sum( conv_kernel );
    ft_hline= conv2( pad_hline, conv_kernel, 'same');
    ft_hline= ft_hline( hsize+(1:hsize) );
    img= ones( vsize,1 ) * ft_hline;
    jpgwrite( sprintf('mach-band-filter-%0.3f.jpg',kernel_width), img );
(% width)
Filtered image
2.5 %
5 %
10 %
20 %
30 %
40 %
50 %
Figure 3: Mach bands filtered at various levels

Each image has a different convolution kernel, and therefore, a different spatial low pass filter.
At a given distance from the screen, you should perceive that the Mach band contrast enhancement effect disappears at a certain filter level.

Note that this effect will vary significantly as you move toward and away from the screen.
This is because the lateral inhibition has a frequency response in solid angle. As you move toward the screen, the solid angle occupied by a given feature increases, changing the visual effect.

Frequency dependence of contrast sensitivity

Now we would like to understand the frequency dependence of contrast sensitivity

The following code plots an image contasts at different spatial frequencies.

hsize= 500;
vsize= 400;
freq= linspace(.01^(1/spread),1, hsize).^spread * .3;
% freq is 1/2/pi * dw / dx
w= 2*pi*cumsum( freq );
hline= sin(w);
vline= linspace(0,1,vsize).^3;
im= vline'*hline;

Figure 4: Image of contrasts at various spatial frequencies

Note that contrasts are more visible at certain spatial frequencies than others. Thus you should be able to see the contrast further up the line in the center part of the figure.

NOTE: Your monitor must be configure to use 24 or 32 bit colour for the effect to be visible. Unfortunately, occasionally, I've noticed windows will claim to be in 24 bit colour but actually will display in less colours.

Last Updated: $Date: 2003-08-01 23:07:45 -0400 (Fri, 01 Aug 2003) $