基于ADSP-BF531的电网作业终端指纹采集识别系统
2018-04-26薛彤夏震宇张森叶立兆单海鸥
薛彤, 夏震宇, 张森, 叶立兆, 单海鸥
(国家电网温州供电公司,温州 325028)
0 引言
近年来随着国家提出“配电网建设改造行动计划”以来,电力企业的配电网工作进度全面加速。配电网工程规模大,时间紧、任务重、施工人员多、作业范围广、环境复杂。伴随而来的是配电网工程安全管理中存在的施工前期工作不实、施工项目勘察不细、现场作业施工安全管控不力等问题[1]。为提高管控力度,在电网作业前均需要进行指纹刷卡,以落实安全事故责任人。但由于现场施工作业人员普遍存在手指污点、指纹模糊等现象,在进行指纹刷卡时,指纹刷卡系统难以采集到高质量的指纹图像,从而使指纹识别率下降,影响了电网作业效率。
非理想条件下采集的低质量指纹图像给指纹识别带来的问题主要有[2]:一是普通指纹处理算法拒识率(false rejectior rate,FRR),误识率(false acceptance rate,FAR)偏高;二是复杂算法虽然有较为满意的FRR、FAR,但运行复杂算法速度偏慢;三是高端嵌入式处理器可以运行复杂算法,但成本偏高。
基于这些原因,本文设计了一种以ADSP-BF531处理器为核心的指纹识别系统,指纹采集采用指纹传感器FPC1020。在实时指纹识别系统中,图像增强的效果好坏直接影响指纹细节特征提取及指纹鉴别的识别率,对指纹采集图像进行有效的预处理十分关键[3]。本文提出了基于Gabor滤波器和FFT×|FFT|n滤波器相结合的方法实现指纹图像增强,使得指纹识别FRR、FAR有了较好的改善。
1 指纹采集硬件设计
指纹采集硬件架构主要包括主控芯片ADSP-BF531、指纹传感器FPC1020、2M字节NOR Flash存储器AM29LV160DB,256Mbit SDRAM 芯片K4S561632C,其指纹采集硬件接口,如图1所示。
ADSP-BF531是ADI公司Blackfin处理器系列之一,具备400 MHz/800MMAC的性能、价格低,高性价比的特点使得其适用于对成本敏感的应用,特别是生物特征识别应用。
图1 指纹采集硬件接口图
指纹传感器FPC1020具备192x192像素阵列、508 DPI,±30 kV ESD保护,与BF531通过SPI接口相连接。AM29LV160DB用于存储指纹采集识别源代码与指纹特征信息。AM29LV160DB、K4S561632C均通过BF531的总线与之相连。AM29LV160DB 的片选信号通过SN74AHC1G08译码后实现控制。DSP处理器通过RS232接口与外部进行通信。
系统电源管理部分是通过AC-DC适配器输出5 V电压,并通过LT1085-ADJ输出3.3 V、1.8 V等不同电压。指纹识别正确与否通过语音芯片NVC040实现播放,此芯片只需要单一串口线即可控制语音播放。
2 指纹图像采集识别软件算法设计
指纹采集识别系统软件算法流程,如图2所示。
用户指纹经指纹传感器采集后由DSP读取采集的指纹图像数据并将数据暂存到SDRAM芯片K4S561632C中,DSP对存储到K4S561632C中的指纹图像数据进行预处理,包括对图像进行分割,提取指纹前景区,通过归一化处理,使图像灰度和对比度实现统一[4][5]。
归一化后进行指纹图像增强、二值化和细化处理。指纹图像增强包括脊线方向估计、脊线频率估计和混合滤波。二值化是使灰度图像变成黑白图像,可通过设置阀值方法实现二值化处理[6],完成指纹图像信息的数据压缩;细化则是在保留纹线等主要信息的前提下,使指纹图像的脊线分布变得简单明了[7]。细化后进行特征提取,将待测指纹特征与已登记在AM29LV160DB芯片中的指纹特征库进行对比,再给出识别结果以确认身份是否匹配。
2.1 脊线方向和频率估计
原始指纹图像被分割为12*12子块,即总共有16个子块。假设每个像素点(i,j)的水平和垂直梯度为∂x(i,j)、∂y(i,j),则:
图2 指纹采集识别系统软件算法流程图
(1)
(2)
(3)
其中ϑ(i,j)为子块中心点像素点(i,j)最小二乘估计方向值。将此值转换成连续向量场:
Φx(i,j)=cos(2ϑ(i,j)),Φy(i,j)=sin(2ϑ(i,j))
(4)
并通过5*5均值滤波,有:
(5)
每个非奇异局部区域指纹图像中,与脊线正交方向的灰度值近似为正弦波,且正弦波的频率为脊线频率,局部脊线方向的频率f可表示为[8]:
(6)
式中,k为极点数,m为极点序列。
2.2 混合滤波
指纹图像中的脊线方向和频率为去除噪声提供了有用的信息。在小片分割的区域里,近似正弦波的脊谷信息变化缓慢,因此可利用此特点,在保留脊谷有用信息的前提下,用带通滤波器将噪声有效去除,并可试图将断裂的脊谷信息进行修复。
实验表明,Gabor滤波器适合于脊谷线密度低、灰度偏白的指纹图像增强,如干性皮肤的指纹。FFT滤波器适合于脊线较宽、脊线与脊线靠的近、高曲率和复杂性强的指纹图像增强,如油性指纹。为充分利用两种滤波器的优点,本文利用Gabor滤波器和FFT×|FFT|n滤波器相结合的方法实现混合滤波。
(7)
xφ=xsinθ+ycosθ,yφ=xcosθ-ysinθ
(8)
式中,θ、f表示每个子块方向和局部脊线方向的频率,δx、δy表示沿x、y方向的高斯包络常数。
FFT滤波器可表示为:
(9)
式中u=0,1…11,v=0,1…11,M=N=12。为通过频域实现图像增强,采用FFT×|FFT|n的方法对目标子块进行换算,即:
(10)
其中t为通过实验得到的常数,F-1(F(u,v))为:
(11)
具体操作时,根据每个分割后的子块图像特点,在Gabor滤波器和FFT×|FFT|n滤波器之间进行选择。
2.3 指纹特征提取和匹配
指纹特征提取有很多方法,常用的有端点、分叉点等。此处采用邻域决策法。如图3所示,对图像进行细化后,在3×3窗口中,对P点进行处理,依据式判断是否为特征点,式中P8+1=P1。
在对新生进行入学教育时,专业导师应认真组织本专业同学进行专题讲解学习,让新生系统地了解专业培养目标、就业前景、就业情况以及将来的职业发展方向等,对新生进行职业启蒙教育,从而帮助学生树立正确的职业意识、建立正确的职业导向。
(12)
图3 3×3领域
若Cn=0,则为孤立点,Cn=1为端点,Cn=2为通过点,Cn=3为分叉点。用此方法可得到位置、方向、类型(孤立点、端点、分叉点等)等信息。中心点的提取采用poincare公式[10]。将此类信息保存到指纹特征库,以便对后续的指纹进行对比。
噪声干扰、边缘效应以及二值化和细化过程中会带入伪特征点,为避免影响后续指纹比对,采取了相应措施去除伪特征点[11]。
提取的指纹特征结构可表示为S={(x,y,θ,Cn,fd,f)},fd表示三角点的顶点坐标。配准的原理是首先依据每个特征点周围场的分布,寻找配准点作为两幅图像的参考点,然后计算出每个特征点之间的拓扑关系,压缩编码后存入到flash芯片[12]。匹配时通过指纹特征结构:中心点、三角点、方向场点、特征点类型、频率等进行逐一比较[13]。
3 指纹图像分割
Gabor滤波器和FFT×|FFT|n滤波器适用的对象各不相同,为了将两种滤波器混合使用获得更好图像增强效果,需要对指纹图像进行分割。
本文指纹图像的分割以图像密度为依据,图像密度通过直方图来显示判断。不同区域的指纹图像密度在直方图上的显示值不同,通过比较直方图上的密度值大小进行相应的分割。
指纹图像首先根据直方图的值将其分为两份或者三份,再根据分割后的图像直方图,判断是否需要继续分割,直至分割后的图像直方图达到合适的值或者密度基本均匀。
4 实验结果与分析
4.1 指纹图像分割
如前所述,为实现有效的图像增强,根据图像直方图密度不同而采用不同的滤波器。有效的图像分割是图像增强的前提。基于直方图的指纹图像分割过程,如图4所示。
(a)(b)(c)
(d)(e)(f)
(g)(h)(i)
图4 基于直方图的指纹图像分割过程图
图4(a)为原始图像,图4(b)为图4(a)的直方图,图4(c)为根据b图的密度直方图将原始图像分割为两部分,图4(d)为图4(c)图像上半部分直方图,图4(e)为图4(c)图像下半部分直方图,图4(g)为图4(c)图像上半部分图像的进一步的分割,图4(h)、图4(i)分别为图4(g)图中对应左、右部分的直方图,图4(i)所对应的最高密度的分割图,即图4(g)图右半部分。
4.2 指纹图像增强
低质量指纹图像通过Gabor滤波器和FFT×|FFT|n滤波器后的图像增强,如图5所示。
图5中左边图像为原始图像,中间图像为通过 FFT×|FFT|n滤波器实现的图像增强,右边图像为通过Gabor滤波器实现的图像增强。粗线条圆圈表示FFT×|FFT|n滤波器的图像增强效果比Gabor滤波器要好,细线条圆圈表示Gabor滤波器的图像增强效果比FFT×|FFT|n滤波器要好。
由图5可知,Gabor滤波器在检测脊线端点和分叉点、提高脊线和谷线间的分辩率、低质量指纹图像的脊线可恢复性等几方面要强于FFT×|FFT|n滤波器。而在高曲率下保持脊线完整性方面,FFT×|FFT|n滤波器比Gabor滤波器更好。同时,FFT×|FFT|n滤波器会试图将破损的脊线连接起来,并填补空白区域。
Gabor、FFT×|FFT|n、混合滤波器的三种图像增强方法比较,如图6所示。
(a)
(b)
(c)
(d)
(e)
图6(a)为原始图像,图6(b)为采用FFT×|FFT|n波滤器实现的图像增强,图6(c)为采用Gabor波滤器实现的图像增强,图6(d)为分割后的原始图像,图6(e)为采用Gabor和FFT×|FFT|n混合滤波器实现的图像增强。由图6(b)、(c)可看出,FFT×|FFT|n滤波器在高曲率部分的图像增强效果比Gabor滤波器要好。为此,图6(d)进行分割后,不同块根据直方图密度来选择不同的滤波器,由图6(e)可看出,采用混合滤波器后图像效果明显变好。
指纹增强的目的是为了改善输入图像的脊线和谷线清晰度,使之更适合细节特征提取及二值化分类。为此,首先选取FVC2004数据库中的低质量指纹图像,如图7所示。
(a)
(b)
两张指纹图像分叉点的数量分别为20、18,通过Gabor滤波器、FFT×|FFT|n滤波器、混合滤波器3种方法实现分叉点的识别,结果如表1所示。
表1 不同方法脊线分叉点识别率比较
可知采用混合滤波器的方法具有最高的识别率。
4.3 指纹识别性能测试
为测试指纹识别可靠性,采集了本单位100人的拇指、食指进行FRR(拒识率)和FAR(误识率)测试。测试结果如表2所示。
表2 指纹识别性能测试
结果表明采用混合滤波的指纹增强在指纹识别过程中具备最高的识别率。同时在测试时间方面,因为采用了更为复杂的算法,时间上与采用Gabor和FFT指纹增强算法比较,耗时更长,但仍在接受范围内。
5 总结
本文以高性价比处理器ADSP-BF531作为指纹采集处理的核心芯片、指纹采集采用FPC1020传感器,结合Flash、SDRAM芯片构建指纹采集识别硬件系统。此硬件系统具有较高的性价比。在此基础上,详细设计了指纹采集、识别算法。为提高指纹识别正确率,本文提出了混合滤波算法来提高指纹图像增强,并和单一的Gabor滤波器、FFT×|FFT|n滤波器进行了效果比较。系统经过实验测试,表明性能良好,指纹采集识别率较高。
[1] 刘学军, 卢冰. 基于云计算及移动公共平台的配网作业全过程管控[J]. 企业管理, 2016(S2):480-481.
[2] 李铁军, 秦伟. 自适应模板大小的Gabor指纹增强方法[J]. 计算机工程与应用, 2010, 46(20):216-218.
[3] 张彤, 杨秀坤. 基于方向滤波的指纹图像增强算法的研究[J]. 哈尔滨商业大学学报(自然科学版), 2012, 28(5):565-569.
[4] L Hong, Y. Wan, A. K. Jain. Fingerprint image enhancement: Algorithm and performance evaluation[J]. IEEE Transactins on Pattern Analysis Machine Intelligence, 1998, 20(8):777-789.
[5] A.K. Jain, S. Prabhakar, L. Hong, et al. Filterbank-based fingerprint matching[J]. IEEE Transactins on Image Processing, 2000, 9(5):846-859.
[6] Das R K, De A, Pal C, et al. DSP hardware design for fingerprint binarization and thinning on FPGA[C]// International Conference on Control, Instrumentation, Energy and Communication. IEEE, 2014:544-549.
[7] 游新娥. 基于方向图的动态阀值指纹信息提取识别研究[J].计算机仿真, 2012, 29(8): 253-256.
[8] 李庆嵘. 指纹图像增强算法研究[J].电子工程师,2006, 32(10):55-57.
[9] Tadic V, Popovic M, Odry P. Fuzzified Gabor filter for license plate detection[J]. Engineering Applications of Artificial Intelligence, 2016(48):40-58.
[10] Azad Noor.A New Algorithm for Minutiae Extraction and Matching in Fingerprint[D]. London:Brunel University, 2012.
[11] W.Trappe, M.Wu,Z.J.Wang, et al. Anticollusion fingerprinting for multimedia[J]. IEEE Transactins on Signal Processing, 2003(51):1069-1087.
[12] 李汝才. 基于ARM9的嵌入式指纹识别系统[D]. 哈尔滨:哈尔滨工程大学, 2013.
[13] 武言哲, 谢吉华, 徐芳. LC698S片上指纹算法的优化与应用[J]. 单片机与嵌入式系统应用, 2017, 17(5):68-71.