基于HEIV算法改进的瞳孔中心定位
2015-12-20贾彩琴
贾彩琴,杨 剑
(中北大学 计算机与控制工程学院,山西 太原030051)
0 引 言
目前,瞳孔中心定位常用的算法有Hough变换法[1]与椭圆拟合法[2]。Hough变换法抗干扰能力强,但是计算量大,运算速度慢且对存储空间要求高;椭圆拟合目前使用最多的方法是最小二乘法[3],该方法是根据测量得到的瞳孔边缘点集,运用非线性最小二乘法来搜索目标函数最小值,估计出椭圆曲线的参数。该方法存在的问题:最小二乘算法在边界样本点数量较大,且噪声同方差的条件下椭圆拟合精度较高,但是在椭圆边界不完整,噪声异方差等条件下,检测的结果误差较大,同时最小二乘的计算量较大。
针对以上问题,本文提出一种瞳孔中心定位法。该方法主要包含两个部分:人脸检测及眼睛精确定位。利用基于Adaboost的人脸检测方法确定人脸区域,并推测出眼睛的位置,进而得到左右眼的有效矩形区域,用Sobel算子对眼睛的矩形区域进行边缘检测,利用基于异方差 (heteroscedastic errors-in-variables,HEIV)方 法 进 行 椭 圆 拟合,将拟合的中心点作为人眼瞳孔的中心,从而精确定位瞳孔。实验结果表明,该方法比传统的最小二乘法定位精度高,且鲁棒性好。
1 原有的人脸检测及瞳孔中心定位方法
AdaBoost是一种迭代算法[5]。该算法主要原理是:对于一组训练集,通过改变每个样本的分布概率,来得到不同的训练集Si,对于每一个训练集Si进行训练从而得到一个弱分类器,再将这些弱分类器根据不同的权值组合起来,就得到了强分类器,然后将该强分类器按照级联结构组合起来得到级联分类器,最终通过级联分类器来检测人脸和眼睛。
1.1 基于AdaBoost方法的人脸检测
本文采用了改进的AdaBoost算法并结合Viola等的级联模型构建人脸和人眼分类器[6]。人脸检测需要对待测图像进行分析,判断其是否为人脸。我们将收集的样本分为人脸样本和非人脸样本两类,由Adaboost算法及级联分类器来完成训练过程。而在待测图像通过级联分类器时,将会一次通过级联分类器中的强弱分类器,在该过程中,如果某一强分类器拒绝该图像通过,则认为该图像为非人脸。
1.2 基于AdaBoost方法的人眼检测
人脸定位后,由于眼睛分布在人脸的上半部分区域,可以利用眼睛分类器在人脸区域上半部进行眼睛检测。在这一步中,本文仍然使用基于AdaBoost算法训练出的级联分类器[7]。该步骤中用到的AdaBoost分类器中训练的为人眼样本。
眼睛区域定位如图1所示。
图1 眼睛区域定位
1.3 眼睛精确定位
利用AdaBoost方法得到人眼所在位置的矩形框后,找到接近眼睛的椭圆,进而对眼睛进行精确定位。因此,提取出眼睛轮廓线是必要的。具体如下:
(1)从人脸图像中划分出左右眼的有效区域,并对该区域进行灰度化。
(2)对提取出的双眼所在有效矩形区域进行二值化处理,然后利用Sobel算子对图像进行边缘检测,从而提取出眼睛边缘,如图2 (a)所示。
(3)通过寻找人眼边缘像素点的最大联通区域,找出眼睛的实际轮廓线,如图2 (b)所示,然后利用椭圆拟合来确定眼睛的中心点。
图2 眼睛的精确定位
1.4 最小二乘瞳孔中心定位
最小二乘拟合是数据拟合中的基本方法,其主要思想是在随机误差服从正态分布时,利用最大似然法推出一个最优解,它的约束条件是使误差的平方和达到最小[8]。
一般二次曲线可用一个二次多项式来表示
假设 (xi,yi) {i=0,1,…,m}是瞳孔边缘点集。根据最小二乘法,将点集 (xi,yi)到椭圆的距离由式显示。
求解上述方程组,进而求得方程各系数,椭圆方程便确定了。根据椭圆方程便可确定椭圆的长轴,短轴及其中心[8]。
利用最小二乘法椭圆拟合时,最小二乘算法在边界样本点数量较大,且噪声同方差的条件下椭圆拟合精度较高,但是由于边缘数据不完整且噪声异方差,使得实验结果误差较大,不能满足实际测量中的高精度要求。
2 改进的基于HEIV模型椭圆拟合
椭圆拟合的数学模型可抽象为
其中,xio∈Rq,θ∈Rp。xio代表测量的理想数据,由于在实际中,测量数据xi会受噪声影响而带有一定的测量误差。本文假设该误差服从均值为0,方差为σ2Cx的正态分布,即
这里,GI(0,C)表示均值为0,协方差为C 的独立同分布概率密度。表达式 (3)和带有噪声影响的变量 (4)被称为变量含误差模型 (EIV)。如果各数据δxi具有不同的方差时,便称为异方差变量含误差模型 (HEIV)。HEIV模型就是从实际测量的数据出发,考虑带有误差的数据因素,来对参数进行精确估计。
令x=(x,y),Z(x)=[x2,xy,y2,x,y],θ=[A,B,C,D,E],α=F,则椭圆的一般方程可表示为
通常情况下,测量误差的方差矩阵σ2Cx是未知的,设定测量数据x的噪声δx 服从均值为0,方差为Cx=σ2I2的高斯分布。求得δZi的均值与协方差矩阵[4]
可知数据Z(xi)的噪声δZi不是独立同分布的,故采用基于HEIV 模型的方法进行椭圆拟合。将带有噪声数据点Zi与理想数据点Zio间的马氏距离作为代价函数
利用文献 [9]的方法可以求解式 (8),但是为了提高运算速度及其稳定性,本文利用广义奇异值分解来进行求解,是一个迭代求解的过程。如下:
这里,U′i,V′i是正交矩阵,对角矩阵D 包含矩阵的奇异值。矩阵的逆平方根矩阵Γi如下
从式 (13)和式 (14)可知
同理
由广义奇异值分解 (GSVD)的定理[10]知,存在正交矩阵U ∈Rmn×mn,V ∈Rp×p和可逆矩阵Y ∈Rp×p,使得
其中,Y =[y1,y2,…,yn]称为广义奇异值向量。本文所要找的^θ是最小广义奇异值向量yp,它对应最小广义奇异值σp。当σp=1 时,其所对应的特征向量yp即为式 (8)的解。
本文提出算法的步骤如下:
步骤1 根据式 (10)计算散布矩阵和加权协方差矩阵,拉格朗日乘子ηi,构造广义特征值问题;
步骤2 根据广义奇异值分解,将等式转化为求解最小特征向量的问题,见式;
步骤3 迭代求解,直到σp=1时,迭代完成,所对应的特征向量即为所求解。
3 实验结果及分析
为了验证所提HEIV 算法在瞳孔中心定位问题上相比于最小二乘法的有效性,本文分别进行了椭圆拟合仿真实验和瞳孔中心定位现场实验。该实验应用2.9GHz CPU,内存4GB 的PC 机,并结合MATLAB2013 仿真平台进行仿真。
3.1 椭圆拟合仿真实验
实验方案设置为:在MATLAB2013 平台上,设定一标准椭圆,定义其椭圆中心坐标为 (30,30),长半轴、短半轴为 (a,b)= (15,30)。本文抽取椭圆边缘点的右下部分数据进行椭圆拟合,对该部分边缘点添加服从正态分布的噪声,其中均值为0,方差为1。分别利用LS拟合法和HEIV 拟合方法进行椭圆拟合,实验进行500次。
由图3知,图 (a)、图 (b)分别为LS,HEIV 方法所求取的椭圆中心的分布图,图 (c)、图 (d)为LS方法得到的误差分布图,图 (e)、图 (f)为HEIV 算法求得的误差分布图。从图中可以得到,利用最小二乘法求取的瞳孔中心比较集中,其X 分量均分布在0的右侧,Y 分量均分布在0的左侧,严重偏离了中心,属于有偏估计。而利用HEIV 方法求得的中心误差的X 分量与Y 分量均分布在0的两侧,属于无偏估计,但相对于最小二乘法来说,其误差分散范围较大。
图3 两种方法求取瞳孔中心误差分布
3.2 瞳孔中心定位现场实验
本次实验对自建人脸库及BioID 人脸库进行测试。其中,BioID 人脸库中包含1521个分辨率为384 (286的灰度自然场景下的人脸图像,由23个测试者提供,本次实验取其中20个不同人物,在不同姿态下的500 张图片进行实验。而自建人脸库为实验室采集图像,分辨率为384 (287,取30人,每组10人,每人10张,共300张。3组分为光线强 (白天开灯拍摄),光线正常,光线较暗 (晚上开灯拍摄)。本次实验的目的是在获取眼睛区域的前提下,利用LS方法和HEIV方法分别对人眼瞳孔定位,比较其结果。通过两种算法求取的瞳孔中心与模拟的标准中心进行对比,分析LS拟合法和HEIV拟合方法求取瞳孔中心坐标的误差分布。
表1为针对两种图像库中眼睛瞳孔中心定位平均误差分布情况。从表1可知,两种算法所得的平均误差,本文提出的HEIV 算法对光照有一定的鲁棒性,且HEIV 算法相比于LS算法平均误差小,定位精度高。
表1 两种方法瞳孔定位的平均误差
表2针对两种人脸库进行实验统计结果。实验结果可知,对于两种人脸库,针对两种算法,本文所提出的HEIV 算法其定位精确率与平均耗时都优于LS算法。对于自建人脸库的其中3 个人脸库,可以得到,本文提出的HEIV 算法相比于LS算法正确率高,且平均耗时短。
图4、图5为LS算法和HEIV 算法对两种人脸库的处理结果。其中图4为LS算法针对BioID 人脸库及自建人脸库的瞳孔定位效果,图5 为HEIV 算法针对BioID 人脸库及自建人脸库的瞳孔定位效果。其中图 (a)~图 (c)为针对BioID 人脸库的结果,图 (d)~图 (f)为针对自建人脸库的结果。从图中可知,对于普通人脸,两种算法标定的瞳孔中心相差不大,而对于图5 (b)中可知,本文所提出的HEIV 算法针对人眼半眯状态也能准确检验出瞳孔中心,相比于图4 (b)精确。从图中得出本文提出的算法对人的姿态也有一定的鲁棒性和较高的精确度。
表2 两种算法不同人脸库的检测结果
图4 LS方法拟合的结果
图5 HEIV 方法拟合的结果
4 结束语
本文提出一种基于HEIV 的瞳孔中心定位方法。该方法利用Adaboost方法来训练并检测人脸和眼睛,利用HEIV 算法椭圆拟合,实现瞳孔中心的定位。实验结果表明,在正面人脸的情况下,本文提出的方法的平均误差能够少于0.2像素,平均一幅图像的耗时为1ms,但本文的方法还不是很完善,对于戴眼镜的人眼区域,瞳孔中心定位时会有一定的误差,为了进一步改善瞳孔中心定位精度问题,必须对图像进一步的处理,来达到瞳孔中心定位精确的目的。
[1]Bhatia N,Chhabra M.Improved hough transform for fast iris detection [C]//IEEE International Conference on Signal Processing Systems,2010:172-176.
[2]YU Longhua,WANG Hong,ZHONG Hongsheng.Human eyes detection and pupil localization [J].Computer Engineering and Applications,2013,49 (3):186-189 (in Chinese). [余龙华,王宏,钟洪声.人眼检测及瞳孔定位 [J].计算机工程与应用,2013,49 (3):186-189.]
[3]YAN Bei,WANG Bin,LI Yuan.Optimal ellipse fitting method based on least square principle [J].Journal of Beijing University of Aeronautics and Astronautics,2008,34 (3):295-298 (in Chinese).[闫蓓,王斌,李媛.基于最小二乘法的椭圆拟合改进算法 [J].北京航空航天大学学报,2008,34(3):295-298.]
[4]HAN Jiandong,YANG Hongju,LV Naiguang.Automated ellipse detection and location method in 3D visual inspection[J].Computer Engineering and Applications,2011,47 (17):169-172 (in Chinese).[韩建栋,杨红菊,吕乃光.视觉测量中椭圆自动检测与定位方法 [J].计算机工程与应用,2011,47 (17):169-172.]
[5]Ming Yang,James Crenshaw,Bruce Augustine,et al.Ada-Boost-based face detection for embedded systems[J].Computer Vision and Image Understanding,2010,114 (11):1116-1125.
[6]KE Li,WEN Liping.face detection based on modified Adaboost algorithm [J].Opto-Electronic Engineering,2012,39 (1):113-118 (in Chinese).[柯丽,温立平.改进的AdaBoost人脸检测方法[J].光电工程,2012,39 (1):113-118.]
[7]JIN Juncai,TONG Weiqing,LIANG Xiaoni,et al.Accurate eye location in near-infrared images based on ellipse fitting [J].Journal of East China Normal University (Natural Science),2012,5 (3):103-110 (in Chinese).[金俊才,童卫青,梁晓妮,等.基于椭圆拟合的近红外图像的眼睛精确定位法 [J].华东师范大学学报:自然科学版,2012,5 (3):103-110.]
[8]Yan Bei,Gao Lifeng,Zhang Xigong.Research on feature points positioning in non-contact eye-gaze tracking system[C]//IEEE International Conference on Electronic Measurement &Instruments,2009:1042-1045.
[9]WANG Liang,DUAN Fuqing,LV Ke.Camera calibration with One-dimensional objects based on the heteroscedastic error-in-variables model[J].Acta Automatica Sinica,2014,40 (4):643-652(in Chinese).[王亮,段福庆,吕科.基于HEIV 模型的摄像机一维标定[J].自动化学报,2014,40 (4):643-652.]
[10]Golub G,Loan C F V.Matrix calculus [M].Beijing:the People’s Posts and Telecommunications Press,2009:465-467(in Chinese).[戈卢布,范洛恩.矩阵计算 [M].北京:人民邮电出版社,2009:465-467.]