CMPSCI 670: Computer Vision, Fall 2014

Homework 3: Scale-space blob detection

Due date: October 20 22 (before the class starts)

Downloads: code.zip, data.zip, output.zip


Algorithm outline

  1. Generate a Laplacian of Gaussian filter.
  2. Build a Laplacian scale space, starting with some initial scale and going for n iterations:
    1. Filter image with scale-normalized Laplacian at current scale.
    2. Save square of Laplacian response for current level of scale space.
    3. Increase scale by a factor k.
  3. Perform nonmaximum suppression in scale space.
  4. Display resulting circles at their characteristic scales.

Test images

The data.zip contains four images to test your code, and output.zip contains sample output images for your reference. Keep in mind, though, that your output may look different depending on your threshold, range of scales, and other implementation details. In addition to the images provided, also run your code on at least four images of your own choosing.

Running the code

Download the code and data and run evalCode.m. It runs a dummy implementation of the code and draws the blob (a circle in the center of the image). On running the code the ouput should be something like this (exact times will vary based on the machine):

>> evalCode
Elapsed time is 0.007286 seconds.
Elapsed time is 0.002676 seconds.
And two identical images:

Detailed instructions

Here are the key steps to implement the blob detector:

For extra credit


Helpful resources


Grading checklist

As before, you must turn in both your report and your code. Your report will be graded based on the following items:
  1. The output of your circle detector on all the images (four provided and four of your own choice), together with running times for both the "efficient" and the "inefficient" implementation.
  2. An explanation of any "interesting" implementation choices that you made.
  3. An explanation of parameter values you have tried and which ones you found to be optimal.
  4. Discussion and results of any extensions or bonus features you have implemented.

Instructions for submitting the homework

As before, create a hw3.zip file in your edlab accounts here /courses/cs600/cs670/username/hw3.zip containing the following files: Note that the result of unzipping the /courses/cs600/cs670/username/hw3.zip should result in files /courses/cs600/cs670/username/hw3/report.pdf, etc. Also include additional code (e.g. for extra credit) and explain it in the report what each file does.

Academic integrity: Feel free to discuss the assignment with each other in general terms, and to search the Web for general guidance (not for complete solutions). Coding should be done individually. If you make substantial use of some code snippets or information from outside sources, be sure to acknowledge the sources in your report. At the first instance of cheating (copying from other students or unacknowledged sources on the Web), a grade of zero will be given for the assignment.


Acknowledgements

This homework is based on a similar one made by Lana Lazebnik at UIUC.