Facial Recognition with SIFT Features

aabouche

Faces are relatively easy for computers to detect because the parts don't move to far in relation to one another. Thus faces can be represented with descripts such as SIFT or HoG fairly efficiently. In this case, a set of faces and a large set of non faces is used to derive a SIFT feature that can generally describe faces. Then this resulting feature is used to determine where a sliding window falls onto a face through an SVM. Both a linear and nonlinear SVM were used.

The negative training data was drawn from scenes with no faces in them. In the first result below, random patches of the scene image were used as the training data. In the second two results below, the program found SIFT features of the image and picked out the features that resembled the feature vector found from the positive training examples. These were hard negatives and did not seem to increase the accuracy very much.

Results

This run used the linear SVM with only random negative training data.

This run used the linear SVM with the hard negatives for training data.

This run used the nonlinear SVM with the hard negatives for training data.

This run used the nonlinear SVM with the hard negatives for training data and lambda=0.6.