分类号 密级 UDC 注 1 学位论文 基于虚拟现实技术 (Virtual Realit) 的物品展示 ( 题名和副题名 ) 王科 ( 作者姓名 ) 指导教师熊彩东教授 电子科技大学 陈树强 电子科技大学 成都 教授 成都 ( 姓名 职称 单位名称 ) 申请学位级别硕士专业学位类别工程硕士 工程领域

Size: px
Start display at page:

Download "分类号 密级 UDC 注 1 学位论文 基于虚拟现实技术 (Virtual Realit) 的物品展示 ( 题名和副题名 ) 王科 ( 作者姓名 ) 指导教师熊彩东教授 电子科技大学 陈树强 电子科技大学 成都 教授 成都 ( 姓名 职称 单位名称 ) 申请学位级别硕士专业学位类别工程硕士 工程领域"

Transcription

1 UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA 专业学位硕士学位论文 MASTER THESIS FOR PROFESSIONAL DEGREE 论文题目 基于虚拟现实技术 (Virtual Realit) 的 物品展示 专业学位类别 工程硕士 学号 作者姓名 王科 指导教师熊彩东教授

2 分类号 密级 UDC 注 1 学位论文 基于虚拟现实技术 (Virtual Realit) 的物品展示 ( 题名和副题名 ) 王科 ( 作者姓名 ) 指导教师熊彩东教授 电子科技大学 陈树强 电子科技大学 成都 教授 成都 ( 姓名 职称 单位名称 ) 申请学位级别硕士专业学位类别工程硕士 工程领域名称 电子与通信工程 提交论文日期 218 年 3 月论文答辩日期 218 年 5 月 学位授予单位和日期电子科技大学 218 年 6 月 答辩委员会主席 评阅人 注 1: 注明 国际十进分类法 UDC 的类号

3 BASED ON AUGMENTED REALITY TECHNOLOGY TO REALIZE THE DISPLAY OF MODEL A Master Thesis Submitted to Universit of Electronic Science and Technolog of China Discipline: Author: Supervisor: School: Master of Engineering Wang Ke Prof. Xiong Caidong School of Phsical

4

5 摘要 摘要 Augmented Realit (AR) 系统, 就是将虚拟物体和真实世界场景融合输出的一整套系统 传统的 AR 系统都是利用 PC 端或者服务器实现的, 而当前的增强现实系统大多采用手持终端平台, 因为手持终端增强现实 (MAR) 系统的可携带性 实用性会更高,MAR 可以在以 Android 系统 IOS 系统为操作系统的硬件平台运行, 因此也提高了 AR 系统的普及率, 更加适应了多变的环境, 随着 4G 和 5G 的出现, 手机和服务器之间的信息传递速率也得到了极大的提升, 推动了手持终端增强现实系统的出现与发展, 之后的增强现实系统可以在服务器上进行处理, 然后传回至手持终端显示 通过对增强现实系统的了解和多方面的阅读 理解, 利用现在已经广泛使用的 Android 和 IOS 系统硬件平台实现 AR 系统, 不仅可以拥有很好的软硬件支持, 同时也可以更好的促进增强现实技术的进一步发展, 本文在 Android 平台上实现了 AR 系统, 并对下面这些方面进行了创新和研究 : 1. 在对常见的特征算法进行了分析的基础上, 针对智能手持终端平台提出了新的 AR 系统实现方式 2. 将两种算法 BRSK 和 SURF 进行配合使用, 利用 BRISK 在空间上的多尺度的表达特性和 SURF 的旋转不变的特性 研究表明两种算法在对模糊的图像实施检测时, 都会有很不错的效果 3. 在之后的匹配 跟踪和注册等环节, 通过 BFMatcher 距离法 L-K 算法, 对特征点进行匹配 提纯 跟踪, 经过验证能够很好的提高系统在特征提取与匹配时的稳定性和准确率 4. 以 Android 为操作系统的平台, 对新的 AR 系统的进行了实现, 成功的搭建调用 C/C++ 编写的开源库的环境, 实现了 Java 代码与 C/C++ 语言的通信 5. 在 Android 系统上利用 Open CV for Android SDK, 实现了对特征点的获取 描述 匹配 跟踪等功能 在注册环节我们使用 Open GL ES 技术, 实时的把虚拟物体叠加到视频流中 最后得到了移动增强现实系统, 并且在快速性 稳定性 鲁棒性上达到了预期的要求 关键词 :BRISK,SURF,BFmatcher 匹配算法, 图像匹配, 增强现实 I

6 ABSTRACT ABSTRACT The Augmented Realit (AR) sstem is a complete sstem that combines virtual objects with real-world scenes. The traditional AR sstems are implemented using PCs or servers. The current augmented realit sstems mostl use handheld terminal platforms. Because handheld mobile augmented realit (MAR) sstems are more portable and practical, MAR can Android sstem and IOS sstem run for the hardware platform of the operating sstem, so it also increases the penetration rate of the AR sstem and adapts to the changing environment. With the advent of 4G and 5G, the information transfer rate between the mobile phone and the server is also improved. The great improvement has promoted the emergence and development of handheld augmented realit sstems. After that, the augmented realit sstem can be processed on the server and then transmitted back to the handheld terminal displa. Through the understanding of the augmented realit sstem and various aspects of reading and understanding, using the Android and IOS sstem hardware platforms that are now widel used to implement the AR sstem, not onl can have good hardware and software support, but also can better promote augmented realit With the further development of technolog, this article implements the AR sstem on the Android platform and innovates and studies the following aspects: 1. Based on the analsis of common feature algorithms, a new AR sstem implementation method is proposed for smart handheld terminal platforms. 2. The two algorithms BRSK and SURF are used together to exploit the multi-scale spatial representation of BRISK and the rotation-invariant nature of SURF. Research shows that both algorithms have a ver good effect when detecting blurred images. 3. After matching, tracking and registration, feature points are matched, purified and tracked b BFMatcher, distance method and LK algorithm. After verification, the stabilit of the sstem in feature extraction and matching is improved. Accurac. 4. With Android as the operating sstem platform, the new AR sstem was implemented. The environment for open source libraries written in C/C++ was successfull set up, and the Java code was communicated with the C/C++ language. 5. On the Android sstem, Open CV for Android SDK is used to achieve the feature point acquisition, description, matching, tracking and other functions. In the registration II

7 ABSTRACT process, we use Open GL ES technolog to superimpose two-dimensional images of virtual objects onto the video stream in real time, and perform functions such as rendering and mapping at the same time. Finall, an augmented realit sstem with good effect is obtained, and the expected requirements are achieved in terms of rapidit, stabilit, and robustness. Keword:BRISK ; SURF; BFmatcher feature match; Image matching; Augmented Realit III

8 目录 目录 第一章绪论 研究的背景和意义 增强现实系统 手持终端的增强现实 手持终端的增强现实的研究意义 国内外研究现状 基于标识物的 AR 系统 基于物体自然特征点的 AR 系统 本文的创新和研究的内容 文章创新点 研究内容... 7 第二章 AR 相关技术介绍 增强现实的传统系统结构 AR 系统中的相关技术 利用计算机视觉实现的 AR 系统 AR 系统常见的显示设备 虚拟物体的注册和跟踪 摄像机的位姿估计与坐标变换 基于 L-K 光流跟踪算法 Open CV 技术 Open CV 的相关结构的介绍 Open CV 的基本数据结构 Open GL 技术 Open GL 的结构 Open GL 的基本功能和运行机制 Open GL ES 特性及工作原理... 3 a. Open GL ES 的特性... 3 IV

9 目录 b.open GL ES 2. 工作原理 Android 系统涉及到的技术 Android 系统架构 Android 系统使用的 NDK 技术 本章小结 第三章混合特征检测方法与注册 常用的自然特征算法 跟踪和注册环节的流程 BRISK 特征算法 BRISK 特征点检测 BRISK 特征点描述 SURF 特征算法 SURF 算法特征检测 SURF 算法特征描述 采用 BFMatcher 进行特征点的匹配 相似度度量方法 欧式距离 汉明距离 特征匹配点对的优化 RANSAC 算法对匹配点进行优化 距离算法对匹配点进行优化 两种优化方法的结果比较 实验结果 本章小结 第四章移动手持终端的增强现实系统设计与实现 系统使用的软硬件介绍 开发环境搭建 系统框架和模块 实验结果与分析 本章总结 V

10 目录 第五章总结和展望 总结 展望 致谢 参考文献 VI

11 第一章绪论 第一章绪论 1.1 研究的背景和意义 增强现实系统 增强现实 (Augmented Realit) [1] 技术是通过计算机的处理等技术将真实世界中的一些真实的存在和发生的场景和准备好的虚拟信息, 通过一系列的运算 图像处理等技术处理之后, 最终能够通过视觉和听觉去感受, 并且具有很强的沉浸感的一种技术 想要实现这种效果, 包括文字语音等信息叠加到真实世界的场景中, 需要实时的将虚拟信息融合到真实世界场景中, 并对最终的结果输出显示, 这样的 AR 系统才能给使用者以接近于现实生活感受的效果, 同样这也是增强现实技术中的难点和研究的重点,AR 技术融合了多个学科和多种技术, 因此我们可以说它是一种将虚拟场景和真实世界场景相互叠加 集成的新兴技术 对于 AR 系统, 我们不仅需要处理真实的世界场景, 而且需要对虚拟信息进行操作, 现实生活包含我们要进行检测的物体, 而虚拟信息是现实生活场景中缺乏且需要显示的, 让智能设备知道我们什么时候需要进行虚拟信息的注册, 最终实现两者的叠加 融合 同样 AR 系统的实现也离不开硬件的支持, 常见的增强显示系统使用的硬件设备如头盔显示器和手持的移动处理设备, 运行平台的好坏也会影响最终真实世界与三维模型以及场景融合的好坏, 两者的结合和相互作用才能实现真实世界场景和虚拟信息的完美结合 增强现实技术涉及的方向多种多样, 如三维建模 场景叠加 传感器系统 屏幕显示 图像处理 跟踪和注册等技术都会涉及, 是非常复杂的一套系统 图 1-1 什么是增强现实 1

12 电子科技大学硕士学位论文 手持终端的增强现实 图 1-2 现实中 AR 的应用 手持终端增强现实 (Mobile Augmented Realit) [2] 是利用当今手持终端优越的硬件处理性能和软件支撑等优势来实现增强现实, 手持终端增强现实在很多领域发挥着巨大的作用, 如汽车导航, 娱乐影音 广告投放等等移动增强现实达到了一种前所未有的关注 手持终端增强现实既可以实现传统增强现实系统所未能实现的效果, 还具备了移动设备的优良特性, 如高度的便携性和远远低于传统增强现实系统高昂价格等优势, 弥补了传统技术上的劣势和不足, 给用户带来了全新的交互体验 利用手持终端增强现实的便携性和高端的硬件处理性能, 可以随时随地的实现虚拟信息通过手持终端增强现实系统叠加到真实世界场景中 图 1-3 增强现实的实际应用 手持终端增强现实出现的时间很早,9 年代美国的大学已经实现了能够用于校园实时导航的 Mobile Augmented Realit Sstems(MARS) 系统 [3], 但是由于当时硬件和软件的限制, 实现的手持终端增强现实系统的功能十分有限, 尽管增强现实技术在很早之前就已经提出来了, 但是手持终端增强现实还是一个新兴技术, 技术的还不是很成熟 随着手持终端增强现实技术不断被人们关注, 越来越多的公司开始开发一些让用户体验到虚拟的场景与真实世界场景的融合效果的游戏 ARQuak [4] Human Pacman [5-6] 等运行在移动手持终端的 AR 游戏 2

13 第一章绪论 随着智能手机的终端的发布, 手持终端的硬件性能也逐渐赶超或者媲美 PC 端硬件设备, 智能手机的处理器核数 处理的速度 GPU 的性能 摄像机的分辨率等等都尽可能实现最优化 现如今各大游戏公司如盛大游戏, 还有手机生产厂商也在对移动手持端的增强现实进行研究 诺基亚在 26 年展示的在移动手机上实现的增强现实 Mobile Augmented Realit Application [7] 项目 综上可知, 移动手持终端的增强现实在近几年里不断的发展壮大, 已经开始走进人们的生产和生活中 移动终端高速发展的硬件性能, 不论在处理器的处理速度还是显示的清晰度等方面都有了很大的进步, 特别是在当今智能手机井喷式发展的今天, 两者必将是相得益彰的结合 在不久的将来会为人类的生产生活带来更大的便利, 所以对增强现实的深入研究具有十分重大的意义 1.2 手持终端的增强现实的研究意义 增强现实系统在奥运会上常见的泳池标注国旗 博物馆自助讲解 文物修复 游戏娱乐等等领域都得到了发展 越来越多的专门开发增强现实的公司, 如 Acroosair,Laer,Metaio,ARToolWorks 等 [8], 这些公司一般外国比较多, 他们占用了更多更有利的条件 利用移动手持终端方式实现的 AR 系统大体可以分为下面这三种 : 1) 基于定位实现, 如下图 1-4 中所示的 AR 系统, 这种系统主要是依赖手机上的传感器作为其实现的基础, 通过获得手机的 GPS 和方向罗盘的信息, 将这些信息传递到服务器进行判断, 之后下载对应的虚拟信息, 最后显示在手机的屏幕上 这样人们就可以通过手机定位当前的位置和方向, 寻找附近的旅店 饭店等公共设施, 给人们的日常生活提供了很多的方便 图 1-4 对建筑进行增强现实标注 2) 通过跟踪注册目标 很多公司开发了相应的 AR SDK 给用户使用, 这些开发包中包含了图像的特征检测 识别 匹配 跟踪和注册等功能 在器械的安装方面也有很大的帮助, 对非常复杂且精密的器械维修和安装时, 复原的操作是非常复杂和繁琐, 通过增强现实的不仅可以提高效率而且错误率也会下降很多, 如图 1-5 所示 3

14 电子科技大学硕士学位论文 图 1-5 机械安装和网上虚拟眼镜购买 3) 通过特征匹配或目标识别技术, 涉及到图像识别技术以及虚拟信息叠加等技术, 首先需要把一些物体或者图片的特征信息保存到本地的数据库中, 再将摄像头获取的视频流中的每一帧图像提取到的特征信息与已经保存在本地数据库中的特征信息进行匹配, 最后通过判断匹配是否达到匹配时的阈值要求来确定是否成功匹配 很多公司和科研机构正在从事基于计算机视觉方向的移动手持终端的增强现实系统的研究与开发 如下图 1-6 所示, 实现文物修复时的指导工作 图 1-6 文物修复中的应用 将移动增强现实同各种各样的传感器以及服务器之间的互联融合, 与物联网进行交互是当前发展的一个重要的方向 实现多人的互动, 这样才能发挥增强现实的真正意义, 伴随着增强现实技术的成熟和广泛的运用, 实现系统之间的交互将不再是问题 1.3 国内外研究现状 由于移动手持终端的增强现实系统 [1] 比传统的 AR 系统在可携带性和交互性上体现出更多的优势, 所以手机终端的增强现实系统的研究在国内外都受到极大的重视 Google 在 27 年开放了 Android 平台后 [9] [1],IOS 系统和 Android 系统的就在不断的更新 现如今 Android 系统的功能已经十分完善和强大, 越来越多的基于 IOS 系统和 Android 系统的移动终端不断被开发 特征点提取和描述 跟踪以及注册技术是 AR 系统中的重难点 [11], 每一个环节 4

15 第一章绪论 的好坏, 都直接影响着 AR 系统的成败, 特征点的提取和描述决定能否找到正确的目标, 跟踪和注册决定了能否准确的将虚拟信息显示在正确的位置 当前的增强现实技术可以分为基于计算机视觉和非计算机视觉两种, 下图就是当前 AR 系统的分类 : 图 1-7 实现增强现实的方法分类 传感器实现的増强现实系统, 主要利用各种比如重力 加速度 红外等传感器硬件, 利用自身硬件设备来获取物体的位置和方向信息 而计算机视觉方式实现的増强现实系统主要是通过图像采集设备将采集到的视频流进行处理, 利用硬件设备的高速运算能力对视频流进行处理, 获取出视频信息中每一帧图像中的特征信息, 再去和数据库中的比对 由于基于计算机视觉具有适用性广和实时性高以及注册准确率高等特点, 所以大部分的增强现实系统中都会采用基于计算机视觉的方式 这种增强现实系统是通过分析视频输入图像特征实现的, 所以根据输入的图像的不同特征 可以将基于视觉实现的増强现实系统分为下面两类 :1) 基于标识 ( 有标识物 ) 的増强现实系统 [12],2) 基于物体自然特征 ( 无标识物 ) 的増强现实系统 [13] 基于标识物的 AR 系统 [12] 基于标识物的 AR 系统通过识别显示世界中人为制作具有一定规律的比较 [14-16] 有识别性的图片或者物体 常见的标识图形有正方形 圆形 圆环三种 当摄像头获取到包含标识图案的视频或者图片后, 就会对周围的背景进行判断, 如图 1-8 所示, 标识的图案和背景有很大的差异, 可以使用边缘检测 阈值分割等方法来对标识图案进行检测 之后再通过归一化和模板匹配等方式识别标识图案 [17], 5

16 电子科技大学硕士学位论文 当检测到标识图案时, 实现对物体的定位, 同时对标识图案进行检测, 通过最小 二乘法计算得到最后的转换矩阵, 就可以实现虚拟信息的准确叠加融合 图 1-8 人工标识图案 基于标识物的虽然需要依赖人为的一些具有识别性的图像或者物体作为基础. 但还是有很多公司对其进行了研发 同时这些基于标识物的开源软件也有许多现实方面的应用, 如利用 ARTools [18] 开发的设备维修系统, 在机械维修人员维修时进行参考指导, 这种方式不仅可以对单一的标识点进行跟踪也能跟踪多个 在基于标识物的常用的开发平台 ARToolKit, 通过一维识别码和彩色标识点相结合的方式就能实现多个标识同时跟踪 [19] 基于物体自然特征点的 AR 系统 基于物体自然特征的 AR 系统不同于基于标识物的 AR 系统, 在没有人为制作具有一定规律的标识性的图片或者物体的条件下, 仅仅采用角点 边缘检测是不能达到预期的效果, 基于物体自然特征的 AR 系统可以通过对目标的特征点进行提取 描述 匹配 优化, 最后实现对虚拟物体的注册 与人工标识方法相比, 这种方式常常会因为受到光线 物体的旋转等环境的影响, 甚至导致不能实现增强现实的效果 我们常见的基于物体自然特征的跟踪注册算法有 :BRISK 算法 [2-22] SIFT [23-24] 算法 SURF [25-26] 算法和 FAST [27-29] 算法 在提出了的 SIFT 算法的技术基础上,Ba 等人提出了采用 FAST-Hessian 法的 SURF 特征点的检测算法, 而且通过降低在描述时的特征向量维度的方式, 提高了描述的准确性 稳定性 快速性 所以 SURF 不仅保证了算法鲁棒性, 同时也保证了算法的运行效率 即便如此, 单纯的使用 SURF 在运算速度还不能满足手持终端的使用要求, 所以在快速性上还需要进行进一步的改进 对于 SIFT 算法可以采用仿射重投影和 KLT 光流跟踪法, 在特征点获取时提高了效率以及在系统的稳定性 快速性等性能上实现了改善 [3] 6

17 第一章绪论 [27-29] BRISK 算法在保证运算速度的情况下对 FAST 算法的进一步改进, 拥有更高的精度 获取更多的特征点多 在快速性和鲁棒性上也有很强的优势等特点 BRISK 和 SURF 算法对一些模糊的图片进行匹配的时候都有很好的效果 利用标识实现的 AR 系统需要特定的物体或者图片, 有一定规律的图案, 所以相比于利用物体自然特征实现的 AR 系统来说, 利用标识的这种方式在检测时处理起来要容易很多, 而利用物体自然特征实现的 AR 系统在特征点的获取 生成描述符 匹配 跟踪以及注册等方面要耗费很多时间, 在保证系统的实时性上有很大的挑战, 同时外界环境的改变也会对系统的准确性造成很大的干扰, 如尺寸的变化 产生遮挡, 角度的变化等等, 这些都会对是否能够提取到准确的特征点产生影响, 甚至可能影响最后系统是否能够正常的运作 1.4 本文的创新和研究的内容 文章创新点 本文利用物体自然特征在 Android 操作系统上实现了能够进行跟踪和注册的 MAR 系统, 进行了如下的创新 : 1. 提出了一种将 BRISK 特征点检测算法和 SURF 特征点描述进行结合的方式 2. 使用 BFMatcher 特征点匹配算法实现匹配, 并且使用距离法取代 RANSAC 算法对初步匹配之后的点对进一步提纯, 得到很好的匹配效果 3. 与传统的单一算法进行了对比, 本文的系统在运算的速率以及鲁棒性 发生遮挡和旋转时都具有很好的效果 研究内容 以创新点为基础, 在能够实现整个 AR 系统的前提下, 需要尽可能的实现效率的最大化, 缩短系统运行的时间 在 Android 平台设计了一套 AR 系统 本文主要通过下面这些章节对 AR 系统的实现进行研究 : 第一章绪论主要对什么是 AR 系统和 AR 系统的发展过程进行了阐述, 以及 AR 系统的发展方向 应用的前景 用到的技术等问题进行了分析, 为后文做了知识和背景上的铺垫 第二章介绍了 Android 系统框架 坐标系的变换 增强现实系统框架 显示技术 L-K 光流跟踪方法 摄像机的位置和姿态 ( 位姿 ) 估计 跟踪和注册等在増强现实系统中使用到的相关技术, 以及最终显示阶段需要用到的 Open CV 和 Open GL 7

18 电子科技大学硕士学位论文 等关键软件技术分别进行了分析 第三章主要是对常见的自然特征的获取 描述和匹配算法进行了深入的理解之后, 提出了在移动手持终端平台上能准确运行且具有很好实时性的 AR 系统 对提出的方法 用到的技术以及系统的整个流程都一一进行了具体的分析, 并且对提出的 BRISK 算法的特征点检测算法和 SURF 算法的特征点描述以及配合 BFMatcher 匹配算法相结合的跟踪注册方式, 进行了重点分析, 分析了在 RANSAC 算法与传统的距离法对匹配点对进行优化时的区别与比较 第四章主要是对上面几章提出的算法在手持终端上进行的验证, 对系统实现用到的软硬件平台和最终实现的整体效果进行了分析, 以及如何搭建相应的软件环境, 对比几种算法的运行时间, 对系统进行了一个总结 最后一章主要对正文的进行了总结和概括, 对系统中存在的不足和没有实现的其他功能进行了思考, 并对如何解决提出自己的想法和理解, 并对本文的内容进行了展望 8

19 第二章 AR 相关技术介绍 第二章 AR 相关技术介绍 增强现实系统是一个涉及到硬件和软件共同实现的复杂系统, 如特征点提取 描述 L-K 光流跟踪等诸多算法, 最后利用 Open GL 技术将虚拟的信息和真实的场景进行融合 实现 AR 系统的步骤大致能够分为三个 :1) 获取现实场景中的视频流信息,2) 摄像机位置姿态估计,3) 三维注册 2.1 增强现实的传统系统结构 图 2-1 是传统的 AR 系统的工作模型图 [31] 我们可以得出系统的步骤先通过摄像机获取真实世界的场景, 然后对视频信息中的每一帧的图像分别进行检测, 当有匹配的图像时就进行跟踪注册, 在跟踪注册系统中, 首先要完成对相机内部参数进行计算, 接着还要利用特征点对之间的关系, 求出单应性矩阵 H, 之后计算出旋转及平移矩阵, 接着实现虚拟物体和现实生活场景进行叠加 图 2-1 传统 AR 系统实现图 2.2 AR 系统中的相关技术 利用计算机视觉实现的 AR 系统 如图 2-2 所示, 基于计算机视觉实现的 AR 系统框架图 : 9

20 电子科技大学硕士学位论文 图 2-2 系统结构图 首先, 将待识别的图像或者物体进行特征点提取和描述, 并且存入到本地中 接着就是进行匹配, 当匹配成功之后, 根据跟踪注册算法完成虚实融合, 具体的 过程如下 : (1) 首先将摄像头采集到的视频流的每一帧图像进行特征点的提取和描述, 接着对从视频流的帧图像提取到的特征信息与本地特征信息库进行匹配, 判断 是否成功匹配 (2) 利用相机标定求出其内部参数和旋转 平移矩阵, 完成对相机位置和姿 态 ( 位姿 ) 的计算 (3) 使用距离法除去有误的匹配点对后, 根据优化后的点对关系, 得到单 应性矩阵, 求出最新的相机外部参数 (4) 通过得到的转换矩阵, 利用 Open GL 技术将虚拟的信息融合到当前视 频中 (5) 最后将虚拟信息叠加到现实场景中后通过显示屏进行输出 如果不使用 L K 光流算法的话, 需要对信息中的每一帧图像进行特征提取与 匹配, 在实时性和视频的流畅性上就不能达到要求 因此可以在匹配的时候采用 L K 光流算法 [32], 从而提高系统运行时的效率, 增加快速性 1

21 第二章 AR 相关技术介绍 AR 系统常见的显示设备 AR 系统利用到人类的眼睛成像的原理, 当视频每秒达到 5 至 6 帧时, 我们看到就是很流畅的视频 在增强现实中, 我们根据不同的场景来选择我们所需的显示设备, 这些设备都是通过屏幕来显示虚拟信息和真实场景叠加之后的融合后的场景, 同时也可以将声音 文字等信息添加到场景之中, 实现对虚实场景的解说, 丰富了增强现实的功能 1. 屏幕显示最常用的一种方式是屏幕显示, 这种方式的使用范围最广 屏幕显示中真三维显示的效果相对来说要更加趋近于真实的物体和场景 图 2-3 真三维立体显示器模拟场景 图 2-4 旋转扫描成像技术 首先需要根据显示的屏幕把物体的二维图片拍摄出来, 然后在屏幕上进行显示, 只要屏幕或者二维图片发生了平移 旋转的时候就会在屏幕中看到一个立体的虚拟的模型 如上图 2-3 所示, 将原来的物体的二维映射图像投影到屏幕之中, 根据人眼成像原理, 在屏幕或者图片发生高速运动的时候, 我们看到的就是原来物体的三维模型图像, 利用此种技术进行完成三维模型显示的方式就是真三维显示 2. 透视式头盔显示器透视式头盔显示器是 AR 系统硬件显示设备中比较常见的一种 透视头盔主要由三个方面组成, 分别是 : 显示真实场景组件 显示虚拟信息的组件以及显示虚实融合之后的组件这三个部分组成 透视头盔还可以分为视频和光学两种透视方式 [33] 视频方式是先将相机拍摄到的真实世界的场景和虚拟物体进行叠加处理, 将处理之后的图片展现在显示屏上 我们在科幻片中看到的头盔一般是光学透视式的头盔, 运用设备的反射原理, 把一个半透明的光学设备放在用户的眼睛前面 [7], 将虚拟信息显示在半透明的光学设备上, 让用户能够看到虚拟物体也能看见真实的场景 该类显示器能够戴在使用者的头上, 有较好的视觉体验, 但因为是穿戴式设备的价格昂贵 体型笨重, 所以这种增强现实系统没能够得到大面积的使用 11

22 电子科技大学硕士学位论文 3. 移动设备移动设备高度便携性, 和较低的费用, 仅仅只需要智能移动终端就能实现增强现实 Android 和 IOS 系统 IPAD 等移动设备已经成为 AR 系统应用实现的很好的平台, 也是很好的显示装备, 使用这些设备的使用者能够体验到很好的使用效果 这些移动设备本身就融合了很多高端的传感器, 如 GPS 传感器和高分辨率摄像头 重力 方向传感器等等 基于手持终端的增强现实系统具有小巧 使用普及的优势 处理器和显示的分辨率等需求都能满足增强现实系统的要求, 本文决定利用移动手持终端来完成增强现实系统的实现 Microsoft 公司推出了 Microsoft HoloLens AR 眼镜 [34], 它可让虚拟的物体显示在真实场景相应位置的可穿戴的设备, 其使用透明的显示镜片 高清的镜头 感受到立体的声效等优点, 如图 2-5 所示 虚拟物体的注册和跟踪 图 2-5 微软 Microsoft HoloLens [35] 注册技术主要是利用对图片或者现实中物体的检测以及之后的相应处理, 接着在处理设备中实现现实场景和虚拟信息的准确融合过程, 使人们从感觉上二者是原本就是融为一体的 虚拟的物体想要精准的叠加到屏幕中的相应位置, 叠加和融合就必须用到跟踪和注册两种技术 三维注册技术是决定 AR 系统能否将虚拟物体叠加到正确的地方, 因此是増强现实系统实现的基础 因为 AR 系统不是基于静止的物体实现的, 所以就必须实时的把虚拟物体叠加到改变之后相应的位置, 这整个步骤就是 AR 系统中的跟踪 AR 系统的实现可以有下面两种方式 : 利用传感器和利用计算机视觉 [36] 1. 利用传感器实现的 AR 系统利用手持设备上不同的高精端硬件传感器来实现, 通过硬件设备得到的信息进行处理, 判断出当前的位置等信息, 并且磁感传感器还能判断出方向等信息, 然后通过分析传感器返回给处理器的信息, 最终实现 AR 的增强效果输出在移动终端 12

23 第二章 AR 相关技术介绍 的屏幕上 利用硬件传感器进行三维注册的技术可以分为下面几种 :1) 主动式三维注册 2) 依靠定位系统进行三维注册 3) 利用电子罗盘进行三维注册 4) 利用惯性系统进行三维注册 [37] 1) 主动式三维注册技术可以利用电磁式 光学式和超声波式三种方式, 通过发射和接受信号的方式, 实现跟踪和注册 [38] 这三种方式三维注册技术方式中, 采用光学方式效果相对较好, 缺点就是这种方法十分依赖硬件设施 2) 基于定位系统的三维注册是通过 GPS 系统定位用户当前的位置实现的, GPS 系统由许多的卫星构成整个系统, 通过利用这些卫星和地球上任意的一个点之间关系, 从而对物体的方位 具体的位置以及海拔等信息进行判断 中国的北斗定位系统是类似于 GPS 的一种全球定位系统, 无论是在民用还是在军用领域的精度和功能也远远超越 GPS 3) 惯性系统的三维注册技术是通过陀螺仪和加速度计装置反馈的信息进行跟踪注册, 通过反馈的信息来判断物体所在的海拔 位置以及速度等信息 惯性系统不需要发射和接受信号, 所以鲁棒性高 精度高 所以一般会将先通过 GPS 进行位置的确定, 接着使用惯性导航对移动设备的方向 摄像机姿态进行判断, 通过两者的结合, 得到准确的位置和方向信息 4) 电子罗盘三维注册是通过使用手持设备中自带的磁阻传感器, 对三个方向上的地磁场强度进行测量, 因为采用了三维平面的测试方法, 所以在精度上还是很不错的, 使其在功能和使用的范围上也得到了很大的提高 在使用时根据转动的角度就能计算出物体的方向和姿态, 确定虚拟物体的位置和方向 电子罗盘在现在的移动设备上都有嵌入, 如图 2-6 中城市万花筒软件的实际应用 图 2-6 诺基亚手机上运行增强现实软件 2. 利用计算机视觉实现的 AR 系统 人类是通过眼镜来获取信息, 然后再传递给大脑进行处理 计算机视觉模仿人 们利用眼睛采集信息的模式, 发展而来的一项技术, 同样计算机视觉模仿人类获 13

24 电子科技大学硕士学位论文 取信息的方式, 先通过摄像机获取图片或者视频流, 以此来捕捉信息, 再将捕捉到的信息传递给处理器处理 利用计算机视觉的 AR 系统顾名思义就是利用到计算机视觉方面的知识和原理 [39-4] 实现的 AR 系统, 通过视频采集设备获取视频或者图像信息, 并且利用采集到的视频信息完成特征点对的匹配求出单应性矩阵 H, 然后结合相机的内部参数, 就可以得到旋转 平移矩阵, 实现摄像机位姿的计算, 最后确定了虚拟信息在屏幕上叠加的准确坐标之后, 就可以实现虚实信息的融合了 利用机器视觉的相关技术实现的 AR 系统的方式可以分成下面两种 :1) 利用标识物实现的 AR 系统 [16], 2) 利用物体自然特征实现的 AR 系统 [39-4] a. 利用标识物实现的 AR 系统目前大多数的增强现实系统, 为了满足整个系统的实时性以及注册的准确性, 都不约而同的选择基于标识物实现的增强现实系统, 图 2-7 就是基于标识物实现的增强现实系统的实现效果图 : 图 2-7 基于标识物的增强现实 先是利用相机获得现实生活中的视频流信息, 再通过已经确定好的阈值将视频流中每一帧图像转换成二值图像, 同样我们还需要对获取到的二值图像继续处理, 对二值图像中所有的像素按照公式 (2-1) 的方式处理, 把是标识的区域与其他区域进行区分开, 之后需要找到值为 的连通区域, 找出二值图像中的四边形区域, 将可能为标识的区域分离出来和原来的标识图像进行比较 1 I( x, ) t g( x, ) (2-1) I( x, ) t 其中,t 是已经预设的一个值, 值是 的区域就是我们需要的标识区域, 值是 1 的区域是背景 基于标识方法的步骤为 : (1) 打开相机获得现实场景中视频信息, 将获得的视频信息中的图像实行二值化处理 ; 14

25 第二章 AR 相关技术介绍 (2) 得到二值化处理之后视频帧图像中值为 的连通区域, 检测此区域中的线段和角, 以此把有标识的区域和其他部分进行区别开 (3) 在得到标识之后需要进行标准化, 之后同原有的标识图像进行匹配, 得到标识的 ID 和方向 ; (4) 在得到标识的所有信息之后, 通过得到的信息求出摄像机和标识物的相对位置 ; (5) 根据 (4) 中得到的摄像机相对于标识物的位置之后, 就可以计算出虚拟信息叠加的准确位置, 最后把虚拟信息和真实世界信息融合之后输入给用户 图 2-8 利用标识的 AR 系统流程图 由于利用标识的 AR 系统在标志识别时运算简单, 所以识别的速度快, 实时性也就会提高, 技术相对成熟并且稳定, 但利用标识的增强现实的系统对标识严重依赖, 一旦标识被遮挡, 就不能准确的跟踪和注册 为了解决标识系统的局限性, 同时又由于这些场景本身就包含了大量的可以描述物体的特征信息 所以提出了 [4-41] 利用这些特征信息去实现 AR 系统的方式, 利用物体自然特征的增强现实系统 15

26 电子科技大学硕士学位论文 改变了利用标识的 AR 系统对人为因素的严重依赖, 提高了应用的范围 b. 利用物体自然特征实现的 AR 系统常见的有 SIFT 算法 [23-24] [25-26] SURF 算法和 FAST 算法 [27-29], 三种基于物体自 [4] 然特征算法 基于自然特征点实现的增强现实系统是现在使用比较普及的一种 AR 系统的实现方式, 本文主要的工作都是利用物体自然特征进行开发的, 利用特征检测中的 BRISK 和 SURF 算法进行配合, 实现了新的特征检测的方式 如图 2-9 所示, 是利用物体自然特征实现的 AR 系统的步骤 : 图 2-9 利用物体自然特征实现的 AR 系统 首先利用图像获取设备获得视频流, 然后运用特征点获取和描述算法对视频流中的每一帧进行特征点获取和描述, 接着对获取到的特征信息与之前数据库中的信息进行比对, 当点对匹配的数量达到了设定的阈值时, 我们就认为匹配成功, 之后我们就需要求出相机的外部参数, 利用得出的外部参数就能得到虚拟物体将要融合的具体坐标, 如上图 2-9 所示, 当确定了虚拟信息叠加的位置和方向之后, 就可以将虚拟信息通过 Open GL 技术将虚拟信息叠加到视频流中并输出 总结可知具体的步骤如下 : 16

27 第二章 AR 相关技术介绍 (1) 利用特征点算法把视频流中每一帧的图片包含的特征点获取出来 ; (2) 对获取到的特征点利用特征点描述算法对其进行相应的描述 ; (3) 把从待匹配的图像中获取到的特征信息通过特征点匹配算法实施匹配 ; (4) 对匹配的点对进行优化提纯 ; (5) 通过提纯优化之后的点对, 求出特征点之间变换的单应性矩阵 H [42], 之后再对旋转和平移矩阵进行求解, 最终实现了相机的外参求解 ; 根据得到的位姿估计, 就可以知道虚拟信息要叠加的位置, 从而可以准确的进行虚实信息的叠加融合 摄像机的位姿估计与坐标变换 AR 系统中摄像机的位置和姿态 ( 位姿 ) 估计与坐标变换直接关系到能否将虚拟信息精确地和真实场景融合在一起, 只有得到相机的实时位姿信息, 才能保证虚拟信息融合过程的准确性, 摄像机位姿的估计决定了系统最终的注册效果 从计算机的相关知识可以知道, 屏幕只能显示二维图像, 三维图像通过实时的将对应角度的三维物体的映射图像显示在手机屏幕上, 这样人们在视觉效果上产 [41] 生了三维物体显示的感觉 可以通过图 2-1 关于相机的成像原理中坐标的变换来进一步分析 相机的成像原理涉及到如下图所示的多个坐标系之间的坐标变换 图 2-1 现实物体的二维平面显示 1. 坐标系之间的转换模型手持终端使用的是相机获取信息, 最终实现将现实世界中的物体的图像通过一系列的坐标变换显示在手机的屏幕所在的像素平面上, 形成在手持终端上可见的图片 下面给出相机的成像原理模型和坐标表示, 如图 2-11 所示 : 图 2-11 世界 摄像机 像素坐标系示意图 17

28 电子科技大学硕士学位论文 假设真实世界空间坐标系下存在一 P 点 : 世界坐标系 O w( Xw, Yw, Zw) : 在世界坐标系下 P 点坐标可以表示为 P ( Xw, Yw, Zw) 摄像机坐标系 O c( Xc, Yc, Zc) : 以摄像头中心作为原点,Z 轴和相机的光轴重合, 摄像头指向即是正方向, 并且要求 机坐标系下的坐标表示为 P ( Xc, Yc, Zc) 图像平面坐标系 O ( x, 1 ) : 原点为 时要满足图像平面坐标系中的 x 轴 行 像素平面坐标系 O ( u, v ) : 是以 X c 轴 Y c 轴 Z c 轴满足右手定则 P 点在摄像 O1 是相机的 Zc 轴和坐标系平面的交点, 同 轴分别与摄像机坐标系中的 c X 轴和 Y c 轴平 O 为原点, 且和图像平面重合的坐标系, 其中 从如图 2-11 可以看出,u 和 v 轴是和图像平面所在的坐标系中的 x 轴和 2. 几大坐标系的变换 图 2-12 表示的是现实世界中的一个点 X w ( Xw, Yw, Zw,1 ) 变换之后变成了像素平面坐标系中的点 X ( U, V,1) 图 [4] : T T 轴平行, 经过了坐标之间的 所通过的所有坐标变换流程 图 2-12 世界坐标系到像素坐标系的过程 (1) 像素平面坐标系与图像平面坐标系的转换 图像平面 摄像机 世界平面坐标系的计量方式都以实际物理距离为尺度, 而 图像坐标系的计量方式是以像素为尺度, 因此需要对单位尺度进行一定的转换才 能得到计算机可存储的数据, 手机上使用的像素坐标系是以屏幕左上角的第一个 像素点作为原点, x 轴指向屏幕右方, 轴指向平面下方 如图 2-13 所示, 假设 P 为图像坐标系的第 x 行, 第 的物理尺寸为 列像素点, 图像的中心点坐标为 ( U,V dx d 则 P 点转换到像素坐标系, 可得关系式 (2-2): u x d 转换成矩阵形式之后得到 (2-3) 式 : 1 u dx v 1 u x 1 d ), 对应 v v (2-2) d ux z 1 1 (2-3) 18

29 第二章 AR 相关技术介绍 19 图 2-13 图像平面坐标系到像素平面坐标系转化 (2) 图像平面坐标系与相机坐标系的转换图 2-14 图像平面坐标系和相机坐标系图 2-14 展示的是相机拍摄过程中, 图像平面坐标系到相机坐标系之间的关系图 在图 2-14 中, O1 所在的是图像平面坐标系, 相机坐标系为 ),, ( c c c c Z Y X O, 以光轴 c Z 轴为主轴, c Z 的方向就是相机的正方向 点 ), ( x P 是相机坐标系中的点 ),, ( c c c z x X 与原点连线在图像平面上交汇的点, 根据透视投影公式可以得到变化关系如下 : c c c c z f z x f x (2-4) f 为相机自身的焦距 从而可以把公式 (2-4) 中点与点的关系转换成公式 (2-5) 中表示的矩阵的这种形式 : c c c c z x f f x z (2-5)

30 电子科技大学硕士学位论文 2 (3) 世界坐标系与摄像机坐标系的转换从世界坐标系中的点到摄像机坐标系中对应的点可以通过平移 旋转 缩放等方式实现 假设世界坐标系中的 ),, ( z x p 点变换为摄像机坐标系下的 ) ' ', ', ( ' z x p 点, 可以通过平移 旋转和缩放公式实现 : 1 平移变换式 :,1),, ( ,1),, (,1),, ( z x z x t z t t x t t t z x z x (2-6) 其中, ),, ( z x t t t 为平移向量 2 旋转变换式 : ' ' ' z x R R R R R R R R R z x (2-7) 其中为 x 轴 轴 z 轴的旋转分量分别为 ),, ( R R R ),, ( R R R ( 33) R R R,, 3 缩放变换式 : 1 ) (1 ) (1 ) ( z x z x z x S z S S x S S S z x S S S z x (2-8) 从式 (2-8) 可以看出, 分别对 x 轴 轴 z 轴, 进行了缩放变换, 缩放的比例 x S S z S 的值决定了最终是被放大还是缩小 世界坐标系到摄像机坐标系的变换矩阵公式可以通过上面 (2-6) ( 2-7) ( 2-8) 三个公式得到, 如下式 (2-9): w w w w w w T c c c z x M z x O T R z x (2-9) 其中, 现实场景中的 P 点坐标通过 T w w w z x ),1,, ( 表示, 公式 (2-9) 中的 R 为旋

31 第二章 AR 相关技术介绍 T 转矩阵,T 为平移矩阵, 而在相机坐标系下时 P 点坐标通过 ( x c, c, zc,1) 表示,M 是一个 44 的矩阵 3. 摄像机标定技术摄像机的标定是为了计算出其自身内部的参数 想要求出摄像机的内部参数需要借助摄像机的标定技术, 对于相机内部参数的计算, 我们根据张正友教授的棋盘摄像机标定法进行求解 [43] 摄像机的内外参数矩阵信息共同构成了表示特征点对中点与点之间转换关系的单应性矩阵 H 通过棋盘标记法先获得摄像机的内部参数, 因为单应性矩阵包含了摄像机的内部和外部参数, 通过已经求出的特征点对之间的数据就可以求出 单应性矩阵, 接着就可以求出外部参数信息 因为旋转矩阵 R 是正交的, 又因为知道 R r1, r2, r3 列向量, 这样世界坐标系中 zw 系和像素坐标系之间矩阵变换的关系如公式 (2-1) 式为 : u ax v s 1 其中 S 是常数,R 在 x 轴和 的矩阵,, 通过 r r 3 1 r2 消去一个 =, 结合公式 (2-9) (2-5) (2-3) 可以得到世界坐标 a r 1 r r xw xw w t sh w 轴上的分量依次是 r1 r 2, 同时 H 是大小为 M int 为相机的内部参数, 所以从公式 (2-1) 可以得到公式 (2-11): h1 h2 h3 sm intr1 r t H 2 通过上面的公式 (2-11) 可以得到 : (2-11) h1 sm h h 2 3 sm sm 那么通过 R 是正交的矩阵这一性质就可以知道 int int int r r r r1 2 (2-1) 33 (2-12) r 也是正交的, 这样就能得 出两个隐含的公式 : r1 T r 2 r1 r 2 1 (2-13) T T T 通过线性代数的相关知识,m 和 n 两个向量有 ( mn) n m 这种性质, 因此就能够 对公式 (2-13) 中的 r 1 r 2 进行代替, 得到下面两个公式 : h T T 1 1 M int M int h2 (2-14) 21

32 电子科技大学硕士学位论文 令矩阵 M T 1 int M int B, 展开可以得到 B : h M M h h M M (2-15) T T 1 T T 1 1 int int 1 2 int int h2 B M T int M 1 int B B B B B B B B B (2-16) 1 cx 2 2 fx fx 1 c B (2-17) 2 2 f f c x c cx c fx f fx f 从式 (2-15) 和 (2-14) 两个公式能够得到矩阵 B 是对称的, 并利用对称矩阵 的相关的性质我们可以对公式 (2-15) 和 (2-14) 进行改写之后就能够得到公式 (2-18), 同时根据式 (2-17) 能够知道矩阵 B 中的参数都是由摄像机本身的内部 参数构成的, 所以求出了相机的内部的参数也就可以求出矩阵 B 从公式 (2-18) 可以看出将矩阵 B 中元素进行改写以后生成了向量 b, 通过定义一个 式 (2-19): h T i Bh j v T ij hi1hj1 hi1hj 2 hi2hj hi2hj 2 b 3 1 hi hj hi1hj hi3hj 2 hi2hj hi3hj B B B B B B T vij 能够得到 (2-18) v T 12 T ( v11 v22) b (2-19) 经由 k 个摄像头获得的棋盘校正时的图像, 可以得出公式 2-2 式中 v 是 2k 6的 矩阵 : vb (2-2) 当 k 2 时, 方程中 b 的解为 [ B 11, B12, B22, B13, B23, B33], 因为相机的内部参数构成 22

33 第二章 AR 相关技术介绍 了矩阵 B, 当求解矩阵就可以得到相机的内部参数了 : fx B11 (2-21) 2 其中 fx 2 B11( B11B22 B12 ) (2-22) 2 cx B13fx / (2-23) c B33 B c( B B B B ) B 2 ( B12B13 B11B23) /( B11B22 B12 ) (2-24) 之后我们根据得到的公式 ( ) 完成了对相机内部相关数据的求解, 配合优化匹配之后的特征点对信息求出的单应性矩阵, 结合式 (2-12), 摄像机的外部参数为 : 1 r1 1M int h 1 r 2 1M int h 3 r r1 r 2 1 t 1M int h3 1 2 (2-25) 1 其中 1 1/ M int h1 通过上面的这些操作可以求得旋转矩阵 R 平移矩阵 T, 之后通过位姿信息进行三维注册, 为下一步的操作提供基础 2.3 基于 L-K 光流跟踪算法 L K 光流跟踪算法是相邻帧图像之间利用差分法实现光流的估计, 光流本身 属于一种运动模式, 是指在人眼或者摄像机下一个物体的表面 边缘和参照背景 之间产生了明显移动, 是物体在空间中位置发生变化反应到像素平面上产生的瞬 时速度 在现如今的车牌识别 人脸识别等应用中都是利用了光流技术 光流通 过利用像素在时间改变时强度发生的变化和邻近帧之间像素之间的相关性来发现 上一帧跟当前帧图像像素之间的对应关系, 进行判断相邻帧之间物体的运动关系 的方法 [44] 假设测试的像素点在其一定范围领域内的光流是不变的前提下, 根据最小二乘 法的原则, 对领域范围内所有像素根据光流方程进行求解 使用 L K 算法时必须 满足下面 3 个前提 : 1) 亮度恒定 : 必须保持场景中的物体的外观颜色在运动时不会发生改变, 这 样就能保证像素在相邻帧中的亮度是一致的 23

34 电子科技大学硕士学位论文 2) 小幅度的运动 : 测试的物体运动幅度不能太大, 在连续的帧之间, 物体的位移必须在一定的幅度以内 3) 空间一致性 : 同一个物体在运动时表面上邻近范围内像素点的运动形式都是一致的 图 2-15 运动矢量与光流矢量的关系图 假设体积元素和图像像素是保持恒定不变的, 也就是说在相邻两帧之间一个物 体的颜色亮度不会发生太大明显的变化, 这时可以通过光流跟踪算法对两幅图像 之间的是否产生了变化进行评估 根据不同的条件, 在选择使用不同的光流算法 进行计算 假设在中心点 m 的局部范围中的光流都是能够保持相同不变的情况下, 我们根 据像素点的不同, 给予他们各自的权重, 我们能够得到式 (2-26) 这样的方程 : x 2 I Vm It 2 W ( x, ) (2-26) 其中 表示中心点 m 的灰度区域, W ( x, ) 表示 区域的权重函数, 越靠近 m 点的像素就获得越大的权值, 否则就越小 假设区域 内有 N N (2-26) 的解, 可以由公式 (2-27) 计算出 : A W 个像素点, 公式 T Av A W b (2-27) T 2 2 其中 A, W, b 分别由下面公式 ( ) 表示 : I( x1, 1) I( x2, 1) A... I ( xn, 1) I( x1, 2) I( x2, 2)... I( x N, 2) I( x1, I( x2,... N N I( xn, N ) ) ) (2-28) 24

35 第二章 AR 相关技术介绍 W w( x1, 1) w( x2, 1)... w( xn, 1) w( x1, w( x2, w( x... N 2, 2 2 ) ) ) w( x1, w( x2, w( x... N N N, N ) ) ) (2-29) It( x1, 1) It( x2, 1) b... It( xn, 1) It( x1, It( x It( x 2,... N 2, 2 2 ) ) ) It( x1, It( x It( x 2,... N N N, N ) ) ) (2-3) 其中 A T 2 W A 是一个 2*2 的矩阵 : W Ix W IxI T 2 A W A (2-31) W IxI W I 最后可得方程的解 v : T 2 1 T 2 v ( A W A) A W b (2-32) 当 A T 2 W A 是一个非奇异矩阵时, 则必有两个不为 的特征值, 1 2 可以得到以下结果 : 1) 如果 1 >, 2 >, 则可以通过公式 (2-31) 计算光流 2) 如果 1 <, 2 > 或者 1 >, 2 < 均不能计算出正确的光流, 假设 > 1 2, 2.4 Open CV 技术 [45] Open CV 库为了能够达到快速 高效的效果, 所以使用了 C/C++ 语言编写的, 同时多核的处理器也大大提高了运行处理的速度 同时 Open CV 本身就是一个计算机视觉的框架, 里面包含了许多方面的通用型算法, 还包含了一个完整 通用的用于统计模式的识别和聚类的机器学习库, 框架可以让开发人员可以更快的开发出更多的计算机视觉的程序 跨平台操作 Open CV 库在计算机视觉和机器学习等技术上都有着广泛的使用 当我们在进行开源计算机视觉库编写 ; 程序实现跨平台移植 ; 需要高兼容性的程序等等程序开发时都可以使用 Open CV 开源库进行开发 Open CV 有以下几大特点 : 1) 使用 C/C++ 语言编写的功能强大且完善的开源函数库 2) 可移植高 使用方便 3) 代码优化程度高, 能进行实时的图像处理 4) 实用性好 兼容性强 通用性高 25

36 电子科技大学硕士学位论文 Open CV 的相关结构的介绍 Open CV 具有如图 2-16 所示的几个模块 [18],Open CV 是一个集内存管理 图像处理 视频检测 GPU 相关等应用于一身的强大的一个函数库, 在许多人脸识别 车牌识别中被应用 CV 模块包含了视觉处理方面的高端算法和一些最常用的图像相关的处理算法 ;ML 模块包含了用于数据统计 分类和分析的函数, 还包含计算机学习库 ;High GUI 模块包括了对图片和视频信息处理的相关功能, 主要是存储和加载以及显示用户界面 ;CXCORE 模块包含 Open CV 库中的最基本的数据结构和函数, 如处理视频和图像的函数, 存放图像使用的 Mat 数据结构等等 例如嵌入式人脸识别以及正在试验开发的函数算法这些功能都包含在 Open CV 库的函数库当中 Open CV 的基本数据结构 图 2-16 Open CV 主要模块 Open CV 2. 版本是对之前的函数库进行了修改, 如使用别的模块取代之前的 cxcore cvaux highgui 和 ml 库, 在保留一些函数的前提下, 不断增加新的函数, 完善整个库的功能, 同时 Open CV for Android 也增加了新的函数 Open CV for Android 有以下几大功能模块 : 1) 使用 Camera Bridge View Base 完成对摄像头的初始化等操作, 通过 Camera View Listener 对摄像头的相关操作进行监视 2) Fps Meter 用于在图像获取的时候显示采集的帧率 3) Base Loader Callback 用于 Open CV 函数库中回调函数的初始化, 使用该类时需要对 on Manager Connected(int status) 方法进行重写,status 表示是否初始化完成, 初始化完成后才会进行打开麦克风, 播放视频等其他操作, 否则需要跳出初 26

37 第二章 AR 相关技术介绍 始化 4)Java Camera View: 可以将手机的摄像头连接到 Open CV 的函数库, 可以通过这个类进行一些如打开摄像头 预览获取视频流, 断开连接后关闭摄像机和摄像头预览等基本的功能, 摄像头获取的视频流的每一帧图像通过回调函数传回, 再经过 Open CV 函数库中的函数进行处理, 转换成 32 位的 RGBA 图像进行存储 5) 通过 Native Camera View 将 Surface View 和 Open CV 的摄像机进行连接 通过这个类的子类创建 关闭摄像机也可以让实时的传递摄像机获取的视频流的每一帧图像 6)Open CV Loader: 加载 Open CV 库里面包含的是对方法进行初始化的函数库, 当成功初始化后才能进行库函数的调用 Open CV 不仅推出了多个支持 C++ 接口的版本, 随着支持 NDK 和 JNI 调用方式的 版本的推出, 在 Android 上也能运行由 C/C++ 编写的 Open CV 库以及其他 C/C++ 编写的程序 随着 Open CV Manager 模块的推出,Android 上也能直接在使用 Open CV 库了, 这个模块可以管理经过 Android NDK 编译之后的.so 结尾的动态链接库 如图 2-17 所示 Android 系统上使用 open CV 的方式 : 图 2-17 Android 系统使用 Open CV 从官方给出的实例, 要求我们需要安装 Open CV Manager, 所以首先系统会对 是否安装了 Open CV Manager 这个组件进行检查, 如果没有就会要求我们安装, 27

38 电子科技大学硕士学位论文 安装完成之后回去查找是否包含了 Open CV 库, 如果有就进行库的初始化, 这样 在 Android 系统上使用 Open CV 的基本操作已经完成 2.5 Open GL 技术 Open GL(Open Graphics Librar) [46] 已经是国际上的三维图形程序的一种标准, 应用也是越来越广泛, 由于其本身不依赖在使用的硬件, 所以能够在不同的硬件平台上都能够进行三维仿真,Open GL 库拥有完善的函数库和强大的建模功能,Open GL 并不会对窗口任务进行处理, 也不会对用户的输入进行响应 没有能够描述三维模型的相关函数等等操作, 但是会提供一些点 线还有多边形等一些简单的几何图形来进行建立模型 Open GL 的结构 Open GL 工作模式是 B/S 即客户端 / 服务器模式 [47],Open GL 在 Windows 平台下是网络透明的, 即 Open GL 应用程序向 Open GL 内核发送 Open GL 命令, Open GL 内核则负责解释这些收到的命令 当 Open GL 的相关程序在进行调用 Open GL 库中的函数时, 首先要经过需要经过 OpenGL32.DLL 的处理后传至服务器, 接着需要经过调用 Winsrv.DLL 动态链接库文件, 然后再传递给设备程序驱动接口, 最后将命令传给视频驱动运行 Open GL 在 Windows 环境下的工作过程如下图所示 图 2-18 Open GL 在 Windows 下运行方式 28

39 第二章 AR 相关技术介绍 Open GL 的基本功能和运行机制 a. Open GL 的基本功能有 : 1. 绘制三维的点 线 多边形 2. 基本三维变换和投影变换 3. 进行着色 光照 消隐 4. 通过添加混合 雾化 反变形等效果来达到增强图像效果的作用 5. 可以在真实图像映像的表面进行纹理映像, 同时可以实现多种样式的屏幕和内存间进行信息的传递 6. 包含复杂的曲线 曲面的函数 b. 运行机制 Open GL 是利用顶点来描述几何对象或者可以通过像素来描述图像的运行机制 [48-49], 它是可以通过将二维或三维的对象存入到图像缓冲区中的一种软件接口 经过下面的几个流程的操作之后就可以把对象的相关信息转换成对应像素的相关信息, 并存放到帧缓冲区中, 得到最后所需要显示的图形 工作流程如图 2-19 所示 : 图 2-19 Open GL 工作流程 在 Open GL 中对几何模型的描述一般由一堆的顶点进行表示, 然后经过图元装配和像素化之后就可以形成片元数据 而对于图像像素数据可以直接保存到纹理内存中, 使用的时候就从纹理内存中取出像素数据完成像素化 在 Open GL 中像素化由几何操作和物理操作两块组成, 其中, 将图元变换为图像的形式进行的是几何操作, 而得到图像每个点的色彩等相关数据, 则必须经过物理操作 所以在一个图元光栅化中包含了两个操作步骤 : 第一是确定窗口坐标中图元应该放的位置 ; 第二是计算图元所在区域内颜色和深度的值分别是多少 Open GL 运算器包含了很多的不一样的函数, 传递给这些函数的实参一般都是顶点属性 颜色值 纹理坐标及切线坐标等数据, 这些数据通过由多个变量组成的多项式产生的, 产生的结果会输入至执行管道执行 Open GL 的显示列表存储的就是一组函数 29

40 电子科技大学硕士学位论文 Open GL ES 特性及工作原理 Open GL ES 是一种图形应用程序接口, 而且是完全免费 跨平台和功能完善的特性一起使其得到了广泛的运用以及快速的发展, 如控制台 移动电话 手持设备 家电设备和汽车等平台等多种嵌入式的系统 Open GL ES 也同样适用, 在计算方面包含大量高精度的运算方式, 针对移动硬件设备也有很好的开发规范, 是一款强大的硬件和图像处理软件之间实现底层交互的软件 a. Open GL ES 的特性 Open GL ES [5] 比 Open GL 更适应于嵌入式设备的底层图形库, 所以 Open GL ES 不仅是 Open GL 在嵌入式设备应用上的简化, 它还具备着 Open GL 没有的优势 Open GL ES 与 Open GL 并不是完全兼容的 [51],Open GL ES 中使用高性能的定点小数替代了 Open GL 中的 double 数据类型,Open GL ES 中 Draw Arras 或者 GL_Draw 代替 Open GL 中许多性能低的操作 b. Open GL ES 2. 工作原理从上文可知 2. 版本与 1.x 的固定管线相比采用的可编程的方式, 充分利用了 GPU 的图形处理的优良性能, 减轻了 CPU 的压力, 在处理的速度和系统的实时性上占取优势 在图像叠加到屏幕中时, 涉及到非常多的图像处理功能, 如果可以很好地利用 GPU 在图像处理的强大功能, 就可以得到更高的效率,Open GL ES 2. 以上的版本相比于 1. 版本有着更加完善的 API 规范和着色语言规范,2. 比 1. 拥有更好的渲染效果, 功能也更加的全面, 在最新版本的 IOS 系统中 2. 的渲染优势将十分的明显 下图 2-2 是 2. 版本处理过程的示意图, 在顶点和片元着色器都是可进行程序编写的 图 2-2 Open GL ES 2. 渲染管线 Open GL ES 2. 使用的和 1.x 使用的渲染管线在流程上整体并没有特别大的差 别 所有处理过程的核心就是着色器 着色器是一串能够处理计算机图形数据渲 染操作的指令, 使用的是 GLSL 语言 [52] GPU 与传统的固定流水线处理器相比, 在 3

41 第二章 AR 相关技术介绍 GPU 可编程流水线的性能上的改进, 带来了更高的实用性和更高的效率 2.6 Android 系统涉及到的技术 Android 是由 Google 公司发布的基于 Linux 系统为移动设备进行开发的操作系统 [9],Android 采用 Java 语言开发应用程序 在 Android 系统上运行 Java 程序时, 需要先通过虚拟机完成编译, 把原来的.Java 文件编译为.class 字节码文件, 存放在方法区内, 一般使用 Dalvik 虚拟机去解决兼容性和降低耗电量,DXTool 工具可以把.class 文件转为.dex 文件, 最后在 Dalvik 虚拟机上完成运行 Android 系统架构 图 2-25 Android 系统框架图 从图 2-25 中可以看出由 4 个层构成 Android 系统的主要框架 : 应用层 (Application) 应用程序框架层(Application Framework) 系统运行库层(Libraries) 和 Linux 内核层 (Linux Kernel) [53] 这些层相互独立, 各自分工明确 1) 应用层该层包括 QQ 微信 电话 联系人 视频 浏览等等功能 同时这一层不仅仅限制于这些常用的软件, 其他的软件也可以实现开发 31

42 电子科技大学硕士学位论文 2) 框架层 这一层包含组件管理 窗口管理 系统数据源组件等等多个组件, 主要是对设 备中的各种应用 功能 本地资源等进行管理 开发人员在该层进行核心 API 的 开发, 开发人员利用这些组件高效的对相应的核心应用进行开发, 不仅简化了开 发的步骤和难度, 也降低了开发的成本 3) 系统运行库层 该层的两大部分 : 核心函数库和 Dalvik 虚拟机 [53] Dalvik 虚拟机系统会为所 有的 Android 应用代码创建一个虚拟机对象,Dalvik 虚拟机可以在低端 CPU 上实 现高性能, 主要是为 Java 应用程序提供运行环境, 对 Java 源码进行编译 核心函 数库中包含界面管理器 SQLite 媒体框架 Open GL ES webkit SSL 等, 核心 函数库是整个系统程序执行的基础, 实现了应用程序框架层与 Linux 内核层信息交 流 4)Linux 内核层 Android 系统 Linux 编写的,Linux 内核提供几乎所有手机 平板电脑等硬件的相关驱动程序, 如鼠标 打印机 声卡 显卡 内存等等硬件的相应驱动 Android 系统使用的 NDK 技术 Android 系统主要是通过利用 Android SDK 中自带的应用开发接口来完成各个 功能, 保证程序的运行 通过利用 NDK 中的 JNI 技术来完成 Android 系统中的应 用程序利用 C/C++ 语言进行的程序开发的目的, 所以在实现对 C/C++ 语言的调用 之前, 需要提前安装 NDK 开发环境 JNI 作为 Java 语言上的标准机制, 它允许 Java 代码在 Java 虚拟机的控制下与别的语言, 如 C/C++/ 汇编等进行通信完成程序 的编写 并将其封装为可以被 Java 代码调用的.so 动态库文件 [54] 利用这种形式就 实现了程序执行时的进行动态绑定, 这样保证了无论什么代码都可以在 Java 虚拟 机下工作, 实现了在 Java 平台上调用 C/C++ 程序 Android 系统包括 Activit,Service,Content Provider,Broadcast Receiver 四大 组件 [54] Activit 类似我们常用的显示屏面, 也能够实时检测用户的相关操作, 做 出相应的处理之后, 通过显示屏反馈 Service 是一种抽象的层, 不能被人们直观 的看到, 经常被用来开发生命周期比较长的程序如监控类等 Content Provider 可 以实现 Android 平台上应用程序间指定数据的共享, 这些数据一般存放在 SQ Lite 数据库中 在文件系统中 或者其他合理的方式, 如果其他应用想要从该内容提 供者中读取或存入数据可以通过 Content Resolver 类实现 Broadcast Receive 和 service 同样也是抽象的一种层, 不能直观的被人们看见, 可以通过产生一个 Service 或 Activit 来处理它们收到感兴趣的外部信息, 接收器能够使用它对接收到的信 32

43 第二章 AR 相关技术介绍 息进行选择只接收和对必要的信息做出响应, 也可以通过 Notification Manager 这个功能, 如震动 播放声音 闪灯等多种方式来告知使用者 Android 系统移动设备除此之外, 还拥有许多可以操作硬件的程序接口, 主要有陀螺仪 重力传感器 温度传感器 指纹 摄像机 声音等应用开发, 在许多应用中都将使用到的上面的硬件设备 使用 NDK 编程的效率并没有 SDK 高, 原因在于 SDK 有着特别详细文档, 在 NDK 开发时查阅文档就会比较麻烦 虽然 Java 程序已经能够利用 NDK JNI 技术调用 C/C++ 程序, 同时也会存在许多的问题, 只有在下面这些情况下, 能够使用 NDK 技术 : 1. 当进行大量数据计算时如进排序等一些复杂的数学运算时 2. Java 需要实现一些比较难以实现的第三方库时 ( 这里我们使用 Open CV 库 ) 3. 当需要提高系统的效率, 一些不需要经过虚拟机的程序, 使用 C/C++ 程序进行编写也不失是一种很好的选择 在 Android 系统中使用 NDK JNI 技术调用 C/C++ 程序的步骤 : (1) 在 Android studio 下导入 NDK 开发包的存放路径 (2) 在 Android studio 中创建一个工程, 在工程下再建立一个 Java 类 (3) 在编译器下中的 Terminal 界面调用 javah 指令生成后缀名.h 的文件 (4) 将生成的.h 文件放到源文件下的 main 下新建的名为 jni 的文件夹下 (5) 在 jni 文件夹下创建的 C/C++ 源文的名称必须与 (2) 中的 Java 类名称相同, 然后再在 jni 文件下编写自己的 C/C++ 程序 2.7 本章小结 本章从一开始的传统 AR 系统的流程图, 再到使用的技术等各个方面去阐述传统 AR 系统的相关知识, 并将其作为切入点, 抛砖引玉, 引出本文将要实现的基于物体自然特征的 AR 系统, 并重点介绍了其中的一些关键性的环节, 包括了特征获取和描述的 OpenCV 库, 融合使用的 Open GL ES 库还有运载平台的 Android 相关的知识等等 首先从介绍了传统 AR 系统的结构入手, 接着介绍了 AR 系统中的基于计算机视觉的实现的增强现实系统的分类, 以及每一个种类使用的方法以及涉及到不同的核心技术有什么 在基于计算机视觉实现的 AR 系统中又分为利用标识 [16] 物实现的 AR 系统和利用物体自然特征实现的 AR 系统 [4-41], 分别阐述了他们各自的特点是什么, 使用的技术有什么区别, 然后对着两者的方法做了一个对比, 分析了自然特征增强现实系统的优势所在 同时也对使用到的硬件设备进行了阐 33

44 电子科技大学硕士学位论文 述, 以及对光流算法 什么是注册 什么是跟踪 相机参数的计算等等关键性技术进行说明, 相机的内外参数计算也是系统的研究重点之一, 影响着虚拟信息能否可以正确的显示在对应的现实世界场景中 三 四两节分别介绍了 Open CV 开源图像检测库和三维模型显示的 Open GL 技术, 在第五节中详细说明了如何正确的在 Android 系统上通过 NDK 技术使用 C/C++ 程序, 主要利用到的是 NDK JNI 技术 34

45 第三章混合特征检测方法与注册 第三章混合特征检测方法与注册 在图像进行特征提取与匹配时的实时性和准确性等遇到的问题, 本文创新性的将具有尺度不变性的 BRISK 算法和具有旋转不变性的 SURF 算法进行配合使用, 并且在点对优化的阶段, 也独辟蹊径使用距离算法进行了点对的优化 由于 BRISK 产生多尺度特征而且采用 SURF 进行对 BRISK 算法得到的特征点进行旋转不变性的描述, 之后使用 BFmatcher 算法保证最佳的特征匹配, 接着再使用传统的距离算法将已经得到的特征点对再次筛选, 在确保系统对特征点检测快速性, 也确保了最终注册结果的准确性 本文的方法在实现了正确匹配的前提下, 不论是处理速度还是匹配精度都能取得很好的效果 3.1 常用的自然特征算法 AR 系统都是通过对现实生活场景中物体本身的特征来进行相应特征点的获取 和特征点的描述, 而特征点的获取和描述又对系统后面的注册效率和准确性起到 至关重要的作用, 不同的算法应用的范围和效果也不尽相同, 经常使用的自然特 征算法有 SIFT SURF 和 FSAT 1. SIFT 算法 SIFT 算法在检测物体发生了移动 角度变化 光照强度的变化 发生遮挡 以及尺度上发生变化等各种形式的改变具有良好的鲁棒性, 可以得到丰富且高质 量的特征点信息, 具备很好的扩展性, 可以和别的特征点提取算法进行搭配使用, 在提取速度上相对比较快 同时, 在 SIFT 算法的特征点描述符生成就是从图像中提取出包含了特征点尺 度 旋转 缩放 亮度等信息的描述符, 通常采取的步骤如下 : 1) 为了尺度不变性, 首先进行尺度空间的建立, 完成极值点的判断 ; 2) 对得到的特征点过滤后确定具体的位置 ; 3) 为每个特征点分配方向值 ; 4) 生成特征描述子 在特征点为中点的范围内划一个 16 16个单位大小的区域作为采样区域, 得到 8 个由采样点方向与特征点方向之间的相对方向在通过高斯加权运算之后得到的 梯度方向, 之后得到如图 3-1 所示的 维的特征描述符 35

46 电子科技大学硕士学位论文 (a) (b) 图 3-1 (a) 领域梯度 (b) 特征向量 对于 SIFT 算法通常使用欧式距离算法进行对比较的图像中的特征点信息的进行相似度的判断, 方法很简单, 从第一张图像中依次选取特征点, 再从第二张图像中找到距离最近的特征点, 当两个特征点之间的位置信息小于设定的阈值的时候, 就认为这两个特征点就是可以实现匹配了 2. FAST 算法 FAST 算法一种通过分段检测的方式检测待检测点邻域范围中分布的角点信息的快速检测算法 [27-29], 特征点检测的方式如下图 3-2 展示 Fast 算法的特征点检测是以待检测点 m 所在的像素点为圆心,6 个像素单位作为直径的圆, 圆周上刚好会有 16 个像素点, 以顺时针的次序对圆周上的像素点依次从 1 到 16 的实现编号 当圆周上至少有 N 个连续的像素点并且他们的亮度值都比圆心的像素点的亮度与给定的阈值 t 的和还要大或者还要小的时候, 则认为检测点就是角点 图 3-2 FAST 角点如 3-2 图中右边的图形所示, 图上的每一个小方块表示都是一个像素点, 待检测的点是中心 m 点, 是以 3 个像素为单位的半径, 在待检测点的范围上画的圆, 分别对落在圆周上的像素顺时针标注进行标注 以图 3-2 中特征点 m 所示,FAST 算法的运算过程, 把这 16 个像素点按照公式 (3-1) 进行分类 : S m i d s b I m I I m i n I m I m m i n I n I m m i n (3-1) 36

47 第三章混合特征检测方法与注册 其中,n 是一个数值, Im 表示圆心 m 点的像素值, Im i 表示的是当 m 趋向于 圆周上第 i 个像素点时,i 点的像素值 从式 (3-1) 可以知道 16 个像素点与中心 像素点 Im 相比会有 3 种结果 :d 表示与 M 点像素相比偏暗,s 表示与 M 点像素相比 差不多,b 表示与 M 点像素相比偏亮 其中, 数值 n 的值决定最后得到的特征点 的个数, 通过文献查得, 当 n =3,N=9 的时候, 得到的特征点的个数质量都是最 好的, 也能去除错误的特征点 通过上面的描述算法的流程能够总结为 : 1 以像素 m 为中心, 半径为 3 的圆上, 有 16 个像素点 (m1 m2... m16) 2 预设一个阈值 分别求出 1 9 两个点与中心 m 的像素值的差, 若两个点 的差的绝对值均小于或者大于阈值 t, 则接着分别对 5 和 13 两个点进行 比较 ; 如果 4 个中至少有 3 个的差的绝对值均小于或者大于阈值 t, 就当 做候选点, 否则舍弃 ; 3 若 m 是可能的特征点, 则求出除了 这四个点之外的其余点 与中心 m 的像素值的差, 若它们至少有连续 9 个点的差值的绝对值大于 或者小于阈值 t, 则认为是特征点 5 最后还要通过非极大值抑制的方式, 剔除错误的特征点 3.2 跟踪和注册环节的流程 这一节我们主要研究跟踪和注册, 首先把参考图像的特征点和描述符进行提取, 并存储到手机上, 分析每一张视频流帧的图像, 寻找与数据库中匹配的图像帧, 接着求出摄像机的外部信息, 得到世界坐标系到像素坐标系的变换矩阵, 通过这个矩阵对虚拟物体的位置进行判断, 并且将虚拟物体和现实场景融合后输出显示 通过手机摄像头获取视频流, 提取视频流每帧图像的 BRISK 特征点以及 SURF 特征点描述符, 和手机中的特征点的信息进行匹配, 接着使用距离算法对已经得到的特征点对完成提纯, 从而得到最优的点对集合, 我们先设置一个阈值 N, 如果匹配点对的数目至少为 N 时, 我们则判定已经匹配成功, 否则就匹配失败, 继续进行判断 确认匹配成功之后, 我们就可以通过第二章的摄像机位姿估计来求得旋转矩阵 R 和平移矩阵 T, 这样便可以知道虚拟信息的注册位置 最后通过 Open GL ES 技术将虚拟信息融合到真实环境中 如图 3-3 光流算法和注册流程图所示 : 37

48 电子科技大学硕士学位论文 图 3-3 光流算法和注册流程图 从上面的光流算法和注册流程图就可以看出, 本章主要对 BRISK 算法的特征点 提取和 SURF 特征点描述符 光流算法 BFMatcher 蛮力匹配算法以及距离算法将 匹配到的特征点对再次进行提纯处理的方式进行研究 3.3 BRISK 特征算法 因为 SIFT SURF 算法在使用中比较的费时, 所以不能够在手持终端的 AR 系统上使用 同时当对于不是特别清晰的图像进行特征点提取时 BRISK 相比于其他的同等算法拥有很好的效果 本文采用的 BRISK 自然特征检测算法是对 FAST 算法的特征点相关技术进行改良而来的 要解决尺度不变性, 就必须 BRISK 特征点算法中添加图像的尺度金字塔, 对特征点进行尺度空间上的检测和多尺度的表达 [21] 38

49 第三章混合特征检测方法与注册 BRISK 特征点检测 BRISK 算法主要包含 : 特征点检测 特征点描述符 特征点之间的匹配 第一步, 对图像建立尺度空间上的金字塔进行多尺度表达 [21], 并利用 AGAST(Adaptive and Generic Accelerated Segment Test ) 特征点检测方法 [2-22], 在持续的尺度空间上获取到的亚像素级别精度的准确的极值点 并通过二值特征描述符来完成对当前范围内图像的描述, 之后通过利用 HAMMING 距离算法对特征点实现匹配 AGAST 算法对特征点进行尺度空间上的检测和多尺度的表达, 可以解决特征检测中尺度变化造成不准确的问题, 对连续尺度空间上得到的测度响应函数的值进行二次线性拟合, 并对尺度空间实施非极大值抑制方式的处理, 因此可以得到稳定的极值点 首先创建 n 个 octave 层和内 octave 层分别用 身,octave 的 ci 以及 C1 层是源图像向下进行的 2 倍采样得到的, di 表示, C 层表示图像本 C2 层是对上一层 C1 层进 行了 2 倍采样得到的 对于内 octave 层是对源图像本身进行了 1.5 倍采样得到的, d1 层是对内 octave 层向下进行 2 倍采样, d2 层是对上一层 d1 进行 2 倍采样得到 n 的值为 4 时, 可以得到 8 张采样图片, 接着对采样得到的图片进行尺度空间上的非极大值抑制, 选取特征点所在领域范围和尺度空间所有的 26 个点里面 FAST 得分最高的点作为特征点, 其他的点统统舍去 这时得到的极值点还不是最精确的, 还需要进一步的提纯处理, 利用位置内插的方法对各个层中得到的极值进行抛物线拟合, 最后在尺度空间里哪些获得亚像素级别精度的极值点才是最后需要的 图 3-4 BRISK 尺度空间模型 39

50 电子科技大学硕士学位论文 BRISK 特征点描述 [22] BRISK 的特征描述的采样方式可以从下面图 4 看出, 在以特征点为中心选取的 4 4 大小像素作为采样的窗口, 在其中以中间的圆心为中心建立多个圆, 并在圆周上等间距的画取圆形的采样点如图 3-5 中的一样, 总共有 6 个采样圆形领域 图 3-5 BRISK 算法采样图 图 3-6 是 SURF SIFT 和 BRISK 三种特征检测算法针对同一张图像的进行特征点获取得出的结果 SIFT 得到的特征点的个数相对是比较多的, 但是会出现没有检测情况 这是因为在处理的过程中极值点会发生变化引起的, 在进行特征点的选取时我们通常会选择角点或者弯曲程度变化大的点作为特征点的候选点 SURF 算法也得到了很好的特征点,SURF 算法是在 SIFT 的基础上进行的改进, 在模糊图像的处理上性能优于 SIFT 算法 而 BRISK 算法检测的特征点, 用时相对稳定, 得到的特征点品质较前两者要好, 无论是特征点的数量还是特征点的准确性方面都有很好的效果 下图是 SIFT [23-24],SURF [25-26],BRISK [2-22] 特征点提取比较 : 图 3-6 分别表示的是 BRISK SIFT SURF 算法提取的特征点比较 通过实验可以得出, 使用三种不同的方法对相同的图像进行检测, 结果显示利 用 BRISK 算法的进行检测平均用时.85s 左右, 利用 SIFT 算法进行检测平均用 4

51 第三章混合特征检测方法与注册 时.125s 左右, 利用 SURF 算法进行检测平均用时.115s 左右 表 3-1 特征点检测算法的检测时间 检测算法 SIFT SURF BRISK 所用时间.125s.115s.85s SURF 和 SIFT 算法类似, 都需要对特征点进行提取, 在特征点检测时 SIFT 算法先进行非极大值抑制, 再利用 Hessian 矩阵对特征点进行优化,SURF 是先利用 Hessian 矩阵对特征点进行优化, 再进行非极大值抑制, 它通过使用积分过以后的图像, 极大地减少运算时间, 从计算的结果可以得出 BRISK 算法在运行时间上比 SIFT 和 SURF 算法都要低 综上可知,BRISK 算法进行特征点的检测时无论是快速性 准确性以及特征点的质量上都具有更好的效果, 根据 BRISK 算法的优秀特性, 文中推出了一种结合了 BRISK 算法进行特征点检测和 SURF 算法进行特征描述的方法, 既能实现对物体特征点的准确提取和描述又能保证整个系统的实时性 3.4 SURF 特征算法 SURF 特征算法是在 SIFT 算法的基础上进行改良之后得来的, 解决了运行时间长 描述复杂等问题的特征检测算法 [25-26],SURF 算法先利用 Hessian 矩阵筛选出候选特征点, 之后进行非极大值抑制, 同时利用积分之后的图像进行计算, 因此在运算时能够快速 效率 SURF 算法特征检测 从上文我们已经知道了 SURF 算法的相关特性, 因为其很高的鲁棒性和较快的实时性, 以及其对于模糊的图像同样具有很好的检测性能 SURF 与 SIFT 相比算法的运算速度和描述上有了很大的改进 因为在 SURF 算法中使用的是积分之后 [26] 图像, 没有对梯度的直方图进行统计, 而是针对特征点范围内的 Haar 小波特征进行统计 所采用 SURF 特征点描述子能够增加 BRISK 算法获取的特征点的旋转不变性, 在运算的效率上比 SIFT 算法有了巨大的提高, 在稳定性和鲁棒性上同时继承了 SIFT 的优点,SURF 算法在计算机视觉 图像拼接等方向都有着广阔的应用空间,SURF 算法特征点描述符可以对特征点进行比较详细和准确的特征描述 41

52 电子科技大学硕士学位论文 图 3-7 SURF 算法工作流程 首先可以看出 SURF 利用的是积分过以后的图像, 这样很好的提高运行的运算的效率, 减少时间的消耗, 接着创建 Hessian 矩阵, 对检测到的特征点进行筛选, 为了得到的极值点的稳定性更加高, 需要对检测点 3 33的立方体范围内进行非极大值抑制, 除去本身, 需要进行比较的点一共有剩下的 26 个点 通过比较之后, 如果检测的点最终是所有 27 个点中的极大或者是极小值时, 我们就保存其相应的位置和尺度信息, 作为候选的极值点 SURF 算法特征描述 SURF 具有很好的具有旋转不变性, 是因为其为每一个特征点都确定了主方向 [25], 操作的过程如下 : 在获取到检测点之后, 已检测点为中心, 以 6 个单位的特征点尺度为半径画一个圆, 如图 3-8 所示, 对圆内所有的特征点沿着 x 轴和 轴的方向进行 Haar 小波响应分析, 并对得到的结果分配不同的高斯权值, 让 Haar 小波响应从中心点到圆周依次减小, 以检测点为圆心, 以 6 度夹角的扇形为窗口, 对整个的圆形区域实现遍历, 遍历完之后, 每一个特征点都会得到 4 个方向的小波响应, 此时我们需要对这些点的 4 个方向用向量求和的方式相加, 最后能够得到 42

53 第三章混合特征检测方法与注册 一个最长的向量, 那么这个最长的向量就是我们所需要的主方向 图 3-8 SURF 算法主方向判定 如图 3-9 所示, 把特征点作为中心, 画取一个长和宽都是 2 个特征点尺度的正方形窗口, 再把窗口分为 16 个小框口, 分别对每个小窗口中的 25 个像素进行水平和垂直方向上的 haar 小波响应分析, 然后对每个小窗口中的水平和垂直方向上的小波响应进行叠加, 得到 4 的方向的响应, 其中正方形窗口的方向就是我们前面通过求和得到的最长的向量即主方向, 图中的水平和垂直方向全部基于主方向的基础上标定的 图 3-9 SURF 特征点描述符生成 在每个小窗口都生成 4 个向量, 这样所有的小窗口都有 4 个值, 每个特征点由 44 的小区域组成, 那么特征点所在窗口有 维向量 Vs ( i1, i2,..., i64), 和 SIFT 的 128 维向量相比少了一倍, 显而易见 SURF 比 SIFT 算法计算效率高 3.5 采用 BFMatcher 进行特征点的匹配 Brute-Force-Matcher 顾名思义就是对特征点进行逐个匹配, 直到找到最优的匹配 所以我们经常利用 Brute-Force-Matcher 寻找到最优的匹配的时候 在特征点描述阶段得到的描述符的数据类型分成了 :float 数据类型和 uchar 数据类型 对于数据类型是 float 的可以使用的匹配方式有 :FLANN,Brute-Force Brute-Force 方式进行匹配时, 首先从第一张图像中依次选取特征和第二张图像中的所有特征点进行距离算法进行比较, 最后返回最优的特征点 在使用 43

54 电子科技大学硕士学位论文 BF-Matcher 匹配器之前, 要先利用 BF-Matcher() 构造函数创建一个自己的对象, 并且构造函数中有两个可选参数 第一个参数是 normtpe, 表明使用的是距离测试的方式 默认值 Norm_L2, SIFT 和 SURF 等算法常常使用的就是这种方式 但是当特征描述利用的是二进制进行描述的算法就必须使用 NORM_HAMMING 作为参数, 使用的汉明距离进行测试 第二个参数是 crosscheck, 根据参数的不同, 匹配时的条件也会不一样, 常用的就是默认值 False, 当默认值修改为 True, 就会要求第一张图上的第 i 个特征点和第二张图上的第 j 个特征点最近, 反过来, 第二张图上的第 j 个特征点和第一张图上的第 i 个特征点距离也是最近的, 这样 i 点和 j 点就是一对最佳匹配点 这种方法可以取代关于 SIFT 算法中用到的测试方式 [23],BFMatcher 拥有两个方法 match() 和 knnmatch() 第一种方式能够得到最佳的匹配, 第二种方式会给所有的关键点提供 k 个最佳的匹配, 如果在匹配之后需要将匹配的点对之间进行划线或者将特征点圈出来等画图操作时, 需要使用 drawmatches() 进行匹配点对的连线,drawKepoints() 圈出特征点, 最后得到的就是本章最后得到的实验结果图所示, 两张图像并列显示, 并将特征点对之间进行连线显示 要是我们利用的是 KNNMatch, 那么在进行特征点对之间连线时, 就需要用到 drawmatchsknn() 为得到的 k 个最佳匹配进行连线 3.6 相似度度量方法 AR 系统中, 需要对特征点对之间的相似度进行判定 利用已经描述过的特征 点的描述符进行判断, 将两个特征点的描述符拿出来进行比对, 两种最常见的用 距离进行比较方式, 通过比较两个点之间的物理距离或者是字符之间不相同字符 个数的这两种方式, 来判定两点之间的相似程度有多少 这两种方式分别是 : 欧 式距离比较和汉明距离比较 欧式距离 利用欧式距离实现匹配的公式如下 (3-2) 所示 : D 1 n 2 ij L i(k) - Lj(k) 2 (3-2) k-1 公式 3-2 中的 Li (k) 和 Lj (k) 分别表示待匹配点 i 和 j 的特征描述符 因为是通过 距离法进行测试, 公式中的 D ij 的值表示的就是两个点之间的匹配程度, 当 D ij 越大, 表明之间的匹配性就越低, 我们对 D ij 的值设置了一个范围, 当这个值小于设置的 44

55 第三章混合特征检测方法与注册 值 t 时, 就表示两个点的匹配程度是可以接受的, 我们可以认为他们是一对匹配成功的特征点, 这样就完成了一对特征点的匹配 汉明距离 两个尺寸相等的字符串, 它们对应位置上字符不相同的数量 通俗一点就是, 以一个字符串作为基准, 将另外一个字符串与其进行比较, 然后得出两个字符串之间字符不相同的位数 根据汉明距离的性质可以知道, 它主要是对字符串进行比较, 所以适用于描述符是二进制的特征检测算法, 汉明距离得到的值越小, 说明描述符之间的差异也就越小, 同时汉明距离得到的值, 的另外一种名称是汉明重量, 指字符串与其尺寸相同的全 字符串之间, 不同字符的个数, 文中使用的是二进制描述符, 举例说明汉明重量就是 1111 与 相比, 得到的汉明重量就是是 特征匹配点对的优化 RANSAC 算法对匹配点进行优化 本节讨论的是利用 RANSAC 算法完成点对优化, 首先通过 RANSAC 算法找到 一个最优的 3 3 大小的单应性矩阵 H, 使 H 能够最大数量的满足特征点对之间变 换关系, 如公式 3-3 所示, 是特征点对之间的坐标变换关系, h33 所在的矩阵就是 单应性矩阵 H, 其中, 我们通常将 h33=1 来归一化矩阵, H 中还包含了另外的 8 个参数没有求得, 通过数学知识可以知道, 至少需要通过 8 个方程才能求解出这 8 个参数的解 x' h S ' h 1 h h h h h h h x 1 (3-3) T T 其中,s 只是尺度参数,( x,,1) 代表第一张图像中特征点的位置, ( x ', ',1) 代 表第二张图像中特征点的位置 RANSAC 算法在初步匹配完成之后的特征点对集合中随机抽出 4 对不共线的特征点对, 通过这 4 对特征点对之间的变换关系, 求出上文提到的剩余 8 个参数的数值, 就能够得到单应性矩阵 H, 然后使用这个单应性矩阵 H 对其余剩下的特征点对进行测试, 最后求出满足这个单应性矩阵 H 的特征点对的个数与代价函数如 3-4 所示 : 45

56 电子科技大学硕士学位论文 n ' 11 i 12 i 13 xi i1 h31xi h32i h33 h x h h 2 ' i h h xi h xi h i h i h (3-4) RANSAC 算法步骤 : 1. 从特征点对中随机抽出 4 对不共线的特征点, 求出单应性矩阵 H ; 2. 单应性矩阵 H 与剩下的特征点对进行测试, 求出满足这个单应性矩阵 H 的特征点对的个数与代价函数 3. 如果最后得到的个数大于最优的点集, 则将最优点集的值进行修改, 同时对迭代的次数 k 进行更改 4. 重复迭代, 知道迭代的次数大于 k 值为止 其中, 进行迭代的次数可以由公式 3-5 可得, 并且 k 值是在不超过最大迭代的情况先不断的更新 k log(1 p) m log(1 w ) (3-5) 其中, P 的值通常为.995, w 为 " 内点 " 的比例, m 为选取特征点对的个数 距离算法对匹配点进行优化 BRISK 自然特征检测算法是对 FAST 算法的特征点相关技术进行改良而来的 要解决尺度不变性, 就必须 BRISK 特征点算法中添加图像金字塔, 对特征点进行尺度空间上的检测和多尺度的表达 [21] BFMatcher 就是对测试的图片中的所有特征点, 匹配训练集中最近的特征点, 匹配之后设置一个距离的阈值 ( 最小距离的 2 倍 ), 然后把距离大于这个阈值的点对都删除掉, 由于 BRISK 的尺度不变性, 如果两个特征点是正确匹配的, 那么之间的距离自然就会比较近, 这样就可以大大提高剩下点对中正确匹配的占比 程序中的距离法的比较方式如下 : matches i. dis tan ce max(2 min_ dist, value) (3-6) 其中 min_dist 代表的就是最小的距离,value 就是我们开始赋予的值, 这个值是可以调整的,value 越小, 最终得到的点对就会越少, 我们要适当的减少 min_dist 的大小, 以此来得到更多的特征点, 同时我们也适当的调高 value 的大小, 来得到足够多的优化之后匹配点对 46

57 第三章混合特征检测方法与注册 两种优化方法的结果比较 在完成了点对的匹配之后, 得到的点对只是最初的一个点对数据集, 本节中将使用在特征点对提纯环节中常用的距离算法取代 RANSAC 算法对获得的点对进行去除错误的数据完成提纯操作, 从而得到一个最优的点对数据集合, 但是在本文中通过仿真模拟可以看出使用 RANSAC 算法在图像特征匹配提纯过程中的效果比较差, 所以决定采用常用的距离法对 BFMatcher 对匹配完成之后的特征点进行进一步的提纯 下面我给出两种提纯算法的不同效果图 : 图 3-1 RANSAC 提纯之后的匹配图 图 3-11 距离法提纯之后的匹配图 图 3-1 中使用的就是 BRISK 对特征点进行了提取和描述, 配合使用 RANSAC 算法对获得的点对完成了提纯之后得到的图像, 图 3-11 是本文算法配合使用距离法对获得的点对完成了提纯之后的图像, 从两张图像的对比中我们就已经可以看出, 经典的 RANSAC 算法在进行特征点的提取的时候出现较大的错误, 在本文中的效果并不如传统的距离算法, 本文把 BRISK 特征点提取配合 SURF 特征点描述 47

58 电子科技大学硕士学位论文 以及 BFMatcher 匹配 距离算法提纯的搭配使用, 在特征点的检测和匹配中取得 了不错的效果 3.8 实验结果 进过了分析和对比, 最后采用 BRISK+SURF 的物体特征检测方式实现整个 AR 系统, 通过 BRISK 算法对特征点的进行获取, 利用 SURF 算法对获取到的特征点进行描述, 之后在通过 Hamming 距离匹配与距离法的优化最终得到的系统是能够达到我们对于 AR 系统在稳定性 快速性 鲁棒性上的要求 在本章使用 C++ 语言利用 OpenCV2.4.3 库进行特征点的提取和描述, 在 win7 系统下的 VS221 编译器实现编译, 必须先对 VS21 下进行 Open GL 的相关配置, 下表是本章进行图像的特征点提取以及匹配 优化的实验的硬件和软件平台 : 表 3-2 实验平台 (1)PC 硬件平台 软件平台 (1)win1 系统,VS21 (2) Inter i5 3.5GHZ (2)OpenCV (3) RAM 6.G (3)OpenGL 本文选取两组相对很有代表性的图像进行测试, 通过分别对图 3-12 和图 3-13 两组待检测图像的特征点的进行提取和匹配, 以此来分析相同的图像在不同的特征点提取和描述算法的作用下表现出的不一样的效果, 特征点检测和提取如图 3-14 图 3-15 图 3-16 图 3-12 待检测图片第一组 图 3-13 待检测图片第二组 48

59 第三章混合特征检测方法与注册 图 3-14 BRISK 算法进行的特征点提取 图 3-15 SIFT 算法特征点提取 图 3-16 SURF 算法特征点提取 从表 3-3 表 3-4 表 3-5 的数据我们可以看出通过 SIFT SURF 以及本文的算法, 在特征点提取的个数 最终能够匹配的特征点对的个数和运行时间的长短进行了比较, 通过对得到的数据进行分析, 我们可以看出本文在特征点提取的数量上 SIFT 算法明显优于剩余两者, 但是它的执行时间太过于长, 所以并不适合对速度要求高的场合, 从剩下的数据对 BRISK 特征点提取和描述的算法同本文的 BRISK+SURF 算法进行比较可以看出, 在特征点的提取数量上 最优特征点数量都是差不多的, 但是在运行时间却相差了很多, 本文的算法明显要优于纯 BRISK 算法 49

60 电子科技大学硕士学位论文 表 3-3 特征点提取个数对比 算法 SIFT SURF 本文算法 图组 1 669/ /153 23/42 图组 2 149/ / /1248 表 3-4 最佳特征点匹配个数对比结果 算法 SIFT SURF 本文算法 图组 图组 表 3-5 运行时间对比结果 算法 SIFT SURF 本文算法 图组 S S.677S 图组 S S.724 S 为了实验文中算法的可行性, 把第一组待检测图片旋转 9 度后得到其右边的图像, 把第二组待检测图片左侧图像旋转任意角度, 得到了第二组右边的图片, 同时改变第二组的光照强度, 如图 3-16 所示, 然后进行了特征点的检测以及匹配实验, 最后结果如下图 3-17 所示 : 5

61 第三章混合特征检测方法与注册 图 3-17 第一张图片匹配结果的效果图 图 3-18 第一张图片匹配结果的效果图 结果显示本文的算法得到的错误特征点相对于另外两种要少的多得多, 两幅匹配的准确度几乎可以达到 95% 以上, 花费的时间也相对前两者少很多, 同时根据二组图片的结果可以看出, 本文的算法对于旋转和光照强度的变化也具有很好的鲁棒性 下面的表格是通过各个算法对相同的图像进行特征点匹配算法的运行效果的比较 : 3.9 本章小结 主要针对在 PC 端下利用物体自然特征实现的 AR 系统的匹配方法进行验证 把 BRISK 特征点检测算法在图像的特征点的提取和匹配过程中进行运用, 相比于其他的一些特征点的算法, 由于 BRISK 产生多尺度特征, 会产生多种尺度的信息, 所以这样就不会失去尺度的不变性 同时我们也利用了在 SURF 算法中, 没有对 51

62 电子科技大学硕士学位论文 [26] 梯度的直方图进行统计, 而是针对特征点范围内的 Harr 小波特征进行统计的这种特性, 能够产生旋转不变的优势, 所采用 SURF 特征点描述子进行描述对 BRISK 算法获取到的特征点实现了描述, 这样就会拥有旋转不变的性能, 之后使用 BFmatcher 算法保证最佳的特征匹配, 接着再使用传统的距离算法将已经得到的特征点对再次筛选, 此方法对尺度的变化以及旋转的性能上去的很好的结果, 保证了实时检测特征点的同时也保证了最终匹配的准确性和系统的鲁棒性 52

63 第四章移动手持终端的增强现实系统设计与实现 第四章移动手持终端的增强现实系统设计与实现 本文主要实现了基于 Android 系统的手持终端的增强现实系统, 对手持终端上的系统进行设计和分析 系统的性能和功能完成测试, 以及对于整个系统的性能做出评价 此系统可以实现对检测对象进行特征点提取 描述 匹配和跟踪注册, 根据上文的分析, 本文使用基于计算机视觉的自然特征的增强现实系统, 采用 BRISK 和 SURF 相结合的算法, 本章对算法的性能和运行时使用的时间进行比较分析 4.1 系统使用的软硬件介绍 在 Android Studio 上实现编译, 利用 Android NDK 技术实现了与开源库中图像相关的处理程序的交互, 在 Android Studio 上使用 Java 和 C++ 共同编程实现, 编写实现界面设计以及底层功能调用程序 (1) 硬件平台我们使用的手持终端的平台是 215 年推出的魅族 X5, 其操作系统的最新版本是 Android4.4, 整体的配置只能说一般, 当前的手机性能已经远超文中的平台了, 表 4-1 所示 : 表 4-1 本章使用的硬件平台参数 手机版本 CPU 型号内存大小 CPU 处理器核数 魅族 X5 联发科 MT6592 3G 8 核 视频分辨率大小 64*48 (2) 软件平台我们使用支持 Android 系统的 Open CV Android SDK 2. 机器视觉开源库, 这个开源库里面包含了视频获取 处理 存储 特征点的获取 描述等等本文中都会用到的算法 ; 最后采用 Open GL ES 2. 完成把虚拟模型融合到到视频流中, 输出到显示屏上 53

64 电子科技大学硕士学位论文 4.2 开发环境搭建 NDK: 本地开发工具包, NDK 能够让开发人员使用 C / C++ 语言编写的程序 它包括下面的部分 : 1) 包含了 C/C++ 代码运行所需要的所有工具和为其创建编译文件 2) 可以在 Android 系统下的应用程序文件包中放入一些其他语言编程的程序 3) 对 Android 系统上的所有程序都有很好的兼容性 优点 : 1) Android 系统上使用 Java 开发的代码很容易被人反编译, 但是 C/C++ 库很少出现这种情况, 可以实现代码的保护 2) C/C++ 语言编写的程序运行效率高, 利用 NDK 第三方的 C/C++ 库, 可以让高效率的代码在 Android 这样的平台上使用, 提高了系统整个的运行速度 JNI: Java 本地方法接口, 在 Java 虚拟机一书中提到 JNI 能够实现 Java 编写的代码与别的语言编写的程序实现交流 [55] 本文中主要利用 JNI 让 Android 系统上能够运行在 Java 虚拟机 (JVM) 上的 Java 代码实现和 C/C++ 语言编写的 Open CV 应用程序和库进行交互操作 NDK 和 JNI 和关系是 : 由上文可以知道,NDK 是在 Java 本地方法接口的技术上进行开发的, 在 Android 系统上实现开发的工具库 由于我们使用的是 Android studio 开发而非 eclipse(as 比直接在 eclipse 上开发 Android 程序稍微简单方便一点 ) 新建一个工程, 设置 NDK 的路径 : 54

65 第四章移动手持终端的增强现实系统设计与实现 图 4-1 Android studio 上配置 NDK 工具 4.3 系统框架和模块 本文主要是在 Android 系统上实现的基于自然特征点检测算法的 AR 系统, 下图是 Android 系统如何通过 NDK 技术调用 C/C++ 程序中一些模块之间关系的模型图 : 图 4-2 Android 系统通过 NDK 调用 C/C++ 程序 我们将比较复杂的注册算法 ( 图像处理算法 ) 模块的执行放在了使用 C/C++ 语言的 Native 层中进行, 可以减少耗时又能提高运行的效率 模型渲染模块只能对 obj 格式的文件进行解析, 加载模型在 Android 系统下的 Java 层进行实现 本文设计实现的基于自然特征点的移动增强系统, 主要是将所要检测的目标物体或者图像的特征信息全部存放到本地数据库中, 然后当视频获取设备获取到视频流中的视频帧图像的特征信息同前面数据库中保存的信息的一致性达到一定的 55

66 电子科技大学硕士学位论文 水平之后, 我们就认为匹配成功, 这时就可以进行后续的叠加以及相机位姿估计等操作了 本文为了提高系统的实时性, 采用了 L-K 光流跟踪算法, 避免了对视频信息中的所有帧图像进行特征信息的获取, 从而节约了时间, 增强了系统的响应速率 系统框架如下图 4-3 所示 : 图 4-3 系统流程图 在进行特征点匹配之前, 我们需要选取一个能够采集到足够多特征信息的图像, 使用 BRISK 算法实现了特征点的获取和 SURF 算法完成对特征点的描述, 然后将这些特征信息存放到手机的数据库中 将预先准备好的特征信息存储在数据库中之后, 通过摄像头获取到视频流, 又 56

67 第四章移动手持终端的增强现实系统设计与实现 因为读取视频流的过程是一帧一帧进行读取的, 所以需要依次对每一帧的图像进行 BRISK 特征点提取和 SURF 特征点描述, 利用 Hamming 距离算法同数据库中特征信息实现比对, 之后再利用距离算法进行提纯, 求出成功匹配的特征点对的个数, 如果成功匹配之后的特征点个数大于等于我们设定的阈值, 我们就认为在视频流中已经找到了匹配的图像, 否则, 我们继续在视频流的每一帧进行检测, 知道找到匹配的图像 由于我们采用了 L K 光流跟踪算法, 所以我们将上一帧的 跟踪点与当前的进行比对, 当两幅帧图像变化不大时, 我们就进行相机的位姿估计, 计算出旋转以及平移矩阵, 将虚拟信息融合到正确的位置, 最后使用 Open GL ES 技术, 将虚拟信息显示出来, 从而就能实现整个 AR 系统的设计 我们通过图 4-3 中的利用物体自然特征实现的 AR 系统整个的过程, 把系统的过程转换成各个层的方式如图 4-4 所示 : 图 4-4 AR 系统不同层间的关系 先是用户界面, 该层主要实现对软硬件环境的初始化的系统初始化模块层, 摄像机参数的初始化 客户端界面加载 图片特征库的建立 ; 第二层是功能模块层, 包含了视频的采集模块 位姿估计模块 特征点提取和描述模块 跟踪注册模块和虚拟信息叠加模块 ; 第三层是依赖层, 包含了 Open CV 库和 Open GL ES 库 (1) 视频采集模块 : 调用 Android 系统下 camera 类的相关方法, 通过打开手 57

68 电子科技大学硕士学位论文 机的摄像头获得视频信息, 对视频信息中的每一帧图像都实现特征点的获取 匹配 (2) 特征点提取和描述模块 : 如图 4-5 所示, 主要对每一帧中的图像进行 BRISK 特征点提取和 SURF 特征点描述, 然后和数据库中的数据进行匹配比对找到匹配的点对, 判断点对的个数是否满足设定的阈值 图 4-5 特征点的检测与跟踪模块 在 Android 下调用相机的打开功能, 通过摄像机获取到视频流, 获取当前帧图 像中的特征点数据和描述符等信息, 和存储在本地数据库中的特征数据库中的数 据使用 Hamming 算法进行比对, 之后使用距离算法对已经完成匹配以后得到的点 58

69 第四章移动手持终端的增强现实系统设计与实现 对实现提纯, 最后对优化后匹配点对的个数与设定的阈值之间比对, 直到达到阈值要求的帧出现, 这时我们就认为匹配成功 (3) 跟踪注册模块 : 根据特征点对集可以求出单应性矩阵 H, 接着求出相机的内部参数, 然后就能通过上面的数据得到相机的外参, 求出世界坐标系和像素坐标系之间的转换矩阵, 同时我们也使用 L-K 光流算法对上一帧的进行跟踪, 确定特征点在当前的位置, 并完成相机的参数计算, 从而计算出虚拟物体需要正确融合的位置 (4) 虚实融合模块 : 进行叠加到现实世界中的条件都已经满足了, 可以实现增强现实的效果 旋转矩阵 R 和平移矩阵 T 的准确性, 直接决定虚实融合中虚拟信息叠加位置的准确性, 也就是说取决于位姿估计的准确性 在手持终端平台上是采用的都是 Open GL ES 技术来实现把三维物体的二维映射的叠加到视频中, 实现了虚实信息的融合和输出 4.4 实验结果与分析 使用的 Android 手机的视频采集分辨率为 64*48, 分别对 SIFT SURF BRISK+SURF 算法进行了实现, 并且得到相应的时间参数信息, 并对得到的数据进行列表分析, 使用的是 Open CV for android SDK 2., 结果如表 所示 : 测试使用的图片 : 图 4-6 测试用图 表 4-2 三种特征点检测算法比较 特征点检测算法 SIFT SURF 本文算法 计算耗时 (ms) 特征点数

70 电子科技大学硕士学位论文 表 4-3 三种特征点描述算法用时比较 特征描述算法 SIFT SURF 本文算法 计算耗时 (ms) 表 4-4 三种算法分别总耗时比较 特征算法 SIFT SURF 本文算法 总耗时 (ms) 上面表格数据的柱状图, 如图 4-7 所示 : 图 4-7 算法直方图 分析可得使用相同的移动手机, 检测相同的图像或者物体,BRISK 在待检测物体在发生旋转和光照强度变化时, 都能取得很好的注册效果, 相对于 SIFT 和 SURF 算法整体的运行时间要少很多, 而相对于单纯的 BRISK 算法来说, 本文的方法在旋转性能可以通过第三章的实验结果可以看出有更好的准确性, 而在耗时上也相对少一些, 因此在保证了快速性的前提下, 本文的方法尽可能大的保证了匹配时的准确性和时间开销 6

71 第四章移动手持终端的增强现实系统设计与实现 图 4-8 发生旋转时准确注册 图 4-9 发生遮挡是准确注册 本文的基于 BRISK 和 SURF 算法相结合的移动增强现实系统的实际效果图, 图 4-8 所示的两幅图是进行旋转一定角度之后的注册效果, 可以看出在旋转之后依然可以准确的识别出我们将要识别的物体, 并且在书本的相应位置进行准确的注册, 虚拟的信息也会随着书本的移动而发生相应的移动 除此之外, 也对物体发生遮挡这一情况也进行的研究, 图 4-9 所示的两幅图是当物体发生遮挡时依然可以将小猫叠加到原来的相应位置, 完成准确的跟踪注册, 从这四幅图可以看出, 本文设计的系统, 在物体发生了旋转和遮挡等环境的改变时, 仍具有很好的稳定性, 并且能够保证系统快速准确的运行, 从而证实了系统的稳定性和此方法的可靠性 当每一帧的处理时间在 5ms 左右时, 在手持终端的 AR 系统的实时性就可以达到标准, 所以本文在原有的基础上配合了 L K 光流跟踪算法进行使用, 对当前和上一张图片的特征点之间进行对比, 这样就能够避免了每一帧都检测时耗费 61

72 电子科技大学硕士学位论文 的时间, 通过上面的实验数据和实现的效果图可以看出, 在发生旋转时能够正常的运行, 当图像遮挡之后还是能够正常的运行, 且输出的视频是没有卡顿的, 所以可以看出文中的这种实现的方式本身就具备了十分好的鲁棒性 快速性 高度的使用性等性能, 在一般的手机上都能很好的运行, 视频流播放的帧率也可以实现每秒 2-3FPS/s 左右, 我们知道, 只要能够达到 2FPS/s 用户就可以看到流畅的视频了, 在跟踪匹配的准确率上基本可以达到了 95% 以上 在对文中提到算法之间进行了比较可以看出, 本文使用的基于 BRISK+SURF 算法在以 Android 系统为平台的移动手持终端的运行效果, 达到了预想的效果, 能够准确的跟踪和注册, 和实时的显示输出 4.5 本章总结 本章在前两章的基础之上, 实现了 Android 端的图像的特征点的检测 匹配以及三维注册, 而且对三种算法的特征点获取 匹配和注册的方式进行了比较, 实验分析了 SURF BRISK BRISK+SURF 算法的运行时间消耗, 基于 BRISK+SURF 算法的移动增强现实系统相对于 SURF 要小很多, 相对于 BRISK 的运行时间相差不多, 但是在特征点检测和注册的效果上要好很多, 从结果可以看出, 本文使用的方法能够很好的实现三维模型的增强现实的功能, 可以保障整个系统实时性和稳定性, 同时在场景的旋转以及遮挡的情况下相对于其他两种方法, 要具有更好的鲁棒性 62

73 第五章总结和展望 第五章总结和展望 5.1 总结 现在国内外也有很多人研发了不同的开发包和工具, 在硬件和软件等方面都得到了一定的满足了, 运行在 Android 平台上的 AR 系统的应用已经普及, 但是在实现 AR 系统时使用到的相关技术等等困扰手持终端增强现实的难点, 还是没能得到非常有效的解决, 在对当前现有的技术进行分析之后, 本文最终提出了一种能够运行在 Android 平台上的 AR 系统 下面是利用自然特征实现的手持终端增强现实在整个系统的开发的难点 : 手持终端实现的 AR 系统对软硬件要求都很高, 要求硬件的 CPU 的处理速度和核数要达到一定的要求, 在软件实现上要求能满足鲁棒性 快速性 准确性等要求 系统必须对于物体或者图像的尺度发生了改变 发生了角度的变化 发生了遮挡等环境条件的变化下, 依然要能够正常的运行 本系统在完成后进行了功能和性能测试, 并对测试结果做了分析和评价, 实现了预期的效果 本文在 Android 平台上通过调用 Open CV 库中特征点获取与匹配 跟踪和注册等方法以及利用 Open GL ES 叠加模型技术, 完成一个基于物体自然特征的检测方法的 MAR 系统 文章大致完成了下面这些工作 : 1. 先是对整个的 AR 当前的环境进行了分析, 对过去的研究进行了反思, 对将来的发展也进行了思考, 在利用计算机视觉实现的 AR 系统中, 果断的选择了更加有实用性的利用物体自然特征的进行实现的这种方式, 对于 AR 系统常见的一些不足和缺点, 提出了自己的解决的方法和措施, 采取了更加便捷和使用的手持终端完成了开发, 实现了能够随身携带, 方便实现并且效果良好的手持终端的 AR 系统 本文对利用自然特征点实现的移动手持终端的増强现实系统中的特征点获取和匹配 跟踪和注册等问题进行了研究, 提出了一种在移动平台上基于 BRISK 算法和 SURF 算法相结合的特征获取与描述的方法, 并且通过 BFMatcher 和距离法对特征点进行匹配和提纯 主要利用了 BRISK 算法具备的一些优良的尺度不变的特性, 还有 SURF 在特征描述上的优势, 把视频中的帧图像, 在进行了特征点的获取和描述之后和之前的特征数据集中的数据进行比较, 使用的是 BFMatcher 的汉明距离法, 在之后就是对得到的点对进行再一步的优化, 使用的两种优化方式都进行了效果的对比, 第四章系统的实现时还是取得了很好的效果 2. 在 Android 手机上设计并实现了利用了 BRISK 算法和 SURF 算法相结合的特征检测与描述的方式实现了 MAR 系统 利用传送来特征信息和相机本身的内部 63

74 电子科技大学硕士学位论文 参数, 实现了相机的外参计算, 并结合了光流算法加快整个流程的运行速度, 之 后使用 Open GL ES 技术把虚拟的信息融合到现实场景中实现最终的 AR 显示效 果 5.2 展望 AR 系统已经成为了下个技术的风口浪尖, 由于融合了多个学科和不同方向的技术, 所以在新兴研究方向上很少有可以参考借鉴的资料, 开发起来还是非常有挑战性的 用户只要通过自己的移动手机就可以实现增强现实, 就能实现虚实融合的体验 本文的 MAR 系统虽然实现了 AR 的功能, 同样也存在着很多的不足, 所以在以后的研究中, 我们还需要对下面这些方面做出改进 : 作为现在比较热门的 5G, 我们可以通过创建云端技术, 利用 5G 的高速传输的特性, 将视频流传入到服务器端进行分析, 然后将分析的结果传回就可以了, 并且可以在云端进行机器学习, 然后将传入的信息进行分类, 当有相似的信息传入时就可以迅速的返回相应的信息, 于是整个系统的效率可以有极大的提升, 这样既能保证特征点获取的快速性, 也能保证匹配时的准确度 Android 系统与 Windows 系统又有一些不同之处, 所以能够开发可以适合移动端的算法, 充分发挥, 移动端的多核处理器以及 GPU 的处理功能, 可以极大的提高算法的运算速度和图像处理的效果, 在图像叠加的方法上可以进行一些改进, 可以将图像识别的一些方法, 如 Open CV 库中的一些方法直接写入到系统内部, 而不需要下载安装相应的开发包, 这样才能让增强现实真正的普及 在日常的生活中的方方面面都可能用到增强现实, 比如导航等, 这时我们需要将自己进行定位, 然后确定自己的方向, 接着, 将这些信息传递给云端, 再通过传回的视频进行分析, 将相应的虚拟场景叠加到手机的屏幕中, 实现增强现实导航, 所以不仅仅根据图像, 还要讲手机定位等传感器加入到系统当中 文章实现的系统, 只实现了把虚拟的信息融合之后输出, 并没有实现放大等操作, 同时我们只能对手机屏幕进行操作, 之后可以加入一些手势操作的方式, 通过识别人手势或者重力感应器等变化, 推测出人们所想要进行的操作 64

第四章 102 图 4唱16 基于图像渲染的理论基础 三张拍摄图像以及它们投影到球面上生成的球面图像 拼图的圆心是相同的 而拼图是由球面图像上的弧线图像组成的 因此我 们称之为同心球拼图 如图 4唱18 所示 这些拼图中半径最大的是圆 Ck 最小的是圆 C0 设圆 Ck 的半径为 r 虚拟相机水平视域为 θ 有 r R sin θ 2 4畅11 由此可见 构造同心球拼图的过程实际上就是对投影图像中的弧线图像

More information

东南大学硕士学位论文 LCD 显示中灰度控制机理的研究及电路实现姓名 : 曹志香申请学位级别 : 硕士专业 : 微电子学与固体电子学指导教师 : 孙大有 20040327 LCD 显示中灰度控制机理的研究及电路实现 作者 : 曹志香 学位授予单位 : 东南大学 相似文献 (1 条 ) 1.

More information

吉林大学学报 工学版 244 第 4 卷 复杂 鉴于本文篇幅所限 具体公式可详见参考文 献 7 每帧的动力学方程建立及其解算方法如图 3 所示 图4 滚转角速度与输入量 η 随时间的变化波形 Fig 4 Waveform of roll rate and input η with time changing 图5 Fig 5 滚转角随时间的变化波形 Waveform of roll angle with

More information

自然科学版 预处理 视盘粗定位 视盘垂直坐标的粗定位 视盘水平坐标的粗定位

自然科学版 预处理 视盘粗定位 视盘垂直坐标的粗定位 视盘水平坐标的粗定位 自然科学版 文章编号 视网膜图像中视盘的快速自动定位方法 赵晓芳 林土胜 李碧 摘 要 基于眼底视网膜血管的分布结构及视盘本身的特点 提出一种快速自动定位视盘的方法 首先根据视网膜血管的网络分布结构大致定位视盘的垂直坐标 然后根据视盘 的亮度信息及视盘与血管的关系来定位视盘的水平坐标 最后把视盘限定在以粗定位的视盘为中心的一个小窗口内 用 变换精确定位视盘中心 该方法不需要事先分割视网膜血管 也不需要对算法进行训练

More information

水晶分析师

水晶分析师 大数据时代的挑战 产品定位 体系架构 功能特点 大数据处理平台 行业大数据应用 IT 基础设施 数据源 Hadoop Yarn 终端 统一管理和监控中心(Deploy,Configure,monitor,Manage) Master Servers TRS CRYSTAL MPP Flat Files Applications&DBs ETL&DI Products 技术指标 1 TRS

More information

西安电子科技大学硕士学位论文基于 GPU 的 WPA/WPA2-PSK 高速破译方法研究姓名 : 周洁申请学位级别 : 硕士专业 : 物理电子学指导教师 : 张建奇 20100601 基于 GPU 的 WPA/WPA2-PSK 高速破译方法研究 作者 : 周洁 学位授予单位 : 西安电子科技大学

More information

非营利组织专职人员专业化问题研究

非营利组织专职人员专业化问题研究 湖南师范大学硕士学位论文非营利组织专职人员专业化问题研究姓名 : 罗拾平申请学位级别 : 硕士专业 : 社会学指导教师 : 陈成文 20080501 非营利组织专职人员专业化问题研究 作者 : 罗拾平 学位授予单位 : 湖南师范大学 相似文献 (1 条

More information

第 期 曹 源 等 形式化方法在列车运行控制系统中的应用

第 期 曹 源 等 形式化方法在列车运行控制系统中的应用 第 卷 第 期 年 月 交通运输工程学报 曹 源 唐 涛 徐田华 穆建成 为了确保列车运行控制系统设计和开发的正确性 比较了仿真 测试和形式化 种能够验证 系统设计正确性的方式 根据列车运行控制系统对安全的苛求性 提出了 个与系统安全相关的重要特性 即实时性 混成性 分布 并发 性 反应性 并分析了与这些特性相关的具体形式化方法 通 过对每种形式化方法的数学基础和应用范围的分析和归类 给出了各种方法的优势和不足

More information

西安电子科技大学硕士学位论文粗糙海面电磁散射的数值分析姓名 : 胡荣旭申请学位级别 : 硕士专业 : 无线电物理指导教师 : 吴振森 20040101 粗糙海面电磁散射的数值分析 作者 : 学位授予单位 : 胡荣旭 西安电子科技大学 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y583463.aspx

More information

长 安 大 学 硕 士 学 位 论 文 基 于 数 据 仓 库 和 数 据 挖 掘 的 行 为 分 析 研 究 姓 名 : 杨 雅 薇 申 请 学 位 级 别 : 硕 士 专 业 : 计 算 机 软 件 与 理 论 指 导 教 师 : 张 卫 钢 20100530 长安大学硕士学位论文 3 1 3系统架构设计 行为分析数据仓库的应用模型由四部分组成 如图3 3所示

More information

Microsoft Word zw

Microsoft Word zw 第 1 章 Android 概述 学习目标 : Android Android Android Studio Android Android APK 1.1 1. 智能手机的定义 Smartphone 2. 智能手机的发展 1973 4 3 PC IBM 1994 IBM Simon PDA PDA Zaurus OS 1996 Nokia 9000 Communicator Nokia 9000

More information

模糊数学在飞行控制系统故障诊断的应用

模糊数学在飞行控制系统故障诊断的应用 中国民航大学硕士学位论文模糊数学在飞行控制系统故障诊断的应用姓名 : 黄海涛申请学位级别 : 硕士专业 : 导航 制导与控制指导教师 : 张鹏 20070220 模糊数学在飞行控制系统故障诊断的应用 作者 : 黄海涛 学位授予单位 : 中国民航大学 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y1075839.aspx

More information

西安电子科技大学硕士学位论文便携式脉冲激光测距仪的研制姓名 : 吴应明申请学位级别 : 硕士专业 : 物理电子学指导教师 : 徐军 20090101 便携式脉冲激光测距仪的研制 作者 : 吴应明 学位授予单位 : 西安电子科技大学 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y1485549.aspx

More information

西安电子科技大学硕士学位论文 NAND Flash 坏块管理算法及逻辑层驱动设计姓名 : 林刚申请学位级别 : 硕士专业 : 微电子学与固体电子学指导教师 : 戴显英 20090101 NAND Flash 坏块管理算法及逻辑层驱动设计

More information

上海现代设计集团建筑协同设计平台研究与应用

上海现代设计集团建筑协同设计平台研究与应用 邓雪原 苏 昶 孙 朋 王国俭 上海交通大学土木工程系 上海 上海现代建筑设计 集团 有限公司 上海 本文首先分析了建筑 协同设计发展过程中存在的问题 指出建筑 协同设计的发展需要经过二维协同设计向三维协同设计的过渡 接着对适合于大型建筑设计企业的建筑 协同设计平台的关键问题进行了阐述 通过上海现代建筑设计集团一个实际工程项目 详细描述了建筑工程协同设计的方法与过程 然后对建筑协同设计的标准统一 工种协同等特点和高效沟通及超大项目的应用优势进行了讨论

More information

胡 鑫 陈兴蜀 王海舟 刘 磊 利用基于协议分析和逆向工程的主动测量方法对 点播系统进行了研究 通过对 点播协议进行分析 获悉该协议的通信格式和语义信息 总结出了 点播系统的工作原理 在此基础上设计并实现了基于分布式网络爬虫的 点播系统主动测量平台 并对该平台获取的用户数据进行统计分析 获得了 点播系统部分用户行为特征 研究结果对 点播系统的监控及优化提供了研究方法 点播 协议分析 爬虫 主动测量

More information

安徽大学硕士学位论文低电压 CMOS 混频器的设计姓名 : 梁洪波申请学位级别 : 硕士专业 : 电路与系统指导教师 : 陈军宁 20070401 低电压 CMOS 混频器的设计 作者 : 梁洪波 学位授予单位 : 安徽大学 相似文献 (0 条 ) 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y1192309.aspx

More information

李俊新 崔 敏 刘艳春 姚艳君 周广芬 孙 宝 河北科技大学理学院 河北石家庄 滦南县职业教育中心基础部 河北滦南 在物理化学实验的基础上 对一级反应的 种不同数据处理模型进行比较和分析 通过对 实验数据处理模型进行系统的比较 来改善传统实验数据处理中存在的一些问题 从而简化数据处 理 减小作图工作量与作图误差 提升实验水平 提高数据处理结果的准确性 一级反应 数据处理模型 过氧化氢 图 过氧化氢分解实验装置图

More information

南京理工大学硕士学位论文高精度激光测距仪硬件电路研究姓名 : 付宝臣申请学位级别 : 硕士专业 : 通信与信息系统指导教师 : 宋耀良 20070601 高精度激光测距仪硬件电路研究 作者 : 付宝臣 学位授予单位 : 南京理工大学 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y1154660.aspx

More information

对外经济贸易大学硕士学位论文国内外食品冷链物流发展现状的比较分析姓名 : 方妍申请学位级别 : 硕士专业 : 国际贸易学指导教师 : 杨长春 20090501 国内外食品冷链物流发展现状的比较分析 作者 : 方妍 学位授予单位 : 对外经济贸易大学 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y1589428.aspx

More information

工程项目进度管理 西北工业大学管理学院 黄柯鑫博士 甘特图 A B C D E F G 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 甘特图的优点 : 直观明了 ( 图形化概要 ); 简单易懂 ( 易于理解 ); 应用广泛 ( 技术通用 ) 甘特图的缺点 : 不能清晰表示活动间的逻辑关系 WBS 责任分配矩阵 ( 负责〇审批

More information

5 551 [3-].. [5]. [6]. [7].. API API. 1 [8-9]. [1]. W = W 1) y). x [11-12] D 2 2πR = 2z E + 2R arcsin D δ R z E = πr 1 + πr ) 2 arcsin

5 551 [3-].. [5]. [6]. [7].. API API. 1 [8-9]. [1]. W = W 1) y). x [11-12] D 2 2πR = 2z E + 2R arcsin D δ R z E = πr 1 + πr ) 2 arcsin 38 5 216 1 1),2) 163318) 163318). API. TE256 A doi 1.652/1-879-15-298 MODE OF CASING EXTERNA EXTRUSION BASED ON THE PRINCIPE OF VIRTUA WORK 1) ZHAO Wanchun,2) ZENG Jia WANG Tingting FENG Xiaohan School

More information

湖南师范大学硕士学位论文关于制定 校园安全法 的若干思考姓名 : 李红雁申请学位级别 : 硕士专业 : 法学理论指导教师 : 黄捷 20020401 关于制定 校园安全法 的若干思考 作者 : 李红雁 学位授予单位 : 湖南师范大学 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y663208.aspx

More information

! " # " " $ % " " # # " $ " # " #! " $ "!" # "# # #! &$! ( % "!!! )$ % " (!!!! *$ ( % " (!!!! +$ % " #! $!, $ $ $ $ $ $ $, $ $ "--. %/ % $ %% " $ "--/

!  #   $ %   # #  $  #  #!  $ ! # # # #! &$! ( % !!! )$ %  (!!!! *$ ( %  (!!!! +$ %  #! $!, $ $ $ $ $ $ $, $ $ --. %/ % $ %%  $ --/ "##$ "% "##& " "##( )$ "##%! ) "##$ * "##( "##$ "##(!!!!!!!!! ! " # " " $ % " " # # " $ " # " #! " $ "!" # "# # #! &$! ( % "!!! )$ % " (!!!! *$ ( % " (!!!! +$ % " #! $!, $ $ $ $ $ $ $, $ $ "--. %/ % $

More information

广东工业大学硕士学位论文 IEC 61850 在电力系统中的应用研究姓名 : 张晓光申请学位级别 : 硕士专业 : 电工理论与新技术指导教师 : 程汉湘 20090531 IEC 61850 在电力系统中的应用研究 作者

More information

手机上的增强现实

手机上的增强现实 基于手机的增强现实 学生 : 雷 娟 报告内容包括 : 1. 增强现实的研究意义 2. 移动增强现实的研究现状 研究方法 3. 现阶段所做工作及下一阶段研究计划 1. 什么是 AR? 增强现实 (Augmented Reality) 是将现实世界和计算机生成的信息融合在一起的技术, 这些信息可以是图像, 文字和三维模型等等 2.AR 系统框架 增强现实的三个特性 : (1) 虚实结合 (2) 实时交互

More information

藍牙網路在資訊家電的應用

藍牙網路在資訊家電的應用 崑 山 科 技 大 學 資 訊 工 程 系 專 題 製 作 報 告 ANDROID 3D 推 箱 子 遊 戲 ANDROID 3D - BOXGAME 學 生 : 黃 咸 嘉 陳 政 男 郭 撫 龍 指 導 老 師 : 李 宗 儒 中 華 民 國 一 百 一 年 五 月 i ANDROID 3D 推 箱 子 遊 戲 ANDROID 3D - BOXGAME 學 生 : 黃 咸 嘉 Student:

More information

天津大学硕士学位论文 LED 道路照明光学系统及光能分布的研究姓名 : 张芸申请学位级别 : 硕士专业 : 光学工程指导教师 : 刘铁根 20070601 LED 道路照明光学系统及光能分布的研究 作者 : 张芸 学位授予单位 : 天津大学 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y1361513.aspx

More information

Fig1 Theforceappliedtothetrainwhenrunning :w = w j +w q (3) :w = w = w 0 +w j (4) w i 121 基本阻力 w r = 600 R ( N/kN) (8) :R : [2] w s [3] w s =0

Fig1 Theforceappliedtothetrainwhenrunning :w = w j +w q (3) :w = w = w 0 +w j (4) w i 121 基本阻力 w r = 600 R ( N/kN) (8) :R : [2] w s [3] w s =0 31 4 2012 8 JournalofLanzhouJiaotongUniversity Vol31No4 Aug2012 :1001-4373(2012)04-0097-07 * 张友兵 张 波 ( 100073) : 分析了列车运行过程中的受力情况 给出了制动过程中减速度的计算方法 并采用正向 反向两种迭代方式计算列车制动曲线 两种方式计算出的制动曲线一致 证明了计算制动曲线的方法是正确的

More information

合肥工业大学硕士学位论文数控系统三维仿真技术研究及应用姓名 : 夏静霆申请学位级别 : 硕士专业 : 机械电子工程指导教师 : 韩江 20081101 数控系统三维仿真技术研究及应用 作者 : 夏静霆 学位授予单位 : 合肥工业大学 本文读者也读过 (1 条 ) 1. 柯晶基于 OpenGL 的小卫星在轨运行可视化仿真系统研究

More information

苏州大学硕士学位论文干红葡萄酒营养质量指标研究姓名 : 杨晶申请学位级别 : 硕士专业 : 营养与食品卫生指导教师 : 朱圣陶 20090501 干红葡萄酒营养质量指标研究 作者 : 杨晶 学位授予单位 : 苏州大学 相似文献 (0 条 ) 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y1468051.aspx

More information

Photoshop CS6 艺术设计案例教程 ( 第二版 ) 1.1 Photoshop 的应用领域 Photoshop,,, Photoshop Photoshop 的用途 Photoshop CIS ( ) ( ) 案例展现 ~ 1

Photoshop CS6 艺术设计案例教程 ( 第二版 ) 1.1 Photoshop 的应用领域 Photoshop,,, Photoshop Photoshop 的用途 Photoshop CIS ( ) ( ) 案例展现 ~ 1 Chapter 01 Photoshop CS6 的基本操作 本章内容 1.1 Photoshop 的应用领域 1.6 控制面板的显示与隐藏 1.2 位图和矢量图的特性 1.7 新建 打开与保存文件 1.3 像素和分辨率的关系 1.8 图像的缩放 1.4 色彩模式 1.9 屏幕显示模式 1.5 Photoshop CS6 界面 1.10 计算机图形图像常用的色彩模式 Photoshop CS6 艺术设计案例教程

More information

2 第 章 绪 论 Internet 2.0 使 得 消 费 型 电 子 产 品 用 户 可 以 通 过 多 种 不 同 的 数 据 网 络 访 问 互 联 网 内 容 用 户 可 以 使 用 便 携 式 消 费 型 电 子 设 备, 如 智 能 手 机 触 屏 平 板 电 脑 电 子 书, 甚 至

2 第 章 绪 论 Internet 2.0 使 得 消 费 型 电 子 产 品 用 户 可 以 通 过 多 种 不 同 的 数 据 网 络 访 问 互 联 网 内 容 用 户 可 以 使 用 便 携 式 消 费 型 电 子 设 备, 如 智 能 手 机 触 屏 平 板 电 脑 电 子 书, 甚 至 . Android 是 什 么 第 章 绪 论 2 3 本 章 将 主 要 介 绍 Android 操 作 系 统, 这 些 背 景 知 识 可 以 帮 你 更 好 地 理 解 本 书 的 内 容 你 将 了 解 到, 这 一 平 台 在 如 今 以 便 携 式 消 费 型 电 子 设 备 为 基 础 的 Internet 2.0 环 境 下 是 如 何 大 显 身 手 的 这 里 所 说 的 Internet

More information

中国民航大学硕士学位论文飞机噪声预测模型及其应用姓名 : 武汉英申请学位级别 : 硕士专业 : 航空宇航推进理论与工程指导教师 : 闫国华 20080329 飞机噪声预测模型及其应用 作者 : 武汉英 学位授予单位 : 中国民航大学 相似文献 (0 条 ) 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y1355958.aspx

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

湖南师范大学硕士学位论文教会学前教育与中国学前教育近代化姓名 : 杨素琴申请学位级别 : 硕士专业 : 学前教育学指导教师 : 田景正 20090501 教会学前教育与中国学前教育近代化 作者 : 杨素琴 学位授予单位 : 湖南师范大学 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y1473348.aspx

More information

武汉理工大学硕士学位论文基于嵌入式技术的数控加工远程视频监测研究姓名 : 周恒林申请学位级别 : 硕士专业 : 通信与信息系统指导教师 : 周祖德 20070401 基于嵌入式技术的数控加工远程视频监测研究 作者 : 周恒林 学位授予单位 : 武汉理工大学

More information

FPGAs in Next Generation Wireless Networks WPChinese

FPGAs in Next Generation Wireless Networks WPChinese FPGA 2010 3 Lattice Semiconductor 5555 Northeast Moore Ct. Hillsboro, Oregon 97124 USA Telephone: (503) 268-8000 www.latticesemi.com 1 FPGAs in Next Generation Wireless Networks GSM GSM-EDGE 384kbps CDMA2000

More information

中国科学技术大学博士学位论文指针逻辑的扩展与应用姓名 : 王志芳申请学位级别 : 博士专业 : 计算机软件与理论指导教师 : 陈意云 20090401 指针逻辑的扩展与应用 作者 : 王志芳 学位授予单位

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

湖南大学硕士学位论文国际仓储物流企业运作规划的优化研究姓名 : 李俊申请学位级别 : 硕士专业 : 国际贸易学指导教师 : 赖明勇 20071015 国际仓储物流企业运作规划的优化研究 作者 : 李俊 学位授予单位 : 湖南大学 被引用次数 : 1 次 引证文献 (1 条 ) 1. 张建奇.

More information

I

I 广西师范大学硕士学位论文学生伤害事故中学校安全保障义务研究姓名 : 吕柳玲申请学位级别 : 硕士专业 : 法学理论指导教师 : 李潇 20090101 I II III 49 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

More information

APP 103 學 年 度 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 中 華 民 國 一 四 年 五 月 1

APP 103 學 年 度 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 中 華 民 國 一 四 年 五 月 1 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 APP 指 導 老 師 : 陳 志 樺 教 授 組 員 : 陳 俊 瑋 陳 崇 緣 江 健 民 張 宏 銘 駱 佳 琪 中 華 民 國 一 四 年 五 月 1 APP 103 學 年 度 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 中 華 民 國 一 四 年 五 月 1 誌 謝 本 專 題 報

More information

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD Leica MC170 HD Leica MC190 HD 5 6 7 8 11 12 13 14 16 HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD 22 23 24 26 Leica MC170 HD Leica MC190 HD ( ) 28

More information

浙江大学材料与化学工程学院博士学位论文铝内衬轻质高压储氢容器强度和可靠性研究姓名 : 开方明申请学位级别 : 博士专业 : 化工过程机械指导教师 : 郑津洋 20070801 浙江人学工学博士学位论文 同几何结构的金属材料的有限元计算结果 轴向位移云图见图3

More information

Microsoft Word - 第1章 Android基本概念.docx

Microsoft Word - 第1章 Android基本概念.docx Android 系 统 下 Java 编 程 详 解 作 者 : 华 清 远 见 第 1 章 Android 基 本 概 念 本 章 简 介 本 章 主 要 介 绍 Android 基 本 概 念 方 面 的 内 容, 包 括 Android 平 台 特 性 Android 系 统 架 构 Android 开 发 框 架 和 Android 开 发 环 境 搭 建 1.1 Android 简 介 Android

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

任春平 邹志利 在坡度为 的平面斜坡上进行了单向不规则波的沿岸流不稳定运动实验 观测到了沿 岸流的周期性波动 波动周期约为 利用最大熵方法和三角函数回归法求得这种波动的主 频率以及幅值 分析了波动幅值在垂直岸线方向的变化 结果表明该变化与沿岸流变化类似 即在 沿岸流最大值附近这种波动强度最大 为了分析波动的机理 利用线性沿岸流不稳定模型对模型实验结果进行了分析 求得了不稳定运动增长模式和波动周期 并与对应实测结果进行了比较

More information

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I 2004 5 IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I Abstract The techniques of digital video processing, transferring

More information

,,,,,,, ;,, ;, ;, (, / ),, ;,,.,,,,,,,,,,,,,,,,, ;,,,,,,, 1, :,,, ;,,,, (, ),,,,, 1,,, (,, )

,,,,,,, ;,, ;, ;, (, / ),, ;,,.,,,,,,,,,,,,,,,,, ;,,,,,,, 1, :,,, ;,,,, (, ),,,,, 1,,, (,, ) 刘世定 内容提要 : 本文在嵌入性视角的引导下, 进入关系合同理论领域 对关系合同的 分析, 以威廉姆森的合同治理结构理论作为基点 在分析了他的理论脉络和隐含假 设后, 本文提出了三个假定, 即约前关系导入 多元关系属性 对关系属性的有限控 制 在新的假设下, 首先讨论了合同治理结构和嵌入关系结构之间不同的对应关系, 并特别探讨了两者间的结构性摩擦 继而, 在关系合同的研究中引入了委托 - 代理关系,

More information

F4

F4 DOI:10.3969/j.issn.1009-6868.2016.01.002 网 络 出 版 地 址 :http://www.cnki.net/kcms/detail/34.1228.tn.20151117.1506.006.html Challenges and Countermeasures of Network Space Security 周 延 森 /ZHOU Yansen 周 琳 娜

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

University of Science and Technology of China A dissertation for master s degree Research of e-learning style for public servants under the context of

University of Science and Technology of China A dissertation for master s degree Research of e-learning style for public servants under the context of 中 国 科 学 技 术 大 学 硕 士 学 位 论 文 新 媒 体 环 境 下 公 务 员 在 线 培 训 模 式 研 究 作 者 姓 名 : 学 科 专 业 : 导 师 姓 名 : 完 成 时 间 : 潘 琳 数 字 媒 体 周 荣 庭 教 授 二 一 二 年 五 月 University of Science and Technology of China A dissertation for

More information

é ê

é ê 廖光洪 朱小华 杨成浩 徐晓华 基于南海 年夏季调查航次诊断计算的流函数场 选取越南以东偶极子发生海域 进行 不同的声层析观测站位设置实验 模拟计算声线传播时间信息 然后应用基函数重建方法进行了 流函数场的模拟反演研究 讨论了不同随机观测误差对反演结果的影响 研究结果表明该方法是 可行的 在所选取的约 海域内 在观测海域外围配置 个声层析观测站位就能够很好地重构原流函数场 空间分辨率约为 可以分辨模拟海域中尺度涡场结构

More information

(2) (3) 1.3 (1) (2) (3) (4) (5) (6)

(2) (3) 1.3 (1) (2) (3) (4) (5) (6) (GB/T -1987) 771 (GB/T 1.1 2000---- ) GB/T 7714-2005 ( ) 1 (1) (2) (3) (4) (5) (6) abstract (7) 1.2 (1) 1 (2) (3) 1.3 (1) (2) (3) (4) (5) (6) 2.1 1. 25 1 2. 15 2 3. 4. 300 4 8 2 3 5. abstract 6. : 5 2.2

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

untitled

untitled LBS Research and Application of Location Information Management Technology in LBS TP319 10290 UDC LBS Research and Application of Location Information Management Technology in LBS , LBS PDA LBS

More information

山东大学硕士学位论文由生命权论安乐死之合法化姓名 : 韩玉霞申请学位级别 : 硕士专业 : 法律指导教师 : 傅礼白 20060320 由生命权论安乐死之合法化 作者 : 韩玉霞 学位授予单位 : 山东大学 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y984007.aspx

More information

中山大学硕士学位论文随机生存森林在结直肠癌预后分析的应用姓名 : 洪远芳申请学位级别 : 硕士专业 : 应用数学指导教师 : 冯国灿 ; 黎培兴 20100529 随机生存森林在结直肠癌预后分析的应用 作者 : 洪远芳 学位授予单位 : 中山大学 本文读者也读过 (2 条 ) 1. 罗宝章单药信号检测的随机森林算法及联合用药信号检测的两种基线模型

More information

山东大学硕士学位论文西周春秋太子保育制度研究姓名 : 徐华云申请学位级别 : 硕士专业 : 中国古代史指导教师 : 胡新生 20060510 西周春秋太子保育制度研究 作者 : 徐华云 学位授予单位 : 山东大学 本文链接 :http://d.g.wanfangdata.com.cn/thesis_y982591.aspx

More information

江南大学硕士学位论文图像式刀具预调仪测控系统的设计姓名 : 王诣申请学位级别 : 硕士专业 : 机械制造及自动化指导教师 : 张秋菊 ; 尤丽华 20080601 图像式刀具预调仪测控系统的设计 作者 : 王诣 学位授予单位 : 江南大学 本文读者也读过

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

畢業專題結案報告書格式

畢業專題結案報告書格式 元 培 科 技 大 學 資 訊 工 程 系 專 題 期 末 報 告 使 用 Game maker 製 作 多 人 連 線 遊 戲 Making multiplayer games using game maker 姓 名 : 0981412016 周 宣 佑 0981412003 蔡 程 翔 0981412005 韋 梓 健 0981412015 沈 永 崑 0981412051 洪 仕 軒 指 導

More information

论文,,, ( &, ), 1 ( -, : - ), ; (, ), ; ;, ( &, ),,,,,, (, ),,,, (, ) (, ),,, :. : ( ), ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ), ( ),,,, 1 原译作 修补者, 但在英译版本中, 被译作

论文,,, ( &, ), 1 ( -, : - ), ; (, ), ; ;, ( &, ),,,,,, (, ),,,, (, ) (, ),,, :. : ( ), ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ), ( ),,,, 1 原译作 修补者, 但在英译版本中, 被译作 * 夏传玲 : 本文简要回顾了国内外定性研究在最近 多年的发展概况, 总结 了定性研究的六个发展趋势和分析策略上的三种流派 在上述两种背景下, 本文探讨了计算机辅助的定性分析给定性研究带来的机遇和挑战, 特别是它和手工操作对比时的优势和劣势, 以及应用这种定性分析技术所可能面临的困难 : 定性研究定性分析 文化差异,, (, ),,,, ( - ) ( - ) ( - ) ( - ) ( - ) (

More information

山东大学硕士学位论文基于 SCADA 的电压无功全网优化分布式控制系统姓名 : 李石清申请学位级别 : 硕士专业 : 软件工程指导教师 : 洪晓光 20091010 基于 SCADA 的电压无功全网优化分布式控制系统 作者 : 李石清 学位授予单位

More information

Ioncube Php Encoder 8 3 Crack 4. llamaba octobre traslado General Search colony

Ioncube Php Encoder 8 3 Crack 4. llamaba octobre traslado General Search colony Ioncube Php Encoder 8 3 Crack 4 ->>->>->> DOWNLOAD 1 / 5 2 / 5 Press..the..General..Tools..category4Encrypt..and..protect..files..with..PHP..encoding,..encryption,..ob fuscation..and..licensing... 2016

More information