Week 10 - Face detection Flashcards

1
Q

How does GPS work

A

(american system)
Receives signals from a number of satellites
The time is takes from satellite to sensor shows the distance - locate the sensor

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

What is the problem with GPS

A

Poor or non-existent satellite visibility
- eg in valley

Multipath reflections
-signals bounce off buildings causing miscalculations

GPS spoofing
-signals are received and re-transmitted after a delay

GPS blocking
transmitted at a higher power than received to prevent them from being received

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

What are GPS blockers

A

can be bought for cars
used by delivery drivers so that their office doesn’t know they are asleep somewhere
By drivers who have trackers installed as a condition of their insurance

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

What is the military problems

A

Spoofing and Blocking are common military antics

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

What is the potential military solution

A

Visual localisation
If the drone is level and the camera is pointed directly downwards, the centre of its image shows the location of the drone

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

How can ORB feature detector be used for visual localisation

A

Used to match the drone image with the Google image (finds key points)
Produces a homography (transformation matrix), H, that maps pixels from the drone image to the Google image
maps outline and centre point

Maps centre point quite accurately

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

How does ORB match to google images

A

google ariel images are geo-referenced, so we know latitude and longitude bounds of the image

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

What is the common GPS error

A

1-2m

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

So do we still need GPS

A

Yes
Method still has problems:
- Feature detector parameters need to be tuned for different images
- Images can not always be matched
- If the aerial image covers a larger area, there are
more opportunities to find drone image features in the wrong place
- Many other difficulties:weather conditions, not being perfectly downward-facing, features changing in images, etc

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

What is a 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
11
Q

What is the Gini impurity

A

Gini = 1 - p(yes)² - p(no)²

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

How do we calculate p(yes)²

A

(total yes / total (yes+no))²

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

How do we calculate full gini impurity

A

Eg chest pain has yes(144) or no(159) children
within the children there is yes or no for heart disease
calculate gini impurity for heart disease individually for yes arm then no arm
then for chest pain you use these calculated values yes = 144/303 x (gini yes) + 159/303 x (gini no)

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

How does gini imply root node

A

The lowest gini impurity is placed at root node (separates patients with and without heart disease the most)

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

How do we then form the remaining nodes

A

we recalculate gini impurities again down each branch

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

How do we handle numerical values

A

sort data into ascending order
calculate the average mass between each sample
eg 1:70kg and 2:82kg -> 76kg
Calculate the gini impurity at each of these avergae weights
Eg node = Mass < 76
Again the lowest gini impurity goes at the root

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

What can we say about the accuracy of decision trees

A

Trees do not perfectly classify training data
(generally not very accurate)
it is not likely perfect in classifying new samples

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

What is a random forest

A

Lots of decision trees

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

How do we use bootstrapping

A

Create a decision tree from bootstrapped data
same as before with gini impurities

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

After choosing root node, what happens if we have more than 2 remaining variables

A

Choose at random the next 2 we want to look at

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

Creating a random forest

A

Repeatedly:
create random bootstrap
build decision tree on bootstrap using random subset of variables at each layer

22
Q

How does a random forest handle a new patient (test data sample)

A

The data is processed by every decision tree in the random forest
a tally is kept of final decision (eg heart disease: yes or no)
The highest vote gives the result for the patient
This increases the accuracy than using a single decision tree

23
Q

What is adaboost

A

A classifier that uses weak learners which are usually STUMPS
some stumps have more of a say than others (non uniform weights)
each stump is created based on mistakes of previous stump

24
Q

How does adaboost handle samples

A

Each sample is given a weight to show how important it is to be correctly classified
these weights must add up to 1
(recursively)

25
Q

How does adaboost work

A

The gini impurity is calculated for each stump
lowest gini becomes the first stump in the forest

Calculate total error for a stump

calculate amount of say based on total error

calculate new weight for sample

normalise new weights and replace old

for next stump, gini impurities recalculated using weights

26
Q

How is total error for stump calculated

A

the sum of weights for all samples it got wrong
Eg got 1 wrong out of 8 samples: 1/8

27
Q

How is amount of say for stump calculated

A

amount of say = 1/2 ln ( 1-total error / total error)

28
Q

new weight calculation (incorrectly classified samples)

A

new weight = weight x e^amount of say
weight increased

29
Q

new weight calculation (correctly classified samples)

A

new weight = weight x e^-(amount of say)
weight decreased

30
Q

Adaboot - classifying an unseen sample

A

add up the amount of say for total stumps that say yes vs total that say no
Whichever group has the largest amount of say -> their vote wins

31
Q

What are applications of face detection

A

focus, exposure, red eye
tracking
adult/child detection
cat and dog
locate a face for shape fitting

32
Q

what are applications of face recognition (not covered)

A

tagging of images

33
Q

What are the clues for detecting human faces - viola jones

A

find patterns in the blurred image
dark and light patches in horizontal and vertical patterns
-> find the basic features and relationship
eg forehead above eye nose eye etc

34
Q

what was the viola jones approach

A

-limit to frontal upright faces
-efficient-to-compute features
-efficient image representation
-adaboost for efficient choice of features
-cascade of classifiers

35
Q

what did viola jones put emphasis on

A

speed and rate (fast face detection)

36
Q

How can dark and light patches be used for detection

A

sum the dark regions and sum the light regions
F = light - dark

37
Q

What is the integral image

A

{(x,y) = Σ(a≤x) Σ(b≤y) I(a,b)
{= curly I
For pixel x,y takes the sum of all intensities a and b within the rectangle region bounded from origin to x and y

It can be calculated in one pass
wont fit into array of ubytes

38
Q

How is a two rectangle intensity sum found

A

6 points = 6 array references

39
Q

How is a three rectangle intensity sum found

A

8 array references

40
Q

How is a four rectangle intensity sum found

A

9 array references

41
Q

What is calculating intensity sums efficiency

A

very efficient

42
Q

what size faces does viola jones prcoess

A

24x24 (small)
2, 3, 4 rectangle feature possibilities
which gives 180,000 possibilities

intensities in faces must be normalise

43
Q

How do we normalise intensities in a window

A

x’ = (x - xbar) / σ
σ = sd

(normalise each value x)

44
Q

What is xbar

A

mean:
xbar = 1/N Σx
-> mean of image pixels:
Ibar = 1/n Σ I(r)

The mean can be calculated from the integral image

45
Q

What is variance

A

σ² = xbar² - 1/N Σ x²
-> σ² = Ibar² - 1/N Σ (I(r))²
The sd can be calculated from the integral image of the image squared

46
Q

So how many integral images does normaisation need

A

two (for mean and sd)

47
Q

How do we reduce how many features we need to process in viola jones

A

using adaboost

48
Q

what needs to be considered in a whole image search

A

consider a range of possible scales of patches
consider all possible patch positions
note: most patches are not faces

49
Q

Cascade classifier

A

all subwindows pass through a 10-stage cascade classifier
at each stage, evaluate and reject non faces

at each stage, add more features to look for (eg eye nose eye)

first stage throws lots away

50
Q

generalising to other objects

A

viola jones can be generalised to more things -> door, car