精确定位虹膜的眼动跟踪算法

2014-12-23 01:26黄园刚郝宗波
计算机工程与设计 2014年2期
关键词:精确定位人眼眼动

黄园刚,桑 楠,郝宗波,江 维

(1.电子科技大学 计算机科学与工程学院,四川 成都610054;2.电子科技大学 信息与软件工程学院,四川 成都610054)

0 引 言

目前常用的眼动跟踪方法包括基于运动、特征和模板、眼动仪和非线性滤波理论等方法[1-3]。基于运动的方法属于侵入式眼动跟踪,往往需要借助外界辅助设备,包括眼电图法[4]和电磁线圈法[5]。该方法往往会引起测试者眼部不适,因此不适于常规眼动跟踪。基于特征和模板的方法[6]是指在精确定位人眼后,根据生物及几何特征建立模板,从而实现跟踪。但是该方法受外界干扰因素较大,在背景较为复杂时,难以保证精确性及鲁棒性。基于眼动仪的方法往往需要使用复杂而昂贵的大型精密仪器。随着技术的飞速发展,目前,很多公司都开发了相关产品,比如澳大利亚Seeing Machines、美国ASL、Mooij Associates、日本ISCN、Pitoteeh、德国SMI、加拿大SR 公司等。国内相对而言起步较晚,长安大学付锐教授[7]及西安电子科技大学[8]进行了相关方面的研究,然而需要进一步提高精度、人性化和小型化。基于非线性滤波理论的算法已经成为近年的研究热点。主要理论方法包括Kalman滤波[9-11]、EKF滤波等,由此建立人眼匀速运动模型。但是采样滤波对于如何提高在眼动跟踪中的精度、实时性和鲁棒性,还需要更加深入的研究。

1 本文工作

鉴于上述各种方法的不足,本文提出一种基于精确定位虹膜的眼动跟踪算法。图1为基本流程图,其核心是人眼检测及跟踪,其中虹膜定位是重要的环节,关系到目标跟踪的准确性,是整个眼动跟踪系统的基石。本文主要改进工作如下:

(1)在人眼检测阶段利用虹膜与巩膜的特征,提出使用susan算子来消除大部分眉毛等类噪声点,再进行连通域分析,最终消除噪声影响,准确定位虹膜区域。

(2)在反向投影建立跟踪模板时,考虑到传统方法的不足,增加对饱和度分量的分析,并进行相应的改进,在初始化跟踪目标时进行优化处理,更加准确地定位目标模板。

(3)在跟踪阶段,分析传统CamShift对于复杂背景以及有干扰目标存在时的缺陷,引入多特征融合,在特征建模方法上进行改进,并加入对目标尺度与方向的预测。

图1 眼动跟踪流程

2 人脸检测及人眼粗定位

本文采用基于AdaBoost算法的检测器检测人脸,并在此基础上粗提取人眼位置。这里加载事先训练好的Adaboost人脸检测器,当检测成功后,再加载人眼检测器,快速检测出眼睛所在矩形区域,实验效果如图2所示。

图2 人眼检测效果

由图2可知,检测器检测到的人眼矩形区域包含了虹膜,效果较好,但同时也包含了部分眉毛,这必将影响对虹膜的精确定位,需要消除其影响。

3 虹膜精确定位

本节的目标是精确定位虹膜,并建立后续帧的跟踪模板。由于虹膜区与巩膜区 (眼白)有显著的颜色和灰度差,因此本文所采用的方法如下。

3.1 二值化处理

对上一节提取到的人眼区域进行二值化处理,提取虹膜区域,经过多次实验测试分割阈值在75-90时效果较为理想,如图3所示。

图3 二值化人眼区域效果

3.2 虹膜粗定位

由图3可知,在二值化图像中存在类眼球的同色噪声点,比如头发和眉毛等,为了较好地消除其影响,本文引入susan 算子。设定usan 阈值Thresh 为 巩 膜 (最 大 值MAX)与虹膜 (最小值MIN)的灰度值之差的十分之一。引入投票机制,计算每个像素的USAN 值,当USAN 小于阈值时,判断该点为边缘点,如式 (1)所示

其中,r为人眼矩形区域,MAX 为r 中像素灰度值最大值,MIN 为像素灰度值最小值,Thresh 为设定阈值,μi 为像素点i的USAN 值。

3.3 虹膜精确定位

虽然通过susan算子运算可以消除大部分类眼球的噪声点,但是还需要进一步去噪。本文是通过扫描和分析通过3.2处理后的二值图像得到连通域划分,从而消除非连通的区域面积较小的团块,最后使用中值滤波对得到的虹膜区域进行平滑处理,精确定位虹膜,实验效果如图4所示。

图4 虹膜精确定位效果

由图4可知,本文所提出的方法精确定位虹膜,为眼动跟踪奠定坚实的基础。

4 基于多特征融合的CamShift算法眼动跟踪

CamShift算法[12]是对Mean Shift算法的改进,能够自动调节搜索窗口来适应目标大小,从而跟踪视频图像中大小发生变化的运动目标。该算法对系统资源要求不高,在背景较为简单时能够取得良好的跟踪效果。但缺乏模板更新算法,且模型只考虑到颜色特征,当存在与目标颜色相似的干扰因素时,精确度大大降低。因此,本文对该算法就多特征融合进行改进。

4.1 对阈值筛选方法

本文的算法主要过程为:

(1)根据上节提取到的虹膜区域初始化搜索窗w 的大小s和中心位置(xc,yc);调整跟踪框边界,模板大小、目标中心位置,如式 (2)、式 (3)、式 (4)所示

其中wnum,bnum 分别为二值图像目标区域的白色点、黑色点数xoright,xoleft,youp,yodown为统计空值图像矩阵中目标区域与颜色判断标准关系

调整模板大小及中心坐标为

(2)计算较搜索窗略大的颜色概率pt(反向投影),如式 (5)所示,色调量化l为16级

计算搜索窗中的候选目标区域 (假设上帧虹膜中心为yi)的颜色概率分布:

(3)运行MeanShift算法,如式 (6)、式 (7)所示,其中式 (6)为一阶矩计算,通过式 (7)计算获得搜索窗新的大小和中心位置,并初始化下一帧搜索窗

(4)预测虹膜的尺度和方向,如式 (8)、式 (9)所示,其中式 (8)为二阶矩计算,通过式 (9)计算椭圆搜索窗方向角φ 及尺度 (长轴a短轴b)

(5)在搜索窗中跟踪目标成功跳转到步骤 (2)继续执行。跟踪失败则重新检测人眼,定位虹膜,跳转到步骤(1)继续执行,直到视频处理结束。

在反向投影过程中,传统方法是将视频图像从RGB颜色空间转换为HSV 颜色空间,然后提取H 分量,建立颜色直方图模型。但是图像中或多或少有些噪声,当噪声积累到一定量时,会对跟踪精度造成严重的影响[13],因此需要考虑消除其影响。如图5所示,由于噪声的影响,饱和度较低,噪声覆盖为510-520帧之间,本文的改进方法是建立smin与搜索窗口s的关系,如式 (10)所示

其中,sk和s mink分别为第k 帧图像计算得到的搜索窗口大小s及s min。

4.2 多特征融合CamShift算法

图5 图像HSV 空间S分量变化曲线

颜色主要反映目标的整体特征[12],由于传统的CamShift算法只单纯地考虑颜色直方图,忽略了目标的空间分布特性,当背景较为复杂,或者有许多与目标颜色相似像素干扰时,可能导致跟踪失败。梯度方向描述了结构信息,如文献[14]所述,在两物体的重叠边缘会出现较大的梯度差异,因此本文提出结合两者的多特征融合算法,主要步骤如下:

(1)计算感兴区域 (提取到的)中所有点的梯度幅值M,梯度方向D,如式 (11)所示

其中Gxij,Gyij分别为图像I中 (i,j)像素的水平梯度和垂直梯度。

(3)计算梯度概率分布及候选区域梯度概率分布,如式 (12)所示

分别计算概率分布的相似性度量Bhattacharyya系数ρ1,ρ2 ,如式 (13)所示

最终相似度量系数为ρfinal =ερ1+βρ2 ,其中ε+β=1,ε,β∈[0,1]。当d(y)=达到最小时迭代完成。

5 实验测试结果及分析

5.1 实验测试环境

本实验所用的主机配置为Pentium (R)D CPU2.80GH、2.79GHz,2.00GB的内存。在VS2010平台上使用C++语言,并结合OpenCV[15]库实现。使用录制好的眼球运动AVI视频,图像分辨率为640×480,频率为25帧/秒。

5.2 实验测试结果

本实验方法的评价标准为由跟踪预测所得虹膜中心是否在实际虹膜区域内及与中心位置的差距,图6、图7为传统CamShift与本文算法跟踪虹膜正确率及效果对比图,性能比较见表1。

5.3 实验结果分析

5.3.1 跟踪速度分析

由表1可知,与文献 [16,17]相比,本文算法跟踪速度更快,这是因为基于AdaBoost算法的检测器运算量小,对光照条件不敏感,CamShift算法复杂度低,虽然本文算法在计算虹膜区域梯度方向特征时,增加了时间,但是由于增强了跟踪目标与干扰因素的差异,均值漂移迭代次数大大减少,一般只需要1-2次,故在耗时上低于其他方法。本文算法仅采用颜色特征以及梯度方向特征做联合,并且采用优于文献[17]的建模方法,减小文献 [16]使用的特征维数,且不需要自适应地选择最佳特征组合,从而更加节约时间。

表1 本文算法与其他算法比较

5.3.2 跟踪准确性和鲁棒性分析

由图6、图7可知,传统CamShift对于较大角度的左偏右偏跟踪失败率较高,但本文提出的算法适用范围广,对于斜视、头部偏转等虹膜有所遮挡等情况都有良好的检测效果,即使对于正视等理想情况,本文预测跟踪的虹膜中心较传统方法更加接近于实际虹膜中心。这是因为Ada-Boost算法对于偏转适应角度较大[18],且本文算法在初始化跟踪目标进行优化处理,更加准确地定位目标模板。与传统CamShift算法相比,本文算法融合了梯度向量特征,更加准确地预测了虹膜的尺度和方向。当跟踪虹膜失败时,重新检测人眼,定位虹膜,建立跟踪模板。当测试者头部快速转动时,失败率略有增加,这是因为头部大角度摆动,虹膜可能会突然在视频中消失,从而导致跟踪失败。为了增加本文方法的普适性,下一步将考虑测试者戴眼镜的情况,并对跟踪结果进行分析。

6 结束语

本文提出了一种基于精确定位虹膜的眼动跟踪方法,利用虹膜与巩膜的特征,提出使用susan算子来消除大部分眉毛等类噪声点,再进行连通域分析,最终消除噪声影响,准确定位虹膜区域;在此基础上建立跟踪模板,在初始化跟踪目标进行优化处理,更加准确地定位目标模板。使用改进的加入了对虹膜的方向和尺度预测和考虑梯度特征方向的CamShift算法进行眼动跟踪。实验结果表明该方法定位虹膜效果好,跟踪速度快,跟踪虹膜中心极大地接近于实际虹膜中心位置,对于正视、抬头、低头、左转以及右转等情况的跟踪效果均比较理想,达到了实时性,准确性和鲁棒性的要求。但本文提出的方法未考虑到测试者戴眼镜的情况,未对跟踪结果进行分析处理,这将是今后研究的重点。

[1]Qi Ying,Wang Zhiliang,Huang Ying.A non-contact eye-gaze tracking system for human computer interaction [C]//Proceedings of the International Conference on Wavelet Analysis and Pattern Recognition,2007:68-72.

[2]Hansen D W,Ji Q.In the eye of the beholder:A survey of models for eyes and gaze[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2010,32 (3):478-500.

[3]ZHANG Zutao.Driver's eye tracking technology research based on sampling theory of strong tracking non-linear filter [D].Xi'an:Xi'an Jiaotong University,2010:9-12 (in Chinese).[张祖涛.基于采样强跟踪非线性滤波理论的驾驶员眼动跟踪技术研究 [D].西安:西安交通大学,2010:9-12.]

[4]ZHAO Lv,WU Xiaopei,LI Mi,et al.A novel eye movement detection algorithm for EOG driven human computer interface[J].Pattern Recognition Letters,2010,31 (9):1041-107.

[5]WANG Jinrong.Design and implementation of eye tracking system [D].Dalian:Dalian University of Technology,2011:10-11 (in Chinese).[王锦榕.眼动跟踪系统设计与实现 [D].大连:大连理工大学,2011:10-11.]

[6]ZHOU Tao,WU Yaxuan.Eye tracking method based on human pupil and nostril features[J].Industrial Control Computer,2011,24 (10):61-62(in Chinese).[周涛,吴雅萱.基于人眼鼻孔特征的眼动跟踪方法 [J].工业控制计算机,2011,24(10):61-62.]

[7]YUAN Wei.Driver's dynamic visual characteristic experimental research in the environment of urban roads [D].Xi'an:Chang'an University,2008:12-13 (in Chinese).[袁伟.城市道路环境中汽车驾驶员动态视觉特性试验研究 [D].西安:长安大学,2008:12-13.]

[8]LIU Tao.Research and optimized implementation of eye tracking technology [D].Xi'an:Xidian University,2011:9-10(in Chinese).[刘涛.眼动跟踪技术的研究与优化实现 [D].西安:西安电子科技大学,2011:9-10.]

[9]SUN Kai,LIU Shirong.Combined algorithm with modified Camshift and Kalman filter for multi-object tacking [J].Information and Control,2009,38 (1):2-3 (in Chinese).[孙凯,刘世荣.多目标跟踪的改进Camshift/卡尔曼滤波组合算法[J].信息与控制,2009,38 (1):2-3.]

[10]Komogortsev O V,Khan J l.Eye movement prediction by kalman filter with integrated linear horizontal oculomotor plant mechanical model[C]//Proceeding of the ETRA,2008:229-284.

[11]Komogortsev O V,Khan J l.Eye movement prediction by oculomotor plant kalman filter with brainstem control[J].Journal of Control Theory and Applications,2009,7 (l):14-22.

[12]XU Kun,HE Yuyao,WANG Weipin.Adaptive color space target tracking algorithm based on CamShift[J].Journal of Computer Application,2009,29 (3):757-760 (in Chinese).[徐琨,贺昱曜,王卫平.基于CamShift的自适应颜色空间目标跟踪算法 [J].计算机应用,2009,29 (3):757-760.]

[13]WU Yuanyuan.Rearch on the technology of eye tracking[D].Xi'an:Xidian University,2009:12-13 (in Chinese).[武媛媛.眼动跟踪技术研究 [D].西安:西安电子科技大学,2009:25-28.]

[14]WANG Qin,JIANG Shuhong,ZHANG Jianqiu,et al.An approach to improve the performance of Mean-shift tracking algorithm [J].Journal of Fudan University (Natural Science),2007,46 (1):85-90 (in Chinese).[汪沁,江 淑 红,张建秋,等.提高Mean-Shift跟踪算法性能的方法 [J].复旦学报 (自然科学版),2007,46 (1):85-90.]

[15]LIU Ruizhen,YU Shiqi.Opencv basic tutorial[M].Beijing:Beihang University Press,2007:1-2 (in Chinese).[刘瑞祯,于仕琪.OpenCV 教程-基础篇 [M].北京:北京航空航天大学出版社,2007:1-2.]

[16]WANG Junqiu,Yagi Y.Integrating shape and color features for adaptive real-time object tracking[C]//Proceedings of the IEEE International Conference on Robotics and Biomimetics,2006:5-8.

[17]LU Xuan,LEI Hang,HAO Zongbo.Automatic CamShift tracking algorithm based on multi-feature [J].Journal of Computer Application,2012,30 (3):651-652 (in Chinese).[卢璇,雷航,郝宗波.联合多特征的自动CamShift跟踪算法 [J].计算机应用,2012,30 (3):651-652.]

[18]WU Tunhua.A number of key technology researches for diagnostic information extracted from Chinese medicine face consultation [D].Xiamen:Xiamen Universiy,2008:49-50 (in Chinese).[吴暾华.面向中医面诊诊断信息提取的若干关键技术研究 [D].厦门:厦门大学,2008:49-50.]

猜你喜欢
精确定位人眼眼动
基于眼动的驾驶员危险认知
精确定位
基于ssVEP与眼动追踪的混合型并行脑机接口研究
人眼X光
人眼为什么能看到虚像
闪瞎人眼的,还有唇
看人,星光璀璨缭人眼
国外翻译过程实证研究中的眼动跟踪方法述评
精确定位
电力设备红外测温多点精确定位控制系统设计