作者:张韬、林泽一 、闻超 、赵洋
作为头戴的追踪配件,VR手柄可以通过HMD(头戴显示设备)的inside-out光学追踪定位原理,计算出手柄的空间运动轨迹,同时结合6轴传感器实现6DoF空间定位。与此同时,结合手柄控制器的物理按键、马达反馈、摇杆等,用户还能获得逼真、细腻的触觉反馈,进一步增强虚拟现实人机交互的能力以及沉浸感,这也是目前无手柄方案所难以实现的。
目前主流VR手柄的追踪技术方案,包括光学追踪、自追踪和电磁追踪方案。
因精度高、功耗低、成本低,光学追踪是目前最主流的VR手柄追踪方式。为了保证IR灯(红外灯)不易受遮挡,通常手柄本体上都带有一个明显凸起的追踪光环。
但为了顺应VR设备小型化得趋势,提升用户携带的便利性,并提供更自然的交互方式,PICO取消了手柄上的追踪光环,选择在手柄本体有限区域内布置少量的IR灯。
更小的手柄、更少的IR灯,也意味着更频繁的遮挡。如何解决遮挡情况下的手柄追踪问题,则是PICO研发团队面临的关键课题。
基于团队在光学追踪与裸手追踪方面的技术积累,PICO创新性地提出了一套基于神经网络的多模态手柄追踪架构,其融合了惯性测量单元(IMU)、光学传感器和手部图像信息。在手柄被遮挡的情况下,裸手追踪能够提供更加精准的观测,同时手柄又能为手部追踪提供准确预测,两者深度融合、相互辅助。
由于手柄的遮挡,通常裸手视觉特征并不明显,这也常常会引发追踪失效。针对该难点,裸手算法团队创新性地提出Down-Top的端到端6DoF追踪算法,通过有效利用多目时序的全局上下文信息,一次性准确且稳定地预测手柄位姿信息,能够在手柄追踪失效时,及时提供鲁棒的6DoF位姿。
目前普遍的裸手追踪算法是基于Top-Down结构,即基于Detection模型检测出手部的bounding-box框,再利用bounding-box框将手部抠选出来,如下图所示:
该结构可以获得更高的精度,但是在平举、自然垂下等特殊动作场景中,由于小手柄遮挡或离得较远等原因,手部放大之后模糊的地方较多,如下图所示:
这种情况下,Top-Down的结构就很难检测出手腕点的位置,从而导致解算失败和手柄失效。但Down-Top的结构,则可以帮助PICO从大图中的手臂、身体等信息,判断手腕点的位置。
从使用Top-Down模型结构和Down-Top模型结构在平举和垂下等场景中的实验结果中,可以发现,使用Down-Top方案,能够在精度相近的情况下,获得更高的检出率:36%->93%。
传统光学追踪方案,依赖手柄上一个显著突出的物理结构(即追踪光环),来确保手柄在各种各样的握持角度和位置条件下,都有足够的LED灯点可以被定位摄像头观测到。多个LED光点在图像上的2D位置被确定后,则可以进行PNP解算,辅以手柄内高帧率的IMU,则可以获得精确的手柄高频定位结果,从而为用户提供准确、流畅的追踪体验。
PICO 4 手柄
Quest 2手柄
但去掉光环后,追踪算法则面临较大挑战。由于LED只能够被稀疏的布置于手柄本体的几个区域,且更少的数量和更易被遮挡的情况,也导致摄像头经常性地只能观测到有限的红外灯,甚至是零个。此时算法仅依赖IMU的惯性递推解算,并不能长时间提供稳定可靠的定位信息。
PICO算法团队经过多轮探索预研后,创新提出了融合惯性测量单元(IMU)、光学传感器和手部图像信息的多模态融合方案。该方案基于手势识别和手柄光学追踪的互补性,完美地解决了上述的一系列挑战和难点。团队将其命名为Centaur多模态融合算法。
Centaur多模态融合算法将视觉信息和惯性信息进行融合,进而得到手柄位姿及速度的最优估计,并提供给上层应用层。融合算法构成如下图所示:
图中各模块的功能:
当算法首次运行,或处于3DOF状态时,由于没有连续追踪产生的时序先验信息,因此需要Bootstrap from scratch的初始化方案。在LED及手势两种信息的加持下,初始化算法相比传统光学定位也做了相应的升级,并运行LED初始化和手势初始化两种算法,最先解出正确初始状态的算法将使用手柄初始位姿及速度初始化融合滤波器,从而显著改善各种握姿下手柄初始化的速度和成功率。
而当算法初始化完成并进入追踪状态时,算法流程又如下图所示:
Step 1. 当一个新的图像帧到来时,基于滑窗中的历史帧状态,利用IMU数据进行惯性递推解算,得到新图像帧的状态预测值。
Step 2. 基于预测的手柄位姿能在当前帧图像中得到手柄LED或手部特征的预测位置,下面具体分类描述:
Step 3. 最终的融合算法采用了Multi-State ESKF方案,采取了松耦合/紧耦合结合的模式,对追踪效果有显著改善的同时节省计算量并保证稳定性。
下图为仅有 3 颗 LED 灯时手柄静止状态下的追踪效果,多帧紧耦合比单帧松耦合的结果更加精确,追踪更加稳定,波动显著减小:
PICO 无灯环小手柄
PICO数据实验室构建了多模态的同步相机系统,不仅能获得大量且高精度的数据信息,也为技术和产品的研发奠定了坚实基础。该系统硬件方面包括工业 RGB 相机阵列,结构光扫描仪,光学动捕相机系统,以及 VR 头戴,软件方面包括点云注册、时空间标定、手势手柄自动标注等,数据采集与自动标注流程包含采集前的准备和数据采集作业,其中数据采集作业又分为两个阶段。
我们采用结构光扫描仪获取手柄和 IR 光球表面的密集点云获得了光球到手柄模型的转换关系。我们还将光球绑定到了 tag 标定板上,通过观测标定板获得了包括 VR 头戴在内的传感器参数;对于各个传感器的时间线,我们采用两种方式来对齐:一是侵入式地共用外部时钟信号,二是通过快速舞动头戴设备,从而获得 VR 头戴轨迹和与其绑定的光球轨迹来进行时、空间对齐。
采集前,结构光扫描及注册
阶段一,采集手和手柄空间关系
阶段二,手柄跟踪及手势标签
数据采集作业
第一阶段:相机系统同步采集工业相机和 VR 头戴相机的图像,并同时采集光学动捕相机捕捉的标志点坐标。
通过光球与手柄之间、阶段一获得的手和手柄之间的空间关系,以及阶段二采集的光球轨迹,就能获得手势、手柄在采集空间中的轨迹。另一方面,通过光球与头戴之间的空间关系与阶段二跟踪获得的光球轨迹,就能将手势、手柄投影到头戴相机中获得数据标签了。
PICO研发团队始终致力于为全球用户创造优质的XR技术和产品体验。手柄小型化设计是XR交互方案设计中的创新性和突破性进展,而PICO自研的Centaur多模态追踪算法,不仅让「手柄小型化」完成了技术突破并成功落地,也为后续的人机交互设计提供了新的思路和可能性。