当前位置: 首页 > news >正文

眼动追踪技术 | 眼动的分类和模型

摘要

灵长类动物用于调整中央凹位置的正常眼动,几乎都可以归结为五种基本类型的组合:扫视、平稳追踪、聚散、前庭眼震和生理性眼震(与注视相关的微小运动)。聚散运动用于将双眼聚焦于远处的目标(深度知觉)。其他运动(如适应和聚焦)指的是眼动的非位置变化方面(如瞳孔扩张、晶状体聚焦)。

眼外肌和动眼神经

一般来说,眼睛在六个自由度内运动:眼眶内的三个平移和三个旋转。负责眼球运动的眼外肌有六条,分别是内外直肌(侧向运动)、上下直肌(上下运动)以及上下斜肌(扭转),如图1所示。参与眼球运动的神经系统被统称为动眼神经。动眼神经的一般结构和连接如图2所示。眼动控制信号来自几个功能不同的区域。17-19区和22区是被认为负责高级视觉功能(如识别)的枕叶皮层区域。上丘直接接收来自视网膜的传入信号,特别是来自通过大细胞通路传递的周边区域。半规管对三维空间的头部运动做出反应。这三个区域(即枕叶皮层、上丘和半规管)均通过中脑和脑桥网状结构向眼肌传递输出神经元。对观察到的眼动信号进行分类在一定程度上依赖于这些皮层区域已知的功能特性。

图1.眼外肌示意图。

图2.动眼神经系统示意图。

从动眼神经的组织结构中可以得出两个关于眼球运动的观察结果:

1.眼动系统在很大程度上是一个反馈回路。

2.控制眼球运动的信号来自皮层区域,这些区域在功能上可分为随意(枕叶皮层)、不随意(上丘)和反射(半规管)。

眼动反馈回路主要用于需要眼球稳定的眼动类型。眼窝平衡对于物体的稳定视网膜投影是必要的,并伴随着物体的运动和头部的运动。这种稳定性由神经元控制系统维持。

扫视

扫视(或称眼跳)是一种快速的眼球运动,用于将中央窝重新定位到视觉环境中的一个新的位置。扫视动作既可以是自发的也可以是反射性的。这些动作可以是主动执行的,也可以作为一种矫正性的视觉运动或前庭测量的手段。扫视的持续时间约为10-100ms,在此期间执行者在移动过程中基本上是盲目的。关于驱动扫视的潜在神经系统存在一些争论。扫视被认为是一种固定的、重复出现的运动模式。也就是说,一旦计算出到下一个期望注视点的扫视运动(大约200ms的潜伏期),扫视路径就无法改变了。这是因为在扫视执行过程中,没有足够的时间进行视觉反馈来引导眼球到达最终位置。然而,如果假设在扫视过程中使用了头部、眼睛和目标位置的内部复制来引导眼球,那么就可以考虑是否存在一种扫视反馈系统。由于它们的速度很快,扫视可能看起来像是预先编程的。

人们提出了各种关于扫视编程的模型。除了包括“重心”编码的模型外,这些模型可能无法充分预测不可改变的扫视路径。相反,基于目标位置内部表征的扫视反馈系统可能更为合理,因为它们倾向于正确预测所谓的双步实验范式。双步范式(图3)是眼球进行扫视时改变目标位置的实验。Fuchs等人(1985)提出了对Robinson反馈模型的改进,该模型基于上丘(SC)提供的信号和局部反馈回路。局部回路通过从心理目标空间位置减去眼睛位置而产生运动误差的形式来生成反馈。Sparks和Mays(1990)以中间和深层SC中包含的神经元为例,这些神经元是启动和控制扫视运动的神经回路的关键组成部分。SC的这些层接收来自皮层区域的输入,这些区域参与用于引导扫视的感觉(视觉、听觉和躯体感觉)信号的分析。作者还基于Listing和Donders法则进行了说明,这些法则规定了眼动中基本的零扭转分量,扫视运动实际上只需要两个自由度。根据这些法则,运动可以分解成围绕水平x轴和垂直y轴的旋转。

图3.双步范式。

扫视生成模型试图解释负责发送到运动神经元信号的潜在机制。尽管对于扫视程序的来源存在一些争论,但观察到的信号类似于脉冲/阶跃函数。脉冲/阶跃函数指的是对眼外肌的速度和位置的双重指令。扫视阶跃信号的一种简单表征是微分滤波器。Carpenter(1977)提出了一种可能与积分器耦合产生扫视的滤波器。积分滤波器用于模拟将速度编码信息转换为位置编码信号所必需的转换。一个完美的神经积分器将脉冲信号转换为阶跃函数。一个不完美积分器(称为漏积分器)将产生一个类似于衰减指数函数的信号。这种类型的神经整合原理适用于所有类型的共轭眼球运动。连接脑干和小脑结构的神经回路是为了执行包括扫视、平稳追踪、前庭眼震和视动性眼震等共轭眼动的整合。

微分滤波器可以通过线性滤波器进行建模,如图4所示。在时域中,线性滤波器由以下公式建模:

其中st为输入(脉冲),xt为输出(阶跃),gk为滤波器系数。为了确保可微分,滤波器系数通常必须满足近似数学微分的性质。这种滤波器的一个例子是系数为{1,-1}的Haar滤波器。在z变换下,该线性滤波器的传递函数X(z)/S(z)为:

Haar滤波器是一个长度为2的滤波器,它近似于连续输入对之间的一阶导数。

图4.简单线性滤波器模拟扫视运动生成的示意图。

平稳追踪

当视觉追踪运动目标时会涉及到跟随运动。根据目标运动的范围,眼睛能够匹配运动目标的速度。追踪运动提供了一个内置负反馈控制系统的例子。图5展示了一个用于建模追踪运动的简单闭环反馈回路,其中st是目标位置,xt是(期望的)眼睛位置,h是(线性,时不变)滤波器或系统增益。从反馈起始点跟踪环路,在时域中得到以下方程:

图5.平稳追踪运动的简单线性反馈模型图。

在z变换下,该线性系统的传递函数X(z)/S(z)为:

在闭环反馈模型中,来自视觉感受器的信号构成误差信号,指示需要进行补偿以匹配目标的视网膜图像运动。

注视(微扫视、漂移和震颤)

注视是一种使视网膜在感兴趣的静止物体上保持稳定的眼动类型。从直觉上来看,注视应该由控制平稳追踪的相同神经回路产生,其中注视是目标以零速度移动的特殊情况。这可能是不正确的。相反,注视的特征是微小的眼球运动:震颤、漂移和微扫视。微扫视是由于视觉系统单细胞生理学的运动敏感性而产生的眼动信号。微扫视是在空间上呈现出一定程度的随机性,并且其振幅大约在1-2分钟弧度之间变化。关于注视的一个反直觉事实是,如果一个图像被人为地稳定在视网膜上,那么视觉会在大约一秒钟内消失,场景变成空白。这意味着,当视觉系统不再接收到运动信号时,即使静止的图像也会在一定时间内失去视觉感知,这对于人们来说可能是一个反直觉的现象。

微小眼动在注视中起着重要作用,但在控制系统中可能被视为是噪声(可能与平稳追踪回路不同)。这种噪声表现为注视区域周围的随机波动,通常不超过5°的视角范围。虽然将微小运动分类为噪声可能过度简化了自然过程,但它允许通过类似于图5所示的反馈系统对信号进行建模。图5中的加性噪声用et=st-xt表示,其中(期望的)眼睛位置xt从稳定的注视位置st中减去,然后得到et。在该模型中,误差信号以类似于平稳追踪系统的方式刺激注视系统,不同之处在于这里的et是一个误差位置信号,而不是误差速度信号。使用噪声“数据缩减”方法对注视进行建模的反馈系统实际上比追踪模型更简单,因为它隐含地假设了一个平稳的随机过程。统计学意义上的平稳性是指均值恒定的过程。其他与注视相关的统计指标包括注视持续时间范围150-600ms,以及90%的观察时间都用于注视。

眼球震颤

眼球震颤是一种共轭眼球运动,其特征为锯齿状的时间过程(时间序列信号)模式。视动性眼球震颤是一种平稳的追踪运动,其间穿插着扫视以补偿目标视网膜运动。视动性眼球震颤的平稳追踪成分出现在信号的慢性期。前庭性眼球震颤是一种用于补偿头部运动的眼球运动类型。前庭性眼球震颤的时间进程与视动性眼球震颤的时间进程几乎无法区分。

眼动分析的意义

眼动追踪技术通过辅助设备采集人眼相关信息,将获得的数据构建相对应的计算模型,最终根据该模型确定人眼的注视方向或注视区域。由于人的眼动行为包含着当前的任务状况以及人自身状态等信息,因此了解人眼的行为,了解人眼如何获取外界信息是了解个体行为关键。通过测量眼动轨迹获得的信息,不仅在理论研究上有重要意义,在各种生产生活场景中也发挥着重要作用。我们从上述的讨论中可以得出两个与眼动分析相关的重要观察结果。首先,基于眼动的功能,只需对三种类型的眼动进行建模,就可以深入了解视觉注意力的显性定位。这些类型的眼动包括注视、平稳追踪和扫视。其次,基于信号特征和潜在的神经回路,所有三种类型的眼动均可近似为线性时不变(LTI)系统(即线性滤波器;例如适用于扫视检测的线性滤波器示例)。

在注视依赖系统设计背景下,眼动分析主要是确定注视、扫视和平稳追踪。假设这些动作提供了随意的、明显的视觉注意证据。这一假设并不排除这些眼动可能在某些情况下是无意识地发生的,反之亦然。当人们对某个对象感兴趣时,他们会自然地将目光集中在这个对象上,而这种行为就是注视。类似地,对于平稳运动的物体,也可以使用同样的方式进行追踪运动。扫视被认为是自愿改变注意焦点的表现。

总结

本文介绍了眼动的分类,并涵盖了适用于眼动分析的眼动信号线性模型。总的来说,眼动追踪是一种无创的检测技术,具有更高的时间分辨率,可进行实时记录和实时监控,因此获取的数据客观且较少受到主观偏见影响,能够提供个体认知加工过程的量化信息,以及便于与其他脑成像技术进行数据叠加融合等,从而有助于对认知相关任务进行评估。

参考文献:Duchowski, A.T., Taxonomy and Models of Eye Movements. In: Eye Tracking Methodology. Springer, Cham. https://doi.org/10.1007/978-3-319-57883-5_4

小伙伴们关注茗创科技,将第一时间收到精彩内容推送哦~

相关文章:

  • 【云计算】阿里云、腾讯云、华为云RocketMQ、Kafka、RabbitMq消息队列对比
  • Java 并发集合:CopyOnWrite 写时复制集合介绍
  • 无人机水运应用场景
  • java中如何使用ffmpeg命令来实现视频编码转换
  • python库(2):Passlib库
  • 【Redis】SpringBoot连接Redis
  • Gartner发布软件供应链安全指南:软件供应链攻击造成的损失将从 2023 年的460亿美元上升到2031年的1380亿美元
  • “论单元测试方法及应用”写作框架,软考高级论文,系统架构设计师论文
  • wsl ubuntu 安装Anaconda3步骤
  • 玄机——第四章 windows实战-wordpress wp
  • 【测试开发】【postman】按顺序循环执行接口
  • 多客陪玩系统-开源陪玩系统平台源码-支持游戏线上陪玩家政线下预约等多场景应用支持H5+小程序+APP
  • LLMs之CriticGPT:CriticGPT的简介、安装和使用方法、案例应用之详细攻略
  • ASP.NET MVC-razor编写-2-svg中使用js+添加事件监听
  • 【HarmonyOS NEXT】组件状态变量改变,build重绘问题
  • AWS实战 - 利用IAM对S3做访问控制
  • canvas 五子棋游戏
  • create-react-app项目添加less配置
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • docker-consul
  • eclipse(luna)创建web工程
  • iOS | NSProxy
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Mac转Windows的拯救指南
  • Python 反序列化安全问题(二)
  • vue2.0项目引入element-ui
  • 代理模式
  • 电商搜索引擎的架构设计和性能优化
  • 记录一下第一次使用npm
  • 力扣(LeetCode)56
  • 深入浅出webpack学习(1)--核心概念
  • 原生js练习题---第五课
  • scrapy中间件源码分析及常用中间件大全
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​低代码平台的核心价值与优势
  • (003)SlickEdit Unity的补全
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (ros//EnvironmentVariables)ros环境变量
  • (SpringBoot)第二章:Spring创建和使用
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (一) storm的集群安装与配置
  • (转)Sublime Text3配置Lua运行环境
  • (转)为C# Windows服务添加安装程序
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .NET Core 成都线下面基会拉开序幕
  • .NET MVC第五章、模型绑定获取表单数据
  • .net 提取注释生成API文档 帮助文档
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .Net环境下的缓存技术介绍