A NEW FAST FACE DETECTION TECHNIQUE


Cite item

Full Text

Abstract

The problem of human face detection in a natural or artificial environment has always been among the highest priorities for researchers working in the field of computer vision systems and artificial intelligence. An effective face detection system should provide high percentage of correct detections, and low false detection rate in short time. Viola-Jones method is one of the best algorithms in terms of speed/quality ratio. However, this method in many cases gives a large number of false detections. The color of human skin is one of the features that helps to make face detection. The presence of the color information improves the efficiency of face allocation; narrows the search area and reduces the number of false detections and processing time of the input images. This paper solved is the problem face area detection, based on two new methods. The first technique uses the image pixel skipping process instead of testing each pixel to label it as skin or non-skin by using RGB color space. Second technique uses YCbCr color space and block approach which divides the image into blocks, the size of each block is 3×3 pixels, then we check the central pixel. If the central pixel satisfies the skin criteria, the whole block will be considered as a skin. Finally, we applied Viola-Jones algorithm to detect faces. The experimental results presented in the paper shows that the proposed algorithms provide high speed detection at low false error rate.

Full Text

1. Introduction Image is one of the main parts of human life because one image is considered more effective than thousands of words. Face detection is an extremely important step in computer vision and biometric systems such as human-computer interaction (HCI), face image database management and it is the first stage in face recognition [1]. Face detection is described as finding the faces in an original image and locating their position or if there are not any faces in the image, the algorithm does not detect anything. It is difficult because although similarity exists between faces, they can vary considerably in terms of facial expression, skin color, and age. Also, images are changing with different in resolution, contrast and lighting and this task becomes more difficult when faces are close to other objects like beards, mustaches, and glasses etc. In [2; 3], we can found a survey of face detection algorithms. Generally the process of face detection can divided into two stages: in the first stage, the image is scanned to find the region (features) that can be identified as face, skin color is using in this step because it is the most common among all, the second stage is localization the position of this faces. The challenges of face detection are [4]: 1) presence or absence structural components: facial features such as mustaches and beards can be present or absent from a face; 2) lighting effects from external conditions such as shadows; 3) pose; 4) facial expression; 5) orientation; 6) occlusions. Color provides much robust and fast processing to geometric variations of the face pattern from other features. Skin color is one of the most important features of the human face; because it provides good information for extracting an area of the face and the use of color information can simplify face localization in different environments [5]. Many researchers have proposed various skin detection techniques based on different color space models such as RGB, normalized RGB [6], HSV [7], YCbCr [8] and YIQ [9], a survey on skin detection algorithms can be found in [10; 11]. We introduce new fast techniques for face detection which can be applied in a real-time system. In the first algorithm, we used skipping method [12] instead of testing each image pixel to label it as skin or non-skin by using RGB color space. Second technique uses YCbCr color space and block approach, which divides an image into blocks, the size of each block is 3×3 pixels, then we check the central pixel. If the central pixel satisfies the skin criteria, the whole block will be considered as a skin. Finally, we applied Viola-Jones algorithm to detect faces. The reason for this process is the high probability that neighbors of the skin color pixels are also skin pixels, especially in adult images and vise versa. The outline of the paper is as follows: Section 2 describes Viola et al. face detection technique. Section 3 focuses on skin detection. The Proposed hybrid face detection techniques are introduced in section 4. Experimental results used to evaluate the performance of these techniques are described in section 5. Finally, our conclusion and future work are presented. 2. Viola-Jones Method The method of Viola-Jones [13] is one of the best indicators for the effectiveness of performance detection, it is introduced in 2001. The method is called - “Viola-Jones method” (named two authors). The basis of this method is to scan a sub-window capable of detecting faces across a given input image, so that it is allowing to process images with a high detection rate compared with other methods of face detection. The main principles which are used in the method of Viola-Jones as follows: input image used in the integral representation that allows to calculate quickly the necessary facilities; Haar-like features [14], which used to search of the desired object (face and its features); AdaBoost to select the most suitable characteristics from a huge library of potential features and Cascade classifiers. The first step is convert original image to integral image, to do that, value of each pixel equal to the entire sum of all pixels values above and to the left of the concerned pixel. This allows for the calculation of the sum of all pixels inside any given rectangle using only four values (fig. 1). The integral image at location x, y inclusive: (1) where L(x, y) is the integral image and I(i, j) is the original image. Cumulative row sum: Integral image: s(x, -1) = 0, and L(-1, y) = 0, the integral image can be computed in one pass over the original image. Fig. 1, a shows the value of the integral image at point (x, y) is the sum of all the pixels above and to the left. Fig. 1, b gives the value of the integral image at location 1 is the sum of the pixels in rectangle A. The value at location 2 is A+B, at location 3 is A+C, and at location 4 is A+B+C+D. The sum within D can be computed as 4 + 1 - (2 + 3). Example of integral image value in numbers shows in fig. 2. The second step of this technique is AdaBoost. AdaBoost (adaptive boosting) is a machine learning algorithm which can be used for classification. It combines many small weak classifiers to become a strong classifier using only a training set and a weak learning algorithm, AdaBoost is called adaptive because it uses multiple iterations to generate a single strong learner. The Viola-Jones face detector analyzes a given sub-window using features consisting of two or more rectangles. The different types of features are shown in fig. 3. Each feature results in a single value which is calculated by subtracting the sum of the white rectangle(s) from the sum of the black rectangle(s). 0 1 1 1 0 1 2 3 1 2 2 3 1 4 7 11 1 2 1 1 2 7 11 16 1 3 1 0 3 11 16 21 input image I(i,j) integral image L(x,y) Fig. 2. Example of integral image value in numbers Viola and Jones have empirically found that a detector with a base resolution of 24×24 pixels gives satisfactory results. A weak classifier is mathematically described as: . (2) Where x is a 24×24 pixel sub-window, f is the applied feature, p is the polarity and θ is the threshold that decides whether x should be classified as a positive (a face) or a negative (a non-face). The third major contribution is a method for chaining more complex classifiers in a cascade structure, which achieves increased the performance of the detector while radically reducing computation time by only focusing on promising regions of the image and by focusing on face-like regions of the image. The main idea is to assume that a simple classifier is often able to detect whether an image contains an object of interest faster. The key insight is that smaller, and therefore more efficient, boosted classifiers can be constructed which reject many of the negative sub-windows while detecting almost all positive instances. Simpler classifiers are used to reject the majority of sub-windows before more complex classifiers are called upon to achieve low false positive rates [13]. The cascade structure contains many classifier stages. In each stage there is a strong classifier trained by using modified AdaBoost on increasingly features until the target detection and false positives rates are met see fig. 4. Fig. 4. Schematic depiction of a detection cascade 3. Skin Detection Skin detection in color images is a very efficient way to locate skin-colored pixels and regions. Skin color is a distinctive feature of human faces. The goal of skin detector is transformed a given pixel into a suitable color space and then classification is to build a decision rule that will distinguish between skin and non-skin pixels. The major problem of such kinds of detector is that it is time- consuming; there are some articles which dealt with speed up the detection process [15; 16]. The method of skin detection is divided into two main categories [17]: pixel-based and region-based skin detection methods. Pixel-based skin detection methods classify each pixel as skin or non-skin individually, independently from its neighbors. On the other hand, region-based skin detection methods try to take the spatial arrangement of skin pixels into account during the detection stage to enhance the methods performance. RGB color space. RGB is a widely color spaces used for processing and storing of digital image data. RGB cluster is one of the most methods to build a skin classifier through rule or a number of rules. For example, according to Peer et al. [18], a pixel is classified as a skin, if the following constraints are satisfied: (3) YCbCr color space. RGB does not provide the correct information about skin color when the luminance is affected [4]; it also fails when there is some more skin region like legs, arms. Results in [19] show that RGB color space is not friendly with face detection based on skin color. YCbCr [20] is a family of color spaces used as a part of the color image pipeline in video and digital photography systems. The Y, Cb, and Cr components refer to Luminance, Chromatic blue and Chromatic red, respectively. Although there are many color spaces, we choose YCbCr, because its effectiveness in skin detection has been shown previously [21]. YCbCr color space has been defined in response to increasing demands for digital algorithms in handling video information, and has since become a widely used model in a digital video. The transformation from RGB to YCbCr color space is accomplished through the following equations [21]: (4) There are several skin detection algorithms that utilize YCbCr color space. Chai and Ngan in [22] first proposed YCbCr algorithm, which is include of skin segmentation step followed by a set of processes to reinforce those skin regions that are more likely to belong to the facial regions. They have found that the ranges of Cb and Cr for the skin are: (5) Kukharev and Novosielski [23] built skin color model, they were found that the best skin cluster values to produce best results based on 25 face examples of people from different races are given as: (6) After exhaustive image histogram analysis, Basilio et al. [24] gave values of thresholds for skin detection: . (7) Through our experimental work, we found that the pixel is classified as a skin if: (8) Zahra et al. face detection method is a hybrid face detection method [25]. It first makes skin detection, then apply the face detection method suggested by Viola and Jones. Experimental result shows that it improves Viola-Jones face accuracy. However, false negative rate in this method is a little bit increased because using skin detection before Viola-Jones method may cause distortion in some faces and the detection algorithm does not detect it and need a long CPU time, so that we worked to improve this disadvantages. 4. Proposed Algorithms The aim of this work is to improve the efficiency of the human face detection in digital images by improving the efficiency which refers to the following: increasing the percentage of detection rate and decreasing the percentage of false detections with reducing training time. Commonly, used skin detection algorithms can extract skin regions from images accurately and reliably, but they often take a long CPU time to finish the detection process. In all methods used in skin color detection, all pixels in the image are tested and labeled as skin or non-skin pixel. The First Proposed Method. In this method, we used the fact that a skin pixel is not by itself rather its neighbors should be skin pixel and the high probability that neighbors of the skin color pixels are also skin pixels, especially in adult images and vise versa. Firstly, we apply skin detection method using RGB color space (equation (3)) but instead of testing each image pixel, we skip a predetermined number of pixels. Then we used Viola-Jones method for detection faces. The steps of the proposed method can be described as follows: Step 1. Image from database which having default RGB color space is taken. Step 2. Apply the skin color detection with skipping a number of pixels; in this approach we used skipping 1, 3, 5 and 10 pixels respectively. Step 3. Apply Viola-Jones Method. Step 4. Record the detection rate and CPU time of the detection process. Second Proposed System. In this section, we describe the second proposed system used to detect faces in the image, it’s named Block method. The proposed technique combines also skin detection method with Viola-Jones technique, but in skin model, we used YCbCr color space and we divided image to block; the size of each block is 3×3 pixels, and then applying the skin detection ratios on the central pixel of block (fig. 5). If this pixel satisfies the ratios completely in equation (8), the whole block will be considered as a skin block. The result of skin detection model shows in fig. 6. Fig. 7 shows the steps of face detection algorithms. Fig. 5. One Block for skin detection 35 a b Fig. 6. Original image (a); Proposed skin detection (b) a b Fig. 7. Steps of face detection algorithms: a - First algorithm; b - Second algorithm 5. Experimental Results We present a comparison between the two proposed fast face detection techniques (Skipping and Block) described in section 4 with Zahra et al. method. The comparison was in terms of detection rate; false negative rate; false positive rate and CPU time. The system parameters set for experimentation are shown in tab. 1. For the experiments, we used image database contains 326 faces from 100 images at different imaging conditions and some of these images do not contain faces. Table 1 System Parameters System parameters Values and versions Simulation software C# programming language Processor Intel (R) Core (TM) i7 -2630QM (2.00GH) RAM 4GB Operating System Windows 7 (64 bit) We used to calculate the detection rate (DR), false positive (FP) and false negative (FN) the following equations respectively: (9) Tab. 2 illustrate the CPU time for all techniques, Zahra et al. method, skipping rates 1, 3, 5 and 10 pixels and Block method. Tab. 3 shows some of the output images obtaining by applying Zahra et al. and the proposed methods. The accuracy rate formula that we used is mentioned in [26; 27]. Equation below shows the accuracy rate: Accuracy % = 100 - (False positive Rate % + + False negative Rate %). (10) As can be seen in tab. 2, 3, using the skipping and block techniques speed up the required CPU time to extract faces regions compared with the Zahra et al. method and the face detection performance of the proposed methods is better than Zahra et al. method. Tab. 4 gives the Detection Rate, False Negative (FN), False Positive (FP) and Accuracy for each method. From tab. 4, it is clearly that proposed methods improve the accuracy and Detection Rate of Zahra et al. method. The proposed method could detect approximately 94.5 % when we used skipping 1 pixel; 96 % when skipping 3 pixels; 96.62 % at skipping 5 pixels; at increasing the skipping rate to 10 pixels, the detection rate increased to 97.23 %. But when we applied Block YCbCr, the detection rate becomes 93.87 % of the faces correctly. The detection rate of Zahra et al. method is less than the proposed; the detection rate of this method is 82.8 %. Generally, combining skin detection with Viola & Jones method improves the performance detection rate. 6. Conclusion This paper presents two new techniques that can be used to greatly improve the Detection Rate and CPU time of face detection basing on skin detection and Viola-Jones algorithm. The first technique uses an image pixel skipping process instead of testing each pixel using RGB color space and after that applying Viola algorithm for detection faces. The second algorithm combines also skin detection and Viola-Jones technique, but in skin model, we divided image to blocks; the size of each block is 3×3 pixels and then applying the skin detection ratios by using YCbCr color space cluster on the centre pixel of block. The experimental results demonstrate that that our new approaches in modeling skin color were able to achieve a good detection success rate. In the future work, we will improve this algorithm by combining it with other face detection algorithm to achieve better performance and further reduce the false detecting rate in dealing with images which has more complex background. Table 2 Time measured the CPU Time No of Faces Image Resolution Zahra et al. [25] Skipping 1 pixel Skipping 3 pixels Skipping 5 pixels Skipping 10 pixels YCbCr Block 2 530×340 1.810 0.676 0.587 0.5610 0.5391 0.5259 4 796×550 02.312 1.1409 0.9616 0.9259 0.9192 0.8662 3 338×427 01.5129 0.54097 0.46823 0.4594 0.4487 0.4402 7 796×550 02.2725 1.2805 1.01371 0.9944 0.9767 0.8471 1 600×754 02.2525 1.04383 0.80757 0.7595 0.74755 0.70968 2 1024×740 03.2153 2.0789 01.6250 1.58655 1.54662 1.29194 0 1024×768 03.5816 1.9958 01.5466 1.48157 1.39828 1.10804 12 796×550 02.4792 01.2208 1.07035 01.0431 1.01663 0.88331 7 640×479 02.0197 01.0021 0.87287 0.83885 0.80418 0.71842 3 796×550 02.2062 01.1844 01.0298 0.98647 0.97374 0.76432 7 796×532 02.5948 01.3263 1.1031 1.0353 01.0165 0.8812 9 796×550 02.3481 1.1792 1.0190 0.99487 0.98292 0.87181 Table 3 Sample face detection results using the test dataset Original image Zahra et al. method [25] Skip 1 pixels Skip 3 pixels Skip 5 pixels Skip 10 pixels Block YCbCr Table 4 Performance evaluation Method Detection Rate FN FP Accuracy Zahra et al. [25] 82.8 % 17.2 % 6.13 % 76.67 % Skipping 1 pixel 94.5 % 5.5 % 3.37 % 91.13 % Skipping 3 pixels 96 % 4 % 3.98 % 92.02 % Skipping 5 pixels 96.62 % 3.38 % 1.53 % 95.09 % Skipping 10 pixels 97.23 % 2.77 % 1.53 % 95.7 % Block YCbCr 93.87 % 6.13 % 1.53 % 92.34 %
×

About the authors

- Mamdouh M. Gomaa

Astrakhan State University

Email: doha_gomaa@yahoo.com
20a, Tatishchev St., Astrakhan, 414056, Russian Federation

References

  1. Abdul Rahman N., Kit S. RGB-H-CbCr Skin Color Model for Human Face Detection. In Proceedings of the MMU International Symposium on Information & Communications Technologies. M2USIC. 2006.
  2. Yang M. H., Kriegman D., Ahuja N. Detecting Faces in Images: A Survey. IEEE Trans. PAMI. 2002, Vol. 24, No. 1, P. 34-58.
  3. Zhang C., Zhang Z. A Survey of Recent Advances in Face Detection. Microsoft Research Technical Report, MSR-TR-2010-66, Jun. 2010.
  4. Chitra S., Balakrishnan G. Comparative Study for Two Color Spaces HSCbCr and YCbCr in Skin Color Detection. Applied Mathematical Sciences. 2012, Vol. 6.
  5. Hsu L., Mottaleb M. A., Jain A. K. Face detection in color images. IEEE 8th ICIP, Greece, 2001.
  6. Skarbek W., Koschan A. Color image segmentation - a survey. Tech. rep., Institute for Technical Informatics. Technical University of Berlin. 1994.
  7. Tarek Abd El-Hafeez. A new system for extracting and detecting skin color regions from pdf documents.International Journal on Computer Science and Engineering (IJCSE). 2010, Vol. 9, No. 2, P. 2838-2846.
  8. Poynton C. A. Frequently asked questions about colour. 1995.
  9. Duan L., Cui G., Gao W, Zhang H. Adult image detection method base-on skin color model and support vector machine. In Asian Conference on computer Vision. Melbourne, Australia, 2002.
  10. Kakumanu P., Makrogiannis S., Bourbakis N.
  11. a Survey of Skin-Color Modeling and Detection Methods. Pattern Recognition 40. 2007, P. 1106-1122.
  12. Vezhnevets V., Sazonov V., Andreeva A. A survey on pixel based skin color detection techniques. In GraphiCon, Moscow, Russia, Sept. 2003.
  13. Tarek M. M. A New Fast Skin Color Detection Technique. World Academy of Science, Engineering and Technology. 2008. P. 456-460.
  14. Viola P., Jones M. J. Robust real-time face detection. International Journal of Computer Vision. 2004, Vol. 57, No. 2, P. 137-154.
  15. Rafael C. G., Richard E. W., Steven L. E. Digital Image Processing, 3rd edition. Pearson Education (Singapore) Pvt. Ltd, 2009.
  16. Seguier R. A very fast adaptive face detection system. In Proc. IASTED Conf. on Visualization, Imaging, and Image Processing (VIIP). Marbella, Spain, Sep. 2004.
  17. Tomaz F., Candeias T., Shahbazkia S. Fast and Accurate Skin Segmentation in Color images. CRV04, 2004.
  18. Deepak G., Joonwhoan L. A Robust Face Detection Method Based on Skin Color and Edges. J. Inf. Process Syst. March 2013, Vol. 9, No. 1.
  19. Peer P., Kovac. J., Solina. F. Human Skin Color Clustering for Face Detection. EUROCON1993, Ljubljana, Sloveni. 2003, P. 144-148.
  20. Sanjay S., Chauhan D. S., Mayank V., Richa S. A Robust Skin Color Based Face Detection Algorithm. Tamkang Journal of Science and Engineering. 2003,
  21. Vol. 6, No. 4, P. 227-234.
  22. Mohammad S. I., Ali Y. Skin Color Segmentation in Fuzzy YCBCR Color Space with the Mamdani Inference. American Journal of Scientific Research. July 2001, P. 131-137.
  23. Rafael G., Richard W., Steven E. Digital Image Processing using Matlab. Prentice Hall. 2004.
  24. Chai D., Ngan K. Face segmentation using skin-color map in videophone applications. IEEE Trans. on Circuits and Systems for Video Technology. 1999, Vol. 9, No. 4, P. 551-564.
  25. Kukharev G., Novosielski A. Visitor identification elaborating real time face recognition system. In Proc. 12th Winter School on Computer Graphics (WSCG), Plzen, Czech Republic. Feb. 2004. P. 157-164.
  26. Basilio J. A. M., Torres G. A., Pérez G. S., Medina L. K. T., Meana H. M. P. Explicit image detection using YCbCr space color model as skin detection. Proceedings of the American conference on applied mathematics. 2011. P. 123-128.
  27. Zahra S. T., Rahmita R. W., Udzir. N. B., Kheirkhah E. A. Hybrid Face Detection System using combination of Appearance-based and Feature-based methods. IJCSNS International Journal of Computer Science and Network Security. 2009, Vol. 9, No. 5,
  28. P. 181-185.
  29. Reza A., Eslam A., Babak A. Real-Time Human Face Detection in Noisy Images Based on Skin Color Fusion Model and Eye Detection. Intelligent Computing, Communication and Devices, Advances in Intelligent Systems and Computing 309. 2014, Vol. 2, P. 435-447.
  30. Singh S. K., Chauhan D. S., Vatsa M., Singh R.
  31. A Robust Skin Color Based Face Detection Algorithm. Tamkang Journal of Science and Engineering. 2003.
  32. Vol. 6, No. 4, P. 227-234.

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2015 Mamdouh M. Gomaa -.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies