Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranรฎ)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
1
Hello and welcome back to the course on computer vision and today we're talking about training classifiers.
2
So previously we discussed that Develin Jones algorithm has two stages training and detection.
3
We've already spoken about detection and today's going to be a quick tutorial to get us started into
4
the world of training.
5
So what exactly do we mean when we say training.
6
Well we're training these features as you remember.
7
We've got five basic features but the trick is that they're scalable they can be shorter or longer wider
8
or narrower.
9
And we need to identify which ones of them are actually descriptive or a face or something are common
10
features of a face.
11
So here we've got a face.
12
And remember we talked about that here the bridge of the nose is lighter and this is darker well.
13
We know that from our experience with faces but an algorithm because it's probably the first face that
14
it's seen.
15
Won't necessarily know that that is a common feature for faces for instance from this photo It might
16
think that.
17
OK so when this part is lighter and this part is darker that's also a common feature for faces but that's
18
not necessarily true because not everybody has a beard.
19
On the other hand it might also look at the background might think that you know this white and this
20
black this this contrast is also called Faces which is also not the case.
21
So we need to help the algorithm understand which features are important to identify a face which features
22
are not important.
23
So that's number one and number two is remember when we're talking about features we spoke about the
24
threshold that you will never get like exactly.
25
Very bright white here and very dark black here it all is a form of grey greyscale So a bit maybe of
26
some contrast like not exactly 100 percent dark but close to dark and close to bright.
27
So there's some there's some difference in between the contrast and that difference has to be it has
28
to exceed the threshold for us to consider this feature to be present while the training will also help
29
the algorithm understand those thresholds should they be set up 0.3.
30
Should they be set at zero 0.7 position to be sets and zero point fifty seven or 56 or something like
31
it needs to understand where to set those thresholds for the different features.
32
And that's part of the training.
33
So first of all identify the features and second to set thresholds and that's that's in a very brief
34
overview of what the training is about.
35
We'll talk more about it in coming to terms but basically that's kind of the goal to understand what
36
is what features identify a face and how to say how to know when their presence or basically the threshold
37
side of things.
38
So what the algorithm does is it shrinks the image to 24 by 24 pixels and then it looks for these different
39
features on the image it tries to understand which features are common for faces so the first question
40
is Why does a trinket 24 by 24.
41
Well because as we discussed these features are scalable.
42
So when you have a very large image of for instance a thousand by a thousand or even 500 by 500 pixels
43
then there's lots of different variations of these features so it can be like one pixel by one pixel
44
that can be two by two it can be so like two there too there can be four pixels in a four pixel that
45
would be 10 and 10 would be 100 100 so there's just lots and lots of different combinations of these
46
features are a combination different lengths and widths and heights of these features.
47
And you just take forever to look through them and understand which ones are telling her face.
48
So it's easier to scale down the image and then apply a very limited and we'll talk about this for the
49
down as well and apply the features that fit in a 24 hour 24 pixel window so it's much less combinations.
50
And then once we found them once we found OK so that you will still find here that the nose is like
51
brighter and darker and you'll still find the same features but then when you're actually applying it
52
to a Nimish to Detective face what happens then is we apply we keep the image the same size we don't
53
scale it down to 24 by 24 but then we scale the features up.
54
So that's the trick.
55
So when you're training you scale the image down.
56
All of that and we'll talk about many training images just now.
57
But all of the training images are scaled down to 24 pixels and the features I detected there and the
58
training happens there so we know which features are important and what what threshold they should have.
59
And then in the real life when you're actually detecting you don't scale the image you keep the image
60
at its original size wherever it is you scale the features up.
61
So those features that are important you scale them up and then you look for them on the image.
62
So that's an important thing to remember.
63
That's the important trick there.
64
And there you go.
65
So what's what's missing here.
66
We already know kind of the concept.
67
Yeah we need to look for these features on a story for which we for image that we all understand that
68
awaits what is missing is the data.
69
One image is not enough.
70
As we said it might pick up the wrong things from this one image.
71
That's why you need to supply lots of images lots of faces of people frontal faces of people to the
72
algorithms so that it can understand which of those features that it's looking for are actually common.
73
So when it has lots of faces it'll be able to tell.
74
OK so you know this feature that I saw on one face is repeating is happening on many many many many
75
different faces.
76
And so with you know like I can if I look for that feature then I'm going to have a good chance of finding
77
a face whereas this other feature which I saw in one image is actually not present on most of the other
78
images so it's not important to.
79
And here we've only got a couple of faces but in the real algorithm in the actual original paper by
80
Alan Jones supplied their algorithm four thousand nine hundred and sixteen manually labeled faces you
81
can imagine how much work that was to go through four thousand nine hundred and sixteen photos and manual
82
label that like each one instance a face is a face to face you know cut those faces out make them twenty
83
four four.
84
Make sure that there are faces in there and so on.
85
And then they apply a quick trick solecism.
86
If you're going to be training your own algorithm.
87
So this is a very interesting trick.
88
You just take forever for all the faces you found Take a mirror image of the face so left to right mirror
89
image.
90
So for instance here we've got a face where the person is more on the left in the mirror image should
91
be a bit more to the right.
92
So it would be just like his left eye would look like his right eye his right eye would look like his
93
left eye.
94
So it would be just a mirror image of this image and to us it would look pretty much the same you'd
95
see that it's a mirror image.
96
But for a computer it's a brand new image.
97
It's technically a brand new image and therefore they instantly by doing that they doubled the number
98
of images too.
99
Nine hundred and nine thousand eight hundred thirty two.
100
So that's good.
101
So from here we can find all these 9000 almost 10000 images we can find which features are common for
102
faces.
103
Good and we just can keep those.
104
But then we also need to make sure that those features are common just for faces that they're not common
105
for something else.
106
And that's why you need to supply also non face images needs a whole set of non-fatal images just some
107
random photos objects everything.
108
But you need to make sure that not of those images have faces in them and Viola Jones supplied their
109
algorithm.
110
Nine thousand five hundred and forty four of these images and.
111
But the interesting thing here is that these ones don't have to be 24 or 24 because they're going to
112
be any size and that of course is a limit.
113
A couple of hundred pixels.
114
But basically then even if it's a big image you can just take some windows from this image and treat
115
each one as a separate image for training purposes and that increases even further the amount of data
116
that you have for non-ferrous images.
117
And in the old John's argument was about three hundred and fifty million sub windows that they had for
118
training.
119
So there you go as you can imagine together this will do the trick.
120
When you have the face images there will help them understand which features are important for faces
121
and we'll just keep those.
122
And then the non face images will help it reconcile which of those features that it found that are good
123
for faces are also leading to a higher rate of false positives.
124
So for instance it found a certain feature it helps it pick up a face but it also helps it always pick
125
up.
126
I don't know a dog.
127
And it just keeps picking up these dogs.
128
But because these images are labeled as non faces it will be able to learn that that feature although
129
is good for faces it's bad in the sense that it's picking up a lot of dogs.
130
So I'm not going to keep that feature and that's how it'll work so it will use the face images which
131
I was able to pick up to just limit the number of rooms.
132
Let's go back room there are these these features that potentially fit into this window.
133
It all of them will pick out the ones that are good for faces and then using the nonfatal images.
134
It will drop the ones that are giving it high rates of false positives so that you can you can pick
135
out faces and only the faces and nothing else.
136
So that's in a nutshell how the training works and that helps pick out the features.
137
And it also helps understand the thresholds that those features should have.
138
If you'd like to do some additional reading on this topic then a petition good paper is a general framework
139
for object detection by Constantine Puppa Giorgio.
140
And it was written before surgery in 1998 before the paper by VELLAR Jones and that's where the horror
141
like features were introduced in the first place.
142
So you might want to check that out.
143
But other other and that's of course the original VELLAR Jones paper has everything you need.
144
It has all the details about the Horlick features and how everything works.
145
Like I'll admit I haven't read in detail this paper or this new paper but like I looked at the abstract
146
it looks interesting but personally I prefer the village on paper I think that's a full enough resource.
147
So if you haven't read that one yet I highly recommend checking that one out.
148
And on that note I look forward to an extent.
149
And until then enjoy computer vision.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.