基于Kinect的视觉定位算法——毕业论文.docx

上传人:滴答 文档编号:1271609 上传时间:2019-01-25 格式:DOCX 页数:27 大小:3.72MB
下载 相关 举报
基于Kinect的视觉定位算法——毕业论文.docx_第1页
第1页 / 共27页
基于Kinect的视觉定位算法——毕业论文.docx_第2页
第2页 / 共27页
基于Kinect的视觉定位算法——毕业论文.docx_第3页
第3页 / 共27页
基于Kinect的视觉定位算法——毕业论文.docx_第4页
第4页 / 共27页
基于Kinect的视觉定位算法——毕业论文.docx_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、 密级: NANCHANG UNIVERSITY 学 士 学 位 论 文 THESIS OF BACHELOR 题 目 基于 Kinect的视觉定位算法 学院: 信息工程学院 系 自动化系 专业班级: 测控技术与仪器 学生姓名: 学号: 指导教师: 职称: 起讫日期: 摘要 I 基于 Kinect 的视觉定位算法 摘要 室内移动机器人的自主视觉定位是近年来机器人这个领域的研讨热点,视觉定位算法的完成对室内移动机器人的自主定位和导航具有十分重要的作用,视觉定位算法的结果是建立移动机器人的视觉里程计,通过相邻两帧图像之间的匹配和坐标系之间的转换实现 Kinect 传感器姿态的记录。传统的方法是使用

2、激光雷达或使用双目相机来实现对空间中物体的深度信息的获取,成本非常高,而且计算量十分巨大。 Kinect 相机是微软公司发布的一款可以通过一组红外摄像机和红外投影仪实现对空间深度信息的获取的相机,采集到的信息不仅精度高而且价格便宜,所以本文决 定运用 Kinect 相机作为关键传感器 .Kinect 相机可以采集空间中点的彩色信息和深度信息,然后分别利用 SIFT 算法和 SURF 算法对彩色图像进行特征点的采集,再利用迭代最近点算法 (ICP)进行特征点的匹配,最后利用经典的 PnP 算法通过转换坐标系来求解 Kinect 相机的姿态的同时记录相机的姿态和位置,并取得了较好的效果。 关键词

3、: Kinect;视觉定位;特征点;视觉里程计 Abstract II Visual positioning algorithm with Kinect camera Abstract The autonomous positioning navigation of mobile robot is a hotspot in the field of robotics in recent years. The realization of visual positioning algorithm has a very important role in mobile robot autonomo

4、us navigation. The visual positioning algorithm results in the establishment of a mobile robots visual odometry. The posture of the Kinect sensor is recorded by the matching between the adjacent two images and the conversion between the coordinate systems. The traditional method is to use a lidar or

5、 binocular camera to achieve the depth of the object in space to obtain information, the cost is very high, and the calculation is very large.Kinect camera is released by Microsoft Corporation can be a group of infrared cameras and infrared projectors. In order to achieve the depth information of in

6、terspace, the information gathered is not only of high precision and the camera is cheap. So this article uses Kinect camera as the sensor.Kinect camera can collect the color information and depth information of the point in space. Then the SIFT algorithm and the SURF algorithm are used to collect t

7、he feature points of the color images. And then the Iterative Closest Point algorithm is used to match the feature points. Finally, the classic PnP algorithm is used to convert the coordinate system to solve the attitude of the Kinect camera while recording the cameras attitude and position and achi

8、eved good results. Keyword: Kinect; Visual positioning; Feature points; Visual odometer目录 III 目录 摘要 . I Abstract . II 第一章 绪论 . 1 1.1 选题依据和意义 . 1 1.2 国内外研究现状 . 1 1.3 本课题研究内容 . 2 第二章 系统硬件设计及工作原理 . 3 2.1 Linux 系统介绍 . 3 2.2 Kinect 背景与结构 . 3 2.3 Kinect 的软件开发环境 . 3 第三章 导航控制算法研究 . 5 3.1 总体方案介绍 . 5 3.2 特征点检

9、测 . 5 3.3 SIFT 特征点检测算法 . 5 3.4 SURF 特征点检测 . 9 3.5 特征点匹配 . 12 第四章 实验及结果分析 . 16 4.1 视觉里程计简 介 . 16 4.2 确定相机姿态 . 16 4.3 视觉里程计的实现 . 19 第五章 结论与展望 . 20 参考文献 . 21 致谢 . 23 第一章 绪论 1 第一章 绪论 1.1 选题依据和意义 随着科学的快速发展,机器人这个行业发展十分迅速,我们可以预见到的是移动机器人在我们的日常生活中会占据越来越重要的地位,成为以后各行业不可或缺的一部分。现在机器人的研究成果已经广泛的应用到现实生活中的各个领域和行业中了,

10、尤其是在一些具有危险性质的工作中有非常大的应用前景,例如消防救援、地震救灾、勘测矿井、核电厂的原料运输、太空中的科研探索等等。这些应用也对机器人的移动性能提出了更高要求。机器人领域的综合性十分强,汇集了包含自动控制学科、传感器技术学科、人工智能学科、计算机视觉学科、电子技术等学科,还包括了很多 不同方向的研究课题,比如:三维地图重建、路径规划、视觉里程计、智能避障等。在户外开展工作的时候,移动机器人最基本也是最重要的功能是要实现对周围环境的感知,完成自主定位和导航以及路径规划等任务。全球定位系统 (GPS)可以实现户外的大范围的定位,而相对小范围内的室内环境或 GPS 精度达不到要求的地方,则

11、我们只能采用相对定位的办法来实现机器人在局部区域的定位。 其中视觉定位算法是实现移动机器人真正自主定位的核心算法,视觉定位算法的最终目的是建立移动机器人的视觉里程计,只需要通过连续匹配两帧点云图就可以不断计算出当前时刻相机的姿态,从而完成移动机器人的相对位置的确定。所以关于移动机器人的视觉定位算法的研讨有相当重要的意义和价值。 1.2 国内外研究现状 移动机器人的自主定位问题经过三十多年的发展,无论是理论方面还是实践方面都取得了相当大的进步。它的实践运用也越来越多,在危险场所救援等很多地方移动机器人表现出了越来越不可忽视的作用。在移动机器人的定位算法的学习过程中,它 利用自己携带的深度图像传感

12、器来对未知环境中的数据进行采集,再对数据进行处理和分析,然后通过一系列的算法来求解出它的姿态,然后通过连续的进行上述的操作,可以构建出它本身的相对运动距离和方向。 作为人们活动功能的延伸,移动机器人能够达到一些人类无法到达的危险地区比如核反应堆内部、火山区域、地雷区域、火灾现场进行一些高危险的工作。也可以减轻人们的工作强度,可以帮助人们做一些很枯燥的工作,节约劳动力,也可以更加规范标准的完成生产线的工作。 目前国外的 Pierre Plantard 等提出了基于 Kinect 的人机工程学 评估方法的验第一章 绪论 2 证 1。 Billy Y.L. Li等研究了使用 Kinect传感器的鲁棒

13、性 RGB-D人脸识别问题 2。Elham Dolatabadi等研究了基于微软 Kinect V2 的兼容测量时空步态参数的有效性 3。 N. Namitha 等使用 Kinect RGB-D 传感器和 Kinect Fusion 进行点云绘图测量 4。 M. Bueno 等研究了 KinectFusion 的计量评估及其与 Microsoft Kinect 传感器的比较 5。关于移动机器人的定位问题,研究者们进行了很多尝试,包括给机器人添加各 种各样的传感器,这也说明了现在这个问题很受研究者们的重视,具有一定的研究价值。 咱们国内的一些研究者们在这个问题上,也开展了很多研究。温熙等人研究了

14、一种结合 Kinect 和惯性导航系统的方法来实现移动机器人的室内自主定位 6。高云峰等人研究了一种视觉里程计方法具有非常高的精度 7。李策等人提出了一种基于 Kinect 深度数据模拟激光扫描的 SLAM 算法 8,对室内未知环境进行二维地图创建。许允喜等人想出了一种立体的视觉定位的算法是基于双目相机的运动估计 9,该算法不使用运动后的特征点 3D 坐标 ,而直接利用其 2D 图像投影坐标。中国科学院研究生院的杨明操提出了基于 FPGA 的实时定位算法研究,该方法在实时数字摄影测量、机器人运动导航、飞行器主动视觉定位等领域具有重要的使用价值 10。 1.3 本课题研究内容 针对传统方法即使用

15、双目相机中所用传感器昂贵并且获取深度信息获取难度较大的问题,提出采用 Microsoft 发布的一款深度相机 Kinect 作为传感器,该相机具有十分强大的人机交互能力,可以轻松获得场景中的深度信息,并且可以做到深度信息和彩色信息的严格对应,从而使后续工作中特征点的选择和匹配变得十分简单和方便,而且 Kinect 相机中带有强大的数据处理芯片,可以减轻计算机的运算负荷,加快运算速度使得该系统的实时性有了很大的提高,促进了移动机器人视觉定位系统中前端的快速发展。 本文主要利用微软发布的 Kinect 相机作为传感器来采集周围环境中的彩色信息和颜色深度,并且能做到彩色信息和深度信息的严格一一对应,

16、利用该方法不仅可以轻松的得到所需的数据,而且开发应用十分简洁方便,成本较低。得到数据之后首先分别利用 SIFT 和 SURF 特征点算法对彩色图像进行特征点采集,得到特征点之后,利用迭代最近点算法 (ICP)进行特征匹配,通过 PnP 算法进行相机姿态的求解即世界坐标系与当前相机坐标系的转换矩阵,利用转换矩阵将上一帧点云图与当前帧点云图合成一幅图像,同时记录下此时相机的位置,并且估计它的移动距离。 第二章 系统硬件设计及工作原理 3 第二章 系统硬件设计及工作原理 2.1 Linux 系统介绍 本文的实验都是在 Linux 操作系统下进行的, Linux 的各大版本中, Ubuntu及其衍生版

17、本一直对用户很友好, Ubuntu 是一个开源的操作系统,它的系统和软件在官方网站上都可以免费下载,并且为新学者提供了很详细的安装方式说明。本文使用的是 Ubuntu14.04 版本,该版本是 Ubuntu 系列比较通用和经典的一个版本。 2.2 Kinect 背景与结构 Kinect 是由微软公司为其 Xbox 360 开发的一个周边外设,是一个 RGB-D 相机,它能让玩家仅通过身体动作就可以操作游戏界面,而不需要传统的一些控制器来进行控制,能让玩家体验到体感游戏的乐趣。 Kinect 的硬件的生产和研制结合了声学、光学、传感器等多个学科的技术,它里面的配件有一百多个,其中最小的单元有一千

18、多个。它包括三块独立的主板:Moving Touch 传动电动机用于相机的仰角的控制, Kinect 还具有追焦技术,底座的马达会随着对焦物体的移动而跟随移动;彩色摄像头是位于中间位置的 RGB彩色摄像头,用来采集彩色图像提供红、绿、蓝三颜色通道,主要作用在于面部识别和动作追踪,中间的彩色摄像头最大支持 1280*960 分辨率成像;两边的分别是红外结构光发射器和接收器,左边的摄像头发射出红外线射线来检测物体的距离,右边的摄像头负责接收传递回来的信息,最大分辨率是 640*480。除此之外,它还包含了 14 种关键的芯片。 图 2-1 Kinect 结构图 2.3 Kinect 的软件开发环境

19、 Kinect 相机在体感游戏方面的运用得到了广泛的认可,但是在其软件开发方面,却不尽如人意,它的官方网站并没有相应的软件开发环境,这也是其 中 一第二章 系统硬件设计及工作原理 4 个不足的地方。但是这个简单的版本足以满足我们普通实验编程的需求了,可以运用 C 语言、 C+或 Visual Basic 语言来进行软件开发。本文实验使用的是 C+来进行开发的。 2.4 Kinect 相机校准原理 Kinect 相机的标定在移动机器人自主定位系统中有非常重要的作用,是实现定位的基础,相机摄像头标定的结果直接影响到相机位姿估计的结果,所以对相机摄像头进行准确的标定具有十分重要的意义。相机标定的实质

20、是计算求解相机的内部参数和外部参数。相机的内部参数包含相机 X, Y 轴方向的焦距和投影中心点的坐标;外部参数就是相机的姿态(一个是旋转矩阵 R 和一个平移矩阵 T)。 相机摄像头标定的过程实质上是根据几组空间中已知位置的点和图像上对应的点来求解相机的内部参数的过程。相机的标定办法一般有:传统的相机标定方法、借助主动视觉的相机标定方法和依靠相机自身的标定方法。传统的相机标定方法是先求出待标定物上的已知的坐标点与其对应的图像坐标点之间的联系,然后由特定的算法可以计算得到相机的内外部参数。主动视觉相机标定法是根据相机的特殊运动的信息。这种方法不需要借助标定实现,仅需要控制相机进行一些特殊的运动。该

21、方法具有算法相对简单,鲁棒性较高的优点,但同时有实验条件要求比较严格,成本较高不适 合无法控制运动参数的场合的缺点。相机的自标定法是通过相机运动之间的约束关系来求解相机参数的。该方法主要利用场景中平行或正交的信息建立不同的图像之间的对应关系再由此来求解相机的相关参数,这种办法相对灵活可以让相机进行在线的标定,但鲁棒性比较差。 本文运用传统的相机标定方法完成相机校准的硬件是通过 Kinect 作为传感器拍摄棋盘图片,得到校准所需要的数据。 第三章 导航控制算法研究 5 第三章 导航控制算法研究 3.1 总体方案介绍 实现移动机器人的视觉定位算法,首要的任务是检测出 Kinect 相机所拍摄的图片

22、上的特征点,然后对相邻两帧图像上的特征点进行匹配,在匹配的过程中肯定会有一些误匹配的特征点对,就需要随机采样一致性算法( RANSAC) 进行特征点对的筛选,过滤掉不正确匹配的特征点对。然后根据 PnP 算法进行相机的位姿估计,构建出视觉里程计的结果。 3.2 特征点检测 图像的特征点是指图像中具有鲜明特性并能够有效反映图像本质特征且能标识图像中目标物体的点。在图像中选取一些比较具有代表性的点。这些点在相机的视角发生少量变化之后会保持不变,所 以我们会在各个图像找出相同的点。然后在这些点的基础上,讨论相机位姿的估计问题,以及这些点的定位问题,在经典的理论中,也把这些点称作路标。 大多数特征点检

23、测方法是通过检测图像中具备某些特定的特征点,我们可以得到这些特征点的具体坐标,局部最大灰度梯度等信息,进而可以根据这些数据进行图像间的匹配。特征点的辨认是图像识别的前提,在图像识别、物体识别等领域对每一帧图像的检测不是检测图片中每一个点的信息,而是选择一些具有代表性的特征点,这些特征点往往比较容易识别,也更加能代表这张图片,然后可以通过对这些特征点周围的局部 特征进行一些特定的分析和处理,最后得到可以代表整张图片的特征信息。现在常用的特征点检测算法有 ORB 特征点提取与匹配算法、 SIFT 特征点检测算法、 SURF 特征点检测算法、 Harris 角点检测算法、FAST 特征点检测算法、

24、CENSURE 特征点检测算法等。本文中应用的是 SIFT 特征点检测算法和 SURF 特征点检测算法。 3.3 SIFT 特征点检测算法 SIFT( Scale-invariant-feature-transform) 算法 的全称是即尺度不变特征转换,这个算法通过检测局部的特征得到一帧图片的特征点,再根据其 所在的尺度空间和主方向获得该特征点的描述子,然后依据描述子进行特征点匹配。 其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、 3D 模型建立、手势辨识、影像追踪和动作比对。 此算法有其专利,专利拥有者为英属哥伦比亚大学。 局部影像特征的描述与侦测可以帮助辨识物体, SIFT 特

25、征是基于物体上的第三章 导航控制算法研究 6 一些局部外观的兴趣点而与影像的大小和旋转无关。对于光线、噪声、些微视角改变的容忍度也相当高。基于这些特性,它们是高度显著而且相对容易撷取,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。使用 SIFT 特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要 3 个以上的 SIFT 物体特征就足以计算出位置与方位。在现今的电脑硬件速度下和小型的特征数据库条件下,辨识速度可接近即时运算。 SIFT 特征的信息量大,适合在海量数据库中快速准确匹配。 SIFT 算法的特点有: 1. SIFT 特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性

26、,对视角变化、仿射变换、噪声也保持一定程度的稳定性; 2. 独特性( Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配; 3. 多量性,即使 少数的几个物体也可以产生大量的 SIFT 特征向量; 4. 高速性,经优化的 SIFT 匹配算法甚至可以达到实时的要求; 5. 可扩展性,可以很方便的与其他形式的特征向量进行联合。 SIFT 算法可以解决的问题: 目标的自身状态、场景所处的环境和成像器材的成像特性等因素影响图像配准 /目标识别跟踪的性能。而 SIFT 算法在一定程度上可解决: 1. 目标的旋转、缩放、平移( RST) ; 2. 图像仿射 /投影变换(视点 viewpoint) ; 3. 光照影响( illumination) ; 4. 目标遮挡( occlusion) ; 5. 杂物场景( clutter) ; 6. 噪声 。 SIFT 算法的实质是在不同的尺度空间上查找关键点 (特征点 ),并计算出关键点的方向。 SIFT 所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。