解读 PICO 全新无灯环手柄背后的技术突破

news2025/1/16 18:53:58

从上世纪70年代的雅达利游戏机开始到后来的PS,Xbox和Switch等,按钮式控制器一直是团队输入的主要方式,并将继续在相当长的时间里继续作为重要的交互方式。这种控制器同样在新兴的XR系统中扮演着关键的角色,通过熟悉的按钮布局和物理质感来帮助用户完成各种各样的输入和交互。

过去的VR控制器相当笨重,并且需要灯环,容易彼此磕碰和丢失追踪,从而减损用户体验。但得益研发人员的努力所带来的技术进步,现在的VR控制器正朝着无灯环的轻型化之路发展,而这一切的核心是追踪算法。

以PICO为例,通过融合“光学追踪算法”与“CV模态手柄追踪算法”,团队自研了Centaur多模态融合算法,使得无灯环轻量化手柄能够在低LED或者无LED时实现稳定的手柄追踪效果。

从有环到无环

在过去,VR控制器的一个标志是巨大的圆形灯环,这是因为当时的设计考量是通过头显对控制器进行光学追踪以确定控制器的位姿,所以控制器必须搭载红外LED。为了提高追踪精度和范围,控制器需要采用巨大的圆形灯环设计。

从左到右是第一代Oculus Touch,第二代Oculus Touch,第三代Touch,以及最新的Touch Pro

以Meta的控制器迭代为例,第一代Oculus Touch的圆环朝下并且偏向外侧,但容易造成遮挡。第二代Oculus Touch的圆环改而朝上,但容易造成磕碰。

来到Touch Pro,Meta终于实现了无灯环设计,大大降低了彼此磕碰的可能性。但不同于Meta采用的自追踪方案,PICO团队“无灯环设计”背后的解法似乎更巧妙,功耗、成本也更低。

无环设计的挑战

如上所述,传统的控制器需要搭载灯环。为了确保控制器追踪工作正常进行,你需要找到具有已知3D点(LED)的控制器姿态。

一旦检测到摄像头成像中的每个红外LED,困难就变成了确定从每个blob(图像中的一块连通区域)到控制器特定LED的映射。一般来说,系统可以利用LED位置及其到blob的映射来确定控制器的位置和方向。由于仅使用头显来执行追踪,所以你必须高效地执行这一过程的每个环节。

在将blob与LED匹配的过程中,你需要围绕可能正确的潜在匹配生成一组假设。为了计算出准确的姿态,你需要最少的匹配项。算法能够根据处理的各种变量来从概率方面确定最可能的正确匹配。不正确的映射会导致位置及姿态计算错误,所以你需要在每帧中获得足够的准确匹配。

从理论上讲,仅给定一个摄像头图像,你至少需要看到三个LED才能解析控制器的姿态。但是,仅利用三个点会产生多个解,所以算法需要至少四个正确的匹配才能稳健地解析姿态。

然而,摄像头一次只能看到3个,2个,或者甚至1个LED是相当普遍的情况。所以在过去,控制器不得不搭载巨大的灯环,从而确保追踪可以流畅准确。

对于无灯环设计,由于LED灯大幅减少,并且LED均在手柄内,更容易被手部遮挡,所以这对手柄追踪的鲁棒性带来重大挑战。这主要是因为:

  • 更少LED灯对追踪稳定性带来挑战。例如,小手柄大部分场景下,可观测到的LED个数较少,部分场景下,可观测数量低于3颗,对追踪稳定性构成挑战。
  • 低LED观测数量下的手柄位置的初始化和定位速度,解算的难度更大:小手柄会面临更多低LED观测数量(3颗,2颗,甚至1颗)下的初始化与追踪问题,从数学上解算难度更大。

显然,如何攻克无环设计成为了行业各个厂商的一个重要课题。

PICO给出的答案

得益于研究人员的努力所带来的技术进步,PICO已经能够实现无灯环的小手柄设计。

PICO无灯环小手柄

它可以配合头显进行双手空间定位,并通过头显的内向外光学追踪定位原理计算出手柄的空间运动轨迹,并结合六轴传感器完成无线控制器的六自由度定位,进而结合控制器物理按键,马达反馈,摇杆等并反映到虚拟现实世界中。

设备大大增强了虚拟现实人机交互的能力,同时提升了沉浸感。而这背后的关键技术,源自PICO自研的Centaur多模态融合算法。

Centaur多模态融合算法

Centaur的命名灵感来自于提供小但更精确推力控制的半人马座火箭,而团队期望控制器实现算法能够足够轻量,但又能精确地完成任务。

对于这一点,PICO组建了一个跨部门的攻关小组,包括交互感知内部的手柄追踪算法团队、裸手追踪算法团队和交互数据团队。经过多次论证后,团队设计了一套基于神经网络的多模态手柄追踪框架。

PICO无灯环小手柄

在研发期间,上述多个部门通力合作,共同努力。其中,裸手追踪算法团队设计了SOTA的端到端6DoF位姿估计模型,提升了手部追踪的稳定性;手柄追踪算法团队优化了光学追踪的稳定性,并完成算法框架的构建;交互数据团队通过自研多源三维数据采集设备与高精重建算法,为算法提供了大量标注数据。

最终,基于AI方面的积累,团队通过融合“光学追踪算法”与“CV模态手柄追踪算法”带来了Centaur半人马算法。概括而言,团队在人手握姿的实时估计方法、多模态下的数据融合方法和基于IMU的高精度预测方法等方面做了突破创新,提出了一种多模态(LED IMU CV 等)的手持控制器追踪方法,有效解决了低LED数量或无LED时的手柄追踪稳定性问题。

  • 光学追踪算法:使用基于红外光的主动式光学定位追踪方案,这种技术可以通过头显摄像头观测到手柄上红外光电发射的红外光,并通过光斑检测和多视图几何原理来计算手柄的位置和姿态,与传统的电磁定位和超声波定位相比,这种方案具有高精度、低成本、低功耗等优点。
  • CV模态手柄追踪算法:CV模态手柄追踪场景下,由于手柄的遮挡,通常裸手视觉特征不明显,常常引发追踪失效。针对该难点问题,裸手算法团队创新性地提出了Down-top的端到端6DoF追踪算法,通过有效利用多目时序的全局上下文信息,一次性准确且稳定地预测手部位姿,能够在手柄追踪失效时,及时提供鲁棒的位姿。

简单来说,光学追踪算法通过识别手柄中的LED灯来实现对手柄的定位追踪,而CV模态手柄追踪算法能够在手柄上的LED被遮挡时追踪裸手的特征,并准确判断手柄的位置。

全方位自研软硬件基建

实际上,PICO已对Centaur多模态融合算法申请了专利保护,而团队表示,他们在交互算法技术积累和布局领先行业,并且是目前国内布局最早的厂商。相关负责人表示:“光学追踪和裸手追踪两大类算法,经历了PICO Neo3 和 PICO 4两代产品的打磨,对用户需求更了解,技术广度和深度有足够的积累。这两大类追踪算法,从追踪框架上不是独特唯一,也不是最先研究的。但是将他们融合起来,产品化上截至目前团队是第一个。”

以上成果离不开PICO覆盖数据生产平台和测试平台等的全方位自研软硬件基建支持。

在包含相机阵列与仿真系统的数据生产平台方面,由于数据需求的维度是多样化的,既要保证足够高的精度,又需要有充分的场景覆盖丰富度,而每一类的数据方案都有自己的优势与不足。所以,PICO在数据生产上也提供了多套技术方案,如相机阵列的真实采集与仿真合成平台方案。

为了生产高精数据,PICO在小手柄裸手姿态数据的高精标注任务中,一方面采用了自研的业内领先的基于相机阵列的多视角手部姿态标注技术方案,另一方面针对该特定任务进行预重建进一步提升了手部姿态数据的精度。多种方案有力保障了AI训练数据的支撑。

PICO高精度数据采集与自动标注流程:1. 采集前,结构光扫描及注册;2. 阶段一,采集手和手柄空间关系;3. 阶段二,手柄跟踪及手势标签

至于测试平台方面,这主要是支撑算法的精准度与延时指标的评测。除复用数据生产阶段的相机阵列来做精准度与延时指标分析以外,PICO同时采用了多种方案进行延时分析。

通过以上全方位的自研软硬件基建支持, PICO的裸手追踪在两年间快速积累,而相较于国内各家产品,在精度、稳定性以及延时等体验都是全面领先。其中在快速运动场景下,团队通过不断优化端到端的时序模型、千万级高精训练集以及MTP延迟测试方案,目前在算法延迟与追踪丢失率在全球范围能做到技术领先,能够给用户在游戏与运动场景带来了流畅且稳定的体验。

相关研究论文附录

值得一提的是,Centaur多模态融合算法的相关成果已经在国际计算机视觉领域最的学术会议ICCV进行了发表。实际上,ICCV 2023共收录了PICO的四篇论文。以下是所述四篇论文的简介(更多信息可点击论文标题):

相关论文:HaMuCo: Hand Pose Estimation via Multiview Collaborative Self-Supervised Learning

近些年来,3D 手部姿态估计的研究取得了显著的进展,然而这些进展很大程度上依赖于大规模带有 3D 标注的数据集。构建这样的数据集是一个费时又费力的过程。为了避免对 3D 标注的依赖,本研究提出一种全新的手部多视角协同自监督学习方法 HaMuCo,该方法利用可学习的跨视角交互网络对单视角网络进行监督,从而在标签噪声较大的情况下,稳定地实现有效的自监督训练。

HaMuCo 采用两阶段的网络结构,包含单视角网络以及跨视角交互网络。单视角网络使用基于模型(MANO)的方法来提供手部先验知识,从而在仅基于带有噪声的伪标签训练的基础上得到相对鲁棒的手部姿态估计结果;并为多视角网络提供多种丰富有效的手部特征。

跨视角交互网络首先利用每一个视角提供的手部特征构建多视角图结构特征;其次,利用双分支跨视角交互模块进行多视角的特征交互,从而使每一个视角可以捕获其他视角的互补特征来回归出更准确的 3D 手部姿态估计结果;最后对跨视角交互模块的输出结果进行多视角融合,用更准确的融合结果对单视角网络进行自蒸馏。由于缺乏准确的标签监督,本研究设计了两种多视角一致性损失函数来引导跨视角网络的自监督学习。

本研究通过大量实验验证了 HaMuCo 中的各项设计均对手部自监督学习有正向效果;同时该方法可以应用于多种场景(有/无外参,单/多视角),且在各种场景下的自监督表现均优于现有方法。此项工作还获得 ECCV HANDS22 Challenge 第一名。

相关论文:Decoupled Iterative Refinement Framework for Interacting Hands Reconstruction from a Single RGB Image

紧密交互的双手三维重建是一个极具挑战性的任务。一方面,对于紧密交互的双手,双手关节点之间具有多样的空间依赖关系,手部姿态的解空间复杂,这显著地增加了手部姿态预测的难度;另一方面,双手局部外观相似性高并且紧密交互双手之间往往存在严重的互遮挡,网络提取的视觉特征易混淆,这导致重建的手模型与图像的不对齐问题。

为了解决这些问题,团队提出了一种解耦合地迭代修正框架(DIR),能够同时实现精确的手部姿态预测和图像对齐。DIR构建了一个二维视觉特征空间和一个三维节点特征空间。DIR在三维节点空间中进行短距-长距双手关系建模,在二维视觉特征空间中进行局部视觉特征去混淆。

DIR通过二维和三维之间的空间映射关系,以节点特征为媒介沟通这两个空间,实现迭代地特征增强和手部姿态修正。DIR在目前最具挑战性的双手数据集上实现了远超SOTA的手部重建精度和像素对齐效果;同时,DIR在不需要虚拟数据辅助训练的情况下,表现出了强大的泛化能力。此工作入选 ICCV2023 Oral。

相关论文:Reconstructing Interacting Hands with Interaction Prior from Monocular Images

相比于单视图的单手重建任务,从单视图中重建双手面临更大的挑战,因为单视角固有的歧义性以及双手具有相似的外观、自遮挡严重等问题,要从单视角输入图像中准确地定位每个关节的位置是一项具有挑战性的任务。为了解决这些问题,团队提出了一种全新解决问题的路径:首先构建了一个双手互动的先验,将互动重建任务定义为从这个先验中进行条件采样的任务。

双手互动先验的成功构建来源于两方面:团队基于MoCap系统,构建了一个大规模的双手交互数集,获取交互双手的MANO参数模型;利用这些数据,团队构建了基于变分编码器的双手交互先验网络,包括均值编码模块、方差编码模块和重采样模块等用于预测均值和方差,并在重采样后通过解码器输出期望的交互结果。

最终,团队利用ViT提取单视角图像的特征,并充分融合其交互先验的相关性,最终获取双手重建的 SOTA 结果。在双手交互重建方面具有巨大的潜力,将为AR/VR领域的发展提供重要的贡献。

相关论文:Realistic Full-Body Tracking from Sparse Observations via Joint-Level Modeling

在VR/AR场景下更自然和准确地驱动数字人有益于给用户带来更加沉浸式的体验。在VR/AR场景下,最容易获取的输入是头戴设备和手柄的跟踪信息。通过这些有限的跟踪信息来驱动数字人是一个受限且极具有挑战的任务。对此,本研究提出了一个能够建模关节点相关性的两阶段框架,从而基于三个跟踪信息序列回归出准确、平滑和合理的全身姿态序列。

在第一阶段中,该方法先通过多层感知机得到初始的全身关节点信息,并基于此信息和输入跟踪信号构建关节点级别特征序列(包括:关节点位置特征、关节点旋转特征以及输入特征)。

在第二阶段中,该方法将关节点级别特征序列输入时空 Transformer 中捕获关节点之间的时空关系,从而得到更准确的全身姿态序列结果。

此外,该方法利用了多种损失函数(手部对齐损失函数,动态相关损失函数以及物理相关损失函数)来在这样受限的任务中更好地训练此两阶段框架。

最终,通过在虚拟数据集(AMASS)和实采数据集上的大量实验均证明了该方法可以取得比现有方法更好的准确率、平滑性以及物理合理性。

链接:解读 PICO 全新无灯环手柄背后的技术突破 - 映维网资讯

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1519085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Scala--01--简介、环境搭建

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. Scala简介1.1 Scala是什么?官网: [https://scala-lang.org/](https://scala-lang.org/)官方文档: [https://docs.scala-lang.…

Unity中的网格创建和曲线变形

Unity中的网格创建和曲线变形 3D贝塞尔曲线变形贝塞尔曲线基础线性公式二次方公式三次方公式 Unity 实现3D贝塞尔曲线变形准备工作脚本概述变量定义 变量解析函数解析 获取所有子节点GetAllChildren 获取所有子节点UpdateBezierBend 控制点更新CalculateBezier Bezier 曲线公式…

解锁基于LLMS的咒语:通过上下文学习重新思考对齐

一、写作动机: 最近的一项研究,LIMA,表明仅使用1K个示例进行SFT也可以实现显著的对齐性能,这表明对齐微调的效果可能是“表面的”。(知识和推理能力来源于预训练,而不是必须通过对齐微调获得的。&#xff…

掌握未来数据管理:Tidb数据库学习网站全攻略!

介绍:TiDB是一个开源的分布式关系型数据库,由PingCAP公司设计和研发。以下是对TiDB的详细介绍: HTAP支持:TiDB能够同时处理在线事务处理(OLTP)和在线分析处理(OLAP),这使…

50、东北大学、阿尔伯塔大学:Hi-GCN从2个层次角度进行图学习,用来诊断脑部疾病[你这和MVS-GCN套娃呢?]

本文由东北大学医学图像智能计算教育部重点实验室&#xff0c;加拿大阿尔伯塔大学于2020年10.24日发表于<Computers in Biology and Medicine> JCR\IF: Q1\7.7 Abstract&#xff1a; 目的:近年来&#xff0c;脑连接网络已被用于神经系统疾病的分类&#xff0c;如自闭症…

数据仓库的设计开发应用(二)

目录 四、数据仓库的设计&#xff08;一&#xff09;需求分析&#xff08;二&#xff09;概念设计&#xff08;三&#xff09;逻辑设计&#xff08;四&#xff09;物理设计 四、数据仓库的设计 数据仓库的设计包括需求分析、概念设计、逻辑设计和物理设计四个阶段&#xff0c;其…

计算机毕业设计-基于大数据分析的服装定制网的设计与实现

概要 人民的日常生活离不开“衣食住行”&#xff0c;四者之中“食住行”发展迅猛&#xff0c;突飞猛进的发展推动了产业的升级更新。而与之形成鲜明对比的是&#xff0c;服装行业作为传统古老的行业&#xff0c;因为产业结构特征、个性化需求等问题&#xff0c;难以出现推动行业…

算法第二十七天-猜数字游戏

猜数字游戏 题目要求 解体思路 有多少位属于数字和确切位置都猜对了&#xff1a;统计 s e c r e t [ i ] g u e s s [ i ] secret[i]guess[i] secret[i]guess[i]的个数。 有多少位属于数字猜对了但是位置不对&#xff1a;用两个数组&#xff08;哈希表&#xff09;分别统计…

C#实现哈希查找算法​

C#实现哈希查找算法 下面是一个简单的C#代码示例&#xff0c;实现了哈希查找算法&#xff1a; using System; using System.Collections.Generic;class HashSearch {// 哈希查找函数static int HashSearchFunction(int[] array, int target){// 创建一个Dictionary用于存储数…

this是什么?为什么要改变this?怎么改变 this 指向?

目录 this 是什么&#xff1f; 箭头函数中的 this 为什么要改变 this 指向&#xff1f; 改变 this 指向的三种方法 call(无数个参数) apply(两个参数) bind(无数个参数) this 是什么&#xff1f; 在对象方法中&#xff0c;this 指的是所有者对象&#xff08;方法的拥有者…

程序人生——Java数组和集合使用建议(1)

目录 引出数组和集合建议60&#xff1a;性能考虑&#xff0c;数组是首选建议61&#xff1a;若有必要&#xff0c;使用变长数组建议62&#xff1a;警惕数组的浅拷贝 建议63&#xff1a;在明确的场景下&#xff0c;为集合指定初始容量建议64&#xff1a;多种最值算法&#xff0c;…

YOLOv8 | 添加注意力机制报错KeyError:已解决,详细步骤

目录 添加注意力机制报错 报错的原因 注意事项 解决错误流程 代码分享 ⭐欢迎大家订阅我的专栏一起学习⭐ &#x1f680;&#x1f680;&#x1f680;订阅专栏&#xff0c;更新及时查看不迷路&#x1f680;&#x1f680;&#x1f680; YOLOv5涨点专栏&#xff1a;h…

Linux中GPU相关命令

Linux查看显卡信息&#xff1a; lspci | grep -i vga 使用nvidia GPU可以&#xff1a; lspci | grep -i nvidia1 前边的序号 "00:0f.0"是显卡的代号(这里是用的虚拟机); 查看指定显卡的详细信息用以下指令&#xff1a; lspci -v -s 00:0f.01 Linux查看Nvidia显…

探索仿函数(Functor):C++中的灵活函数对象

文章目录 一、仿函数定义及使用二、仿函数与函数指针的区别三、仿函数与算法的关系四、仿函数的实践用例 在C编程中&#xff0c;我们经常需要对数据进行排序、筛选或者其他操作。为了实现这些功能&#xff0c;C标准库提供了许多通用的算法和容器&#xff0c;而其中一个重要的概…

Linux--基本知识入门

一.几个基本知识 终端: CtrlAltT 或者桌面/文件夹右键,打开终端切换为管理员: sudo su 退出:exit查看内核版本号: uname -a内核版本号含义: 5 代表主版本号;13代表次版本号;0代表修订版本号;30代表修订版本的第几次微调;数字越大表示内核越新. 二.目录…

git bash 命令行反应慢、卡顿(定位出根本原因)

参考该博主&#xff1a; https://blog.csdn.net/weixin_50212044/article/details/131575987?utm_mediumdistribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-131575987-blog-130024908.235v43pc_blog_bottom_relevance_base4&spm1001.210…

26.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-实现生成日志文件的功能

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果 内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;25.利用全新的通…

【北京大学】徐高《金融经济学二十五讲》

一、经济的任务 经济的任务之一是确保有效地分配稀缺资源&#xff0c;这是经济学中的一个核心问题。资源是有限的&#xff0c;而需求是无限的&#xff0c;因此经济系统需要通过合理的机制来分配资源以满足社会的需求。以下是关于经济分配资源的几个方面&#xff1a; 1. 资源配…

Matlab进阶绘图第45期—蝴蝶气泡图

蝴蝶气泡图是一种特殊的柱泡图/气泡柱状图。 蝴蝶图一般由左右两个水平柱状图组合而成&#xff0c;其形如蝴蝶展翅&#xff0c;可以很直观地展示两种数据直接的差异。 而蝴蝶气泡图则是在两个水平柱状图每根柱子外侧额外添加大小不同的气泡&#xff0c;用于表示另外一个数据变…

web学习笔记(三十三)

目录 1.严格模式 1.1严格模式的概念&#xff1a; 1.2严格模式在语义上更改的地方&#xff1a; 1.3如何开启严格模式 1.4严格模式应用上的变化 2.原型链 1.严格模式 1.1严格模式的概念&#xff1a; 严格模式有点像es5向es6过渡而产生的一种模式&#xff0c;因为es6的语法…