基于niosii的高速嵌入式指纹识别系统

上传人:j****9 文档编号:45470829 上传时间:2018-06-16 格式:DOC 页数:6 大小:190KB
返回 下载 相关 举报
基于niosii的高速嵌入式指纹识别系统_第1页
第1页 / 共6页
基于niosii的高速嵌入式指纹识别系统_第2页
第2页 / 共6页
基于niosii的高速嵌入式指纹识别系统_第3页
第3页 / 共6页
基于niosii的高速嵌入式指纹识别系统_第4页
第4页 / 共6页
基于niosii的高速嵌入式指纹识别系统_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《基于niosii的高速嵌入式指纹识别系统》由会员分享,可在线阅读,更多相关《基于niosii的高速嵌入式指纹识别系统(6页珍藏版)》请在金锄头文库上搜索。

1、基于基于 NIOS II 的高速嵌入式指纹识别系统的高速嵌入式指纹识别系统1 引言引言指纹识别作为生物特征识别的一种,在身份识别上有着其他识别方法不可比拟的优越性:指纹具有唯一性、不可复制且便于采集等优点;随着指纹传感器性价比的提高。指纹的采集也相对容易。指纹识别技术是通过分析指纹局部特征,从中抽取详尽的特征点来可靠地确认个人身份。指纹的复杂度能提供用于鉴别的足够特征。具有极高的安全性。相对于其他身份认证技术。指纹识别不仅具有许多独特的信息安全性重要的是具有很高的实用性、可行性。已经广泛应用于刑事侦察、电子商务、金融以及安全性能要求较高的行业。传统的 PC 机+算法的指纹识别系统存在设计结构体

2、积大、成本高、处理速度慢等缺点;采用 DSP 组成的识别系统外围电路复杂、设计与调试周期长且系统的可扩展性差;而嵌入式指纹识别系统则具有体积小、外围电路简单、处理速度快、能移植到 PC 机开发的程序上实现片上系统等优点。本文给出一种基于 NIOS II 的高速嵌入式指纹识别系统。利用Altera 公司的 SOPC Builder 创建配置 NIOS II,添加自定义指令与系统逻辑结合构成功能强大的 SOPC 系统。硬件实现部分算法,在保证实时性的同时提高了数据的处理速度。在不改变外围电路,更新 FPGA 内部的电路设计可使系统功能升级。2 指纹识别算法指纹识别算法指纹识别算法包括指纹图像预处理

3、、指纹特征提取和指纹匹配 3 部分组成,主要算法流程如图 1 所示。图 1 系统指纹识别算法流程图将指纹图像分成许多小块,根据 Ratha 等提出的“沿着和横穿过指纹脊线流的灰度级方差大小有明显的不同”这一原理进行背景分离,目的是避免在没有有效信息区域进行特征提取、加快 NIOS II 处理速度、提高指纹特征提取和匹配精度等操作。指纹图像中脊线的变化较慢采用低通滤波器滤除方向中的噪声和错误:由式(1)归一化成 G(i,j);把 G(i,j)分成(WW)块,根据 Sobel 算子对每块按式(2)分别计算每个像素点(i,j)的梯度 dx(i,j)和 dy(i,j)。根据梯度值按式(3)计算每块的主

4、方向,再由式(4)得到像素(i,j)处的主方向 (i,j)。式中,Mo、VarO 是预先设定的指纹图像平均灰度和均方差;Var 是指纹图像的平均灰度值;C(i,j)是指纹图像的灰度矩阵;G(i,j)是归一化图像,目的是把不同源指纹图像的对比度和灰度调整一个固定的级别,为后续处理提供一个统一的图像规格。其中,Sx,Sy 为 Sobel 算子,dx(i,j)和 dy(i,j)是像素点(i,j)的梯度。这样可计算出每块的主方向(Vx,Vy)的值,(i,j)代表是以像素点(i,j)为中心的方块的局部方向,此方向将用于计算纹线的频率,并且作为特征点的信息,记为 。图像增强采用归一化、计算方向图、计算频率

5、、计算区域掩码、滤波等改善图像的质量、恢复脊线原来的结构。计算频率的目的是在不含特征值的小区域中(特别是中心点和三角点),把这一小块指纹图像在垂直于脊线方向的灰度值看成一个正弦状波形图,根据式(5)计算出波形的正弦函数的频率来表示脊线分布。把式(5)代入 中计算特征值,其中,k=0,1,l-1,l,w。Xk中所有极大值的平均距离 T(i,j)称为原图像的频率图,则波形频率为 F(i,j)=1/T(i,j)。计算区域掩码的目的是为了防止在指纹灰度图中部分质量较差的区域出现大量的伪特征对前面得到的(WW)块按式(6)计算脊线方向灰度方差来进行分割。其中,m 表示已得到的该块的方向数,c(imk,j

6、mk 表示像素(i,j)沿 m 方向上的第 k 点灰度,由公式得出块方向灰度方差掩码,Th 是预先设定的分割阈值,然后再进行 Gobel 滤波,G(i,j)与滤波函数卷积得到增强图像 E(i,j)如公式(7)输出。滤波针对 R(i,j)=1 区域,wg 为高斯滤波器窗口的大小。对 FPS200 指纹传感器采集图像的特性,采用 3x3 的模板从得到可靠的细化二值图像中根据公式(其中 R(1)=R(9),R(i)分别对应模板 M 检测点的相邻 8 个点。CN=2 时 M 为末梢点,CN=6 时 M 为分支点)将末梢点和分支点提取出来。记录其特征点的位置(x,y)、方向()和类型(s),从而得到指纹

7、的特征点集。考虑到指纹扫描和预处理阶段会引入噪声而产生大量伪特征点,根据特征点之间的关系识别伪特征点并去除。处理后将特征点集于特征模板保存到非接触 IC 卡中。根据 FBI 提出的细节点坐标模型的细节匹配即采用分支点和末梢点鉴定指纹具有简单、快速、鲁棒性等优点。为了解决指纹采集时指纹图像的旋转和平移问题。采用指纹局部特征的多边形方法确定参照点的细节点匹配算法。实验表明,这种匹配算法能解决指纹采集时造成的指纹图像旋转和平移等问题。3 系统总体设计系统总体设计系统采用 NIOS II 处理器、FPGA 嵌入式开发板以及 PS200 指纹传感器利用 SOPC Builder 生成系统。通过定制指令与

8、系统逻辑结合构成功能强大的 SOPC 系统系统主要实现指纹的注册和鉴别。注册是将指纹图像采集、指纹图像预处理、特征点提取、特征模板存储到非接触 IC 卡中同时用户的新 ID 号也存储到非接触 IC 卡中并输出显示。鉴别的前 3 部分与注册相同在特征点提取后将生成的指纹特征模板与从非接触 IC 卡中读出的指纹特征模板进行特征匹配。最后输出显示匹配结果。系统的原理框图如图 2 所示。PS200 用于实现指纹图像的采集,NIOS II 鉴别采集的指纹图像。系统硬件是在 FPGA (Altera Cyclone II EP2C20)中完成,硬件结构图如 3 所示。组件配置完成后,使用 SOPC Bui

9、lder 生成系统SOPC Builder 自动产生每个模块的HDL 文件同时自动产生一些必要的仲裁逻辑来协调系统中各部件工作将整个系统的硬件资源集中在 FPGA 中,也可以根据用户需要定制、更改模块。SPI 组件直接建立通信,DMA 组件实现指纹图像数据的大块搬移。为了 Tri-State Bridge 组件与外部存储器连接,Flash Memory 组件用于存放程序代码和硬件电路的配置信息。图 3 系统硬件结构图为了实现系统的注册和鉴别功能。将硬件系统主要分为指纹图像采集模块、指纹图像处理模块、输入输出模块和射频应答模块。其中,指纹图像处理模块是整个系统的核心,主要完成指纹识别算法运算,同

10、时还对其他的模块进行控制和监测。图像采集模块采用美国Veridicom 公司第三代基于电容器充放电原理的半导体指纹传感器 FPS200。FPS200 可输出像素 256x300、分辨率为 500 dpi 的灰度图像。FPS200 的图像搜索功能通过改变电容阵列的参数值可在 1 s 内扫描多幅指纹图像并自动选择质量最好的一幅大大降低了误识率(FAR)和拒识率(FRR)。FPS200 内置了 3 种通信接口的指纹设备:USB 口、微处理器单元接口(MCU)和串行外设接口(SPI)。系统采用 SPI 总线连接 NIOS II 和 FPS200。NIOS II 是主机FPS200 是从机且始终处于选通

11、状态。通过 SCK 串口时钟同步信号实现数据传输。NIOS II 和 FM1702N 通过复用地址和数据总线连接采用中断工作模式。指纹图像处理模块可用硬件实现部分指纹图像的处理。由于指纹识别算法处理指纹图像数据运算量大、循环数目多,而 NIOS II 的定制指令为 256 个因此可使用定制指令完成循环内的数据处理,加快数据处理速度。在处理指纹图像中频繁采用坐标转换(将图像的二维坐标转换为一维的存储地址),利用定制指令完成坐标转换,采用易于硬件实现的位移和加法运算替代乘加运算转换时间约为原来的 1/4;在计算方向图时需离散反正切变换,采用硬件实现的定制指令替代 C 语言中的 arctan 函数。

12、运算时间约为原来的1/1000;在图像增强中,对预处理后的图像进行 Gobel 滤波,可采用硬件实现的 Gobel 滤波器进行滤波,运算时间约为原来的 1/1000。其中。一些算法的基本模块可使用处理器的IP 内核直接完成,大大缩短了开发周期。将指纹图像处理模块中用软件处理费时多的关键算法通过定制指令完成。用 HDL 语言描述,并最终生成 VHD 文件大大提高系统的指纹图像处理速度。输入输出模块包括一些按键、LCD 和以太网等组件。NIOS II 对指纹图像数据处理后生成指纹特征模板,在指纹注册模式下,存入非接触 IC 卡中;在指纹鉴别模式下。与存储在非接触 IC 卡的特征模板相匹配。通过 L

13、CD 显示识别结果,也可选用以太网或 GPRS 发送到主控制站。射频应答模块是由基于 ISO14443 标准、Mifare 标准的三重认证算法的非接触式 IC 卡读卡机专用器件 FM1702 和 Philips 公司的 Mifare oneS50 卡(简称 M1 卡)组成。该模块采用 13.56 MHz 的时钟频率驱动 FM1702。并提供天线 13.56 MHz 的载波。M1 卡采用射频识别技术,每张卡有唯一的 32 位序列号。含一片容量为 8 KB 的 EEPROM 存储器。4 系统软件设计系统软件设计系统软件设计包括指纹识别模块和射频识别模块,采用 C 语言在 NIOS II 集成开发环

14、境(IDE),NIOS II 系统主程序流程图如图 4 所示。图 4 系统主程序流程图指纹识别模块的软件设计。用 C 语言编程指纹识别算法。利用 NIOS II 的定制指令。硬件替代算法中循环、坐标变换和滤波等复杂编程编写指纹质量评估子程序用于质量评估FPS200 采集的指纹图像,保证了系统的可靠性和稳定性。射频识别模块的软件设计主要包括 NIOS II 对读卡器件 FM1702(PCD)中的各个寄存器操作。通过天线发出寻卡信号,当有 M1 卡(PICC)进入天线的有效操作区时,为了防止对多张卡进行操作。设计了防冲突子程序,然后选择最先寻找到的卡进行读写操作。5 结束语结束语本文设计了基于 NIOS II 的高速嵌入式指纹识别系统。使用 NIOS II 的定制指令,采用硬件替代软件实现部分指纹图像的处理。大大缩短了指纹图像的处理时间和匹配时间。极大地提高了系统的运行速度。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号