This invention relates to image analysis, and more particularly, to an improved method and apparatus for detecting the presence of faces within an image while minimizing the required calculations and maximizing speed and efficiency.
Face detection has a variety of applications in government, security, etc. Face detection involves the ability of software and apparatus to examine a composite image and detect the presence of faces within the image. Face detection algorithms are known in the art and are computationally expensive. A variety of techniques utilized in prior art face detection algorithms are described and cited as references 1–28 in the '596 provisional application. One of the main challenges in face detection technology is the ability to discriminate between face and non face images given that the faces may be of any size and located anywhere in the image.
Earlier efforts have been focused on correlation or template matching, matched filtering, subset methods, deformable templates, and similar such techniques. One representative technique, in order to cope with the variability of face images, utilizes six Gaussian clusters to model the probability distributions for face and non-face patterns, respectively. The density functions of the Gaussian distributions are then fed through a multilayer perceptron classifier for face detection. Such techniques are extremely computationally expensive, and subject to relatively high rates of false detection.
It is an object of the invention to decrease the computational cost of performing face detection;
It is also an object of the invention to provide a face detection algorithm that has an acceptable false detection;
It is also an object of the invention to diminish the large number of probability density functions utilized in face detection algorithms;
It is still a further object of the present invention to provide a relatively accurate face detection algorithm.
The above and other problems of the prior art are overcome in accordance with the present invention, which relates to a novel representation of the input images and the processing of such novel representation using a novel Bayesian classification technique in order to detect faces.
In accordance with the invention, a discriminating feature analysis (DFA) procedure is carried out and DFA vectors are calculated on a variety of training images. The DFA vectors are then utilized to model the face and non-face classes using, for each class, a single multivariate Gaussian probability density function (PDF). The generation of the DFA vectors and the modeling of the face and non-face classes based upon such DFA vectors renders training complete.
Thereafter, an input image is processed to calculate the DFA vectors associated with such input image. The DFA vectors are then processed through a special Bayesian classifier as discussed more fully below in order to control the false detection rate and provide optimal accuracy in performing face detection. The output of the foregoing then classifies portions of the image as face or nonface with a relatively high degree of accuracy and low probability of false detection.
The DFA representation may itself be used in representations other than for face detection algorithm.
In
This training data is utilized at block 103 in order to compute the discriminating feature analysis (DFA) vector of the training images. The DFA vector is a novel featured vector with enhanced discriminating power for face detection. The DFA representation, shown for example in
3.1 Discriminating Feature Analysis
The discriminating feature analysis derives a new feature vector with enhanced discriminating power for face detection, by combining the input image, its 1-D Haar wavelet representation, and its amplitude projections. While the Haar wavelet representation has been shown effective for human face and pedestrian detection, the amplitude projections are able to capture the vertical symmetric distributions and the horizontal characteristics of human face images.
Let I(i,j) εm×n represent an input image (e.g. training images for face and nonface classes, or subimages of test images), and X ε
mn be the vector formed by concatenating the rows (or columns) of I(i, j). The 1-D Haar representation of I(i, j) yields two images, Ih(i, j) ε
(m−1)×n and Iv(i,j) ε
m×(n−1), corresponding to the horizontal and vertical difference images, respectively.
Ih(i,j)=I(i+1,j)−I(i,j)1≦i<m, 1≦j<n (1)
Iv(i,j)=I(i,j+1)−I(i,j)1≦I<m, 1≦j<n (2)
Let Xhε(m−1)n and Xv ε
m(n−1) be the vectors formed by concatenating the rows (or columns) of Ih(i, j) and Iv(i, j) respectively.
The amplitude projections of I(i, j) along its rows and columns form the horizontal (row) and vertical (column) projections, Xr εm and Xc ε
n, respectively.
Before forming a new feature vector, the vectors X, Xh, Xv, Xr and Xc are normalized by subtracting the means of their components and dividing by their standard deviations, respectively. Let {circumflex over (X)}, {circumflex over (X)}h, {circumflex over (X)}v, {circumflex over (X)}r, and {circumflex over (X)}c, be the normalized vectors. A new feature vector {tilde over (Y)} εN is defined as the concatenation of the normalized vectors:
{tilde over (Y)}=({circumflex over (X)}t{circumflex over (X)}ht{circumflex over (X)}vt{circumflex over (X)}rt{circumflex over (X)}ct)t (5)
where t is the transpose operator, and N=3 mn is the dimensionality of the feature vector {tilde over (Y)}. Finally, the normalized vector of {tilde over (Y)} defines the discriminating feature vector, {tilde over (Y)} εN, which is the feature vector for the multiple frontal face detection system, and which combines the input image, its 1-D Haar wavelet representation, and its amplitude projections for enhanced discriminating power:
where μ and σ are the mean and the standard deviation of the components of {tilde over (Y)}, respectively.
Once the DFA vectors are calculated for the training images, the system stores the DFA vectors at block 104. Accordingly, by block 104, the entire set of training images has been processed and translated into DFA vectors so that the algorithm can next model the face-class and non-face classes from these DFA representations.
The modeling of the face and non-face classes is represented generally by operational block 105 in
Continuing with operational block 105, the nonface class modeling starts with the generation of nonface samples by applying Equation 13 to natural images that do not contain any human faces at all. Those subimages of the natural images that lie closest to the face class are chosen as training samples for the estimation of the conditional probability density function of the nonface class, which is also modeled as a single multivariate Gaussian distribution. The conditional density function of the nonface class is estimated as Equation 18 in the incorporated provisional application. Accordingly, at the completion of block 105, Equations 13 and 18 have already been utilized to calculate the conditional PDFs for both face and nonface classes from a single multivariate Gaussian distribution. Equation 18 follows.
The PDFs are stored after being modeled at block 105. The stored PDFs render the system trained and ready to operationally detect faces in input images.
Block 106 is the first step shown in
To perform such classification, control is transferred to block 108 where the BDF method applies the Bayesian classifier for multiple frontal face detection. The Bayesian classifier provided at Equations 19–25 of the incorporated provisional application is executed upon the DFA of the input image. The Bayesian classifier will then determine, according to Equation 25 of the incorporated provisional, whether the image or subimage being examined is a face or a nonface class. The equations 19–25 define what is termed herein a Bayesian classifier. Equations 19–25 and an explanation thereof follow.
3.3 The Bayesian Classifier for Multiple Frontal Face Detection
After modeling the conditional PDFs of the face and nonface classes, the BDF method applies the Bayes classifier for multiple frontal face detection, since the Bayes classifier yields the minimum error when the underlying PDFs are known. This error, called the Bayes error, is the optimal measure for feature effectiveness when classification is of concern, since it is a measure of class separability [3].
Let Y εN be the discriminating feature vector constructed from an input pattern, i.e., a subimage of some test image (see Sect. 3.1). Let the a posteriori probabilities of face class (ωf) and nonface class (ωn) given Y be P(ωf|Y) and P(ωn|Y), respectively. The pattern is classified to the face class or the nonface class according to the Bayes decision rule for minimum error [3]:
Note that the Bayes decision rule optimizes the class separability in the sense of the Bayes error, hence should yield the best performance on face detection.
The a posteriori probabilities, P(ωf|Y) and P(ωn|Y), can be computed from the conditional PDFs as defined in Sects. 3.2.1 and 3.2.2 using the Bayes theorem.
where P(ωf) and P(ωn) are the a priori probabilities of face class ωf and nonface class ωn, respectively, and p(Y) is the mixture density function.
From Eqs. 13, 18, and 20, the Bayes decision rule for face detection is then defined as follows:
where δf, δn, and τ are as follows:
δf and δn can be calculated from the input pattern Y, the face class parameters (the mean face, the first M eigenvectors, and the eigenvalues), and the nonface class parameters (the mean nonface, the first M eigenvectors, and the eigenvalues). τ is constant which functions as a control parameter—the larger the value is the fewer the false detections are. To further control the false detection rate, the BDF method introduces another control parameter, θ, to the face detection system, such that
The control parameters, τ and θ, are empirically chosen for the face detection system.
Note there are two empirically derived control parameters in the BDF equations, τ and θ, that must be finely tuned to the particular system under consideration. For the experiments conducted with respect to the present invention and described in the incorporated provisional application, the selected values of 300 and 500, respectively, were found to give acceptable performance. However, trial and error based upon the particular training images and anticipated input images may require these values to be adjusted slightly up or down.
It is noted that the DFA vector shown in
This application claims the benefit of priority to provisional application Ser. No. 60/446,596 (“the '596 application”), filed Feb. 11, 2003. The '596 application is hereby incorporated by reference in its entirety. A copy of the '596 application is attached hereto as an appendix.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5761341 | Go | Jun 1998 | A |
| Number | Date | Country | |
|---|---|---|---|
| 20040190760 A1 | Sep 2004 | US |
| Number | Date | Country | |
|---|---|---|---|
| 60446596 | Feb 2003 | US |