Description
Build
a detection system that inputs an image, runs a detector over all locations in image
and over a range of scales, and removes spurious detections. The system should
be able to run different detectors. For initial testing use Kernel SVM
(existing package).
Challenge:
•
Algorithm
for integration of raw detections.
•
Speed.
Data sets
The
system should be tested on standard
database that provides the test images and the ground truth (locations and
sizes of the faces in images) .
Results
The
detection results should be presented in the form of ROC curve, which shows the
performance of the detection method by changing the threshold that controls the
detection score. The x-axis is the number of true positives (faces found by the
system) divided by the total number of faces in images (from the ground truth).
The y- axis is (1- number of false positive, divided by the total number of
non-face sub-images). False positive is a sub-image that the system detected as
a face but it’s not marked as a face in the ground truth file. You will have to decide on the radius
from the location given by the ground truth that will be considered as true
positive (see Figure below)
Detector
The detector itself plays
tangential role in the project. For simplicity, I choose linear SVM. However
you can implement one of your favorite detectors. J
The SVM detector requires
training on many faces and many non-faces. You can download the images from
here (training
images) . After you train the detector and save its parameters, you system
will run it on every sub-image it processes. To test your detector outside the
system run it on a test set of
segmented images. You are welcome to ask questions
if you have troubles making it work.
SVM Package
Useful Links
Class lecture on object
detection
Face
Detection home page. You can find some relevant paper on face detection
there.
Status
Claimed by Keren Kahanov , Alex Hadas