Face Detection - Week 10 Flashcards

1
Q

What is the name of the face detection method mentioned in the notes? What classifier does it use?

A

Viola Jones detection algorithm

AdaBoost classifier

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is an AdaBoost stump?

A

A tree containing only a single node and two leaves

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the gini impurity

A

1 - P(y)^2 - P(n)^2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How are Adaboost trees constructed from training data?

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How do AdaBoost trees handle numerical data?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the problem with AdaBoost trees?

A

Decision trees do not perfectly classify the training data

So it is not likely to be perfect when classifying new samples

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a boostrapped dataset?

A

Create a new dataset from an original, copying random values into it, duplicates are allowed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is difference from an AdaBoost tree and a random forest?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What types of trees does AdaBoost use?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the total error for a stump in an AdaBoost setup?

A

The sum of the weights for all the samples it got wrong

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Does Viola Jones use neural networks?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are some applications of face detection?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Can the method described always find faces at an angle?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Fast Face Detection choices

A

Limit to frontal upright faces
Efficient-to-compute features
Efficient image representation
AdaBoost for efficient choice of features
Cascade of classifiers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How is the integral image defined?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How many array references at most are required to sum the intensities in an arbitrary rectangle given the integral image?

A

4 array accesses

17
Q

How many array accesses for two-rectangle, three-rectangle and four rectangle?

A

6, 8 and 9 respectively

18
Q

What is the formula for normalising intensities in a window?

A

x’ = (x - x_bar)/sigma

Where x_bar is the mean intensity in the window and sigma is the standard deviation

19
Q

How are the mean and variance calculated from the integral image?

A

Mean: Sum all the values in the image

Variance: Mean^2 - 1/N * sum(I(r)^2)

So, normalisation can be performed efficiently using two integral images.

20
Q

How many possible rectangular features in a 24z24 face window?

A

180,000

21
Q

What is a cascade classifier?

A

Perform lots of stages, e.g. stage 1 remove ~70% non-faces and don’t process them any further

Stages have increasingly more features, because many patches are rejected early on, detection speed increases

22
Q

What is the format of the full Viola Jones Cascade Classifier?

A
  • 38 stages of varying complexity, 6060 features in all
  • Trained in a day using parallel processing
  • Searches 384x288 pixel image in 0.067 seconds
  • Applies features at multiple scale and locations
  • Fifteen times faster than previous approaches
  • Can be generalised to other objects (people/cars/cats/dogs)

Detects multiple faces in an image

23
Q

Can cascade classifiers be used for detecting other things?

A

Yes, Smile detection or russian number plates based on other people’s / your own trained classifiers