《A non-contact eye-gaze tracking system for human computer interaction》论文阅读

题目:A non-contact eye-gaze tracking system for human computer interaction
作者:YING QI, ZHI-LIANG WANG, YING HUANG
来源:Proceedings of the 2007 International Conference on Wavelet Analysis and Pattern Recognition, Beijing, China, 2-4 Nov. 2007

摘要

介绍了一种基于人机交互(HCI)的低成本非接触眼球注视跟踪系统。该系统对用户干扰小。在角膜反射法的基础上,通过测量浦金耶像和瞳孔的相对位置来计算凝视方向。该系统可以实时处理注视方向,将注视与其他眼球运动区分开来,并利用注视信息与计算机进行通信。达到了每秒18个注视点的吞吐量。实验结果表明,该方法大大降低了人眼注视跟踪系统的错误率。注视信息最能体现用户的意图,使得交互更加自然和方便。
关键词:人眼跟踪;人机交互;固定

1. 导言

注视方向可以表达用户的兴趣。它是目前认知过程的一个潜在入口。我们可以通过跟踪和分析注视信息来获得用户的注意力。眼球注视跟踪应用程序大致可以分为两类,在这里称为诊断性或交互式。眼动跟踪器作为诊断应用,记录了用户眼动的客观和定量数据,用于研究人类行为和心理。在交互使用中,跟踪器被期望作为设备来充当一个强大的接口。该交互式系统配有眼球注视跟踪器,可以对用户的注视做出响应。
本文介绍了一种用于人机交互的单摄像头远程眼球注视跟踪系统。接下来将介绍系统的硬件,实时眼球注视跟踪算法,并详细介绍基于空间和时间的注视提取。最后,实验表明,使用注视信息后,交互效果有了明显的改善。

2. 硬件实现

该系统由一台个人计算机(PC)、一台眼球注视跟踪器、一台图像采集器和一个屏幕组成,如图1所示。眼动跟踪系统由两个近红外光光源和一个CCD摄像机组成。

在这里插入图片描述
图1.眼球追踪系统


相机是一个固定的普通黑白CCD相机与一个单一的焦点广角镜头。与包含多摄像头或利用运动部件旋转摄像头视角的系统相比,我们的系统成本要低得多。
为了减小环境光的影响,保证在可变或深色背景下的图像质量,采用了两个近红外LED。由于近红外对用户几乎是不可见的,这将最小化对用户的干扰。

3. 眼球注视跟踪算法

3.1理论

眼球注视跟踪算法眼球注视跟踪算法基于角膜反射法,当一小部分红外光照射到用户的眼睛时,角膜表面出现反射。系统中有两个红外光源。因此,在角膜上反射出两道明亮的反光,并命名为“浦肯野像”,如图2所示。当使用者的眼睛移动时,瞳孔的位置也会改变。

通过测量瞳孔中心和浦肯野的位置,得到了二维的注视参数。然后,通过一个统计模型计算眼睛注视的三维方向。
在这里插入图片描述
图2.浦肯野的形象和瞳孔


3.2二维凝视参数的提取

采用图像处理方法从人脸图像中检测浦肯野图像和瞳孔。将浦肯野图像与瞳孔的相对位置提取为二维注视参数。

3.2.1浦金耶图像和瞳孔的检测

浦金耶图像的检测和瞳孔的快速准确定位是图像处理中一个潜在的复杂工作。在脸部的灰色图像中,瞳孔的强度与其他区域相似。瞳孔很容易被眼睑和睫毛覆盖。这些闪光与它们的邻近形成了强烈的对比。因此,通常情况下,闪烁检测比瞳孔检测更简单。为了提高算法的精度,浦肯野图像检测基于相对强度和绝对强度两个层次。然后根据灰度对瞳孔周围的闪烁进行搜索。浦肯野图像的中心位于两个闪光中心之间最暗的点。设P(Px,Py)为浦金耶图像的中心,Q (Qx,Qy)为瞳孔的中心,如图3所示。在二维∆(∆x,∆y)中,凝视参数可以表示为:
∆x= Px - Qx,∆y =Py - Qy
在这里插入图片描述
图3.瞳孔中心和浦肯野图像


3.2.2基于卡尔曼滤波的浦肯野图像跟踪

每一帧都可以进行浦肯野和瞳孔检测。然而,这种蛮力方法将显著降低处理的速度。为了减少计算时间,给定在初始帧中检测到的浦肯野图像,可以在下一帧中跟踪后续帧中的闪烁。使用预测和检测方法可以更有效地做到这一点。卡尔曼滤波为实现这一目标提供了一种有用的机制。我们的普尔金耶图像跟踪与卡尔曼滤波可以形式化如下。设(Qx(n),Qy(n))为Purkinge图像在坐标系n处的中心,(Ux(n),Uy(n))分别为其在坐标系n处x、y方向上的矢量。因此,坐标系n处的向量可以表示为X(n)= (Qx(n),Qy(n),Ux(n),Uy(n))。根据卡尔曼滤波理论,下一帧n+1的状态向量X(n+1)由线性随机方程控制如下:
X(n+1)=AX(n)+W(n) (1)
其中A为状态转移矩阵,W(n)为系统扰动,p(W(n)) ~ n (0,M), M为过程噪声协方差。
Z(n)表示在第n帧检测到的浦金耶图像位置,因此测量模型为:
Z(n)=H
X(n)+V(n) (2)
其中,矩阵H将当前状态与当前测量联系起来,V(n)表示测量不确定度。V(n)正态分布为p(V(n))~ n (0,R), R为测量噪声协方差。根据Eq.(1)和Eq.(2),给定当前状态X(n)及其协方差矩阵C(n),预测状态X(n+1|n)和误差协方差估计C(n+1|n),如Eq.(3)和Eq.(4)所总结。
X(n+1|n)=AX(n|n) (3)
C(n+1|n)=A
C(n|n)A’+M (4)
下一步是生成一个更新状态估计X(n+1|n+1)。X(n+1|n+1)的计算如下
X(n+1|n+1)= X(n+1|n)+Kg(n+1) (Z(n+1)-H X(n+1|n)) (5)其中Kg为卡尔曼增益:
Kg(n+1)= C(n+1|n) H’ / (H C(n+1|n)
H’ + R) (6)

最后一步。更新误差协方差C(n+1|n+ 1)估计如下:
C(n+1|n+1)=(I-Kg(n+1)* H)*C(n+1|n) (7)

在第一帧图像中对整个图像进行搜索后,我们可以根据预测位置检测小区域的闪烁。当图像跟踪器在下一帧失败时,将在捕获的图像上寻找闪烁。该方法减小了搜索面积,提高了计算速度。算法流程图如图4所示。

在这里插入图片描述
图4.浦肯野图像的流程图和瞳孔追踪


3.3计算空间注视方向

通过基于大规模实验的统计模型,将2D中的注视参数转化为空间注视方向。凝视的二维和三维参数之间的关系近似为线性。水平视线方向θx和垂直视线方向θY,表示如下:
θx=αx∆x +βx , θy=αy∆y +βy (8) where αx, βx , αy and βy are constants.
αx,βxαy和βy是常数

4. 注视结构算法

不同于某些系统,我们的系统利用注视方向与计算机通信,对计算出的实时注视数据进行处理,提取注视信息,并通过注视信息与计算机通信。眼球运动主要有三种:注视、扫视和顺滑的运动。注视是眼球的运动,它能使视网膜在感兴趣的固定物体上保持稳定。在固定的过程中,眼睛会被微小的眼球运动(微眼跳、持续的微漂移和微震颤)打断,所以眼睛永远不会完全静止。大部分的视觉都发生在注视的时候。眼跳是一种快速的眼球运动,用于在视觉环境中将中央窝重新定位到一个新的位置。一般认为扫视时没有视觉。当视觉跟踪一个移动的目标时,跟踪运动被涉及。因此,当人们与电脑交流时,追踪动作并不常见。注视意味着用户的注意力。数据分析的第一步通常是从数据流中提取固定。
如何提取注视信息?根据系统的结构和使用情况,选择合适的算法和参数。这个系统不同于那些提取注视点来分析和研究人类心理和行为的系统。因此,不需要提取和分类各种眼球运动。从其他状态中找到有用的注视点,获取注视信息就足够了。

4.1信号去噪(来源)

在计算出实时注视方向后,我们应该减少原始数据中过多的噪声。噪声主要来自:眼球运动、系统硬件和用户。由于眼球运动固有的不稳定性,一些无意识的抖动和眨眼会使视线方向无法控制地颤抖。由于图像采集中存在噪声,检测算法对瞳孔和浦金耶图像的定位受到噪声的干扰。用户头部或身体的突然变化对眼睛注视数据的提取提出了挑战。该系统采用滑动平均法和低通滤波相结合的方法,消除了大部分的噪声,减少了无意识运动带来的干扰。

4.2提取固定信息

两种主要的自动方法被用来分析眼球运动:一种是基于总和(平均),另一种是基于差异。前者根据时间对眼球运动进行分类。后者通过空间来探测扫视。我们的系统将这两种方法结合起来,快速准确地提取固定物。这些算法可以形式化如下。速度V在单位时间内显示一个可选择的位置。所以检查速度我们可以得到扫视。用户的视线角速率vθ度/帧可以通过以下的尊重方程计算
在这里插入图片描述

如果vθ(n)大于给定的阈值,然后眼睛运动坐标系n视为一个扫视我们不需要计算注视点。虽然vθ(n)小于给定的阈值,眼球运动可能属于一个固定。我们应该做的下一步,检查固定停留时间。
定义注视角速度的平方偏差为
在这里插入图片描述

其中k为时间窗口大小的参数。
在这里插入图片描述
在等式10,

如果σ是在可以接受的范围内,眼睛运动坐标系n + k属于固定。所以需要计算注视点。图5所示,抵消的注视点在地平线δx = L * tanθx。注视点的偏移量在垂直δy = L * tanθy。注视点的坐标是O (x-δx y-δy)。
在这里插入图片描述
图5.关注点的计算


4.3实验

实验在一台Pentium IV PC上进行,19英寸显示器分辨率为1280*1024。年龄在20到30岁之间的12名受试者(5名男性,7名女性)参与了实验。我们将人员分为4组:G1~G4,每组3人。在实验过程中,所有参与者都保持头部不动,看着屏幕。人与屏幕之间的距离为55-60cm。
每一组都被要求做两个实验:参与者看着屏幕上从左到右的点;从上到下看屏幕上的点,如图5所示。屏幕上的每个点被注视3秒,每一帧记录注视点和注视点。
每秒18个注视点的吞吐量允许检测用户的注视。这里没有空间详细介绍所有这些数据。我们只展示了G1in中一个参与者的数据,如图6所示。从图中我们可以看到实时记录的注视点和注视点。由于太多的噪音和抖动,注视点表现不佳。相反,注视点可以消除许多干扰,更接近参与者的注意力。

在这里插入图片描述
图6.实验1中G1组1例观察数据


根据眼动跟踪指标[8,11],各实验的实验结果如表1和表2所示。结果表明,注视点的错误率完全低于注视点的错误率。水平和垂直方向的错误率都降低了6%左右。最大注视时间和平均注视时间均接近实验所需时间(每点注视3秒)。从表中我们还发现,眼动在水平方向上似乎更稳定。

表1.exp. 1中的眼睛注视跟踪指标
在这里插入图片描述
表2.exp. 2中的眼睛注视跟踪指标
在这里插入图片描述

5.应用程序

基于该系统的HCI艺术作品《在博物馆的新奇体验》已在第二届艺术与科学国际展览与研讨会上展出。证实了基于注视信息的交流是自然有效的。用户的错误也减少了。

6.结论

该系统每秒产生大约18个注视点,能够在19英寸的显示器上可靠地确定用户注视的28个区域。该系统在水平方向的错误率约为7%,在垂直方向的错误率约为12%。 本文提出了一种可行的人机界面视线跟踪系统。该系统首先对用户的注视方向进行估计。然后从注视数据流中实时提取注视信息。系统应用这些信息来执行用户和计算机之间的通信。实验结果表明,采用这种方法处理注视数据,可以有效地减少过多的噪声,大大降低系统的错误率。固定信息显然是针对感兴趣的领域。因此,基于这些信息的HCI将是便利和便利的。
在接下来的研究中,我们计划添加头部姿态估计算法,让用户的头部可以自由移动。这一变化将极大地改善该系统的功能和性能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值