Component Based Face Recognition

The goal of the project was to recognize a person's face from a picture (the picture isn't a face picture, but a real picture!).

Abstract
The goal of the project was to recognize a person’s face from a picture (the picture isn’t a face picture, but a real picture!). The system was trained to identify 6 different persons, while other persons face would be recognized by the system as “anonymous”. The training set of each person includes 50 photos of the person’s face while the training set of the “anonymous” persons includes more than a hundred.

The problem
We encountered two main problems. The first is how do we find a face in a picture, the difficulty is that a face can be at any size (due to camera’s resolution and zoom and the person’s distance) and the face can be rotated. The second problem was how do we characterize a person’s face, that is : what characteristics to we give from each photo to our face classifier in order to characterize the person?

The solution
In order to identify a face we trained a SVM classifier with pictures of face and not face. When we receive a picture to identify we downscale the picture to various sizes, so in one of the scales, the face would appear in size that the classifier was trained to find, then we “scan” (all scales of the picture) with a window in size of a face, every window is checked in the classifier.

Example
1cens
Figure 1 – The original picture

2cens
Figure 2 – The picture – downscaled

3cens
Figure 3 – The face, as it was found by the window

The way we characterize a face is by five parts of the face: the left & right eye, nose, nose bridge and mouth. After identifing a face, we identify these five parts (every face part has it’s SVM classifier – similar to the face detection classifier) then we unite all 5 partpictures to a long vector that is our face characteristic.

Example
4cens
Figure 4 – The face is taken from the original picture

5cens
Figure 5 – The face components are found

6
Figure 6 – After uniting the components to one vector (the characteristics vector),
the Identify person button is pressed and the classifier resolves Jony correctly!

Tools
The means we used for the projects were two different digital cameras, and a PC with at least 256Mb of Ram (it works a lot faster on computer with 1Gb of Ram). The only softwere we uses was matlab R12.

Conclusions
Faces are found in 80% . a person the system was trained to identify, is identified in more then 98% while “anonymous” faces are identified as such in ~78% The main reasons for these statistics are that the system should be trained with more photos in the “anonymous” case and with more different persons.

Acknowledgment
We are grateful to our project supervisor Dori Peleg for his help and guidance throughout this work.
We are also grateful to the Ollendorff Minerva Center Fund for supporting this project.