biometric access control is a rapidly maturing technology that is used to police our ability to gain access to places, allow us access to software and hardware as well as guard against unauthorized access. If the number of people allowed to access a certain a place is for, example, 100. Training samples from the 100 persons are used to construct the stored database. Features are extracted from these training samples, and are stored in the system database. K-nearest classifier can be used in the test stage to identify the person, by selecting the person with the minimum distance between the test features and the stored features. I can understand that this identification process will correctly identify the person if he is actually one of the 100 persons allowed to enter the place. I can not understand how the system will prevent unauthorized access. If the person is not one of the 100 persons allowed, of course the system will identify him as the one with the closest distance to the features stored in the database.


It's not the closest distance alone which lets you make a decision.

Given a pattern recognition (or object classification) system that's trained with N objects, then for a given test sample you will do the following:

Compute the metrics based on the error produced by the chosen features of the test sample and the database.

Then seek through the classes for which this error-metric is a minimum.

Then further check if this minimum error is acceptable (i.e., below a suitable threshold).

If yes, then you decide that you have identified the test sample.

Otherwise, you were not able to decide; a.k.a. unidentified access.

  • $\begingroup$ If a classifier like support vector machine (SVM) is used, how these steps can be performed? $\endgroup$ – Noha Feb 12 at 1:42
  • 1
    $\begingroup$ @Noha can you specify that question? Fat32's answer's steps map perfectly to SVMs. So my answer to your question would be "see the detailed instructions in Fat32's answer". $\endgroup$ – Marcus Müller Feb 12 at 11:50
  • $\begingroup$ How can I obtain the error metric from a SVM code, using Matlab, for example? The code output is just the identified class. $\endgroup$ – Noha Feb 12 at 16:13

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.