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.

An Approach to Fingerprint Filter Design

Status
Not open for further replies.

kaushi

Newbie level 6
Joined
May 29, 2006
Messages
11
Helped
1
Reputation
2
Reaction score
0
Trophy points
1,281
Activity points
1,423
Finger Print Identifier

Hello Friends!
I am Kaushi and I am totally new to finger print matching as well as this site.
I am supposed to design a finger print identiofier for access control.

I did some reading , but I need ur help to carry this on.

Could any one of u ple..e.. z tell me whether minutiae capturing is better than correlation based method and some way to get a source code or a "comprehensible" algorithm to perform finger print capturing.
 

Re: Finger Print Identifier

You can try to test and decide the method you capture and make it ready to be stored in computer. Then, come out with a algorithm to enhance the fingerprint image and match them as well. There are a lot of papers can be downloaded from the internet about this topic. You read some of them, and decide the method you want to use in your system. Minutiae matching is quite effective but the computation is quite expensive, as there're many processes, I think.
 
Re: Finger Print Identifier

Hi Leek,
Thankyou for the reply.I have already downloaded some documentation including Ramond Thai Thesis.But still haven't finished refering them.
And I have read ur conversations with mekka etc.(Did some downloading of those codes too....! :wink: But I will not directly use them.)

What was ur procedure?
As I understood u r figuring out the local patterns of the finger prints with poincare index. (This too I have to read more)
After that how to distinguish between bifurcation and ridge ending.
Can u pleez pleez point out the procedure.just list the algorithm names u think are more effective ,accurate and need less computation)

By the way I read an article which uses Fourier Mellin Transform.They directly process the images.and another way is to use onion peelings of the patterns and use the innermost shape for matching.
Do u think they will be better.
I do not need to worry much about finger orientation problems ,prevent fraud attacks ete.
Can u pls help me.
 

Re: Finger Print Identifier

For my system, I enhance the fingerprint image then compute the directional field of the fingerprint. From the directional field, use Poincare Index to locate the core points. As I'm using neural network for the recognizer, I just need to extract the core point area and to be the input of neural network.

If you want to extract ridge bifurcation and ending, I think there's algorithm in Raymond Thai paper.
You may refer to here:
kiki has done quite well in this. Code is uploaded as well.

About the Fourier Transform and other methods, I'm not too sure. You may read and test it out if you have time.
 

    kaushi

    Points: 2
    Helpful Answer Positive Rating
Re: Finger Print Identifier

Well, I read the feature extraction part of Ramond Thai's work.According to his experimental results it seems OK to use that method.
Since Kiki too has tried with it I think it would be OK for me too.
How ever what is the advantge of using neural net works?
About matching:
I just thought to use an equation given in a documentory of some one called Drahansky.
Upto now I was thinking to write a simple code in Matlab to implement that formula.
Woudn't it be OK?

Added after 14 minutes:

That document has those formulas in page 63 (equation 3.18,3.19)
 

Re: Finger Print Identifier

Neural network is a kind of AI, where it's used mainly in prediction and pattern recognition. As my major course is neural network and this is one of the requirements of my project, I use it to recognize the fingerprint image.

Sure you can use other methods. As you say, you already got some equations, then you can code the equation in MATLAB and test on it.

Testing is important in doing project, where you can see the real result and you will notice the mistake faster.

If you have problem on coding, you can post the equations up, as downloading the whole document may take some time.
 

    kaushi

    Points: 2
    Helpful Answer Positive Rating
Re: Finger Print Identifier

Hello Leek ,
I beg ur pardon for not replying as quickly as u do.It's because I am using public computers for my internet access.
Well I think I have gathered enough facts so as to start the project.But since my supervisor wants me to justify my selection on a particular method I have taken some time.
But my preference is to take Ramond Thai approach.
I will ask u when I find problems in coding.Hope u would help me.Thanx in advance
 

Re: Finger Print Identifier

kaushi,

It's good if you can justify on your selection. You should start do some testing on Thai's algorithm, code it and test its efficiency. If the result is not satisfactory, you still have time to look for other methods or some methods to improve it.

Ya, if you have problem on coding, you can post it here and I believe somebody here can help you if I can't. Are you using MATLAB to develop your system?
 

    kaushi

    Points: 2
    Helpful Answer Positive Rating
Re: Finger Print Identifier

I was so busy with my studies (this project is 1 of the 8 courses I am taking this semester)so that I couldn't visit the site.

Yes I am using Matlab.
I have started the extraction on a thinned image.(Without considering noise effects b'coz my friend is doing the enhancement)
I am on the way to count CN values.But it is so slow for the reason mentioned above.
Now also I am going for a quiz .Bye.
 

Re: Finger Print Identifier

kaushi,

In fact, you have to read a lot for this project. Maybe you can search for kiki code in this forum. It may help you on counting CN. Any problem, post it here.

Added after 3 minutes:

kaushi,

look at this
 

    kaushi

    Points: 2
    Helpful Answer Positive Rating
Re: Finger Print Identifier

Hi Leek,
Since I was urged to look into various other method I happened to meet with an algorithm by someone called T.B.J. Andrew, N.C.L. David.

It is based on image based processing(not minutia)
They propose a method on wavelet fourier mellin transform.
It has very limited no of steps.
Some steps can directly be implemented with matlab wavelet tool box.
The rest have a little computation but not much.
And they claim to have nearly 95% accuracy.
Would it be intelligent to switch into that b'coz they are unlike to thai's work guarantee a transform ,rotion and scale invariant property.

It's a small doc.
And edaboard says it is located in


Added after 21 minutes:

I am not allowed to update it and it is of 313 kB

Added after 9 minutes:

Oh yes .It is there.
p82-andrew.pdf
 

Re: Finger Print Identifier

kaushi,

I'm not too familiar with wavelet transform. If you know how to compute the equation using Matlab Wavelet toolbox, then you should have a try. I think that it maybe also invariant to rotation, in the paper, the TSR for rotation is high. Since this is only a course project, you may assume that the fingerprint images are in good shape and orientation.

Another suggestion is try locate the singular point of fingerprint, then only run transform on it. This may come out with good result. Singular point detection can avoid the mismatch due to translation.
 

    kaushi

    Points: 2
    Helpful Answer Positive Rating
Re: Finger Print Identifier

Hello Leekk8,
Now I have set up my aims(at leat my supervisor wanted me to do the following- alas he doesn't allow me to assume the finger prints are not rotated).
1.Implement Image Extraction using Ramond Thai mathod.
2.Implement matching using elastic matching by Anil Jain et al.
3.Implement WFMT analysis for above all as an alternative method.
4.Compare the performance of the 2 methods.
I have used the same code of kiki.
Then I tried with using morphological thinning instead of his /her thinning method "canny"
It is becuse When looking at the image resulting from canny I didn't feel confident at all.
After my thinning the imge looked the way I want.
But the matter is I get thousands of ridge endings along the ridges.I will send the code to you.Could you help me please.
And till that I am trying that matching algorithm by jain.
And do u men by singularity points the same as minutia?
Thank you in advance.
 

    V

    Points: 2
    Helpful Answer Positive Rating
Re: Finger Print Identifier

kaushi,

Sorry for the late reply. I havn't read the code you sent, as I have no Matlab in my office PC. For the ridge ending, I think you can refer to kiki's code. The code works well to detect the ridge ending and bifurcation.

For thinning, you can use morphological thinning instead of canny. FYI, canny is a edge detection method. Once you see a satisfactory result of thinning, then should be no problem.

Singular point detection is not minutiae...Minutiae is the ridge bifurcation and ending. In fingerprint image, there's a core point. The core point is the singular point. You can read some books if you want to know more about singular points. Delta is another type of singular points.

After you extract the features, then you can match them using Jain's method and WFMT. It's good that you can compare the result of both methods.

Wish you all the best.
 

    kaushi

    Points: 2
    Helpful Answer Positive Rating
Re: Finger Print Identifier

Hi Leek,
I'm back at work after exams.What was the problem with me is when apply canny method I don't get a thinned image as expected .It looks like a web.It doesn't leave the original pattern at all.With morpological thinning it did the thinning perfectly but left me with ridge endings all along the ridge lines .For now I thought of use the minutia validation algorithm given in thai's thesis.I'll inform u about the progress
 

Re: Finger Print Identifier

I will upload just the resulting images after I used morphological thinning.Hope u can get what has happened.Don't worry to edit the code just ,it's ok but just try to guess what's wrong with that.
What I thought was that validation algorithm is needed.That's what I am doing now.

I have another problem too.:cry:


I wrote the validation code based on thai's work.
It seems as if works as long as I apply 100 (nearly 1/3 of the width of image).It filtered out some unnecessary points (At least it reduced the ridge ending count).
But when I apply for whole image or for 150x150 pixels it says
One or more output arguments not assigned when calling this function.

Can u pls help me in those 2 problems.Sorry I bother u a lot.

Added after 8 minutes:

I forgot to add the images
 

Re: Finger Print Identifier

im also a newer.learned very much here
 

Re: Finger Print Identifier

Hi leek!
Good news !My first problem is over.That is I can extract minutia.The problem was that I have taken the image complement after thining.Now that is not used any more.
Just the second problem remains.And it shows that the logical performance of that too is ok.
it filters out unwanted points but within a very small area of about 100x100 pixels.
The error message is as I mentioned in the previous post for a larger area.


One or more output arguments not assigned when calling this function.
But I'm on my way to correct that too.If u r free only pls help me.
 

Re: Finger Print Identifier

kaushi,

I've looked the attachment, there're 5 m files. Please indicate which file having the error.
 

Re: Finger Print Identifier

Hi Leek,
Sorry for I could't visit the site.The problem was solved finally.
I implemented the software part to some extent and matched some images.
But the threshold value has to be very low so I am not sure that the simple maching algoritm I used is enough.
Of course it worked with most of the images but not all.
I am trying with anil jain algorithm.
There I have to record the associated ridge with each minutia.
When matching we have to use each pixel location on those ridges and their total length.
To get the ridges what I thought is:
label the thinned image
record the pixels with matching labels with that of the minutia point.
Will that be too lengthy and is there any other good way.
I don't know whether there is a function to find the connectivity.(so far as I know it is used only as a parameter)
Can u pls help me.Thanks in advance
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top