论文部分内容阅读
视线跟踪技术是一项检测人眼视线方向或者注视点的技术。基于三维模型并使用RGBD图像的视线跟踪算法与基于多项式拟合的头戴式视线跟踪算法是主流的两大类视线跟踪算法。本文分别针对这两类主流视线跟踪算法中存在的问题进行了深入的研究。基于三维模型并使用RGBD图像的视线跟踪算法存在如下两个问题:1)三维虹膜平面的中心在摄像机成像平面上的投影与RGB图像中的虹膜中心不重合,导致现有三维虹膜定位算法难以正确定位出三维虹膜平面的位置;2)忽视人眼扭转运动,导致Kappa角矫正与人眼球模型参数计算产生误差。为了解决这两个问题,本文提出了基于虹膜投影匹配函数的视线跟踪算法。该算法主要贡献有以下四点:1)提出虹膜投影匹配函数。该函数通过投影几何的原理,对三维虹膜平面与二维虹膜图像之间的投影关系进行建模,并通过虹膜投影内像素点以及边界像素点的匹配得分,计算出三维虹膜平面与图像上虹膜的匹配程度。2)提出基于虹膜投影匹配函数的三维虹膜平面定位算法。本文通过结合人眼球模型与虹膜投影匹配函数进行三维虹膜平面定位。从而,该算法能利用投影几何原理精确表示虹膜平面投影关系,提高三维虹膜平面定位的精度。3)提出基于多项式拟合的Kappa角校正方法。本文通过建立多项式对人眼扭转运动导致的Kappa角旋转方向变化进行建模。从而,算法能够根据人眼球的旋转方向,计算出视轴绕光轴旋转的度数,降低了扭转运动对视线估计算法的影响。4)设计了基于虹膜投影匹配函数的人眼球模型参数计算方法。该方法的目的是计算贡献2、3中所述算法所需的人眼球模型参数,例如虹膜半径、虹膜旋转半径、人眼球中心以及Kappa角度数等。因为此时,贡献2、3中的算法缺少人眼球模型参数,所以在计算人眼球模型参数时无法使用贡献2、3中的算法来解决虹膜定位以及忽视扭转运动的问题。因此,本文设计了该方法进行人眼球模型参数的计算。该方法通过引入虹膜投影匹配函数,来解决三维虹膜平面定位不准的问题。并通过将光轴绕视轴的旋转角度作为需要求解的变量,来解决扭转运动使人眼球模型参数计算精度下降的问题。实验结果表明,本文提出的基于虹膜投影匹配函数的视线跟踪算法具有较高的精确度(误差为1.07°-2.28°),并且速度达到52.6FPS。而对于基于多项式拟合的头戴式视线跟踪算法,存在用于构成眼动特征向量的眼角、虹膜中心、角膜反射斑提取不准,导致视线跟踪算法精度下降的问题。为解决这个问题,本文提出仅基于瞳孔特征的头戴式视线跟算法,该算法不使用眼动特征向量,而直接将瞳孔中心特征带入多项式映射方程计算得到注视点。并且,为了解决瞳孔中心特征对头部抖动鲁棒性低的问题。本文提出了基于瞳孔朝向的抖动补偿算法,当发生抖动后,能够通过瞳孔朝向计算出发生抖动前后,瞳孔中心坐标的对应关系,并对瞳孔中心特征的偏移量进行补偿,由此提高瞳孔中心特征对抖动的鲁棒性。最后,本文基于提出的仅基于瞳孔特征的头戴式视线跟算法搭建了一个VR视线跟踪系统,用于测试算法性能并使算法得到实际的应用。实验结果表明,本文提出的仅基于瞳孔特征的头戴式视线跟踪算法误差较低,为12.7像素,对抖动鲁棒性好(经矫正后的误差为33.0像素),并且算法运行速度为47.17FPS。