Computer Science - The City College of New York
CSC I6716 - Spring 2014  3D Computer Vision

Assignment 2. Feature Detection
( Due: March 11th before class)


Note:  Turn in a document (in writing; please type) containing a list of your .m files, images showing the results of your experiments, and an analysis of the results.All the writings must be hard copies in print - you may hand them in during class, or put them in my mailbox in the CS main office . You also need to turn in your “soft” copies of your assignment via email. For the programming part, send ONLY your source code to me by email  – please don’t send in your images and executable (even if you use C++).  You are responsible for the lose of your submissions if you don’t write  “CSC I6716 Computer Vision Assignment 2” in the subject of your email. Do write your names and IDs (last four digits) in both your hard copy and soft copy submissions.


Choose one or two of the images on the course web page for this assignment or use an image of your own choice.  If you use a different image, be careful that the image has not been saved under JPEG using a high level of compression.  This often introduces artifacts into the image that confound subsequent analyses of the results.  For the most part, you should apply your operators to a gray-scale version of the image. 

1. (20 points) Generate the histogram of the image you are using .  If it is a color image,  please first turn it into an intensity image and then generate its histogram.  Try to display your histogram, and make some observations of the image based on its histogram.

2. (20 points) Apply the 1x2 operator and Sobel operator to your image and analyze the results of the gradient magnitude images.  Does the Sobel operator have any clear visual advantages over the 1x2 operator?  If you subtract the 1x2 edge image from the Sobel are there any residuals? (Note: don't forget to normalize your results as shown in slide # 29 of  feature extraction lecture: part 2)

3. (20 points) Generate edge maps of the above gradient maps (20 points).  You may first generate a histogram of each gradient map,  and only keep certain percentage of pixels  (e.g.  5% of the highest gradient  values) as edge pixels (edgels) . Use the percentage to find a threshold for the gradient magnitudes.

4. (20 points) What happens when you increase the size of the kernel to 5x5 , or 7x7? Discuss computational cost (in terms of members of operations, and the real machine running times), edge detection results and sensitivity to noise, etc. Note that your larger kernel should still be an edge detector.

5.  (20 points) Suppose you apply the Sobel operator to each of the RGB color planes comprising the image.  How might you combine these results into a color edge detector?  Do the resulting edge differ from the gray scale results?  How and why?

6. Proof-reading (10 bonus points). While you are reading the lecture notes on feature extraction, please write down your suggestions of changes for typos, unclear sentences, and etc.., in a separate file and send it to me via email. Please do not directly work on the PDF file. Instead please provide a list of your changes, including page numbers, the original and the changed parts. You might also put your comments for me to further improve the writing of the document.