目录
1. 指纹识别书籍
1.1《精通Visual C++指纹模式识别系统算法及实现》
1.2《Handbook of Fingerprint Recognition》
2. 指纹识别开源算法库
2.1 Hands on Fingerprint Recognition with OpenCV and Python
2.2 NIST Biometric Image Software (NBIS)
3. 指纹识别开源数据库
3.1 CASIA-FingerprintV5
3.2 NIST Special Database
3.3 FVC Database
1. 指纹识别书籍
1.1《精通Visual C++指纹模式识别系统算法及实现》
本书免费公开了Visual C++指纹模式识别系统源代码,带领读者一步一步亲手制作一个指纹识别系统,深度剖析真实的行业应用案例。 本书适合指纹识别技术的初学者、指纹识别电子产品工程师以及打算投身指纹识别领域的创业者阅读。
本书分为5篇,主要内容如下:
第一篇主要讲解指纹模式识别系统入门知识,包括第1~3章。学完本篇,可结合本书附带光盘代码,学习指纹模式识别开发环境的系统演示层,并自己制作Visual C++指纹模式识别演示系统。
第二篇主要讲解指纹模式识别系统算法,包括第4~6章,是本书的基础。学完本篇,可结合本书附带光盘代码,学习指纹模式识别开发环境的系统算法层,并练习构建自己的Visual C++指纹模式识别算法系统。
第三篇主要讲解如何亲手打造指纹模式识别系统,包括第7章和第8章。学完本篇,可结合本书附带光盘代码,学习指纹模式识别开发环境的系统构建层,并练习构建自己的Visual C++指纹模式识别系统。
第四篇主要讲解指纹模式识别应用技术基础,包括第9章和第10章。学完本篇,可结合本书附带光盘代码,学习指纹模式识别开发环境的系统开发层,并练习构建自己的Visual C++指纹模式识别系统应用开发平台。
第五篇主要讲解指纹电子产品技术与创业,包括第11~13章。学完本篇,可结合本书附带光盘代码,学习指纹模式识别开发环境的系统开发层,并练习构建自己的Visual C++指纹模式识别系统电子产品开发系统,掌握利用数字指纹技术的创业手段。
1.2《Handbook of Fingerprint Recognition》
《Handbook of Fingerprint Recognition》(2003年第一版,2009年第二版,2022年第三版)是指纹领域的必读书。它的谷歌学术引用超过6000次,在指纹识别领域是绝无仅有的。
本书共9章:
第1章介绍了生物特征和指纹系统,并对指纹及其在法医和民用识别应用中的应用进行了历史评述。在接下来的章节中详细介绍的所有主题都将在这里简要介绍。这将为读者提供对本书各个章节的概述,并让她选择个性化的阅读路径。还讨论了其他非技术性但重要的主题,如“应用程序”和“隐私问题”。一些图像处理、模式识别和机器学习技术的背景知识对于充分理解本书的大部分章节是必要的。为了方便没有这种背景的读者,在第1章的末尾提供了关于各种主题的基本阅读资料。
第2章综述了现有的指纹采集技术:从传统的“墨水技术”到基于光学、电容、热和超声技术的实时扫描传感。本章还讨论了决定指纹图像质量的因素,并介绍了在手机中实现指纹传感器显示集成的技术进步。
第3-5章分别对指纹特征提取、匹配和分类/索引进行了深入研究。现有的技术被分为不同的类别,以引导读者通过文献中提出的大量方法。详细解释了主要方法,以帮助该领域的初学者和从业者理解构建指纹系统所使用的方法。
第6-8章专门讨论了三个前沿主题:潜在指纹识别、合成指纹生成和指纹唯一性。深度学习方法使潜在指纹的自动处理成为现实,从而开发了新一代AFIS。在指纹识别算法的设计、训练和基准测试中,合成指纹已被公认为真实指纹的合理替代品;这种方法对于处理对使用个人身份信息(PII)的新限制(例如,欧盟通用数据保护条例(GDPR))特别有用,PII被定义为任何可能识别特定个人的数据。支持指纹唯一性的科学证据越来越多,特别是在法医应用中,这引起了人们对设计准确指纹唯一性模型的兴趣。
最后,第9章讨论了在构建安全指纹识别系统中有用的安全问题和对策技术。
2. 指纹识别开源算法库
2.1 Hands on Fingerprint Recognition with OpenCV and Python
2021生物特征识别冬令营(IAPR/IEEE Winter School on Biometrics 2021),意大利博洛尼亚大学的Raffaele Cappelli教授深入浅出地展示了如何运用Python+OpenCV进行指纹识别的每一个步骤的原理及对应代码实现。
文档及代码:《Hands on Fingerprint Recognition with OpenCV and Python》
Raffaele Cappelli教授,因在指纹分类、识别、合成生成和性能评估方面的贡献而闻名,是FVC-onGoing大赛的组织者之一,是经典指纹识别领域图书《Handbook of Fingerprint Recognition》的作者之一。
2.2 NIST Biometric Image Software (NBIS)
NIST生物识别图像软件(NBIS)由美国国家标准与技术研究所(NIST)为联邦调查局(FBI)和国土安全部(DHS)开发。最新NBIS发行版为NBIS : Release 5.0.0 ,包含用于指纹识别处理和分析的C源代码。
官网:NIST Biometric Image Software (NBIS) | NIST
NBIS提供了指纹识别处理和分析的8个方面C源代码:
1. 《 ANSI/NIST-ITL 1-2007 (AN2K) "Data Format for the Interchange of Fingerprint, Facial, Scar Mark & Tattoo (SMT) Information"》标准的代码实现。
2. 指纹图像质量NFIQ(NIST Fingerprint Image Quality)评价算法的代码实现,更高质量的指纹图像通过匹配算法能够产生更好的性能。
3. 一种基于神经网络的指纹分类算法PCASYS的代码实现,该算法自动将指纹图像分类为拱形、左环或右环、疤痕、帐篷拱或螺纹。
4. 一种指纹特征提取算法MINDTCT的代码实现,基于指纹端点和叉点的细节点特征提取算法。
5. 图像处理辅助工具集IMGTOOLS的代码实现,包括有损和无损的JPEG编解码、WSQ编解码的代码实现。
6. 一种指纹匹配算法BOZORTH3的代码实现,它是一种基于细节的指纹匹配算法,将执行一对一和一对多匹配操作,接受由MINDTCT算法生成的细节。
7. 一种指纹分割算法NFSEG的代码实现,它将实现四指指纹分割成单独的指纹图像,或者可以用来从滚动的指纹图像中去除空白。
8.一种指纹图像的光谱度量的代码实现,为指纹质量的粗略测量提供参考。
3. 指纹识别开源数据库
3.1 CASIA-FingerprintV5
CASIA指纹图像数据库5.0版(或CASIA-FingerprintV5)包含500名受试者的20000张指纹图像。CASIA-FingerprintV5的指纹图像是使用URU4000指纹传感器在一个场景中捕获的。CASIA-FingerprintV5的志愿者包括研究生、工人、服务员等。每个志愿者贡献了自己八根手指(左手和右手拇指/第二根/第三根/第四根手指)的40张指纹图像,即每根手指5张。志愿者被要求在不同程度的压力下转动手指,以产生显著的类内变化。所有指纹图像均为8位灰度级BMP文件,图像分辨率为328*356。
官网:BIT (idealtest.org)
impression type | Sensor Type | Image Size | Set | Resolution |
Plain optical | URU4000 | 328x356 | 4000x5 | 512 dpi |
3.2 NIST Special Database
官网:Biometric Special Databases and Software | NIST
NIST Special Database 4(sd04)
impression type | Sensor Type | Image Size | Set | Resolution |
roll | / | 512x512 | 2000x2 | 500dpi |
NIST Special Database 9(sd09)
impression type | Sensor Type | Image Size | Set | Resolution |
roll | / | 832x512 | 13500x2 | / |
NIST Special Database 300(sd300a)
impression type | Sensor Type | Image Size | Set | Resolution |
Rolled scanning | inked fingerprint arrest cards | / | 8871x1 | 500 dpi |
Plain scanning | inked fingerprint arrest cards | / | 8787x1 | 500 dpi |
NIST Special Database 301(SD301a)
impression type | Sensor Type | Image Size | Set | Resolution | |
A | 10 rolled optical | Crossmatch Guardian 300 | 800x750 | 240x1 | 500 dpi |
B | 10 rolled optical | Crossmatch Guardian 300 | 800x750 | 240x1 | 500 dpi |
C | 4411 plain optical | Crossmatch Guardian 300 | / | 240x1 | 500 dpi |
D | 10 plain solid-state | Crossmatch EikonTouch 710 | 257x354 | 230x1 | 500 dpi |
E | 10 plain optical | Futronic FS88 | 320x480 | 240x1 | 500 dpi |
F | 4411plain solid-state | Jenetric LIVETOUCH QUATTRO | / | 93x1 | 500 dpi |
G | 442 plain solid-state | Jenetric LIVETOUCH QUATTRO | / | 215x1 | 500 dpi |
H | 442 plain optical | Crossmatch LSCAN 1000P | / | 216x1 | 500 dpi |
J | 10 plain optical | HID Lumidigm V302 | 352x544 | 240x1 | 500 dpi |
K | 442 plain touch-free | IDEMIA MorphoWave Desktop | / | 240x1 | 500 dpi |
L | Right slap touch-free | Advanced Optical Systems ANDI OTG3.0 | 308x425 | 88x1 | 500 dpi |
M | 10 plain optical | Crossmatch Guardian 200 | 800x748 | 240x1 | 500 dpi |
N | 10 plain optical | HID Lumidigm V302 | 272x400 | 240x1 | 500 dpi |
P | 44 plain touch-free | Samsung Galaxy S6 | / | 360x1 | unknown |
NIST Special Database 302(sd302a)
impression type | Sensor Type | Image Size | Set | Resolution | |
R | 442 slap optical | Crossmatch L SCAN 1000PX | / | 2000x1 | 500dpi |
S | 442 slap optical | Crossmatch Guardian USB | / | 500dpi | |
U | Roll optical | Crossmatch L SCAN 1000PX | 800x750 | 2000x1 | 500dpi |
V | Roll optical | Crossmatch L SCAN 1000PX | 800x750 | 2000x1 | 500dpi |
NIST Special Database 302(sd302d)
impression type | Sensor Type | Image Size | Set | Resolution | |
K | plain optical | Michigan State University RaspiReader | 248x319 | 930x1 | 500dpi |
L | plain touch-free | Advanced Optical Systems (AOS) | / | 1953x1 | 500dpi |
M | plain solid-state | Crossmatch EikonTouch 710 | 256x360 | 1979x1 | 500dpi |
P | plain optical | Futronic FS88 | 320x480 | 279x1 | 500dpi |
3.3 FVC Database
官网:Biometric Special Databases and Software | NIST (unibo.it)
FVC2000
Sensor Type | Image Size | Set A | Set B | Resolution | |
DB1 | Low-cost Optical Sensor | 300x300 | 100x8 | 10x8 | 500 dpi |
DB2 | Low-cost Capacitive Sensor | 256x364 | 100x8 | 10x8 | 500 dpi |
DB3 | Optical Sensor | 448x478 | 100x8 | 10x8 | 500 dpi |
DB4 | Synthetic Generator | 240x320 | 100x8 | 10x8 | about 500 dpi |
FVC2002
Sensor Type | Image Size | Set A | Set B | Resolution | |
DB1 | Optical Sensor | 388x374 | 100x8 | 10x8 | 500 dpi |
DB2 | Optical Sensor | 296x560 | 100x8 | 10x8 | 569 dpi |
DB3 | Capacitive Sensor | 300x300 | 100x8 | 10x8 | 500 dpi |
DB4 | SFinGe v2.51 | 288x384 | 100x8 | 10x8 | about 500 dpi |
FVC2004
Sensor Type | Image Size | Set A | Set B | Resolution | |
DB1 | Optical Sensor | 640x480 | 100x8 | 10x8 | 500 dpi |
DB2 | Optical Sensor | 328x364 | 100x8 | 10x8 | 500 dpi |
DB3 | Thermal sweeping Sensor | 300x480 | 100x8 | 10x8 | 512 dpi |
DB4 | SFinGe v3.0 | 288x384 | 100x8 | 10x8 | about 500 dpi |
FVC2006
Sensor Type | Image Size | Set A | Set B | Resolution | |
DB1 | Electric Field sensor | 96x96 | 140x12 | 10x12 | 250 dpi |
DB2 | Optical Sensor | 400x560 | 140x12 | 10x12 | 569 dpi |
DB3 | Thermal sweeping Sensor | 400x500 | 140x12 | 10x12 | 500 dpi |
DB4 | SFinGe v3.0 | 288x384 | 140x12 | 10x12 | about 500 dpi |