一种改进的基于Hough变换的虹膜定位算法
2014-06-03王保强
张 林,王保强
(成都信息工程学院 电子工程学院,四川 成都610225)
目前,已经出现了多种人体生理特征识别方法,包括对指纹、手型、人脸、声音、签名、DNA和虹膜等生理特征进行识别。虹膜的生理特征具有唯一性、稳定性、可采集性和非侵犯性等优点,在对安全性要求高的场合,虹膜识别是一种理想的身份识别方法[1]。
虹膜定位在于从采集到的人眼图像中分离出虹膜在整个图像中的有效区域,确定虹膜的内、外边界的位置。虹膜定位是虹膜识别过程中关键的一环,是后续处理的基础。在虹膜定位算法中,最具代表性的就是Daugman的微分积分算法[2]和 Wildes的 Hough变换法[3],很多定位算法都是以它们为基础改进发展的[4-8]。在实际中,利用Hough变换定位虹膜边界,需要考虑以下问题:(1)采用二值化的灰度投影来估计瞳孔中心容易受到浓黑睫毛以及图像对比度差的影响,如何削弱这种影响是需要考虑的问题。(2)上、下眼皮对虹膜区域的侵入是很常见现象,定位算法需保证上、下眼皮等非虹膜边界不被误认为是虹膜边界。(3)在直角坐标下的虹膜边缘图像中,阈值的选择会影响到真正的边界点所占的比例,为了获得虹膜边界点,穷举出所有参数值会造成时间、空间的开销过大和投票结果不集中的现象,当选取一定的阈值后怎样进一步提高虹膜真正边界点的比例也是需要考虑的问题。(4)在进行边界定位时,Hough变换得到的几何模型参数域中的最大值点对应着该条边界,算法需完成对虹膜的内、外边界分开定位。一般边缘检测得到的边界具有一定的厚度,因此,不能简单的以最大值点或次大值点作为虹膜内外边界的几何模型参数点,因为这两点很可能属于同一个边界参数模型。
针对以上问题,本文给出了相应的解决办法。首先,
用一个全1的矩形窗对瞳孔中心进行粗略估计[9];然后,以粗定位的瞳孔中心为极点,将直角坐标下的图像转换为极坐标下图像[10-13],此时虹膜内、外边界近似水平,通过一定的判别准则剔除非水平边缘点,以此提高真正虹膜边界点的比例;其次,将经过边缘点选择后的虹膜图像变换到直角坐标,再进行Hough变换,选取最大和次大甚至是第三大的虹膜边界参数的均值作为虹膜边界参数;最后,利用虹膜内、外边界参数之间存在的耦合关系以及对内、外边界的取值范围的经验估计来限制Hough变换的参数取值范围,以保证内、外定位的准确性。
1 虹膜定位算法原理
1.1 瞳孔中心的粗略估计
采集到的虹膜图像包括瞳孔、虹膜、巩膜、眼皮、睫毛等部分,各部分灰度值都不一样,而瞳孔区域灰度值一般都小于其周围区域的灰度值,以此可以采用灰度窗口估计瞳孔中心的方法[10]。
设 window(x,y,size)为位置为(x,y)、边长大小为 size 个像素、元素全部为1的方阵;采集到的人眼图像为I(x,y),利用瞳孔灰度值较低且比较集中的特点,根据方程组(1)将 window(x,y,size)与图像进行卷积运算,将其最小值的位置作为瞳孔中心位置的估计,如图1所示。
图1 窗口估计瞳孔中心原理图
式中J(x,y)为除噪后的图像;可根据直方图大致估计瞳孔行、列像素个数M和N;根据经验,瞳孔的灰度值一般不会高于 1 00,可以将阈值取为 1 00,这样可以消除灰度值高的点对瞳孔定位的影响;size为窗口大小,其值可根据经验选择,一般为瞳孔半径的均值;()为瞳孔位置估计。图1所示为窗口估计瞳孔中心原理图。
1.2 虹膜图像从直角坐标到极坐标的变换
本文选用Canny算子来获取虹膜二值边缘图像Edge(x,y)。 边 缘检测 的阈值应根据图像采集系统的参数(如亮度、对比度、清晰度)进行合理选择,太小则无法有效抑制噪声的干扰;太大则削弱虹膜内外边界信息,从而降低边界定位的精度。
在虹膜二值图像中,将其内边界的圆心(即粗定位的瞳孔中心())作为极点,以R1、R2为半径,将中间的环形区域展开成矩形,即以同心圆的形式展开。其中R1、R2是经验阈值,R1要求比图库中所有图像的瞳孔半径小,R2要求比图库中所有图像的虹膜半径大。将直角坐标下的图像变换为极径和极角的表示形式,如图2所示。原来在直角坐标系下不具有明显特征的虹膜边界都表现为水平的边缘,其他干扰点绝大部分属于非水平边缘[13]。
图2 虹膜二值图像及极坐标下的边缘图像
1.3 极坐标下的虹膜边缘点选择
在传统的基于Hough变换的虹膜定位算法中,几乎所有的边缘点(xj,yj)都参与了边界定位,其中的非虹膜边界点不但增加了计算时间和空间的额外开销,并且在一定程度上影响了参数投票的结果。因此,滤除非虹膜边界点成为了改善虹膜定位速度和精度的一条途径。在直角坐标下,虹膜纹理的边缘点不具有明显的特征,很难将其分类;而在极坐标下,虹膜边界(内、外边界近似环)点表现为似水平边缘点,而非虹膜边界点大多数不是水平边缘点。因此实现对虹膜边界点和非虹膜边界点的分类就变得比较简单。现定义如下规则[14]:
规则1:如果边缘点的前面以及后面存在若干个相连的像素都是边缘点,那么该点就是水平边缘点;
规则2:如果边缘点的前面没有相连的边缘点,但是它的后面存在若干个相连的边缘点,那么该点为水平边缘点;
规则3:如果边缘点的后面没有相连的边缘点,但是它的前面存在若干个相连的边缘点,那么该点为水平边缘点。
利用上述水平边缘点的选择方法,虹膜图像中的边缘点大大减少,水平边界点所占的比例明显提高,如图3所示。
图3 极坐标下的边缘图像及边缘点选择结果
1.4 极坐标到直角坐标的变换
图像由极坐标表示转换到直角坐标表示:
(1)初始化直角坐标下新的边缘图像 E dge(x,y)=0,维数和I(x,y)相同;
(2)将经过选择后的边界点(r,θ)转换到直角坐标下的位置(xnew,ynew),如式(2)所示:
图4所示为原虹膜二值图像及经过边缘点选择后的虹膜边缘图像。
图4 原虹膜二值图像和经边缘点选择后的边缘图像
1.5 利用Hough变换对虹膜边界定位[3,15]
从图4可以清楚地发现,经过边缘点的选择,虹膜的真实边界点信息基本被保留下来,而非边界点有显著减少。在此基础上采用Hough变换算法对虹膜边界进行定位,计算量会大大减小,一定程度上提高了定位的成功率和精确度。
1.5.1 虹膜内边界的精确定位
在定位虹膜内边界时,仅让内边界的边缘点参与投票是可行的,通过下式将虹膜内边界的定位范围控制在一个较小的区域:
其中,[rmin,rmax]是利用先验知识得到的虹膜区域内边界范围。这样,投票的搜索范围将缩小,能进一步提高定位的速度和成功率,然后采用Hough变换定位算法定位虹膜内边界:
式中,圆的半径 r ∈[rmin,rmax];圆心(xc,yc)中 xc,yc∈[-ε,+ε],其中ε为一经验常数值,即将内边界圆心的取值限定在一定范围;(xj,yj)为经过选择后的边缘点;(,)是内边界参数最大值;(,)是内边界参数次大值,(xp,yp,Rp)是内边界参数的平均值。
1.5.2 虹膜外边界精确定位
在定位虹膜内边界的基础上,将虹膜外边界的定位控制在一定的范围,从而提高定位的速度与精确度,如式(5)所示:
其中,[Rmin,Rmax]是利用先验知识得到的虹膜区域外边界范围。同样地,采用Hough变换实现外边界的快速定位,如式(6)所示:
式 中 , r∈[Rmin,Rmax];(xj,yj)为 经 过 选 择 后 的 边 缘 点 ; xc,yc∈[-δ,+δ],其中正常数 δ 为一经验常数值,将外边界圆心的取值限定在内边界圆中;(,,)是外边界参数最大值;(,,)是边界参数的次大值,(xI,yI,RI)是外边界参数的平均值。
通过对数据库的虹膜图像观察可得,内外边界近似为同心圆,它们之间存在一定的耦合关系。因此将xc,yc∈[-δ,+δ]修正为:
其中正常数τ为一经验常数值,将外圆环的圆心限制在瞳孔内部。
2 实验结果与分析
利用本文提出的方法,随机抽取中科院虹膜数据库中的100幅图像进行实验,平均每幅图像用时0.152 s,虹膜定位的准确率为98.4%,定位结果如图 5所示。对实验室现场采集到的虹膜图像进行定位,结果如图6所示。同时,将本算法与参考文献[3]方法进行实验比较,结果如表1所示。
图5 CASIA-IrisV1中的虹膜边界定位结果
从图5和图6可以看出,本算法对标准数据库中的虹膜图像和实验室现场采集的虹膜图像都是有效的;同时该算法采用了较少的边界点定位虹膜的边界,计算量大大减小,定位精度相对提高。由表1的数据得出,该算法对样本中的虹膜定位时间约为0.152 s,仅占Wildes方法的4.57%,并且准确率比传统方法略有提高。
本文对虹膜定位算法进行了研究,提出了一种改进的虹膜边界定位算法。在极坐标下,通过对非虹膜边界点排除来提高虹膜边界的比例,利用虹膜内、外边界参数之间存在的耦合关系来限制Hough变换的参数取值范围,并取最大和次大的边界参数的均值作为虹膜边界参数。实验结果表明,该算法优于传统的Hough变换定位算法,利用该虹膜定位算法取得了较好的定位效果。
图6 实验室获取的虹膜边界定位结果
表1 两种算法的比较
[1]王蕴红,朱勇,谭铁牛.基于虹膜识别的身份鉴[J].自动化学报,2002,1(28):1-10.
[2]DAUGMAN J.High confidence visual recognition of persons by test of statistical independence[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1993,15(11):1148-1161.
[3]WILDES R P.Iris recognition:an emerging biometric technology[J].Proceedings of the IEEE,1997,85(9):1348-1363.
[4]BOLES W W,BOASHASH.A human identification technique using images of the iris and wavelet transform[J].IEEE Transactions on Signal Processing(S1053-587X),1998,46(4):1185-1188.
[5]BALAJI G,DHANANJAY T,RUPERT Y,et al.Biometric iris recognition system using a fast and robust iris localization and alignment procedure[J].Optics and Lasers in Engineering(S0143-8166),2006,44(1):1-24.
[6]叶学义,庄镇泉,姚鹏,等.基于二维投影的虹膜定位[J].中国图像图形学报,2005,10(3):305-309.
[7]王成儒,胡正平.基于几何特征的虹膜定位算法[J].中国图象图形学报,2003,8(6):683-685.
[8]骆名猛,吴锡生.改进的快速虹膜定位算法[J].计算机工程与应用,2010,46(17):200-203.
[9]田启川,潘泉,梁彦,等.瞳孔中心指导的虹膜边界快速定位算法[J].系统仿真学报,2006,18(7):1777-1780.
[10]冯薪桦,丁晓青,方驰,等.虹膜内外边界的粗定位方法[J].清华大学学报(自然科学版),2007,47(1):80-83.
[11]NAM K W,YOON K L,YANG W S.A feature extraction method for binary iris code construction[C].In:Proceedings of the 2nd International Conference on Information Technology for Application(ICITA 2004),Harbin,2004:284-287.
[12]李霞,于鲁义,王娜.基于直线检测的虹膜快速定位方法[J].计算机辅助设计与图形学学报,2006,18(8):1155-1159.
[13]夏磊,蔡超.一种用Hough变换检测圆的快速算法[J].计算机应用研究,2007,24(10):197-199.
[14]田启川,李子良,刘喜荣,等.基于Radon变换的虹膜边界定位算法[J].系统仿真学报,2009,21(S2):222-225.
[15]刘念,苏杭,郭纯宏,等.基于Hough变换圆检测的人眼定位方法改进[J].计算机工程与设计,2011,32(4):1359-1362.