一种改进的SLAM建图方法研究

2022-08-29 12:14贾雨萌刘甜甜李振华
物联网技术 2022年8期
关键词:回环关键帧节点

贾雨萌,刘甜甜,李振华

(北京信息科技大学 信息与通信工程学院,北京 100085)

0 引 言

如今,智能机器人的应用越来越普遍,机器人的使用环境、使用场合也变得更加丰富。机器人所处的环境往往难以预测,智能机器人的定位和导航大都依靠SLAM算法实现。SLAM(Simultaneous Localization and Mapping, SLAM),即同步定位与地图构建。SLAM算法的出现,基本解决了路径规划、空间感知及检测和躲避障碍物等问题。SLAM技术的内容和实现趋于多样化、多元化。本文分析了具有代表性的RGB-D SLAM技术,并对其提出了一些改进。

1 RGB-D SLAM建图

根据数据源的不同,SLAM技术主要分为基于激光的SLAM与基于视觉的SLAM。随着图像处理技术的深入研究,以摄像机为传感器的SLAM系统得到了快速发展。视觉SLAM通过处理机器人(相机)拍摄的照片构建环境地图,其优势在于成本低、场景表达能力强,被认为是未来SLAM的主要发展方向。

视觉SLAM的功能实现主要包括传感器(摄像机)数据的搜集(Camera and IMU),前端视觉(惯性)测程,后端优化,闭环及映射等,还包括重新定位等。其中,RGB-D SLAM技术以RGB-D相机作为传感器,可以直接获取图像中物体的深度。

1.1 RGB-D深度图像

RGB-D即RGB和Depth Map。RGB即红、绿、蓝颜色标准,红、绿、蓝三个通道的变化和它们之间的叠加可以得到人类视力所能感知的所有颜色。这个标准是目前应用范围最广的颜色系统之一。

Depth Map(深度图)是包含与视点场景对象表面距离有关信息的图像或图像通道。其中,Depth Map 类似灰度图像,它的每个像素值是传感器距离物体的实际距离。通常RGB图像和Depth图像存在配准关系,因而像素点之间具有一对一对应关系。

在3D计算机图形和计算机视觉中,深度图像是一种图像或图像通道,其中包含与场景对象表面到视点距离有关的信息。

1.2 RGB-D SLAM算法设计

在自主移动小车实例中,基于RGB-D SLAM 的方法可以实现环境全局地图的建立与小车实时定位功能。

RGB-D SLAM算法的具体实现如图1所示。流程图分为前端和后端两部分。前端采集图像信号,处理相机捕获的图像信息并对图像进行特征提取与匹配,提取关键帧构建地图的同时估计位姿并对位姿进行优化。此外,还可以计算相邻图像间的关系对运动进行估计,并通过特征点法计算小车的运动。后端主要处理前端产生噪声干扰的数据,尽可能减少误差,使得到的地图较为精确。前端出现的漂移现象可通过算法进行后端优化和回环检测来消除:后端优化主要处理采集图像信息时产生的噪声;回环检测通过比较和处理同一位置的地图及位姿来消除漂移量。从前端输入数据,到后端处理数据,通过回环检测减少误差,实现地图的构建。

图1 RGB-D SLAM算法流程

1.2.1 相机建模及特征提取

相机建模依据小孔成像原理。通过投影得到相机的内参矩阵与外参矩阵在世界坐标系、相机坐标系及图像坐标系之间的转换关系:

式中:、、为特征点在世界坐标系中的坐标;、为该点在图像坐标系中的投影坐标;()为映射函数。

RGB-D SLAM算法的实现过程中,对前端进行特征提取时使用ORB(Oriented FAST and Rotated BRIEF, ORB)特征点进行计算。ORB 特征点算子结合加速分割测试特征(Featuresfrom Accelerated Segment Test, FAST)角点检测算法与二进制鲁棒独立基本特征(Binary Robust Independent Elementary Features, BRIEF)描述子算法。其中,ORB 算子使图像具有尺度不变性;FAST角点检测算法对每个像素点周围各点与该点灰度值之差的绝对值与阈值ε进行比较,并统计前者大于后者的数量,当>12时,则标记为角点:

式中:()、()分别为第点、临近点的灰度值;BRIEF特征点描述子通过比较测试点对的灰度值来描述图像。

1.2.2 后端工作及地图构建

后端主要对前后帧的图像,选择汉明距离作为特征之间的相似性度量,提高特征匹配的准确率。经前后帧的特征点匹配后,采用迭代最近点(Iterative Closest Point, ICP)算法进行相机的位姿估计。

关键帧的提取可以通过奇异值分解(Singular Value Decomposition, SVD)算法实现。首先得到2帧图像对应的位姿变化,然后根据位姿前后的变化和2帧图像间的时间差来选取关键帧,减少不必要的冗余数据。

将关键帧对应的三维点云地图加入局部地图中,并对局部地图的相机位姿与路标地图点进行优化。通过对关键帧的检测,识别之前访问的场景,增加图模型的回环约束,消除累积误差,得到全局一致的地图。

1.3 经典回环检测分析

在上述地图构建过程中,主要通过对关键帧的检测来进行。但这需要每一帧图像与前面的整个图像做一遍特征匹配,计算量极大。根据时间差选取关键帧,对关键帧进行匹配的做法虽然能够减少一部分运算量,但回环检测效果不佳。因此,提出使用特征点做回环检测,即词袋模型的方法。

图2所示为经典回环检测,图3所示为词袋模型。

图2 经典回环检测

图3 词袋模型

2 回环检测的改进

2.1 词袋模型

词袋模型被广泛应用在文件分类领域,通过统计单词出现的频率,比较它们的权重后进行分类。词袋模型应用在计算机视觉领域,就是把特征看成是单词,通过比较两张图片中单词的一致性,来判断两张图片是否属于同一场景。为了能够把特征归类为单词,需要对机器人进行海量训练才能达到效果。

2.2 回环检测算法优化设计

在ORB特征提取的基础上,使用词袋模型方法进行回环检测。首先,找到根节点并设置权重,具体算法流程如图4所示。

图4 词袋模型节点算法流程

确定个中心点和1个阈值,之后将提取得到的特征与各中心点的距离最小值作为特征的类,然后计算每个类新的中心点,重复此步骤直至每个特征与它的类中心点的距离小于阈值。结束上述步骤后设置节点权重,并计算。

根据上述步骤生成一个词典,并用叉树表示该词典,如图5所示。其中,第一层是根节点,由上述方法得到;每一层的个节点也聚类成类,得到下一层;最后一层为叶子节点,即words。

图5 K叉树

使用Term Frequency-Inverse Document Frequency(TFIDF)计算节点权重,即

式中:η为某叶子节点w的权重;nw中的特征数量;为所有特征数量。

在图像中建立坐标轴,权重最大的2个节点为a(x,y)和b(x,y),计算它们之间的距离:

节点权重与节点距离组合,形成词袋模型:

词袋模型构建完成后,通过对两帧图像的词袋模型中的节点计算相似度,减少算法累积的误差。

需要指出的是,只有当词典的容量足够大时,词库提取的准确率才会高。在实际操作中,如果词典容量不够大,那么相似图像与无关图像的相似度对比就不明显,回环检测的效果不佳。

3 结 语

本文介绍了一种使用词袋模型改进的RGB-D SLAM技术。在保持RGB-D SLAM算法优点的同时,对回环检测的过程进行了优化,加速了特征匹配,有效减少了运算量,提高了回环检测的效率。

SLAM技术持续更新,计算机视觉在智能机器人领域的应用也日益广泛,越来越多的机器人进入人们的生活,为生活带来便捷。

猜你喜欢
回环关键帧节点
CM节点控制在船舶上的应用
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的门窗节点图快速构建
透 月
基于改进关键帧选择的RGB-D SLAM算法
基于相关系数的道路监控视频关键帧提取算法
基于聚散熵及运动目标检测的监控视频关键帧提取
抓住人才培养的关键节点
学习“骑撑前回环”动作的常见心理问题分析及对策
基于RocketIO 高速串行回环通信的实现