能力拓展.docx
《能力拓展.docx》由会员分享,可在线阅读,更多相关《能力拓展.docx(14页珍藏版)》请在冰豆网上搜索。
![能力拓展.docx](https://file1.bdocx.com/fileroot1/2023-1/24/02bcbd12-e0bf-4b9f-8421-e4c05be09d73/02bcbd12-e0bf-4b9f-8421-e4c05be09d731.gif)
能力拓展
《能力拓展训练》任务书
学生姓名:
专业班级:
信息SY0801班
指导教师:
工作单位:
信息工程学院
题目:
基于NIOS的指纹和虹膜识别系统设计
课程设计目的:
通过本次能力拓展训练,了解小型系统构建的一般方法,熟悉运用常用微处理器来处理日常生活中的问题.在此基础上加强能力的培养,能够更好运用专业知识解决实际问题。
课程设计内容和要求:
1)掌握常用软件和微处理器的开发方法,通过运用相关专业知识解决实际问题。
2)通过能力拓展训练,能够具有一定创新思维与开发能力。
初始条件:
1)FPGA学习开发板
2)QuartusⅡ
3)NIOSⅡIDE开发工具。
时间安排:
第17周,安排设计任务;
第18周,完成重点测试项目;
第19周,进行一般测试项目;答辩。
指导教师签名:
2010年月日
系主任(或责任教师)签名:
2010年月日
目录
目录2
摘要3
Abstract4
1.方案对比与系统方案5
2.系统设计原理分析6
2.1指纹识别系统原理6
2.2.虹膜识别系统原理6
3.系统硬件结构分析8
3.1SOPC技术与NIOSII软核处理器8
3.2系统硬件结构8
3.3各个模块功能分析9
3.3.1虹膜指纹图像的采集9
3.3.2图像采集系统10
3.4图像处理10
3.5数据存储11
3.6图像显示11
3.7电源部分11
3.8协处理器11
3.9串口通信12
4软件设计13
4.1系统软件流程13
4.2系统软件实现14
4.3图像预处理14
4.4 虹膜定位15
4.5虹膜的相位匹配算法15
4.6指纹图像处理16
总结19
摘要
指纹和虹膜作为人体的重要特征具有长期不变性和唯一性已经成为生物识别领域的重要手段通过指纹特征来鉴别人的身份的技术正在得到越来越广泛的应用随着指纹虹膜检测技术和指纹虹膜识别算法的不断改进指纹识别技术还将在越来越多的部门得到更广泛的应用。
针对指纹的唯一性和终身不变性的特点.提出了一种基于NIOS的指纹识别系统,促使指纹虹膜识别设备向小型化、嵌入式、自动化方向发展;对系统的组成原理、指纹采集和指纹图像处理力法进行了分析;结合芯片的特性,对系统硬件核心和图像采集电路做了详细介绍,并给出系统硬件设计方案、软件设计流程;实验结果表明.系统指纹采集效率高,识别速度快,识别结果准确可靠;该系统性能稳定.实用性强,应用范围广泛。
关键词:
指纹虹膜;NIOS;图像处理
Abstract
Fingerprintandirisasanimportantfeatureofthehumanbodyhaslong-terminvarianceanduniquenesshasbecomeanimportantmeansofbiologicalidentificationfieldbyfingerprintcharacteristictoidentifypeoplegettheidentityofthetechnologyismoreandmorewideapplicationwithfingerprintsandirisdetectiontechnologyfingerprintirisidentificationalgorithmistheconstantimprovementfingerprintidentificationtechnologywillalsoinmoreandmoredepartmentsgetmoreextensiveapplication.Accordingtotheuniquenessoffingerprintsandlifelonginvariantfeatures.PutforwardbasedontheNIOSfingerprintidentificationsystem,makethefingerprintirisidentificationequipmenttominiaturization,embedded,automationdirection;Thecompositionoftheprincipleofsystem,fingerprint-gatheringandfingerprintimageprocessingforcemethodareanalyzed;Combinedwiththecharacteristicsofthechip,thehardwarecoreandimageacquisitioncircuitareintroduced,andthehardwaredesign,softwaresystemdesignprocess;Theexperimentalresultsshowthatthesystemfingerprintcollectionefficiency.High,fasterrecognition,recognitionresultsareaccurateandreliable;Thissystemhasstableperformance.Practicalstrong,widerangeofapplication.
Keywords:
fingerprints,iris;NIOS;Imageprocessing
1.方案对比与系统方案
按照所使用的身份依据的不同,现有的身份识别技术主要可分为以下三大类:
第一类识别技术以“你所知道的事物”作为身份依据,其代表性技术为口令。
你能知道的事物——口令等,易破解,相对安全性最低。
这类技术的特点是使用时要依靠用户的记忆。
这类技术是当前最熟知的识别方式,但也是最昂贵的识别方式之一,且所有普通人能够记住的口令都可以在短时间内被黑客破解,被认为安全性最低。
第二类识别技术以你能持有的事物,其代表性技术有智能卡和时间令牌。
易丢失,故安全性也偏低。
前者是个小处理器,可以输入、处理、输出数据,但使用时需要读卡器,并已成为专业智能卡黑客攻击的目标。
后者是最常见的口令替代品,特点是它本身维护着一个实时时钟,使用时要求时间同步,且所产生的伪随机数随机性不强。
第三类识别技术以你自身具有的事物——虹膜、指纹等人体生物特征,具有较高的唯一性和可靠性,相对安全性最高。
是以人体具有的生物特征为依据的识别技术,这类方法是证明个人身份的可靠方法,被认为是近年来IT产业中的重要革新。
人体生物特征识别技术比传统识别技术更安全,更易于使用,但不同的生物特征识别方法在可靠性、实用性、防欺骗性方面存在着很大差异,而指纹识别加上虹膜身份识别技术在这几方面都具有明显的优势。
因此,如果将指纹和虹膜识别技术广泛应用于身份识别系统中,将大大身份识别系统运行的安全性和可靠性,最大程度上降低通过身份冒充而进入某种场所进行不法犯罪活动的可能性,极大减少了身份识别系统中现存及潜在的技术漏洞、隐患和风险。
2.系统设计原理分析
2.1指纹识别系统原理
指纹识别系统一般由指纹图像采集、指纹图像预处理、指纹特征提取、指纹特征匹配、特征数据库等几部分组成。
指纹识别系统的原理框图如图1所示。
该系统首先由指纹采集设备采集到指纹图像并将其转化为数字图像;然后对指纹数字图像进行预处理,再通过图像增强、分割、平滑、细化等处理过程得到便于指纹特征提取的数字图像:
接着提取细化后的图像细节特征点;最后将提取到的特征与特征数据库中的特征数据进行匹配,并输出识别结果。
图2-1指纹识别系统框图
2.2.虹膜识别系统原理
从模块化的角度而言,完整的虹膜识别系统可分为两个模块:
虹膜图像采集系统和上位机识别系统。
虹膜识别系统的原理框图如图2-2所示,其中,虹膜图像采集系统包括虹膜图像采集装置、虹膜图像存储及传输装置两部分。
这部分主要是靠CCD或CMOS摄象机和基于nios的采集和处理电路来实现。
上位PC机识别系统由计算机和虹膜识别软件组成。
由虹膜图像采集系统获取的虹膜图像上传到上位PC计算机进行软件识别处理。
2-2虹膜识别系统框图
3.系统硬件结构分析
3.1SOPC技术与NIOSII软核处理器
SOPC(SystemonaProgrammableChip,片上可编程系统)是ALTERA公司提出来的一种灵活、高效的SOC解决平台。
它将处理器、存储器、I/O口、LVDS、CDR等系统设计所需要的功能模块集成到一个PLD器件上,从而构建成一个可编程的片上系统。
基于SOPC技术的系统设计十分灵活,用户可以根据自己的实际要求,并利用IPCore资源组合构建出不同的应用系统,从而实现软硬件协同设计。
NIOSII软核处理器是ALTERA公司于2004年推出的通用32位RISCCPU,它能满足任何应用32位嵌入式微处理器的需要.用户可以获得超过200DMIPS的性能。
NIOSII软核处理器具有32位处理器的基本结构单元(32位指令大小,32位数据和地址路径,32位通用寄存器和32个外部中断源),设计者可以根据系统需求的变化来调整嵌入式系统的特性,以选择满足性能和成本的最佳方案。
NiosII系列可支持用户自定义指令,而NIOSIIALU则直接与用户自定义的指令逻辑相连。
由于设计者能为系统中使用的每个NiosII处理器创建多达256个专用指令,因此,设计者能够调整系统硬件以增强对实时软件算法的处理能力。
ALTERA公司同时还推出了NiosII集成开发环境(IDE)和一些常用的免费IP核,以方便设计者的软件开发。
另外,设计者使用Altera公司QuartusII开发软件中的SOPCBuilder系统开发工具还能够很容易地创建专用的处理器系统,并能够根据系统的需求添加NiosII处理器核的数量。
3.2系统硬件结构
指纹虹膜识别系统的硬件平台由五部分组成,分别是图像采集、图像处理、数据存储、图像显示和电源部分。
其结构框图如图3-1所示,系统由NIOS处理器、指纹采集卡,CCD数字摄像机、A/D转换器、FLASH存储器、SDRAM等芯片组成,这些芯片都是采集系统不可或缺的载体和平台。
图3-1系统的结构图
3.3各个模块功能分析
3.3.1虹膜指纹图像的采集
虹膜指纹识别的首要任务是获取高质量的虹膜指纹图像,这是系统识别最难解决的关键技术之~。
由于虹膜面积小,虹膜的区分主要在于纹理细节的不同,而且虹膜的纹理不是很清晰,不同人种的虹膜颜色有着很大差别,这使得用普通的摄像头和在正常的光照条件下很难获得清晰的虹膜图像。
在实际应用中,虹膜识别系统还应当能够可靠的鉴别出采集到的图像是否来自有生命的个体,即系统应具有活体虹膜检测的功能,从而彻底排除利用他人虹膜图像进行非法活动的可能。
图像采集是将CCD或CMOS摄像机采集到的虹膜图像,经高精度的A/D转换后得到数字虹膜图像。
目前,主要的指纹采集方法有两种:
一种是光学采集器;另一种是用半导体传感器。
光学采集器采集指纹是通过把手指沾上油墨后按在白纸上,然后用摄像机把图像转换为电信号。
光学采集受外界干扰小、采集精度较高,但是数据量较大,因此处理时问较长。
而对于半导体传感器来说,手指的温度、湿度对其测量结果有影响,但是数据量不大,处理比较方便。
随着半导体技术的发展,半导体传感器的成本低、体积小、方便集成等优点逐步体现,它已逐步代替光学采集器。
指纹鉴定过程的第一个阶段是指纹图像的采集阶段,也就是指纹模板的录A阶段。
为了初步确定图像预处理方法,我们必须首先了解指纹传感器获得的图像的尺寸和质量。
根据不同的指纹传感器,我们设计不同的方案进行图像采集,并将从各个图中提出特征点储存到数据库中,来产生“活模板”,为后面的指纹鉴定做准备。
3.3.2图像采集系统
由于现有的虹膜取像装置仍存在着价格昂贵、对被检验者有要求、需人工操作等问题,因此随着技术的进步,集价格低廉、方便快速、非接触式的自动虹膜采集装置已逐步出现。
下面就介绍~下这种非接触式虹膜采集系统,提出几何光辅助使用者定位瞄准的方法实现虹膜图像的非接触式采集,配合CMOS图像传感和USB传输的电路方案,采集到的图像能够满足虹膜识别技术对图像质量的要求。
非接触式虹膜采集系统主要由图像采集电路,光学镜头以及照明装置组成,由于传统的CCD与图像采集卡组合进行图像采集的方法暴露出集成度低、使用不便等缺点,所以图像采集电路采用互补性金属氧化物半导体(CMOS)图像传感器与相应的专用通用串行总线(USB)控制芯片传输相结合的方案,不仅使用便利,而且传输速度达到了每秒15帧VGA图像满足了虹膜识别技术对采集速度的要求。
3.4图像处理
指纹图像处理是整个指纹识别过程的核心。
常见的指纹虹膜图像处理包括滤波增强、二值化、细化、提取特征点四个步骤。
在采集图像的过程中,由于采集环境,采集设备的差异等各种因素的影响,采集的图像会不同程度的受到各种噪声的干扰,从而影响了采集图像的质量。
所以实际的图像首先通过一个滤波增强来改善图像的质量,恢复脊线原来的结构。
特征提取算法的性能和其它指纹识别技术的好坏取决于输入图像质量的好坏。
第一步对图像滤波,除去图像中的大量噪声,使图像更加清晰.第二步是对图像进行二值化处理。
二值化是指把灰度指纹图像根据所选取的值化为0~1取值的二值目像。
第三步,对纹路进行细化,细化能够减少大量的多余信息.细化后的指纹图像中的每条纹线都足用单像素来表示点线,更加突出了指纹特征。
最后一步则是纹路特征点的提取,在特征提取阶段,选择脊线端点和分歧点作为特征点,记录每-特征点的类别、位置和方向信息,从而得到特征点(特征模板)。
经过以上几个步骤,系统便完成对指纹图像的处理过程,得到最终模板。
3.5数据存储
数据存储部分包括FLASH、SDRAM部分。
FLASH存储器具有可在系统进行电擦写,掉电后信息不丢失的功能,用它来保存系统自启动代码以及系统程序代码。
SDRAM存储器的存取速度较高,用它来存放系统运行时的代码以及临时图像数据,用来存储原始图像数据和识别结果。
3.6图像显示
图像显示部分采用数字LCD液晶显示器(LiquidCrystalDisplay),可省去数摸转换芯片。
由于NIOS处理器带有LCD接口,使用起来很是方便快捷。
3.7电源部分
电源部分在系统的硬件部分中占有重要的地位,它将影响到整机能否可靠运转。
其中,要着重考虑以下两点:
第一、要有一套保证芯片内核和I/O能同时上电的解决方案,这样避免对芯片造成损害。
本系统采用D型边沿触发器来开关电源输出,很好的解决了这个问题;第二、在高速电路板中,开关的电磁辐射和线路噪音会干扰器件的实际工作电压。
因此,本系统中特别设计了电压监控电路来实时监控电压。
3.8协处理器
由于系统每次采集的指纹图像数据量达几十KB,故在系统核心模块中集成了一个硬逻辑协处理器。
这个协处理器负责查询指纹芯片的状态和指纹图像数据采集存储任务。
该协处理器是用硬件描述语言设计的一个有限状态机,其状态机模型如图3所示。
系统复位后,协处理器将进入空闲状态并等待主处理器的复位信号;当正确接收到主处理器的复位信号后,协处理器进入查询状态;查询状态主要查询指纹芯片的中断状态位,当查询到有效中断状态位后,系统将进人数据采集存储状态;在数据采集存储状态,协处理器从指纹芯片读出数据并保存在系统的存储区SRAM中,读完整个指纹图像后即向NIOSII处理器发出中断信号并重新进入空闲状态,以等待主处理器复位。
3.9串口通信
在本系统中由于要对比指纹和虹膜特征,这就需要有一个主机数据库,我们利用串口通信与主机进行通信,对图像特征进行匹配。
4软件设计
系统主程序运行在NIOS中,完成虹膜指纹图像处理的全部算法。
识别过程是:
先采集到眼睛指纹图像,然后进行图像预处理(指纹虹膜定位、增强等),再对特征进行分析,与存储的虹膜指纹特征进行模式匹配,最后得出识别结果。
在这过程中,虹膜,指纹定位、特征分析和匹配是重要的部分。
4.1系统软件流程
整个系统软件设计部分按功能可分为5个模块:
NIOS程序引导模块、系统初始化模块、图像传输控制模块、图像处理模块、通信模块。
其总体流程图如
图2.1l所示:
4-1系统软件流程
系统上电,NIOS开始加载外部Flash中的程序,开始系统初始化,各芯片初始化完成后,程序进入循环等待状态,判断各种中断信号是否到来。
其中中断4(INT4))b软件中断,其他2个中断均为硬件中断,靠相应管脚的电平变化触发。
中断4开启图像采集功能,中断5是FIFO半满中断,触发DSP后迅速将FIF0中数据传输至SDRAM中,一幅虹膜图像的完全采集需要触发5号中断50次。
当虹膜图像需要向上位机传输时,触发中断6。
由于视频处理芯片在进行指纹虹膜图像数字化时的场消隐作用,采集到的图像左右两个边框及底框的部分有黑边出现。
这里的图像处理即是去除黑边的实现部分,目的是为了满足采集到的图像能很好地满足图像处理识别模块对图像的要求。
4.2系统软件实现
系统软件可利用C语言在NIOSII集成开发境下开发。
NiosII集成开发环境(IDE)是NiosII软核处理器的主要开发工具,包括编辑、编译和程序调试。
NiosIIIDE为软件开发提供了一个集成的设计开发环境。
它有一个包括工程管理、源代码开发和基于JTAG调试功能的图形界面(GUI),故可大大简化复杂的NiosII处理器设计。
指纹虹膜识别算法流程主要包括背景分割、方向图计算及方向滤波、二值化、细化、特征提取和特征匹配等。
采集的图像容易受到各种因素的影响而使图像质量变差,因此算法首先要对指纹图象进行处理,以把有用的前景信息和背景区分开。
本系统算法采用方差法进行图像分割。
然后采用基于块方向图计算的方向滤波。
接着利用动态阀值法进行二值化处理,以把灰度图像转化为仅用0、1表示的二值图像。
对二值化后的二值图像进行细化可得到骨架图象。
接下来的特征提取阶段是用模板匹配的方法获取细节特征点(端点、分叉点)的位置、方向和类型信息。
最后和特征匹配则采用基于细节特征点匹配的算法。
4.3图像预处理
图像预处理的目的是图像定位与归一化。
通过获取装置采集的图像通常不可能仅仅包含虹膜,往往还有眼睛的其它部分,比如眼睑、睫毛、眼白等,而且在高度非侵犯性系统中,由于对被试者不做要求,虹膜在图像中的位置与大小都会发生变化。
因此,在进行虹膜识别之前,必须先确定出虹膜在图像中的位置并进行大小归一化。
在某些情况下,虹膜图像的光照是不均匀的,这样会给虹膜识别的准确性带来影响;同时,虹膜的内边界即瞳孔的大小是会发生变化的,这将会使虹膜的纹理产生变形。
以上这些情况都会影响虹膜图像
4-2验证框架图4-3身份识别框架图
4.4 虹膜定位
本系统采用CCD摄像机拍摄到细节较清晰的眼睛图像。
虹膜是眼睛瞳孔和巩膜间的环形可视部分。
虹膜定位,即是确定虹膜的内外边缘。
一般而言,瞳孔灰度值比虹膜灰度值小,而虹膜灰度值又比巩膜灰度值小。
因此,先以眼图的灰度平均值为尺度,取得眼图的二值化图像。
再选取合适的较小的阈值就可粗略定出瞳孔的边界。
然后用取图像最大连通域和二值图像形态学的方法较精确地定出瞳孔的边缘范围。
最后将图像进行适当的旋转和逻辑运算,可消除瞳孔内部的光照的影响。
这样可较好定出虹膜的内边缘,并通过对边缘点的坐标值求平均的方法确定出瞳孔圆心。
在确定虹膜外边缘时,要选择较大的合适阈值大致定出虹膜与巩膜的边界。
其余步骤基本与定内边缘的类似。
这样定位的方法速度快,避免了搜索的盲目性。
4.5虹膜的相位匹配算法
虹膜图像的纹理特征具有唯一性,不同人的虹膜纹理是不一样的。
在虹膜自动识别中通常是先存入一幅已知图像(基准子图)作为模板,再对任一输入图像进行匹配比较,判断两者的关系。
由于虹膜成像过程中引入的主要是高频成份的非线性几何失真,且虹膜图像的频谱能量主要集中在低频区域。
所以本系统采用基于低通滤波和傅里叶频谱的相位相关算法。
该算法原理为:
对基准子图和实时图分别求出离散傅里叶变换。
将两图变换结果的乘积取复共轭得到它们的互功率谱,归一化后,便得到对应于这个功率谱的相位谱,然后对相位谱求逆傅里叶变换,得到相位相关函数。
此功率谱的相位谱包含了两图之间差异的信息。
当两图一样时,相位相关函数是δ脉冲函数;当两图不一样时,相位相关函数不能形成δ脉冲函数。
因此,相位相关函数可以用来度量两图之间的相似程度。
并且相位相关算法具有较高的匹配精度。
此外,还由于相位相关函数对于灰度值及其尺度的变化是不敏感的,所以,这种算法不易受这些误差因素影响。
4.6指纹图像处理
1)特征点的提取
特征提取一般是指提取指纹图像的局部特征,也就是细节点特征。
在基于细节点的指纹自动识别系统中,特征提取是在细化后的指纹图像上进行的。
特征提取的首要问题是确定细节点和它的位置,细节点的位置和细节点间的相对位置很重要,尽管每个指纹中包括将近80个细节,只要确定十几个细节点就己经足够用来识别了。
2)假特征点的去除
这样得到的特征中存在由指纹质量、摄入噪声等原因造成的很多假特征,我们采用了计算特征点间的距离的方法,如果距离值小于所给的阀值,则认为特征点为假特征点。
这种算法实现起来也很简单:
扫描特征点的某一邻域,如果该邻域中出现其他特征点的话,将该特征点与出现的特征点同时去除,如此循环几次,当没有特征点被删去时,处理完成。
3)细节点信息的提取及记录
对每一个细节点,我们记录如下信息:
1.细节点的x,y坐标。
2.细节点的方向,这个方向就是该细节点所在的块的块方向。
3.细节点的类型,即脊线端点或脊线分叉点。
4.细节点对应的脊线。
细节点对应的脊线用该脊线上的采样点来表示,采样的距离约为脊线间的平均距离。
分叉点对应的脊线是与该细节点的方向最近的那条,端点对应的脊线就是该细节点所在的脊线。
采样点用该点与对应细节点的距离,和连接该点与对应细节点的直线与对应细节点方向的夹角来表示,的取值范围在-180到180度之间。
下图给出了细节点对应的脊线与脊线上的采样点的例子。
在细节匹配中,对应脊线将被用来对两个平面点集进行校准,而且,校准的参数,也就是两个点集中任意一对脊线间的旋转角度,将被用来作为判断它们所对应的细节点能否看作匹配的细节点的条件。
5)指纹识别中细节点的匹配
细节匹配一般在极坐标系中进行,因为指纹图像的非线性形变往往呈放射状,在某个区域内的形变比较大,然后非线性地向外扩张,因而,在极坐标中能更好地描述非线性形变;另外,在极坐标中不需要考虑输入图像与模板图像的参照点之间的平移,将一对对应点的坐标相对于参照点转换为极坐标时,平移就被抵消了;还有,在极坐标系中显然比在直角坐标系中更便于处理两幅图像间的旋转。
为了把细节点转移到极坐标系中去,需要在模板细节点集和输入细节点集中各选一个参照点作为相应的极坐标系中的原点,并算出其它细节点相对于参照点的极坐标。
由于事先不知道模板点集与输入点集的对应关系,需要考虑所有可能的参照点对。
对模板点集中的每一点和输入点集中的每一点,定义为将和当作参照点对时,从输入图像到模板图像的旋转角度。
如果,和可以被当作一对对应点,即它们分别对