首页 理论教育 视线交互技术的应用与发展

视线交互技术的应用与发展

时间:2023-06-24 理论教育 版权反馈
【摘要】:人类通过视觉获取大部分的外界信息,因此在人机界面设计中所涉及的交互技术几乎都需要视觉的参与。早期的视线跟踪技术主要应用于心理学研究、助残等领域,后来被应用于图像压缩及人机交互技术。视线追踪技术原理如图6-12所示,视线追踪技术由两部分构成:信息获取和视线方向判别。

视线交互技术的应用与发展

人类通过视觉获取大部分的外界信息,因此在人机界面设计中所涉及的交互技术几乎都需要视觉的参与。例如,当用户使用鼠标控制屏幕上的光标选择感兴趣的目标时,视线随注意点聚集到该目标上,然后检查光标与该目标的空间差距,再反馈给大脑并经大脑指挥手移动鼠标,直至视觉判断光标已位于目标位置为止,此交互过程自始至终都离不开视觉。

如果用户盯着感兴趣的目标,情感机器人便“自动”将光标置于其上,人机交互将更为直接,视线跟踪技术的目标正在于此。早期的视线跟踪技术主要应用于心理学研究、助残等领域,后来被应用于图像压缩及人机交互技术。视线跟踪技术有强迫式与非强迫式、穿戴式与非穿戴式、接触式与非接触式之分。视线追踪主要用于军事领域(如飞行员观察记录)、阅读及帮助残疾人通信等。

1.视线追踪概述

在使用计算机界面时,眼动行为和视线在视觉信息加工过程中起着重要作用。在正常视觉观察过程中,眼动不是平滑的和连续的,而是由注视和眼跳构成的交替序列。注视是指视线在某一位置停留100 ms以上,一般认为这种停顿主要用于从界面上获取信息或进行内部加工。眼跳是指眼睛在两个注视点之间的快速跳动,持续时间为30~120 ms,大小为1~40°,最高速度可达400~600°/s。在注视中也存在眼睛快速、微小的运动,其空间大小不超过1°,称为生理震颤(nystagmus)。眼动行为可用于揭示用户在显示器上注意和感兴趣的空间位置,如Loftus和Macorth(1978)发现用户的眼睛多注视在出乎意料的、突出的和重要的区域上,集中注意以获取最大量的信息量。人类的视线反映出人的注意方向,视线所指通常反映用户感兴趣的对象。眼睛看物体的过程是转动眼球使物体出现在视网膜的中央凹中,因此眼球的位置指示了我们注视场景中的特定区域。

由于视觉交互具有直接性和自然性,人们对这种人机交互方式一直具有很大的兴趣,同时,因为人们的视线中包含注视方向、注视位置、注视时间长度等大量有用信息,所以这也给通过计算机图像处理等技术手段来获得并记录下当前的视线方向和落点位置提供了可能。视线追踪技术就是在这样的情况下逐步发展起来的。视线追踪技术就是利用机械、电子、光学等现有检测手段获取受试者当前“视觉注意”(注视)方向的技术。近年来,随着眼动理论研究的进步和精密视线追踪装置的问世,视线追踪技术已经发展到了可以实际应用的程度。

2.视线追踪原理

视线追踪技术源于对人类眼睛的研究,因此,要介绍视线追踪技术首先要知道人类的眼球结构。

在视网膜上有一个非常特殊的小区域,称之为小凹。上面集中了绝大部分对颜色敏感的细胞,人对于景物细节的感知全有赖于它。小凹并不是准确的位于由眼球和瞳孔中心所确定的光轴上。眼睛的光轴被称之为视线(line of gaze LoG),源自小凹穿过瞳孔中心的线称为视觉线(line of sight LoS)。正是视觉线而非视线决定了人的视觉关注。如果可以估计视线或视觉线的方向并且掌握景物的信息,那么关注点就由离视线和视觉线交叉点最近的景物来确定。人眼可见光线(visible light)只占全部波长中的一小段(即400~700nm)。图6-11所示为人眼的主要结构。眼睛近似于球状半径约12mm。眼睛的外层,可见的依次是巩膜(白色的部分),虹膜(有颜色的部分)和瞳孔(在虹膜中心)。

978-7-111-39577-5-Chapter06-12.jpg

图6-11 眼球结构图

角膜是一层透明的保护膜,它保护着眼睛前端突出的血管,覆在虹膜外面。虹膜中心有一个环状体,称作瞳孔,它的作用是通过持续改变大小来调节眼睛的进光量。虹膜后面是晶状体,眼球中一种透明的双面凸体,位于虹膜与玻璃体之间,可使穿过瞳孔进入眼球的光线聚集在视网膜上形成图像。视网膜位于眼球的后面,蕴含大量感光细胞。在角膜和晶状体之间是水样体,在晶状体和视网膜之间是玻璃体。光线在进入眼睛后穿过这一系列光介质并在各个层面上经反射和折射后最终到达视网膜。

视线追踪技术原理如图6-12所示,视线追踪技术由两部分构成:信息获取和视线方向判别。

978-7-111-39577-5-Chapter06-13.jpg

图6-12 视线追踪技术原理图

信息获取是指眼部生物特征信息的检测,而视线方向判别主要是指根据检测到的眼部特征信息判别视线方向并获取视线落点。视线追踪技术是利用眼部某些结构和特征,在眼球转动时相对位置不变,将其作为参照,然后在位置变化特征和不变特征之间提取视线变化参数,这些参数是判别视线方向的主要依据。据此,可将视线追踪方法分为两类:一类是通常在普通光照条件下,利用眼角、眼皮、眼眶等其他眼部结构的位置、形状不变性来提取视线方向参数。在自然光照的条件下,虽不能将瞳孔与虹膜分开,但可以认定二者是同心圆,且在眼动过程中是同步变化的。这样可以利用虹膜相对于眼角的变化来提取视线方向变化参数。

另一类是在红外光照条件下的瞳孔-角膜反射法,假设角膜是规则的球面,普尔钦斑作为光源在角膜球面上成的像,无论球面如何转动该斑点在球面上的绝对位置不会发生太大变化。这样,当眼球转动时,亮斑在球面上的位置基本不变。普尔钦斑点作为一个位置标准,在视线方向发生变化时可以通过它提取相应变化的参数。

通过眼部特征的检测,可以获得人眼视线方向估计的平面参数,如上文中的普尔钦斑中心至瞳孔中心矢量。然后利用平面视线参数计算3D视线方向。在空间视线方向计算阶段,主要采用两种数学模型:一种是从眼球的生理结构出发,建立空间几何模型;另一种是从效果出发,建立平面参数与视线落点平面坐标的映射模型。

3.应用实例(www.xing528.com)

视线追踪模块的代码移植自北京科技大学王志良教授带领的机器人研究实验室“视线追踪”课题组开发的视线追踪程序。视线追踪设备有一套硬件系统和一套上位机程序。视线追踪系统利用瞳孔-角膜反射(PCCR)技术得到用户视线在屏幕上的落点,并将该落点坐标提取出来。视线追踪的硬件设备如图6-13所示。

在编写视线追踪模块程序时,通过掌握视线追踪的原理以及视线追踪程序的整体结构和运行流程,并根据“虚拟管家软件”中虚拟情感机器人的需求和程序结构,对原视线追踪代码进行了适当的修改和删减,提取出我们所需要的核心代码。然后,对这部分核心代码进行重新设计,封装成视线追踪模块,并设计编写了模块的接口函数。最后将视线追踪模块加入到“虚拟管家软件”程序中。在主程序中调用视线追踪模块的接口函数,成功实现视线追踪功能。程序流程图如图6-14所示。

978-7-111-39577-5-Chapter06-14.jpg

图6-13 视线追踪硬件设备

978-7-111-39577-5-Chapter06-15.jpg

图6-14 视线追踪模块流程图

1)初始化设备。视线追踪模块需要用到图像采集卡摄像头等硬件设备,所以在开始检测前需要对这些设备进行初始化。调用视线追踪模块的gzInit接口进行初始化。

2)设置检测范围。这一步用来设置视线追踪程序的检测范围,可以指定检测范围为屏幕上某一区域。默认检测范围为全屏幕。调用视线追踪模块的gzSetScreenRect接口进行设置。

3)注册处理检测结果的函数。该步用来设置程序检测结果的处理函数。本模块的处理结果函数SendXY(),可向主窗口发送视线落点坐标。通过向两个函数指针OnRegion和OnPos传递值来实现注册。

4)设置检测参数。不同用户的脸部特征各不相同,为每个用户设置不同的检测参数有利于提高检测精确度。每名用户的参数都存储在一个指定的文本文件中,通过调用视线追踪模块的gzSetParameters接口来读取文本文件中的参数进行设置。

5)检测视线落点。通过调用视线追踪模块的gzStart接口开始进行视线追踪。

6)向主窗口发送视线落点坐标。检测到视线落点之后调用在第三步中注册的结果处理函数向主窗口发送视线落点坐标。

7)判断是否退出视线追踪检测。如果不退出则转到第5步。如果退出则转到第八步。释放占用的内存空间和设备资源退出视线追踪。

下面是利用视线追踪技术替代鼠标单击按钮的实验示例:

图6-15所示为通过视线追踪技术将用户在功能按钮区的视线与鼠标关联,即将用户的视线用鼠标来形式化、可视化。此时若检测到鼠标在“对话聊天”按钮上停留超过5秒钟,则做出用户想激活此按钮的判断。

978-7-111-39577-5-Chapter06-16.jpg

图6-15 利用视线追踪技术替代鼠标单击按钮实验

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈