Face Detection - Week 10 Flashcards
What is the name of the face detection method mentioned in the notes? What classifier does it use?
Viola Jones detection algorithm
AdaBoost classifier
What is an AdaBoost stump?
A tree containing only a single node and two leaves
What is the gini impurity
1 - P(y)^2 - P(n)^2
How are Adaboost trees constructed from training data?
Calculate the Gini impurity for each option, place the one with the lowest value as the root node.
Calculate the gini impurity for the other values based on the data that would have reached that point in the tree
How do AdaBoost trees handle numerical data?
Order the data numerically, find the average between each data point in order (average of point 1 and point 2, then average of point 3 and 4) calculate the gini impurity of data < average for each average, and select the mean at the lowest impurity to go into the tree
What is the problem with AdaBoost trees?
Decision trees do not perfectly classify the training data
So it is not likely to be perfect when classifying new samples
What is a boostrapped dataset?
Create a new dataset from an original, copying random values into it, duplicates are allowed
What is difference from an AdaBoost tree and a random forest?
Instead of choosing variables based on the gini impurity, the variable for the node is chosen randomly from the remaining values
This process is repeated many times and any new data is processed by all the trees, a tally is kept and whichever decision gets the most votes is used
What types of trees does AdaBoost use?
A forest of decision stumps, each stump has different say on the final decision.
First stump is generated like normal, with the gini impurity
Each sample is given a weight saying how important it is
The weights must add to 1
The amount of say a stump has in the final calculation is given based on the total error of the stump.
Amount of say = 1/2 * ln((1 - total error)/total error)
Before the next stump is classified, the values that were incorrectly calculated previously have their weights increased
For incorrectly classified
new weight = weight * e^amount of say
For correctly classified
new weight = weight * e^-amount of say
The weights are then normalised
To create the next stump, weighted gini impurities are calculated
To classify new data the stump decisions with the most combined say
What is the total error for a stump in an AdaBoost setup?
The sum of the weights for all the samples it got wrong
Does Viola Jones use neural networks?
No
What are some applications of face detection?
Face detection
Focus, exposure and red-eye removal
Tracking
Adult/Child detection
Face recognition
Tagging of images
Cat and Dog detection
Automatically takes image when face-on
Even pet recognition
Locate a face for fitting
Can the method described always find faces at an angle?
No
Fast Face Detection choices
Limit to frontal upright faces
Efficient-to-compute features
Efficient image representation
AdaBoost for efficient choice of features
Cascade of classifiers
How is the integral image defined?
Each pixel in the image is the sum of all the x and y values less than those coordinates
Can be calculated in one pass