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
相关文章:
6种常用的AR跟踪方法
增强现实 (AR) 是一项令人着迷的技术,可将虚拟内容与现实世界无缝集成。实现这种无缝集成的关键组件之一是跟踪。各种类型的跟踪用于确定 AR 内容在环境中的准确位置和方向。本文介绍 AR 最常见的6种跟踪方法。 NSDT工具推荐: Three.js AI纹理开发包 - Y…...
HBO引爆血腥浪漫,尺度全开必看的影视剧推荐
一直以来我们的僵尸题材电影风靡全国,同时西方也创作出吸血鬼题材、丧尸题材的影视剧也是层出不穷,那今天我们就来探讨下吸血鬼题材的影视剧。 吸血鬼题材的影视剧,一直以来都是观众的宠儿。从光鲜亮丽的《暮光之城》到狗血多角恋的《吸血鬼日…...
【kubernetes】pod控制器详解
一、pod控制器概述 1、Pod控制器作用 Pod控制器,是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效,则会重新新建pod的资源。 2、pod控制器…...
Zookeeper学习、Tomcat
怎样使用Zookeeper实现服务发现? 典型回答 服务发现是ZK的重要用途之一,当我们想要基于zk实现服务发现时,一般可以参考以下步骤:1. 向Zookeeper注册服务 服务提供者需要在Zookeeper上创建一个临时节点来注册自己的服务。节点的名…...
软件测试基础知识与面试题最强总结(2024版)
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、什么是软件? 软件是计算机系统中的程序和相关文件或文档的总称。 二、什么是软件测试? 说法一:使用人工或自动的手段来运…...
ESP32播放网络音频文件
要使用ESP32播放网络上的音频文件,你可以通过以下步骤实现。ESP32可以使用Wi-Fi连接到互联网,下载音频文件并通过I2S接口输出音频数据。以下是一个示例,展示如何使用ESP32从URL获取音频文件并播放。 ESP32开发板。I2S DAC(如MAX9…...
端到端 AWS 定量分析:使用 AWS 和 AWSCLI 自动运行脚本
使用 AWSCLI 启动、运行和关闭 AWS 服务器 添加图片注释,不超过 140 字(可选) 欢迎来到雲闪世界。我们开发了两个 Python 脚本;一个用于为我们获取数据,另一个用于使用 sklearn 的决策树分类器处理数据。然后…...
数据结构与算法 - B树
一、概述 1. 历史 B树(B-Tree)结构是一种高效存储和查询数据的方法,它的历史可以追溯到1970年代早期。B树的发明人Rudolf Bayer和Edward M. McCreight分别发表了一篇论文介绍了B树。这篇论文是1972年发表于《ACM Transactions on Database Systems》中的ÿ…...
Java二十三种设计模式-观察者模式(15/23)
观察者模式:实现对象间的松耦合通知机制 引言 在当今的软件开发领域,设计模式已成为创建可维护、可扩展和可重用代码的基石。在众多设计模式中,观察者模式以其独特的能力,实现对象间的松耦合通信而脱颖而出。本文将深入探讨观察…...
opencv-python图像增强二:图像去雾(暗通道去雾)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、简介:二、暗通道去雾方案简述:三、算法实现步骤3.1最小值滤波3.2 引导滤波3.3 计算图像全局光强 四:整体代码实现五…...
自研Vue3低代码海报制作平台第一步:基础拖拽组件开发
学习来源:稀土掘金 - 幽月之格大佬的技术专栏可拖拽、缩放、旋转组件 - 著作:可拖拽、缩放、旋转组件实现细节 非常感谢大佬!受益匪浅! 前面我们学习了很多vue3的知识,是时候把它们用起来做一个有意思的平台…...
QT 的 QSettings 读写 INI 文件的示例
在Qt中,QSettings 类提供了一种便捷的方式来存储和访问应用程序的设置,这些设置可以存储在多种格式的文件中,包括INI、Windows注册表(仅Windows平台)、XML和JSON等。以下是一些使用 QSettings 读写INI文件的示例。 写…...
【零基础学习CAPL语法】——testStep:测试结果输出函数
文章目录 1.函数介绍2.在报告中体现 1.函数介绍 testStep——测试结果输出函数 2.在报告中体现 //testStep() void PrintTxMsg() {testStep("Tx","[%x] [%.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x]",Diag_Req.id,Diag_Req.byte(0),Diag_Req.byte(1),Di…...
8.5.数据库基础技术-规范化
函数依赖 函数依赖:给定一个X,能唯一确定一个Y,就称X决定(确定)Y,或者说Y依赖于X。 例如:YX*X函数,此时X能确定Y的值,但是Y无法确定X的值,比如x2,y4,但是y4无法确定x2。函数依赖又可扩展以下两…...
于博士Cadence视频教程学习笔记备忘
标签:PCB教程 PCB设计步骤 cadence教程 Allegro教程 以下是我学习该视频教程的笔记,记录下备忘,欢迎大家在此基础上完善,能回传我一份是最好了,先谢过。 备注: 1、未掌握即未进行操作 2、操作软件是15.…...
8.3.数据库基础技术-关系代数
并:结果是两张表中所有记录数合并,相同记录只显示一次。交:结果是两张表中相同的记录。差:S1-S2,结果是S1表中有而S2表中没有的那些记录。 笛卡尔积:S1XS2,产生的结果包括S1和S2的所有属性列,并且S1中每条记…...
【Vue3】vue模板中如何使用enum枚举类型
简言 有的时候,我们想在vue模板中直接使用枚举类型的值,来做一些判断。 ts枚举 枚举允许开发人员定义一组命名常量。使用枚举可以更容易地记录意图,或创建一组不同的情况。TypeScript 提供了基于数字和字符串的枚举。 枚举的定义这里不说了…...
组合求和2
题目描述: Given a collection of candidate numbers (candidates) and a target number (target), find all unique combinations in candidates where the candidate numbers sum to target. Each number in candidates may only be used once in the combinati…...
Apple Maps现在可在Firefox和Mac版Edge浏览器中使用
Apple Maps最初只能在 Windows 版 Safari、Chrome 浏览器和 Edge 浏览器上运行,现在已在其他浏览器上运行,包括 Mac 版 Firefox 和 Edge。经过十多年的等待,Apple Maps于今年 7 月推出了新版地图应用的测试版,但只能在有限的浏览器…...
基于嵌入式Linux的数据库
数据库 数据库是在数据库管理系统和控制之下,存放在存储 介质上的数据集合。 基于嵌入式的数据库 基于嵌入式linux的数据库主要有SQlite, Firebird,Berkeley DB,eXtremeDB Firebird是关系型数据库,功能强大,支持存储过 程&…...
第08章 FastAPI 与 SSE 流式 RAG 后端
第08章 FastAPI 与 SSE 流式 RAG 后端 到目前为止,知识库、检索工具、MCP 客户端都已经就绪,但仍缺少一个面向最终用户的入口。本章用 FastAPI 把整条 RAG 链路串起来:接收前端发来的自然语言问题,调用 MCP 工具检索相关工单&…...
极简风项目交付倒计时!:紧急修复MJ --v 6.2中隐藏的1.33倍宽高比偏移Bug,避免客户验收驳回(含补救Prompt包)
更多请点击: https://intelliparadigm.com 第一章:极简风项目交付倒计时! 当交付周期压缩至 72 小时,极简风不再是一种美学选择,而是工程效率的刚性约束。我们摒弃冗余文档、跳过非核心评审环节,聚焦于可…...
Ix开源平台:基于Kubernetes的私有云与家庭实验室一体化管理方案
1. 项目概述与核心价值最近在折腾一个叫Ix的开源项目,它来自ix-infrastructure这个组织。乍一看这个名字,你可能觉得有点抽象,但如果你对自托管、家庭实验室、私有云或者想找一个更现代、更易用的 TrueNAS 替代品感兴趣,那这个项目…...
Halcon深度学习工具(DLT)安装与中文环境配置实战
1. Halcon DLT安装前的准备工作 第一次接触Halcon深度学习工具(DLT)时,我完全被各种专业术语搞晕了。后来才发现,只要做好前期准备,安装过程其实比想象中简单得多。首先需要确认的是你的Windows系统版本,DLT目前支持Windows 10和1…...
英雄联盟智能助手Seraphine:告别手动查询,实现高效游戏决策自动化
英雄联盟智能助手Seraphine:告别手动查询,实现高效游戏决策自动化 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 在英雄联盟排位赛中,你是否曾因错过接受对局而懊恼不已&a…...
游戏技能工程化:用数据驱动与计算机视觉构建Apex Legends个人成长系统
1. 项目概述:从“Apex Growth”到“OpenClaw Skill”的爬升之路如果你是一名游戏开发者,尤其是对竞技类FPS(第一人称射击)游戏感兴趣,那么“Apex Legends”这个名字你一定不陌生。这款游戏以其快节奏、高机动性和深度的…...
从零构建可定制对话系统:架构设计、RAG与智能体实战
1. 项目概述:从零构建一个可定制的对话系统最近在折腾一个挺有意思的东西,我把它叫做“customized-chat”。这名字听起来可能有点泛,但它的核心目标非常明确:打造一个完全由你自己掌控、能深度融入你特定业务逻辑或知识体系的对话…...
构建团队技能仓库:从知识管理到可执行技能包的系统化实践
1. 项目概述:从“技能包”到高效能工具箱最近在梳理团队内部的技术资产时,我反复思考一个问题:如何让那些散落在个人电脑、项目文档和口头交流中的“隐性知识”和“高效技能”,变成一个团队可以随时取用、持续进化的公共资产&…...
MCP服务器自动发现与管理工具mcpfinder详解
1. 项目概述:一个用于发现与管理MCP服务器的工具如果你正在构建或使用基于模型上下文协议(Model Context Protocol, 简称MCP)的应用,那么你很可能遇到过这样的困扰:手头有几个不同功能的MCP服务器ÿ…...
React轻量级代码编辑器组件:基于Textarea的语法高亮方案
1. 项目概述:一个为React开发者量身打造的代码编辑器组件 如果你在React项目中需要嵌入一个代码编辑器,并且希望它轻量、美观、开箱即用,那么 uiwjs/react-textarea-code-editor 这个组件库很可能就是你一直在寻找的解决方案。它不是一个像…...
