指纹识别算法研究.docx

上传人:b****8 文档编号:30430790 上传时间:2023-08-14 格式:DOCX 页数:46 大小:445.21KB
下载 相关 举报
指纹识别算法研究.docx_第1页
第1页 / 共46页
指纹识别算法研究.docx_第2页
第2页 / 共46页
指纹识别算法研究.docx_第3页
第3页 / 共46页
指纹识别算法研究.docx_第4页
第4页 / 共46页
指纹识别算法研究.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

指纹识别算法研究.docx

《指纹识别算法研究.docx》由会员分享,可在线阅读,更多相关《指纹识别算法研究.docx(46页珍藏版)》请在冰豆网上搜索。

指纹识别算法研究.docx

指纹识别算法研究

数字图像处理报告

题目

指纹识别算法研究

学院

信息学院

专业

通信工程

班级

通信

姓名

 

摘要

随着计算机和网络的迅速发展,人们对身份认证的准确性、安全性与实用性提出了更高的要求。

基于生物特征识别的智能身份认证技术也逐渐受到广泛的关注。

在众多的生物识别技术中,指纹识别技术是发展最早、应用最广泛的一种。

指纹识别技术充分利用了指纹的普遍性、唯一性和永久性的生物特征,已逐步取代了传统的基于标志和数字的识别方式,目前在网络、银行、金融、医疗和安检等行业均得到了广泛应用。

本文对指纹识别系统的原理和基本过程进行了分析研究,重点研究了指纹图像预处理算法,并且进行了验证。

在指纹图像预处理部分,论文对预处理的各个步骤包括规格化、图像分割、中值滤波、二值化、细化等以及各个步骤的方法进行了深入的分析和研究,选择了一种图像预处理方案。

在指纹特征提取部分,采用基于Matlab实现的指纹细节特征提取方法,并给出了去伪算法。

指纹特征提取是从细化后的指纹图中得到细节特征点(即端点和分叉点),此特征点含有大量的伪特征,既耗时又影响匹配精度。

采用了边缘去伪和距离去伪,使得特征点去伪前后减小了近1/3,然后提取可靠特征点信息,以便实现指纹匹配。

在指纹匹配部分,本文采用基于细节点的指纹匹配算法,并进行研究。

关键词 指纹识别、预处理、特征提取、匹配

 

FingerprintRecognitionAlgorithm

Abstract

WiththerapidProgressofcomputerscienceandnetworktechnique,Anaccurate,secureandpracticaltechno1ogyofPersonalidentificationbecomesmoreandmoreimportant.TechnologyofPersonalidentificationbasedonBiometricshasreceivedextensiveattention.TechnologyofFingerprintrecognitionistheearliestoneandisapp1iedwidelyinthealltechniquesofbiometricsrecognition,thenistakingfulladvantageoftheuniversality,uniquenessandpermanencyofthefingerprint,andgraduallyhastakenplaceoftraditionalidentificationmethodthatisbasedonsymbolandnumber.Nowadaysthetechnologyoffingerprintidentificationisfullyusedinnetwork,bank,finance,insuranceandsecurity.Thispaperresearchthebasicprinciplesandprocessofthefingerprintidentificationsystem,andfocusonthepre-processingalgorithmsoffingerprintimageandfinallyverify.Inthefingerprintimageprocessingsection,thesisonpreprocessingstepsincludingspecifications,imagesegmentation,medianfiltering,binarization,refinement,andsoon,andeachstepofthewaytoin-depthanalysisandresearch,isanimageprocessingprogram.

Partofthefingerprintfeatureextraction,fingerprint-basedMatlabimplementationdetailsoffeatureextractionmethods,andgivestothepseudo-algorithm.Fingerprintfeatureextractionisrefinedtogetthedetailsoffingerprintfeaturepoints(theendpointandbifurcationpoints),thisfeaturepointscontainalargenumberoffalsefeatures,time-consumingandwillaffectthematchingaccuracy.Usedandthedistancetotheedgeofthefalseandcounterfeit,makesthefeaturepointstoreducethefalsefrontofnearly1/3,andthenextractareliablefeaturepointinformation,inordertoachievethefingerprintmatch.

Partofthefingerprintmatch,thepaper-basedfingerprintminutiaematchingalgorithm,andconductresearch.

KeywordsFingerprintrecognition、Pretreatment、Featureextraction、Matching

指纹识别技术的背景

指纹识别是依据人的手指尖表面的脊、谷线分布状态来识别和验证人身份的方法。

据考古学家证实,公元前7000年到6000年以前,指纹作为身份鉴别的工具已经在古叙利亚和中国开始应用。

那时,一些粘土陶器上留有陶艺匠人的指纹。

公元前2700多年前的周代,指纹被用于民间契约的签署,即画押,旨在保持契约的可信度。

尽管指纹在我国应用较早,但由于长期缺乏专门的系统研究,未能上升到一门专门的学科。

英国科学家Galton于1892年出版了《指纹学》和《指纹分析法》【1】,从此奠定了指纹科学研究的基础。

1899年,英国学者亨利将指纹的特征及识别原理加以分析归纳,科学地提出了人的指纹各不相同,并提出了基于指纹特征进行识别的原理和方法,以后衍生出的各种识别方法都是基于该理论。

到本世纪初,指纹学的研究基本成熟,这时的指纹鉴别,主要由指纹专家根据指纹知识凭经验判断。

世界上许多国家都建立了指纹库,仅美国联邦调查局的指纹库中就存有二亿多张指纹卡。

然而传统的指纹识别方法面临着从指纹库中人工查找、对比指纹卡速度慢、效率低、对人员要求高等问题。

从二十世纪六十年代开始,随着计算机技术的发展,传统的指纹识别技术发生了重大变化。

人们开始利用计算机来建立指纹识别系统。

指纹识别的组成及原理分析

1.1指纹识别系统的组成

指纹识别技术是指使用取像设备读取指纹图像,通过识别软件提取出指纹图像中的特征数据,然后根据匹配算法得到的结果鉴别指纹所有人身份的生物特征识别技术。

指纹识别系统主要涉及三大步骤:

指纹图像预处理、特征提取、特征匹配三个部分,其中预处理部分又可分为归一化、图像滤波增强、二值化和细化等几个步骤。

系统流程框图如图1-1所示。

下面对这三个个部分做一下简单的介绍。

图1-1指纹识别系统流程图

1.2指纹识别的基本原理

1.2.1指纹的基本特征

指纹其实是比较复杂的。

与人工处理不同,许多生物识别技术公司并不直接存储指纹的图象。

多年来在各个公司及其研究机构产生了许多数字化的算法(美国有关法律认为,指纹图象属于个人隐私,因此不能直接存储指纹图象)。

但指纹识别算法最终都归结为在指纹图象上找到并比对指纹的特征。

指纹识别系统中,通常采用全局和局部两种层次的结构特征。

两枚指纹可能具有相同的全局特征,但局部特征却不可能完全相同。

1.2.2全局特征

全局特征是指那些用人眼直接就可以观察到的特征,包括:

基本纹路图案环型(loop),弓型(arch),螺旋型(whorl)如图2-1所示。

其他的指纹图案都基于这三种基本图案。

仅仅依靠图案类型来分辨指纹是远远不够的,这只是一个粗略的分类,但通过分类使得在大数据库中搜寻指纹更为方便。

环型弓型  螺旋型

图2-1环型、弓型、螺旋型指纹图像

模式区是指指纹上包括了总体特征的区域,即从模式区就能够分辨出指纹是属于那一种类型的。

有的指纹识别算法只使用模式区的数据。

SecureTouch的指纹识别算法使用了所取得的完整指纹而不仅仅是模式区进行分析和识别,如图2-2所示。

图2-2模式区

核心点位于指纹纹路的渐进中心,它在读取指纹和比对指纹时作为参考点。

许多算法是基于核心点的,既只能处理和识别具有核心点的指纹。

核心点对于SecureTouch的指纹识别算法很重要,但没有核心点的指纹它仍然能够处理,如图2-3所示。

图2-3核心点

三角点位于从核心点开始的第一个分叉点或者断点、或者两条纹路会聚处、孤立点、折转处,或者指向这些奇异点。

三角点提供了指纹纹路的计数跟踪的开始之处,如图2-4所示。

图2-4三角点

指模式区内指纹纹路的数量。

在计算指纹的纹数时,一般先在连接核心点和三角点,这条连线与指纹纹路相交的数量即可认为是指纹的纹数,如图2-5所示。

图2-5纹数

1.2.3局部特征

局部特征是指指纹上的节点的特征,这些具有某种特征的节点称为特征点。

两枚指纹经常会具有相同的总体特征,但它们的局部特征--特征点,却不可能完全相同。

1、指纹的特征点

指纹纹路并不是连续的、平滑笔直的,而是经常出现中断、分叉或打折。

这些断点、分叉点和转折点就称为“特征点”。

就是这些特征点提供了指纹唯一性的确认信息。

指纹上的节点有四种不同特性:

2、特征点的分类

有以下几种类型,最典型的是终结点和分叉点。

终结点(Ending):

一条纹路在此终结,如图2-6所示。

图2-6终结点

分叉点(Bifurcation):

一条纹路在此分开成两条或更多的纹路,如图2-7所示。

图2-7分叉点

分歧点(RidgeDivergence):

两条平行的纹路在此分开,如图2-8所示。

图2-8分歧点

孤立点(DotorIsland):

一条特别短的纹路,以至于成为一点,如图2-9所示。

图2-9孤立点

环点(Enclosure):

一条纹路分开成为两条之后,立即有合并成为一条,这样形成的一个小环称为环点,如图2-10所示。

图2-10环点

短纹(ShortRidge):

一端较短但不至于成为一点的纹路,如图2-11所示。

 

图2-11短纹

方向(Orientation):

节点可以朝着一定的方向。

曲率(Curvature):

描述纹路方向改变的速度。

位置(Position):

节点的位置通过

坐标来描述,可以是绝对的,也可以是相对于三角点或特征点的【4】。

1.2.4指纹识别的一般算法

(1)指纹图象预处理

在指纹识别过程中,输入的指纹图像由于各种原因的影响,是一幅含噪声较多的灰度图像,预处理的目的就是去除图像中的噪声,使图像画面清晰,边缘明显,把它变成一幅清晰的点线图,以便于提取正确的指纹特征。

指纹图像预处理环节在整个指纹识别系统中具有重要的地位和作用,它的好坏直接影响着指纹识别的效果。

预处理一般分为四步进行:

图像分割、图像滤波、二值化和细化。

首先,对图像进行分割。

由于有的原始图像跟其背景区域相混合,在背景和指纹图像之间存在一道白色区域,所以需要对原始指纹图像进行背景分离,,消除最外面的边框。

我们可以根据灰度的大小对图像进行初步处理,得到初步处理然后对指纹图像进行归一化及分割处理,消除剩下的背景区域。

其次,指纹预处理过程中最重要的一步就是对指纹图像进行滤波去噪,它是指纹图像预处理需要解决的核心问题。

图像滤波的目的是在增强脊线谷线结构对比度的同时抑制噪声,连接断裂的脊线和分离粘连的脊线,按特定的需要突出一幅图像中的某些信息,同时削弱或去除某些不需要的信息【5】。

再次,图像经滤波处理后,其中的纹线(脊)部分得到了增强,不过脊的强度并不完全相同,表现为灰度值的差异。

二值化的目的就是使脊的灰度值趋向一致,使整幅图像简化为二元信息在指纹识别中,一方面对图像信息进行了压缩,保留了纹线的主要信息,节约了存储空间,另一方面还可以去除大量的粘连,为指纹特征的提取和匹配作准备。

最后,指纹图像二值化后,纹线仍具有一定的宽度,而指纹识别只对纹线的走向感兴趣,不关心它的粗细。

细化的目的是为了删除指纹纹线的边缘像素,使之只有一个像素宽度,减少冗余的信息,突出指纹纹线的主要特征,从而便于后面的特征提取。

细化时应保证纹线的连接性,方向性和特征点不变,还应保持纹线的中心基本不变。

(2)特征提取

目前的指纹识别普遍采用的指纹特征是细节点(minutiae),分为端点和分叉点。

指纹的特征可以反映不同的指纹相互之间相似的程度。

指纹的特征信息很多。

这些所有的指纹特征信息构成了庞大的指纹特征集合。

一组好的特征不仅要能达到身份识别的基本要求,而且对噪声、畸变和环境条件不敏感。

原始指纹图像经预处理后得到的是一幅细化的二值图像,下一步要做的工作就是对细化后的图像进行特征提取,得到可以识别不同指纹的关键特征。

特征提取把指纹图像的纹线走向,纹线端点、交叉点等能充分表示该指纹唯一性的特征用数值的形式表达出来。

为了比对的准确性,要求特征提取算法尽可能多地提取有效特征,同时滤除由各种原因造成的虚假特征。

一般在指纹识别技术中只使用两种细节特征点:

端点和分叉点,其他类型特征点出现的机率很小,这两类特征点在指纹中出现的机会最多、最稳定,比较容易获取。

如何准确高效的提取指纹特征是指纹细节特征提取要开展的工作,或者说是采取什么样的步骤和方法,是后面指纹匹配工作的基础。

(3)指纹匹配

特征匹配主要是细节特征的匹配,将新输入指纹的细节特征值与指纹库中所存指纹的细节特征值进行比对,找出最相似的指纹作为识别的输出结果,也就是所说的指纹验证识别过程,它是指纹识别系统的最终目的。

由于各种因素的影响,同一指纹两次输入所得的特征模板很可能不同。

因此,只要有输入指纹的特征模板与所存储的模板相似时,就说这两个指纹匹配。

于是产生了有关衡量标准的问题。

通常,匹配结果用“匹配度”来表示。

当匹配度大于某一阈值时,认为两指纹匹配;相反,当小于该阈值时,认为不匹配。

阈值大小通常根据经验等因素人为设定【6】。

1.3本章小结

本章对指纹识别原理及指纹识别系统作了简单的介绍,介绍了指纹基本的分类方式、全局特征、局部特征等基本的指纹识别原理;并且对指纹识别各个阶段的算法进行详细的分析与介绍,目的在于使读者对指纹识别系统的组成、识别原理和技术等方面有一个总体认识,为后面的理论研究提供现实基础。

指纹图像预处理

刚获得的图象有很多噪音。

这主要由于平时的工作和环境引起的,比如,手指被弄脏,手指有刀伤、疤、痕、干燥、湿润或撕破等。

图象增强是减弱噪音,增强脊和谷的对比度。

想得到比较干净清晰的图象并不是容易的事情。

为这个目标而为处理指纹图象所涉及的操作是设计一个适合、匹配的滤镜和恰当的阀值。

有很多图象增强的方法。

大多数是通过过滤图象与脊局部方向相匹配。

图象首先分成几个小区域(窗口),并在每个区域上计算出脊的局部方向来决定方向图。

可以由空间域处理,或经过快速2维傅立叶变换后的频域处理来得到每个小窗口上的局部方向。

设计合适的,相匹配的滤镜,使之实用于图象上所有的象素(空间场是其中的一个)。

依据每个象素处脊的局部走向,滤镜应增强在同一方向脊的走向,并且在同一位置,减弱任何不同于脊的方向。

后者含有横跨脊的噪音,所以其垂直于脊的局部方向上的那些不正确的“桥”会被滤镜过滤掉。

所以,合适的、匹配的滤镜可以恰到好处地确定脊局部走向的自身的方向,它应该增强或匹配脊而不是噪音。

图象增强,噪音减弱后,我们准备开始选取一些脊。

虽然,在原始灰阶图象中,其强度是不同的而按一定的梯度分布,但它们真实的信息被简单化为二元:

脊及其相对的背景。

二元操作使一个灰阶图象变成二元图象,图象在强度层次上从原始的256色降为2色。

图象二元化后,随后的处理就会比较容易。

二元化的困难在于,并不是所有的指纹图象有相同的阀值,所以一般不采取从单纯的强度入手,而且单一的图象的对照物是变化的,比如,手在中心地带按的比较紧。

因此一个叫“局部自适应的阀值(locallyadaptivethresholding)”的方法被用来决定局部图象强度的阀值。

在节点提取之前的最后一道工序是“细化(thinning)”。

细化是将脊的宽度降为单个象素的宽度。

一个好的细化方法是保持原有脊的连续性,降低由于人为因素所造成的影响。

人为因素主要是毛刺,带有非常短的分支而被误认为是分叉。

认识到合法的和不合法的节点后,在特征提取阶段排除这些节点。

指纹图像预处理的目的主要是为特征值提取的有效性、准确性作好准备【8】。

图像的预处理大致可以划分为以下几步:

分割、平滑滤波、二值化和细化。

主要流程如下图3-1所示:

 

图3-1预处理主要流程

1.4对指纹图像进行分割

由于获得的指纹图像跟其背景区域相混合,所以需要对原始指纹图像进行背景分离。

对指纹图像进行分割处理,消除剩下的背景区域。

a.先对初步处理后的指纹图像进行归一化处理,在此利用公式如下:

(3-1)

如果

,则把灰度值

归一化为255背景处理,其中

为期望的均值和方差,根据实际情况而定,

为指纹图像的均值和方差。

b.对指纹图像进行分块,将其分为

的小块,如果是背景区域,其灰度的方差较小,而前景区的指纹图像的方差较大,所以对每个小块求其方差,再设定一个阈值,小于阈值的方块区域设置为背景区域,将其灰度值设定为255,而大于阈值的区域的灰度值保持不变,从而可以将指纹图像从背景区域很好的分离。

1.5对指纹图像进行二值化处理

由于分割后的图像质量仍然不是很好,所以需要对其进行滤波、消除毛刺、空洞处理和二值化处理,以使指纹图像清晰,消除不必要的噪声,以利于进一步的辨识。

指纹图像二值化作为指纹预处理过程的一部分,是进行指纹图像细化处理的基础。

目前指纹细化方法都是基于二值指纹图像进行的。

对指纹图像二值化的好处在于使得图像的几何性质只0和1的位置有关,不再涉及像素的灰度值,使处理变得简单,这给存储和处理带来了很大的方便,同时也提高了系统的经济实用。

一个好的算法可以得到一个高质量的二值图像。

反之,如果该阶段引入噪声,就会直接降低图像质量,影响识别精度。

对指纹图像进行二值化,其基本要求就是二值化后的图像能真实地再现原指纹。

具体要求为:

1.脊线中不出现空白;

2.二值化后的脊线基本保持原来指纹的特征;

3.指纹的纹线不应有太多的间断和相连;

4.指纹纹线间的间距应大致相同。

指纹图像首先要进行中值滤波处理,去除噪声。

然后进行二值化过程,变成二值图像。

由于原始指纹图像不同区域深浅不一,如对整幅图像用同一阈值进行二值分割,会造成大量有用信息的丢失。

这里我们使用自适应阈值二值化的思想,对每块指纹图像,选取的阈值应尽量使该块图像内大于该阈值的像素点数等于小于该阈值的像素点数。

一般灰度图像二值化的变换函数

用下列公式表示,见式(3-2):

(3-2)

公式(3-2)中

为指定的阈值,

为灰度值。

自适应阈值算法【9】首先是利用固定阈值算法的思想,然后根据图像中每一部分的明暗度来调整阈值。

本文首先把图像分为若干个

的方块,每一块根据自己的阈值进行二值化。

这种算法充分利用了指纹图中脊线与谷线宽度大致相同的特点,即二值化后黑白像素的个数也应大致相同,首先利用固定阈值算法的特点对指纹图像中的每块确定一个大致的阈值,然后再利用自适应的思想对阈值进行准确的调整,即阈值的取值合适时图像是最光滑的,既没有“黑洞”阈值过大,也没有“白点”阈值过小,所以0-1之间的转换次数最少。

下面为块区域阈值的选取算法:

1.将指纹图像划分为不重叠的大小为

的块,求取该区域内所有像素的灰度平均值。

在综合考虑算法速度和处理效果两方面的条件下,本文分块尺寸为8×8;

为块的灰度平均值.见式(3-3):

(3-3)

2.计算区域内的

的值,

=灰度值大于等于

的像素点的个数。

=灰度值小于

的像素点的个数;

3.如果

,则

为阈值;

4.若

,则

,否则

,返回第二步。

自适应阈值二值化的流程图如图3-2所示:

图3-2自适应阈值二值化流程图

图3-2中

为该块指纹图像的平均灰度值

分别为第

块指纹图像中灰度值大于等于

和小于

的像素点数,

是分块尺寸(像素)。

1.6对指纹图像进行细化处理

指纹图像处理中物体的形状信息是十分重要的,为了提取指纹图像特定区域的特征,对指纹图像通常需要采用细化算法处理,得到与原来指纹图像形状近似的由简单的弧或曲线组成的图形,这些细线处于物体的中轴附近,这就是所谓的指纹图像的细化。

细化方法不同,细化结果就有差异。

在指纹识别中要求在不改变原来指纹图像的拓朴连通性的同时,细化的结果应为严格的八邻域图像骨架;纹线中除去特征点以外,每个像素均只与相邻两个像素为八邻域,抹去任意一像素都将破坏纹线的连接性。

概括起来说就是纹线细化处理要满足收敛性、连接性、拓朴性、保持性、细化性、中轴性、快速性的要求。

目前为止,关于细化方法的研究工作已有很多成果,所采用的方法从使用的观点来看,比较多的是采用模板匹配的方法(如迭代法、OPTA单连通法等)。

这种方法是根据某个像素的局部邻域(如3×3,5×5等)的图像特征对其进行处理,此外也有采用边缘搜索编码、外轮廓计算以及神经网络等细化方法。

从处理的过程来看,主要可以分为串行和并行两类,前者对图像中当前像素处理依据其邻域内像素的即时化结果,且不同的细化阶段采用不同的处理方法;后者对当前的像素处理该像素及其邻域内各像素的前一轮迭代处理的结果,自始至终采用相同的细化准则。

对于任意形状的区域,细化实质上是腐蚀操作的变体,细化过程中要根据每个像素点的八个相邻点的情况来判断该点是否可以剔除或保留。

 

(1) 

(2) (3)

 

(4)  (5) (6)

 

(7)

图3-3根据某点的八个相邻点的情况来判断该点是否能删除

图3-3给出了当前需要处理的像素点在不同的八邻域条件下的情况,可以看出:

(1)不能删,因为它是个内部点,我们要求的是骨架,如果连内部点也删了,骨架也会被掏空的;

(2)不能删,和

(1)是同样的道理;(3)可以删,这样的点不是骨架;(4)不能删,因为删掉

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1