Oculus分享:为挑战性环境优化6DoF控制器追踪

尤其是针对具有挑战性的追踪环境

映维网曾在九月和十一月分享了关于Oculus Constellation追踪系统的相关细节,其中负责AR/VR设备输入追踪的Facebook工程经理安德鲁·梅利姆(Andrew Melim)撰文介绍了他们是如何用基于Constellation追踪的控制器来提高交互保真度,以及在最近版本更新中所采用的最新LED匹配方案。日前,安德鲁·梅利姆再次撰文的介绍了他们为进一步优化和强化Oculus Insight控制器追踪系统而付出的努力。下面是映维网的具体整理:

延伸阅读:深入探索Oculus Insight如何提高追踪保真度,确保内向外追踪系统性能

延伸阅读:Oculus揭秘Touch控制器追踪技术:LED 匹配

Facebook进一步介绍关于最近用以优化控制器追踪性能的版本更新,尤其是针对具有挑战性的追踪环境,如包含圣诞树或假日装饰灯具的空间。由于Facebook的追踪系统是基于检测和几何匹配小簇红外光,所以假日季期间将呈现重大的挑战,因为它要在包含数百个光点blob的背景下正确追踪控制器,而系统可能会将其误认为是控制器。

1. 追踪挑战

当控制器位于圣诞树前时,Insight追踪系统所感知的画面将如下所示。右侧的黄点是系统检测到的所有潜在控制器LED。如你所见,无论是来自圣诞树,装饰吊灯,还是其他可能存在的灯串,外部光源都会给系统定位控制器的LED带来挑战。

  1. 图中的其他光源对追踪算法提出了一定的挑战:
  2. 更多的光点blob会导致分割和匹配的计算时间增加。
  3. 若无关于控制器在上一帧中的位置信息,如果控制器介于装饰灯具的离群值范围内,则系统几乎不可能计算姿势。
  4. 就算存在先前的信息,即便是单个错误的LED都会造成错误地匹配,从而导致追踪失败。
  5. 由于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尺寸基本可根据以下因素进行预测:

  1. LED与摄像头的距离
  2. 入射到LED的入射角
  3. 图像blob到图像中心的距离
  4. 图像Blob椭圆在图像空间中的方向

考虑到这种关系,Facebook尝试了不同的方法来将上述输入信号建模为输出。Facebook发现由于塑料的折射效应,几何建模相当不准确,而机器学习方法(尤其是小型神经网络)能带来最高的精确度。

Facebook利用Caffe2训练了一个极小且针对性极强的CNN卷积神经网络,从而验证明显太大或太小而无法成为控制器blob的blob。Facebook对特定的内部采集数据集进行了训练,并发现这与映射标记结合时能够明显减少离群值数量的有效方法。

3. 结果

通过这种优化,追踪系统的性能在充满挑战的环境中(如假日季期间常见的环境)有了显著改善。最大的改进是显著减少了数据丢失的数量,并几乎消除了在密集外部照明情况下不正确的LED匹配。我们发现这能够改善用户体验,同时希望Quest和Rift S用户能够全年无缝地享受VR的乐趣。

【XR】为挑战性环境优化6DoF控制器追踪相关推荐

  1. 国内网络环境优化qiime2安装过程-QIIME 2安装慢或无法下载的解决方案

    文章目录 Fast install qiime2 in China region Note: 安装q2-studio 猜你喜欢 写在后面 原文:为qiime2国内社区贡献点力量:国内网络环境优化qii ...

  2. 魔兽服务器优化,官方:游戏环境优化方案启动 新服务器开放

    尊敬的用户: 自从<魔兽世界>正式运营以来,广大玩家都在游戏中结交朋友.体验游戏内容.为了把更好的游戏体验带给大家,我们的"游戏环境优化方案"也随之正式启动,包括了新服 ...

  3. SketchUp:SketchUp草图大师软件使用技巧总结(视图操作,绘图环境优化,缩放/镜像/对齐/桌边倒圆角案例)

    SketchUp:SketchUp草图大师软件使用技巧总结(视图操作,绘图环境优化,缩放/镜像/对齐/桌边倒圆角案例) 目录 经验总结 经典案例操作步骤说明 1.基础案例 2.视图操作

  4. matlab写泰勒中值定理,基于Matlab环境优化Taylor中值定理教学

    基于Matlab环境优化Taylor中值定理教学 [摘要]  利用Matlab7.01数学软件学习<高等数学>中Taylor中值定理,把传统的教学模式"讲授?记忆"教学 ...

  5. 【Android 性能优化】应用启动优化 ( 启动优化项目 | 界面启动时间 | 启动优化项目 | 方法追踪 MethodTracing )

    文章目录 一. 界面启动时间 二. 启动优化项目 三. 方法追踪 一. 界面启动时间 在 [Android 性能优化]应用启动优化 ( 启动白屏问题 | 应用启动时间测量 | 冷启动 | 热启动 | ...

  6. cisco 《连接网络》实验wan综合实验_GNS3实验环境优化与安装

    GNS3概述 GNS3是一款具有图形化界面可以运行在多平台(包括Windows, Linux, and MacOS等)的网络虚拟软件.Cisco网络设备管理员或是想要通过CCNA,CCNP,CCIE等 ...

  7. gta4 l3环境优化补丁_【安全刻不容缓】快给你们的爱7打打补丁吧 俄罗斯大佬的持续更新补丁包来了...

    微软win7补丁合集是来自战斗民族俄罗斯某大神的力作,该合集包的名字叫UpdatePack7R2,这是个win7更新补丁安装包.Win7累积更新离线安装包和win7补丁合集,它包括所有关键更新和安全更 ...

  8. 贝叶斯判别分析的基本步骤_环境感知算法-目标追踪1.2- 贝叶斯方法

    1. 频率派 vs 贝叶斯 统计学 贝叶斯统计学十分庞大,这里我们只需一个概览. 在自动驾驶环境感知中,我们的目的想要通过一系列的观测来描述我们感兴趣的未知量,解决估计,分类,检测等问题时,比如追踪经 ...

  9. 【优化控制】基于遗传算法实现优化LQR控制器含Matlab源码

    1 简介 车辆悬架系统是影响汽车行驶平顺性和乘坐舒适性的重要结构部件.传统的被动悬架由于其弹性元件刚度和减震器阻尼是固定不变的,这导致其只能适应某一特定路面行驶,限制了适应多样性路况的需求以及车辆性能 ...

最新文章

  1. 重磅!2020 中国高校毕业生月薪排名:清华第一,24所高校过万
  2. 乔布斯+斯坦福演讲+Stay Hungry. Stay Foolish.
  3. 一起谈.NET技术,云计算和数据
  4. 201521123070 《JAVA程序设计》第2周学习总结
  5. 从JS敏感信息泄露到GETSHELL
  6. 百度优化有感,原创内容只是个传说
  7. struct数组初始化
  8. 删除链表中绝对值相等的结点(C++)
  9. Android开发笔记(三十七)按钮类控件
  10. PS网页设计教程V——如何在Photoshop中创建一个商业网站布局
  11. 解放生产力「GitHub 热点速览 v.21.51」
  12. 【每日早报】2019/09/17
  13. python请输入一个三位数输出该三位数的逆序数_编写程序,从键盘输入一个三位数,求出其逆序数并输出,例如输入123,输出321。...
  14. 【沧海拾昧】微机原理:可编程串行接口芯片8251A
  15. 5步完成编写Mysql的shell脚本
  16. 两电脑使用网线连接传文件方法
  17. wlan测试仪软件,MT8860C WLAN 测试仪
  18. 阿里CDN全网加速配HTTPS(SSL)报错:SSLPub错误,请重新填写
  19. 【Linux】linux进程--进程控制:进程创建、进程终止、进程等待、进程程序替换
  20. 谷歌广告联盟怎么收款?推荐使用招商银行电汇秒到账

热门文章

  1. java基础知识之加强
  2. 插件!crx插件包下载网址与安装方法!!
  3. 面试篇——Spring
  4. Linux-IO全整理:BIO/NIO/IO多路复用解析
  5. 勤学勤记(四)——放弃Addon,选择纯C++
  6. android的word默认字体大小设置,更改Microsoft Word文档的默认字体大小和样式 | MOS86...
  7. unity游戏动画 从入门到住院 二 模型导入
  8. 电脑之间利用串口传文件
  9. Unable to locate appropriate constructor on class
  10. vsftpd服务的黑名单和白名单