iso 19794-2指纹格式
我正在使用iso 19794-2指纹数据格式。 所有数据均采用iso 19794-2格式。 我有超过十万个指纹。 我希望通过有效的搜索来识别匹配。 是否有可能构建一个二叉树结构来执行匹配的有效(最快)搜索? 或者建议我找到比赛的更好方法。 并建议我用java进行指纹匹配的开源API。 帮我。 谢谢。
你有指纹匹配的背景吗? 这不是一个简单的问题,你需要一些理论来解决这个问题。 看看博洛尼亚大学BioLab(该领域的领先研究实验室) 对指纹匹配的介绍 。
现在让我们回答您的问题,即如何提高搜索效率。
根据它们表现出的宏观奇点的类型,指纹可以分为5个主要类别。
有三种类型的宏奇点:
- 螺旋 (一种圆圈)
- 循环 (U反转)
- 三角洲 (一种三向穿越)
根据这些宏观奇点的位置,您可以对这些类中的指纹进行分类:
- 拱
- 帐篷拱
- 右循环
- 左循环
- 螺纹
将搜索范围缩小到正确的类后,即可执行匹配。 从您的问题来看,您似乎必须执行识别任务,所以我担心您将不得不进行所有比较,或者添加一些预处理层(如我写的分类)以进一步缩小搜索字段。
您可以在Maltoni,Maio,Jain和Prabhakar这本书领域的研究人员手册中找到有关指纹识别的大量信息。
为了阅读ISO 19794-2格式,您可以使用NIST开发的一些名为BiomDI的工具,支持标准生物识别数据交换格式的软件工具 。 您可以尝试将其与开源匹配算法( 如此生物识别SDK中的算法)进行交互。 然而,它需要做很多工作,包括从一种格式到另一种格式的转换以及算法的微调。
我的观点(作为从事生物识别技术的博士生)是,在这个领域,您可以轻松编写能够满足您所需要的60%的代码,但剩下的40%将是:
- 很难写(20%); 和
- 没有金钱和时间真的很难写(20%)。
希望有所帮助!
编辑 :添加了有关NIST BiomDI的信息
编辑2 :因为人们有时会通过电子邮件向我索要标准的副本,遗憾的是我没有一个人可以分享。 我所拥有的只是销售标准的ISO页面的链接 。
iso格式指定匹配和决策参数的有用机制。 确定您希望采用哪种机制来识别匹配以及相关的决策参数。 当您确定了这些机制和决策参数后,检查它们以查看哪些能够被置于一个订单中 – 具有相当高的单个值,因为您希望避免数据上的多次冲突。 当您识别出具有此属性的少量数据项(最好是一个)时,请计算每个指纹的属性 – 最好是将它们添加到数据库中,尽管最初可以进行批量加载。 然后,对计算出的特征进行匹配搜索,并且可以通过二叉树,黑红树或各种其他搜索过程来完成。 如果不知道数据库中值的差异forms和程度,我就不能推荐特定的搜索策略。 但是,这样的搜索策略应该能够提供(小)可能的匹配范围 – 然后可以在决定特定匹配之前根据匹配机制和参数单独测试。
- 寻找一个简单的Java API来创建图形(边缘+节点)
- Mercurial API for Java?
- 如何以指定的时间间隔定期自动调用servlet
- 通过Java发送电子邮件 – javax.mail.MessagingException:无法连接到SMTP主机:localhost,port:587;
- 在org.apache.catalina.core.JreMemoryLeakPreventionListener中急切调用URLConnection的setDefaultUseCaches(false)的原因是什么
- 如何在Java中将DOM节点从一个文档复制到另一个文档?
- Java中的一个好的HTML对象模型?
- 解压缩BZIP2存档
- 如何使用Google Translate v2 API客户端库为java提出翻译请求?