AR增强现实技术解读

来源:网络  

AR增强现实,是用户对现实世界感知的新技术。

一般认为,AR技术的出现源于虚拟现实技术(Virtual Reality,简称VR)的发展,但二者存在明显的差别。

传统VR技术给予用户一种在虚拟世界中完全沉浸的效果,是另外创造一个世界;而AR技术则把计算机带入到用户的真实世界中,通过听、看、摸、闻虚拟信息,来增强对现实世界的感知,实现了从“人去适应机器”到技术“以人为本”的转变。 

AR技术原理

AR从其技术手段和表现形式上,可以明确分为大约两类,一是Vision based AR,即基于计算机视觉的AR,二是LBS basedAR,即基于地理位置信息的AR。 

01

Vision based AR

基于计算机视觉的AR是利用计算机视觉方法建立现实世界与屏幕之间的映射关系,使我们想要绘制的图形或是3D模型可以如同依附在现实物体上一般展现在屏幕上,如何做到这一点呢?

本质上来讲就是要找到现实场景中的一个依附平面,然后再将这个3维场景下的平面映射到我们2维屏幕上,然后再在这个平面上绘制你想要展现的图形,从技术实现手段上可以 分为2类 :

1、 Marker-Based AR

这种实现方法需要一个事先制作好的Marker(例如:绘制着一定规格形状的模板卡片或者二维码),然后把Marker放到现实中的一个位置上,相当于确定了一个现实场景中的平面。

然后通过摄像头对Marker进行识别和姿态评估(Pose Estimation),并确定其位置,然后将该Marker中心为原点的坐标系称为Marker Coordinates即模板坐标系

我们要做的事情实际上是要得到一个变换从而使模板坐标系和屏幕坐标系建立映射关系,这样我们根据这个变换在屏幕上画出的图形就可以达到该图形依附在Marker上的效果。

理解其原理需要一点3D射影几何的知识,从模板坐标系变换到真实的屏幕坐标系需要先旋转平移到摄像机坐标系(Camera Coordinates)然后再从摄像机坐标系映射到屏幕坐标系。

在实际的编码中,所有这些变换都是一个矩阵,在线性代数中矩阵代表一个变换,对坐标进行矩阵左乘便是一个线性变换(对于平移这种非线性变换,可以采用齐次坐标来进行矩阵运算)。公式如下:

矩阵C的学名叫摄像机内参矩阵,矩阵Tm叫摄像机外参矩阵,其中内参矩阵是需要事先进行摄像机标定得到的,而外参矩阵是未知的,需要我们根据屏幕坐标(xc ,yc)和事先定义好的Marker 坐标系以及内参矩阵来估计Tm,然后绘制图形的时候根据Tm来绘制(初始估计的Tm不够精确,还需要使用非线性最小二乘进行迭代寻优)。

比如使用OpenGL绘制的时候就要在GL_MODELVIEW的模式下加载Tm矩阵来进行图形显示。

2、 Marker-Less AR

基本原理与Marker based AR相同,不过它可以用任何具有足够特征点的物体(例如:书的封面)作为平面基准,而不需要事先制作特殊的模板。

摆脱了模板对AR应用的束缚。

它的原理是通过一系列算法(如:SURF,ORB,FERN等)对模板物体提取特征点,并记录或者学习这些特征点。

当摄像头扫描周围场景,会提取周围场景的特征点并与记录的模板物体的特征点进行比对,如果扫描到的特征点和模板特征点匹配数量超过阈值,则认为扫描到该模板,然后根据对应的特征点坐标估计Tm矩阵,之后再根据Tm进行图形绘制(方法与Marker-Based AR类似)。

02

LBS-Based AR

其基本原理是通过GPS获取用户的地理位置,然后从某些数据源(比如wiki,google)等处获取该位置附近物体(如周围的餐馆,银行,学校等)的POI信息,再通过移动设备的电子指南针和加速度传感器获取用户手持设备的方向和倾斜角度,通过这些信息建立目标物体在现实场景中的平面基准(相当于marker),之后坐标变换显示等的原理与Marker-Based AR类似。

这种AR技术利用设备的GPS功能及传感器来实现,摆脱了应用对Marker的依赖,用户体验方面要比Marker-Based AR更好。

而且由于不用实时识别Marker姿态和计算特征点,性能方面也好于Marker-Based AR和Marker-Less AR,因此对比Marker-Based AR和Marker-Less AR,LBS-Based AR可以更好的应用到移动设备上。

03

AR增强现实系统组成

1、Monitor-based系统

基于计算机显示器的AR实现方案中,摄像机摄取的真实世界图像输入到计算机中,与计算机图形系统产生的虚拟景象合成,并输出到屏幕显示器。

用户从屏幕上看到最终的增强场景图片。它虽然不能带给用户多少沉浸感,但却是一套最简单使用的AR实现方案。

由于这套方案的硬件要求很低,因此被实验室中的AR系统研究者们大量采用。

2、Video see-through系统

头盔式显示器(Head-mounted displays-HMD)被广泛应用于虚拟现实系统中,用以增强用户的视觉沉浸感。

增强现实技术的研究者们也采用了类似的显示技术,这就是在AR中广泛应用的穿透式HMD。

根据具体实现原理又划分为两大类,分别是基于视频合成技术的穿透式HMD(video see-through HMD)和基于光学原理的穿透式HMD(optical see-through HMD)。

Video see-through增强现实系统实现方案

3、Optical see-through系统

在上述的两套系统实现方案中,输入计算机中的有两个通道的信息,一个是计算机产生的虚拟信息通道,一个是来自于摄像机的真实场景通道。

而在optical see-through HMD实现方案中去除了后者,真实场景的图像经过一定的减光处理后,直接进入人眼,虚拟通道的信息经投影反射后再进入人眼,两者以光学的方法进行合成。

4、三种系统结构的性能比较

三种AR显示技术实现策略在性能上各有利弊。

在基于monitor-based和video see-through显示技术的AR实现中,都通过摄像机来获取真实场景的图像,在计算机中完成虚实图像的结合并输出。

整个过程不可避免的存在一定的系统延迟,这是动态AR应用中虚实注册错误的一个主要产生原因。

但这时由于用户的视觉完全在计算机的控制之下,这种系统延迟可以通过计算机内部虚实两个通道的协调配合来进行补偿。

而基于optical see-through显示技术的AR实现中,真实场景的视频图像传送是实时的,不受计算机控制,因此不可能用控制视频显示速率的办法来补偿系统延迟。

另外,在基于monitor-based和video See-through显示技术的AR实现中,可以利用计算机分析输入的视频图像,从真实场景的图像信息中抽取跟踪信息(基准点或图像特征),从而辅助动态AR中虚实景象的注册过程。而基于optical see-through显示技术的AR实现中,可以用来辅助虚实注册的信息只有头盔上位置传感器。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

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

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

相关文章

人工智能十年回顾:CNN、AlphaGo、GAN……它们曾这样改变世界

来源:机器学习研究组订阅号过去十年间,人工智能技术突飞猛进,最疯狂的科幻小说场景现在已经成为我们生活中不可或缺的一部分。十年前,人们在谈论 AI 的理论化和实验,但这些年来,AI 变得更加切实了&#xff…

jsp--cookie

cookie(客户端,不是内置对象):Cookies是服务端生成的,再发送给客户端保存 相当于本地缓存的作用: 客户端->服务端 eg:看一个电影,服务端产生发给客户端,第二次看就快了 作用&a…

Python学习笔记——GIF倒放处理

自动读取指定路径下所有gif格式的文件,利用Python图像处理库PIL下的Image、ImageSequence模块,批量实现gif倒放处理并保存。代码如下:# encoding: utf-8 import os import sys from PIL import Image, ImageSequencepath sys.path[0] …

OpenAI发布新人工智能系统:根据文字生成图像

来源:新浪科技据报道,旧金山人工智能研究公司OpenAI已经开发了一种新系统,能根据短文本来生成图像。OpenAI在官方博客中表示,这个新系统名为DALL-E,名称来源于艺术家萨尔瓦多达利(Salvador Dali&#xff09…

jsp内置对象--session

session(服务端) session:会话 1. 浏览网站:开始->关闭 2. 购物:浏览,结算,付款,退出 3. 电子邮件: 浏览,写邮件,退出 以上都是session的…

python深拷贝实现原理,js递归实现深拷贝

经过小编之前关于JavaScript深拷贝实现方式的介绍,大家已经知道深拷贝能够实现真正意义上的数组和对象的拷贝。其实使用内置对象JSON虽然简答,但不能将对对象的方法深拷贝,因此使用递归的方式就是最实用的,本文介绍使用递归的方式…

梅宏院士:操作系统变迁有20年周期律,泛在计算是一片新蓝海

梅宏来源:观察者网作者:梅宏院士中国科学院院士、发展中国家科学院院士、欧洲科学院外籍院士、IEEE FELLOW,中国计算机学会理事长,北京大学信息技术高等研究院智能软件技术与应用研究中心首席科学家。信息技术发展正在进入人机物融…

IEEE CS:2021年的12大技术趋势

来源:笑看国际风云LOS ALAMITOS, Calif., 16 December 2020 – IEEE计算机协会(IEEE CS)公布了其2021技术预测报告(2021 Technology Predictions),重点关注大流行对人类生活,供应链,…

jsp内置对象--application

appliation 全局对象 String getContextPath():虚拟路径 String getRealPath(虚拟路径):绝对路径(虚拟路径 相对的绝对路径)

D1 模拟赛

T1 note 数组开小 菜的真实 60分 题目大意&#xff1a; 一个字符串 分成若干段 使每段内都没有重复的字符 求最少的段数 思路&#xff1a; 可以贪心 1 #include<iostream>2 #include<cstdio>3 #include<cmath>4 #include<cstdlib>5 #include<cstrin…

模仿人脑视觉处理,助力神经网络应对对抗性样本

来源&#xff1a;混沌巡洋舰自从深度学习只能识别支票和信封上的手写字母以来&#xff0c;它已经取得了长足的进步。今天&#xff0c;深度神经网络已经成为许多计算机视觉应用的关键组成部分&#xff0c;从照片和视频编辑器到医疗软件和自动驾驶汽车。神经网络大致模仿了大脑的…

电子很可能具有意识

© Olhar Digital来源&#xff1a;利维坦文&#xff1a;Tam Hunt译&#xff1a;猫大郎校对&#xff1a;兔子的凌波微步2020年5月&#xff0c;“宇宙有意识吗&#xff1f;”作为标题出现在《新科学人》&#xff08;New Scientist&#xff09;周刊的一期封面上。德国慕尼黑数…

JDBC--Java Database Connectivity

1.JDBC:Java DataBase Connectivity 可以为多种关系型数据库DBMS 提供统一的访问方式&#xff0c;用Java来操作数据库 2.JDBC API 主要功能&#xff1a; 三件事&#xff0c;具体是通过以下类/接口实现&#xff1a; DriverManager &#xff1a; 管理jdbc驱动 Connection&#x…

数字孪生:连结现实与数字世界

作者&#xff1a;德勤洞察来源&#xff1a;《软件与集成电路》2020年第5期试想一下&#xff0c;你拥有一个现实世界的完美数字副本&#xff1a;数字孪生。它可以帮助你开展虚拟协作&#xff0c;快速获取传感器数据并模拟条件&#xff0c;清楚地了解假设情景&#xff0c;更能精准…

微软和谷歌的人工智能,在SuperGLUE基准测试中超越了人类

大数据文摘出品来源&#xff1a;venturebeat编译&#xff1a;千雪2019年底&#xff0c;Facebook、纽约大学、华盛顿大学和DeepMind的研究人员联合提出了SuperGLUE&#xff0c;这是人工智能的一个新基准&#xff0c;旨在总结多种语言任务的研究进展。基于一年前推出的GLUE基准&a…

2020年度中国生命科学十大进展公布 | 中国科协生命科学学会联合体

来源&#xff1a;中国科协生命科学学会联合体本年度的评选&#xff0c;联合体成员学会推荐的项目较往年数量明显增加&#xff0c;体现了“中国生命科学十大进展”评选日臻完善&#xff0c;社会影响力与关注度不断扩大&#xff1b;获奖项目中非院士主导项目所占比例较往年大&…

百度研究院发布2021年十大科技趋势预测

来源&#xff1a;百度智能云作者&#xff1a;刘瑾疫情加速 AI 融合落地AI 将更加深入大众生活2020年&#xff0c;全球抗疫促使 AI 与 5G、大数据、物联网等新一代信息技术相互融合&#xff0c;AI 测温、AI 问诊、智能外呼、服务机器人等创新应用开始大规模普及&#xff0c;从生…

欧阳自远:有个性的嫦娥12345,如何不重复美国探月路?

来源&#xff1a;澎湃新闻 作者&#xff1a;虞涵棋“很多事情人家都做过了&#xff0c;中国也不得不做&#xff0c;唯一的要求就是一定要比别人做的好。但总有一两样没人没干过的事&#xff0c;中国一定要干。”1月13日&#xff0c;中国月球探测工程首席科学家、中科院院士欧阳…

linux安装DNS服务命令,Linux下的安装和配置DNS服务器

Linux下的安装和配置DNS服务器发布时间&#xff1a;2008-09-08 17:03:00 作者&#xff1a;佚名 我要评论在Linux操作系统中使用BIND (Berkeley Internet Name Daemon)作为DNS服务器&#xff0c;以下以Linux 的Redhat 7.3发行版本为例&#xff0c;介绍BIND安装、启动和停止…

【转】java反射--注解

【译】8. Java反射——注解 原博地址&#xff1a;https://www.cnblogs.com/penghongwei/p/3300087.html翻译原文地址&#xff1a;http://tutorials.jenkov.com/java-reflection/annotations.html 使用Java反射机制&#xff0c;在运行时你可以访问到Java类中所附属的一些注解。…