图像采集综合评估的嵌入式指纹识别系统(一)
扫描二维码
随时随地手机看文章
由于具有其持久性和唯一性,指纹被广泛应用在个人身份识别系统。指纹识别在全世界范围内的广泛应用,不仅为防范犯罪,同时也作为处理个人事务和信息安全的一个关键技术。
在指纹识别技术领域,欧美国家在研究和开发中处于领先地位。美国ZK Software在1992年就发布了ZKFinger 1.0版,2008年发布了ZKTime7.0、ADMS解决方案、指纹锁、集成具有美国联邦政府推出的FIPS201认证的Lumidign和Secugen指纹仪;法国Segam公司,是安全解决方案的市场领导者之一,有遍布5大洲超过85个分公司和分支机构,其生产的集成系统部署在100多个国家和地区。亚洲在指纹识别技术上较为先进的公司有:韩国现代、朝鲜的培富士、日本的NEC等。
中国虽然在指纹识别技术方面发展较晚,但目前也已有具备指纹识别专用芯片研发生产和应用能力的企业,如杭州晟元芯片技术有限公司、国民技术股份有限公司等。
在指纹图像评估算法研究领域,Tabassi等人通过提取指纹图像各子块的对比度和曲率特征评估指纹图像质量,但这种方法只是从指纹图像局部纹理进行分析,不足以反映指纹图像全局信息;Hong等人通过计算指纹图像每一图块指纹纹线垂直方向上的灰度方差评估指纹图像质量,它在图像噪声较大时并不能很好获得指纹图像的方向图,从而影响最后的评估效果。
文中采用一种指纹图像综合评估算法,设计具有信息提示功能的指纹识别系统,并将评估结果输出到显示屏,实现了提高指纹识别成功率,让用户直观了解指纹采集的某个环节出现问题,以及如何进行修正的目的。
1指纹识别系统硬件设计
1.1嵌入式指纹采集系统组成
具有提示信息的指纹识别装置包括处理器,系统结构图如图1所示。处理器以不同的接口分别连接LCD汉字显示屏、指纹传感器、JTAG调试接口、复位电路、外部SRAM数据存储器、串口及USB接口;电源管理模块为上述各部分中的芯片和电路提供电源管理。其中,汉字显示屏用来显示指纹图像初始评估的结果,提示用户手指的放置是否正确、若不正确如何修正;指纹传感器用来获取手指的指纹图像信息;JTAG调试接口用来与上位机连接进行调试;复位电路用来初始化指纹识别装置;FLASH程序存储器用来存储指纹识别装置运行的程序;外部SRAM数据存储器用来存储指纹识别装置运行过程中产生的临时数据;串口和USB接口用于与上位机的连接通信;安全控制器是指纹识别装置的核心,控制指纹识别装置的运行。
图1指纹采集系统结构图
指纹专用芯片,是指内嵌指纹识别技术的芯片产品,能够片上实现指纹的图像采集、特征提取、特征比对的芯片,使开发过程变得简单,开发者可以方便的实现指纹识别的功能,同时芯片价格适中,利于普及使用。
指纹专用芯片采用杭州晟元芯片技术有限公司生产的AS602芯片,采用哈佛结构32位RISC处理器内核,内置专用DSP指令集和加速器。其主要特点是具有SEA/RSA加速引擎、内置存储器(Flash/OTP)、指纹处理加速器和专用算法软件。AS602芯片主频高达128 MHz,内置128 KB高速静态随机存储器(SRAM),嵌入了1 MB大容量FLASH,64 kB ROM和4 kB OTP ROM,并具备丰富的对外接口:除了USB2.0全速接口外,还具备3组USART接口、4通道PWM接口、ISO7816智能卡接口、APC主接口、片上实时钟、对称算法引擎(SEA)加速器、RSA加解密引擎、真随机数产生器(TRNG),以及51路GPIO.
1.3指纹采集传感器
FPC1011F指纹传感器由152×200个传感器阵列组成,每一个阵列是一个金属电极。放在传感面上的手指的对应点则作为另外一极,其工作原理是改变极板间距的电容式传感器,整个传感器(或其中的一部分)是通过读取感应器的指令来读取的,采集区域的大小是由寄存器XSHIFT和YSHIFT值的决定的。
FPC1011F与处理器芯片的接口原理图如图2所示。将AS602的USART0配置为SPI模式。AS602的61脚作为时钟输出,60脚作为数据主输出,连接FPC1011F的6号脚;59脚作为数据主输入,连接FPC1011F的1号脚。FPC1011F 4号引脚SPI_CK与AS602的61脚连接得到系统时钟。
图2 AS602与FPC1011F的接口原理图
将FPC1011F的CPHA和CPOL分别置为0,此时FPC1011F为从设备。指纹图像数据通过传感器输入FIFO.指纹采集通过查询方式,用rd_spidtat指令不停地查询SPI_STATUS寄存器的DA状态是否为1.当SPI_STATUS的DA状态为1时,用rd_spidata指令来读取FPC1011F的FIFO中的数据。
1.4指纹图像评估状态显示模块
HS1602A LCD是16×2行,5×7字符点阵液晶模块,其内部的字符发生器ROM中自带数字和英文字母及一些特殊符号的字符库,虽然没有汉字,但是利用HS1602A可以建立5×7点阵自定义字库的特点,形成所需要的汉字点阵。HS1602A与传感器芯片的接口原理图如图3所示。[!--empirenews.page--]
图3 AS602与HS1602A LCD显示屏模块接口原理图
2指纹图像评估研究与分析
2.1指纹图像评估流程
在指纹采集输入过程中,由于手指的指纹质量、安放位置及干湿状态等原因,都可能无法正确识别指纹信息。为提高指纹识别效率,先对采集的指纹信息进行评估。安全控制器对指纹图像进行指纹灰度图像隔点采样,指纹图像点方向图计算,指纹灰度图像的前、背景图分离,指纹前景图面积分析,指纹图像质量分析等图像处理过程,并对评估的结果用汉字进行显示。若评估不合格,根据显示信息,重新采集指纹图像信息,直到通过评估。系统工作流程图如图4所示。
图4系统工作流程图
2.2指纹图像隔点采样
用隔点的方式对指纹灰度图像进行采样,隔点获得原始指纹灰度图像,在不改变指纹特征码的基础上减少数据采集量。
2.3指纹灰度图像的前、背景分离
用点方向图表示所述隔点原始指纹灰度图像中每一像素点处的局部纹理走向,具体如下:
指纹图像是由局部平行的脊线和谷线构成的一种方向模式。通过指纹图像点方向图计算,可将指纹图像中的各个图像块划分为前景块或背景块。采用7×7模板,基准点位于模板中心,从水平位置开始每隔π/4确定一个方向,定义I=1,2,3,4,对应0,π/4,2π/4,3π/4,π四个方向。按公式(1)计算各个方向的灰度变化DI,比较DI,找到最小值,就代表该点的方向,见公式(1):
式中,是沿I方向上点的灰度均值,f1(ik , jk)是I方向上点的灰度值。
图像的前景块是分布有指纹脊线的图像块,其余部分为背景块。将前景块设置为1,背景块设置为0,实现指纹灰度图像的前、背景图分离。具体如下:
1)使用公式(2)进行计算:
其中,f(i, j)为(i, j)点的灰度值;为I方向上灰度值的累加和;Smax为累加和值的上限值;Smin为累和值的下限值。如果满足公式(2)的条件,则当前点为前景点;否则为背景点。
2)依据小块内背景点的比例,判断各图像块是前景块或背景块。如果小块内背景点的数量超过阈值Tb,则认为该图像块属于背景块,否则为前景块。