vr|ar|虚拟现实
Facebook进一步介绍关于最近用以优化控制器追踪性能的版本更新,尤其是针对具有挑战性的追踪环境,如包含圣诞树或假日装饰灯具的空间。由于Facebook的追踪系统是基于检测和几何匹配小簇红外光,所以假日季期间将呈现重大的挑战,因为它要在包含数百个光点blob的背景下正确追踪控制器,而系统可能会将其误认为是控制器。
1. 追踪挑战
当控制器位于圣诞树前时,Insight追踪系统所感知的画面将如下所示。右侧的黄点是系统检测到的所有潜在控制器LED。如你所见,无论是来自圣诞树,装饰吊灯,还是其他可能存在的灯串,外部光源都会给系统定位控制器的LED带来挑战。
图中的其他光源对追踪算法提出了一定的挑战:
更多的光点blob会导致分割和匹配的计算时间增加。
若无关于控制器在上一帧中的位置信息,如果控制器介于装饰灯具的离群值范围内,则系统几乎不可能计算姿势。
就算存在先前的信息,即便是单个错误的LED都会造成错误地匹配,从而导致追踪失败。
由于Quest的严格计算预算,计算时间的任何增加都可能造成camera的掉帧。
面对上述挑战,在假日装饰灯附近的环境中进行控制器追踪非常困难,并且除非用户关闭灯具或将其移至其他房间,否则可能会导致错误。但Facebook希望人们什么时候都能够在家里享Quest和Rift S的乐趣,所以Facebook专注于优化追踪系统。
2. 解决方案
Facebook构建了两种主要方法来解决这个问题的不同方面:
首先,开发了一种可以检测环境中的固定3D灯源,并使用其3D位置来帮助拒绝这种光点blob的全新算法。映射外部点的过程类似于Insight追踪背后的系统。
要为这种固定的离群点创建精确的映射,需要系统计算它们的基本几何形状并对其在3D空间中的位置进行三角测量。系统将在游玩过程建立其追踪的标记列表。这种标记不仅存储离群点的位置,同时存储称为协方差的不确定性值。这种不确定性可以帮助提高系统当标记为固定时的判断精度。一旦在同一位置多次看到相同的标记,系统就会予以确认并在追踪过程忽略相关的光点blob。
在下面的并排图像中,你可以看到新算法(左侧)识别出粉红色标记和绿色标记。其中,粉红色为圣诞树灯具的光点blob,而绿色则为控制器LED的光点blob。
一旦绘制了固定标记,系统就会将它们投影到camera视图,从而获取其在每一帧中的像素位置。在所述位置检测到的光点blob(通过特定阈值内的误差度量来测量)不会用于匹配。进行删减后,系统将获得一个非常有可能是控制器blob的非固定blob索引列表。但是,仅追踪固定的标记不足以确保可靠的追踪。在最具挑战性的环境中,我们希望系统在处理之前先剔除明显不正确的光源。
所以,Facebook通过内部测试分析为何会发生追踪不匹配。Facebook发现通常的情况是,由于姿态匹配,不匹配的控制器blob尺寸会错误,如假定姿态接近时blob太小。综上所述,图像中的显式blob尺寸基本可根据以下因素进行预测:
LED与摄像头的距离
入射到LED的入射角
图像blob到图像中心的距离
图像Blob椭圆在图像空间中的方向
考虑到这种关系,Facebook尝试了不同的方法来将上述输入信号建模为输出。Facebook发现由于塑料的折射效应,几何建模相当不准确,而机器学习方法(尤其是小型神经网络)能带来最高的精确度。
Facebook利用Caffe2训练了一个极小且针对性极强的CNN卷积神经网络,从而验证明显太大或太小而无法成为控制器blob的blob。Facebook对特定的内部采集数据集进行了训练,并发现这与映射标记结合时能够明显减少离群值数量的有效方法。
3. 结果
通过这种优化,追踪系统的性能在充满挑战的环境中(如假日季期间常见的环境)有了显著改善。最大的改进是显著减少了数据丢失的数量,并几乎消除了在密集外部照明情况下不正确的LED匹配。我们发现这能够改善用户体验,同时希望Quest和Rift S用户能够全年无缝地享受VR的乐趣。
全部0条评论
快来发表一下你的评论吧 !