Face Detection techniques


Published on

Published in: Technology, News & Politics
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Face Detection techniques

  1. 1. Object Detection Using the Documented Viola-Jones Technique. Student: Nathan Faggian, Supervisors: Dr. Andrew Paplinski, Prof. Bala Srinivasan. Version 1.1
  2. 2. What is Object Detection? <ul><li>Detecting a specified object class within a image. </li></ul><ul><li>Object detection has many applications in computer based vision. </li></ul><ul><ul><li>Object tracking, object recognition, scene surveillance. </li></ul></ul><ul><li>The focus of this project was to implement object detection, and to detect objects of the class face. </li></ul>
  3. 3. How Is It Done? <ul><li>A standard pattern recognition problem. </li></ul><ul><ul><li>Feature extraction. </li></ul></ul><ul><ul><ul><li>Something that can be representative of a face. </li></ul></ul></ul><ul><ul><li>Feature evaluation. </li></ul></ul><ul><ul><ul><li>Does this “something” really represent a face. </li></ul></ul></ul><ul><ul><ul><ul><li>A bit of a black art… </li></ul></ul></ul></ul><ul><ul><li>Classification. </li></ul></ul><ul><ul><ul><li>Given a sample and its features, what is it? </li></ul></ul></ul>
  4. 4. Common Techniques <ul><li>Strong focuses on statistics. </li></ul><ul><ul><li>Statistical models of images. </li></ul></ul><ul><ul><ul><li>Schneiderman-Kanade </li></ul></ul></ul><ul><li>A lot of work with Neural networks. </li></ul><ul><ul><li>Generally slow systems. </li></ul></ul><ul><ul><ul><li>Rowley-Balauja </li></ul></ul></ul><ul><li>Feature and Template methods seem to be the most common. </li></ul>
  5. 5. Features of Good Techniques <ul><li>Quick to compute. </li></ul><ul><ul><li>Classification of a face does not require a lot of offline processing. </li></ul></ul><ul><li>Accurate. </li></ul><ul><ul><li>Most good implementations can provide accuracy above the 90 percentile. </li></ul></ul><ul><li>Capitalization on invariance. </li></ul><ul><ul><li>Features are invariant. </li></ul></ul><ul><ul><ul><li>Scale, luminance, rotation. </li></ul></ul></ul>
  6. 6. Paul Viola and Michael Jones <ul><li>Devised a technique that was both robust and very quick. </li></ul><ul><ul><li>15 times quicker than any technique at the time of release. </li></ul></ul><ul><li>A detection algorithm that could be operated in real-time. </li></ul><ul><ul><li>95% accuracy at around 17fps. </li></ul></ul><ul><li>Understanding is the primary goal. </li></ul><ul><li>It is a good technique ! </li></ul>
  7. 7. The Viola-Jones Technique <ul><li>Feature extraction and feature evaluation. </li></ul><ul><ul><li>Rectangular features are used, with a new image representation their calculation is very fast. </li></ul></ul><ul><li>Classifier training and feature selection using a method called AdaBoost. </li></ul><ul><ul><li>A long and exhaustive training process. </li></ul></ul><ul><li>A degenerate decision tree of classifiers is formed. </li></ul><ul><ul><li>The key to the techniques speed. </li></ul></ul>
  8. 8. Features <ul><li>Four basic types. </li></ul><ul><ul><li>They are easy to calculate. </li></ul></ul><ul><ul><li>The white areas are subtracted from the black ones. </li></ul></ul><ul><ul><li>A special representation of the sample called the integral image makes feature extraction faster. </li></ul></ul>
  9. 9. Integral images <ul><li>Summed area tables </li></ul><ul><li>A representation that means any rectangle’s area can be calculated in four indexes to the integral image. </li></ul>
  10. 10. Feature Extraction <ul><li>Features are extracted from sub windows of an sample image. </li></ul><ul><ul><li>The base size for a sub window is 24 by 24 pixels. </li></ul></ul><ul><ul><ul><li>In a 24 pixel by 24 pixel sub window there are 180,000 possible features to be calculated. </li></ul></ul></ul><ul><li>What is the end result of feature extraction? </li></ul><ul><ul><li>A lot of data! </li></ul></ul><ul><ul><ul><li>This is called over fitting and the amount of data must be reduced. </li></ul></ul></ul><ul><ul><ul><li>Overfitting can be compensated to an extent by logical elimination. </li></ul></ul></ul>
  11. 11. Weak Classifiers <ul><li>A feature, a threshold and a parity. </li></ul><ul><li>Thresholds are obtained by obtaining the mean value for the feature on both class sets and then averaging the two values. </li></ul><ul><li>Parity defines the direction of the equality. </li></ul>
  12. 12. Feature/Classifier Evaluation <ul><li>Using AdaBoost the number of features is dramatically reduced. </li></ul><ul><ul><li>A simple algorithm that selects one feature at a time and assigns weights to the feature. Producing a strong classifier. </li></ul></ul><ul><li>It is a method of selecting features but also able to train classifiers in a tree as well. </li></ul><ul><ul><li>Features are clustered together to form nodes in a degenerate decision tree. </li></ul></ul>
  13. 13. AdaBoost <ul><li>Given a sample set of images. </li></ul><ul><ul><li>For t = 1…T (rounds of boosting) </li></ul></ul><ul><ul><ul><li>A weak classifier is trained using a single feature. </li></ul></ul></ul><ul><ul><ul><li>The error of the classifier is calculated. </li></ul></ul></ul><ul><ul><li>The classifier (or single feature) with the lowest error is selected, and combined with the priors to make a strong classifier. </li></ul></ul><ul><li>After a T rounds a T strong classifier is created. </li></ul><ul><ul><li>It is the weighted linear combination of the weak classifiers selected. </li></ul></ul>
  14. 14. Hard examples are isolated…
  15. 15. Classifier error is driven down.
  16. 16. The Attentional Cascade <ul><li>Referred here as a degenerate decision tree. </li></ul><ul><ul><li>The reason the technique is fast. </li></ul></ul><ul><ul><li>Quick rejection of sub windows. </li></ul></ul>
  17. 17. Motivation for a cascade <ul><li>Speed. </li></ul><ul><li>Reduction of false positives. </li></ul><ul><ul><li>Each node is trained with the false positives of the prior. </li></ul></ul><ul><li>AdaBoost can be used in conjunction with a simple bootstrapping process to drive detection error down. </li></ul><ul><ul><li>Viola and Jones presented a method to do this, that iteratively builds boosted nodes, to a desired false positive rate. </li></ul></ul>
  18. 18. Implementations <ul><li>Two implementations were realized. </li></ul><ul><ul><li>Matlab based. </li></ul></ul><ul><ul><ul><li>Improved flexibility, able to produce quicker results. </li></ul></ul></ul><ul><ul><li>C++ system, more of a framework. (much faster) </li></ul></ul><ul><ul><ul><li>Far faster than the interpreted Matlab scripts yet less flexibility. </li></ul></ul></ul>
  19. 19. Current Progress <ul><li>Attentional cascade training code is complete. </li></ul><ul><li>Matlab/C++ framework for future work. </li></ul><ul><li>Numerous monolithic detectors have been trained. </li></ul>
  20. 20. An existing system <ul><li>OpenCV (intel) </li></ul><ul><ul><ul><ul><ul><li>There is still much work to do! </li></ul></ul></ul></ul></ul>
  21. 21. Questions? <ul><li>How was my talk? </li></ul><ul><li>Can anything be explained better? </li></ul><ul><li>Email: nathan.faggian@mail.csse.monash.edu.au </li></ul>