论文部分内容阅读
随着科学技术的进步,人类对机器人智能化要求越来越高,因此如何实现移动机器人的高度智能化,已成为当前研究的热点。而移动机器人的同步定位与地图创建(Simulation Localization and Mapping,SLAM)是研究的关键之一,对于实现移动机器人的智能化有着极其重要的意义。SLAM所要解决的基本问题就是实现移动机器人在未知环境中通过各种搭载传感器,在运动中建立环境模型和估计自身运动。而摄像机相对于其它传感器的容易安装、重量轻以及得到的信息量大等特点,在SLAM的研究中越来越受到欢迎。其中,单目SLAM又以其成本低、计算简单等特点引起越来越多研究人员的关注。因为单目视觉SLAM计算量大,需要存储信息多,其发展受到了计算机计算能力和存储能力的限制,这使得单目视觉SLAM的发展时间较短,直至2007年,第一个纯单目SLAM系统才被开发出来。其理论和实践仍然存在着许多亟待攻克的问题。本文主要针对单目SLAM的前端部分进行研究,分析前端部分比较经典的算法及其一些缺陷,结合其它计算机视觉方面的知识,提出了相应的改进,从而设计一个比较适用于光线变化和具有较多运动物体场景的SLAM前端算法。主要对于基于特征的单目SLAM算法中前端部分的特征点检测、匹配以及位姿估计部分进行研究和改进,主要分为三个部分:第一,介绍了经典的SURF检测方法,因为其作为斑点检测所具有的对于角点的不敏感,提出加入角点检测的基于栅格的SURF算法,主要是对图片划分栅格,对图像中SURF检测的特征点较少的区域,进行角点检测,从而扩大特征点在场景中的分布范围。第二,分析各种匹配算法,选用在各种光线变化下都可以有稳定匹配点的快速视网膜(Fast Retina Keypoint,FREAK)匹配算法。因为该匹配算法在光线变化上匹配正确率较低,所以研究了在简化的FREAK采样模型中加入线性插值的改进算法,具体的是在不影响算法在光线和分辨率变化下的匹配率,对其采样模型进行简化并对描述子进行线性插值,从而在光线变化和分辨率变化的场景中获得更高的匹配率。第三,分析传统算法随机抽样一致性算法(Random Sampling Consensus,RANSAC)和相应的改进算法,1点RANSAC和基于扩展卡尔曼滤波(Extended Kalman Filtering,EKF)1点RANSAC算法,阐述了它们各自存在的缺陷。然后提出具有动态物体鲁棒性的EKF的1点RANSAC算法,该算法对已匹配的特征点进行静动态点的区分,加入对场景中运动物体的位姿估计,可以保证在动态物体占据图片较大位置时,可以通过计算场景中动态物体运动模型间接估计摄像机的位姿。实验证明,该前端算法对于室内场景(光线变化和移动物体较多的场景)具有较好的鲁棒性。