Learning-based Face Detection

The learning-based face detection consists of three stages:
  1. Feature optimization. Two training sets, one of face patterns (images) and the other of non-face patterns, are constructed.


    A canonical training face sample

    The trainig patterns are preprocessed to normalize the image intensity values. They are then group into several clusters of faces and non-faces.


    Centroids of six face (left) and six non-face clusters.

    Each cluster is approximated by a Gaussian distribution. Principal components of the distribution is extracted and used to compute the distribution more accurately while components of smallest eigenvalues are discarded. After that, LDA is applied to maximize separability between clusters.

  2. Neural learning. Given the optimized feature sets, a complex mapping function for the classification is learned from the feature sets to produce the minimum error rate. A backprop learning procedure is used.

  3. Neural classification. This is to classify the pattern in a given image window into face or non-face. Multiscale search strategy to detect faces with different scales. Multiple Network results are combined by arbitration.


    Multiple neural networks with arbitration for classification.


EXPERIMENT

Our method can detect faces with different scale, different illumination and complex background. It has achieved a detection rate about 96% in Test Set A. The following is a comparison with other systems tested on Test Set B provided by Kah-Kay Sung and Tomaso Poggio of the MIT AI Lab:

System

Missing Detects

Detect Rate

False Detects

Ours

15

90.3%

16

Rowley 1

39

74.8%

0

Rowley 2

24

84.5%

8

Rowley 3

15

90.3%

36

Sung 1

36

76.8%

5

Sung 2

28

81.9%

13

Osuna

39

74.2%

20

Performance Comparison with Other Systems

The following show some face detection results:


 


 


 
 
 


 


 


 


0.  System Structure
1.  Learning-based face detection
2.  Face extraction using EigenSnakes
3.  NFL-based face recognition