当前位置:首页 > 资讯 > 正文

简析Ultraleap手部追踪原理,支持高通XR2参考设计

从最早的硬件原型到最新的Gemini(双子座)追踪平台,Ultraleap的手部追踪硬件和软件已经取得了长足的进步。本文将介绍相关的原始传感器数据是转换成能够用于应用程序的有用信息。

1. 手部追踪硬件

从硬件的角度来看,手部追踪的原理相对简单。设备的核心是两个摄像头和一定数量的红外发光LED。它们追踪波长为850纳米的红外光,亦即可见光光谱之外。LED的脉冲与摄像头的帧速率同步,从而能够大大降低功耗并提高强度。

Ultraleap的手部追踪模块Leap Motion Controller和Stereo IR 170 Camera模块遵循这一原则,采用高通XR2参考设计的VR/AR头显同样如是。

简析Ultraleap手部追踪原理,支持高通XR2参考设计  第1张

Ultraleap手部追踪范围

广角镜头用来创造一个大交互区域,并允许设备在所述范围内追踪用户双手。Leap Motion Controller提供一个从10mm-60mm或更大的交互区域,常规视场140度x120度。Stereo IR 170 Camera模块支持更大的交互区域,从10cm-75cm或更大,常规视场则达到170度x170度(最小160度x160度)。

Leap Motion Controller采用倒金字塔形态,Stereo IR 170则选择倒锥体形状。这是由双目摄像头的视场相交而产生。

这个范围受LED光在空间中的传播限制,因为超出距离后,在3D中推断双手位置会变得更加困难。LED的光强度最终受到USB链接的最大接收电流所限制。

手部追踪设备的USB控件将传感器数据读入自己的本地存储器,并执行任何必要的分辨率调整。相关数据然后通过USB传输到Ultraleap的手部追踪软件。

简析Ultraleap手部追踪原理,支持高通XR2参考设计  第2张

所述数据以近红外光谱的灰度立体图像呈现,涵盖左右两个摄像头。通常,你能看到的只有被设备LED直接照亮的对象。然而,白炽灯泡、卤钨灯和日光同样会以红外线照亮场景。另外,你可能会注意到,即便在可见光谱中为黑色,诸如棉布衬衫看起来都可能为白色。

2. 手部追踪软件

一旦图像数据流式传输到PC,系统将执行繁重的数学运算。尽管普遍存在误解,但Ultraleap的手部追踪平台并不生成深度图,而是将高级算法应用于原始传感器数据。

Leap Motion Service是用于处理图像的PC软件。在补偿背景对象(如头部)和环境光照后,所述工具将对图像进行分析并重建设备“所见的”三维表示。

接下来,追踪层匹配数据并提取诸如手指之类的追踪信息。Ultraleap的手部追踪算法解析三维数据,并推断被遮挡对象的位置。软件同时会采用滤波技术以保证数据的平滑时间一致性。然后,Leap Motion Service将结果(以一系列帧或快照表示,并且包含所有追踪数据)输入传输协议。

通过所述协议,Leap Motion Service通过TCP或WebSocket与Leap Motion Panel,以及本机和web客户端库进行通信。客户机库将数据组织成面向对象的API结构,管理帧历史,并提供帮助函数和类。然后,应用程序逻辑将结合Leap Motion输入,并允许基于运动控制的交互体验。