一种快速精确的瞳孔和角膜反射光斑中心定位算法的研究
2017-09-12刘洪英蔡金芷皮喜田
余 罗 刘洪英,2* 许 帅 蔡金芷 皮喜田#
1(重庆大学生物医学工程学院,重庆 400030)2(重庆市医疗电子工程技术研究中心,重庆 400030)
一种快速精确的瞳孔和角膜反射光斑中心定位算法的研究
余 罗1刘洪英1,2*许 帅1蔡金芷1皮喜田1#
1(重庆大学生物医学工程学院,重庆 400030)2(重庆市医疗电子工程技术研究中心,重庆 400030)
眼动追踪系统在临床医学中有着重要应用,为提高系统中眼图特征值的识别率,创新性地提出一种双层过滤的瞳孔中心和角膜反射光斑中心的定位算法。瞳孔中心定位算法首先对获取的眼睛图像二值化处理,然后以100~300为阈值设定轮廓点数,进行第一次瞳孔过滤,最后用最小二乘法椭圆拟合瞳孔轮廓,并将最接近圆的轮廓作为瞳孔轮廓,继而得到瞳孔中心。在此基础上,进一步对瞳孔中心一定范围内的眼图进行边缘检测,求其轮廓,并找出轮廓的外接矩形中心,然后以瞳孔中心为基点进行坐标转换,最终求出角膜反射光斑中心。算法在一定程度上缩小图像处理的区域,提高实时性和反射光斑的识别率。实验结果表明,所设计的算法能够实时地对不同情况下的瞳孔和角膜反射光斑中心进行准确定位,瞳孔-角膜反射向量坐标最大均方差低于0.74像素,平均误差低于0.53像素。算法运行速度达到12.8 ms/帧。算法满足精确性的同时具有很强的鲁棒性,为后续眼动设备的开发提供重要的参考价值。
定位算法;瞳孔中心;角膜反射光斑中心;椭圆拟合
引言
眼动检测技术在临床医疗中有着重要作用[1- 2]。有研究表明,某些异常眼动指标可以成为诊断精神分裂症、抑郁症以及自闭症等精神疾病的生物学指标[3],并在研究相关的生理病理机制和遗传学关系中获得重大突破[4]。在眼科中,眼动技术能够更好地检查眼球震颤、斜视和视野等视力问题[5-6]。同样,在LASIK手术中配备眼动跟踪系统可大大提高手术的精度[7]。目前基于图像处理的非干扰式视线跟踪技术是主要的发展趋势。而瞳孔中心—角膜反射法在视线跟踪算法中是目前较为受欢迎的方法之一,该方法通过计算瞳孔中心与角膜反射之间的矢量来估计视线方向。然而,由于人眼固有的生理机制及眼动的非线性、随机性和复杂性,增加了瞳孔中心与角膜反射光斑定位的难度。在实际应用中,该算法对视线估计提取相关参数的精度和实时性也提出了挑战。
尽管如此,学者们仍然结合不同的方法针对不同应用背景下视线参数的精确快速检测进行了大量的研究工作,并取得了不错的研究成果: Morimoto根据人脸区域的灰度变化,设置动态阈值消除了不同光照条件下背景的影响[8]。为了准确识别眼睛区域,Haro根据眼睛的外观建立了一系列的判别规则,综合起来进行眼睛区域的识别,提高了检测的稳定性[9]。为了提高视线参数识别的精度,Daugman基于微积分算子提出瞳孔与虹膜边缘检测的方法,其方案较好地运用在虹膜识别系统中[10]; 随后,有研究人员提出了结合圆形Hough 变换的算法实现对瞳孔与虹膜的边缘检测,但对椭圆形状的瞳孔识别率较低[11]。基于此,Zhu等人结合瞳孔边缘的曲率特性,提出应用最小二乘法椭圆拟合算法完成瞳孔边缘检测,很好地解决了椭圆形状瞳孔中心识别率[12]。此外,陈健等人提出了结合椭圆与参数传递的瞳孔检测方法,实现了动态和大遮挡情况下瞳孔中心的识别[13]。尽管瞳孔检测已经取得不错的研究成果,但针对不同的应用,瞳孔检测的精确性和实时性仍有待提高。
本研究将以自主设计的用于临床的眼动仪获取的眼图中瞳孔中心和角膜反射光斑中心快速精确检测为研究内容,提出一种基于最小二乘椭圆拟合的瞳孔和反射光斑中心的快速精确检测算法,主要思路如下:首先提取二值化后的眼图瞳孔轮廓,然后以100~300为阈值设定轮廓点数,对瞳孔进行粗过滤,最后采用最小二乘法椭圆拟合瞳孔轮廓,得到瞳孔中心。在此基础上,在瞳孔中心一定范围内进行边缘检测,获取反射光板轮廓,最后识别反射光斑中心。算法简单且充分考虑了运行速度及瞳孔和角膜反射光斑中心检测精度的问题。实验结果验证了方法的有效性和可行性。
1 眼图定位算法研究
眼图特征点定位是否精确直接影响到眼动仪系统运行的稳定性。所以作为眼动仪设计的核心部分,必须设计精确的算法[14],才能保证整个系统能够稳定运行。该部分的总体思路是先通过红外摄像头采集清晰的眼睛图像,经过图像的预处理,其中主要包括图像的灰度化、图像滤波、二值化以及图像边缘检测等,然后分别进行瞳孔中心定位和角膜反射光斑中心定位,其流程如图1所示。
图1 眼图处理子系统流程Fig.1 The flow chart of eye diagram processing subsystem
1.1 眼睛图像
图2 眼睛图像Fig.2 The eye image
通过摄像系统实时采集眼动视频的一帧眼图如图2所示。
由图2可知,颜色较深的部分就是瞳孔,形状近似为椭圆。白色的光斑就是角膜反射光斑,也称作普尔钦斑,它是由摄像机在红外二极管照射下接收角膜的反射光线在眼睛图像上形成的一个白色亮点。
1.2 图像预处理
图像预处理主要是对采集的眼睛图像进行初步处理,以方便瞳孔中心的求取并提高准确度。具体步骤为:把获取的一帧图像由彩色图像转换为灰度图像并归一化图像的灰度值为0~255;高斯平滑,减少噪声;二值化图像。
预处理的目的就是为了得到二值化图像,便于下一步的操作。
1.2.1 图像灰度化
由图2可知,采集的眼睛图像是彩色图像,对于常见的24深度彩色RGB图来说,其对应的灰度图则是只有8位的图像深度。相比彩色图像来说,在图像处理过程中,灰度图像更容易实现实时算法,且它是由没有经过任何处理的光线所形成的照片,因此其所涵盖的信息更有价值。虽然灰度图像丢失了一些颜色等级,但纵观整幅图像的色彩及亮度等级分布特征来分析,灰度图像与其对应的彩色图像的描述是一致的。
本研究采用的是加权平均法进行图像灰度化,效果如图3所示。图像处理过程中,将RGB通过不同的权值来加权平均。比如,opencv函数库所采用的灰度权值为
f(i,j)=0.212671R(i,j)+0.715 160G(i,j)+
0.072 169B(i,j)
(1)
图3 灰度化眼图Fig.3 The gray of eye diagram
1.2.2 图像去噪
图像在拍摄接收过程中,会不可避免地受到噪声的影响。图像噪声按其产生的原因主要分为外部噪声和内部噪声。在图像处理系统中,光学噪声占很大比重,主要是由光学现象产生的噪声。因此,为了获取高质量的图像,必须对图像进行去噪处理。本研究采用的是高斯滤波。
高斯滤波是对图像进行加权平均的一种线性平滑滤波,能有效地消除服从正态分布的噪声,同时能减少图像细节的模糊,该滤波方法在数字图像处理过程中应用广泛。其具体操作是:选择一个模板,扫描图像中的所有像素,利用模板选定的邻域内像素值的加权平均灰度值去取代模板中心像素点的值。实际应用中模板大小的取值与σ的取值相关,如opencv中模板取值为:dim=1+2×((int)×(3.0σ))。
1.2.3 图像二值化
图像二值化的目的就是为了提取瞳孔轮廓,为接下来的瞳孔中心定位做准备。其基本原理就是将目标图像上的像素点的灰度值置为0或255,使整个图像黑白分明。在图像处理过程中,一般选取适当的阈值从而得到反映原图像特征的二值化图像。为了获得满意的二值化图像,通常在不交叠的区域运用封闭、连通的边界。所有灰度不小于选定阈值的像素被认为是目标物体,其灰度值用255表示,否则灰度值为0,表示背景或其他的物体区域。如果某目标物体内部分布均匀的灰度值,并且其处于其他等级灰度值均匀分布的背景下,采用阈值分割法就可以获得满意的分割效果。本研究采用局部自适应阈值法,其基本原理是根据像素的相邻区域的像素值来判定该像素位置上的阈值。其优点在于使每个像素位置处的二值化阈值都是根据其周围的相邻区域的像素值来决定,便于选取合适的阈值进行图像二值化分割。
1.3 瞳孔中心定位算法
对瞳孔中心定位的研究经历了不同阶段,刚开始的算法是利用Hough变换定位圆[15]中心,因为眼睛的瞳孔近似于圆形,该算法虽然能够在理想情况下定位出瞳孔中心,但也存在着一系列的问题。
快速Hough圆检测的基本原理是根据圆的性质,圆上切线的垂线一定会通过圆心。因此,根据此性质,如果沿圆的边缘找出每个边界点的垂线,所有垂线的交点就是圆心。根据此原理得到的眼睛瞳孔定位图像如图4所示。当采集的眼睛图像质量较高且瞳孔位置居中的情况下,可以精确定位瞳孔中心坐标,如图4(a)所示;而当图片质量比较差的情况下,像眼睫毛或眼睛微闭的情况下,都不能定位出瞳孔中心坐标,如图4(b)所示。由此可知,此种算法有局限性,不适应于对眼睛图像的实时处理。
图4 Hough圆检测。(a)精确定位;(b)不精确定位Fig.4 Hough circle detection. (a) Precise positioning; (b) Not precise positioning
经过对以上算法的论证及分析,单纯的Hough变换[16]检测圆适应性不强,在眼睛图像处理过程中不能满足实时性要求,对图像质量有很大的要求,且瞳孔定位误差很大,对后续定位注视点造成很大的影响。为此,本研究设计了一种新的算法,经过实验验证能够精确地定位出瞳孔中心,同时对图像质量要求不高,满足实时性。
通过红外摄像头采集到清晰的眼睛图像,经过预处理后,得到眼睛的二值化图像,先提取轮廓。得到轮廓序列以后,下一步就是提取瞳孔的轮廓。在图像上找到的轮廓数目较多,因此需要设置合理的过滤方法,才能找到真正的瞳孔轮廓[17]。当眼睛与红外摄像头距离(有效距离范围内)不同时,捕获的眼睛图像瞳孔的大小也不相同。经过对多张不同有效距离生成的眼睛图像的验证分析,组成瞳孔轮廓的点数在100~300之间,因此可以使用组成瞳孔轮廓的点数对轮廓进行过滤。
当图像的质量较低时,获得的二值化图像具有较多噪声,如果只使用瞳孔轮廓的点数这一个标准进行过滤,得到的轮廓可能不止一个。这就需要另外的过滤指标。通过对求取中心坐标失败的图片进行分析,主要原因是某一区域噪声较多时,求取轮廓的函数会把它们作为一个大的轮廓,而不是分为几个较小的轮廓。但与瞳孔的轮廓相比,它们的轮廓极不规则。
因此这一步采用的方法是对上一步求取到的轮廓,用基于最小二乘法椭圆拟合得到瞳孔中心。椭圆的一般表达式为
Ax2+Bxy+Cy2+Dx+Ey+F=0
(2)
在求解椭圆系数的过程中,为了防止出现零根,必须对式(1)中的参数做一些约束,其约束条件为A+C=1。根据该条件得到椭圆的变形为
Bxy+C(y2-x2)+Dx+Ey+F=-x2
(3)
由方程的一般表达式可知,求出式子中参数的值必须不少于6个点才能得到椭圆。基于最小二乘法椭圆拟合的基本原理是在提取的瞳孔轮廓特征点中任意取出6个点,代入式(3)中,求出式(2)的参数值,然后拟合出瞳孔轮廓,求出其中心。按照以上方法统计所有的特征点进行拟合时所得到的中心,然后计算出中心点到轮廓边缘距离的方差,方差最小的轮廓,作为瞳孔的轮廓,相应椭圆的中心就作为瞳孔的中心[18]。瞳孔中心定位算法的具体步骤如下:
步骤1:求取图像预处理得到的二值化图像的轮廓。
步骤2:检查轮廓点的数目,如果在100~300之间,保存轮廓到相应的容器中。
步骤3:检查容器中轮廓的数目,如果为0,说明采集到的图像不符合要求,需要重新采集图像;如果等于1,则对轮廓进行最小二乘法椭圆拟合[13],并把椭圆中心作为瞳孔中心,算法结束;如果大于1,转下一步。
步骤4:对步骤1容器中的轮廓,分别进行椭圆拟合,然后计算得到的椭圆中心与轮廓边缘各点的距离的方差,把方差最小的轮廓作为瞳孔的轮廓,相应的椭圆中心作为瞳孔的中心,算法结束。
瞳孔定位算法流程如图5所示。
图5 瞳孔定位算法流程Fig.5 The flow chart of pupil localization algorithm
1.4 角膜反射光斑中心定位算法
由采集的眼睛图像可知,角膜[2]反射光斑分布在瞳孔区域的内部或周围,因此求取角膜反射光斑中心时,可以在瞳孔周围的这一区域进行操作。这样不但缩小了图像处理的区域,而且能减少噪声的影响,提高成功率。求取角膜反射光斑[19]中心的过程与求取瞳孔中心的过程类似,但又有所不同。角膜反射光斑较小,易受噪声影响,并且瞳孔和角膜反射光斑边缘的对比度很高。所以获取角膜反射光斑轮廓之前,不需要对眼睛图像进行二值化处理,而是进行边缘检测[20],然后对边缘检测输出的图像进行处理。具体算法如下:
1)对采集的眼睛图像进行高斯平滑处理。
2)以瞳孔为中心,设定宽为cX,高为cY的矩形区域为图像处理区域,保存为新的图像文件Roi_Image。cX初始值设为120,cY初始值设为90。
3)对Roi_Image进行边缘检测,高低阈值分别为150和50;生成的图像保存为Canny_Image。
4)对Canny_Image查找轮廓,并找到面积最大的轮廓;如果面积小于10,说明第二步设定的cX和cY过小,cX和cY各加10,返回(b)。
5)获取轮廓点集的最外接矩形,并计算得到矩形的中心。
6)对上一步得到的中心坐标进行转换,即可得到原图像上光斑的坐标。转换公式为
m_GbPoint.x=rec.x+rec.width/2+
m_TkPoint.x-cX/2;
(4)
m_GbPoint.y=rec.y+rec.height/2+
m_TkPoint.y-cY/2;
(5)
式中,m_GbPoint.x为光斑中心x坐标值,rec.x为(5)中矩形的坐上角x坐标值,rec.width为矩形的宽度,m_TkPoint.x为瞳孔中心x坐标值。
算法的流程如图6所示。
图6 角膜反射光斑定位算法流程Fig.6 The flow chart of corneal reflection spot location algorithm
1.5 算法验证
为了验证本研究提出的算法的可靠性,首先选取眼睛不同闭合程度的图像,以验证算法在眼睛不同状态下瞳孔中心识别精确性。在此基础上,进一步选取眼睛不同闭合程度及存在其他光干扰情况下的反射光斑中心识别精确性。最后对同一被试在不同视线方向的瞳孔-角膜反射向量坐标进行统计分析,并对10被试注视同一点时的瞳孔-角膜反射向量坐标进行统计分析,进一步验证算法的实用性。
2 实验结果
2.1 瞳孔中心识别结果
瞳孔和角膜反射光斑中心的识别算法在以visual C++2010为平台的Intel(R) Core(TM) i3-3220 3.3 GHz 4 G内存的PC机上编程实现。采用采样率为30 f/s的红外摄像机实时采集眼部视频图像,实验在光线较暗的环境中进行,实验过程保持头部静止。实验场景如图7所示,眼睛距屏幕60 cm左右。
图7 实验场景Fig.7 The experiment scene graph
图8、9眼图分别展示了眼睛完全张开和不同闭合程度时的瞳孔中心定位效果(瞳孔中心由红色十字架标识)。
图8 眼睛完全张开状态下的瞳孔中心定位效果。(a)白光干扰;(b)无光干扰Fig.8 The effect figure of pupil center location in eyes wide open state. (a) White light interference;(b) No interference
图9 眼睛不同程度闭合状态下的瞳孔中心定位效果。(a)完全张开;(b)闭合程度低;(c);闭合程度较高(d) 闭合程度高Fig.9 The effect figure of pupil center location in eyes different degrees of closed state. (a)Full open;(b)Low degree of closure;(c) Medium degree of closure;(d) High degree of closure
2.2 角膜反射光斑识别结果
完成瞳孔中心定位后,再对角膜反射光斑的中心进行定位。首先,选取两张清晰且无其他光斑干扰的眼图进行定位,效果如图10所示。然后,选择有其他光的干扰以及较模糊的眼图,定位效果如图11(a)(b)所示(角膜反射光斑中心由绿色十字架标识)。
图10 正常状态下角膜反射光斑中心定位效果。(a)左眼;(b)右眼Fig.10 The effect figure of corneal reflection spot in normal state. (a)Left eye chart;(b)right eye chart
图11 有干扰状态下角膜反射光斑中心定位效果。(a)白光干扰;(b)模糊干扰Fig.11 The effect figure of corneal reflection spot in interference state. (a) White light interference;(b) Fuzzy interference
2.3 瞳孔-角膜反射向量坐标统计结果
采集同一被试的眼动视频数据5 s,得到约500帧眼动视频图像,在如上所述的编程环境下算法运行时间约6.4 s,平均每帧图像耗时12.8 ms,能够满足系统实时性要求。由算法获取的瞳孔中心坐标(xp,yp)和角膜反射光斑中心坐标(xf,yf),瞳孔中心相对于角膜反射中心的偏移量称为瞳孔-角膜反射向量(xfp,xfp),即xfp=xp-xf;xfp=xp-xf。
瞳孔及角膜反射光斑中心识别的目的是实现对视线的跟踪,为了验证不同视线方向的瞳孔-角膜反射向量的精确性,设计如图12所示不同点的眼睛凝视实验,实验过程保持头部固定,以减少系统误差。对同一被试,每个凝视点采集100帧图像数据进行统计。
图12 凝视实验Fig.12 Gaze experiment
图13为注视中心点C时得到的瞳孔-角膜反射向量坐标,横坐标在12.3~14.1之间变化,最大值与最大值之间的变化不大于1.8个像素,纵坐标在53.9~56.2之间变化,最大值与最小值之间的变化不大于2.3个像素。
图13 100帧眼图瞳孔-角膜反射向量坐标算法识别Fig.13 100 frame pupil corneal reflex vector coordinates algorithm recognition
注视各个点时的横坐标和纵坐标的平均误差和均方差,如表1所示。结果表明,横坐标的平均误差不超过0.44像素,均方差不超过0.7像素;纵坐标平均误差不超过0.52像素,均方差不超过0.61像素。
表1 瞳孔-角膜反射向量横坐标和纵坐标精度统计
Tab.1 Accuracy of horizontal and vertical coordinates of pupil corneal reflex vector
注视点横坐标/像素纵坐标/像素均方差平均误差均方差平均误差10.3760.2270.3990.44220.4570.3120.6080.30130.3910.3050.5200.51940.2880.4340.5750.39550.6600.3510.3470.289
表2为不同被试在同一测试条件下,注视同一点的瞳孔-角膜反射向量精度统计。结果表明,横坐标的平均误差不超过0.53像素,均方差不超过0.74像素;纵坐标平均误差不超过0.53像素,均方差不超过0.62像素。
表2 多个被试瞳孔-角膜反射向量横坐标和纵坐标精度统计
Tab.2 Accuracy of horizontal and vertical coordinates of pupil corneal reflex vector of different objects
被试序号横坐标/像素纵坐标/像素均方差平均误差均方差平均误差10.3910.3050.520.51920.6140.2290.3580.55230.5580.4510.5010.39140.5920.2570.6110.16450.4800.3390.3970.33060.3610.4090.2410.22570.5020.5210.6070.53080.7310.3790.4490.49190.3390.3540.6130.377100.6090.4420.5940.460
3 讨论
在视线跟踪算法中,基于椭圆拟合的眼图特征点识别是目前众多研究者较为热衷的识别算法,该算法较好地克服了非正圆情况的瞳孔中心识别精度低的问题,但往往设计的算法比较复杂,且实时性不强。本研究创新性地提出了双层过滤的基于椭圆拟合的瞳孔-角膜反射光斑识别算法,该算法首先以一定范围内的轮廓点数为阈值实现第一层过滤,然后在此基础上,利用最小二乘法对粗过滤后的轮廓进行二次过滤,最终实现了对瞳孔中心的准确定位。
在实验结果图8中,(a)右上部分存在大面积的白色光线,但由于瞳孔的像素值和白斑的像素值差别很大,通过算法的甄别,白色光线没有对瞳孔中心定位造成影响,表明算法具有较好的抗干扰能力。图9(a)~(d)中,眼睛的闭合程度由低到高。虽然眼睛处于半闭状态,但该算法仍能准确地定位瞳孔中心,能够应用于实际的情况。 不同于具有较大轮廓的瞳孔,角膜反射光斑特征不明显,识别过程中极易受到其他干扰光的影响。实验结果,图11(a)中有大量白色的光斑,与角膜反射光斑的亮度接近,(b)中已经处于严重模糊的状态,但都没有对角膜反射光斑中心的准确定位造成影响。这是因为设计的算法只选择在瞳孔周围的某一区域进行操作。这样不但缩小了图像处理的区域,而且能减少噪声的影响,提高识别率及定位精度。由于缩小了图像处理区域,所以图像处理时间也相应减少。
实验最后对瞳孔-角膜反射向量坐标的精度进行了统计分析,作为眼动仪标定系统的核心部分,瞳孔-角膜反射向量坐标的精度极为重要,这一参数直接影响系统对视线方向计算的准确性。表1统计结果表明,不同视线方向的瞳孔-角膜反射向量坐标的均方差和平均误差均能达到极小的范围,对运动情况下的眼睛具有较强的适应性。表2结果表明,算法对不同眼睛的特征点都能准确识别,多名被试的瞳孔-角膜反射向量坐标都有很高的精度,该算法具有较强的实用性。
尽管本研究提出的算法实现简单,运行速度符合实时性要求,但仍存在不足之处,比如算法未考虑到头动情况对实验结果的影响。由于角膜特殊的曲率特性,当头部出现偏移时,可能会导致反射光斑的不唯一,多个反射光斑可能会降低算法的识别率,因此可考虑采用多光源系统,提高对眼部生理特征的检测和计算[8]。另外,目前的瞳孔和角膜反射光斑定位算法只能够对裸眼进行精确定位,对戴眼镜的近视患者由于玻璃镜片的反光作用而不能进行识别定位,今后可以在改进算法的同时,增加一些反光装置消除眼镜对瞳孔和角膜反射光斑定位的影响。
4 结论
本研究设计的算法成功地实现了对不同眼睛图像瞳孔和角膜反射光斑中心的精确定位,并能够满足眼动的实时性要求。首先,算法对图像质量要求不高,对存在光线干扰及不同程度遮挡的情况具有较好的抗干扰能力;其次,对较为模糊的眼图仍能精确地实现图像特征点的识别。实验结果表明,在不同视线方向下的瞳孔-角膜反射向量,该算法能够得到很高的精度。统计分析多个被试的瞳孔-角膜反射向量,均能得到较好的精度,具有较强的实用性。该算法为后续眼动跟踪[21]的研究及其设备的设计提供了重要的参考价值。
[1] 胡雅娉, 梁战华. 帕金森病患者伴快速动眼睡眠行为障碍的研究进展[J]. 中华行为医学与脑科学杂志, 2016(2): 183-187.
[2] Bayhan HA, Bayhan SA, Can IZ. Comparison of central corneal thickness measurements with three new optical devices and a standard ultrasonic pachymeter[J]. International Journal of Ophthalmology, 2013, 7(2): 302-308.
[3] Franco JG, De PJ, Gaviria AM, et al. Smooth pursuit eye movements and schizophrenia: Literature review[J]. Archivos De La Sociedad Espanola De Oftalmologia, 2014, 89(9): 361-367.
[4] Guénolé F, Chevrier E, Stip E, et al. A microstructural study of sleep instability in drug-naive patients with schizophrenia and healthy controls: sleep spindles, rapid eye movements, and muscle atonia[J]. Schizophrenia Research, 2014, 155(1-3): 31-38.
[5] Harrison J, Sumner P, Freeman T. Co-ordination of voluntary and automatic eye-movements:, Accuracy of saccades made during concomitant optokinetic, nystagmus[J]. Economic History Review, 2012, 66(3):693-714.
[6] Lions C, Bui-Quoc E, Wiener-Vacher S, et al. Smooth pursuit eye movements in children with strabismus and in children with vergence deficits[J]. PLoS ONE, 2013, 8(12): e83972.
[7] Shajari M, Bühren J, Kohnen T. Dynamic torsional misalignment of eyes during laser in-situ keratomileusis[J]. Albrecht Von Graes Archiv Für Ophthalmologie, 2016, 254(5): 1-6.
[8] Morimoto C H, Flickner M. Real-time multiple face detection using active illumination[C]// Proceedings of IEEE International Conference on Automatic Face and Gesture Recognition. Grenoble: IEEE, 2000:8-13.
[9] Haro A, Flickner M, Essa I. Detecting and tracking eyes by using their physiological properties, dynamics, and appearance[J], 2000, 1: 163-168.
[10] Daugman JG. High confidence visual recognition of persons by a test of statistical independence[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1993, 15(11): 1148-1161.
[11] Wildes R P. Iris recognition: An emerging biometrie technology[J]. Proceedings of the IEEE, 1997, 85(9): 1348-1363.
[12] Zhu D, Moore S T, Raphan T. Robust pupil center detection using a curvature algorithm[J]. Computer Methods & Programs in Biomedicine, 1999, 59(3): 145-157.
[13] 陈健, 郑绍华, 潘林, 等. 结合椭圆拟合与参数传递的瞳孔检测方法[J]. 仪器仪表学报, 2014(8): 1890-1899.
[14] 程成, 杜菁菁, 蓝飞翔. 眼动交互的实时线性算法构造和实现[J]. 电子学报, 2009, 37(b04): 12-15.
[15] 周封, 杨超, 王晨光, 等. 基于随机Hough变换的复杂条件下圆检测与数目辨识[J]. 仪器仪表学报, 2013, 34(3): 622-628.
[16] 宋晓宇, 袁帅, 郭寒冰, 等. 基于自适应阈值区间的广义Hough变换图形识别算法[J]. 仪器仪表学报, 2014, 35(5): 1109-1117.
[17] 田野, 王怀军, 方志良. 基于形态学重构算法的瞳孔精确检测[J]. 光电子·激光, 2008, 19(3): 409-411.
[18] 陈学军, 杨永明, 何为, 等. 一种应用于视频眼震分析的瞳孔中心定位方法[J]. 中国生物医学工程学报, 2012, 31(2): 184-189.
[19] 张太宁, 孟春宁, 常胜江. 基于两次多项式拟合的人眼注视方向估计[J]. 光电子·激光, 2012, 23(7): 1389-1394.
[20] 王静, 王海亮, 向茂生, 等. 基于非极大值抑制的圆目标亚像素中心定位[J]. 仪器仪表学报, 2012, 33(7): 1460-1468.
[21] Dong Weihua, Liao hua, Xu Fang, et al. Using eye tracking to evaluate the usability of animated maps[J]. Science China Earth Science, 2014, 57(3): 512-522.
A Fast and Precise Location Algorithm Research for the Pupil Center and the Corneal Reflection Spot Center
Yu Luo1Liu Hongying1,2*Xu Shuai1Cai Jinzhi1Pi Xitian1#
1(SchoolofBiomedicalEngineering,ChongqingUniversity,Chongqing400030,China)2(ChongqingMedicalElectronicEngineeringTechnologyResearchCenter,Chongqing400030,China)
The eye tracking system plays an important role in clinical medicine, in order to raise the recognition rate of the eye characteristic value in the system. A double filtration algorithm is innovatively proposed to locate the center of pupil and the center of corneal reflection in this paper. First, the acquired eyes image was processed by the pupil center location algorithm to reach binarization, and then the contour points with 100~300 was set as the threshold. Next, pupil contour was ellipse fitted using the least square ellipse fitting method, and the contour that was most close to the circle was used as the pupil contour to obtain pupil center. On this basis, the edge of the eye image in the certain range of the pupil center was detected, and then the external rectangular center of the contour was calculated. Taking the center of the pupil as the starting point for coordinate transformation, the corneal reflection spot center after converting coordinates was eventually calculated. This algorithm not only reduced the area of image processing to a certain extent, but also improved the processing speed and the recognition rate of reflection spot. The experimental results showed that the designed algorithm accurately located the pupil center and corneal reflex center in different conditions in real time. The maximum mean square deviation of pupil-corneal reflection vector was less than 0.74 pixels, and the average error was less than 0.53 pixels. The algorithm run at a speed of 12.8 ms/frame. The algorithm met the precision as well as showed very strong robustness, being of significance for the development of eye tracker.
location algorithm; pupil center; corneal reflection spot center; ellipse fitting
10.3969/j.issn.0258-8021. 2017. 04.007
2016-05-07, 录用日期:2017-02-25
国家科技支撑计划项目(2013BAI03B04&2015BAI01B14)
R318
A
0258-8021(2017) 04-0434-08
#中国生物医学工程学会会员(Member, Chinese Society of Biomedical Engineering)
*通信作者(Corresponding author),E-mail: liuhongying@cqu.edu.cn