是否可以访问 hololens 2 上的瞳孔直径等眼动追踪数据?

Posted

技术标签:

【中文标题】是否可以访问 hololens 2 上的瞳孔直径等眼动追踪数据?【英文标题】:Is it possible to access eye tracking data like pupil diameter on hololens 2? 【发布时间】:2021-12-02 16:42:19 【问题描述】:

有没有办法存储和查看眼动追踪数据,例如用户瞳孔的大小或眼动速度?

我目前正在使用 MRTK 统一构建 hololens 2 应用程序。现在我想“记录”、存储和查看用户的眼动追踪数据。

【问题讨论】:

Available Eye tracking data -> 不。唯一可用的信息是每只眼睛的眼睛注视光线(源点 + 方向) -> 是的,您可以将给定的光线与前一个样本进行比较以计算“速度”....一般来说:通常眼睛不会“移动”太多^^我的旋转更多;) 【参考方案1】:

我不相信你可以得到瞳孔直径,但看起来你可以通过测量帧之间注视方向的变化来估计角速度:

Vector3 previousGazeDir;

// ...

Vector3 newGazeDir = CoreServices.InputSystem.EyeGazeProvider.GazeDirection;

if (previousGazeDir != Vector3.zero)

    float gazeAngle = Vector3.Angle(previousGazeDir, newGazeDir);

    float gazeAngularVelocity = gazeAngle/Time.deltaTime;

    // .. do stuff with gazeAngularVelocity


previousGazeDir = newGazeDir;

根据您的具体用例,您可能需要考虑头部朝向的变化。

【讨论】:

这很有帮助,感谢您提供的短代码 sn-p。我注意到 MRTK 还提供了一个名为“BasicInputLogger”的脚本,它已经跟踪并保存了一些眼睛注视信息。您是否已经使用过该脚本? 不,实际上根本没有与 MRTK 合作过 :D 我只是通过阅读文档把这些放在一起 :)【参考方案2】:

Hololens 2 似乎确实支持眼动追踪,并且还通过混合现实工具包支持 appears to integrate with Unity。虽然我没有使用 Hololens 的眼动追踪工具,但我可以说,通过逐帧跟踪凝视方向,可以收集“眼动速度”。我在使用的眼动追踪 API 中没有看到瞳孔大小,在链接的文档中也没有看到。

您可以在代码中跟踪的几乎所有内容都可以“记录”。

【讨论】:

感谢您的快速回复。可悲的是,我依赖瞳孔直径。我想使用这些数据来自动检测情绪。看来我必须找到另一种方法,例如头部运动跟踪或语调。

以上是关于是否可以访问 hololens 2 上的瞳孔直径等眼动追踪数据?的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D Hololens 访问 Windows.Storage.KnownFolders

在 Hololens 中禁用一般语音命令

hololens 2 和计算机上的统一应用程序之间的 TCP 连接只能工作一次

SDOI2013 R1 Day1

在 Kiosk 模式下配置时,是不是可以从 HoloLens 2 中的门户接收虚拟输入

HoloLens 2 是不是需要 Azure AD 帐户