6种常用的AR跟踪方法

增强现实 (AR) 是一项令人着迷的技术,可将虚拟内容与现实世界无缝集成。实现这种无缝集成的关键组件之一是跟踪。各种类型的跟踪用于确定 AR 内容在环境中的准确位置和方向。本文介绍 AR 最常见的6种跟踪方法。

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割

1、世界空间跟踪

世界空间跟踪(world space tracking)也称为相机位置估计或位置跟踪,是指准确确定设备(例如智能手机或 AR 耳机)相对于物理环境的位置和方向的过程,这包括跟踪设备在三维空间中的移动和旋转。

世界空间跟踪的主要目标是将虚拟内容与现实世界精确对齐,以确保虚拟对象在用户的视野中看起来固定且稳定。但是,世界空间跟踪通常会导致应该放置在表面上的虚拟元素看起来漂浮。世界空间跟踪最适合旨在漂浮在空间中的元素。要将物体固定在墙壁或地板上,最好使用平面检测。

应用领域:

  • 游戏:在现实环境中准确定位虚拟角色或物体,创造身临其境的游戏体验。
  • 建筑和设计:通过将虚拟模型集成到现实空间,支持建筑物的可视化和规划。
  • 电子商务:允许虚拟试穿衣服或在自己的房间里摆放虚拟家具,以方便购买决策。

2、空间感知

空间感知(spatial perception)是一种综合方法,包括各种技术和算法。它允许 AR 设备感知和理解物理环境。使用摄像头、深度传感器和激光雷达可以捕获有关环境的信息,例如表面细节、物体尺寸和空间结构。这使得 AR 内容能够真实地集成到物理环境中。

应用领域:

  • 教育和培训:实现交互式学习环境,其中虚拟内容可以与现实世界的对象相结合,以增强学习过程。
  • 导航和定位:提供视觉引导或增强现实地图,帮助用户在陌生的环境中导航。
  • 艺术和创造力:支持创作沉浸式艺术品或交互式装置,将虚拟元素集成到物理环境中。

3、标记跟踪或图像跟踪

标记跟踪(marker tracking)基于使用 AR 应用程序可识别的特殊标记或二维码。这些标记可作为参考点,将 AR 内容精确地放置在现实世界中。它提供高精度和稳定性,因为标记代表了可以轻松跟踪的独特视觉特征。

图像可以是照片、徽标或任何可被相机检测到的可识别 2D 对象。标记跟踪的缺点是没有标记就无法工作。因此,你必须始终拥有数字或印刷形式的标记,以便你的受众使用 AR 应用程序。

应用领域:

  • 广告和营销:在印刷媒体或海报中使用特殊标记来提供交互式 AR 体验并增加受众参与度。
  • 工业应用:通过将 AR 内容放置在特殊标记上以提供说明或信息,协助组装或维护机器。
  • 医疗模拟:允许将虚拟模型或可视化放置在特定标记上以进行医疗培训或模拟。

并非每幅图像都适合用作 AR 跟踪的图像标记,这是你在选择标记时应该考虑的因素。在选择图像作为 AR 图像跟踪的标记时,清晰的对比度和独特的特征非常重要。简单的形状(例如正方形或圆形)效果很好,饱和的颜色也有助于更好地识别。标记应与其他物体明显区分,并在各种条件下保持稳健的可识别性。人为添加的细节也可以提高识别率。考虑应用环境来选择合适的标记,例如二维码或特殊徽标。测试不同的标记以确保可靠的 AR 体验。

4、平面检测

另一种重要的跟踪方法是平面检测(plane detection)。除了传统的 2D 图像,一些 AR 应用程序还可以检测表面并用它们代替图像。如果你想让用户决定他们想要放置内容的位置,或者如果你想使用比例和模型尺寸精度很重要的大型模型,这是一个优势。

该技术可检测现实世界中的水平或垂直表面,例如地板、桌子、墙壁或天花板。通过使用计算机视觉算法,可以识别指示平面的特征图案或结构。AR 内容可以精确地放置在这些检测到的表面上,从而实现虚拟和现实元素的无缝集成。

上面的视频左侧展示的是平面检测,右侧展示的是世界空间检测。世界空间检测使虚拟物体“漂浮”。

应用领域:

  • 家具和装饰:协助虚拟放置家具、艺术品或装饰品,以便在购买或改造之前可以直观地看到房间的外观。
  • 增强现实游戏:提供交互式游戏环境,虚拟物体可以放置在真实表面上,以创造令人兴奋且有趣的游戏体验。
  • 建筑和施工:使建筑师和建筑商能够将建筑物的虚拟模型投射到真实空间中,以审查设计或可视化施工进度。

平面检测是一种跟踪技术,主要用于使用 ARCore 或 ARKit 编程的应用程序中。在 WebAR 领域,大多数框架都不支持平面检测。在这里,通常使用世界空间跟踪作为替代。

5、GPS 跟踪

GPS 跟踪使用全球定位系统 (GPS) 来确定 AR 设备的地理位置。它使 AR 应用程序能够显示基于位置的内容,例如有关名胜古迹的信息、导航说明或基于位置的游戏。GPS 跟踪在户外特别有用,因为户外有广泛的 GPS 信号覆盖。GPS 跟踪最突出的例子是 Pokemon GO。GPS 跟踪并不是特别精确。因此,GPS 跟踪通常与其他跟踪方法结合使用。

应用领域:

  • 基于位置的信息:根据用户的位置显示附近景点、餐厅或商店的信息。
  • 旅游应用:根据用户当前位置提供导游或历史遗迹信息。
  • 健身和户外活动:跟踪和分析慢跑或骑自行车等活动,以记录距离、速度和路线。

6、SLAM 跟踪

最后,SLAM(Simultaneous Localization and Mapping,同步定位与地图构建)跟踪是一种结合了摄像头技术、传感器和特殊算法的先进方法。SLAM 实时检测 AR 设备的位置和方向,同时创建环境地图。这是通过跟踪检测到的特征和结构来实现的。SLAM 能够在现实世界中精确定位虚拟物体。

Slam 跟踪可以说是将虚拟物体放置在空间中最精确的跟踪方法。Slam 也是一种在 WebAR 中极为罕见的跟踪方法,并得到 Vuforia 和 Wikitude 等应用开发框架的支持。Hololens 2 还支持 slam 来创建环境的空间模型。

应用领域:

  • 机器人和自主系统:支持机器人或自动驾驶汽车在其环境的空间定位和地图构建中。
  • 工业检查和维护:支持将 AR 数据叠加在真实物体上,以支持检查和维护过程。
  • 军事和国防:可用于支持战术行动或创建战场的虚拟模型。

7、结束语

增强现实中的各种跟踪方法可以实现虚拟内容的精确放置。因此,这些技术提供了更具沉浸感和互动性的 AR 体验,从表面的精确定位到捕捉用户的动作。随着 AR 技术的不断进步,我们肯定会在未来看到更多令人印象深刻的跟踪方法,这将继续扩大 AR 的潜力。


原文链接:6种常用的AR跟踪方法 - BimAnt

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos安装Mysql

添加MySQL官方的Yum仓库 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm安装MySQL服务器 sudo yum install mysql-community-server在安装过程中遇到了如下错误: 使用如下命令去解决: yum --enablerepomysql80…

Windows下Rust OpenCV环境配置

首发于Enaium的个人博客 安装Chocolatey 首先我们需要安装Chocolatey,Chocolatey是一个Windows的包管理器。 我们点击右上角的Install进入到Installing Chocolatey,选择Individual 复制命令 Set-ExecutionPolicy Bypass -Scope Process -Force; [Sys…

【Java日志系列】日志概述

目录 前言 一、日志概述 二、日志文件 1. 调试日志 2. 系统日志 三、日志框架 1. 日志框架的作用 2. 日志框架的价值 3. 市面上流行的日志框架 4. 日志门面和日志实现的区别 总结 前言 在软件开发中,日志记录是一项至关重要的任务。无论是简单的命令行应…

CloudCompare—点云切片

文章目录 一、整体功能展示1、必要参数2、其他选项二、代码实现1、提取平面上的包络线2、将点投影到二维平面上3、提取二维凸包三、算法原理参考资料一、整体功能展示 整个点云切片的步骤如下动图所示: 激活点云后,选择切片功能(小立方盒),在点云视图中显示工具栏框,工具…

后期调色学习笔记

关于调色曲线的学习: 学习链接:一看就懂的曲线调色教程【手机摄影后期】_哔哩哔哩_bilibili 从左向右就是由暗部越来越到亮部 越靠近右侧的越是亮部

C++ | Leetcode C++题解之第324题摆动排序II

题目&#xff1a; 题解&#xff1a; class Solution { public:int partitionAroundPivot(int left, int right, int pivot, vector<int> &nums) {int pivotValue nums[pivot];int newPivot left;swap(nums[pivot], nums[right]);for (int i left; i < right; …

04 Haproxy搭建Web集群

4.1 案例分析 4.1.1 案例概述 Haproxy是目前比较流行的一种群集调度工具&#xff0c;同类群集调度工具有很多&#xff0c;如LVS和Nginx。相比较而言&#xff0c;LVS 性能最好&#xff0c;但是搭建相对复杂;Nginx 的upstream模块支持群集功能&#xff0c;但是对群集节点健康检…

html+css 实现hover 3D按钮特效

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽效果&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目…

C语言实现游戏2048(超详细!!!超易懂!!!)

2048是众所周知的一款经典游戏&#xff0c;在曾经没有智能电脑和手机的年代&#xff0c;也陪伴了我们许多年。那今天就让我们用C语言来回顾一下这款游戏吧~ 一、游戏2048的思路 2048游戏的玩法是在初始的时候&#xff0c;给玩家一个4*4格子的&#xff0c;其中内容全为空的棋盘…

elementPlus中el-table的每列两行溢出隐藏怎么设置

el-table的每列两行溢出隐藏怎么设置 elementPlus中的el-table如何设置多行溢出隐藏table中的table属性中有show-overflow-tooltip属性&#xff0c;但是只支持单行溢出隐藏如何改成两行呢&#xff1f;在审查元素中我们发现.el-tooltip这个类名是溢出隐藏的样式&#xff0c;原本…

【Linux---08】Shell脚本

文章目录 1. 前置说明1.1 创建shell脚本1.2 执行shell脚本1.3 调试shell脚本1.4 字符冲突 2. 变量2.1 创建&使用变量2.2 位置变量2.3 引号规则 3. 数组3.1 创建数组3.2 使用数组 4. 运算符4.1 比较&数值运算4.1.1 方式一&#xff1a;[ ]4.1.3 方式二&#xff1a;(()) &…

【MongoDB】1.MongoDB下载与安装

目录 一、下载 二、安装 三、安装MongoDB Compass 四、连接 一、下载 官网地址&#xff1a; https://www.mongodb.com/download-center/community 二、安装 详细的安装教程可参考&#xff1a; MongoDB安装&#xff08;超详细&#xff09;_安装mongodb-CSDN博客 注意事项1&…

赛盈分销亮相AI科技大会暨亚马逊新增长大会,与企业共话跨境品牌发展新机遇!

八月开端&#xff0c;由知无不言与xmars和钱老师课堂联合主办的2024年AI科技大会暨亚马逊新增长大会在深圳宝安顺利开展&#xff0c;为期2天的跨境峰会吸引了上千位优秀的卖家朋友前来感受一场盛夏大狂欢。在本次跨境峰会里&#xff0c;邀请了多位不同领域的先锋人物&#xff0…

Android 文件上传与下载

在实际开发涉及文件上传不会自己写上传代码&#xff0c;一般 会集成第三网络库来做图片上传&#xff0c;比如android-async-http&#xff0c;okhttp等&#xff0c;另外还有七牛也提供 了下载和上传的API。 1.项目用到的图片上传的关键方法&#xff1a; 这里用到一个第三方的库…

新华三H3CNE网络工程师认证—路由基础

我们的一个个网络其实是由不同的广播域构成的&#xff0c;而路由器的作用就是用来连接不同的广播域。那么不同广播域之间是如何通信的呢&#xff1f;比如有三个网段&#xff0c;1.0、2.0和3.0。网段1.0和网段2.0通信需要构造数据包&#xff0c;源是1.1&#xff0c;目标去往2.1。…

Java程序的执行过程:从编译到垃圾回收,一文读懂Java程序的生命周期

你是否曾经好奇过当你编写一段Java代码并运行它时&#xff0c;背后究竟发生了什么&#xff1f;Java程序的执行过程似乎神秘而复杂&#xff0c;但实际上&#xff0c;它遵循着一系列精心设计的步骤。本文将为你揭开Java程序执行的神秘面纱&#xff0c;带你深入了解从源代码到最终…

SpringBoot企业人事管理系统-附源码与配套论文

1.1引言 随着计算机技术的飞速发展&#xff0c;计算机在各种单位机构管理中应用的普及﹐管理信息系统的开发在强调管理、强调信息的现代社会中也显得越来越重要。因此,利用计算机高效率地完成人事管理的日常事务&#xff0c;是适应现代各种单位机构制度要求、推动各种单位机构…

SpringBoot统一功能处理——拦截器

目录 一、什么是拦截器&#xff1f; 二、拦截器使用 2.1 定义拦截器 2.2 注册配置拦截器 三、拦截器详解 3.1 拦截器的拦截路径配置 3.2 拦截器执行流程 一、什么是拦截器&#xff1f; 拦截器是Spring框架提供的核心功能之一, 主要用来拦截用户的请求, 在指定方法前后,…

【2024年精选】分享7款国内大学ai写论文推荐网站工具

在2024年&#xff0c;AI技术的飞速发展为学术研究和论文写作带来了革命性的变化。众多AI论文写作工具应运而生&#xff0c;帮助学生和研究人员提高写作效率&#xff0c;提升论文质量。其中&#xff0c;AIPaperPass作为一款备受瞩目的国内AI写论文推荐网站工具&#xff0c;以其独…

CentOS7.6 HAproxy-7层负载均衡集群——实施方案

目录 1、前期环境准备 1.准备4台主机 1. 设置主机名 2. 设置IP地址然后重启网卡 3. 关闭防火墙和selinux 4. 全部的服务器完成时间统一 二、配置haproxy(192.168.200.11)服务器 1. 安装haproxy 2. haproxy 配置中分成五部分内容 3. 配置HAproxy&#xff08;192.168.2…