[AR论文阅读] Tracking Requirements for Augmented Reality

2023-05-16

  • 论文作者:RONALD AZUMA
  • 年份:1993
  • 论文主题:阐述AR系统对6DoF跟踪性能的技术要求。
  • 要点:
    • 三个核心要求:高精度,低延迟,大范围
    • 跟踪精度指标:
      • 高精度的具体要求:旋转误差小于1 deg,位置误差小于1 cm。
      • 关于精度指标的事实性举例:1.5 deg的旋转误差,会导致2 m外的AR内容偏离真实位置5.2cm。
    • 延迟指标:
      • 对延迟指标的定义:从6DoF跟踪算法获取到传感器测量值,到AR内容显示到屏幕,所经历的时间间隔。
      • 低延迟的具体要求:在头戴式AR设备转动速度比较温和的情况下(50 deg/s),如果希望旋转误差低于5 deg,那么延迟时间应该低于100 ms;在转动速度比较快速的情况下(300 deg/s),如果希望旋转误差低于0.5 deg,那么延迟时间应该低于2 ms。
    • 跟踪范围指标:
      • 6DoF跟踪算法支持的跟踪范围越大越好。
      • 基于惯性传感器(IMU),并结合其他高精度传感器的融合算法,是实现大范围跟踪的发展方向。

highlightz的评价:

  • 20年前的文章,放在现在看,不仅不过时,而且,其阐述的核心指标,在当下的AR HMD产品中,仍然是难啃的骨头。
  • 这其中,延迟指标在Hololens 2、Magic Leap One和基于高通XR方案的部分AR眼镜产品中解决的比较好,在其他AR眼镜产品中,几乎没有得到太好的解决。
  • 精度指标在房间级跟踪范围内(一般假定是10m x 10m)解决的比较好,但也只是达到10cm或者5cm以下的位置跟踪精度;在更大的范围内,尤其是室外环境或者室内低纹理环境,还远远达不到AZUMA博士20年前定下的指标,甚至无法达到5cm以下的位置跟踪精度。
  • 至于跟踪范围指标,当下号称支持世界范围跟踪的6DoF系统在真实世界中运行的时候,往往会由于环境因素的复杂性(包括纹理和场景动态性)和AR设备载体(如:人的头部)运动的多变性(包括快速转动),而无法在保证精度指标不受损失的情况下,保持大范围跟踪的性能。
  • 此外,6DoF跟踪算法的鲁棒性是AZUMA博士没有提及但却十分重要的一个问题。在实际的AR场景中,由传感器失效(包括数据断流、相机遮挡等)和高挑战性环境因素(包括暗环境、强光照、大景深、无纹理等)带来的跟踪失败,是当下AR系统没有完全处理好的一个问题,这个问题的重要性,某种程度上,不亚于精度、延迟、范围这几个指标,甚至是其他几个指标的前提条件。
  • 作为AR从业者,深知上述问题的解决是一个持续的过程,且依赖于行业的共同努力。好在国内外大小AR公司和机构都在以越来越扎实的行动在共同推动这些问题的进步,所以未来可期。

最后,欢迎对AR感兴趣的同行一起交流。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[AR论文阅读] Tracking Requirements for Augmented Reality 的相关文章

  • Unable to resolve service for type 'Microsoft.Extensions.Logging.ILogger' while attempting to activa...

    Unable to resolve service for type 39 Microsoft Extensions Logging ILogger 39 while attempting to activate 39 xxxxx Cont
  • RS雷达转Velodyne雷达数据Failed to find match for field ‘intensity‘

    目录 xff1a 问题分析解决 问题 因为目前很多SLAM框架支持的激光雷达都是Velodyne型号的 xff0c 对于速腾RS雷达的使用者来说 xff0c 需要对数据进行转换 xff0c 其实现在速腾的雷达已经支持输出XYZI和XYZIR
  • ESP32 for arduino 的3个hardware serial

    在arduino IDE的开发环境中 xff0c 如果使用的开发板不是arduino的开发平台 xff0c 而是ESP32模组的开发板 xff0c 那么在实际开发中由于ESP32的支持库与arduino不同 xff0c 会使得我们在使用一些
  • QT 报 QMetaObject::connectSlotsByName: No matching signal for on_btn_clicked()

    在QT中 xff0c 自己编写命名信号和槽的时候 xff0c 在用connect的时候报出以下错误 xff1a QMetaObject span class token double colon punctuation span conne
  • 论文笔记(十九)RGB-D Object Tracking: A Particle Filter Approach on GPU

    RGB D Object Tracking A Particle Filter Approach on GPU 文章概括摘要1 介绍2 贡献3 粒子滤波器4 可能性评估5 实施细节6 实验A 物体模型B 合成序列C 真实序列 7 结论8 鸣
  • twemproxy for redis使用说明及简单分析

    redis的数据量在内存高过50G时系统出现了明显的瓶颈 为了解决这个问题 xff0c 笔者找了些相关的资料 xff0c 发现了这个开源软件 功能很强大 xff0c 包含了last fm的ketama的一致性hash算法 xff0c 对于笔
  • 学习ROS-Academy-for-Beginners-noetic,修改记录

    一 编译安装ROS Academy for Beginners noetic 可以参考我之前的博客ROS Academy for Beginers noetic安装教程 之后可以看到里面提供了很多例程 xff0c 包括 软件包 内容 rob
  • Python语法:... for ... in ... if ...

    Python中 for in if 语句是一种简洁的构建List的方法 从for给定的List中选择出满足if条件的元素组成新的List 其中if是可以省略的 下面举几个简单的例子进行说明 for in for in 语句 实例如下 1 a
  • 教妹学Java(十五):for循环详解

    你好呀 我是沉默王二 一枚颜值与才华俱在的程序员 本篇教程通过我和三妹对话的形式来谈一谈 for while do while 循环之间的差别 以及重点介绍一下 for 循环 while do while 会在接下来的教程中单独介绍 教妹学
  • 用例和功能需求之间有区别吗?

    我很好奇 因为似乎每个人对这件事都有不同的看法 创建 SRS 文档时 您是否需要用例和功能需求 还是只需要其中之一 因为使用功能需求会扩展用例 您是否需要用例和功能需求 还是只需要其中之一 如果仔细阅读这些技术的主要作者 区别仅在于方法 用
  • Adsense 的自定义点击跟踪

    我需要在点击广告时识别我的用户 例如 当用户A在线时 我需要知道他是点击广告单元的人 当使用我自己的广告时 这是小菜一碟 使用 URL 重定向 但是 现在我们计划切换到 Adsense 它通过 javascript 呈现广告 因此我无法在那
  • 红外 LED 跟踪:使用 OpenCV 跟踪 x、y、z 位置

    我正在寻找一种方法来解决我遇到的计算机视觉问题 我有工作跟踪系统 4 8个摄像头 给出红外 LED 的 x y z 每个 LED 传输独特的 8 位信号 跟踪系统价格昂贵 而且界面对于我们的用户来说太难使用 我想用我自己的 OpenCV 实
  • KLT 在 OpenCV 中如何工作?

    我很好奇 openCV 中 KLT 背后的逻辑 据我所知 OpenCV中发送的用于寻找光流的图像首先被转换为灰度 我很好奇的是 在运行算法时 我们需要一组用于计算的特征 openCV中求光流法有哪些特点 谢谢 光流有两种类型 密与疏 密集查
  • 有多少用户可以运行使用 OpenGL 3.x 的软件?

    我可以期望用户能够运行使用 OpenGL 3 x 的软件吗 拥有开源图形驱动程序的 Linux 用户可以运行 OpenGL 3 x 吗 我知道Mesa3D 7 8仅支持OpenGL 2 1 我还知道 OS X Snow Leopard 支持
  • 我们如何跟踪 Javascript 错误?现有的工具真的有用吗?

    今天我发现需要跟踪和检索 Javascript 错误堆栈跟踪来解决这些问题 今天 我们能够捕获所有其余调用 其想法是 一旦出现错误 就会自动发布该错误的堆栈跟踪以及其余保存的服务的响应 以便我们可以以几乎相同的方式检测 重现和解决问题环境
  • 如何检查PCNTL模块是否存在

    我编写简单的需求检查脚本 它检查安装的所有必需的 PHP 模块 我需要检查 pcntl 是否已安装 但该模块只能在 cgi 环境中访问 对于 Web 查询不可见 extension loaded pcntl 和 function exist
  • 更改我的 iPhone 应用程序的最低操作系统要求?

    我做了一个简单的申请 然后提交审核 之后 应用程序详细信息声称最低操作系统要求是 3 1 2 我使用该 SDK 如果我将目标的 iPhone OS 部署目标更改为较低的 iPhone OS 那么它可以 解决 我的问题吗 有没有风险 我使用一
  • 在 iframe 中运行 Google Analytics?

    我们公司与向我们发送流量的联属合作伙伴一起运营一个网站 oursite com 在某些情况下 我们会使用自己的子域 affiliate oursite com 来设置我们的联营公司 然后他们使用 iframe 在其网站 affiliate
  • 在敏捷/Scrum 用户故事中,多少细节才足够? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 通常的反应是足够详细就足够了 在我们目前正在忙的项目中 该项目不完整并且在没有任何类型的 brs 文档 用户故事的情况下移交给我们 我们得
  • 跟踪大量电子邮件活动

    Litmus 上个月 2010 年 5 月 发布了电子邮件分析服务 看这里 http litmusapp com email analytics http litmusapp com email analytics 他们拥有非常酷的 读取率

随机推荐

  • ubuntu系统安装cuda、cudnn、pytorch和libtorch

    1 安装cuda和cudnn 本机安装的cuda版本11 0 2 cudnn版本 v8 0 5 cu11 0 Ubuntu20 04下CUDA cuDNN的详细安装与配置过程 xff08 图文 xff09 ubuntu20 04安装cuda
  • 深度学习语法篇

    一 基本常识 图像的分辨率的通道数 分辨率和通道数是两个不同的概念 分辨率指的是图像的像素数量 xff0c 它反映了图像的清晰度和细节程度 例如 xff0c 一个分辨率为64x64的图像意味着它有64个像素行和64个像素列 xff0c 总共
  • 第二讲:线性表示及坐标

    第二讲 xff1a 线性表示及坐标 一 线性表示 1 线性表示定义 xff1a 设 是线性空间V中的向量 xff0c 若存在V中一组向量 1 xff0c 2 xff0c xff0c n xff0c 及一组数x1 xff0c x2 xff0c
  • 快速理解掌握指针

    p gt next 61 q 像这种语句 xff0c 表示改变了p后面的连接关系 p 61 q gt next 这类语句 xff0c 没改变连接关系 xff0c 只是赋值而已 解读代码中指针所代表的节点之间的前后连接关系 只要输出该指针对应
  • 第三讲:子空间

    第三讲 xff1a 子空间 一 子空间定义 1 子空间 xff1a 设V是数域F上的线性空间 xff0c W是V的子集 xff0c 若对W中的任意元素 xff0c 及数K F xff0c 按V中的加法和数乘有 xff1a 1 xff09 4
  • Qt多线程之线程之间的传递数据

    hpp span class token macro property span class token directive keyword ifndef span MAINWINDOW H span span class token ma
  • 循环队列c代码实现

    循环队列的抽象数据类型 ADT 队列 xff08 Queue xff09 Data 同线性表 元素具有相同的类型 xff0c 相邻元素具有前驱和后继的关系 Operator span class token function InitQue
  • CMake(四):变量

    前面展示了如何定义基本目标和生成构建输出 就其本身而言 xff0c 这已经很有用了 xff0c 但CMake还附带了一大堆其他特性 xff0c 这些特性带来了极大的灵活性和便利性 本章涵盖了CMake最基本的部分之一 xff0c 即变量的使
  • CMake(六):使用子目录

    对于简单的项目 xff0c 将所有内容保存在一个目录中是可以的 xff0c 但是大多数实际项目倾向于将它们的文件分割到多个目录中 通常可以找到不同的文件类型或分组在各自的目录下的独立模块 xff0c 或者将属于逻辑功能组的文件放在项目目录层
  • CMake(九):生成器表达式

    当运行CMake时 xff0c 开发人员倾向于认为它是一个简单的步骤 xff0c 需要读取项目的CMakeLists txt文件 xff0c 并生成相关的特定于生成器的项目文件集 例如Visual Studio解决方案和项目文件 xff0c
  • CNNs系列---AlexNet网络介绍

    CNNs系列 AlexNet介绍 导言AlexNet介绍1 网络结构 1 参数量 计算量和输出尺寸计算公式 2 网络参数解析 2 AlexNet中涉及到的知识点 1 基本概念 2 AlexNet网络结构的贡献 导言 我们将开启关于卷积神经网
  • CNNS:基于AlexNet的分类任务

    CNNS 基于AlexNet的分类任务 数据集介绍1 pokeman数据集介绍2 flower数据集介绍 超参数对模型的影响1 激活函数对模型的影响 1 使用 96 Sigmoid 96 进行训练 2 使用 96 tanh 96 进行训练
  • CNNs: AlexNet补充

    CNNs AlexNet的补充 导言对 96 AlexNet 96 模型进行调整模型不同层的表征其他探索总结 导言 上上篇和上一篇我们详细地讲述了AlexNet的网络结构和不同超参数对同一数据集的不同实验现象 本节 xff0c 我们就Ale
  • 解决“Permission denied, please try again.”的问题

    在Ubuntu的终端输入命令 ssh highlight highlight是本地主机名称提示输入用户密码 当密码输入正确时 xff0c 仍返回错误 xff1a Permission denied please try again 解决的办
  • leetcode学习常用网站

    C 43 43 网站 cplusplus com map find C 43 43 Reference github com leopeng1995 acplusplus Morris Traversal方法遍历二叉树 xff08 非递归
  • arctan对照表

    注 xff1a 实际调用的是C 43 43 的atan2接口 arctan y x resultstd cout lt lt atan2 0 1 lt lt std endl 0std cout lt lt atan2 0 707 0 70
  • 关于optimized out

    根据网络上的说法 xff0c 调试期间如果一个变量的值显示 optimized out xff0c 那么就表明编译器将该变量进行了优化 xff0c 导致其值不可见 解决的方法是 xff0c 设置编译优化选项 xff0c 禁止相关的优化 可以
  • Ubuntu命令行中重复执行一个程序

    以下示例中 xff0c 执行program 10次 xff0c 并将运行日志以追加的方式重定向到log txt文件中 xff0c progam的入口参数是param for i in 1 10 do program param gt gt
  • 技术知识库

    我对自动控制技术发展趋势的理解 对数学理论的运用越来越深入 xff0c 对计算机的依赖越来越高 xff1b 与人们生产生活的契合越来越紧密以至于无法分割 xff1b 越来越向人类思维的本质倾向 心想事成靠拢 xff0c 让少数人的大脑和肢体
  • [AR论文阅读] Tracking Requirements for Augmented Reality

    论文作者 xff1a RONALD AZUMA年份 xff1a 1993论文主题 xff1a 阐述AR系统对6DoF跟踪性能的技术要求 要点 xff1a 三个核心要求 xff1a 高精度 xff0c 低延迟 xff0c 大范围 跟踪精度指标