基于多结构鲁棒估计的虹膜外边缘定位方法
2014-10-22林绍辉陈水利吴云东
林绍辉,陈水利,吴云东
(集美大学理学院,福建厦门361021)
0 引言
虹膜作为眼睛的重要组成部分之一,它的准确定位关系到人眼定位和驾驶员疲劳检测[1-2].当前,虹膜定位已成为当今国内外学者研究的热点.Daugman[3]提出的圆形检测算子和Wildes[4]提出的基于边缘检测和Hough变换的虹膜定位算法是常用的两种经典的虹膜定位算法,由于这两种算法均需在三维空间内进行大范围的搜索,故定位速度较慢.为了克服此缺点,冯薪桦等人[5]提出了一种新的虹膜粗定位方法,该方法能有效提高定位精度,但需要用到特殊的虹膜采集仪器,不便于推广使用.近年来,刘念等人[6]提出了基于Hough变换圆检测的人眼定位改进方法,先通过灰度积分投影的方法粗定位人眼,然后采用“最小外接矩形法”估算待检测圆的圆心和半径,最后运用Hough变换检测圆的方法精确检测出虹膜,该算法定位精度较高,但定位速度较慢.
1981年Fischler和Bolles[7]从鲁棒性几何模型拟合技术出发提出了RANSAC算法,该算法首先采用随机选择输入数据的最小集的方法构造模型,然后根据事先设定好的内点标准 (比例)验证生成模型.由于RANSAC利用随机方法生成模型,并且在模型生成过程中没有利用历史模型的信息,因此存在大量的重复计算.1987年Rousseeuw和Leroy[8]提出了Least Median Squares(LMS)算法,该算法致力于对所有数据进行拟合,目的是使残差平方总和最小,因此对噪声数据非常敏感.2005年,Chum等人[9]提出了PROSAC算法,Tordoff等人[10]提出了Guided-MLESAC算法,这些算法能加快模型的生成速度,但是,取样的方式仅仅是依靠先验的内点概率,并没有进行条件取样,因此没有进一步提高算法的有效性.2011年,Chin等人[11]提出了多结构模型快速生成算法,该算法通过数据对模型的残差信息评价数据之间属于同一结构的相似度,进而利用条件概率方法指导采样向最优的模型方向迭代.该算法的采样速度、采样精度、溃点以及鲁棒性比PROSAC算法和Guided-MLESAC算法有较大的提高.但是,该算法还尚未应用到虹膜定位领域.因此,本文拟提出基于多结构鲁棒估计的虹膜外边缘定位方法,并且提出了模型局内点的判断标准和有效模型满足的条件,以期缩短有效模型生成时间,并且达到较高的准确率.
1 多结构模型快速生成算法的基本原理
多结构模型快速生成算法是一种鲁棒性估计方法,该算法首先通过计算数据点对模型的残差,得到残差排序信息;然后构造数据点的相似函数,评价数据之间属于同一结构的相似度;最后利用条件概率选择采样点,构造新模型,当产生一定数量的新模型后,将其融入原模型集,再利用条件概率指导采样向最优的模型方向迭代.
1.1 残差排序信息
1.2 数据点的相似函数
1.3 基于条件概率的采样准则
利用残差排序和相似函数,可以用来指导模型取样,主要采用条件概率的方法选取特征点,从而构造优化的模型.
已知随机M个模型{θ1,…,θM},根据公式 (1)计算各个数据之间相似度,随机选择第一个数据点s1.在此基础上,通过条件概率P1(i)取第二个数据点s2,则
其中,f是相似函数,α1是归一化因子,保证P1(i)是一个有效的离散条件概率分布,则第二个数据点的选择概率依赖于P1,即s2~P1.
同理,假设选择每个点都是独立的,根据贝叶斯原则,后续点的选取有赖于与被选中点之间的概率乘积.即
2 虹膜外边缘定位
2.1 眼睛区域的边缘检测
本文采用P.Viola和M.Jones[12]提出的AdaBoost算法检测人脸.考虑到人的头部倾斜,应适当扩大人眼区域.假设人脸高度为1,则将人眼大致区域设定为0.5~0.8之间.
为了得到眼睛区域的边缘信息,本文采用Canny边缘检测方法[13],该方法基本原理是根据对信噪比与定位乘积进行测度,得到最优化逼近算子,该方法属于先平滑后求导数的方法.本文将其中的双阈值设置为T1=0.2,T2=0.5,使得到的完整虹膜外边缘较为明显.
2.2 虹膜外边缘的定位
通过Canny边缘检测得到二值图像后,将该二值图像边缘点作为实验数据集,首先在数据集上随机选取b个最小p-子集,由于需要估计的虹膜外边缘的模型是圆,故只需选取不共线的三点作为最小子集,因此p取值为3.在得到b个原始模型后,利用多结构模型快速生成算法的基本原理,不断地更新模型,找到其中局内点数最多的两个模型.判断是否是模型的局内点的标准如下:
其中,(x,y)为二值化图像数据点,(a,b)为模型的圆心坐标,r为模型的半径.由于人眼区域两个虹膜外边缘之间有一定的距离.要得到这两个准确模型需要满足的条件是
其中,(a1,b1),(a2,b2)分别是两个模型的圆心坐标,r1是击中局内点数最多的模型的半径.所得到的结果如图1所示.
图1 虹膜外边缘定位结果Fig.1 Location of outer edge of iris
2.3 具体步骤
具体步骤如下:1)输入已经用Adaboost算法提取到的人脸图像;2)提取眼睛区域并利用Canny算法提取边缘信息;3)结合Multi-GS算法,其中,数据集X是眼睛区域边缘,生成模型Θ;4)根据公式 (4),在生成的模型中选出击中局内点数最多的模型θ1;5)根据公式 (4),选出击中局内点数仅次于θ1的模型θ2;6)判断两个模型是否满足公式 (5),若满足条件则算法停止,否则,舍去击中内点数较小的模型θ2,返回5).
多结构模型快速生成算法 (Multi-GS)如下:
1:输入数据集X、需要的总模型个数T、最小子集p的大小和改变窗口大小的模型个数b.
2:输出模型Θ.
3:for M=1,2,…,T do.
4: if M≤b then.
5: 随机取样p个数据点并且存储在S中.
6: else.
7: 随机选择第一个点s1并赋初值S={xs1}.
8: for k=1,2,…,(p-1)do.
9: 利用a(i),h和S中的数据,创建公式sk+1~Pk.
10: 根据Pk,取样sk+1.
11: 取样点加入到S.
12: end for.
13: end if.
14: Θ =Θ∪{从S中得到的模型}.
15: 加入到绝对残差r(i)中,计算新模型的残差.
16: if M≥N&&mod(M,b)=0 then.
17: 排序所有的残差r(i),得到排序a(i).
18: 改变h,h= [αM],0.05≤α≤0.4.
19: end if.
20:end for.
21:return Θ.
3 实验结果与分析
本文采用Matlab 2009b作为仿真平台,对本文提出的基于多结构鲁棒估计的虹膜外边缘定位方法进行了编程实现.本文限制模型生成时间t=1 s,模型个数上限T=25 000个,窗口大小与模型总数的比例系数α=0.1,改变窗口大小的模型个数b=10.实验中选取200幅有单人脸的网络图像作为测试图像,这些图像包括150幅虹膜轮廓完整图像和50幅虹膜轮廓残缺图像,为了能够获取虹膜轮廓,这些图像都是近距离拍摄的.通过对这些图像进行虹膜外边缘定位测试,与传统的RANSAC模型生成算法和Hough变换方法相比,本文提出的方法不仅能有效且准确地定位虹膜外边缘,而且有效模型生成的时间都有明显缩短.部分图像定位结果如图2所示.
从图2 a(2)图像的虹膜外边缘定位结果可以分析出,采用Multi-GS方法和Hough变换方法都能准确定位出虹膜外边缘,而采用RANSAC模型生成算法,有一只眼睛的虹膜外边缘定位出现偏差.另外,从图2 a(3)图像的虹膜外边缘定位结果可以得出,不论使用本文提出的基于多结构鲁棒估计 (Multi-GS)的虹膜外边缘定位方法,还是使用RANSAC模型生成算法、Hough变换方法,定位结果均不准确,其主要原因是眼睛区域边缘较为复杂,局内点数的所占比例太小,导致生成的模型不准确.具体的虹膜外边缘定位方法定位精度对比,如表1所示.
表1 不同虹膜外边缘定位方法的精度对比Tab.1 Accurate comparison of different Iris location method for outer edge
图2 不同虹膜外边缘定位方法的结果Fig.2 the results of different iris location method for outer edge
从表1中可以得出,本文基于多结构鲁棒估计 (Multi-GS)的虹膜外边缘定位方法,无论从定位精度还是时间消耗上都比传统的RANSAC模型生成算法和Hough变换方法要优越.Multi-GS方法利用条件概率方法指导采样,能够有效地利用历史模型的信息,不断地向最优模型方向迭代,加快了有效模型生成速度,缩短了有效模型的耗时.而RANSAC方法每次迭代都利用随机取样,没有利用历史模型信息,相应地增加了产生有效模型的迭代次数,因此该算法降低了定位精度和延长了产生有效模型的时间.Hough变换方法中,通过寻找累加器的峰值点坐标确定虹膜外边缘,然而累加器是一个三维向量,导致产生有效模型的耗时大大增加.另外,实验结果也表明,就算只见虹膜轮廓一部分,本文提出的算法也能准确定位虹膜外边缘.
4 结论
本文在Adaboost检测人脸区域的基础上,提出基于多结构鲁棒估计的虹膜外边缘定位方法.通过与经典RANSAC模型生成算法和Hough变换方法相比较,本文的方法不仅缩短有效模型的生成时间,而且提高了定位准确率,在200幅单人脸的图像数据集上,定位精度达到94%.虹膜外边缘的准确定位可为人眼定位和驾驶员的疲劳检测系统的实现提供一定的理论基础.
本文提出的算法尚未在人眼区域边缘较复杂和只包含少数局内点数的人脸图像中准确定位虹膜外边缘,未来的工作方向将致力于寻找能更好地解决此问题的虹膜外边缘定位方法.
[1]江水郎.基于视觉的驾驶员疲劳状态检测方法研究[D].上海:上海交通大学电子信息与电气工程学院,2008.
[2]倪小鹏.基于视觉的驾驶员疲劳状态检测方法研究[D].上海:华东理工大学机械与动力工程学院,2012.
[3] DAUGMAN J G.High confidence visual recognition of persons by a test of statistic independence [J].IEEE Transactions on Pattern Analysis and Machine intelligence,1993,15(11):1148-1161.
[4] WILDES R P.Iris recognition:An emerging biometric technology[J].Proceedings of the IEEE,1997,85(9):1348-1363.
[5]冯薪桦,丁晓青,方驰,等.虹膜内外边界的粗定位方法[J].清华大学学报:自然科学版,2007,47(1):80-83.
[6]刘念,苏杭,郭纯宏,等.基于Hough变换圆检测的人眼定位方法改进 [J].计算机工程与设计,2011,32(4):1359-1362.
[7] FISCHLER M A,BOLLES R C.RANSAC:A paradigm for model fitting with applications to image analysis and automated cartography[J].Comm of the ACM,1981,24:381-395.
[8] ROUSSEEUW P J,LEROY A M.Robust regression and outlier detection [M].New York:John Wrley & Sons Inc,Wiley,1987.
[9] CHUM O,MATAS J.Matching with PROSAC-progressive sample consensus[C] //IEEE Conference on Computer Vision and Pattern Recognition.San Diego,CA,USA:IEEE,2005:220-226.
[10] TORDOFF B J,MURRAY D W.Guided-MLESAC:Faster image transform estimation by using matching priors[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2005,27(10):1523-1535.
[11] CHIN T,YU J,SUTER D.Accelerated hypothesis generation for multi-structure data via preference analysis [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2011,34(4):625-638.
[12] VIOLA P,JONES M.Rapid object detection using a boosted cascade of simple features[C] //IEEE Conference on Computer Vision and Pattern Recognition.Kauai,HI,USA:IEEE,2001:511-518.
[13]GONZALEZ R C,WOODS R E,EDDINS S L.数字图像处理 (Matlab版)[M].阮秋琦,译.北京:电子工业出版社,2005.