电 子 科 技 大 学
UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA
工程硕士学位论文ENGINEERING MASTER DISSERTATION
论 文 题 目: 便携式指纹识别系统设计及实现
工 程 领 域: 软件工程
指 导 教 师:
作 者 姓 名:
班 学 号:
独 创 性 声 明
本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。
签名: 日期: 年 月 日
关于论文使用授权的说明
本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。
(保密的学位论文在解密后应遵守此规定)
签名: 导师签名:
日期: 年 月 日
摘 要
伴随着信息时代的来临,人们愈来愈多地面临身份鉴别的问题。为确保身份鉴别的精确性、可靠性和安全性,生物特征识别技术应运而生。由于指纹的唯一性和不变性,以及指纹识别技术的可行性和实用性,指纹识别技术已成为当前最流行、最方便的身份认证技术之一。发展比较成熟的指纹识别系统大多基于PC机,造价高、系统复杂、体积庞大,只能适用于固定场所。并不适合在一些如保安、网络、手机、门禁等系统中应用。近年来,随着嵌入式技术的发展,指纹识别技术的研究再次掀起高潮。性能卓越的嵌入式处理器构建的指纹识别系统,不仅降低了系统成本,而且大大提高了系统性能。
本文在阅读大量的文献资料的基础上,对指纹图像预处理、指纹特征提取、指纹特征匹配各环节关键算法进行了深入的研究,并通过仿真实验,对各种算法的实际效果进行比较,完成图像算法的设计。同时在指纹采集方面引入一种低功耗、低价格、小尺寸的滑动式指纹传感器LTT-SS500,并提出了一种专门适用于滑动式指纹传感器的基于距离判别法的图像重组算法,该算法巧妙地利用了有限个像素点的信息,有效地判断手指在扫刮方向上的位移,以及在扫刮过程中的左右偏移,并能据此恢复出完整的没有任何交叠的指纹图像,充分利用高速运行的TMS320VC5509 DSP芯片实时性和低功耗等优良特性,设计实现了一个既可单机运行又可嵌入到其它产品中去的指纹识别原型系统。
实验结果表明该系统的运行速度和识别准确率都达到了理想的效果,并在2008年浙江省高考阅卷浙江工业大学阅卷点安保工作中成功应用。
关键词:滑动式指纹传感器,图像重组,DSP,指纹识别
Abstract
With the development of the information technology, more and more people come to the problem of identification. Biometric identification technology is now introduced into the identification domain; it is accurate, reliable and also secure. Because fingerprint is unique and fingerprint identification technology is feasibility and practicability, fingerprint identification has become one of the most popular and convenient identification technology. The relatively-mature Fingerprint identification system are PC-based、high cost and complex, its size is huge and can only be applicable to fixed location. In the last few years, with the development of embedded technology. Fingerprint identification technology research became hot again. Embedded processor with high ability is introduced into the AFIS, it not only reduces the price, but also improves the performance of the system.
Lots of articles about the AFIS were read, key arithmetic of fingerprint image preprecess、fingerprint minutiae extraction and fingerprint minutiae matching were discussed. Practical results of arithmetic were analyzed though simulation, after that, image arithmetic was designed. LTT-SS500, a fingerprint sensor which is small, cheap and low power consumption is introduced into the fingerprint capturing system.At the same time, new arithmetic based on distant which adapt to scratch fingerprint sensor was put forward. This arithmetic can capture the displacement of the fingerprint using the information contained in the pels of the sensor, it can also resume the fingerprint image without any crossover. By using TMS320VC5509 DSP, a new fingerprint system was designed which can either be used separately or be embedded in other products.
The result of the experiment shows that the system’s operation speed and the accuracy rate of identifying have all reached the ideal targets, and successfully put in use of security applications of zhejiang industry university branch, one of the 2008 Zhejiang university entrance examination examines test papers spot.
Key words: fingerprint sweep sensor, image reconfigument, DSP, fingerprint identification
目 录
第一章 绪 论 1
1.1 引言 1
1.2 生物特征识别技术 2
1.2.1 生物特征识别技术的特点 2
1.2.2 各种生物识别技术的比较 2
1.2.3 自动指纹识别技术 3
1.3 指纹识别技术的发展现状 4
1.4 课题的目的和意义 5
1.5 本文研究的主要内容和结构安排 5
第二章 自动指纹识别原理与算法设计 7
2.1 指纹识别系统的算法结构 7
2.2 指纹特征介绍 8
2.3 指纹图像预处理 11
2.3.1 指纹图像增强 12
2.3.2 方向图计算 13
2.3.3 二值化处理 15
2.3.4 细化处理 16
2.4 指纹特征提取 17
2.5 指纹特征匹配 17
2.6 性能评价 18
2.7 本章小结 19
第三章 系统设计方案 20
3.1 嵌入式指纹识别系统概况 20
3.2 需求分析 20
3.3 基于DSP的系统构成 21
3.4 DSP芯片 21
3.4.1 DSP芯片选型 21
3.4.2 TMS320VC5509的结构性能 23
3.5 引导方式 25
3.6 本章小结 26
第四章 滑动式指纹传感器与图像重组算法 27
4.1 指纹传感器概述 27
4.1.1 活体指纹传感器 27
4.1.2 指纹输入方法 28
4.2 滑动式指纹传感器LTT-SS500的结构特性 29
4.3 指纹传感器LTT-SS500的电路设计 30
4.3.1 LTT-SS500指纹传感器工作原理 30
4.3.2 指纹采集模块的硬件设计 33
4.4 条状指纹图像重组算法的研究 34
4.4.1 重组算法基本原理 35
4.4.2 距离判别法原理 36
4.4.3 距离法实现指纹图像重组的过程 37
4.5 两个重要参数指标的说明 37
4.6 实验结果 38
4.7 本章小结 39
第五章 系统实现 40
5.1 系统硬件设计 40
5.1.1 外部存储器扩展 40
5.1.2 USB接口设计 42
5.2 系统软件设计 43
5.2.1 系统初始化 43
5.2.2 图像算法软件设计 44
5.2.3 指纹管理的软件设计 49
5.3 系统程序的引导 51
5.4 系统调试 52
5.5 实验结果及分析 52
5.6 本章小结 53
第六章 总结与展望 54
致谢 55
参考文献 56
附录 60
在学期间的研究成果 61
第一章 绪 论
1.1 引言
随信着息时代的来临,在日常生活中人们愈来愈多地面临身份鉴别的问题。无论你是到银行取钱、到网上交易、注册网络服务还是到朋友单位拜访,太多的场合需要身份认证。基于标识的传统身份认证技术由于受到证件伪造以及密码破解等手段的威胁,逐渐表现得有些力不从心,随之而来的利用身份欺骗而造成公司及个人的机密数据泄漏和利益受损的问题也日益严重。据报道,由于传统身份识别的缺陷,每年全球至少有5亿美元的信用卡、10亿美元的移动电话和30亿美元的取款机被盗。这对个人身份鉴别技术提出了重大的挑战。如何自动、快速及准确地鉴别个人身份、保护信息安全是当今信息化时代必须解决的关键性社会问题。现代身份鉴别技术不仅要求具有极高的安全性和准确性,鉴别过程自动化、易于管理和以人为本也是它应该具有的关键性特征。
传统的身份鉴别技术可以分为两大类:
(1)基于标识的鉴别技术
(2)基于知识的鉴别技术
基于标识的方法是指拥有特定的标志来获得个人认证,例如身份证和钥匙等;而基于知识的方法使用“所知”鉴别个人身份,待鉴别者通过私有的知识和信息来证明自己的身份,如密码和口令等。基于标识和基于知识的鉴别技术已经被人们使用了千百年,其主要优点是简单而且成本较低。但最大的问题在于它们是以物识人或以某种知识来识别人,而非以人识人。这些物或知识与人本身没有本质的联系,一定条件下,有可能被别人获取,因此实际使用时存在很大的安全漏洞,身份证等可能会被盗取、替换、丢失,密码则易遗忘或被熟悉的人猜中,而且这些传统的身份鉴别方法是无法区分授权人和冒名顶替者的。
正是由于传统身份识别方法精确性较低,安全漏洞较大,使用越来越受到限制,人们都期待有一种新的身份识别方式来满足自身的需求,利用人体本身的特征来识别个人身份,确保身份鉴别的精确性、可靠性和安全性。于是,生物特征识别技术应运而生。
1.2 生物特征识别技术
1.2.1 生物特征识别技术的特点
所谓生物特征识别技术就是利用人体生理特征、行为特征进行身份认证的一种技术。生物特征分为两类:生理特征和行为特征。其中生理特征有指纹、掌纹、手型、脸型、体型、虹膜、瞳孔、声音等;行为特征则有笔迹、步态等。生物特征识别具有以下几个特点:
(1) 广泛性:即每个人都应该具有这种特征;
(2) 唯一性:每个人拥有的该项特征各不相同,独一无二;
(3) 稳定性:其特征基本不随时间、外界条件变化;
(4) 可采集性:所选择的特征应便于测量。
1.2.2 各种生物识别技术的比较
不同的生物特征有他们自己的特点,如表1-1所示。如果考虑到永久性问题的话,那么脸型、体型、笔迹、声音等识别方式不是很理想的,因为这些生物特征都会随着时间慢慢变化;如果考虑到硬件成本因素的话,虹膜和瞳孔识别也不是理想的选择,因为辨识计算量太大,耗费较多硬件资源,如果用在政府机构还可以考虑,但是如果应用在一般门禁上的话则成本偏高。
表1-1 常用生物特征比较
生物特征 独特性 永久性 精确度 防伪性 采集性
指纹 高 高 高 高 中
人脸 低 低 低 低 高
虹膜 高 高 高 高 中
瞳孔 高 中 高 高 低
笔迹 低 低 低 低 高
声音 低 低 低 低 中
指纹识别技术相对于其他识别技术有许多独到之处,具有很高的实用性和可行性。同时,它具有独一无二的个体特征和良好的稳定性,并且特征的精确度和复杂度足以满足高准确的鉴别需求。近年来,由于数字图像处理学的迅速发展[1,2]使得指纹识别作为最流行、最方便、最可靠的身份认证方式,己经在社会生活的诸多方面得到广泛应用。
1.2.3 自动指纹识别技术
指纹是手指皮肤表面隆起的脊和凹下的谷构成的特定纹路,其纹理在婴儿胚胎时期就已经确定。科学研究发现,两枚指纹完全相同的概率非常小,可以认为世界上没有两个人的指纹完全相同,而且每个人的指纹是保持终生不变,即使磨损,只要不伤及真皮,也能重新长出。依靠这种唯一性和稳定性,可以把一个人同他的指纹对应起来,通过对他的指纹和预先保存的指纹进行比较,就能验证他的真实身份,这就是指纹识别技术。近年来,国内外学者对自动指纹识别技术进行了深入和广泛的研究,取得了明显的进展,研究的重点主要集中在如何提高识别的准确率和速度上。
指纹用于身份鉴定的历史悠久。早在古叙利亚和古代中国指纹鉴别就己经开始应用。19世纪初,科学研究发现了指纹的两个重要特征:
(1) 不同手指的指纹纹脊的式样不同
(2) 指纹纹脊的式样终生不变
这个研究成果至今仍然是被承认的,并使得指纹在犯罪鉴别中得以正式应用。早期的指纹识别由人工来完成,由有经验的指纹专家对指纹逐个进行比对、辨别。这种方法耗时长、效率低、准确率也低。随着人口数量的急剧增长和应用范围的扩大,这种方法越来越不能满足实际应用的要求。20世纪60年代,随着计算机技术的诞生、发展与不断进步,图像处理与模式识别方法的日益完善,人们开始着手研究利用计算机来处理指纹。之后,自动指纹识别系统(Automatic Fingerprint Identification System,AFIS)在法律实施方面的研究和应用在世界许多国家展开。20世纪80年代,光学扫描和个人电脑这两项技术的革新,使得它们作为指纹取像的工具成为现实,从而使指纹识别可以在其他领域中得以应用,比如代替IC卡。20世纪90年代,随着低价位取像设备的引入及其飞速发展、可靠的比对算法的研究发现,指纹识别在个人身份识别应用得到了进一步的增长。据统计,到20世纪末,全世界的生物识别产品市场约为1.12亿美元,其中指纹识别约为1.00亿美元,这标志着指纹识别是当前最成熟、稳定、并且应用最广泛的生物识别技术[2]。
与人工处理不同,现代指纹识别技术并不直接存储指纹的图像,而是记录从图像中提取到的指纹特征,这样做主要是考虑到存储空间限制和隐私问题。指纹识别算法最终都归结为在图像上找到指纹的特征并进行比对。因此,自动指纹识别系统主要涉及五个功能:图像读取、图像处理、特征提取、保存数据和特征匹配。首先,通过指纹读取设备取得图像,并对原始图像进行初步处理,使之更清晰。然后,利用指纹识别软件建立指纹的数字表示——特征数据。这是一种根据指纹类型、纹线断点、交叉点等结构特征得到数据的单方向转换(可以从指纹转换成特征数据但不能从特征数据转换成指纹),而两枚不同的指纹不会产生相同的特征数据,这些数据通常称为模板,保存为数据库中的一条记录。最后,对两个指纹的模板进行比较,计算出它们的相似程度,最终得到匹配结果。
1.3 指纹识别技术的发展现状
几十年来,指纹技术的研究一直为各国的科学家和政府所关注。美国、日本以及欧洲诸国相继投入大量的资金和科研人员加快此项技术的研究与应用。欧美国家凭借其强大的科技力量和经济实力,在该领域的研究和开发中处于领先位置。在亚洲,日本和韩国在指纹技术领域处于领先地位。1998年年底,时任国家主席的江泽民同志对日本国进行国事访问期间,专程参观了日本国研制的指纹识别以及其他生物识别技术成果[3]。
在国外,指纹采集芯片领域的龙头老大地位首推由美国贝尔实验室成立的美国Verdicom公司。贝尔实验室历经数十年的研究,投资几十亿美金,终于在生物识别技术方面获得了突破性的进展,研制成功了半导体指纹传感芯片,并联合Intel等大机构,共同注资成立Veridicom公司,专业开发及生产半导体指纹采集系列产品。目前全球从事指纹采集芯片研发的著名公司还有:美国DigitalPerson公司,Authentec公司,美国BII公司,美国IBM公司,RitronicsBAC公司,美国Gateway公司,法国ST公司,日本富通公司,日本电气株式会社 (NEC Corporation),日本电气公司,韩国 Pantech公司,韩国HP公司等[4]。较早涉足该领域的 Identicator公司的 IDSafe生物识别产品已经得到了较为广泛的应用,已有5000多万人登记使用 IDSafe系统。
目前,我们国家从事指纹技术的开发、应用的科研企事业单位情况如下:部分国内各大高校的相关专业的研究生在做学术研究开发,走向产品化的较少;从事指纹技术的公司中,比较有名气的、有自主开发实力的公司也有一些:杭州中正生物认证技术有限公司(Miaxis Biometrics Co., Ltd.),北京北大高科指纹技术有限公司,北京中控科技股份有限公司,北京海鑫科金信息技术有限公司,北京艾迪沃德科技发展有限公司,深圳市泰迪科技发展有限公司,深圳市深安科技发展有限公司,深圳市派思数码科技有限公司,上海安威士生物科技有限公司,上海安安指纹识别系统有限公司,上海众义电子科技有限公司,南昌安必信信息工程有限公司,中科院长春光机所,长春鸿达光电子与生物识别统计技术有限公司,南京凹凸软件,西安青松科技有限公司。目前我国在民用指纹领域的公司大多还是依赖进口,国内主要是做代理、二次开发和系统集成等[4,5]。但是我国台湾有些公司的指纹识别技术产品的性能达到国际领先水平,如台湾祥群科技有限公司,本文使用的就是该公司生产的滑动式指纹传感器,详细内容会在第四章介绍。
1.4 课题的目的和意义
目前,指纹识别技术系统常见有两种应用方式:连接 PC 的桌面应用系统和嵌入式系统。连接 PC 的桌面应用系统具有灵活的系统结构,并且可以多个系统共享指纹识别设备,可以建立大型的数据库应用,但它造价高、系统复杂、体积庞大,只能用于固定场所,适用范围小;嵌入式系统是一个相对独立的完整系统,它不需要连接其他设备或计算机就可以独立完成其设计的功能,像指纹门锁、指纹考勤终端就是嵌入式系统,其功能专一,应用于完成特定的功能。
上述内容是当前自动指纹识别技术研究实现的重点和难点,同时也是民用指纹识别系统发展的必然趋势。CMOS传感器的出现,活体扫描 (Live Scan)设备的体积越来越小巧,用指纹开启门锁,登陆网络,通过安检己不再仅仅是科幻电影中的场景。
从指纹识别系统的发展趋势来看,当今蓬勃发展的民用指纹识别市场以普通公司和大众为目标,着眼于实现方便快捷高效安全的个人身份认证功能。为了满足人们对易用性、方便性和舒适性等多方面的追求,指纹识别设备正朝着小型化、嵌入式和全自动方向发展,特别是基于DSP和嵌入式的便携式指纹产品是指纹识别设备发展的主流方向。
对于便携式产品的开发,在实现上要考虑到两个方面的因素,也是本文研究的主要目的:(1)软件方面是否具有较小的运算量,是否占有非常少的内存;(2)硬件方面,在设计上需要满足低功耗、安全稳定、轻巧易用的要求。
便携式指纹识别系统的开发不仅具有迫切的市场需求和良好的市场前景,而且可以提高我们的安全防范水平,也可以产生很大的经济效益、社会效益。同时可以带动计算机、电子、光学、图像处理、模式识别等相关学科的发展,具有很大的理论与现实意义。
1.5 本文研究的主要内容和结构安排
本文依据指纹识别技术的发展趋势,采用滑动式指纹传感器LTT-SS500和DSP技术,设计并实现一个体积小、成本低、功耗低的独立指纹识别系统。主要研究内容如下:
1.阅读大量的文献资料,并对指纹图像预处理、指纹特征提取、指纹特征匹配各环节关键算法进行深入的研究,通过仿真实验,对各种算法的实际效果进行比较,完成本文的算法设计。
2.采用了小体积、低功耗的滑动式指纹传感器LTT-SS500完成指纹采集模块的设计,并针对LTT-SS500采集到的条状指纹图像,本文专门提出了一种非常实用的基于距离判别法的图像拼接算法,该方法运算简单、便于实现,在运算速度和精度上都达到了非常理想的效果。
3.根据系统的实际需求,构建了一个包含主控电路 (DSP芯片和存储器)、输入通路 (指纹图像采集部分)、输出通路 (RS232、USB接口)、人机交互设备 (LED显示)、调试端口(JTAG )和电源管理及监控电路等六大部分综合而成的既可单机运行又可嵌入到其它产品中去的指纹识别原型系统。
本文结构安排如下:
第一章 概述了生物识别以及指纹识别技术的发展现状,并对各种生物特征识别技术进行了比较。根据国内外指纹识别技术的发展趋势,提出本课题的研究目的和意义。
第二章 系统地阐述了指纹识别的基本原理,并对指纹识别算法进行了总结和分析,并分别将图像预处理、特征的提取与对比三部分的算法设计做了详细说明。
第三章 根据系统需求,提出本文总体设计思想和设计方案,并对核心器件DSP的各项特性进行深入研究,为后文的详细设计奠定基础。
第四章 仔细研究了滑动式指纹传感器LTT-SS500结构性能,并针对该传感器提出了一种高效、快速的条状指纹图像拼接算法,对基于距离判别法的图像重组算法进行详细的论述。
第五章 完成了系统关键模块的硬件和软件设计,进行系统测试,最后对实验结果进行了总结和分析。
第六章 总结了本文研究所取得的成果及不足之处,提出课题进一步研究的方向。
第二章 自动指纹识别原理与算法设计
2.1 指纹识别系统的算法结构
指纹识别技术是指使用取像设备读取指纹图像,通过识别软件提取出指纹图像中的特征数据,然后根据匹配算法得到的结果鉴别指纹所有人身份的生物特征识别技术。一个完整的自动指纹识别系统主要工作流程如图2-1所示:
图2-1 指纹识别系统图
其工作原理可以简要描述为:
(1) 指纹采集:通过指纹取像设备读取指纹的数字图像。常用的指纹采集设备有光学采集器,半导体采集器,超声波采集器。
(2) 指纹图像预处理:在实际采集过程中,受各种因素的影响,采集到的指纹图像不能保证都很清晰,图像中可能出现纹线粘连、纹线断裂或对比度不均匀等情形,需要对原始的指纹图像进行预处理。指纹图像的预处理包括增强、二值化、细化等处理步骤。预处理算法是指纹识别系统中的重要内容之一。因为预处理部分位于指纹识别系统的前端,其处理质量将对系统的整体性能产生重要的影响。
(3) 特征提取:建立指纹图像简约数字表示——特征数据。绝大多数指纹识别系统都采用指纹的端点和分叉点等结构特征作为匹配的元素,特征提取算法多数针对已经细化后的二值图像进行,由于抽取的特征可能包括伪特征,而伪特征对指纹的匹配影响非常大,所以在进行最后的特征匹配前,一般要先进行伪特征点过滤。
(4) 特征匹配:预存的数据模版与当前的数据特征进行比较,计算出他们的相似度,从而得到两幅指纹图像的匹配结果。
本文将对指纹采集、图像预处理、特征提取、特征匹配四大模块的原理和算法进行深入研究,其中图像采集内容将在第四章详细介绍,本章将主要介绍图像预处理、特征提取、特征匹配三部分内容。
2.2 指纹特征介绍
人的指纹有两类特征:总体特征和细节特征。总体特征包括:基本纹路图案(环型、弓型和螺旋型)、中心点、三角点和纹线数等[5]。细节特征是指在指纹拓扑图中的几种有效的特征,它是指纹识别的最基本的依据。即使两枚指纹的总体特征相同,但是他们的细节特征却不可能完全相同。一些学者认为只要有13个局部特征相符,就可以认为是同一个指纹。
(1) 总体特征
总体特征是指那些用人眼直接就可以观察到的特征,比如环型、弓型和螺旋型,如图2-2所示。
其它的纹型都基于这三种基本纹型。仅仅依靠纹型来分辨指纹是远远不够的,这只是一个粗略的分类,通过更详细的分类使得在大数据库中搜索指纹更为方便快捷。
更详细的总体结构分类如下所述:
模式区:
模式区是指纹上包括了总体特征的区域,即从模式区就能分辨出指纹是属于哪一种类型的。有的指纹识别算法只使用模式区的数据,有的指纹识别算法还是使用了所取得的完整指纹进行分析和识别。
中心点:
中心点位于指纹纹线的渐近中心,它在读取指纹和比对指纹时作为参考点。许多算法是基于中心点的,即只能处理和识别具有中心点的指纹。中心点对于某些指纹识别算法很重要,没有中心点的指纹某些算法是不能处理的。
三角点:
三角点是位于从中心点开始的第一个分叉点、断点、两条纹线会聚处、孤立点、转折处等。三角点是指纹纹线的计数跟踪的开始之处。
式样线:
式样线是指在包围模式区的纹路线开始平行的地方所出现的交叉纹路,式样线通常很短就中断了,但是它的外侧开始连续延伸。
纹数:
指模式区内指纹纹线的数量。在计算指纹的纹数时,一般先要连接中心点和三角点,这条连线和指纹纹线相交的数量即可认为是指纹的纹数。
(2) 细节特征
细节特征是指纹上具有某种特征的节点,这些具有某种特征的节点也称为特征点。两枚指纹经常会具有相同的总体特征,但是它们的细节特征却不可能完全相同。
指纹纹线并不是连续的、平滑笔直的,而是经常中断、分叉和打折的。这些断点、分叉点和转折点就称为“特征点”,如图2-4所示。就是这些特征点提供了指纹唯一性的确认信息,指纹的细节特征点主要是节点。
指纹上的节点有四种不同特性:
① 分类:节点有以下几种类型,最典型的是端点和分叉点,见表2-1。
端 点:一条纹路在此终结
分叉点:一条纹路在此分开成为两条或更多的纹路
分歧点:两条平行的纹路在此分开
孤立点:一条特别短的纹路,以至于成为一点
环 点:一条纹路分开成为两条之后,立即又合并成为一条,这样形成的一个小环称为环点
短 纹:一段较短但不至于成为一点的纹路
表2-1 各类特征点出现概率情况
类型特征 端点 分叉点 分歧点 短纹 孤立点 环点
出现概率 60.6% 22.6% 6.1% 5.7% 4.3% 0.7%
② 方向:节点可以朝着一定的方向。
③ 曲率:描述纹路方向改变的速度。
④ 位置:节点的位置通过坐标来描述,可以是绝对的,也可以是相对于三角点或特征点的。
指纹的细节特征是人工识别与计算机自动识别所依赖的主要根据。在指纹领域知识的支持下实现从指纹原始图像到其特征表示的映射,是指纹识别系统实现的重点。然而在实际中,受各种因素的影响,采集到的指纹图像不能保证都很清晰,图像中可能出现纹线粘连、纹线断裂或对比度不均匀等情形。在这种情况下很难从图像中正确地分离出指纹纹线,导致指纹特征的可靠提取变得非常困难。造成指纹图像质量差的主要原因有[6]:
(1) 手指表面与采集设备表面的非均匀接触;
(2) 采集设备本身性能的原因;
(3) 指纹本身的原因,统计结果表明,大约有 4%的人其指纹天生就不好。另外,老人的手指上通常存在很多折皱,皮肤病患者的手指上有很多翘皮,体力劳动者的手指上存在老茧且经常会产生划痕。
指纹纹线模糊对指纹局部特征提取的影响尤为严重。当指纹图像质量较差时,作为指纹匹配关键环节的细节点特征提取过程可能会产生以下错误:
(1) 产生大量虚假细节点;
(2) 遗漏真实细节点;
(3) 细节点位置和方向存在误差;
(4) 细节点类型错误。
基于错误的细节点显然很难达到较高的指纹匹配精度。为了保证可靠地提取出指纹特征,为指纹识别提供更加可靠的依据,一方面需要研究对指纹图像质量具有鲁棒性的指纹特征提取方法,另一方面应该从提高指纹图像的质量入手。要获得质量较好的指纹图像,首先应该提高指纹采集设备的性能,其次是依靠用户在采集指纹时的配合,最后是对指纹图像进行预处理。
2.3 指纹图像预处理
在指纹识别系统中,指纹图像的预处理是非常重要的一部分,它关系到后期指纹特征提取和匹配的效果[7-14]。在传统的指纹识别系统中预处理主要采用方向滤波方法来改善指纹图像质量,预处理一般包括图像增强、方向图求取、二值化、细化等几个主要步骤。图像增强的目的是去除噪声,同时增强指纹图像的脊和谷之间的对比度。通常采用平滑滤波、锐化、灰度修正等手段。二值化是把指纹灰度图像转换为黑白二值图像,细化则是把二值化后的指纹图像的纹线转变为只有一个像素宽的细化图,以便于特征提取。实际应用中可根据需要,选择合适的预处理方法,为图像特征提取提供质量较好的预处理图像,使之尽量减少因图像噪声引起的伪特征的数目。
图像预处理是一项相对耗时的工作,一幅 像素的图像有90,000个像素,对每个像素进行若干次乘法和加法操作,这样需要很大的时间开支。如果在预处理环节上采用过于简化的处理方法,以期望达到快速匹配,往往得不偿失。因此为了提高整个系统的性能指标,必须选择合适的预处理。下面就预处理技术进一步进行说明。
2.3.1 指纹图像增强
数字图像处理中一些通用的图像增强方法如均值滤波、低通滤波、边缘增强等对指纹图像的增强效果不理想,这是因为这些方法主要针对图像中的随机噪声,而模糊指纹图像中的指纹纹线缺陷属于结构性噪声。理想的指纹图像由脊线和谷线交替构成,脊线和谷线粗细均匀,除了在细节点、奇异点等区域出现不规则形状外,在大部分区域,脊线之间和谷线之间互相平行,且呈现连续的、方向平缓变化的曲线形态。当指纹图像质量较差时,指纹纹线不再具有上述形状。然而对质量较差的指纹图像,指纹专家仍然能定位出其中的细节点和判断指纹的类型,这是因为他们在观察时依据了一些重要的视觉线索,如局部纹线方向、纹线的连续性、纹线的走势等等,这些特性反映了指纹纹线的结构。受此启发,人们利用这些视觉线索设计出很多专门针对指纹的图像增强方法。
有些指纹增强算法对细化指纹图像进行增[15-19],有些方法采用直接纹线分割来实现指纹增强[20,21],还有一种做法是在原始灰度图像上进行指纹增强[22-29]。在原始灰度图像上进行指纹增强的方法是依据局部纹线的两个重要特性:纹线方向和纹线频率,采用具有方向和频率选择特性的低通滤波器进行指纹增强处理。与基于细化纹线增强和纹线分割方法相比,这类方法具有较好的效果。采用这种思想的方法有:
(1) O’Gorman等人采用滤波器掩码在空间域进行滤波[22];
(2) Sherlock等人利用Butterworth带通滤波器和一种角度选择滤波器的组合来构造滤波器[23];
(3) Hong等人采用Gabor滤波器在空间域进行滤波[24];
(4) Kamei等人滤波处理也是在频域进行,滤波器形式上为两个高斯带通滤波器的乘积,它们分别对方向和频率进行选择[29];
本文直接在灰度图上采用常用的图像增强算法——Gabor滤波法。Gabor滤波器是一种带通滤波器,它具有良好的方向和频率选择特性[24,26,30],其在空间域的表达式为:
(2-1)
其中:
(2-2)
(2-3)
Gabor 滤波器的四个参数: 、 、 、 ,分别决定了滤波器频域通带的中心方向、中心频率、频率通带大小和方向通带大小。本文通过大量试验效果的比较,当Gabor 滤波器掩码的 及 均取3.9时,运算速度和处理效果达到比较理想的状态,把 代入式(2-1)式后,大大简化了 Gabor 滤波公式,滤波增强时间降为原来的70%左右,增强效果如图2-5所示。
2.3.2 方向图计算
方向图的概念最初是由Graseli提出的,他指出除奇异区外,指纹纹线排列一般是平行的,且方向变化平缓,因而指纹数据间存在着大量的信息冗余。根据这个特性,可将指纹图像划分为一个个独立的、互不重叠的子块,每个子块用一个方向码来表示,这个方向码对应于这个子块中的纹线的主要方向。由这些方向码组成的图就叫做方向图。用指纹方向图来表示指纹原灰度图像,不仅可以保留它的整体结构信息,而且可以大大降低数据的冗余。方向图的求取是许多自动指纹识别系统中一个不可缺少的环节和步骤。
方向图代表了指纹图像中纹线的走向,它在指纹图像分析中起着很重要的作用,如指导方向滤波或指导二值化。方向图分为两种:一种是点方向图,表示源指纹图像中每一点脊线的方向;另一种是块方向图,表示源指纹图像中每一块脊线的大致方向。目前从灰度图中获取方向图的原理都大体相同,其基本原理是:在原灰度图像中计算每一点(块)在各个方向上的某个统计量(如灰度差、梯度等),根据这些统计量在各个方向上的差异,确定该点(块)的方向。针对每个像素得到的方向则形成点方向图。为了保持点方向的有效性和使用方便,对点方向在一小块内聚类则得到块方向图。
计算指纹方向图的方法有很多,如Mehtre等[31,32]、O' Gorman等[22]、Sherlock等[23]基于方向灰度差分分析的方法;Tojo等[33]基于方向微模板分析的方法;Wilson等[34]基于傅立叶频谱分析的方法。这些方法的缺点是往往只能得到有限数目的方向,如 8个方向、16个方向等,因此精度较低。Bazen、Kass等[35,36]提出了基于梯度分析的求方向图方法,能够得到任意精度的方向值,具有较好的效果,因此被很多指纹处理算法采用,本文所使用的即为该方法。具体就求指纹方向图的算法描述如下:
① 将指纹图像划分为不重叠的大小为 的块。
② 计算其每一像素点的一阶偏导数,根据计算需要,一阶偏导算子可以选简单的sobel算子。选择一阶偏导算子越复杂,求导结果越精确,计算得到的方向信息也越准确,同时算法越耗时。如使用模版尺寸为 水平模版和垂直模版的sobel算子为:
和
将原始指纹图像分别与两模板进行离散卷积,即可求得一阶偏导 、 。经实验证明,使用sobel算子足以满足实际需要。
③ 计算每块图像的方向信息,如下式所示:
(2-4)
(2- (2-6)
2.3.3 二值化处理
(1) 二值化
指纹图像二值化即脊线提取,将脊线和谷线分别变为黑白两色,这样不仅可以大大减少存储量,而且可使指纹特征信息更为清晰,使后面判断过程少受干扰。而一般二值化技术通过设定阈值,把增强后的指纹图像变为二值图像。
二值化的方法很多,算法的关键在于阈值的选取。阈值可以分为三类:全局阈值、局部阈值和动态阈值[37]。全局阈值法算法简单,但要有图像的先验知识,有一定的局限性,对于残缺或灰度不均匀的指纹图像,容易产生断线。局部阈值法是利用全局阈值算法的思想,将图像分成若干个 子块,对于每一块选定一个阈值进行二值化。动态阈值算法是基于局部的阈值选取方法,这种方法充分考虑到了图像的不均匀性,由于图像在某一区域的像素灰度值具有高度相关,对指纹图像进行分块后,能根据图像灰度自动选择合适的阈值,该方法比全局阈值法更为精确,又比局部阈值法简单。
本文采用的就是一种迭代求图像最佳分割动态阈值的算法,达到比较好的效果,如图2-6,方法具体描述如下:
① 求出图像最小和最大灰度值 和 ;
② 令阈值初值为 ;
③ 根据阈值 将图像分割成目标和背景两部分,求出两部分的平均灰度值 和 ,再求新阈值 ;
④ 如果 ,则算法结束,否则 ,转向步骤③。
(2) 二值化后的去噪
指纹图像经过二值化后,由于量化等原因,纹线边缘凹凸不齐或画面出现离散点。为使图像整洁,边缘光滑,需要进行修饰处理。用适当的模板可去除指纹谷线中的离散黑点和填补指纹脊线中的空缺白点。
2.3.4 细化处理
细化处理是指在指纹图像二值化以后,在不影响纹线连通性的基础上,删除纹线的边缘像素,直到纹线为单像素宽为止。理想细化后的纹线骨架应该是原始纹线的中间位置,并保持纹线的连接性、拓扑结构和细节特征。一种好的细化算法应该满足下列条件:收敛性、连接性、拓扑性、保持性、细化性、中轴性、快速性[38]。
细化算法的种类很多,按照细化顺序来看主要分为 3 类:串行细化、并行细化和混合细化[39,40]。快速细化算法(并行细化)和改进的OPTA算法(串行细化)是目前使用较多的两种细化算法。快速细化算法为 4 连通并行细化算法,其原理是判断出指纹纹线的边界点并逐步删除,该算法速度很快,但细化不彻底,细化后的纹线不是单像素宽。改进的OPTA算法原理是构造一定的消除模板和保留模板,将二值化后的指纹图像和模板比较,决定是否删除某点的像素值。这种算法能够基本保证单像素宽,但细化后会产生很多毛刺,且纹线的分叉点处并不是单像素宽度。如果不加处理,这些不足在以后特征提取的时候就会导致相当多的伪特征点出现,极大的影响指纹识别的准确性。本文采用王业琳等[41]提出的一种新的指纹图像细化算法。该算法在改进的OPTA算法的基础上增加了8个消除模板,改进了快速细化算法和改进的OPTA算法存在的不足,细化完全彻底,细化后的指纹骨架在纹线中心线,并且纹线光滑,毛刺较少,保证了以后特征提取以及识别的准确性。该方法细化效果如图2-7(c)所示。
2.4 指纹特征提取
本章第二节已经提到指纹存在两种特征,即全局特征和局部特征。全局特征用于指纹的分类,它指的是指纹中脊线的总体走向,局部特征是指指纹图中的细节特征,指纹的唯一性并不是基于它的全局特征。具有同一全局特征的指纹可以有无数多个,但不同的指纹其局部特征是各不相同的。
指纹图像的特征点主要是由指纹图像中的指纹脊线的端点和分叉点构成,特征提取是将这些端点和分叉点的位置(坐标)、类型和方向等信息存储为一个特征文件,也叫特征模板, 如图2-8所示。
在细化后的图像里总是会有一些无关的细节点出现,这主要是因为原始图像中的噪声或在平滑滤波和细化过程中人为引入的噪声所引起的。这些无关细节点可以通过经验阈值来去除。例如,比较接近两个端点,如果它们的方向是相反的,则也可以把这两个端点连接起来,这是因为,它们可能本来是一条脊线上的,只是由于噪声或采集时手指太干等原因造成了脊线断裂。特征点及其方向就能很好地描述指纹,因此在预处理阶段算得的指纹方向为指纹匹配提供了强有力的特征信息。
2.5 指纹特征匹配
指纹匹配一般是基于指纹的特征点,一般来说,通过采集仪获得的指纹图像含有30~50个细节点,只要有13个以上的细节点相符就认为这两幅指纹是同一指纹。虽然不同时期手指的湿度、灰尘影响着指纹图像的质量,但使匹配最为困难的是手指在按压过程中指纹图像产生的非线性形变,主要是在录入时指纹的按压存在或多或少的位置偏差、旋转偏差以及由于按压力度的不同产生的角度偏差。基于以上原因,D.K.Isenor提出了一种使用图形匹配算法[42],A.K.Jain等人提出了一种基于串比对的方法[43],Z.Chen等人则提出一种基于拓扑结构的算法来实现匹配[44], N.K.Ratha等提出了基于局部相似性的匹配算法[45],这些方法受指纹变形的影响很大,所以如何能够找到一种适合各种形变质量指纹的有效匹配算法,是该项目研究的重点和难点。
本文所使用的匹配方法是利用指纹的方向编码的信息进行指纹的旋转对齐和匹配,这种方法称作旋转不变匹配[46],该算法的思想是:
(1) 构建模板和子图像的方向编码直方图,并对所有可能的方向计算 2个直方图的相似度,相似度最大的被认为是匹配的最佳位置,计算最佳位置的不相似度D1;
(2) 在上述最佳位置对二者进行匹配,然后,用旋转模板计算匹配不相似度 D2,最后,综合D1和D2来选择最优者。
这种方法首先对待识别的两幅图像进行定位,克服了待识别指纹图像在采集时相对于注册的指纹图像所产生的旋转、伸缩等的畸变,然后再对两幅图像中提取出的细节特征进行比对,提高了匹配的准确性。
2.6 性能评价
指纹识别系统性能的重要指标是拒识率 (FRR)和误识率(FAR)。误识率是指将冒充者识别为真正的生物特征拥有者;拒识率是指生物特征拥有者被系统拒绝。对于理想的系统来说,这两个错误率都应该是零。但实际中,这两个指标是相关的,当拒识率比较低时,误识率会比较高,反之亦然。系统往往需要在两个错误率之间取一个折中。在确定阈值时,应根据具体应用进行考虑。在刑事应用中,需要把可能的嫌疑人都找出来,应尽量减小拒识率,所以误识率非常大;而对于高度保密应用场合来说,误接受造成的损失非常大,因此要求误识率很低[47]。另外,识别速度也是一个重要度量标准。
从理论上来说,采用拒识率FRR、误识率FAR、识别速度这三个度量标准,对于评估一般的自动指纹识别系统性能指标己经足够了。实际上,这几个参数都是从具体的测试数据集中得出来的,并不一定对其它的指纹数据库也适用。市场上指纹公司给出的指纹算法性能指标是没有什么说服力的,不同公司的系统性能也没有可比性。对于指纹产业界来说,无论是国内还是国外,至今仍然没有一套公认的测试标准和测试数据库,这和指纹产业迅速发展的状况是很不适应的。因此,寻找一种合理的评价标准对于自动指纹识别系统的实际推广是必要的。国际上已经成立了一个生物统计学论坛,致力于研究一种独立的评估系统,用来评测身份识别系统的性能。
2.7 本章小结
本章在阅读大量文献资料的基础上,总结了指纹图像预处理、特征提取、特征匹配常用的算法,对这些算法效果进行了深入地分析,并在前人工作的基础上,根据仿真实验效果完成本文的算法设计。文中采用Gabor 滤波器进行图像的增强,经过大量实验获取精确的频率和方向带通常量,简化了公式,大大缩短了滤波增强的时间;二值化处理本文采用的就是一种迭代求图像最佳分割动态阈值的算法,该算法处理的图像比较清晰、边缘光滑;细化算法是在改进的OPTA算法的基础上将删除模板由8个增加到16个,使得细化更加彻底,减少毛刺。本章最后提出指纹识别系统的性能评价标准,为软硬件设计时系统性能的提高提供了依据。
第三章 系统设计方案
3.1 嵌入式指纹识别系统概况
发展比较成熟的指纹识别系统大多基于PC机,但是这类识别系统造价高、系统复杂、体积庞大,只能适用于固定场所。近年来,随着嵌入式技术的发展,指纹识别技术的研究再次掀起高潮。指纹识别系统的嵌入式实现方式主要有采用高性能的DSP(如TI公司的TMS320VC5000)、ARM(如基于ARM体系结构的Interl PXA255)、基于单片机(如C8051F124)以及FPGA的NiosII核。性能卓越的嵌入式处理器构建的指纹识别系统,不仅降低了系统成本,而且大大提高了系统速度。
基于ARM的指纹识别系统,把通讯和识别算法都集中在RAM芯片上实现,程序代码和数据都将比较庞大,因此内存的分配很大程度上会影响匹配的速度[48]。基于单片机识别系统由于硬件条件的限制,在运行速度、处理能力、外围电路等方面都不是很理想。基于FPGA的NiosII核的指纹识别系统造价较高,目前系统功能的稳定性还不够理想,不适宜进行市场推广[49]。而DSP(Digital Signal Pocessor)由于其很强的数学计算能力以及特有的实时性和快速实现等特点,在指纹识别系统方面应用非常普遍。
3.2 需求分析
由于我们开发的是嵌入式指纹识别系统的原型系统,所选用的指纹传感器、DSP以及其它元器件都需要满足低功耗、体积小、便携等特点。因此指纹识别系统的设计应遵循:
1、在指纹匹配之前,需要建立用户指纹模板库。这就要求系统具有良好的存储系统,随时可以将指纹模板的数据固化在系统中;
2、在实际应用过程中,指纹识别系统应用场所大部分为户外,这使得系统对电源的要求比较高。尽量减少电能的消耗,延长使用时间对于其实际应用具有很大的意义;
3、系统应具备对外通讯接口,使得用户能很方便地对它进行二次开发。通过指令的方式控制系统进行各项工作,如增加用户指纹模板,删除模板,采集图像,匹配等;
4、体积小、成本低是将嵌入式指纹识别系统集成到其他应用系统中的关键。
3.3 基于DSP的系统构成
本文根据嵌入式指纹识别系统的发展趋势以及实际需求,构建了一个由主控电路 ( DSP芯片和存储器)、输入通路 (指纹图像采集部分)、输出通路 (RS232、USB接口)、人机交互设备 (LED显示)、调试端口(JTAG )和电源管理及监控电路等六大部分综合而成的自动指纹识别系统硬件平台,实现了既可联机又可脱离计算机独立运行的自动指纹识别系统。系统采用具有强大信号处理能力的高速DSP处理器为核心的模块实现指纹采集、预处理和特征提取比对以及保存;指纹采集模块采用滑动式指纹传感器,这类传感器半导体场效应像素阵列的面积比常规指纹传感器小很多倍,具有体积小、成本低、功耗低等特点;本文原始指纹图像约为50K bytes,对指纹图像进行特征提取后,每幅指纹的特征值所占存储空间为512 bits,所有的特征值存储在外部扩展的FLASH中,本系统设计整体结构框架如图3-1所示。
图3-1 基于DSP的指纹识别系统结构图
对于以DSP为核心的指纹采集系统硬件主要由电源部分、时钟部分、电压监测部分、存储部分、指纹传感器部分、通讯部分六部分组成。软件设计主要包括:系统初始化程序、图像算法方面的软件设计和指纹管理方面的软件设计。其中大部分软件编程是基于DSP平台完成的,后面章节将就各个部分内容进行详细地讨论。
3.4 DSP芯片
3.4.1 DSP芯片选型
目前市场上,生产DSP的厂商众多,有 TI、LUCENT、MOTOROLA、AD、AT&T等。每个商家的产品又有很多型号,如 TI就有TMS320C2000、C5000、C6000等几大系列。DSP器件的选择,取决于应用的目的与场合。在某种应用中很好的选择,在其他情况下可能就比较差。一般应考虑以下因素:
1.运行速度
2.功耗
3.成本
4.硬件资源
5.数据类型
6.软件和硬件开发工具
7.供货与售后服务
综合以上内容,以及本文所开发的指纹系统的设计需要:对大量的图像数据进行处理,并要应用于便携式产品,对电源的要求十分严格,为了延长它的工作时间,在选用器件的时候尽量选用低功耗的产品。在这里我们采用TI公司生产的TMS320VC5509(以下简称C5509)。TI新推出TMS320C55x系列产品将省电、低功耗提高到一个新的水平:300 的C55x和120 的C54x相比,性能提高5倍,而功耗则将至1/6,C55x的内核电压降到了1V,而功耗降到0.05 。C55x DSP最成功之处就在于它的节能技术,无论是外围装置、存储器或是内核功能单元,只要是处于闲置状态,系统就会自动关断电源,这可以将电力消耗降到最低。随着C55x 的推出和应用开发的逐步深入,其优良的性能将在实时性和低功耗方面得到充分体现,C55x 正成为通信和个人消费领域的主流DSP产品[50]。
TMS320C55x是在TMS320C54x的基础上发展而来,但是在结构上做了相当大的扩展,我们以C5509与C5402为例,对C55X和C54x进行比较如表3-1所示。
表3-1 C5509与C5402的结构比较
TMS320VC5509 TMS320VC5402
乘加单元(MAC) 2 1
累加器 4 2
数据读总线 3 2
数据写总线 2 1
程序读取总线 1(32位) 1(16位)
地址总线 6 4
程序字长 8/16/24/32/40/48位 16位
数据字长 16位 16位
辅助寄存器算术逻辑单元 3(24位) 2(16位)
算术逻辑单元(ALU) 2(40位和16位) 1(40位)
辅助寄存器 8 8
存储空间 独立的数据/程序空间 统一的程序/数据空间
数据寄存器 4 0
作为TI公司低功耗的55X系列的DSP芯片,C5509在便携式产品的应用中具有很大的优势。它强大的计算能力足以处理一般的图像和语音信号处理,相对于市场上其它的产品,它在节能,高速处理等方面具有明显的竞争力。
3.4.2 TMS320VC5509的结构性能
不同的DSP芯片所提供的硬件资源是不相同的。即使是同一系列的DSP芯片,也具有不同的内部硬件资源。
C5509包含2个MAC单元和4个40位加法器,能够在单周期内做两个 位的MAC运算。128K*16位的片上RAM,其中包括64K字节的双寻址RAM (DARAM,由8块4K* 16位的RAM组成)和192字节的单寻址RAM (SDRAM,由24块4K* 16位的RAM组成);6K字节的一个等待周期的片上ROM(32K* 16);8M* 16位的可寻址的外部可寻址空间。
C5509是高性能、低功耗的定点数字处理器,采用先进的修正哈佛结构和8条总线结构,使处理器的性能大大提高,在 1.6 ,144 下单周期的执行时间为6.94 。
C5509同其它DSP芯片一样由3个主要部分组成:CPU、存储空间、片内外设。
C5509支持统一的内存编制,程序和数据空间处于相同的物理空间。其空间可达320K的片上双通道RAM(包括128K的16位RAM和32K的16位ROM空间),如图3-3
双口RAM(DARAM)
定义在000000h-00FFFFh,由8个8K的子块组成。每个DARAM块每个周期执行两次读写或者一次读一次写。可以通过程序、数据或者MDA总线对DARAM进行读取,而HPI可对前32K的DARAM块进行操作。
单口RAM(SARAM)
定义在010000h-03FFFFh,由24块8K字节组成。每个SARAM块每个周期执行一次存取动作,可以通过程序、数据、DMA总线对其操作。
片上只读存储器(ROM)
定义在FF0000h-FFFFFFh之间。它由一个32K字节的块和两个16K的块组成。可以通过软件将该地址映射到外部存储器或内部的ROM中,在FFC000-FFFFFF能被设成保留部分。标准的C5509的装置在ROM中驻留了Bootloader程序。
Secure ROM
64K的ROM中有16K的保留ROM在复位时被映射到存储空间。如果将SROM的保留寄存器0x7c00的禁止位置1,则16K的SROM不会被映射到存储空间内。ROM块是不可编程的,它只能被用来加载程序。
存储器映射
C5509总共可以提供16M字节存储空间,其结构如图3-3所示,由片上的RAM、ROM和外部存储空间组成。片上,双存取的RAM允许一个周期可以进行两次块操作。C5509支持8个8K字节的DARAM,24个8K的SARAM,其余的内存映射空间被分为4个部分,每一个空间由一个使能的译码信号CE#,表示对所选的空间进行数据读取操作。
DSP的片内外设完成的主要功能包括采集原始数据、输出处理结果、控制其它设备等。C5509的主要片内外设如下[51]:
① ADC数据转换器;
② 可编程数字锁相环时钟发生器(DPLL);
③ 指令缓存(Instruction Cache);
④ 外部存储器接口(EMIF);
⑤ 接存储器访问控制器(DMA);
⑥ 集成了McBSPs串口;
⑦ 增强型主机接口(EHPI);
⑧ 2个16位的通用计时器;
⑨ 8个可以配置的通用I/O引脚(GPIO);
⑩ FIFO寄存器、两个 20位的定时器、看门狗定时器、1个通用的输出端口XF。
3.5 引导方式
(1) 程序加载方式的设置
片上的加载程序提供了以下几种程序加载方式:HPI方式一外部;16位异步程序加载方式(EMIF);串口8位或16位的加载方式;串行EPROM的16位或者24位的引导方式;USB引导方式。
以上加载模式可分为两类:由DSP控制的加载模式和由外部主机控制的加载模式。并行外部寄存器(EMIF)加载、标准串口加载以及串行外设接口(SPI)加载都是由DSP控制的加载模式。通用I/O引脚的电平设置决定了引导方式,如表3-2所示。
GPIO0 GPIO1 GPIO2 GPIO3 引导模式
0 0 0 0 保留
0 0 0 1 串行(SPI)24位地址EPROM引导
0 0 1 0 USB
0 0 1 1 保留
0 1 0 0 保留
0 1 0 1 HPI-复式引导模式
0 1 1 0 HPI-非复式引导模式
0 1 1 1 保留
1 0 0 0 在CEI空间开始执行
1 0 0 1 串行(SPI)16位地址EPROM引导
1 0 1 0 保留
1 0 1 1 在CEI空间16位异步存储引导
1 1 0 0 保留
1 1 0 1 保留
1 1 1 0 在McBSP0标准的串行引导(16位)
1 1 1 1 在McBSP0标准的串行引导(8位)
3-2 系统引导方式设置表
表
(2) 引导过程
GPIO0、GPIO1、GPIO2、GPIO3四个引脚在处理器上电初始化时候的状态决定了C5509采取什么样的引导方式。在引导的过程中,C5509将固化在外部存储器上的程序代码导入片内的RAM中,使得程序能快速地运行。
3.6 本章小结
本章将各种嵌入式指纹识别系统的性能进行了比较,对我们所要开发的嵌入式指纹识别系统的原型系统进行分析,依据系统的便携和省电的实际需求,确定了以DSP芯片为核心的指纹识别系统框架结构,实现一个既可联机又可脱离计算机独立运行的自动指纹识别系统。在DSP的选型上,由于TI公司生产的C5509在实时性和低功耗方面具有非常明显的优势,正成为通信和个人消费领域的主流DSP产品之一,最后详述了DSP芯片的结构特性和程序加载方式,为后面的系统设计做好铺垫。
第四章 滑动式指纹传感器与图像重组算法
4.1 指纹传感器概述
4.1.1 活体指纹传感器
活体指纹采集最重要的部分是前端的传感单元,这是指纹图像形成的重要部分。由于指纹采集的应用场合不同,所需要的指纹识别系统的性能也不尽相同,应该针对不同的应用环境,选择合适的指纹传感器,以达到好的识别效果。目前市场上指纹传感器根据不同的成像原理,大致有光学式、半导体式和超声波式三种类型。
(1)光学采集器
光学衰减全内反射技术(FTIR)是最早使用的活体采集技术。手指触碰玻璃棱镜的顶部,当脊线与棱镜表面接触时,谷线却保持一定的缝隙,用散光从棱镜的左边照射,照射进来的光线在谷线部位被反射,而脊线部位却吸收了,反射回来的光线通过透镜聚焦CCD上,这种反射的差别就很容易分辨脊线和谷线。但是光学指纹采集设备存在诸多不足之处,主要表现在以下四个方面:首先,用塑胶假手指,能够在光学传感器上得到与真手指非常相近的指纹图像,因此,必须开发新的技术来增强传统光学传感器分辨真伪的能力;其次,光学传感器一般体积都比较大,而且成本较高,这样就对应用的范围提出了限制;最后,手指在台板上按完后留下的潜在指印严重时会导致两个指印的重叠。另外台板上的涂层(膜)和CCD阵列随着时间的推移会有损耗,精确度会降低。近年来光学指纹采集家族中新出现的红外线指纹传感器采用对指纹的真皮层反射,能够较好地区分手指的真假。但是其设备尺寸大,成本高,不适合应用于嵌入式的便携式产品[52]。
(2)半导体采集器
半导体传感器是1998年在市场上才出现的,这些含有微型晶体的平面通过多种技术来绘制指纹图像。晶体采集器的传感单元都排列着像素,每个像素是一个微小的感应元素。用户把手指按压在传感单元表面后直接把指纹信息转换成电子信号,不需要光学装置也不需要任何外部 CCD。根据电压产生原理的不同,主要分为以下四类:电容型,电场型,热量型和压电型采集器。
① 硅电容性采集器是当今最为常用的。在半导体金属阵列上能结合大约100000个电容传感器,其外面是绝缘的表面。传感单元中电容的一极呈二维排列,每个微电容的另一级就是手指皮肤。当手指置于传感器上时,在手指和电容器之间产生电荷,电荷的大小与手指表面和电容器极性之间的距离有关。采集器利用此原理敏感地感应脊线与谷线之间电荷的不同。硅电容性采集器和光学采集器一样需要
三维的手指输入,这样不容易被指纹图片欺骗。这种采集器的关键部位是感应面,硅晶体芯片需要被保护防止手指汗液中化学物质的侵扰。但是太厚的表面,脊线与谷线间的差别降低,导致感应单元的不敏感性。特别是在手指条件比较差的情况下,谷线的深度只有微米级,所以保护层在保证可以抵制外界磨损的情况下,要尽可能的薄一些。另外,还应考虑从手指带来的静电对传感器的损坏作用。因此,一些合适的保护措施应该被运用,防止静电、化学侵蚀、物理刮伤等。该类型采集器的优点是可以改变电子参数,在手指条件差的情况下也能获取不错的指纹图像。
② 压电型传感器的设计原理是根据压力大小产生不同的电信号。该表面用一种不传导的介电材料做成,当有来自手指压力时产生微弱的电流信号。电流的大小与压力的大小有关,脊线与谷线的压力是不同的。不理想的是,这些材料对压力不十分敏感,且保护层可能损坏指纹图片。另外,这种传感器只能得到二值图像,信息量较小。
③ 热量型采集器中有一种化学物质可以根据温度的不同产生不同的电流,指纹的脊线因为与传感器表面相接触可以产生与远离表面的谷线不同的温度。应用中利用电加热保持传感器表面较高的温度,增加表面和手指的温度差。当手指触碰感应器表面,温度差形成指纹图像,但是当温度达到平衡后,图像会很快消失。
④ 电场型采集器包括一个能够产生正弦信号驱动环和一个能够接受由驱动环传递、手指皮肤调制的微弱信号的接收器矩阵。采集时,手指必须同时触碰传感单元和驱动环。为了得到指纹图像,矩阵中每个单元的模拟信号被增强、合并、数字化。
(3)超声波采集器
超声波采集原理是基于发送声学信号并捕捉回声信号,回声被用来计算指纹的行列图像和脊线结构。采集器有两个主要部件:发射机——产生短声波脉冲;接收器——接受从指纹返回的声波信号。这种方法可以忽略污渍、油脂带来的干扰,获取到较好的指纹图像。然而因为采集器体积较大,价格昂贵,另外采集图像费时,基本还处于实验室阶段。
随着手机、掌上电脑以及笔记本电脑等手持电子设备的不断发展和普及,同时人们对电子商务安全和个人信息安全也越来越重视,以功耗低、体积小为优势的半导体指纹传感器的市场需求量将会不断增加。
4.1.2 指纹输入方法
指纹输入方法有两种:触碰法和扫描法。当今流行的采集器大多使用触碰法:手指简单置于采集器表面,不需要移动手指,等待采集器的采集。该方法优点是操作简单,低龄用户经过训练也能使用,其缺点为:
(1) 手指移开后,可能在传感器上留下指纹印痕;
(2) 指纹的旋转带来识别的问题,有些算方法不支持指纹的旋转;
(3) 价格和感应区尺寸的折中问题。
指纹输入的另一种方法是扫描法。手指置于感应区,慢慢移动手指等待采集器输入指纹图像,并从众多图像切片中进行指纹图像重构。使用这种技术可以减少感应区尺寸,价格会大大降低。半导体传感器的制造成本主要集中在传感器的半导体场效应像素阵列上,要想有效的降低半导体指纹传感器的成本就要想办法减少半导体场效应像素阵列的面积。滑动式指纹传感器正是实现这一目标的途径,它的有效场效应像素阵列面积约占手指指尖部分的1/5。本文采用的就是基于扫描输入法的指纹传感器LTT-SS500,是台湾Ligh Tuning公司生产的新型滑动式硅电容场效应阵列指纹传感器。
4.2 滑动式指纹传感器LTT-SS500的结构特性
LTT-SS500是台湾祥群科技科技有限公司(Ligh Tuning)生产的一款专为嵌入式系统设计的高性能、低功耗的滑动式指纹传感器,可以很方便地集成到各种 Internet设备,如:便携式电脑、PDA、移动电话等。
LTT-SS500芯片主要技术参数可归纳为:
封装:18个引脚
扫描区面积:9.6 *0.8
传感器阵列:192*16
分辨率:500
256个灰度级
集成了8位的模数转换器
工作电压:2.7 -3.6
正常工作电流:3.6
闲置状态电流:小于0.2
帧速率:小于400
LTT-SS500芯片主要应用领域:
计算机外围设备:如鼠标、键盘
移动设备:如PDA、手机
需要身份认证的电子商务系统
4.3 指纹传感器LTT-SS500的电路设计
4.3.1 LTT-SS500指纹传感器工作原理
LTT-SS500传感阵列为192*16或者192*8两种,其成像原理与其他电容式硅晶体指纹传感器一样,传感器单元检测到金属板和手指之间电容并将电容转换电压。由每个传感单元所产生的电压,依次输出到电压放大器。放大器放大电压以增加灵敏度。然后嵌入的模数转换器将放大的电压转化成8位数字信号。
有4个8位的控制指令,这些指令由SCK和SDA来设置。控制逻辑产生控制信号,CLK是系统时钟,CLK最高频率为15 。
LTT-SS500有两个接口方式:普通模式和SPI模式。其结构框图如下图4-1和4-2所示:
(1) 普通模式
在普通模式下,指纹传感器和相关的设备(如ADC和AMP)始终处于通电状态。接触的传感器是活跃。LTT-SS500会感知图像并每12个时钟周期传递一个像素数据。信息传输期间,F_SYNC代表帧的开始,P_SYNC表示开始新的像素。如果在此模式下RST设置为“logic 0”, LTT-SS500停止传输并进入闲置模式。
(2) 闲置模式
处于闲置模式时,LTT-SS500的功耗最低。当RST设置为“logic 0”时, LTT-SS500进入此模式。在此模式下,LTT-SS500所有模拟器件和逻辑控制器处于电源关闭状态。只有串行控制接口是处于电源接通状态的。当闲置模式转为普通模式或通信状态时,用户必须重新进行指令设置。
图像增益控制
LTT-SS500有内部的PGA (Program Gain Amp),可以用来调整图像增益。放大器增益从1到4.5,用户可以0.5的步长调整设置。放大器增益调整适当能够提高指纹图像的质量。
A/D转换器
LTT-SS500指纹传感器内置8位模数转换器(ADC),ADC每12个时钟周期输出一个像素,转换速率可以达到1.25 。ADC的最高参考电压(VRT)和最低参考电压(VRB)分别取决于VT[4:0]和VB[3:0]的设置。VRT的取值范围是1.2 -2.75 ,VRB的取值范围0.8 -1.55 ,调节步长都是0.05 ,VRB必须始终比VRT的值低,如果ADC的输出电压高于VRT,输出为255,如果ADC的输出电压低于VRB,输出0。因此,适当的VRT和VRB取值可以大幅度提高图像的质量。
串行控制接口
串行控制接口与外部控制器进行通信。用户可通过串行控制接口对指令赋值。首先,外部控制器必需产生一个启动信号来引导外部通信。在启动状态下,从SDA转变成“logic 0”到SCK转变成“logic 0”至少需要4个时钟周期。启动后,控制器需发送7位串行地址,来决定写入哪个指令。第8位需设定为0用于写数据。9-16位串行数据,用来存放指令。串行地址和数据的第一位是MSB,最后一位是LSB。串行地址和数据传输完后,控制器需产生一个停止信号,使内部的通信结束。进入停止状态时,从SDA转变成“logic 1”到SCK转变成“logic 1”也至少需要4个时钟周期。
STFM(指令地址0h的第7位)设置为“Logic 0”,LTT-SS500进入指令设置状态,如果设置成“Logic 1”,LTT-SS500将进入普通模式。因为STFM是在指令地址0h的第7位,是指令的指令,所以指令0h必需是最后才设置的。 当“RET”初始化LTT-SS500后(如图4-3所示),LTT-SS500将再次进入指令设置状态。
LTT-SS500的数据是串行输出的,输出秩序,是由上到下,从左至右。 用户可以通过RWS (地址1h的第5位)的设置来选择传感器LTT-SS500的传感阵列是192*16或是192*8,如图4-4所示,当使用192*8传感阵列时,只有中间8行被扫描。
LTT-SS500输出时序图如图4-5所示,如果是普通类型的接口,图像垂直扫描,而所有像素是连续输出的。如果是SPI型的接口方式,会用到3个输出引脚:SCLK, MOSI和/SS。当有像素输出时,传感器LTT-SS500为主方,微处理器是从方,在SCLK的上升沿MOSI的值做一次改变,时序图如图4-5。
4.3.2 指纹采集模块的硬件设计
指纹采集模块的主要构成是C5509 DSP,滑动式传感器LTT-SS500,外部扩展Flash ROM SST25VF010三大部分。
另外,系统采用了SST公司的1Mbit SPI FLASH SST25VF010来进行外部存储器的扩展,用来存储指纹特征和程序代码,对于外部扩展的FLASH的选型和设计本文做了深入的分析,会在第五章做详细的说明,采集模块硬件电路如图4-6。
图4-6 C5509与LTT-SS500电路连接图
4.4 条状指纹图像重组算法的研究
TT-SS500由于它的高性能、低功耗、低价格、小尺寸,可以很方便地集成到各种Internet设备,如:便携式电脑、PDA、移动电话等,因此具有广泛的市场前景。但是它的缺点是滑动式硅电容传感器输出的是条状图像,不同条状图像之间会有重合或者会存在垂直于扫刮方向的位移,而真实的指纹图像是由相互没有重合的各个图像段组合而成的。因此得到的指纹图像在进行图像识别之前必须经过图像重组。滑动式传感器图像扫描示意图如图4-7所示。
然而图像重组会受到很多因素的影响,如传感器的场效应阵列面积,指纹图像输出的速度等。因此,如何得到没有失真的(或者说误差最小的)重组图像是指纹图像重组过程的难点。条状图像的重组算法就是将这些互相间重合的条状图像的重叠部分切除,并将不重叠的部分重新拼接组合成一幅完整的指纹图像。
4.4.1 重组算法基本原理
在指纹图像采集阶段,手指从条状传感器的表面刮过,传感器以全速模式将所采集的条状图像输出(LLT-SS500图像输出频率可达400 )。本文提出的图像重组算法主要是有效的判断扫刮过程中手指在扫刮方向上移动的距离和在垂直于扫刮方向上的左右偏移,并将扫刮方向上的重叠部分的条状指纹剔除,同时补偿扫刮过程中的左右偏移,从而确保得到不重叠、不失真的指纹重组图像。
本文我们使用的是传感器的中间部分进行指纹采集,即192*8传感器阵列,在手指自上而下的扫刮过程中,每0.0025秒输出1幅192*8的条状指纹图像,第1幅条状质指纹的第1行传感器的像素点采集到的图像经过1段时间会出现在第 幅条状指纹图像的第8行。因此,只需从原始条状图像中分离出每1帧图像中的第1行和第8行的原始数据组成数据流并进行匹配,即可判断出相应的数据流是否交叠。 就是我们在算法中要确定的数值。确定 后,只要将第1幅条状指纹图像与第 幅指纹图像的前7行进行拼接,然后用同样的方法,以第 图像的第1行为参考数据流与后续条状指纹图像进行匹配、拼接,即可得到没有重叠的完整的指纹图像。
P:参考像素点 M:中心像素点
L:左像素点 R:右像素点
图 4-8 传感器像素点分布
如图4-8所示,首先从第 1幅条状指纹图像中选择适量的像素点作为参考像素点 ,每个参考像素点 正下方第 8行对应着中心像素点 , 以及左右两边相邻的左、右像素点 、 用来判断沿扫刮方向的位移和左右的偏移。在扫刮过程中,手指的纹路必然先经过参考像素点 ,再经过中心像素点 ,从一个扫刮起点开始记录由每一帧输出图像的参考点数据组成的数据流 ,并与经过中心像素点,左、右像素点的数据流 、 、 进行匹配(如图4-9所示),判断出现最为匹配图像的时机 ,并将这时采集到的7行原始图像输出,剔除重合的那行图像得到没有重叠的指纹图像[53]。
图像重组时,先提取每一帧条状图像中定位点像素 ( 、 、 、 )的灰度值,组成离线数据流 、 、 、 。关于 与 、 、 进行匹配方法目前可以查到的相关文献非常少,尽管滑动式指纹传感器目前应用已比较多,学术界对指纹图像重组算法的研究并不多。常见的方法有一种基于变步长的滑动窗口技术,也是在四个数据流中寻找匹配的指纹灰度值。在匹配过程中需要选择滑动窗口匹配度参数λ,λ的选择应能尽量体现两个窗口相匹配的程度。这种基于变步长滑动窗口的技术是将两个窗口的傅立叶变换作为匹配度参数,这样匹配的精度较高,但是重组过程处理速度较慢,拼接成一幅完整指纹图像的时间平均约为16毫秒。本文提出一种基于距离判别法原理进行匹配运算,在同样设备条件下平均一幅图像的拼接时间可以降至12毫秒,该方法运算简单、便于实现,并且精度上也完全符合我们进行指纹图像特征提取的需要。
4.4.2 距离判别法原理
由向量序列的收敛性可知,当给定了 n 维向量空间 中的向量序列 , 其中 ,如果向量序列收敛于向量 ,则向量序列 一定收敛于向量 ;反之亦然。 的欧氏长度表示为:
(4-1)
若有一向量序列的欧氏长度收敛于零, 则它的每一个分量一定收敛于零,从而该向量序列收敛于零向量。
对于两个图像处理通道得到的数字图像存在着噪声、量化误差等随机因素的影响,所以即使实际上是相同的两行像素,其数值也不可能相等,但极限值应是相同的。当选中第一幅图像的若干行的灰度或变换作为特征向量, 求解其与第二幅图像可能相关部分对应行的向量或变换间的距离, 则最小值所对应的行即为重叠起始部分[54]。本文的应用是欧氏长度的最简单的情况 , 就是一个灰度常数。
4.4.3 距离法实现指纹图像重组的过程
(1) 参考特征向量 的建立:首先从第 幅条状指纹图像的第一行中选择适量的像素点作为参考像素点 组成参考向量 。 可以是原始图像中相邻的像素点也可以是等间隔的像素点。
(2) 待匹配特征向量 、 、 的建立:找出每个参考像素点 正下方第 8行对应着中心像素点 ,以及左右两边相邻的左、右像素点 、 ,用与 同样的方法得到 = 、 = 、 = , 、 、 与 有相同的像素选择间隔和像素总数。
(3) 依次求出第一幅条状指纹图像的 与 、 、 的欧氏距离,并求出距离最小值。例如求得 与 的欧氏距离最小,即 时找到了其匹配向量,说明 时 的带状指纹区域,在 =9/400 = 22.5 时已经由第1行移动到了第8行,并且在与扫刮垂直的方向上向右平移了1个像素的距离,即第1帧指纹原始图像与第9帧指纹原始图像的前7行没有交叠,并且是连续的指纹图像。第一次匹配完成,参考向量由 跳到 ,再进行下一次匹配,依此类推,将所有最为匹配时出现的原始带状图像经过适当的左右移动补偿,拼接到一起即可组成没有重叠、没有失真的指纹重组图像。
(4) 水平、垂直交叠区域的剔除,非重叠的区域的拼接。
本文提出的基于距离判别法的指纹图像重组算法,对常用的重组算法进行了改进,本算法原理简单,计算量小,提高了系统的运行速度。
4.5 两个重要参数指标的说明
(a) 条状指纹图像第1行和第8行适量像素点 的选取。 的取值很重要,当 的取值过大时,运算精度提高,但是计算量增加,匹配速度就会下降;当 取值过小时,匹配速度会,但是提高精度下降[55]。 的取值要根据工程实际情况确定,本文 取16。
(b) 手指最大扫刮速度 。通常来讲,要想能够辨析正常人体的指纹,就要求在宽度内能够分辨20条纹理,既指纹传感器最小应能够辨识50 的像素点,以达到500 的分辨率[56]。如使用传感器其中的八行 (其中一行做参考点使用,指纹图像输出频率可达400 ),由此可以得出系统允许的最大扫刮速度为 。
4.6 实验结果
所有图像采集存储完毕后利用高速的DSP处理器进行图像的重组,运用距离判别法求出 ,即以第 幅图像为参考图像与第 幅图像进行匹配,并比较得到 ,这时将第 幅图像的前7行图像输出与第 幅图像进行拼接,依次直到条状图像读取完毕,就可得到一幅完整的指纹图像,如图4-10所示。
值得注意的是,LTT-SS500传感区的宽为9. 6 ,小于一般人手指的宽度,因此采集的图像在宽度上是不完整的。从图4-10中可以看到,虽然重组图像引入一定形变,但这种形变是在手指生理弹性变化范围之内[57]。
4.7 本章小结
滑动式指纹传感器可大大减少半导体传感器阵列面积,有效地降低硬件制造成本,但是它的缺点是输出的是条状图像,不同条状图像之间会有重合或者会存在垂直于扫刮方向的位移。为此本章提出了一种适用于滑动式指纹传感器使用的条状指纹图像重组算法,该算法巧妙地利用了有限个像素点的信息,有效地判断手指在扫刮方向上的位移,以及在扫刮过程中的左右偏移,并能据此恢复出完整的没有任何交叠的指纹图像。该重组算法方法简单,便于实现,可以在一定的扫刮速度范围之内,有效地重组条状指纹图像,得到较高品质的复原图像,其精度完全可以供后继指纹特征提取,并能达到实时输出,因此有很高的实际应用价值
第五章 系统实现
5.1 系统硬件设计
本系统硬件由电源部分、时钟部分、电压监测部分、存储部分、指纹传感器部分、通讯部分六部分组成。其中电源管理芯片为TI公司推荐使用的TPS73HD301,输出3.3V 和1.6V两路电压,满足DSP、外部扩展FLASH、指纹传感器正常工作电压;在本系统中,DSP的时钟源是通过X2/CLKIN和X1管脚的16 MHz的石英晶振来产生,经倍频后产生CPU所需的144MHz内部时钟;电压监控电路选用AnalogicTech公司的AAT3522IGY-3.08-50-TI,该芯片的复位阈值为3.08V,自动上电复位。以上电源部分、时钟部分、电压监测部分三部分设计是DSP开发中常见通用的设计,本文不再赘述,指纹传感器与DSP的接口设计已在第四章详细介绍,下面对于核心部分的存储部分和通讯部分中USB接口进行详细介绍。
5.1.1 外部存储器扩展
(1) TMS320VC5509进行存储器扩展的必要性
C5509总共可以提供16M字节的存储空间,由片上的RAM,,ROM和外部存储空间组成。它支持8个8K字节的DARAM,24个8K的SARAM,其余的内存映射空间被分为4部分,每一个空间有一个使能的译码信号CE#,表示对所选的空间进行数据读取操作。C5509支持统一的内存编制,程序和数据空间处于相同的物理空间。其空间可达320K的片上双通道RAM,对于程序的运行是足够的,因此本系统外部RAM不再扩展。C5509芯片内部没有闪存之类的存储部分,而在系统上电复位时需要将所编写的程序加载到内部存储器上,以便将程序代码搬运到系统中运行。Flash Memory的主要特点是在不加电的情况下能长期保持存储的信息,本质上属于EEPROM(电可擦除只读存储器)。它既有ROM的特点,又有很高的存取速度,而且易于擦除和重写,功耗很小。所以采用了闪速存储器对系统进行存储器扩展。在本系统中Flash主要有两个作用:一是存放程序代码,上电以后,Flash中的程序代码被装入DSP内部RAM中,系统开始正常工作;另一个作用是存放指纹处理程序处理指纹后所获得的指纹特征值以及一些相关的记录数据等。
(2) 存储单元器件的选型
SST系列FLASH都是4根引脚,采用SPI接口方式,引脚数量大大减少,对DSP要求不高,只需要较少的地址线就可以完成数据的传输。其中SST25VF010在低功耗上又有了进一步的改进。FLASH功耗主要取决于工作电压、电流和操作时间,SST25VF010工作电压是 3.3V,在同样工作电压下,采用SUPERFLASH技术的SST25VF010的工作电流更低,并且擦除时间更短。因此,在写入和擦除操作时SST25VF010的功耗远低于其他任何FLASH存储技术。
SST25VF010容量为1Mbit,由于本文的FLASH主要是用来存放程序代码和指纹特征值,其中指纹特征值占用了大部分的存储空间,本文我们每幅指纹图像提取的特征值的存储量为512bit,容量为1Mbit的SST25VF010至少可以存储1000幅以上的指纹特征值,本文中这个容量是足够的。1Mbit的存储空间可以分成4块,每块32K字节。每块8扇区,每个扇区4K字节,可以整体一次性擦除,也可以每次擦除一块,或者一个扇区。
SST25VF010通过SPI总线来读写,SPI总线有4根控制线:片选CE#,,输入SI,输出SO,和时钟SCK。SST25VF010同时支持SPI总线操作的模式0(0,0)和模式3(1,1),这两个模式的区别在于当控制总线在停止模式或没有数据传输的时候时钟信号的不同,如图5-1。模式0时钟信号(SCK)为低电平,模式3时钟信号(SCK)为高电平。对这两种模式下,输入信号(SI)都是在时钟信号的上升沿采样,而输出SO是在时钟信号下降沿后开始传输
外部扩展FLASH SST25VF010与DSP的电路连接如图5-2所示。DSP和FLAS
H之间通过GPIO4口进行程序和数据的传输。
5.1.2 USB接口设计
本系统虽然设计了很大的存储空间,但容量毕竟有限。此外,作为一个指纹识别系统,也需要经常将系统内所存储的指纹数据以及其他相关提取出来,以供进一步的处理或备份使用。这样就需要系统具有与上位PC机进行通信的接口。而作为计算机接口之一的USB由于其低成本、热拔插、速度快和容量大的特性,逐渐成为了PC机外围设备扩展中的标准接口。
许多电子产品中都提供了USB接口,C5509就提供了USB接口,应用该接口可以省掉USB接口芯片,方便将DSP与USB总线连接。
USB接口数据传输类型按传输类型分为控制传输、批量传输、同步传输、中断传输。控制传输是USB主机向一个USB设备传递的控制命令,而设备首次连接时所发的自举命令也被作为控制传输,控制传输包含错误检测。批量传输是主机要传送没有时间要求的大量数据时,可以采取批量传输的方式,批量传输将在其他类型的传输不占用总线时进行,批量传输也要进行错误检测。中断传输要求USB设备以最小的时间延迟,周期性的进行数据传输。同步传输是当需要按照固定速率实时传输数据时,采用同步传输,不需要进行错误检测。
USB模块寄存器包含5类:DMA寄存器、端点描述寄存器、中断寄存器、主机-DMA模式寄存器和通用控制及状态寄存器。DSP还有2个寄存器用来控制USB模块,它们是USB时钟模式寄存器(USBCLKMD)和USB空闲控制寄存器(USBBIDLECTL)。USB模块需要48 时钟驱动,CLKIN的时钟可以不等于48 ,但是必须通过时钟产生器的作用通过CLKIN信号倍频和分频产生USB模块所需要的48KHz的时钟。
应用USB模块首先应初始化USB时钟产生器产生48 的时钟,初始化可以调用 函数,初始化完成后,调用 函数,使USB模块同总线相连接,这样USB模块发送和接收USB源数据。
USB接口电路设计如图5-3。
5.2 系统软件设计
在软件设计中所采用工具CCS(Code Composer Studio)是德州仪器公司 (TI)针对DSP开发的功能强大的集成软件开发环境,它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持C/C++和汇编的混合编程。开放式的结构允许用户扩展自身的模块。CCS尤为重要的特点是提供了配置、构造、跟踪、分析程序的工具,并在基本代码生成工具的基础上增加了调试和实时分析的功能,从而加速和增强了实时、嵌入式信号处理的开发过程,CCS的出现大大简化了DSP的开发工作。
对于以DSP为核心的指纹采集系统而言,软件程序主要包括:系统初始化程序、图像算法方面的软件设计和指纹管理部分的软件设计。
5.2.1 系统初始化
本文系统的初始化是在主程序中完成,每个功能模块的运行都是用中断的方式进行。指纹识别系统开机之后首先要对系统进行初始化,主要包括初始化中断使能寄存器;初始化时钟;初始化GPIO;初始化计时器;初始化串口;初始化看门狗等,以保证系统正常运转。
本文计时器有两个功能:系统计时(timer0)和探测手指的动作(timer1)。初始化计时器过程如下:停止计时(TSS=1)。定时器装载使能(TLB=1),并将周期寄存器(TIM,PSC)的内容复制到计数寄存器(PRD,TDDR);将预定标计数器周期数写入TDDR;再将主计数器周期数装入PRD;关闭定时器装载(TLB=1),启动计时(TSS=1)。
系统初始化程序InitVariable()如下:
InitVariable() //初始化系统参数
{
SSR=0; //;清系统状态寄存器
OSR=0; //;清工作状态寄存器
ESR=0; //;清错误指示寄存器
LedAllOff();
}
//**********************************
void main()
{
int i;
IntDisable(); //关中断
InitSys(); //系统初始化
InitVariable(); //初始化系统参数
LED_Green_Flash(3,LEDtime200ms);//;系统初始化成功 闪灯三次
IntEnable(); //开中断
WatchDog();
while(1)
{
//-------------------------------------------------
if (Test_Pwd_flag()==1) //;系统是初次上电还是软复位PWD位=1?
{ // ;如果PWD=1是软件复位
CommandParse(); // ;上位机命令解析
}
//-------------------------------------------------
else // ;如果PWD=0是硬件复位
{
LoadParTable(); // ;载入参数表
//=========================================
//如果不是第一次上电 //*初始化参数表
if (PowerON_Flag!=0x1234){PreInit(); } //*只有在初次上电时调用
WatchDog();// ;清看门狗
//=========================================
}
//-------------------------------------------------
5.2.2 图像处理算法模块设计
图像处理算法模块主要包含有:条状指纹图像的重组模块 、指纹图像增强模块 、图像二值化模块 、指纹图像细化模块 、指纹匹配模块 等。基于距离判别法的指纹图像重组算法流程图如图5-4所示.
图5-4 条状指纹图像重组模块
本文二值化采用的一种迭代求图像最佳分割动态阈值的二值化算法,在增强后的灰度指纹图像的基础上进行二值化运算,二值化子程序 流程图如图5-5所示。
图5-5 动态阈值二值化模块
细化算法是在改进的OPTA算法的基础上增加8个删除模板,共16个删除模板,保留模板仍然为6个,增加的8个删除模板是在分析了改进的OPTA算法细化不彻底的原因后得出的结论,使细化更彻底,纹线更平滑,该算法程序流程如图5-7所示。
图5-6 指纹细化模块
指纹特征匹配是系统使用频率最高的一个流程,如图5-7所示的流程图描述了一个完整的匹配过程:系统先发出一个匹配指令,读入新输入的指纹后,通过编写 函数读出指纹库中指纹模板,然后调用 子程序进行指纹匹配,实验过程中将匹配结果分别通过系统特别设计LED显示,成功匹配,LED绿灯闪一次;匹配失败,则LED红灯闪一次。
匹配算法采用的是基于旋转不变匹配的原理,分别在方向编码图像和方向编码直方图中求取模板和子图像的不相似度,结合两种不相似度的权重因子,求出最终的比相似度并判断是否匹配, 子程序算法流程如图5-8所示。
图5-7 指纹匹配流程图
5.2.3 指纹数据管理模块设计
本文针对上级控制装置发出的指令进行响应,设计了上位机与系统在各个情况下的应答机制,该部分合理调度系统各个部分的工作,并返回相应的信息。最基本的指纹管理是注册一个新指纹或删除一个已有指纹的信息。
指纹注册是嵌入式AFIS使用的第一步,可为系统增添新的用户。注册流程图如图5-9所示,在存储数据前,首先判断用户输入的ID和以前注册的是否重复。我们在构造用户信息的数据结构时,加入了用户ID table,这使我们可以很方便的实现对某用户ID是否存在的验证。在验证时,只需要把整个IDtable一次性读入片内,把用户新输入的ID和IDtable中的值逐一比对,如果有相同的ID就要求用户退出重新输入。在存储用户信息时,先把用户信息数据结构中的索引表读入片内,然后从前到后,按位查询每个索引单元。如果每个索引单元的值都为1,表示存储空间已满;如果检查到有索引单元值为0,表示还有存储空间。本文为保证信息的准确性,我们要求用户同一手指连续输入三次,三次输入的指纹特征能相符,才将该指纹存为模板。
注册和登录主要差别是,注册是把数据写进存储器,登录主要是把数据从存储器中读出来。用户登陆有两种方式:直接登录和通过ID登录。直接登录时用户不需要输入自己的ID,直接采集指纹,如果采集的指纹图像合格,就对指纹进行处理,提取特征点,并和指纹库中的指纹模板比对,如果在库中找到与该指纹匹配的指纹模板,就显示登录成功。
如果某用户不再需要使用该系统,就应将其从系统中删除掉,以释放存储空间。如图5-10所示,指纹删除子程序 的功能就是读入用户ID号,通过ID号找到对应的用户信息和指纹模板数据,然后把该用户信息和指纹模板所占据的存储空间初始化。
为了和匹配过程区别,成功删除LED绿灯连续闪灯两次,删除失败LED红灯连续闪灯两次。 函数用来设置红灯闪烁的次数和时间,本文每次闪灯时间为50 。用同样的方法进行绿灯闪烁的次数和时间设置。
图5-10 注册指纹流程图
5.3 系统程序的引导
在第三章中介绍了几种上电程序加载方式。加载方式可以通过预置通用I/O引脚的高低电平来选择。本文我们使用串行外设接口(SPI)加载,这是由Motorola公司提出的一种串行总线标准,该标准具有连接简单、控制方便等特点,同时针对该标准,Atmel、SST等公司研制了SPI口的EEPROM,而C55X系列的DSP也提供了SPI接口加载功能。
SPI接口只用3根线就可以完成串行数据传输,DSP作为主方控制SPI接口,这种方式不需要外部时钟和外部逻辑,可以做到无缝连接,该方式硬件连接图在外部存储器的扩展中介绍过,如图5-2所示。
在这种加载模式下,下载程序之前先要生成一张载入表。载入表除了携带有代码段和数据段信息之外,还有向DSP下载程序的入口点地址、寄存器配置信息和可编程逻辑信息,应用这些信息来配置DSP以完成下载过程。载入表可通过COFF文件/十六进制文件专用转换工具HEX55.EXE生成,该转化工具在CCS安装目录.../C5500/cgtools/bin目录下.HEX55可在命令提示符环境下运行该命令。
5.4 系统调试
本文嵌入式系统的测试,主要包括系统硬件单元功能测试和软件功能测试。
在本系统中硬件调试是一项很重要但又琐碎的工作,其中主要内容有存储单元、指纹仪传感器单元的调试。在给指纹传感器上电后,发光二极管有电流通过,使得二极管发光,表明指纹传感器和其他各模块工作正常。我们将示波器的探针放在传感器的7脚——数据输出引脚上,从它的波形变化可知此时指纹传感器开始向外发送数据。
C5509 内部的存储部分最大只能到了 Ox3FFFF。如果没有外扩存储器或者存储器硬件配置有错误的话,向地址大于 Ox3FFFF的存储单元写入数据,通过 CCS观察对应地址的数据内容可以发现数据仍然为零,没有发生变化。由于C5509具备SPI接口方式,这使得该处理器在进行存储器扩展的时候非常方便,在硬件上将4个引脚直接相连即可。经过反复的测试确定参数,最后确定能够对FLASH所在地址空间读写数据,外扩存储器没有问题。
将仿真器仿真头插入对应的底座,加载相应的程序,通过仿真器向该系统发送命令,指示系统工作。同时在PC机上可以观察到返回信息,完成对系统的测试。硬件上通过LED闪烁情况,观测到存储器进行指纹的写入,擦除,读取等操作都是没有问题的。
5.5 实验结果及分析
为了验证匹配算法的可靠性和正确性,对20个人的5个手指的指纹进行了实验,每个手指扫描2次,这样一共得到20*5*2=200副指纹图像,建立了一个小型指纹数据库。它们都是同一个指纹在不同条件下采集两次得到的。把这些指纹样本分成两组:第一次采集的样本作为原始指纹图像,经预处理和特征提取,最后形成特征向量,加入指纹数据库中作为模板;第二次采集的样本作为测试指纹图像,经过同样的处理过程形成特征向量,然后与从指纹数据库中读入的原始指纹的特征向量一起,进入匹配阶段。系统辨识实验结果如表5-1所示。
表5-1 样本匹配结果实验
匹配总次数 正确识别次数 错误识别次数 拒识别次数 拒真率(FRR) 拒登率(FER) 同类某款指纹识别产品
拒真率 拒登率
1200 1993 1 6 0.01% 0.05% 0.02% 0.75%
我们实验中选取了一款同是基于滑动式指纹传感器的便携指纹考勤器的参数进行了对比,我们开发的便携指纹识别系统的拒真率、拒登率均于该产品参数。
下面从速度的角度测试系统性能,在系统认证实验中,认证一幅指纹图像的平均时间构成如下:
表5-2 系统运行速度实验结果
测试项目 时间(单位:毫秒)
指纹滑动(采集) 200
图像拼接 12
图像预处理 635
特征提取 250
特征匹配 270
合计 1367
从手指放到传感器上到系统提示识别结果总的时间为1367毫秒。对于滑动式指纹传感器图像采集和拼接操作有两种方式:(1)扫刮的同时进行重组运算,采集结束重组的过程也随之结束,这样采集和拼接一共需要200毫秒左右;(2)先将所有条状指纹扫刮完再进行图像重组,这样采集和拼接一共需要212毫秒。由于图像拼接的快速与高效,这两种方式速度差距不是很大,本文采用后者。将所有图像采集完再进行图像重组准确率会更高。
5.6 本章小结
本章主要完成了系统部分的硬件和软件设计,其中硬件设计包括电源、时钟、电压监测、存储、指纹传感器、通讯六大部分的设计,重点对其中存储器扩展和USB接口设计进行了深入的研究和详细说明;软件设计部分将系统初始化和图像算法部分的软件设计以及指纹管理部分的软件设计,重点是图像算法的设计。采用SPI的方式对程序进行加载,并完成对系统中各个硬件功能单元的调试,以及整个系统的功能测试,该系统各个硬件单元工作正常。因目前国内外尚没有公认的指纹数据库,从客观上难以准确评价性能,各机构目前公布的性能指标普遍缺乏可比性。选取同类产品进行参数比较,经最后给出实验结果和分析,拒真率、拒登率均于该产品参数,其它各项指标也达到了理想的效果。
第六章 总结与展望
指纹识别技术已被公认为成熟的生物特征识别技术。随着嵌入式技术的发展,指纹识别的产品正在向体积小、功耗低、成本低的便携式方向发展,本文根据指纹识别系统的发展趋势,采用体积小、功耗低的滑动式指纹传感器LT-SS500和低功耗、高性能的DSP芯片C5509作为核心元器件完成系统设计,实现了一个可以联机操作也可以独立运行的指纹识别系统。研究过程中的主要工作和成果如下:
1.阅读大量文献资料,对图像预处理、特征提取、特征匹配各环节关键算法进行了全面深入的研究,并通过仿真实验,对各种算法的实际效果进行比较,设计出适合本系统的高效指纹识别算法。
2.采用滑动式指纹传感器LTT-SS500降低系统成本,并提出了一种非常适合于滑动式指纹传感器的条状指纹图像重组算法,算法巧妙有效地利用有限个像素点判断手指在滑动方向上的位移,以及在滑动过程中的左右偏移,并能据此恢复出完整的没有任何交叠的指纹图像。该重组算法方法简单,便于实现,可以在一定的扫刮速度范围之内,有效地重组条状指纹图像,其精度完全可以供后继指纹特征提取使用,并能做到实时输出,拼接速度有了很大的提升,因此有很高的实际应用价值。
3.在系统设计的通讯部分配置了RS232串口和USB接口,实现了一个既可单机运行又可嵌入到其它产品中去的指纹识别原型系统。
4.根据系统的存储需求,对外部存储器进行扩展。完成系统的软件、硬件设计,并在实验室取得了初步结果。还选取了一款同是基于滑动式指纹传感器的便携指纹考勤器的参数进行了对比,我们研究的便携指纹识别系统的拒真率、拒登率均优于该产品参数。
5、因我们开发的便携指纹识别系统成本低、识别率高,对硬件简单扩展后在2008年浙江省高考阅卷浙江工业大学阅卷点安保工作中成功应用,反响良好。
在开始本课题前,没有DSP的开发经验,所以花了大量时间学习DSP开发的硬件和软件平台,CCS集成开发环境的使用、Protel的使用等,但是经过努力最终完成了整个系统的开发。
由于时间的关系,本文还有部分工作需要完善:
1.在图像拼接算法我们选用的是有限个像素点的信息,但如何根据具体工程对实时性和精确度的要求合理的选取参加匹配的像素点的数量还有待于进一步研究。
2.图像预处理占用了整个识别过程的时间比重很大,如何找到更加快速有效的图像预处理算法,缩短预处理时间,还需要做进一步研究。
致谢
首先,由衷地感谢我的导师廖建明教授、指导老师刘辉老师支持我选择自己感兴趣的研究方向,并提供了良好的科研环境和非常多的指导意见。在研究生学习期间,刘老师渊博的学识、严谨的治学、务实的态度给我留下了深刻的印象。从两位老师那里我不仅学到了理论知识、治学态度还学会了很多做人的深刻道理。这将使我受益终生。在此,谨对导师辛勤培养和关心致以衷心的感谢!
同时感谢同班师兄师妹在日常工作和生活中对我的支持和帮助。感谢共同参与指纹识别课题刘能能同学的帮助,感谢她在学术上很多有益的探讨,她的参与给了我很多启示,使我能够快速地切入到课题的研究工作中来。
感谢我的家人对我无私的帮助,他们的支持和期望是我前进的力量。
最后感谢所有在我成长道路上关心、支持和帮助过我的人们!
参考文献
[1] 容观澳. 计算机图象处理[M]. 北京: 清华大学出版社, 2000.
[2] 袁红梅. 指纹识别系统原理. 考试周刊.2007年18期:122-123.
[3] 范维唐等.公共安全科技问题研究. 国家中长期科技发展规划战略研究专题9专题汇报,2004.
[4] 张成,周媛媛,林嘉宇.纹采集技术及其产品发展趋势. 电子技术应,2004,12(2): 1-7
[5] http://www.zhongguozhiwen.com .中华指纹网.
[6] 尹义龙, 宁新宝, 张晓梅. 自动指纹识别技术的发展与应用[J]. 南京大学学报(自然科学版), 2002, 38(1): 29-35.
[7] 曾洪波, 汪国有, 张天序. 基于连续方向图的指纹智能预处理算法[J]. 红外与激光工程, 2001, 30(6): 426-431.
[8] 张雄等. 指纹图像的预处理算法[J]. 计算机工程与应用, 2003, 35: 81-83.
[9] 苏菲等. 基于模糊逻辑的指纹图像对比度增强算法[J]. 计算机工程, 2003, 29(3):122-124.
[10] 唐良瑞等. 基于 D-S 证据理论的指纹图像分割方法[J]. 计算机学报, 2003, 26(7):887-892.
[11] 林喜荣等. Gabor 滤波器在指纹图像处理中的应用[J]. 仪器仪表学报, 2003,24(2): 183-186.
[12] 林国清, 李见为, 王崇文. 指纹图像的预处理[J]. 计算机工程, 2002, 28(9): 171-172.
[13] 韩伟红, 黄子中, 王志英. 指纹自动识别系统中的预处理技术[J]. 计算机研究与发展, 1997, 34(12): 913-920.
[14] 林喜荣, 于政涛, 苏晓生.一种利用动态滤波模板进行指纹图像增强的算法[J].清华大学学报, 2001, 41(8): 37-40.
[15] Q Xiao and H Raafat. Fingerprint image postprocessing: a combined statistical andstructural approach[J]. Pattern Recognition, 1991, 24(10): 985-992.
[16] Z Bian, D Zhang and W Shu. Knowledge based fingerprint postprocessing[J]. International Journal of Pattern Recognition and ArtificialIntelligence, 2002, (16): 53-67.
[17] A Farina, Z Vajna and A Leone. Fingerprint minutiae extraction from skeletonized binary images[J]. Pattern Recognition, 1999, 32(10): 877-889.
[18] H P Lu, X D Jiang and W Y Yau. Effective and Efficient Fingerprint Image
Postprocessing[C]. 7th International Conference on Control, Automation, Roboticand Vision, 2002, 985-989.
[19] Xiping Luo, Jie Tian. Knowledge Based Fingerprint Image Enhancement[C]. 15th ICPR, Barcelona, 2000, 4:783-786.
[20] N K Ratha, S Chen and A K Jain. Adaptive flow direction-based feature extractionin fingerprint images[J]. Pattern Recognition, 1995, 28(11): 1657-1672.
[21] 杨海军, 梁德群, 田原. 基于多尺度屋顶边缘检测的指纹图像分割方法[J]. 中国图象图形学报, 2001, 6A(1): 51-55.
[22] Lawrence O’ Gorman, FeffrefV Nicherson. An approach to fingerprint filter design[J]. Pattern Recognition, 1989, 22(l): 29-38.
[23] D Sherlock, D M Monro and K Millard. Fingerprint enhancement by directional fourier filtering[J]. In IEEE Proc.Vision Image Signal Processing, 1994, 141(2):87-94.
[24] Lin Hong, Wan Yi-fei, A K Jain. A Fingerprint image Enhancement: alogorithm and performance evaluation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(8): 777-789.
[25] 尹义龙等. 基于加博函数的指纹增强算法及其应用[J]. 软件学报, 2003, 14(3):484-489.
[26] C J Lee, S D Wang. A Gabor filter-based approach to fingerprint recognition[C]. IEEE Workshop on Signal Processing Systems, 1999, 371-378.
[27] S Greenberg, M Aladjem and D Kogan. Fingerprint image enhancement using Filtering Techniques[J]. Real-Time Imaging, 2002, 8: 227-236.
[28] Hung D C Douglas. Enhancement and Feature Purication of Fingerprint Images[J]. Pattern Recognition, 1993, 26(11): 1661-1671.
[29] T Kamei and M Mizoguchi. Image filter design for fingerprint enhancement[C]. In Proc. ISCV'95, 1995, 109-114.
[30] A K Jain and F Farrokhnia. Unsupervised texture segmentation using Gabor filters[J]. Pattern Recognition, 1991, 24(12): 1167-1186.
[31] B M Mehtre. Fingerprint image analysis for automatic identification[J]. Machine Vision and Application, 1993, 6: 124-139.
[32] B M Mehtre, N N Murthy, S Kapoor and B Chatterjee. Segmentation of fingerprint images using directional image[J]. Pattern Recognition, 1987, 20(4): 429-435.
[33] M Kawagoe and A Tojo. Fingerprint pattern classification[J]. Pattern Recognition,1984, 17(3): 295-303.
[34] C L Wilson, G. T Candela and C I Watson. Neural-Network Fingerprint Classification[J]. Journal of Artificial Neural Networks, 1994, 1(2): 203-228.
[35] K Kass and A Witkin. Analyzing oriented patterns[J]. Computer Vision, Graphics, Image Processing, 1987, 37(4): 362-385.
[36] A M Bazen and S H Gerez. Systematic methods for the computation of the directional fields and singular points of fingerprints. IEEE Trans. On Patern Analysis and Machine Intelligence, 2002.24 (7): 905-918.
[37] S S Yu, W H Tsai. A new thinning algorithm for gray-scale images by the relaxation technique[J]. Pattern Recognition, 1990, 23(10): 1067-1076.
[38] 冯星奎. 一种新的指纹图象细化算法. 中国图象图形学报,第四卷 (A 版)1999, (10). 17-21.
[39] 王崇文,李见为.一种基于点模式匹配的指纹识别算法.重庆大学(自然科学版),2002,(6):27-31.
[40] A Datta, S K Parui. A robust parallel thinning algorithm for binary images[J]. Pattern Recognition, 1994, 27(9): 1181-1192.
[41] 王业琳, 宁新宝, 尹义龙. 指纹图像细化算法的研究[J]. 南京大学学报(自然科学版), 2003, 39(4): 468-475.
[42] Isenor D K,Zaky S G.. Fingerprint identification using graph matching. Pattern Recognition,1986,19(2):113-122.
[43] A K Jain, L Hong, R M Bolle.On-line Fingerprint Verification[J].IEEE Trans on Pattern Analysis and Machine Intelligence,1997;19(4):302-313
[44] Z Chen, C H Kou. A Topology-based Matching Algorithm for Fingerprint Authentication, Security Technology[C].In:Proceedings of the 25th Annual 1991 IEEE.International Carnahan Conference on, 1991-10:84-87.
[45] N K Ratha, R M Bolle, V D Pandit et al. Robust Fingerprint Authen-tication Using Local Structural Similarity[C].In:Application of Computer Vision, Fifth IEEE Workshop on ,2000-12:29-34.
[46] Farhan U llah, Shun’ichi Kaneko. U sing orientation codes for rotation-invariant temp late matching [ J ]. Pattern Recognition,2004, 37(2): 201 - 209.
[47] 杨宏林,吴陈. 指纹识别方法的综述.华东船舶工业学院学报,2003.6.
[48] 刘莎. 基于 Intel PxA25 构建指纹识别系统平台,南京工业大学学报, vol.28,no.3,2006.
[49] 汪洪. 基于FPGA的指纹识别认证算法硬件实现[D].华东师范大学硕士学位论文,2007.
[50] 胡庆钟,李小刚,吴钰淳等.TMS320C55x DSP原理、应用和设计.北京:机械工业出版社,2006.
[51] Texas Instruments Corporation: "Data Sheet". TMS320VC5509 Fixed-PointDigital Signal Processor Data Manual,2001.10.
[52] 张成,周媛媛,林嘉宇.指纹采集技术及其产品发展趋势.电子技术应用,2004.11(2): 1-7.
[53] Sigmund Clausen. Reconstruction of fingerprint image from a single line swipe sensor, Gamle Borgenvei,2002.
[54] 马令坤,张震强. 图像拼接算法的研究.微计算机信息.2007,第6期:302-305.
[55] 安超,张弘,李敏.用于扫刮式指纹传感器的图像重组算法.计算机与数字工程.2006, 第34卷第10期:49-52.
[56] 王崇文,李见为,林国清.指纹取像与指纹识别 [博士论文] ,重庆大学, 2003.
[57] 袁杰辉,魏政刚等. 图像质量评价方法综述[ J ].计算机工程与应用,1998, 6.
附录
电路板实物图
电路板实物图
硬件调试平台
软件调试平台
在学期间的研究成果
[1] 吴芳,张伟锋等.数字化在多校区安防系统中应用的研究. 浙江省教育厅课题, 2006.
[2] 张伟锋,顾方磊.正确认识技防系统在高校安全防范中的作用.浙江省高保协会. 2006.
[3] 王才领,张伟锋等.建立健全综治联动机制 构建和谐高教园区. 浙江省教育厅课题,2007.
[4] 王才领,张伟锋等.大学生安全教育教学模式的改革和实践.浙江工业大学教改课题,2008.
[5] 张伟锋, 浅析网络安全性 发表于天津师范大学学报社会科学版. 天津师范大学学报(社会科学版),2007(7).58-61
[6] 张伟锋, 安全视野下的数字化校园网络建设及其策略分析. 浙江高校创建“平安校园”的探索与实践, 2008.102-105
[7] 张伟锋,过美玲. 对公民道德建设的思考. 发表于中国成人教育, 2006, 12.3.12-13
[8] 徐士政,张伟锋等. 参编大学生安全知识读本.浙江科学技术出版社,2008,1.
[9] 王才领,姜维兵,张伟锋等. 参编大学生安全知识导读,杭州出版社,2008,5.
[10]姚继斋,陈顺才,张伟锋等. 参编高校学生安全知识教程,中国商业出版社,2006.7.