虹膜图像中的闭眼检测方法

2011-07-31 11:33刘晓敏李培华郭吉平
计算机工程与设计 2011年9期
关键词:虹膜直方图轮廓

刘晓敏, 李培华, 郭吉平

(1.佳木斯大学信息电子技术学院,黑龙江佳木斯154007;2.黑龙江大学计算机科学与技术学院,黑龙江哈尔滨150080;3.佳木斯大学公共计算机教研部,黑龙江佳木斯154007)

0 引 言

基于虹膜的生物特征识别技术具有识别精度高、无法伪造以及非侵犯性等优点,在门禁系统、海关出入境、机场和金融等许多领域中具有广泛的应用。现代虹膜识别系统为了适应各种复杂的应用场景,应对用户有尽可能小的约束,使用户感觉不到系统的存在,因此远距离、运动中虹膜识别成为必然的发展趋势。然而在复杂的应用场景中采集的虹膜图像包括各种干扰和噪声,如眼睛半闭或全闭,头发、睫毛和眼睑遮挡,光学眼镜等,如UBIRIS.v2[1-4]数据库。这样的虹膜图像上进行虹膜预处理操作是非常困难的,因此开发适应这样虹膜图像的预处理算法成为研究者研究热点。

一个虹膜识别系统主要包括4个部分:虹膜图像采集、虹膜的预处理、虹膜纹理分析和虹膜纹理匹配。而虹膜的预处理起到极其重要的作用,在这方面已经出现很多成型的算法。Daugman[5-6]和Wildes[7]提出了经典的虹膜内外轮廓检测方法。郝伟勇[8]在他的硕士论文中使用了改进的环量积分算法对虹膜的外轮廓进行分割。Preonca等人[9]研究了如何对虹膜图像的质量进行评价,根据评价结果可以对检测到的虹膜内外轮廓进行重新检测,这提高了虹膜识别的准确性。Luo等人[10]提出了使用数学的形态学知识检测眼睑、眼睫毛等非虹膜区域。苑玮琪等人[11]提出利用虹膜的外圆,用一个扇形区域表示眼睫毛遮挡方法,实验表明算法可有效检测睫毛。Tan等人也提出了一种基于纹理分割的快速虹膜定位方法,该算法首先利用小波变换的低频信息进行图像分割,然后利用积分微分操作检测外轮廓[12]。来毅等人[13]分别针对眼睑和睫毛遮挡的噪声,利用其灰度和形状信息提出了灰度形态学检测算法。罗中亮等人[14]提出利用边缘检测和最小二乘拟合方法去除眼睑,以及阈值法去除虹膜内部噪声。

以上提到的预处理方法很有效,但是这些研究者都没有考虑将具有大量干扰和噪声的虹膜数据库中的闭眼虹膜图像挑选出来,这使得他们的方法在复杂虹膜数据库中不能得到更高的虹膜识别率。为了提高虹膜识别系统的识别率,本文提出判断虹膜数据库中闭眼图像的方法。该方法首先使用圆的积分微分算子得到闭眼虹膜图像的候选图像,使用直方图分析将候选图像进行二值化。采用图像膨胀、边缘检测和连接得到边缘图像。使用最小二乘拟合算法拟合抛物线,通过抛物线开口方向判断该图像是否为闭眼虹膜图像。

1 判断闭眼虹膜图像

由于瞳孔内部灰度值比虹膜图像的其他部分低,因此本文使用一种渐进的方法检测虹膜内外轮廓[15]。该方法首先使用矩形模板扫描虹膜图像,计算矩形区域的均值和方差,找到均值和方差最小的模板,将该模板所在的位置作为瞳孔的粗略位置,然后使用Canny边缘检测加Hough变换检测准确的虹膜内外边缘;使用该方法检测到的虹膜外轮廓图像如图1所示,图1(a)表示正确检测虹膜外轮廓的虹膜图像,图1(b)表示错误检测虹膜外轮廓图像,而闭眼虹膜图像通常都是检测错误的虹膜图像,因此本文将检测错误的虹膜图像看成闭眼虹膜图像的候选图像。

图1 虹膜外轮廓的检测

图2 闭眼图像的确定过程

外轮廓检测错误的虹膜图像是通过判断虹膜外轮廓的积分微分算子值确定的,如果虹膜外轮廓的积分微分算子值较小则认为是外轮廓检测错误的虹膜图像。在这些图像上观察可以发现闭眼图像中眼睛轮廓的上边缘可以拟合出一个开口向上的抛物线。本文提出在后选的闭眼虹膜图像上进行闭眼虹膜图像判断,过程如图2所示,候选图像上计算直方图,使用高斯函数进行平滑,则直方图左侧的第一个峰对应灰度值较低的眼睫毛,如图2(a)所示,选择该峰右边的谷作为阈值对图像进行二值化得到如图2(b)所示;继续对二值闭眼图像进行膨胀操作得到图2(c)。然后使用边缘连接算法找出边缘图像中的最长一条边,取该边上面部分进行抛物线拟合。如图3所示,图3(a)为睁眼虹膜图像虹膜上边缘抛物线拟合过程,该抛物线开口向下,图3(b)为闭眼虹膜图像虹膜上边缘抛物线的拟合过程,该抛物线开口向上,这样可以判断图3(b)为闭眼虹膜图像,下面几节详细介绍了这一过程。

图3 虹膜上边缘抛物线的拟合

1.1 圆的积分微分算子得到闭眼虹膜图像的候选图像

如果该虹膜图像是闭眼图像则确定的虹膜外轮廓将是不准确的,于是这里使用如下积分微分算子的值来评价外轮廓确定是否准确

1.2 基于直方图分析的图像二值化

由图4可以看出,虹膜图像中眼睫毛的灰度值是非常低的,而皮肤的灰度值很高,因此可以对该虹膜图像的直方图进行分析,然后对图像进行二值化,直方图和二值化图像如图5(a)和图5(b)所示。为了更好的找到直方图的峰和谷虹膜图像的直方图必须进行平滑,平滑过程中需要解决的一个问题是平滑到什么程度,如果平滑小了将会找到很多不准确的峰和谷,平滑大了会将有意义的峰和谷平滑没,因此本文通过做大量的实验选取了一个=2.0高斯函数,并且在平滑过程中高斯函数的系数要保证大于0.0002,小于该值的系数可忽略不计,于是可以确定高斯函数的窗宽为14,高斯函数平滑后虹膜图像的直方图如图5(a)所示,通过寻找该直方图导数为0的点很容易确定直方图的峰和谷。从该图可以看出,直方图最左侧的峰对应的是灰度值较低的睫毛区域的像素值,因此本文将该峰右侧的谷作为阈值对虹膜图像进行二值化得到图5(b)。

图4 候选图像的外轮廓CID值

图5 虹膜图像的二值化

1.3 检测眼睫毛的上边缘

由于得到的二值图像具有部分干扰点因此需要对该二值图像进行膨胀。膨胀是将像素点进行加长或变粗操作,这使得一些不连续的像素点变得连续从而去除干扰点。其基本原理是将某一结构元素平移过整个图像区域(灰度值为0或1),如果输入图像与结构元素至少重叠一个0值像素,则输出图像该结构元素原点位置置为0。在实验中,结构元素取为灰度值为0的矩形。由于闭眼图像的眼睛轮廓通常是呈长条状的,为了使得眼睫毛的上边缘连续让每一个像素横向加长,因此将膨胀的结构元素设计成长宽分别为7和5的矩形,膨胀结果如图6(a)所示。

图6 闭眼虹膜图像上边缘检测

接下来使用Canny边缘检测得到图6(b)。该算法包括5个步骤:图像平滑、计算图像的梯度幅值图像、确定候选边缘点、计算强边缘点和弱边缘点以及边缘跟踪。该算法中有3个参数需要确定,分别为:高斯平滑参数的确定、用于边缘选择的边缘点百分比的确定和强边缘点阈值与弱边缘点阈值比例系数的确定。下面介绍这3个参数的确定:

(2)用于边缘选择的边缘点百分比的确定:边缘点选择的实质是给定像素点梯度幅值的阈值,大于该阈值的像素点为候选边缘点。该阈值的确定是通过像素点梯度幅值直方图的累积直方图确定,如图7所示,图7(a)表示像素点梯度幅值直方图,图7(b)表示梯度幅值直方图的累积直方图确定。要确定该阈值还要得到一个先验知识,即估计出整幅图像边缘点的百分比,则累积直方图的值与该百分比相等的梯度幅值作为选择边缘点的阈值,同时候选边缘点具有局部最大属性。通过大量实验证明虹膜图像中保留32%的候选边缘点能够使得边缘检测效果最佳。

图7 Canny边缘检测算子阈值确定

(3)强边缘点阈值与弱边缘点阈值比例系数的确定:在Canny边缘检测中将候选边缘点分为两种:强边缘点和弱边缘点。强缘点也需要一个梯度幅值的阈值2,大于该阈值的候选边缘点为强边缘点。2与1成比例,有在候选边缘点中除去强边缘点的其他候选边缘点都称为弱边缘点。某一强边缘点是否是真正边缘点是受弱边缘点约束的(约束条件是如果一个真正的边缘点是一个强边缘点,它的周围保证有弱边缘点),这时比例系数r严重影响边缘检测结果,在实验中算法取该比例系数为0.6,这使得边缘检测达到很好的效果。

然后使用边缘连接算法将边缘图像中的小的边缘去掉,边缘连接过程包括:边缘图像的骨骼化、寻找连接点,通过边缘跟踪得到边缘图像中的每一个连续边缘。算法中取出包含像素点最多的一个连续边缘,这个边缘就是眼睫毛的完整轮廓,再取轮廓的上边缘得到如图6(c)所示的边缘。

1.4 最小二乘拟合算法拟合眼睫毛上边缘并判断闭眼虹膜图像

本文使用最小二乘拟合算法拟合眼睫毛上边缘,基本原理是给定边缘点(xi,yj)(i=1,2,…,N),其中N是边缘点个数,求抛物线方程y=ax2+bx+c使误差达到最小

使Q达到最小的参数a,b,c应满足

通过式(3)可以得到如下的关于a,b,c的线性方程组

由式(4)可求得a,b,c。拟合结果如图8所示,该虹膜图像拟合出的抛物线开口是向上的,因此可以判断该虹膜图像是一个闭眼虹膜图像,否则认为外轮廓检测不准确,可使用其他方法再次检测。

图8 眼睫毛上边缘拟合的抛物线

2 实 验

本文的算法使用C++编写,在UBIRIS.v2[11-12]虹膜数据库中的部分虹膜图像上进行了实验,这些图像包含大量干扰和噪声,同时也包含了很多闭眼虹膜图像。根据实验结果发现当判断候选闭眼图像时选择不同的CID阈值将会严重影响判断闭眼图像的检测率和误检率,本文在大量的实验中得到了给定不同CID阈值的检测率和误检率数据,如表1所示。从表可以看出随着阈值增大算法的检测率逐渐增大并且达到最大值,然后当阈值继续增大时,算法的检测率开始下降同时误检率增高,算法选择检测率最高和误检率最低对应的阈值作为最佳阈值。因此实验中CID阈值取的是2.0,虽然检测率只有70%,但是误检率是0,所以可以准确去除部分闭眼虹膜图像,这使得一个虹膜识别系统具有更加可靠的识别性能。

表1 给定不同CID阈值的检测率和误检率

图9给出了几个闭眼虹膜图像及检测结果,上面一组是原始虹膜图像,下面一组是拟合的抛物线。从图9(e)、(f)、(g)和(h)可以看出拟合出的抛物线开口是向上的,因此正确的判断出了这些闭眼虹膜图像。图9(a)和图9(b)拟合出的抛物线曲率接近于0,类似于一条直线。图9(c)和图9(d)拟合出的抛物线曲率小于0。因此实验中将抛物线曲率满足小于等于0的虹膜图像看作是闭眼虹膜图像。

图9 判断出的闭眼图像

从表1可以看出,该方法检测率并不高,但是当我们在保证误检率为0时,将会大大提高虹膜分割效果。2007年7月,葡萄牙贝尔大学计算科学学院SOCIA(softcomputingandimage analysis group)实验室发起了国际虹膜分割竞赛NICE.I(noisy irischallengeevaluation,partI)[1]。在此竞赛中,我们提出的虹膜分割算法获得了第4名的好成绩。在分割算法中使用了闭眼图像判断算法,得到了很好的效果。

NICE.I提出了如下虹膜分割误差评价准则,令I={I1,…,In}是输入虹膜图像集合,O={O1,…,On}是对应的分割程序输出的虹膜图像集合,C={C1,…,Cn}是由NICE.I组委会提供的手工标记出的真值图像,其中所有图像都有相同的维数:r行和c列。对某一幅图像Ii,令Ei表示算法输出的虹膜图像中的像素值和真值虹膜图像中像素值不一致的个数占图像中所有像素个数的百分比,即

式中:Oi(c',r')和Ci(c',r')——算法输出的第i幅图像和真值图像r'行和c'列的像素值。所有测试图像的总误差率E1定义为

E1的取值范围是在[0,1]之间,E1=1表示所有像素均不匹配,E1=0表示所有像素都匹配。NICE.I组委会主要使用这个评价方法对参赛算法进行评价。

在组委会提供的学习集的虹膜库中,我们将嵌入本文算法和未嵌入本文算法的虹膜分割结果进行了比较,比较结果如表2所示,嵌入该算法的分割结果为0.022,未嵌入该算法的分割结果为0.028,可以看出我们的算法提高了竞赛中的虹膜分割效果。

表2 两种虹膜分割算法误差率的比较

3 结束语

在复杂环境下采集的虹膜图像具有大量闭眼虹膜图像严重影响了虹膜识别系统的效率。本文提出了一种检测闭眼虹膜图像的方法,该方法使用环量积分微分算子、基于直方图的二值化、边缘检测和连接以及最小二乘等方法拟合眼睫毛的上边缘抛物线,通过判断该抛物线的开口方向检测其是否为闭眼虹膜图像。该方法有效地提高了虹膜分割算法的误差率,但是仍然有部分闭眼虹膜图像不能检测出来,将来我们会提出更好的算法检测出更多闭眼虹膜图像。

[1]Noisy iris challenge evaluation(NICE.I)[OL].http://nice1.di.ubi.pt/,2008.

[2]Proenca H,Alexandre L A.UBIRIS:A noisy iris image database[C].International Conference on Image Analysis and Processing,2005:970-977.

[3]Hugo Proença,Sí lvio Filipe,Ricardo Santos,et al.The UBIRIS.v2:A database of visible wavelength iris images captured on-the-move and at-a-distance[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2009,32(8):1529-1535.

[4]Hugo Proença,Luí s AAlexandre.Introductionto the special issue on the segmentation of visible wavelength iris images acquired at-a-distance and on-the-move[J].Elsevier Image and Vision Computing,2009,28(2):213-214.

[5]Daugman J.Probing the uniqueness and randomness of IrisCodes:Results from 200 billion iris pair comparisons[J].Proceedings of the IEEE,2006,94(11):1927-1935.

[6]Daugman J.New methods in iris recognition[J].IEEE Trans on Systems,Man,Cybernetics B,2007,37(5):1167-1175.

[7]Wildes R P.Iris recognition:an emerging biometric technology[J].Proceedings of IEEE,1997,85(9):1348-1363.

[8]郝伟勇.一种基于特征点的虹膜识别算法研究[D].北京:北京大学硕士学位论文,2004:14-17.

[9]Proenca H,Alexandre L A.Iris recognition:measuring feature's quality for the feature selection in unconstrained image capture environments[C].Alexandria,VA:IEEEInternational Conference on Computational Intelligence for Homeland Security and Personal Safety,2006:35-40.

[10]Luo Z,Lin T.Detection of non-iris region in the iris recognition[C].International Symposium on Computer Science and Computational Technology,2008:45-48.

[11]苑玮琪,乔一勤.基于虹膜识别的眼睫毛检测[J].微计算机信息,2008,24(28):311-312.

[12]Tan Tieniu,He Zhaofeng,Sun Zhenan.Efficient and robust segmentation of noisy iris images for non-cooperative iris recognition[J].Journal of Image and Vision Computing,2010,28(2):223-230.

[13]来毅,路陈红,卢朝阳.用于虹膜识别的眼睑及睫毛遮挡检测[J].计算机辅助设计与图形学学报,2007,19(3):346-350.

[14]罗中亮,林土胜,贾应彪,等.虹膜分割中的噪声检测[J].计算机工程与设计,2009,30(10):2447-2448.

[15]Li Peihua,Liu Xiaomin.An incremental method for accurate iris segmentation[C].Proceedings of the 19th International Conference on Pattern Recognition,2008:1-4.

猜你喜欢
虹膜直方图轮廓
符合差分隐私的流数据统计直方图发布
双眼虹膜劈裂症一例
基于轮廓匹配和多项式拟合的虹膜分割算法
OPENCV轮廓识别研究与实践
基于FPGA的直方图均衡图像增强算法设计及实现
基于实时轮廓误差估算的数控系统轮廓控制
一种基于虹膜识别技术的车辆启动系统
用直方图控制画面影调
“刷眼”如何开启孩子回家之门
高速公路主动发光轮廓标应用方案设计探讨