Project 4: Face Detection
CS 143: Introduction to Computer Vision
Overview
In this project we implement a simple sliding-window face detector by training on image crops from non-face/scene images and established dataset for faces. Using HoG features and a simple linear SVM, a decent performance can be achieved easily.
Details
Features
For this project, I use the HoG descriptor for each 36 x 36 image crop. The code is from and can be found here. Basically the HoG descriptor is similar to SIFT in that it measures and groups gradient information from spatial bins in an image patch. However, HoG does trilinear interpolation and PCA to allow more robust representation.
Learning Framework
The pipeline is in its simplest form: collect positive and negative training examples, train linear SVM and be done. I did not implement the cascade architecture. What really helps is to allow dense sampling of patches and consider more gradual scales when running the sliding-window detector. A mean precision of 78% can be achieved easily without any tweaking.
Results

PR curve on the standard test set provided for project 4.

A sample detection on an 'easy' class photo.

A sample detection on a 'hard' class photo.