Recent researches for detecting face regions from images have paid attention to high dimensional kernel features(KFs), which are obtained by a non-linear transformation of original features extracted from images. A Support Vector Machine(SVM) is one of the most prominent learning algorithms for KFs. However, SVM is time-consuming because of needing a large number of KFs to improve the accuracy of the classification. This paper proposes a new method that constructs a classifier between face and non-face regions by generating and choosing KFs based on Kullback-Leibler Divergence(KLD). The KLD means a distance between two distributions of face and non-face data under a given KF, and some KFs of large KLDs are selected for the face detection. Moreover, the use of KLD enables us to generate new KFs, and to deal with different kinds of KFs concurrently. Some experiments show that our method can reduce the number of KFs much more than SVM, and achieve almost equal or better detection rate than that of SVM.