neilharan / openafis

OpenAFIS: High performance C++ fingerprint matching library
BSD 2-Clause "Simplified" License
83 stars 23 forks source link

Does not work with SecuGens feature extractor #5

Open AlekseyMalyshev opened 3 years ago

AlekseyMalyshev commented 3 years ago

I tested matcher with iso files, generated from our private fingerprint database and it does not work with SecuGens free SDK. I tried finding a match in a large database of roll prints using a flat print from the same database (a different print from one of those fingers). The sample application was consistently finding a wrong image from a different person.

neilharan commented 3 years ago

Hi Aleksey,

Thanks for your interest in OpenAFIS.

I presume you're not having problems using the library to match the isos included in the repo - i.e. it's just when making isos from your existing raster files?

That being the case, the most likely cause of the issue is resolution of the raster files vs the configuration passed to SecuGens SDK. This is particularly likely if your input raster file resolutions vary. Are you using the python script in the repo as a starting point?

Neil

AlekseyMalyshev commented 3 years ago

I presume you're not having problems using the library to match the isos included in the repo - i.e. it's just when making isos from your existing raster files?

Yes, samples work fine. However in the example you are searching using a file from the same database. You do not need a complicated algorithm to match two exact files. Real life tasks involve matching fingerprints from different takes. More advanced tasks require latent fingerprint search, which is even more complicated, because the print quality may be low and one usually has only a small part of the minutiae.

That being the case, the most likely cause of the issue is resolution of the raster files vs the configuration passed to SecuGens SDK. This is particularly likely if your input raster file resolutions vary. Are you using the python script in the repo as a starting point?

Yes, I am using the script. However I was not able to start the extractor using lib.SG_DEV_FDU05 settings. It complained that it was not able to initialize the device. Obviously I do not have a device. I changed this to lib.SG_DEV_FDUSDA. Most fingerprint images are in 500 ppi 8 bit grayscale. The image dimensions may vary.

I was able to run the matching algorithm using data, generated by mindtct minutia extractor, but using real life images similarity score is very low - usually around 3%, very rarely it goes above 10%. Also the algorithm often gives false positives, even when a real match present in candidate database.

neilharan commented 3 years ago

Hi Aleksey. Apologies, my time has been focussed elsewhere recently. Were you able to resolve the issues you were experiencing or did you have to move on?

I've only used this library with SecuGens SDK. I haven't tried any other minutia extractors; it's quite possible there are issues in the ISO template importing that don't show up with SecuGens output. It might be possible to visualise this using the render feature.

To reasure you though, this library is used in several large-scale production environments. It's well able to reliably match prints in a live environment.

tobiasmcnulty commented 1 year ago

To reasure you though, this library is used in several large-scale production environments. It's well able to reliably match prints in a live environment.

Hi @neilharan! Thanks for publishing this library. We tested the example and it works. My company is interested in obtaining commercial support for OpenAFIS. If you or someone you know might be interested, please email me at tobias@caktusgroup.com. (My apologies for co-opting this issue. Feel free to delete this comment if you see fit.)