一. 概述
  指纹识别技术主要涉及四个功能:读取指纹图象、提取特征、保存数据和比对。
  在一开始,通过指纹读取设备读取到人体指纹的图象,取到指纹图象之后,要对原始图象进行初步的处理,使之更清晰。
  接下来,指纹辨识软件建立指纹的数字表示——特征数据,一种单方向的转换,可以从指纹转换成特征数据但不能从特征数据转换成为指纹,而两枚不同的指纹不会产生相同的特征数据。软件从指纹上找到被称为“节点”(minutiae)的数据点,也就是那些指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。因为通常手指上平均具有70个节点,所以这种方法会产生大约490个数据。
  有的算法把节点和方向信息组合产生了更多的数据,这些方向信息表明了各个节点之间的关系,也有的算法还处理整幅指纹图像。总之,这些数据,通常称为模板,保存为1K大小的记录。无论它们是怎样组成的,至今仍然没一流种模板的标准,也没一流种公布的抽象算法,而是各个厂商自行其是。
  最后,通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。
  二. 取得指纹图象
  1.取象设备原理
取像设备分成两类:光学、硅晶体传感器和其他。
  光学取像设备有最悠久的历史,可以追溯到20世纪70年代。依据的是光的全反射原理(FTIR)。光线照到压有指纹的玻璃表面,反射光线由CCD去获得,反射光的数量依赖于压在玻璃表面指纹的脊和谷的深度和皮肤与玻璃间的油脂。光线经玻璃设到谷后反射到CCD,而设到脊后则不反射到CCD(确切的是脊上的液体反光的)。
  由于最近光学设备的革新,极大地降低了设备的体积。最近90年代中期,传感器可以装在6x3x6英寸的盒子里,在不久的将来更小的设备是3x1x1英寸。这些进展取决于多种光学技术的发展而不是FTIR的发展。例如:纤维光被用来捕捉指纹图象。纤维光束垂直射到指纹的表面,他照亮指纹并探测反射光。另一个方案是把含一流微型三棱镜矩阵的表面安装在弹性的平面上,当手指压在此表面上时,由于脊和谷的压力不同而改变了微型三棱镜的表面,这些变化通过三棱镜光的反射而反映出来。
  应用晶体传感器是最近在市场上才出现的,尽管它在传奇文学作品中已经出现近20年。这些含有微型晶体的平面通过多种技术来绘制指纹图象。电容传感器通过电子度量被设计来捕捉指纹。电容设备能结合大约100,000导体金属阵列的传感器,其外面是绝缘的表面,当用户的手指放在上面时,皮肤组成了电容阵列的另一面。电容器的电容值由于金属间的距离而变化,这里指的是脊(近的)和谷(远的)之间的距离。压感式表面的顶层是具有弹性的压感介质材料,他们依照指纹的外表地形(凹凸)转化为相应的电子信号。温度感应传感器被设计为感应压在设备上的脊和远离设备的谷温度的不同。
  超声波扫描被认为是指纹取像技术中非常好的一类。很象光学扫描的激光,超声波扫描指纹的表面。紧接着,接收设备获取了其反射信号,测量他的范围,得到脊的深度。不象光学扫描,积累在皮肤上的脏物和油脂对超音速获得的图象影响不大,所以这样的图象是实际脊地形(凹凸)的真实反映。
  由于巨大的指纹辨别市场,如果想指纹识别在商业上的巨大成功,三个因素中的两个因素是非常重要的,它们是低价格和紧凑的体积(另外一个是上面谈到的识别率)。90年代初到后期,取像设备的价格已经剧烈的下降,制造商最近又承诺,在最近几年后,又要进行大幅度降价。至于体积,上面已经提到光学传感器的体积从6x3x3英寸降到3x1x1英寸。应用晶体的传感器的体积差不多是这样或者更小。在晶片上,集成电路的技术越来越高(如:数字化电路把指纹信号转化为数字信号强度),系统体积将越来越小,晶体传感器的体积接近与手指大小所需要的体积,其长宽大约是1x1英寸高不到1英寸。
  在晶体传感器之前,一些没有用到的机能是局部调整、软件控制、自动获取控制(AGC)技术。对于大多数光学设备,只能通过人工调整来改变图象的质量。然而,晶体传感器提供自动调节象素,行以及局部范围的敏感程度,从而提高图象的质量。AGC在不同的环境下结合反馈的信息产生高质量的图象。例如,一个不清晰(对比度差)的图象,如干燥的指纹,能够被感觉并增强灵敏度,在捕捉的瞬间产生清晰的图象(对比度好);由于提供了局部调整的能力,图象不清晰(对比度差)的区域也能够被检测到(如:手指压得较轻的地方)并在捕捉的瞬间为这些象素提高灵敏度。
  光学扫描也有自己的优势。其中之一在较大的模型可以做较大指纹取像区域。而制造较大的应用晶体传感器的指纹取像区域是非常昂贵的,所以应用晶体传感器的指纹取像区域小于1平方英寸,而光学扫描的指纹取像区域等于或大于1平方英寸。然而这个对于较小的光学扫描设备并不是优势。较小的光学扫描也是较小指纹取像区域,这是因为较大的指纹取像区域需要较长的焦点长度,所以要有较大包装,否则如果较大的取像区域使用较小的包装,则光学扫描设备会受到图象边缘线形扭曲的影响。
  晶体传感器技术最重要的弱点在于,它们容易受到静电的影响,这使得晶体传感器有时会取不到图象,甚至会被损坏,另外,它们并不象玻璃一样耐磨损,从而影响了使用寿命。
  总之,各种技术都具有它们各自的优势,也有各自的缺点。我们在下面给出三种主要技术的比较。

比较项目 光学全反射技术 硅晶体电容传感技术 超声波扫描
体积 
耐用性 非常耐用 容易损坏 一般
成像能力 干手指差,汗多的和稍脏的手指成像模糊 干手指好,汗多的和稍脏的手指不能成像 非常好
耗电 较多 较少 较多
成本 很高

  2. 图象增强
  刚获得的图象有很多噪音。这主要由于平时的工作和环境引起的,比如,手指被弄脏,手指有刀伤、疤、痕、干燥、湿润或撕破等。图象增强是减弱噪音,增强脊和谷的对比度。想得到比较干净清晰的图象并不是容易的事情。为这个目标而为处理指纹图象所涉及的操作是设计一个适合、匹配的滤镜和恰当的阀值。
  指纹还一流些其他的有用的信息。比如:类似于脊的“多余的部分”,即使一些特别的脊不连续,但仍可认为是脊的一部分,从而决定他的走向。我们可以利用这些“多余的信息”。
  有很多图象增强的方法。大多数是通过过滤图象与脊局部方向相匹配。图象首先分成几个小区域(窗口),并在每个区域上计算出脊的局部方向来决定方向图。可以由空间域处理,或经过快速2维傅立叶变换后的频域处理来得到每个小窗口上的局部方向。
  设计合适的,相匹配的滤镜,使之实用于图象上所有的象素(空间场是其中的一个)。依据每个象素处脊的局部走向,滤镜应增强在同一方向脊的走向,并且在同一位置,减弱任何不同于脊的方向。后者含有横跨脊的噪音,所以其垂直于脊的局部方向上的那些不正确的“桥”会被滤镜过滤掉。所以,合适的、匹配的滤镜可以恰到好处地确定脊局部走向的自身的方向,它应该增强或匹配脊而不是噪音。
  图象增强,噪音减弱后,我们准备开始选取一些脊。虽然,在原始灰阶图象中,其强度是不同的而按一定的梯度分布,但它们真实的信息被简单化为二元:脊及其相对的背景。二元操作使一个灰阶图象变成二元图象,图象在强度层次上从原始的256色(8-bits)降为2色(1-bits)。图象二元化后,随后的处理就会比较容易。
  二元化的困难在于,并不是所有的指纹图象有相同的阀值,所以一般不采取从单纯的强度入手,而且单一的图象的对照物是变化的,比如,手在中心地带按的比较紧。因此一个叫“局部自适应的阀值(locally adaptive thresholding)”的方法被用来决定局部图象强度的阀值。 
  在节点提取之前的最后一道工序是“细化(thinning)”。细化是将脊的宽度降为单个象素的宽度。一个好的细化方法是保持原有脊的连续性,降低由于人为因素所造成的影响。人为因素主要是毛刺,带有非常短的分支而被误认为是分叉。认识到合法的和不合法的节点后,在特征提取阶段排除这些节点。
  三. 指纹识别技术的基本原理
  指纹其实是比较复杂的。与人工处理不同,许多生物识别技术公司并不直接存储指纹的图象。多年来在各个公司及其研究机构产生了许多数字化的算法(美国有关法律认为,指纹图象属于个人隐私,因此不能直接存储指纹图象)。但指纹识别算法最终都归结为在指纹图象上找到并比对指纹的特征。
  指纹的特征
  我们定义了指纹的两类特征来进行指纹的验证:总体特征和局部特征。总体特征是指那些用人眼直可以观察到的特征,包括:
  基本纹路图案
  环型(loop), 弓型(arch), 螺旋型(whorl)。其他的指纹图案都基于这三种基本图案。仅仅依靠图案类型来分辨指纹是远远不够的,这只是一个粗略的分类,但通过分类使得在大数据库中搜寻指纹更为方便。
  模式区(Pattern Area)
  模式区是指指纹上包括了总体特征的区域,即从模式区就能够分辨出指纹是属于那一种类型的。有的指纹识别算法只使用模式区的数据。 Aetex 的指纹识别算法使用了所取得的完整指纹而不仅仅是模式区进行分析和识别。
  核心点(Core Point)
  核心点位于指纹纹路的渐进中心,它用于读取指纹和比对指纹时的参考点。
  三角点(Delta)
  三角点位于从核心点开始的第一个分叉点或者断点、或者两条纹路会聚处、孤立点、折转处,或者指向这些奇异点。三角点提供了指纹纹路的计数和跟踪的开始之处。
  式样线( Type Lines)
  式样线是在指包围模式区的纹路线开始平行的地方所出现的交叉纹路,式样线通常很短就中断了,但它的外侧线开始连续延伸。
  纹数( Ridge Count)
  指模式区内指纹纹路的数量。在计算指纹的纹数时,一般先在连接核心点和三角点,这条连线与指纹纹路相交的数量即可认为是指纹的纹数。 局部特征 局部特征是指指纹上的节点。两枚指纹经常会具有相同的总体特征,但它们的局部特征——节点,却不可能完全相同。
  节点(Minutia Points)
  指纹纹路并不是连续的,平滑笔直的,而是经常出现中断、分叉或打折。这些断点、分叉点和转折点就称为“节点”。就是这些节点提供了指纹唯一性的确认信息。

  指纹上的节点有四种不同特性:
  1. 分类 – 节点有以下几种类型,最典型的是终结点和分叉点

  A. 终结点(Ending) -- 一条纹路在此终结。
  B. 分叉点(Bifurcation) -- 一条纹路在此分开成为两条或更多的纹路。
  C. 分歧点(Ridge Divergence) -- 两条平行的纹路在此分开。
  D. 孤立点(Dot or Island) -- 一条特别短的纹路,以至于成为一点
  E. 环点(Enclosure) -- 一条纹路分开成为两条之后,立即有合并成为一条,这样形成的一个小环称为环点
  F. 短纹(Short Ridge) -- 一端较短但不至于成为一点的纹路,

  2. 方向(Orientation) -- 节点可以朝着一定的方向。

  3. 曲率(Curvature) -- 描述纹路方向改变的速度。

  4. 位置(Position) -- 节点的位置通过(x,y)坐标来描述,可以是绝对的,也可以是相对于三角点或特征点的。

  四. 系统问题(system issues)
  有效的指纹辨识系统不仅仅依赖于辨识算法,还有其他的一些重要因素,这里称之为“系统问题”。包括注册和辨识过程,速度和工作学、用户信息的反馈、排斥欺骗和安全考虑。 为了得到较好的识别率,重要的是在注册时尽量获得最好的指纹图象,这是因为注册一般只进行一次,而以后的辨识是经常的。一个较好的指纹识别系统应要求用户的指纹在登记指纹时多次获取指纹,然后,把最好的指纹或每次获得的指纹的综合的结果作为注册的指纹。
  又一个方法可以作为指纹系统设计时的考虑,即我们可以多次取像直到得到一个确定的匹配,但这个过程在降低了拒判率的同时,提高了误判率。辨识不仅仅只用一个手指的指纹,可以用两个或更多的手指的指纹,这样可以增强识别率,当然这样一来会浪费用户的许多时间。
  系统的工作学是很重要的。例如:在个人识别系统中,人们愿意等待时间的极限,这个极限时间根据特定的应用而不同,依赖于在处理的过程中人们正在做什么。例如:刷卡或输入ID号的过程,从0.5-1.5秒被认为是可接受的时间;另外,拒判而重复次数不应超过3次。
  验证和辨识的过程、取像设备的设计拒判率和误判率关系的设定,为了尽可能的获得高质量的指纹图象而提示用户手指该怎样放置,正确的反馈信息是非常有用的。如“手指放得太高”,“手指按得不够重”等。
  在指纹识别系统中,反欺骗的措施用来阻止人造指纹、死指纹和残留指纹。残留指纹是由于皮肤油或其他原因残留在传感器上。传感器应建立反欺对策,使得有能力识别真实的皮肤温度、阻力或电容。
  既然指纹识别系统是为安全而考虑的,例如,节点模板数据库必须是安全的,以防止一个冒名顶替的人将自己的指纹存进数据库而成为合法的用户。指纹匹配的结果是“YES”或“NO”,以此获得访问权。如果有人简单地绕过指纹匹配而能去直接发送一个“YES”,那么系统就是不安全的。这个问题的解决是确保主机接收的识别结果是来自真正的合法用户,如通过数字信号发送给主机。
  总之,在一个完整的指纹识别应用系统中有许多问题值得考虑,解决好这些问题有助于成功地建立有效的系统,相反,则有可能会使得高明的技术被束之高阁,甚至导致应用系统最后的失败。

指纹识别的原理和方法相关推荐

  1. 计算机指纹识别的原理步骤,指纹识别原理和过程

    指纹识别概念 指纹识别是生物识别的一种.不过其所分析的对象是指纹特征.指纹特征是最早被发现和应用的,所以指纹识别的历史较之其它识别技术要悠久的多.出现自动化的指纹识别系统到现在,目前的指纹识别技术已经 ...

  2. 安卓系统的指纹解锁_安卓全面屏都用的屏幕下指纹识别,科普超声波指纹识别的原理...

    指纹识别可以说是苹果一手带热的,虽然苹果将指纹识别普及推广,但是随着iPhoneX的发布指纹识别和home一样消失了.不过目前大部分的安卓手机,都是采用了屏幕下指纹识别.在全面屏上,安卓走得比苹果iP ...

  3. 指纹识别的原理与优势

    指纹识别是一种利用指纹采集头及其配套软件结合起来的为加强个人电脑加密程度的高科技安全产品.使用其配套的应用软件,可以实施开机保密.屏幕保护保密及文件.目录保密.在需要解密的场合,只要将使用者的手指放在 ...

  4. linux指纹登录实现原理,指纹识别技术原理与基于Linux系统的指纹识别门禁系统设计...

    指纹作为人体的身体特征,具有唯一性.稳定性和不易盗用等特点.随着指纹识别理论逐渐成熟.指纹采集工具这一难题得到解决,指纹识别已经成为目前最广泛应用的生物识别之一,逐渐取代了传统的认证识别方式,广泛应用 ...

  5. 联想小新笔记本电脑指纹识别功能失效解决方法

    前几天我的电脑指纹识别开机的功能突然没有了,折腾了半天最后成功解决了,在此记录一下我当时的解决方法吧 1.打开设备管理器,找到生物识别设备 2.选中设备,先禁用设备,然后再重新启动设备 3.最后重新启 ...

  6. 计算机指纹识别的原理步骤,指纹识别技术的基本原理及过程

    在登记过程中,用户需要先采集指纹,然后计算机系统将自动进行特征提取,提取后的特征将作为模板保存在数据库或其他指定的地方.在识别或验证阶段,用户首先要采集指纹,然后经系统自动进行指纹库模板比对,然后给出 ...

  7. 基于matlab指纹识别论文,毕业论文-基于Matlab的指纹识别

    毕业论文-基于Matlab的指纹识别 1 毕 业 论 文 基于 Matlab 的指纹识别 姓 名 院(系) 专业班级 学 号 指导教师 职 称 论文答辩日期 2 摘摘 要要 随着科学技术的不断发展,自 ...

  8. 墨奇科技汤林鹏:如何用 AI 技术颠覆指纹识别?

    受访者 | 墨奇科技联合创始人& CTO 汤林鹏 记者 | Aholiab,编辑 | Carol 出品 | AI科技大本营(ID:rgznai100) 随着深度学习等AI技术的成熟,生物识别成 ...

  9. 【指纹识别】基于模板匹配算法指纹识别匹配门禁系统matlab源码

    一.简介 1 指纹识别的引入和原理 1.1 指纹的基本知识 指纹,由于其具有终身不变性.唯一性和方便性,已几乎成为生物特征识别的代名词.指纹是指人的手指末端正面皮肤上凸凹不平产生的纹线.纹线有规律的排 ...

  10. h5调用指纹识别_基于HTML Canvas实现“指纹识别”技术,canvas指纹

    基于HTML Canvas实现"指纹识别"技术,canvas指纹 作者:zhanhailiang 日期:2015-01-31 说明 所谓指纹识别是指为每个设备标识唯一标识符(以下简 ...

最新文章

  1. linux 下安装node 环境
  2. C语言函数 snprintf()(发送有限字符截断字符串输出到 str 所指向的字符串)(字符串拼接、截断拼接)
  3. 带你走进网站分析的世界!
  4. 提取验证码到winform上webbroswer和axwebbroswer
  5. LINQ to SQL
  6. openjudge 菲波那契数列 2753
  7. exls导入数据库 php_PHP 利用 PHPexcel 导入数据库
  8. ASP.NET极限:页面导航 (翻译)
  9. [保存]C# 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
  10. C++ 命名空间三种用法
  11. UDP网络程序,客户端和服务端交互原理
  12. php添加开机启动脚本_php-fpm开机自动启动Shell脚本
  13. pdf免费在线解密方法(无需密码)
  14. vscode安装uweb_桌面应用|在Ubuntu中安装Visual Studio Code
  15. 小程序心知天气API获取数据
  16. FOJ 1921 栀子花开 线段树裸题
  17. PowerPoint!让教学更精彩:PPT课件高效制作
  18. ps切片成html形式怎么用,PS教程:Photoshop切片工具把效果图转成网页格式 PS入门综合 - PS学习网...
  19. Hadoop运行wordcount实例任务卡在job running的多种情况及解决方法
  20. 余淼杰老师 经济学原理复习笔记(宏观2)

热门文章

  1. 基于深度学习的检测和阶段分级优化糖尿病视网膜病变的诊断
  2. leetcode LCP3 机器人大冒险(C++)
  3. “互联网协作如何改变商业未来”文字实录
  4. Mysql5.7 的错误日志中最常见的note级别日志解释
  5. modbus软件开发linux,Linux C开发之用modbus实现串口通讯
  6. BIOS设置中功能的翻译及介绍
  7. mysql怎么初始化自增值_MySql中重新设置AUTO_INCREMENT自增值方法
  8. 【2022年】安装vm虚拟机unbuntu 服务器版
  9. 【selenium】窗口操作
  10. LNMP架构搭建编译安装详细部署