ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:266.12KB ,
资源ID:4427998      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4427998.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(指纹识别系统设计Word文件下载.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

指纹识别系统设计Word文件下载.docx

1、1.2.2 研究内容:本系统采用xilinx公司Spartan 3E系列FPGA作为核心控制芯片,通过富士通公司的MBF200指纹传感器实现对指纹图象的采集,利用SPI接口传输到FPGA进行数据的存储,利用内嵌的MicroBlaze处理器对指纹图象进行灰度滤波、二值化、二值去噪、细化等预处理,得到清晰的指纹图象,再从清晰的指纹图象中提取指纹特征点并存入指纹数据库作为建档模版。指纹比对时,采用同样的方法,得到比对模版,然后将比对模版与建档模版利用指纹识别算法进行比对,得出比对结果。该识别系统可用于门禁、考勤、证件管理等很多方面,具有很广泛的应用前景。1.3 研究意义生物识别技术越来越多地被应用于

2、身份验证领域。指纹因其惟一性、终生不变性和较低的识别成本而成为目前使用最广泛的生物识别技术,在罪犯识别、社会保险、电子商务、信息安全等领域得到广泛的应用。便携式的指纹识别技术对我们的生活也具有深远的意义。例如,今后警察可在一个犯罪高发区截住一名嫌疑人,要求其提供指纹而不是身份证或汽车驾照。此人则将其右手的第一、二或第三个手指置于一个与无线PDA相连的传感器上,可以迅速将嫌疑人与以前的犯罪记录进行对比确认。这种识别技术对于被盗的手机用户也有好处。手机开机时要求用户通过一个快速的认证过程,用户将其手指划过传感器,如果通过认证则授权使用手机的各项功能。如果不是授权用户,手机便继续保持锁住。如果连续几

3、次认证无法通过,则手机会删除存储器中的关键信息然后关机。在语音邮件的应用中,当拨出一个语音邮件号码后,用户只需将手指划过传感器便可令系统识别。有了指纹识别后,便无需使用邮箱密码或个人识别号码。在今后的汽车应用中,用户可输入家庭成员指纹样本,经鉴权才能驾驶。注册过程十分简单:每个授权驾驶的成员将其手指置于传感器上,并将汽车的各种参数按个人爱好进行设置,然后将这些设置存入车载的电脑存储器中。当驾驶者进入汽车时,他/她将手指置于传感器上,启动识别过程。不到一秒钟,电脑将检测到的指纹模板与存储的模板进行比较,并建立一个与驾驶者相符的相关设置。指纹模板和匹配软件保存在汽车内的一个嵌入式模块中。当指纹匹配

4、成功时,汽车便按已编程设定的内部参数来控制后视镜、汽车座椅、无线基站以及车内空气环境。此外,还可控制驾驶速度,如果驾驶者仅为十来岁的孩子,则将速度限制在每小时55公里。这些功能的实现具有非常多的用处。可见,指纹识别技术的应用可以使我们的生活更加方便快捷,更加安全。同时本项目重点研究基于FPGA的指纹识别系统,利用FPGA高集成度化,低功耗,短开发周期等优点,实现系统的ASIC,具有更加深远的意义和广阔的市场商机。第二章 系统总体设计2.1 硬件框图及各模块介绍:系统采用xilinx公司Spartan3E 系列FPGA作为核心的控制和运算芯片,数据采集模块由富士通公司的MBF200电容式指纹传感

5、器来完成,MBF200指纹传感器可以完成指纹图像的采集并用其自带的A/D转换器将指纹图像转换成数字信号,利用SPI接口传送至FPGA进行存储。由FPGA处理采集来的数据,由于FPGA内部存储空间太小,无法存储一张完整的指纹图像,所以将指纹数据暂时存储在SDRAM中。当处理图像数据时,FPGA通过读取SDRAM的指纹数据,并在其逻辑单元中进行滤波、灰度归一化、二值化、细化和特征值提取等操作,从而获得重要的指纹图像信息。系统操作时首先利用键盘选择指纹存储模式,将获得的指纹图像信息存储到FLASH中作为指纹数据库,然后切换到指纹识别模式,再利用上述方法获得指纹图像信息。通过FPGA调用指纹数据库中的

6、数据,寻找与之匹配的指纹信息,最后将比对结果在LCD中显示。本系统还可利用RS232与计算机进行通讯,可以方便扩展,使得系统可以应用到更多的领域。系统框图如下图1。图1 系统框图2.2 项目关键技术及创新性:2.2.1 传感器的选择目前,市面上存在很多种类的指纹传感器,应用最广泛的有光学、电容、电磁波、压力、微电机和热学指纹传感器。而本系统采用美国富士通公司的MBF200电容指纹采集传感器来实现对指纹图像的采集,该款指纹传感器采用标准的CMOS技术,含有8位A/D转换器,工作在3.3V5V的宽电压范围,能自动检测是否有指纹到达传感器,并实现在线采集,它的最大优点是在保证指纹图像高分辨率(500

7、dpi)的同时大大减少了传感器的尺寸。利用此传感器可以完全满足系统的设计任务。2.2.2 指纹图像的预处理图像预处理的主要步骤包括:灰度值归一化、图像分割、滤波、图像增强、二值化、细化等。预处理的目的是改善输入指纹图像的质量,以提高特征提取的准确性。原始指纹图像一般存在噪声污染、脊线断裂或脊线模糊等问题,需要进行图像增强(使用滤波技术)以改善质量。由于指纹特征仅包含在脊线的形状结构中,所以,通过归一化、二值化和细化把深浅不一、宽度不同的脊线变成灰度相同、单像素宽的细脊线,以便于特征提取。(1)图像归一化归一化处理是对原始指纹灰度图像上每一象素点的一种操作,人为改变它的灰度值,消除指纹录入传感器

8、表面的残留噪音以及手指按压力差异对指纹图像的影响,把图像分为的子块,对于每一子块求其灰度均值Mi和方差Vi。子块灰度均值和方差的计算按如下公式: (1) (2)其中I(x,y)为子块中象素(x,y)的灰度值,子块归一化的目的是调整均值和方差到一个期望的范围,如果用G(i,j)表示(x,y)点的归一化后的值,那么第I个子块归一化后灰度值为: (3)如果:,则把灰度值为全部归0作为背景处理,这样可以有效地去除传感器表面残留纹印引入的噪声。其中,均为期望的均值和方差,M为实验后得到的门槛值,为像素点的灰度幅度,经比率调制后,加到期望的均值上。使得原来方差大的点归一化后幅度更大,反之相反;而灰度值大或

9、者小于均值的点,归一化后继续大或小于期望均值,而且归一化为点操作,不会改变指纹的纹理结构。(2)图像分割在采集到指纹图像后,首先要进行指纹图像分割,即把图像分割为指纹区与非指纹区,目的是割除白背景区和背景区,保留前景区,尽可能保留模糊区中能恢复的部分,以便后续处理能够集中于有效区域,这不仅能提高特征提取的精确度,还能大大减少指纹预处理的时间。目前常用的指纹图像分割的一般方法是:一种是基于图像灰度特性的灰度均值分割,这种分割容易把有效部分割除掉,而把用力重的模糊不清的区域保留;另一种是基于灰度方差的阈值分割,这种单一分割方法不适合低对比度的图像;第三种是基于指纹纹理的方向性,利用方向图对指纹图像

10、进行分割。这种方法的分割效果依赖于所求点方向图及块方向图的可靠性,对图像灰度的对比度的高低并不敏感。但是对于指纹不连续、单一灰度等难以正确估计的区域及中心、三角附近,方向变化剧烈的区域,方向图分割则难以取得令人满意的效果。我们将指纹图像分为前景区、背景区、模糊区和白背景区,其中白背景区是指指纹图像中不含指纹纹线的边界区域,这类区域也是应该包括在割除的区域,所以为了能正确划分这4类区域,更准确地割去白背景区和背景区,并保留前景区和模糊区中可恢复的区域,把整个分割过程分为3级,分割的基本单元为大小不相交叠的块。第一级分割为白背景区分割,第二级分割为模糊区分割,第三级分割为背景区分割,白背景区灰度均

11、值很低,而且由于没有纹线峰和谷的变化,方差也很小,因此白背景区的判断采用:(1) 块灰度均值:(2) 块灰度方差第一级分割的判决为:当mean小于预定义的阈值T1且variance也小于预定义的阈值T2即同时满足上述两个条件时,该块为白背景块,删除掉。第二级分割的判决区域为1级分割后保留下来的非白背景区域,其目的是找出模糊区,其判决方法为:设定特征量:表示块中灰度值大于或等于块灰度均值的点数;表示块中灰度小于块灰度均值的点数;块中灰度值大于或等于块灰度均值的所有点灰度之和;块中灰度值小于块灰度均值的所有点灰度值之和。当Z小于预定义的阈值T3时说明该块为墨迹很浓,峰和谷被墨迹粘连混淆的区域应去除

12、。第三级分割设定特征量,当对比度contrast1的值小于预定义的阈值T时,将其设定为背景区域;否则,作为前景区域,保留其灰度值,以作后续处理。(3)指纹图像二值化二值化,就是把灰度图像转变为黑白相间的二值图像,通过设定一个全局阈值对增强后的指纹图像转变为用0、1两种灰度表示,0代表脊线,为黑象素,作为前景。1代表谷线,作为白象素。处理方式如下:由于采集到的指纹图像不同区域深浅不一,如对整幅图像使用同一阈值进行二值分割,会造成大量有用信息的丢失。 这里我们使用自适应局部阈值二值化的思想,既将图像分割成多个小块,对每个小块进行分别计算,局部阈值的选取参考局部块的各个像素,而且选取的阈值应尽量使该

13、块图像内大于该阈值的像素点数等于小于该阈值的像素点数,这样可以使阈值具有自适应性,不会使大量有用信息丢失。自适应局部阈值二值化的流程图如图2:图2 自适应局部阈值二值化流程图图2中T为该块指纹图像的平均灰度值Nh、Nl分别为第(k,l)块指纹图像中灰度值大于等于T和小于T的像素点数,= w w 10 % ,w 是分块尺寸(像素) 。(4) 图像的细化细化是把清晰但纹线粗细不均的二值指纹图像转化成线宽为一个象素的条纹中心点线图像的过程,以便后续的特征提取过程能精确定位。细化算法中的OPTA算法满足收敛性、连续性、拓扑性和保持性,有较好的细化效果。但该算法在三叉点处不能完全细化,且细化后的图像不够

14、平滑,毛刺较多,扭曲较大。针对其算法的不足进行改进,重新构造模板,采用统一模板,左上角区域为消除模板区域。X1 图3:指纹图像消除模板图4 指纹图像细化保留模块保留模板和消除模板如图3、4所示,1表示前景区,0表示背景区。细化时,对每个像素抽取其临域所需的像素点。先依次与消除模板比较,如果与任意一个都不匹配则保留,否则删除。整个改进算法克服了原算法的不足,有效清除了毛刺,对指纹图像能进行充分细化。2.2.3 指纹图像特征提取本设计结合细化图像的特点,提出了一种基于非彻底细化图像的指纹细节提取算法。在不对纹线做任何修复处理的情况下,在细化指纹图像上直接提取原始细节特征点集,得到初步的特征提取结果

15、;然后分析图像中存在的各类噪声及其特点,结合指纹细节特征点固有的分布规律和局部纹线方向信息,针对不同的噪声采用针对性算法,并利用伪特征点在数学形态学上的分布规律,将各类噪声引起的伪特征点分别予以删除,而将最终保留的特征点集作为真正特征点的集合。改进的细节特征提取算法的具体思想如下:(1) 原始细节特征点集的提取首先在细化指纹图像上直接进行细节特征提取,得到原始的细节特征点集P1和P2,其中P1 为纹线端点集合,P2为分叉点集合。这些点集中可能含有大量的伪特征点需进一步处理。(2) 短线与纹线间断的删除对细节特征点集P中任意两个纹线端点i1 P1, i2 P1 , 如果它们之间的距离(像素点数)

16、 小于D1 ,且0,则认为该两点为伪特征点,予以删除。(3) 小孔的删除对细节特征点集P中任意两个纹线分叉点j 1 P1 , j2 P2,如果它们之间的距离(像素点数) 小于D2,则认为该两点为伪特征点,予以删除。图5 MBF200内部结构其中256x 300点传感阵列用于产生感应电压,功能寄存器用于对芯片进行操作控制,控制电路用于传感器与外部接口电路的控制,主要负责数据的读出与写人,地址索引寄存器与数据寄存器分别用于对功能寄存器的地址选择及数据的读写,采样保持及AD转换电路用于对传感阵列所产生的电压进行采样。本设计采用的是SPI接口模式传输只用到MOSI,MISO两个接口进行数据的读取。MB

17、F200的256X300传感器阵列每一列有两个采样保持电路,每次捕获一行指纹图像数据。行捕获分为两个阶段,第一阶段,将电容板的被选行充电到3.3V或5V,在充电的同时,一个内部信号使能一个采样保持电路以采样被选行的电容单元电压;第二阶段是传感器板放电阶段,放电快慢由放电电流寄存器决定。放电阶段结束后,可由一个内部信号使能另一个采样保持电路去采样电容单元的最后电压,充电电压与放电电压之差就是所要测量的有用传感信号电压。行捕获结束之后,接着对该信号进行数字化,从而完成一次采样。实际上,该芯片的灵敏度是由放电电流和放电时间寄存器来调节的。在实际应用当中,可以通过给MBF200内部控制寄存器赋值,来调

18、整指纹图像的清晰程度。3.2 Spartan-3E开发板介绍Spartan-3E开发板的主要特征如下:1) 多达232个用户I/O口,320个FPGA封装管脚超过10000个逻辑单元。2) 4Mbit的Flash 配置PROM。3) 64个宏单元的XC2C64A CoolRunner CPLD。4) 64 M Byte (512 Mbit) of DDR SDRAM, 16 数据接口, 100+ MHz。5) 16 M Byte (128 Mbit) of 并行NOR Flash (Intel StrataFlash): FPGA配置存储,MicroBlaze代码存储/映射。6) 16 M b

19、its of SPI serial Flash (STMicro):FPGA配置存储,MicroBlaze代码存储/映射。7) 16字符2线式LCD显示屏。8) PS/2鼠标或键盘接口,VGA显示接口。9) 10/100以太PHY(要求FPGA内部具有以太MAC)。10) 2个9管脚的RS232端口(DTE和DCE两种类型)。11) FPGA/CPLD下载/调试USB接口。12) 50Hz时钟晶振。13) 1线式的SHA-1位流复制保护串行EEPROM。14) Hirose FX2扩展连接口。15) 3个管脚扩展连接器。16)4个SPI-DAC转换器输出管脚。17) 2个SPI带可编程增益AD

20、C输入管脚。18) ChipScope软件调试接口。19) 带按钮的旋转编码器。20) 8个单独的LED输出。21) 4个滑动开关,4个按钮开关。22) SMA时钟输入。23) 8管脚插槽辅助晶振。3.3 开发环境介绍本设计采用的开发环境有Xilinx的集成软件环境ISE和32位嵌入式处理器集成开发环境EDK,两者配合适用,本设计中我们用EDK在FPGA内部嵌入一个32位处理器,然后将此处理器作为一个子模块,在ISE中引用此子模块,来完成整个设计。在这里简要介绍ISE和EDK开发环境。ISE是Xilinx公司CPLD,FPGA的集成开发软件,它提供给用户从设计输入到综合、布线、仿真、下载的全套

21、解决方案,方便与其他EDA工具借口。通过新的局部时钟布线功能,支持再200Mhz以上的高速存储器接口。同时还提供Red Hat Linux的支持、高速设计能力、易于使用的布局规划和引脚管理增强特性。这些特性结合起来极大的缩短了客户的总体设计周期和设计成本。与Foundation相比,ISE除了增强新器件支持和优化性能外,有如下一些方面的改进:(1)XST和Synplify流程均可以支持语言的混合输入。(2)在Process窗口可以直接选择添加或创建新的设计文件。(3)便捷的库元件信息查询。使用原理图编辑器时,在Symbols栏中选中一个库元件,单击Symbol Info按钮,系统就会从在线文档

22、中找到并显示该元件的详细信息(4)把波形编辑器Testbencher集成到Project Navigator中。(5)支持第三方的文本编辑器(如UltraEdit、CodeWright等)。其中,原理图输入可使第三方软件ECS,HDL综合可使Xilinx开发的XST, Synopsys的FPGA Express和Synplicity的Synplify/Synplify Pro,测试台输入可使用图形化的HDL Bencher,状态图输入可使用StateCAD,前、后仿真则可使用Modesim XE(Xilinx Edition)或Modelsim SE。一般在Synplify中建立工程、输入文件

23、和综合,在Modelsim中新建工程并作仿真,用ISE的Design Manager,再运行JTAG编程器下载。第四章 硬件设计4.1 指纹采集模块本设计中采用的是富士通的MBF200指纹传感器,MBF200硬件框图如图6所示,采用SPI模式,所以MBF200与FPGA只通MISO,MOSI,/S/C/S,SCLK四个端口相连接。/S/C/S为MBF200的使能端,SCLK为MBF200的系统时钟,当需要采集指纹信号时,FPGA向/S/C/S发送低电平,则MBF200开始工作。FPGA通过MOSI向MBF200发送控制命令,控制MBF200的数据输出方式及传输模式。VDD3:1为数字电源输入,

24、VDDA2:1为模拟电源输入,VSS3:1为数字地,VSSA2:1为模拟地,所以如图所接。而为了防止数字信号对模拟信号的干扰,用10欧电阻隔开。并且数字电源输入与相应的数字地之间均接有电容用来阁除非直流信号。为了防止数字地与信号地之间的干扰,本设计采用0欧电阻隔离。0欧电阻相当于很窄的电流通路,能够有效地限制环路电流,使噪声得到抑制。电阻在所有频带上都有衰减作用(0欧电阻也有阻抗),这点比磁珠强。 图6 MBF200硬件连接电路MODE1:0引脚是用来设定MBF200所用接口模式的,在本设计中,置MODE1:0为01,选定SPI传输模式。在SPI模式当中,AIN,ISET,FEST三个接口都不

25、会用上,但根据MBF200内部电路结构,最好接电阻与地相接。4.2 指纹数据处理模块由于指纹数据处理涉及很多算法,运算量大,所以本系统在Spartan3E开发板上嵌入一个Microblaze软核来进行数据处理,首先将SPI口传输进来的数据送人SDRAM进行存储,开发板上带有32M的SDRAM,完全可以存储很多张指纹数据。在创建指纹数据库时,系统从SDRAM中取出数据,放入Microblaze进行处理,再将处理后的指纹数据信息存入FLASH组建指纹数据库。在比对模式时,利用Microblaze进行数据处理后的数据扔存入SDRAM,然后从FLASH和SDRAM分别提取指纹图像特征数据进行比对,得出

26、比对结果。4.3 指纹数据存储模块图7 FLASH输入存储模块硬件连接图strataFlash与FPGA管脚连接图如图7所示。CE2:0为strataFlash使能信号输入端口当只用一个片子时,CE2:1接地只用CE0控制。由于在本设计中,FPGA与FLASH之间的数据传输D0与FPGA对MBF200的控制线MISO复用,所以从FLASH里取数据与控制MBF200产生冲突,时序不好控制,所以本设计中将会给BYTE#置高关闭A0,将strataFlash置于X16模式。D7:0在写模式下,传送控制命令在写CUI时,在缓冲器写和编程模式下。在读模式下,D7:0发送CFI、数据阵列和标志数据。状态寄存器的数据将不通过这8位传输。VPEN是锁定使能输入,当VPENVPRNLK时,内存将不允许写入数据或者命令。图8 FPGA从FLASH中读取数据信息的时序图单字读时序图如图8所示,FPGA使能读FLASH后,发送所要读取数据的地址,OE#置低使能FLASH输出,经过

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2