Face Detection Viola-Jones Part 2

Slides:



Advertisements
Similar presentations
Face Detection & Synthesis using 3D Models & OpenCV Learning Bit by Bit Don Miller ITP, Spring 2010.
Advertisements

AdaBoost & Its Applications
Face detection Many slides adapted from P. Viola.
An introduction to: Deep Learning aka or related to Deep Neural Networks Deep Structural Learning Deep Belief Networks etc,
HCI Final Project Robust Real Time Face Detection Paul Viola, Michael Jones, Robust Real-Time Face Detetion, International Journal of Computer Vision,
CS514: Intermediate Course in Operating Systems Professor Ken Birman Vivek Vishnumurthy: TA.
An Inference Procedure
AWESOME: A General Multiagent Learning Algorithm that Converges in Self- Play and Learns a Best Response Against Stationary Opponents Vincent Conitzer.
Robust Real-Time Object Detection Paul Viola & Michael Jones.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 21 More About Tests.
Face Detection using the Viola-Jones Method
Intermediate Statistical Analysis Professor K. Leppel.
Chapter 18: Sampling Distribution Models
Sign Classification Boosted Cascade of Classifiers using University of Southern California Thang Dinh Eunyoung Kim
Type I and Type II Errors. An analogy may help us to understand two types of errors we can make with inference. Consider the judicial system in the US.
Robust Real Time Face Detection
Lecture 09 03/01/2012 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
Learning to Detect Faces A Large-Scale Application of Machine Learning (This material is not in the text: for further information see the paper by P.
CS-498 Computer Vision Week 9, Class 2 and Week 10, Class 1
“Joint Optimization of Cascaded Classifiers for Computer Aided Detection” by M.Dundar and J.Bi Andrey Kolobov Brandon Lucia.
+ Homework 9.1:1-8, 21 & 22 Reading Guide 9.2 Section 9.1 Significance Tests: The Basics.
New System Proposal Automatic truck to inventory database (Hardware & Software)
ADA Boost Face Detection. Find Faces Imagine a Stock Market Application In the investment field, many experts get paid for their stock market forecasts.
Do Now September 20th What did the Treaty of Paris 1763 and Treaty of Paris 1783 do? What was the results of each treaty?
Macroeconomic Equilibrium
Stock Market Application: Review
Eigenfaces (for Face Recognition)
Graphing Techniques Transformations
Sobel edge detector: Review
2. Skin - color filtering.
MSA / Gage Capability (GR&R)
User-centred system design process
an introduction to: Deep Learning
Thinking like a Scientist
Chapter 21 More About Tests.
Session 7: Face Detection (cont.)
Redundant Equations for Matrices
Making a great Presentation
Hypothesis Testing and Confidence Intervals (Part 1): Using the Standard Normal Lecture 8 Justin Kern October 10 and 12, 2017.
Sobel edge detector: Review
Rules for the game! No computers on
Equality Project Part A Observations
Check Your Assumptions
Presented by Minh Hoai Nguyen Date: 28 March 2007
Child Outcomes Summary (COS) Process Module
High-Level Vision Face Detection.
X in [Integration, Delivery, Deployment]
More about Tests and Intervals
Office of Education Improvement and Innovation
Software life cycle models
Integrating Outcomes Learning Community Call February 8, 2012
Using Inference to Make Decisions
Internal Audit Training
Child Outcomes Summary (COS) Process Module
Pair Programming.
Child Outcomes Summary (COS) Process Module
Section 10.3 Making Sense of Statistical Significance
Data Quality: Why it Matters
Replica Placement Model: We consider objects (and don’t worry whether they contain just data or code, or both) Distinguish different processes: A process.
Applying Use Cases (Chapters 25,26)
Graphing Techniques Transformations
Child Outcomes Summary (COS) Process Module
Lecture 29: Face Detection Revisited
Mistakes, Errors and Defects
CS 188: Artificial Intelligence Spring 2006
AP STATISTICS LESSON 10 – 4 (DAY 2)
An introduction to: Deep Learning aka or related to Deep Neural Networks Deep Structural Learning Deep Belief Networks etc,
MY STRENGTHS & AREAS FOR DEVELOPMENT
Presentation transcript:

Face Detection Viola-Jones Part 2

Lets see how AdaBoost gets employed

Lets see how AdaBoost gets employed So , This code receives the training databases, and receives a Capital T number, often 300-ish Then, for a Test box (often 50x50) does 300 experts

Practical AdaBoost Consider a Test scene like this one

Practical AdaBoost Consider a Test scene like this one

Practical AdaBoost Consider a Test scene like this one

Practical AdaBoost Consider a Test scene like this one

Practical AdaBoost Consider a Test scene like this one

Practical AdaBoost Consider a Test scene like this one

Lets see how AdaBoost gets employed So, employing the AdaBoost approach we know now, would employ about 300 experts at each placement of the 50x50 window. Our image (in this case) is roughly 250x600, allowing for roughly 550 placements (at centers) horizontally, and about 200 placements vertically. (Totally, about 200x550 placements, i.e., about 100,000 placements.)

Lets see how AdaBoost gets employed Out of these 100, 000 placements, the final algorithm will be saying Yes around the areas of the two faces, each face may have about 100 placements near it that might trigger a Yes; so, perhaps, system says Yes about 200 times. … out of 100,000!! Less than 1 % of the times. i.e., the majority of the times the system will be saying No. So, do all of these “No” boxes really need all the work of 300 experts to say “No”?

Lets see how AdaBoost gets employed This leads to a new approach, one that uses the fact that in Face Detection, one is saying “No” most of the time. So, They design a cascade, a series of stages (each with a small team of experts), like a series of Political Primaries, to eliminate obvious “losers” early, at much less expense than having everyone (all citizens) vote on each contender (which would be expensive).

So, Exploit the fact that faces are rare After making it thru’ all, a window is named “face” Rejections here are Permanent The idea here is that with a lower cost at each stage, the system can eliminate (from further consideration) easy rejects. (“T” here means Pass, “F” means False or Fail). Thus, many of the 1000’s of windows should be rejected with far less expert-time than 300. This is a system made up of a series of teams. A pic is termed “face” if it passes all. At each “stage” of the cascade, a team (of about 15 to 25 experts) does the following: ensure that the team passes around 99.9 percent of faces entering the test, and failing only around 70.0 percent of non-faces (remember its job would have been to fail 99 percent of non’s). This reduced ability for correctness is due to the reduced team-size.

Team error rate drops as team enlarges On the previous slide, we observed that the reduced ability for correctness is due to the reduced team-size. We need to understand that a team of size 1, it will have an error that is the same as the error of its lonely member, i.e., about 35 percent . As the team grows, the team’s error is pushed lower, until finally, with, say, 300 members, its error is about 0.01 (i.e., 1 percent). The error decreases monotonically (not “strictly monotonically”) with the addition of a new member.

So, Exploit the fact that faces are rare Thus, due to the reduced team-size, the team’s error will be higher, say, 20 percent. This error will be distributed almost evenly, i.e. there will be about 20 percent False Positive rate, and about 20 percent Missed Detection rate. But, for a team to have 20 percent Missed Detections will be unacceptable to this new design; so there has to be a way to shift the error in favor of fewer Missed Detections, while simultaneously raising False Positives to around 40 percent. .

So, Exploit the fact that faces are rare Thankfully, this shift can be achieved by making ‘Yes’s be more easy. Just lower the value ½ that is in the final step of the AdaBoost algorithm. This lowering will cause more windows to go through as accepted faces, even if they are not faces. One can lower it in a loop until all (minus a few) of the faces actually go through successfully. This lowering might be quite significant (i.e., quite a lot lower than ½ ), and because it is substantial, it will drastically increase the False Positive group. In order to maintain a tight (very small) Missed Detection rate, the False Positive rate must go up; to keep it in check (not to let it exceed, for example, 30 percent), needs the team to grow, so the team DOES grow, but only until those two restrictions are met.

So, Exploit the fact that faces are rare So, we understand how to make the team grow till 1) a Missed Detection rate of some tight amount is achieved, AND 2) the False Positive rate is brought down below, say, 30. Next, we need to understand that the 30 percent of non-faces who get out (mistakenly) as faces, will be apprehended (and failed) by a later team.

So, Exploit the fact that faces are rare So, let us understand how the 30 percent of non-faces who get out (mistakenly) as faces, will be apprehended (and failed) by a later team. Suppose 1000 faces and 1000 non-faces constitute the databases that are sent into Team 1. After Team 1 is trained, it will pass 99.9 percent of faces (so, 999 faces), and 30 percent of non-faces (300 non-faces), while 700 non-faces along with 1 face will have failed. When Team 2 has finished training, it will also have had a 99.9 percent Detection and 30 percent False Positive rate requirement; thus, now, 998 faces and 90 non-faces will pass as faces. (The 90 non-face number is obtained as 30 percent of 300). That is, 210 non-faces and 1 face will fail at Team 2.

So, Exploit the fact that faces are rare The 90 non-faces who pass Team 2, will proceed to Team 3, who will fail 70 percent of them (63 will fail), and 27 (30 percent) of them will pass Team 3, to go on to Team 4. In the meantime, 1 face will fail at Team 3 and 997 will pass on to go to Team 4. Eventually, (after several Teams), only 9 or less non-faces will be passed (these will be the final False Positives, which is a 10 out of thousand rate, i.e. 1 percent). Also, you should have observed that if each team has between 15 to 30 experts, then by the end of Team 2, 910 out of 1000 non-faces have failed. So, 91 percent of “failure” cases are booted out with under 50 experts, instead of 300 (the single AdaBoost box).

So, Exploit the fact that faces are rare We have presented how the system of teams will work when the teams are built and are “in place”. Hence, the training task is to get the teams assembled. We have been loose in talking about windows being sent in to the teams. The input will be a window when the system is in the real world mode (sometimes called the Testing mode, to distinguish it from the Training mode); it will be one window at a time, by a scanning procedure, that will cut a window (from the large picture) and send it in to the system. Immediately after the Training is complete, one can ask how the system performs on the training databases. In this case, the input to the system of teams is the collection of database pictures (each is the same size as a window), and that is the process that we have been talking about in the last few slides.

So, Exploit the fact that faces are rare Let us make one observation about the nature of the mix of pictures (or windows) that show up at the doorstep of a team. At Team 1, the complete database (or in Test mode, the complete world) shows up. In Test mode, at Team 2, only those windows that passed Team 1 will show up. Thus, the training should reflect this constraint: the constraint that the mix of who shows up at the doorstep for Team 2 is different. Thus, for Team 2, the training examples will be only those who pass Team 1, after Team 1 is fully trained up.

The Cascade Algorithm Here is the Complete Cascade Algorithm; In next two slides, we will explain in detail.

The Cascade Algorithm: Initializations

The Cascade Algorithm: the loops

Summary Thoughts on Cascades Note that this cascade works to speed things up only because the observation is true that positive tests are rare. The cascade is not about getting more correct results than the Single Team approach. Correctness is tied to the team size. Hence, a single team can achieve any needed correctness target, given enough members. The Cascade gets the same correctness as the Single Team, but gets the results much faster.

Examples of Faces Found