Usage of VeriFinger SDK Trial?

General information about Neurotechnology and its software

Usage of VeriFinger SDK Trial?

Postby ritesh157 » Sep 17, 2018 03:38

Dear Sir/Madam

I have to use VeriFinger for finding the ROC plots of fingerprint recognition. I have downloaded the Demo Application and SDK trial. I have two main concerns:

1. But, when I am using the Demo Application, it is always showing "Error: Invalid sample resolution". How can I avoid it to get the verification score?
2. Further, the demo application only gives score for two-image matching at a time. How can I modify the SDK trial to generate the thousands and lakhs of such matching scores, automatically? Is there any way to run the application inside a loop?
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby MartynasV » Sep 17, 2018 08:39

Hello,

1. But, when I am using the Demo Application, it is always showing "Error: Invalid sample resolution". How can I avoid it to get the verification score?

Use search as there are a lot of answers in this forum(https://www.neurotechnology.com/neurotec-forum/viewtopic.php?f=3&t=94127&p=104748&hilit=Invalid+sample+resolution&sid=a194e27a72807c72f89f2ce7260542b4&sid=a194e27a72807c72f89f2ce7260542b4#p104748). Also you can use 3rd party programs as "IrfanView" to change resolution.

2. Further, the demo application only gives score for two-image matching at a time. How can I modify the SDK trial to generate the thousands and lakhs of such matching scores, automatically? Is there any way to run the application inside a loop?

You have to modify application's source code to do that, Fingers demo code can be found in SDK: "SDK\Samples\Biometrics\CPP\FingersSampleWX". How to do 1:many matching and get all results can be found here: "SDK\Tutorials\Biometrics\CPP\IdentifyFingerCPP".
Note that to get all matching results you have to lower Matching Threshold to 0.
Martynas V
Neurotechnology
MartynasV
Neurotechnology
 
Posts: 397
Joined: Feb 27, 2015 11:24
Location: Vilnius, Lithuania

Re: Usage of VeriFinger SDK Trial?

Postby ritesh157 » Sep 18, 2018 02:32

Dear Martynas V

Thank you very much for your informative reply.

But, whenever I am trying to run the cpp codes (using CodeBlocks compiler), it shows error that header files are not found.

Is there a way to use C/Cpp codes in MATLAB, as I am more familiar to MATLAB?
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby MartynasV » Sep 18, 2018 09:32

ritesh157 wrote:Dear Martynas V

Thank you very much for your informative reply.

But, whenever I am trying to run the cpp codes (using CodeBlocks compiler), it shows error that header files are not found.

Is there a way to use C/Cpp codes in MATLAB, as I am more familiar to MATLAB?

Hello,

Header files are located in "SDK\Include" dir.
You can use our libraries with MATLAB, we had clients who successfully did.

Our C/C++ projects are made with Visual Studio, if you have VS, then it will be easy to open and compile them.
Martynas V
Neurotechnology
MartynasV
Neurotechnology
 
Posts: 397
Joined: Feb 27, 2015 11:24
Location: Vilnius, Lithuania

Re: Usage of VeriFinger SDK Trial?

Postby ritesh157 » Sep 24, 2018 08:39

Thank you very much Dear Martynas V.

Can you provide any information regarding how can we manipulate the given API's to extract the features of multiple images (thousands of images) stored in a folder?

The ultimate goal is to draw ROC, which can only be done if genuine and imposter scores are known.

That would be a great assistance.
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby MartynasV » Sep 24, 2018 12:38

ritesh157 wrote:Thank you very much Dear Martynas V.

Can you provide any information regarding how can we manipulate the given API's to extract the features of multiple images (thousands of images) stored in a folder?

The ultimate goal is to draw ROC, which can only be done if genuine and imposter scores are known.

That would be a great assistance.

Hello,

The same as you do with one image, just load an image and enroll it. It is actually done in our Identify tutorial:
"SDK\Tutorials\Biometrics\CPP\IdentifyFingerCPP"
, multiple subjects(images) are added to enroll task and then they all are enrolled. If you have a lot of images, then it would be good practice to add ~1000 images(subjects) to single task and then perform that task.


VeriFinger software does not plot ROC curves itself. It can be used to calculate similarity score between finger images.

If you have a dataset with finger images, generate finger templates for all images with our software, use generated templates to get similarity scores separately for all genuine and impostor pairs (do not forget to reset matching threshold to 0 if you want to receive all positive similarity scores). Use any conventional software for computing and plotting ROC curves from the scores, for example, http://scikit-learn.org/stable/auto_exa ... t_roc.html

Follow our tutorials how to use our API:
How to extract template:
"SDK\Tutorials\Biometrics\CPP\EnrollFingerFromImageCPP"
"SDK\Tutorials\Biometrics\CPP\EnrollFingerFromScannerCPP"

How to perform matching:
"SDK\Tutorials\Biometrics\CPP\IdentifyFingerCPP"
Then save those matching results and use them to draw ROC curve.

https://en.wikipedia.org/wiki/Receiver_ ... acteristic
Martynas V
Neurotechnology
MartynasV
Neurotechnology
 
Posts: 397
Joined: Feb 27, 2015 11:24
Location: Vilnius, Lithuania

Re: Usage of VeriFinger SDK Trial?

Postby ritesh157 » Sep 26, 2018 08:03

Dear Martynas V

Thank you for your reply.

I was running EnrollFingerFromImageCPP.cpp in Visual Studio 2017, and facing following issues while debugging:

1. The debugger is showing error:
Cannot find or open the PDB file.
for NBiometricClient.dll, NBiometrics.dll and all other dll files from Neurotechnology.
2. How can one provide the path to the input fingerprint image and to the output feature template?

Please provide information to resolve above two issues and also, how the feature templates of the two fingerprints be matched?

Thanks in advance.
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby Martynas » Sep 26, 2018 08:14

Hello,

ritesh157 wrote:1. The debugger is showing error: Cannot find or open the PDB file. for NBiometricClient.dll, NBiometrics.dll and all other dll files from Neurotechnology.


it is expected behavior, because we do not provide PDB files and you can just ignore this message in your application output in VS2017.

ritesh157 wrote:2. How can one provide the path to the input fingerprint image and to the output feature template?


Tutorials in the SDK are designed so that it reads values from command line. If you are using VS2017 for running the tutorial, then right click on i.e. EnrollFingerFromImageCPP in VS, then select Properties, then find "Debugging" and "Command Arguments". Enter here the full path to input image and full path for output template file.

ritesh157 wrote:also, how the feature templates of the two fingerprints be matched?


Check tutorial VerifyCPP, to see how already extracted templates are used for verification (1:1 matching).
Check tutorial IdentifyCPP, to see how already extracted templates are used for identification (1:N matching).
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2227
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Re: Usage of VeriFinger SDK Trial?

Postby ritesh157 » Sep 26, 2018 08:30

Thanks for the reply.

The properties window has "Command", "Command Arguments" and "Working Directory".

Where to specify input path, output path and filename?

Also, how to run this thing for multiple images? Means can you provide some lines of codes to run the same operation repetitively inside a loop?

Thank you in advance.
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby Martynas » Sep 26, 2018 08:56

Hi,

ritesh157 wrote:Where to specify input path, output path and filename?


Already answered in previous post: Tutorials in the SDK are designed so that it reads values from command line. If you are using VS2017 for running the tutorial, then right click on i.e. EnrollFingerFromImageCPP in VS, then select Properties, then find "Debugging" and "Command Arguments". Enter here the full path to input image and full path for output template file.

ritesh157 wrote:Also, how to run this thing for multiple images? Means can you provide some lines of codes to run the same operation repetitively inside a loop?


There is no such tutorial, which would be designed to extract templates from multiple images. But you can edit source code of tutorials, or even create your own application, which will do your requested functionality.
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2227
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Re: Usage of VeriFinger SDK Trial?

Postby ritesh157 » Sep 26, 2018 08:59

Thank you very much Dear Martynas.

Actually the EnrollFingerFromCPP.cpp is using main function with two arguments argc and argv.

I was not getting how to pass input and output paths to these arguments.
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby ritesh157 » Sep 27, 2018 02:40

Dear Martynas

Following are the Command Arguments That I passed in the properties window of EnrollFingerFromImageCPP.cpp:

3 p1.bmp p1n ANSI

where "p1.bmp" is name of the fingerprint image file, stored in the directory "SDK\Tutorials\Biometrics\CPP\EnrollFingerFromImageCPP\" and "p1n" is the desired output name for the template file.


But, there is no output template generated after debugging.

I request you to please provide help on this:

1. How to run the above mentioned cpp file?
2. How to get the templates in the same directory?

Your time will be highly appreciated.
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby Martynas » Sep 27, 2018 07:59

ritesh157 wrote:3 p1.bmp p1n ANSI


What is the "3" in your arguments? This tutorial ask fro 3 arguments only: [image] [template] [format]. In your case there are 4 arguments.

ritesh157 wrote:where "p1.bmp" is name of the fingerprint image file, stored in the directory "SDK\Tutorials\Biometrics\CPP\EnrollFingerFromImageCPP\" and "p1n" is the desired output name for the template file.


if you are running the tutorial by using Biometrics.sln, then the working folder of the application is either "win32_x86" either "win64_x64" of the SDK (depends on the configurations selected in the VS).
So if you are providing not full paths to filenames, then these files should be put into "win32_x86" either "win64_x64" .
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2227
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Re: Usage of VeriFinger SDK Trial?

Postby ritesh157 » Sep 27, 2018 08:07

Dear Martynas

Thank you very much for your reply.

I was giving '3' as the number of arguments. Actually, I am new to C++ and Visual Studio.

I followed your instructions and debugged the EnrollFingerFromImageCPP.cpp file, but no output template was generated in "SDK/BIN/win64_x64" directory.

Thank you for your time.
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby Martynas » Sep 27, 2018 11:21

ritesh157 wrote:I followed your instructions and debugged the EnrollFingerFromImageCPP.cpp file, but no output template was generated in "SDK/BIN/win64_x64" directory.


Did you get any output in the application? Could you paste it here?
Best regards,

Martynas
Software Consultant
Neurotechnology
Martynas
Neurotechnology
 
Posts: 2227
Joined: Sep 19, 2008 10:02
Location: Vilnius, Lithuania

Re: Usage of VeriFinger SDK Trial?

Postby ritesh157 » Sep 27, 2018 12:44

Dear Martynas

Every time I debug the "EnrollFingerFromImageCPP.cpp" file, following new files are created in "SDK/bin/win64_x64" directory:

1. EnrollFingerFromImageCPP.pdb
2. EnrollFingerFromImageCPP.ilk
3. EnrollFingerFromImageCPP.exe

But the output file (with name p1n) is not generated. Also, I have checked after changing the image resolution to 500 through irfanview.

Please provide further help.
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby ritesh157 » Oct 01, 2018 08:07

Dear Martynas

To check the procedure whether I was debugging the "EnrollFingerFromImageCPP.cpp" file in correct way or not, I tried debugging the "EnrollIrisFromImageCPP.cpp" file with an legitimate iris image, using VeriEye SDK trial license for Iris Extraction.

And, I am happy to say that the template file for the input iris image was successfully generated. While, in case of finger template extraction, The problem of "invalid sample resolution" still persists.

Therefore, I request you to please help:

1. in extracting the templates of fingerprint images, and
2. in matching two separate iris templates, so that I can practice with matching programs too, which can later be used in matching fingerprint templates.

Your assistance would be highly appreciated.
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby MartynasV » Oct 01, 2018 08:43

ritesh157 wrote:Dear Martynas

To check the procedure whether I was debugging the "EnrollFingerFromImageCPP.cpp" file in correct way or not, I tried debugging the "EnrollIrisFromImageCPP.cpp" file with an legitimate iris image, using VeriEye SDK trial license for Iris Extraction.

And, I am happy to say that the template file for the input iris image was successfully generated. While, in case of finger template extraction, The problem of "invalid sample resolution" still persists.

Therefore, I request you to please help:

1. in extracting the templates of fingerprint images, and
2. in matching two separate iris templates, so that I can practice with matching programs too, which can later be used in matching fingerprint templates.

Your assistance would be highly appreciated.

Hello,

"SDK\Tutorials\Biometrics\CPP\IdentifyIrisCPP" - 1:many matching
"SDK\Tutorials\Biometrics\CPP\VerifyIrisCPP" - 1:1 matching

About "invalid sample resolution" we are communicating via emails.
Martynas V
Neurotechnology
MartynasV
Neurotechnology
 
Posts: 397
Joined: Feb 27, 2015 11:24
Location: Vilnius, Lithuania

Re: Usage of VeriFinger SDK Trial?

Postby ritesh157 » Oct 01, 2018 08:44

Dear Martynas

I was trying to debug VerifyIrisCPP, but suddenly trial licenses got expired. How can I tackle this problem?
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby MartynasV » Oct 01, 2018 08:50

ritesh157 wrote:Dear Martynas

I was trying to debug VerifyIrisCPP, but suddenly trial licenses got expired. How can I tackle this problem?


Generate diagnostics via Activation Wizard and send it to support@neurotechnology.com with request.
Martynas V
Neurotechnology
MartynasV
Neurotechnology
 
Posts: 397
Joined: Feb 27, 2015 11:24
Location: Vilnius, Lithuania

Re: Usage of VeriFinger SDK Trial?

Postby ritesh157 » Oct 02, 2018 03:47

Dear Martynas

Thank you for your immense help. The "invalid sample resolution" is now solved.

Additionally, I have created the template database, of say 500 images, using the VeriFinger Algorithm Demo. I am also able to see the scores for every image in the database, using the identification (1:N matching) strategy.

My next concern is:
1. Is there any way to copy the scores from Algorithm Demo to a spreadsheet or so? (I have lowered the FAR to 50%, for now, to generate all 500 scores in the identification mode)
2. Alternatively, how can I modify the CPP files to store the scores?

Looking forward to your reply.
ritesh157
 
Posts: 12
Joined: Sep 17, 2018 03:17

Re: Usage of VeriFinger SDK Trial?

Postby MartynasV » Oct 02, 2018 10:17

ritesh157 wrote:Dear Martynas

Thank you for your immense help. The "invalid sample resolution" is now solved.

Additionally, I have created the template database, of say 500 images, using the VeriFinger Algorithm Demo. I am also able to see the scores for every image in the database, using the identification (1:N matching) strategy.

My next concern is:
1. Is there any way to copy the scores from Algorithm Demo to a spreadsheet or so? (I have lowered the FAR to 50%, for now, to generate all 500 scores in the identification mode)
2. Alternatively, how can I modify the CPP files to store the scores?

Looking forward to your reply.

Hello,

Our SDK doesn't have functionality to work with spreadsheets, you will have to use 3rd party tools to do that.

2. Alternatively, how can I modify the CPP files to store the scores?

See "SDK\Tutorials\Biometrics\CPP\IdentifyFingerCPP" tutorial.
Martynas V
Neurotechnology
MartynasV
Neurotechnology
 
Posts: 397
Joined: Feb 27, 2015 11:24
Location: Vilnius, Lithuania


Return to Public

Who is online

Users browsing this forum: No registered users and 1 guest

cron