眼动追踪演示:将 SVG 作为感兴趣区域
概述
在这个演示中,我们的目标是捕捉眼动追踪注视数据。具体来说,我们想要捕捉与特定感兴趣区域 (AOIs) 相关的注视数据,这些区域在研究中作为 SVG 形状对象 包含在内。
下面显示的是演示活动的预览,红色圆圈通过实时指示注视位置来提供反馈:
- 注意: 演示录制是在 5.5 分钟的校准选项下完成的; 红色圆圈是一个对象,实时表示参与者的注视,整体设置将在下面进一步解释。
观看这个快速视频,展示演示活动的实际情况,以及最后记录的数据预览:
对象
此演示包含了一张码头的背景图片,并在其上放置了 4 个 SVG 人物对象。此外,还有一个注视反馈对象(红色圆圈)。为了演示的目的,我们希望实时表示注视,这个红色圆圈反映了这一点。
创建的自定义变量
为了记录数据,需要 变量。为此演示创建的所有自定义变量的列表如下,通过“变量”选项卡可以访问。下面的图像显示了此演示使用的变量的详细信息和设置:
以下是对变量及其用途的解释:
变量名称 | 描述 | 记录类型 |
---|---|---|
所有注视数据 | 用于存储 x/y 坐标数组 [X,Y],以及时间捕捉 [T] 和测量的置信水平 [C]。 | 所有变化 / 时间序列 |
AOI1_注视数据 | 用于存储参与者注视名为 AOI1 的 SVG 对象时的数组 [X,Y,T,C]。 | 所有变化 / 时间序列 |
SVG1_路径 | 记录注视停留在 AOI1 的 SVG 节点的路径(进一步解释如下)。 | 所有变化 / 时间序列 |
AOI2_注视数据 | 用于存储参与者注视名为 AOI2 的 SVG 对象时的数组 [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) 的注视数据。
如果您有任何疑问,请与我们联系,并告知您的实验的详细信息,特别是如果您需要进行可行性检查!