📄 fps200.rar.txt
字号:
指纹识别应用系统设计
[ 2007-4-29 11:05:00 | By: 山野村夫 ]
指纹识别应用系统设计
生物识别技术尤其是指纹识别技术是近年来身份识别和认证领域内发展很迅速的一门新兴技术。指纹识别是一门属于模式识别领域的科学,它所需要的知识面相当广泛,包括图像学、数学、逻辑学、模糊控制等。随着社会的发展和技术的进步,很多部门和领域需要安全的身份认证。
1实例说明
指纹识别技术是生物特征识别技术中的一种。顾名思义,生物特征识别技术是利用人体的生物特征来进行身份验证的一种解决方案。由于人的生物特征具有人体所固有的不可复制的唯一性,因此这一生物特征密钥无法复制、失窃或遗忘。
本实例通过介绍指纹识别的原理,着重讲述基于ARM开发平台的指纹识别系统应用的软硬件开发。
2 指纹识别
2.1指纹识别
按照一般人的看法,指纹识别技术通过分析指纹的全局特征和指纹的局部特征,特征点如脊、谷和终点、分叉点或分歧点,从指纹中抽取的特征值可以非常详尽以便可靠地通过指纹来确认一个人的身份。平均每个指纹都有几个独一无二可测量的特征点,每个特征点都有大约7个特征,普通人的10个手指产生最少4900个独立可测量的特征,这足够来确认指纹识别是否是一个更加可靠的鉴别方式。
指纹是手指末端正面皮肤上凸凹不平产生的纹路。尽管指纹只是人体皮肤的一小部分,但是,它蕴涵大量的信息。指纹特征可分为两类:总体特征和局部特征。总体特征是指那些用人眼直接就可以观察到的特征,包括基本纹路图案、模式区、核心点、三角点、式样线和纹数等。基本纹路图案有环型、弓型、螺旋型。局部特征是指指纹上的特征点,即指纹纹路上的终结点、分叉点和转折点。这些指纹特征点可用以下4种特性来描述。
(1)位置:特征点的位置通过(x,y)坐标来描述,可以是绝对的,也可以是相对于三角点的。
(2)方向:该特征点所在的局部脊线的方向。
(3)分类:特征点有以下几种类型:终结点、分叉点、分歧点、孤市点、环点、短纹等。最典型的终结点和分叉点如图26-1所示。
(4)脊线:特征点对应的脊线(di,ai)。特征点对应的脊线用在该脊线上的采样点来表示。采样点用该点与对应特征点的距离di,以及连接该点与对应特征点的直线和对应特征点方向的夹角ai来表示。
2.2 指纹识别的基本原理
两枚指纹经常会具有相同的总体特征,但它们的局部特征(即特征点)却不可能完全相同,因此,指纹识别技术通常使用指纹的总体特征如纹形、三角点等来进行分类,再用局部特征如位置和方向等来进行识别用户身份。通常,首先从获取的指纹图像上找到“特征点”(minutiae),然后根据特征点的特性建立用户活体指纹的数字表示——指纹特征数据(一种单向的转换,可以从指纹图像转换成特征数据,但不能从特征数据转换成为指纹图像)。由于两枚不同的指纹不会产生相同的特征数据,所以通过对所采集到的指纹图像的特征数据和存放在数据库中的指纹特征数据进行模式匹配,计算出它们的相似程度,最终得到两枚指纹的匹配结果,根据匹配结果来鉴别用户身份。
总之,指纹识别技术首先通过读取指纹图像,然后用计算机识别软件提取指纹的特征数据,最后通过匹配识别算法得到识别结果。其基本原理框图如图26-2所示。
如图26-3所示是不同情况下识别到的指纹图像。
2.3指纹识别的方法
由指纹识别的基本原理可知,指纹识别技术主要经过以下4个步骤:指纹图像的获取、指纹图像的预处理、指纹特征的提取和指纹特征匹配。下面将对指纹识别技术的每个步骤做详细论述。
1. 指纹图像的获取
获取指纹图像的设备可分成三类:光学、硅晶体传感器和其他。光学取像设备应用的历史最久,它依据的是光的全反射原理。
应用晶体传感器是最近市场上才出现的,这些含有微型晶体的平面通过多种技术来绘制指纹图像。
电容传感器就是其中的一种,它通过电子度量来捕获指纹图像。电容设备能结合大约100 000导体金属阵列的传感器,其外面是绝缘的表面,当用户的手指放在上面时,皮肤组成了电容阵列的另一面。电容器的电容值由于金属间的距离而变化,这里指的是脊(近的)和谷(远的)之间的距离。除了以上两类,超声波扫描被认为足指纹取像技术中非常好的一类,但价格太高、体积偏大。一般采集到的指纹图像都是存成256级灰度的图像。
2. 指纹图像预处理
为了得到比较准确的指纹特征点,指纹图像预处理一般要经过图像增强(滤波去掉噪声)、计算方向图,二值化和细化等过程。整个过程如图26-4所示。
(1) 图像增强
一般来说,刚获得的指纹图像都有很多噪音,比如,手指被弄脏、手指有疤痕、太干、太湿或撕破等,所以如何在获取指纹图像之后,有效地过滤图像噪音是指纹识别技术中的难题之一。
通过图像增强可以过滤噪音,增强脊和谷的对比度。图像增强的方法有很多,但大多数是通过过滤图像与脊局部方向相匹配。图像首先被分成几个小区域(窗口),并在每个区域上计算出脊的局部方向来决定方向图,可以由空间域处理,或经过快速二维傅里叶变换后的频域处理来得到每个小窗口上的局部方向。然后设计合适的、相匹配的滤镜,使之适用于图像上所有的像素(空间场是其中的一个)。依据每个像素处脊的局部走向,滤镜应增强在同一方向脊的走向,并且在同一位置,减弱任何不同于脊的方向。后者含有横跨脊的噪音,所以其垂直于脊的局部方向上的那些不正确的“桥”会被滤镜过滤掉。
(2) 计算方向图
方向图描述了指纹图像中每一像素点所在脊线或谷线在该点的切线方向,作为一种可直接从源灰度图像中得到的有用信息,它的计算一直是指纹识别技术中必不可少的一步。 方向图也可以看作是原始指纹源图像的一种变换表示方法,即用纹线上某点的方向来表示该纹线的方向。一般有两种方向图:一种是点方向图,表示原始指纹图像中每一像素点脊线的方向;另一种是块方向图,表示原始指纹图像中某点区域所有元素的平均方向。
计算方向图的基本思想是:在原始灰度指纹图像中计算每一点(或每一块)在各个方向上的某个统计量(如灰度差、梯度等),根据这些统计量在各个方向上的差异,确定该点(该块)的方向。
在实际处理中,我们往往采用块方向图,因为块方向图常常比点方向图有更强的抗噪性,而且块方向图可以减少计算量,有利于模块化处理。块方向图可以由点方向图得到,也可以用最小均方估计算法求得。
(3) 二值化
第一,根据指纹的脊线和谷线等宽的假设,再结合局部灰度分布的考察,可以得到具有自适应性的自动门限。自适应阈值的选取方法是先找到该点的法向方向,在理想情况下,法向上的平均值即可作为阈值。然而考虑到噪声的影响,故应该去掉最大、最小值后点的平均值再加上一修正值作为阈值。计算公式如下:
TT=R-(T-R)/2 (26-1)
其中:R为法向上去掉最大、最小点后的平均值;T为最大、最小点的平均值;(T-R)/2为修正值;TT为阈值。阈值选定后,即可对该点进行二值化,逐点依次处理即可。
第二,在指纹图像中,考虑同一区域的像元应具有相近的连续变化的灰度,根据“灰度变化平稳”这一假设邻元灰度的变化来进一步确认像元素隶属前景和背景的程度,可以很好地排除不清晰指纹在自动门限附近的分割不一致性。
第三,为解决二值化在分割图像中视野太小的局限,并同时对模糊区域和孤立噪声进行处理,采用广义的拉普拉斯算法对图像进行滤波。
实验表明,该算法不但可使纹路突出,而且较好地保留了指纹的细节特征,并且在很大程度上减少了指纹的断缝和粘连等错误信息。
二值操作使一个灰度图像变成二值图像,图像在强度层次上从原始的256色降为2色。图像二值化后,随后的处理就会比较容易。
二值化的困难在于,并不是所有的指纹图像都有相同的阈值,所以一般不能从单纯的强度入手。而且单一图像的对照物是变化的,比如,手在中心地带按的比较紧,因此一个叫“局部自适应的阈值”的方法被用来决定局部图像强度的阈值。
(1) 细化
在提取指纹特征点之前的最后一道工序是“细化”。细化是在不影响原图的拓扑连接关系下,将脊的宽度降为单个像素宽度的处理过程。一个好的细化方法是保持原有脊的连续性,降低由于人为因素所造成的影响。人为因素主要有毛刺和短脊线,这些都造成提取出来的特征中有很多的伪特征。
细化方法的优点是减少内存空间,它只需要存储图像中必需的结构信息。这样,在对图像的处理中能简化数据结构。
根据细化的定义易知细化的关键是如何找到原图像的骨架,通常采用模板匹配方法,这种方法是根据某个像素局部邻域的图像特征对其进行处理。当然也有外轮廓计算、神经网络等细化方法。
3.提取指纹特征点
如表26-1所示,特征提取用一个3*3的模板来检测特征点的位置与类型,M是被检测的指纹特征点,N0,…,N7是特征点M的按逆时针方向排列的邻近点。
如果其中N8=N0,则M是终结点,如图26-1(a)所示;
如果 其中N8=N0,则M是分叉点,如图26-1(b)所示。
由于图像噪声等因素的影响,从上述算法提取出来的特征点中有许多伪特征点有待删除,伪特征点的删除可以分为两个步骤。
(1)如果脊图中的一段与局部脊方向完全正交,而且其长度小于定值T,那么这段脊就会被消除。如果脊中的一个间断很短,没有其他脊穿过,那么缺的这段脊就应该补上。
(2)如果一个小区域中的细节形成一簇,那么只留下最靠近中心点的一个;如果两个细节非常接近,而且中间没有脊,那么消除这两个细节。
进行特征提取后,对于每个特征应该保留以下的参数:特征点的x坐标和Y坐标、特征点的方向即与特征点相连的局部脊方向、特征点的类型即是终结点还是分叉点,以及与特征点相连的脊。与特征点相连的脊是通过沿着脊线方向以脊间距采样来表示。对于分叉的脊线,与特征点相连的脊线是与特征点方向最接近的脊线。
4.比对特征点
在指纹录入时,即使是同一个手指,两次录入的指纹图像也不完全相同,会产生各种变形,比如平移、旋转等。要进行有效的匹配必须尽量减小各种变形,考虑到指纹的各种非线性变形通常是放射性的,可以在极坐标系中进行指纹匹配。另外,由于非线性变形的存在,很难找到与指纹模板中特征点位置完全一致的特征点,因此匹配的算法应该是弹性的,即允许在某个范围内由于非线性变形引起的误差。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -