增强现实(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上对应图像的技术,这样的技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。这样的技术最早于1990年提出。随着随身电子产品运算能力的提升。增强现实的用途越来越广。

AR系统具有三个突出的特点:①真实世界和虚拟世界的信息集成;②具有实时交互性;③是在三维尺度空间中增添定位虚拟物体。AR技术可广泛应用到军事、医疗、建筑、教育、project、影视、娱乐等领域。

、基于视觉的AR;2、基于GPS及方向传感器的AR。

基于视觉的AR按技术种类可分为:基于标记(Marker Based)和非基于标记 (Markerless)两大类。AR 的核心技术关键都是现实目标的三维跟踪(3D
Tracking)的问题,有时也说是六度自由度跟踪(6DOF)问题。

基于标志又能够分为:固定模板类与自己定义模板类。

固定模板:这样的模式已经比較成熟了吧,大名鼎鼎的ARToolKit/plus,ARTag,ARTag在抗遮挡性上优于ARToolkit,后来的ARToolKit/Plus採用的应该时间ARTag的方法。

自己定义模板:原理和固定模板AR大致同样。差就差在模板的检測上,主要是通过检測特征点,然后依据不同帧间对应特征点的位置变化求得[R|t]矩阵,BazAR便是这样的类型的,其它的像以下这个链接。用非常少的代码实现了这样的类型AR的demo,http://www.morethantechnical.com
... ar-in-opencv-wcode/
 。这个代码里用的是光流法进行特征点的跟踪。以下这个链接的代码,用的是surf特征,http://morethantechnical.googlecode.com/svn/trunk/opencv_ar/ ,无论怎么样除了特征不同,坐标系变换的原理都和上一篇文章类似。在OpenCV中提供了一些函数能够轻松实现坐标系变换,比方solvePnP和cvFindHomography。

基于无标志AR:代表作是PTAM/M,Mixare,将是AR未来的发展方向

跟踪技术能够大致分成两大类,一类是基于特征的跟踪(Feature Based Tracking),比方通过跟踪从输入图像中抽取的特征点,特征边缘等完毕目标的三维运动预计和跟踪。还有一类是基于模板的跟踪(Template Based Tracking)即通过匹配部分输入图像的灰度图实现跟踪。

基于特征的跟踪 Feature Based Tracking颇具代表性的工作是牛津大学project系机器人研究所的PTAM。 參见Georg Klein 留在大学的主页http://www.robots.ox.ac.uk/~gk/PTAM/ 能够下载学习源代码。

    基于模板的的跟踪 Template Based Tracking颇具代表性的工作是洛桑联邦理工大学计算机视觉实验室的工作。见 Vincent Lepetit主页的系列实时跟踪的文章 http://cvlab.epfl.ch/~lepetit/ 另外也值得下载学习Vincent的合作者Stefan
Hintersser 主页 http://campar.in.tum.de/Main/StefanHinterstoisser 上的源代码,大部分是基于OpenCV的。

AR技术可广泛应用到军事、医疗、建筑、教育、project、影视、娱乐等领域。

AR增强现实 Augmented Reality的更多相关文章

  1. VR ( Virtual Reality )、AR(Augmented Reality)、MR(Mix Reality)和CR(Cinematic Reality)是什么鬼?

    整个社会对虚拟现实的研究和开发源于上个世纪六十年代,计算机图形学.人机接口技术.图像处理与模式识别.多传感技术.语音处理与音响技术.高性能计算机系统.人工智能等领域在之后半个世纪取得了长足的发展为虚拟 ...

  2. AR(增强现实) 知识篇

    增强现实(Augmented Reality,简称AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动.这种技术估计由1990年 ...

  3. 《虚拟伙伴》AR增强现实应用开发总结

    一.概述 1.1选题背景 随着时代的发展,人们的生活节奏越来越快,生活质量也越来越高,但却在繁忙之中忽略或者忘记了关心自己成长时代最重要或者最正确的事情和道理.虽然现在有很多社交平台,如微博,微信,f ...

  4. ARVE: Augmented Reality Applications in Vehicle to Edge Networks

    ARVE:车辆到边缘网中的增强现实应用 本文为SIGCOMM 2018 Workshop (Mobile Edge Communications, MECOMM)论文. 笔者翻译了该论文.由于时间仓促 ...

  5. 如何使用JavaScript开发AR(增强现实)移动应用 (一)

    本文封面配图是去年Jerry看的一部电影<异形:契约>的剧照. 所谓AR(Augmented Reality), 即增强现实,是一种将通过计算机渲染出的虚拟图像与真实世界巧妙融合的手段,背 ...

  6. Augmented reality in natural scenes

    Augmented reality in natural scenes (Iryna Gordon and David Lowe)2006年关于AR的研究成果 项目主页 http://www.cs.u ...

  7. 泡泡一分钟:Context-Aware Modelling for Augmented Reality Display Behaviour

    张宁 Context-Aware Modelling for Augmented Reality Display Behaviour链接:https://pan.baidu.com/s/1RpX6kt ...

  8. 如何开发AR增强现实应用与产品

    2016年被称为VR元年,可见火爆程度,但是我要告诉你,其实还有一种技术AR(增强现实)技术,才是下一个真正的“风口”技术.可以预见的是,未来AR应用爆发之时,必将超越VR产业规模,开拓千亿级市场空间 ...

  9. AR增强现实开发介绍(续)

    AR增强现实开发介绍(续) ---开发基础篇 开发增强现实技术,无论是商业级应用,还是面向幼儿教育的游戏产品,都需要从了解.获取.下载增强现实插件开始.目前全世界使用量最大公认最好的增强现实插件是高通 ...

随机推荐

  1. AngularJs学习教程

    AngularJs 目录 AngularJs实战一 购物车 细讲ng-repeat指令 ng-show和ng-hide ng-class指令 ng-src和ng-href 应用控制器中的职责 watc ...

  2. configsections規範配置信息

    對於小型項目,配置信息可以通过appSettings进行配置,而如果配置信息太多,appSettings显得有些乱,而且在开发人员调用时,也不够友好,节点名称很容易写错,这时,我们有几种解决方案 1 ...

  3. 字符串和数组中split().toString(),join(),splice(),slice(),substr()和substring()

    <!Doctype html> <head> <mate charset="utf-8"> <title>string change ...

  4. java多线程之 Executors线程池管理

    1. 类 Executors 此类中提供的一些方法有: 1.1 public static ExecutorService newCachedThreadPool() 创建一个可根据需要创建新线程的线 ...

  5. LCA of a Binary Tree

    236. Lowest Common Ancestor of a Binary Tree /** * 基础版 * 给定p,q都是在树中 * 有两种情况: * 1. p和q分布在LCA的两侧 * 2. ...

  6. 省时的浏览器同步测试工具 browsersync NodeJS

    http://www.browsersync.cn/ 省时的浏览器同步测试工具 Browsersync能让浏览器实时.快速响应您的文件更改(html.js.css.sass.less等)并自动刷新页面 ...

  7. C#反射实例化类并调用类的方法

    反射提高了程序的灵活性和扩展性,降低耦合性,提高自适应能力. 它允许程序创建和控制任何类的对象,无需提前硬编码目标类: SalBLL a = (SalBLL)Assembly.Load("B ...

  8. ext 参考资料

    http://extjs.org.cn/ 中文网站 http://www.sencha.com/ 英文网站 http://www.qeefee.com 个人总结

  9. 文本读写vs二进制读写

    [文本读写vs二进制读写] 在学习C语言文件操作后,我们都会知道打开文件的函数是fopen,也知道它的第二个参数是 标志字符串.其中,如果字符串中出现'b',则表明是以打开二进制(binary)文件, ...

  10. 埃氏筛法(快速筛选n以内素数的个数)

    给你一个数n,请问n以内有多少个素数?(n <= 10e7) 一般来说,要是对一个整数进行素数判断,首先想到的是写个函数判断是否为素数,然后调用这个函数,时间复杂度为O(n^(½)),但是要求n ...