Question

In general we use biometrics in computer applications say for authentication. Lets get 2 examples finger prints and facial recognition.

In those cases how we keep the information for comparison. As an example we can't keep a image and process it every time. So what are the methodologies we use to store/determine the similarity in such cases? Are there any special algorithms that designed for that purposes.? (Ex : To return a approximately equal value for a finger print of a certain person every time)

Was it helpful?

Solution

Most AI techniques do not operate on raw data such as images. They generally operate on a feature vector: a preferably compact and smart representation of the original data. Generally, a feature vector contains a fixed number of numerical or nominal values (features). For example, in face recognition a common feature vector is a set of eigenvectors called an Eigenface. I am not familiar with fingerprint recognition, but I imagine the feature vectors used there are a set of numbers that somehow describe the observed patterns in the image of the finger print.

Generally, when training some machine learning method on a set of face or fingerprint images, you'd calculate the corresponding feature vectors for these images and store these in a database. The original images are then no longer used. All subsequent processing is done on the corresponding feature vectors.

To compare a new, unseen instance to the database of previously learned instances, the feature vector of the new instance is calculate and compared to the database of stored feature vectors. This may be done in many ways. One example that is commonly used in iris recognition is the Hamming distance.

OTHER TIPS

In the case of fingerprint analysis, I've heard of people using the locations of feature points (bifurcations etc.) to fit parameters for a large polynomial, and then storing the parameters for matching when someone wants to probe the gallery. (The matching process apparently works by minimizing a derived error term between the probe and gallery parameters.) I've never done it myself, since I mostly work with irises, but it might be worth looking into.

All biometric matcher works with processed data called templates. This data are taken from static image or a model taken from a dynamic capture, like TC told previously. These templates are used to matching process and are unique data that you need to keep. Images are stored only for audition or in criminal cases when a expert needs to analyse images and take a final result.

To fingerprint templates we have 3 international standards that are most used: ISO 19497-2, ISO-378 and XYT. If you use any one of first two standards, the binary data have generally 500 bytes of length. XYT need more space because is a text file with position, angle and quality of all minutea, generally about 1kb. A sample of extraction and matching you can see in NIST website. Therefore if you want a more accurate and fast software you need a commercial SDK.

To work with faces a free software is OpenCV.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top