基于Auto Encoder的智能监控指纹识别系统
2015-07-19常峰贺元骅
常峰,贺元骅
(1.乐山师范学院物理与电子工程学院,四川乐山614004;2.中国民航飞行学院航空安全保卫学院,四川广汉618307)
基于Auto Encoder的智能监控指纹识别系统
常峰1,贺元骅2
(1.乐山师范学院物理与电子工程学院,四川乐山614004;2.中国民航飞行学院航空安全保卫学院,四川广汉618307)
针对目前已有的嵌入式指纹识别系统往往采用手工提取,不能自动学习并提取识别所需的特征及识别正确率仍然不高的缺点,提出一种基于自动编码器(Auto Encoder)和LSSVM的指纹识别系统。首先,提出采用FPS200作为指纹传感器采集指纹数据,然后将采集的数据经过滤波和二值化等预处理,通过比较差异算法获得Auto Encoder中的权值和偏置等参数,从而得到训练好的Auto Encoder用于指纹图像特征提取。最后,将自动提取的特征进行训练和分类,将投票最多的分类作为指纹识别的结果。通过测试表明,系统能较精确地实现指纹识别,具有收敛速度快、正确识别率高和匹配时间短的优点。
指纹;识别率;匹配;自动编码器
现有的指纹特征提取方法由于具有噪声复杂、形变严重、可用信息丢失、特征难以提取的问题,为指纹的有效识别带来困难[5]。为了解决上述问题,文献[6]提出了一种针对残缺指纹识别的算法,采用模式熵作为相似性度量标准,根据提取的包含足够信息的特征以及有效度量方式实现指纹识别。文献[7]针对指纹识别过程中指纹平移、旋转和挤压问题,设计了一种局部特征点和三角形模型的匹配算法,通过引入邻近细节点之间的距离实现指纹识别。文献[8]将辐射源信号的模糊函数多普勒切片作为初始特征,采用多集典型相关分析实现不同切片的特征融合和冗余消除,从而在较小的向量阶数下仍然获得较高的识别率。文献[9]在特征序列挖掘过程中加入自适应权值,通过对原始序列的加权统计得到判决结果,然后采用提升率对特征序列进行关联规则验证,获得指纹特征进行识别。
上述工作均采用某种方法手工提取指纹特征以实现识别,不能自动学习并提取识别所需的特征。为此,本文将深度自动编码器的思想引入指纹的特征提取过程中,使得可以在无需关心提取特征类型的基础上实现指纹识别,且能保持较高的识别率。
1 指纹识别模型
文中设计的指纹识别系统主要包含4个部分,即指纹图像的获取、指纹图像的预处理、指纹图像的特征提取和指纹图像的匹配。
图像的获取是通过设计硬件系统实现指纹图像的采集,指纹图像的预处理主要采用小波滤波对指纹图像进行滤波去噪,然后将其灰度化转换为二值图。在此基础上,采用Auto Encoder实现对指纹图像的自动特征提取,最后将经过Auto Encoder自动提取的特征,采用支持向量机对指纹图像进行分类匹配,从而实现指纹识别。
文中设计的指纹识别系统模型如图1所示。
图1 指纹识别系统框图
2 系统硬件设计
基于单片机的指纹识别系统硬件框图如图2所示,具有指纹输入、图像处理、图像匹配的功能。当指纹传感器采集指纹后,通过串口发送消息给微处理器,微处理器接收到消息后同意其发送数据,此时,指纹传感器将采集的指纹转换为RGB格式,并将数据传输给微处理器,微处理器通过存储在EEPROM中的固化程序实现图像的处理和匹配,当指纹图像被确认后,微处理器将发送命令给执行机构,执行智能控制设备的开关,实现安全监控。
图2 硬件系统框图
指纹传感器采用Veridicom公司推出的FPS200,具有标准CMOS工艺。微处理器采用ATMEL公司的AVR系列的8位微处理器ATmega128L芯片。
3 基于Auto Encoder的指纹特征自动提取
3.1 Auto Encoder
Auto Encoder是一种深度学习的常用模型,主要利用人工神经网络的层次结构特点,采用模型训练参数,从而得到不同隐含层的值,每个隐含层的输出就是输入数据的某种特征的表示,从而实现无监督的特征提取。
由于深度自动编码器的输出,都是前一层输出的一种近似等价的表示方式,在尽可能多保留数据特征的情况下实现数据的降维;因此Auto Encoder可以采用多个限制玻尔兹曼机(restricted boltzmann machine,RBM)堆叠组成,每个RBM都是一个二部图,每个神经元的值为0或1,任意两层之间都是全连接的,层内神经元之间无连接。采用v表示可视层单元,h表示隐含层单元。
3.2 Auto Encoder自动特征提取原理
指纹图像被采集后,首先对其进行预处理,即通过滤波器(如Garbor小波变换)进行滤波降噪;然后对其进行二值处理,其目的是一方面降低图像数据存储的维数,另一方面使得指纹图像符合RBM的输入要求,此时的指纹图像仍然包含各类特征,无法从中找出最优特征,因此需要对特征进行自动提取。
在层与层之间的权值和各层的偏置进行训练时,即对单个的RBM进行训练时,采用比较差异算法,即在任意一个RBM中,通过从输出重构输入,再由重构的输入获得重构的输出,重复n次。此时,根据第1次和第n次的输入数据和输出数据乘积的比较,就可以作为梯度来更新所需要学习的参数。现有的自动编码器中通常假设n=1,因为已有实验证明,n=1时能取得较好的学习效果。
由于Auto Encoder是由多个RBM堆叠组成的,因此,在训练完底层的RBM后,就可以将其输出的特征用于高层的RBM的输入,直至最后一个RBM训练完毕。
3.3 算法实现
假设在某层的RBM中,可视层神经元的个数为m,可视层的偏置向量为a,隐含层神经元的个数为n,隐含层的偏置向量为b,可视层与隐含层之间的权值矩阵w的维数为m×n,则基于比较差异算法对该RBM进行训练,在获取各参数的基础上,利用Auto Encoder实现指纹图像特征自动提取。
输入:训练样本集X={x0,x1,…,xN},测试样本集T={t0,t1,…,tM},隐含层个数n,所有隐含层神经元的个数为H={h1,h2,…,hn},学习率α。
输出:训练样本集X={x0,x1,…,xN}和测试样本集T={t0,t1,…,tM}对应的特征向量OX={ox0,ox1,…,oxhn}和OT={ot0,ot1,…,othn}。
步骤1:初始化权值矩阵w为一个较小数值的矩阵,初始化可视层的偏置向量a,隐含层的偏置向量为一个较小数值的向量,对可视层单元的初始状态进行初始化为训练样本集中的第一个样本ν1=x0,当前样本数t=0,隐含层为h=h1。
步骤2:根据当前的可视层输入,对每个隐含层神经元hij(1≤j≤n),hi中h表示隐含层,i表示隐含层的第i个神经元,其被激活的概率为
式中σ通常为sigmoid激活函数。
步骤3:根据条件分布p(hi1j|ν1)抽取出hij∈{0,1}(1≤j≤n),从而得到每个隐含层神经元的输出采样值。
步骤4:对于每个可视层神经元νi(1≤i≤m),根据步骤3计算的隐含层神经元的状态,将其作为输入,重构可视层神经元被激活的概率为
步骤5:根据式(2)所示的重构可视层神经元被激活的条件概率分布p(ν2i|hi1),对可视层神经元进行采样,从而抽取出ν2i∈{0,1}(1≤i≤m)。
步骤6:根据步骤5计算出的重构可视层的神经元状态,对每个隐含层神经元hij(1≤j≤n),隐含层神经元被激活的概率为
步骤7:根据式(3)所示的条件概率分布,对由重构可视层生成的隐含层神经元的状态采样,即hi2j∈{0,1}(1≤j≤n)。
步骤8:根据步骤3由可视层得到的隐含层,步骤5重构的可视层以及由步骤7重构的隐含层,采用梯度下降算法,对w、a和b进行更新,如下所示:
步骤9:判断当前训练样本数是否等于N,如果小于,则t=t+1,并转入步骤2继续处理,否则训练完毕,转入步骤10。
步骤10:将所有的训练样本和测试样本输入到已经训练好的Auto Encoder,就得到所有样本对应的自动提取的指纹训练样本特征X′={x0′,x1′,…,xS′}和测试样本特征T′={t0′,t1′,…,tV′}。
步骤11:将步骤10得到的各自动提取的特征集X′={x0′,x1′,…,xS′}和T′={t0′,t1′,…,tV′}作为新的样本集,并将隐含层神经元个数初始化为H中的下一个元素,并转入步骤2继续执行。
步骤12:将最后一个隐含层输出的训练集特征和测试集特征,分别保存在特征向量OX={ox0,ox1,…,oxhn}和OT={ot0,ot1,…,othn}中。
4 指纹匹配
采用最小二乘支持向量机[10](least squares support vector machine,LSSVM)进行指纹匹配与识别。LSSVM在统计学理论基础上通过引入核函数,能将低维空间的线性不可分问题转化为高维空间的内积运算,从而实现样本分类。LSSVM模型如图3所示。
假设低维空间为RN,高维核空间H,则高维样本空间中的最优超平面为
式中:w——超平面的法向量;
θ——偏差。
图3 LSSVM模型
线性映射函数φ(x)∶RN→H,x′=φ(x),指纹识别问题即分类问题即为求解式(6)所示的目标函数:
对式(6)采用拉格朗日乘子法求解可得
其中αi、c和ξi分别为拉格朗日算子、正则化参数和松弛变量,此时根据Karush-kuhn-Tucker(KKT)条件求解式(7),可以将其转换为
式中:sign——基本符号函数,其值为{-1,1},因此可以鉴别两类样本;
k(xi,xj)——核函数。
由于1个LSSVM仅能进行2分类,因此构造n(n-1)/2个LSSVM可以实现n分类,最后,按少数服从多数的原则将投票最多的分类结果作为最终识别结果。
5 系统测试
为了验证文中方法的有效性,通过文中设计的指纹识别系统的指纹传感器采集600幅指纹图像作为训练数据集,这600幅指纹图像对应100个手指采集6次的结果;然后再采集400幅指纹图像作为测试数据,这400个指纹图像对应100个手指采集4次的结果,将测试样本集均分为4份即S1、S2、S3和S4。
从错误拒绝率(false reject rate,FRR)、错误接受率(false accept rate,FAR)和正确识别率(genuine accept rate,GAR)方面进行评价。FRR是对来自相同手指的两个不同指纹图像样本进行匹配,匹配结果为两个样本来自不同手指的概率。FAR表示对两个手指的两个不同的指纹图像样本进行匹配,匹配结果认为两个样本来自同一个手指的概率。正确识别率GAR为对来自相同手指的两个不同的指纹图像样本进行匹配,匹配结果为两个样本来自相同手指的概率。
采用训练样本集对Auto Encoder进行训练自动求取特征,在此基础上,再通过LSSVM进行指纹识别。参数设置为:在算法1中隐含层个数n=4,所有隐含层神经元的个数为h1=240,h2=150,h3=90, h4=15,学习率α=0.9,在LSSVM中核函数k(xi,xj)采用k(xi,xj)=tanh[ν(xi,xj)+c]。
在训练集训练完毕后,将测试样本集S1、S2、S3和S4输入训练好的Auto Encoder获得自动提取的特征,再输入LSSVM得到的指纹识别结果如表1所示。
表1 指纹匹配结果 %
由表可知,文中方法在4个测试集上的平均FRR、FAR和GAR分别为0.72%、0.36%和98.93%,具有较高的识别率。
文献[8]和文献[9]采用人工智能相关方法来进行指纹的识别,考虑到文献的新旧和相关性,最终选择对比这两篇文章的工作以进一步证明文中方法的优越性。计算3种算法随着匹配时间的增加,GAR的变化情况,结果如图4所示。
图4 正确识别率比较
可以看出,本文方法的正确识别率随着匹配时间的增加一直高于文献[8]和文献[9]方法,且文中方法在匹配时间为200 s时已经趋于收敛,收敛的正确识别率为98.93%;而文献[8]的识别率最低,在匹配时间达到最大值为300 s时,仍然只能达到93%,且仍未能收敛;文献[9]的识别率介于文中方法和文献[8]之间,在匹配时间为270s时收敛到95%。显然,文中方法能在无需手动提取特征的情况下达到较高的正确识别率,且匹配所需的时间最短,收敛速度最快。
6 结束语
为了对信息、设备和系统进行有效安全的智能监控,设计了一种基于Auto Encoder的智能监控指纹识别系统。首先描述文中设计的指纹识别系统总体框图,然后对系统的硬件结构进行设计,提出采用Auto Encoder进行指纹自动特征提取的算法;通过比较差异算法实现Auto Encoder的训练,然后再将自动提取的特征输入LSSVM进行分类,将投票最多的分类作为指纹识别的结果。通过系统测试表明文中设计的系统能较为准确地实现指纹识别,较其他方法具有较快的收敛速度和较高的正确识别率。
[1]Tico M,Kuosmanen P.Fingerprint matching incorporating ridge features with minutia[J].IEEE Transactions on Information Forensics and Security,2011,6(2):338-345.
[2]袁红林,包志华,严燕.基于对数谱射频指纹识别的RFID系统信息监控方法[J].通信学报,2014,35(7):86-93.
[3]郑骏,张丹,潘静.基于FPGA的指纹识别系统的设计与实现[J].电子技术应用,2011,37(4):55-60.
[4]Feng J J,Jain A K.Fingerprint reconstruction:from minutiae to phase[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2011,33(2):209-223.
[5]陈书谦,傅扬烈.改进的指纹识别算法嵌入式应用研究[J].微电子学与计算机,2012,29(10):181-184.
[6]张洁,景晓军,刘馨靖,等.一种基于模式熵的残缺指纹识别算法[J].电子与信息学报,2012,34(12):3040-3045.
[7]袁东锋,杜恒,秦小铁.基于三角形局部特征点模型指纹匹配算法[J].重庆师范大学学报:自然科学版,2013,30(2):69-73.
[8]王磊,史亚,姬红兵.基于多集典型相关分析的雷达辐射源指纹识别[J].西安电子科技大学学报:自然科学版,2013,40(2):164-171.
[9]琚玉建,谢绍斌,张薇.基于自适应权值的数据报指纹特征识别与发现[J].计算机测量与控制,2014,22(7):2288-2294.
[10]Yuan S F,Chu F L.Support vector machines-based fault diagnosis for turbo-pump rotor[J].Mechanical Systems and Signal Processing,2006,20(4):939-952.
Intelligence monitoring recognition system for fingerprint based on Auto Encoder
CHANG Feng1,HE Yuanhua2
(1.School of Physics and Electronic Engineering,Leshan Normal University,Leshan 614004,China;2.School of Aviation Security,Civil Aviation Flight University of China,Guanghan 618307,China)
The existing embedded fingerprint identification systems can not automatically remember and extract the features for fingerprint identification,thus leading to a low identification ratio.To solve these problems,a fingerprint identification system based on Auto Encoder and LSSVM was proposed.First,the FPS200 was used as a fingerprint sensor to obtain fingerprint data,which was then pre-managed by filters and binaryzation.Second,contrast difference algorithm was used to get the parameters of the Auto Encoder such as weight and bias.The trained Auto Encoder was further applied to collect fingerprint image features.Third,the automatically extracted features were input to the trained LSSVM to be further trained and classified,and those with the most voters were regarded as the identification results.The test indicates that the proposed method can precisely recognize fingerprints.Compared with other methods,it is faster in convergence rate,higher in identification rate,and more efficient in fingerprint matching.
fingerprint;identification rate;match;auto encoder
A文章编号:1674-5124(2015)08-0071-04
10.11857/j.issn.1674-5124.2015.08.017
0 引言
为了保障信息、设备和系统的安全,大量研究开始着力于通过生物识别技术来实现智能监控[1-2],由于指纹是人体的基本特征,且具有唯一性和终生不变的特点[3],采用指纹来识别不同的个体是一种较好的方法[4]。
2014-10-23;
2014-12-14
国家自然科学基金项目(61079022)
常峰(1980-),男,四川乐山市人,实验师,硕士,研究方向为电子测量技术及仪器、自动测试技术及系统集成。