Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Fingerprint Recognition Help

Status
Not open for further replies.
All you need is this forum . Ask and you shall receive .

What algoritms are you looking for ?

Added after 1 minutes:

Sorry i know matching algoritms but how do you want to match them ? There is many ways to do it .
 

OK guys , say youve figured out the minutiae of the fingerprint ( x , y , angle , type ) as well as the middle of the fingerprint .

How do you feed this into a neural network to recognize the fingerprint from a database ?

Thanks guys .
 

Hi everybody. I'm working in my final project.
My goal is to build an independent circuit for fingerprint recognition and control access.
1st I have to make the program in MATLAB.
2nd I will translate it to C language and I'll implement the code in a DSP.

Currently I'm in the first stage, I downloaded some codes from:**broken link removed**
And It has helped me a lot. After that I wrote the code for the minutiae extraction following the rules of Crossing number, and minutiae validation.
Now, I'm in the process of matching. But I have some problems in the core and delta extraction(I'm using Poincare Index). Also, What process do you use for matching when the pattern is an ARCH, or a TENTED ARCH?, because them don't have a core and delta.
Thanks for your suggestion.
 

koosdoos,

You should understand the neural network concepts, then decide which algorithm you wish to use. Different algorithm has different way to match the fingerprint. Please let us know which algorithm you wish to use.

My method is backpropagation. You just input all the data you have, set the target output and train the backpropagation network.

If you decide to use backpropagation and need more detailed info, let me know.
 

Hi Leekk8 , thanks for the reply .

Funny enought backpropagation is exactly the algorithm i want to implement .

How is this done .

thanks for your time :)
 

koosdoos,

Do you understand how is backpropagation algorithm? It's very important that you must understand how backpropagation neural network work. You have to refer to books, as I can't explain too much here.

These are some basic steps you can do after understanding the algorithm,
First, determine what kind of input you have. Eg core point location, or other features.
Then, determine the architecture of backpropagation neural network. Code the network according to the algorithm. You must prepare several sets of training samples (it's recommended you prepare several sets of testing samples as well). Train the network by iterating your code, until the network converge. You must set a condition for the network to meet convergence.
After training, you can test your neural network by input some samples and check if the output is correct.

There're many variation on backpropagation network, you must understand them from books. My advice is try to use momentum, and multi hidden layers.
 

Thanks for the quick reply Leekk8 !

Ok this is what ive got for inputs :

The Core point coordinates (X ,Y)
Then the minutiae points ( X ,Y ,type ,direction )

Now how do i compare these with the same type of inputs using the back-prop algorithm .

What architecture do you think will work best .

Thank you .
Koosdoos
 

Hi guys just need some assistance here :

Ok say of got a fingerprint and ive extractred their minutiae ( x,y,type,direction ) .
How do i select how many inputs the neural net will have , how many hidden layers , and how many outputs ?

Which architecture should i use ?

Thanks !
 

hi,
I have done in matlab not in neural n/w so can't help u there.
In matlab we had almost done it like 'c' programming.
In this the 3 values, angle distance & no. pf ridges were store in the structure format.
These values were compared.

Added after 4 minutes:

In matlab the save command was used
save('filename',struct1,struct2).
where filename was selected to be the name of the user. So when the user came back again he has to just enter his/her name.
The save command us eto store the values in a .mat file.
 

koosdoos,

There's no any fixed architecture for this application. Usually, we run the training with varied architecture until the best result is obtained. This is the way if you read the books of neural network.

Anyway, from my experience, and this is my advice, you should use multi hidden layers, at least two. Inputs are the feature that you have and target output is the method you identify the correct fingerprint. There're many rules and convention for backpropagation. You try read some books, as I can't explain all here. If you face any particular problem, post a msg here.

Since I use a portion of fingerprint image where near core point, my input has 3600 neurons, hidden layers are 100 and 50 then my output is 3 neurons.

This is not exact solution for your case, you should test it out. Hope can help you.
 

smileysam said:
iam attaching my report....if u feel that its useful or some improvements can be made plz message me..
Thanks... If possible plz donate a few points to me....:)

How can I download this:cry:

Added after 1 minutes:

why doesnt this allow me to downlaod:|
 

prasha,

According to the forum rules, you're only allowed to download after 14 days you joined this forum and you must post more than 5 posts here.

You try help people here, after 14 days, you can download the file.
 

Hi again guys ,

Im using a MultiLayer Perceptron network using backpropagation in matlab. OK say you have 5 distances that you would like to use for fingerprint matching , will i feed this into the neural net as is or convert it to another type of input ? And what will be the output be that i can compare it to other fingerprints ?

Thanks
KoosDoos
 

koosdoos,

It's up to you to choose how you want to feed in the input. You must make sure the input is sufficient to recognize the fingerprint image.

My opinion, fed in all the features that you have, it's better you can convert them into binary. Your output can be binary as well, indicating which fingerprint image.

For example, train the network using a set of features from a fingerprint images. The target output can be 0001, indicating first image. The another set of features input to train again with target output 0010, indicating second image, and so on.

It's a good practice you test the network to recognize the fingerprint using different methods in terms of input and output.
 

So what you are saying is convert the 5 distances to binary say 001010 and then use this as an input to a nearal net where input1=0 , 2=0 , 3=1 , 4=0 , 5=1 , 6=0 . Then train it to specify which image it compares the closest to ?
 

koosdoos,

Yes, you get my mean.

However, keep in mind that the input must be sufficient to recognize the fingerprint image. I don't think 6 bit input is enough.
 

    koosdoos

    Points: 2
    Helpful Answer Positive Rating
This is what ive got :

Center of fingerprint ( cx , cy )
5 minutiae (x,y,type.direction) points closest to center.
The 5 minutiae points distance from the center :
1) 15
2) 24
3) 11
4)56
5) 38

Now how do you think i should use these inputs for the network ( convert them to binary as you said? )
or just send them as is into the network ?

And how do i compare the output of this network to match a fingerprint ?

Thank you :)
 

koosdoos,

Maybe you can try to put all the features you have directly, and see what's the result.

After that, convert them into binary and see how's the result. For example, the centre point coordinate is (125,200), you convert them to binary, lets 8bits, so the coordinate already 16bits. Then plus the other features you have. So, guess that you have more than 100bits as inputs. I'm not sure this way can work or not, you can have a try.

You should take few images from same finger, so I guess you have around 20sets features from each finger. If you want to recognize 5 fingerprint, then you have 100 sets of features. You target output can be indicating the finger. Lets say 001 is first finger, 010 is second, 011 is third and so on. Then train your network using all these data until the network is converged.

It's advisable you test your network using different kinds of inputs and outputs then determine which way is the best for you.
 

i wants to work on biometrics fingerprint and eyeris scanners

from where i should start
 

You guys sholdn't shy to use the search on this forums. Here for example is similar topic Fingerprint matching with 78 replies
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top