一种用于虹膜识别的眼睑和睫毛检测算法
2011-04-28余丛斌
周 俊,罗 挺,李 敏,余丛斌
(1.后勤工程学院 信息工程系,重庆 401331;2.后勤工程学院 训练部模拟中心,重庆 401331)
虹膜识别是利用虹膜丰富的纹理信息对人的身份进行认证的生物特征识别技术,不同个体之间虹膜相同的概率为1/1072[1],相对于指纹识别、人脸识别等典型生物特征识别技术,虹膜识别的准确率是最高的[2]。
由于虹膜识别系统在采集图像时是非侵犯性的,因此虹膜图像采集的噪声主要存在眼睑、睫毛和光斑的干扰[3],如果不将这些噪声清除,将会被误认为虹膜纹理特征,从而对虹膜识别系统性能产生影响。光斑区域灰度值比周围灰度高很多[4],一般采用固定阈值将光斑分离。
目前眼睑检测算法主要有:①边缘检测与Hough空间变换相结合的抛物线检测法[5];②基于抛物线路径求灰度积分和差分检测法[6];③基于最小二乘法的抛物线拟合[7]。第①类方法能最大限度提取虹膜纹理,但是由于在三维空间搜索而速度较慢;第②类方法采用类似Daugman的经典圆积分/微分算子定位,该类方法也存在三维空间搜索而导致速度较慢的问题;第③类方法提取一定的眼睑边缘点,然后利用最小二乘法拟合眼睑,相比前两类方法精度较低,但是在一维空间搜索速度较快。
人眼图像中睫毛的情况最为复杂,准确检测难度最大[8],据报道较有效的算法是KONG的基于一维Gabor滤波器和邻域标准差的睫毛检测法,一维Gabor滤波器对检测稀疏分散的睫毛比较有效,邻域标准差对浓密成块的睫毛比较有效,但该算法需设置较多的参数。由于睫毛分布的多样性,现在还没有特别全面有效的睫毛检测算法。
针对以上算法的不足,提出了一种新的上、下眼睑检测算法和睫毛检测算法。首先对眼睑区域进行灰度形态学运算去除睫毛、光斑的影响;然后根据眼睑边缘的灰度特点提取边缘点,用最小二乘法对边缘点进行上、下眼睑边缘拟合;最后对眼睑边缘精确定位。根据虹膜区域图像灰度自适应生成阈值对睫毛进行分割。实验结果表明:眼睑算法能有效、快速地检测眼睑,抗干扰性强;睫毛检测算法能有效、简便和最大限度地检测出睫毛。
1 上眼睑检测
通过文献[9]中算法确定虹膜内中心(xp,yp),半径 rp;虹膜外边缘中心(xi,yi),半径 ri。同时根据文献[10]中算法确定上眼睑边缘区域,上眼睑的检测步骤为分割上眼睑边缘区域及预处理、寻找边缘点集和上眼睑边缘拟合。
(1)分割上眼睑边缘区域及预处理。虹膜图像中存在眼皮区域干扰,如图1所示。为提高检测速度,利用虹膜内外边缘参数进行上眼睑边缘区域的分割。为防止瞳孔被分割出来,上眼睑边缘区域内点(xt,yt)应满足:xt∈[xi- ri,xp- rp-5],yt∈[yi-ri,yi+ri],在虹膜图像中分割出的上眼睑边缘区域如图2(a)所示。后续的上眼睑检测过程都在该区域进行。
图1 虹膜图像
由于睫毛和小块光斑的影响,选取5×5元素值都为1的圆盘形灰度形态学结构元素b,对分割的上眼睑边缘区域进行形态学灰度闭-开运算。进行一次形态学闭运算,能消除睫毛等暗色细节的影响,闭运算结果如图2(b)所示。形态学开运算削弱比结构元素尺寸小的明亮细节,并且相对保持整体灰度级和大块的明亮区域不变。再进行一次开运算后结果如图2(c)所示。
图2 上眼睑区域分割及预处理过程
(2)寻找边缘点集。对上眼睑边缘区域每列的灰度值进行分析,如图3所示,共显示了上眼睑边缘区域8列的灰度分布,横坐标为行坐标,纵坐标为灰度值,由左至右每列间隔20列。图中每列灰度分布上都有“谷”点,“谷”点对应的是眼睑边缘点,靠左右端的眼睑边缘点在眼睑边缘区域最底端,因此在分布图上表现为一段灰度最低值。
根据以上分析,上眼睑边缘点(xt,yt)满足以下条件:
其中:I为灰度函数;arg minx[·]为取括号内最小值的x。式(1)含义为眼睑边缘点为每列灰度最小值对应点,而每列灰度最小值点往往不唯一,设第j列上检测到n个灰度最小值点{x1,…,xn},则在第j列上的眼睑边缘点行坐标为:
图3 上眼睑区域每列灰度分布
对图2(a)提取上眼睑边缘点,结果如图4所示。
(3)上眼睑边缘拟合。由于噪声影响,图4上眼睑边缘出现了不连续现象,为了获得完整光滑的上眼睑边缘,笔者采用最小二乘法[11]对检测到的边缘点进行抛物线拟合。对上眼睑边缘拟合结果如图5所示。
图4 上眼睑边缘点
图5 上眼睑边缘拟合结果
2 下眼睑检测
下眼睑的检测步骤与上眼睑相似,包括分割下眼睑边缘区域及预处理、寻找边缘点集和下眼睑边缘拟合。
(1)分割下眼睑边缘区域及预处理。下眼睑边缘区域分割与上眼睑区域类似,下眼睑边缘区域内点(xb,yb)满足:xb∈[xp+rp+5,xi- ri],yb∈[yi-ri,yi+ri],对虹膜图像分割的下眼睑区域如图6(a)所示。后续的下眼睑定位过程都在该区域上进行。从图6(a)可以看出,眼睑边缘存在小块光斑的影响,选用半径为3值都为1的圆盘形形态学结构元素,进行一次灰度形态学开运算去除光斑,结果如图6(b)所示。从结果来看,眼睑边缘较好地保留下来,且光斑区域被消除了。
(2)寻找边缘点集。笔者对下眼睑区域进行梯度变换,求最大梯度和区间确定下眼睑边缘点。虹膜边缘梯度大于眼睑边缘梯度,为防止虹膜边缘和内部神经圈的干扰,首先需将虹膜区域排除在灰度梯度变换区域之外,笔者的算法是将虹膜区域赋予较高的灰度值T,其他区域灰度不变。
图6 下眼睑区域分割及预处理过程
由于虹膜区域是过渡区域,因此将虹膜外边缘半径延长一定像素tr,所确定的圆形区域为非灰度梯度变换区域,以最大限度消除虹膜的影响。(xi,yi)为虹膜外边缘中心,ri为虹膜外边缘半径,I(xb,yb)为点(xb,yb)处灰度,这里 T=255,tr=6。灰度变换结果如图7(a)所示。
接着对下眼睑边缘区域进行灰度梯度变换,考虑到一般人眼图像中,眼皮灰度大于巩膜灰度,巩膜灰度大于虹膜灰度,定义下眼睑边缘区域中点(xb,yb)处灰度梯度 G(xb,yb)为:
梯度变换结果如图7(b)所示,眼睑边缘处具有较大的梯度。
最后对梯度变换结果的每列在固定区间内求梯度积分,积分区间选为6个像素,对于离散像素点求梯度积分即为求梯度累加和,求出积分最大值Amax(i)。
其中:Amax(i)为第i列上6个像素区间的梯度积分最大值;M为下眼睑边缘区域的行数。设梯度积分最大值所在区间为[(xb,yb),(xb+5,yb)],则眼睑边缘区域第i列下眼睑边缘点坐标为:
最后得到下眼睑边缘点如图7(c)所示。
(3)下眼睑边缘拟合。采用类似上眼睑边缘拟合所用的方法对下眼睑边缘点进行抛物线拟合,最后得到下眼睑边缘拟合结果如图8所示。
3 眼睑的精确定位
图7 寻找下眼睑边缘点过程
因为形态学灰度运算使得边缘过渡带变宽,所以拟合得到的眼睑边缘并不准确,需要在眼睑拟合结果基础上进行精确定位。与虹膜的灰度相比,眼睑边缘偏暗,灰度值较小,因此在邻域内上下移动眼睑抛物线的过程中,抛物线上的像素灰度累加值在眼睑边缘处会出现跳变,根据跳变最大值出现的位置,即可精确定位眼睑边缘。抛物线方程x=ay2+by+c中c为决定抛物线位置的参数,则真实眼睑边缘位置参数c0应满足式(7):
通过对抛物线上的像素灰度值积分,再对c求差分,使式(7)输出达到最大的c为c0,设c1为眼睑拟合抛物线方程参数,则抛物线方程参数c上下移动范围为[c1-15,c1+15]。上、下眼睑精确定位结果如图9所示。
图8 下眼睑边缘拟合结果
图9 眼睑精确定位结果
4 眼睫毛检测
经过眼睑定位后分割出的虹膜有效区域往往在上眼睑边缘存在睫毛干扰,一些稀疏且短的睫毛可能会被误认为虹膜纹理[12],但睫毛的检测不会像虹膜内外缘定位那样会对虹膜识别产生重大影响[13],为提高睫毛检测速度,利用睫毛灰度比虹膜灰度低的特点,采取自适应阈值法对虹膜区域的睫毛进行分割。如图10(a)所示,在采用文献[9]的算法对虹膜进行定位的基础上,利用上述眼睑定位算法对上下眼睑定位。该人眼图像来源于中科院CASIA(version 2.0)虹膜数据库,分辨率为640×480像素。图10(b)为根据虹膜定位结果和眼睑定位结果分割出的虹膜区域。图10(c)为睫毛检测结果。
将上眼睑抛物线下移一定像素Δc,同时抛物线与瞳孔区域无交点,通过对抛物线上像素点灰度值的分析,如图10(d)所示,显示Δc取不同值时抛物线上像素点灰度的分布,因为睫毛相比周围虹膜灰度值低,所以在分布图中的极小值点对应睫毛像素点。设Δc所对应的灰度分布图极小值序列为{T1,T2,…,Tn},极小值与相邻波峰之间的灰度差应大于ΔT,则Δc所对应的睫毛检测阈值为 TΔc,TΔc取{T1,T2,…,Tn}中的最大值。当 Δc取不同值时,{Δc1,Δc2,…,Δcn}对应一系列睫毛检测阈值{TΔc1,TΔc2,…,TΔcn},最终睫毛检测阈值Teyelash取{TΔc1,TΔc2,…,TΔcn}中的最大值,这里 ΔT=15,从图10(c)睫毛检测结果可知,睫毛被最大限度地分割出来了,但是一些细微的睫毛末梢未被检测出。
图10 眼睫毛检测过程
5 实验结果与分析
为测试算法的性能,采用中科院自动化所虹膜图像库 CASIA[14-15](version 2.0)进行实验,CASIA(version 2.0)包括 device1和 device2两个虹膜库,每个库包含1 200幅灰度人眼图像,采自60只眼睛,每只眼睛采集20幅图像,由非接触式的虹膜采集设备完成,采集距离约为4~5 cm,图像大小为 640×480像素。与 CASIA(version 1.0)虹膜库相比,该虹膜库尺寸比较大,有效虹膜区域比较小,大部分图像受眼睑(主要是上眼睑)及睫毛遮挡,而且光照不均匀,给虹膜定位带来一定的难度[16]。实验平台为Matlab 7+WIN XP+Intel Core 2.0G CPU。将笔者的眼睑检测算法与Hough算法,以及笔者的眼睫毛检测算法与文献[8]算法,从主观准确率、耗费时间两个方面进行比较,结果如表1和表2所示,每次眼睑检测中只要上眼睑或下眼睑检测失败则认为该次眼睑检测失败。
表1 眼睑检测算法比较
表2 眼睫毛检测算法比较
从表1可以看出,笔者的算法对CASIA(version 2.0)虹膜库中绝大多数人眼图像都能快速、准确地检测出眼睑边缘,避免了文献[5]算法在三维空间搜索而速度较慢的问题,笔者的算法定位眼睑边缘失败的原因主要是上眼睑严重遮挡虹膜区域,有的遮挡面积超过虹膜区域面积的50%。从表2看出,笔者的睫毛检测算法与文献[8]算法在主观准确率和速度上相当,但是笔者的算法是根据虹膜区域图像自适应生成的阈值,与文献[8]相比并不需过多地设置参数,更具操作的简便性。
6 结论
眼睑和睫毛检测对虹膜识别率的提高具有重要意义,笔者利用眼睑边缘灰度的特点确定眼睑边缘点,利用最小二乘法对边缘点进行上、下眼睑边缘拟合,最后精确定位上、下眼睑。该眼睑检测算法将传统算法的搜索空间由三维降为一维,速度明显提高;眼睑毛检测算法自适应生成睫毛分割阈值,相比传统算法不需设置较多的参数,体现了简便性,并且能有效、最大限度地分割出睫毛。笔者算法有待改进的方面:①寻找自适应结构元素,在灰度形态学运算中更好地清除上眼睑睫毛干扰。②改进阈值自适应生成算法,更好地检测出细微的睫毛末梢。
[1] FLOM L,SAHR A.Irisrecognitionsystem[P].US:4641394.1987.
[2] 田启川,张润生.生物特征识别综述[J].计算机应用研究,2009,26(12):4404 -4407.
[3] DORAIRAJ V,SCHMID N,FAHMY G.Performance evaluation of non-ideal iris based recognition system implementing global ICA encoding image processing[M].Italy:IEEE Int Conf,2005:285 -288.
[4] 来毅,路陈红,卢朝阳.用于虹膜识别的眼睑及眼睫毛遮挡检测[J].计算机辅助设计与图形学学报,2007,19(3):346 -348.
[5] KANG B J,PARK K P.A robust eyelash detection based on iris focus assessment[J].Pattern Recognition,2007(28):1630-1639.
[6] WILDES R.Iris recognition:an emerging biometric technology[J].Proceedings of the IEEE,1997,85(9):1348 -1363.
[7] MASEK L.Recognition of human iris patterns for biometric identification[R].Western Australia:School of Computer Science and Software Engineering,University of Western Australia,2003.
[8] DAUGMAN J.How iris recognition works[J].IEEE Transactions on Circuits and Systems for Video Technology,2004,14(1):21 -30.
[9] LI M,TAN T N,WANG Y H,et al.Personal identification based on iris texture analysis[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(12):1519 -1533.
[10] KONG W,ZHANG D.Accurate iris segmentation based on novel reflection and eyelash detection model[C]//Proceedings of 2001 International Symposium on Intelligent Multimedia,Video and Speech Processing.Hong Kong:[s.n.],2001:263 -266.
[11] 田启川.不完美虹膜的定位分割特征提取与分类识别[D].西安:西北工业大学图书馆,2005.
[12] 周俊,罗挺.一种基于几何特征的虹膜定位算法[J].后勤工程学院学报,2010,26(3):81 -85.
[13] 马争,黄炜.曲线拟合的虹膜定位算法研究[J].电子科技大学学报,2009,38(3):427 -429.
[14] 林忠华.基于人眼自然睁开状态下的虹膜识别方法研究[D].沈阳:沈阳工业大学图书馆,2008.
[15] Institute of Automation,Chinese Academy of Sciences.CASIA iris image database(ver 1.0)[DB/OL].[2010 - 11 - 02].http://www.sinobiometrics.com.2004.
[16] 姚鹏.复杂条件下虹膜识别算法[D].合肥:中国科学技术大学图书馆,2008.