I am asking a high level question on what is the model "type" for unlock a cell phone using fingerprint / face.

  • It seems to me supervised learning cannot be used, because we do not have labeled data.

  • Is it a "anomaly detection"? Where we model the normal patterns of a authenticated user and reject abnormal patterns? But for anomaly detection say 1 class SVM, we still need reasonable amount of "normal patterns". But it seems cell phone only needs to collect data from authenticated user couple of times.

What is the model used to check fingerprint / face to unlock a cell phone?

  • $\begingroup$ Would you not be better of on a more technology oriented site in case they do not use statistical methods at all? $\endgroup$ – mdewey Sep 15 '17 at 15:37
  • $\begingroup$ @mdewey I was trying to ask model, not the software package they used. thanks for the comments question revised. $\endgroup$ – Haitao Du Sep 15 '17 at 15:43
  • $\begingroup$ Probably the only way to get a definitive answer to this is to check out Apple's/Google's/etc patent filings on the topic, with the understanding that a large chunk of the actual implementation will be trade secrets. $\endgroup$ – Sycorax says Reinstate Monica Sep 15 '17 at 15:52

I worked on the Android team that was responsible for face unlock so I can say roughly how that works. It does, in fact, use a statistical model. It is trained as a binary classifier by giving it pairs of pictures where either each image in the pair comes from the same person or one image is from the true person and the other is an impostor. This classifier outputs a matching score. Then a cutoff threshold is chosen. To unlock the phone all someone has to do is present a face that matches the stored profile better than the threshold. Separately, there are various technologies that try and determine if the camera is detecting an actual face or if it is an image or a video of a face. That used to be hard to do but I imagine now that the sensors have improved and it is more reliable.

Fingerprint matching is a bit different. If you look closely at your fingerprint you will see lots of places where a ridge ends or bifurcates. These are called minutiae. The first step is for an algorithm to locate the position of each visible minutiae. Then fingerprint matching occurs by trying to put the locations of the minutiae in correspondence with the locations from the stored template.

  • $\begingroup$ thanks for the answer!. could you tell me more on how to do "binary classifier by giving it pairs of pictures"? $\endgroup$ – Haitao Du Sep 15 '17 at 17:29
  • $\begingroup$ You can check out this paper from Google that is slightly more modern than the technique we used when I was working on it. arxiv.org/abs/1503.03832 $\endgroup$ – Aaron Sep 15 '17 at 17:44

From this article on The Verge:

[an infrared sensor] throws 30,000 infrared dots on your face. The systems reads the map, matches it against the stored image on the phone using a built-in neural network processor, and unlocks the phone.

So it is a neural network of some kind, if this reviewer can be trusted. Based on the image recognition literature, I would assume it's even a deep neural network. Unfortunately, as the comments say, we will likely never know exactly the model due to trade secrets.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.