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