眼动追踪演示:SVG作为兴趣区域
概述
在这个演示中,我们的目标是捕获眼动追踪的注视数据。具体来说,我们希望捕获与研究中包含的特定兴趣区域(AOIs)相关的注视数据,这些兴趣区域作为SVG 形状对象 被包括在研究中。
下面展示了演示的预览,红色圆圈通过实时指示注视位置提供反馈:
![]()
- 注意: 演示录制是使用5.5分钟的校准选项完成的;红色圆圈是一个对象,实时表示参与者的注视,整体设置在下面进一步说明。
观看这个快速视频,展示演示的实际操作以及结束时录制的数据预览:
对象
这个演示包括一个码头的背景图片,上面放置了4个SVG的人物对象。还有一个注视反馈对象(红色圆圈)。为了演示的目的,我们希望实时表示注视,而这个红色圆圈反映了这一点。
![]()
创建的自定义变量
为了记录数据,需要变量。下面显示了为此演示创建的所有自定义变量的列表,可以通过 ‘变量’ 标签访问。下面的图像显示了该演示使用的变量的详细信息和设置:
![]()
以下是变量及其用途的解释:
| 变量名称 | 描述 | 记录类型 |
|---|---|---|
所有注视数据 | 用于存储x/y坐标数组 [X,Y],以及时间捕获 [T] 和测量的置信水平 [C]。 | 所有变化 / 时间序列 |
AOI1_注视数据 | 用于存储参与者观察SVG对象AOI1时的 [X,Y,T,C] 数组。 | 所有变化 / 时间序列 |
SVG1_路径 | 记录注视在AOI1上停留的SVG节点的路径(下面进一步解释)。 | 所有变化 / 时间序列 |
AOI2_注视数据 | 用于存储参与者观察SVG对象AOI2时的 [X,Y,T,C] 数组。 | 所有变化 / 时间序列 |
SVG2_路径 | 记录注视在AOI2上停留的SVG节点的路径。 | 所有变化 / 时间序列 |
依此类推….
设置事件
由于我们希望捕获注视数据,因此使用以下事件:
- 所有注视数据: 此事件在任务开始时启动,并持续记录眼动追踪注视数据。
- AOI注视数据: 此事件在参与者注视特定AOI(即四个人之一)时启动,并记录与注视相关的值。
- 完成实验: 一个事件,接受/结束会话,并在受试者点击“完成”按钮时记录数据。
事件1:所有注视数据
对于第一个事件,我们希望完成以下任务:
- 在研究持续期间记录所有眼动追踪数据
- 在屏幕上实时显示检测到的注视位置(以便您作为研究者可以在尝试演示时感受到网络摄像头的追踪)
触发器
因此,我们使用眼动追踪注视触发器来启动此事件。
![]()
动作
一旦检测到注视,将会发生以下动作: 首先,我们在 设置/记录变量 动作中调用我们之前创建的 所有注视数据 变量,以便将数据记录为 [X,Y,T,C] 数组。
![]()
上述过程(如下所示)通过单击绿色按钮,选择目标变量,然后单击铅笔图标 值选择菜单,然后选择 触发器特定(眼动追踪注视)菜单中的 [X,Y,T,C] 数组, 如下所示:
![]()
我们还添加了 设置对象属性 动作,以便将红色圆圈对象(称为“注视”)的 X 属性设置为坐标X、Y 属性设置为坐标Y。换句话说,我们将对象的x和y值设置为等于x和y坐标……最终,这就是使对象实时移动的原因。
![]()
注意: 坐标X 和 坐标Y 的选项从 触发器特定(眼动追踪注视)菜单中选择。
事件2:AOI注视数据
在这个事件中,我们希望设置事件,使得:
- 当注视特定目标AOIs(即我们上传的SVG对象)时也记录注视
- 报告AOI的特定SVG节点数据
触发器
眼动追踪注视 触发器在这里也用作触发器。但在这种情况下,我们表明只对特定元素感兴趣,通过单击相应的选项,然后选择作为兴趣区域(AOIs)的4个SVG对象。
![]()
动作
为了对每个AOI设置调用,我们需要一个 控制动作 → 条件动作(如果...那么)。本质上,我们希望Labvanced做以下事情……“如果参与者注视AOI1,那么我们希望在特定变量中记录该特定数据,以及该注视的SVG路径。”
首先,我们单击 +条件 按钮,两个铅笔图标值将出现。
- 第一个铅笔图标: 在第一个字段中,我们选择 触发器特定(眼动追踪注视)菜单 中的
刺激名称选项,使用触发器(在这种情况下为注视)所在的刺激的对象名称。 - 第二个铅笔图标: 选择
常量值,然后选择字符串选项并键入对象名称(即AOI1):
![]()
到目前为止,我们已经确认了 当 触发器(注视)位于名为AOI1的刺激上……那么:
![]()
- 我们之前创建的变量
AOI_注视数据将记录 [X,Y,T,C] 数组。 - 同时,
SVG1_路径变量将被记录以包含刺激信息,在这种情况下,由于感兴趣的目标(AOI1)是一个SVG,因此刺激信息将包含SVG的节点。
要指定下一个AOI,我们在对话框中单击 +添加否则如果情况 按钮,然后重复上述的结构/设置,但主要的差别是将 刺激名称 设置为 AOI2,并调用存储数据的特定变量,即 AOI2_注视数据 和 SVG2_路径,如下所示:
![]()
接下来,对于AOI3,我们选择再次 添加否则如果情况,并遵循相同的结构,但使用我们为存储该特定AOI数据创建的自定义变量:
![]()
同样,对于AOI4,我们选择再次 添加否则如果情况,并遵循相同的结构,但使用我们为存储该特定AOI数据创建的自定义变量:
![]()
事件3:完成实验/保存数据
最后,为了记录和存储数据,我们需要选择 跳转动作 到 接受/结束会话 动作,一旦点击“完成”按钮(这是触发器),如下所示。
触发器
触发器被指定为在使用“完成按钮”时发生:
![]()
动作
将要发生的动作是接受会话,这意味着数据将被记录。
![]()
记录的数据
记录的数据包括所有自定义变量以及实验特定值,如任务编号、会话编号等。
在下面的示例中,数据视图 & 导出 标签 显示数据在时间序列文件中分离后的样子。每个时间序列变量(即记录所有变化的变量)在左侧面板下显示其自己的CSV文件。这可以通过利用 导出格式 设置 指定相关设置来完成。
当选择 所有注视数据.csv 时,记录了多个变量,包括下面所示的变量。“值”列捕获 [X,Y,T,C] 数组,其中值以逗号分隔:
![]()
下图显示了当注视位于AOI1上时记录的数组的预览,如“值”列所示:
![]()
下图显示了当注视位于AOI1上时记录的SVG路径的预览,如“值”列所示:
![]()
结论
此演示旨在展示如何记录注视数据,并利用SVG对象在特定兴趣区域(AOI)上记录注视。
如果您有任何问题,请随时与我们联系,并告知我们您的实验详细信息,特别是如果您需要进行可行性检查!