正在加载图片...
第2期 张毅,等:基于图优化的移动机器人视觉SLAM ·291· 像机的SLAM方案,以高效的ORB特征贯穿于系 SLAM问题建模分析,遵循图优化思想,设计了一 统中的特征处理、匹配、回环检测、重定位等方面, 种非线性优化方法,实现对机器人位姿的优化。并 更侧重于系统处理的实时性,但因为单目相机的限 与闭环检测机制相结合,提出了一种基于局部闭 制,ORB-SLAM算法在稠密化建图方面还有所欠 环与全局闭环约束的点云优化算法,同时完成对位 缺。针对目前移动机器人视觉SLAM研究中存在的 姿与稠密化点云的优化,可有效地抑制系统的累积 实时性差、精确度不高、无法稠密化建图等问题.本 误差,进一步提升整个系统的精确性。最后通过实 文提出了一种基于Kinect深度摄像机的移动机器 验,验证了本文SLAM方法的可行性和有效性。 人三维视觉SLAM算法,以实现对环境进行实时 的、精确的稠密化建图。在本算法前端处理中,通 1系统结构 过分析多种特征点检测算法的优劣,采用了鲁棒性 与实时性更好的ORB特征检测。利用RANSAC 本文提出的室内环境下移动机器人三维视觉 算法对可能存在的误匹配点进行剔除完成初始匹 SLAM算法的总体框架如图1所示,主要分为前端 配,以PNP(perspective--N-point)l问题求解的方式实 的关键帧筛选、帧间配准、闭环检测和后端的图优 现了图像的快速配准。在后端优化中,通过对 化、点云融合、点云优化几个部分。 RGB图像 构建数据帧 关键帧序列 帧间配准 图优化 筛选 点云融合 深度图像 闭环检测 点云优化 点云图 图1基于图优化的视觉SLAM系统框架 Fig.1 Visual-SLAM system framework based on graph optimization 2特征点的检测与配准 tectorExtractor接口设置特征描述子提取器。 3)匹配:通过各个角点的描述子来判断它们在 2.1特征点的检测 两张图像中的对应关系。这里采用的方法为快速最 特征点的检测与匹配是视觉SLAM问题中“图 近邻算法FLANN。 像前端”的部分,也是视觉SLAM中占用计算资源 4)去外点:利用RANSAC算法去除错误匹配 最多,最影响系统实时性的部分。基于FAST特征 的外点,保留正确的内点。 检测改进的ORB特征具有旋转不变和尺度不变 S)位姿求解:调用Opencv的PnPsolver()函数, 特性的二进制特征,它是一种高效的具有良好针对 求解相机的位姿运动(R,)。 视图不变的特征,比SIFT特征检测快两个数量级, 同时特征点的质量较高、鲁棒性好。考虑到SLAM 3位姿优化 问题对鲁棒性、实时性的要求,本文采用了ORB特 针对传统的利用滤波方法估计位姿存在线性化 征提取算法。 误差、更新效率低下等问题,本文依据SLAM研究 2.2特征点的配准 中的图优化思想,设计了一种基于非线性优化的 图像产生的本质是光线通过相机透镜投影到图 位姿优化方法,同时实现局部位姿优化和全局位姿 像传感器上,这个过程是3-D场景到2-D平面的投 优化。 影,因此场景与它的成像之间存在重要的联系,相 3.1模型的建立 同场景的不同成像之间也有联系。而通过这些联 SLAM的经典数学模型通常分为3部分:状态 系,可以实现特征点的配准。 变量、运动方程、观测方程。 特征点配准算法可以分为以下5个步骤: X=[m…xwM2…yw] (1) l)提取特征点:Opencv提供了通用接口 xk=f(Xk-1,Ug)+ug (2) cv:FeatureDetector,.这里将其设定为ORB特征。 =g(xk,y)+ (3) 2)提取描述子:对于检测出的角点,用一些数 本文主要以Kinect作为主要的传感器输入,通 学上的特征对其进行描述,这里通过cv:FeatureDe 过对视觉信号的处理,构建视觉里程计,用于位姿像机的 SLAM 方案,以高效的 ORB特征贯穿于系 统中的特征处理、匹配、回环检测、重定位等方面, 更侧重于系统处理的实时性,但因为单目相机的限 制,ORB-SLAM 算法在稠密化建图方面还有所欠 缺。针对目前移动机器人视觉 SLAM研究中存在的 实时性差、精确度不高、无法稠密化建图等问题,本 文提出了一种基于 Kinect 深度摄像机的移动机器 人三维视觉 SLAM 算法,以实现对环境进行实时 的、精确的稠密化建图。在本算法前端处理中,通 过分析多种特征点检测算法的优劣,采用了鲁棒性 与实时性更好的 ORB 特征检测。利用 RANSAC 算法[4]对可能存在的误匹配点进行剔除完成初始匹 配,以 PNP(perspective-N-point)[5]问题求解的方式实 现了图像的快速配准。在后端优化中,通过对 SLAM 问题建模分析,遵循图优化思想,设计了一 种非线性优化方法,实现对机器人位姿的优化。并 与闭环检测[6]机制相结合,提出了一种基于局部闭 环与全局闭环约束的点云优化算法,同时完成对位 姿与稠密化点云的优化,可有效地抑制系统的累积 误差,进一步提升整个系统的精确性。最后通过实 验,验证了本文 SLAM 方法的可行性和有效性。 1 系统结构 本文提出的室内环境下移动机器人三维视觉 SLAM 算法的总体框架如图 1 所示,主要分为前端 的关键帧筛选、帧间配准、闭环检测和后端的图优 化、点云融合、点云优化几个部分。 ׻RGBప ׻Ꮢప⌝ Ჰᐦ᪜ᢚፓ ڟ䩚ፓᎻ݃ ょ䔵 ፓ䬠䙹۲ పфࡂ 䬙⣛ᷬ≷ ◥ν㲹ऴ ◥νфࡂ◥ νప 图 1 基于图优化的视觉 SLAM 系统框架 Fig. 1 Visual-SLAM system framework based on graph optimization 2 特征点的检测与配准 2.1 特征点的检测 特征点的检测与匹配是视觉 SLAM 问题中“图 像前端”的部分,也是视觉 SLAM 中占用计算资源 最多,最影响系统实时性的部分。基于 FAST 特征 检测改进的 ORB 特征[7]具有旋转不变和尺度不变 特性的二进制特征,它是一种高效的具有良好针对 视图不变的特征,比 SIFT 特征检测快两个数量级, 同时特征点的质量较高、鲁棒性好。考虑到 SLAM 问题对鲁棒性、实时性的要求,本文采用了 ORB 特 征提取算法。 2.2 特征点的配准 图像产生的本质是光线通过相机透镜投影到图 像传感器上,这个过程是 3-D 场景到 2-D 平面的投 影,因此场景与它的成像之间存在重要的联系,相 同场景的不同成像之间也有联系。而通过这些联 系,可以实现特征点的配准。 特征点配准算法可以分为以下 5 个步骤: 1) 提取特征点:Openc v 提供了通用接口 cv::FeatureDetector,这里将其设定为 ORB 特征。 2) 提取描述子:对于检测出的角点,用一些数 学上的特征对其进行描述,这里通过 cv::FeatureDe￾tectorExtractor 接口设置特征描述子提取器。 3) 匹配:通过各个角点的描述子来判断它们在 两张图像中的对应关系。这里采用的方法为快速最 近邻算法 FLANN。 4) 去外点:利用 RANSAC 算法去除错误匹配 的外点,保留正确的内点。 5) 位姿求解:调用 Opencv 的 PnPsolver() 函数, 求解相机的位姿运动 (R,t)。 3 位姿优化 针对传统的利用滤波方法估计位姿存在线性化 误差、更新效率低下等问题,本文依据 SLAM 研究 中的图优化[8]思想,设计了一种基于非线性优化的 位姿优化方法,同时实现局部位姿优化和全局位姿 优化。 3.1 模型的建立 SLAM 的经典数学模型通常分为 3 部分:状态 变量、运动方程、观测方程。 X = [x1 x2 ··· xN y1 y2 ··· yM] (1) xk = f(xk−1,uk)+uk (2) zk, j = g(xk , yj)+nk,j (3) 本文主要以 Kinect 作为主要的传感器输入,通 过对视觉信号的处理,构建视觉里程计,用于位姿 第 2 期 张毅,等:基于图优化的移动机器人视觉 SLAM ·291·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有