Face detection ppt by Batyrbek

3,624
-1

Published on

Published in: Education, Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,624
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
311
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Face detection ppt by Batyrbek

  1. 1. Robust Real-time Face Detection by Paul Viola and Michael Jones, 2002 Presentation by Baatarbek Ryskhan IT-SoC Research Lab. School of Engineering, Yonsei University Batyrbek@yonsei.ac.kr October, 2013
  2. 2. Contents :        Overview Goals Methods (Integral Image/AdaBoost/Cascade) Example Result Back-Up Slides Ending & Discussion [2] IT SoC Research Lab.
  3. 3. Overview    Robust – very high Detection Rate (True-Positive Rat e) & very low False-Positive Rate… (always) Real Time – For practical applications at least 2 frames per second must be processed. Face Detection – not recognition. The goal is to nguish faces from non-faces (face detection is the first step in the identification process) [3] disti IT SoC Research Lab.
  4. 4. Three goals & a conclusion 1. 2. 3. 4. Feature Computation : what features? And how can they be computed as quickly as possible Feature Selection : select the most discriminatin g features Real-timeliness : must focus on potentially positi ve areas (that contain faces) Conclusion : presentation of results and discussi on of detection issues. How did Viola & Jones deal with these challenges? [4] IT SoC Research Lab.
  5. 5. Three solutions  Feature Computation ~The “Integral” image representation  Feature Selection ~The AdaBoost training algorithm  Real-timeliness A cascade of classifiers ~ IT SoC Research Lab.
  6. 6. Overview | Integral Image | AdaBoost | Cascade Features    Can a simple feature (i.e. a value) indica te the existence of a face? All faces share some similar properties The eyes region is darker than the upper-cheeks. The nose bridge region is brighter than the eyes. That is useful domain knowledge Need for encoding of Domain Knowledg e: Location - Size: eyes & nose bridge reg ion Value: darker / brighter [6] IT SoC Research Lab.
  7. 7. Overview | Integral Image | AdaBoost | Cascade  Rectangle features: Value = ∑ (pixels in black area) - ∑ (pix els in white area) Three types: two-, three-, four-rectangle s, Viola&Jones used two-rectangle featu res For example: the difference in brightnes s between the white &black rectangles o ver a specific area    Each feature is related to a special locat ion in the sub-window Each feature may have any size Why not pixels instead of features? Features encode domain knowledge Feature based systems operate faster [7] IT SoC Research Lab.
  8. 8. Overview | Integral Image | AdaBoost | Cascade back-up slide #1 IMAGE INTEGRAL IMAGE 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 [9] IT SoC Research Lab.
  9. 9. Overview | Integral Image | AdaBoost | Cascade Rapid computation of rectangular features  Using the integral image representati on we can compute the value of any rectangular sum (part of features) in constant time For example the integral sum inside r ectangle D can be computed as: ii(d) + ii(a) – ii(b) – ii(c)   two-, three-, and four-rectangular feat ures can be computed with 6, 8 and 9 array references respectively. As a result: feature computation takes less time [10] ii(a) = A ii(b) = A+B ii(c) = A+C ii(d) = A+B+C+ D D = ii(d)+ii(a)-ii( b)-ii(c) IT SoC Research Lab.
  10. 10. Overview | Integral Image | AdaBoost | Cascade Three goals 1. Feature Computation : features must be computed as quic 2. Feature Selection : select the most discriminating features Real-timeliness : must focus on potentially positive 3. kly as possible image areas (that contain faces) How did Viola & Jones deal with these challenges? [11] IT SoC Research Lab.
  11. 11. Overview | Integral Image | AdaBoost | Cascade Feature selection  Problem: Too many features In a sub-window (24x24) there are ~1 60,000 features (all possible combinat ions of orientation, location and scale of these feature types) impractical to compute all of them (co mputationally expensive)  We have to select a subset of relevan t features – which are informative - to model a face Hypothesis: “A very small subset of fe atures can be combined to form an ef fective classifier” How? SOLUTION: AdaBoost algorithm Relevant feature Irrelevant feature [12] IT SoC Research Lab.
  12. 12. Overview | Integral Image | AdaBoost | Cascade AdaBoost   Stands for “Adaptive” boost Constructs a “strong” classifier as a linear combi nation of weighted simple “weak” classifiers Weak classifier Strong Image classifier Weight [13] IT SoC Research Lab.
  13. 13. Overview | Integral Image | AdaBoost | Cascade AdaBoost - Characteristics  Features as weak classifiers Each single rectangle feature may be regarded as a simple weak classifier  An iterative algorithm AdaBoost performs a series of trials, each time selecting a new weak classifier  Weights are being applied over the set of the example im ages During each iteration, each example/image receives a weight det ermining its importance [14] IT SoC Research Lab.
  14. 14. Overview | Integral Image | AdaBoost | Cascade AdaBoost - Getting the idea…    Given: example images labeled +/Initially, all weights set equally Repeat T times Step 1: choose the most efficient weak classifier that will be a compone nt of the final strong classifier (Problem! Remember the huge number of features…) Step 2: Update the weights to emphasize the examples which were inco rrectly classified This makes the next weak classifier to focus on “harder” examples Final (strong) classifier is a weighted combination of the T “weak” classifiers Weighted according to their accuracy h( x ) 1 0 T t 1 1 2 otherwise ( x) t ht [15] T t 1 t IT SoC Research Lab.
  15. 15. Overview | Integral Image | AdaBoost | Cascade AdaBoost – Feature Selection Problem   On each round, large set of possible weak classifiers ( each simple cla ssifier consists of a single feature) – Which one to choose? choose the most efficient (the one that best separates the examp les – the lowest error) choice of a classifier corresponds to choice of a feature At the end, the ‘strong’ classifier consists of T features Conclusion    AdaBoost searches for a small number of good classifiers – features (feature selection) adaptively constructs a final strong classifier taking into account the f ailures of each one of the chosen weak classifiers (weight appliance) AdaBoost is used to both select a small set of features and train a st rong classifier [16] IT SoC Research Lab.
  16. 16. AdaBoost EXAMPLE adopted (from University of Edinburg/2009) Note: Prepared with figures adopted from “Robust real-time object detection” CRL 2001/01 and Edinburg 2009) [17] IT SoC Research Lab.
  17. 17. Overview | Integral Image | AdaBoost | Cascade AdaBoost example:  AdaBoost starts with a uniform distribution of “weights” over training exam ples.  Select the classifier with the lowest weighted error (i.e. a “weak” classifier)  Increase the weights on the training exam ples that were misclassified.  (Repeat)  At the end, carefully make a linear combi nation of the weak classifiers obtained at all iterations. hstrong (x) 1 1h ( x)  1 0 1 2 otherwise n hn ( x) 1  n Slide taken from a presentation by Qing Chen, Discover Lab, University of Ottawa [18] IT SoC Research Lab.
  18. 18. Overview | Integral Image | AdaBoost | Cascade Now we have a good face detector   Thus, We can build a 200-featpic ture classifier. Experiments showed that a 200-feature classifier achieves: 95% detection rate 0.14x10-3 FP rate (1 in 14084) Scans all sub-windows of a 384x 288 pixel image in 0.7 seconds ( on Intel PIII 700MHz)  The more the better (?)  Verdict: good & fast, but not enou gh Gain in classifier performance Lose in CPU time Competitors achieve close to 1 i n a 1.000.000 FP rate! 0.7 sec / frame IS NOT real-time . [19] IT SoC Research Lab.
  19. 19. Overview | Integral Image | AdaBoost | Cascade Three goals 1. Feature Computation : features must be computed as quic 2. Feature Selection : select the most discriminating features Real-timeliness : must focus on potentially positive image 3. kly as possible areas (that contain faces) How did Viola & Jones deal with these challenges? [20] IT SoC Research Lab.
  20. 20. Overview | Integral Image | AdaBoost | Cascade The attentional cascade        On average only 0.01% of all sub-win dows are positive (are faces) Status Quo: equal computation time is spent on all sub-windows Must spend most time only on potenti ally positive sub-windows. A simple 2-feature classifier can achie ve almost 100% detection rate with 50 % FP rate. That classifier can act as a 1st layer of a series to filter out most negative win dows 2nd layer with 10 features can tackle “ harder” negative-windows which survi ved the 1st layer, and so on… A cascade of gradually more complex classifiers achieves even better detect ion rates. [21] On average, much fewer featur es are computed per sub-wind ow (i.e. speed x 10) IT SoC Research Lab.
  21. 21. Overview | Integral Image | AdaBoost | Cascade Training a cascade of classifiers  Keep in mind: Competitors achieved 95% TP rate,10-6 FP rate  These are the goals. Final cascade must do better!   Given the goals, to design a cascade we must choose:   Number of features of each strong classifier (the „T‟ in definition)   Number of layers in cascade (strong classifiers) Threshold of each strong classifier (the T t t 1 in definition) Strong classifier definition: Optimization problem:  1 2 Can we find optimum combination? T h( x ) 1 t 1 0 where t 1 2 otherwise ( x) t ht log( 1 ), t [22] T t t 1 , t t 1 t IT SoC Research Lab.
  22. 22. Overview | Integral Image | AdaBoost | Cascade A simple framework for cascade training  Viola & Jones suggested a heuristic algorithm for the cascade trai ning: (pseudo-code at backup slide # 3)    does not guarantee optimality but produces a “effective” cascade that meets previous goals Manual Tweaking: overall training outcome is highly depended on user‟s choices select fi (Maximum Acceptable False Positive rate / layer)  select di (Minimum Acceptable True Positive rate / layer)  select Ftarget (Target Overall FP rate)  possible repeat trial & error process for a given training set    Until Ftarget is met:  Add new layer:  Until fi , di rates are met for this layer   Increase feature number & train new strong classifier with AdaBoost Determine rates of layer on validation set [23] IT SoC Research Lab.
  23. 23. Overview | Integral Image | AdaBoost | Cascade backup slide #3 User selects values for f, the maximum acceptable false positive rate per layer and d, the minimum acceptable detection rate per layer. User selects target overall false positive rate Ftarget. P = set of positive examples N = set of negative examples F0 = 1.0; D0 = 1.0; i = 0 While Fi > Ftarget i++ ni = 0; Fi = Fi-1 while Fi > f x Fi-1 o ni ++ o Use P and N to train a classifier with ni features using AdaBoost o Evaluate current cascaded classifier on validation set to determine Fi and Di o Decrease threshold for the ith classifier until the current cascaded classifier has a detection rate of at least d x Di-1 (this also affects Fi) N= If Fi > Ftarget then evaluate the current cascaded detector on the set of non-face images and put any false detections into the set N. [24] IT SoC Research Lab.
  24. 24. Overview | Integral Image | AdaBoost | Cascade Three goals 1. Feature Computation : features must be computed as quic 2. Feature Selection : select the most discriminating features 3. Real-timeliness : must focus on potentially positive imag kly as possible e areas (that contain faces) How did Viola & Jones deal with these challenges? [25] IT SoC Research Lab.
  25. 25. Overview | Integral Image | AdaBoost | Cascade Training phase Testing phase Cascade trainer Training Set Integral Representation (sub-wind ows) Classifier cascade fr amework Strong Classifier 1 (cascade stage 1) Feature computation AdaBoost Feature Selection Strong Classifier 2 (cascade stage 2) Strong Classifier N FACE IDENTIFIED stage N) (cascade IT SoC Research Lab.
  26. 26. Therefore:    Extremely fast feature computation Efficient feature selection Scale and location invariant detector    Such a generic detection scheme can be trained for detection of ot her types of objects (e.g. cars, hands) Detector is most effective only on frontal images of faces    Instead of scaling the image itself (e.g. pyramid-filters), we scale the f eatures. can hardly cope with 45o face rotation Sensitive to lighting conditions We might get multiple detections of the same face, due to overlap ping sub-windows. [27] IT SoC Research Lab.
  27. 27. Results (detailed results at back-up slide #4) [28] IT SoC Research Lab.
  28. 28. Results (Cont.) [29] IT SoC Research Lab.
  29. 29. backup slide #4  Viola & Jones prepared their final Detector cascade:   38 layers, 6060 total features included 1st classifier- layer, 2-features   50% FP rate, 99.9% TP rate 2nd classifier- layer, 10-features  20% FP rate, 99.9% TP rate  next 2 layers 25-features each, next 3 layers 50-features each  and so on…   Tested on the MIT+MCU test set a 384x288 pixel image on an PC (dated 2001) took about 0.067 s econds Detector Viola-Jones Rowley-Baluja-Kanade Schneiderman-Kanade Roth-Yang-Ajuha 10 76.1% 83.2% - 31 88.4% 86.0% - False detections 50 65 78 95 91.4% 92.0% 92.1% 92.9% 89.2% 89.2% 94.4% - 167 93.9% 90.1% - 422 94.1% 89.9% - Detection rates for various numbers of false positives on the MIT+MCU test set containing 130 images a nd 507 faces (Viola & Jones 2002) [30] IT SoC Research Lab.
  30. 30. Thanks for your Attention! Q & A? [31] IT SoC Research Lab.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×