CS 397: Homework


HW 1: Perception exercises

  1. Undertake an experiment with two pieces of paper to demonstrate the principle of perspective projection. One piece of paper should be half the size of the other. Print out the large piece of paper with text or an image at a given size. The smaller piece should have an identical version of the text/image that is half the size. Have someone else hold the pieces of paper so that with a single eye the two pieces of paper look identical. This should occur when the smaller piece of paper is half the distance to your eye when compared to the larger one. It helps with this experiment if you put some handles on the back of the sheets of paper.

    Can you tell which piece of paper is further and which is closer? You should really try to fool yourself if you can (for instance, close your eyes and have the person randomly change which side the smaller piece is on). What clues are you using to discover which one is closer? Could any of these clues translate to a computer vision program?

  2. Develop a quantitative answer to the question: How many objects do you recognize in a day? Be specific in your answer. Explain your assumptions and reasoning process, define what you mean by an "object", and give a number

HW 2: Gradient Filters

  1. Implement functions that apply the 3x3 Sobel-X and Sobel-Y filters to an image (one function for each). The output of the functions should be either an int image or a float image (your choice).
  2. Implement a function that takes the Sobel-X and Sobel-Y results and returns images representing the gradient magnitude and gradient direction. I would suggest using float images for the output. Represent the direction using radians (which is the output units of the atan2 function in the C math library).

    Note, if you ever need to know something about a C function, you can use the man command on a terminal. For example, if you type man atan2 it will tell you all about that function and several other related ones.

HW 3: Neural Networks