Me too. My intelligence part is terribly low. I understood maybe only 1% of this video. But 1% is still much better than maybe even the negative impact of watching `shorts` or `tick-tocks` for an hours.
THIS IS PROBABLY THE BEST ~EVER~ /COMPUTERFILE EPISODE DONE. I would have loved to see more detail matched from the paper to practical application. But over all. Amazing video.
I actually used this when I played around with OpenCV, but didn't know how it works, very interesting! I'm actually taking a few computervision classes this year, hope its as interesting.
I already am at college, and the course is very interesting! Totally worth it. There are a lot of things that I thought were working differently but apparently when doing image processing you need to learn to think about things in different ways
I had to explain this at uni :) Unlike another commenter I didn't notice much difference with race, but lighting was definitely an issue. It's also quite slow to train and it requires quite a high resolution image of the face. Unfortunately we had to detect with small faces, mixed races, and mixed lighting but it gave good results. Explanation is really good though ^_^
It's not that complicated of an algorithm. And it's possible to use visuals to explain it, since it operates on visual data. When I say "not complicated", I'm comparing it to i.e crypto algorithms or neural networks. If you watch the Numberphile video explaining the Diffie-Hellman key exchange, they use a metaphor in which combining keys is likened to mixing coloured paint. That's obviously not what happens, but the underlying maths is very advanced, and can't be explained to a layperson in a 10 minute video clip. For the Viola-Jones algorithm, the bulk of the maths basically boils down to lots and losts of additions and subtractions. (I don't think the training part of the algorithm is quite as simple, though.).
That's because of the greatest problem in academia... Most of them don't really have any interest or motivation to communicate. So they write unintelligible papers that are accessible only to experts through paywalls.
I really enjoy Computerphile and dare I say the enthusiasm and presentations from Mike the most. Nothing taken away from the great team it is just that I can imagine chatting in a pub with Mike somehow.
Note that this algorithm determines if a block of an image contains a face. Facial recognition goes further and takes what it knows is a face and then characterizes features that can be used as identifiers.
I was lecturing in computer graphics shortly after integral images came about, but they were called "summed-area tables" and were used for filtering images down in resolution. I think they were replaced with mip-maps but it's good to see that they made a come-back in another field.
Woah! Inception... I was compiling my implementation of a neural network for object detection (takes about one minute) and I had a look at my youtube feed and this was at the top! We do Viola Jones at work so I'd heard about it before. Thanks for the video!
I just started working on image processing, and I remembered this video from years ago, and have made use of the hack he described for computing features to do something else.
This is really brilliant. It's an exellent explanation too. These viola jones guys did for Image proc what Thorp did for Black Jack......completely HACKED the game.
Talk about Eigenfaces! It was introduced in the 90s and still very interesting. At least students learn how to use some of the math concepts in practice like eigenvectors.
This is one great video with one great algorithm I have a little test related to this algorithm (a verbal exam) , and this video and boosted up by confidence Thank you so much.
This might be completely wrong... but I get the impression that the way they came up with the algorithm still has similarities to a simple neural network. They probably tried each simple feature on thousands of images to make sure they all pass (the "training" part), and in the end ended up with a list of tests (the second last layer in a neural network) that gives you a decision (last layer). It's incredibly quick because it doesn't need any more layers before that, and it has a fast fail mechanism.
How do they decide where to put these classifiers? I dont think it can be a moving window as that would be pretty slow. Also its unclear how do they decide the size of the classifiers.
Chrysippus Late to the party, but it is! I stumbled upin this algorithm because it was used as a base for a lunar crater algorithm. This can be used to detect basically anything, as long as you use the right filters, which you can determine using the right training set for the selection algorithm. In theory, you could use this algorithm to find horses, apples or anything else that you want.
I cannot even comprehend being as intelligent as you. How does your brain not explode? You're nuts 😂😂😂 I've almost watched all your videos now, very addictive lol.
Yes, its terrible when the orientation of the training set changes, the vj-algorithm does nothing the compensate. I've used this algorithm a lot in theory and practice. What you could do though, is rotate the image yourself, the vj-algorithm is fast so doing it several times over rotated images is possible.
Sorry for largely OT, but they could have used something a lot faster than a 700mhz P3 in 2002. Moore's law was strong over this period and both Tualatin and AthlonXP were hitting 1.4 -1.8 ghz.
I played around with this method today, not really for it's intended use but to see how well it'd work for basic image location tasks. My only issue with this is how colossal the numbers are even on my relatively low resolution screen. Is this less of an issue then I'm imagining, or does this run on already shrunk down images?
Huh, made my diploma using similar technology (Haara classifier): the goal was to detect vehicles and classify them into 3 categories (minivans, trucks and cars) in the aerial view images (to detect vehicles from the top view). Wait... It was absolutely the same technology, now I remember xD
I know you guys have done a bunch of videos on denial of service attacks, but I just learned of something called a low orbit ion cannon. Is that just a different name for the same type of attack?
Shouldn't OCR techniques be instrumental, imagine all faces being filtered via cutout or similar in order to get contours, then those outlines will serve as if written by a calligrapher, kinda each face being a CHARACTER/HIEROGLYPH, thus the task looks as recognizing kanji with different styles of writing.
well simplified, enjoyed it a lot, was more fascinating than even recent R CNN, R FCNN, MTCNN.. gained more respect for 2001 people 😂, and that intergral image gave feel of dynamic programming😂
what confused me is how does the algorithm know to make the rectangles sufficiently large enough to be useful for face detection? i.e., faces can be different sizes depending on distance/etc...
is that the same as the convolution and fourier transformation techniques? can this technique also clarify objects in the video that are already available, such as cctv records that have been stored?
So would you need to train this algorithm before using it? So how do the cameras use it, have they already trained it at the factory to set the parameters? Can you just download their parameters from somewhere and code this up yourself?
Can't believe I have only recently discovered Computerphile. Your content is great guys, very interesting.
you have a lot to catch up on
@@Vogel42 I have been binge watching Mike's stuff about passwords. It has made me paranoid.
Welcome
If you haven't yet, check out numberphile
Computerphile Captions please? Haven”t been able to learn from your previous 15 videos without captions disabled...
Placing a GoPro close to the paper to see what the guy is writing: check.
Guy is left handed: oh boy...
Left hand and is filed under the impression that the only thing I
I could listen to Mike for hours.
Though some of the _stuff_ goes right over my head - I still feel a little smarter after each video.
me too
Me too. My intelligence part is terribly low. I understood maybe only 1% of this video. But 1% is still much better than maybe even the negative impact of watching `shorts` or `tick-tocks` for an hours.
This man face detects!
Mike Pound is an absolute legend
I'm really thankful for having Peter Parker explaining us in such a friendly and simple way.
Gotta love this guy
I am a simple man, I see Mike Pound, I like
You see Mike Pound, you Pound.
A fellow hacker... anyway I see you also comment because everybody knows RUclips dislike does nothing
You like to... pound.. Mike?
I am a simple man.
Is it just me or does he look a lot older all of a sudden?
THIS IS PROBABLY THE BEST ~EVER~ /COMPUTERFILE EPISODE DONE. I would have loved to see more detail matched from the paper to practical application. But over all. Amazing video.
I actually used this when I played around with OpenCV, but didn't know how it works, very interesting! I'm actually taking a few computervision classes this year, hope its as interesting.
I already am at college, and the course is very interesting! Totally worth it. There are a lot of things that I thought were working differently but apparently when doing image processing you need to learn to think about things in different ways
Amazingly clear explanation of a very clever algorithm. Thanks!
I had to explain this at uni :) Unlike another commenter I didn't notice much difference with race, but lighting was definitely an issue. It's also quite slow to train and it requires quite a high resolution image of the face. Unfortunately we had to detect with small faces, mixed races, and mixed lighting but it gave good results. Explanation is really good though ^_^
this is really one of the best sources for computer vision students, I love the way he explains things, Thank you!
Always amazed of how Mike Pound make videoes so entertaining and interesting at the same time
I've read the original paper and wasn't able to wrap my head around it completely. Thanks for doing this video.
And after watching this video you are now able to understand it completely? Ahem…
It's not that complicated of an algorithm. And it's possible to use visuals to explain it, since it operates on visual data. When I say "not complicated", I'm comparing it to i.e crypto algorithms or neural networks. If you watch the Numberphile video explaining the Diffie-Hellman key exchange, they use a metaphor in which combining keys is likened to mixing coloured paint. That's obviously not what happens, but the underlying maths is very advanced, and can't be explained to a layperson in a 10 minute video clip. For the Viola-Jones algorithm, the bulk of the maths basically boils down to lots and losts of additions and subtractions. (I don't think the training part of the algorithm is quite as simple, though.).
That's because of the greatest problem in academia... Most of them don't really have any interest or motivation to communicate. So they write unintelligible papers that are accessible only to experts through paywalls.
I really enjoy Computerphile and dare I say the enthusiasm and presentations from Mike the most. Nothing taken away from the great team it is just that I can imagine chatting in a pub with Mike somehow.
i am positive that the drawings on the whiteboard where just quickly randomly scribbled on before the video to add to the background.😂😂
Note that this algorithm determines if a block of an image contains a face. Facial recognition goes further and takes what it knows is a face and then characterizes features that can be used as identifiers.
IF one starts from the presumption that each head neatly corresponds to some kind of personal identity.
Dude. We are talking about detection here, not recognition.
I was lecturing in computer graphics shortly after integral images came about, but they were called "summed-area tables" and were used for filtering images down in resolution. I think they were replaced with mip-maps but it's good to see that they made a come-back in another field.
It actually is a really cool algorithm! Impressive how it's so good that it's still relevant after so many years.
Unlike other math which is usually fleeting :P
MORE MIKE POUND
[goes up close to everybody & whispers forcefully in their ears] aaaall mike pound aaaaall the tiiiiiime
POUND MIKE MORE
Woah! Inception... I was compiling my implementation of a neural network for object detection (takes about one minute) and I had a look at my youtube feed and this was at the top! We do Viola Jones at work so I'd heard about it before. Thanks for the video!
It's crazy that an image-processing algorithm built 20 years ago is still state of the art in its category. Awesome.
Always love seeing Mike Pound's videos. Wish more contributors bothered with technical detail/theory.
This channel is heaven for students like me
This is a suprisingly intuitive detection method, great explanation!
finally a video with Dr. Mike Pound
I really like listening to Mike Pound explaining stuff
I just started working on image processing, and I remembered this video from years ago, and have made use of the hack he described for computing features to do something else.
Love me some Dr. Mike Pound! Keep them coming!
Mike Pound and explaining face detection, a match made in heaven
Really interesting video/algorithm. I generally really like the topics Mike does for the computerphile videos.
I love that guy and his way of explaining things
You have an excellent way of making a complicated thing very easy to grasp.
Mike , you are doing the marvelous presentations.
Mike Pound is love
I liked the idea of "rectangle sums": so easy and so effective.
Cramming for my Computer Vision Exam this afternoon 😬 At UoN
That's pretty cool! It feels a bit like dynamic programming with the way the integral image is calculated :)
Cause it is dynamic programming indeed
I have no idea what's he taking about but i like to listen to stuff like that
This is really brilliant. It's an exellent explanation too. These viola jones guys did for Image proc what Thorp did for Black Jack......completely HACKED the game.
Talk about Eigenfaces! It was introduced in the 90s and still very interesting.
At least students learn how to use some of the math concepts in practice like eigenvectors.
That was some really cool perspective correction you did there!
That integral image thing blew my mind. It's a 3D graph of the integral of the 3D graph of a function. Wow!
This is one great video with one great algorithm
I have a little test related to this algorithm (a verbal exam) , and this video and boosted up by confidence
Thank you so much.
His hair is always so perfectly taken care of.
I like your work Dr. Pound! Keep it up
This might be completely wrong... but I get the impression that the way they came up with the algorithm still has similarities to a simple neural network.
They probably tried each simple feature on thousands of images to make sure they all pass (the "training" part), and in the end ended up with a list of tests (the second last layer in a neural network) that gives you a decision (last layer). It's incredibly quick because it doesn't need any more layers before that, and it has a fast fail mechanism.
Excellent video, object recognition is the future.
Clever technique to compute if there is a face or not.
Mike needs his own channel
Love this channel! Thanks for sharing!
This guy should have his own channel
These videos are more helpful than my hour long university lectures.
OOo, neato! using dynamic programming to calculate the blocks really fast
Man I loveeeee this channel and Dr. Mike Pound is bloody awesome!! Wana learn everything he knows!
Dr. Mike. Your tests are just as hard as Dr. Steve’s, I bet.
I bet endless do while loops are on your test just to confuse all the normal people.
I always learn so much of this guy videos!
I would love to hear more about this.
How do they decide where to put these classifiers? I dont think it can be a moving window as that would be pretty slow. Also its unclear how do they decide the size of the classifiers.
I never imagined how clever this was! I can only imagine this is used for more than just faces right?
Chrysippus Late to the party, but it is! I stumbled upin this algorithm because it was used as a base for a lunar crater algorithm. This can be used to detect basically anything, as long as you use the right filters, which you can determine using the right training set for the selection algorithm. In theory, you could use this algorithm to find horses, apples or anything else that you want.
god I love those videos. the same algorithm is also used in opencv
this guy is very smart and good at the computers
not enough mike on this channel
I felt something was odd with the video. Mike was wearing a Shirt. Anyways, Great Content Guys, Keep it coming. Love Mikes way of teaching things.
He needs his own channel
PLEASE MORE VIDS LIKE THIS!LUV IT
I cannot even comprehend being as intelligent as you. How does your brain not explode? You're nuts 😂😂😂 I've almost watched all your videos now, very addictive lol.
which is better Viola-Jones or deep learning? because Viola-Jones i think needs face forward images
so does it fail for faces turned sideways or digaonal to the image?
Yes, its terrible when the orientation of the training set changes, the vj-algorithm does nothing the compensate. I've used this algorithm a lot in theory and practice.
What you could do though, is rotate the image yourself, the vj-algorithm is fast so doing it several times over rotated images is possible.
Been watching you for a while... I love your content
Sorry for largely OT, but they could have used something a lot faster than a 700mhz P3 in 2002. Moore's law was strong over this period and both Tualatin and AthlonXP were hitting 1.4 -1.8 ghz.
Much more videos like this please!!!
Yay more with Mike!
Given enough data, CNN (deep learning) performs better than any Haar algorithms or equivalent
However it might take longer to make a prediction
Integral images is just 2D static sum from competitive programming!
I played around with this method today, not really for it's intended use but to see how well it'd work for basic image location tasks. My only issue with this is how colossal the numbers are even on my relatively low resolution screen. Is this less of an issue then I'm imagining, or does this run on already shrunk down images?
Huh, made my diploma using similar technology (Haara classifier): the goal was to detect vehicles and classify them into 3 categories (minivans, trucks and cars) in the aerial view images (to detect vehicles from the top view). Wait... It was absolutely the same technology, now I remember xD
How well does this work for you different ethnicities though?
Jillian Mayer has a great video on avoiding facial detection.
Mike Pound is awesome!
Awesome
But what about different sizes and scales? You still need to check every pixel/region in every scale. That's really slow. How do deal with it?
I know you guys have done a bunch of videos on denial of service attacks, but I just learned of something called a low orbit ion cannon. Is that just a different name for the same type of attack?
Shouldn't OCR techniques be instrumental, imagine all faces being filtered via cutout or similar in order to get contours, then those outlines will serve as if written by a calligrapher, kinda each face being a CHARACTER/HIEROGLYPH, thus the task looks as recognizing kanji with different styles of writing.
Would this also work with some other objects instead of faces? Like cars, etc?
well simplified, enjoyed it a lot, was more fascinating than even recent R CNN, R FCNN, MTCNN.. gained more respect for 2001 people 😂, and that intergral image gave feel of dynamic programming😂
what confused me is how does the algorithm know to make the rectangles sufficiently large enough to be useful for face detection? i.e., faces can be different sizes depending on distance/etc...
Do you have any sample code in C# of the Viola jones algorithms?
count how many times he said alright
alright
8 in the first 2 minutes
Thanks for the great video!
Really awesome !
Great video and awesome topic! Just the go pro shots are not that great, should have try to have an overhead mount. anyways great job!.
is that the same as the convolution and fourier transformation techniques?
can this technique also clarify objects in the video that are already available, such as cctv records that have been stored?
boss need your help to build real time face tracking system for institute using python
great explanation of integral images!!!!
👋🏻Greetings from MÈXICO 🇲🇽
You guys are mindreaders, I was just thinking about face detection and wondering how it works...
Peter Parker is the best! Thanks for this. Love your videos
So are these the haar cascades from open cv?
So would you need to train this algorithm before using it? So how do the cameras use it, have they already trained it at the factory to set the parameters? Can you just download their parameters from somewhere and code this up yourself?
no, you don't. if you want to use it, look for opencv library.
Sweet series, may I ask what do you use to create the animations?
Animations are nearly all created in Adobe After Effects (the odd 3D animation some videos created in Blender) >Sean