一种改进的瞳孔中心定位算法
2017-10-26黄俊
黄俊
摘要:提出了一种新的瞳孔中心定位方法,能够在虚拟现实可穿戴设备中,较好地追踪眼球的运动。通过采用圆环射线的方法,提取瞳孔边界点。首先,求取眼睛二值化图像,再通过连通区域标记法及筛选准则,求出瞳孔连通区域,并求出其质心和半径,作为粗略的瞳孔中心及半径。其次,以粗略瞳孔中心为圆心,确定一个圆环区域。接着,从内圆周向外圆周发出射线,通过设置梯度阈值,筛除伪瞳孔边界点。最后,通过椭圆拟合法,在瞳孔边界点集上拟合出精确的椭圆。实验结果表明,提出的瞳孔中心定位方法比传统的方法更为鲁棒且精确。尤其在有光斑及自然光遮挡下,提出的方法比传统的方法抗干扰性更强,更稳定。
关键词:可穿戴设备;瞳孔检测;圆环射线定位
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2017)22-0193-03
人类通过眼睛,就能获得外界80%-90%信息。而人类的视觉感知信息可以通过眼睛注视点跟踪获得。随着计算机视觉技术的发展,注视点跟踪技术被越来越广泛地应用在医疗、产品测试,人机交互、航空军事等领域。
近些年来,作为注视点追踪技术的一种,瞳孔中心角膜反射(PCCR)法发展得越来越快。其中,瞳孔中心定位技术在瞳孔中心角膜反射法中扮演着至关重要的角色。在瞳孔中心定位中,有许多干扰因素如睫毛、眼睑,阴影,光照及光斑的遮挡。这些干扰因素极易造成瞳孔轮廓边界点提取出错,进而影响瞳孔中心的定位。所以,为了确保注视点跟踪的效果,瞳孔中心定位方法的鲁棒性和精度相对重要。
以前的学者们在瞳孔中心定位上做了非常伟大的研究工作。Ebisawa提出了一种利用两个红外灯组获得眼睛亮、暗瞳图像,再通过亮、暗瞳图像进行差分的瞳孔定位技术。其中亮瞳图像通过打开靠近摄像头光心的一圈红外灯组获得,暗瞳图像则是通过打开远离摄像头光心的另一圈红外灯组获得。由于需要奇、偶两帧图像差分,才能定位瞳孔中心,使得注视点追踪系统的处理帧率降低了一半。另外,尽管图像差分方法比较简单,但开、关红外灯组会影响稳定性。为了克服这种技术的限制,单眼图像处理技术被提出。在文献中,为了获得精确的瞳孔中心位置,由粗到精椭圆拟合技术被提出,来消除瞳孔伪边界点。但是瞳孔伪边界点的剔除十分困难,且由粗到精的椭圆拟合算法比较耗时。Yoo et a1.通过迭代式投影法得到瞳孔粗略中心。应用蛇模型去收敛到瞳孔的边界,但没有考虑剔除瞳孔伪边界点的步骤。再在瞳孔边界点集上做椭圆拟合来求得瞳孔中心位置。Gwon et al.采用CED方法,先定位大致瞳孔区域,再通过计算黑色区域像素的几何中心来得到瞳孔中心。在瞳孔检测之前,光斑被水平方向上相邻像素消除。但是,当在瞳孔边界点区域进行消除时,会带来误差进而影响瞳孔中心的定位。为了更好的提取瞳孔边界,Li et al.提出了一种基于特征的方法。在特征检测的过程中,通过从一个估计的瞳孔中心发射射线来获得瞳孔候选轮廓。RANSAC被用来区分瞳孔边界点和干扰点。但当干扰因素,如自然光或红外灯产生的光斑在瞳孔边界点上或附近时,瞳孔边界点和这些干扰点会混在一起。在这种情况下,RANSAC并不能区分开它们,瞳孔中心的精确性也会受到影响。Krishnamoorthi和Annapoora-ni[2s[提出一种基于边界抽取的瞳孔中心定位技术,采用正交多项式模型来分析眼睛图像的结构,采用Hartley统计测试检验边缘图抽取,并提出Where-to-go方法进行瞳孔边界点定位。尽管瞳孔中心定位比较精确,但是受到边界假设的约束。
论文接下来的部分组织如下:第一部分写提出的方法细节。第二部分写实验以及展示实验结果。第三部分,对整个工作做一个总结。
1提出的方法
提出了一种新的瞳孔中心定位方法,能够在虚拟现实可穿戴设备中,较好地追踪眼球的运动。与先前的Starburst相比,提出的圆环射线定位法有更高的准确性、稳定性与实时性。这种方法能够克服粗略瞳孔中心的不确定性。当干扰因素在瞳孔边界上或周围时,瞳孔中心也能够被精确定位。采用Ostu方法获得眼睛二值化图像。再通过开、闭操作消除睫毛或眼睑的影响。通过连通区域筛选法,剔除伪瞳孔区域。再计算瞳孔区域的像素的几何中心作为粗略的瞳孔中心位置。瞳孔水平、垂直积分投影法确定瞳孔区域的外接矩形。再通过粗略外接矩形确定圆环区域。在圆环区域内,由内向外发射等间隔射线并计算射线上的像素点的一阶梯度值。通过设置梯度阈值,来剔除瞳孔伪边界点。同时,采用双样条插值技术来获得亚像素级别的瞳孔边界点。
1.1提出的注视点追踪设备
在此次研究中,我们研发了一种眼球追踪装置,包括头盔、显示器、四个近红外灯组还有一个近红外摄像头。考虑到成像距离限制再30-50mm,采用窄视场角的相机来捕获图片。图片分辨率为640×480。近红外灯波长为850nm,功率小于5mw。
1.2瞳孔检测
从图像传感器中,获得眼睛图像,如图1(a)所示。在眼睛图像上,采用Ostu法计算瞳孔二值化阈值,得到眼睛二值化图像,如图1(b)所示。再在眼睛二值化图像基础上,采用连通区域标记法计算候选瞳孔联通区域。再基于几何约束和距离约束,筛选出真正的瞳孔区域,如图1(c)所示。
1.3粗略瞳孔区域与中心的定位
在上述1-c的筛选的瞳孔区域,沿着x、y方向分别进行积分投影,得到瞳孔的外接矩形。其中,外接矩形区宽记为l4,長记为lz。瞳孔中心位置为瞳孔区域中白色像素的几何质心。粗略的瞳孔中心坐标记为o'p=(x'p,y'p),粗略的瞳孔半径记为r'p=(l2+l4)/4。
1.4瞳孔中心精确定位
基于Starburst,提出了一种新的圆环射线定位法来进行瞳孔边界点检测。这种方法比Starburst更好。首先,这些射线是从内圆向外圆射出,而不是从一个猜测点出发。在Starburst中,需要发射两次射线才能收集到足够多的瞳孔边界点。但是在提出的方法中,只需要一次发射,就可收集足够多的瞳孔边界点来进行椭圆拟合。而且射线的长度更短,耗时也更短。其次,在Starburst中,采用RANSAC来区分与筛选瞳孔边界点与干扰如光斑与自然杂光,比较耗时。而提出的方法主要利用瞳孔与虹膜交界处的像素变化明显的特征,求取射线上像素点灰度值的一阶梯度值。然后通过设置梯度阈值,来检测瞳孔边界点。通过计数射线上瞳孔边界点个数来筛除干扰点。实验结果显示,采用提出的方法既准确又高效。第三,应用双线性插值法对瞳孔边界点进行亚像素级定位,进而提高瞳孔中心定位的精度。