基于RGB-D相机数据的SLAM算法

  • 基于RGB-D相机数据的SLAM算法已关闭评论
  • 77 views
  • A+
所属分类:AGV设计资料
摘要

提出了一种基于RGB-D相机数据的机器人同步定位与地图构建(SLAM)算法方案,实现了室内环境三维稠密点云地图的快速构建。首先在RGB图中提取均匀化的ORB特征,采用暴力匹配的方式,并使用随机采样一致性(RANSAC)算法得到优化后的匹配结果,然后用Pn P解算连续帧的相机位姿变换关系,并用非线性优化方法优化该位姿变换矩阵,同时,通过关键帧选择机制,挑选关键帧,并将得到的关键帧送入后端。后端采用位姿图优化,使用g2o工具箱优化全局位姿。通过位姿变换矩阵将当前帧的点云图变换到世界坐标系中,实现三维稠密点云地图的构建。本文方案成本低廉,仅需要一个深度相机作为传感器,实验中使用的RGB-D数据为TUM制作的数据集,通过实验可以得出,每帧数据平均处理时间为0.182s,本文算法能快速建立全局一致的三维室内环境地图。

同步定位与建图,又名SimultaneousLocaliza⁃tionandMapping(SLAM),是机器人导航、无人驾驶和AR等技术的基础。从1986年提出以来,已经发展了30余年,目前已经形成了基于滤波的方法和基于优化的方法两种主流思路。早期SLAM主要使用激光雷达作为传感器[1],但价格昂贵,近几年,用视觉传感器实现的SLAM方案展现了很好的效果,2010年,微软推出一款廉价RGB-D相机Kinect,RGB-D相机通过同时获得彩色图和对应的深度图[2-3],使得稠密点云地图的构建更加容易实现。

2012年,Henry等人[4]首先将Kinect用于室内稠密地图重建,2016年,Mut-Artal等人开源的ORB_SLAM2方案支持RGB-D相机,但是只能构建稀疏的地图。KinectFusion和ElasticFusion方案虽然能构建三维稠密的地图,但平台需要配置GPU来实现[5],Endres的方案虽然不需要使用GPU设备,但重建效率不高[6]。基于以上的问题,本文提出一种成本低廉、基于图优化框架的SLAM方案,通过使用RGB-D相机数据,匹配得到较为精确的相机位姿估计结果,实现室内环境的三维稠密点云地图的快速构建,且对电脑的配置要求不高。

1 算法方案

早期SLAM主要使用基于滤波器的方法,近些年,基于优化的方法展现出优势[7],本文采用基于图优化的视觉SLAM框架,系统可以分为3个部分:前端、后端和建图[8]。

在前端,机器人通过携带的RGB-D相机采集室内环境的数据作为输入,即连续的RGB图和对应的深度图序列。以相机采集第一幅图像时的位置为原点,建立世界坐标系。为了得到整个环境的三维图,需要将图像序列关联起来,即建立连续图像之间的位姿变换关系。在RGB图中提取均匀化的ORB特征,对连续的两幅图进行特征匹配,并用随机采样一致性(RANSAC)方法优化匹配结果,将优化后的匹配点对作为初值,用PnP求解两幅图的位姿变换矩阵,并用BundleAdjustment优化两帧之间的位姿变换矩阵。

由于相机在采集数据时帧率大概在30Hz[9],及两幅连续帧之间变化一般不大,所以并不是每一帧图像都会对三维地图的构建有作用,冗余帧会降低系统的效率,通过设置关键帧选取机制去掉冗余帧。得到所有连续关键帧之间的位姿变换矩阵后,送入后端进行优化。

在后端,采用位姿图优化的方式,以ORB特征为路标点,将机器人在世界坐标系中的位置作为优化变量,即图优化中的点,将帧与帧的匹配得出的两个位姿之间的位姿变换矩阵作为边的初始值,使用g2o工具对其进行优化,得到最终的机器人全局位姿估计。

在建图模块,将关键帧对应的深度图生成点云图,并通过优化后的位姿变换矩阵将当前帧的点云图变换到世界坐标系中,实现室内环境三维稠密点云地图的构建。

本文采用TUM的数据集[10],最终快速构建了全局一致的三维稠密点云图,该地图很好地反应了室内环境的情况。

算法流程图如图1所示。

基于RGB-D相机数据的SLAM算法

图1算法流程图

2 相机跟踪

2.1 ORB特征提取

常用的特征提取和描述的方法有SIFT、SURF、Shi-Tomasi和ORB[11]等。SIFT和SURF算法的提取效率不高,Shi-Tomasi是Harris算法的改进,不具有尺度不变性。

文中采用的ORB(OrientedFASTandRotatedBRIEF)特征是EthanRublee在2011年提出的一种新的特征检测与描述算法[12],并在OpenCV中实现,相对于SIFT和SURF,ORB具有更快的速度。ORB以改进的FAST角点为关键点,以BRIEF为描述子,该描述子特有的2进制串的表现形式不仅节约了存储空间,同时大大缩短了匹配的时间,这使得ORB的计算速度非常快。但原始的ORB特征算法有集中分布的特点,为了解决这一问题,提高匹配精度,本文采用ORB_SLAM2中均匀化的方法,将均匀化后的ORB作为特征。

本方案采用暴力匹配的方法来实现两幅图像间的特征匹配,基于BRIEF描述子的特点,使用汉明距离来度量两个特征点的相似程度。同时,采用随机采样一致性(RANSAC)算法去除误匹配,该算法对噪声大的数据具有良好的鲁棒性。

抱歉,此资源仅限赞助会员下载,请先
注意:本站资源多为网络收集,如涉及版权问题请及时与站长联系QQ:2766242327,我们会在第一时间内与您协商解决。如非特殊说明,本站所有资源解压密码均为:agvba.com。
weinxin
微信公众号
agvba是一个分享AGV知识和agv案例视频的网站。