非理想成像条件下的虹膜定位方法
2014-12-20吴国龙
吴国龙,陆 军
(黑龙江大学 计算机科学技术学院,黑龙江 哈尔滨150080)
0 引 言
虹膜作为人体的重要生物特征,具有高度唯一性、稳定性、非侵入性等特点[1]。虹膜识别技术近几十年获得工业界与学术界的广泛关注,并在众多生物特征识别技术中被公认为是识别率最高和最有前途的方法之一[2,3]。
虹膜是位于瞳孔与巩膜间近似圆形的环状部分,虹膜定位即计算出虹膜内外圆的位置和半径。作为虹膜识别技术的关键环节,虹膜定位的准确度对整个虹膜识别系统的识别率有着重大的影响。传统的虹膜定位算法研究主要针对理想条件下采集的质量清晰的虹膜图像[2],而大部分方法均采用边缘信息检测虹膜内外圆轮廓,其中,最经典的算法分别是Daugman 博士[1]提出的环量积分微分算法和Wilds博士等[2]提出的虹膜定位算法。Daugman博士提出的环量积分微分算法的主要思想是采用圆形检测子定位虹膜内外边缘,虽然定位精度高,但计算过程涉及多次微分和卷积操作,计算效率较低。Wilds博士等提出的算法采用联合边缘检测和Hough变换的方法进行虹膜定位,该方法同样存在计算量较大,且阈值化要求严格,定位准确度严重依赖于边缘检测中边界点的问题。在此基础上,周俊等[4]提出采用圆切点定位虹膜内边缘和微分积分算子定位外圆的方法。He等[5]提出了一种迭代分层的分类器方法检测虹膜内外圆。郑沁风等[6]提出采用结合形态学和最小二乘法拟合虹膜内外圆的方法。邵宇[7]提出采用分块统计灰度平均值的方法确定虹膜内圆位置,利用不变矩的方法定位虹膜内外圆。Jan等[8]提出基于灰度统计和二维形状特征,结合Hough 变换的方法进虹膜内外圆定位。王中旭等[9]提出采用主动轮廓或Snake模型的方法进行虹膜定位。
然而在非理想成像条件下采集的虹膜图像,采集的图像质量很难得到保证,存在睫毛或眼镜遮挡、光照不均、高光亮点、位置偏移、瞳孔收缩、模糊等因素干扰,导致传统的虹膜定位方法[1-3]效果降低,出现定位错误,时间复杂度剧增等问题,因此有效提升和增强虹膜定位算法的鲁棒性就显得尤为重要。
本文提出一种针对非理想成像条件下的虹膜定位方法,该方法采取由粗到精的定位策略,结合Hough变换方法和微分积分算子分别进行虹膜内外圆的定位。在虹膜定位前,首先运用基于AdaBoost的人眼检测子粗略定位人眼子图像,然后对候选子图像进行直方图阈值化生成二值图像,并采用形态学中的开运算和二值投影法联合预估瞳孔大致位置,再对截取的子图像采用Canny边缘检测生成边缘图像,本文提出的虹膜定位方法的流程如图1所示。
图1 本文提出的虹膜定位方法流程
1 虹膜内圆粗定位
一般情况下,虹膜图像有2个特点:①虹膜内圆即瞳孔区域灰度值相对较低,与周围区域对比度较强,边界轮廓清晰;②虹膜与巩膜之间的过渡带较宽,且易受睫毛和眼睑影响,边界比较模糊。因此,根据以上两个特点,本文首先采用人眼检测确定瞳孔位置 (虹膜内圆区域),然后计算直方图并阈值化生成二值图像,最后,再利用二值投影方法粗略定位虹膜内圆位置。
1.1 人眼检测
为避免盲目的对虹膜内外圆边界进行大规模搜索,提高虹膜定位的准确率和效率,本文采用文献 [10]中的基于AdaBoost的人眼检测方法,该方法基于Viloa和Jones在人脸检测中的AdaBoost机器学习框架,采用级联的层次模式,分别训练出16层的左眼和右眼检测器。本文通过利用虹膜数据库和互联网资源获取大量人眼图像和非人眼图像,采用人工标注的方式分别获取正例样本和反例样本,同样也训练出16层的左眼和右眼的检测器。
在实验中,首先采用左眼检测器进行检测,如果检测失败,再使用右眼检测器进行重新检测。图2显示了在实验中人眼检测的部分结果。而如果两次人眼检测均失败,则根据虹膜图像眼睑及睫毛遮挡通常情况下遮挡虹膜上侧区域的客观规律,以原始图像中心为基准,裁剪原始图像尺寸的3/4 作为子图像,图2 显示了人眼检测的部分结果图像。
图2 人眼检测结果图像示例
1.2 直方图阈值化生成二值图像
首先对候选子图像计算灰度直方图,在计算前,需采用尺度较小的高斯滤波器对子图像进行平滑,然后再对直方图进行高斯函数平滑,结果如图1 (a)所示,则直方图左侧的第一个峰对应灰度值较低的瞳孔,选取该峰右侧的波谷作为阈值进行二值化,得到二值图像,如图1(b)所示。
而为了更好的获取阈值,在对直方图进行高斯函数平滑时涉及到一个重要参数σ,σ值的大小直接决定高斯函数平滑的程度,若取值过小,则发挥不出抑制由于噪声引起的不准确的波峰与波谷的出现的作用,若取值过大,则会导致正常有意义的波峰和波谷被平滑掉。因此,通过大量实验分析,本文经验性的选取σ=2.4,窗口宽度为15的高斯函数作为平滑窗口。
1.3 二值投影法粗定位虹膜内圆
在候选子图像中,受光照不均、眼镜遮挡、眼睑、部分睫毛等干扰,且上述噪声区域的灰度值与瞳孔的灰度值相近,则在阈值化的二值图像中,除了生成正常瞳孔部位的高亮区域外,还会产生不规则分布的离散高亮点和光斑,因此在进行二值投影操作之前,需对二值图像进行净化操作,即抑制不规则分布的高亮点和光斑的干扰。
本文采用形态学中的开运算操作进行处理[11],即采用结构化元素先对二值图像进行腐蚀操作,然后再对结果进行膨胀操作,从而使图像轮廓更加光滑清晰,隔断狭窄的间断点和消除细小的变化点。在实验中,本文采用10×10的矩阵结构元 (组成元素为1)对二值图像进行腐蚀操作,去除图像中的离散点,如图3 (b)所示,再采用膨胀操作进行扩充归并,如图3 (c)所示,从而突显出虹膜内圆的连通区域,有利于下一步横纵向投影的准确操作。
图3 二值投影法粗定位虹膜内圆
设定处理后的二值图像B(x,y),高亮像素点的灰度值为1,反之为0。二值投影即二维矩阵B(x,y)沿着某一维坐标轴像依次累积求和的操作。将B(x,y)分别沿着x维坐标轴 (纵向)和y 维坐标轴 (横向)进行投影操作,分别可以得到对应的投影直方图的一维向量X 和Y ,如图3(d)和图3 (e)所示,其中,X =[x1,x2,…,xM],M 表示x 维坐标轴长度;Y =[y1,y2,…,yN],N 表示y 维坐标轴长度。从图3 (d)和图3 (e)可以看出,投影直方图是由峰值 (peak)和间距 (interval)组成的分布。假定向量X存 在 候 选 峰 集 合ξ(x)={(,(k)(k))},k =1,2,…,K,其中,K 表示存在的峰的个数,与分别表示第k个峰的峰值和区间,(k)和(k)分别表示峰的起点和终点;同理,向量Y 存在候选峰的集合ξ(y)={(,,(l),(l))},l=1,2,…,L,其 中L 表 示 存 在 的 峰 的 个数,与分别表示第l个峰的峰值和区间,(l)和(l)分别表示峰的起点和终点。
需要注意的是,虽然大部分图像的二值图像经过形态学的腐蚀和膨胀操作后可以去掉大部分噪声影响,但由于少部分图像存在较大范围的遮挡或者人眼检测失败,不能保证阈值化后的二值图像很完美的将瞳孔区域的高亮区域凸显出来,仍存在其它的杂质部分,这就导致二值投影时产生参差不齐的虚假峰,严重干扰了从候选峰集合中选取最优峰的准确性。
因此,本文采用设定参数范围的方式作为补充方法,对候选峰进行筛选,去除那些峰值过高或过低,或者区间过宽或过窄的峰,保证所有的候选峰均是符合要求的。本文通过在实验中的训练集上进行大量实验验证,对峰涉及的两个重要参数,即峰值和区间,进行条件约束,假定原始图像的宽度为w,高度为h,在峰集合ξ(x)和ξ(y)中,对于ξ(x)的任何一个峰要求并设定峰值的合理高度范围为(40,250),区 间的 合 理 宽 度 范 围 为(30,150),ξ(y)中所有峰的峰值的合理高度范围为(40,220),区间的合理宽度范围为(30,150),从而有效的保证并提升算法的准确性和鲁棒性。
2 基于圆的Hough变换方法检测虹膜内圆
依据1.2节中虹膜内圆粗定位的结果,首先从候选子图像中截取以坐标(x0,y0)为中心,边长为2r0的正方形虹膜子图像,如图1 (d)和图3 (f)所示,并对截取后的子图像进行Canny边缘检测[11],主要分为以下4个步骤:高斯平滑图像、计算梯度幅值图像、候选边缘点筛选和边缘追踪,然后再对边缘点进行连接得到边缘图像,如图1 (e)所示,虹膜内圆的轮廓边缘清晰明显,接下来,就可以通过改进的基于圆的Hough变换方法[12]进行精确拟合内圆轮廓,定位结果如图1 (f)所示。
假 定边缘 图 像 上 边 界 点 坐 标 为(xi,yi),i=1,2,...,n,n为边界点总数。在以圆心坐标为(xc,yc),半径为r的圆的参数空间上,Hough变换投票法的优化公式为
其中,f(xi,yi,xc,yc,r)=(xi-xc)2+(yi-yc)2-r2。Hough变换方法实质上就是边界点集合对候选三元组(x,y,r)参数遍历投票,得票最多的参数即为最佳参数。为减少搜索时间和降低搜索内圆范围,本文根据实验分析,设定内 圆 中 心(xinner,yinner)的 搜 索 范 围(x0±0.2r0,y0±0.2r0),半径rinner的搜索范围 (r0,2r0)。
3 环量积分微分算子检测虹膜外圆
由于虹膜的外侧边缘容易受到上下眼睑及睫毛干扰,外边缘清晰度较差,不利于边缘检测。与之相反,
积分微分算子不需要边缘检测生成的二值图像,因此,本文采用环状积分微分算子[1]代替Hough变换方法精确拟合虹膜外圆轮廓。微分积分算子的定义如下所示
式中:* ——卷积,Gω(r)——一个尺度为的高斯平滑函数,积分符号表示沿着以(xτ,yτ)为圆心、r为半径的圆弧Γr,xτ,yτ的积分。在虹膜外圆定位前,可利用先前内圆定位的先验知识,降低微分积分算子搜索范围,本文选择在截取以 (xinner,yinner)中心,边长为6rinner的正方形的子图像中进行区域搜索。
众多研究结果表明[1-3,11],虽然瞳孔中心和虹膜中心存在一定差距,但二者偏差较小。根据虹膜内圆的定位结果,可以设定外圆圆心和半径的参数范围,从而降低计算代价和提高定位效率。通过实验分析,设定外圆半径router的取值范围是内圆半径rinner的1.5~3.5,而外圆的圆心位置(xouter,youter)中xouter的 取 值 范 围 (xinner-5,xinner+5) ,youter的取值范围 (yinner-5,yinner+5) ,外圆定位结果如图1 (g)所示。
4 实 验
本文算法是在Visual Studio 2005环境下采用C++编写实现,运行设备采用主频为2.4G,内存为4G 的个人计算机。实验采用的数据库来源于中国科学院自动化所发布的公共虹膜数据库-CASIA-IrisV4Thousand库[13],一共包含5000 幅虹膜图像,虹膜图像采集设备是中科虹霸(IrisKing)公司生产的IKEMB-100摄影机,采集的图像包含高光亮点、眼睑及睫毛遮挡、眼镜遮挡和模糊噪声等复杂因素干扰,非常适合非理想条件下的虹膜定位算法研究,图4显示了本文提出算法的部分定位结果。
图4 本文提出算法的部分定位结果
为了进一步验证文本提出的算法的性能,本文分别与环量积分微分算子方法 (Daugman方法)[1]和Hough变换方法[12]从虹膜定位时间和准确率两个方面进比较。评价标准依据检测结果与手工标注的虹膜图像内外圆的位置和半径进行匹配,误差允许范围在±2个像素。
表1显示了在CASIA-IrisV4Thousand虹膜数据库上本文提出的算法与Daugman方法、Hough变换方法在虹膜定位上的准确率与定位时间的比较结果。从表1中可以看出,提出的方法无论是在准确率还是在定位时间上都远远优于其它两种方法。在虹膜内圆和外圆定位的精度上,本文所提出的定位方法获得最高的准确率,分别达到99.2%和98.5%,与Daugman方法和Hough 变换方法相比,在内圆定位上的准确率分别提高了13.8%和17.2%,在外圆定位准确率上分别提高了11.4%和18.2%;同时在定位时间上也具有明显优势,在内圆定位上,所提出算法分别提高了0.49s和0.3s,在外圆定位上,分别提高约1.8s和1.3s。实验结果表明,与Daugman方法和Hough 变换方法相比,本文提出算法定位准确兼具效率高的优势,具备满足实时虹膜识别系统的要求。
表1 3种算法在实验数据库上的性能比较
5 结束语
本文提出一种非理想成像条件的虹膜定位方法。该方法针对虹膜图像特性,在人眼检测子定位后的子图像上采用结合形态学中的腐蚀和膨胀操作和二值投影法粗定位虹膜内圆,最后采用Hough变换方法和环量积分微分算子进行虹膜定位。在CASIA-IrisV4Thousand数据库上进行算法性能验证,实验结果表明,与传统的虹膜定位方法相比,所提出的虹膜定位方法在准确率和时间效率上具备较大优势。
在非理想成像条件下采集的虹膜图像质量不佳且存在复杂噪声干扰,在虹膜定位提取边缘信息的同时,利用人眼图像的纹理层次信息和图像统计的方法[14],可有效提升虹膜定位性能,因此我们将来的研究方向是在由粗到精的策略下融合人眼纹理信息,进一步提升虹膜定位算法的准确性和鲁棒性。
[1]Daugman J.New methods in iris recognition [J].IEEE Trans Systems,Man,Cybernetics B,2007,37 (5):1167-1175.
[2]Bowyer K W,Hollingsworth K,Flynn P J.Image understanding for iris biometrics:A survey [J].Computer Vision and Image Understanding,2008,110 (2):281-307.
[3]Burge M,Bowyer K.Handbook of iris recognition [M].New York:Springer Verlag,2013:20-48.
[4]ZHOU Jun,LI Wanghui,LUO Ting,et al.Fast and accurate algorithm for iris boundaries locations [J].Computer Engineering and Design,2010,31 (18):4058-4063 (in Chinese).[周俊,李王辉,罗挺,等.快速而准确的虹膜定位算法 [J].计算机工程与设计,2010,31 (18):4058-4063.]
[5]He Z,Tan T,Sun Z.Iris Localization via Pulling and Pushing[C]//International Conference on Pattern Recognition.HongKong:IEEE Computer Society,2006:557-561.
[6]ZHENG Qinfeng,LI Xiaoning.Fast iris recognition algorithms based on Gabor filtering [J].Computer Engineering and Design,2011,32 (3):976-980 (in Chinese). [郑沁风,李晓宁.基于Gabor滤波的快速虹膜识别算法 [J].计算机工程与设计,2011,32 (3):976-980.]
[7]SHAO Yu.Rapid and accurate iris location algorithm [J].Computer Engineering and Applications,2012,48 (12):183-188 (in Chinese). [邵宇.一种快速而精确的虹膜定位方法[J].计算机工程与应用,2012,48 (12):183-188.]
[8]Jan F,Usman I,Agha S.Reliable iris localization using Hough transform,histogram-bisection,and eccentricity [J].IEEE Transaction on Signal Processing,2013,93 (1):230-241.
[9]WANG Zhongxu,LI Weisheng.Improved algorithm for iris location based on active contour [J].Computer Engineering and Design,2009,30 (16):3840-3846 (in Chinese).[王中旭,李伟生.基于改进主动轮廓线的虹膜定位方法 [J].计算机工程与设计,2009,30 (16):3840-3846.]
[10]Li P,Liu X,Xiao L,et al.Robust and accurate iris segmentation in very noisy iris images[J].Image and Vision Computing,2010,28 (2):246-253.
[11]Gonzalez RC.Digital image processing,second edition [M].2nd.Beijing:Publishing House of Electronics Industry,2008:20-240 (in Chinese). [冈 萨 雷 斯.数 字 图 像 处 理[M].2版.北京:电子工业出版社,2008:20-240.]
[12]Masek L.Recognition of human iris patterns for biometric identification [D].Austra-lia:University of Western Australia,2003:26-40.
[13]Chinese Academy of Sciences.CASIA-iris-thousand [DB/OL].http://biometrics.idealtest.org/,2010.
[14]Sahmoud SA,Abuhaiba IS.Efficient iris segmentation method in unconstrained environments [J].Pattern Recognition,2013,46 (12):3174-3185.