资源描述
199 视线跟踪系统中的眼角点精确定位方法视线跟踪系统中的眼角点精确定位方法 高高 飞,张宪民飞,张宪民(上海交通大学模式识别与图像处理研究所,上海 200240)摘摘 要:要:在视线跟踪系统中,提出了一种以眼角点为参考点来计算人眼注视方向和位置的新方法。该方法中以动点和参考点的差值来计算人眼的注视方向和位置。动点采用虹膜中心,因为它可以准确反映眼球的变化。参考点采用眼角点,因为眼角点在人脸上是个非常稳定的点,人脸表情的变化基本上不会引起它的位置变化。该方法克服了过去以 mark 点或普尔钦斑点为参考点的缺点,不需要使用者在脸上做mark 点,而且允许人脸在小范围内偏转。实验证明,该方法中自动定位眼角点快速准确,可以很好地解决视线跟踪系统中眼睛相对运动距离的问题。关键词:关键词:红外电视法;人机交互;视线跟踪;眼角点定位 Precise Eye-corner Locating in Eye-gaze Tracking System GAO Fei,ZHANG Xian-min(Pattern Recognition&Image Processing Institute,Shanghai Jiaotong University,Shanghai 200240)【Abstract】This paper proposes a novel method for computing the eye-gaze direction and position in the eye-gaze tracking system.The eye corneris applied as the reference point instead of mark and Purkinje points in traditional ones.The difference of the moving point and the reference one isemployed to compute the eye-gaze direction and position in the presented method.The center of iris is explored as the moving point due to that it canaccurately reflect the moving state of eye.The eye corner is exploited as the reference point due to that it is the most stable point and relativelyinsensitive to facial expressions.The proposed method overcomes the shortcomings of conventional ones that adopt the mark and Purkinje as thereference points,and it does not need users to mark the marks on faces and allow the moderate variations of hear pose.Experimental results indicatethat the method of the eye corner locating is fast and precise.In this way,the relative distance problem of eye motion arising in the eye-gaze trackingsystem can be well handled.【Key words】infrared TV method;human-computer interaction;eye-gaze tracking;eye corner locating 计计 算算 机机 工工 程程Computer Engineering第第33卷卷 第第18期期Vol.33 No.18 2007 年年 9 月月September 2007人工智能及识别技术人工智能及识别技术文章编号:文章编号:10003428(2007)18019903文献标识码:文献标识码:A 中图分类号:中图分类号:TP391.4“眼动鼠标”1是“视线跟踪”的一种,它不用实际的鼠标来控制计算机,而是通过眼睛的注视来控制电脑屏幕上鼠标点的运动,并且通过眼睛注视来打开或者关闭一个窗口程序。实验显示,用视线跟踪来完成操作比鼠标操作快2。视线跟踪必须由眼动测量来实现,主要有以下几种眼动测量方法:主观感知法,记纹鼓肌肉记录方法,眼电图法或EOG法,电磁线圈法,红外光电反射法,红外电视法3。其中,红外电视法是目前最受青睐的方法。在红外电视法中,为了分析人眼注视的方向和位置,必须知道眼睛中一个移动的动点和一个相对静止的参考点。以二者的差值来计算人眼的注视方向和位置。本文采用虹膜中心作为移动点,因为它相对于巩膜有非常大的对比度,采用眼角点作为参考点,因为在人脸上,眼角点是个非常稳定的点,人脸表情的变化基本上不会引起它的位置变化。本系统主要由3台计算机、2个红外辅助光源、2个CCD摄像头和2个图像采集卡构成。本系统采用红外电视法,对摄像机拍摄的眼睛运动图像进行数字图像处理和分析,对得到的眼睛虹膜中心和眼角点位置进行处理,计算出眼角点和虹膜中心的相对距离,然后把相对距离映射到目标平面上,就可以获得目标的位置。1 眼角点精确定位眼角点精确定位 为了分析人眼注视的方向和位置,必须知道眼睛中一个移动的动点和一个相对静止的参考点。传统红外电视法中,计算人眼注视方向和位置的变化,移动点一般取虹膜,参考点一般取普尔钦(Purkinje)斑点4或mark点5,通过虹膜与普尔钦斑点或mark点的相对位置来确定人眼注视方向和位置。当用一红外辅助光源照射到人的脸部时,会在眼睛角膜表面形成反射像,此反射像被称为普尔钦斑点,用普尔钦斑点作为参考点会增加硬件成本,而且规定人脸必须正视屏幕。以mark点为参考点,mark点方法虽然精度较高,但是实际用起来有非常的大局限性,因为具体应用的时候不可能让使用者每次都画一个点在脸上。以上2种方法都有很大局限性。本文的设计方法是以眼角点作为参考点,通过虹膜中心与眼角点的相对位置来分析人眼注视的方向和位置,眼角点是个非常稳定的点,人脸表情的变化基本上不会引起它的位置变化,即使人头部发生偏转,人眼角也是随着偏转的,眼角与眼虹膜的相对位置关系是不变的。本系统采用以虹膜中心为移动点、以眼角点为参考点的方法。先对采集卡采集到的图像进行分析处理,图像分析第1步所要得到的资料是虹膜中心的位置,然后是眼角点的精确位置。其中,采样图像是720*480高分辨率黑白图像。对数字图像处理来说,取得一张好的图像很重要,经过不断实验,本系统采用红外灯照技术。通过红外光处理过的图像,能在很大程度上降低图像处理的难度,提高其精度。作者简介:作者简介:高 飞(1980),男,硕士研究生,主研方向:数字图像处理,视线跟踪,模式识别等;张宪民,副教授 收稿日期:收稿日期:2006-10-21 E-mail: 200 h(i)i BCA1.1 虹膜中心的定位虹膜中心的定位 加入红外光照射后,本系统所采集的图像是很好的,特别是虹膜部分,与眼睛其他部分能很好地区分开,因此,经过简单的图像处理就能得到很好效果。对虹膜中心的定位方法,总地来说,先进行图像拉伸等预处理,再根据经验取一个固定的阈值对图像进行二值化处理,然后找出虹膜的4个边界,记为.iris up,.iris down,.iris left,.irisright。最后4个边界的中心就是虹膜的中心,记为.iris center。实验中部分查找虹膜中心位置的效果如图1所示。图图1 虹膜定位结果虹膜定位结果 1.2 眼角点精确定位的方法原理眼角点精确定位的方法原理 因为眼角部分在整个图像中只占很小的一部分,如果对整幅图像进行数字图像处理分析,既浪费计算机处理时间,又影响处理精度,所以第1步是要把所要研究的眼角区域缩小。根据虹膜中心点坐标来估计眼角点大概所在的区域,估计区域约占整幅图像的1/6。然后对估计区域进行图像灰度值拉伸和动态阈值二值化处理。处理以后,对图像进一步分析并且得到眼角点位置。但是查找到的位置是第一次得到的眼角点位置,可能不够精确。因此,必须再进一步处理,具体方法是根据第一次所得到眼角点位置,确定一个更小的估计区域,小估计区域大概占整幅图像的1/50。再对小估计区域进行图像灰度值拉伸和动态阈值二值化处理,分析得到的眼角点位置就是最终眼角点位置。根据以上原理和定义,本方法的实现过程可描述如下(以下算法均以左眼的眼角为例):(1)根据虹膜中心位置,第一次大范围估计眼角点的大概区域。对估计区域进行图像灰度值拉伸。(2)求出估计区域内二值化动态阈值。(3)得到估计区域的动态阈值以后,对估计区域进行二值化处理。由于二值化以后,图像上还有杂点出现,因此,要进行去杂点处理。(4)对无杂点的二值化图像进行分析定位,第一次确定眼角点的位置。(5)根据第一次定位得到的眼角点位置,确定一个更小范围的眼角区域,并在本区域内进行类似于(1)(4)步的操作,求出眼角点的最终位置。1.3 眼角点精确定位具体算法实现眼角点精确定位具体算法实现(1)根据虹膜中心位置,第一次大范围估计眼角点的大概区域。确定大估计区域的位置以后,对大估计区域进行图像灰度值拉伸,如图2。灰度拉伸即分段灰度线性变换。其中,拉伸变换函数如式(1)和式(2)。minminmaxmax0()255xcolorf xHcolorxcolorxcolor=(1)minmaxmin=(x-)*255/(-)Hcolorcolorcolor (2)其中,x是每个像素点灰度拉伸前的灰度值,()f x是像素点经过灰度拉伸以后的灰度值;maxcolor,mincolor分别是进行灰度值拉伸的2个阈值。图图2 灰度拉伸与像素灰度值累加曲线灰度拉伸与像素灰度值累加曲线(2)对大估计区域进行灰度值拉伸,是为了更精确地获得眼角点信息。另外为了提高眼角点查找的精确度,这里采用动态阈值二值化方法,动态阈值方法对图像二值化有很好的鲁棒性能。具体动态阈值的求解方法如下:取大估计区域中水平方向为X轴,竖直方向为Y轴。然后沿X轴方向,对每一列像素点灰度值进行累加,并把累加值进行均衡化处理。minmin()totalg i=(3)maxmax()totalg i=(4).-.Cmcanthus down canthus up=(5)maxmin-Tmtotaltotal=(6).()(,)canthus dow njcanthus upg igetpixel ij=(7)min()()-)*/.h ig itotalCmTmcanthus up=+(8).,.icanth us left canthus righ t 其中,.canthus left,.canthus right,.can th us u p,.canthus down分别是大估计区域的上下左右4个边界。然后以i为X坐标,()h i为Y坐标。图2是对大估计区域进行灰度拉伸处理的效果图,图中曲线是对竖直方向的像素值累加以后的结果。图2中的曲线在眼角点附近发生突变,突变点是谷点,记为A点,虽然它不是眼角点的横坐标,但突变点的横坐标对求解动态阈值至关重要。根据大量图像研究发现,灰度值累加形成的曲线只可能出现2种大概趋势,如图3所示。(a)情况1 (b)情况2 图图3 2种情况下的曲线趋势种情况下的曲线趋势 图3中,A点是所要求的点。A点坐标为(,()i h i,B点坐标为(15,(15)ih i,C点坐标为(15,(15)ih i+。针对这2种趋势的曲线,在这里应用2个方程式,就可以求出突变谷点A的横坐标。如果满足式(9)或式(10)的条件,就是所要求的突变谷点横坐标i。约束方程式如下:()(15)()(15).15().20h ih ih ih iicanthus righth icanthus down+(9)()(15)(15)()(15)()/4.15().20h ih ih ih ih ih iicanthus righth icanthus down+(10)如果找了第一个谷值,则以后其他满足要求的点都作废。经过处理以后,可以很好地找到突变谷点A,突变谷点A的横坐标记为AI,如图2,眼角下的黑点即是所求的谷点。突变谷点横坐标AI确定以后,不难发现,以突变谷点为界,左h(i)AB Ci 201右区域像素值相差是很大的,而且所求眼角点的位置在左半区域,因此,通过在右半区域找出一个像素灰度值最小值作为二值化阈值,记为.color threshold。求解方程如式(11)所示。.min()min(,)color thresholdxgetpixel i j=(11)其中,,.AiIcanthus right;.canthusupjcanthus down=。(3)经过前2步处理,得到二值化动态阈值以后,对大估计区域进行二值化处理,如图4。二值化处理具体方程式如式(12)。0.()255.xcolor thresholdHxxcolor threshold (12)其中,x是每点像素灰度值;()Hx是二值化以后的灰度值。图图4 二值化与眼角点定位二值化与眼角点定位(4)经过二值化处理以后,如果图像中有单独杂点出现,就会影响结果的精度,因此,又引入一个去杂点算法。在一个55的正方形内,当它4个角中至少有3个角的像素灰度值是255,而正方形中心位置的像素灰度值为0时,就认为中心点是杂点,把中心点的像素灰度值改为255。去杂点处理过后,对大估计区域再进行分析,精确定位出眼角点位置,如图4。对大部分图像,本算法可以很好地找到眼角点位置,但是对一小部分图像还要进行下一步处理,这就是要进行第2次精确定位的原因。(5)在第一次眼角定位点的基础上再确定一个更小的估计区域,小估计区域面积大概占上一次大估计区域的1/9。再重复以上步骤,不难发现,缩小查找范围以后,眼角点定位的识别率提高很多,识别率达到98%以上。由于第2次查找范围很小,几乎不花计算机多少时间,因此不影响整个系统的速度。最终算法是,每张图像都经过2次查找眼角点,以第2次查找到的眼角点作为最终眼角点,如图5,其中,眼角处的十字就是第2次找到的眼角点精确位置。左眼和右眼的虹膜及眼角点定位算法相同,本文不再详述。图图5 眼角点定位结果图眼角点定位结果图 2 实验过程及结果实验过程及结果 实验采用了实验室12个人的眼睛,每个人有140张眼睛图片,其中一半是左眼,另一半是右眼。对每个人来说,每张左眼的图片都有一张右眼图片相对应,而且每70张图片中眼睛位置是随着被跟踪目标的位置不同而不同的。每张图像大小为720*480,人眼在图像中所占的面积大于30%。如图6是经过2次查找的过程流程图。其中,图6(i)中圆点表示是第1次定位的位置,十字表示第2次定位的位置。(a)原图 (b)虹膜边界的确定 (c)局部灰度值拉伸 (d)二值化阈值确定 (e)局部二值化 (f)眼角点的第一次定位 (g)第2次定位 (h)眼角点位置 (i)2次定位的 中二值化阈值确 的第2次定位 眼角点位置 图图6 查找流程示例查找流程示例 图7中是15张局部查找眼角点的效果图。(浅色十字代表第1次查找结果,深色十字代表第2次查找结果,若图中只有一个十字标志,说明第1次和第2次找的眼角点是同一点,两点重合)。图图7 眼角点二次定位对比眼角点二次定位对比 采用本文算法在整张图像中检测2个虹膜位置最多需要110 ms,而定位2个眼眼角点仅需30 ms。从整体来看本算法对于人眼角点的定位是快速准确的,在视线跟踪系统中是一种可行的眼角点精确定位方法。实验结果中视线注视点坐标(.,.)screenxc screen yc可以通过式(13)、式(14)求得:.(,).(,)iristocanthusiristocanthusscreen xcfn dxlvscreen ycfn dylv=(13)(.)(.)iristocanthusiristocanthusdxabs iriscenter xcanthus xdyabs iriscenter ycanthus y=(14)其中,lv是人眼平面与目标平面的水平距离,iristocanthusdx和iristo ca n th u sd y是虹膜中心与眼角点在人眼平面中水平和垂直方向上的相对距离。通过函数fn,可以求出目标平面上视线跟踪点的坐标。本实验结果与用mark点方法的实验结果进行比较,二者的误差在2%以内,mark点方法虽然精确但实用性不强,因此本方法有很大的优势。3 结论结论 针对“视线跟踪系统”中以mark点或普尔钦斑点为参考点的方法,提出了一种眼角点精确定位方法,以眼角点为参考点,来确定眼睛相对移动距离。本方法是在红外灯照条件下,先确定虹膜具体位置,以虹膜位置来确定一个大的查找(下转第204页)。+204之,而Ziegler-Nichols算法的控制效果最差。0246800.20.40.60.811.21.4Time/sOutputGA-BZiegler-NicholPSO-I 图图2 G1(s)的单位阶跃曲线的单位阶跃曲线 3.2 算例算例2(被控对象为高阶系统被控对象为高阶系统)算例1对典型二阶系统进行了研究,本例采用一个高阶系统进一步考察算法的有效性。选取被控对象的传递函数为()243263431Gsssss=+(10)表2中给出3种算法的参数整定值,图3为采用Ziegler-Nichols算法的系统单位阶跃响应。表表2 G2(s)的的PID控制器整定参数控制器整定参数 整定方法 kp ki kd Ziegler-Nichol 0.435 2 0.338 5 0.738 6 GA-B 0.053 7 0.025 1 0.012 0 PSO-I 0.061 9 0.035 2 0.022 1 图图3 G2(s)的单位阶跃曲线的单位阶跃曲线(Ziegler-Nichols)图4为采用GA-B算法和PSO-I算法的系统单位阶跃响应。从仿真结果看,对于高阶系统采用传统的Ziegler-Nichols整定法设计PID控制器,控制效果较差,很难达到预期效果;采用GA-B算法和PSO-I算法设计的控制器控制效果较好,而后者的响应速度更快,具有更优秀的控制品质。图图4 G2(s)的单位阶跃曲线的单位阶跃曲线(GA-B和和PSO-I)4 总结总结 本文讨论了控制领域的一个最基本的问题PID控制器的参数自整定。文中结合粒子群算法,提出了一种基于改进粒子群算法的PID控制器的参数自整定方法。通过对适应值函数的寻优,优化设计PID控制器的参数。粒子群算法采用实数编码,易于实现;同时采用了一种基于指数曲线的非线性惯性因子取值策略,其目的是通过控制加速惯性因子的递减速度来提高PSO算法的求解率。仿真算例表明,采用该方法设计的PID控制器的控制效果远优于传统方法(Ziegler-Nichols整定法),也优于采用遗传算法设计的PID控制器。参考文献参考文献 1 Eberhart R,Kennedy J.A New Optimizer Using Particle Swarm TheoryC/Proc.of the 6th Intl Symposium on Micro Machine and Human Science,Nagoya.1995:39-43.2 Wang P,Kwok D P.Auto-tuning of Classical PID Controllers Using an Advanced Genetic AlgorithmC/Proc.of IEEE Intl Conf.on Power Electronics and Motion Control,San Diego.1992:1224-1229.3 彭沛夫,林亚平,张桂芳,等.具有杂交、变异因子的自适应蚁群算法最优PID参数J.计算机工程与应用,2006,42(6):88-91.4 Shi Y,Eberhart R.Empirical Study of Particle Swarm Optimization C/Proc.of International Conference on Evolutionary Computation,Washington,USA.1999:1945-1950.5 陈贵敏,贾建援,韩 琪.粒子群优化算法的惯性权值递减策 略J.西安交通大学学报,2006,40(1):53-56.(上接第201页)区域,对大的查找区域进行动态阈值二值化处理,从而粗略地确定眼角点位置,然后再以眼角点为中心确定一个更小的查找区域,并用同样的方法对小的查找区域进行处理,最终确定眼角点的精确位置。实验证明本方法自动定位眼角点快速准确,可以很好地解决“视线跟踪系统”中眼睛相对运动距离的问题。实验中识别率能达到98%以上,而且实验结果与mark点方法的实验结果只相差2%以内的精度。由于本方法中的眼睛图像是在红外灯照条件下拍摄的,因此基本上不受外界环境光的影响,适应外部环境的能力比较强。普尔钦斑点法只能应用在人脸不动的情况下,眼角点精确定位方法克服了以上问题,也解决了人在小角度旋转下的眼睛相对移动距离问题。但在大角度旋转下的眼睛移动问题效果不佳,需要进一步研究。参考文献参考文献 1 Yi K E,Kuk K S.Eye Mouse:Mouse Implementation Using Eye TrackingC/Proc.of IEEE International Conference on Consumer Electronics.2005:207-208.2 Ohno T.Features of Eye Gaze Interface for Selection TasksC/Proc.of the 3rd Asia Pacific Computer Human Interaction Conf.1998.3 刘 伟,袁修干.人的视觉眼动系统的研究J.人类工效学,2000,6(4):41-44.4 Hutchinson T E,White K P.Human-computer Interaction Using Eye-gaze InputJ.IEEE Transactions on Systems,Man,and Cybernetics,1989,19(6):1527-1533.5 Kim K N,Ramakrishna R S.Vision-based Eye-gaze Tracking for Human Computer InterfaceC/Proc.of IEEE International Conference on Systems,Man,and Cybernetics.1999.Time/s01002003004000.40.60.811.21.41.6Output Ziegler-Nichols0102030405000.20.40.60.81Time/sOutputPSO-IGA-B
展开阅读全文