- Find Faces → Discriminate between faces/non faces
- uses
- preprocessing step to Face Recognition
- Autofocus, Exposure, color balance in photography
- surveillance, biometrics, monitoring
- invariant to
- scale
- rotation
- illumination
Haar Features
a.k.a. Viola Jones Algorithm
slide windows of different scales across the image, extract features and classify the features as face/non-face
Haar Filters:
- Images are convolved with a set of Haar filters (24x24 base size) across different filter scales
- Haar features are sensitive to direction of the filters
- The filters are themselves simple black and white (+1 and -1) filters
- the convolution can be simplified to simple summation
- filters are meant to capture certain facial features
Integral Image
- table that holds the inclusive sum of all pixel intensity values to the left and top of a given pixel
- 2D cumulative sum
- integral images Allows for fast summation of image intensity of arbitrary rectangles
- Can be used to quickly compute Haar filters
- The computation cost remains constant regardless of the size of the Haar filter
Classification
- Haar features around a pixel need to be classified as face/non-face → Classification problem
- Nearest Neighbour Classifier
- large dataset needed for robustness
- slow and computationally expensive
- large dataset comparison
- have to do it for every scale
- Support Vector Classifier
- Nearest Neighbour Classifier
- Large number of features
- use Adaboost and Cascading to optimize classification
Adaboost
see Adaboost
- eliminate redundant/irrelevant features
- weak classifier: a relevant feature that does better than random guessing
- Adaboost constructs a strong classifier as a linear combination of weak classifiers
Cascading
- Strong features are formed into a binary classifier
- +ve matches are sent along to the next feature
- -ve matches are rejected
- Reduces the amount of computation time spent on false windows