当前位置: 首页 > 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目前面临的几大问题(软件方面)

请添加图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ubuntu20从docker安装到制作自己的镜像使用记录
  • leetcode数论(2521. 数组乘积中的不同质因数数目)-质因素分解
  • 垃圾收集器
  • 【Linux】(32)详解命名管道 | 日志管理 | 进程池2.0
  • 基于python的百度迁徙迁入、迁出数据分析(七)
  • C# 报表功能
  • Nginx隐藏欢迎页Welcome to CentOS
  • 百日筑基第四十五天-从JAVA8走到JAVA9
  • Spring的代理模式
  • Omit<T, K> 解释
  • 【电子数据取证】支持最新版微信、企业微信、钉钉等重点应用数据提取分析!
  • 网络安全知识讲解
  • C语言典型例题30
  • Vue 3 中,组件间传值有多种方式
  • 【知识】pytorch中的pinned memory和pageable memory
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • docker python 配置
  • HashMap剖析之内部结构
  • SAP云平台里Global Account和Sub Account的关系
  • Spring核心 Bean的高级装配
  • 测试开发系类之接口自动化测试
  • 工作手记之html2canvas使用概述
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 批量截取pdf文件
  • 如何使用 JavaScript 解析 URL
  • 世界上最简单的无等待算法(getAndIncrement)
  • 问题之ssh中Host key verification failed的解决
  • elasticsearch-head插件安装
  • gunicorn工作原理
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • # Maven错误Error executing Maven
  • #控制台大学课堂点名问题_课堂随机点名
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (算法)N皇后问题
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (已解决)什么是vue导航守卫
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)C#调用WebService 基础
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net FrameWork简介,数组,枚举
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .net(C#)中String.Format如何使用
  • .NET基础篇——反射的奥妙
  • .Net语言中的StringBuilder:入门到精通
  • // an array of int
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面