2011-01-27 41 views
15

我使用iso 19794-2指纹数据格式。所有的数据都是iso 19794-2格式。我有超过十万个指纹。我希望进行有效的搜索以确定匹配。是否有可能构造一个像结构一样的二叉树来执行一个有效(最快)的匹配搜索?或者建议我一个更好的方法来找到匹配。并且还建议我使用java的开源api来进行指纹匹配。帮我。谢谢。iso 19794-2指纹格式

+0

你从哪里得到指纹数据? – Yehonatan 2011-01-27 15:25:02

+0

@Yehonatan:来自我的客户。 – brainless 2011-01-29 10:12:59

回答

18

你有指纹匹配的背景吗?这不是一个简单的问题,你需要一些理论来解决这个问题。查看博洛尼亚大学的BioLab(该领域领先的研究实验室)的this introduction to fingerprint matching

让我们现在回答您的问题,即如何使搜索更有效。

根据它们展示的宏观奇点类型,指纹可以分为5个主要类别。

有三种类型的宏奇点:

  • 螺纹(一种圆的)
  • (コ反转)
  • 增量(一种三通过)

根据那些宏的位置-singularities,你可以在这些类指纹分类:

  • 帐篷拱
  • 右环
  • 左环
  • 螺纹

将搜索范围缩小到正确的级别后,即可执行匹配。从你的问题看,你必须做一个识别任务,所以恐怕你必须做所有的比较,或者添加一些预处理层(如我写的分类)以进一步缩小搜索字段。

您可以在Maltoni,Maio,Jain和Prabhakar这本领域领先的研究人员的书Handbook of Fingerprint Recognition中找到大量有关指纹匹配的信息。

为了读取ISO 19794-2格式,您可以使用NIST开发的一些名为BiomDI, Software Tools supporting Standard Biometric Data Interchange Formats的实用程序。您可以尝试将其与开放源码匹配算法(如this biometrics SDK中的算法)进行对接。然而,它需要很多工作,包括从一种格式到另一种格式的转换以及算法的微调。

我的意见(作为一名在生物识别领域工作的博士生)是,在这个领域,你可以很容易地编写代码,在任何时候都能完成60%的任务,但其余的40%将是:

  • 很难写(20%);和
  • 真的很难写没有钱和时间(20%)。

希望帮助!

编辑:约NIST BiomDI

编辑添加信息2:因为人们有时给我发电子邮件,要求标准的副本,我遗憾的是没有人分享。我只有一个link to the ISO page that sells the standard

2

iso格式指定了用于匹配和决策参数的有用机制。决定你希望用什么机制来确定匹配,以及相关的决策参数。在确定了这些机制和决策参数后,请检查它们,看看哪些能够投入订单 - 具有相当高的个人价值,因为您希望避免数据发生多重冲突。当您确定了具有此属性的少量数据项(最好是一个)时,请计算每个指纹的属性 - 最好是将它们添加到数据库时,尽管最初可以完成批量加载。然后,搜索匹配是在计算出的特征上完成的,可以通过二叉树,黑红树或其他各种搜索过程完成。如果不知道在数据库中存在何种形式和程度的价值差异,我无法推荐特定的搜索策略。然而,这样的搜索策略应该能够提供(小)范围的可能匹配 - 然后可以根据您的匹配机制和参数逐个测试,然后再决定特定的匹配。