NiosⅡ实现指纹识别系统.pdf
《NiosⅡ实现指纹识别系统.pdf》由会员分享,可在线阅读,更多相关《NiosⅡ实现指纹识别系统.pdf(29页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 基于基于Nios的指纹识别系统的指纹识别系统 1 三等奖三等奖 基于Nios的指纹识别系统 基于Nios的指纹识别系统 大学院校:重庆大学通信工程学院 参赛队员:王骥 吴良 刘勇 指导教师:何伟 大学院校:重庆大学通信工程学院 参赛队员:王骥 吴良 刘勇 指导教师:何伟 一.设计概述 一.设计概述 20世纪60年代,以电子计算机技术为代表的信息技术的逐步兴起,计算机技术开始进入指纹识别领域,为指纹鉴定的自动化带来了新的解决思路、新的实现方法和新的处理途径。有关部门和多所大学的科研机构也开始积极着手研究如何利用计算机来分析和处理指纹,很快就将这一设想变成了现实。这种能够用计算机实现指纹鉴定自动
2、化的系统就是“自动指纹识别系统”(Automatic FingerPrint Identification System,简称AFIS)。人们在社会交往的过程中,往往需要进行身份认证。常见的各种身份认证手段如钥匙、密码口令、证件和IC卡等,都是通过以“物”认人的方式,间接地实现对相关物件持有人的身份确认。这种方法精确性很低,安全漏洞较大。现实生活中各种伪造证件和信物的例子屡见不鲜,密码被破译或盗用也时有发生。随着图像处理和模式识别技术的发展,基于生物特征的识别技术成为蓬勃发展的新技术之一,而由于指纹特征具有独特的可靠性、稳定性和方便快捷的特点,成为研究与应用的热点。指纹识别是模式识别领域中使用
3、最早,也是最为成熟的生物鉴定技术,它是集传感器、生物技术、电子技术、数字图像处理、模式识别于一体的新技术。在国外,已经有很多指纹自动识别系统投入实际生产生活中,但目前指纹识别技术还不是十分完善,我国在指纹采集、算法研究等方面的技术还比较落后,因此研究指纹识别算法和指纹识别系统有重要的理论价值和实际意义。Nios II 嵌入式处理器设计大赛嵌入式处理器设计大赛2007优秀作品优秀作品 2 具有识别指纹特征的系统在保安、司法、军事、财经和信息服务等领域都具有广泛的应用前景。各种门禁系统和需要认证的场合,都需要对人员进行识别,具有识别人体指纹的嵌入式特征识别系统充分利用了生物特征,适用范围广泛,如学
4、校,工厂企业的考勤,住宅小区的住户确认等等。近二三十年的警用AFIS的研究和实践为民用AFIS打下了良好的技术基础。特别是现有的民用AFIS已经达到操作方便、准确可靠、价格适中的使用阶段,指纹识别产品已经开始走入了我们的日常生活中。通过取代个人识别码和密码,指纹识别技术可以阻止非法用户的访问,可以防止盗用ATM、蜂窝电话、智能卡、桌面PC、工作站及计算机网络;在通过电话、网络进行的金融交易时进行身份认证;在建筑物或工作场所,指纹识别产品可以取代钥匙、证件、图章和IC卡阅读器。随着微电子技术的发展,可编程逻辑器件规模越来越大,速度越来越快,功能越来越强。目前已经有若干种FPGA器件支持嵌入式处理
5、软核,为基于FPGA的硬件开发提供了更多的选择。Nios II是Altera公司开发的一种采用流水线技术、单指令流的RISC嵌入式处理器软核,可嵌入FPGA内部,与用户自定义逻辑结合构成一个基于FPGA的片上系统。与嵌入式硬核相比较,嵌入式软核拥有更大的灵活性。FPGA的高速性恰恰满足了指纹识别系统对速度的要求。选择Nios II软核处理器的原因:1)利用Nios II软核处理器可以通过更大规模的系统集成、FPGA/CPU的优化来降低成本;2)Nios II软核处理器比较灵活,设计周期比较短,而且可以通过升级延长产品生存时间;3)用户自定义指令和自定义逻辑可以加速复杂的算术运算和逻辑;4)用N
6、ios II C2H编译器与没有加速的软件相比,性能上提高40倍以上。二.功能描述 二.功能描述 本设计主要是基于Nios II软核处理器和Altera的FPGA芯片设计一个指纹识别系统,它能够实时采集指纹图像信号,提取出指纹特征,然后与数据库中的指纹特征进行匹配,从而实现指纹识别。整个系统设计主要包括指纹图像采集、指纹图像预处理、指纹特征提取、指纹特征匹配以及数据库等五部分。1.1.指纹图像信号的采集 指纹图像信号的采集 指纹采集模块采用自制的指纹采集器,其指纹传感器为美国Veridicom公司推出的第三代产品FPS200。其传感器阵列数目为256*300,分辨率为500dpi。由于采用图像
7、搜索专有技术(ImageSeek)和高速图像传输技术,因此可以获得各种类型手指的高质量指纹图像。自制的指纹采集器主要完成的功能有:(1)捕获阶段。电容器阵列的每一列与两个采样/保持电路相连,每次只能捕获一行的指纹图像。捕获过程分为两个阶段:在第一阶段,被选择行的各电容器被充电到UDD,基于基于Nios的指纹识别系统的指纹识别系统 3 利用第一个采样/保持电路将该行中每个电容器的充电电压存储下来;第二阶段,上述电容器向电流源放电,放电速度与放电电流成正比,经过一段放电时间后,有第二个采样/保持电路把上述电容器的最终放电电压存储下来。通过测量充电电压和放电电压的差值(U),既可得到每个电容器单元的
8、电容量C。(2)A/D转换。对代表该行中各单元电容量的模拟信号进行A/D转换,即可获得这一行指纹图像的数字信息,存储到寄存器中,然后进行下一行的捕获。(3)指纹信号传输。FPS200有3种总线接口电路(USB接口、SPI接口、MCU接口),本设计采用SPI接口将寄存器中的数字信息传输到DE2开发板的SDRAM中。2.2.指纹图像预处理 指纹图像预处理 指纹图像的预处理过程,实际上是指纹图像增强的处理过程。精确的指纹识别高度依赖与对指纹脊线纹理结构、细节特征信息的辨认。但由于手指本身、采集条件等各种原因的影响,从指纹传感器上采集到的原始指纹图像会不同程度地受到采集时的设备环境和被采集人的工作环境
9、及生活环境等综合因素的影响,图像中往往包含有很多噪声,造成指纹图像质量严重下降。因此,采集到原始指纹图像后,要对图象进行预处理。指纹图像预处理过程包括了指纹图像的归一化、方向提取、频率提取、滤波、二值化、细化等环节组成。1.归一化。指纹图像的归一化的主要目的是降低沿脊线和谷线方向的灰度的变化程度,但不改变脊线和谷线结构,也不会改变原有指纹图像中的脊线纹理信息,使图像具有预定的均值和方差,有利于方向图和指纹频率的获取。但是归一化过程也会把一些图像背景中的杂散信号增强。公式2.1为归一化公式,而公式2.2是为硬件实现方便而对公式4.1的改进。200200(,)(,)(,)(,)VAR I i jM
10、MI i jMVARG i jVAR I i jMMVAR+=其它2.1 00(,)(,)(,)(,)MVARI i jMI i jMG i jMVARI i jM+=其它2.2 2.指纹方向提取。方向图提取的基本思想是:在原始指纹灰度图像中计算每一点(或每一块)在各个方向上的某个统计量(如灰度差、梯度等),根据这些统计量在各个方向上的差异,确定该点(或该块)的方向,从而获得指纹方向图。算法过程如下:设(,)f i j表示指纹象素点(,)i j处的灰度值。1)将图像分成大小为WW互不重叠子块,这里W的大小包含一条脊线和一条谷线为宜,本文W取10;Nios II 嵌入式处理器设计大赛嵌入式处理器
11、设计大赛2007优秀作品优秀作品 4 2)采用Sobel算子计算图像中每个象素点(,)i j在X方向和Y方向上的梯度(,)xG u v和(,)yG u v,其Sobel算子的模板系数如图2.1所示:图2.1 Sobel算子模板系数 3)计算以(i,j)为中心的WW子块的局部方向(i,j):4)对得到的指纹方向图进行平滑 3.指纹频率提取。在指纹图像的局部非奇异区域内,沿着垂直与脊线方向(即纹线的梯度方向),指纹的脊线和谷线象素点值的变化大致构成了一个二维正弦波。指纹频率提取算法过程如下:(1)将归一化后的指纹图像平均分成WW的互不相重叠的子块,本文W取16;(2)针对每个图像子块,其中心为(,
12、)i j,以子块中心点(,)i j的指纹方向(,)i j为短轴,作一个尺寸为lW(3216)的长方形方向窗口(如图4.14);(3)对于每个长方形方向窗口,按照下列公式计算沿垂直于指纹图像子块中心点方向(,)i j(即指纹的梯度方向)的灰度离散信号X0,X0,Xl-1;由于Xk大致组成了一个二维的正弦波,通过计算此正弦波波峰间的距离的平均值0L,可以得到正弦波的频率01/fL=。(4)一般对于分别率为500dpi的指纹图像,其频率范围在1/25,1/3。4.有效区域提取。指纹的有效区域是指纹图像预处理的一个重要组成部分。有效区域的提取也就是将指纹图像的前景和背景区分开来的过程,如果对图像不进行
13、有效区域的提取,就会耗费无用的时间处理背景区域,同时将产生大量的伪细节。所以,指纹的有效区域的提取是必不可少的,其主要任务就是在处理过程中丢弃背景,从而减少伪特征点的数量。针对指纹图像子块中,如果为有效的指纹区域必须满足以下四个条件:1)沿着子块中心点的指纹梯度方向,组成的二维正弦波中,最大波峰值maxG和最小的 X轴方向 1021-10-20-1Y轴方向 120-1-100-21 基于基于Nios的指纹识别系统的指纹识别系统 5 波谷值minG的差值需要大于一定的阈值(T);2)子块中的二维正弦波的频率在一定的区域范围内,本文取1/25,1/3;3)子块中的二维正弦波的幅值的方差需要大于一定
14、阈值(D);4)在子块内部,沿指纹方向和垂直于指纹方向上的指纹灰度和差值较有明显的差别。5.Gabor定向滤波。为了大幅度提高指纹图像质量,本设计将采用方向滤波增强的方法。Gabor滤波器的数学表达方式:222211(,)exp()exp(2)22xyxyxyG x yifx=+,去掉其奇分量简化表达式,然后将其旋转到与指纹方向一致,以指纹图像中的每一个像素点为中心,以WW为窗口的子块,得到块内每个象素点沿指纹纹理方向的Gabor增强系数。6.二值化与去噪。指纹图像的二值化是将一个具体指纹灰度图像生成另一个只有两种色调的黑白分明的指纹图像的过程。二值化将采用“局部自适应阈值法”,即以图像中某一
15、块的总体灰度来调整阈值。其过程为:1)在指纹的有效区域内,把指纹图像分成WW块(本设计W取8);2)针对每个子块,计算块内的灰度均值;3)针对该块内的所有像素以灰度均值为阈值进行二值化。4)二值化过程可能引入噪声,所以对二值化后的指纹图还需进一步进行滤波去噪。目的是消除二值化造成纹线的孔洞、缺口和凸出。7.细化。所谓指纹图像纹线的细化,是把清晰但粗细不均的二值指纹图像转化为单像素的条纹中心点线图像的过程。本设计采用Hilditch算法。这种方法需要对整幅图像作多次扫描,每次扫描过程中,一些满足给定条件的像素点被标记,在本次扫描结束后,再将这些标记像素点删除,然后开始下一次扫描,直到在扫描过程中
16、再没有像素点被标记为止,整个细化过程结束。上述功能算法已经在C语言下仿真通过,接下来将并根据各模块的耗时情况,采用不同的方案实现各模块。由于指纹图像的归一化、频率提取、方向提取以及方向滤波,嵌入式Nios II系统中直接实现,耗时无法接受,故本系统采用自定义硬件逻辑、自定义指令和C2H编译器来实现加速。而图像的二值化和细化处理耗时较少,可直接在Nios II系统中软件实现。而且在整个算法中,涉及到很多乘法、开方、余旋以及浮点运算,大大影响了其处理速度,故本设计采用Nios II 处理器的自定义指令,可以把用户自定义的功能直接添加Nios II CPU的算术逻辑单元中,使这些计算量较大、耗时多的
17、运算在硬件中实现。3.3.指纹特征提取 指纹特征提取 通过指纹图像的预处理可得到高质量的指纹图像,要将指纹的各种特征找出来,并且精确地加以描述,这个过程称为特征提取过程。指纹的原始图像经过方向滤波、二值化和细化后,得到细化图像,然后根据细化图上每个点的交叉情况,确定出端点和分叉点这两种特征Nios II 嵌入式处理器设计大赛嵌入式处理器设计大赛2007优秀作品优秀作品 6 点,提取出特征点相应的坐标位置、种类、方向等有用信息。指纹细节特征点有多种类型,从其概率分布来看,以二分叉点和端点最为常见,其它类型的细节点一般较少出现。1、特征点提取 对于细化图像,像素点的灰度值只有两种情况(0或1)。设
18、0为背景点灰度,1为纹线前景点灰度。对于细化图像上的任意一点P,其八领域(图2.2)的交叉数NC定义为:81112NkkkCPP+=,其中91PP=若()1NCP=,则P点为端点;若()3NCP=,则P点为叉点;否则为连续点或孤立点,不计入特征集合。(a)(b)(c)(d)(e)图2.2 特征点示意图 2、伪特征点去除 未经修复处理的细化指纹图像中,主要存在以下几类伪特征(图2.3)图2.3 基本伪特征结构类型 针对不同的伪特征点需采用不同的算法去除:1)消除图像的边缘效应;2)删除图像的模糊部分带来的伪特征点;3)删除由纹线断裂造成的伪特征点;4)删除小孔造成的伪特征点;(a)短线(b)小孔
19、(c)毛刺(d)小桥(e)断线 基于基于Nios的指纹识别系统的指纹识别系统 7 5)删除毛刺引起的特征点;6)删除小桥造成的伪特征点。这部分的算法已经在C语言下仿真通过,由于其算法比较简单,没有耗时比较大的运算,故其处理速度已经符合实时的要求,所以这部分的算法,我们将考虑直接在Nios II 中实现。4.特征匹配 4.特征匹配 指纹细节特征匹配是指纹识别算法的核心部分,是一个重要的研究课题,特征匹配的精确程度和速度的快慢,对整个指纹算法的性能影响较大。特征匹配主要解决对从两幅给定的指纹图像提取的特征信息集合进行匹配,判断这两枚指纹是否来自同一枚指纹。本设计将采用一种典型的基于特征点坐标模式的
20、点模式匹配算法,利用三个临近特征点组成的三角形结构,进行基准点定位与转换参数求取,通过坐标转换,在极坐标系中进行匹配,并在匹配过程中通过引入多判决条件和可变界限盒匹配算法,提高了识别率。算法实现:1)对于输入点集Q中的任意一个特征点Qi和模板点集P中任意一个特征点Pj,分别在输入特征点集Q和模板特征点集P中搜索距Qi和Pj最近的两个特征点分别为12(,)iiQ Q和12(,)jjPP。这 样 在 由 点12(,)jjjP PP和12(,)iiiQ Q Q分 别 组 成 了 两 个 三 角 形12jjjP P P和12iiiQQ Q 2)判断两个三角形是否全等,而且旋转方向一致,则以该点为极点建
21、立极坐标,然后用采用可变界限盒的方法来进行特征点的匹配 3)只 要 满 足 以 下 两 个 条 件,我 们 则 认 为 匹 配 成 功:mmNT;2100mNNM=+sT,其中mN:为两个特征点集合的匹配点对数;mT、sT:在两种条件的阈值;N、M:两个特征点集的特征数量。这部分的算法也已经在C语言中验证通过。对于简易指纹验证服务系统,该部分的工作将在NiosII中实现。5.数据库 5.数据库 由于时间和条件的限制,本系统才用简易指纹验证服务系统。对于简易指纹验证服务系统,指纹数据库放在DE2开发板的FLASH中,系统通过链表的方式存储访问数据库。6.液晶显示 6.液晶显示 系统的液晶显示模块
22、完全采用HDL语言设计的硬件控制模块,当CPU不访问SRAM的时候,将SRAM中的图像信息显示在液晶显示器上,液晶显示左边显示指纹,右边显示参赛队伍名Nios II 嵌入式处理器设计大赛嵌入式处理器设计大赛2007优秀作品优秀作品 8 称、组员以及操作按键提示。液晶显示模块不需要CPU进行控制,利用FPGA内1的逻辑资源完成该功能,既满足实时性,又充分体现SOPC系统软硬件结合的优势。三.性能参数三.性能参数 1.本系统实际性能参数 1.本系统实际性能参数 1.电源 直流电压:9V 2.工作环境 工作温度:-5 45 C;相对湿度:8%95%;3.输入信号 方式:自制指纹采集器输入,指纹传感器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Nios 实现 指纹识别 系统
限制150内