COSC 387: Artificial Intelligence

Project 5
Fall 2000

Due: Dec 7 @ 5 P.M.
16 points

  1. Write a program that, when given an image of a face, detects any eyes therein. Here are six GIF images of faces from the Olivetti face database:

  2. I've converted the original GIF images into a raw image format. The first two integers in the file are the x and y dimensions of the image. These are followed by the grayscale values of the image's pixels. For this project, each image is a 92 x 112 grayscale image with pixel values between 0 and 255; 0 is black and 255 is white. Use your following files as input and to develop your program:

    Here's a little Java application that will let you inspect the pixel values of the images in raw format: imageView.java.

  3. The top-level function, detect-eyes, should take a string as the argument, which is the name of the file containing the image in the raw format. The function should load the image, do whatever processing is necessary to detect any eyes in the image, and return either a list of coordinates where it found eyes, or nil indicating that no eyes were present in the image. For example, consider the following function call as an example:
    > (detect-eyes "f105.raw")
    ((26 61) (63 61))
    

Instructions for Submission: Although you can use any Common Lisp environment, all programs must run under GNU gcl. When you are ready to submit your program for grading, e-mail it as one file to the TA using the last four digits of your student ID and the suffix ``.lisp'' as the subject line.

For example, if the last four digits of your student ID is 1234, the name of your source file is proj1.lisp, and your TA's e-mail address is ``imagoodtamaloof@cs'', then you would type at the UNIX prompt:

gusun% mailx -s "1234.lisp" imagoodtamaloof@cs < proj1.lisp
You must e-mail your project before 5:00 P.M. on the due date.

Once you submit your project, it is important to keep an electronic copy that preserves the modification date and time. If we lose your project or the e-mail system breaks, then we will need to look at the modification date and time of your project to ensure that you submitted it before it was due.

Finally, when storing source code on university machines, it is important to set file permissions so others cannot read the file. To turn off such read/write permissions type at the UNIX prompt chmod og-rw <file>, where <file> is the name of your source file.