0%

论文记录 3DS-SLAM_A 3D Object Detection based Semantic SLAM towards Dynamic Indoor Environments

Krishna, Ghanta Sai, Kundrapu Supriya, and Sabur Baidya. “3DS-SLAM: A 3D Object Detection Based Semantic SLAM towards Dynamic Indoor Environments.” arXiv, October 10, 2023. https://doi.org/10.48550/arXiv.2310.06385.

1 Introduction

本文的贡献:

  • 将一个轻量级3D HTx 物体检测架构集成到vSLAM 中,使得系统可以获取动态环境中的语义-空间信息
  • 提出一个新颖的端到端架构,集成了HTx 和 HDBSCAN 来有效解决语义和几何约束,实现对整体的优化;
  • 实验证明了3DS-SLAM 超越了现有的算法,增强了系统在动态环境中的位姿准确性与稳定性

3 3DS-SLAM: The Approach

3.1 System Architecture

3DS-SLAM 是在ORB-SLAM2 的基础上进一步开发实现的,系统整体架构如Fig. 1所示:

fig1

相较于ORB-SLAM2 ,本系统额外增加了两个线程:3D 物体检测线程以及动态特征滤波线程。系统框架如Fig. 2所示,3D 物体检测线程使用一个轻量级的HTx 架构,动态特征滤波线程利用基于几何深度的HDBSCAN 聚类来识别动态点。

fig2

3.2 Hybrid Transformer: Light-Weight 3D Object Detector

在vSLAM 中,相机捕获的图片一般只包含物体的局部信息,这使得利用局部物体信息进行预测的算法变得很必要。本文使用的HTx 架构以3D 点云作为输入,预测物体的状态,包括深度、朝向以及位置信息;该方法与现有的transformer 架构在数据层面有很大的不同,包括点云预处理以及同时使用点特征体素特征来进行局部物体的定位。由于3D 点云的计算量要远大于图片,因此,作者对点云进行了大量的预处理(Voxel Downsampling, RANSAC-Ground Filtering, Radius based Outlier Removal 等) 来进行有效压缩;而且,本HTx 架构将实时性作为优先考虑,因此不使用点云的颜色和法向量信息进行物体检测。

本系统所使用的3D 物体检测算法是基于3DETR 进行改进的,以增强其与vSLAM 的兼容性,特别是强化了局部物体检测层,以解决vSLAM 中由于部分观测、相机旋转以及其他环境因素导致的检测失败。同时为局部感知物体定位和类别感知物体定位设计一个损失函数过于复杂,所以作者设计了两个独立的损失函数。对于每个3D bbox,其参数表示为 $\hat{b} =[\hat{c},\hat{d},\hat{a},\hat{s}]$ ,其包含以下元素:

  1. 几何元素 $\hat{c},\hat{d}\in[0,1]^3$ 定义了bbox 的中心与尺寸,$\hat{a} = [\hat{a}_c, \hat{a}_r]$ 表示角度与角度残差;
  2. 语义项 $\hat{s} = [0, 1]^{K+1}$ 表示物体所属类别的概率分布。

作者使用L1 回归损失来表示中心与尺寸的损失函数,使用Huber 回归损失表示角度残差损失函数,使用交叉熵表示角度和语义分类损失:

f1

对于局部感知物体定位,作者通过表示点在3D bbox 框内的相对位置,为每个点定义一个物体内部局部定位,每个点坐标为 $(x^p, y^p, z^p)$ ,则其物体内部的局部坐标表示为 $(x^f, y^f, z^f)$ :

f2

其中,$(x^c, y^c, z^c)$ 表示bbox 的中心坐标,bbox 的尺寸与朝向参数为 $(h, w, l, \theta)$ 。

为了估计 $(x^f, y^f, z^f)$ ,定义每个点的交叉熵损失函数

f3

其中,$\tilde{u}^f$ 表示预测的局部坐标 $(x^f, y^f, z^f)$ ;$u^f$ 表示真实的坐标。

3.3 HDBSCAN Clustering and Dynamic Feature Filter

物体检测算法获取的bbox 通常会包含大量的背景点,特别是对于非刚性物体情况更为明显。作者以人为对象,阐述一下如何对bbox 内的外点进行剔除。人类表面的特征点通常有着较好的深度连续性,且与背景有着较大的深度差别;因此,当人类bbox 占据视野中的绝大部分时,作者对HDBSCAN 密度聚类算法进行优化,来区分bbox 内的前景点与背景点:将具有较低深度参数的点进行聚类,作为前景动态点,可增强HDBSCAN 的鲁棒性,且可有效应对人类被其他物体部分遮挡的情况。

HDBSCAN 算法处理3D 空间点 K深度图 D,利用core distance $k(i)$ 定义点密度, $k(i)$ 表示一个点到k-th 最近邻域的欧式距离。为了区分低密度点(高 $k(i)$ ),作者定义了一个 mutual reachable distance:

f4

本算法与同类算法的精度比较:

t1

时间消耗对比:

fig3

可以看出3DS-SLAM 的实时性能相当不错,这是因为其进行了以下操作:

  1. 对语义线程和几何线程进行并行处理
  2. 对点云进行预处理,消除掉不必要的数据。