+ All Categories
Home > Documents > A Fast and Accurate Face Detector Based on Neural Networks

A Fast and Accurate Face Detector Based on Neural Networks

Date post: 14-Apr-2018
Category:
Upload: helloapurba
View: 224 times
Download: 0 times
Share this document with a friend

of 12

Transcript
  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    1/12

    A Fast and Accurate Face DetectorBased on Neural Networks

    Raphae l Fe raud, Olivier J. Bernier, Jean-Emmanuel Viallet, and Michel Collobert

    AbstractDetecting faces in images with complex backgrounds is a difficult task. Our approach, which obtains state of the art results,

    is based on a new neural network model: the Constrained Generative Model (CGM). Generative, since the goal of the learning process

    is to evaluate the probability that the model has generated the input data, and constrained since some counterexamples are used to

    increase the quality of the estimation performed by the model. To detect side view faces and to decrease the number of false alarms, a

    conditional mixture of networks is used. To decrease the computational time cost, a fast search algorithm is proposed. The level of

    performance reached, in terms of detection accuracy and processing time, allows to apply this detector to a real world application: the

    indexation of images and videos.

    Index TermsCombination of models, face detection, generative models, machine learning, neural networks, projection.

    1 INTRODUCTION

    TO detect a face in an image means to find its position inthe image plane (x,y) and its size or scale (z). Two broadclasses of algorithms can perform this task.

    An image of a face can be considered as a set of featuressuch as eyes, mouth, nose with constrained positions andsize within an oval: an explicit model can be used. One ofthe simplest and fastest methods to realize the feature

    extraction is the projection of the image or the edge imageon the vertical axis to find the eyes or the mouth and on thehorizontal axis to locate the nose [22], [7], [19]. Several othermethods are currently used to perform the feature extrac-tion: Gabor filter [25], oval detection [31], [24], etc. Asimilarity measurement between features is then used forface recognition or face detection task: Mahalanobis dis-tance [7], crosscorrelation [2], [7], [5], graph matching [25],elastic matching of features [40], decision tree [19], neuralnetwork [7], belief network [8]...

    Considering that an image of face is a particular event inthe set all the possible images, extracted windows of theimage can be analyzed to determine if these windowscontain faces or parts of background. A probabilistic orstatistic model can be used to analyze the pixels intensity ofeach subwindow (extracted window of the image). Thismodel can be built with different methods: neural networks[6], [38], [12], [33], [20], [36], [29], [30], [13], [14], principalcomponents analysis [35], [11], [15], [17], [18], [26], Kullbackdistance and maximum-likelihood method [10], SupportVector Machines [27], [28], etc.

    For face detection, the advantage of explicit models isusually the speed of the features extraction algorithm and

    the similarity measurement task in comparison to the

    methods directly based on the analysis of pixels intensity.

    For explicit models, since the features have to be detected,

    the range (minimum size of detected faces) and the

    robustness to partial occlusion of faces are generally lower

    than for those based on probabilistic models. As a

    consequence, the performances of probabilistic modelsbased on direct subwindows evaluation are usually better.Our approach first implements simple processes, based

    on standard image processing and then more sophisticated

    processes based on statistical analysis. In Section 2, the

    different components of the face detector are described: a

    motion filter, a color filter, a prenetwork filter, and a large

    neural network filter based on a new model of neural

    network. A combination of neural networks is used to

    extend the face detection ability in orientation. In Section 3,

    a fast search algorithm for face detection is presented. It

    speeds up the detection process by a factor of 25. After

    analyzing and comparing the performances of our facedetector with previously reported face detectors in Section 4.

    Section 5 describes a real application: indexation of face

    images for the web crawler of France Telecom, VoiLa.

    2 THE FACE DETECTOR

    Our purpose is to classify a subwindow x, of size

    15 20 pixels extracted from an image, as a face (x P )

    or as a nonface (x P x). In this section, we describe the

    different components of the face detector which consists of

    four filters. These filters, from the simplest, fastest, and less

    accurate to the most complex, slowest and most accurate,

    are the following:

    . a motion filter typically rejects 90 percent of thehypothesis (location and scale of possible face) in thecase of video sequences,

    . a skin color filter typically discards 60 percent of thehypothesis in the case of color images,

    IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 23, NO. 1, JANUARY 2001 1

    . The authors are with France-Telecom R&D/DLT/DLI, Technopole

    Anticipa, 2, avenue Pierre Marzin, 22307 Lannion Cedex France. E-mail:{raphael.feraud, olivier.bernier, jeanemmanuel.viallet, michel.collobert}@francetelecom.fr.

    Manuscript received 21 Apr. 1999; revised 27 Apr. 2000; accepted 11 Oct.2000.Recommended for acceptance by D.J. Kriegman.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number 109655.

    0162-8828/01/$10.00 2001 IEEE

  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    2/12

    . a multilayer perceptron, called prenetwork, filters93 percent of the remaining hypothesis,

    . a modular system, based on a combination of a newneural network model called Constrained Genera-tive Model (CGM), processes the 0.04 percentremaining hypothesis.

    The architecture of the face detector is hierarchical: ateach stage a percentage of the hypothesis is excluded(Fig. 2). The advantage of this architecture is first to reducethe computational time cost since the first filters are faster.Second, assuming that filters are independent, the falsealarm rate can be improved. Indeed, estimations of the falsealarm rates are 0.1 for the motion filter, 0.4 for the colorfilter, 0.01 for the multilayer perceptron, and 107 for themodular system. If the filters were independent, the final

    false alarm rate could reach 1010! The drawback of thisarchitecture is the risk of reducing the detection rate. Thefirst three filters must reach a very high detection rate tocircumvent this problem.

    2.1 Hypothesis Elimination

    Assuming that a face moves most of the time (speaking,breathing, eye blinking), the motion filter is activated in videosequences. It consists of a simple thresholded difference ofimages. Depending on the threshold and on the videosequence, our experiments on automatic framing [9] showthat it typically excludes 90 percent of the hypothesis.

    When color information is available, a color filter, made

    up of a table of pixels, collected manually on a largecollection of face images [9], is applied. A binary image isobtained (Fig. 1). The subwindows, which contain a smallnumber of skin pixels, are considered as backgroundsubwindows. The others, corresponding approximately to40 percent of the total number of subwindows (dependingon the image), are evaluated by the following filter: theneural network prefilter.

    The prenetwork is a single multilayer perceptron (MLP)[4], [30], [36]. It has 300 inputs, corresponding to the size ofthe extracted subwindows, 20 hidden neurons, and oneoutput (face/nonface), for a total of 6,041 weights. Theprenetwork is trained using standard back-propagation.

    The face training set is composed by 8,000 front view andside view faces.

    Examples in Fig. 3 represent centered faces in 15 by20 pixels subwindows. Approximately 50,000 specific non-face examples (15 by 20 pixels subwindows, which do notcorrespond to faces) were collected using an iterativealgorithm described later. The subwindows are enhanced

    by a histogram equalization, and smoothed. Then, they arenormalized by subtraction of the average face. The obtained

    prenetwork is a relatively small and fast network with a veryhigh detection rate (above 99 percent) but also with a highfalse alarm rate (up to 1 percent). This network, unusablealone because of its poor false alarm rate, is used as a filterwhich discards more than 93 percent of the hypothesis.

    2.2 THE CONSTRAINED GENERATIVE MODEL

    Twotypes of statistical modelcan be applied to face detection:discriminant models and generative models. Since collectinga representative set of nonface examples is impossible, ourapproach to face detection is to use a generative model. ThePrincipal Component Analysis [32] (PCA) technique pro-duces axes where the variance of the set of faces is maximum

    without taking into account the set of nonfaces. This analysiscan be used as a generative model to detect faces in an image[35]. The likelihood of the observed data x is then the productof two terms [26] based on two distances:

    1. a distance to the principal subspace, based on thereconstruction error between an input subwindowsand its projection on the principal subspace, todiscard nonface example which are projected on faceexamples,

    2. a distance to a cluster in the principal subspace todelimit the cluster containing the set of faces.

    The underlying assumption needed is that a linearsubspace fitting the set of faces exists. If this assumption isnot verified this model overestimates the set of faces (Fig. 4).Theauthors propose to usea mixture of linearsubspaces to fitthe manifold [26]. Another approach is to use a nonlinearautoassociative neural network. An autoassociative network,using one hidden layer and linear activation functionsperforms a PCA [1]. Using three hidden layers of nonlinearneurons, an autoassociative neural network is able toperform a nonlinear dimensionality reduction [23]. How-ever, owing to local minima, the obtained solution can beclose to the principal components analysis.

    As in the previous case, our approach is to model thedistance to the set of faces to evaluate the probability of aninput subwindow to be a face. This distance is based on a

    projection of a point x of the input space i on the set offace . We define this projection as

    x argminyP

    dx; y;

    where d is the Euclidean distance, x is the set of nonfaces,and i x is the set of all possible windows, with x Y.

    As we have a sample of, we approximate the projection ofx on as

    knnx 1

    k

    k

    i1

    vi;

    where v1; v2; . . . ; vn are the k nearest-neighbors in thetraining set of faces of v, the nearest face ofx. The numberof nearest-neighbors, k, needed to approximate the nearestface example of x, decreases as the density of the samplegrows. The distance between an input vector x and the setof faces is approximated by

    2 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 23, NO. 1, JANUARY 2001

    Fig. 1. Result of the color filter on a color image. White pixels correspond

    to skin color.

  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    3/12

    hx; $ kknnx xk:

    Using a threshold, this distance allows to classify an inputvector as a face or as a nonface. The accuracy of thisapproximation grows with the number of examples. How-ever, the number of floating operations grows linearly withthe number of examples. As a consequence, the computa-tional time needed to evaluate the distance can be important.

    To improve the previous algorithm, we propose toapproximate the projection on set, x, using a neuralnetwork. The goal of the learning process is to evaluate theprojection of an input example on the set. The output layerhas the same size than the input layer. The neurons of the

    output layer corresponds to the coordinates in the input

    space i of the projected input (Fig. 5). To achieve this goal,

    we minimize the following cost function:

    CW

    i

    Wxi NNx 2;

    where W is the vector of weights of the neural network.

    NN is an approximation of the projection defined before:

    . ifx P , then NNx x,

    . ifx=P: NNx knnx.

    To classify an input subwindow x, the distance to the set is

    computed using the projection:

    . hx; $ kx Wxk,where Wx NNx isthereconstructed subwindow by the neural network,

    . let x P i, then x P if and only if kx Wxk ,with P IR, where is a threshold used to adjust thesensitivity of the model.

    FERAUD ET AL.: A FAST AND ACCURATE FACE DETECTOR BASED ON NEURAL NETWORKS 3

    Fig. 2. The face detector is composed by four stages. The last filter is the only one which is able to decide if the analyzed subwindows is a face.

    (MLP: Multilayer Perceptron, CGM: Constrained Generative Model.)

    Fig. 3. On the left, examples of enhanced and smoothed front view faces

    0o; 20o. On the right, examples of enhanced and smoothed turned faces

    20o; 40o.

  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    4/12

    Notice that the approximation of by NN outperformsthe one obtained by knn, since face examples arereconstructed as themselves. As a consequence, if theneural network generalizes the learned projection, itsestimation (NN) of the projection should be better thanthe one obtained by knn. Moreover, when testing, thecomputational time does not grow with the number of faceexamples. It depends of a fixed number weights, corre-sponding to the architecture of the neural network.

    The drawback of this approach is that it needs nonfaceexamples to model the projection. As we assume that the

    true dimension of the set of faces is lower than the inputspace (the size of input subwindows), we can use anonlinear dimension reduction to reduce the number ofnonface examples needed. To obtain a nonlinear modelwith a multilayer perceptron, one hidden layer of nonlinearneurons has to be used [39]. However, as we want to obtaina nonlinear dimension reduction and a nonlinear relation

    between the submanifold (the compression layer) and theprojection layer (the output layer), we need an additionalhidden layer (Fig. 5).

    In the case of standard nonlinear dimensionality reduc-

    tion, the reconstruction error is related to the position of a

    point from the principal submanifold in the input space.

    Nevertheless, a point can be near to the principal submani-

    fold (H) and far from the set of faces (). With the algorithmproposed, the reconstruction error is related to the distance

    between a point and the set of faces. As a consequence, if we

    assume that the learning process is consistent [37], our

    algorithm is able to evaluate the probability that a point

    belongs to the set of faces.Let y be the binary random variable, y 1 corresponding

    to a face example and y 0 to a nonface example, weexpress this probability as

    Py 1jx exx2

    2 ; where depends on the threshold :

    We noticed in Fig. 6 that using a few number of

    counterexamples, the Constrained Generative Model

    (CGM) can perform an accurate estimation of the set of

    examples. However, the two counterexamples used were

    not chosen randomly. They belonged to the principal plane

    of the set of examples. Here, we detail the algorithm we use

    to collect such counterexamples. The nonface database Bnf,

    corresponding to the face database Bf, is collected by aniterative algorithm similar to the one used in [33] or in [29]:

    1. Bnf Y, t 0, F0 I,

    2. the neural network is trained with Bf Bnf,3. the threshold t is chosen such that the detection rate

    Dt, on a validation set composed of face subwin-dows, is equal to a target detection rate D,

    4. the false alarm rate of the model, Ft, is thenevaluated on a validation set of background images,

    5. the face detection system is tested on a training set ofbackground images,

    6. a maximum of 100 subimages xi are collected from

    the training set of background images withh

    xi; t,7. Bnf Bnf fx0; ; xng, t t 1,8. while Ft1 > F

    t go back to step 2.

    Since the nonface set (x) is too large, it is not possible toprove that this algorithm converges in a finite time. Never-theless, in only eight iterations, collected counterexamples

    4 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 23, NO. 1, JANUARY 2001

    Fig. 4. On the left, the set of faces can be fitted by a line. The estimation of the set of faces is accurate. On the right, the shape of the set of faces is

    nonlinear, the model overestimates the set of faces.

    Fig. 5. The use of three layers of weights allows to evaluate the distanceb et we en a n i np ut i ma ge a nd t he s et o f f ac e i ma ge :hxi; $ kWxi xik. The first and last layers both consist of 300neurons, corresponding to the image size 15 20. The first hidden layerhas 35 neurons and the second hidden layer has 50 neurons.

  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    5/12

    are close to the set of faces (Fig. 7). In our experiments, we set

    the target detection rate on a set of subwindows to75 percent.

    The effective detection rate, the detection rate on a set of

    images, canbe higherowing to thestrong correlation between

    extracted windows from an image.We use a similar boosting approach to collect the set of

    examples:

    1. Bf B0, t 0, Dt 0,2. the model is build using using the previous

    algorithm to collect counterexamples and to evaluatethe thresold t,

    3. the model is tested on the set of images containingfaces It,

    4. the faces fy0; . . . ; yng, which are not detected, aremanually cropped,

    5. Bf Bf fy0; ; yng, t t 1, and6. while the detection rate Dt < D

    t go back to step 2.

    To evaluate the sensibility of our algorithm to the density

    of the set of examples and to the distribution of the

    counterexamples, we use an illustrative and simple problem:

    to determine if a point belongs or not to a disk in a two-

    dimensional space (Fig. 6). Each sample of the true set (the

    disk) is drawn from an uniform distribution and some

    counterexamples are chosen to observe the behavior of ourmodel under different initial conditions.

    The most important issue (Figs. 6a and 6c) is thatcontrary to discriminant algorithm, such as MLP or SupportVector Machines, boundary points of the two classes are not

    needed in the training set to determine the boundarybetween the two distributions. Moreover, in Fig. 6b, wenotice that an uniformly distributed set of counterexamplesis not needed.

    In the last test (Fig. 6d), we reduce the number of positive

    examples. Here, the approximation of the projection by

    NN is not accurate. The model underestimates the disk. To

    obtain an accurate estimation of the distance between a

    point and the set of examples, a dense training set of

    examples is needed. There are several applications, such as

    face detection or word spotting, where the goal is to isolate

    a small cluster with unknown shape in a large space. Our

    algorithm is well-suited to the case of dense clusters.

    FERAUD ET AL.: A FAST AND ACCURATE FACE DETECTOR BASED ON NEURAL NETWORKS 5

    Fig. 6. The elements of the class (the points at the center of figures) belong to a disk. Different sets of counterexamples (the isolated points) areused to build the CGM. The model has the following architecture : two input neurons, two hidden layers of two neurons and two output neurons. The

    obtained boundaries correspond to points x, where hx; 1. The quality of the density estimation depends on the density of the set of examples,more than on the proximity and the distribution of counterexamples. (a) Counterexamples uniformly distributed. (b) Counterexamples nonuniformly

    distributed. (c) Counterexamples far from the set. (d) Nondense set of examples.

    Fig. 7. Left to right: The counterexamples successively collected by the

    algorithm are increasingly similar to real faces (iteration 1 to 8).

  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    6/12

    2.3 Combination of CGMs

    In order to reduce the false alarm rate and to extend the

    face detection ability in orientation, three architectures,combining several CGMs, have been tested [14]: anensemble, a conditional mixture, and a conditionalensemble.

    The use of ensemble of networks to reduce the falsealarm rate was shown in [29]. The output f of the ensembleis the mean of the outputs of each estimator fi

    fx 1

    N

    i

    fix;

    where N is the number of estimators and fix Piy 1jx the output of the CGM i.

    As y is a binary variable, we have fix Eiyjx andfx $ Eyjx. If all the CGM estimators are identically andindependently distributed, then, the variance of the general-ization error of the ensemble is divided by a factor N [16].

    The second combination model proposed is the condi-

    tional mixture. It uses several CGM models and a gate

    network as in the case of mixture of experts [21] (Fig. 2). A

    random variable is used to partition the training set, for

    example, in two subsets:

    1. i1, the set of front view faces and the correspondingcounterexamples ( 1),

    2. i2, the set of side view faces and the corresponding

    counterexamples ( 2

    ).Each module evaluates the probability of an extracted

    subwindow of the image to be a face, knowing the value of

    the random variable . Supposing that the partition

    ( 1; 2) can be generalized to every input, includingthe nonface subwindows, the gate network learns the

    partition. The output of the gate network for the CGM j is

    fWx; j P jjx;

    where W are the weights of the gate network. Then, theoutput of the modular system is

    Py 1jx Nj1

    fWx; jPy 1jx; j

    ;

    where the value of the random variable y 1 corresponds toa face subwindow, N is the number of estimator, and Py 1jx; j is the output of the CGM j. The cost function usedduring the training phase of the gate network is

    CW xiPi

    Nj1

    fWxi; jPy 1jxi; j yi

    4 52:

    This system is quite different from a mixture of expertsintroduced in [21]: each module is trained separately on a

    subset of the training set and then the gating network learnsto combine the outputs. Since prior knowledge is used topart the training set, and since each module is trainedseparately, the capacity [37] of this system is less than forthe more general case: the mixture of experts.

    The last architecture described, the conditional ensemble,is trained on the face example as the conditional mixture

    and on the nonface example as the ensemble (the target ofthe gate network is the mean output).

    For example, if two estimators are used, four sets aredefined:

    . p is the front view face set.

    . is the turned face set, with p Y.

    . p is the face set.

    . x is the nonface set, with x Y.

    Our goal is to evaluate Px P Vjx. Each estimatorcomputes respectively:

    . Px P Fjx P p x; x (CGM1x),

    . Px P Pjx P x; x (CGM2x),

    Using the Bayes theorem (see [14] for the demonstration),

    we havePx P jx Px P x jxCGM1x CGM2x 1

    Px P jxCGM2x Px P p jxCGM1x: 2

    Then, we can deduce the behavior of the conditionalensemble:

    . in x, if the output of the gate network is 0:5, and asin the case of ensembles, the conditional ensemblereduces the variance of the error (first term of theright side of (1)),

    . in , as in the case of the conditional mixture, the

    conditional ensemble permits to combine twodifferent tasks (second term of the right side of(2)): detection of turned faces and detection of frontview faces.

    The gate network fWx is trained to calculate the

    probability that the tested image is a face (Px P jx),

    using the following cost function:

    CW xiP

    fWxiCGM1x

    1 fWxiCGM2x yi2

    xiPx

    fWxi 0:52:

    3 THE SEARCH ALGORITHM

    In this section, we focus on a wayto reducethe computational

    time cost of the face detection process. The detector locates

    faces in a subwindow of fixed size, 15 20 pixels. To detect

    faces at differentscales, a subsampling of theoriginalimageis

    performed. The exhaustive search leads to evaluate a very

    large number of subwindows: all the subwindows in all the

    subsampled imageshave to be tested. The goal of thefirst two

    filters (motion and color filter) is to eliminate hypothesis,

    using a very small amount of processing time. Nevertheless,

    for gray scale images, these filters cannot be used. The only

    remaining filter is the prenetwork filter, which consists

    of 6,041 weights: foreach extracted subwindows, 6,041 multi-

    plications and 6,041 additions must be made (the modular

    system (Fig. 2) is made up of 140,741 weights).To reduce this computational time cost, a simple multi-

    layer perceptron can be used [30], [36], such as our

    6 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 23, NO. 1, JANUARY 2001

  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    7/12

    prenetwork. It determines the possible location of faces, andthen a larger network is used to achieve precise location.Another approach, developed by Ben-Yacoub [3], is tocalculate the Fourier transform of the image and of theneural network filter, and then to process the image in theFourier space.

    This interesting approach is not adapted to a localnormalization of the image such as the histogram equal-

    ization we use. To reduce the computational time cost of theface detection process, our approach is to reduce thenumber of subwindows analyzed.

    Our face detector is very selective: its mean output onbackground subwindows is low in comparison to its meanoutput on face subwindows. Moreover, around a facesubwindow, the output of our face detector is a mono-tonous and growing function (Fig. 8). These propertiesleads us to use the following algorithm to speed up the facedetection process:

    1. at each scale, each intersection point of a regulargrid, corresponding to some pixels uniformly dis-tributed in the image (Fig. 9), is tested by thedetector (motion filter, color filter, neural networkfilter, and modular system),

    2. a local exhaustive search is performed around thepoints where Gx, the output of the last module, isgreater than a first threshold,

    3. at each scale, the subwindows, corresponding to thepoints of the local exhaustive search where Gx isgreater than a second threshold, are stored in a set c,

    4. an overlapping elimination or summation (depend-ing of the overlapping surface), between the differ-

    ent positions and scales of the subwindows ofc, isperformed to locate the faces.

    For example, in the color image of Fig. 9, the exhaustivesearch of a face, of size within the range 15 20; 150 200pixels, needs 500,000 tests. The use of our fast searchalgorithm reduces the number of tests to 25,000. 18,600hypotheses are discarded by the color filter. 5,800 of the6,400 remaining subwindows are eliminated by the prenet-work filter and then the modular system evaluates only600 subwindows. The processing time is 0:3 second on a333 MHz DEC Alpha.

    4 EXPERIMENTAL RESULTS

    In the first part of this section, a comparison betweendifferent models and combination of models is shown,using the exhaustive search. In the second part, we analyzethe influence of the search algorithm on the detection rate,false alarm rate, and processing time. We describe our finalface detector and compare it to other systems. Our facedatabase contains 8; 000 various face examples. Thisdatabase is divided into four subsets of equal size,corresponding to different views: [0o, 20o] , [20o, 40o], [40o,60o], [60o, 80o]. Each subset of face examples is collectedusing the algorithm described in Section 2. Using these

    subsets, five CGMs are constructed: the first four (CGM1,CGM2, CGM3, CGM4) corresponds to each orientationrange. The last one, CGM5, uses the whole face database.75 percent of each face subset is used for the training andthe 25 percent remaining faces allow to select the model.During the learning process, nonface examples are collectedon a set of100 background images. To select the model, a

    FERAUD ET AL.: A FAST AND ACCURATE FACE DETECTOR BASED ON NEURAL NETWORKS 7

    Fig. 8. On the Z axis, the mean output of the modular system, over all the detected faces subwindows of the CMU test set 1. The (X,Y) plane is the

    image plane. The origin corresponds to a face subwindow. The farther a subwindow is from the origin, the lower the output of the modular system

    (Gx).

    Fig. 9. First, each intersection point of the grid is tested. Second, aexhaustive search is performed around the points of intersection, where

    the output of the system is high. In this illustrative example, 54 points ofintersection of the grid are tested. Only one corresponds to a high outputof the detector. The exhaustive search is performed inside the thedashed rectangle.

  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    8/12

    second set of100 background images is used to evaluate thefalse alarm rate. Five sets of counterexamples are collectedfrom the training set of background images, for each CGM,using the algorithm described in Section 2. Each obtainedset of extracted subwindows contains approximately2,000 counterexamples. According to the experiments ofSection 2, the number of counterexamples needed by ourmodel is very small in comparison to the number ofcounterexamples used by a discriminant multilayer percep-tron (for example, 50,000 for the prenetwork).

    The size of the training windows is 15 20 pixels. Thewindows are enhanced by histogram equalization to obtaina relative independence to lighting conditions, smoothed toremove the noise and normalized by the average face,evaluated on the training face set.

    4.1 Comparison of Models

    In this section, we compare the different combinationmodels, described previously, to choose the best one forour final detector. For this comparison, the ensemble ofCGMs consists of three CGMs: a front view face detector(CGM1), a side view face detector (CGM3), and a generalface detector (CGM5). The conditional mixture and the

    conditional ensemble use the same estimators (CGM1 andCGM3). The same architecture is used for the gate network.It has 300 inputs, corresponding to the size 15 20 pixels,25 hidden neurons and one output.

    To achieve comparison between models, two tests areperformed. The first one allows to evaluate the limits inorientation of the face detectors. The Sussex face database,

    containing 10 faces with 10 orientations between 0 degreeand 90 degrees, is used (Table 1). Although, the general facedetector (CGM5) uses the same learning face database thanthe different combinations of CGMs, it has a smallerorientation range than the conditional mixtures of CGMs,and the conditional ensemble of CGMs. The performances,on turned faces, of the ensemble of CGMs are low. Thedifferent models are trained on different face databases partaccording to the orientation criteria. Thus, the ensembleunderlying assumption is not verified: the estimators are

    not identically distributed. This test shows that thecombination, by a gate neural network of different CGMs,trained on different training set, allows to extend thedetection ability to both front view and turned faces. Theconditional mixture of CGMs obtains results in term oforientation and false alarm rate close to the best CGMs usedto construct the mixture (see Table 1 and Table 2).

    The second test allows to evaluate the false alarms rate.We use the test set A of the CMU, containing 42 images ofvarious quality. First, these results show that the model,trained without counterexamples (GM), overestimates thedistribution of faces and its false alarm rate is too large to

    use it as a face detector. Second, the estimation of theprobability distribution of face images performed by oneCGM (CGM5) is more precise than the one obtained by [29]with one SWN (see Table 2). Since the results of theconditional ensemble of CGMs and the conditional mixtureof CGMs are close on this test, the detection rate versus thenumber of false alarms is plotted (Fig. 10), for different

    8 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 23, NO. 1, JANUARY 2001

    TABLE 1Results on Sussex Face Database

    TABLE 2

    Results on the CMU Test Set A

    GM: the model trained without counterexamples. CGM1: front view face detector. CGM3: turned face detector. CGM5: general face detector.

    SWN: shared weight network. Ensemble (CGM1, CGM3, CGM5), Conditional ensemble (CGM1, CGM3, gate). Conditional mixture (CGM1, CGM3,gate).

  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    9/12

    thresholds. The conditional mixture of CGMs curve is abovethe one for the conditional ensemble of CGMs. Since theconditional mixture obtains better results on the two tests,we chose this combination model for our final face detector.

    4.2 Results of the Face Detector

    The best performances are obtained by the conditionalmixture of CGMs Nevertheless, the false alarm rate is stillhigh (Table 2), and the detection rate of side view faces is low

    (Table 1). To solve this problem, four estimators are used(CGM1, CGM2, CGM3, CGM4) and then combined using theconditional mixture. The gate network has 300 inputs,100 hidden neurons, and one output. 6,000 face images areusedforthetrainingand2,000faceimagestoselectthemodel.A set of 5,000 nonface examples is collected by an iterativealgorithm on a set of 100 background images. A set of80 images containing faces on complex background allows toselectthe model.We compare oursystem with thebest resultspublished so far [30] on the test 1 of the CMU. It consists of130 gray-scale images, containing 507 faces, most of themfront view faces.

    To evaluate the detection ability in orientation, we use alarger test set than the Sussex face database. Our test set iscomposed of 30 individuals per orientation. The number ofviews is 10 (one per 10 degrees), 17 individuals are malesand 13 are females.

    In Section 2, we noticed that our architecture is

    hierarchical (Fig. 2). Then, if the prenetwork has a false

    alarm rate on the order of 1 percent and the modular systemhas a false alarm rate around 5:108, and the estimators are

    independent, the expected value of the false alarm rate is

    109. The result (Table 3) shows that the estimators are not

    independent, since the false alarm rate of the algorithm 1

    and the algorithm 2 are close (around 108). Nevertheless,

    the detection rate of these algorithms are close. Moreover, if

    the number of tests is the same, the computational time cost

    of one test is reduced by a factor 23 (corresponding to

    140,000 versus 6,000 weights) using the prenetwork filter.Our fast search algorithms (number 3 and 4 in Table 3) is

    based on the assumption that the farther a subwindow is

    from a face subwindow, the lower the output of the facedetector. Since the detection rate of the fast search

    algorithms is close to the one obtained by the exhaustive

    search (Algorithm 2 in Table 3) this assumption is verified.

    The false alarm rate of the fast search algorithm is higher

    than for the exhaustive search, together with a lower

    number of false alarms. This is not a contradiction, since the

    fast search algorithm focuses on the part of the images

    where the output of the face detector is high.The test set 1 of the CMU contains a significant (26)

    number of rough drawing faces or nonhuman faces, which

    mostly are not detected by our detector (Fig. 11). Never-

    theless, our face detector has a detection rate equivalent tothe one proposed by Rowley et al. [30] (86 pecent versus

    84 percent) with an equivalent number of false alarms (8

    versus 10, see Table 3). The fast version of the search

    algorithm has a higher detection rate (81 percent versus

    77 percent) and a lower number of false alarms (1 versus 8)

    than the fast version of the CMU (see Table 3). These results

    were obtained using only 7,109,000 tests versus 83,000,000

    for the fast version of the CMU (a factor 11). Moreover, our

    face detector is able to detect side view faces (Table 4).The detection rate of all algorithms (exhaustive search,

    fast search, and very fast search) is around 90 percent up to

    60 degrees. Finally, the performances of our face detector interms of detection rate, false alarm rate, and computational

    time cost is sufficient to apply it to real world applications,

    such as images and videos indexation or automatic framing.

    FERAUD ET AL.: A FAST AND ACCURATE FACE DETECTOR BASED ON NEURAL NETWORKS 9

    Fig. 10. Detection rate versus number of false alarms on the CMU test

    set A. In dashed line conditional ensemble and in solid line conditional

    mixture.

    TABLE 3Results on the Test 1 of the CMU

    Algorithm 1: exhaustive search without the prenetwork. Algorithm 2: exhaustive search. Algorithm 3: fast search (grid 3-3). Algorithm 4: very fastsearch (grid 5-5).

  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    10/12

    5 INDEXATION OF FACE IMAGES

    Currently, most of the indexation engines on the Web are

    based on textual information. Information in a web page

    consists both of text and images. Therefore, the result of an

    image search, using a textual indexation engine, can be very

    noisy. In this section, we propose an image indexation

    engine, based on our face detector, in order to collect Web

    images containing faces [34]. The proposed service allows to

    sort easily images of faces. Moreover, access providers

    could store at low cost the face information: a cropped

    frame, containing the face can be stored instead of the

    whole image (Fig. 12).Knowing the location (x; y;z) and number of faces, the

    image can be indexed with the following labels: portrait

    or group picture, image containing a face, and back-

    ground image. Merging this information and the textual

    10 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 23, NO. 1, JANUARY 2001

    TABLE 4Results on the Test CNET Set

    Algorithm 1: exhaustive search. Algorithm 2: fast search (grid 3-3). Algorithm 3: very fast search (grid 5-5).

    Fig. 11. The face detector search faces of size between 15 20 pixels and 300 400 pixels on the CMU test set. The number of tested hypothesis bythe modular system is (left to right) 2,781, 704, and 132. When enhancing image containing text by an histogram equalization, a face can appear in

    an extracted subwindow. Without body information, the face detector cannot eliminate it. The rough drawing faces are mostly not detected by the

    face detector. Side view faces are detected up to 90.

  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    11/12

    information, the functionalities proposed by our systemare the following:

    . automatic extraction of the frame containing faces topresent the search results,

    . search of a particular face image: image of JohnColtrane,

    . search of a portrait: portrait of Bill Clinton,

    . search of a group photo: picture of Beatles.

    The difficulty of this problem is to process the amount ofinformation contained in the Web pages. The answers of thesearch engine must be, on the one hand, as nonnoisy aspossible and, on the other hand, as numerous as possible.As a consequence, the false alarm rate must be very low toobtain nonnoisy answers. Since the amount of information(in this case, face images) is very important on the Web,there are two ways to collect many image of faces: fastsearch and high detection rate.

    The veryfast search algorithm (seeSection 3) is used in thesearch engine. To evaluate its performances, a large test setwascollected on theWeb. It contains 13,182 imagesof varioussize 108 108; 1; 024 1; 024. Most ofthese imagesare colorimages, but some of them are gray-scale. 3,468 images are

    background images, and to ease the evaluation of the results,the 9,714 others are selected so that the images contain onlyone face. For most of them, the background is complex. Thereare 6,004 faces of male and 3,710 of female. The variability offacial expressions, of orientations (in and out of the plane oftheimage), andof backgrounds is very high. Theface detectorsearch faces of size between 15 20 pixels and 300 400pixels. To evaluate the influence of the use of the color

    information on the false alarm rate, detection rate, and on theaverage processing time, this test is made with and withoutthe color filter.

    Due to the important variability of this test set, thedetection rate of the face detector is lower than the oneobserved on the CMU test set (76 percent versus 81 percentfor the very fast version and 80:1 percent versus 86 percent

    for the exhaustive search). The use of the color filter reducesthe detection rate (approximately by 1 percent). Never-theless, the key points for this application are the falsealarm rate to reduce the number of noisy answers and theaverage processing time per image. The use of the color

    filter is beneficial for both key points and gives a very fastand accurate face detector: the average processing time isapproximately 1s and the false alarm rate is on the order of1 per 300 full images.

    6 CONCLUSION

    The new neural network model proposed, the Constrained

    Generative Model, performs an accurate estimation of theface set, using a small set of counterexamples. As we

    noticed in Section 2, the requirement of this model is

    essentially a dense set of faces. The drawback of this

    algorithm is the size of the model. It is overcome by the useof several prefilters and a fast search algorithm. The

    obtained face detector is one of the most accurate of thepublished face detectors: it detects side view faces as well as

    front view faces, its false alarm rate is on the order of 5:108

    and using the fast search algorithm proposed, the number

    of indexed images could be raised to 100,000 per day (the

    remaining bottleneck is the retrieving time of an image onthe Web). To improve the detection rate and the false alarm

    rate, more estimators can be used without significantincrease of the processing time, since the modular system

    processes only 0:4 percent of the extracted subwindows(without the motion filter).

    REFERENCES

    [1] P. Baldi and K. Hornik, Neural Networks and PrincipalComponents Analysis: Learning from Examples without LocalMinima, Neural Networks, vol. 2, pp. 53-58, 1989.

    [2] R.J. Baron, Mechanisms of Human Facial Recognition, Int'lJ. Man Machine Studies, vol. 15, pp. 137-178, 1981.

    FERAUD ET AL.: A FAST AND ACCURATE FACE DETECTOR BASED ON NEURAL NETWORKS 11

    Fig. 12. The extracted frames, after detection, contain the relevant information for indexation of face images with a low storage cost.

    TABLE 5Results on the Large Test Set

    Algorithm 1: exhaustive search without the color filter. Algorithm 2: very fast search without the color filter. Algorithm 3: very fast search with the colorfilter. Computer: DEC Alpha 333 MHz.

  • 7/30/2019 A Fast and Accurate Face Detector Based on Neural Networks

    12/12

    [3] S. Ben-Yacoub, Fast Object Detection Using MLP and FFT,technical report, IDIAP, Martigny, Switzerland, 1997.

    [4] O. Bernier, M. Collobert, R. Feraud, V. Lemaire, J.E. Viallet, and D.

    Collobert, Multrak: A System for Automatic MultipersonLocalization and Tracking in Real-Time, Proc. Int'l Conf. ImageProcessing, 1998.

    [5] D. Beymer, Face Recognition under Varying Pose, technicalreport, MIT, 1993.

    [6] H. Bouattour, F. Fogelman-Soulie, and E. Viennet, Solving theHuman Face Recognition Task Using Neural Nets, ArtificialNeural Networks, vol. 2, pp. 1595-1598, 1992.

    [7] R. Brunelli and T. Poggio, Face Recognition: Features versusTemplates, IEEE Trans. Pattern Analysis and Machine Intelligence,vol. 15, no. 10, pp. 1042-1052, Oct. 1993.

    [8] K. Choong Yow and R. Cipolla, Detection of Human Faces underScales, Orientation, and Viewpoint Variations, Proc. Int'l Conf.Automatic Face and Gesture Recognition, pp. 295-300, 1996.

    [9] M. Collobert, R. Feraud, G. Le Tourneur, O. Bernier, J.E. Viallet, Y.Mahieux, and D. Collobert, Listen: A System for Locating andTracking Individual Speaker, Proc. Second Int'l Conf. AutomaticFace and Gesture Recognition, 1996.

    [10] A.J. Colmenarez and T.S. Huang, Face Detection and Recognition,pp. 174-185. Springer-Verlag, 1998.

    [11] G.W. Cottrell and P. Muro, Principal Components Analysis ofImages via Back Propagation, SPIE: Visual Comm. and ImageProcessing, vol. 101, pp. 1070-1077, 1988.

    [12] P. Duchnowski, M. Hunke, D. Bu sching, U. Meier, and A. Waibel,Toward Movement-Invariant Automatic Lip-Reading andSpeech Recognition, Proc. Int'l Conf. Acoustics, Speech, and SignalProcessing, 1995.

    [13] R. Feraud, Face Recognition: From Theory to Applications, Springer-Verlag, vol. 163, pp. 424-432, 1998.

    [14] R. Feraud and O. Bernier, Ensemble and Modular Approachesfor Face Detection: A Comparison, Neural Information ProcessingSystem, vol. 10, Dec. 1997.

    [15] M.K. Fleming and G.W. Cottrell, Categorization of Faces Using

    Unsupervised Feature Extraction, Proc. Int'l Joint Conf. NeuralNteworks, vol. 2, pp. 65-70, 1990.

    [16] S. Geman, E. Bienenstock, and R. Doursat, Neural Networks andthe Bias-Variance Dilemma, Neural Computation, vol. 4, pp. 1-58,1992.

    [17] B.A. Golomb, D.T. Lawrence, and T.J. Sejnowski, Sexnet: ANeural Network Identifies Sex from Human Faces, NeuralInformation Processing Systems 3, pp. 572-577, 1991.

    [18] R. Hoogenboom and M. Lew, Face Detection Using LocalMaxima, Proc. Int'l Conf. Automatic Face and Gesture Recognition,pp. 334-339, 1996.

    [19] J. Huang, S. Gutta, and H. Wechsler, Detection of Human FacesUsing Decision Trees, Proc. Int'l Conf. Automatic Face and GestureRecognition, pp. 248-252, 1996.

    [20] H.M. Hunke, Locating and Tracking of Human Faces withNeural Network, Technical Report CS-94-155, CMU, 1994.

    [21] R.A. Jacobs, M.I. Jordan, S.J. Nowlan, and G.E. Hinton, Adapta-tive Mixtures of Local Experts, Neural Computation, vol. 3, pp. 79-87, 1991.

    [22] T. Kanade, Picture Processing by Computer Complex andRecognition of Human Faces, technical report, Dept. of Compu-ter Science, Kyoto Univ., 1973.

    [23] M. Kramer, Nonlinear Principal Component Analysis UsingAutoassociative Neural Networks, AIChE J., vol. 37, pp. 233-243,1991.

    [24] D. Maio and D. Maltoni, Fast Face Location in Complex Backgrounds,Springer-Verlag, 1998.

    [25] B.S. Manjunath, R. Chellappa, and C. von der Malsburg, AFeature-Based Approach to Face Recognition, Proc. IEEE Com-puter Soc. Conf. Computer Vision and Pattern Recognition, pp. 373-378, 1992.

    [26] B. Moghaddam and A. Pentland, Probabilistic Visual Learningfor Object Detection, Proc. fifth Int'l Conf. Computer Vision, June1995.

    [27] E. Osuna, R. Freund, and F. Girosi, Training Support VectorMachines: An Application to Face Detection, Computer Vision andPattern Recognition, 1997.

    [28] C.P. Papageorgiou, M. Oren, and T. Poggio, A General Frame-work for Object Detection, Proc. Int'l Conf. Computer Vision, 1998.

    [29] H. Rowley, S. Baluja, and T. Kanade, Human Face Detection inVisual Scenes, Neural Information Processing Systems 8, 1995.

    [30] H. Rowley, S. Baluja, and T. Kanade, Neural Network-Based FaceDetection, IEEE Trans. Pattern Analysis and Machine Intelligence,1998.

    [31] R. Seguier, Human Faces Detection and Tracking in VideoSequences, Proc. Seventh Portugese on Pattern Recognition, 1995.[32] Principal Component Analysis. New York: Springer-Verlag, 1986.[33] K. Sung and T. Poggio, Example-Based Learning for View-Based

    Human Face Detection, technical report, MIT, 1994.[34] M.J. Swain, C. Frankel, and A. Vassilis, Weebseer: An Image

    Search Engine for the World Wide Web, Computer Vision andPattern Recognition, 1997.

    [35] M. Turk and A. Pentland, Eigenfaces for Recognition, J. CognitiveNeuroscience, vol. 3, no. 1, pp. 71-86, 1991.

    [36] R. Vaillant, C. Monrocq, and Y. Le Cun, Original Approach forthe Localisation of Objects in Images, IEE Proc. Visual ImageSignal Process, vol. 141, pp. 572-577, Aug. 1994.

    [37] V. Vapnik, The Nature of Statistical Learning Theory. New York,Heidelberg, Berlin: Springer-Verlag, 1995.

    [38] E. Viennet, F. Fogelman-Soulie, Scene Segmentation UsingMultiresolution Analysis and MLP, Artificial Neural Networks,

    vol. 2, pp. 1599-1602, 1992.[39] H. White and K. Hornik, Mutilayer Feedforward Networks are

    Universal Approximators, Neural Network, vol. 2, pp. 359-366,1989.

    [40] A.L. Yuille, D.S. Cohen, and P.W. Hallinan, Feature Extractionfrom Faces Using Deformable Templates, IEEE CS Conf. ComputerVision and Pattern Recognition, pp. 104-109, 1989.

    Raphae l F eraud received the DEA degree fromUniversity of Nice in 1993, the diploma of EcoleSupe rieure Science Informatique in 1993, andthe PhD from University of Rennes I in 1997. Hehas worked as a research engineer at FranceTelecom reseach center since 1997. His majorarea of interests are machine learning andneural networks.

    Olivier J. Bernier received the diploma Inge -nieur de l'Ecole Polytechnique from the EcolePolytechnique, Palaiseau, France in 1986 andthe diploma of the Ecole Nationale Supe rieuredes Te le communications, Paris, France in 1988.He has worked as Research Engineer atFTR & D, the France Telecom reseach centersince 1988. His major area of interests arecomputer vision, neural networks, and theirapplication to image analysis.

    Jean-Emmanuel Viallet received the PhD from University of Paris VI, in

    1985. He has worked on optoelectronic and photorefractive devicesdesign and simulation. His current interests are image understandingand neural networks.

    Michel Collobert receive the MSc and DEA degrees from the Universityof Paris VI in 1981. He has worked as a scientific engineer in hightechindustries including Ariane aerospace's program. In 1994, he joinedthe FranceTelecom Research Center as a research engineer. Hisresearch interests include artificial perception, cognitive process andtheir applications to telecommunications, and user friendly interfaces.

    12 IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 23, NO. 1, JANUARY 2001


Recommended