硬件友好型合成指纹鉴别算法的研究*
2016-12-02徐智勇唐根伟姜新泉
徐智勇,唐根伟,姜新泉,常 胜
(武汉大学 物理科学与技术学院微电子系,湖北 武汉 430072)
硬件友好型合成指纹鉴别算法的研究*
徐智勇,唐根伟,姜新泉,常胜
(武汉大学 物理科学与技术学院微电子系,湖北 武汉 430072)
合成指纹是一种新出现的伪造指纹,对自动指纹识别系统(AFIS)的安全性造成巨大威胁。针对合成指纹提出了一种硬件友好型的鉴别算法。通过对真实和合成指纹图像的灰度均值、方差因子以及Harris角点数目因子的提取构建特征向量,得到基于多项式核函数支持向量机的智能计算模型,成功鉴别出合成指纹。以硬件友好的思路进行算法构架,充分发挥电路执行速度快的优势。经 Qsys平台上的验证,可在 18 ms内完成对一幅指纹图像的鉴别,相比传统软件方式极大地缩短了时间,鉴别准确率可达97%以上。
硬件友好;合成指纹;识别;支持向量机;Qsys
0 引言
近年来,随着生物识别技术的发展,自动指纹识别系统(AFIS)被越来越广泛地应用于身份识别领域[1]。然而一些企图不良的人开始攻击自动指纹识别系统的漏洞,利用伪造指纹替代真实指纹,从而侵入与指纹信息相关的各应用系统,给个人隐私与安全带来了巨大的威胁。
图1 几种不同的指纹图像
常见的伪造指纹主要有3种:改造指纹、非活性指纹和合成指纹,如图1所示。针对前两种伪造指纹的鉴别,众多科研机构及学者都已做了非常深入的研究,成果丰富。例如,DERAKHSHANI R[2]通过检测指纹汗渍图来鉴别非活性指纹,ANTONELLI A[3]通过对比非活性指纹和真实指纹的扭曲度来完成鉴别。合成指纹则不同于以上两种伪造指纹,它是通过合成算法在计算机上生成世上完全不存在的指纹图像。目前,关于合成指纹的工作主要集中在合成方法的研究,以及使用合成指纹图像作为指纹匹配数据库。如CAPPELLI R[4]在 2000年提出了五步合成法,随后又提出添加干、湿和噪声的方法来使得指纹图像更加逼真,这种算法已经被用在2004年的国际指纹识别竞赛中(FVC2004)。此外,胡瑾和田捷[5]从方向场、密度图和脊线纹理3个方面来优化指纹图像,这种算法生成的指纹图像已被用在中国生物特征识别竞赛中(BVC)。由于合成指纹和真实指纹十分相似,也可作为欺骗性指纹来攻击AFIS,从而带来巨大的安全隐患。但遗憾的是,目前还少有对合成指纹展开鉴别的研究,更未见相关的硬件系统实现的报道。
针对缺少合成指纹鉴别研究的现状,本文提出了一种硬件友好型算法。通过对真实和合成指纹图像的灰度均值、方差因子以及Harris角点数目因子的提取构建特征向量,成功鉴别出合成指纹。以硬件友好的思路进行算法构架,充分发挥电路执行速度快的优势。经Qsys平台上的验证,可在18 ms内完成对一幅指纹图像的鉴别,相比传统软件方式极大缩短了鉴别时间,鉴别准确率可达97%以上。
1 合成指纹鉴别算法
选取指纹图像的灰度均值、方差因子以及Harris角点数目因子来构建特征向量,利用基于支持向量机(SVM)的智能计算模型可以很好地鉴别真实指纹和合成指纹,设计流程如图2所示。真实指纹来自 FVC2004 DB2,合成指纹从FVC2004 DB4和BVC中随机选取。
图2 合成指纹系统鉴别流程
1.1灰度均值和方差因子
合成指纹的背景来源于Karhunen-Loeve变换的统计模型[6],与真实指纹图像的背景存在一定差异。因此,可以考虑选择指纹图像灰度的均值 Qgrayavg和方差 Qgrayvar作为特征因子进行辨别:
式中,f(i,j)表示指纹图像点(i,j)的灰度值,H和 L分别表示指纹图像的长和宽。随机选取30幅真实指纹和合成指纹进行灰度均值和方差的对比,结果如图3所示。
图3 灰度均值和方差因子对比图
可以看出,真实指纹图像的灰度均值明显大于合成指纹。在方差方面,真实指纹的灰度方差大于DB4指纹,但是明显小于BVC指纹。因此可以把指纹图像灰度均值和方差作为特征因子。
1.2Harris角点数目因子
Harris算子对纹理信息丰富的图像(例如指纹图像)可以提取出大量的特征点[7]。由于真实指纹图像比较平滑,而合成指纹是人为的添加白色气孔作为噪声,容易产生更多的角点。因此,推测 Harris角点数目可以作为区分真实指纹和合成指纹的一个因子。将指纹图像分割成 W×W(W=8)的小块,按如下公式计算角点量R:
式中,Gx(i,j)和 Gy(i,j)分别代表(i,j)的水平梯度值和垂直梯度值。Ix′、Iy′和 Ix′y′是对 Ix、Iy和 Ixy进行高斯平滑滤波得出,目的是降低噪声干扰。如果计算所得的R满足以下条件:R是邻域内局部极大值及R大于设定的阈值,则认为该点是 Harris角点。真实指纹和合成指纹Harris角点的对比结果如图4所示。可以看出合成指纹的 Harris角点数目明显多于真实指纹,与推测吻合,因此可以把它当作特征因子。
1.3支持向量机学习鉴别
支持向量机(SVM)是AT&T Bell实验室的 V.Vapnik等人提出的一种针对分类和回归问题的新型机器学习方法,具体鉴别流程如图5所示。常用的支持向量机核函数有线性核、多项式核、径向基核和Sigmoid核。考虑到硬件友好性,本文采用多项式核函数。
图4 Harris角点数目因子对比图
图5 SVM鉴别流程
2 硬件友好型设计
2.1系统框架与设计流程
根据合成指纹鉴别算法,将每个特征因子提取算法变换成硬件模块,构建完整的硬件系统。硬件验证平台选择Altera的Qsys,系统框架如图6所示。
图6 硬件系统框架
整个硬件系统设计流程为:首先在计算机的DSP Builder平台完成硬件系统电路的设计、训练、仿真和综合,生成VHDL代码和TCL脚本,利用开发工具Quartus II在Qsys平台完成算法的验证,最后通过USB-Blaster下载到FPGA开发板。
2.2灰度均值和方差计算模块
指纹图像灰度均值和方差的计算采用建立灰度直方图的方法。使用一个双口RAM,直方图横坐标表示RAM地址,即指纹图像灰度值 0~255,纵坐标表示 RAM存储的数据,即该灰度值下像素点的个数。直方图建立完成后计算指纹图像均值与方差,如图7所示。其中:PN表示图像中像素点的总数,g表示直方图的横坐标值,N表示对应横坐标下的纵坐标值。gmin=0,gmax=255,当 g达到gmax时,求和并利用除法器计算指纹图像均值和方差。
图7 图像均值和方差计算示意图
2.3Harris角数目计算模块
Harris角点计算时需要使用Prewitt算子分别计算水平方向和垂直方向的梯度值。以水平方向为例来说明,水平方向的Prewittx算子如式(5):
现使用 Prewitt算子对每一像素点做卷积运算,这里将算子变成3×3的窗口,将某一点的卷积变成窗口中系数与该点邻域内像素点乘积的和,用流水线的方式来实现窗口的平移。
可以推算出,水平方向和垂直方向共需要18个乘法器模块,即18个dsp-9bit。同时高斯滤波模块需要4个双精度乘法器,而一个双精度乘法模块就需要18个dsp-9bit、345个lut和 519个reg。此方式逻辑资源占用很大,且乘法器的较多运用将会导致运算效率的低下。为硬件友好性的考虑,根据 Prewitt算子将梯度计算优化,如图8所示。
图8 改进水平方向梯度计算窗口
此方式中,在梯度计算模块中只使用了简单的逻辑运算和加法运算,节约了大量的硬件资源,并且提高了系统的运行效率。
2.4SVM判别公式模块
本文中使用的支持向量机是台湾大学林智仁提出的LibSVM。在软件平台将特征因子进行训练后得到一个训练模型,利用其中的参数来实现SVM判别公式硬件化:
式中,xi表示待判别的样本,yi为对应样本的标签,x表示支持向量,ai表示拉格朗日系数,b是偏置。经 Avalon总线提供到硬件模块中,根据 f(xi)的正负来判断指纹样本是真实指纹还是合成指纹。
3 验证和评价
搭建完成的硬件系统下载到 DE2-35开发板,其资源占用情况如表1所示。
表1 硬件资源占用情况
可以看出,本文提出的算法对硬件资源的占用较小,在常见的FPGA芯片上可以正常运行。
此外,对本算法的鉴别性能进行验证。采用如下的指纹数据库进行预测:600幅FVC2004 DB2的真实指纹图像、300幅FVC2004 DB和300幅 BVC的合成指纹图像。从软件和硬件分别对比本鉴别算法的性能,结果如表2所示。
表2 软件和硬件识别性能对比
可以看出,在鉴别准确率上硬件算法要略低于软件算法,这是由于硬件模块对浮点数的计算存在“四舍五入”的近似,所以提取的特征因子数值有偏差,但 97.5%的准确率在使用中仍然是可接受的;在鉴别时间上,硬件鉴别要明显快于软件鉴别,符合实际使用中的实时性要求。考虑指纹图像的预处理时间,即特征因子提取时间,本系统在50 MHz的时钟频率下仅需18 ms就可以完成鉴别过程。
4 结论
本文提出了一种硬件友好型的合成指纹鉴别算法。通过对算法各模块的硬件友好型设计,极大减少了硬件电路的资源占用,提升了算法的处理能力。实验结果表明,本算法在具备较短鉴别时间的同时有着97%以上的鉴别准确率,非常适合于嵌入式实时处理。本工作弥补了目前AFIS在合成指纹鉴别方面的缺陷,提高了指纹生物识别的可靠性。
[1]肖芳,罗军,王安文,等.一种新型 SoPc自动指纹识别系统设计[J].电子技术应用,2010,36(8):14-16.
[2]DERAKHSHANI R,SCHUCKERS SAC,Hornak LA,et al.Determination of vitality from a non-invasive biomedical measurement for use in fingerprint scanners[J].Pattern Recognition,2003,36(2):383-396.
[3]ANTONELLI A,CAPPELLI R,MAIO D,et al.Fake finger detection by skin distortion analysis[J].Information Forensics and Security,IEEE Transactions on,2006,1(3):360-373.
[4]CAPPELLI R,MAIO D,MALTONI D.Synthetic fingerprintdatabase generation[C].Pattern Recognition,2002.Proceedings 16th International Conference on.IEEE,2002:744-747.
[5]胡瑾,田捷,陈新建,等.一种指纹合成的方法及其实现[J].软件学报,2007,18(3):517-526.
[6]徐之海,冯华君,李奇,等.基于 Karhunen—Loeve变换的人脸识别研究[J].光学工程,2001,28(6):48-51.
[7]HARRIS C,STEPHENS M.A combined corner and edge detector[C].Alvey Vision Conference,1988,15:50.
Research of a hardware-friendly synthetic fingerprint discrimination algorithm
Xu Zhiyong,Tang Genwei,Jiang Xinquan,Chang Sheng
(Department of Microelectronics,School of Physics and Technology,Wuhan University,Wuhan 430072,China)
Synthetic fingerprint is an emerging forged fingerprint,which makes a great threat to the security of automatic fingerprint identification system(AFIS).A hardware-friendly fingerprint discrimination algorithm aiming at synthetic fingerprint is proposed.The real and synthetic fingerprint′s characteristic factors—gray average and variance features,Harris corner number feature,are extracted to structure feature vectors which are used to train an intelligent computing model by support vector machine′s polynomial kernel function,and this model can discriminate synthetic fingerprints successfully.The algorithm is constructed based on a hardwarefriendly idea,which brings the advantages of hardware circuit′s high execution speed into full play.The experiments show that the hardware-friendly algorithm can process and discriminate a synthetic fingerprint image in 18 ms based on Qsys,which greatly shortens the discrimination time compared with the traditional software way.The discrimination accuracy rate is over 97%.
hardware-friendly;synthetic fingerprint;discrimination;support vector machine;Qsys
TP391
A
10.16157/j.issn.0258-7998.2016.10.013
国家自然科学基金(61574102);湖北省科技支撑计划(2015CFB536)
2016-04-27)
徐智勇(1993-),男,硕士研究生,主要研究方向:机器学习与模式识别。
唐根伟(1995-),男,本科,主要研究方向:伪造指纹的识别算法研究。
姜新泉(1995-),男,本科,主要研究方向:伪造指纹的识别算法研究。
中文引用格式:徐智勇,唐根伟,姜新泉,等.硬件友好型合成指纹鉴别算法的研究[J].电子技术应用,2016,42(10):54-57.
英文引用格式:Xu Zhiyong,Tang Genwei,Jiang Xinquan,et al.Research of a hardware-friendly synthetic fingerprint discrimination algorithm[J].Application of Electronic Technique,2016,42(10):54-57.