C4W4L01 What is face recognition

Lecture segment from week 4 of a convolutional neural networks course where Andrew Ng introduces face recognition as a special application of convnets, shows a live demo at Baidu headquarters (face-based access control and a liveness/photo-spoof test), and comments on the technology's rapid adoption in China.
Chapters
Hi and welcome to this fourth and final week of this course on convolutional neural networks. By now you've learned a lot about confnet. What I want to do this week is show you a couple important special applications of confnet. We'll start to face recognition and then go on later this week to neural style transfer, which you get to implement in the programming exercise as well to create your own artwork. But first, let's start with face recognition. And just for fun, I want to show you a demo. When I was leading Baidu's AI group, one of the teams I worked with, led by Yuan Tinglin, had built a face recognition system that I thought is really cool. Let's take a look. So I'm going to play this video here, but I can also get whoever's editing this, the RAW video can figure out if it's better to splice in the RAW video or take the one I'm playing here.
I want to show you a face recognition demo. I'm at Baidu's headquarters in China. Most companies require that to get inside. You swipe an RFID card like this one. But here we don't need that using face recognition. Check out what I can do. I'm going to walk up, recognize my face. It says welcome, and I just walk right through without ever having to use my RFID card. Let me show you something else. I'm actually here with Lin Ye T, the director of ito, which had built all of this data technology. I'm going to hand in my RFID card which has my face printed on it, and he's going to use it to try to see who using my picture instead of a live human.
Okay.
I'm using Andrew's card and try to sneak in and see what happens. So the system is not recognizing.
Yeah.
So he kind of refused to organize.
Yeah.
Okay. Now I'm going to use my own face.
Pretty cool, huh? So face recognition technology like this is taking on very rapidly in China, and I hope that this type of technology soon makes its way to other countries.
So pretty cool, right? The video you just saw demoed both face recognition as well as liveness detection. The latter meaning making sure that you are a live human. It turns out liveness detection can be implemented using supervised learning as well to predict live human versus not live human. But I want to spend less time on that. Instead, I want to focus our time on talking about how to build the face recognition portion of the system. First, let's start by going over some of the terminology used in face recognition. In the face recognition literature, people often talk about face verification and face recognition. This is the face verification problem, which is if you're given an input image as well as a name or ID of a person, and the job of the system is to verify whether or not the input image is that of the claimed person. So sometimes this is also called a one to one problem where you just want to know if the person is the person they claim to be. So the recognition problem is much harder than the verification problem. To see why, let's say you have a verification system that's 99% accurate. So 99% of the might not be too bad. But now suppose that K is equal to 100 in a recognition system. If you apply this system to a recognition task with 100 people in your database, you now have 100 times chance of making a mistake. And if the chance of making a mistake on each person is just 1%. So if you have a database of 100 persons, and if you want an acceptable recognition error, you might actually need a verification system with maybe 99.9 or even higher accuracy before you can run it on a database of 100 persons and have a high chance and still have a high chance of getting it correct. In fact, if you have a database of 100 persons, you probably need this to be even quite a bit higher than 99% for that to work well. But what we'll do in the next few videos is focus on building a face verification system as a building block. And then if the accuracy is high enough, then you'll be able to use that in a recognition system as well. So in the next video we'll start describing how you can build a face verification system. It turns out one of the reasons that is a difficult problem is you need to solve a one shot learning problem. Let's see in the next video what that means.










