COS 429 - Computer Vision

Fall 2016

Course home Outline and Lecture Notes Assignments


Assignment 3: Face Detection

Due Thursday, Oct. 27


Part IV. Multi-Scale Face Detection

For the grand finale of this assignment, you will run your detector at multiple scales. Because the classifier is trained at 36x36, you will need to resize images to suit the classifier. There are two ways to do this:

  1. Repeatedly rescale the image, but keep a fixed window size, and run your single-scale detector on the ever-shrinking images.
  2. Extract windows of ever-larger sizes, resizing each window before passing it in to the HoG computation.
Of these options, #2 is probably simpler to implement, while #1 will be faster. The choice is yours.

Your output should look something like this:

Notice that, as before, no nonmaximum suppression has been performed, over either position or scale.


Do this: Download the starter code and dataset (about 18 MB) for this part. It contains the following files:

Once you download the dataset, implement find_faces.

No starter code is provided for you this time, so you will have to adapt from the code you wrote for part III. You may choose either of the approaches suggested above. If you implement option 1, shrink the image by 20% on each iteration and stop when the smallest dimension is below 36. If you implement option 2, start with 36x36 windows and grow them by 20% on each iteration, stopping when the window is larger than the smallest dimension of the image. (Don't forget to also increase the stride on each iteration if you do #2, such that the stride is always the same fraction of the window size.)

Save and submit your face detection results for a few images showing particularly good or particularly bad performance. Discuss when your detector tends to fail or find large numbers of false positives. Be aware that the multi-scale detector may take a few minutes to run on the larger input images.

Optional extra credit:

  1. Implement nonmaximum suppression, over both position and scale, to eliminate overlapping detections.
  2. Test your detector, by comparing your outputs to those in testing_scenes_bboxes.txt






Last update 20-Oct-2016 13:56:14
smr at princeton edu