您的位置 首页 发布

根据FPGA的指纹识别系统的规划与完成

为了提高指纹识别系统的实时性和处理速度,设计和实现了一种基于FPGA的嵌入式指纹识别系统。该系统采用处理器结合自定义硬件逻辑的方法,以下载到FPGA的MICOBLAZE嵌入式软核为系统控制模块,运用F

指纹辨认作为生物特征辨认的一种办法,在身份辨认上有着其他辨认办法不行比较的优越性:指纹具有唯一性、毕生不变性、难以仿制、易获取等长处。传统的指纹辨认体系依据PC机,尽管体系的辨认速度快,样本存储量大,但存在结构体积大、本钱高、移动功用差的缺陷;选用DSP组成的辨认体系又存在外围电路杂乱、规划开发时间长、体系可扩展性差的问题。

本文给出了一种依据Xilinx公司FPGA指纹辨认体系规划办法。运用Xilinx公司的EDK和SG(System Generator)开发软件,创立装备MICOBLAZE软核,并增加自界说指令与体系逻辑相结合构成完善的SoPC体系[1]。该办法选用硬件完结图画的预处理以及辨认的部分算法,具有灵敏的规划办法,可裁剪、可扩大,并具有体系软硬件可协同规划的特色,极大地进步了处理速度,满意了体系的实时性要求。

1 指纹辨认的根本原理

指纹辨认是指从已得到的指纹数据库中查找出与输入指纹相同的指纹数据,到达辨认输入者身份的意图。指纹辨认体系首要包含指纹的收集、指纹图画预处理和特征提取、特征模板存储、指纹图画的特征匹配以及输出显现匹配成果[2-3]。指纹辨认体系的根本原理框图如图1所示。

2 指纹辨认体系规划

2.1 体系硬件总体规划

体系首要完结指纹的录入和辨认。先经过指纹传感器获取指纹图画信息,再由指纹处理模块进行图画的预处理、特征提取等相关操作,终究保存到存取单元中树立指纹库。辨认时,相同经过指纹传感器录入待辨认的指纹,再经过指纹处理模块完结图画处理以及特征提取,然后将提取出的指纹信息与指纹库中信息进行匹配,显现匹配成果。

辨认体系由指纹传感器、体系操控模块、指纹处理模块、存储模块、通讯接口模块、输入输出模块等部分组成。指纹的收集经过指纹传感器完结,将指纹转换成具有必定灰度级的数字图画。在操控模块的作用下,经过接口电路的操控,将录入的指纹图画输入至辨认体系。
指纹处理模块首要完结指纹的预处理和指纹的特征提取功用。而输出模块则担任显现输入的测验者信息及指纹的比对成果。

存储模块分为静态存储器RAM和闪存Flash。其间静态存储器RAM作为体系寄存暂时数据的单元;闪存Flash用于寄存操控体系建档后的指纹数据和辨认比对程序。

操控体系用来和谐各个外设的作业,完结状况的操控以及设备间的数据通讯等操作。首要操作包含:电路的输入信号、对指纹传感器的发动、指纹数据的读取、指纹图画的处理以及数据的存储、匹配和成果的输出。

2.2 体系软件总体规划

依据体系的规划要求,需求树立相配套的指纹辨认库并对需求辨认的指纹进行辨认。规划中将预处理进程中耗时较大的部分用FPGA完结,将处理进程杂乱的运算用软件编程的办法完结,终究由MICOBLAZE软核完结软件的履行以及软硬件之间的和谐。指纹辨认体系的软件运转流程如图2所示。


3 指纹辨认体系的规划与完结

3.1 指纹传感器的规划与完结[4]

指纹收集卡是指纹辨认体系硬件的重要组成部分,由指纹传感器及其外围电路组成,其功用是收集指纹纹路图画。本体系选用美国富士通公司的MBF200%&&&&&%指纹收集传感器完结对指纹图画的收集。该指纹传感器最大长处是在确保指纹图画高分辨率的一起减少了传感器的尺度。

MFB200芯片内置的SPI接口能够极大地下降芯片对硬件的依靠,只需求5条信号线就能够与微处理器通讯,因而运用SPI接口办法将MBF200作为从设备与FPGA相互连接。

3.2 操控模块的规划与完结

和谐各个指纹处理子模块的运转,完结各个指纹处理子模块与体系片内MICOBLAZE嵌入式处理器以及存储设备之间的通讯,是操控模块的首要功用。

规划时指纹操控模块预留PLB总线主从端口各一个。在MICOBLAZE处理器经过指纹收集器取指纹图画数据,存储到静态存储单元RAM后,处理器经过PLB总线拜访指纹操控模块的总线从端口,设定操控模块的操作地址和操作类型。完结装备后,操控单元取得总线运用权,经过主端口发送相关指令给图画处理模块,让其依据处理器规则的处理办法,从给定的地址单元取出图画数据进行处理。终究将处理完结后的新数据存储到片内的FLASH或存储器中。

3.3 指纹图画处理模块的规划与完结

指纹图画处理模块包含:图画的预处理和图画的特征提取两个子模块。这些模块的核算量大,可是算法不是很杂乱。为了进步对图画信息的处理速度,将这些处理进程用硬件完结,即经过System Generator完结该模块的硬件电路规划。

图画预处理子模块包含:滑润、锐化、二值化以及细化四个部分[5]。指纹图画滑润处理是指纹预处理的第一步。考虑到在去除输入噪声的一起要较好地确保图画的明晰度,本模块选用了中值滤波的办法。中值滤波器的界说如式(1):

其间g(x,y),f(x,y)为像素的灰度值,即把f(x,y)范畴一切像素灰度值排序,求处于中心方位的值替代f(x,y)。在SG中完结框框图及滑润后的指纹图画如图3所示。

经过滑润处理后的指纹图画会变得含糊,经过图画锐化技能,使图画的边际、轮廓线以及图画的细节变得明晰。模块选用Sobel微分算子进行锐化处理,处理模板如式(2)所示:

在SG中完结框框图及锐化处理后的指纹图画如图4所示。

图画的二值化,便是把灰度图画转变为黑白相间的二值图画,因为收集到的指纹图画在不同区域深浅纷歧,如对整幅图画运用同一阈值进行二值切割,会形成很多有用信息的丢掉。故二值化子模块运用自适应部分阈值二值化的思维[6-7],既将图画切割成多个小块,对每个小块进行别离核算,部分阈值的选取参阅部分块的各个像素,并且选取的阈值应尽量使该块图画内大于该阈值的像素点数等于小于该阈值的像素点数,然后坚持很多有用信息。在SG中完结框框图,及二值化后的指纹图画如图5所示。

细化是把明晰但纹线粗细不均的二值指纹图画转化成线宽为一个像素的条纹中心点线图画的进程,以便后续的特征提取进程能准确定位。细化算法中将OPTA算法进行了优化,即满意收敛性、连续性、拓扑性和坚持性,又能在三叉点处彻底细化,使图画滑润,维护纹线的特征。

在图画的特征提取个子模块中,结合细化图画的特色,不对纹线做任何修正处理,在细化指纹图画上直接提取原始细节特征点集。在SG中完结框框图及二值化后的指纹图画如图6所示。特征端点用‘O’标示,特征分叉点用‘+’标示,中心点用‘*’标示。

3.4 指纹辨认体系的软件规划与完结

软件规划包含:各个体系外设的驱动程序,去伪特征点程序以及特征点匹配比对程序。经过C言语完结这些程序的编写,然后经过EDK中自带的嵌入式编译器SDK完结相关的调试。终究能够将编译好的BIT文件下载到FPGA中,完结相关的功用。因为本文评论的是SoPC的规划,在这里就不做具体介绍。

4 体系功用剖析及测验成果

4.1 体系的功用剖析

在规划时,将体系区分成了若干小的模块,便于完结和调试。其次将运算量大、可是完结相对简略的模块用硬件完结;首要经过SG完结相关的编程,在简略电路规划时一般运用Verilog言语直接编写,而有些特定算法完结时则经过Matlab言语辅佐编写完结规划。此外SG运用了Xilinx经过优化的IP核和库函数,很好地完结体系的图画滑润、锐化、细化以及特征点提取算法所要用到的运算操作。在确保体系实时性的一起,到达优化规划的作用;并且整个规划都是以图形化界面为主,能够依据规划需求轻松完结模块的增加与裁剪。

在完结比较杂乱的算法,如匹配比对算法、去伪特征点算法时,考虑到算法的杂乱,经过硬件完结需求占用很多的资源,所以将其以C言语的办法完结。并将其下载到MICOBLAZE软核中,便于处理器调用和完结。

4.2 体系的测验成果

表1是输入不同指纹情况下,即别离将左右手拇指和中指录入100次后的体系测验成果。从表1能够看出体系的均匀辨认率在93%左右,而误识率和拒识率都在3%以下,标明在功用上根本满意规划需求。

本文选用EDK与System Generator渠道,完结了依据FPGA的指纹辨认体系。规划中运用Xilinx公司的EDK和SG(System Generator)开发软件,完结M%&&&&&%OBLAZE软核的规划,并增加自界说指令与硬件逻辑,构成完善的辨认体系。该办法因为选用了可编程逻辑器件,使得规划灵敏、易于修正,大大缩短了规划的周期。此外该体系中指纹图画处理部分的完结都是选用硬件规划思维进行规划和编写,较大地改进了体系的运转速度,使体系在满意实时性要求的一起,也满意了数据高速处理的需求。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/196040.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部