STM32指纹识别论文

上传人:bei****lei 文档编号:182496982 上传时间:2023-01-24 格式:DOC 页数:47 大小:3.40MB
收藏 版权申诉 举报 下载
STM32指纹识别论文_第1页
第1页 / 共47页
STM32指纹识别论文_第2页
第2页 / 共47页
STM32指纹识别论文_第3页
第3页 / 共47页
资源描述:

《STM32指纹识别论文》由会员分享,可在线阅读,更多相关《STM32指纹识别论文(47页珍藏版)》请在装配图网上搜索。

1、 本科毕业设计( 论文 )题 目: 基于STM32的指纹识别研究学 号:104822057姓 名:朱亚春班 级:10电信A1专 业:电子信息工程学 院:工学部入学时间:2010级指导教师:宋绍京日 期: 2016 年 5月 10 日上海第二工业大学毕业论文声明毕业设计(论文)独创性声明本人所呈交的毕业论文是在指导教师指导下进行的工作及取得的成果。除文中已经注明的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。作者签名:日期:上海第二工业大学毕业论文摘要摘 要 随着科学技术的快速发展,人们对自身的安全性要求得到全面提

2、高,并且出现了各种身份安全认证功能。其中,指纹识别技术在各类安全认证功能中得到了长足的发展,出现了多种类型的指纹识别系统,但是此类系统大多都是基于PC机的,在其可移动性以及便捷性的性能上还不能使其大范围的推广以及使用。目前,基于嵌入式的指纹识别在逐渐的成为大家的研究方向,且已经取得了一定的成果。但是这些系统在其实时性,功耗,灵活性以及性价比上还存在着明显的缺点,如果要提高此系统的大范围应用,则必须对这些不足进行进一步的研究和改进。 本文对当下的指纹识别系统的现状进行了简单分析,表达了自身对STM32系统的理解,以及参考各方对指纹算法的研究。其次,针对本文提出的基于STM32系统下的指纹识别技术

3、对实用性的要求,选择一种可搭载的指纹传感器,利用已改良的指纹采集以及指纹处理算法,在MATLAB下 进行仿真,选择一种适合在 STM32F103VET6 上运行的算法进行了详细分析,并且衡量该算法在 STM32F103VET6 上的运行效果。最终克服了前文提到的指纹识别技术的不足,做出了基于嵌入式下的指纹识别系统。关键词:指纹识别,STM32,指纹采集,指纹传感器,指纹算法。ABSTRACT With the rapid development of science and technology, people on their own security requirements have b

4、een fully improved, and there has been a variety of identity security authentication.Among them, fingerprint recognition technology in all kinds of security certification function has been considerable development, various types of fingerprint identification system, but these systems mostly based on

5、 PC in its mobility and convenience of performance does not make its wide range of promotion and use.At present, the fingerprint recognition based on embedded system has become the research direction, and has achieved certain results.But these systems in real time, power consumption, flexibility and

6、 price still exist obvious shortcomings, if you want to improve the system in a wide range of applications, you must further research and improvement on these issues.In this paper, the current status of the fingerprint identification system is analyzed, the expression of its own understanding of the

7、 STM32 system, as well as the reference to the parties to the study of the fingerprint algorithm.Secondly, for is proposed in this paper based on STM32 system of fingerprint recognition technology to practical requirements, choose a can be equipped with a fingerprint sensor, using improved fingerpri

8、nt and the fingerprint processing algorithm, under the MATLAB simulation choose a suitable running in STM32F103VET6 algorithm are analyzed in detail, and measure the running effect of algorithm in STM32F103VET6 .Finally, it overcomes the shortcomings of the fingerprint identification technology ment

9、ioned above, and makes the fingerprint identification system based on the embedded system.Keywords: fingerprint identification, STM32, fingerprint acquisition, fingerprint sensor, fingerprint algorithm.上海第二工业大学毕业论文目录 目录第1章 绪论11.1 引言11.2 生物特征识别技术概论11.2.1生物特征识别技术简介11.2.2生物特征识别技术优势比较11.3指纹识别技术概论31.31指纹

10、识别技术简介31.32指纹识别研究31.4本文研究的内容4第2章指纹识别算法52.1指纹识别算法概述52.2指纹图像预处理52.2.1指纹图像预处理的主要步骤52.2.2指纹图像场的计算62.2.3指纹图像的均衡化72.2.4指纹图像二值化72.3指纹图像特征提取82.3.1指纹图像特征提取概述82.3.2指纹图像的细化92.3.3指纹图像特征值的提取102.3.4去除伪特征值122.4指纹图像特征匹配132.5 本章小结14第3章 硬件系统设计153.1 指纹传感器设计153.1.1指纹传感器种类153.1.2 MBF200 指纹传感器概述153.1.3 MBF200接口模式163.1.4

11、指纹采集电路设计163.2整体电路设计173.3STM32F103VET6简介183.4 存储器简介193.5 LCD1602模块203.6 本章小结20第4章 系统测试以及结果分析214.1.指纹识别系统主程序设计214.1.1指纹识别的主程序设计过程214.1.2指纹采集程序设计224.1.3存储器扩展程序设计234.2设计算法的移植244.3测试结果以及分析254.3.1预处理算法测试254.3.2提取特征点测试264.3.3图像匹配测试264.3.4 STM32系统下的测试284.4本章小结29第5章 论文总结30致谢31参考文献32上海第二工业大学毕业论文绪论第1章 绪论1.1 引言

12、伴随着国家经济的飞速发展,与科学技术水平的进一步提高,人们对于以前相对比较简便的认证身份的形式产生怀疑,致力与使用新型且更为简便和使用的认证方式。在此大环境下,人们开始寻求更具安全性的身份识别方式来避免对个人和企业造成不可挽回的经济损失,所以当代社会及个人迫切需要一些更安全的认证方式来替代传统的安全保护手段。在这种情况下,人们开始把目光转向了生物特征识别技术,如指纹识别技术,脸部识别技术,声音识别技术等等。1.2 生物特征识别技术概论1.2.1生物特征识别技术简介 生物特征识别技术是利用人的行为特征或生理特征,来进行个人身份的鉴定 。更具体一点,生物特征识别技术采用计算机与光学、声学、生物传感

13、器和生物统计学原理等技术方式配合,通过对人体本身唯一性的生理特性和行为特征对目标人群进行判定。生物特征识别技术一般可分为图像获取、提取特征、比较和匹配四个过程。生物特征识别系统通过釆集生物唯一的特征并将其转化为数字信号,然后将这些数字信号存于特征模板之中。生物特征分为行为特征和身体特点这两个方面。身体特征主要包含了掌形、指纹、虹膜和视网膜、人体气味、脸型、皮肤毛孔等等 ;行为特点主要是行走步态、签名、语音等。目前生活中常用的生物识别特征如下:(a)人脸识别(b)指纹识别(c)掌形识别(d)掌纹识别(e)虹膜识别(f)视网膜识别(g)签名识别(h)语音识别(i)热成像识别1.2.2生物特征识别技

14、术优势比较 下面对以上集中生物识别特征技术的优劣性进行比较,其结果如 图1-1 所示 图 1-1 生物特征身份认证技术的比较 由图1-1我们可以较为清晰的看出,基本上目前没有一种生物特征识别技术是远远优与其他特征的,但是指纹,虹膜和视网膜识别特征有明显较高的固有行和唯一性。但是由于虹膜和视网膜采集以及可接受性还有较大局限,当下市场上多数常见的几乎都为指纹识别技术。并在银行,门禁以及手机上得到了广泛的应用。指纹识别技术也占据了越来越多的生物特征识别的市场,其统计结果如下图1-2所示: 图 1-2 2012 年中国生物识别各分支技术市场统计数据 通过图1-2,我们可以明确知道,在目前以及不久的将来

15、,指纹识别技术必然将得到更加广泛的发展。但是随着半导体技术发展,在未来科技的迅速发展,其他更为安全和识别性更强的生物识别技术也将得到迅速发展。1.3指纹识别技术概论1.31指纹识别技术简介我们人类包括指纹在内的皮肤纹路在图案、交叉点和断点上大有不同,表现出唯一性且终生不变。有了这两个鲜明的特点,我们就可以把一个人的指纹和他真实的身份对应起来,通过预存的指纹信息和本人的指纹信息采集,对应出其真实的身份,这就是指纹识别技术。指纹用于身份的鉴定上,已经有了悠久的历史发展。无论是国内或者国外,在很久以前就学会了利用指纹这项生物特征进行一系列的人类行为。随着科学技术的发展,人类对指纹识别这个已经存在于日

16、常生活中许久的技术得到了更加细致的研究。最常见的如警察对犯罪嫌疑人的锁定,目前市面上手机的指纹开机,认证身份等等。1.32指纹识别研究1. 总体特征总体特征是指通过肉眼观察就可区分的指纹特性。包括纹形、模式区、核心点、三角点和纹数等。 (1)纹形 (2)模式区 (3)核心点 (4)三角点 (5)纹数2.局部特征局部特征是指指纹上节点的特征,这些具有某种特征的节点称为细节特征或特征点。两枚指纹可能具有相同的总体特征,但是在局部特征上,基本上是大不相同,所以不会存在完全相同的两枚指纹。3.指纹识别技术原理 图 1-3 指纹识别原理 指纹识别技术的基本原理如上图1-3可大致了解,通过一系列的数字化处

17、理,最终输出匹配结果的过程我们称之为指纹识别。4.指纹识别技术应用现状 分析作为多数生物特征识别技术中发展最为广泛,成本最为低廉的指纹识别技术,它在这几年得到了长足的发展,并在各大领域得到了广泛的应用。我们可以预料到,随着科技成本的不段降低,以及指纹识别技术的快速发展,它讲在我们未来生活中得到更加广泛的应用。 1、企业考勤仍占主导 2、智能小区成为普及热点 3、指纹锁市场发展迅速 4、多元化应用遍地开花1.4本文研究的内容 在利用已知的STM32系统和指纹识别算法的了解后,并对当前国内外常用的指纹识别算法的筛选和改良后,主要研究内容包括系统的指纹识别算法、系统硬件电路的设计、系统软件的设计。利

18、用VCC+在计算机上进行指纹算法运算得到结论,再将算法导入STM32系统中,进行嵌入式系统下的指纹识别运算,并将结果进行分析论证,在结论上指出在此项目上出现的各种问题,以及本文设计的优缺点做出分析,并讨论了进一步改良的方法。40上海第二工业大学毕业论文指纹识别算法第2章指纹识别算法2.1指纹识别算法概述 指纹识别算法是指纹识别技术的重要组成部分,它直接影响到指纹识别的准确性和可靠性。指纹识别算法具体包含了一下几个方面,指纹图像的预处理、指纹图像特征点的提取以及指纹图像的匹配。其中有包括了各种细节的计算,具体如下图2.1所示,下文会对具体细节进行简要的分析。同时,本文会从两个方面来做出指纹算法的

19、运算:1是在计算机VC+上实现指纹识别算法,计算机基本上对数据运算量的大小没有要求,基本上不会影响识别效率,2是在嵌入式系统上实现此算法,这时就需要考虑到运算芯片的心能,使用相对正确的指纹算法,使其在准确率和运算性能上的要求能同时满足,以达到实用性。 本文在VC上进行编程,验证了现有的指纹算法的处理效果,并通过此算法的不足进行了改进,以期在嵌入式系统中达到使用的目的。图2.1 指纹识别算法流程2.2指纹图像预处理2.2.1指纹图像预处理的主要步骤 指纹图像的预处理过程是对传感器采集到的指纹图像进行噪声去除、方向场求取、滤波增强和二值化,主要目的是使图像整体明暗对比度加大,将明显的断裂脊线进行粘

20、连,对指纹纹理特征进行不失真的还原并尽最大可能减少虚假特征点的数量,获得更清晰的指纹图像,保证下一步细节点提取更顺利的进行 。主要步骤如图2-2所示。 图2.2指纹图像的预处理过程2.2.2指纹图像场的计算图像场计算包括图像的强度场、梯度场、方向场以及频率场计算 。(1)强度场 强度场我们指的是指纹图像某一点的上的灰度强度的大小,表现的是此点的亮暗程度。这里我们设Q为某点的强度场,为灰度函数值, (2.1)式2.1表示函数值则为某点的灰度场强。 数值越大,则此点的亮度越亮,数值越小,则此点的亮度越暗。(2)梯度场 梯度场是描述指纹图像的纹线脊谷变化程度的量,这里梯度的大小反映指纹图像纹线脊谷的

21、隆起变化。 设指纹灰度函数,分别沿轴计算方向偏导, 。计算指纹图像改点的梯度值: (2.2)(3)方向场 接下来我们可以由式(2.1)和(2.2)进行方向场的计算。通过Sobel算子表示方式如下: x方向为;y方向为。 (2.3) 然后根据方向场计算公式可得: (2.4) (2.5)则得出方向场的大小: (2.6) 根据Sobel算子求出的方向场的角度和真实情况差距有135度,因而得到的数据必须再减去135度。 2.2.3指纹图像的均衡化 指纹图像的均衡化是指把输入图像的各个点的亮度强度场进行均衡调整,均匀分布相同的强度点,使图像的对比度得到增强。设指纹图像函数,由均衡化离散的转换公式得: (

22、2.7)式中:为第u级灰度的像素个数, 为图像面积, 为图像的最大灰度值, 即为 255。均衡化后,源指纹图像的灰度概率密度分布均匀,拓宽了像素点灰度的取值范围,增强了图像的对比度。2.2.4指纹图像二值化对指纹图像的二值化处理,目的就是在经过二值化的指纹图像能清晰写实的表现出原采集指纹图像。其原理基本为将增强后的指纹图像上的点进行离散化操作。把255灰度级的图像离为0,255两个极值的灰白图像。其中0表示脊线信息,255表示谷线信息 。 此方法利用自适应的分块阈值法,具体来说就是在理论下的分块均值中,依照图像纹理区域内脊谷纹线中的像素数量大致一致的基本原理,利用自适应法动态变化分块区域内的局

23、部阈值,以达到分块区域内阙值附近的像素数目一致,该方式的主要流程如图2.3示。 图2.3 自适应分块二值化算法流程 其中,求取子块灰度均值的计算公式为: (2.8) 2.3指纹图像特征提取2.3.1指纹图像特征提取概述STM32 指纹识别系统的特征提取过程是对预处理之后的指纹图像进行细化、特征点提取和除去伪特征值的操作。通过对图像的二极化,将指纹的脊线转换为但像素宽度的细化图像,从而更为快速的确定指纹的细节点类型,坐标以及细节点方向,并能找到其他不能匹配的细节点特征 。这样,对于后来需要的指纹图像的匹配变得更为方便,有效率。2.3.2指纹图像的细化 在经过预处理的指纹图像在二值化后还会出现二极

24、化图像脊线粗细不均匀现象,指纹图像的细化就是对二极化后的图像进行进一步的调整。即在不改变指纹图像的独特性的条件下删减部分冗杂的宽度不均匀的脊线,以便更为快速的提取图像的特征值。 目前常用的指纹图像细化的OPTA算法 。但经典OPTA算法有一定的局限性。通过经典OPTA算法进行细化后的指纹图像纹线存在不平滑,纹理尾部出现毛刺,部分区域弯曲等影响图像原有性的特征。在查找有关指纹图像细化的文献后,本文选择一种较为便捷,且已经改进的OPTA算法。 图2.4所示的是选中像素点P5处理时所需的抽取模板,图中左上角的3*3窗口区域是删除模板。图2.5是删除模板,图2.6是保留模板,图中的“”表示1或0。 图

25、2.4 抽取模版 图2.5 删除模版 图2.6 保留模版细化过程:遍历图像,进行匹配。这里如果像素是1,就把8邻域像素与图2.5中的删除模板对比,如果匹配成功,保留这个像素点;匹配不成功,把这个点的15邻域的像素与图2.6中的保留模板对比,如果匹配失败,目标像素点删除。对以上过程进行重复,直到所有像素点匹配成功,此时,则完成了目标图像的细化。 2.3.3指纹图像特征值的提取 本文的指纹图像特征值的提取只要指的是对目标图像的端点、叉点的提取,使用的是基于交叉数的特征性提取算法 。在通过对某一黑点进行扫描后,通过其周围8点、顺时针相邻亮点灰度差的判断,来确定此点是叉点还是端点。进一步记录此点的类型

26、、类型以及方向信息。 步骤:选择一黑点扫描。将其周围8个点所有相邻两点差值进行绝对值求和,得到一值。若数值为2*255,此点为端点;若数值为6*255,此点为叉点。图2.7 指纹纹线端点和端点像素模型 图2.8 指纹纹线叉点和叉点像素模型 用函数方式表达如下: (2.9)算法流程图:图 2.9 提取端点的算法流程图 2.10 提取叉点算法流程2.3.4去除伪特征值 在客观条件的影响下,采集的指纹与原指纹会存在偏差,会存在短线、毛刺和端点。另外在图像预处理的过程中,同样可能会产生偏差,这时我们就需要对目标图像进行伪特征值的筛选,删除。指纹图像为特征值种类如图2.11所示: 图 2.11 指纹伪特

27、征点类型 由于伪特征值的提取不是本文重点研究目的,这里集成文献中对伪特征值的步骤分析,具体如图2.12所示:图 2.12 去除伪特征点结构流程2.4指纹图像特征匹配 指纹图像特征匹配是指纹识别技术的核心,通过指纹特征点的类型、坐标和方向场信息等特点来判断是否来自同一人的指纹。基于前文对端点和叉点的算法,这里采用基于细节点的匹配算法 。具体流程如下图2.13示:图 2.14 特征点匹配流程2.5 本章小结 在本章我们讨论了基于STM32下的指纹识别系统中有关指纹识别算法的介绍。通过对指纹图像特征的预处理,进行图像特征细化后,实践了采集指纹的特征提取,并决定用VC+先进行指纹算法运行实验,然后搭载

28、在STM32进行最终测验。最后介绍了图像特征的匹配原理以及流程。在经过一系列的实验后,得出此算法具有抗旋转能力强、鲁棒、准确性以及抗旋转能力强等优点,符合嵌入式自动指纹识别系统的需求。上海第二工业大学毕业论文硬件系统设计第3章 硬件系统设计3.1 指纹传感器设计3.1.1指纹传感器种类 指纹识别技术的关键点为指纹的采集,目前市场上常见的指纹传感器的种类大致上分为一下三种、(1)光学传感器 光学传感器原理是利用光的全反射,使用较早,且在目前的应用领域使用广泛。光学传感器采集指纹的过程为当光线照射到按有手指的光学玻璃镜片时,光会产生反射,因手指纹理的凹凸不平,在指纹脊线处光线不会反射,而在指纹谷线

29、出则会出现全反射,在通过有三棱镜聚焦的CCD光学器件上形成图像明暗的变化,当图像的明暗变化不同时,会反映成灰度图像,指纹图像就会这样被采集。光学传感器有一定的抗静电能力与温度承受能力,且价格低廉,在近10年一直在使用,并且在一直不断改进。但是此传感器同样存在缺点,此传感器使用的镜片在使用后往往很难清除指纹印记,可能弧线指纹重叠的现象,对指纹的采集有一定的影响,且光学传感器的使用条件为有光源,同样存在着一定的局限性。(2)半导体传感器 半导体指纹传感器有两种类型:电容式与电感式。两者工作原理基本相同。因为手指指纹的凹凸不同,在手指与传感器平板接触时会与平板上集成的半导体会有实际距离产生不同,出现

30、不同的电容或者电感值,由集成半导体采集的数值转换为指纹灰度图像。半导体的优势在于小型化,低功耗,易集成,与光学传感器相比更加实用,所以大多研发都在使用半导体传感器。同时它也有与光学传感器相比的缺点。如易收到静电干扰,使图像采集不完全,甚至采集不到图像,手上的汗渍,污垢等等同样会产生影响。目前半导体价格成本过高,不便大范围采集。(3)超声波传感器 超声波传感器是一种还在研究过程中的新型采集方式,其原理则是超声波的穿透性,且不同材质的产生的回波不同。通过超声波指纹传感器得到的指纹图像质量高,纹理清晰度高。克服了前两种采集缺点,是目前被认为的最好的采集方式。不过此技术目前还在开发阶段,很多技术还不够

31、完善,没能得到大量使用。 本文设计是基于STM32系统搭载的指纹识别研究,在综合考虑下,并对目前市场上的传感器进行对比后,决定采用富士通公司的电容式MBF200指纹传感器。3.1.2 MBF200 指纹传感器概述传感器阵列是256列和300 行的传感器单元构成。该阵列每列有两个采样保持电路,一次获得一行指纹图像数据。行工作有两个阶段,第一,让VDD电压与电容板被选行连接充电。于此同时,每个采样保持电路可以利用一个内部信号来获得被选行的电容单元的电压;其二是电容板的放电时期,在这个阶段,放电电流寄存器来决定放电快慢。第二个阶段完成之后,可由一个内部信号使能另一个采样保持电路去采样电容单元的最后电

32、压,充电电压与放电电压之差就是所要测量的有用传感信号电压。在行工作完成后,再将目标信号数字化处理,进而达成一次采样的过程。 下图3.2为MBF200内部结构框图 图 3.2MBF200 内部结构图3.1.3 MBF200接口模式 传感器支持 3 种通信的接口模式:(1) MCU模式(2) SPI模式(3) USB模式以上3种接口模式都是常用接口模式,用于指纹传感器与STM32硬件的搭载。本文出于对实验结果的准确性,选择了SPI模式接口。3.1.4 指纹采集电路设计 本文使用MBF200的SPI接口实现对指纹数据的收集,STM32处理器在主模式工作,MBF200从模式工作,使用USB供给稳定电压

33、3.3V,硬件电路图如图3.3示: 图3.3指纹采集硬件电路图 这里将MODE1与MODE0管教对接VCC与GND,接口模式定为模式1,表示我们使用的是SPI模式。STM32通过I/O口模拟SPI通信与MBF200做数据交互,STM32微处理器为SPI通信的主模式,MBF200作为SPI通信的从模式。前者使用PB口的1115管教与MBF200的SPI接口和INTR总共5个管脚连接,后者则根据SPI口接收的寄存器命令、地址、数据执行相关操作。 此电路中有三个LED灯,D3做供电显示,D1、D2与传感器的引脚P1、P2连接,P1、P2管脚高电平是D1、D2常亮,用来测试硬件电路,我们可以先通过ST

34、M32编程控制灯的亮灭验证电路的正确。由图3.2MBF200内部结构图可以看到,其内部已经集成了一个晶体振荡器,我们则无需在额外再接一个晶振,后文会有软件启动芯片内部的晶振。3.2整体电路设计 本文使用STM32小系统实验板,用4根信号线连接MBF200的SPI接口。然后用外接串口线连接上位机和LCD液晶显示块,搭建出来指纹识别技术的硬件平台,具体框图如图3.4示:图3.4整体电路设计框图此硬件系统主要包括几个模块:电源,LCD显示,MBF200指纹传感器,指纹数据储存(SRAM),指纹程序储存(FLASH),JTAG调试,指纹图像算法处理, 处理结果显示等模块。 具体工作流程:由USB提供给

35、系统5V稳压,通过内部电路转换为3.3V。连接电源后,对MBF200的哥哥寄存器进行初始化,以便自动检测指纹。当工作开始,即指纹准备录入时,主控制器STM32通过I/O口模拟SPI时序与传感器的同步串口连接通信,录入指纹数据,并将其保存到SRAM中,在通过前文提到的一系列指纹识别算法后。匹配出正确的指纹。同时,PC端会接受到由STM32传来的指纹图像的数据,并显示出来。STM32中的RAM容量基本上为64KB,一般达不到一幅完整的图像的数据量(基本为76.8KB)。SRAM则需要进行数据的储存。同时,系统的程序和指纹特征模版数据都存放在了FLASH中,以便后期的增删。LCD则用来显示识别结果,

36、在仿真和调试阶段,我们把主控制器用JTAG接口连接到J-link仿真器对系统程序调试,IAR-for ARM软件实现程序的设计。3.3STM32F103VET6简介 STM32F103VET6 - 32位微控制器 CORTEXM3 512K闪存架构: ARM Cortex-M3程序内存大小: 512KB存储器容量, RAM: 64KBCPU速度: 72MHz输入/输出数: 80数字芯片封装形式: LQFP针脚数: 100嵌入式接口类型: CAN, I2C, SPI, USART, USB电源电压最小值: 2V电源电压最大值: 3.6V封装: 每个MSL: MSL 3 - 168小时PWM通道数

37、: 16SVHC(高度关注物质): No SVHC (20-Jun-2013)位数: 32位内核尺寸: 32bit周边器件: ADC, DAC, DMA, PWM, 定时器工作温度最小值: -40C工作温度最高值: 85C工作温度范围: -40C 至 +85C振荡器类型: 外部、内部控制器系列: STM32时钟频率: 72MHz模数转换器输入数: 3电源电压范围: 2V 至 3.6V程序存储器大小: 512KB芯片标号: 32F103VE表面安装器件: SMD计时器数: 8闪存容量: 512KB3.4 存储器简介 由于STM32内部存储只有64KB,而一幅完整的指纹特征图像大概在76.8KB,

38、无法进行储存,则为芯片外加了一个SRAM存储器,满足指纹图像的存储。STM32内部含有FSMC,FSMC(Flexible Static Memory Controller,可变静态存储控制器)是STM32系列的一种新式的技术,用来扩展其存储器。 FSMC管理1 GB的映射地址空间。该空间划分为4个大小为256 MB的BANK,每个BANK又划分为4个64 MB的子BANK,如表1所列。FSMC的2个控制器管理的映射地址空间不同。NOR Flash控制器管理第1个BANK,NAND/PC Card控制器管理第24个BANK。由于两个控制器管理的存储类型不同,扩展时应根据选用的存储设备类型确定其

39、映射位置。其中,BANK1的4个子BANK拥有独立的片选线和控制寄存器,可分别扩展一个独立的存储设备,而BANK2BANK4只有一组控制寄存器。 图 3.5 FSMC映射地址空间3.5 LCD1602模块 LCD1602液晶显示模块的作用是显示指纹识别的结果的显示。通过STM32系统编程控制I/O连接输出结果,系连接图如3.6示: 图3.6 系统 LCD 显示电路3.6 本章小结 指纹识别硬件系统的设计是指纹识别技术中不可活缺的部分,选择相对合理的硬件设施和连接方式,会提高指纹识别的性能。本文的核心为通过SPI接口对STM32与指纹传感器连接。在其他方面则是对指纹图像的计算和存储进行细致的处理

40、,使本文的研究目标得意实现。且文中对各个模块进行了简要的分析,对其功能进行了介绍,让读者有更直观的了解。上海第二工业大学毕业论文系统测试以及结果分析 第4章 系统测试以及结果分析4.1.指纹识别系统主程序设计4.1.1指纹识别的主程序设计过程1. 指纹采集2. 图像预处理3. 提取特征点4. 图像匹配5. LCD结果显示流程框图如图4.1所示:图4.1 主程序流程图 系统开始运行后,首先对 STM32、LCD和SRAM进行初始化,初始化结束后主控制器开始检测指纹,当传感器上有手指按下时,主控制器将收到一个中断信号,开始采集指纹,指纹采集的过程是在指纹模块上进行,通过主控制器与指纹模块的同步串口

41、通信读取数据,在外部SRAM中是一数组矩阵的方式来存储指纹图像的数据,存储完成后,第一步是要鉴定其匹配要求的完成度,在数据采集合格后对其进行下一步的处理,否则重新开始采集。其次主控制开始对该矩阵数据执行包括梯度场计算、方向场计算、图像分割、图像均衡化、图像平滑、图像二值化、图像细化等各个阶段的预处理和特征提取以及指纹特征匹配的处理算法。这部分是根据第二章研究的算法在VC上编程实现验证后移植到主控制器中的,该部分消耗了整个指纹识别系统的主要执行时间,因此算法的优劣直接影响着整个系统的性能,最后根据指纹特征点的匹配情况,计算图像匹配的相似度,根据相似度判定指纹是否匹配成功,如果指纹匹配成功 LCD

42、 显示“same image”表示图像相同,否则显示“different image”表示匹配失败。 主程序的初始化函数:RCC_Configuration();/系统时钟初始化 NVIC_Configuration(); /中断初始化 GPIO_Configuration(); /GPIO 初始化 USART_Configuration(); /串口初始化 MBF200_Init(); /MBF200 初始化 LCD1602_Init(); / 1602 液晶初始化 FSMC_SRAM_Init();/SRAM 初始化 4.1.2指纹采集程序设计 图4.2指纹采集程序设计流程传感器初始化流程

43、:void MBF200_Init() MBF _Write REG(0x06, 0x38);/初始化寄存器 DTR MBF _Write REG(0x07, 0x01);/初始化寄存器 DCR MBF _Write REG(0x0C, 0x0C);/初始化寄存器 PGC MBF _Write REG(0x0F, 0x2C);/初始化寄存器 THR MBF _Write REG(0x0E, 0x03); /初始化寄存器 ISR MBF _Write REG(0x09, 0x0D);/初始化寄存器 CTRLB MBF _Write REG(0x00, 0x00);/初始化寄存器 RAH MBF

44、_Write REG(0x01, 0x00);/初始化寄存器 RAL MBF _Write REG(0x02, 0x00);/初始化寄存器 CAL MBF _Write REG(0x03, 0x00);/初始化寄存器 REH MBF _Write REG(0x04, 0x00);/初始化寄存器 REL MBF _Write REG(0x05, 0x00);/初始化寄存器 CEL MBF _Write REG(0x0A, 0x00);/初始化寄存器 CTRLC MBF _Write REG(0x08, 0x00); /初始化寄存器 CTRLA 4.1.3存储器扩展程序设计 SRAM初始化代码vo

45、id FSMC_SRAM_Init(void) FSMC_NORSRAMInit Type Def FSMC_NORSRAMInit Structure; FSMC_Monogramming Init Type Def p; /*- FSMC Configuration -*/ p.FSMC_Address Setup Time = 0; p.FSMC_Address Hold Time = 0; p.FSMC_Data Setup Time = 2; p.FSMC_Bus Turn Around Duration = 0; p.FSMC_CLKDivision = 0; p.FSMC_Dat

46、a Latency = 0; p.FSMC_Access Mode = FSMC_Access Mode_A; FSMC_NORSRAMInit Structure.FSMC_Bank = FSMC_Bank1_NORSRAM3; FSMC_NORSRAMInit Structure.FSMC_Data Address Mux = FSMC_Data Address Mux_Disable; FSMC_NORSRAMInit Structure.FSMC_Memory Type = FSMC_Memory Type_SRAM; FSMC_NORSRAMInit Structure.FSMC_M

47、emory Data Width = FSMC_Memory Data Width_16b; FSMC_NORSRAMInit Structure.FSMC_Burst Access Mode = FSMC_Burst Access Mode_Disable; FSMC_NORSRAMInit Structure.FSMC_Wait Signal Polarity = FSMC_Wait Signal Polarity_Low; FSMC_NORSRAMInit Structure.FSMC_Wrap Mode = FSMC_Wrap Mode_Disable; FSMC_NORSRAMIni

48、t Structure.FSMC_Wait Signal Active = FSMC_Wait Signal Active_Before Wait State; FSMC_NORSRAMInit Structure.FSMC_Write Operation = FSMC_Write Operation_Enable; FSMC_NORSRAMInit Structure.FSMC_Wait Signal = FSMC_Wait Signal_Disable; FSMC_NORSRAMInit Structure.FSMC_Extended Mode = FSMC_Extended Mode_D

49、isable; FSMC_NORSRAMInit Structure.FSMC_Async Wait = FSMC_Async Wait_Disable; FSMC_NORSRAMInit Structure.FSMC_Write Burst = FSMC_Write Burst_Disable; FSMC_NORSRAMInit Structure.FSMC_Read Write Timing Struct = &p; FSMC_NORSRAMInit Structure.FSMC_Write Timing Struct = &p; FSMC_NORSRAMInit(&FSMC_NORSRA

50、MInit Structure); /* Enable FSMC Bank1_SRAM Bank */ FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE); 4.2设计算法的移植 由于利用MATLAB实现对算法的仿真过程中无需考虑内存大小的问题以及程序运行的效率问题,因为计算机的主频与内存都足够大,而且操作系统可以自动对存储空间进行分配 。但是对于STM32来说,芯片内部存储空间相对较小,而指纹识别的算法数据亮则显得大了许多,其各个步骤都需要占用很大一部分空间,在系统算法内我们需要对存储空间进行合理的使用。 主控芯片内部具有 512K 的 FLASH 和

51、64K 的 RAM,同时扩展了 1M 的外部 SRAM,系统将程序代码存储在内部 FLASH 中;算法中间处理的临时图像通过建立全局数组的方式存储在外部 SRAM 中;指纹提取的模板特征点以结构体的形式存放在 FLASH 中;便于以后对其进行添加和删除;指纹的待匹配特征点通过分配动态内存来保存,当系统识别结束后,即将该数据释放,为系统的存储空间节省了资源 。对IAR内部的.icf文件进行设置可以使系统对外部SRAM读写。 在链接文件stm32f10x_flash.icf 加入同时要在main.c中成立全局数组,#pragma location 是预处理命令,使用其指定变量地址,让此数组分配在外

52、部SRAM中#pragma location = .mysectionunsigned char Rx Buffer50000=0; 系统运行过程中产生的临时图像数据录入这个数组Rx Buffer中,在系统外部SRAM空间内,通过建立指针:原图像指针和目标图像指针,将两个指针都指向 Rx Buffer中,同时在输入和输出端口可以进行图像算法处理,且指纹图像处理前后的数据都可以保存在该数组中,大大提高了系统存储空间。 传感器采集完整图像的大小为 300*256,为了提高算法的处理速度,系统对图像的大小进行如下处理,在指纹图像的采集部分,通过对图像边缘处不重要的图像信息进行裁剪,使得采集的图像为

53、250*200,同时对于存储在数组中的矩阵图像数据,通过抽样提取的方式对图像矩阵的行和列进行了减半缩小 。减半后的图像则降低了存储空间,提高了系统运行效率。4.3测试结果以及分析4.3.1预处理算法测试 指纹原图像大小250*200位图,是主控制器从指纹传感器中采集上来的.BMP图像,通过图原图像进行前文提到的预处理步骤进行处理,得出各个步骤下的图像结果,图下图5.1所示图4.3 指纹图像的预处理界面4.3.2提取特征点测试 特征点的提取本文所说的是端点以及叉点。在将采集得到的指纹图像经过细化后,将此细化图像中存在的黑点周围8个相邻像素的分布获取端点、叉点,再过滤掉边缘附近的伪特征点,对其特征

54、点进行标记。得到VC上如图4.4所示的细化图像的端点,叉点提取设计界面。图中第三指纹图像中的蓝色框标注的是指纹图像的端点,绿色框标注的是指纹图像的叉点。图4.4提取端点、叉点测试界面4.3.3图像匹配测试 图像特征匹配顾名思义则为对两幅指纹图像的特征点数进行匹配,计算出两者的相似度,以达到图像匹配的目的。在计算过程中,如果相似度在0.6以上,便可认为两幅指纹是同一个手指所采集。VC上显示的匹配界面如图4.5所示:图4.5特征点匹配界面如图4.5所示,匹配结果的相似度为0.83,大于0.6,可以确定为同一手指采集的指纹图像,匹配成功!在最后,将上有程序在计算机的VCC+程序上进行结合,并运行从录

55、入指纹开始到两副指纹图像的匹配,进行总体性能测验。在根据图像匹配相似度的数据给出结果后,在VC上分别输出匹配成功“same image”,以及匹配失败“different image”。 图4.6 指纹匹配成功图4.7指纹匹配失败在通过采集我校30人120多幅不同指纹图像,并对不清晰的图像进行删除,对每个指纹图像进行3次以上的匹配实验,经测试后记录数据,实验结果如下表所示: 表4-1VC指纹处理算法测试结果 总匹配(次)拒真(次)误识(次)拒真率(%)误识率(%)正确率(%)375401.06098.94由此表可看出,在VCC+程序下此套指纹识别算法在指纹图像相对清晰完整时,匹配结果准确性是可

56、行的。由于存在污渍的指纹我们没有进行实验,可能无法表现出本文的指纹识别算法的用途性,但是并不影响此算法的方向性。我们相信,在技术得到足够的发展后,指纹识别技术可以克服种种缺点,臻至完美。4.3.4 STM32系统下的测试 前文是在计算机VCC+系统下进行的测试,现在我们将其中的算法移植到STM32系统内,建立完整的嵌入式指纹识别系统,并进行最终测试。测试结果通过LCD显示器输出字符“same image”,“different image”显示如下图图4.8系统识别成功图4.9系统识别失败 在重新采集30人的不同手指的指纹图像并对这些指纹进行匹配测试实验,得到的结果经记录如下表所示:表4-2嵌

57、入式系统算法测试结果总匹配(次)拒真(次)误识(次)拒真率(%)误识率(%)正确率(%)3421805.26094.74 由表4-1和表4-2结果对比显示,搭载的系统平台不同,识别率也有所不同,在STM32搭载下的指纹识别系统的准确性明显降低。在确定算法兼容的情况下,分析结果显示是系统处理速度提高后,损失了部分特征值数量,降低了识别率。但是VC下的识别时间是嵌入式平台的一倍左右,嵌入式指纹识别系统的识别效率是有显著提高的。4.4本章小结 本章先是在VC下进行指纹识别系统的运行,再讲系统录入嵌入式系统中进行工作。并将得到的结果进行对比。得到结论,虽然基于嵌入式系统下的指纹识别系统的准确率略有下降

58、,但是明显的提高了识别速率,考虑到实用性以及发展性,我们可以确定,基于嵌入式系统的指纹识别技术是有效的。上海第二工业大学毕业论文论文总结第5章 论文总结在科技迅速发展的今天,身份认证技术在各个方向得到了广泛的发展,指纹识别技术作为生物识别技术中目前发展的最为快速的一种,现在已经越发的成熟,基于不同平台的指纹识别也存在各种各样的差别。在半导体行业迅速发展的大环境下,基于嵌入式系统的指纹识别技术同样发展迅速,科研人士开发出种类不同的嵌入式指纹识别系统,并应用于现实生活中的各个方面。本文先将生物识别技术进行了简单的介绍,并重点突出了指纹识别技术的原理以及其可操作性。然后通过所熟知的嵌入式系统重新对指纹识别技术进行梳理,广泛继承了各方有关指纹识别技术的算法,并选择较为高效的算法,在搭载嵌入式系统的条件下,设计出基于嵌入式的指纹识别技术,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!