当前位置: 首页 > news >正文

初识增强现实(AR)

初识增强现实(AR)

笔记来源:
1.2023年中国增强现实(AR)行业研究报告
2.wiki/Augmented reality
3.In-Depth Review of Augmented Reality: Tracking Technologies, Development Tools, AR Displays, Collaborative AR, and Security Concerns
4.Design and Implementation of Augmented Reality Browser for Mobile Terminal
5.FUSE: Towards AI-Based Future Services for Generating Augmented Reality Experiences

1.1 AR的简单定义

AR can be defined as a system that incorporates three basic features: a combination of real and virtual worlds, real-time interaction, and accurate 3D registration of virtual and real objects.
AR可以被定义为一个包含三个基本特征的系统:
(1) 虚实融合
(2) 实时交互
(3) 虚拟和现实对象的精确3D配准。

1.2 概念区分AR/MR/VR

1.3 AR所需的硬件

1.3.0 Chipset

1.3.1 Displays

AR光学显示系统大体包含两大块:

  1. 光学组合器
  2. 微型显示屏

1.3.2 Tracking

运动追踪所需硬件
motion tracking technologies: digital cameras and/or other optical sensors、accelerometers、GPS、gyroscopes、solid state compasses、radio-frequency identification (RFID)

下图来自:In-Depth Review of Augmented Reality: Tracking Technologies, Development Tools, AR Displays, Collaborative AR, and Security Concerns

1.3.3 Input Device

技术包括将用户的口语翻译成计算机指令的语音识别系统,以及通过视觉检测或嵌入在外围设备(例如魔杖、手写笔、指针、手套或其他身体穿戴设备)中的传感器来解释用户的身体动作的手势识别系统。

1.3.4 Networking

移动AR应用程序依赖强大计算能力,为弥补移动设备计算能力不足,将应用程序的计算传输给远程计算平台,这时就需要移动网络设备的支持对数据进行传输。

1.4 AR所需的软件和算法

1.4.1 Alighment (Registration) and Tracking

将虚拟物体和真实环境放在同一个坐标系下,在这种情况下虚拟物体相对真实环境就有了正确的位置和方向(配准问题)

Registration or alignment of partial 3D models is the process of bringing them all into the same reference frame by means of a suitable transformation.
部分 3D 模型的配准或对齐是通过适当的变换将它们全部带入同一参考系的过程。

Registration technology enables virtual images to be superimposed accurately in the proper environment. The main flow of 3d registration technology has two steps. First, determine the relationship between the virtual image, the model and the direction and position information of the camera or display device. Second, the virtual rendered image and model are accurately projected into the real environment, so the virtual image and model can be merged with the real environment. For the three-dimensional registration technology based on computer vision, it sets the reference point to realize the determination of the direction and position of the real scene by the camera or the display. –Research on Tracking and Registration Algorithm Based on Natural Feature Point
配准技术使虚拟图像能够在适当的环境中准确地叠加。
3D配准技术的主要流程有两个步骤。
首先,确定虚拟图像、模型以及摄像机或显示设备的方向和位置信息之间的关系。
其次,将虚拟渲染的图像和模型精确地投影到真实环境中,因此虚拟图像和模型可以与真实环境融合。
对于基于计算机视觉的三维配准技术来说,它通过设置参考点来实现摄像机或显示器对真实场景的方向和位置的确定。

To realize the three-dimensional registration process in augmented reality, the internal and external parameters of the camera are required. In fact, the camera calibration determines the intrinsic matrix, and the extrinsic matrix contains a translation component T and 3 rotation components. Therefore, the external parameter matrix M of each frame of the image obtained in the three-dimensional registration can be uniquely determined.The position of the point, that is, the accurate registration position of the virtual object in the real scene.–Research on Tracking and Registration Algorithm Based on Natural Feature Point
为了实现增强现实中的三维配准过程,需要相机的内部和外部参数。事实上,相机标定决定了内参矩阵,外参矩阵包含一个平移分量T和3个旋转分量。因此,三维配准得到的每一帧图像的外参矩阵可以唯一确定。点的位置,即虚拟物体在真实场景中的准确配准位置

经过配准后,用户、虚拟物体和真实环境同处在一个坐标系下,当后续虚拟物体或和用户进行移动时,能够更加精准的追踪虚拟物体和用户(摄像头)相对于真实环境的位置

实现追踪所需的技术

下图来自:In-Depth Review of Augmented Reality: Tracking Technologies, Development Tools, AR Displays, Collaborative AR, and Security Concerns


许多增强现实的计算机视觉方法都是继承自视觉里程计(VO)
上述方法通常由两部分组成:

The first stage is to detect interest points, fiducial markers or optical flow in the camera images. This step can use feature detection methods like corner detection, blob detection, edge detection or thresholding, and other image processing methods.
第一阶段:检测相机图像中的兴特征点、基准标记或光流。此步骤可以使用特征检测方法,例如角点检测、斑点检测、边缘检测或阈值处理以及其他图像处理方法。

The second stage restores a real world coordinate system from the data obtained in the first stage. Some methods assume objects with known geometry (or fiducial markers) are present in the scene. In some of those cases the scene 3D structure should be calculated beforehand. If part of the scene is unknown simultaneous localization and mapping (SLAM) can map relative positions. If no information about scene geometry is available, structure from motion methods like bundle adjustment are used. Mathematical methods used in the second stage include: projective (epipolar) geometry, geometric algebra, rotation representation with exponential map, kalman and particle filters, nonlinear optimization, robust statistics.
第二阶段:根据第一阶段获得的数据恢复真实世界坐标系。一些方法假设场景中存在具有已知几何形状(或基准标记)的对象。在某些情况下,应事先计算场景 3D 结构。
如果场景的一部分未知,同时定位和建图 (SLAM) 可以绘制相对位置。
如果没有有关场景几何的信息可用,则使用类似BA的SfM方法
第二阶段使用的数学方法包括:对极几何、几何代数、指数图旋转表示(Connecting the Lie algebra to the Lie group is the exponential map)、卡尔曼和粒子滤波器、非线性优化、鲁棒统计。

1.4.2 Rendering (lighting、shading, etc.)

Rendering is the process of generating a visual representation of a 3D scene or object from a 3D model. In augmented reality, rendering is a critical step in creating realistic and immersive AR experiences. It involves the use of computer algorithms to calculate how virtual objects should appear in the user’s view, considering factors like lighting, shadows, textures, and perspective.

AR rendering pipeline.
The camera or a set of sensors capture information about the environment.
The information is processed to:
(1) calculate camera extrinsic parameters and
(2) build understanding of the environment in order to generate augmentations in the form of text, images, 3D objects or neural scene representations.
(3) Finally, the extrinsic and graphic primitives are fed to the renderer which creates 2D images ready to be displayed.

以上只提到了配准、追踪、渲染,其实AR还涉及很多算法,接下来我们看看AR目前面临的几大问题

1.5 AR目前面临的几大问题(软件方面)

请添加图片描述

相关文章:

初识增强现实(AR)

初识增强现实(AR) 笔记来源: 1.2023年中国增强现实(AR)行业研究报告 2.wiki/Augmented reality 3.In-Depth Review of Augmented Reality: Tracking Technologies, Development Tools, AR Displays, Collaborative AR…...

开关电源起振是什么看了就知道

接触开关电源的朋友都知道,含有电源管理芯片的开关电源有输入,没输出时常说是不是电路没起振,到底这句话是什么意思呢?什么是“起振”先不做 的解释,简单打个比方,大家就容易懂了,就好像抢救心…...

Modbus_Ascii协议

设备必须要有RTU协议!这是Modbus协议上规定的,且默认模式必须是RTU,ASCII作为选项。(也就是说,一般的设备只有RTU这个协议,ASCII一般很少)所以说,一般学习Modbus协议,只需…...

树莓派在功能和成本之间的 “惊人平衡 “支持了全球数字标牌的成功故事!

树莓派的“功能和成本之间的惊人平衡”支撑全球数字标牌成功故事 数字标牌已经成为一个数十亿美元的行业。Yodeck很快预测到了其中的潜力:他们需要硬件来支持他们可靠、具有成本效益和易于管理的服务,而不会影响性能。事实证明,树莓派 4 证明…...

C++ 学习记录

文章目录 继承重载和重写区别重载重写 参考文献 继承 继承顾名思义就是对长辈本有的东西进行获取与使用,即两个以及两个类以上的关系在获取与使用时会存在一些情况: public:长辈对外公开的自身所有物,最终都会是后代的protected&…...

C#中的TCP和UDP

TcpClient TCP客户端 UDP客户端 tcp和udp的区别 TCP(传输控制协议)和UDP(用户数据报协议)是两种在网络通信中常用的传输层协议,它们在C#或任何其他编程语言中都具有相似的特性。下面是TCP和UDP的主要区别:…...

Spring中使用嵌套事务及事务保存点

嵌套事务及事务保存点 Spring中的嵌套事务与事务保存点1. 什么是嵌套事务?2. 为什么使用嵌套事务?3. 如何在Spring中使用嵌套事务?4. 使用事务保存点5. 总结 Spring框架提供了强大的事务管理功能,包括对嵌套事务的支持。在Spring中…...

SFT、RLHF、DPO、IFT —— LLM 微调的进化之路

TL;DR • SFT、RLHF 和 DPO 都是先估计 LLMs 本身的偏好,再与人类的偏好进行对齐; • SFT 只通过 LLMs 生成的下一个单词进行估计,而 RLHF 和 DPO 通过 LLMs 生成的完整句子进行估计,显然后者的估计会更准确; • 虽然…...

【数据结构】LinkedList与链表

目录 链表 1、链表的概念及结构 2、LinkedList的使用 2、1什么是LinkedList 2、2LinkedList的使用 3、LinkedList的遍历 4、LinkedList的模拟实现 5、ArrayList和LinkedList的区别 上篇已经熟悉了ArrayList的使用,ArrayList底层使用数组来存储元素。由于其底层…...

《LeetCode热题100》---<5.①普通数组篇五道>

本篇博客讲解LeetCode热题100道普通数组篇中的五道题 第一道:最大子数组和(中等) 第二道:合并区间(中等) 第一道:最大子数组和(中等) 法一:贪心算法 class So…...

根据id查找树形结构中匹配数据与上级所有数据

背后 在用户管理业务开发过程中,通常需要查询出用户管理的菜单数据和当前菜单的所有上级数据。为了方便后续的cv工作,我打算把这种方法记录下来,以备不时之需. 代码实现细节 Data public class MenuDTO {Schema(description "菜单id&qu…...

探索亚马逊Amazon S3:无缝存储管理与极速数据传输的奥秘

亚马逊云科技中Amazon S3,因其设计简单与高度可靠,允许用户通过互联网存储和检索任意数量的数据,并能够自动扩展以满足各种规模的需求,使得Amazon S3成为了许多云计算应用和网站的核心存储基础设施之一,Amazon S3提供的…...

Linux_监测CPU和内存

通过TOP持续获取进程的CPU和内存消耗,并写入到表格 # 配置进程名 processvm-agent # 配置次数 number100 # 配置间隔时间 time5 # csv结果文件 filecm_$(date %s).csv echo "%CPU,%MEM">${file} pid$(ps -aux | grep ${process} | awk -F {OFS"…...

OpenCV经典案例:01 答题卡识别

目录 透视变换矫正 选项识别匹配 QT 界面设计 引言:随着信息化的发展,计算机阅卷已经成为一种常规操作。在大型考试中,客观题基本不再 需要人工阅卷。本项目旨在开发一个基于OpenCV的高效答题卡识别系统,通过先进的图像处理和模…...

进程的管理与控制详解:创建、终止、阻塞等待与非阻塞等待

目录 一、进程创建 1、实例 2、fork函数详解 (1)fork函数模板 (2). fork() 函数的工作原理 (3). fork() 返回值和错误处理 3、如何理解进程创建过程 二、进程终止 1、终止是在做什么? 2、进程终止,有三种情况 3、进程如何终止? 三…...

【从零开始一步步学习VSOA开发】开发环境搭建

开发环境搭建 开发 VSOA 首先需要搭建开发环境,这里讲解 Windows 下 C/C 开发环境搭建方法。 下载 IDE 并申请授权码 SylixOS 的开发和部署需要 RealEvo-IDE 的支持,因此您需要先获取 RealEvo-IDE 的安装包和注册码。 RealEvo-IDE 分为体验版和商业版…...

一篇文章让你用我的世界中的红石搞懂什么是ALU!

目录 1.一些在开始的约定 2.七大逻辑门电路 1、 与门 2、 或门 3、 非门 5、 或非门 6、 异或门 7、 同或门 3.半加器 4.全加器 5.ALU 1.一些在开始的约定 相同的概念:相同的概念:高电平低电平逻辑真逻辑假 开关的开 开关的关 灯的亮 灯…...

硬盘数据恢复:所需时长、全面指南及注意事项

在数字化时代,硬盘作为我们存储重要数据的核心设备,其重要性不言而喻。然而,由于各种原因,如误删除、格式化、硬盘故障等,我们时常面临数据丢失的困境。数据恢复不仅关乎个人隐私和信息安全,更可能影响到我…...

基于SpringBoot+Vue的科研管理系统(带1w+文档)

基于SpringBootVue的科研管理系统(带1w文档) 基于SpringBootVue的科研管理系统(带1w文档) 科研的管理系统设计过程中采用Java开发语言,B/S结构,采取springboot框架,并以MySql为数据库进行开发。结合以上技术,对本系统的整体、数据库、功能模块…...

计算机组成原理 —— 五段式指令流水线

计算机组成原理 —— 五段式指令流水线 五段式指令流水线运算类指令LOAD指令的执行过程STORE指令的执行过程条件转移指令执行过程无条件转移指令的执行过程 我们今天来看看五段式指令流水线: 五段式指令流水线 五段式指令流水线是一种常见的处理器架构设计中采用的…...

【Bigdata】什么是关系联机分析处理

这是我父亲 日记里的文字 这是他的生命 留下留下来的散文诗 几十年后 我看着泪流不止 可我的父亲已经 老得像一个影子 🎵 许飞《父亲写的散文诗》 关系联机分析处理(Relational Online Analytical Processing,简称 ROLA…...

svd在求解最小二乘中的应用

文章目录 线性最小二乘的直接解法(正规方程解法)什么是伪逆?伪逆矩阵的一般形式伪逆矩阵与SVD的关系 线性最小二乘的直接解法(正规方程解法) 对于 A x b \boldsymbol{A}xb Axb的线性最小二乘问题,有直解析…...

JVM—垃圾收集算法和HotSpot算法实现细节

参考资料:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)周志明 1、分代回收策略 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取…...

nvidia系列教程-AGX-Orin基础环境搭建

目录 前言 一、Agx-Orin(32GB)介绍 1.1 GPU 1.2 CPU 1.3 NVDLA 1.4 内存 1.5 存储 二、安装JetPack SDK 三、基础环境配置 四、jetpack软件版本 总结 前言 NVIDIA Jetson AGX Orin 是一款功能强大的嵌入式AI平台,专为需要高性能和低…...

使用SpringAOP实现公共字段填充

文章目录 概要整体架构流程技术细节小结 概要 在新增员工或者新增菜品分类时需要设置创建时间、创建人、修改时间、修改人等字段,在编辑员工或者编辑菜品分类时需要设置修改时间、修改人等字段。这些字段属于公共字段,也就是也就是在我们的系统中很多表…...

c++初阶-----适配器---priority_queue

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…...

VSCode上安装C#环境教程

本章教程,教你如何在vscode上,可以快速运行一些基础的c#代码。 1、下载 .NET Code SDK 下载地址:https://dotnet.microsoft.com/zh-cn/download/dotnet/sdk-for-vs-code?utm_source=vs-code&utm_medium=referral&utm_campaign=sdk-install 根据自己的操作系统,选择…...

VS Code 和 Visual Studio 哪个更好

文章目录 VS Code 和 Visual Studio 哪个更好Visual Studio Code简介Visual Studio简介相同点差异点总结 VS Code 和 Visual Studio 哪个更好 Visual Studio Code简介 Visual Studio Code(简称 VS Code)是一款开源的、免费的、跨平台的、轻量级的代码编…...

FCA-数据分析理论试卷

其他参考: https://segmentfault.com/a/1190000043363073 https://blog.csdn.net/CSDN_WYY/article/details/137082340 Part.1:判断题(总分:8分 得分:8) 第1题 判断题 对任意事件A和B,必有 …...

WPF程序通过CadLib4加载CAD .dwg格式文件

1、下载CadLib相关dll文件,主要用到的:WW.dll、WW.Cad.dll、WW.GL.dll 2、程序中引用dll库。 3、创建WPF程序,使用Canvas来加载dwg文件,支持拖动和放大缩小。 4、部分代码: public void Init(string filename) {tr…...