0%

论文记录 Semantic SLAM for mobile robots in dynamic environments based on visual camera sensors

Zhang, Qi, and Changdi Li. “Semantic SLAM for Mobile Robots in Dynamic Environments Based on Visual Camera Sensors.” Measurement Science and Technology 34, no. 8 (May 2023): 085202. https://doi.org/10.1088/1361-6501/acd1a4.

1 Introduction

本文的贡献:

  • 提出一个可应用于室内外场景的实时动态语义vSLAM 算法,可应用于各种相机传感器,并不依赖深度信息;
  • 受益于更多的检测类别,提出一个动态点剔除算法
  • 提出了一种几乎不受噪声点影响的移动bbox判断算法,该算法以所有物体均可能是动态的为假设,使用不同的方法来检测处于不同姿势的人或物体的运动状态。

3 System overview

本系统结合语义和几何信息来检测动态特征点:

  1. 首先,利用DNN 获取物体的bbox,同时使用运动一致性检验来获取图片中的外点;
  2. 然后,结合两种信息来高效检测、剔除动态特征点。

本系统是基于ORB-SLAM3 来搭建的,系统的语义模块参考CrowSLAM,几何模块参考DS-SLAM。

fig2

3.1 Semantic Module

本系统使用YOLOX 算法,在高精度的同时保证高速计算,并使用GPU 加速方法——TensorRT。与其他SLAM 系统不同的是,本系统认为在复杂环境中所有物体都有可能是运动的,为了识别出尽可能多的物体,作者使用COCO 数据集(80个种类)对YOLOX 进行训练;然后,本系统结合一个自适应阈值算法来对每一个bbox 进行运动一致性检验,来确定该物体是否是动态的。

3.2 Geometry Module

本系统采用DS-SLAM(Yu 等, 2018) 的运动一致性检验方法,实现对动态特征点的检测。

3.3 Judging moving boxes

本系统结合语义信息和几何信息来判定bbox 是否是动态的,

fig3

bbox 运动状态的判定步骤如下:

  1. 首先,使用独特的方法来处理人类的bbox——NHBC 算法来区分人类是坐着还是站着的,这里使用bbox 的长宽比进行确认,坐着的人的长宽比一般小于3;作者认为坐着的人只有上半身是动态的,而站着的人全身都是动态的。
  2. 然后,人类和其他物体的判断阈值需分别决定,因为人类与其他物体的运动方式差异较大,人类通常都是局部运动,如Fig. 4(a)所示,动态人类上只有几个特征点是动态的,所以对于人类bbox,只要其中有一个动态特征点,则视该bbox 为动态的;而其他物体则不尽然,需要bbox 内有足够多的动态特征点才能判定该bbox 是动态的;且部分物体检测到特征点少,部分物体检测到特征点多,因此,设定一个固定的阈值是不合适的。据此,作者提出了ATA (Adaptive Threshold Adjustment),即根据bbox 内外点所占的比例来确定该bbox 是否是动态的,因为false-negative 对SLAM 影响较大,所以作者设置了一个较低的阈值——40%,对于人类,则设置为一个动态特征点。

fig4

bbox 运动状态检测算法的过程如算法一所示:

a1

3.4 Culling dynamic points

由于bbox 的模糊性,作者选择仅对同时属于动态bbox 内且在静态bbox 外的点进行剔除。