指纹识别系统的设计.doc_第1页
指纹识别系统的设计.doc_第2页
指纹识别系统的设计.doc_第3页
指纹识别系统的设计.doc_第4页
指纹识别系统的设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

指纹识别系统的设计36摘 要随着计算机技术的发展,作为身份识别手段的生物识别技术得到了广泛的应用,指纹识别技术作为生物识别技术的一种更是发展迅速。指纹具有唯一性、稳定性、再生性等特点,指纹识别技术为身份识别提供了更加可靠的手段。指纹识别是数字图像处理及模式识别领域的一个重要分支,也是一个极富挑战性的课题。本文详细介绍了指纹识别技术的各个方面。指纹识别算法一般包括预处理和特征提取与匹配两大部分。其中预处理通常包括灰度均衡化处理、图像滤波、图像二值化以及图像细化等步骤。本课题主要是对以上各个步骤利用MATLAB编程实现,并给出了各个步骤的实验结果。实验结果表明,采用MATLAB平台实现的指纹识别算法简单实用,指纹图像处理效果较好。关键词:数字图像处理;指纹识别;预处理;特征提取与匹配;MATLAB ABSTRACTWith the developing of computer technology, the Biometric Identification technology which as Identification method has got widespread application and Fingerprint Indentification technology which as Biometric Identification technology has developed rapidly. The fingerprint has characteristics of uniqueness, stability, reproducibility,so fingerprint indentification technology can provide more reliable methods for Identification.Fingerprint Indentification is an important branch in the field of digital image processing and pattern recognition, also is an overwhelming project. This article introduce all aspects of Fingerprint Indentification technology in detail. The Fingerprint Identification algorithm includes two major parts about the pretreatment part and the characteristic extracting and matching part.And the pretreatment part usually includes grayscale equalizing processing,image filter, image binaryzation, image thinning and so on . This Project mainly implement the above each step by using MATLAB, and give experimental result of each step. The experimental results prove that The Fingerprint Identification algorithm which base on MATLAB are simple practical and the effect of fingerprint imagery processing is good.Keyword: Digital picture processing;Fingerprint identification;Pretreatment;Characteristic extracting and matching;MATLAB 目 录摘 要ABSTRACT第一章 概论11.1数字图像处理技术11.2 指纹识别简介11.2.1 指纹识别系统的现状21.2.2 指纹识别技术的市场及应用前景21.3 本课题研究的主要内容21.4 本课题研究工具MATLAB介绍31.4.1 MATLAB的特点31.4.2 MATLAB语言简介4第二章 指纹图像采集及分类52.1 指纹图像采集52.1.1 指纹图像采集技术的相关定义52.1.2 指纹图像采集技术的分类与比较52.2 指纹图像分类62.2.1 指纹图像的特征62.2.2 指纹图像的粗分类7第三章 指纹图像预处理103.1 指纹图像的均衡化103.2 指纹图像的平滑滤波123.2.1 线性平滑滤波133.2.2 非线性平滑滤波143.3 指纹图像的二值化153.3.1 指纹图像二值化概述163.3.2 本文所采取的指纹图像二值化方法163.4 指纹图像的细化173.4.1 指纹图像细化概述173.4.2 指纹图像细化算法实现18第四章 指纹图像特征提取与特征匹配234.1 指纹图像特征提取234.1.1 指纹图像特征提取概述234.1.2 指纹细节特征提取234.2 指纹图像特征匹配254.2.1 指纹图像特征匹配概述254.2.2 基于点模式指纹特征匹配26第五章 指纹识别系统的MATLAB实现285.1 系统总界面285.2 显示图形模块285.3 指纹编码模块305.4 指纹匹配模块315.5 其它模块335.5.1 删除数据库模块345.5.2 帮助模块35第一章 概论1.1数字图像处理技术数字图像处理技术是20世纪60年代发展起来的一门新兴学科。近30多年来,由于大规模集成电路技术和计算机技术的迅猛发展,离散数学理论的创立和完善,以及军事、医学和工业等方面需求的不断增长,数字图像处理的理论和方法进一步完善,使得数字图像处理技术在宇宙探测、遥感、生物医学、工农业生产、军事、公安、办公自动化、视频和多媒体系统等领域得到了广泛应用,并显示出广阔的应用前景,成为计算机科学、信息科学、生物科学、医学等学科研究的热点1。数字图像处理是利用计算机的计算功能,实现与光学系统模拟处理相同效果的过程。数字图像处理概括的说主要包括如下几项内容:几何处理,算术处理,图像增强,图像复原,图像重建,图像编码,模式识别,图像理解2。(1)几何处理:几何处理主要包括坐标变换,图像的放大、缩小、旋转、移动,多个图像配准,全景畸变校正,扭曲校正,周长、面积、体积计算等。(2)算术处理:算术处理主要对图像施以加、减、乘、除等运算,如医学图像的减影处理就有显著的效果。(3)图像增强:图形增强处理主要是突出图像中感兴趣的信息,而减弱或去除不需要的信息,从而使有用信息得到加强,便于区分或解释。(4)图像复原:图像复原处理的主要目的是去除干扰、模糊和图像畸变,恢复图像的本来面目。(5)图像重建:几何处理、图像增强、图像复原都是从图像到图像的处理,即输入的原始数据是图像,处理后输出的也是图像,而重建处理是从数据到图像的处理,也就是输入的是某种数据,而处理结果得到的是图像。(6)图像编码:图像编码研究属于信息论中信源编码范畴,其主要宗旨是利用图像信号的统计及人类视觉的生理学及心理学特性对图像信号进行高效编码。一般来说,图像编码的目的有三个:减少数据存储量;降低数据率以减少传输带宽;压缩信息量,便于特征提取,为识别做准备。(7)模式识别:模式识别是数据图像处理的又一研究领域。当今,模式识别方法大致有三种,即统计识别法、句法结构模式识别法和模糊识别法。(8)图像理解:图像理解是由模式识别发展起来的方法。该处理输入的是图像,输出的是一种描述。1.2 指纹识别简介1.2.1 指纹识别系统的现状指纹识别系统是集计算机、网络、光电技术、图像处理、智能卡、数据库技术等于一体的综合技术。目前的指纹识别系统是采用先进的光电识别办法采集一个指纹信息,并把它变成可以和由计算机处理的暗码相对比的代码。这些代码都经过加密处理,然后经独特的相关算法进行识别判断,在算法上有的采用是一个指纹的全部图案,而有的是指纹的特殊细节。根据已掌握的资料来看,目前的指纹识别系统已具有如下特点15:(1)可靠性:采用独特的容错技术,即使指纹有破坏,即指纹不全或指纹随时间有自然的变化时也不影响正确识别。(2)快捷性:大多数系统鉴别时间仅需13S。(3)灵活性:一个指纹信息的代码可以压缩到几十个字节到几百个字节,因此可以存放在一个磁条上或者IC卡上。(4)可接受性:一个因素是目前的系统具有高性能;另一个因素是目前的系统设计已考虑到人类工程学设计,因而易被用户接受。(5)安全性:所用个人代码都经过了特殊加密(6)方便性:目前出现的各类指纹识别系统一般外观设计精巧、结实,采用了精密独特的光电系统,据有多种安装模式。(7)兼容性:可以与现有的各类系统兼容。1.2.2 指纹识别技术的市场及应用前景指纹识别系统有着极其广阔的应用前景。众所周知,指纹识别最早是在罪犯鉴别中应用。它对于提高侦破手段、威慑罪犯、打击刑事犯罪起到了重要作用。根据目前的了解,指纹识别系统的其他适用场所为:政府各类机要部门、国家重点实验室及生产重地、机场、军事要地、银行金库、金融系统、博物馆、高级宾馆等重要门禁或入口控制、汽车门锁等。除此之外,另一大潜在应用前景是:自动取款机(ATM)、信用卡、驾驶执照、身份证、医疗健康卡、计算机系统安全、机械登记等方面。由于指纹识别技术的诸多优点,可以预料,一方面指纹识别系统将会在一切需要验证身份的场所发挥越来越重要的作用,其应用领域将会进一步拓宽;另一方面,由于市场的推动,指纹识别技术也会不断提高,在其识别可靠性、速度、成本等方面进一步朝实用化迈进。1.3 本课题研究的主要内容指纹识别是一种利用人体固有的生物特征进行个人身份识别的技术,具有唯一性和不变性等重要特征,因而在信息安全领域、个人身份识别领域等多方面得到广泛应用。随着计算机图像处理和模式识别技术的发展,使指纹识别成为可能。指纹识别技术主要包括四大步骤:指纹图像的获取、图像预处理、指纹特征提取和指纹匹配。首先,通过指纹读取设备获取到人体指纹的图像,之后对原始图像进行基于指纹方向特性的预处理,使之更清晰;然后通过特征提取,建立指纹的数字表示,即特征数据文件;这是种单方面的转换,可以从指纹转换成特征数据文件,但不能从特征数据文件转换成指纹图像,然而两枚不同的指纹不会产生相同的特征数据;匹配识别主要是通过分析指纹的总体特征和局部特征,如嵴、谷、分叉点和分歧点,通过计算机统计模糊匹配方法,对两个指纹模板进行比较,计算出它们的相似程度,得出对比结果,指纹识别则将采集到的指纹同多个存储特征数据比对,由相似度大小及比对阈值得到最终识别结果。从指纹中抽取的特征值可以非常的详尽以便可靠地通过指纹来确认一个人的身份。指纹识别系统的流程图如图1.1所示:指纹图像采集图像预处理特征点提取?特征匹配指纹对比指纹登记 输出显示存入指纹库图1.1 指纹识别系统流程1.4 本课题研究工具MATLAB介绍 1.4.1 MATLAB的特点MATLAB之所以成为世界流行的科学计算与数学应用软件,是因为它有着强大的功能:高质量、强大的数值计算功能,数据分析和科学计算可视化功能,强大的符号计算功能,强大的非线性动态系统建模功能,灵活的程序接口功能,文字处理功能。另外,MATLAB还具有支持科学计算标准的开放式可扩充结构和跨平台兼容的特点,能够很好的解决科学和工程领域内的复杂问题。MATLAB的技术特点主要表现在以下几个方面2。(1)界面友好、编程效率高。MATLAB是一种以矩阵为基本变量单元的可视化程序设计语言,语法结构简单,数据类型单一,命令表达方式接近于常用的数学公式。(2)功能强大,可扩展性强。MATLAB支持用户对其函数进行二次开发,用户的应用程序可以作为新的函数添加到相应的工具箱中。(3)图形功能灵活方便。MATLAB具有灵活的二维与三维绘图功能,在程序的运行过程中,用户可以迅速地用图形、图像、声音、动画等多媒体技术直接表述数值计算结果,可以选择不同的坐标系,设置颜色等,还可以将图形嵌入到用户的WORD文件中。(4)在线帮助,有利于自学。用户可以借助于MATLAB环境下的“在线帮助”学习各种函数的用法极其内涵。1.4.2 MATLAB语言简介MATLAB语言是一种优秀的计算机语言,具有数学运算能力是它的突出优点之一。许多在C语言中或者其它高级语言中很复杂的编程问题在MATLAB语言编程中只需要一条专用指令就可以完成。MATLAB语言的所有计算都基于矩阵运算来完成,所以,MATLAB中的所有变量都定义为矩阵,所有的运算都是关于矩阵的运算。它是一种解释性语言,几乎没有格式上的限制。为了缩短算法的开发周期,运用MATLAB语言描述图形显示功能,以它作为指纹图像识别算法仿真的平台。第二章 指纹图像采集及分类2.1 指纹图像采集 2.1.1 指纹图像采集技术的相关定义指纹采集设备的作用就是获取指纹图像的点位图,一般来说,每一点用一个 0255之间的灰度值表示。分辨率是每单位长度内的点数,一般用每英寸点数dpi表示,它的范围在250625dpi之间,500dpi为标准分辨率。点与点之间的距离称为节距,例如分辨率为500dpi时,节距为50m,分辨率和节距之间的关系可用公式2.1表示。分辨率= (2.1)指纹图像采集技术是指纹识别系统的关键技术之一。指纹采集的面积比较小,日常生活中指纹又容易受到磨损,获得优质的指纹细节图像是一项非常复杂的工作。2.1.2 指纹图像采集技术的分类与比较指纹采集技术有多种,按原理可分成两大类:光学采集技术和非光学采集技术。相应的指纹取像设备主要有扫描仪、数码相机和活体指纹采集器等。扫描仪把卡片或照片上的指纹转化为灰度图像;数码相机适合于将现场实物上的指纹转化为图像;活体指纹采集器可直接从人的手指上获取指纹图像13。一、光学采集技术光学取像技术是目前常用的可靠性好的指纹取像技术。它的历史很长,始于70年代,光学取像技术可分为二类:1. 扫描仪和数码相机使卡片或照片上的指纹或现场实物上的指纹印迹直接被取像设备中的光电耦合器件(CCD)获取,并经数字化器件转化得到数字化图像。2. 光学活体指纹摄入仪利用了光的全反射原理。即当光源照到按有手指的玻璃棱镜表面时,入射光经玻璃射到指纹纹谷后,在玻璃与空气的界面发生全反射,反射回CCD的光强损失很少,而射向指纹纹脊的光线不发生全反射,被纹脊与玻璃的接触面吸收或者发生漫反射,这样反射回CCD的光强就大大减弱,因此纹谷和纹脊的不同反射光强由CCD获得并被数字化器件转化为灰度图像。反射光强的损失受压在玻璃棱镜表面指纹的纹脊和纹谷的深度,以及皮肤与玻璃之间的油脂和水分的影响。近年来,为了减小光学活体指纹摄入仪的体积,在原有的技术上做出了相应改进。首先利用小纤维光束来获取指纹图像,小纤维光束垂直射到指纹的表面,它照亮指纹,并通过探测指纹反射光来获取图像。其次把含有微型棱镜矩阵的表面安装在指纹采集器的弹性表面上,当手指压在此表面上时,由于指纹纹脊和纹谷的压力不同而改变了微型三棱镜的表面,通过三棱镜的反射光强发生变化,从而产生指纹灰度图像。这些技术的采用,使得活体指纹射入仪的体积减小,实用范围更广。二、非光学取像技术非光学取像技术目前主要有二类:半导体传感器取像和超声波扫描取像。1.半导体传感器取像技术A.硅电容传感器:在半导体硅片表面约有100,000个电容传感器,其外面是绝缘表面,当用户将手指压在该半导体表面上时,皮肤组成了电容阵列的另一面。由于指纹纹脊和纹谷相对于另一极之间的距离不同(纹路深浅的存在),导致硅表面电容阵列的各个电容电压不同,通过测量并记录各点的电压值就可以获得灰度级的指纹图像。B 半导体压感式传感器:它的表面的顶层是具有弹性的压感介质材料,当用户将手指按压在该半导体表面上时,这些压感介质将指纹纹脊和纹谷的不同压力转化为相应的不同电信号,并进一步产生具有灰度级的指纹图像。C. 半导体温度感应传感器:它通过感应压在半导体表面上的指纹纹脊和远离半导体表面的纹谷的温度不同来获得指纹图像。2. 超声波扫描取像技术超声波扫描技术被认为是最好的指纹取像技术。其基本原理是超声波扫描指纹的表面,紧接着接收设备获取其反射信号,由于指纹纹脊和纹谷的声阻抗不同。导致反射回接收器的超声波能量不同,测量它的大小,从而产生指纹灰度图像。累积在皮肤上的脏物和油脂对超声波取像影响不大,所以这样获取的图像是实际指纹纹路凹凸的真实反映。2.2 指纹图像分类 2.2.1 指纹图像的特征指纹的特征可以分为;总体特征和局部特征两大类。1. 总体特征是指那些用人眼就可以直接观察到的特征,包括12:(1) 基本纹路图案:环型(Loop)、弓型(Arch)、螺旋型(Whorl)。其它的指纹图案都基于这三种基本图案。(2) 模式区:是指指纹上包括了总体特征的区域,即从模式区域就能分辨出指纹属于哪一种类型的。(3) 核心点:位于指纹纹路的渐进中心,它用于读取指纹和比对指纹时的参考点。(4) 三角点:位于从核心点开始的第一个分叉点或者断点、或者两条纹路会聚点、孤立点、转折处。三角点提供了指纹纹路的计数和跟踪的开始之处。(5) 纹数:指模式区内指纹纹路的数量,在计算指纹的纹数时,一般先连接核心点和三角点,这条连线与指纹纹路相交的数量即可认为是指纹的纹数。2. 局部特征是指指纹上的节点,两枚指纹经常会具有相同的总体特征,但它们的局部特征节点,却不可能完全相同。节点指纹纹路并不是连续的、平滑笔直的,而是经常出现中断、分叉或转折。这些断点、分叉和转折点就成为“节点”。这些节点提供了指纹唯一的确认信息。指纹上的节点有四种不同特性:(1) 分类节点有以下几种类型,最典型的是终端点和分叉点。 A. 终端点(Ending):一条纹路在此终结。 B. 分叉点(Bifurcation):一条纹路在此分开成为两条或更多的纹路。 C. 分歧点(Ridge Divergence):两条平行的纹路在此分开。 D. 孤立点(Dot):一条特别短的纹路,以至于成为一点。 E. 环点(Enclosure):一条纹路分成两条之后,立即又合并成为一条,这样形成的一个小环称为环点。 F. 短纹(Short Ridge):一端较短但不至于成为一点的纹路。(2) 方向节点朝着的一定方向。(3) 曲率用于描绘纹路方向改变的速度。(4) 位置节点的位置通过(x,y)坐标来描述,可以是绝对的,也可以是相对于核心点或特征点的相对坐标位置。 2.2.2 指纹图像的粗分类前面提到过的指纹的基本纹路图案,可以据此对指纹进行粗分类。指纹分类的目的是为了给大规模数据库提供一种检索机制,常用于警用辨识系统,以减少指纹匹配的数量。对于一般民用,指纹分类技术私用较少。常用的指纹分类方法是利用指纹的宏观或总体特征。指纹的总体特征是指在指纹中心区域形成的特殊结构。根据指纹总体特征,一般可简单的把指纹分为以下几类12。1. 弓形纹纹线由一方流向另一方,中部向上弯曲呈弓形,不返转。依据其弯曲的程度不同,分为狐形(Arch)和帐形纹(Tented arch)。一般帐形纹中心部位有一根以上的垂涎或斜行线支撑着弓形线。在人的自然分布中,狐形指纹和帐形指纹一般占6.16%和7.79%。如图2.1所示为狐形和帐形纹的示例。a.狐形 b.帐形图2.1 狐形和帐形纹2. 箕形纹指纹中心的纹线从一方流向另一方,拐弯后返回原方向,其上部和两侧外围由较多的弓形线包绕。根据中间箕形线的开口不同,又可分为左箕形和右箕形(如图2.2所示)。据统计,左箕形和右箕形的比例分别为17.03%和36.48%。 a.右箕形 b.左箕形图2.2 箕形纹3. 螺形纹指纹中心至少有一根环形线、螺形线、曲形线,其上部和两侧外围由较多的弓形线包绕,如图2.3所示。在所有纹形中的比例为32.52%。 a.单螺纹 b.双螺纹图2.3 螺形纹第三章 指纹图像预处理由于采集到的指纹图像不能直接用于指纹特征提取,因而要进行图像预处理,使之更清晰,以方便于指纹特征提取以及匹配。本章主要研究了指纹图像的均衡化、滤波、二值化和细化等预处理算法。3.1 指纹图像的均衡化 指纹图像均衡化的目的就是增加灰度图像的对比度,而对比度的提高可以使图像细节清晰,便于之后的特征提取。常见的图像均衡化方法是直方图法。1.灰度直方图的定义灰度直方图是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度级内容。任何一幅图的直方图都包括了可观的信息,某些类型的图像还可由其直方图完全描述。灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像素的个数;其横坐标是灰度级,纵坐标是该灰度出现的频率3。灰度直方图也有另一种方式的定义:假设一幅由函数D(x,y)所定义的连续图像,它平滑地从中心的高灰度级变化到边沿的低灰度级。可以选定某一灰度级D1,然后定义一条轮廓线,该轮廓线连接了图像上所以具有灰度级D1的点。该轮廓线是包围灰度级大于等于D1的区域的封闭曲线。在更高的灰度级D2处画第二条轮廓线。设A1是第一条轮廓线所包围区域的面积,A2是第二条轮廓线所包围区域的面积,如图3.1所示。图3.1 图像的灰度轮廓线将一幅连续图像中具用灰度级的所有轮廓线所包围的面积,称为该图像的阈值面积函数。则直方图的定义为: (3.1)因此,一幅连续图像的直方图是其面积函数的导数的负值。负号的出现是由于随着的增加而减小。如果将图像看成是一个二维的随机变量,则面积函数相当于其累积分布函数,而灰度直方图相当于其概率密度函数。2.灰度均衡灰度均衡有时也称直方图均衡,“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像元值,使一定灰度范围内的像元数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。这对于在进行图像比较之前将图像转化为一致的格式是十分有益的。按照图像的概率密度函数(归一化到单位面积的直方图)的定义: (3.2)其中为直方图,为图像的面积。设转换前图像的概率密度为,转换后图像的概率密度为,转换函数为。由概率论知识,我们可以得到: (3.3)这样,如果想转换后图像的概率密度函数为1(即直方图为平的),则必须满足: (3.4)等式两边对积分,可得: (3.5)该转换公式被称为图像的累积分布函数()。上面的公式是被归一化后推导出的,对于没有归一化的情况,只要乘以最大灰度值(,对于灰度图就是255)即可.灰度均衡的转换公式为: (3.6)对于离散图像转换公式为: (3.7) 式中为第级灰度的向上个数。3.直方图均衡化的Matlab设计及实现下面以简单的Matlab程序示例来说明直方图均衡化的实现过程。 I=imread(Left loop.bmp); J=histeq(I); figure,imshow(I); figure,imshow(J); figure,imhist(I,64); figure,imhist(J,64);得到原图像直方图以及均衡化后图像直方图如图3.2所示。a.原始指纹图像 b.原指纹图像直方图 c.均衡化后指纹图像 d.均衡化后指纹图像直方图图3.2 指纹图像均衡化效果图3.2 指纹图像的平滑滤波经过均衡化后的图像仍有很多噪音,而图像滤波是减弱噪音,增强对比度,因而均衡化后的图像需要进行滤波。为这个目标而处理图像所涉及的操作是选择一个合适的滤波器。在这里主要介绍一下线性平滑滤波中的领域平均法滤波和非线性平滑滤波中的中值滤波。领域平均法滤波能很好的消除噪音,但会使图像变得稍微模糊。中值滤波对脉冲干扰级椒盐噪声的抑制效果好,并在抑制随机噪声的同时能有效保护边缘少受模糊。3.2.1 线性平滑滤波 1.原理线性低通滤波器是最常用的线性平滑滤波器。实现这种滤波器的方法也称为邻域平均法。邻域平均法是一种局部空间域处理的算法,这种方法的基本思想是用几个像素灰度的平均值来代替每个像素的灰度。假定有一幅NN个像素的图像f(x,y),平滑处理后得到一幅图像g(x,y)。g(x,y)由下式决定2: (3.8)式中,x,y=0,1,2,N-1;S是(x,y)点邻域中点的坐标的集合,但其中不包括(x,y)点,M是集合内坐标点的总数。上式说明,平滑后的图像g(x,y)中的每个像素的灰度值均由包含在(x,y)的预定邻域中的f(x,y)的几个像素的灰度值的平均值来决定。一种常见的平滑算法是将原图中一个像素的灰度值和它周围邻近八个像素的灰度值相加,然后将求得的平均值(除以9)作为新图像中该像素的灰度值。我们用如下方法来表示该操作: (3.9)中间的元素是要进行处理的元素,同理可得55和77的模板。通常模板不允许移出边界,因此处理后的图像会比原图小。对于边界上无法进行模板操作的点,我们的做法是复制原图的灰度值,不再进行任何其它的处理。2.邻域平均法的Matlab实现下面以简单的Matlab程序示例来说明邻域平均滤波的实现过程。 I=imread(Left loop.bmp); imshow(I); K1=filter2(fspecial(average,3),I)/255; K2=filter2(fspecial(average,5),I)/255; K3=filter2(fspecial(average,7),I)/255; figure,imshow(K1); figure,imshow(K2); figure,imshow(K3);得到原图像以及邻域平均滤波后图像如图3.3所示。a.原始图像 b.33的邻域平均滤波结果c.55的邻域平均滤波结果 d.77的邻域平均滤波结果图3.3 邻域平均滤波3.2.2 非线性平滑滤波1.原理中值滤波是一种去除噪声的非线性处理方法。基本原理是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心像素的原来灰度值。中值的定义如下:一组数x1,x2,x3,xn,把n个数按值的大小顺序排列于下: (3.10)y称为序列x1,x2,x3,xn的中值。把一个点的特定长度或形状的邻域称作窗口。在一维情形下,中值滤波是一个含有奇数个像素的滑动窗口,窗口正中间那个像素的值用窗口内各像素值的中值代替。设输入序列为,I为自然数集合或子集,窗口长度为n,则滤波器输出为: (3.11)其中,。中值滤波是非线性运算,因此对于随机性质的噪声输入,数学分析是相当复杂的。由大量实验可得,对于零均值正态分布的噪声输入,中值滤波输出与输入噪声的密度分布有关,输出噪声方差与输入噪声密度函数的平方成反比。2.中值滤波法的Matlab实现下面以简单的Matlab程序示例来说明中值滤波的实现过程。 I=imread(Left loop.bmp); imshow(I); K1=medfilt2(I,3,3); K2=medfilt2(I,5,5); K3=medfilt2(I,7,7); figure,imshow(K1); figure,imshow(K2); figure,imshow(K3);得到原图像以及邻域平均滤波后图像如图3.3所示。a.原始图像 b.33的中值滤波结果c.55的中值滤波结果 d.77的中值滤波结果图3.4 调用函数medfilt2实现中值滤波3.3 指纹图像的二值化3.3.1 指纹图像二值化概述指纹图像经过滤波后,质量会比原图像好,这时进行二值化的效果也会好些。指纹图像二值化是指从一个具有纹理灰度变化的指纹图像生成另一种只有两种色调即黑白分明的指纹图像。其目的是把灰度指纹图像变成仅有0和255两个值表示的二值图像,其中,0表示脊线子图,255表示背景子图,即将灰度图像变成黑白图像。其基本原理主要依赖区域边缘像素灰度的不连续性和区域内部像素灰度的相似性,算法均可从串型和并行两种处理策略上实现。二值化目标是将图像背景和前景图案分割开,提取有关图像的图案信息和框架,它是指纹识别中的一个关键步骤,其效果的优劣会直接影响特征提取的准确性。图像二值化结果是使得指纹灰度图中相对色调较浅的“谷”纹线部分被转化成了白色,而相对较深的“脊”纹线部分被转化成了黑色,从而使得具有灰度的图像变成只有黑白两种色调的二值化图像,图像灰度层次从原始的256级减少到2级,相应的图像也从8bit格式转换成1bit的格式。图像经过二值化处理后,其线条分明、纹理清晰、为后续的指纹细节特征提取带来了极大便利。3.3.2 本文所采取的指纹图像二值化方法固定阈值法即根据图像的先验知识,如文字图像中文字占全图的百分比例为,试验选取一系列的,当使用某个时,其分割后的图像中文字所占的比例等于或者接近,那么就可以选定为阈值。再如图像中某个目标物体的宽度己知为,当时,其分割结果正好使目标物体的宽度接近,即可选定这个为分割阈值。由于指纹图像是由脊线和谷线相间组成的,在指纹扫描灰度图中,脊线一般比谷线较深,在灰度图上的灰度值比谷线小。而我们感兴趣的部分是脊线的纹路细节,所以我们把脊线视为前景,作为目标物体,在二值化后变为1为黑像素。而把谷线当成背景,将其灰度值变为0即白像素。通过采集设备得到的指纹图像,经过二值化分割以后其黑白像素点的比例应该接近1:1,利用这一点我们就可以用下面的算法进行二值化。我们的主要目标就是找到一个灰度值,以它作为阈值将指纹图像二值化后的黑白像素在整个指纹图中所占的比例接近相等。该算法分为一下三个步骤:(1)计算指纹图像的总像素:对于一幅的灰度图像,其总像素的个数为;(2)找出像素数目为总像素数目一半的灰度值,如果,其中为灰度为的像素占总像素的比例;(3)以为阈值,指纹图像中灰度小于阈值的像素灰度设置为0,大于或者等于阈值的像素的灰度设置为255。原始指纹图像以及二值化后指纹图的效果图如图3.5所示。 a.原始指纹图像 b.二值化后指纹图像图3.5 指纹图像二值化效果图3.4 指纹图像的细化3.4.1 指纹图像细化概述经二值化后的图像,其纹线宽是不均匀的,这是因为原始图像的质量受手指压力大小的影响和图像采集过程中噪声的影响。虽然纹线的宽度并不包含指纹的特征信息,但它的不均匀性会影响指纹特征的提取。因而,二值化图像需经过细化处理以得到包含特征信息的骨架图像。指纹图像的纹线细化处理,是在不改变图像像素拓扑连接关系的条件下,连续擦除图像的边缘像素,把纹线粗细不均匀的指纹图像转化成单像素线宽的条纹中心线图像的过程。对指纹纹线进行细化的主要作用是去除不必要的纹线粗细信息,使指纹图像的数据量及连接结构变得简单明了,便于从指纹图像中提取细节特征,从而提高图像的处理速度和效率。理想细化后的纹线骨架应该是原始纹线的中间位置,并保持纹线的连接性、拓扑结构和细节特征。目前的细化算法很多,可将指纹图像细化算法主要分为四类:串行细化算法、并行细化算法、混合细化算法以及基于指纹方向图的细化算法。串行细化算法一次只处理当前满足条件的像素点,下一次的操作由上一次操作的结果决定,达到彻底细化的效果往往要执行多遍操作;并行细化算法同时对满足给定条件的像素点进行处理,即一次处理所有像素的一个子集;混合细化算法则是串行细化和并行细化交互或同时进行;基于指纹方向图的算法将方向图引入指纹图像的细化。其中快速细化算法和改进的OPTA算法是目前使用较多的两种细化算法。快速细化算法为四连通并行细化算法,原理是判断指纹纹线的边界并逐步删除,直到图像中不存在符合删除规则的像素点。该算法执行速度快,但是细化不彻底,细化后的纹线不是单像素宽度。改进的OPTA算法是串行细化算法,其原理是构造一定的消除模板和保留模板,将二值化后的指纹图像和模板比较,决定是否删除某点的像素。这种算法能够基本保证单像素宽度,但是细化后会产生很多毛刺,而且实验发现,经过该算法细化后的指纹图像的纹线分叉处并不是单像素宽度。如果不加以处理,这些不足会导致在后续的特征提取过程中大量伪特征点的出现,严重影响指纹识别系统的准确性。3.4.2 指纹图像细化算法实现本文中所采用的细化算法是在改进的OPTA细化算法基础上,进行再次改进。改进 的OPTA算法是一种8连通串行细化算法,其原理是构造一定的消除模板和保留模板,将二值化后的指纹图像和模板比较,决定是否删除某点的像素值。该算法采用统一的44模板,改善了原OPTA算法消除模板和保留模板不一致的情况,构建了8类消除模板和6类保留模板,实现图像的细化处理。统一的模板结构如图3.6所示。图中,左上角的33方窗为消除模板区域,是被考察的像素点,也称为中心点。图3.6 改进的OPTA算法的的统一模板结构消除模板如图3.7所示。因为边界点的情况有八种,所以消除模板共有8类分别用来判断和消除上边界、左边界、下边界、右边界、右上边界、左上边界、左下边界和右下边界。模板中的“”表示对该点的像素值不作要求,即可以为1,也可以为0。这样,每一类模板其实包含了4个子模板。0001111010110111110001011010 a.上 b.左 c.下 d.右001101000111101100111000e.右上 f.左上 g.左下 h.右下图3.7 改进的OPTA算法的消除模板构造保留模板的原则是避免同一行(列)中两个相邻的边界点同时被删除,以保证纹线连通性。但该条件包含过大,并非所有这种情况下的中心点都要保留,还要取决于同行列)中另一个“1”值周围点的情况。若该“1”值周围的33邻域与消除10011010 0001101 10110000111100001110000101100图3.8 改进的OPTA算法的保留模板模板匹配,即该“1”值是应删除的边界点,就将原中心点保留。根据该原则构造的保留模板如图3.8所示。共有6类保留模板,每一类模板又包含了若干个子模板。改进的OPTA算法步骤如下:从图像的左上角元素开始进行,考察像素值为1的点,即目标点。对每个目标像素点(图中为P5)均抽取出图3.6所示的15个相邻像素,把其中8个邻域像素(P1-P4,P6-P9)与图3.7的8个消除模板比较,如果都不匹配,则P5保留,否则,抽取的元素再和图3.8的6个保留模板比较,如果与其中一个匹配,则保留P5,否则将P5删除。重复上述过程,直到没有一个像素的值被改变为止。该算法为8连通算法,细化结果图像具有8连通性,并且除分叉点处外能够基本保证像素宽。由于该算法是串行细化算法,所以每次循环只剥除纹线的最外一层,并且剥除操作是对称进行的,因而细化得到的骨架基本上是纹线的中心位置。第四章 指纹图像特征提取与特征匹配4.1 指纹图像特征提取4.1.1 指纹图像特征提取概述指纹识别系统是典型的模式识别系统,因此特征提取是系统中的主要模块。指纹特征提取的目的是要获得真正的细节特征,同时去除由噪声或污染等因素所造成的伪细节特征。对指纹识别系统而言,找出输入指纹图像的一个显著而又合适的特征至关重要。一般来说,这种表示应当具有如下的特征15:(1)保持原始图像的可区分性:要求特征表示能够保持指纹的独特性;(2)紧凑性:特征表示中不应当含有冗余的信息;(3)能适应不同的匹配算法:要求特征表示能适应匹配算法;(4)抵抗噪声和形变能力强:对指纹质量的要求不能过于苛刻;(5)无需很复杂的计算度:指纹细节特征提取的算法复杂性不能太高。目前,大多数指纹识别系统都是基于细节点匹配算法,这是因为指纹的细节特征模型组成了一个有效的指纹特征表示,具用紧凑、适用性好、抗干扰强、易于提取计算等特点。每个细节特征应具用的参数为:(1)x坐标;(2)y坐标;(3)细节点的方向;(4)细节点的类型。一个良好的细节提取算法应该既可靠由高效。细节提取算法可靠性意味着:(1)不会提取出伪特征点;(2)不会漏掉真特征点;(3)能准确的计算特征点位置和方向。然而,从指纹图像中准确提取特征是比较困难的。当指纹图像的质量不错时脊线和谷线的分布清晰,在这种情况下端点和分支点可以很容易的被找到,并且准确定位。但是在实际情况中,一般采集到的指纹图像的质量不一定好。质量不好的图像中的脊线和谷线的区别很模糊,不能准确的被提取出来,因此由相当多的伪特征点产生,很多真特征点丢失,而且特征点的位置和方向的计算也有很大误差。一个好的细节特征提取算法应该对指纹图像质量具用一定的适应性,能在一定程度内容忍质量较差的指纹图像,只不过随指纹图像质量的降低而性能逐渐下降而已。4.1.2 指纹细节特征提取 细节特征提取的方法分为两种:一种是从灰度图像中提取特征,另一种是从细化二值图像中提取特征。直接从灰度图像中提取特征的算法一般是对灰度指纹纹线进行跟踪,根据跟踪结果寻找特征的位置和判断特征的类型。这种方法省去了复杂的指纹图像预处理过程,但是特征提取的算法却十分复杂,而且由于噪声等因素影响,特征信息(位置、方向等)也不够准确。目前大多数系统采用第二种方法,从细化二值图像中提取特征,该方法比较简单,在得到可靠的细化二值图像后,只需要一个的模板就可以将端点和分支点提取出来。指纹的细节特征主要指纹线的端点和分支点。细节特征的提取是指纹识别系统的重要技术之一。常规的细节特征提取算法是在细化后的图像上进行的,细化后的特征如图4.1所示,我们可以通过对每个像素和它周围的8邻域像素进行分析,提取。定义表示纹线上点的8邻域像素中纹线上像素的个数,则当等于1时,为终止点,等于3时为分叉点。 a.一般点 b.终止点 c.分叉点图4.1 细化后纹线的一般像素点在细化后的指纹图像中,伪特征点之间有一个显著的特点,那就是特征点与特征点间的距离很近,而真实的特征点与特征点之间的距离至少存在一个纹线周期。由此可以在提取特征点时,加上一个对特征点真实判断的操作。图4.2是伪特征点的类型。细节特征提取步骤:(1)用的窗口在细化后的指纹图像上平移,如果中心像是纹线像素,则计算,若,为一般像素点,重复操作(1);若, 为终止点,进行操作(2);时,判断的8邻域像素,是否存在相邻的纹线上的像素,若存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论