多数指纹识别平台是连接PC的桌面应用系统,导致指纹识别系统的成本高。嵌入式平台以其处理速度快、扩展性好而受到国内外厂商的青睐。嵌入式Linux是一种能运行于多种平台、源代码公开、免费、功能强大、与UNIX兼容的操作系统,Linux自20世纪中期以来一直在突飞猛进地发展,目前已广泛应用于摄像机、键盘等,人们在计算机软件开发和应用中越来越离不开它,发展前景非常广阔。本文提出一种基于嵌入式ARM9的指纹识别系统,设计基于ARM9的嵌入式指纹识别门禁系统方案,重点研究指纹图像预处理部分,采用改进的二值化算法对指纹图像进行二值化处理。
2指纹识别门禁系统的硬件平台设计以SAMSUNG公司ARM9系列S3C2440微处理器为硬件核心,外围扩展有电源模块、时钟模块、采集模块FPS200、存储模块、输出模块、通信模块等,搭建指纹识别门禁系统的硬件平台如所示。
基金项目:陕西省教育厅专项科研计划(14K1339)资助项目一50―国外电子测量技术中国科技核心期刊3系统整体软件设计方案软件部分主要实现包括系统初始化程序、指纹采集程序以及与计算机的通信程序,控制电控锁的开关程序等。
利用FPS2 00模块采集指纹图像,采用中断工作方式,当有手指放在指纹传感器上时,系统被唤醒采集指纹图像,将指纹数据上传。即为该嵌入式系统指纹采集部分采得的2幅质量较好的图像,完全能满足后续指纹算法的要求。
嵌入式Linux操作系统的开发,在主机上建立交叉编译环境,并在此环境下对内核、驱动程序及应用程序进行编译等,主要有:Bootloader引导程序、Linux操作系统内核移植、指纹传感器驱动的开发、门禁系统应用程序以及其他外围应用设备等驱动的开发。本次研究采用在PC上的交叉编译环境下进行编译,生成目标板上可执行的二进制文件,通过串口下载到目标板上执行,用该方法对系统进行程序调试相当方便。
4试验研究在指纹识别过程中,指纹识别算法对指纹识别的精度有着直接影响。按指纹识别过程的主要功能,指纹识别算法可划分为图像预处理算法、特征提取算法、匹配算法。4.1指纹图像预处理4.2指纹特征提取在研究了大多数的指纹特征后,常用的指纹特征点有2种:分叉点和端点。指纹特征提取算法采用8邻域,使用3X3的小块提取特征点,如所示。指纹端点8个邻域的像素只有一个是1的点且沿着顺时针方向,像素值改变了2次;指纹分叉点8个邻域的像素有3个像素值为1的点且沿着顺时针方向,像素值改变了6次。
4.3指纹匹配算法采用FBI提出的细节点坐标模型做细节匹配,即通过减少被选点的数量来快速找到两幅指纹图像的点,定义为将和当作参照点对,由输入图像到模板图像的旋转角度判断这两点是否是对对应点。如果是一对对应点,即它们分别对应的脊线相似性到了一定程度,则将取0°360°的一个值,否则定义取值为400,以表示不能是对对应点。如果是不同类型的细节点,则取值为400.从预存的指纹数据库中随机抽取了不同人的10个手指的指纹,每个手指选取10幅图像。若同个手指的2幅图像没有确认就是拒识;若不同手指的2幅指纹图像确认就是误识;若相同手指确认了就是匹配。
令拒识的次数为N,误识的次数为N~,匹配次数为N,。采取每个指纹样本与同一手指的其他指纹图像进行匹配的方法,匹配1500次,统计拒识次数,计算拒识率F.采取每个手指样本与不同手指的每个样本进行匹配的方法,匹配1500次,统计误识次数,计算误识率FAR,公式如下:1)基于以上的分析、试验,在以S3C2440微处理器为核心的开发板上进行了指纹识别系统的测试,试验结果如和8所示,该指纹识别系统完成了指纹信息的采集、处理、识别过程。
国外电子测量技术中国科技核心期刊(b)不同手指指纹图像手指指纹图像图i优化后运行结果3)用传统算法和本算法经过多次匹配,得到传统算法;改进算法的。
表1传统算法的实试结果总匹配数(次)拒识(次)误识(次)拒识率误识率正确率150095376. 3%25%912%表2改进算法的实试结果总匹配数(次)拒识(次)误识(次)拒识率误识率正确率15002331. 500.计算得到:1.53%,相比传统的采用固定阈值法扫描整幅图像,拒识率降低4.77%;1500.计算得到:FAi =0.2%,相比传统的采用固定阈值法扫描整幅图像,误识率降低2.3%.采用以ARM9为核心的S3C2440处理器构建平台,连接指纹传感器FPS200,借助PC,成功采集指纹并通过串口传输到开发板上还原指纹数据。
在前人研究的基础上,对采集的指纹图像进行点方向图处理,Gabr滤波,改进的二值化算法,细化算法等进行了预处理,在此基础上利用八邻域法提取了指纹端点和分叉点,利用细节点坐标模型进行细节匹配,并将以上的算法都在软件平台上进行了实现,取得了预期的效果。
改进的指纹识别算法与传统的算法相比,程序运行时间误差很小,拒识率降低了477%,误识率降低了2. 3%,由此证明,该方案可行性高。
2)由与0可以看出,二值化算法改进前,图像处理时间为272.834ms;二值化算法改进后;图像处理时优化前运行结果