In a previous video Mike was talking about how FaceID probably work,
and he was telling us that this is probably based on neural nets.
[Mike] 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 laptop
and 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 fingerprint
impression 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 fingertip
and 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?
[Sean] This is sort of... I'm gonna call it a roundy bit here and a roundy bit on that one.
[Sean] And then there's kind of a triangly bit there and a triangly bit on that one,
[Sean] so they look similar. um...
[Sean] 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 finger
and 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 fingerprint
Then there will be a thinning process in which using somehow kind of segmentation kind of techniques
You will actually try to enhance
those lines, those black lines here on your fingerprint
Something 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 on
When 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 finger
you 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 process
of 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 and
that differences between the relative position of those characteristic points.
[Sean] So what they've done here is, if you like, taking a fingerprint of the fingerprint?
Yes somehow yes.
[Sean] Yes, so they've got these points and said, "right, okay, they make that image unique."
[Sean] 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 algorithms
they will try to find a local structure like this one highlighted in that square and they will try to
first match and see if there are other
minutia points that actually align well, so in the end if you look at it
So you will see that actually this was the incline on
that 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 person
Yes or no. All right. So this problem has been solved already
based on feature extraction plus feature matching.
There are other techniques as I said, but these two are the classic
and the ones that actually work really well. That's sorted.
[Brailsford] So an executable binary. The net effect of slotting that T diagram against here slightly downwards
[Brailsford] is to show you
[Brailsford] that the C you've written gets converted into binary and the net output from this process.
[Brailsford] It produces out a program that you probably store in a...