CS 540Lecture NotesFall 1996

Computer Vision (Chapter 24)


What is Computer Vision?

Applications

Example: Vehicle Navigation using Neural Networks

The ALVINN system by D. Pomerleau is an example of a 2-layer, feedforward neural network for "vision-based lane keeping" that was described earlier in the section on Neural Networks.

Example: Face Recognition using an Eigenspace Representation

Eigenspace Representation of Images

Face Recognition Algorithm

The entire face recognition algorithm can now be given:

  1. Given a training set of face images, compute the M' largest eigenvectors, E1, E2, ..., EM'. M' = 10 or 20 is a typical value used. Notice that this step is done once "offline."

  2. For each different person in the training set, compute the point associated with that person in eigenspace. That is, use the formula given above to compute W = [w1, ..., wm']. Note that this step is also done once offline.

  3. Given a test image, Itest, project it to the M'-dimensional eigenspace by computing the point Wtest, again using the formula given above.

  4. Find the closest training face to the given test face:

    d = min || Wtest - Wk ||
         k
    

    where Wk is point in eigenspace associated with the kth person in the training set, and || * || denotes the Euclidean distance in eigenspace.

  5. Find the distance of the test image from eigenspace (that is, compute the projection distance so that we can estimate the likelihood that the image contains a face):

    dffs = || Y - Yf ||
    

    where Y = Itest - A, and Yf = sum_i_from_1_to_M' (Wi * Ei).

  6. If dffs < Threshold1
    	; Test image is "close enough" to the eigenspace
    	; associated with all of the training faces to
    	; believe that this test image is likely to be some
    	; face (and not a house or a tree or something
    	; other than a face)
    then if d < Threshold2
         then classify Itest as containing the face of person k,
    	     where k is the closest face in the eigenspace to
    	     Wtest, the projection of Itest to eigenspace
         else classify Itest as an unknown person
    else classify Itest as not containing a face
    

Face Recognition Accuracy and Extensions to Eigenspace Approach

Template Matching

Edge Detection

A problem that is closely related to template matching is detecting edges, which are one of the most basic low-level features that are commonly detected in images. An edge is a pixel where there is a large change in the intensity (brightness) value in a local neighborhood around the given pixel. The following figure shows a one-dimensional cross-section of an image in terms of the pixels intensity values in the row corresponding to y = y0.

There are many physical causes of edges occurring in images. The main reasons are (1) depth discontinuity, (2) surface orientation discontinuity, (3) reflectance discontinuity, and (4) illumination discontinuity. Examples of these four are shown in the following image of a scene containing a cylindrical object.

There are many different approaches to edge detection, but one which bears close relationship to the template matching method described earlier, is to define a template corresponding to a straight edge passing through the center of the template at some desired orientation. A set of templates are defined for each orientation of interest. So, for example, we might define templates for detecting edges at orientations of 0 (i.e., a horizontal edge), 45, 90 (i.e., a vertical edge), and 135 degrees relative to the x-axis as follows:

Orientation 0Orientation 45Orientation 90Orientation 135
111
000
-1-1-1
110
10-1
0-1-1
10-1
10-1
10-1
0-1-1
10-1
110


Last modified December 10, 1996
Copyright © 1996 by Charles R. Dyer. All rights reserved.