Project4 : Face detection with a sliding window

Jihoon Lee

Overview

The goal of project was to implement face detector using sliding window classification. The project consisted of collecting positive/negative features using SIFT, training linear/non-linear classifier, and evaluation. Also the project showed that cascade architecture improves the performance.
The result showed that linear classifier with cascaded architecture got the highest performance with 82%.

Algorithms

Collecting features

In the cascade architecture, collecting negative feature has two different stages. 1) It collects features from random images. 2) if it is second stage, it collects the images where the initial classifier is wrong. Then, it randomly samples the same number of positive features.
In order to crop the images, I used SIFT feature using vl_dsift in the crop2features() and used get_img_feats() instead of get_img_crops for fast computation(get_img_crops took more than 24hours to test all images whereas get_img_feats took around 20 minutes.)

SVM training

Once both positive and negative features are ready, the classifier can be trained by feeding SVM.

Evaluation

Evaluate the performance the classifier using test image set.

Result

The result shows that the accuracy of classifier increases if it used cascade architecture and linear classifier was better somehow.

Linear

Stage 1. TPR: 0.498, FPR: 0.001, TNR: 0.499, FNR: 0.002 AP: 0.783
Stage 2. TPR: 0.527, FPR: 0.002, TNR: 0.460, FNR: 0.011 AP: 0.816

Non-Linear

Stage 1. TPR: 0.497, FPR: 0.000, TNR: 0.500, FNR: 0.003 AP: 0.793
Stage 2. TPR: 0.528, FPR: 0.002, TNR: 0.464, FNR: 0.007 AP: 0.797