基于单摄像机视线跟踪的眼控鼠标∗刘瑞安1, 2+,靳世久1,吴晓荣21(天津大学 精密测试技术及仪器国家重点实验室,天津 300072)2(天津师范大学 物理与电子信息学院,天津 300074)摘 要:提出一种能对用户头部位置变化自动适应的视线跟踪方法,减少了系统对使用者的头部限制。
依据瞳孔边界点的灰度信息、梯度信息及瞳孔边界曲线的平滑信息综合判据,给出了一种提取瞳孔边缘点的一维算法;为提高系统的分辨率和精确度,提出了一种眼睛红外图像中瞳孔亚像素边缘检测与中心定位算法。
利用眼睛角膜反射光斑和瞳孔中心的位置关系来确定视线方向,推导出人眼在计算机屏幕上的注视点,进而实现人眼对鼠标的定位与操作,其在显示屏上定位精度可达到40像素以内。
关键词:视线跟踪;眼控鼠标;角膜反射;边缘检测;亚像素;椭圆拟合1. 引言眼睛是人类从周围世界中获取信息的重要器官,也是反映人的心理活动的窗口。
将视线应用于人机交互可带来直接性、自然性和双向性[1]等优点。
眼注视是一种非常好的能使人机对话变得简便、自然的候选输入通道,将人的眼睛作为输入媒介,通过眼睛盯视,对外部设备进行控制可以实现多任务操作,在一些工业控制、机器人学和临床医学上有着广泛的发展前景。
目前,人机交互已成为计算机科学研究的一个越来越重要的领域。
在个人电脑飞速发展的今天,鼠标一直是最为重要的人机交互设备之一。
而眼控鼠标是利用图像处理技术对捕获的眼睛图像进行处理,提取人眼视线方向及注视点位置,进而实现人眼对鼠标的定位与操作。
视线跟踪技术是未来智能人机接口的关键技术之一,在人机交互领域有着广阔的应用前景。
国际上一些公司与科研机构正致力于眼控鼠标的开发与研究,日本净冈大学的海泽嘉教授开发出一种可以用眼球控制的鼠标系统;布拉格捷克技术大学的研究人员也推出了一款可用眼睛控制电脑的操作系统。
视线方向的识别、跟踪,是实现眼控鼠标的关键技术。
而利用角膜反射原理的视线跟踪技术,具有非侵入的优点,近年来取得了较快进展,人们也进行了将该技术应用于人机交互领域的大量研究工作[2,3]。
该技术在用户头部不动情况下可获得较高精度,但对头动敏感。
为减少对用户的限制,Sugioka[4]使用超声技术测得CCD和人眼之间的距离,Ebisawa[5]增加两个摄像机来获得眼睛的三维空间坐标。
这不仅增加了系统复杂性,且系* 基金项目:天津市高等学校科技发展基金项目(20051017)* 刘瑞安,Email: wdxylra@统精度受位置测量精度的局限。
为克服上述困难,本文提出了一种能对用户头部位置变化自动适应的视线跟踪方法,实现了人眼对鼠标的定位与操作。
2. 系统原理与控制模型系统采用角膜反射原理。
近红外光源发出的光在用户眼睛角膜上形成高亮度反射点(glints),利用瞳孔中心和光斑的相对位置关系确定视线方向。
硬件组成如图1所示。
图1 系统硬件结构框图使用云台,摄像机能作二维扫描,保证用户眼睛始终在摄像机视场范围内。
采用近红外光源,在显示屏幕两侧及摄像机物镜上装有近红外LED。
CCD物镜采用电动三可变镜头,镜头前置带通滤光片去除可见光影响。
系统示意图如图2所示。
图2 系统示意图及视线模型CCD捕获的眼睛图像通过图像采集卡,送计算机进行图像处理,提取瞳孔、光斑信息,对鼠标进行相应操作。
计算机通过串口与下位机通讯,由单片机控制摄像机云台、LED光源及物镜的光圈、聚焦、变焦。
捕获眼睛图像示意图如图3所示。
头不动情况下,当眼球转动注视屏幕上不同位置时,由于眼球近似为球体,光斑位置不变,瞳孔中心相对光斑发生偏移,眼睛转动视线发生变化由位矢OP反映。
头前后移动,Glint2和Glint3间距离 d=d1+d2 发生变化;头水平移动,d1和d2大小比发生变化。
利用光斑 Glint2和Glint3 的中间位置控制云台;以光斑 Glint2和Glint3 的间距为依据调节镜头焦距,保证光学系统成像放大率不变,克服头部前后运动影响;利用光斑的灰度值来调节物镜光圈及LED 发光功率;依据瞳孔边界点的梯度平均值和光斑大小调节聚焦。
由于头部运动,图像中眼睛丢失时,开大CCD 视场,关闭 LED2和LED3,此时仅 LED1亮,它和CCD 光轴同轴,出现亮瞳孔现象;而 LED2和LED3 打开时,对应暗瞳孔图像。
利用明、暗图像差法[2,3,5,6],可克服环境干扰,快速搜索到眼睛位置。
图3 捕获图像示意图3. 瞳孔中心精确定位3.1 瞳孔边界点提取很多算法对整个眼睛图像利用边缘算子提取瞳孔边界,考虑到瞳孔边界只占图像很小部分,故这些方法时间开销大,效率不高。
依据光斑位置,确定瞳孔搜索区域。
利用搜索窗内瞳孔二值化图粗定瞳孔中心,并作为搜索瞳孔边界的起始点。
在不同方向上做一维扫描,在搜索线上感兴趣区域,结合像素点灰度值、梯度值及边界曲线的平滑特性,由(1)式通过寻找最大值,决定边缘点位置r ,提取边界点。
)())(()()(1210−−−−−=n r r k Ip r I k r G k r f (1) f 为判据函数,)(r I 为搜索点灰度值,Ip 为瞳孔阈值,)(r G 为搜索点梯度值,由一维梯度算子[-1 0 1]计算得到,1−n r 为相邻搜索线上得到的边界点半径,0k 、1k 、2k 为由试验定值的权重参数。
考虑到东方人眼敛常常张的不是特别开的特点,常出现瞳孔被眼敛、眼睫毛部分遮挡;在眼睛及头部运动情况下,光斑有时落在瞳孔边界上或附近区域。
在瞳孔边界点提取过程中,受遮挡影响及边界上的其它噪声(像阴影、光斑等),会产生一些虚假边界点,如图4中p1、p2点,其存在严重影响后续椭圆拟合算法,进而影响瞳孔中心定位。
剔除虚假边界点,才能进一步提高定位精度。
图4中P1为粗定瞳孔中心,P2为包含p1、p2时椭圆拟合中心,P3为剔除p1、p2后的拟合中心。
Ohno [7]利用两次椭圆拟合来去除干扰。
Starburst 算法[8]采用填充方法,将光斑删除,根据邻近区域灰度值对其插值填充。
上述算法复杂且耗时。
根据光斑所处位置,将搜索到的光斑附近的瞳孔虚假边界点直接剔除,简单省时。
对眼敛遮挡,依据相邻边界点连线的导数变化情况,确定为虚假边界点后采用了类似处理方法。
图4 去除瞳孔边界处干扰示意图剔除虚假边界点后,在搜索线方向上,对得到的像素级边缘点前后邻近的几个像素点计算其一维梯度值,然后对亚像素位置进行梯度的一维多项式插值,通过寻找局部极值点得到亚像素位置精度的边缘点位置,提高系统的精度和分辨率。
3.2 瞳孔中心定位瞳孔经光学系统在CCD 成像为平面椭圆,所以对提取的边缘点进行椭圆最小二乘拟合链接成边界,即可确定瞳孔中心位置。
椭圆方程取为:022=+++++E Dy Cx By Axy x (2) 椭圆拟合可求得椭圆方程的5个参数A、B、C、D 和 E ,椭圆中心计算公式如下:B A AD BC x 4220−−=, BA AD D y 4220−−= (3) 实验图像经上述算法处理,处理效果图如图5所示。
图5 瞳孔边缘检测与中心定位4. 鼠标控制的实现图像中光斑面积小、亮度大,受干扰小,采用圆模型处理,提取光斑区域质心位置。
求出瞳孔中心坐标及光斑位置后,可得到瞳孔中心与光斑的位置相对偏移量。
用P1),(p p y x 表示瞳孔中心的图像坐标,),(g g y x 表示光斑参考位置(图3中点O )的图像坐标。
瞳孔中心与光斑的位置相对偏移量为:g p g p y y dy x x dx −=−=, (4) 用),(Ys Xs 表示眼睛注视点的屏幕坐标。
通过多项式变换建立如下映射关系: ),(),(s s Y X dy dx f →:22)(5)(4))((3)(2)(10dy a dx a dy dx a dy a dx a a Xs +++++= (5) 22)(5)(4))((3)(2)(10dy b dx b dy dx b dy b dx b b Ys +++++= (6) 通过校准环节,可由最小均方差法定出参数5050~,~b b a a 。
被测水平移动,得到不同位置变换参数,经插值运算后可用于实测。
系统可工作在一般办公室环境,人眼距离计算机屏幕50-80cm 左右,屏幕17英寸,分辨率是1280x1024 pixels。
将屏幕区域划分为40×40像素的小方格,可依据测试者注视点的变化改变对应方格颜色。
针对不同测试者,先进行调校实验,设置各项参数后,基本能够实现对视线的跟踪与定位。
统计数据表明,准确率平均高达92%。
5. 结束语本文探讨的眼控鼠标以较高精度实现了鼠标的定位。
该技术可用于盯视输入系统,作为对键盘、鼠标等传统人机交互方式的补充,可应用于助残、机器人人机交互平台等。
未来工作主要针对提高跟踪速度,简化校准环节展开研究,以实现真正的非接触、高精度、可应用于多领域的实用视线跟踪技术。
参考文献[1] WANG JIAN. “Integration of eye-gaze, voice and manual response in multimodal user interface”. In Proc. of the IEEE International Conference on System, Man and Cybemetics. IEEE. 1995. Piscataway, N.J. P3938-3942.[2] Zhiwei Zhu, Qiang Ji. “Eye and gaze tracking for interactive graphic display”. Machine Vision and Applications. 2004. 15, P139-148.[3]B. Noureddin, P.D. Lawrence, C.F. Man. “A non-contact device for tracking gaze in a human computer interface”. Computer Vision and Image Understanding.2005.98, P52-82.[4]A.SUGIOKA, Y. EBISAWA, M. OHTANI. “Noncontact video-based eye-gaze detection method allowing large head displacements”. In: IEEE Internet. Conf. on Medicine and Biology Society. IEEE.1996. Amsterdam.P526-528. [5]YOSHINOBU EBISAWA. “Realtime 3D position detection of human pupil”.VECIMS 2004-IEEEInternational Conference on Virtual Environments, Human-Computer Interfaces, and Measurement Systems. IEEE. 2004. Boston.P8-12.[6]DONG HYUN YOO, MYUNG JIN CHUNG. “A novel non-intrusive eye gaze estimation using cross-ratio under large head motion”. Computer Vision and Image Understanding.2005.98, P25-51.[7]T. OHNO, N. MUKAWA, A. YOSHIKAWA. “FreeGaze: a gaze tracking system for everyday gaze interaction”. In Proc. of Eye Tracking Research and Applications Symposium. ETRA.2002.New Orleans.P125-132.[8]DONGHENG Li, DAVID WINFIELD, DERRICK J. PARKHURST. “Starburst: A hybrid algorithm for video-based eye tracking combining feature-based and model-based approaches”. /openEyes.Eye-Controlled Mouse Based on Eye-Gaze TrackingUsing One CameraLIU Rui-An1,2+, JIN Shi-Jiu1, WU Xiao-Rong21(State Key Laboratory of Precision Measuring Technology and Instruments, TianjinUniversity, Tianjin 300072,China)2(College of Phy sics and Electronic Information Science, Tianjin Normal University,Tianjin 300074,China)+ Corresponding author: Phn: +86-022-2371-0378, E-mail:wdxylra@Key words: gaze tracking; eye-controlled mouse; corneal reflection; edge detection; subpixel; ellipse fittingAbstract: An eye-gaze tracking method, which can make this system be adaptive to the user’s head movements freely, was put forward to alleviate the restriction on the user’s head movements. On the basis of the brightness, gradient of the edge points of the pupil and the smoothness of the pupil boundary, the edge points could be obtained by a 1D line search. To improve the resolution and accuracy of the system, a Sub-pixel edge detection algorithm was proposed in order to locate the center of the pupil accurately in IR image of the eye. The gaze direction was determined by the relationship between the position of the pupil center and the corneal reflections. The gaze point on the computer screen was derived and the mouse position could be determined through the eye. The accuracy of the position of the cursor on the screen is within 40 pixels.。