Saturday, December 4, 2010

Knuckle Based User Identification


Ok so this is not exactly a beginners project but can be done over the weekend for getting a hang of the image processing capabilities of Matlab.
This is not at all a good technique for biometry since it analyses the back of a person's hand and the uniqueness of that human attribute is not very high. Although it does work for a small sample size of persons, it still largely depends on the distance of the hand from the camera, and the prominence of the knuckles on a person's hand. (Yes, people with small knuckles do exist).

Working:
·         So the system works by converting the whole image into a binary image and then detecting the knuckles by simple peak detection of the image.
·         But before peak detection, noise (stray white pixels) removal can be done by finding the largest connected white object and preserving it while removing the rest.
·         Now peak detection is just finding the highest white pixels in a binary image (consists of only black and white colurs). This is done by just scanning the image row wise till we find the first white pixel.
·         Similarly to crop the images and get a perfect edge to edge image of the hand, we scan the image column wise first from the left and then the right and use these pixels as reference to then crop the image.
·         Now we should have 4 knuckle points as shown in the fig. and 2 hand base points which are the base of the hand in the image. Using this data we can find the area of the back hand, inter knuckle distances and the angles each knuckle forms with the base of the hand.
·         This data is then stored in a data matrix and when a test image is processed it goes through the same process and then checks its values with the data matrix (here the minimum error allowed is 10%) and the value with the least error within 10% is shown as the identified user.

Conclusions:
I did not have many images of the backhand of people so I suggest you take the photos with any camera (I used my cell's 2mp cam and it detected all the people correctly. The accuracy can be improved by using a box-like setup for taking the photos since the main confusion for the algorithm will be the distance of the hand from the camera and will interpret a farther away hand as a smaller hand and can cause inaccuracies.

Additional Info:
The GUI was made using Matlabs GUI creator and is extremely easy to use.


DOWNLOAD: http://www.multiupload.com/4J6SNJE103

No comments:

Post a Comment