Project 4: Face detection with a sliding window

Project Overview

The sliding window model is conceptually simple: independently classify all image patches as being object or non-object. Sliding window classification is the dominant paradigm in object detection and for one object category in particular -- faces -- it is one of the most noticeable successes of computer vision. For example, modern cameras and photo organization tools have prominent face detection capabilities.

The major steps are :

Crop2Features

I use SIFT features generated by vl_dsift to replace the raw patch features. This significantly improved the accuracy.

get_hard_negatives

In this part, I use get_detections_all_scales to get the detections for different scales of the input images. Then I use detection2bbox to get the crop boxes. The boxes maybe out of bound, I round the value out of bound to bound. THen I use bbxoes2crops to get the features.

Results

The sift feature improves the AP by about 10 percent. The non-linear SVM should do a better job than linear SVM. But it highly dependent on the parameter. I failed to find a good parameter, so in my experiment, it's AP is lower than SVM's.

total stages: 1 SVM: linear lambda:100

total stages: 2 SVM: linear lambda:100

total stages:2 SVM: non-linear lambda:50 Sigma: 1000