HCI Final Project Robust Real Time Face Detection Paul Viola, Michael Jones, Robust Real-Time Face Detetion, International Journal of Computer Vision, 2004. 組別: 二 組員: 黃世明 簡維達 陳湘宜 Goals 1. Real Time Computation 2. High Detection Rate Face Detector Input Image Output Image Why Do We Care About Speed? • Robotics need a real-time face detector. • Thousands upon thousands of images in the album • Animal vision systems are both fast and accurate • Security system Abstract • A fast face detection framework in color image combining a skin color detector and Viola-Jones Detector (VJD) • Skin segmentation: – Normalized Color Coordinates (NCC) color space • Morphology operations remove the noises • Viola-Jones Detector (VJD) performs face detection only in the segmented skin color regions • We built the proposed system using OpenCV • Results showed that the detection time of proposed algorithm can yield an improvement of more than 50 percent, compared with that of Viola-Jones Detector (VJD), while resulting in lower false alarm rate. The Viola-Jones Detector (VJD) • Haar-like features • Integral image: a fast way to compute simple “features” • In Adaboost the weak learner is nothing but a feature selector. The advantage is that if there are N weak learners there are merely N features to compute. • Cascaded combination of classifiers. Most of true negatives are rejected very fast at the at the first few stages. Can keep high detection rate and low false positive rate. Haar-like Features • Four basic types. – They are easy to calculate. – The white areas are subtracted from the black ones. – A special representation of the sample called the integral image makes feature extraction faster. • Features are extracted from sub windows of an sample image. – The base size for a sub window is 24 by 24 pixels. • In a 24 pixel by 24 pixel sub window there are 180,000 possible features to be calculated. Integral images • Summed area tables • A representation that means any rectangle’s area can be calculated in four indexes to the integral image. Cascade classifier • Selects a small number of critical visual features • Combines a collection of weak classification functions to form a strong classifier • Stages in the cascade are constructed by training classifiers using Adaboost • Training this detector takes weeks but it is done once and for all. Then, it processes 15 frames per second Advantages using OpenCV Haar object detection • • • • Face detector already implemented Its only argument is a xml file Detection at any scale Face detection at 15 frames per second for 384*288 pixel images • 90% objects detected • 10-6 false positive rate (FAR) Skin segmentation • Face-like regions skin-like regions • A simple, efficient, and rapid method • Normalized Color Coordinates (NCC) F1 (r) 1.376 r 2 1.0743 r 0.2 F2 (r ) 0.776 r 2 0.5601 r 0.18 W (r, g) (r 0.33)2 ( g 0.33)2 1 if (g F1 (r) & g F2 (r) & W 0.001 Skin otherwise 0 r R RG B g G RG B Color Image Proposed scheme • • • • Skin segmentation Binarization Morphology operation VJD using OpenCV Skin Segmentation NonSkin Skin Binarization Erode & Dilate Viola-Jones Detector Non-faces Faces Figure 8: Proposed detection procedure. Results and Discussions • Two systems, VJD and the proposed face detection system, were implemented using Visual C++ 6.0 with OpenCV on a Pentium(R) Core 2 Dual @ 2.00 GHz PC with 2.00 GB RAM. • For conducting experiments, some materials shown in Table 1 and Table 2 were searched on Google Image Search Website, and some captured by a digital camera were from our lab. The experimental images are in size of from 400x464 pixels image for web display to 2186x2112 pixels image captured by a digital camera. Totally there are 26 images. • For face detection time evaluation, the proposed system and VJD performed 1000 times repeatedly on every image. Finally, pick the minimum detection time as the fast detection time for experimental comparison. • The proposed system improved detection time for color image, and not only kept the robust property, but also decreased false alarm rate and false rejection rate. Conclusions • The proposed system is faster than VJD in color image. • This research demonstrated that a skin color detection unit as preprocessing can improve the detection time of VJD in a color image. This idea can be extended to other problems, e.g. hand detection. If we know the color conditions in that problem in advance, color information is helpful and useful to improve the detection time.