基于Gabor与瑞利分布型滤波器的虹膜识别法
2013-02-20
(广东肇庆学院教育技术与计算机中心,广东 肇庆 526061)
随着我们迈入信息时代,信息安全成为当今必须解决的一个关键社会问题,特别是随着近些年恐怖事件的不断发生,社会各界对安全性的要求也越来越高,因而对生物特征识别技术的需求量也越来越大。据统计[1],到目前为止,虹膜识别的错误率是各种生物特征(指纹,人脸,声音等)识别中最低的。由于人的虹膜具有唯一性、稳定性、可采集性、非侵犯性等优点,所以被认为是最有前途的生物识别技术之一。虹膜识别是刚刚兴起的前沿方向,目前虹膜识别算法主要有以下几种:
Daugman[2]提出利用2D-Gabor滤波器对虹膜纹理进行局部相位量化和编码,这种算法识别准确性高,速度快,是目前虹膜识别商用系统的基础。但这种算法需要处理纹理的二维信息,增加了特征提取的运算时间。Wildes[3]采用高斯型滤波器在不同分辨率下分解虹膜图象,并把结果进行存储比较,计算量比较大。Boles[4]提出了一种新颖的基于小波变换过零检测的虹膜识别算法,只在小样本集里取得了有限的结果。这种算法对灰度值变化比较敏感,因而识别率比较低。
本文提出一种基于Gabor与瑞利分布型滤波器的虹膜识别算法。实验结果表明,该算法识别错误率低,效率高,适合安全性要求较高的场合。
1 虹膜图象的预处理
一个虹膜识别系统通常有虹膜图象的预处理(图象获取,虹膜定位,归一化),特征提取,认证识别3部分组成。虹膜识别系统示意图如图1所示。
图1 虹膜识别系统示意图
1.1 虹膜定位
虹膜定位就是要找到瞳孔与虹膜,虹膜与巩膜之间的两个边界即内边界和外边界,通常我们把这两条边界近似为两个圆,只要知道圆心和半径,那么就可以唯一地确定一个圆,也就是说:虹膜定位就是在人眼图像中确定两对圆心和半径。
首先,根据人眼图像的灰度特点(虹膜区域灰度值较小),采用灰度投影的方法大致确定瞳孔的圆心c(Xc,Yc),计算公式如下:
式中,I(x,y)为图像的灰度值。
再对图像采用Canny算子[5]进行边缘检测,其敏感度阈值选取为0.9。对虹膜库中图像进行实验,结果表明可得到较清晰、完整的瞳孔边缘图像。在圆心c附近(避免睫毛和眼睑的影响)水平地扫描边缘图像数次,得到瞳孔边缘点,求出它们的中心即为瞳孔的圆心,所有点到中心的平均距离就是瞳孔的半径r。一般情况下,虹膜内外边界的圆心并不重合,但其偏差不到4个像素,故本文把瞳孔的圆心近似认为是虹膜外边界的圆心对最终定位结果影响不大。采用Daugman的圆形检测算子[2],直接以一个参数r进行搜索,计算如式(2):
式中,R就是虹膜外边界的半径,虹膜定位后的最终结果如图2(c)所示。
图2 虹膜定位
1.2 归一化
不同人眼图像定位出的虹膜区域大小不同,即使是同一人,由于光照和其它因素的影响也可能造成虹膜区域的大小变化,为了便于识别必须将虹膜按同样的维数展开。因为虹膜图像具有良好的极坐标特性,故本文采用极坐标转换方法。沿虹膜内边界向外,取n个同心圆,n对所有的虹膜都保持不变。在每个同心圆上取m个采样点,这样得到一个n×m的矩阵n,m是常数,在所有的图像中保持不变,这样就做到虹膜区域的归一化,原理如图3所示。
图3 虹膜归一化
由于上眼皮会部分地遮挡虹膜顶端,为了排除这一部分,以瞳孔为中心,按逆时针方向截取150°到 210°与 330°到 390°的虹膜区域,如图 4(a)。然后将截取的虹膜区域在极坐标系中展开成大小为40×256矩形,如图 4(b)所示。
图4 虹膜展开
2 特征提取
目前已有的虹膜识别算法大多用Gabor小波变换来提取虹膜特征[5~6],但考虑到尽量简化编码过程,缩短编码时间,本文选用所有已知小波中最简单的Haar小波。如图5所示是虹膜图像的Haar小波分解示意图,L表示低频,H表示高频,下标1,2表示一级或二级分解。LL代表了图像在水平低频和垂直低频下的信息;LH代表了图像在水平低频和垂直高频下的信息;HL代表了图像在水平高频和垂直低频下的信息;HH代表了图像在水平高频和垂直高频下的信息。
图5 虹膜特征提取
通过大量样本实验,确定虹膜纹理特征分量主要集中在尺度23上,故对归一化的虹膜纹理图像(40×256)进行三层小波分解,选取第三层的对角细节HH3(5×32)进行虹膜特征编码(相当于160个特征)。
再将40×256的虹膜纹理图像分成8段 (每段40×32),分别对其进行3层小波分解,取其中大小为5×4的HL和LH子图各4幅,它们很好地体现了虹膜的局部纹理特征。结合前面的5×32HH3分量,一同组成320位(5×32+8×5×4=320)特征码。它既考虑了全局特征又考虑了局部特征,并且结合了HL和LH分量,能够很好地标示虹膜纹理。320维虹膜特征码的所有元素都是区间[-1,1]上的实数,取0为阈值将其二值化(0或1)为320位虹膜码。
3 认证识别
通过Haar算法我们得到了虹膜的特征编码,接下来的工作便是选择合适的分类算法对编码进行训练分类。目前,在虹膜识别算法中普遍采用基于海明距离和欧氏距离的分类方法。本文将运用支持向量机(Support Vector Machine,SVM)方法完成对虹膜码的训练分类。SVM是一种基于结构风险最小化原理的两分类方法,由于其良好的性能,已被广泛应用到模式识别的许多领域。
3.1 支持向量机
支持向量机是一种基于结构风险最小化(StructuralRiskMinimization,SRM)[7]原理的通用学习方法.。如图6所示,实心点和空心点代表线性可分的两类样本。按照SRM的要求,SVM学习的结果是最优超平面P,该平面不仅能将两类训练样本正确分开,而且要使分类间隔最大。在这两类中离P最近的样本就是所谓的支持向量(Support Vector),正是它们确定了最优分类超平面。
图6虹膜最优超平面
假定训练集{xi,yi},i=1,…,lyiε{-1,1},xiεRπ在线性可分情况下被一个超平面ω×x+b=0,ωεRπ,bεR,分开,这样SVM可以看成是对如下问题的求解:
该约束优化问题可以用Lagrange方法求解:
3.2 训练分类
SVM的训练算法本质上就是解一个有大量约束的二次规划问题,训练结束后就获得了SVM的参数。考虑到目前对虹膜识别的应用主要是借鉴模式,即判断声称是xi的x是否为真。输入x的类别判别函数就是式中的f(x),如果f(x)=1,则认为是同一人的虹膜;如果f(x)=-1,则认为不是同一个人。
4 结束语
本文采用CASIA虹膜图像数据库[8],包括80人(其中男62人,女18人),108只不同眼睛的虹膜图像样本,每只眼睛有7幅8位灰度图像,分辨率为320×280。
身份鉴别系统有两个重要的统计性能指标:错误拒绝率FRR(漏报)和错误接受率FAR(虚警)。错误接受是指将冒充者识别为真正的生物特征拥有者;错误拒绝是指生物特征拥有者被系统拒绝。
本文选取径向基函数(RBF)作为SVM的核函数,在其它条件相同的情况下,分别比较了SVM与海明距离,欧氏距离的识别效果如图7所示,SVM取得了最好的识别结果。
图7 EER基向量数目分布曲线
由上述实验结果可以看出,本文提出的基于支持向量机的虹膜识别方法在识别率和识别速度方面都有较明显地改进,它能有效地应用于虹膜身份鉴别系统中。
[1]T Mansfield,G Kelly,D Chandler et.Biometric Product Testing Final Report[R].issue 1.0,National Physical Laboratory of UK,2001.
[2]JDaugman.High confidence recognition of person by rapid video analysis of iris texture[C].European Convention on Security and Detection,Brighton,UK:NSPEC,1995.
[3]PWildes.Iris recognition:An emerging biometric technology[C].In Proceeding of the IEEE,1997.
[4]W W Bobles.A human identification technique using image of the irisand wavlet transform[C].IEEETransaction on Signal Processing.1998.
[5]JDaugman.StatisticalRichnessof Visual Phase Information:Update on Recongnizing Person by Iris Patterns[J].International JournalofComputer Vision,2001;45(1):25-38.
[6]Tie-niu Tan.Iris Recongnition Based on Multichannel Gabor Filtering[C].The 5th Asian Conference on Computer Vision,Mellbourne,Australis,2002.
[7]Cortes C,Vapnik V,Support-vector networks[J].Machine Learning,1995(20):273-297.
[8]Chinese Academy of Sciences-Institute of Automation Database of756 Greyscale Eye Images[EB/OL].http://www.sinobiometries.com.Version 1.0 2003.