眼动追踪演示:将SVG作为关注区域
概述
在这个演示中,我们的目标是捕获眼动追踪的注视数据。具体来说,我们想要捕获与特定关注区域(AOIs)相关的注视数据,这些区域在研究中以SVG 形状对象的形式包含。
以下显示了演示运行的预览,红色圆圈通过实时指示注视位置提供反馈:
- 注意: 演示录音是通过5.5分钟的校准选项完成的;红色圆圈是一个表示参与者实时注视的对象,整体设置将在下面进一步解释。
请查看这段简短的视频,展示了演示的实时情况,以及在最后记录的数据预览:
对象
此演示包括一个码头的背景图像,上面放置了4个SVG人形对象。还包括一个注视反馈对象(红色圆圈)。为此演示的目的,我们想要实时表示注视,而这个红色圆圈反映了这一点。
创建的自定义变量
为了记录数据,变量是必需的。为此演示创建的所有自定义变量的列表如下,可通过“变量”选项卡访问。下图显示了此演示所使用的变量的详细信息和设置:
以下是变量及其用途的说明:
变量名称 | 描述 | 记录类型 |
---|---|---|
All Gaze Data | 用于存储[x/y]坐标的数组[X,Y],以及时间捕获[T]和测量的置信水平[C]。 | 所有变化/时间序列 |
AOI1_gaze_data | 用于存储当参与者注视于名为AOI1的SVG对象时的[X,Y,T,C]数组。 | 所有变化/时间序列 |
SVG1_path | 记录注视停留在AOI1的SVG节点的路径(略作进一步解释)。 | 所有变化/时间序列 |
AOI2_gaze_data | 用于存储当参与者注视于名为AOI2的SVG对象时的[X,Y,T,C]数组。 | 所有变化/时间序列 |
SVG2_path | 记录注视停留在AOI2的SVG节点的路径。 | 所有变化/时间序列 |
依此类推….
事件设置
由于我们对捕获注视数据感兴趣,因此使用以下事件:
- 所有注视数据: 此事件在任务开始时即开始,并持续记录眼动追踪注视数据。
- AOI注视数据: 此事件在参与者注视特定AOI(即四个人中的一个)时开始,并记录与注视相关的值。
- 完成实验: 一个接受/结束会话的事件,并在受试者点击“完成”按钮时记录数据。
事件1:所有注视数据
对于第一个事件,我们希望完成以下任务:
- 在研究期间记录所有眼动追踪数据
- 实时在屏幕上显示检测到的注视位置(以便你作为研究者在尝试演示时能够感知网络摄像头的追踪)
触发器
因此,我们使用眼动追踪注视触发器来启动此事件。
动作
一旦检测到注视,以下动作将发生: 首先,我们调用早前创建的All Gaze Data
变量,在设置/记录变量
动作中以记录数据作为[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_gaze_data
将记录[X,Y,T,C]数组。 - 同时,
SVG1_path
变量将被记录,以包含刺激信息
,在这种情况下,由于目标关注区域(AOI1)是一个SVG,因此刺激信息将包含SVG的节点。
为了指定下一个AOI,在对话框中单击+添加否则如果案例
按钮,然后重复如上所示的结构/设置,主要区别在于设置刺激名称
为AOI2
,并且还调用用于存储数据的特定变量,即AOI2_gaze_data
和SVG2_Path
,如下所示:
接下来,对于AOI3,我们选择再次添加否则如果案例
,并遵循相同的结构,但使用我们创建的自定义变量存储此特定AOI的数据:
同样,对于AOI4,我们选择再次添加否则如果案例
,并遵循相同的结构,但使用我们创建的自定义变量存储此特定AOI的数据:
事件3:完成实验/保存数据
最后,为了记录和存储数据,我们需要选择跳转操作
以接受/结束会话
操作,一旦点击“完成”按钮(这是触发器),如下所示。
触发器
该触发器被指定为在“完成按钮”被使用时发生:
动作
将会发生的动作是接受会话,从而记录数据。
记录的数据
记录的数据包括所有自定义变量以及实验特定的值,如任务编号、会话编号等。
在下面的示例中,数据视图与导出
选项卡显示了当数据按时间序列文件分离时的样子。每个时间序列变量(即记录所有变化的变量)在左侧面板中显示其自己的CSV文件。通过利用导出格式
设置可以实现此功能。
选择_All Gaze Data.csv_时,将记录许多变量,包括下方所示。‘值’列捕获[X,Y,T,C]数组,其中值用逗号分隔:
下图显示了当注视位于AOI1时特定记录的数组的预览,如由‘值’列所示:
下图显示了当注视位于AOI1时特定记录的SVG路径的预览,如由‘值’列所示:
结论
此演示旨在展示如何记录注视数据并利用SVG对象在关注区域(AOI)发生注视时对注视进行记录。
如果您有任何问题,请与我们联系,让我们了解您实验的具体细节,尤其是如果您需要进行可行性检查!