基于自然特征点的移动增强跟踪注册技术研究

 2022-01-17 11:01

论文总字数:42670字

目 录

摘要 I

Abstract II

1.绪论 1

1.1 研究目的和意义 1

1.2国内外研究现状 1

1.3主要开发工具介绍 3

1.3.1 Eclipse 3

1.3.2 Android SDK和Android NDK 4

1.3.3 OpenCV 4

1.3.4 OpenGL ES 4

1.4研究内容 5

2.移动增强现实的跟踪注册技术 6

2.1移动增强现实跟踪注册技术的一般流程 6

2.2三维注册 7

2.2.1特征点检测 7

2.2.2特征点匹配 9

2.2.3特征点跟踪 9

2.3摄像机标定矩阵变换 10

2.4虚实结合 11

3. 应用设计 12

3.1设计目标 12

3.2应用流程图 12

3.2.1应用功能图 12

3.2.2应用运行流程图 12

3.3应用功能及模块划分 13

3.3.1搭建安卓平台,构建0penCV库 13

3.3.2与相机帧协同工作 14

3.3.3添加图像效果 17

3.3.4图像的识别与跟踪 18

3.3.5 摄像机标定 22

3.3.6虚实结合 22

4. 运行效果 24

4.1运行效果对比与分析 24

4.2 改变模型大小 28

4.3算法比较 29

5.总结与展望 30

参考文献 31

附录 32

致谢 41

基于自然特征点的移动增强跟踪注册技术研究

张晶晶

,China

Abstract: With the development of mobile technology, mobile augmented reality has become an important research direction for the development of augmented reality technology. Compared with

the application based on the identity , the application based on the natural feature overcomes the limitations based on identification, it detects and tracks natural feature points in the real scene , which gives users a better experience and the scope of application are more and more extensive. This paper researches and develops a practical application of mobile augmented reality based on natural feature points. It can achieve the combination of the actual situation and the virtual objects on the Android mobile phone. Based on Eclipse, the application uses OpenCV to track the feature points, and OpenGL ES is used to draw the 3D model, and finally, it is loaded into the target image. On this basis, the effects produced by the different target images were compared and analyzed.

Key words: Mobile augmented reality; tracking registration; OpenCV;OpenGL ES

1.绪论

1.1 研究目的和意义

增强现实(Augmented Reality,简称AR)是一种将计算机生成的虚拟信息叠加到真实场景中,对真实的场景进行增强或扩张的技术。增强现实技术运用了光电显示技术、交互技术、计算机图像技术以及传感器技术等,该技术是对虚拟技术的拓展和补充,在最近的十几年中发展迅速,并且在许多领域都体现出强大的实用性。随着移动智能终端的快速发展,对增强现实技术的研究也不再局限于PC端,移动增强现实技术也逐渐成为了增强现实技术的一个研究方向。在工业、教育、医疗等众多领域都具有极大的发展潜力。

移动增强现实技术就是将增强技术应用于移动设备中。早期的移动增强现实技术大多是基于标识的,但是这种基于标识的AR技术需要严格的条件,对光照、环境等的要求较高,这样的不足限制了用户的使用范围。随着近几年移动增强技术的迅猛发展,使得脱离标记的AR技术成为可能,目前正在研究基于自然特征点的AR技术,它弥补了之前基于标识的不足,使用范围更广,具有更大的市场价值和更高的实用性,同时也为户外环境的研究提供了可能。因此,有必要深入学习这种技术,为以后AR技术的发展奠定一定的基础。

目前基于安卓系统的移动设备大都具有很高的软硬件配置,而且安卓系统也是时下应用较多的一种移动操作系统,所以这是一个比较适合用来开发移动增强现实应用的平台,而且研究基于安卓的增强现实应用能够给人们的日常生活带来很多益处。因此本文研究基于自然特征点的移动增强现实跟踪注册技术具有较大的现实意义与实用价值。

1.2国内外研究现状

移动增强现实技术近几年发展非常迅速。早期,研究人员主要通过在真实场景中放入标识物来进行虚实结合。这样的方法在一定的程度上解决了跟踪注册的问题,但是它也具备很大的缺陷,限制了它的使用范围。因此,研究人员开始转变想法,希望借助于真实场景中的一些自然特征,例如点、线、面来进行跟踪注册。目前,基于自然特征的移动增强现实技术已经成为了主流,在许多的领域都被广泛的应用,比如旅游业、商业、教育业等。

1997年,Feiner等人设计出了第一个移动增强现实系统(MARS)的原型。该系统可以将一些虚拟的旅游指导信息添加到真实的环境中。2010年,荷兰的SPRXmobile 公司推出全球第一款增强现实手机浏览器 Layar,该浏览器是全球第一款具有增强现实感的手机浏览器,它将真实世界与虚拟的信息完美融合在一起(如图1.1所示)。当用户将手机的摄像头对准某个目标物,那么就会在手机上显示出与该目标物相关的信息,用户可以根据需要选择自己需要的信息,给用户带来了极大的方便。同类型的典型应用还有美国的Wikitude公司开发的一款比较著名的移动增强现实应用Wikitude世界浏览器,它是一款旅游导航软件,该浏览器可以对目标进行识别,用户可以通过此应用搜索自己所在地附近的饭店、景点等相关的信息,给用户的生活带来了极大的方便(如图1.2所示)。移动增强现实技术在游戏领域也被广泛应用,在Sony公司开发的PS3游戏《审判之眼》中也运用了AR技术,在该游戏中,玩家可以在真实的环境中逼真的感受到由增强现实技术渲染出的3D怪兽等许多游戏角色,使得玩家获得了较好的体验。

1.1 Layar浏览器 1.2 Wikitude浏览器

增强现实技术在国外已经发展了许多年,但在国内的研究尚且缓慢。因为移动端不同于PC端,移动增强现实中的跟踪注册与传统的跟踪技术也有很大的区别:首先,因为移动设备具有可移动性,需要应用大范围场景的跟踪注册技术;其次,移动设备的资源受到了许多限制,比如内存受限、功耗受限等,无法有效的进行跟踪注册。因而极大的限制了移动增强现实的发展。

国内的北京理工大学、浙江大学、华中科技大学以及厦门大学等均在该领域进行了探索和研究工作。早在2006年,北京理工大学的王涌天教授等人曾经就设计出一套关于解决户外增强现实系统的方案,它被用来对圆明园进行了数字重建(如图1.3所示)。该系统还原了圆明园以前的风貌,能够让游客亲身体验到皇家园林的壮观,这也在某种意义上保护了我国的文化遗产。浙江大学的CADamp;CG国家重点实验室研究出了基于汉字标识的增强现实系统,通过摄像头,识别出黑色方框内的汉字,并在汉字上能够显示出与该汉字相关的一些介绍信息。北京理工大学的梁也凡等同学开发了一个增强现实的应用,在安卓手机上开发了一个城市一点即通的软件(如图1.4所示),该软件可以帮助用户更好的了解城市的特点,当将手机对着某个方向时,可以看到它推荐的餐饮、娱乐等设施。同时,用户还可以进行语音搜索,该应用还加载了相关的地图数据,立体感较好,满足了用户的各方面需求。华中科技大学利用场景分割以及在线重建技术研制了面向户外场景的虚实注册系统(如图1.5所示),该系统能够有效地解决户外分散场景下的虚实注册问题,因此在一定程度上提高了室外增强现实系统的可用性。

图1.3 圆明园重建效果图

图1.4 城市一点即通软件的运行效果图

图 1.5 华中科技大学基于在线重建的虚实注册系统

由于在真实场景中会受到现实环境条件的干扰,相比于基于人工标识的增强现实,基于自然特征点的增强现实应用更具有实用性和灵活性,应用范围也更加广泛,因此近几年逐渐成为研究热点。

1.3主要开发工具介绍

1.3.1 Eclipse

Eclipse是由IBM开发的一款用来开发JAVA、PHP、C 、C等程序的软件。Eclipse是由一个核心和基于此核心的许多插件组成,它为Struts、Spring、Hibernate等都提供了各自适合的插件。它的这一特征受到了众多软件公司的青睐。Eclipse的设计思想是利用大量的插件来进行程序开发,本文的设计使用了ADT、JDT等插件。Eclipse是由平台运行库、工作台、工作区、团队支持和帮助这几个主要部分构成。在Eclipse中开发程序,可以方便地对程序进行编译调试,它是一款非常受欢迎的java开发软件。

1.3.2 Android SDK和Android NDK

Android SDK可以有两种实现方式:一是仅仅提供数据交互,这种方法的优点在于只要有丰富的接口,开发者就可以在应用中随心所欲的开发。但这种方法对于一些界面来说,需要重复开发,增加了工作量。二是除了数据交互,还提供经常用的界面。该方法提供了统一的界面,减少了工作量,并且对于一些保密数据,安全性比较高。但该方法需要安装独立的SDK应用,使得开发者无法做到随心所欲的开发。

Android NDK是一套允许安卓开发者将从C、C 源代码文件编译得来的本地机器代码嵌入到各自的应用软件包中的工具。Android NDK是对Android SDK的补充,它能够实现以下功能:能够生成JNI兼容的共享库,这些库在ARM处理器上的Android1.5平台及更高的版本上运行。将生成的共享库拷贝到应用程序工程路径的相应位置,然后它们将会被自动添加到你最终生成的.apk文件中。在之后的NDK版本中,我们希望提供通过一个远程的gdb连接工具来帮助调试代码并且尽可能多的提供调试信息。

1.3.3 OpenCV

OpenCV是一种计算机视觉库,它是由一些C函数和C 类组成的,包含了许多关于图像处理和计算机视觉方面的算法。它具有开放的C/C 源码、统一的结构功能定义以及强大的图像和矩阵运算能力等特点。OpenCV具有图像处理和计算机视觉功能,包括结构分析、跟踪物体、模式识别等功能。作为一类开源、跨平台的库,它提供了计算机视觉和应用处理模块以及捕捉和图像显示的接口。它是作为第二次开发的一个理想工具,可以应用于很多领域。

剩余内容已隐藏,请支付后下载全文,论文总字数:42670字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;