1 / 30

A Brief Introduction on Face Detection

A Brief Introduction on Face Detection. Mei-Chen Yeh 04/06/2010. P. Viola and M. J. Jones, Robust Real-Time Face Detection, IJCV 2004. Object Detection. Find the location of an object if it appear in an image Does the object appear? Where is it?. Applications. Applications.

Download Presentation

A Brief Introduction on Face Detection

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Brief Introduction on Face Detection Mei-Chen Yeh 04/06/2010 P. Viola and M. J. Jones, Robust Real-Time Face Detection, IJCV 2004.

  2. Object Detection • Find the location of an object if it appear in an image • Does the object appear? • Where is it?

  3. Applications

  4. Applications George colony

  5. Challenges 1: view point variation Michelangelo 1475-1564 Slide (5-10) credit: Fei-Fei Li

  6. Challenges 2: illumination slide credit: S. Ullman

  7. Challenges 3: occlusion Magritte, 1957

  8. Challenges 4: scale

  9. Challenges 5: deformation Xu, Beihong 1943

  10. Challenges 6: background clutter Klimt, 1913

  11. Detection Framework • Viola and Jones’ face-detection algorithm • The first object detection framework to provide competitive object detection rates in real-time • Implemented in OpenCV • Components • Features • Haar-features • Integral image (speed up the feature calculation) • Learning • AdaBoost algorithm • Cascade method (speed up the detection process)

  12. Haar-features • The difference between pixels’ sum of the white and black areas • Based on the face symmetry

  13. 24 24 Haar-features • Too many features! • Different locations • Different scales • Speed-up strategy • Fast calculation of haar-features • Selection of good features

  14. 3 5 8 12 15 • 5 8 11 16 22 28 • 9 14 18 24 31 39 • 1 2 3 4 3 • 2 1 2 2 3 • 2 1 1 1 2 Image Integral image Integral image Sum of pixel values in the blue area Example:

  15. A, B: 2 rectangles => C: 3 rectangles => D: 4 rectangles => Integral image a = sum(1) b = sum(1+2) c = sum(1+3) d = sum(1+2+3+4) 1 2 a b 3 4 c d Sum(4) = ? d + a – b – c Four-point calculation! 6-point 8-point 9-point

  16. The feature pool Type A Four types of haar features A 24x24 detection window

  17. Feature selection • A very small number of features can be combined to from an effective classifier! • Example: The 1st and 2nd features selected by AdaBoost

  18. Feature selection • A week classifier h f1 f2 f1 < θ (a threshold) => Face! f2 > θ (a threshold) => Not a Face! 1 if fi < θ h = 0 otherwise

  19. Feature selection • Idea: Combining several weak classifiers to generate a strong classifier …… w1 w3 w2 wn w1h1+w2h2+w3h3+…+wnhn T >< ~performance of the weak classifier on the training set a week classifier h1 = 1 or 0

  20. Feature selection • Training Dataset • 4916 face images • non-face images cropped from 9500 images non-face images positive samples negative samples

  21. AdaBoost • Each training sample may have different importance! • Focuses more on previously misclassified samples • Initially, all samples are assigned equal weights • Weights may change at each boosting round • misclassified samples => increase their weights • correctly classified samples => decrease their weights

  22. Initial weights for each data point AdaBoost -∞ ∞ decreased decreased increased fi misclassified

  23. AdaBoost ……

  24. Learning the classifier • Initialize equal weights to training samples • For T rounds • normalize the weights • select the best weak classifier in terms of the weighted error • update the weights(set increased weights to misclassified samples) • Linearly combine these T week classifiers to form a strong classifier

  25. Detection procedure • Scans the detector at multiple locations and scales the detection window Sub-window n m n m n m n Image m

  26. 1 2 3 Cascade method • Most are non-face images! • Rejects negative sub-windows in an early stage Strong Classifier = (W1xL1+ W2xL2) + (…)+ (…+ WnxLn) T ><

  27. Feature Extraction Cascade Detection Summary Face Detection

  28. Resources • OpenCV Library • C codes • apps/haartraining • samples/c • Detectors • data/haarcascades

  29. Assignment #3 • Due 04/20 11:59pm • Build a face detector using the OpenCV resources • Send to TA • A picture of yours with detected faces • Subject: Multimedia System Design-Assignment #3-your student id-your name • File name: Assignment #3-your student id-your name For Windows users, you might want to try an older version of OpenCV

  30. Reminder • Brainstorm report (a 2-page formal paper) is due on 4/20.

More Related