«上一篇
文章快速检索     高级检索
下一篇»
  应用科技  2021, Vol. 48 Issue (1): 36-41, 47  DOI: 10.11991/yykj.202007016
0

引用本文  

赖尚祥, 杨忠, 姜遇红, 等. 面向动态环境的机器人同步定位与建图技术[J]. 应用科技, 2021, 48(1): 36-41, 47. DOI: 10.11991/yykj.202007016.
LAI Shangxiang, YANG Zhong, JIANG Yuhong, et al. Research on robot simultaneous localization and mapping technology in a dynamic environment[J]. Applied Science and Technology, 2021, 48(1): 36-41, 47. DOI: 10.11991/yykj.202007016.

基金项目

国家自然科学基金项目(61473144);贵州省科技计划项目(2020]2Y044);中国南方电网有限责任公司科技项目(066600KK52170074);南京航空航天大学研究生创新基地(实验室)开放基金(kfjj20190305)

通信作者

姜遇红,E-mail:YZ8505@163.COM

作者简介

赖尚祥,男,硕士研究生;
姜遇红,女,高级工程师

文章历史

收稿日期:2020-07-16
面向动态环境的机器人同步定位与建图技术
赖尚祥1, 杨忠1, 姜遇红2, 张弛1, 方千慧1    
1. 南京航空航天大学 自动化学院,江苏 南京 211106;
2. 南京航空航天大学 无人机研究所,江苏 南京 211106
摘要:传统的同步定位与建图(simultaneous localizition and mapping) SLAM算法采用了静态世界的强假设,这个假设限制了多数视觉SLAM算法在真实环境下的应用。针对这一问题,提出一种基于RGB-D传感器的动态SLAM算法。该方法是基于ORBSLAM2的改进,能够一致地映射包含多个动态元素的场景,并且增加了动态对象语义分割的能力。该方法结合深度语义网络与几何分割方法,对环境中的动态物体进行检测与分割,并去除对应的特征点,减少了动态物体的影响。TUM-RGB-D动态数据集序列中的实验结果表明,本文提出的系统大大提升了ORBSLAM2在动态环境下的定位精度,并且与其他先进的动态SLAM系统相比,精度有了一定程度的提升。
关键词同步定位与建图    RGB-D传感器    动态环境感知    语义分割    多视图几何    
Research on robot simultaneous localization and mapping technology in a dynamic environment
LAI Shangxiang1, YANG Zhong1, JIANG Yuhong2, ZHANG Chi1, FANG Qianhui1    
1. College of Automation Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China;
2. Research Institute of UAV, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China
Abstract: Traditional SLAM algorithms adopt the typical assumption of static scenarios, which limits the application of most visual SLAM (simultaneous localizition and mapping) algorithms in a real environment. In order to solve this problem, a dynamic SLAM algorithm is proposed based on RGB-D sensor. This method is based on the improvement of ORBSLAM2. It can consistently map scenes containing multiple dynamic elements and add the capabilities of the semantic segmentation of dynamic objects. It combines deep semantic network and geometric segmentation method to detect and segment dynamic objects in the environment. It removes the corresponding feature points to reduce the impact of dynamic objects. The experimental results in the dynamic data set sequence of TUM-RGB-D show that the method proposed in this paper greatly improves the localization accuracy of ORBSLAM2 in a dynamic environment, and its accuracy has been improved to a certain extent compared with those of other advanced dynamic SLAM methods.
Keywords: SLAM    RGB-D sensor    dynamic environment awareness    semantic segmentation    multiple view geometry    

同步定位与建图技术(simultaneous localization and mapping,SLAM)是提高机器人自主性和智能性的关键技术。近年来,它一直是机器人领域研究的热点。SLAM技术仅通过机载传感器的数据流,联合评估未知环境的地图和机器人在地图中的姿态。该地图允许机器人在相同的环境中不断地定位而不积累漂移。由于视觉传感器具有成本低、数据量大等优点,视觉SLAM越来越受到人们的关注[1]。常用的视觉传感器有单目相机、双目相机、RGB-D相机等。单目相机方案在尺寸、功率和成本方面有实际优势,但也面临一些挑战,如尺度、初始化困难问题。通过使用更复杂的视觉传感器可以避免这些问题,如双目相机和RGB-D相机。现代视觉SLAM系统的框架由特征提取、状态估计、建图、回环检测等几个基本部分组成。SVO[2]、LSD-SLAM[3]、ORB-SLAM2[4]等SLAM算法已经取得了令人满意的视觉效果。然而绝大多数方法和数据集都采用静态环境。这类方法通过将动态内容分类为静态模型的异常值,从而处理一小部分动态内容。但是在人口稠密的现实环境中,如行人、动物,这些均是不可避免的内容,同时这些环境正是服务机器人或自动驾驶汽车等相关应用的目标。

因此有效地解决动态环境下的机器人同步建图技术显得尤为重要。考虑到上述算法的局限性,动态SLAM算法的主要挑战为:

1)如何检测动态目标;

2)如何防止跟踪算法使用属于动态对象的特征点。

1 相关工作

在典型的SLAM系统中,动态目标被视为噪声数据,因此它既不包含在地图中,也不用于跟踪摄像机。在ORB-SLAM[4-5]中最具代表性的是RANSAC算法。RANSAC算法假设存在一个模型,所有的局内点符合模型,局外点不符合模型。只要符合模型的局内点足够多,则模型便足够合理。整个过程采用反复迭代、优化模型、更新内点集的方式寻找最优模型。但是,当动态对象的比例较大,甚至覆盖了相机的主要视场时,该方法将失效。

Kundu等[6]提出一种基于几何方法的动态目标检测。通过构造机器人运动的基本矩阵,定义对极几何约束。如果匹配的特征点离外极线太远,则最可能被认为是动态的。这种方法的关键点在于对基本矩阵的估计,如果能获得相对可靠的基本矩阵,则可以很容易地检测到大部分动态特征。由于RGB序列中包含大量动态特征,则对这种方法的初始基础矩阵计算造成很大的影响,从而影响整个系统的精度。

随着深度学习技术的发展,图像中的高级语义信息逐渐被用来处理场景中的动态对象,以提高SLAM的性能。在SLAM系统中,利用YOLO[7]、SSD[8]、SegNet[9]、Mask R-CNN[10]等先进的CNN架构,获得每一帧特征的语义标签。根据人类的先验知识,如人、动物被认为是动态物体,附属于该类对象上的特征点将被剔除。现实环境中存在一类物体,如椅子,它在常规情况下属于静态的,因此在卷积神经网络(convolutional neural networks, CNN)中的标签也为静态。但与人发生接触后,其三维空间位置大概率会发生刚性变换,这对后续相机位姿估计精度造成一定的影响。

Cui等[11]采用光流法追踪经过CNN去动态的RBD图,从而获得一个较为准确的基础矩阵,进而进行运动一致性检测,去除潜在的动态物体。由于算法采用了光流法,势必对系统的实时性造成影响。

针对上述情况,提出一种动态SLAM系统,通过结合语义分割和几何分割来检测动态对象。采用Mask R-CNN去除先验动态物体,使用惯性模型实现帧间基础矩阵求解,根据对极约束进行运动一致性检测。最后,使用区域生长法标记动态对象。相对其他方法,本文方法提升了定位精度。

2 系统跟踪线程框架 2.1 系统跟踪线程

图1为本系统的跟踪线程框图。首先,RGB序列经过一个语义分割网络,将所有先验的动态对象逐像素分割出来。其次,我们使用几何分割的方法来标记在Mask R-CNN阶段未被检测到的其他动态物体。为此,有必要估计两帧间的相机姿态变化。因此我们设计了一种基于惯性模型快速求解相对可靠的相机位姿方法。值得注意的是,CNN无法检测到的其他动态对象将通过几何分割进行检测。剩余的静态特征被保留,以便用于后续跟踪线程新帧的姿态估计。动态物体去除模块流程如图2所示。

Download:
图 1 系统跟踪线程框架图
Download:
图 2 动态物体去除模块流程
2.2 语义分割先验动态物体

为了检测动态对象,本文采用了一种通用的实例分割结构Mask R-CNN。Mask R-CNN可以同时获得实例标签和像素级语义分割。

根据掩码的标签,可以获得一些动态对象的先验信息,如人、猫、狗等。如果对象被标记为“人”,那么我们假设落在该对象上的所有像素都是动态的可能性非常大,因为一个人在常规情况下倾向于在移动。同样地,如果像素的标签是“桌子”,我们将假设这些像素所在的物体是静态的可能性非常大。如果像素的标签是“椅子”,这种情况就不同了,因为在人的影响下,椅子是可以移动的。所以我们需要使用其他方法来检测这些潜在的动态对象。

有了先验知识,我们可以将物体上的像素大致分为3类:动态的、潜在的动态的、静态的。为了减少计算量,本文只考虑特征点,而不考虑像素点。这样,落在动态对象上的特征点将被移除,而静态特征点将被保留。如果将潜在的动态点简单地看作动态点或静态点,将对SLAM系统的定位精度产生不可逆转的影响。因此,本文采用了一种将语义分割和几何分割相结合的动态目标检测方法。

2.3 惯性模型

几何分割根据相机姿态进一步筛选特征点中的动态点。因此,需要一种快速准确的姿态估计方法。本文采用惯性模型对图像中的静态点进行跟踪,这些图像的静态点由语义分割去动态之后获得。由于帧率较高,假设帧之间的速度不变,因而相机将以上一帧的速度移动。相机姿态变换矩阵应为

${{{\mathit{\boldsymbol{T}}}}_{{\rm{cur}}}} = {{{\mathit{\boldsymbol{T}}}}_{{\rm{last}}}} \cdot {{{\mathit{\boldsymbol{M}}}}_{{\rm{in}}}}$

式中: ${{{\mathit{\boldsymbol{T}}}}_{{\rm{cur}}}}$ ${{{\mathit{\boldsymbol{T}}}}_{{\rm{last}}}}$ 表示当前帧与上一帧的姿态变换矩阵; ${{{\mathit{\boldsymbol{M}}}}_{{\rm{in}}}}$ 表示惯性系数,当上一帧跟踪失败时,该值等于0,否则为1。

将地图上的特征点投影到图像帧中,在投影点附近搜索相应的匹配点。如果搜索到的匹配点对数量不够,则增大搜索范围。如果依然搜索不到足够数量的匹配点对,则认为模型失效。若模型失效,将对上一个关键帧采用惯性模型求解,或者进行重定位。

在模型成功的情况下,将观测方程抽象记为

$ z = h\left( {x,y} \right) $

式中:x代指此刻相机位姿,即相机变换矩阵 ${{\mathit{\boldsymbol{T}}}}$ y代指路标点,即三维特征点 ${{\mathit{\boldsymbol{P}}}}$ z为观测值。获得匹配特征点对与初始位姿可以得到此次观测误差为

${\rm{err}} = z - h({{\mathit{\boldsymbol{T}}}},{{\mathit{\boldsymbol{P}}}})$

式中: ${\rm{err}}$ 为误差项,z为观测数据 $ z \cong [{u_s},{v_s}]$ 。将具有共视关系的几帧观测量加入方程,设zij为在位姿 ${{{\mathit{\boldsymbol{T}}}}_i}$ 处观察点 ${{{\mathit{\boldsymbol{P}}}}_j}$ 产生的数据,则整体的代价函数为

$\frac{{\rm{1}}}{{\rm{2}}}{\sum\limits_{i = 1}^m {\sum\limits_{j = 1}^n {\left\| {{e_{ij}}} \right\|} ^2} } = \frac{{\rm{1}}}{{\rm{2}}}{\sum\limits_{i = 1}^m {\sum\limits_{j = 1}^n {\left\| {{z_{ij}} - h({{{\mathit{\boldsymbol{T}}}}_i},{{{\mathit{\boldsymbol{P}}}}_j})} \right\|}^2 } }$

为求得投影误差最小时对应的待优化变量 ${{{\mathit{\boldsymbol{T}}}}_i}$ ,采用图优化[12]的方法,从初始估计值开始,寻找目标函数下降方法,对 ${{{\mathit{\boldsymbol{T}}}}_i}$ 进行修正,找到最优解。此时 ${{{\mathit{\boldsymbol{P}}}}_j}$ 不参与被优化,以减少计算量。

惯性模型求解相机位姿使用的特征点包含潜在动态物体,如与人发生互动的椅子、书本等物体。这些潜在动态物体对应的特征点三维空间坐标发生了变化,相关的投影误差项失效。因此需要通过进一步使用几何分割检测动态点。

2.4 几何分割

对于一对匹配好的静态特征点p1p2,两点满足极线约束,即 ${{\mathit{\boldsymbol{E}}}} = {{{\mathit{\boldsymbol{t}}}}^ \wedge }{{\mathit{\boldsymbol{R}}}}$ 。二者在空间中的关系如图3所示。

Download:
图 3 多视图几何中特征的对极约束

I1I2分别代表2帧图像; ${p_1}$ ${p_2}$ 是一对匹配好的点,2个相机中心分别为O1O2;连线 $ \overrightarrow {{O_1}P} $ $ \overrightarrow {{O_2}P} $ 在三维空间中相交于 ${{\mathit{\boldsymbol{P}}}}$ 。这时 $ {O_1}{O_2}P$ 三点可以确定一个平面,称为极平面。 $ {O_1}{O_2}$ 连线与像平面I1I2的交点分别为e1e2e1e2称为极点, $ {O_1}{O_2}$ 被称为基线。

极平面 $ {O_1}{O_2}P$ I1I2两帧的交线l1l2称为极线。极线l2可以视为 $ \overrightarrow {{O_1}P} $ 在帧I2上的投影线。在三维点 ${{\mathit{\boldsymbol{P}}}}\left( {{{\mathit{\boldsymbol{P'}}}},{{\mathit{\boldsymbol{P''}}}}} \right)$ 不确定深度的情况下,可以知道它在I2上的投影必定在极线l2上。这种对极几何约束实际上描述了从一帧中的一个点到另一帧中相应的极线的投影。投影关系可以用基本矩阵 ${{\mathit{\boldsymbol{F}}}}$ 表示:

$\left\{ {\begin{array}{*{20}{l}} {{{\mathit{\boldsymbol{E}}}} = {{{\mathit{\boldsymbol{t}}}}^ \wedge }{{\mathit{\boldsymbol{R}}}}} \\ {{{\mathit{\boldsymbol{F}}}}{\rm{ = }}{{{\mathit{\boldsymbol{K}}}}^{ - {\rm{T}}}}{{\mathit{\boldsymbol{E}}}}{{{\mathit{\boldsymbol{K}}}}^{ - 1}}} \\ {{{\mathit{\boldsymbol{p}}}}_2^{\rm{T}}{{\mathit{\boldsymbol{F}}}}{{{\mathit{\boldsymbol{p}}}}_1} = {\bf{0}}} \end{array}} \right.$

式中: ${{\mathit{\boldsymbol{E}}}}$ 为本质矩阵, ${{\mathit{\boldsymbol{t}}}}$ 为平移向量, ${{\mathit{\boldsymbol{R}}}}$ 为旋转矩阵, ${{\mathit{\boldsymbol{K}}}}$ 为相机内参矩阵。

由于特征提取和基本矩阵 ${{\mathit{\boldsymbol{F}}}}$ 估计中存在不可避免的误差,实际上特征点 ${{{\mathit{\boldsymbol{p}}}}_2}$ 并没有完全落在极线l2上,如图2 ${{\bar {{\mathit{\boldsymbol{p}}}}}_2}$ 所示。此时,由匹配点对可知 ${{{\mathit{\boldsymbol{p}}}}_1}$ ${{{\mathit{\boldsymbol{p}}}}_2}$ ${{\bar {{\mathit{\boldsymbol{p}}}}}_2}$ 坐标:

$\begin{array}{l} {{{\mathit{\boldsymbol{p}}}}_1} = {[{u_1},{v_1},1]^{\rm{T}}} \\ {{{\mathit{\boldsymbol{p}}}}_2} = {[{u_2},{v_2},1]^{\rm{T}}} \\ {{{\bar {{\mathit{\boldsymbol{p}}}}}}_2} = {[{{\bar u}_2},{{\bar v}_2},1]^{\rm{T}}} \end{array}$

根据RGB-D相机测量的特征点深度值,恢复 ${{\mathit{\boldsymbol{P}}}}$ 点三维坐标:

${{\mathit{\boldsymbol{P}}}} = d \cdot {{{\mathit{\boldsymbol{K}}}}^{ - 1}}{{{\mathit{\boldsymbol{p}}}}_1}$

其中d为该点深度值, ${{\mathit{\boldsymbol{P}}}}$ 点在I2上的投影为

${{{\mathit{\boldsymbol{p}}}}_2} = {{\mathit{\boldsymbol{RP}}}} + {{\mathit{\boldsymbol{t}}}}$

其中 ${{\mathit{\boldsymbol{R}}}}$ ${{\mathit{\boldsymbol{t}}}}$ 由基础矩阵 ${{\mathit{\boldsymbol{F}}}}$ 分解得到。位于I2上的实际匹配点为 ${{\bar {{\mathit{\boldsymbol{p}}}}}_2}$ ,则误差项定义为

${{\mathit{\boldsymbol{D}}}} = {{\bar {{\mathit{\boldsymbol{p}}}}}_2} - d \cdot {{\mathit{\boldsymbol{R}}}}{{{\mathit{\boldsymbol{K}}}}^{ - 1}}{{{\mathit{\boldsymbol{p}}}}_1} + {{\mathit{\boldsymbol{t}}}}$

根据对极约束,静态匹配点对的投影点 ${{\bar {{\mathit{\boldsymbol{p}}}}}_2}$ 在极线l2附近。而动态匹配点对因三维空间坐标在两帧之间发生了变化,不满足对极几何约束,同时误差项相对较大。因此可以通过计算匹配点与对应目标点之间的欧氏距离来判断特征点类别。如果距离超过预设阈值,则将图像特征点视为动态。

通过运动一致性检测,可以知道哪些特征点落在动态对象上。为了避免遗漏动态对象上的特征点,我们通过区域生长获得几何分割掩码。区域生长算法的基本思想是将具有相似属性的像素合并在一起。RGB图包含过多的冗余信息,而深度图上一个对象的像素分布始终是连贯的,因此本文选择在深度图上采用区域生长算法[13]

然而,一些位于动态对象边界上的特征点可能会引起问题。因为掩码的边缘会大致覆盖整个对象,边缘特性不是很明显,而边缘又属于容易被检测出特征点的区域。为了弥补该缺点,本文对每个掩码进行了形态计算以优化掩模的边界。

3 实验分析

本文系统在公共TUM RGB-D数据集中进行了评估,并与其他动态SLAM系统进行了比较。首先,将本文系统与原始的ORB-SLAM2系统进行比较,该系统被认为是相对更出色且稳定的SLAM系统之一。所有实验均在Intel i5-9400F、Nvidia GTX-1660、16 GB RAM的计算机上执行。

TUM RGB-D数据集[14]包含多个动态环境序列。包含深度图像和RGB图像,以及由高精度运动捕捉系统记录的地面真实轨迹。由于序列中移动的人可能会占据图像的很大一部分,因此序列中的动态对象给SLAM系统的定位精度带来了极大的挑战。我们将本系统与ORB-SLAM2进行了比较,以说明此动态SLAM系统的作用。

根据语义分割以及几何分割去除动态特征点,效果如图4所示。图4(a)(c)(e)为本系统结果,图4(b)(d)、(f)为ORB-SLAM2的结果。图中红色框为先验动态物体,蓝色框为潜在动态物体。图4(a)(c)(e)中红色框内由Mask R-CNN获得相关掩码并去除对应的特征点,蓝色框内由几何分割检测得到的动态物体并去除相应的特征点。由图可知,动态物体对应的特征点均被有效剔除,从而减少其对系统的影响。

Download:
图 4 动态环境下本系统与ORB-SLAM2特征点检测结果比较

在SLAM系统中,误匹配点对,动态点对参与图优化的整个过程。由于他们的数据是错误的,即误差项很大,意味着算法将试图调整这条边所连接的所有节点的估计值,以缓和错点带来的大误差项。这将导致优化方向偏离真实方向,因此一般采用鲁棒核函数削减这些点的影响:

$ H\left( e \right) =\left\{ \begin{array}{l} {\dfrac{1}{2}{e^2},}\quad{\left| e \right| \leqslant \delta }\\ {\delta \Bigg(\left| e \right| - \dfrac{1}{2}\delta \Bigg),}\quad{{\text{其他}}} \end{array} \right. $

当误差项e大于阈值 $ \delta $ 时,函数由二次增长变为一次形式,限制了梯度的最大值。当SLAM系统面对一个高动态环境时,动态特征点对成为优化函数中具有分量的一类数据,则鲁棒核函数收效甚微。包含了大量动态点的误差项整体数值偏大,算法优化方向偏向于错点,导致估计位姿偏离真值,对跟踪效果造成不可逆的影响。因此去除动态点对能够使得优化函数准确表达真实三维场景约束。由图56可看出,没有进行动态点提出的ORBSLAM2系统轨迹与真实轨迹大相径庭,而本文提出的算法很好地对相机位姿进行了跟踪。

Download:
图 5 本系统与ORBSLAM2轨迹误差对比
Download:
图 6 本系统与ORBSLAM2平移误差对比

本实验采用绝对平移误差(absolute trajectory error, ATE)定量评估系统轨迹的整体一致性。绝对平移误差是估计位姿和真实位姿的直接差值,可以非常直观地反应算法精度和轨迹全局一致性。第i帧的ATE定义为

${\rm{AT}}{{\rm{E}}_i} = {{{\mathit{\boldsymbol{G}}}}_i}^{ - 1}{{\mathit{\boldsymbol{S}}}}{{{\mathit{\boldsymbol{F}}}}_i}$

式中: ${{{\mathit{\boldsymbol{G}}}}_i}$ 为相机位姿真值, ${{{\mathit{\boldsymbol{F}}}}_i}$ 为估计值, ${{\mathit{\boldsymbol{S}}}}$ 为相机估计位姿坐标系与真值坐标系的转换矩阵,由最小二乘法估计得到。通常使用均方根误差(root mean squared error, RMSE)统计前n帧的ATE值[14]

${\rm{RMSE}}({{\rm{ATE}}_{1:n}}) = \sqrt {\frac{1}{n}{{\sum\limits_{i = 1}^n {\left\| {{\rm{trans}}({{{\mathit{\boldsymbol{G}}}}_i}^{ - 1}{{\mathit{\boldsymbol{S}}}}{{{\mathit{\boldsymbol{F}}}}_i})} \right\|}^2 }}} $

为获得高度可信的实验数据,对每个序列运行5次,分别获得均方根误差、误差标准差(standard deviation, SD)、误差中位数(median)、误差平均值(mean),取5次数据的中位数作为实验结果。

序列名称中,第一个字母表示序列中人的状态,“s”表示人的状态为静坐(弱动态场景),“w”表示人的状态为移动(强动态场景)。后续字母表示相机运动方式。该系统的改进值通过式(1)计算:

$\eta = \frac{{{\varepsilon _{{\rm{orb}}}} - {\varepsilon _{{\rm{ours}}}}}}{{{\varepsilon _{{\rm{orb}}}}}} \times 100{\text{%}} $ (1)

式中: $ \eta$ 表示提升值, ${\varepsilon _{\rm{orb}}}$ 表示ORB-SLAM2的误差值, ${\varepsilon _{\rm{ours}}}$ 表示本系统的误差值。

表1可以看出,与ORB-SLAM2相比,本系统在准确性上有了很大的提高,并且几乎所有结果都提高了一个数量级。在“w.half”序列中,RMSE、SD、平均误差、中值误差的准确度分别提高了95.59%、92.55%、95.80%和96.18%。在其他序列中也会发生类似情况。这是因为语义分割与几何分割相结合有助于去除动态特征,从而大大提高系统的准确性。

值得注意的是,在弱动态序列“s.half”中,系统改进并不明显。这是因为人在这些序列中的位置总是非常靠前。在本文方法中,即使它们没有移动,它们也会被标记为动态的。在这种情况下,ORB特征点在图像中的分布将不均匀,这将影响系统姿态确定的准确性。并且,原始的ORB-SLAM2系统可以通过非线性优化来处理一些低动态情况。但是,这不会影响该系统的优越性,它的整体准确性仍然得到提高。

表 1 本系统与ORB-SLAM2系统绝对轨迹误差的RMSE[m]对比结果

为体现本文算法优越性,将其与近代较为先进的动态环境RGB-D SLAM系统DS-SLAM[15]、Detect-SLAM[16]进行对比。表2的实验结果表明,与这些系统相比,本文方法在动态序列定位方面具有更好的性能。

表 2 本系统与先进动态SLAM的RMSE[m]对比
4 结束语

本文提出了一种基于RGB-D传感器的方法,该方法能够一致地映射包含多个动态元素的场景。通过结合语义分割和几何分割来检测动态对象。跟踪序列以获得相机姿势,其中先验的动态对象由Mask R-CNN移除。移动一致性检查用于检测其他动态特征点。最后,使用区域生长法标记动态对象。实验结果表明,该方法减少了运动物体的影响。在动态序列中,本文系统在定位精度方面比原始的ORB-SLAM2有了很大的提高。此外,在动态场景中与其他最新动态SLAM系统的比较表明,本文系统在大多数情况下可以达到最高的精度。

本系统依然存在需要完善的工作,未来的工作包括:1)使用其他对象的语义标签,这将会在地图中提供更丰富的直观信息。2)使用系统计算得到的信息建立一个更加直观的语义稠密地图。

参考文献
[1] 毛家宁, 赵龙. 基于滑窗非线性优化的双目视觉SLAM算法[J]. 应用科技, 2020, 47(1): 55-60. (1)
[2] FORSTER C, PIZZOLI M, SCARAMUZZA D. SVO: fast semi-direct monocular visual odometry[C]//Proceedings of 2014 IEEE International Conference on Robotics and Automation. Hong Kong, China: IEEE, 2014. (1)
[3] ENGEL J, SCHÖPS T, CREMERS D. LSD-SLAM: large-scale direct monocular SLAM[C]//Proceedings of the 13th European Conference on Computer Vision. Zurich, Switzerland: Springer, 2014. (1)
[4] MUR-ARTAL R, TARDÓS J D. ORB-SLAM2: an open-source SLAM system for monocular, stereo, and RGB-D cameras[J]. IEEE transactions on robotics, 2017, 33(5): 1255-1262. DOI:10.1109/TRO.2017.2705103 (2)
[5] MUR-ARTAL R, MONTIEL J M M, TARDÓS J D. ORB-SLAM: a versatile and accurate monocular SLAM system[J]. IEEE transactions on robotics, 2015, 31(5): 1147-1163. DOI:10.1109/TRO.2015.2463671 (1)
[6] KUNDU A, KRISHNA K M, SIVASWAMY J. Moving object detection by multi-view geometric techniques from a single camera mounted robot[C]//Proceedings of 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems. St. Louis, USA: IEEE, 2009: 4306-4312. (1)
[7] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA: IEEE, 2015. (1)
[8] LIU Wei, ANGUELOV D, ERHAN D, et al. SSD: single shot MultiBox detector[C]//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, The Netherlands: Springer, 2016. (1)
[9] BADRINARAYANAN V, KENDALL A, CIPOLLA R. SegNet: a deep convolutional encoder-decoder architecture for image segmentation[J]. IEEE transactions on pattern analysis and machine intelligence, 2017, 39(12): 2481-2495. DOI:10.1109/TPAMI.2016.2644615 (1)
[10] HE Kaiming, GKIOXARI G, DOLLÁR P, et al. Mask R-CNN[J]. IEEE transactions on pattern analysis and machine intelligence, 2020, 42(2): 386-397. DOI:10.1109/TPAMI.2018.2844175 (1)
[11] CUI Liyan, MA Chaowei. SOF-SLAM: a semantic visual SLAM for dynamic environments[J]. IEEE access, 2019, 7: 166528-166539. DOI:10.1109/ACCESS.2019.2952161 (1)
[12] TRIGGS B, MCLAUCHLAN P F, HARTLEY R I, et al. Bundle adjustment-a modern synthesis[C]//Proceedings of 1999 Workshop on Vision Algorithms: Theory and Practice. Corfu, Greece: Springer, 1999: 298-372. (1)
[13] GERLACH N L, MEIJER G J, KROON D J, et al. Evaluation of the potential of automatic segmentation of the mandibular canal using cone-beam computed tomography[J]. British journal of oral and maxillofacial surgery, 2014, 52(9): 838-844. DOI:10.1016/j.bjoms.2014.07.253 (1)
[14] STURM J, ENGELHARD N, ENDRES F, et al. A benchmark for the evaluation of RGB-D SLAM systems[C]//Proceedings of 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Vilamoura, Portugal: IEEE, 2012. (2)
[15] YU Chao, LIU Zuxin, LIU Xinjun, et al. DS-SLAM: a semantic visual SLAM towards dynamic environments[C]//Proceedings of 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems. Madrid, Spain: IEEE, 2018. (1)
[16] ZHONG Fangwei, WANG Sheng, ZHANG Ziqi, et al. Detect-SLAM: making object detection and SLAM mutually beneficial[C]//Proceedings of 2018 IEEE Winter Conference on Applications of Computer Vision. Lake Tahoe, USA: IEEE, 2018. (1)
Download:
图 1 系统跟踪线程框架图
Download:
图 2 动态物体去除模块流程
Download:
图 3 多视图几何中特征的对极约束
Download:
图 4 动态环境下本系统与ORB-SLAM2特征点检测结果比较
Download:
图 5 本系统与ORBSLAM2轨迹误差对比
Download:
图 6 本系统与ORBSLAM2平移误差对比
表 1 本系统与ORB-SLAM2系统绝对轨迹误差的RMSE[m]对比结果
表 2 本系统与先进动态SLAM的RMSE[m]对比
面向动态环境的机器人同步定位与建图技术
赖尚祥, 杨忠, 姜遇红, 张弛, 方千慧