《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读

题目:A Single Camera Eye-Gaze Tracking System with Free Head Motion
作者:Craig Hennessey, Borna Noureddin, Peter Lawrence
来源:Conference: Proceedings of the Eye Tracking Research & Application Symposium, ETRA 2006, San Diego, California, USA, March 27-29, 2006

摘要

眼球注视作为人机交互的一种形式,在改善我们与机器的交互方式方面有着巨大的潜力。非接触、非限制、准确、易用的眼球注视跟踪设备将在未来的应用中增加包含眼球注视信息的吸引力。我们开发的并描述在这篇论文中的系统用一个单一的高分辨率相机与一个固定的视野实现这些目标使。单摄像头系统没有运动部件,可使眼睛在失去跟踪后可以快速恢复。*头部运动的实现是通过使用多种闪烁和三维建模技术。在14x12x20厘米的视野范围内,通过各种硬件配置、相机分辨率和帧速率,可以实现1°视角以下的精度。

关键词:单摄像头,*头部运动,眼球注视跟踪,眼球模型,快速捕获,人机界面

1.介绍

眼球注视跟踪作为人机交互的一种新形式,有可能极大地影响我们与机器的交互方式。用户注视点与用户意图密切相关。通过跟踪用户的视线,可以了解用户想要做什么,从而获得更直观的界面和响应用户意图的能力,而不是显式的命令。

心理学研究,驾驶和航空的可用性研究等,广告版面有效性分析。特别是它非常适合于用于鼠标扩展和控制的人机界面和用于身体残疾的眼睛打字。

电子技术和计算技术的最新进展使得基于眼球注视的非接触和实时视频跟踪系统成为可能。这些系统正在取代传统的眼球注视跟踪方法,因为它们增加了易用性、可靠性、准确性和舒适性。要让普通大众接受,眼球注视跟踪系统应该是非接触的、非限制性的、对用户的任务范围足够精确、易于设置和使用简单。

本文所描述的系统满足以下关键需求。一个单一的高分辨率相机与一个固定的视场使用,不与用户进行任何接触。通过一种基于多重闪烁的3D方法可以实现在摄像机的视场中允许*的头部运动。高分辨率的图像允许更大的视野,同时仍具有准确的图像特征,可以准确的估计眼睛凝视。使用一个没有运动部件的,单一相机简化了系统的几何形状和校准并缩短了重新采集的时间。这些优点使系统易于设置和使用。

本文的目的是对系统进行初步的评估,以及设计的选择如何影响眼球注视系统的整体精度。特别评估了处理能力、相机分辨率和帧率对*头部运动时眼球注视精度的影响。据我们所知,这是首次报道的实现单一摄像头,多重闪烁,眼球注视跟踪系统,允许*头部运动。

2.相关工作

已经发展出许多方法来跟踪一个对象的眼球注视,包括附着在脸上和眼睛上的传感器,要求固定头部位置的限制性视频系统,头戴式视频系统,以及非接触和非限制性的基于视频的系统。我们认为非接触的、非限制性的基于视频的方法最有希望获得广泛接受的眼球注视跟踪界面,因此将专注于这一领域的研究。

基于视频的系统需要眼睛的高分辨率图像来精确地估计注视点(POG)。Ohno等人开发了一种单摄像机系统,实现了1°视角下的精度。该系统验证了他们的方法的能力,以确定POG,但它有一个相对较小的视野4x4厘米,在60厘米的距离。 Morimoto等人提出了一种单摄像机方法来估计POG,在模拟中获得了2.5°的平均精度。到目前为止,还没有基于这个提议的系统实现报告。Shih和Liu提出了一种仅使用单个摄像机的方法。然而,他们实现的系统使用了两个立体摄像机,这需要为他们的算法提供额外的约束。固定视野限制为4x4厘米。他们的系统以30赫兹的频率工作,精确度约为1°的视角。

上述固定单摄像机系统的主要困难是捕获足够高分辨率图像所需的有限视场

为了使头部*运动,需要一个大的视野。许多系统利用多个摄像机来实现这些目标,其中广角(WA)镜头摄像机用于指导可移动窄角(NA)镜头摄像机。Yoo和Chung开发了一个*87头系统,该系统利用WA摄像机来引导安装在云台倾斜机构上的NA摄像机。他们的系统工作在15赫兹,达到精度0.98°的视角在水平方向和0.82°的垂直方向。Noureddin等人开发了一种双摄像头系统,其中固定的WA摄像头使用一个旋转的镜子来指导NA摄像头的方向[Noureddin等人,2005]。与云台倾斜机构相比,旋转镜可以实现更快的旋转速度。他们的系统工作在9赫兹,精确度2.9°。Ohno和Mukawa最新报道的系统利用了3个摄像头,两个固定的立体声WA摄像头和一个安装在云台倾斜装置上的NA摄像头[Ohno和Mukawa 2004]。他们的系统使用两台计算机,在30赫兹的频率下,可以达到1度的精确度。Beymer和Flickner开发了一个4摄像头系统,该系统使用了2个立体声WA摄像头和2个立体声NA摄像头[Beymer和Flickner 2003]。WA摄像机直接用电流计马达来定位NA摄像机。由于多台立体相机和可变焦距的NA相机,标定任务相当艰巨。他们的系统工作在10赫兹,据报道精确度为0.6°。

当眼睛移动到NA视野之外时,这些多摄像头系统会机械地将NA摄像头重新定位到新的眼睛位置。以这种方式重新获得眼睛所需的时间可能很长,导致当头部移动时,重新获得眼睛的时间很长。大量的摄像机需要大量的系统校准,更高数量的视频流需要更强的处理能力。我们开发的系统只需要一个摄像头,没有移动部件,因此在保持相对准确的POG估计和比其他单摄像头系统更大的视场的同时,缩短了重新采集的时间。其他的不同包括使用光线追踪而不是焦点深度,处理眼睛表面折射的方法,校准方法,瞳孔图像轮廓细化技术和验证设计的实现。由Tobii技术公司开发的Tobii系统是一个专有的单摄像头、多闪烁系统,可能与我们的系统有相似之处,但是,在其完整的设计、实现或测试方法的公开文献中没有可用的信息。

3.方法

我们开发的POG估计方法是基于相机、系统和眼睛的三维模型。摄像机使用*模型建模,眼睛使用Gullstrand原理图眼睛的简化版本建模[Goss和West 2002]。用Gullstrand编制的人口平均数作为感兴趣的模型参数。受试者对总体平均值的偏差通过每次用户校准一次进行补偿。

如图1所示的一个例子是简化眼与感兴趣的参数模型,r, rd, n, pc和c点,这是计算光轴(OA)矢量L所必须的 . OA被定义为从角膜c的中心的中心学生电脑。OA与视线(LOS)不同,后者是一种从*凹(视网膜的高度敏锐度部分)到瞳孔中心并最终到达真正的POG的向量。*凹的位置因人而异,可以位于OA (Goss和West 2002) 5°以内。
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
图1 -用于计算POG的眼睛模型。从人口平均数中得出的有关参数如下:
角膜的半径r;从角膜中心到瞳孔中心的距离rd; 和房水的折射率n。角膜的中心位于c点,瞳孔的中心位于点pc。OA, L是由c到pc形成的向量,POG p是OA与监控平面的交点。


由于OA和LOS之间的差异,估计的POG和实际的POG之间的偏移对于每个用户都是固定的,并由第3.4节中描述的校准技术进行补偿。

以下概要概述了确定POG p所需的步骤:

  1. 通过将OA向量L与监控平面相交(其中L = pc - c)得到POG。
  2. 为了确定角膜中心c,眼睛模型与角膜表面的两个反光的图像位置一起使用。多重闪烁提供了一种方法把3D角膜中心三角化。
  3. 瞳孔中心pc是通过眼睛模型、角膜中心c和瞳孔图像的周边点来确定的。
  4. 估计的POG纠正可能的误差是通过每个用户校准一次。
  5. 上述第2步和第3步中使用的闪烁和瞳孔轮廓的图像位置是使用图像处理技术从眼睛图像中提取出来的。

下面的小节将更详细地描述这些步骤。

3.1.POG估计

POG p是向量L与计算机显示器表面的交点。显示器表面的模型建立通过一个平面方程给定测量位置的屏幕的三个角落。定义的直线的三维参数方程为

p = c + t · L (1)

用于确定POG。这个三维向量方程有4个未知数(px, py, pz, t),加上POG必须位于监视器定义的平面上的约束,就提供了明确求解POG所需的额外约束,假设c和pc已知。下面给出了计算OA所需的角膜中心c和瞳孔中心pc位置的确定方法。

3.2.角膜中心估计c

我们已经实现了Shih和Liu提出的单摄像机方法在3D空间中估计角膜中心位置。

可以通过gi、o和ii点跟踪每个闪烁光源qi的光线,如图2所示。Shih和Liu指出,点集(qi gi c o ii})是共面的。可以为每个闪烁光源定义一个辅助坐标系,使所有这些点都位于由坐标系的两个轴定义的平面上,从而将解空间从3个*度减少到2个*度。一个旋转矩阵Ri和它的逆矩阵可以表示为每个闪烁来转换辅助坐标系统和世界坐标系统之间的点。

使用3所示的几何图可以在辅助坐标系中定义角膜的cˆi的中心,作为一个未知参数的函数gˆix每个闪烁如下:

《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
其中
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
当辅助角膜中心cˆi转换回世界坐标系统使用
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
结果是3组方程4未知数(cix, ciy, ciz, gˆix).

使用两个闪烁提供了总共6个方程和8个未知数。眼角膜中心为每个闪烁点定义的约束条件必须在世界坐标系中一致,得到另一组3个方程:
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
图2 -从多个闪烁光源投射到相机传感器表面的光线。闪烁光源位于气点。球面角膜(中心c,半径r)表面的反光位于gi点。针孔相机模型的焦点位于点o处,CCD传感器表面的闪烁图像位于点ii处。


《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
图3 -辅助坐标系几何图


每个辅助坐标系由原点在点o处定义
,Xˆi轴定义沿着Qˆi, Yˆ与XˆZˆ正交。向量Iˆi和Qˆi分别从o向ii和qi。标量lˆi表示从o到qˆi距离。

超定义的方程组由9个方程和8个未知数组成,用梯度下降算法对c进行数值求解。

3.3.瞳孔中心估计pc

OA需要的第二点是瞳孔pc的中心。OA需要的是真实瞳孔的中心,而不是相机记录的折光图像。通过计算真实瞳孔周边上至少2个相对点的平均值,我们可以找到真实瞳孔的中心,尽管在实践中我们发现使用6个周边点提供了一个更可靠的估计。为了确定一个真实的瞳孔周边点,一条线的三维参数方程定义的射线。
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
从相机传感器表面的瞳孔周界点ki通过针孔相机的焦点追踪到角膜表面,如图4所示。

增加了ui点必须位于中心为c、半径为r的球形角膜表面的约束条件
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
提供一组4个方程和4个未知数,然后可以为ui求解。然后,利用斯涅尔折射定律,空气和水的折射率,以及等效的角度旋转,将矢量Ki折射到眼睛中。折射向量Kˆi然后追踪到真正的瞳孔周边点使用另一个直线的参数方程
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
我们有3个方程有4个未知数( uˆix,uˆiy,uˆiz, wi)可以通过添加一个约束瞳孔周边点和角膜中心之间的距离解决:

《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
rd由Gullstrand的种群平均给出,rp由针孔相机模型和椭圆方程主轴与瞳孔图像轮廓的拟合得到。瞳孔中心pc由平均瞳孔周边值uˆi计算。因此,OA可以通过估计瞳孔和角膜中心来计算,并最终根据公式1来估计POG。

《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
图4 -通过光线追踪估计瞳孔中心。


摄像机传感器表面的瞳孔周围图像点记为ki。光线Ki从摄像机传感器追踪到角膜表面的一个ui点。折射向量Kˆi为从ui到的真正的瞳孔uˆi周边点。角膜中心到瞳孔中心的距离由rd给出,瞳孔周边的距离由rps给出。瞳孔半径用rp表示,空气折射率用nair表示,房水折射率用n表示。

3.4.标定方法

在上面的模型中使用了大量的简化,这可能导致POG不准确。这样的简化包括

1.针孔相机模型用于接近真实的相机和镜头2.简化的眼睛模型和使用人口平均为眼睛的参数3.对每个用户执行一次性校准以进行校正

校准过程是自动化的,因为系统检测到何时切换到下一个校准点,可以在5秒内完成。图5演示了执行计算POG的校准和校正时使用的参数示例。校准包括计算误差在估计的POG时,用户看着显示器的四个角落。

《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
图5 - POG校准和校正示例当用户查看已知屏幕位置mi时,系统最初通过记录计算的POG位置ni进行校准。偏差ei用于将计算的未来POG估计数转换为pcorrected。从点算出的距离di和每个校准位置ni用于加权校正因子。

通过应用四个校正因子ei来调整未来的POG估计值,每个校正因子的权重与计算出的POG与每个原始校准POG的距离成反比,如公式13到15所示。
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
如果di为0,则等式14中的wi为1,其余的权值为0。

3.5.眼睛和特征跟踪

3.2节中使用的点ii和3.3节中使用的点ki位于摄像机CCD传感器的表面。这些位置是根据使用视频处理技术从记录图像中提取的信息确定的。提取这些特征所需要的图像处理是系统中处理器最密集的操作。为了减少所需的处理时间,采用了一系列感兴趣区域(ROI)计算来减少图像信息的数量。最初必须处理整个图像(图6a)来检测眼睛的位置。然后应用ROI,调整大小以只包含眼睛的图像(图6b)。当检测到眼睛中的瞳孔时,ROI的大小进一步缩小,只包含角膜和瞳孔进行最后的处理(图6c)。

当图像处理完成后,ROI的大小增加,以包含眼睛,并重新集中在瞳孔图像轮廓的估计中心,以进行下一个处理循环。将ROI重新定位在瞳孔上,可以使图6b的ROI有效地跟踪眼睛,而不必重新处理整个图像。如果眼睛丢失(由于眨眼)或在一帧内移动到感兴趣区域之外,整个图像将被重新处理,然后重新应用感兴趣区域。

为了计算瞳孔中心,需要沿着瞳孔轮廓图像的周长的点。图像差分技术被用来帮助识别瞳孔轮廓。图像是用交替的光源记录的,一种是通过接近相机光轴的光线将瞳孔明亮地照亮,另一种是场景被离轴光源照亮。偏离轴的照明将脸部照到与亮瞳图像相同的亮度,但不会使瞳孔反射出同样的亮度。

《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
图6—用于减少处理时间的感兴趣区域;(a)全尺寸场景图像;(b);眼睛ROI;©角膜和瞳孔ROI。


《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
图7 -识别的瞳孔(a)和对偶闪烁(b)。椭圆方程拟合到每个识别轮廓的周边线。瞳孔周长椭圆用于估计真实瞳孔中心位置,双闪烁椭圆中心用于估计角膜中心位置。


位于摄像机光轴周围的LED用来产生明亮的瞳孔图像。位于电脑屏幕旁边的两盏灯会产生暗瞳图像,这也会包含所需的双闪烁。从亮瞳图像中减去暗瞳图像增强了瞳孔轮廓,使得在场景中更容易检测。瞳孔轮廓的检测分两个阶段进行,以提高系统的精度和性能。在使用差值图像的场景中,首先快速粗略地识别出瞳孔。然后使用更精细的瞳孔检测算法从明亮的瞳孔图像中提取出瞳孔轮廓。只使用明亮的瞳孔图像可以避免由于图像帧之间的运动而产生的伪影。良好的瞳孔检测方法也弥补了可能损坏瞳孔周边的人为因素,如闪烁或睫毛。识别出的瞳孔轮廓示例如图7a所示。

在记录的图像中,需要计算角膜中心的双闪烁中心的位置。角膜表面的反光导致图像中最亮的像素,很容易被检测到。使用两个闪烁中心之间的期望位移来抵消可能的伪影。图7b显示了识别出的双重闪烁的例子。

4. 评价

4.1.实现

眼球注视跟踪系统的物理实现如图8所示。该系统在一台中等功率的AMD 1.4 GHz计算机和一台更高端的Pentium IV 2.8 GHz计算机上进行了测试。使用不同的计算机可以了解系统在可用处理能力方面的表现。

该系统还在两种不同的相机上进行了测试,一种相机的分辨率为1024x768像素,帧频为15赫兹,另一种相机的分辨率为640x480像素,帧频为30赫兹。这两款相机都是Point Grey Research公司基于Firewire的“蜻蜓”(Dragonfly)数码相机的升级版。使用不同的相机还可以洞察系统在可用帧速率和图像分辨率方面的表现。高分辨率相机的允许运动范围约为14x12x20厘米(宽x高x深),而速度较快但分辨率较低的相机的允许运动范围约为7.5x5.5x19厘米。宽度和高度大约在视场体积的中点指定。这两款相机的镜头焦距都是32毫米。

《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
图8 -物理系统实现。数码火线相机位于屏幕下方,面向用户面部。在轴上的照明是由环绕在相机镜头周围的led灯环提供的,而双辉光离轴光源位于监视器的右侧。整个组装安装在挤压铝轨上,以固定led、相机和屏幕的相对位移。

使用安捷伦hsdl - 4220 880 nm二极管进行场景照明。在相机上使用了一个光学低通滤光器来滤除周围的可见光,只通过系统产生的照明。

4.2.*的头部运动

系统的精度是在允许的头部位置的整个范围内测量的。AMD系统使用的是15赫兹的摄像机,视野更大。由系统用户在位置1处进行校准。然后通过在屏幕上记录查看4x4网格上的点时的POG错误来测量准确性。在允许的视场范围内,共确定了7个不同的头部位置的平均精度。在测试期间,用户佩戴了一个电磁位置跟踪器,以验证整个视野是否被跨越。位置跟踪器报告的X、Y、Z三个位置在视场中的位置范围分别为14.2 cm、12.3 cm、20.6 cm。

表1以屏幕像素为单位列出了每个头部位置的平均精度(POG估计值和参考点之间的差异)。屏幕尺寸分别为35厘米和28厘米,分辨率为1280x1024像素。这里报告的是像素的精度,而不是视角的度数,因为计算视角度数所需的眼睛到屏幕的距离并不容易获得。为了便于比较,后续测试的准确性也以像素为单位进行报告。在第5节的讨论中,眼睛到屏幕距离的平均值用于将像素转换为视角角度。
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
表1 -通过4x4网格测量不同头部位置的平均POG精度。

4.3。不同的硬件配置与不同的主题

在不同的硬件配置上测试了两个受试者,以测试系统处理多个不同受试者和操作条件的能力。此外,受试者在校准位置(试验1)和远离校准位置(试验2)进行评估,以评估*头部运动的精度范围。

测试过程是执行校准,然后在4x4网格上记录数据集(试验1)。用户被要求离开系统,然后返回并再次坐在计算机前,导致不同的头部位置。另一个4x4网格数据集记录在远离校准位置的地方(试验2)。这些测试的平均精度如表2所示。
《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
表2 -通过4x4网格测量的多次试验、受试者和系统配置的平均POG精度。

当ROI被锁定在眼睛上和眼睛丢失时,记录每个系统配置处理一个视频图像所需的时间。当ROI被锁定在眼睛上时,只对图像的一小部分进行处理;当ROI丢失时,必须对整个图像进行处理以重新获得眼睛。这些处理时间如表3所示。

《A Single Camera Eye-Gaze Tracking System with Free Head Motion》论文阅读
表3 -每次系统更新的处理时间,当ROI被锁定在眼睛上和眼睛丢失时。系统配置的四种组合都经过了测试。

5.讨论

在可能的头部位置范围内(见表1),X和Y中未校准位置的最佳平均像素误差为[20.9,18.7]像素,最差为[46.5,21.0]像素。在不同的硬件配置和不同的受试者中(见表2),当眼睛不在校准位置时(试验2),X和Y的最佳平均误差为[14.8,21.7]像素,最差为[29.1,34.2]像素。在试验2中,从眼睛到屏幕的平均距离为75厘米时,最佳平均视角准确度为0.46°,最差为0.90°。

该系统能够在整个允许的头部位置范围内估计POG,并且在处理能力、相机分辨率和相机帧速率方面有所变化。当ROI被锁定在眼睛上时,由于两种摄像机的ROI大小相等,因此,在高分辨率和低分辨率摄像机之间所需的处理时间差别不大。这些时间表明,AMD系统可以达到最大更新速率35Hz,而P4系统可以达到最大更新速率100Hz。但是,由于摄像机的帧率较低,最高更新速率受到限制,高分辨率摄像机的帧率为15 Hz,低分辨率摄像机的帧率为30 Hz。系统的更新速率与相机的帧速率相匹配,即使记录了明暗交替的瞳孔图像(这是图像差分技术所需要的)。通过从最新捕获的图像和以前捕获的图像(亮然后暗或暗93然后亮的瞳孔图像)估计POG,可以获得等效的速率。当ROI锁丢失时,所有情况下的处理时间都会增加,从而降低了系统的有效更新率。当ROI锁丢失时,高分辨率相机的处理时间比低分辨率相机增加得更多,这与预期一致。

增加到一个更高分辨率的相机增加头部位置的允许范围。提高ROI人眼图像的分辨率也可以提高特征检测的准确性,从而提高估计POG的准确性。增加帧速率允许更快的更新速率,甚至更快的重新获取时间。我们发现,如果ROI被锁定在眼睛上,高分辨率图像所需的处理时间并不比低分辨率图像所需的处理时间大多少。对于我们的系统,我们期望使用相同大小的ROI获得更高的分辨率。

6. 结论

本文描述了一个眼球注视跟踪系统的设计、实现和评估,该系统满足引言中描述的关键需求。如下所述,单摄像头、多闪烁系统在摄像头视场范围内的*头部运动达到了所声称的精度。在不同的硬件配置组合和受试者中,眼睛离开校准位置的最佳精度(试验2),在4x4屏幕网格上平均为0.46°,最差为0.90°的视角,与其他报告的系统相比。系统精度最高的校准位置,并略有下降,因为头部离开。

所开发的系统对于一个1024x768像素分辨率的相机来说,头部位置的允许范围大约为14x12x20厘米。正如所料,虽然较高的相机分辨率增加了头部位置的允许范围,但对于同等的空间分辨率来说,它并不一定会提高眼睛的凝视精度。没有移动部件,导致快速的重新采集时间。在P4系统中,对于15赫兹的相机,在67毫秒内可以重新获得失去锁后的眼睛,对于30赫兹的相机,则需要33毫秒。使用一个没有移动部件的单一相机也允许使用一个一次性的用户校准过程,这需要不到5秒的时间。该系统能够在不同处理能力的平台上运行,并具有不同分辨率和帧速率的摄像机,从而提供可扩展到任务的性能(如讨论中所述)。