FaceID and Neural Networks: A Study of Fingerprint Recognition as an Alternative to Authentication Systems
In our previous video, Mike discussed how FaceID probably works and speculated that it might be based on neural networks. However, the exact workings of this network are still unclear, even for those who trained it. In this video, we'll be exploring fingerprint recognition as an alternative to authentication systems, which have been used for a while now.
Fingerprint sensors can be found on various devices, including phones, tablets, and laptops. If you're wondering whether these sensors use neural networks and deep learning techniques, the answer is that it's possible, but not necessarily. The main requirement for fingerprint recognition is to distinguish between two identical fingerprint impressions, which doesn't require complex machine learning algorithms.
To begin with, we need to extract meaningful features from your fingertip and characterize your fingerprint. This involves identifying unique characteristics of your fingerprint, often referred to as minutia points. Let's examine a simple example using an iPad. We have two fingerprints displayed on the screen, and our task is to determine whether they belong to the same person. After careful observation, it becomes apparent that the two fingerprints do indeed match.
In order to achieve accurate recognition, we need to develop algorithms that can extract features from the fingerprint impressions. One of the first steps in this process is feature extraction, where the algorithm tries to isolate the region of interest and eliminate unnecessary data. In the case of our iPad example, there are two identical fingerprints displayed on the screen, but they do appear slightly different due to variations in finger placement and pressure.
Upon closer inspection, it becomes clear that these variations are caused by differences in finger orientation and positioning on the sensor. This is why no two fingerprint impressions of the same person will look exactly alike. By extracting features from these fingerprints, we can develop algorithms that can accurately identify unique characteristics and distinguish between identical prints.
One type of feature extraction involves analyzing orientations within the fingerprint impression. These orientations are crucial in identifying distinctive characteristics of a fingerprint, such as singular points like the core or delta shape. The core is represented by a loop-like structure, while the delta shape appears as a small notch. However, these features are not the only ones used for recognition.
In order to classify fingerprints, algorithms often rely on more complex features that capture subtle variations within the fingerprint impression. By annotating coordinates and using arrows to highlight specific points of interest, we can begin to develop a deeper understanding of how fingerprint recognition works. The goal is to create an algorithm that can accurately match new prints against existing ones.
By exploring fingerprint recognition as an alternative authentication system, we gain insight into the complexities of this field and the various techniques used to achieve accurate identification. While FaceID might be based on neural networks, fingerprint recognition offers a unique approach that leverages simple yet effective algorithms to distinguish between identical fingerprints.
"WEBVTTKind: captionsLanguage: enIn a previous video Mike was talking about how FaceID probably work,and he was telling us that this is probably based on neural nets.Exactly how this network works isn't clear, right? Even to the people that trained it.In this video, I'm gonna be talking about fingerprint recognition as an alternative to do authentication systems.So we've been using for a while fingerprint sensors.So maybe on your phone you have one, on your tablet, or even on your laptopand maybe you're wondering is that also based on neural networks and deep learning stuff?Well, it could be, I'm not saying otherwise, but it's actually not normally because you don't need that.You don't need to learn anything. You basically need to make able to distinguish if this fingerprintimpression is the same as the one being used before.So basically what we're gonna be doing first is trying to extract meaningful features from your fingertipand trying to characterize your fingerprint and then whenever you want to identify yourself,you need to double check if these are the same what we call minutia points.So let's have a look on the iPad to two fingerprints. Oh it did work. And so here we have two fingerprints.And so here I have a question for you, Sean.Do you think these two are from the same person? Yes, or no?This is sort of... I'm gonna call it a roundy bit here and a roundy bit on that one.And then there's kind of a triangly bit there and a triangly bit on that one,so they look similar. um...I think I'd have to cut one out, overlay it over the other one and then maybe I'd be able to work it out.Exactly, exactly. So actually they do belong to the same person. It's a good job you detected that correctly,but you need to be more confident next time. Otherwise, how do you unlock your phone?And so... so the first process we do is call feature extraction.And what you need to do first, and most algorithms will do while trying to identify the region of interest.So basically that means you're gonna try to cut this out because you don't need it, right?And as you can see: there are two impressions of exactly the same fingerand they do look slightly different because it depends on where you put your finger on the sensor,and also, it's all about the pressure that you use when you are unlocking your phone, for example.So that will change slightly the picture. So no two impressions of the same fingerprint will look alike.So then, feature extraction. There are so many different features you can extract from here.Many of them, called level one, are all about orientations. What are those?Well, you see here, the orientation of this fingerprint is just like that and it goes in this direction let's say.So this is what we call orientations.There are two singular points which are very distinctive in a fingerprint,and one of them is the core. If you look here on the left this roundy bit that you noticed,it's just a loop, right?So this is what they would call and identify as the core of the fingerprint.And you also actually noticed this very special bit here that looks like a delta on here.So these two are the two most important characteristics for a fingerprint.Are they the ones that we actually use for recognition?Not quite. It depends for classification, yes,but when you're trying to do the matching, they are important, but they are not the only ones.If I zoom in here, you will see those ridges on here.So for example, you see that this one actually ended over here.So what we are gonna be doing is, typically,you're gonna have this coordinate annotated and then you have kind of an arrow here saying,\"Well, this is the direction in which I found that minutia point.\" So that's how they call it.And you also will see nice stuff like this bifurcation on here.So all of the sudden the ridge did something funny just like that. So this is a very special point.So typically this will be annotated and saying,\"well, this is the point it changes direction. Exactly in that point.\"So if you continue you will see plenty of those on here.Here is just an end of the ridge so you can do that and get plenty of them. How do you do that?Will you just address directly the picture?Well, not quite because if you try you're going to detect also minutia points here on the outside of the image.So the first thing is to try to cut out anything not from the fingerprintThen there will be a thinning process in which using somehow kind of segmentation kind of techniquesYou will actually try to enhancethose lines, those black lines here on your fingerprintSomething that's also distinctive is if you really zoom in here,you will see some pores within the range of your fingerprint.So they are quite distinctive but you require a very high resolution image to detect those.So that's why they are not normally used for fingerprint matching because you need a very high quality sensor.So they're gonna be based basically onWhen they collide, two ridges, when they are ending, when they just change.So these are the points that you want to get after a thinning process and a segmentation process.So there we go. We have the feature extraction done.So what is next? So what is next is called matching of the different sets.So anytime that you put your fingerprint on it,you will get a different copy, a different photo basically of your fingerprint.You perform a feature extraction process and therefore you will get different sets of minutia points.And as I said before,depending on how much you press down your fingeryou will get those minutia points slightly moved one side a bit up or a bit down if you want to.But you can also have a very, well, nasty user somehow,and then they said I just want to use this bit of my fingerprint or I want to rotate that.So the problem is not that easy. A matching algorithm is typically based on an alignment processof those sets and they, there are many different methods.There are local methods and global methods trying to get that match sorted.In this image, what you see is your original fingerprint. The one that you captured the very first time was neat,and so the one actually doing the registration ask you to put the fingerprint perfectly.So one thing that you may actually think are they gonna be storing directly the picture of your fingerprint?Well, normally not. Normally they just saved those minutia points because they don't need to the whole fingerprint.It could be, because there are different techniques for example of trying to do that correlation between images,but they are slower and they are not that precise and they cannot handle well the rotation I said andthat differences between the relative position of those characteristic points.So what they've done here is, if you like, taking a fingerprint of the fingerprint?Yes somehow yes.Yes, so they've got these points and said, \"right, okay, they make that image unique.\"So next time we just need to make sure those points are available.Exactly. So next time so the algorithm will use this as the template points,and then whenever you have a different fingerprint and if you look at the one on the left, it's exactly the same one,but you've put the finger slightly rotated and you don't have the full fingerprint.So if you apply again the same feature extraction process you will get again a new set of minutia points,but they do not align perfectly because they are rotated.So feature matching algorithmsthey will try to find a local structure like this one highlighted in that square and they will try tofirst match and see if there are otherminutia points that actually align well, so in the end if you look at itSo you will see that actually this was the incline onthat picture to actually get that.So the outcome of the feature matching process is basically a score that will be telling you\"How similar. How likely is that this fingerprint belongs to this one?\"And then we need to use a very simple thresholding approach to say okay this actually belongs to that personYes or no. All right. So this problem has been solved alreadybased on feature extraction plus feature matching.There are other techniques as I said, but these two are the classicand the ones that actually work really well. That's sorted.So an executable binary. The net effect of slotting that T diagram against here slightly downwardsis to show youthat the C you've written gets converted into binary and the net output from this process.It produces out a program that you probably store in a...\n"