生物特征识别技术本科毕设计
北方交通大学毕业设计(
)
目录
第一章 生物识别概述????????????????????????????????????????2
第一节 各种生物识别技术??????????????????????????????????2
第二节 论文结构??????????????????????????????????????????12
第二章 掌纹识别技术????????????????????????????????????????13 第一节 掌纹概述?????????????????????????????????????????13 第二节 掌纹关键区域?????????????????????????????????????15 第三节 掌纹图像预处理???????????????????????????????????20 第三章 掌纹识别技术比较???????????????????????????????????29 第一节 掌纹图像预处理的方法及比较???????????????????????29 第二节 掌纹图像关键区域选取的方法及比较?????????????????40
第四章 掌纹识别技术实现????????????????????????????????????46 第五章 程序的调试??????????????????????????????????????????69 第六章 结束语??????????????????????????????????????????????72
附录一 参考书目????????????????????????????????????????????76
附录二 英文资料及翻译?????????????????????????????????????77
第 1 页
北方交通大学毕业设计(论文)
第一章 生物识别概述
第一节生物识别技术概述
生物特征识别,是指通过记算计将人体所固有的生理特征或行为特征收集并进行处理,由此进行个人身份鉴定的技术。生理特征与生俱来,多为先天性的,行为特征则是习惯使然,多为后天形成的。科学家将生理和行为特征统称为生物特征。
随着全球范围内通信技术的迅速发展,人们可以通过internet等各种开放式网络进行交易等商务活动。同时,由于交通工具的现代化,人口的大量流动,使人与人之间的交流的安全性这个问题凸现了出来。因此如何保障人们之间的交流的正常安全有序的进行,已经成了一个非常重要的问题,而身份鉴别作为安全保障的一个重要方面越来越受到人们的重视。
身份的鉴别主要基于:
(1) 持有物,如各种证件;
(2) 所使用的一些带有加密手段的信息,如口令或密码;
(3) 生理或行为特征,如指纹、手形、声音、签名等.
以上的前两种方法在当今的社会中,他们的安全性和可靠性都已经不能满足我们的需要了,第三种方法就是本文在开头所说的现在引起人们广泛兴趣的生物特征识别(biometrics)。因为它不会像密码那样容易被忘记和破解,也不会像持有物那样容易被窃取或转移,因此人们认为生物特征识别将是一种更加可靠、方便、快捷的大众化身份
第 2 页
北方交通大学毕业设计(论文)
识别手段。人的生物特征具有如下几个特征:(1)普遍性,每个人都具有;(2)唯一性,任何两个人都不一样;(3) 可采集性,可以定量测量;(4) 稳定性,这种特征至少在一段时间内是不变的。然而,满足上述条件的生物特征也要受到现实系统或是实际使用中的快捷性、安全性等因素的制约,因此实际的系统还必须考虑:(1)性能,即识别的准确性、速度以及为达到这些要求所需要的资源的情况;(2)可接受性,人们对于一种特定的生物特征识别在日常生活中的接受程度(如果像美国要求所有来访的阿拉伯人特留下指纹的作法,就很难能被阿拉伯人特别是女性所接受。);(3)安全性,在现今的科技时代要仿造出一些人的特征也不是不可能的,因此这种识别方式能够被用非法的方式攻入的可能性也是限制因素之一。
我们已经说了现今的社会对生物特征的需求和要求,那么我们现在就来看一看人的能被人们所见到的各种生物特征。 1.1 指纹鉴定综述
从被人们所接受的时间来看,指纹特征应该是最早被人们用来进行个人身份特征鉴定的生物特征了。现在我们经常在电视上的古装片里见到的按红手印画押的场面,那正是使用了个人的生物特征。早在2700多年前,我国的先民就开始在民间买卖房屋和田产、借贷、婚姻等事项中利用指纹订立契约(就是画押)。形成这种情况的原因并不是因为我们的祖先对人的生物特征有很深入的了解,我个人认为那是因为那时大多数中国人不识字。说来惭愧真正用系统的概念来阐述指纹
第 3 页
北方交通大学毕业设计(论文)
概念的却是英国人,1892年世界上第一部指纹学专著——《指纹》在英国出版。它的作者是英国科学家弗郎西斯?高尔顿。他不仅把人的指纹分为弓、箕、斗三大类型,还指出利用人的指纹辨认人身是十分可靠的。从此指纹识别技术便在英国乃至全世界范围内广泛用于警察探案和法官断案等活动。
那么究竟什么是指纹特征识别技术呢,指纹特征识别技术就是依据人的指纹特征或其所留印痕特征而对人身进行的识别和认定技术。指纹,即人的手指肚表面皮肤上的纹理花纹。虽人皆有之,却各不相同。世界上任何种族、民族的男女老少、父子母女、兄弟姐妹,甚至是相貌极为相似的孪生兄弟姐妹之间的指纹,都存在着本质的差异,同一个人的十个手指的指纹,也各有差异。这种差异主要表现在指纹纹线中的许多细节特征的不同以及由这些细节特征之间构成的整体组合关系的不同,如纹线中的勾、眼、桥、棒、点、隆凸、凹陷、弯折、交叉、错位、串联以及三角、皱褶纹、伤疤等特征的具体形态、大小、方向、角度、位置、数量及相互关系的不同等等。指纹的这种唯一性或排他性,为指纹识别技术的建立和发展提供了可靠有力的科学依据。
不仅如此,指纹还具有终生不变的稳定性。据考查,人的指纹从胎儿时期的3—4个月时起至出生、直至死亡乃至尸体腐败以前的全部过程中,其花纹的形态结构和细节特征的总体布局等保持不变。而且指纹本身还具有增殖再生的能力,即皮肤的表皮层若受到磨损或剥脱,能很快得以恢复原状。个体指纹的这种终生不变的稳定性,为指纹识别技术的建立和发展创造了极为重要的客观条件。
第 4 页
北方交通大学毕业设计(论文)
可以说,现代指纹识别技术被认为是理论成熟、科学性强、实践应用广泛、发展前景广阔,并且既方便性、安全性、快速性及准确性为一身的一项生物识别技术,尤其是指纹自动识别技术正在形成一个全新的技术领域和产业,并蕴藏和创造着巨大的商机。 1.2 面部特征识别综述
人的面部自动识别是生物测定学研究的内容之一,是模式识别领域中的一个前沿课题,该课题的研究已有,,多年的历史。目前人脸自动识别系统正越来越成为当前模式识别和人工智能领域的一个研究热点。人脸自动识别系统作为一种重要的个人身份鉴别方法,可以广泛地应用于公安部门的犯人档案管理、犯人辨认查找、刑侦破案、安全验证系统、信用卡验证、医学、档案管理、视频会议、人机交互系统、证件核对、保安监视、通道控制乃至,,,机等多种场合。与其他身份鉴别方法相比,人脸识别具有直接、友好、方便等特点,因而,人脸自动识别问题的研究不仅具有重大的实用价值,而且在模式识别中具有重大的理论意义。
这是肯定会有人马上问到,双胞胎怎么办,那些长的想得连自己的父母都分不清谁是谁的,可偏偏就没一点血缘关系的人(事实证明这样的人是存在的)怎么办,那我们就来看看面部特征识别的原理吧。面部识别技术是根据人的脸面特征的唯一性特点而进行的个体识别和确认技术。人的面部特征的唯一性,可以在脸上某一单一器官或部位上得以体现,更重要的是可在这些单一特征之间的位置、距离、角度、数
第 5 页
北方交通大学毕业设计(论文)
量、形状和模式等相互关系上得以体现。而且这些面部特征都具有一定的稳定性。当验证某人的身份时,只要通过某种设备摄录下他的面部生物学特征,与事先已经储存着的相关样本特征进行比较,几秒钟内即可完成识别。由此可见,使用计算机对人面部的器官进行数字化的比较,那要用比用人眼来分辨准确的多。
人脸自动识别的研究大致可以分为如下几个方面:人脸检测(Face detection)即从各种不同的场景中检测出人脸的存在并确定其位置;人脸表征(face representation)即采取某种表示方式表示检测出的人脸和数据库中的已知人脸;人脸识别(face identification)即将已检测到的待识别的人脸与数据库中的已知人脸进行比较匹配,得出相关信息;表情分析(expression analysis)即对待识别人脸的表情信息(快乐、悲伤、恐惧、惊奇等)进行分析,并对其加以归类;生理分类(physical classification):即对待识别人脸的生理特征进行分析,得出其种族、年龄、性别、职业等相关信息。
1.3 虹膜识别概述
说到这个名词也许大家很陌生,但是我想大家都看过一些科幻片中一个人将眼睛对准一个小光源,然后红光一闪,这个人的便被系统接纳了。这就是虹膜识别。但是现在这已经不是电影中的情节了。虹 膜,旧称虹彩,眼球前部含色素的环形薄膜,由结缔组织细胞、肌纤维等构成,中间是瞳孔。人眼中的虹膜是由一种随瞳孔直径的变化而拉伸的复杂的纤维状组织所构成。虹膜所含色素的多少直接决定着眼珠的颜
第 6 页
北方交通大学毕业设计(论文)
色。在出生前的生长发育过程中,造成了人们各自虹膜组织结构的细微差别。因而没有任何虹膜的形状是完全相同的,因其不同的精细结构而具有特定性,即使是双胞胎,甚至是同一个人的左眼和右眼的虹膜形状结构图也不相同。同时,人在一生中其眼睛虹膜又极具稳定性。于是,作为识别个体的又一项生物识别技术——眼睛虹膜识别技术便应运而生。虹膜识别技术具有远距离识别、非接触性、对被识别者干扰最少、准确率高、虹膜图像获取的非侵犯性等特点。尽管它的产生只有不足20年的历史,但它却是一种极具潜力和发展前途的生物识别技术。虹膜识别系统中,首先用数字摄像机捕获登录者的眼睛图像,然后分割提取出虹膜图像,这是虹膜识别的关键技术之一就是要高质量地捕获虹膜图像。因为虹膜面积很小,颜色灰黑,所以要获得细节清晰、对比度高的虹膜图像并非易事。在提取完成后加以校准,再对其进行特征的提取与编码,最后把编码与数据库中的允许登录者的虹膜编码作比较(进行模式识别),得出是拒绝还是接受。虹膜识别应包括虹膜图像的捕获、虹膜图像的识别、模式匹配。
人的虹膜具有大约,,,项可检测到的特征(一般的生物特识别的点只有13—100个)。尽管虹膜扫描识别系统能够取得很高的识别率,但也存在如下的缺点:一个最为重要的缺点是它没有进行过任何的测试,当前的虹膜识别系统只是用统计学原理进行小规模的试验,而没有进行过现实世界的唯一性认证的试验;很难将图像获取设备的尺寸小型化;因聚焦的需要而需要昂贵的高分辨率摄像头;镜头可能会使图像畸变而使得可靠性大为降低;黑眼睛极难读取;需要一个比较好的光
第 7 页
北方交通大学毕业设计(论文)
源。
与虹膜识别使用相同原理的是视网膜识别。视网膜读取器感知人眼后面的视网膜脉络模式。这就要求被调查者的眼睛对着一个目镜的里面看,这时从眼睛后部反射出来的光线用于捕捉视网膜脉络模式。尽管视网膜扫描可以得到很高的识别准确率,视网膜的生物特征点多达400个,远超过包括虹膜在内的其它生物特征鉴定方法。然而视网膜扫描要求使用激光照射入眼,对使用者造成一定的伤害,因此大多数的人将会拒绝对他们眼睛内部进行的任何测量。视网膜扫描对于戴着隐形眼镜或闭着眼睛的照片都不能进行精确识别。眼镜的反光同样也会阻止扫描器准确地找到视网膜。如果能解决以上的几个问题,那么视网膜识别技术必将脱颖而出。
1.4 声纹识别概述
利用声纹分析识别讲话人的技术始于二战期间的美国。1941年,美国贝尔实验室发明了可以显示声纹图谱的声谱仪,标志着现代声纹识别技术的开始。二战结束后,贝尔实验室的物理学家劳仑斯?,?克斯塔(,?,?,,,,,)受美国司法当局的委托,利用声谱仪的图谱匹配对声纹鉴定进行了系统科学的研究。他以123名健康的美国男性为研究对象,在25000个声纹图中进行了50000多次分析鉴定,得出高 达99.65%的识别准确率,并于1962年发表了名为《声纹鉴定》的研究报告。
至于什么是声纹,声纹,是指通过声谱仪显示出来的、能够携带
第 8 页
北方交通大学毕业设计(论文)
言语信息和声学特征的各种语音声波图谱,即语声的声谱图。声谱仪上的语音声波显示出的等强曲线,同指纹纹线极其相似,故被形象地称之为“声纹”,也有人直接将其称为“第二指纹”。在语言学界,被称之为语图,或称之为“可见语言”。
声纹不仅貌似指纹,而且在本质上跟指纹一样,具有人各不同的特定性和相对不变的稳定性。语声是人的发音器官发出的声音。人的发音器官主要由声带、声道和口腔三部分组成。声带的厚薄、声道的长短、舌齿的位置、口腔的大小等自身因素及其配合关系的不同,形成的人与人之间发音器官的生理差异以及受民族语言、地方口音、教育环境、发音习惯等不同因素的影响,决定了人与人之间的语声以及记录语声物理量的声纹的不同。而且,一个人的发音器官发育成熟以后,其生理状态和解剖结构在一定时期内基本保持不变,在后天环境下形成的发音习惯也较难改变。于是,人们把根据声纹差异性和相对稳定性的特点,利用听觉检验和频谱分析的方法,对已知语声样本和未知语声样本进行分析、检测和鉴定,以识别说话人的技术称之为声纹识别技术。 1.5 DNA鉴别概述
英国遗传学家,?,?杰弗里斯和他的同事通过研究,于1985年得到了如同人的指纹一样具有个体特异性的,,,图谱,即,,,指纹图。随后,美国加州的,?,?摩里斯发明了一种,,,体外扩增技术即,,,技术。正是这两项重大科研成果的问世,使得世界各国法庭科学中的生物物证识别技术发生了革命性的变化。1989年,我国也成
第 9 页
北方交通大学毕业设计(论文)
功完成了第一项,,,指纹技术的研究。
那么什么是DNA,什么是DNA识别技术,
,,,,即脱氧核糖核酸,是人体内的遗传物质,主要存在于人体细胞核的染色体上,控制着人体生长、发育的全过程。每个人的,,,都是由亲生父母的,,,组合而来,组合方式多种多样,使得子代与父代既有联系又有区别,兄弟姐妹之间也因,,,的组合不同而互有差异,即,,,具有个体特异性,也就是遗传学上说的,,,的多态性。就同一个体而言,其身体的任何部分都是由同一受精卵发育而来,所以身体的所有细胞的,,,组成都是一样的,这就是,,,同一体的一致性。
,,, 识别是利用不同的人其人体细胞中具有不同的,,,分子结构。人体内的,,,在整个人类范围内具有唯一性和永久性。因此,除了对双胞胎个体的鉴别可能失去它应有的功能外,这种方法具有绝对的权威性和准确性。例如指纹必须从手指上提取,而,,,模式在身体的每一个细胞和组织都一样。这种方法的准确性优于其他任何生物特征识别方法,它广泛应用于识别罪犯。它的主要问题是使用者的伦理问题和实际的可接受性,,,,模式识别必须在实验室中进行,不能达到实时以及抗干扰,耗时长是另一个问题。这就限制了,,,识别技术的使用;另外,某些特殊疾病可能改变人体,,,的结构,系统无法对这类人群进行识别。
实事求是地讲,,,,识别技术在其应用和管理中,仍存在某些需要进一步改进、提高和完善的问题。尽管如此,我们仍然有理由相信,
第 10 页
北方交通大学毕业设计(论文)
随着,,,数据库的建立和,,,芯片技术的出现,随着,,,分析检验的
化、
化和法律化进程的加快,它必将得到进一步的发展和普及。
人脸识别研究的热潮出现在计算机视觉兴起的初期,目前较多采用的基于模板匹配的人脸识别方法只需要较少的内存就可获得较高的识别速度。指纹识别与视网膜识别的正确识别率比所有的基于生物测定学的身份识别方法都高,但缺点是被测试者的可接受程度较低,在国外对个人的指纹进行识别与分析常被认为是对隐私权的侵犯,也有较多被实验者担心视网膜识别方法对视网膜扫描的安全性。手形识别的识别速度在所有的生物测定学身份识别方法中是最快的,但其正确识别率却低于一般的商业需要。手形特征包括手指相对长度和宽度、手指连接模式等.由于噪声对这些特征的干扰程度较低且易于提取,因此手形识别方法最简单,但是它是一种基于行为特征的鉴别技术,因此在使前必须解决受试者每次被鉴别时所表现的行为特征存在较大差异的问题。
在本章中,我们大致了解了现今世界的几种主要的生物特征识别技术的概述和他们的优缺点。在下一章中我们将重点介绍一下掌纹识别系统的情况及现今比较合理的几种设计方式。
第二节 论文结构
本文是共有六个章节和附录部分,我们将系统的分析当今生物特征识别技术的发展和掌纹识别中关于关键区域的选定。下面我介绍一
第 11 页
北方交通大学毕业设计(论文)
下各个章节的主要内容。
第一章主要介绍生物识别的定义、发展过程、相对于其他识别方式的优势、应用的领域及分类。主要是
生物识别的基本知识,为后面的内容作铺垫。
第二章主要介绍掌纹特征识别的原理和发展过程,并对我们要进行的后续工作(图像预处理、关键区域提取),在理论上进行分析。这就要求我们必须得出一个在理论上较为合理的解决
。
第三章主要介绍我们所要做的主要工作即:图像预处理和关键区域的选定在程序设计方面要面对的各种问题,并对这些问题的各种解决方案进行比较。尽量拿出一个较为合理的程序设计方案。
第四章在本章中,程序是我们的主角。我将仔细介绍程序的组成,各部分的作用,各部分之间的连接。并对每一个程序模块进行仔细的分析。
第五章主要介绍在程序调试过程中的出现的各种各样的千奇百怪的错误,并对这些错误进行调试。
第六章总结设计的心得,我们的设计不足与可以改进之处,最后结合生物识别的飞速发展,展望未来的世界里生物识别的发展趋势。
第 12 页
北方交通大学毕业设计(论文)
第二章 掌纹识别技术
第一节 掌纹识别概述
在上一章节中我们了解了很多种生物特征识别技术,经过对他们的比较,我们选择了掌纹识别系统。掌纹识别并不会让人联想到隐私权的侵害,它的被测试者可接受程度较高,而且识别系统的硬件标准化程度比人脸识别、语音识别、开锁动力学等方法高,识别速度也较快,因此是一种很有发展潜力的身份识别方法。因为掌纹的主要特征比指纹的主要特征明显得多,而且提取这些主要特征时不易被噪声干扰,因此掌纹识别系统的识别速度将比指纹识别系统高得多.另外,掌纹的主要特征比手形的主要特征更稳定和更具分类性,掌纹识别系统的正确识别率远高于手形识别的正确识别率。
掌纹是指手腕至手指之间的手掌内表面上的各种纹线,主要分为乳突纹、皱纹和屈肌线三大类 。
掌纹的形态由遗传基因控制,掌纹形成后就很稳定,尽管掌纹曲线长度尺寸及掌纹曲线之间的间距会随年龄的增大而变化,而且由于种种原因会使表皮剥落,但变化后或新生的掌纹仍保留原来的结构.只有在有局部明显的外伤或各种引起深层皮下组织被破坏的后天性疾病时,其结构才发生显著变化。
每个人的掌纹形态各不相同,不同个体的花纹即使相似,其纹线数目或长度尺寸也不一致.据有关文献描述:甚至在一卵多胞胎或多卵多胞胎的孪生同胞中,掌纹也只是较为相似,但掌纹形态一定有可分辨
第 13 页
北方交通大学毕业设计(论文)
的差别.掌纹脊纹、曲肌纹和腕纹等的形态有一定的规律,尤其是掌纹上的主要曲肌纹特征明显,易于提取,可作为分类特征.因此,掌纹具有稳定性、唯一性和可分类性特点,使得掌纹可以通过计算机进行分析与识别.掌纹的5大主要曲肌纹曲线如图1所示,它们分别是:生命线、智慧线、感情线、命运线、健康线。
掌纹与指纹、人脸、手形等其它生物统计学特征相比具有以下优点:(1)具有终生不变性和唯一性;(2)利用轮廓特征点对掌纹进行定位具有旋转不变性和唯一性;(3)掌纹的区域比指纹大得多,除细节特征具有唯一性和稳定性以外,掌纹中的各类线特征也具有唯一性和稳定性;(4)在获取掌纹的同时还可获取手掌的几何特征;(5)不易仿造;(6)由于对掌纹图像的分辨率可降低要求,采集设备成本较低 基于掌纹的身份鉴别方法,既能满足个人身份鉴别系统的技术指标(唯一性、抗噪声、防伪、实时、安全可靠、低成本、特征数尽可能少、在精度上降
第 14 页
北方交通大学毕业设计(论文)
低两类误差、保护隐私等),又能克服指纹方法的局限性,可大大简化掌纹图像采集、掌纹特征提取与掌纹鉴别过程,为该技术的实用化提供了可能。
第二节掌纹关键区域
现在我们谈一谈掌纹的关键区域,说到掌纹的关键区域它没有一个明确的定义。也有一部分人将它叫做感兴趣区域。关键区域就是手掌纹络图中所包含生物特征最集中的、最容易提取生物特征信息的、部分,也就是最容易用来辨识的区域,将这部分区域进行数字处理后,便可以作为模板来与被检测者再次被提取的信息进行比较识别。
掌纹由乳突纹、皱纹和屈肌线三种纹线组成。乳突纹是手掌皮肤组织的凸凹结构显示在表面上的细小凹凸纹路,其具有唯一性和终身基本不变性。皱纹是皮肤松弛活动形成的细小沟纹。其虽然横压在乳突纹上,但不损坏乳突纹的结构。屈肌线是手掌关节长期的屈伸运动在一定部位上形成的固有的沟纹。该纹线主干的分布和形态是终身不易改变。一个手掌可能有多条屈肌线,但占80%以上的人的手掌有三条主要屈肌线,分别命名为第一、第二和第三屈肌线(如图2所示)。
第 15 页
北方交通大学毕业设计(论文)
屈肌线的稳定使得第一、第三屈肌线的起点也有良好的稳定性和旋转不变性,因此,定义这两个起点为掌纹的基准点,它们的中点为掌纹中心。由于基准点稳定,我们采用基准点连线和它的中垂线把手掌分为三个区域:指根部(又称上部)、内侧部和外侧部。该划分方法如图2所示。掌纹中的乳突纹可以在局部形成与指纹一样的三角。在指根部,每个手指的根部均有一组凸向掌心的横行弧线,常与来自两侧指间的纹线汇成三角。在外侧部,腕部屈肌线上方有一组横行的乳突纹,纹线内侧承托着内侧部向内流的纹线,外侧承托着外侧部向外流的纹线,二者常在靠近腕部中央汇合成三角。
由图2,我们知道了手掌的大概可分为的几块区域。那么我们对于所感兴趣的区域选择就变成能否成功识别的关键。那么我们就会在选取范围时受到很多的限制。
这些限制有:
(1) 生物特征过少。如果选择的区域的生物特征太少,那会使
第 16 页
北方交通大学毕业设计(论文)
识别的准确率下降;
(2) 如果选择的区域的生物特征太多,要将他们全部识别就太
浪费系统资源,致使快速性受影响。同时还会影响到对其
进行生物特征统计鉴别时的准确性。
(3) 区域选择所使用的算法,对区域的定位及分割现今用很多
种成功的算法(这些算法的比较将在后面的章节中能够进
行全面的介绍),这些算法的执行时间对系统的快速性都有
很大的影响
如果这样说还不能清楚的反应我们要选择什么样的区域,什么样的区域才是理想的区域呢?
图3
如图3所示这是一个完整的掌纹图片。从这张图片中可以清晰地
第 17 页
北方交通大学毕业设计(论文)
看到生命线、智慧线、感情线、命运线、健康线中的生命线、感情线、健康线。现在我们比较一下几种感兴趣区域的选择的结果。
图4
从图4中可以看到,在这片区域内生物特征明显的较少要是将这里作为模板进行特征识别,它的准确率可想而知。
图 5
从图5中可以看到,在这片区域内生物特征明显的较多且复杂要是将这里作为模板进行特征识别,要在极短的时间内提取如此多的信息,它对系统性能的要求会有多高。
第 18 页
北方交通大学毕业设计(论文)
图6
图6不能被使用的原因是因为有了边缘分布,在大量生产的磨具中不能保证固定点地精确性,因此也就无法保证识别的准确性。。
图7
图7 是较为合适的一张关键区域图,当然对不同场合和要求,对关键区域的选择就有很大的不同。就这一点将在后面的章节中仔细地介绍。
小结:
第 19 页
北方交通大学毕业设计(论文)
掌纹关键区域的选择是整个识别过程的第一步,而仅仅就这一步也是在理论设计阶段来完成的。关键区域选取的好坏会直接影响到整个系统的性能。而更难以应付的是,关键区域的选定时没有一定的标准可言的。因此它的选取更多的是对系统整体的性能进行足够的评估之后,才能根据实际情况进行选择。当这样重要的一步迈出之后,紧接着的下一步就是对图片进行预处理。
第三节 掌纹图像的预处理
在上一节,我们介绍掌纹关键区域的选定,但是它仅是理论完成的重要部分。那我们怎样将要选择的区域从整张图中剪切下来呢(不用怀疑那整张图去比较是多么的不明智的举动),图像不清晰怎么办,不适应计算机分析怎么办,
想要解决以上的问题,就要进行图像预处理。图像预处理包括图像增强、滤波、区域分割、二值化、纹线细化等。这些都是预处理的问题。例如上面的几张图,它们如果直接进入计算机,要对他们进行分析几乎是不可能的。
现在我们考虑一下,我们所遇到的问题和要解决的问题。首先我们从图1中可以看到,在自然状态下手掌的纹络线是很不明显的。这样所选取得关键区域也是不容易识别的(如图7)。因此在整个系统识别之前应将母板的信息转化为容易被计算机所分析的图像类型。而计算机最容易识别的是灰度图像。如图1-h就是涂以经过处
第 20 页
北方交通大学毕业设计(论文)
理后的灰度图。是一个8位图,即有256个色阶。
图 1-h
从上图中,我们可以清晰地看到生命线、智慧线、感情线、命运线、健康线中的生命线、感情线、健康线。
在指纹自动识别系统中,由于摄入的掌纹图像受各种原因的影响,是一幅含噪音较多的灰度图像。预处理的目的就是去的影响,是一幅含噪音较多的灰度图像。预处理的目的就是去除图像中的噪音把它变成一幅清晰的点线图,便于提取正确的掌纹特征以及后部的匹配识别。预处理是掌纹自动识别系统中极为关键的一步,它的好坏将直接影响着掌纹识别的效果。
下面这张图就是关键区域提取之后经过与处理之后的结果。图7-h是完整的较为理想的效果图。从图中可以看到很明显的生物特征信息。
第 21 页
北方交通大学毕业设计(论文)
图7
图7-h
经过图7与图7-h的比较我们可以从这两张图中得出结论,对同一张图片是否进行预处理是非常关键的一步。至于怎样选择这样一个较为完整的关键区域来进行识别。我们将在后面的章节中仔细地分析如何选取和各种方法。
(—)下面我们谈一谈预处理的另一个重要的问题,滤波。
平滑滤波技术用于平滑图像中的噪声。平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均值或中值。为了既平滑噪声又保
第 22 页
北方交通大学毕业设计(论文)
护图像信号,也有一些改进的技术,比如在频域中运用低通滤波技术。
实际获得的图像一般都因受到某种干扰而含有噪声。引起噪声的原因有敏感元器件的内部噪声、照相底片上感光材料的颗粒、传输通道的干扰及量化噪声等。噪声产生的原因决定了噪声的分布特性及它和图像信号的关系。
根据噪声和信号的关系可以将其分为两种形式;
, 加性噪声:有的噪声与图像信号g(x(y)无关,在这种情况下,
含噪声图像f(X,y)可表示为:
f(x, y),g(x,y)十n(x,y)
信道噪声及扫描图像时产生的噪声都属加性噪声。
, 乘性噪声:有的噪声与图像信号有关。这可以分为两种情况:
一种是某像素处的噪声只与该像素的图像信号有关,另一种
是某像点处的噪声与该像点及其邻域的图像信号有关。例如
用飞点式扫描器扫描图像时产生的噪声就和图像信号相关。
如果噪声和信号成正比,则含噪声图像f(x(y)可以表示为:
f(x,y)=g(x,y)十n(x,y)g(x,y)
,{1十n(x,y)}g(x,y)=nl(x,y)g(x,y )
另外,还可以根据噪声服从的分布对其进行分类,这时可以分为高斯噪声、泊松噪声和颗粒噪声等。泊松分布噪声一般出现在照度非常小及用高倍电子线路放大的情况下,椒盐噪声可以认为是泊松的噪声。其他的情况通常为加性高斯噪声。颗粒噪声可以认为是一白噪声过程,在密度域中是高斯分布加性噪声,而在强度域中为乘性噪声。
第 23 页
北方交通大学毕业设计(论文)
现在有多种去除图像噪声的方法,一般行用的是下列3种
? 线性滤波
? 中值滤波
? 自适应滤波
(二) 下面我们来考虑一下,图像处理的另一个关键问题,图像增强。
图像增强是数字图像处理过程中经常采用的一种方法,为了改善效果或者便于人和机器对图像的理解和分析,根据图像的特点或存储的问题采取的简单的改善方法或者加强特征的措施称之为图像增强(image enhancement)。
获取和传输图像的过程中往往会发生图像失真,所得到图像和原始图像有某种程度的差别。这种差异如果太大,就会影响人和机器对图像的理解。在许多情况下,人们不清楚引起图像质量降低的问题的具体物理过程及其数学模型,但却能根据经验估计出使图像质量降低的一些可能原因,针对这些原因采取简便有效的方法、改善图像质量。例如,图像信号变弱会使人们无法看清图像的细节,而采用增强对比度的方法可使图像清晰一些; 图像的噪声干扰也容易使图像质量变差,远用平滑技术可以消减噪声;还有一些物理器件或系统工作原理可等效为一积分过程,信号经过这样的器件或系统后要变模糊,这时可使用微分运算突出边界或其他变化的部分。以上这些例子都是使用图像增强的技术。
在有些情况下,一幅图像和真实景物相比差别不大,人的视觉系
第 24 页
北方交通大学毕业设计(论文)
统察觉不出来或在允许范围之内,但为了便于人或机器对图像的分析和理解,也需要对图像进性变换来加强图像的某些特征,例如用微分技术加强区域边界,再比如人眼对彩色图像的分辨要强于灰度图像(因此可以别图像进行伪彩色变换来提高分辨率等。加强图像的方法主要有:图像直方图,图像灰度图。
图像的直方图是图像的重要统计特征,它可以认为是图像灰度密度函数的近似。按照随机过程理论,图像可以看作是一个随机场,因此只有相应的统计特征,其中最重要的特征是灰度密度函数。通常图像的灰度密度函数与象素所在的位置有关,例如设图像在点(x , y)处的灰度分布密度函数为p(z;x,y),那么图像的灰度密度函数为:
其中 D是图像的定义域,s是区域D的面积。
对比度增强是图像增强技术中的一种比较简单但又十分重要的方法。这种方法是按一定的规则修改输入图像每一个像素的灰度,从而改变图像灰度的动态范围。它可以使灰度动态范围扩展,也可以使其压缩,或者是对灰度进行分段处理,根据图像特点和要求在某段区间中进行压缩而在另外区间中进行扩展。
锐化技术用于加强图像中的目标边界和图像细节。锐化技术可以在空间域中进行,常用方法是对图像进行微分处理(也可以在频域中运用高通滤波技术。
第 25 页
北方交通大学毕业设计(论文)
图像二值化处理也是图像处理中的一个重要问题,尤其是在对图像进行边界选择时。对于我们要选取的关键区域或是选取固定点有着重要的意义。
见下图(图1)如果要选择固定点,或是要对图中的手掌进行掌形的确定,或是要进行边界分析。那么直接使用彩色图片、灰度图都不太容易直接反映出图像边界的信息。
图1
图 1-h
第 26 页
北方交通大学毕业设计(论文)
图1-2
从图1-2(滤去了灰度值小于80的部分)种可以清晰地看出整个手掌的边界情况。这样能干的预处理可以为提取边界或定位提供很大的帮助。
本章小结
在本章中,我们介绍了掌纹识别的一些初步的知识,相信大家对整个掌纹识别已经有了一个大致的完整的了解。
从下图中可以看出掌纹预处理,和特征提取是整个系统中最关键的部分,不管是在模板的制作还是在来访对人员掌纹特征体取得过程中都是必不可少的。
第 27 页
北方交通大学毕业设计(论文)
在下一章节中我们将见到在预处理过程中的各种具体的方法和
在不同原理指导下,对掌纹关键区的不同的选择方法,同时也将说明
我们的系统所选用的图像预处理及关键区域的选择方法的优势。
第 28 页
北方交通大学毕业设计(论文)
第三章 掌纹识别技术比较
第一节 掌纹识别图像预处理技术及比较
在上一章节中,我介绍了掌纹识别的图像预处理和关键区域选取的知识。在这一章节中我将着重介绍:现今各种预处理和选取关键区域的法、我们实现的系统所要使用的方法和它的优势。
首先我们来说一下掌纹图像预处理的相关技术。我们现在对图像进行的预处理大多是利用 MATLAB 来实现的。
MATLAB语言被称为是一种“演草纸式的科学计算语言”,它在数值计算、数据处理、自动控制、信号处理、神经网络、优化计算、模糊逻辑、小波分析、图像处理、统计分析、金融分析等众多的领域有着广泛的用途。特别是它所提供的各种工具箱,使得我们在科学计算、工程设计、数值分析、图像处理等领域的各种计算、演算、模拟等工作变得相当简单。MATLAB不仅具有面向对象的计算机语言特征,也初具面向任务的计算机语言的思想。
现在我们来说一下图像的采集工作,图像的采集大体上可以分为两种,一种是在线采集,另一种是脱机采集。
在手掌上涂上油墨,然后在一张白纸上按手印,然后通过扫描仪进行扫描而得到数字化的图像(如图9)这就是脱机采集, 脱机掌纹的采集方式有很多缺点,如油墨按手印的采集方式不易被接受,图象质量易受用力的程度及纸张质量的影响、中央部分的信息易丢失等,而且脱机掌纹主要采用点特征进行匹配, 由于掌纹面积大,而提取掌纹的
第 29 页
北方交通大学毕业设计(论文)
点特征需要较高的空间分辨率158点/;,(指纹要求197点/;,),导致数据量及特征空间太大,不适于掌纹自动识别。
在线掌纹则是用专用掌纹采样设备真接获取,采集方法简单,可进行非接触采集,位置可基本固定,图象质量相对比较稳定,图9为在线掌纹样本与图8所示的油墨按手印式的脱机掌纹图像相比,图像质量有很大的改善,适合对掌纹进行在线处理,因此对在线掌纹的分析与研究成为掌纹身份鉴别的主要方向。
第 30 页
北方交通大学毕业设计(论文)
我们在采样时所用的是在线采集的方式,在设备上则采用数码相机这个设备。它有分辨率高,与计算机连接方便的特点。
在图像采集完成后,我们将进行图像处理。正如上文所说,现在大多数图像处理的方法都是使用MATLAB。
现在我们就按照第二章所说的图型预处理的过程来一步一步地介绍图像预处理的技术。
(一) 图像的灰度处理
在线采集生成的图像是一中被叫做真彩色的图像,它并不适宜进行图像特征的比较,真彩色图像在MATLAB中是这样被定义的:真彩色图像又称RGB图像,它是利用R、G、B 3个分量表示一个像素的颜色,R、G、B分别代表红、绿、蓝3种不同的颜色,通过三基色可以合成出任意颜色。所以对—尺寸为m×n的彩色图像来说,在MATLAB中则存储为一个 m×nx3的多维数组。
灰度图是一种特殊的图像,它就是只有强度信息,而没有颜色信息的图像,它在早期的图像处理中占有很重要的地位。存储灰度图像只需要一个数据矩阵,矩阵的每个元素表示对应位置的像素的灰度值,灰度图像的数据类型可以是double类型,这时值域为[0,1];也可以足uint8类型,值域为[0,255]。
从真彩色图到灰度图的转换有多种方法,在MATLAB中的多种语句来实现。
rgb2gray函数用于将一幅真彩色图像转换成灰度图像,其语法格式为:
第 31 页
北方交通大学毕业设计(论文)
其中I=rgb2gray(RGB)命令是将真彩色RPG转化为灰度图像I。newmap=rgb2gray(map)是将彩色调色板MAP转化成灰度调色板。
对于输入的jpg(joint photographic experts group)格式的文件,它是一种被称为联合图像专家组的图像压缩格式。他与灰度图像的转化命令为:
I=imread(' .jpg');
I2=rgb2gray(I);
在线采集的图像就是jpg格式的,通过上面的这个命令就可以完整地转化为灰度图像。
下一步要进行的是图像的增强,在图像的增强的众多方法中最常见的就是均匀量化直方图。均匀量化的自然图像的灰度直方图通常在低值灰度区间上频率较大(使得图像中较暗区域中的细节常常看不清楚。为了使图像清晰,可将图像的灰度范围拉开,并且让灰度级中频率较小的灰度级变大,即让灰度直方图在较大的动态范围内趋于—致。
MATLAB图像处理提供的工具箱中用于直方图均匀量化的函数histeq.
Histeq函数的语法是:
J=histeq(I,hgram)
J=histeq(I,n)
[J,T]=histeq(I,„)
第 32 页
北方交通大学毕业设计(论文)
newmap=histeq(X,map,hgram)
newmap=histeq(X,map)
[newmap,T]=histeq(X,„)
其中J=histeq(I,hgram)将原始图像I的直方图变成用户指定的向量hgram,hgram中的各元素值域为[0,1]。
J=histq(I,n)指定直方图均化后灰度级数n,默认值为64。
[J,T]=histeq(I,„)返回从能将图像I的灰度直方图变换成图像J的直方图的变换T。
newmap=histeq(X,map,hgram),newmap=histeq(X,map)和[newmap,T]=histeq(X,„)是针对索引色图像调色板的直方图均化。
图 10
我设计了这样一段程序
>> I=imread('IMAG0089.jpg'); >> I2=rgb2gray(I);
>> J=histeq(I2);
subplot(1,2,1);imshow(I2) subplot(1,2,2);imshow(J)
第 33 页
北方交通大学毕业设计(论文) figure,subplot(1,2,1),imhist(I2,64) subplot(1,2,2),imhist(J,64)
这样产生了如图10 这样的灰度图,即它们的直方图,由此可比较
这项技术实在对低频区域进行处理使之均匀,这并不是能够与我们的
要求。
图 11
为了得到清晰的灰度图,我们也可以使用灰度对比调整。他的命令
是:imadjust函数
J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma)
J=imadjust(I, [low high],[bottom top],gamma)返回图像I
经过直方图调整后的图像J。gamma为矫正量。[low high]为原图像中
第 34 页
北方交通大学毕业设计(论文)
要变换的灰度范围,[bottom top]指定了变换后的灰度范围。 I=imread('IMAG0089.jpg'); >> I2=rgb2gray(I);
J=imadjust(I2,[0.7 0.9],[]); subplot(1,2,1),imshow(I2) subplot(1,2,2),imshow(J)
figure,subplot(1,2,1),imhist(I2) subplot(1,2,2),imhist(J)
这段程序产生了以下的两张图,对比可以看出他见我们所需要的部分的对比度增加了。
第 35 页
北方交通大学毕业设计(论文)
紧接着我要进行的下一步是对图像进行滤波。正如上文所说的现在滤波的方法有线性滤波,中值滤波和自适应滤波。
(~)线性滤波
对一些图像进行线性滤波所以去除图像中某些类型的噪声,如采用领域平均法的均值滤波器就非常适用于去除通过扫描得到的图像中的颗粒噪声。 邻域平均法可以平滑图像信号,特别是可能使图像目
第 36 页
北方交通大学毕业设计(论文)
标区域的边界变得模糊。可以证明,对图像进行邻域平均处理相当于图像信号通过一个低通滤波器。
下面的命令是对一幅含噪声的图像进行去处理。
(2)中值滤波
中值滤波是抑制噪声的非线性处理方法。对于给定的n 个数值{al,a2,...an},将它们按大小有序排列。当n为奇数时,位于中间位置的那个数值称为这n 个数值中值。当n为偶数时,位于中间位置的两个数值的平均值称为这n个数值的中值,记作med(a1,a2,„an)。中值滤波就是这样的一个变换,图像中滤波后某像素的输出等于该像素邻城中各像素灰度的中值。
中值滤波的方法运算简单,易于实现,而且能较好地保护边界,但有时会失掉图像,的细线和小块的目标区域。
第 37 页
北方交通大学毕业设计(论文)
正因为如此,他和我们想要的结果(强调显示掌纹的某些特征、细节)不相符,所以不能在设计中应用。
MATLAB中提供了中值滤波的命令。medfilt2
(3)自适应滤波
MATLAB图像处理工具箱中的wiener2函数可以实现图像噪声的自适应滤除。wiener2函数根据图像的局部方差来调整滤波器的输出,当局部方差大时,滤波器的平滑效果较小,滤波器平滑效果强。
wiener2函数提供的自适应滤波通常比线性滤波的效果好,它比相应的线性滤波器具有更好的选择性,可以更好地保存图像的边缘和高频细节佰息。另外,使用起来非常方便,wiener2函数同时计算出滤波器的参数,并对图像进行滤波计算,而且wener2函数并不比线性滤波器需要更多的计算时间。
wiener2函数通常对于含有白色噪声(white noise)的图像滤波效果较好,比如含有高斯白噪声的图像。
小结:
我们已将掌纹图像的预处理的方法进行了讲解,我要作预处理的步骤也就是以上所述的。读如照片,将自动照片转化为灰度图像,对灰度图图像进行滤波去噪(单一的一种方法是不能打到要求的,要多
第 38 页
北方交通大学毕业设计(论文)
种一起应用),接着就是选取关键区域。
第二节 掌纹图像关键区域选取的方法和比较
现今的掌纹识别系统中,对掌纹关键区域的选择有多种方法。我要对其中的两种进行一下分析比较,并确定我们的系统中要选取的哪种方法来实现特征区域的选取。
这两种方法是:固定点选取法和曲线极值选取法。这两种方法各有各的优点。它们一种是静态选取,另一支种则是动态选取。这两种能够选取方式能够集中反映现今比较流行的选取方式的特点。
下面我们来逐个的进行分析。
(一)固定点选取
固定点选取是一种在算法方面比较容易实现的选取方式,但是在现实生活中不易实现。以为它对设备和使用设备的工作人员及被测量的来访者都有一定的要求。下面我来详细介绍一下它的理论原理。
固定点选择就一定要有固定点,在MATLAB中提供了剪切一部分图像的命令,但它最少要求要有两个点才可以完成(对角线的两个端点)。那么我们的问题就是要找到两个固定点,而这两个固定点一定要不论对谁都是固定不变的。我所选取的第一个点是整幅图像的中心点,如图13所示的中心点。
第 39 页
北方交通大学毕业设计(论文)
图13
由图13可知,掌纹的中心区域包含了掌纹中的最主要的特征和信息,由于中心区域图像的分辨率与原图像相同,但尺寸则不到原图的1/4,所以用掌纹中心区域进行匹配识别既可减少不必要噪声的干扰,又能提高算法的运算速度。
图13的中心区域图
一个中心点已经确定,另一个点的确定就有了问题,如果确定与中心点的距离是一个关键问题。如图14所示
第 40 页
北方交通大学毕业设计(论文)
图14
从图中我们可以看到中心点和三个边界点在这四个点中,任意的一个都可以与中心点组合剪切出一个区域来。但是这样剪切出的区域有的并不能显示出我们所要的信息来。
图 A点与中心点
图 B点与中心点
第 41 页
北方交通大学毕业设计(论文)
图 C点与中心点
从以上三幅图我们可以看出另一个点的选取直接关系到我们所寻找的生物特征的信息量的多少。从上图得比较我们可以知道,在A,B,C三点中最能体现生物特征信息的是C点(食指与中指得交点)与中心点的组合。那么我们所制作的模具中就要将那个点(C点)尽可能作的准确一些。
图中的黑点就是C点所在的位置。
虽然这个方法在算法方面非常的简单,只要知道者来能够点的坐标就可以选取出我们所要的关键区域了。但是它却需要非常高的模具的加工精度。在当今这样高速度的生活中,由于模具的质量问题所带
第 42 页
北方交通大学毕业设计(论文)
来的结果是可怕的,而且使用这个方法的话,一旦要对系统进行某些改进那么整个模具就要从制作,不利于系统的改进升级。这就是静态定位不能在我们的系统中使用的主要原因。
(二)曲线极值选取
说到这个问题,肯定会有人问我们的手中除了掌纹还有别的曲线,答案是肯定。我们的手掌中有数条曲线几乎是完美的抛物线。
图15
如果将图15中黑框内的部分放入一个直角坐标系中。并对每一条曲线进行处理,我们就可以非常容易的得到我们所需要的关键区域的选择的几个点。这几个点对于每一个人都是不会变的。这只有在算法上来实现。
如何确定这些曲线的极值呢,这个的实现是很简单的。我们只需
第 43 页
北方交通大学毕业设计(论文)
将它们作为抛物线来处理,现对它们求一次导数,导数为0的应该有7个点,接着就对曲线在进行一次求导运算,这是应该是二次导数了,二次导数大于0的点就是我们所需要的点。而对于拇指和食指间(即虎口位置的点),也可转移某一角度来求出位置。
知道了这些点,我们就可以来利用它们选取关键区域。如下图,
我们已经确定了A,B,C三个点。那么我们就可以线连接AC两点,再过B作直线AC的垂线。过虎口的点作线AC的平行线,这样就可以通过两条线和一个交点来到实现关键区域的选定。
第 44 页
北方交通大学毕业设计(论文)
从上图我们可以看到,我们所选择的区域,正是我们所希望得到的区域,它所包含的信息量丰富,且具有代表意义。
此种方法,与第一种的比较可以看出,它的运算量比较大,需要对边界进行求导和作图等过程,但是在现今计算机发展的时代,高性价比的设备是非常多的,依次这点问题是可以用设备来弥补的。而它与第一种方法相比却有着很大的优势。它对我们的模具生产的精度及采样设备的精度的比第一种要求的要低。这种动态的方法是以大量的使用,不受环境的限制。
小结:
本章着重讲解了实现我们要做的系统的重点技术和比较,这等于是给我们的系统实现做了一个技术基础。怎样将我们所选用的各种技术如,滤波、图像增强、关键区域选取等紧密地结合起来让它发挥最大的作用,这就是下一章的内容了,欲知后事如何,请看下章分解。
第 45 页
北方交通大学毕业设计(论文)
第四章 掌纹处理技术实现
在上文中,我已经详细的说明了我们要选用的技术方法。现在的问题是怎样将它们联合起来实现整个系统的目标,这样的联合不是一加一将单个命令简单的叠加就能完成的。它需要对图像的整体进行分析。而关键区域图像的选择与图像预处理之间是不能完全割裂的,他们的关系如下图:
从上图可以看出,利用曲线极值所确定的划定区域要应用到经过预处理的对比明显的图像中,这样才能将所要选择的关键区域化分出来。所以我们不能简单的将两个过程完完全全的视为毫无关系的独立的系统。
图像的预处理在MATLAB中是非常容易实现的。主要进行的就是
第 46 页
北方交通大学毕业设计(论文)
图像的灰度处理、图像的增强、图像的滤波和为进行关键区域的选取而进行的图像二值化处理等相关问题。
下面我们来看一下图像预处理的整个过程。
第一步,当然是将图片读入MATLAB中,这个读入的过程式将自动图片转化为数字矩阵的形式。例如在计算机中的存储名是IMAG0089格式为:jpg。
这个处理的语句是非常简单的,它就是:
org=imread('IMAG0089.jpg'); org=rgb2gray(org);
edg=im2bw(org,0.3);
edg=medfilt2(edg,[5,5]); edg=edge(edg,’sobel’);
图14
不要小看这几程序,每一程序的背后都要进行大量的运算,第一句程序就产生了一个巨大的数字矩阵,这个矩阵是将图像的每一个点
第 47 页
北方交通大学毕业设计(论文)
都用数字来表示。这样的一个矩阵对我们来说在日常生活中没有多少意义,但是在计算机处理图像时,它就具有了重要的价值,对于图像进行的灰度处理、取边处理等等都是对这个矩阵内的数字进行了处理的结果。
图15
第二句程序产生了一幅灰度图像,这同样是对数字矩阵进行处理的结果,它是将彩色图像数字矩阵中代表每一个点的彩色信息数字进行了处理,使用了灰度图中色阶的数字量来代替彩色信息。
第三句程序是一个产生二值图像(也就是我们常说的黑白图像)的语句,它的结果是产生了第三幅图,它是以灰度图中的灰度值0.3 为界,滤去一部分灰度图像,这样就产生了二值图像(图14)。
图15的产生是将图14进行了中值滤波的结果。
下一句程序执行的结果是将图15的边界提取出来但这样提取来的边界,仍是一张图而不是我们要处理的线。所以我们下一步目标就
第 48 页
北方交通大学毕业设计(论文)
是将图转化为我们所需要的线。而从图16可以看出整个图形有的地方是断点,有的地方弧线了图像的反复。
图16
现在我们了解一下整体的程序运行的流程,为了实现流程图中所
体现的任务,整个要有三个函数来完成,它们分别是:
, find_neibour — 找到边界的点,并绘制出我们需要的边界
图。
, get_angle — 确定固定的点,并对固定点的连线进行角度调
整。
, get_roi — 利用以上两个的结果截取关键区域。
画出图像的工作是由find_neibour 这个函数来实现的。它实现的原理就是利用图16的二值图像的中白色的像素为1,黑色的像素为0的
第 49 页
北方交通大学毕业设计(论文)
关系,从图像的下部开始,从手掌向指尖依次取前面的点。
这是在最理想的情况下,即在连续的光滑没有瑕疵的区域上(每一个点的周围只有一个前进点和后续点时)可以直接的提取出我们所需要的每一个点,在对他们画图。下面的这张图就是我们所说的这种最为理想的状态。
从这张图中可以看出,每一个点的都只有一个前驱点和后续点,而且这样可以理由它们没有大的转向的优势非常容易的将每个点画到另外一张图上,使它们真正变成我们所需要的线。
我们所使用的方法可以叫做邻域点跟踪,他的原理是将图像中每一个点视为他的周围有八格子(见下图),将最中间的格子视为是一个点所在的位置。而在他的周围的一个前驱点和后续点,都在这9个格子中,这样在一张图中就有了3个点分布在这9个格子中的3个里。这样就可以完成我们所需要的点的跟踪。
第 50 页
北方交通大学毕业设计(论文)
他的原理就是:以一个点为中心,在它的周围有两个点(假设,一个在2号位的前点,一个在6号位的后点),我们的思想是确定一个点的同时,删除该点。也就是说在确定了2号点时,应该删除中心点也就是本点。这样依次下去,将所有的点都寻找出来并画下他们的轨迹。
如果在一个邻域内(9个空间内),有多于三个点,也就是在这个空间内对于中心点,不仅仅只有一个前驱点和后续点。这样的情况如下图所示,
这张邻域图(9格图)反映的就是上图中一个点的情况,中心的黑点时已知点,7号点是前驱点,3号点是中心点的后续点,2号点是3号
第 51 页
北方交通大学毕业设计(论文)
点的后续点。
图17
如果在这种情况下,我们还按照对付简单曲线的方法来对付这段曲线的话结果是:在确定中心点时,7号点就已经被删除。以中心起始点,依次扫描每一个格子,从1号开始,在扫描到2号格子时,确定了该点位后续点,那么就删除中心点,并以2号点位中心点继续扫描下一个点。
这样就会出现上面的图所显示的结果,原来的2号点变为了中心点,3号点变成了5号点,而中心点的后续点在8号位上。那么继续按照以上的原则进行取点。逐个扫描1至8号位,先扫到的位是5号,就确定5号位时下一个点,5号位的点作为中心点,同时删除原中心点。再进行扫描,而这时的结果就是,在中心点的周围的8个格内,
第 52 页
北方交通大学毕业设计(论文)
没有任何一个点。这样就无法进行下一步的点的确定。为了对付这种情况的出现,我们设计了一种对这个方法的改进形式。这种方法就是:将复杂区域的点全部删去,然后领域放大一倍,再进行取点。如图17所示的将7号点为中心确定图17的中心点时将图17中的中心点、3号点、2号点全部删去。然后邻域再放大一倍。
见下图所示:
将没有必要的点删除,邻域放大一倍后,将7号点作为领域中心,的领域如下图所示:
此时我们就可以用我们以上的方法,确定2号点位下一个要提取的点。而这样给图像的边界所带来的变化是很小的,但是这样画出来的边界图像时非常清晰的。
第 53 页
北方交通大学毕业设计(论文)
上面的图就是利用了领域扩大后的,重新取点后的结构图,它要比原试图的线更加简洁,更重要的是:滤出了不必要的多余的曲线。这样使原本像素为1024*1024的图像变成了400*400的图形。
图18
这图18与图16相比可以清晰可反映出边界的状况,并且能够很方便的进行处理,应为它所显示的不在是一幅二值图像,而是一幅由计算机画出的曲线图。
第 54 页
北方交通大学毕业设计(论文)
生成这样的图型的重要一步就是利用函数find_neibour 来提取出我们所需要的边界,它的流程是这样的:
1) 判断点的周围的点的个数,这个执行的方法是将二值图像存
储为数字矩阵,这个矩阵中的设为a[ A,B],矩阵中的A代
表行的坐标,B代表纵的坐标,而a则代表了这个点的像素的
值。这样就可以去该点是黑点还是白点。利用这个方法,我
们可以确定一个点的周围,有几个点存在。具体的做法就是
利用MATLAB工具包中所带有的计算矩阵种元素值的和的
size命令。计算出该点周围一个领域内所有像素的值得和。
因为在二值图像中,黑色代表0,白色代表1。所以像素的和
使多少就代表了有多少个点。
2) 当判断该点周围的点的个数少于3时,就可以按照我们所设
计的在最理想的环境下,删去该点的后面的点,再在领域内
寻找下一个点,然后再删除掉该点,这样在确定下一个点位
中心点继续寻找,这样在进行寻找时就可以认为在中心点的
附近所存在点的个数是否大于1为界继续寻找了。 3) 当周围的点的个数大于1时,我们执行的将是把该点周围的
点全部删去,然后领域扩大一倍,并以该点的前驱点位中心
点来寻找下一个点。
find_neibour 这个算法只是确定点的位置,也就是专门用来查找我们所需要的点。在函数get_angle 、get_roi这两个函数都调用了函数。就是利用了这个函数只用来找点而不会改变系统任何设置,
第 55 页
北方交通大学毕业设计(论文)
因此说它是一个性能非常优异的模块。它只有作为一个模块被主程序调用即可。
get_angle函数的目的是找到角度,这个角度是手掌中被选定的几个点的连线如图18所示的那条蓝线。它并不是如我们希望的那样与x轴垂直。如果在这样的情况下,过中指与无名指的交点做那条线的垂线,于过虎口的点作的关于那条蓝线的平行线相交,所围成的区域是我们所需要的关键区域。但是这样所须择的关键区域并不与x轴平行,这样就使得我们的区域与坐标系有一定角度,这位后面的工作带来了很大的不便,而在后面要来调整这个问题就很困难了,那就只能由我们在预处理方面进行调整。这正是get_angle这个函数所要实现的目标。我们来看一下它的流程。
1) 首先当然是读取图片,然后就是灰度处理、图像二值化、提
取边界、中值滤波,这一系列的动作在上面已经介绍的很详
细了,就不用再多说了。
2) 对图像的第1至第7行是否有白色的点,如果像素为0,就证
明这张图像的拇指部分不全,也就是说图像的要么很大,要
么很小。
3) 在相应的将照片处理之后,选择图像的第1200列作为图像选
点的大致起始位置,这样做的目的尽量将图像中手腕及袖子
等有杂色的部分滤去。
4) 我们从第1200列在0到500的变化范围内开始寻找我们所需
要的一个起始点,该起始的要求是在该列的像素之和小于4。
第 56 页
北方交通大学毕业设计(论文)
如果我们从始至终都没有找到这个合适的点,也就证明这张图像中的手形不是太大就使太小。由于在图像中我们不能以1为渐变单位那样会太浪费资源,我们建议以10为渐变单位从1200到1700寻找我们所需要的点设为start。
5) 我们将以所选的点start的位置为起点,向后从1201到1203选取一个矩阵,这样所显示的如图(将纵向的图像旋转90度 从图中我们可以看到我们截取了两块部分,那我们到底像要那部分呢,当然是下面的部分也就是上图中的后部。应为它更平滑,更流畅。怎么样选择它呢,仍然是利用图像的数字矩阵,将它们读入列矩阵并算出size值,然后用它们的均值与之比较,大于均值的就是我们要选取的点,利用这一原理作循环节,直到找到目标点。这样就确定了点的y值。利用y值与起始的start组和,形成矩阵再进行比较来确定我们所希望的x点。这样就确定了我们所需要的起始点的位置坐标(X ,Y)。
6) 利用以上的点的坐标,调用find_neibour函数,实现将二值图像转化为计算机绘出的图像。
第 57 页
北方交通大学毕业设计(论文)
7) 我们画出了这幅图后我们就要确定关键点的位置,使用的方
法就是在前面所说过的对掌纹轮廓曲线求导数,上面的图像
是由x轴和y轴叠加构成的,如果我们将它们分开来看,就
第 58 页
北方交通大学毕业设计(论文)
会有下面的图像。
8) 从下面的图形可以看出,x—a图像的规律无法准确地把握,
而y-b的图像就较能准确地表达出掌纹轮廓曲线的所包含的
信息,只有这样的图像才便于求导。通过求导所确定的点就
非常容易来确定关键区域。
图x—a组成的图像
第 59 页
北方交通大学毕业设计(论文)
图y—b所组成图像
9) 对上图求导后的图像见下图,要是对于a进行分析求点,
肯定是不明智的,对于b进行求导的结果图虽然仍有一些
毛刺,但是还是很容易的看出其值0的点就是我们要找的
顶点。这样的点有很多个,在进行一次处理就可以找到我
们所需要的点。正如我们所说的,这样的点的连线是不和
x轴垂直的。所以我们要对角度进行调整,这样就更为方
便的让我们对关键区域进行截取。
第 60 页
北方交通大学毕业设计(论文)
a的导数图
b的导数图
第 61 页
北方交通大学毕业设计(论文)
经过角度的调整,我们就可以来剪切我们需要的关键区域了。而完成这一部分就是要使用函数get_roi 。它已经有了前面的get_angle,
find_neibour这两个函数作为基础,所以在使用上更加的方便。它也必须要调用find_neibour这个函数来实现边界的划定。 它的流程分析如下:
1) 它与get_angle的程序有今人的相似之处,都是先读入图像
(必须是与get_angle同一张图),再进行灰度处理、二值
处理、中值滤波。但它与get_angle不同的地方就是它本身
不用检测图像是否是完整的,因为这个函数就是要放大图像
中的某一部分以便于用来提取关键区域。
2) 在相应的将照片处理之后,同样选择图像的第1200列作为
图像选点的大致起始位置,这样做的目的和get_angle是一
第 62 页
北方交通大学毕业设计(论文)
样的就是尽量将图像中手腕及袖子等有杂色的部分滤去。 3) 当然和get_angle一样,从第1200列在0到500的变化范
围内开始寻找我们所需要的一个起始点,该起始的要求是在
该列的像素之和小于6,而不是4。如果我们从始至终都没
有找到这个合适的点,也就证明这张图像中的手形不是太大
就使太小,渐变单位依然是10从1200到1700寻找我们所
需要的点设为start。
4) 仍然是利用图像的数字矩阵,将它们读入列矩阵并算出size
值,然后用它们的均值与之比较,大于均值的就是我们要选
取的点,利用这一原理作循环节,直到找到目标点。这样就
确定了点的y值。这与在get_angle种的情况还是一样的。
然后就是利用y值与起始的start组和,形成矩阵再进行比
较来确定我们所希望的x点。这样就确定了我们所需要的起
始点的位置坐标(X ,Y)。
5) 调用find_neibour函数利用已知的坐标来画出我们所要的
边界见下图,而这个边界与get_angle中所画出的是不一样
的。
第 63 页
北方交通大学毕业设计(论文)
使用不同命令所产生的图像
直接进行绘制边界的结果,只将某些细节放大了。
第 64 页
北方交通大学毕业设计(论文)
x-a的图像
b—y组成的图像,与get_angle的相比可以明显地看出是拇
第 65 页
北方交通大学毕业设计(论文)
指部分被删除了
6)对a ,b求导它们的图如下,要比在get_angle中所表现出
的信息清晰。这样在选取过顶点就更加方便了。
a的导数图
b图的导数图
从上面的图中我们可以看出在get_roi的函数中能更好的显示我
第 66 页
北方交通大学毕业设计(论文)
们所需要的点的位置,这样在提取关键区域时就能更好的调整位置,我们可以看出经过了get_angle的角度调整,在经过get_roi函数的放大和提取边界的工作,我们现在就剩下提取关键区域。
在提取关键区域时,我们是将在经过上面所述的方法所提取的关键点确定后,在我们相应的轮廓线上确定了固定点(如下图所示)
图19
图中的a点,b点,c点,d点就是固定下来的点,在截取时,是将a、c两点连接起来,在过b点作ac的垂线,然后过d点作ac的平行线,而这条线也就与过d点的显垂直。在过c点作过d点的那条线的平行线,这样所围成的图形就是我们所选定的关键区域的所在范围。
当然,这样就从图上截取的的话,就只能是一块白色的没有任何图像的图片,因为从始至终我们都是在一张由电脑所绘制的图形上再
第 67 页
北方交通大学毕业设计(论文)
进行数学处理,这样的处理只是在这张图形上划定了关键区域,我们要将关键区域的坐标,利用MATLAB工具包中专门的命令来返回到那幅经过灰度、滤波、图像加强的掌纹照片上去,选定我们所需要的范围并将其剪切下来(如下图所示)。这样整个的过程才算完成。
从图片的读入到生物特征区域的提取完成的整个实现过程的核心思想及流程就是上面我所写的内容。我在本章节中详细介绍了我们用以实现特征区域提取的三个函数的流程和它们的原理。按照我所说的这样的流程,并利用MATLAB工具包中的强大的功能,就可以完美的实现这三个函数的功能。我们再付率中附上了这三个函数的完整程序。至于在调试过程中遇到的问题和这三个函数之间的关系我们将在下一章中重点论述。
第 68 页
北方交通大学毕业设计(论文)
第五章 程序的调试
在上面的章节中我们介绍了三个函数的实现,而在本章中我们来
介绍一下整个程序的调试及三个函数的关系。
我们先说一下怎样里调试程序,MATLAB中有一套完整的调试程序
的方法。
1. 在我们要调试的程序中设置一个断点(set\clear
breakpoint),这个断点的位置可以在任何一行,当然我们要
设的断点应该有一定的目的性,例如对每一个循环结设置一
个断点,这样程序在执行到那个点时会停在那里等待你的下
一命令。经过断点的设置我们就可以清楚地知道程序的作用。 2. 当然是将程序调入进MATLAB中的命令窗口(command window)
这时整个程序将被激活并且开始运行。当程序运行到断点是
将会自动停下来,而这时在函数窗口就会在断点的地方显示
出一个明显的符号。红色的圆点代表的是设置的断点(可以
是很多个断点但不能移动),而蓝色的箭头则代表了程序所执
行并停下的位置(只能是一个,但是可以移动),随着命令的
继续,箭头也继续按照程序涉及的流程前进,并停到下一个
预先已经设置的断点的位置。
第 69 页
北方交通大学毕业设计(论文)
在整个程序调试阶段有一些地方是要注意的:
, 在掌纹图像中滤去袖子及手腕的一部分时设置的列的值即程
序中的start=1200,这个数字仅仅是一个大概的值,在不同
的模具设备上采集到的图像不需要太精确,而在后面的程序
中利用这个start值会再进行比较测验,以取得更加精确的
值。通过设备和算法上的改进就可以很准确的保证将袖子部
分滤去了。
, 在画出手形曲线后,在对图形的想求导时应该明白这个图形
是由a ,b两个曲线叠加而成的,对a或b进行求导都可以
显示出我们要的关于固定点的信息。所以我们就要比较对哪
个求导更能容易的体现出我们所希望得到的信息。结果很明
显是对b进行分析有更大的优势,当让进行比较时是将断点
第 70 页
北方交通大学毕业设计(论文)
设置在那个位置,然后就是运行到断点后停止在进行plot操
作。
, 最后我们可能出现的问题就是上面所说过的,在图形中选取
了点,划分了区域并选出了关键区域,但是在截图是却仍在
图形图像中截,这样就会使前面的工作全都白费了。因此我
们应该牢记在最后截图是应该将坐标框的数据转移到我们已
经处理过的掌纹图像的图片中。
这三个函数get_angle, find_neibour ,get_roi ,它们既是相互独立的模块化的,又是相互关联的,不可分割的。我们已经说过,在get_angle ,get_roi 中都调用了find_neibour这个函数,用来进行绘制边界的作用。而get_angle 和get_roi这两个函数有很大一部分程序都是相同的,但它们却有时必要的,这是为什么呢,答案就是这来两个函数所要实现的目标不同。get_angle 是要将图19中的ac线的角度进行一下调整。使直线ac与x轴垂直,与y轴平行。而get_roi函数的目标是将手掌的轮廓线放大,然后再选取边界进行比较,这样在连接固定点,这时就可以利用get_angle所提供的角度信息,改变线的角度和状态,之后在进行图像的剪切。这样切下来的图像也就是一个正方形的图像,而不用在进行图像的调整,为后面的图像比较提供了方便。
第 71 页
北方交通大学毕业设计(论文)
第六章 结束语
在整个论文中,我介绍了图像的预处理和关键区域的选取得整个过程,这是整个掌纹特征采集系统中的第一步也只最重要的部分之一。经过处理的图像在进入数据库,由pca进行的特征提取在进行特征比较,在于手掌形状进行联合使用,这样的成功率高达99%。
我们从一张掌纹图像的输入开始,经过对图像的灰度处理,然后经过图像滤波,图像增强(第二章介绍理论、第三章介绍技术)后,变成一张我们所需要的特征明显的掌纹图像。在经过对图像的边缘进行提取,并由计算机绘出掌纹轮廓曲线(第四章的主要内容)。经过对曲线的数学加工,我们就可以找到固定点,最后剪切出我们所需要的关键区域。这样就为后续工作提供了基础。
随着现代社会的迅速发展,生物特征识别技术已经逐渐应用到人们的日常生活中,身份鉴别和验证已经成为现代化社会必不可少的安全措施。人体生物特征是最安全、最方便的身份鉴别工具,不能被盗取和遗忘。由于人体生物特征的相对稳定性,生物特征识别技术得到了广泛的应用与发展。
与指纹和人脸等其它生物特征相比较,掌纹具有信息量丰富、特征较稳定等优点,因此可以作为一种用于身份鉴别的工具。事实上,已经有一些关于掌纹识别算法研究的文献,其实验效果也在不断提高。而且在一些部门将要或已经使用这种新兴科技作为身份鉴定的工具了。随着时代的发展,人类社会的急剧变化和人们交流的不断增多,生物特
第 72 页
北方交通大学毕业设计(论文)
征识别必将发挥越来越重要的作用,而掌纹识别在生物特征识别中与其他识别方式相比有着巨大的优势。一次他必将在不久的将来发挥更大的作用。
目前,国外许多高技术公司正在试图用眼睛虹膜、指纹,面貌特征等取代我们手中的各种卡片和密码,并且已经开始在机场、银行和各种电子器具上进行实际运用,结果备受青睐。在国内,首家生物特征识别的网站业已在北京建立,为国内生物特征识别研究人员提供了一个内外交流、信息快速流通的平台,香港政府也明确提出,计划在,::,年至,::,年耗资,,亿港币为香港市民更换智能指纹身份证,新身份证可以支持“自动通关”系统,在深圳特区,政府已经为全市,,,万名离退休人员设立了指纹档案,借助计算机指纹验证系统发放养老金。据国际生物识别产业协会估计,我国生物识别技术的软件和硬件市场,有望在,:年内达到每年,:亿美元的规模。
比尔?盖茨曾做过这样的断言:生物识别技术将成为未来几年IT产业的重要革新。盖茨言论的背后支撑是,越来越多的个人、消费者、公司乃至政府机关都承认,现有的基于智能卡、身份号和密码的身份识别系统是远远不够的,生物特征识别技术将在未来提供解决方案方面占据重要的地位。在短期内,生物鉴别法便可与智能卡操作系统结
第 73 页
北方交通大学毕业设计(论文)
合,用户通过使用个人密码及生物鉴别法以确认身份。
生物特征识别技术绝不会是仅仅用于国家安全的阳春白雪。就像好莱坞科幻电影所表现的,在未来的某一天,也许您不必携带身份证或者记忆密码,而只靠您的面孔、声音、指纹或者虹膜等固有特征,就可实现从银行或ATM机上取钱。这就是日新月异的生物特征识别技术将带给我们的新生活。
正是基于以上原因,本人选择了这个课题作为毕业设计的题目,希望自己能在有限的时间内对这门正在飞速发展,且日益起到巨大作用的科学形成初步的认识和了解,并能利用身边的工具将其运用到实践中去。
在此次毕业设计的过程中,本人综合学习了掌纹特征的提取和利用MATLAB进行的图像处理的相关技术。掌握了两者各自的原理、特点、构成情况、设计方法、以及应该如何运用它们来解决实际问题。在对这两者的系统了解之后又对二者的相结合真正实现系统所要求的相关内容,并对其进行了模拟试验,取得了一定的效果从取得的效果上面分析,我们的系统算是成功的。
再学习和应用的过程中,最主要的收获是对知识的获取,其次是编程能力的提高。在最初对Matlab语言的了解仅限于信号处理等初步的系统自带的函数命令。在这种情况下,利用书本上的介绍,老师的
第 74 页
北方交通大学毕业设计(论文)
指导以及以前所学的C语言的基础,现已能够较为熟练的运用Matlab语言进行较熟练的编程并调用部分工具箱函数。与此同时,自学能力和动手实践能力都有了不同程度的加强。
在此衷心感谢孙冬梅老师和李强博士在毕业设计的数个月中的悉心指导。如果说人生中遇到她们这样的人是一种幸运,那我就是格外地幸运。这是我第一次真正的接触到生物识别技术,这几个月的毕业设计使我了解到了科研人员的生活。在这个过程中,孙冬梅老师给了我们许多支持。李强博士更是在我们设计的过程中手把手教我们所欠缺的专业知识。帮助我们制定了各自的分工,各自的重点,带领我们进入了生物识别的世界。没有李强博士的帮助我们真的不知道从何下手。
衷心感谢和我一起作毕业设计的蔡勋梁、王璞、陈羲东同学,没有你们的帮助,我是无法完成大学最后的任务—毕业设计的。在这个过程中我们互相讨论,取长补短、不懂的地方大家就一起查资料,一起啃骨头。大家互相鼓励互相支持,结下了深厚的友谊。
没有孙冬梅老师的帮助我们进入不了这个领域,没有李强博士的指导我们根本不知道从何下手,不知道该干些什么,没有和其他三个同学无间的合作我们的工作也不会有任何进展,我们的毕业设计理论上也不能完成。再次感谢两位老师,孙冬梅老师、李强博士,感谢三位共同努力的好朋友,蔡勋梁、王璞、陈羲东。谢谢~谢谢你们~
第 75 页
北方交通大学毕业设计(论文)
参考书目
(1) 束为. 荣钢. 边肇祺. 张大鹏;《利用掌纹进行身份自动鉴别方
法的研究》;清华大学学报(自然科学版) 1999年01期 (2) 黎明. 严超华. 刘高航;《基于掌纹图象分析的身份识别系统》;
中国图像图形学报 2000年02期
(3) 戴青云. 余英林. 张大鹏;《掌纹身份识别系统中的定位分割技
术》;广东工业大学学报 2002年01期
(4) 孔春晓;《现代生物识别技术综述》;山东公安专科学校学报
2003年04期
(5) 孙冬梅. 裘正定;《生物特征识别技术综述》;电子学报 2001
年S1期
(6) 李文新;《基于掌纹识别的在线身份认证》;
(7) 黄剑玲;《利用MATLAB进行数字图像的分析和处理》;计算机与
现代化 2000年06期
(8)孙兆林;《MATLAB6.x图像处理》;清华大学出版社
第 76 页
北方交通大学毕业设计(论文) (9) chin-chuan han. Personal authentication using palm-print
features.PR.2003
(10)wai kin kong.Palmprint texture analysis based on
low-resolution images for personal
authenticition.ICPRP.2002
第 77 页