{
  "paper_id": "52812cc349df91b946a9cd270ce96ccb",
  "paper_title": "HoloLens 2 Research Mode as a Tool for Computer Vision Research",
  "paper_authors": [
    "Dorin Ungureanu",
    "Federica Bogo",
    "Silvano Galliani",
    "Pooja Sama",
    "Xin Duan",
    "Casey Meekhof",
    "Jan Stühmer",
    "Thomas J. Cashman",
    "Bugra Tekin",
    "Johannes L. Schönberger",
    "Pawel Olszta",
    "Marc Pollefeys"
  ],
  "publication_date": "2020",
  "publication_venue": "Microsoft 技术报告",
  "abstract": "Microsoft HoloLens 2 等混合现实头显具备强大的传感与集成计算能力，是计算机视觉研究的理想平台。本文介绍 HoloLens 2 Research Mode，这是一套用于访问原始传感器流的 API 和工具。报告概述了该 API，说明了如何通过处理传感器数据构建混合现实应用，并展示了如何将 Research Mode 传感器数据与 HoloLens 2 内置的眼动追踪和手部追踪能力结合。通过开放 Research Mode API 及开源工具，作者旨在推动计算机视觉与机器人学领域的进一步研究，并鼓励研究社区贡献。\n",
  "keywords": [
    "HoloLens 2",
    "Research Mode",
    "混合现实",
    "计算机视觉",
    "原始传感器流",
    "深度相机",
    "可见光追踪相机",
    "IMU",
    "SLAM",
    "TSDF 体积积分"
  ],
  "paper_institutions": [
    "Microsoft"
  ],
  "output_language": "zh",
  "provider": "doubao",
  "model": "doubao-seed-2.1-pro",
  "prompt_template": "simple",
  "extracted_at": "2026-10-20T04:36:28.432270Z",
  "template_tag": "simple",
  "summary": "### 摘要\n\n混合现实应用的发展依赖多传感器融合与端侧视觉算法，但新一代 HoloLens 2 硬件与 2018 年第一代 Research Mode 不兼容，研究人员难以直接获取深度、红外、灰度和惯性数据；为此，本文提出第二代 HoloLens Research Mode，通过 C++ API、传感器帧接口和开源 HoloLens2ForCV 仓库降低计算机视觉与机器人学研究门槛。系统在 HoloLens 2 上实现，该设备包含负责实时头动、手部、眼动追踪和空间映射的 HPU 2.0 与 DNN 核心，以及可供应用使用的 Qualcomm Snapdragon 850 SoC；Research Mode 暴露四路可见光追踪相机、AHAT 与 Long Throw 两种深度模式、对应 Active Brightness 红外流和加速度计、陀螺仪、磁力计。其核心机制是由 ResearchModeDevice 枚举 Sensor，再由 SensorFrame 读取数据，并通过刚体外参 T_sensor^rig=(R,t) 将各传感器坐标统一到以左前可见光相机为原点的 rigNode，随后借助 Windows Perception API 和 rigNode GUID 将设备坐标定位到世界坐标系；相机不直接给出内参，而通过 MapImagePointToCameraUnitPlane 与 MapCameraSpaceToImagePoint 完成二维和三维坐标映射。论文未采用标准基准数据集，而是用实机采集流和四个 UWP 示例验证工具链：SensorVisualization 用于实时查看流，CameraWithCVAndCalibration 用 OpenCV 检测并三角化 ArUco 标记，CalibrationVisualization 显示坐标帧，StreamRecorder 同步记录深度、VLC、RGB、头、手、眼动数据并用 Python 脚本完成时间对齐和坐标统一；这种设置直接验证了原始数据访问、端侧处理、离线记录以及与现有视觉库集成的可行性。论文没有报告传统定量精度指标，关键结果包括可在设备上实时可视化和处理传感器流、同步多模态追踪数据、用近 700 帧 Long Throw 深度、RGB 和头姿通过 Open3D 完成 TSDF 场景重建，以及将深度和 RGB 输入 BAD SLAM 后把估计位姿与 HoloLens 头部位姿进行对比，从而支持其“少量代码即可原型化三维重建与 SLAM”的核心主张。未来方向包括扩展示例应用、吸收社区贡献，以及服务机器人、三维重建、场景理解和人机交互研究；真实场景可覆盖辅助手术、远程协作、任务指导和数字孪生叠加，但 Research Mode 仅面向研究而非终端用户部署，Microsoft 不承诺未来硬件或系统更新支持，且 AHAT 主要面向 1 米内手部追踪、Long Throw 仅 1–5 fps，音频捕获在论文撰写时也尚未在示例中实现。\n\n### 关键要点\n\n- Research Mode 面向学术和工业研究人员，用于在 HoloLens 2 上访问原始传感器数据，但不适合部署给终端用户，且官方不保证未来硬件或操作系统更新继续支持。\n- HoloLens 2 包含 HPU 2.0、专用 DNN 核心和 Qualcomm Snapdragon 850；HPU 运行头动追踪、手部追踪、眼动追踪和空间映射等端侧视觉算法，SoC 上的 CPU 可用于研究应用。\n- Research Mode 支持四路 640×480、8 位、30 fps 的可见光追踪相机，以及 512×512、16 位、45 fps 的 AHAT 近距深度和 320×288、16 位、1–5 fps 的 Long Throw 远距深度。\n- AHAT 基于相位飞行时间技术并只保存用于 1 米内手部追踪的“混叠深度”，Long Throw 则用于设备端空间映射；两种深度模式还提供由同一调制红外信号计算的 Active Brightness 图像。\n- API 的主循环包括创建 ResearchModeDevice、获取传感器描述符、打开传感器流和调用 GetNextBuffer 读取帧；OpenStream 与 GetNextBuffer 必须在同一线程调用，阻塞式读取通常需要为每个传感器使用独立线程。\n- 相机帧可访问分辨率、曝光、增益、灰度或深度缓冲，Long Throw 还提供 sigma 缓冲并用最高有效位标记不可靠深度，AHAT 则将无效码嵌入深度通道。\n- 所有传感器通过旋转和平移组成的外参刚体变换关联到 rigNode，HoloLens 2 的设备原点是左前可见光相机；世界坐标定位需通过 IResearchModeSensorDevicePerception 获取 rigNode GUID 并结合 Windows Perception API。\n- HoloLens2ForCV 仓库初始提供四个 UWP 示例，分别用于传感器可视化、OpenCV ArUco 检测与三角化、校准坐标帧可视化，以及多流记录。\n- StreamRecorder 可同步捕获 Research Mode 深度和 VLC 流、HoloLens PhotoVideo RGB 流、头动、手部和眼动追踪数据，并可将数据保存到设备后用 Python 脚本进行时间与空间对齐。\n- 论文用近 700 帧 Long Throw 深度、RGB 和头姿数据结合 Open3D 展示 TSDF 体积积分，又将深度和 RGB 输入 BAD SLAM，并将 SLAM 估计位姿与 HoloLens 提供的头部位姿进行对比。"
}