苹果Vision Pro手势+眼球融合交互的奥秘

news2024/11/17 20:27:11

毫无疑问,Vision Pro在眼球追踪+手势的融合交互体验上,给AR/VR头戴设备带来了新突破,在用户体验上的提升非常明显。

​那么,为什么Vision Pro上这一功能会被如此值得关注呢?为了弄清楚,我们先来看看主流VR设备是如何做的。

主流VR和Vision Pro的差异

在此之前,很多主流AR/VR产品已经采用这两种技术方案,只不过并未把两种交互方式融合,这其中有几点原因:

1,手势方面,包括Quest等主流VR设备以手柄交互体验为主,手势追踪仅作为补充式体验,即便从功能层面可以替代大部分手柄上的按键和功能。

而Vision Pro没有手柄,首选方式是通过眼球追踪+手势来完成,当然也提供了辅助功能(含手势射线模式)。

2,主流VR的手势追踪必须将手放在摄像头FOV范围内,使用时双手必须微抬或举在身体前面,时间一长就非常累,导致用户体验差。

而Vision Pro则拥有6颗SLAM+手势摄像头,其中有两颗向下的摄像头专门捕捉手垂放在腿上的视角。另外,还有两颗斜向下的摄像头同时兼顾SLAM和手势。甚至为了弱光环境下手势识别准确性,苹果还加入了两颗红外LED进行辅助。

这种垂直视角的摄像头,专门用于捕捉大部分时间、不抬手的时候的手势,因为很多时候双手应该自然垂放在腿或桌子上,符合人体工学逻辑。苹果Vision Pro是AR/VR中的首家采用这一方案的设备,更是独一份。

Vision Pro 直接手势

因为苹果在开发文档中也提到,如果使用直接手势(双手直接触碰虚拟物体,比如虚拟键盘等),需要将双手抬起至头显透镜FOV的视野之内,尽管它的捕捉摄像头范围够广,​必须让双手在FOV可见范围内才行。而多次/频繁的直接手势操作会带来疲劳感,应尽量避免。

3,眼球追踪方面,主流VR设备更注重VR应用内的场景,比如VR游戏凝视交互、Avatar眼球动作等,甚至也可以用于注视点渲染提升帧率等,确实提升了游戏体验。

凝视的高光变化

Vision Pro凝视+手势捏合

而Vision Pro采用的visionOS系统底层逻辑是大量2D窗口交互,包括文字选中、菜单选择都可以通过眼球+手势来完成,这其中眼球+手势融合交互就非常重要。当然,PS VR2部分游戏也提供眼球凝视菜单选项,体验尚可。

4,产品定位和价格方面的因素。VR一体机都是在主流价位去推广,通过SLAM摄像头同时完成头显定位和手柄追踪以及手势追踪,因此SLAM摄像头的安装角度主要照顾了头显的定位,而非手势追踪的体验。

这也就导致了,包括Quest等VR设备上通过斜向下的摄像头同时来捕捉手势,而双手放在腿部或靠下时完全不在捕捉范围。

而Vision Pro高举高打,不在乎售价意在通过高规格硬件提供高规格的体验。

当然,这里面还没有提到Vision Pro专门为摄像头、传感器准备的R1芯片,就是为了低延迟处理这些视觉数据,从而实现更精准交互方案,可以说Vision Pro的交互逻辑从软件、硬件、芯片、算法等多方位于一体,是一个鸿沟式的差异。

二、眼球+手势和纯手势对比

由上文得知,Vision Pro和之前的VR交互方式上存在较大差异。那么,两种交互方式又带来了哪些差异呢?

据青亭网了解,今年4月19日在ACM公布的一份论文“A Fitts' Law Study of Gaze-Hand Alignment for Selection in 3D User Interfaces”中,就明确提到了凝视+捏合的交互类型,并且对手势射线的供5种交互方式进行对比。

该论文第一作者Uta Wagner来自于由丹麦奥胡斯大学计算机科学系,这里我们将其中的2类代表“仅基于手势射线”和“基于凝视射线+手势捏合”的测试差异进行对比。

2-1,选择目标测试

该研究基于菲茨定律研究进行设计,在FOV内不同深度呈现目标来进行“选择目标测试”,如上图,得出的结果是:

  • 吞吐量:凝视射线+捏合(2.1bits)>手势射线(1.4bits);
  • 错误率:无明显差异;
  • 物理消耗:凝视射线+捏合(2)>手势射线(4)。

2-2,AR菜单激活和选择测试

在进行AR菜单激活和选择测试中,得出的结果是:

  • 速度:凝视射线+捏合(2.5s)>手势射线(4.6s);
  • 错误:手势射线(1%)>凝视射线+捏合(3%);
  • 测试人员的喜好:凝视射线+捏合(6/16)>手势射线(0/16)。

论文中所有测试方案

基于本论文的研究,得出的结论还有:

  • 1,所有测试方案中,结合凝视的方案在效率更高、速度更快,始终比手势射线表现更优秀;
  • 2,论文中提出的凝视射线+手势射线融合方案性能和其它相当,也比较受测试者欢迎,仅次于凝视射线+捏合;
  • 3,视察因素对平面图像中交互更为不利。

综上所述,基于凝视射线+捏合(苹果Vision Pro的方案,只不过它隐藏了凝视射线,但在UI中结合了高光等进行提示)在速度、效率上更高,也最受欢迎。同时,也表明凝视+手势结合的交互方式在今后AR/VR交互中更具潜力。不过要说的体感反馈,当然还是现在的手柄在体验和成本方面优势明显,今后在无手持设备的凝视+手势交互时代,智能手环或智能戒指也有望成为体感反馈的重要工具。

参考:Apple、ACM

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

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

相关文章

037:mapboxGL输入经纬度,地址坐标转换,弹出位置点地址信息

第037个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中输入经纬度,地址坐标转换,弹出位置点地址信息. 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共158行)相关API参考:专栏目标示例效果 配置方式…

配置Jenkins slave agent(通过jnlp)方式连接

上一章,使用ssh的方式添加了两个agent,并都成功完成了构建任务,这一章使用jnlp的方式配置agent,jnlp方式配置agent有个好处,就是agent是主动去找到Master请求连接的,master->agent的通道可以配置一个age…

【AUTOSAR】BMS开发实际项目讲解(二十九)----电池管理系统电池充放电功率控制与SOC

电池充放电功率控制 关联的系统需求 Sys_Req_3901、Sys_Req_3902、Sys_Req_3903、Sys_Req_3904; 功能实现描述 电池充放电功率控制主要包括以下内容: 60S可用功率 参见[CELL] 30S可用功率 参见[CELL] 10S可用功率 参见[CELL] SOP算法 ID Description ASI…

LVDS接口ADC要点数据采集流程

一:要点 1.如果两片AD,四路输出做了同步化处理之后,一定只用同步化模块读时钟(一片AD的时钟)去上传数据,到DDR3模块。 2.ADS42和LTC2208的ADC的数据伴随时钟都来源与输入的采样时钟(有些采样时…

虚拟机上用docker + nginx跑前端并支持https和http

情况是这样,我在虚拟机上,使用docker跑前端,需要这个前端支持https,原http的话自动跳转到https。另外,前端部署使用了负载均衡,即使用了3个docker跑前端:1个入口,另外2个是前端&…

Wi-Fi模块(ESP8266)详解

Wi-Fi模块——ESP8266 0. Wi-Fi模块概述1. 常见的Wi-Fi模块2. ESP8266模块2.1 概念2.2 特点 3. STM32F103C8T6使用ESP8266进行无线通信的示例代码 0. Wi-Fi模块概述 Wi-Fi模块是一种用于无线通信的设备,它能够通过Wi-Fi技术实现设备之间的无线数据传输和互联网连接…

java面试Day18

1.什么是 MySQL 执行计划?如何获取执行计划并对其进行分析? MySQL 执行计划是指 MySQL 查询优化器生成的一份详细的查询执行计划,它展示了 MySQL 在执行查询时所采取的具体执行计划,包括表的访问顺序、数据读取方式、使用的索引、…

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

论文链接: https://arxiv.org/abs/2306.04050 随着以ChatGPT、GPT-4为代表的AI大模型逐渐爆火进入公众视野,各行各业都开始思考如何更好的使用和发展自己的大模型,有一些评论甚至认为大模型是以人工智能为标志的第四次产业革命的核心竞争产品…

11.窗口看门狗-WWGD

1.窗口看门狗概述: (1)之所以称为窗口是因为其喂狗时间是一个有上下限的范围内(窗口),可以通过设定相关寄存器,设定其上限时间(下限时间固定)。喂狗的时间不能过早也不能过晚。而独立看门狗限制喂狗时间在0-x内&#…

Zigbee模块(CC2530)详解

Zigbee模块(CC2530) 0. Zigbee概述1. 常见的Zigbee模块2. CC2530模块3. STM32使用CC2530模块方法代码模板 0. Zigbee概述 Zigbee是一种无线通信协议,专为低功耗、低数据速率的应用而设计。它工作在2.4 GHz频段,常用于家庭自动化、…

MYSQL-SELECT语句超详解

目录 前言: SELECT语法 示例 单个字段查询 多个字段查询 查询所有字段 没有FROM的SELECT 查询系统时间 数值计算 虚拟表dual WHERE语句 示例 AND OR 比较运算符 AND OR 运算符优先级 IN NOT IN BETWEEN NOT BETWEEN LIKE EXISTS ORDER BY LIMIT …

SpringBoot(三)SpringBoot搭建简单服务端

之前的两篇文章介绍了如何使用ItelliJ社区版创建SpringBoot项目以及SpringBoot的starter。本篇,介绍下如何使用SpringBoot搭建一个简单的服务端,实现一个新用户注册的场景,供前端和移动端去使用。本篇需要你对SpringBoot的starter&#xff0c…

基于LLM构建文本生成系统

背景: 在流量存量时代,内容运营重要性不言而喻。在流量时代,内容可以不要过于多样化和差异化,只需要有足够多的人流量,按流量转化比率来看,1000个人有1%概率转化,素材不变只要增加足够多的流量…

SpringSecurity之概述

概述 是一个功能强大且高度可定制的身份验证和访问控制框架; 是一个专注于为Java应用程序提供身份验证和授权的框架 核心功能 1.认证 2.验证 3.攻击防范 原理解析 SpringSecurity 采用的是责任链的设计模式,它有一条很长的过滤器链; WebAsy…

探索分治算法:解决复杂问题的有效策略

目录 引言: 一. 基本原理: 二. 适用场景: 三. 分治算法的步骤: 四. 示例:归并排序算法 五. 优缺点: 引言: 在计算机科学中,分治算法是一种在解决复杂问题时常被使用的有效策略…

OBU协议-【CWAVE 客户端接口使用手册】Protobuf-CWAVEII版

1. 说明 (Instruction) 本文档针对所有在 OBU上位机进行开发的客户端程序 上位机进行开发的客户端程序 。开发时需使用者 使用谷歌提供的 protobuf工具结合我公司提供的 nebulalink.servercwaveii.proto文 件进行开发。 Protobuf相关介绍: https://www.ibm.com/deve…

springcloud笔记一

涉及到的技术: 单体架构:将业务的所有功能集中在一个项目中开发,打成一个包部署 所以需要远程调用 注册中心:可以维护每个节点的信息,并且监护节点的状态 配置中心:管理微服务群的配置 服务网关:用户通过服务网关作为入口访问,然后通过路由到…

【三维重建】【深度学习】NeRF_Pytorch代码--预备基础知识

【三维重建】【深度学习】NeRF_Pytorch代码–预备基础知识 给定一个场景的多视角的图像,神经辐射场(NeRF)通过图像重建误差优化一个神经场景表征,优化后可以实现逼真的新视角合成效果。NeRF最先是应用在新视点合成方向&#xff0c…

TrainingOperator--PyTorchJob实现机制分析

前言 由 Pytorch分布式训练(一)_chenxy02的博客-CSDN博客 可知Pytorch分布式训练实现进程间寻址,主要依靠以下 四个参数: MASTER_ADDRMASTER_PORTWORLD_SIZERANK MASTER_PORT和MASTER_ADDR的目的是告诉进程组中负责进程通信协调的核心进程…

SpringBoot:整合 Redis BitMap技术及结合场景:实现签到与统计

⛄引言 本文参考黑马 点评项目 在各个项目中,我们都可能需要用到签到和 统计功能。 签到后会给用户一些礼品以此来吸引用户持续在该平台进行活跃。 签到功能,我们可以通过Redis中的 BitMap功能来实现 一、Redis BitMap 基本用法 ⛅BitMap 基本语法、…