Code covered by the BSD License  

Highlights from
Fingerprint matching algorithm using shape context and orientation descriptors

4.85714

4.9 | 7 ratings Rate this file 152 Downloads (last 30 days) File Size: 1.74 MB File ID: #29280
image thumbnail

Fingerprint matching algorithm using shape context and orientation descriptors

by Joshua Abraham

 

04 Nov 2010 (Updated 08 Aug 2011)

Fingerprint matching code using a hybrid descriptor. EER < 1% (approx. 0.75%) on FVC2002 Db1_A.

| Watch this File

File Information
Description

This is a fingerprint matching code based on the fingerprint matching algorithm found in the upcoming book chapter (published in July 2011):

Book title: State of the art in Biometrics (ISBN 978-953-307-489-4)
Chapter title: Fingerprint Matching using A Hybrid Shape and Orientation Descriptor
Authors: Joshua Abraham, Paul Kwan and Junbin Gao

Located at:

http://www.intechopen.com/articles/show/title/fingerprint-matching-using-a-hybrid-shape-and-orientation-descriptor

Note: LATEST version of the book chapter describing some minor simplifications to the implemented algorithm is now attached in the sc_minutia.zip file (with identical performance recorded, EER=0.75% for FVC2002 DB1_A). Please still reference the original book chapter found at the link above.

Performs reasonably well on FVC2002 database 1 set A. This algorithm uses a hybrid descriptor based on the shape context and Tico's orientation descriptor. However, the shape context descriptor has been modified to include Gaussian bin weighting and other modifications. The Tico orientation descriptor has also been modified to weigh orientation point coverage.

Required Products Image Processing Toolbox
MATLAB release MATLAB 7.4 (R2007a)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (23)
07 Nov 2010 Bonnie Lee

This is very good software with low EER. However, documentation
needs fixing. The readme needs updated.

I had to add path sc_minutia folder first.
After templates created, I can run
BASE_IMG=''; main

This is long however. But I found that Ctrl-C to interrupt
process can be continued again with just 'main'.

also, when stopped, the RES_G and RES_B arrays can be used
to plot EER graphs with

[ig,ib]=calc_EER(1./RES_G, 1./ RES_B);
plot(ig);
hold;
plot(ib, 'red');
axis([0 200 0 100]);

The EER is quite good. I have a question, what are the SC_G
and SC_B vectors for?

07 Nov 2010 Joshua Abraham

SC_G and SC_B are additional shape context similarity distance.

They can be added to the the RES_G, RES_B scores, for instance
with something like:

 roc( RES_B + 0.1*SC_B, RES_G + 0.1*SC_G)

Thanks

Joshua

07 Nov 2010 Joshua Abraham

Just one more thing to mention, this is proof of concept code.

The code will be further documented and optimised. At the moment, it runs slow (sorry about this) and documentation is
sparse. Please, if you have any questions about the code, email
me.

07 Nov 2010 Joshua Abraham

Sorry, mistake...I should have written

 roc( RES_B - 0.1*SC_B, RES_G - 0.1*SC_G)

before, since we are dealing with distances not similarity scores.

10 Nov 2010 Paul Smyth

Hard to find good performing code on the net. Thanks for this.

18 Apr 2011 JuCheng Yang

it is a nice code, one note, i meet a bug in the do_match.m;

??? Error using ==> load
Unknown text on line number 1 of ASCII file 'F:\sc_minutia\'101_1.o'

Error in ==> f15 at 1
load('F:\sc_minutia\'101_1.o');

to solve it, change all the "load" into "importdata" in the file do_match.m.

18 Apr 2011 Joshua Abraham

Thank you JuCheng for your bug notification. I will make the changes you suggest in the next update.

29 Apr 2011 Le Hai

Hi Joshua,
Could you give your idea about the combination between shape context and orientation descriptions in your code, so we can follow your code easily.
Thank you.

30 Apr 2011 Joshua Abraham

Hello Le

The good news is that a book chapter is about to be published on June 21st 2011,
which will be free for everyone to download. Unfortunately, I am not allowed to give detailed comments until this date. However, I will provide a link to the book and attach the book chapter at the publishing date (21st June).

I hope this will help everyone.

26 Jun 2011 Le Hai

Hi Joshua,

Is the link to the book chapter available and free for everyone?

Thank you much.

04 Jul 2011 yagnesh  
01 Aug 2011 Abioye Samson

Hi Joshua, i am also working on a similar project, Thanks for the help. God bless u.

09 Aug 2011 Abdul Aziz

Excellent work!!

30 Sep 2011 nejc

Hi! I get an error for folowing line of code: "file_a = substring(char(file_a), 0, findstr(char(file_a), '_')-2);". Matlab returns an error: "??? Undefined function or method 'substring' for input arguments of type 'char'.". There is no substring function in matlab... How did you solve this ?

01 Oct 2011 nejc

Ok, stupid question... I solved it :) will be any speed up of the algorithm available in the future ? :) Thank you

24 Oct 2011 Joshua Abraham

Hello Nejc,

Sorry for the late reply...I have a much much faster algorithm coming out soon.

The EER for that is 0.96% to 0.67%..

This will be uploaded soon.

Thanks

04 Nov 2011 nejc

Joshua this is great! Can't wait for new release!

Thank you!

06 Dec 2011 Sushobhit Rajan

means comparing the template is gud..and thanks for ur logic....but now how should i take input through device and check the identification

13 Dec 2011 Joshua Abraham

Sushobhit, this code is aimed towards fingerprint images already collected by scanning devices. You may need to write some trigger code that collects an image file from the scanners and then calls this code for feature extraction
with 'extract_finger <image file>'. Just add a line to this script change to the path the images will be saved. Hope this helps

02 Mar 2012 harjan

hi, What is the term COMP_IMg meant?

02 Mar 2012 Joshua Abraham

Hello Harjan, COMP_IMG is the string reference to the database for the query fingerprint impression.

31 Mar 2012 zaidan

let me know it first but it's nice code for beginner

23 Apr 2012 Sesh

Joshua,can you tell me the reference as to how in the testfin.m,you could say the median frequency value usage gives better output??I read different papers but could not find it anywhere..please help..

Please login to add a comment or rating.
Updates
05 Nov 2010

Description update.

07 Nov 2010

Readme.txt file updated.

07 Nov 2010

1) readme.txt file updated
2) Typo in software description fixed

07 Nov 2010

1) readme.txt updated

2) program description update

14 Nov 2010

All plots are now done in one window as subplots for neatness sake.
Redundant old filter files are also removed.
Some messy debug is also removed.

09 Apr 2011

SVD used in affine transformation rotation calculation. Also, the EER graph is drawn at end of experiment. Lastly, unused files were removed.

20 Jun 2011

Summary includes reference to peer reviewed chapter that the method is derived from.

25 Jun 2011

Updated book title and release information

27 Jul 2011

Added link to document

28 Jul 2011

URL of book chapter for implemented method added in the description

07 Aug 2011

Attached updated book chapter referring to the latest implementation of the algorithm (minor change in similarity score calculation).

07 Aug 2011

Attached book chapter updated once again.

07 Aug 2011

Final update to attached book chapter (addendum) describing the implemented fingerprint matching algorithm.

07 Aug 2011

Final version of attached book chapter addendum required algorithms to be updated to reflect the implemented matlab algorithm.

08 Aug 2011

Removed duplicate subdirectory.

Tag Activity for this File
Tag Applied By Date/Time
fingerprint Joshua Abraham 05 Nov 2010 09:58:38
fingerprint matching Joshua Abraham 05 Nov 2010 09:58:38
fvc2002 Joshua Abraham 05 Nov 2010 09:58:38
biometric Joshua Abraham 05 Nov 2010 09:58:38
biometrics Joshua Abraham 05 Nov 2010 09:58:38
shape context Joshua Abraham 05 Nov 2010 09:58:38
shape matching Joshua Abraham 05 Nov 2010 09:58:38
computer vision Joshua Abraham 05 Nov 2010 09:58:38
hybrid descriptor Joshua Abraham 05 Nov 2010 09:58:38
fingerprint matching sijo ps 21 Feb 2011 12:40:19
fingerprint Sathiyaraj Manoharan 23 Mar 2011 13:20:19
computational forensics Joshua Abraham 11 Apr 2011 14:25:18
biometric Vivek Maik 07 Jul 2011 06:28:20
hi harjan 02 Mar 2012 00:48:15
what is the term comp_img meant harjan 02 Mar 2012 00:48:15
biometric Corentin Leruth 10 Mar 2012 08:40:01

Contact us at files@mathworks.com