
# SeDAR – 语义检测与定位：人类可以在没有激光雷达的情况下进行定位，机器人可以吗？

Oscar Mendez

萨里大学

Guildford GU2

Simon Hadfield

萨里大学

Guildford GU2

<mailto:o.mendez@surrey.ac.uk>

<mailto:s.hadfield@surrey.ac.uk>

Nicolas Pugeault

埃克塞特大学

Exeter EX4

<mailto:n.pugeault@exeter.ac.uk>

Richard Bowden

萨里大学

Guildford GU2

<mailto:r.bowden@surrey.ac.uk>

摘要：人们如何通过平面图确定自己的位置？ 也许可以肯定地说，我们不会显式地测量到每个可见表面的深度，然后尝试将这些深度与平面图中的不同姿态估计进行匹配。 然而，大多数机器人扫描匹配算法正是这样运作。 同样，我们不会将平面图中存在的 2D 几何信息扩展到 3D，然后将其与真实世界对齐。 然而，这是大多数基于视觉的方法进行定位的方式。

人类的做法恰恰相反。 我们不是使用深度信息，而是使用高级的语义线索。 我们不是将平面图扩展到第三维度，而是将 3D 世界压缩成 2D 表示。 这就证明了我们日常生活中使用的许多平面图并不准确，而是倾向于使用高度辨识的标志性元素。

在这项工作中，我们利用这一见解，提出了一种全局定位方法，该方法仅依赖于平面图中以及从 RGB 图像中提取的语义标签。 尽管我们的方法可以在可用时使用范围测量，但我们证明了它们是多余的，因为我们可以在不使用它们的情况下获得与最先进方法相当的结果。

## I. 简介

室内定位可能是任何机器人系统最重要的方面之一。 它允许机器人与世界互动，并提供可以与人类和其他代理共享的表示和理解。 传统的基于视觉的同步定位与地图构建 (VSLAM) 系统可以在构建的地图中提供定位。 然而，VSLAM 系统容易出现姿态和比例上的漂移。 在循环闭合失败的情况下，VSLAM 系统也可能变得全局不一致。 此外，即使在没有比例漂移和正确循环闭合的情况下，VSLAM 系统只能保证其内部的全局一致性。 这意味着，虽然姿态估计是全局一致的，但它们仅在 VSLAM 系统的上下文中有效。 在纯视觉系统中，我们无法直接将重建与真实世界相关联（或在不同代理之间进行关联）。

这个问题通常通过使用能够将机器人姿态与现有地图关联的定位系统来解决。 全局定位框架的例子包括全球定位系统 (GPS) 和传统的蒙特卡洛定位 (MCL)。 MCL 能够根据现有的平面图进行定位（这对于大多数室内场景来说是一个可以安全假设的条件）。 这是一个非常理想的特性，因为它隐式地消除了漂移，并且是全局一致的，并且提供了一种方法，可以在不进行昂贵的后期优化的情况下，将创建的 3D 重建与真实世界相关联。 传统上，MCL 所需的基于范围的扫描是由诸如激光雷达 (LiDAR) 之类的昂贵传感器产生的。 较新的是，

![Image](images/a6b99cf7e51936b891ed9fe8451ba55ca12e20436ee179465c7e06f403fef5ea.jpg)

<div style="text-align: center;">Fig. 1: A) RGB Image, B) CNN-Based Semantic Labelling and C) Sample SeDAR Scan within floorplan.</div>

现代机器人平台通常使用 RGB-D 摄像头，这是一种廉价且占用空间小的替代方案。 这使得基于视觉的楼平面定位成为文献中的一个活跃研究课题。

然而，虽然已经提出了一些基于视觉的方法，但它们通常使用启发式方法将 2D 平面提升到 VSLAM 的 3D 坐标系中。 例如，刘等人 [^17] 使用诸如消失点 (VP) 等视觉线索，或者楚等人 [^5] 进行分块的 3D 重建，然后将这些重建拟合到外推的楼平面上。 这些方法的常见问题是，从图像中提取的 3D 数据通常与用于定位的楼平面垂直。 这意味着必须对未包含在楼平面中的尺寸做出假设。 这些方法也没有完全利用楼平面，而忽略了语义信息。

我们提出了一种根本不同的方法，该方法灵感来自于人类执行此任务的方式。 与丢弃有价值的语义信息不同，我们使用基于卷积神经网络 (CNN) 的编码器-解码器来提取高级语义信息。 然后，我们将所有语义信息压缩到 2D 中，以减少对环境的假设。 然后，我们使用这些标签、图像几何形状以及（可选地）深度信息，并结合语义标记的楼平面，创建一个最先进的传感和定位框架。

语义检测与测距 (SeDAR) 是一种创新的、以人为本的框架，它将新的语义感知功能与一种新颖的语义蒙特卡洛定位 (MCL) 方法相结合。 例如，图 1 显示了一个在楼平面中定位的 SeDAR 扫描示例。 我们表明，SeDAR 能够超越基于 LiDAR 的 MCL 方法。 SeDAR 还可以执行无漂移的局部和全局定位。 此外，实验结果表明，语义标签是

---

足够强大的视觉线索，以至于不再需要深度估计。 这种仅使用视觉的方法不仅可以与基于深度的​​方法相媲美，而且还可以更优雅地处理地图不准确性。

本文描述了 SeDAR 如何用作一种新颖的、以人为本的传感和定位框架的过程。 在第 III-A 节中，从楼平面中提取出语义显著的元素。 第 III-B 节描述了如何使用最先进的基于 CNN 的语义分割算法在机器人的相机中识别这些语义元素，并将其呈现为一种新的感知模式。 然后，我们介绍了本文的三个主要贡献。 首先，第 III-C 节介绍了一种新的运动模型，该模型包括一个“幽灵因子”，该因子使用语义信息来影响粒子在占用空间中的移动方式。 其次，第 III-D 节介绍了一种新的传感器模型，该模型使用语义信息、范围和方位信息来估计观测概率。 再次，第 III-E 节介绍了一种第二种新的运动模型，该模型使用语义和方位信息，以便仅从 RGB 图像中估计观测概率。 最后，在第 IV 节中，我们展示了使用我们的方法在多种感知模式下获得的结果。

### II. 文献综述

蒙特卡洛定位 (MCL) 的实现，得益于精确的基于距离的传感器，例如声呐 (SONAR) 和激光雷达 (LiDAR) 的出现。这些方法，我们称之为基于距离的蒙特卡洛定位 (RMCL)，具有鲁棒性和可靠性，在许多机器人应用中仍然被认为是先进技术。计算机视觉领域的最新进展，使我们能够设想新型的感知传感器，这些传感器能够对场景进行语义理解。诸如 SeDAR 之类的语义传感模式，有能力彻底改变 MCL。

RMCL 首次由 Fox 等人 [^11] 和 Dellaert 等人 [^9] 提出。RMCL 通过允许表示多模态分布，改进了基于卡尔曼滤波的现有技术。它还解决了基于网格的马尔可夫方法的计算复杂性。然而，这些方法需要昂贵的 LiDAR 和/或声纳传感器才能可靠运行。相反，Dellaert 等人 [^8] 将他们的方法扩展为使用基于视觉的传感器模型。基于视觉的 MCL 允许使用丰富的视觉特征和廉价传感器，但与更可靠的基于 LiDAR 的系统相比，其性能有限。

随着 RGB-D 传感器的普及，基于视觉的更稳健的 MCL 方法成为可能。Paton 和 Kosecka [^19] 使用特征匹配和迭代最近点 (ICP) 算法来进行姿态估计和定位。Brubaker 等人 [^4] 在联合 MCL/闭环方法中使用视觉里程计和预先存在的地图来定位移动车辆。Fallon 等人 [^10] 提出了一种稳健的 MCL 方法，该方法使用低保真度的先验地图进行定位，但需要在空间中预先使用深度传感器进行扫描。Winterhalter 等人 [^26] 进行了 MCL，但基于传感器模型的可能性，该模型基于外推的平面图的法线。Chu 等人 [^5] 与我们的方法最接近，他们试图模拟人类的思维过程，通过创建外推的平面图的碎片化重建，然后基于这些重建进行 MCL 传感器建模。这些基于 MCL 的方法通常很稳健，但它们完全依赖于平面图中存在的几何信息，因此需要来自传感器或重建的深度图像。相比之下，我们的方法旨在利用平面图中存在的非几何语义信息来进行定位。

我们的方法与纯方位方法[^3]、[^24]最为相似，这类方法可利用已知路标的角度分布推导机器人智能体的位置。但我们的方法与这些方法存在本质区别，因为它不需要位置已知的有源路标。相反，我们依赖环境中已存在的语义信息：我们利用检测到的语义标签的角度分布对机器人进行定位。

虽然移动机器人定位和建图 (MCL) 领域在机器人领域不断发展，但在视觉领域，基于非 MCL 的“楼平面定位”技术变得更受欢迎。Melbouci 等人 [^18] 使用剖面楼平面，但使用局部优化而不是 MCL。Shotton 等人 [^21] 使用回归森林来预测图像中每个像素与已知 3D 场景的对应关系，然后使用随机抽样一致性 (RANSAC) 方法来解决相机姿态。Chu 等人 [^6] 使用来自楼平面和 Google 街景的信息来推断建筑物几何形状并进行鲁棒重建。与我们的方法最相似的工作是 Wang 等人 [^25]，他们使用从商店招牌检测到的文本作为语义线索，以在购物中心的楼平面中进行定位，以及 Liu 等人 [^17]，他们使用楼平面作为几何和语义信息源，并结合消失点来定位单目相机。这些基于视觉的方法倾向于利用楼平面中存在的更多非几何信息。然而，一个常见的趋势是，必须对楼平面中未包含的几何信息做出假设（例如，天花板高度）。然后，楼平面被扩展到 $3^{rd}$ 维度，以便使用户能够利用图像中的信息。相比之下，我们的方法旨在从图像中提取信息并将 3D 世界缩减到 2D 楼平面，从而可以在其中进行定位。这提供了一种 3 自由度 (DoF) 的定位方式，需要对环境做出较少的假设。

最近，深度学习的进步使鲁棒的语义分割模型广泛可用。诸如 Badrinarayanan 等人 [^1]、Kendal 等人 [^13] 和 Long 等人 [^20] 这样的方法，使基于语义信息的处理成为可能。其中一种方法是 Tateno 等人 [^23]，他们使用 Laina 等人 [^15] 基于 CNN 的深度和语义标签预测来辅助其同步定位与建图 (SLAM) 流程。Lee 等人 [^16] 扩展了 Badrinarayanan 等人 [^1] 的方法，直接估计房间布局的关键点。虽然存在许多此类方法，但它们主要侧重于基于曼哈顿世界假设提取房间布局。相反，这项工作提出使用人类可读的楼平面中固有的语义分割（人类可以理解）来提取标签。这使我们能够获取所有这些信息，并将其转换为一个 3-DoF 问题，从而使我们的方法比竞争的 6-DoF 方法更具可处理性，同时避免了额外的假设。

### III. 方法论

当前最先进方法的局限性在于它们仅限于范围信息。因此，我们提出了一个名为 SeDAR 的新颖的语义感应和定位框架。

---

![Image](images/f098b40d9046ab86e271a6571360c54e3917be418b4f22b7427c5f18d35dc4b7.jpg)

<div style="text-align: center;">(a) Original floorplan</div>

![Image](images/b2636371d8e947546ad977ed8924fee4fd09aec5c247539ca40cc49fb6640a15.jpg)

<div style="text-align: center;">(b) Occupancy</div>

![Image](images/eb9a02c5b420a122d50b5faa414031612fbb9ff6fce99cfe0bcf6f3e3a39c851.jpg)

<div style="text-align: center;">(c) Semantic Floorplan</div>

![Image](images/533564edec8c79661ff0695940bcc42a2748d5ace96264f761715329287c968b.jpg)

<div style="text-align: center;">(d) Wall Likelihood</div>

![Image](images/a99751490e6280cf9c0be654d57359f89cb53ea09f16c0f564c65f937b5d0b22.jpg)

<div style="text-align: center;">(e) Door Likelihood</div>

![Image](images/8ece97eb6ee0c85c66dc02deca734c6548b15e8ab09bb4c726d3c9d932a6d707.jpg)

<div style="text-align: center;">(f) Window Likelihood</div>

<div style="text-align: center;">Fig. 2: Left: Original floorplan and occupancy likelihood field. Right: semantic floorplan and label likelihood fields.</div>

我们将展示如何使用我们的新颖的 SeDAR 感应和定位框架，在性能上优于传统的 RMCL。

### A. 语义楼平面

RMCL 需要一个精确的、全局一致的楼平面和/或先前创建的范围扫描地图。使用人类可读的楼平面可以使系统比依赖于先前的探索和建图更具广泛的应用性。但是，楼平面和机器人观察之间的差异（例如，不准确、比例变化和家具）可能会降低可靠性。

为了克服这个问题，我们通过将从现有平面图中提取的语义标签添加到定位信息中。在我们的实验中，我们将这些标签限制为墙壁、门和窗户（见图 2），这些元素易于从平面图中自动提取，并且对于人类定位也很重要。

为了使机器人能够读取带有标签的平面图，它必须首先将其转换为占用栅格。占用栅格是世界的二维表示，其中栅格中的每个单元格都有一个占用概率，该概率由其归一化灰度值确定。

如果 $\mathbb{M}$ 是一个二维位置集合，则可以将地图定义为 $\mathbb{V} = \left\{ v_{\mathbf{m}}; \mathbf{m} \in \mathbb{M} \subset \mathbb{Z}^{+2} \right\}$。然后，假设 $\mathcal{L} = \{a, d, w\}$ 是可能的单元格标签集合（墙壁、门、窗户），则每个单元格定义为 $v_{\mathbf{m}} = \left\langle v_{\mathbf{m}}^{o}, v_{\mathbf{m}}^{w}, v_{\mathbf{m}}^{d}, v_{\mathbf{m}}^{a} \right\rangle$，其中 $v_{\mathbf{m}}^{o}$ 是占用可能性，$\ell \in \mathcal{L}$ 表示标签可能性。

### B. SeDAR 传感器

现代低成本机器人系统将时间 t 接收到的 RGB-D 图像转换为一组距离 $(r_t^k)$ 和方向 $(\theta_t^k)$ 组合。SeDAR 为此组合添加了一个语义标签 $(\ell_t^k)$。与同时使用整个图像不同（这会很困难），这些组合沿着水平扫描线排列 $(z_t = \{\langle \theta_t^k, r_t^k, \ell_t^k \rangle; k = 1..K\}$，其中 k 是水平像素位置。在本研究中，假设中心扫描线与地面平面平行，因此用于将 RGB-D 图像的 3D 信息转换为 2D 平面图。

虽然可以使用简单的几何方法提取距离和方向值，但它们对应的标签必须使用最先进的语义分割算法进行估计。可以使用任何语义分割方法，但是，目前基于深度学习的方法在该领域的基准测试中占据主导地位 [^7]。因此，使用基于 CNN 的编码器-解码器网络 [^13]。该网络在 SUN3D [^27] 数据集上进行训练，并且可以可靠地检测门、墙壁、地板、天花板、家具和窗户。这种最先进的语义分割可以在实时运行，这使得可以将图像解析为具有可忽略延迟的 SeDAR 扫描。标签 $\ell_k^k$ 只是水平扫描线上的像素 k 处的标签。

重要的是要注意，我们仅从 RGB 图像中提取标签。这是出于设计考虑，因为它允许使用无法感知深度的相机。在以下部分，我们将使用这种新型传感模式，结合和不结合基于距离的测量值，进行一种新颖的 MCL 建模。

### C. 运动模型

MCL 运动模型通常表示为分布 $\Pr\left(s_{t}^{i\prime}|u_{t},s_{t-1}^{i}\right)$，其中先前的粒子集 $s_{t-1}^{i}$ 使用里程计测量值 $u_{t}$ 传播到当前的粒子集 $s_{t}^{i}$。然而，文献中明确指出，实际被近似的分布是 $\Pr\left(s_{t}^{i\prime}|u_{t},s_{t-1}^{i},V\right)$。这编码了这样一个想法，即某些运动比其他运动更可能发生，这取决于地图（例如，通过墙壁）。在假设机器人运动很小的情况下，可以证明

 $$ \Pr\big(s_{t}^{i\prime}\big|u_{t},s_{t-1}^{i},\mathbb{V}\big)=\kappa\Pr\big(s_{t}^{i\prime}\big|u_{t},s_{t-1}^{i}\big)\Pr\big(s_{t-1}^{i}\big|\mathbb{V}\big) $$

（参见例如 [^24]），其中 $\kappa$ 是一个归一化因子，$\mathbb{V}$ 是包含地图中每个单元格的集合。这允许独立地处理这两个可能性。运动 $\Pr\left(s_{t}^{i\mid} | u_{t}, s_{t-1}^{i}\right)$ 定义为 RCML 中的运动 [^24]。先验是包含 $s_{t}^{i}$ 的单元格的占用可能性，即 $\Pr\left(s_{t-1}^{i} | \mathbb{V}\right) = 1 - \Pr\left(v_{s_{t-1}}^{i}\right)$

然而，当使用人类制作的平面图时，这种先验估计方法会变得有问题，因为这些平面图通常在扫描过程中会引入图像伪影。因此，大多数方法会使用阈值处理以确定占用情况。

 $$ \Pr\left(v_{s_{t-1}}^{o}\right)=\begin{cases}1&if v_{s_{t-1}}^{o}\geq\tau_{o}\\ 0&otherwise\end{cases} $$

其中，$\tau_{O}$ 是用户定义的阈值。这会加剧平面图准确性和遮挡的问题。例如，大多数人甚至不会注意到门与它应该在的位置相差几厘米。然而，这在粒子通过门时会造成实际问题，因为许多有效的粒子会在与门框的预期边缘接触时被丢弃。我们建议通过一个“幽灵因子”$(\epsilon_{o})$ 来补充此项，以便在这些情况下允许粒子有更大的灵活性。因此，所提出的先验模型为：

 $$ \operatorname*{P r}\left(s_{t-1}^{i}\big|\mathbb{V}\right)=\left(1-\operatorname*{P r}\left(v_{s_{t-1}}^{o}\right)\right)e^{-\epsilon_{g}\delta_{a}} $$

其中，$\delta_{a}$ 是到最近门的距离。虽然可以使用其他标签，例如窗户，但在地面机器人的情况下，门就足够了。距离 $\delta_{a}$ 可以使用查找表有效地估计，如第三部分 D 所示。

更重要的是，$\epsilon_{G}$ 是一个用户定义的因子，用于确定对这种惩罚的施加程度。设置 $\epsilon_{G} = 0$ 允许粒子在没有惩罚的情况下穿过墙壁，而非常高的值近似于方程 2。我们将探讨

---

$\epsilon_{G}$ 的影响，将在第四部分 D 中进行讨论。这种运动模型比大多数基于 RMCL 的方法使用的占用模型在概率上更准确，并且具有利用地图中存在的高级语义信息的额外优势。

### D. 传感器模型

将语义测量纳入传感器模型的简单方法是使用光线投射模型。在这种模式下，光线投射操作不仅会提供光线行走的距离，还会提供光线击中的单元格的标签。如果单元格的标签与观察结果匹配，则会增加该粒子的正确性。然而，这种方法存在与传统光线投射模型的相同局限性：它缺乏平滑性。另一方面，可能性场模型具有更高的平滑性，因为它提供了每个单元格之间的梯度。相比之下，此处提出的方法使用一种联合方法，该方法可以使用可能性场来整合语义信息，并且还可以在存在语义标签的情况下使用光线投射。

似然场模型会计算一张距离图。对于每个单元$v_{m}$，其值为到最近占据单元的距离

 $$ \delta_{o}\left(\mathbf{m}\right)=\min_{\mathbf{m}^{\prime}}\left\|\mathbf{m}-\mathbf{m}^{\prime}\right\|,\quad v_{\mathbf{m}^{\prime}}^{o}>\tau_{o} $$

为了清晰起见，我们省略参数 $\mathbf{m}$，在本文的其余部分中。当接收到测量值 $z_t^k = \langle \theta_t^k, r_t^k \rangle$ 时，会估计端点，并将其用作距离图的索引。假设存在高斯误差分布，则可以估计每个粒子的权重 $s_t^{i\prime}$。

 $$ \begin{array}{r}{\operatorname*{P r}_{\mathtt{R N G}}\left(z_{t}^{k}\big|s_{t}^{i\prime},\mathbb{V}\right)=e^{-\frac{\delta_{o}^{2}\big/2\sigma_{o}^{2}}{\tau}}}\end{array} $$

其中，$\delta_{o}$ 是从距离图中获得的值，而 $\sigma_{o}$ 由传感器的噪声特性决定。然而，此模型有三个主要限制。首先，它没有利用地图中存在的语义信息。其次，参数 $\sigma_{o}$ 必须由用户估计，并且假定扫描中的所有测量值具有相同的噪声参数。第三，它无法在没有范围测量的情况下工作。

 $$ \delta_{_{\ell}}\left(\mathbf{m}\right)=\operatorname*{m i n}_{\mathbf{m}^{\prime}}\left\|\mathbf{m}-\mathbf{m}^{\prime}\right\|,\quad v_{_{\mathbf{m}^{\prime}}}^{\ell}>\tau_{o} $$

相反，这项工作使用地图中存在的语义标签来创建多个可能性场。对于平面图中存在的每个标签，我们可以计算一个距离图，该距离图存储到具有相同标签的单元格的最短距离。正式地，对于每个地图单元格 $v_{m}$，我们可以估计到每个标签的最近单元格的距离：

其中 $\delta_{\ell}=\{\delta_{a},\delta_{d},\delta_{w}\}$ 分别是到最近的墙壁、门和窗户的距离。图 2 显示了每个标签的距离图。这种方法克服了最先进技术的三个局限性，我们现在将讨论这些局限性。

1) 语义信息：首先，SeDAR 使用地图中存在的语义信息。当我们接收到观察结果 $z_t^k = \langle \theta_t^k, r_t^k, \ell_t^k \rangle$ 时，我们使用方位角 $\theta_t^k$ 和范围 $r_t^k$ 信息来估计扫描的端点。然后，我们使用标签 $\ell_t^k$ 来决定使用哪个语义可能性场。使用前一步骤中的端点，可以使用类似于方程 5 的方式来估计标签的可能性：

   $$ \begin{array}{r}{\operatorname*{P r}_{\mathtt{L B L}}\left(z_{t}^{k}\big|s_{t}^{i\prime},\mathbb{V}\right)=e^{-\frac{\delta_{\ell}^{2}}{2\sigma_{\ell}^{2}}}}\end{array} $$

其中 $\delta_{\ell}$ 是到相关标签的最近单元格的距离，而 $\sigma_{\ell}$ 是标准差（我们将使用标签先验来定义它）。然后，可以估计观察结果与地图和姿势的概率：

 $$ \Pr\left(z_{t}^{k}\mid s_{t}^{i\prime},\mathbb{V}\right)=\epsilon_{o}\Pr_{\mathrm{RNG}}\left(z_{t}^{k}\mid s_{t}^{i\prime},\mathbb{V}\right)+\epsilon_{\varepsilon}\Pr_{\mathrm{LBL}}\left(z_{t}^{k}\mid s_{t}^{i\prime},\mathbb{V}\right) $$

其中 $\epsilon_o$ 和 $\epsilon_\ell$ 是用户定义的权重。当 $\epsilon_\ell = 0$ 时，可能性与标准 RMCL 相同。另一方面，当 $\epsilon_o = 0$ 时，该方法仅使用平面图中存在的语义信息。这些权重在第 IV 节中得到适当的探索和定义。与测距扫描仪不同，$\sigma_\ell$ 不能与传感器的物理特性相关联。相反，此标准差直接从地图上每个标签的先验估计得出。以这种方式定义 $\sigma_\ell$ 的优点是无需调整。但是，必须讨论一个更重要的影响。

2) 语义自适应标准差：当一个人阅读平面图时，独特的地标是最具辨别力的特征：从门的配置比从墙壁的配置更易于在平面图中定位。这转化为一个简单的见解：较低的先验更有辨别力。因此，$\sigma_{\varepsilon}$ 不仅与每个标签的先验相关，还因为它隐式地使观察稀有地标比常见地标更有利。

将 $\sigma_{\ell}$ 与标签先验 $\Pr(\ell)$ 相关联，控制分布相对于单元格的距离衰减的平滑程度。$\Pr(\ell)$ 越小，衰减越平滑。本质上，局部化算法应该对稀疏标签更宽容。

### E. 无范围的语义扫描匹配

这种方法最重要的优点是，能够在完全没有范围测量的情况下执行前面描述的所有方法。到目前为止，我们已经根据以下假设来形式化这种方法：接收到 $\langle \theta_t^k, r_t^k \rangle$ 元组（现有方法）或 $\langle \theta_t^k, r_t^k, \ell_t^k \rangle$ 元组（基于 SeDAR 的方法）。但是，这种方法可以直接在 $\langle \theta_t^k, \ell_t^k \rangle$ 元组上运行。换句话说，深度测量值明确地不用于此方法。

将范围无关的测量结果整合起来很简单。光束和可能性场模型以一种新颖的方式结合在一起，避免了传统RMCL方法中可能出现的退化现象。在标准方法中，射线投射操作在到达已占用单元格时终止，可能性被估计为

 $$ \begin{array}{r}{\operatorname*{P r}\left(z_{t}^{k}\big|s_{t}^{i\prime},\mathbb{V}\right)=e^{-\left(r_{t}^{k}-r_{t}^{k*}\right)^{2}\big/2\sigma_{o}^{2}}}\end{array} $$

其中 $r_t^k$ 是从传感器获得的范围，$r_t^{k*}$ 是射线行进的距离。不幸的是，在没有基于范围的测量值 $r_t^k$ 的情况下，这是不可能的。使用标准距离图也是不可能的，因为我们无法估计射线的端点。在距离图中进行射线投射也会失败。射线投射在已占用单元格处终止，这意味着对于每个投射的射线，$\delta_o = 0$ 始终成立。

另一方面，语义可能性场仍然可以被使用，因为 $\delta_{\varepsilon}$ 仍然会具有有意义且具有区分性的值。我们称这种操作为语义射线投射。对于每个 $z_{t}^{k}=\langle\theta_{t}^{k},\ell_{t}^{k}\rangle$，都执行射线投射。但是，与比较 $r_{t}^{k}$ 和 $r_{t}^{k*}$ 或使用 $\delta_{o}$ 不同，标签 $\ell_{t}^{k}$ 决定使用哪个可能性场。成本如下：

---

 $$ \begin{array}{r}{\operatorname*{P r}\left(\left.z_{t}^{k}\right|s_{t}^{i\prime},\mathbb{V}\right)=\operatorname*{P r}_{\mathrm{L B L}}\left(\left.z_{t}^{k}\right|s_{t}^{i\prime},\mathbb{V}\right)}\end{array} $$

其中 $\mathrm{Pr}_{L_{BL}}(z_{t}^{k}|s_{t}^{ij}, \mathbb{V})$ 在方程7中定义。这种方法本质上是光束模型和可能性场模型的组合。在没有范围测量值来估计端点的情况下，这种混合方法使用语义射线投射来找到最近的已占用单元格。然后使用这些距离为方程10提供平滑性，这意味着观测可能性与标签的角分布成正比。净效果是，这种方法对比例尺变化是具有不变性的，只要尊重地图的宽高比即可。

总而言之，本节介绍了几个重要概念。我们介绍了包含对人类具有重要信息的语义楼平面图的概念。我们还引入了一种新的传感模式，即SeDAR，它为传统的LiDAR信息添加了语义标签。然后，我们将这两个概念整合到一个新的基于MCL的方法中。该方法能够使用地图中存在的语义信息来定义一种新的运动模型。它还能够使用基于CNN的分割中的标签来在地图中进行定位。我们的方法可以在存在和不存在范围测量的情况下都执行上述所有操作。在以下部分，我们将展示我们的方法在使用深度信息时能够优于标准的RMCL方法，并且在不存在深度信息时也能提供可比的性能。

### IV. 结果

本节将证明基于SeDAR的MCL能够可靠地优于最先进的技术，并且在没有范围信息的情况下也能提供可比的性能。首先，我们将描述实验设置，包括创建轨迹数据集以及建立误差指标。然后，我们将比较几种方法，从房间级别和全局定位两个方面进行定量和定性比较。最后，我们将展示参数的影响。

### A. 实验设置

为了评估这种方法，我们需要一个数据集，该数据集具有几个重要的特性。该数据集应包含一个机器人，该机器人在一个人类可读的平面图中导航。需要人类可读性，以确保语义信息存在。轨迹应使用RGB-D相机捕获，以便提取所有可能的（范围、方位角和标签）组合。最后，我们期望机器人的轨迹位于与平面图相同的平面上。不幸的是，文献中大多数MCL数据集不包含平面图，而是使用激光扫描。RGB-D SLAM数据集更合适，但它们要么不在平面图平面上移动，要么根本不包含地面真实轨迹估计。

因此，我们被迫使用我们自己的数据集，我们将在公共领域提供该数据集。我们使用图2a中的平面图，因为它足够大，可以提供多个无重叠的轨迹。该数据集是使用流行的TurtleBot平台收集的，因为它具有一个前置Kinect，可用于模拟LiDAR和SeDAR。

通常，平面图定位的地面真实轨迹要么是手动估计的（如[^26]），要么是使用运动捕捉（MoCap）系统估计的（如[^22]）。但是，

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="7">Average Trajectory Error (m)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Approach</td><td style='text-align: center; word-wrap: break-word;'>RMSE</td><td style='text-align: center; word-wrap: break-word;'>Mean</td><td style='text-align: center; word-wrap: break-word;'>Median</td><td style='text-align: center; word-wrap: break-word;'>Std. Dev.</td><td style='text-align: center; word-wrap: break-word;'>Min</td><td style='text-align: center; word-wrap: break-word;'>Max</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>AMCL</td><td style='text-align: center; word-wrap: break-word;'>0.24</td><td style='text-align: center; word-wrap: break-word;'>0.21</td><td style='text-align: center; word-wrap: break-word;'>0.20</td><td style='text-align: center; word-wrap: break-word;'>0.11</td><td style='text-align: center; word-wrap: break-word;'>0.04</td><td style='text-align: center; word-wrap: break-word;'>0.95</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Range (Label Only)</td><td style='text-align: center; word-wrap: break-word;'>0.19</td><td style='text-align: center; word-wrap: break-word;'>0.16</td><td style='text-align: center; word-wrap: break-word;'>0.14</td><td style='text-align: center; word-wrap: break-word;'>0.10</td><td style='text-align: center; word-wrap: break-word;'>0.02</td><td style='text-align: center; word-wrap: break-word;'>0.55</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Range (Combined)</td><td style='text-align: center; word-wrap: break-word;'>0.22</td><td style='text-align: center; word-wrap: break-word;'>0.19</td><td style='text-align: center; word-wrap: break-word;'>0.17</td><td style='text-align: center; word-wrap: break-word;'>0.11</td><td style='text-align: center; word-wrap: break-word;'>0.04</td><td style='text-align: center; word-wrap: break-word;'>0.62</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Rays ( $\epsilon_a = 3.0$)</td><td style='text-align: center; word-wrap: break-word;'>0.40</td><td style='text-align: center; word-wrap: break-word;'>0.34</td><td style='text-align: center; word-wrap: break-word;'>0.27</td><td style='text-align: center; word-wrap: break-word;'>0.22</td><td style='text-align: center; word-wrap: break-word;'>0.07</td><td style='text-align: center; word-wrap: break-word;'>1.51</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Rays ( $\epsilon_a = 7.0$)</td><td style='text-align: center; word-wrap: break-word;'>0.58</td><td style='text-align: center; word-wrap: break-word;'>0.45</td><td style='text-align: center; word-wrap: break-word;'>0.38</td><td style='text-align: center; word-wrap: break-word;'>0.37</td><td style='text-align: center; word-wrap: break-word;'>0.02</td><td style='text-align: center; word-wrap: break-word;'>2.23</td></tr></table>

<div style="text-align: center;">TABLE I: Room-Level Initialisation</div>

这两种方法都存在局限性。手动地面真实

估计非常耗时且不切实际。MoCap

价格昂贵，难以校准，并且通常无法位于

平面图定位所需的公共区域。为了

克服这些限制，可以使用成熟的RGB-D SLAM

系统。Labbe

等人提出的优秀方法[^14]在复杂的环境中提供了非常准确的姿态估计。虽然它没有在平面图中进行定位，

但它确实提供了机器人的准确重建和轨迹，然后可以将其注册到平面图中。

它提供了一种准确的重建和轨迹，用于

该机器人，然后可以将该轨迹注册到平面图中。

为了定量评估所提出的方法与真实数据的对比，我们使用由 Sturm 等人 [^22] 提出的绝对轨迹误差 (A) 指标。通过首先使用 Horn 的封闭形式解 [^12] 将两个轨迹进行配准来估计 A。Horn 找到一个刚体变换 ${}^{\mathbf{T}}_{\mathbf{x}}$。在每个时间步长 t，可以估计 A 的值。

 $$ e_{\mathbf{g}}=\bar{\mathbf{g}}_{t}^{\mathrm{~1~G~}}\mathbf{T}_{\mathrm{x}}\mathbf{x}_{t} $$

其中$\mathbf{g}_t \in \mathbb{G}_t$和$\mathbf{x}_t \in \mathbb{X}_t$分别是地面真实轨迹和估计轨迹的当前时间对齐姿态。报告此误差指标的均方根误差（RMSE）、均值和中位数，因为这些指标可以指示房间级别的初始化性能。为了可视化全局定位过程，显示每个连续姿态的误差（误差随时间的变化）。这些指标足以客观地证明该系统能够全局地在平面图中进行定位，并且能够测量房间级别的初始化性能。

我们对比了本文提出的方法与机器人操作系统 (ROS) 中非常流行的 MCL 方法，即自适应蒙特卡洛定位 (AMCL) [^9]。虽然存在更现代的方法 [^2]，但它们基于与 AMCL 相同的原理，只是改变了粒子采样策略。更重要的是，AMCL 是机器人领域标准的 MCL 方法。因此，任何对该方法的改进都非常宝贵。在所有实验中，任何重叠的参数（例如 $\sigma_{o}$）都保持不变。唯一变化的参数是 $\epsilon$、$\epsilon_{o}$ 和 $\epsilon_{g}$。

### B. 房间级别的初始化

对于此评估，我们为 AMCL 和提出的方法提供了具有 2.0m 标准偏差的房间级别初始化，分别对应于 $(x,y)$ 和 $\theta$。然后，系统以最多 1000 个粒子的数量（最少 250 个）运行，这些粒子分布在协方差椭圆周围。我们记录了每添加一个新的图像数据集时的误差。

1) 定量结果：图 3a 比较了四种不同的场景与 AMCL 的性能。在这四种场景中，有两种使用来自 Microsoft Kinect 的范围测量值（蓝色线），另外两种仅使用 RGB 图像（红色线）。

第一个启用范围的场景使用范围测量值来估计测量值的端点（因此是距离图中索引），然后设置 ( $\epsilon_{o} = 0.0$、$\epsilon_{\ell} = 1.0$)。这意味着，虽然使用范围信息来告知距离图中的查找，但成本始终与标签直接相关。第二个启用范围的

---

<div style="text-align: center;">Room-Level Initialisation: Postion Error</div>

![Image](images/9173eb7410a001662a2d3b2c6dce093cff38de3eeec81e7079c7007799b6e631.jpg)

<div style="text-align: center;">Global Initialisation: Postion Error</div>

<div style="text-align: center;">(a) Room-level</div>

![Image](images/af57c3069c77e961e657d6f39fbc1fa5acd105f7adb2a21020d5774695878db3.jpg)

<div style="text-align: center;">(b) Global</div>

<div style="text-align: center;">Fig. 3: Semantic localisation with different initialisations.</div>

![Image](images/96b379ed87c48fe00635bbb8639c4f7cb60e9ed8545332fe4b3ee306b80f5bfc.jpg)

<div style="text-align: center;">(a) Room-Level Initialisation</div>

![Image](images/e89ae4f60088fbe3d98331f7482830cd7212c4cecd29e1133877daf3a8b3d05f.jpg)

<div style="text-align: center;">(b) AMCL</div>

![Image](images/2a52cd18b248886a85a1948f4ebfced17e9d77b435b13942dfc29b89cc0e8775.jpg)

<div style="text-align: center;">(c) SeDAR (Range-Based)</div>

![Image](images/b2c62c1fc2ea497c67e3b34314e549b07e9c7480ee8d1f2fcf089fb2e037fb4e.jpg)

<div style="text-align: center;">(d) SeDAR (Ray-Based)</div>

<div style="text-align: center;">Fig. 4: Qualitative view of Localisation in different modalities.</div>

场景对语义和传统方法进行了加权组合 ( $\epsilon_o = 0.25, \epsilon_\ell = 0.75$)。

对于我们方法的基于光线的版本，我们使用方程 10。这意味着没有需要设置的参数。相反，显示了一个轻微的幽灵因子 ( $\epsilon_{G} = 3.0$) 和一个 harsher 的幽灵因子 ( $\epsilon_{G} = 7.0$)。

由于房间级别初始化是一个相对简单的任务，与全局初始化相比，我们方法的基于范围的版本更难看到优势。但是，重要的是要注意，与此方法相近的基于光线的版本，尽管未使用深度数据，但性能也相当不错。除了几个峰值之外，我们的方法基本上与 AMCL 的性能相当。这在表 I 中变得更加明显，在那里，很明显，使用仅限标签的基于范围的语义 MCL 优于最先进的技术，而基于光线的 $\epsilon_g = 3.0$ 版本性能稍逊。$\epsilon_g = 3.0$ 性能优于 $\epsilon_g = 7.0$ 的原因是，小姿态误差会导致机器人通过门时“碰撞”墙壁。由于 $\epsilon_g = 3.0$ 对这些情况更加宽容，因此它能够优于 harsher 的幽灵因子。我们将进一步探讨这种关系，请参见第 IV 节。

2) 定性结果：在定性评估方面，我们显示了收敛行为和估计的路径。收敛行为可以在图 4 中看到。在这里，图 4a 显示了滤波器如何初始化为大致对应于机器人的房间。当机器人开始移动时，我们就可以

![Image](images/3264172683e680cd47e24a76edb6d2b8b3e016f4998980543cd15bdb80aaa14a.jpg)

<div style="text-align: center;">(a) AMCL</div>

![Image](images/307db9958f093b476e2830d5cd3bca01115a4c18264da693768c81ae566a0aec.jpg)

<div style="text-align: center;">(b) SeDAR (Range)</div>

![Image](images/daba3b2659b135073c84c9fe140852565c8765eec6edac137019e59c2fe61dec.jpg)

<div style="text-align: center;">(c) SeDAR (Ray)</div>

<div style="text-align: center;">Fig. 5: Estimated path from room-level initialisations.</div>

观察 AMCL (4b)、基于范围的 SeDAR (4c) 和基于光线的版本 (4d) 如何收敛。请注意，虽然基于光线的方案在粒子上的方差通常更大，但过滤器已成功进行定位。这可以从重建的 Kinect 点云与平面图对齐良好这一事实中看到。重要的是要注意，虽然 Kinect 点云用于基于光线的方案的可视化，但它没有被使用。

估计的路径如图 5 所示，其中红色路径是估计的路径，绿色是真实路径。图 5a 显示了最先进的方法，该方法在序列的开头（由蓝色圆圈标记）难以收敛。可以看出，图 5b 中的基于范围的方法（结合标签和范围）收敛速度更快，并且性能与 AMCL 相似。它仅在左侧长走廊的末尾略微偏离路径，而 AMCL 也发生了这种情况。还可以看到，基于光线的方案表现非常好。虽然它需要更长的时间才能收敛，如图 5c 中的估计轨迹所示，但它会纠正自身，并且仅在不确定性较大的区域（如长走廊）偏离路径。

这些实验表明，基于 SeDAR 的 MCL 能够在房间级别的初始场景中运行。现在重要的是讨论当系统没有提供初始姿态估计时，基于 SeDAR 的方法的分辨率。

### 全局初始化

现在我们关注基于 SeDAR 的 MCL 执行全局定位的能力。在这些实验中，系统不会得到任何关于机器人位置在地图上的位置的指示。相反，在平面图上放置最多 50k 个粒子（最少 15k 个）。

1) 定量结果：图 3b 显示了前面部分中的相同四个场景。对于基于范围的场景（蓝色线），可以看出，仅使用标签信息（$\epsilon_o = 0.0$、$\epsilon_\ell = 1.00$）始终优于最先进的方法，无论是在值收敛到最终结果的速度，还是最终结果的实际误差。这表明，在 MCL 上下文中使用 SeDAR 比 RMCL 中的标准占用图更具辨别率。第二个基于范围的测量值（$\epsilon_o = 0.25$、$\epsilon_\ell = 0.75$）明显优于所有其他方法。这可能是因为，从原则上讲，占用图可以被认为是语义平面图中的另一种“标签”。这很有意义，因为设置 $\epsilon_o = 0.25$ 等同于平等地加权所有标签，因为它是一个标签的 1/3，而 $\epsilon_\ell = 0.75$ 是 3 个标签的权重。就我们方法的基于光线的版本而言（红色线），我们比较了两种场景。一种是轻微的“幽灵”因子（$\epsilon_o = 3.0$），另一种是较强的“幽灵”因子（$\epsilon_o = 7.0$）。这两种方法都提供了与最先进的方法相当的性能。重要的是要强调，此方法完全未使用任何范围和/或深度测量值。因此，与基于深度系统的比较本质上是不公平的。尽管如此，基于 SeDAR 的

---

![Image](images/1bf0dd52871600c1a2bcf1bd51c72aae701cdc7ab7a005a6c7fe6ba86f8b3fd9.jpg)

<div style="text-align: center;">(a) Global Initialisation</div>

![Image](images/61b67d539e6cb754836c274b7e56902b9555e48697eedd80ceb32040133e2e30.jpg)

![Image](images/5edc40968b4a1767ea2334123fa15a9cf331a8e521ace82fa6a79ca64fd5f6b1.jpg)

<div style="text-align: center;">(b) Looking at Doors</div>

<div style="text-align: center;">(c) Converged</div>

<div style="text-align: center;">Fig. 6: Qualitative view of Localisation in different modalities.</div>

![Image](images/1900cb4dbb6c2b823efc14ab586801775eced39b1438ba699139612e46dab0df.jpg)

<div style="text-align: center;">(a) AMCL Path</div>

![Image](images/d08e1c7a861a4b0f347763c2ec9d7a548ad665112c8a0c4c4281fb11cc11e0f6.jpg)

![Image](images/220306c03ed2da775ff6ea5e30365c1cb9ac9d06a111b9b10a3f568c20501ecb.jpg)

<div style="text-align: center;">(b) SeDAR (Range)</div>

<div style="text-align: center;">(c) SeDAR (Ray)</div>

<div style="text-align: center;">Fig. 7: Estimated path from global initialisations.</div>

方法与 AMCL 进行了良好的比较。在收敛方面，具有轻微“幽灵”因子（$\epsilon_{g} = 3.0$）的方案比 AMCL 更快地达到几米范围，此时收敛速度减慢并被 AMCL 超越。稳态性能也相当。虽然性能暂时下降，但它设法恢复并始终保持稳定的误差率。另一方面，具有较强“幽灵”因子（$\epsilon_{g} = 7.0$）的方案需要更长的时间才能收敛，但保持稳定并最终优于具有较弱“幽灵”因子的方案。表 II 显示了 RMSE、误差以及其他统计信息。

2) 定性结果：与上一部分类似，我们可以通过观察收敛行为和估计的路径来进行定性分析。

为了可视化收敛行为，图 6a 显示了一系列在过滤器初始化过程中的时间步骤。在第一张图像中，粒子分布在 $(49 \times 49)$ 米的办公区域的底层。在此数据集的开头，机器人直接面向一扇门。因此，在图 6b 中，过滤器通过将粒子指向与门距离相似的门进行收敛。然后，机器人通过门移动。通过门可以使过滤器显著更快地收敛，因为它隐式地使用运动模型中的“幽灵因子”。它还为机器人提供了更独特的门分布（在拐角处），这使得过滤器可以快速收敛。这在图 6c 中显示，过滤器已经收敛。

估计的路径如图 7 所示，蓝色圆圈表示收敛点。可以观察到，AMCL 需要更长的时间才能收敛（距离拐角房间较远），而基于范围的方法则没有。更重要的是，可以观察到，基于范围的方法在房间级初始化时，估计轨迹没有明显的下降。另一方面，基于光线的算法的性能下降更加明显。这是因为过滤器在一个长长的走廊中收敛，在该走廊中，标签分布具有歧义（左右两侧的门距离相似）。但是，一旦机器人转身，系统就会恢复并表现出与基于范围的方法相当的性能。

如前所述，进入或退出房间有助于过滤器收敛，因为它可以使用运动模型中的“幽灵因子”。以下实验评估“幽灵因子”对该方法的性能的影响。

<div style="text-align: center;">Range Ghost Factors:  $\epsilon_d = 0$,  $\epsilon_f = 1.0$</div>

![Image](images/93756194bc221e597da187a3fbd69f36759fa67df512b190f91337c0d161f370.jpg)

<div style="text-align: center;">(a) Range-Based</div>

![Image](images/c0784a2b7480555f1669ad04b449e762170cda8c853b0065aff5f908980adff0.jpg)

<div style="text-align: center;">(b) Ray-Based</div>

<div style="text-align: center;">Fig. 8: Different ghost factors ( $\epsilon_{G}$), global initialisation.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="7">Average Trajectory Error (m)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Approach</td><td style='text-align: center; word-wrap: break-word;'>RMSE</td><td style='text-align: center; word-wrap: break-word;'>Mean</td><td style='text-align: center; word-wrap: break-word;'>Median</td><td style='text-align: center; word-wrap: break-word;'>Std. Dev.</td><td style='text-align: center; word-wrap: break-word;'>Min</td><td style='text-align: center; word-wrap: break-word;'>Max</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>AMCL</td><td style='text-align: center; word-wrap: break-word;'>7.31</td><td style='text-align: center; word-wrap: break-word;'>2.26</td><td style='text-align: center; word-wrap: break-word;'>0.20</td><td style='text-align: center; word-wrap: break-word;'>6.95</td><td style='text-align: center; word-wrap: break-word;'>0.028</td><td style='text-align: center; word-wrap: break-word;'>35.45</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Range (Label Only)</td><td style='text-align: center; word-wrap: break-word;'>6.71</td><td style='text-align: center; word-wrap: break-word;'>2.59</td><td style='text-align: center; word-wrap: break-word;'>1.31</td><td style='text-align: center; word-wrap: break-word;'>6.20</td><td style='text-align: center; word-wrap: break-word;'>1.15</td><td style='text-align: center; word-wrap: break-word;'>38.60</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Range (Combined)</td><td style='text-align: center; word-wrap: break-word;'>4.78</td><td style='text-align: center; word-wrap: break-word;'>1.69</td><td style='text-align: center; word-wrap: break-word;'>0.69</td><td style='text-align: center; word-wrap: break-word;'>4.47</td><td style='text-align: center; word-wrap: break-word;'>0.43</td><td style='text-align: center; word-wrap: break-word;'>31.19</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Rays ( $\epsilon_0 = 3.0$)</td><td style='text-align: center; word-wrap: break-word;'>7.74</td><td style='text-align: center; word-wrap: break-word;'>4.36</td><td style='text-align: center; word-wrap: break-word;'>2.46</td><td style='text-align: center; word-wrap: break-word;'>6.40</td><td style='text-align: center; word-wrap: break-word;'>1.07</td><td style='text-align: center; word-wrap: break-word;'>27.55</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Rays ( $\epsilon_0 = 7.0$)</td><td style='text-align: center; word-wrap: break-word;'>8.09</td><td style='text-align: center; word-wrap: break-word;'>4.49</td><td style='text-align: center; word-wrap: break-word;'>2.22</td><td style='text-align: center; word-wrap: break-word;'>6.73</td><td style='text-align: center; word-wrap: break-word;'>1.61</td><td style='text-align: center; word-wrap: break-word;'>28.47</td></tr></table>

<div style="text-align: center;">TABLE II: Global Initialisation</div>

### D. 幽灵因子

“幽灵因子”的影响可以通过类似于整体过滤器性能的方式来衡量。我们表明，当“幽灵因子”不以二元方式定义时，它可以提供更多区分性的信息。这在仅使用标签的场景中，对于基于范围和基于光线的两种方法，都可以在全局和房间级初始化中看到。

1) 全局初始化：图 8 显示了在全局初始化过程中，改变“幽灵因子”的影响。可以观察到，不惩罚穿过墙壁的粒子（$(\epsilon_g = 0)$）不是一个好选择。这在一定程度上是合理的，因为允许粒子在没有后果的情况下穿过占用单元格，收益不大。因此，我们应该将“幽灵因子”设置为尽可能高的值。但是，将“幽灵因子”设置为一个较大的值（$(\epsilon_g = 7.0)$），这对应于在 0.43 米处将概率降低 95%，并没有产生最佳结果。

虽然直觉上可能认为，更高的“幽灵因子”（$\epsilon_G$）总是更好，但事实并非如此。较高的“幽灵因子”值对应于对占用情况的二元解释，这会导致 MCL 系统在地图和环境之间存在差异时变得不稳定。这是因为，否则正确的粒子可能会 clipping 门边缘，并被完全排除在系统之外。一个严格的“幽灵因子”也会加剧粒子数量有限的问题。事实上，$\epsilon_G = 3.0$，对应于在 1.0 米处将概率降低 95%，在所有全局初始化实验中始终表现出最佳结果，如图 III 表所示。

2) 房间级别初始化：从房间级别初始化的角度来看，具有较高的“幽灵因子”更符合我们最初的直觉。表 IV 显示，对于两种基于范围的场景，$\epsilon_g = 7.0$ 提供了最佳结果。这是因为在存在基于范围的测量值的情况下进行房间级别初始化是一个更容易解决的问题。另一方面，基于光线的场景仍然更喜欢一个较温和的

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="4">Average Trajectory Error (RMSE)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ghost Factor $\epsilon_{{G}}$</td><td style='text-align: center; word-wrap: break-word;'>Range (Labels)</td><td style='text-align: center; word-wrap: break-word;'>Range (Weighted)</td><td style='text-align: center; word-wrap: break-word;'>Rays</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>0.0</td><td style='text-align: center; word-wrap: break-word;'>10.88</td><td style='text-align: center; word-wrap: break-word;'>10.13</td><td style='text-align: center; word-wrap: break-word;'>11.71</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3.0</td><td style='text-align: center; word-wrap: break-word;'>6.71</td><td style='text-align: center; word-wrap: break-word;'>4.78</td><td style='text-align: center; word-wrap: break-word;'>7.74</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>5.0</td><td style='text-align: center; word-wrap: break-word;'>6.97</td><td style='text-align: center; word-wrap: break-word;'>6.30</td><td style='text-align: center; word-wrap: break-word;'>9.54</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>7.0</td><td style='text-align: center; word-wrap: break-word;'>7.19</td><td style='text-align: center; word-wrap: break-word;'>6.10</td><td style='text-align: center; word-wrap: break-word;'>8.09</td></tr></table>

<div style="text-align: center;">TABLE III: Global A for Different Ghost Factors</div>

---

![Image](images/f077e4a458962fa3eff80ef1b7e59807de3a54792da5f0541b70ba15ef17396f.jpg)

<div style="text-align: center;">(a) Range-Based</div>

![Image](images/b45d64a04c1310d216d0f75007384ce78964bb83eb47816581fd0f1c0835fd36.jpg)

<div style="text-align: center;">(b) Ray-Based</div>

<div style="text-align: center;">Fig. 9: Different ghost factors ( $\epsilon_{G}$), room-level initialisation. ghost factor of  $\epsilon_{G} = 3.0$. In this scenario, inaccuracies in both the map and the sensing modalities allow for otherwise correct particles to be heavily penalised by an aggressive ghost factor. Both of these results are reflected in figures 9a and 9b.</div>

这些结果使我们得出结论：幽灵因子必须根据地图和传感模态中预期的噪声量进行调整。可以在预先存在的地图准确且采样密度高的场景中使用较高的幽灵因子，例如地图是由与用于定位的相同传感器收集的（即 SLAM）。另一方面，如果预计地图与机器人观察到的物体之间存在差异（例如家具、比例误差等），则提供一个较温和的幽灵因子并对小的姿态误差更加宽容是有益的。

### E. 计时

我们在配备 Intel Xeon X5550 (2.67GHz) 和 NVidia Titan X (Maxwell) 的机器上评估了我们的方法的速度。在房间级别初始化期间，或者当系统收敛时，我们的方法可以使用 250 个粒子在 10 毫秒内运行，这为我们提供了足够的时间来处理来自 Kinect 的图像并将其转换为 SeDAR 扫描。将 RGB 图像转换为语义标签是最昂贵的运算，平均需要 120 毫秒。这意味着一个收敛的滤波器可以以 8-10 fps 的速度运行。在执行全局定位时，我们可以在 2.25 秒内集成一个新的传感器更新，其中使用 50,000 个粒子。由于基于 MCL 的方法需要在每个传感器集成之间进行运动，这仍然接近实时，并且比竞争的视觉方法快几个数量级。

### V. 结论

总之，这项工作表明，基于显著地标的人类启发式定位是传统扫描匹配的有效替代方案。我们展示了 SeDAR 提供的语义信息如何用于运动模型和传感器模型（带和不带范围数据）。我们的实验表明，这些新信息与最先进的技术具有很强的互补性，与单独使用任何一种技术相比，可以减少 35% 的误差。基于这一令人信服的证据，我们可以得出结论，在更广泛的机器人领域，应该进一步探索 SeDAR（以及一般而言的语义信息）。

更一般地说，这项工作强化了其他近期研究的结论：机器学习已经发展到可以可靠地模拟生物感知的主观方面（例如语义场景理解）。因此，长期以来一直是机器人硬件设计的支柱的生物启发式范式现在也可以（并且是必不可少的）用于机器人软件设计。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="4">Average Trajectory Error (RMSE)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ghost Factor $\epsilon_{{G}}$</td><td style='text-align: center; word-wrap: break-word;'>Range (Labels)</td><td style='text-align: center; word-wrap: break-word;'>Range (Weighted)</td><td style='text-align: center; word-wrap: break-word;'>Rays</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>0.0</td><td style='text-align: center; word-wrap: break-word;'>0.25</td><td style='text-align: center; word-wrap: break-word;'>0.27</td><td style='text-align: center; word-wrap: break-word;'>1.20</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3.0</td><td style='text-align: center; word-wrap: break-word;'>0.24</td><td style='text-align: center; word-wrap: break-word;'>0.25</td><td style='text-align: center; word-wrap: break-word;'>0.40</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>5.0</td><td style='text-align: center; word-wrap: break-word;'>0.22</td><td style='text-align: center; word-wrap: break-word;'>0.24</td><td style='text-align: center; word-wrap: break-word;'>0.70</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>7.0</td><td style='text-align: center; word-wrap: break-word;'>0.19</td><td style='text-align: center; word-wrap: break-word;'>0.22</td><td style='text-align: center; word-wrap: break-word;'>0.58</td></tr></table>

<div style="text-align: center;">TABLE IV: Room-Level A for Different Ghost Factors</div>

因此，一个有趣的未来研究方向是遵循视觉里程计的最新研究，并利用单图像深度和/或表面法线估计技术进行定位。这可以隐式地检测已知大小的场景元素，这是生物感知的另一个重要组成部分。

## 参考文献

[^1]: V Badrinarayanan, A Kendall, and R Cipolla. SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation. arXiv, 2015.

[^2]: JL Blanco, J Gonzalez, and JA Fernandez-Madrigal. Optimal Filtering for Non-parametric Observation Models: Applications to Localization and SLAM. IJRR, 2008.

[^3]: K Briechle and UD Hanebeck. Localization of a mobile robot using relative bearing measurements. T-RO, 20(1):36–44, 2004.

[^4]: MA Brubaker, A Geiger, and R Urtasun. Lost! leveraging the crowd for probabilistic visual self-localization. In CVPR, 2013.

[^5]: H Chu, DK Kim, and T Chen. You are here: Mimicking the Human Thinking Process in Reading Floor-Plans. In ICCV, 2015.

[^6]: H Chu, S Wang, R Urtasun, and S Fidler. Housecraft: Building houses from rental Ads and street views. In ECCV, 2016.

[^7]: M Cordts, M Omran, S Ramos, T Rehfeld, M Enzweiler, R Benenson, U Franke, S Roth, and B Schiele. The Cityscapes Dataset for Semantic Urban Scene Understanding. In CVPR, 2016.

[^8]: F Dellaert, W Burgard, D Fox, and S Thrun. Using the Condensation algorithm for robust, vision-based mobile robot localization. CVPR, 1999.

[^9]: F Dellaert, D Fox, W Burgard, and S Thrun. Monte Carlo localization for mobile robots. In ICRA, 1999.

[^10]: MF Fallon, H Johannsson, and JJ Leonard. Efficient scene simulation for robust monte carlo localization using an RGB-D camera. In ICRA, 2012.

[^11]: D Fox, W Burgard, F Dellaert, and S Thrun. Monte Carlo Localization: Efficient Position Estimation for Mobile Robots. In AAAI, 1999.

[^12]: BKP Horn. Closed-form solution of absolute orientation using unit quaternions. JOSA A, 1987.

[^13]: A Kendall, V Badrinarayanan, and R Cipolla. Bayesian SegNet: Model Uncertainty in Deep Convolutional Encoder-Decoder Architectures for Scene Understanding. arXiv, 2015.

[^14]: M Labbe and F Michaud. Online Global Loop Closure Detection for Large-Scale Multi-Session Graph-Based SLAM. In IROS, 2014.

[^15]: I Laina, C Rupprecht, V Belagiannis, F Tombari, and N Navab. Deeper depth prediction with fully convolutional residual networks. In 3DV, 2016.

[^16]: C Lee, V Badrinarayanan, T Malisiewicz, and A Rabinovich. RoomNet: End-to-End Room Layout Estimation. arXiv, 2017.

[^17]: C Liu, AG Schwing, K Kundu, R Urtasun, and S Fidler. Rent3D: Floor-plan priors for monocular layout estimation. In CVPR, 2015.

[^18]: K Melbouci, S Naudet Collette, V Gay-Bellile, O Ait-Aider, and M Dhome. Model based RGBD SLAM. ICIP, 2016.

[^19]: M Paton and J Kosecka. Adaptive RGB-D localization. CRV, 2012.

[^20]: E Shelhamer, J Long, and T Darrell. Fully Convolutional Networks for Semantic Segmentation. PAMI, 2017.

[^21]: J Shotton, B Glocker, C Zach, S Izadi, A Criminisi, and A Fitzgibbon. Scene Coordinate Regression Forests for Camera Relocalization in RGB-D Images. In CVPR, 2013.

[^22]: J Sturm, N Engelhard, F Endres, W Burgard, and D Cremers. A benchmark for the evaluation of RGB-D SLAM systems. In IROS, 2012.

[^23]: K Tateno, F Tombari, I Laina, and N Navab. CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction. arXiv, 2017.

[^24]: S Thrun. Probabilistic Robotics. Comms. of the ACM, 2002.

[^25]: S Wang, S Fidler, and R Urtasun. Lost Shopping! Monocular Localization in Large Indoor Spaces. ICCV, 2015.

[^26]: W Winterhalter, F Fleckenstein, B Steder, L Spinello, and W Burgard. Accurate indoor localization for RGB-D smartphones and tablets given 2D floor plans. In IROS, 2015.

[^27]: J Xiao, An Owens, and A Torralba. SUN3D: A database of big spaces reconstructed using SfM and object labels. In ICCV, 2013.
