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.

koosdoos

Member level 2
Joined
Jun 8, 2006
Messages
49
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,288
Activity points
1,614
code for crossing number algorithm in fingerprint

Hi Guys ,

I need some help on fingerprint recognition that im working on .

First off all i'm quite confused on the topic of recognition at the moment . I've read through many papers / books and theses and and the theory is giveing me headaches .

Anyway as I understand there are different ways to do fingerprint recognition :
This is how to extract data form the actual images :
1) Extract the minutiae from the binarized image ( saving their locations and what type they are eg. ridge end , bifurication etc .) .
or
2) Do some gabor filtering and FFT on the image and save the filter details .

Now you need to compare using one of the above methods with another fingerprint that you extract the same details from .

Is the above right or wrong ?
For what reason do we use gabor and FFT filters on the image ?

Thanks
 

Hi, koosdoos

I'm not sure I can help you or not, but I've completed a fingerprint recognition system in my thesis. In fact, there're a lot of method for fingerprint recognition. I'm using Neural Network for matching. Sure minutiae based matching and Gabor or FTT also effective methods.

You're right. For minutiae based matching, you need to extract the minutiae details, such as bifurcation or ending, and match them.

Gabor filter has advantage that it's invariant with orientation. Even your fingerprint is rotated to a certain degree, Gabor filtering can compute same extraction, thus they can be matched correctly.

In fingerprint recognition system, we need to consider about the translation, rotation and wounds on the fingerprint images.

Hope these make you more clear about it.
 
koosdoos,

If you prefer to do Gabor Filtering, then you have to read about it and understand it. I guess it won't be very hard, and it's possible you can do it. Try to understand it's concept and theory, get the equations and compute them in matlab. I'm not very sure about the Gabor Filtering. After the Gabor filter, yes, you can feed the outcome of Gabor filter into neural network for recognition. In fact, there're other ways as well for recognition. You must be clear about your project's requirement and what you prefer.

Wish you all the best!
 

hi,
i have just finished my project on fingerprint recognition.. so i think i will be able to solve ur doubts...
Gabor filter is very tough to understand unless u get a book on "handbook of fingerprint recog"
I think they have given well in that book.
First u have to capture the image from the scaner...We had used optical scnanner
Then filtering is done to join the broken ridges & to remove noise.
Then binarization is carried out to convert the image into black & white
The thinning is done to get one pixel thin image.
We got the bifurcation point using crossing number technique & then matching process
If any doubts..u can contact me at ...majithia_sam@yahoo.co.in
 

    koosdoos

    Points: 2
    Helpful Answer Positive Rating
    V

    Points: 2
    Helpful Answer Positive Rating
Fingerprint authentication refers to the automated method of verifying a match between two human fingerprints. Fingerprints are one of many forms of biometrics used to identify an individual and verify their identity. This article touches on two major classes of algorithms (minutia and pattern) and four sensor designs (optical, ultrasonic, passive capacitance, and active capacitance).
Contents
[hide]

* 1 Background
o 1.1 Patterns
o 1.2 Minutia features
* 2 Fingerprint sensors
o 2.1 Optical
o 2.2 Ultrasonic
o 2.3 Capacitance
+ 2.3.1 Passive capacitance
+ 2.3.2 Active capacitance
* 3 Algorithms
o 3.1 Pattern-based (or Image-based) algorithms
o 3.2 Minutia-based algorithms
* 4 See also
* 5 References
* 6 External links

[edit]

Background

The analysis of fingerprints for matching purposes generally requires the comparison of several features of the print pattern. These include patterns, which are aggregate characteristics of ridges, and minutia points, which are unique features found within the patterns.[1] It is also necessary to know the structure and properties of human skin in order to successfully employ some of the imaging technologies.VVV
[edit]

Patterns

The three basic patterns of fingerprint ridges are the Arch, Loop, and Whorl. An arch is a pattern where the ridges enter from one side of the finger, rise in the center forming an arc, and then exit the other side of the finger. The loop is a pattern where the ridges enter from one side of a finger, form a curve, and tend to exit from the same side they enter. In the whorl pattern, ridges form circularly around a central point on the finger. Scientists have found that family members often share the same general fingerprint patterns, leading to the belief that these patterns are inherited. [2]
The arch pattern.
Enlarge
The arch pattern.
The loop pattern.
Enlarge
The loop pattern.
The whorl pattern.
Enlarge
The whorl pattern.


[edit]

Minutia features

The major minutia features of fingerprint ridges are: ridge ending, bifurcation, and short ridge (or dot). The ridge ending is the point at which a ridge terminates. Bifurcations are points at which a single ridge splits into two ridges. Short ridges (or dots) are ridges which are significantly shorter than the average ridge length on the fingerprint. Minutiae and patterns are very important in the analysis of fingerprints since no two fingers have been shown to be identical.[3]
Ridge ending.
Enlarge
Ridge ending.
Bifurcation.
Enlarge
Bifurcation.
Short Ridge (Dot).
Enlarge
Short Ridge (Dot).


[edit]

Fingerprint sensors

A fingerprint sensor is an electronic device used to capture a digital image of the fingerprint pattern. The captured image is called a live scan. This live scan is digitally processed to create a biometric template (a collection of extracted features) which is stored and used for matching. This is an overview of some of the more commonly used fingerprint sensor technologies.
[edit]

Optical

Optical fingerprint imaging involves capturing a digital image of the print using visible light. This type of sensor is, in essence, a specialized digital camera. The top layer of the sensor, where the finger is placed, is known as the touch surface. Beneath this layer is a light-emitting phosphor layer which illuminates the surface of the finger. The light reflected from the finger passes through the phosphor layer to an array of solid state pixels (a charge coupled device) which captures a visual image of the fingerprint. A scratched or dirty touch surface can cause a bad image of the fingerprint. A disadvantage of this type of sensor is the fact that the imaging capabilities are affected by the quality of skin on the finger. For instance, a dirty or marked finger is difficult to image properly. Also, it is possible for an individual to erode the outer layer of skin on the fingertips to the point where the fingerprint is no longer visible. However, unlike capacitive sensors, this sensor technology is not susceptible to electrostatic discharge damage.[4]
[edit]

Ultrasonic

Ultrasonic sensors make use of the principles of medical ultrasonography in order to create visual images of the fingerprint. Unlike optical imaging, ultrasonic sensors use very high frequency sound waves to penetrate the epidermal layer of skin. The sound waves are generated using piezoelectric transducers and reflected energy is also measured using piezoelectric materials. Since the dermal skin layer exhibits the same characteristic pattern of the fingerprint, the reflected wave measurements can be used to form an image of the fingerprint. This eliminates the need for clean, undamaged epidermal skin and a clean sensing surface.[5]
[edit]

Capacitance

Capacitance sensors utilize the principles associated with capacitance in order to form fingerprint images. The two equations used in this type of imaging are:

C = \frac{Q}{V}

C = \epsilon_0 \epsilon_r \frac{A}{d}

where

C is the capacitance in farads
Q is the charge in coulombs
V is the potential in volts
ε0 is the permittivity of free space, measured in farad per metre
εr is the dielectric constant of the insulator used
A is the area of each plane electrode, measured in square metres
d is the separation between the electrodes, measured in metres

In this method of imaging, the sensor array pixels each act as one plate of a parallel-plate capacitor, the dermal layer (which is electrically conductive) acts as the other plate, and the non-conductive epidermal layer acts as a dielectric.
[edit]

Passive capacitance

A passive capacitance sensor uses the principle outlined above to form an image of the fingerprint patterns on the dermal layer of skin. Each sensor pixel is used to measure the capacitance at that point of the array. The capacitance varies between the ridges and valleys of the fingerprint due to the fact that the volume between the dermal layer and sensing element in valleys contains an air gap. The dielectric constant of the epidermis and the area of the sensing element are known values. The measured capacitance values are then used to distinguish between fingerprint ridges and valleys.[6]
[edit]

Active capacitance

Active capacitance sensors use a charging cycle to apply a voltage to the skin before measurement takes place. The application of voltage charges the effective capacitor. The electric field between the finger and sensor follows the pattern of the ridges in the dermal skin layer. On the discharge cycle, the voltage across the dermal layer and sensing element is compared against a reference voltage in order to calculate the capacitance. The distance values are then calculated mathematically, using the above equations, and used to form an image of the fingerprint.[7] Active capacitance sensors measure the ridge patterns of the dermal layer like the ultrasonic method. Again, this eliminates the need for clean, undamaged epidermal skin and a clean sensing surface.[8]
[edit]

Algorithms

Matching algorithms are used to compare previously stored templates of fingerprints against candidate fingerprints for authentication purposes. In order to do this either the original image must be directly compared with the candidate image or certain features must be compared.[9]
[edit]

Pattern-based (or Image-based) algorithms

Pattern based algorithms compare the basic fingerprint patterns (arch, whorl, and loop) between a previously stored template and a candidate fingerprint. This requires that the images be aligned in the same orientation. To do this, the algorithm finds a central point in the fingerprint image and centers on that. In a pattern-based algorithm, the template contains the type, size, and orientation of patterns within the aligned fingerprint image. The candidate fingerprint image is graphically compared with the template to determine the degree to which they match.[10]
[edit]

Minutia-based algorithms

Minutia based algorithms compare several minutia points (ridge ending, bifurcation, and short ridge) extracted from the original image stored in a template with those extracted from a candidate fingerprint. Similar to the pattern-based algorithm, the minutia-based algorithm must align a fingerprint image before extracting feature points. This alignment must be performed so that there is a frame of reference. For each minutia point, a vector is stored into the template in the form:

mi = (type,xi,yi,θi,W)

where

mi is the minutia vector
type is the type of feature (ridge ending, bifurcation, short ridge)
xi is the x-coordinate of the location
yi is the y-coordinate of the location
θi is the angle of orientation of the minutia
W is a weight based on the quality of the image at that location

It is important to note that an actual image of the print is not stored as a template under this scheme. Before the matching process begins, the candidate image must be aligned with the template coordinates and rotation. Features from the candidate image are then extracted and compared with the information in the template. Depending on the size of the input image, there can be 10-100 minutia points in a template. A successful match typically only requires 7-20 points to match between the two fingerprints.[11]
[edit]

See also

* Biometrics
* Authentication
* Fingerprint
* Minutiae
* Feature extraction
* Skin
* Heredity
* Medical ultrasonography
* Piezoelectricity
* Algorithm

[edit]

References

1. ↑ 1. Jain, L.C. et al. (Eds.). 1999. ‘’Intelligent Biometric Techniques in Fingerprint and Face Recognition.’’ Boca Raton, FL: CRC Press.

1. ↑ 2. Johnson, B. (2005, August 29), lecture presented in Electrical and Computer Engineering 586, University of Virginia, Charlottesville, VA. Retrieved December 13, 2005 from **broken link removed**

1. ↑ 3. Johnson, B. (2005, August 31), lecture presented in Electrical and Computer Engineering 586, University of Virginia, Charlottesville, VA. Retrieved December 13, 2005 from **broken link removed**

1. ↑ 4. Johnson, B. (2005, September 12), lecture presented in Electrical and Computer Engineering 586, University of Virginia, Charlottesville, VA. Retrieved December 13, 2005 from **broken link removed**

1. ↑ 5. Minutia vs. Pattern Based Fingerprint Templates. (2003). Retrieved December 13, 2005, from http://www.ibia.org/membersadmin/whitepapers/pdf/9/M_vs_P_White Paper_v2.pdf

1. ↑ 6. Setlak, D.R. ‘’Advances in Biometric Fingerprint Technology are Driving Rapid Adoption in Consumer Marketplace.’’ Retrieved December 13, 2005 from **broken link removed**
 

Thanks guys for the reply , i will read a bit more on these techniques .

Just another question :
Ok says you do filtering ,binarization , thinning and pull out the minutiae using the crossing number technique . And store the minutiae data (coordinates x , y ; and then the type and direction ) in a database .

How do we compare two fingerprints using neural networks ? Im quite confused on how this is done .
What algorithm should be used and how is this done ?
 

koosdoos,

Neural network is a kind of AI technique. There're many types of algorithm in neural network, you have to get an algorithm which suit your application. Examples of neural network are Backpropagation, kohonen self organizing map, ART, perceptron, and so forth. If you totally have no idea on neural network, then you may consider other methods, as neural network may take you long time to understand it.

If you can extract all the location of bifurcation and ending, you may match the two fingerprint images by direct matching using coordinate.

If you really want to do this using neural network, maybe you need to read some books on this. I also can give you some basic idea.
 

Don't ever match only the x-y co-ordinates...thats a wrong techinique... If you doing online verification then the direct matchingof x-y co-ord will fail miserably..

For offline the position will remain same & it will be too easy...

I will advice u to use matching techniques as given by Jain etc.. If u need any help then mail me at majithia_sam@yahoo.co.in
 

    koosdoos

    Points: 2
    Helpful Answer Positive Rating
Ya, I agree with smileysam. If you want to use direct matching of coordinate, you must make sure all the fingerprint images are in same orientation and free of translation.

I think there're few methods you can use for matching. Try download the Fingerprint Recognition Handbook at EDAboard Ebook Upload/Download. Neural network is a way, or you can try fourier transform, or Gabor filtering.

Smileysam,

If possible, you can share your methods here. Let all the users here get more information on this. I use neural network, however, I also wish to know about other methods.
 

    koosdoos

    Points: 2
    Helpful Answer Positive Rating
OK , thanks for the help guys .

So Ive done the binarization , thinning and minutiae extraction( x,y,direction and type) .
Now i want to feed this into a back-propagation neural network .
But how is this done ? ive read through a couple of papers/theses and the recognition handbook . I understand how it works but with that amount of input im baffled .

Thanks again .
Koosdoos
 

koosdoos,

If you understand about backpropagation, I guess you're confused how to input the data inside. I have tried it, if there're too many inputs, the result is very poor and the processing time is long. For my case, I only extract the core point part of the fingerprint image, make the image smaller then only I input into backpropagation. My advice is you should consider to use multilayer, at least two hidden layers. From my experiment, this is more efficient. It is normal that the training may take you few hours.

My another suggestion is, maybe you can study kohonen self organizing map, and try to integrate both kohonen SOM and backpropagation, if you have time on it.

All the best!!!
 

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....:)
 
Thanks SmileySam , Let me read through the text and il come back to ya .

Koos
 

hey koodoos,
let me know if u need any help..
 

    koosdoos

    Points: 2
    Helpful Answer Positive Rating
hi ,
im new to this site and i have started to do my project on the same area you are speaking about.. plaese help me with your ideas.. i dont know much in this topic. i have seen some of the papers. im not aware of how to proceed that is the software, coding and the hardware requirements...
 

sanjeev,

Can you describe more about the project you're going to do? Do you want to implement the project in software or hardware?

If you're doing hardware, I have no idea on this...

If you want to do it in software, you can always refer to some of our posts here.



You can try to search more posts on this topic.

Try to read some papers or books on this topic, figure out your requirement of project and which methods you wish to use. There are many methods for matching, eg. minutiae based matching, neural network, fourier transform, gabor filtering and so forth...

About coding, get a development software to do it. I think Matlab is good for this.

Anyway more questions, you can post here.
 

Hi leek,

Can I have your thesis report journal, cause I'm doing the same project like you. I'm using gabor filter as feature extraction (fingercode), and unsupervised neural network for the recognition part.

anyone here can help me explain about ROC curve and FAR, FRR..
Thanks.
 

Hi guys , ive got some trouble calculating the core point of the fingerprint . Any idea where i can get code for this in vb ? tnks :)
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top