Object Association for Semantic SLAM

对论文 Accurate Object Association and Pose Updating for Semantic SLAM (TITS 2022) 的阅读整理。

Object Association for Semantic SLAM

论文情况

  • 标题:Accurate Object Association and Pose Updating for Semantic SLAM
  • 作者:Kaiqi Chen, Jialing Liu, Qinying Chen, Zhenhua Wang, Jianhua Zhang
  • 会议:TITS (IEEE Transactions on Intelligent Transportation Systems), 2022
  • 源码:未开源

1. Introduction

语义 SLAM 的关键是利用物体作为 landmarks,因此准确的目标关联能为 SLAM 提高精度,SLAM 也可以为目标关联提供较好的初值。一些目标关联是在整个环境中执行,因此所有对象的测量是同时考虑的。但是随着地图尺度变大,需要测量更多目标,这会导致额外的计算并降低准确度。

为提高目标关联的准确性,前作 HDP-SLAM [1] 了一种基于分层狄利克雷处理(Hierarchical Dirichlet Processing, HDP)的目标关联方法。该方法将每个关键帧视为一个组,对于每次物体测量,只需要遍历有共同视图的关键帧,以确定是关联相同的物体还是新物体。然而,该方法仅利用每次单一目标测量在世界坐标中的位置和外观来确定是否与其他目标测量相同。因此,当同一类中的多个物体距离很近时,正确关联物体具有挑战性,如图-1。

另外,如何为一个物体 landmark 选择最佳的姿态估计也需要考虑的,landmark 的姿态来自与其相关的第一个物体测量的姿态。由于一个 landmark 可与多个测量相关联,而第一次的估计姿态可能并不准确,因此将其姿态作为 landmark 的姿态是不合理的。

为了实现鲁棒的目标关联和姿态估计,提出一种基于关键帧组的层次化目标关联策略,以及一种从所有相关目标测量中为 landmark 选择最优姿态的方法。分层对象关联包括两层:

  • 第 1 层在由多个相邻关键帧组成的关键帧组内进行目标关联,其中采用 MOT 进行短期目标关联;
  • 第 2 层采用 HDP 模型进行全局对象关联。

在 AirSim 构建的一个模拟医院中进行实验,其中收集了多个无人机视角下的序列,如图 2.1。还在三个真实的医院序列中评估了方法,如图 2,以及 KITTI 数据集进行了实验。

2. Object SLAM

原始 HDP-SLAM 通过 SSD 获得目标测量值,检测对象并在关键帧输出 2D 边界框。根据边界框裁剪的图像块输入姿态预测网络 [2] 中,得到物体的三维姿态测量值。这没有考虑相邻几帧目标检测的时空相关性。因此,这可能导致相邻关键帧中具有相似外观和相近位置的物体被错误地关联。其次,由于无法检测到一些物体,物体测量可能会丢失。

本文提出使用一步 MOT 来检测和跟踪相邻关键帧中的目标测量。将相邻的关键帧分组,在一组关键帧中,可以通过目标跟踪实现目标关联。这个组中的关键帧数量很少(通常小于10),所以组内的目标跟踪或目标关联是准确的。为了在组间进行关联,则应用 HDP。在组间目标关联后,通过使用与每个 landmark 相关的所有目标的姿态来细化 landmark 的姿态。

2.1. Object Association

如图-3,系统在时间轴 TT 上有关键帧 F1:D={F1,...,FD}F_{1:D}=\lbrace F_1, ..., F_D \rbrace,将相邻 MM 个关键帧合并为关键帧组。将设在时间 tt,有 NN 个关键帧组。两个相邻组间有 jj 个重合关键帧,为帧间关联添加约束。因此,记 Gt={g1,...,gN}G_t = \lbrace g_1, ..., g_N \rbrace 为在 tt 时刻获取到的关键帧组。

在每个组中,使用 FairMOT[3] 进行目标关联。由于组内仅有 M(<10)M(<10) 个关键帧,因此 MOT 是相对准确的。组间则使用 HDP 进行关联。在此基础上,进一步构建高斯混合模型(GMM[4])来表示同一组中与多个目标相关的 landmark。

2.1.1. Object Association Within a Single Keyframe Group

在一个关键帧 FmF_m 中,获得目标检测 Lm={Lm,1,...,Lm,Km}L_m = \lbrace L_{m,1}, ..., L_{m, K_m} \rbraceKmK_m 为检测到的目标数。一个目标测量 Lm,kL_{m,k} 包含目标关联的所有信息:

Lm,k={IDm,kobj,IDm,kkf,Boxm,k,Posem,k}(1)L_{m,k} = \left\lbrace ID_{m,k}^{obj}, ID_{m,k}^{kf}, Box_{m,k}, Pose_{m,k} \right\rbrace \tag{1}

IDm,kobj,IDm,kkf,Boxm,k,Posem,kID_{m,k}^{obj}, ID_{m,k}^{kf}, Box_{m,k}, Pose_{m,k} 为目标检测的分类 ID、关键帧 ID、检测框、物体位姿。

一个关键帧组中可能多次观测到同一 landmark,通过 FairMOT 可以高效的将这些观测和 landmark 相关联。在第 nn 个关键帧组中,记第 mm 个关键帧中第 kk 个目标测量 Lm,kGL_{m,k}^G 和第 ii 个 landmark 的关联为 sn,im,k=<On,iG,Lm,kG>s_{n,i}^{m,k}=<O_{n,i}^G, L_{m,k}^G>GG 表示一个关键帧组中的关联。如果一个目标测量无法与之前的 landmark 关联,则出现新的 landmark。最后,在关键帧组内获得一个 landmark 集合,记为 OnG={On,1G,...,On,IG}O_n^G = \lbrace O_{n,1}^G, ..., O_{n,I}^G \rbrace。这些 landmark 不是最终的结果,但用于全局结果的关联提取。

2.1.2. Object Association Among Consecutive Keyframe Groups

如图-4,红框内为组间关联:

关键帧组间目标关联的基本元素不再是每个关键帧中检测到的单个目标测量,而是每个关键帧组内的 landmark On,iGO_{n,i}^G。由于一个关键帧组中的 landmark 通常与多次目标测量相关联,因此它可以为该组中的 landmarks 提供更多的姿态和外观信息。

使用 GMM 建模一个关键帧组内与同一 landmark 关联的目标测量的位姿信息:

Γ(OΘ)=z=1Zλzϕ(OΘz)(2)\Gamma(O|\Theta) = \sum_{z=1}^Z \lambda_z \phi(O|\Theta_z) \tag{2}

λz\lambda_z 为权重系数,ϕ(OΘz)\phi(O|\Theta_z) 为高斯分布,Θz={μz,Σz}\Theta_z = \lbrace \boldsymbol{\mu}_z, \boldsymbol{\Sigma}_z \rbrace 且:

ϕ(OΘz)=12πΣz12exp((Oμz)TΣz1(Oμz)2)(3)\phi(O|\Theta_z) = \frac{1}{\sqrt{2\pi}|\boldsymbol{\Sigma}_z|^{\frac{1}{2}}} \exp({-\frac{(O - \boldsymbol{\mu}_z)^T \boldsymbol{\Sigma}_z^{-1}(O - \boldsymbol{\mu}_z)}{2}}) \tag{3}

在 (2) 式,landmark OO 关联到目标测量 ZZ,每个测量的观测数据是 6-DoF 的。

当确定第 nn 组第 ii 个 landmark On,iGO^G_{n,i} 是否关联到第 mm 组第 jj 个 landmark Om,jGO^G_{m,j} 时,计算与 On,iGO^G_{n,i} 关联的所有目标测量值相对 Om,jGO^G_{m,j} 构建的 GMM 的概率,并为接下来 Gibbs 采样选择最大概率值。由于相邻组之间存在一些重合帧,这些帧中的目标测量可能会与分属不同组的 landmark 相关联。因此,在关键帧组之间进行目标关联时,两个组内 landmark 与同一全局 landmark 关联的先验概率较高。

最终,关键帧组内的一个 landmark On,iGO_{n,i}^G 在全局地图中被赋予一个唯一 landmark ID pp,即 qp=<Op,On,iG>q_p = <O_p, O^G_{n,i}>。此处设时间 tt 时地图中已有 PP 个 landmarks。

2.2. Pose Optimization of Object Landmark

将 landmark 关联的第一个目标测量的位姿作为 landmark 的最终位姿是不够准确的,因此本文考虑将所有的关联目标测量进行融合。计算关联到某一 landmark 的第 kk 个测量和第 ll 个测量的角度差 θk,l\theta_{k,l} 和距离差 φk,l\varphi_{k,l}。由于两个差值存在尺度差异,因此设最大角度差异 AA 和最大距离差异 BB 进行规范化:

θˉk,l={1,if θk,l>Aθk,l/A,otherwise(4)\bar{\theta}_{k,l}= \begin{cases} 1, &\text{if } \theta_{k,l} > A \\ \theta_{k,l}/A, &\text{otherwise} \end{cases} \tag{4}

φˉk,l={1,if φk,l>Bφk,l/B,otherwise(5)\bar{\varphi}_{k,l}= \begin{cases} 1, &\text{if } \varphi_{k,l} > B \\ \varphi_{k,l}/B, &\text{otherwise} \end{cases} \tag{5}

关联于 landmark OpO_p 的第 kk 个测量的平均位姿差为:

fOp(Lk)=α×lZ\kθˉk,lZ1+β×lZ\kφˉk,lZ1(6)f_{O_p}(L_k) = \alpha \times \frac{\sum_{l \in Z \backslash k} \bar{\theta}_{k,l}}{|Z| - 1} + \beta \times \frac{\sum_{l \in Z \backslash k} \bar{\varphi}_{k,l}}{|Z| - 1} \tag{6}

ZZ 为关联到 OpO_p 的所有测量,Z\kZ \backslash k 表示除去 LkL_kα=0.4,β=0.6\alpha = 0.4, \beta = 0.6 为权重。之后,排序这些位姿差,选择差值最小的位姿差对应的目标测量的位姿作为 landmark 的位姿。

3. Experimental Results

  • 数据集:AirSim 模拟和真实的医院环境,KITTI
  • 软/硬件:Linux + 3.6GHz 8 Core CPU + RTX 2070
  • SOTA:ORB-SLAM2、HDP-SLAM

3.1. Accuracy Evaluation on the Simulation Hospital

3.2. Accuracy Evaluation on the Real Hospital Dataset

3.3. System Performance on KITTI Dataset

参考

  • [1] J. Zhang, M. Gui, Q. Wang, R. Liu, J. Xu, and S. Chen, “Hierarchical topic model based object association for semantic SLAM,” IEEE Trans. Vis. Comput. Graphics, vol. 25, no. 11, pp. 3052–3062, Nov. 2019.
  • [2] S. Tulsiani and J. Malik, “Viewpoints and keypoints,” in Proc. IEEE
    Conf. Comput. Vis. Pattern Recognit., Jun. 2015, pp. 1510–1519.
  • [3] Y. Zhang, C. Wang, X. Wang, W. Zeng, and W. Liu, “Fairmot: On the
    fairness of detection and re-identification in multiple object tracking,”
    Int. J. Comput. Vis., vol. 129, no. 11, pp. 3069–3087, 2021.
  • [4] D. A. Reynolds, “Gaussian mixture models,” Encyclopedia biometrics,
    vol. 741, pp. 659–663, Jul. 2009.