1基于ARM的指纹识别系统设计摘要世界正朝着互联化的方向发展,而物联网正是这个数字革命的核心之一。在目前流行的物联网技术中,要求嵌入式终端能够提供成熟且价格便宜的生物特征识别技术,目前来说指纹识别的技术应用最为广泛,我们不仅在门禁、考勤系统中可以看到指纹识别技术的身影,市场上有了更多指纹识别的应用:如手机、指纹锁、银行支付验证都可应用指纹识别的技术。在指纹识别控制领域,也会用到各种微控制器,本文采用了三星半导体S3C6410作为控制核心,S3C6410应用了专为要求高性能、低成本、低功耗的嵌入式消费类电子设计的ARM9内核。按性能分成两个不同的系列:该系列内核时钟频率已经达到72MHz。指纹识别基于两种特征点来识别:(i)组成指纹的指纹整体特征结构(ii)局部的特征点。本文提出了一种可以在自动指纹识别系统中使用的基于特征点的指纹识别算法。本文提到的方法基于从细化提取的特征点,二值化一个指纹图像分割图。该系统采用在指纹分类的指纹索引匹配,大大提高了匹配算法的性能。关键字:ARM9,指纹识别,特征识别,图像处理2AbstractTheworldismovinginthedirectionofthedevelopmentoftheInternet,theInternetofisoneofthecoreofthedigitalrevolution.Inthecurrentnetworktechnology,theembeddedterminalcapableofprovidingbiometrictechnologyismatureandthepriceischeap,atpresenttechnologyoffingerprintrecognitionisthemostwidely,wecannotonlyseethefingerprintrecognitiontechnologyinaccesscontrol,attendancesystem,fingerprintrecognitionapplicationismoreonthemarket:suchasmobilephone,fingerprintlock,bankpaymentverificationcanbeappliedtofingerprintrecognitiontechnology.Inthefingerprintrecognitionandcontrolfield,wewillalsouseavarietyofmicrocontroller,thispaperusesSamsungS3C6410asthecontrolcore,S3C6410applicationdesignedforhighperformance,lowcost,lowpowerembeddedconsumerelectronicdesignbasedonARM9kernel.Accordingtoperformanceisdividedintotwodifferentseries:thisseriesofcoreclockfrequencyhasreached72MHz.Fingerprintidentificationtwofeaturepointsbasedon:(I)toidentifythefingerprintfeaturestructurefingerprint(II)featurelocal.Thispaperproposesacanbeusedinautomaticfingerprintrecognitionsystemoffingerprintrecognitionalgorithmbasedonfeaturepoints.Themethodsmentionedinthisarticleisbasedonthefeaturepointsextractedfromrefined,twovaluesegmentationimageofafingerprintimage.Thesystemadoptsfingerprintindexinginthefingerprintclassificationmatching,greatlyimprovestheperformanceofmatchingalgorithm.Keywords:ARM9,FingerprintIdentifier,FeaturePoint,ImageProcessing.3第一章概述1.1指纹课题的研究与应用背景信息化的特点就是能够实现事物的数字化和隐秘化,传统的身份管理如IC卡,磁卡,钥匙存在着易丢失,伪造等缺点,相比较于传统的身份辨识,人的指纹永远无法改变,因此指纹识别在安防领域,司法领域扮演及其重要的作用,在民用领域,随着采集器的多样化和嵌入式微控制器的发展,指纹识别更多地走进了人们的生活中。作为一门生物识别的学科,数字指纹学的方法有内在的规则可以遵循,可以把数字指纹识别的方法和规则归纳为:理解自然模型,建立物理模型,导出数学模型,确定指纹识别算法这样一个过程[1]。本设计采用嵌入式微处理器,外接传统指纹采录模块,通过移植专用的指纹识别算法,实现了一个具有指纹采集,指纹辨识功能的系统。1.2嵌入式系统概述嵌入式系统被工程师们定义为“一种用来控制、监视或者辅助仪器、机械操作的计算机系统”。嵌入式系统的特点是基于硬件体系,高效,可靠,强实时性,满足对象智能化控制要求的技术需要,因此可以将嵌入式系统定义为:“嵌入到对象体系中的专用计算机应用系统”。嵌入式系统有3个特性,即“微机性”、“可植入”及“专用性”。“微机性”指的是通过使用专门的微控制器,来实现自动化控制。“可植入”则是指的是可以嵌入到任何应用中,应付多种控制及运算需求,应用面广泛。“专用性”指的是为了实现特定对象的操作必须对该对象软硬件单独修改。嵌入式处理器:嵌入式处理器拥有灵活的应用编程资源、丰富的外设接口总线及高速的内部总线结构,与通用微处理器比较,同时具有功耗低、简单易用,实时性强,性价比高等优点,主要分为微控制器,微处理器,DSP处理器,嵌入式片上系统四类[51]。微控制器:一般指单片机,将整个控制计算机的核心封装在了一个芯片中,其中包含了ALU,外设,总线,RAM,ROM等通用接口,以某一类型内核为模板,该类芯片4具有功耗低,稳定性好,但是性能较低,没有MMU,无法运行具有内存管理功能的嵌入式系统,是目前工业应用的主流。微处理器:嵌入式CPU具有通用处理器大部分的功能,可是其集成了更多的外设,并具有嵌入式特有的功耗低,性耗比高的优点,通常以一内核为模板,有别于单片机的是该类芯片性能更强,且通常由MMU的功能,可以在体系上运行强大的嵌入式操作系统[34]。.本系统的指纹算法设计包括预处理和指纹两部分的算法,其中,指纹预处理算法用来提取指纹的特征码,包含指纹分割,二值化,细化部分算法。指纹识别算法用来与以存储的模板匹配得到匹配结果[35]。第二章系统设计方案本章主要讲述了指纹识别系统的设计方案,其中包括了硬件部分和软件部分的具体设计方案。以及曾选用的方案比较。2.1指纹识别系统的概述指纹识别系统是通过专用的指纹图片采集器,将指纹图像通过嵌入式处理器经过处理后,经过指纹特征匹配算法,得出匹配结果。因此指纹识别系统由以下三部分组成:(1)嵌入式系统控制板指纹识别控制板由嵌入式处理器,指纹采集器,输入输出等硬件设备组成。(2)指纹采集器模块本系统采用光电指纹采集器,该类型采集器具有成本低,应用范围广等特点,缺点是图像失真比例大,需要进行软件较真(3)指纹系统软件指纹系统软件由指纹采集,指纹预处理及指纹识别三个步骤构成。2.2指纹系统硬件设计方案针对指纹识别应用,嵌入式控制板必须满足的条件有:1.板载主控芯片必须具有强劲的运算能力,才能具有图像处理的能力,2.有大容量的存储设备,可以满足一般5的嵌入式应用需求。3.具有丰富的接口,方面拓展功能及测试。综上所述,选用了采用ARM9内核的三星S3C6410芯片,该芯片的主频最高能到达72MHZ,且集成了丰富的外部设备,且价格便宜,完全满足了指纹识别应用的需求。以下是具体的设计细节[39].。2.2.1指纹采集器介绍本设计采用OP100-T光学式指纹采集头,该采集头使用GC0307传感器进行获取信息,该传感器支持多个分辨率级别的图像传输:QVGA(480*640)CIF(80*120)等,支持多种传输数据格式输出:YCRCB422,YCRCB444,RGB565,采集器通过IIC接口进行控制。指纹识别软件设计由采集器驱动,图像畸变处理算法,图像预处理算法,特征提取别算法,人机UI界面软件流程图如下图:指纹图像捕捉预处理指纹图像,获得特征点特征比对比对结果模板文件结束?GUI界面显示结果GUI界面显示结果特征点存入现有的模板否是是否6图2-3指纹识别系统工作流程图第三章指纹预处理算法的设计本设计采用的指纹识别方法是基于指纹的特征进行匹配的,指纹的特征指的是纹线的的结束点和交叉点,因此,衡量系统性能的好坏就是指纹的端点和分叉点的提取精度。而提取的精度又和指纹图像的大小和预处理算法的运算复杂度有关,一般来说,指纹图像越大,预处理越充分,指纹特征的提取越好。在嵌入式应用中,由于系统的资源有限,因此常常采取折中的方法,即降低图像的分辨率,加大预处理的处理度降低计算量,且得到较高的匹配度。指纹图像的预处理主要有以下几个流程,主要包括求梯度场,方向场,然后图像分割,滤波增强,而后细化,然后可以得到可提取出特征点的指纹图像[39]。3.1指纹图片畸变处理算法由于采用了光电式采集器,反馈信号受到光学机理的影响,会有一点的图像畸变,在这里主要是梯形畸变,当前很多基于光学式采集的校正技术也是针对这种畸变来进行的。可是,光学采集器得到的指纹图像的畸变不仅只有这种线型变化,非线性扭曲在指纹的边缘是很严重的。如图3-1,3-2所示,但受图像扭曲的影响,相同采集器存在相同的非线性扭曲,因此只要是同一个采集器采集到的信号是可以完成匹配,即使方向不同。但是对于不同的指纹采集器,采集到的图像会因为采集器的工作方式的不同,呈现出不同的特性,因此需要采取特殊的处理算法。7图3-1光学畸变示意图图3-2实际采集到的畸变解决指纹图像产生的畸变,可以从不同的角度去思考。基于以下假设进行线性拟合数学建模。假设:(1)指纹畸变梯形中的方格数目没有变小,只是由底向顶缩小。(2)认定每行方格的数目变化是线性的。(3)方格中的像素是不可压缩的。依照以上假述,可以进行数学建模,得出第一行的边长关系:11,c1WcN(3.1.1)第y行方格边长关系式:假设01WWdN(3.1.2)那么第d行的正方形边长11ccyd(3.1.3)Y畸变矫正矫正对于y方向,第y行的所处位置和上底的距离为前(y-1)个正方形的边长和:81111112yiyiyaaay(3.1.4)X畸变矫正:''011(y1)(3.1.5)采用上述公式可以解决畸变矫正的坐标映射问题,还原出较为真实的图像[40]。3.2指纹图像的分割计算:由于使用光学指纹采集器,采集得到的图像分为指纹图像区域和空白区域。我们所做的操作是针对指纹图像本身,但是空白区域由于采集器的因素也会有像素,因此需要分割具体的图片。图3-3梯度场实现图像分割的方法有直方图分割和梯度场的方法:直方图分割的思路是由于指纹像素和背景像素之间落差较大[41],因此可以设定阀值,这种分割方法的缺点是不大准确,不适应光学采集接口采集的图像,梯度场的实现方法是计算指纹图像的梯度然后对梯度像素进行阀值判断,目的就是区分是前景和背景。图像梯度的计算方法:Gx,y=dx(i,j)+dy(i,j)()(3.2.1)dx(i,j)=I(i+1,j)-I(i,j)(3.2.2)dy(i,j)=I(i,j+1)-I(i,j)(3.2.3)如上公式,图像梯度需要进