1. The Field of the Invention
The present invention relates to image processing. More specifically, the present invention relates to systems and methods for detecting objects, such as human faces, in a digital image.
2. The Relevant Technology
Computing systems are increasingly used for detecting objects in digital images. For example, some systems are configured to examine a photographic digital image and detect the size and location of any human face(s) within the image. At least one goal of such a detection system is to accurately detect desired object features (such as a face) in a digital image and distinguish those features from other objects in the digital image. Patterns in a digital image that correspond, for example, with a face vary extensively and are highly complex, due to the variations in facial appearance, lighting, expressions, and other factors. Such detection systems can consequently be prohibitively complex.
Some common challenges in digital image detection systems are low detection rates and high false detection rates. For example, a face detection system may fail to detect some faces in a digital image. The face detection system may also falsely identify non-face patterns in a particular digital image as faces.
Example embodiments of the present invention include systems and methods for training a classifier for detecting symmetric objects, such as human faces, in a digital image using pairwise feature learning with boosting. For example, current embodiments provide the ability to train an AdaBoost-based classifier to accurately detect symmetric objects, such as human faces, in digital images with high detection rates and low false detection rates.
In one embodiment, a method for training an AdaBoost based classifier for detecting an object—such as a face—in a digital image includes first selecting a sub-window of a digital image. Next, the AdaBoost based classifier extracts multiple sets of two symmetric scalar features from the sub-window. Then, the AdaBoost based classifier minimizes the joint error of the two symmetric features for each set of two symmetric scalar features. Next, the AdaBoost based classifier selects one of the features from the set of two symmetric scalar features for each set of two symmetric scalar features. Finally, the AdaBoost based classifier linearly combines multiple weak classifiers, each of which corresponds to one of the selected features, into a stronger classifier.
Additional aspects will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the teachings herein. Aspects of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. Aspects of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description of the subject matter briefly described above will be rendered by reference to specific embodiments which are disclosed in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting in scope, embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
As noted above, example embodiments of the invention relate to systems and methods for training an AdaBoost based classifier for detecting symmetric objects, such as human faces, in a digital image using pairwise feature learning with boosting. Current embodiments provide the ability to accurately detect symmetric objects, such as human faces, in digital images with high detection rates and low false detection rates.
I. An Example Method for Detecting Faces in a Digital Image
An example method 100 for detecting faces in a digital image will now be disclosed in connection with
At 102, a sub-window x is input into a face detector 104. In a first stage 106, the face detector 104 analyzes the color of the pixels in the sub-window x using a skin color based classifier. In a second stage 108, the face detector 104 analyzes the edge magnitude of the pixels in the sub-window x using an edge based classifier. During a third stage 110, the face detector 104 employs an AdaBoost-like technique using an AdaBoost based classifier. If the face detector 104 determines during any of the stages 106-110 that the sub-window x does not represent a face, the analysis of the sub-window x terminates and the sub-window x is rejected at 112. Thus, if the sub-window x is deemed to be a non-face at any of the stages 106-110, further processing resources and time are not wasted in connection with any further analysis of the sub-window x. If, instead, the face detector 104 determines at each of the stages 106-110 that the sub-window x likely contains a face, then the sub-window x is deemed to represent a face and undergoes post-processing at 114. Stage 114 involves further processing of the sub-window x that results in a determination that the sub-window x is or is not a face. In one example embodiment, the stages 106-110 and 114 have increasing processing costs and levels of discernment.
With reference now to
A scalar weighting, BijεR, to be applied to each sample region {Wij}i,j=13 is then determined. A scalar feature of the prototype template 200 can then be computed by a linearly weighted combination of the sums of values of the pixels of the nine sample regions; that is,
where:
θ={{Xk}k=03,{Yk}k=03,{duij}i,j=13,{dvij}i,j=13,{wij}i,j=13,{hij}i,j=13,{Bij}i,j=13}
is the set of all the variables, and sum(Wij) denotes the sum across all pixels of the sample region Wij. The function sum(Wij) can be computed efficiently from a summed-area table, such as described in “Summed-area tables for texture mapping”, F. Crow, SIGGGRAPH, 1984, vol. 18(3), pp. 207-212, which is expressly incorporated herein by reference. Alternatively, the function sum(Wij) can be computed efficiently from an integral image, such as described in “Robust real-time face detection”, Paul Viola and Michael J. Jones, International Journal of Computer Vision, vol. 57, May 2004, pp. 137-154, which is expressly incorporated herein by reference. By varying the values of θ, various scalar features can be generalized from an image I. For a sub-window x of size 20×20 pixels, billions of such features can be generalized. These features form an over-complete feature set for the sub-window x. Some examples of this over-complete feature set are disclosed in
Because billions of scalar feature can be computed from a single sub-window x, it is intractable to compute the entire set of scalar features. Fortunately, only a very small fraction of the set is needed for face detection tasks. The most significant features can be found by using the so-called AdaBoost learning method. Considering that a face is a symmetric object, one example embodiment of the present invention implements a pairwise feature selection method using a variant of the AdaBoost method, called gentle AdaBoost.
The example method 100 and other example methods disclosed herein can be implemented using computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media.
Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described herein are disclosed as example forms of implementing the claims.
II. Learning Feature Selection with Gentle AdaBoost
The AdaBoost based classifier 110 of
where θb is the threshold controlling the tradeoff of detection rate and false positive rate. The classification of a sub-window x is obtained as ŷ(x)=sign[HM(x)] and the normalized confidence score is |HM(x)|. The original form of hm(x) is a discrete function. However, many AdaBoost variants that use real hm(x) have been also developed. In one example embodiment, the so-called gentle AdaBoost can be used. The gentle AdaBoost variant is targeted at minimizing the following weighted least square error,
where
The optimal parameters of hm together with the best feature f* can be determined by minimizing the error of Equation 2,
III. Pairwise Symmetric Feature Learning and Regularization
To enhance the generalization power of the weak classifiers, hm(fi,xj), one example embodiment of the present invention uses a pairwise feature selection strategy during the boosting learning process. This pairwise feature selection strategy takes advantage of the symmetric property of human faces. As disclosed in
Thus, the optimal pair of features, (f*,
To reduce the computational complexity of final ensemble classifier, in one example embodiment only one feature is selected from (f*,
Assuming that in one embodiment that f* is the chosen feature at current boosting iteration, the parameters of hm(f*) can be updated by,
μ*=(1−η)·μ*+η
ν*=(1−η)·ν*+η
θ*=(1−η)·θ*+η
where η is a regularization parameter taking values in [0,1]. The updated hm(f*) is can then be used in the subsequent boosting iterations. The introduction of regularization leads to more accurate estimates of the weak classifiers hm(f*), and may significantly improve the generalization power of the final ensemble classifier, HM(x) (see Equation 2).
The selection of the optimal η value can be dependent on the input training data. Generally, a bigger η value produces a more accurate strong classifier. However, it also makes the boosting learning process difficult to converge. This can result in an undesirably large final ensemble classifier. Therefore, the accuracy and the size of the final classifier may need to be balanced. It is experimentally observed that good results can be obtained by setting η=0.1˜0.4.
Disclosed herein are example systems and methods for training an AdaBoost based classifier for detecting symmetric objects, such as human faces, in a digital image using pairwise feature learning with boosting. Compared to single feature based solutions, the example embodiments disclosed herein can in some cases result in more accurate results. Although example embodiments have been disclosed in connection with a gentle AdaBoost based classifier, alternative embodiments may be implemented with a discrete AdaBoost based classifier or a real AdaBoost based classifier.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Number | Name | Date | Kind |
---|---|---|---|
5163094 | Prokoski et al. | Nov 1992 | A |
5574573 | Ray et al. | Nov 1996 | A |
5629752 | Kinjo | May 1997 | A |
5680481 | Prasad et al. | Oct 1997 | A |
5715325 | Bang et al. | Feb 1998 | A |
5850470 | Kung et al. | Dec 1998 | A |
5892837 | Luo et al. | Apr 1999 | A |
6463163 | Kresch | Oct 2002 | B1 |
6633655 | Hong et al. | Oct 2003 | B1 |
7024033 | Li et al. | Apr 2006 | B2 |
7050607 | Li et al. | May 2006 | B2 |
7099510 | Jones et al. | Aug 2006 | B2 |
7194114 | Schneiderman | Mar 2007 | B2 |
7379568 | Movellan et al. | May 2008 | B2 |
7471812 | Cho et al. | Dec 2008 | B2 |
7505621 | Agrawal et al. | Mar 2009 | B1 |
7508961 | Chen et al. | Mar 2009 | B2 |
7519200 | Gokturk et al. | Apr 2009 | B2 |
7587069 | Movellan et al. | Sep 2009 | B2 |
7643659 | Cao et al. | Jan 2010 | B2 |
7680330 | Leung | Mar 2010 | B2 |
7773781 | Kim | Aug 2010 | B2 |
7783086 | Sabe et al. | Aug 2010 | B2 |
7792335 | Steinberg et al. | Sep 2010 | B2 |
20050102246 | Movellan et al. | May 2005 | A1 |
20050213810 | Sabe et al. | Sep 2005 | A1 |
20050220336 | Sabe et al. | Oct 2005 | A1 |
20060050933 | Adam et al. | Mar 2006 | A1 |
20060104517 | Ko et al. | May 2006 | A1 |
20080008362 | Hu | Jan 2008 | A1 |
20080304714 | Lu et al. | Dec 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20080304714 A1 | Dec 2008 | US |