
# DROW: 基于实时深度学习的二维激光雷达数据中的轮椅检测

Lucas Beyer $^{\dagger}$, Alexander Hermans $^{\dagger}$ 和 Bastian Leibe

摘要：我们介绍了 DROW 检测器，这是一种基于深度学习的对象检测器，它在二维激光雷达数据上运行。 激光扫描仪具有光照不变性，提供准确的二维范围数据，并且通常覆盖较大的视野，这使其成为机器人应用的理想传感器。 迄今为止，关于激光二维范围数据的检测研究主要集中在手工设计的特征和增强分类器上，这可能会由于次优的设计选择而降低性能。 我们提出了一种基于卷积神经网络 (CNN) 的检测器来执行此任务。 我们展示了如何有效地将 CNN 应用于二维范围数据的检测，并提出了一种深度预处理步骤和投票方案，该方案可以显着提高 CNN 的性能。 我们在轮椅和助行器上演示了我们的方法，获得了最先进的检测结果。 除了训练数据之外，我们的设计选择并不限制检测器只能检测这两种类别。 我们提供了一个用于我们检测器的 ROS 节点，并发布了一个包含 464k 激光扫描的数据集，其中 24k 个扫描已进行标注。

## I. 引言

许多自主机器人配备了 2D 激光扫描仪，通常用于包括检测人员 [^1]、[^34] 和物体 [^18] 在内的与导航相关的任务。 激光扫描仪由于其通常具有较大的视野以及对光照和环境条件的无视性而被广泛使用。 尽管早期的检测方法使用简单的启发式方法，例如拟合线和圆 [^35]，但在过去几年中，手工设计的特征与学习的分类器相结合，主导了基于激光的检测。 在这种范例中，已开发出各种成功的人员 [^1]、[^30]、[^20]、移动辅助设备 [^34] 和道路障碍物 [^18] 检测器，以支持移动机器人的导航 [^8] 和自动驾驶 [^28]。 尽管上述模型获得了合理的结果，但普遍的共识似乎是，单个扫描中 2D 范围数据提供的信息不足以可靠地执行检测，这导致了依赖传感器融合 [^30]、多层传感器设置 [^20]、[^29] 或通过跟踪整合信息的方法。 我们表明，基于单个 2D 范围扫描的检测实际上可以表现良好。

在本文中，我们特别关注轮椅和助行器的检测。 这源于一个为老年护理设施服务的机器人的应用，其中许多人依赖他们的辅助设备。 由于依赖辅助设备的个人的外观，无论是在激光数据还是在相机数据中，都会发生显着变化，因此他们不太容易被现有人体检测器检测到。 然而，特别是在那些依赖

![Image](images/a95a78693f39cb54747efb2423bf40b47117563f51653ec3bb134f30eb87c6ca.jpg)

<div style="text-align: center;">Fig. 1: An overview of our approach. We extract windows with a fixed real world size regardless of the laser coverage. Values are centered and clamped to the range of the window. Each window is classified by a CNN and, if an object is found, a weighted vote is cast for its relative offset ( $\Delta x$,  $\Delta y$). Finally, the votes are consolidated using a non-maximum suppression (NMS) scheme to yield detection centroids.</div>

这些辅助设备的人将更难避免接近的机器人，这使得可靠的检测变得更加重要。 Weinrich 等人 [^34] 面临类似的任务，并提出了 Gandalf 检测器，用于检测单个激光扫描中的人员、轮椅和助行器。 他们为激光段引入了一种新的特征集，并使用 AdaBoost 分类器对这些特征进行分类。 结果检测器表现良好，我们将它作为基线。

本文，我们介绍了 DROW (Distance RObust Wheelchair/Walker) 检测器。 考虑到我们的应用场景，我们专注于检测轮椅和助行器。 然而，我们的方法设计没有限制，我们相信它将推广到检测人员或其他物体，只要有足够的标注训练数据。 用于训练和运行我们的检测器的代码和数据，以及用于为新任务标注数据的代码，将在发表时提供。

在计算机视觉领域，深度学习最近已成为新的最佳实践，它取代了手工设计的特征，并在许多任务中彻底改变了现状 [^13], [^32], [^5]. 尤其是卷积神经网络 (CNN) 在处理具有挑战性的任务方面取得了非常大的成功。

---

![Image](images/e5e0fa04eb45f7aacf8ac0b8748ab4eadfbe8839ae117ac2e627a3a282896408.jpg)

<div style="text-align: center;">Fig. 2: Non-maximum suppression: (a) a part of an input scan, (b) the votes shown as arrows, (c) the joint voting grid, (d) the wheelchair voting grid, (e) the walker voting grid, (f) resulting detections.</div>

本文，我们展示了如何将 CNN 应用于激光数据的对象检测，从而无需进行特征工程，并能够带来显著的改进。

虽然像 MultiBox [^16] 和 YOLO [^24] 这样的基于 CNN 的图像级检测器原则上可以应用于 2D 激光扫描，但我们发现以这种方式直接应用效果不佳。 由于激光点的空间密度随距离变化很大，CNN 的固定感知范围覆盖了不同尺度，这使得学习变得困难。 为了利用激光传感器提供的空间信息，我们提出一个预处理阶段，该阶段裁剪并归一化每个激光点周围的固定真实世界范围窗口。 所有这些窗口都通过一个 CNN，该 CNN 可以对对象位置进行投票。 然后，使用非最大抑制方案将这些投票转换为单个检测结果。 我们表明，深度预处理和投票是我们的方法的重要组成部分，其概述如图 1 所示。 我们的方法不需要背景消除，并且可以在现代桌面计算机上以 $\sim75$ fps 的帧速率运行，使用单个核心和一个 GPU。 在我们的机器人上，它轻松地跟上激光的帧速率 ( $\sim13$ fps) ，使用笔记本电脑上的 GPU。

总而言之，我们做出了以下贡献：

- 我们介绍了 DROW 检测器，这是一种基于 CNN 的轮椅和助行器检测器，用于 2D 范围数据，它通过有效地利用提供的深度信息，实现了最先进的结果。

- 我们发布了我们的数据集，其中包含 464k 个原始扫描，其中 24k 个已用轮椅和助行器的中心点进行标注。

- 我们提供了我们的检测器和相关服务模块的 ROS 组件，包括训练好的模型。

### II. 方法

我们的方法包括三个步骤：预处理，它裁剪了每个激光点周围的重采样窗口，并计算了局部坐标系中的检测位置；一个 CNN 对所述窗口进行分类并预测相对检测位置；最后，一个投票和非最大抑制方案将预测转换为检测结果。

### A. 2D 范围数据预处理

为了将 CNN 应用于检测，网络的接收范围必须覆盖大部分对象。 激光扫描的问题是，附近的物体会覆盖大量的激光束，而远处的物体只能被少量激光束照射到。 这意味着 CNN 的接收范围必须覆盖大部分激光，这使得它很容易过度拟合训练场景的背景。

为了克服这个问题，并在同时利用激光数据提供的实际比例信息，我们提出以深度引导的滑动窗口方式评估 CNN。这意味着我们预处理数据，使物体在每个距离上的表示尽可能相同，从而减轻了在不同距离上隐式学习完全不同的表示的需要：在每个激光束周围，我们裁剪出一个实际范围的窗口 $\ell$，从而覆盖一个角度 $\alpha = 2\sin^{-1}(\frac{\ell}{2r})$，并且包含根据当前激光束击中障碍物的距离 r 而变化的测量值数量。然后，我们线性地将此窗口内的测量值重采样为 n 个固定样本。当应用于这样的窗口时，网络的可接受范围始终覆盖相同的实际范围，无论距离 r 如何。此外，我们将窗口中心化于当前点，将任何超出 $\pm H_r$ 范围的值进行裁剪，以消除远处的杂波，并最终将值投影到 $[-1,1]$。总的来说，这意味着 $\max(-H_r, \min(x - r, H_r))/H_r$ 被应用于窗口中每个点 x，该窗口位于深度为 r 的点周围，如图 1 所示。关于哪些预处理操作对 DROW 的性能贡献最大的详细分析，请参见第 III 节 E 部分。

### B. 预测

对于每个窗口，以及每个具有上下文的激光点，CNN 会同时对该窗口是否属于感兴趣的对象类别进行分类（通过 SoftMax 输出），并且如果属于，则通过回归输出投票该对象的中心位置。由于 2D 范围数据本质上是旋转不变的，因此我们不希望在绝对 $(x, y)$ 坐标中进行投票。相反，我们学习在以当前激光点为中心和对齐的坐标系中的偏移量 $(\Delta x, \Delta y)$，如图 1 所示。

### C. 投票和非最大抑制

需要将每个窗口的预测合并为检测中心。这通过使 CNN 的预测投票到覆盖激光视场的规则网格来实现。设 $p(O|w) = \sum_{c \in \mathcal{C}} p(c|w)$ 为窗口 w 看到感兴趣对象的总概率，其中 $\mathcal{C}$ 是要检测的类别。

如果 $p(O|w)$ 超过预定义的投票阈值 T，则该窗口将在类无关网格中投出权重为 $p(O|w)$ 的票，并在每个类特定网格中投出权重为 $p(c|w)$ 的票。在所有窗口可能投出票后，每个

---

网格都会使用高斯滤波器进行模糊处理，并在类无关网格上执行非最大抑制。对于该网格中找到的每个最大值，将在该单元格的中心预测一个检测，并使用在该单元格中总票数最高的类。使用这种投票方案的原因，而不是单独处理每个类，是为了避免在同一位置同时检测到两个类。图 2 显示了涉及的步骤示例。从原始激光点投出的票数如图 a 所示；(b) 所示；(c) - (e) 所示为三个投票网格，(f) 所示为两个检测结果。

### III. 实验评估

### A. 数据集

为了评估我们的方法，我们首先介绍我们的新数据集。我们概述了我们的训练过程和评估方法的细节。在对 DROW 进行一般评估并与基线进行比较后，我们进行了一些消融研究，以显示我们检测器中的哪些部分对整体性能贡献最大。

虽然 Weinrich 等人 [^34] 提供了他们的数据集，但他们的录音仅限于包含单个轮椅或助行器的场景。虽然这可能足以学习相对受限的特征和分类器的几个参数，但我们希望从头开始学习特征，因此需要更多通用和多样的数据。这就是我们在一个老年护理设施录制了超过 10 小时的数据的原因。

![Image](images/f38f15a55bd409a95457471da580979034a12a9fde053f51f027e28e47250d92.jpg)

<div style="text-align: center;">Fig. 3: Our robot Karl.</div>

1) 录制设置：我们使用配备 SICK S300 激光扫描仪的 SCITOS G5 机器人进行录制，该激光扫描仪安装在距离地面约 37 厘米的位置。激光器配置为以接近 13 赫兹的速率记录，视野范围为 $225^{\circ}$，分辨率为 $0.5^{\circ}$，总共 450 次测量。为了进行注释，我们还从安装在机器人头部上的 ASUS Xtion 记录了 RGB-D 数据（参见图 3）。不幸的是，由于隐私原因，我们不允许发布视频流。软件基础设施基于 ROS，所有数据都存储在 rosbags 中。为了确保看到足够的轮椅和助行器，一个人始终在机器人录制时使用轮椅或助行器。我们的录音包括 (1) 自然场景，我们记录了设施中的日常生活，包括各种杂物，如花盆、椅子、家具、移动床等，以及 (2) 人为录音，我们以某些模式移动机器人，以增加数据集的多样性。除了居民的轮椅外，我们还尽可能地包含各种轮椅和助行器型号，包括一个电动轮椅。

<div style="text-align: center;">TABLE I: Dataset overview</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Train</td><td style='text-align: center; word-wrap: break-word;'>Validation</td><td style='text-align: center; word-wrap: break-word;'>Test</td><td style='text-align: center; word-wrap: break-word;'>Total</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Sequences</td><td style='text-align: center; word-wrap: break-word;'>78</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>5</td><td style='text-align: center; word-wrap: break-word;'>113</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Scans</td><td style='text-align: center; word-wrap: break-word;'>341 138</td><td style='text-align: center; word-wrap: break-word;'>74 744</td><td style='text-align: center; word-wrap: break-word;'>48 131</td><td style='text-align: center; word-wrap: break-word;'>464 013</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Annotated Scans</td><td style='text-align: center; word-wrap: break-word;'>17 665</td><td style='text-align: center; word-wrap: break-word;'>3 919</td><td style='text-align: center; word-wrap: break-word;'>2 428</td><td style='text-align: center; word-wrap: break-word;'>24 012</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Wheelchairs</td><td style='text-align: center; word-wrap: break-word;'>14 455</td><td style='text-align: center; word-wrap: break-word;'>5 595</td><td style='text-align: center; word-wrap: break-word;'>1 970</td><td style='text-align: center; word-wrap: break-word;'>22 020</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Walkers</td><td style='text-align: center; word-wrap: break-word;'>2 047</td><td style='text-align: center; word-wrap: break-word;'>219</td><td style='text-align: center; word-wrap: break-word;'>581</td><td style='text-align: center; word-wrap: break-word;'>2 847</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Wheelchairs by distance</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Walkers by distance</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>

2) 数据集统计：我们将由此产生的数据集划分为训练集、验证集和测试集。为了创建这些集合，我们将老年护理设施划分为四个不重叠的区域，其中三个分别分配给训练集、测试集和验证集。第四个区域，入口大厅，被划分为时间上不连续的序列，这些序列分布在训练集和验证集中。基于这种划分，我们可以展示该方法在以前未见区域中的泛化程度。表 I 显示了我们数据集的概述以及我们注释的子集的统计信息。轮椅和助行器计数是指单个检测，而不是实例，条形图显示了它们在距离上的分布。每个条形代表距离上的 1 米范围（最多 15 米的 15 个条形），清楚地显示了绝大多数观察到的辅助设备都在机器人 1 米到 6 米的范围内。

3) 标注：我们对数据中的轮椅和助行器中心进行标注。由于该数据集包含46.4万帧原始激光扫描数据，我们设计了一套标注方案，既可以控制标注工作量，同时仍能覆盖序列的全部范围，也支持未来开发时序方法。我们没有标注所有激光扫描帧，而是按如下方式对每个序列中的小批次进行标注：每个批次包含100帧，我们每5帧标注一帧，因此每个批次得到20个标注帧。$^{1}$ 在一个序列中，我们仅每4个批次标注一次，最终总共有5%的激光扫描帧得到标注。我们基于matplotlib开发了一款自定义标注工具[^11]，该工具

![Image](images/7937d0ddeeec735f0b1b5d1e0bf22cbb8e1e3d4f9d9a617ffc82be9e2d2db36a.jpg)

<div style="text-align: center;">Fig. 4: An example view of our annotation tool. The dotted cone shows the Xtion's field of view and on the right the first, current, and last image in the batch is shown. The blue cross shows annotated wheelchairs.</div>

 $^{1}$ 这允许在注释之间进行插值，尽管我们在本工作中没有这样做。

---

![Image](images/0a87e7c783de176c90e10cefd0c243b42243b00cb5d25d97eda8540e3176fdb5.jpg)

<div style="text-align: center;">(a) Performance on our test set.</div>

![Image](images/0759e578ce97212c5d187d85c83d0aff0674dbec1332ce285a9341149702c43d.jpg)

<div style="text-align: center;">(b) Performance on the Reha test set [^34].</div>

<div style="text-align: center;">Fig. 5: Performance comparison of DROW, the Gandalf detector [^34], and a naive deep learning baseline on two test sets (a) and (b). As explained in Section III-D, the naive baseline is not applicable on the Reha test set.</div>

加载带有相应 RGB 图像的扫描序列，并自动查找需要进行标注的批次。 为了帮助用户进行标注，我们显示当前批次的第一个、当前和最后一个图像。 图 4 显示了此标注工具的示例视图。 一个半径为 1.2 米的圆圈，指示平均轮椅大小，有助于用户点击轮椅或助行器中心的区域。 通过利用所有这些支持性信息来理解场景，我们能够标注了大多数辅助工具，但由于相机视野的限制，我们可能仍然遗漏了一些。

### B. 训练过程

我们训练了一个CNN，它针对每个预处理窗口预测该窗口是否指示附近存在轮椅或助行器，如果存在，则进一步预测目标中心的偏移量。我们使用带有两个输出层的网络单次完成这两项任务：一个三分类SoftMax用于区分背景、轮椅和助行器，另一个是二维线性回归输出。我们通过最小化SoftMax输出的负对数似然准则与回归输出的均方根误差之和来优化网络。回归目标按照$(\Delta x, \Delta y)$在每个窗口的局部坐标系中计算，如图1所示。类别标签由距离窗口中心点最近的检测目标的类型决定，轮椅的最大欧氏距离阈值为0.6 m，助行器为0.4 m。当附近没有标注时，回归输出不会反向传播误差，因此网络可以自由预测任意偏移量。

我们的网络的架构，灵感来自流行的 VGGnet [^27]²，如下所示：Conv5@64、Conv5@64、Max 2、Conv 5@128、Conv 3@128、Max 2、Conv 5@256、Conv 3@5，其中 Conv n@c 表示具有 c 个滤波器大小为 n 的卷积，Max p 表示在大小为 p 的窗口上的最大操作。 在所有卷积层之间应用批处理归一化 [^12]、0.25 的 dropout [^31] 和 ReLU 非线性 [^9]。 对于重采样为 48 个值的输入窗口，网络输出一个长度为五的向量，其中三个用于 SoftMax，另外两个是回归输出 $\Delta x$ 和 $\Delta y$。 所有权重都使用类似于 [^26] 中提出的方案进行初始化，但输出层的权重初始化为 0。 为了训练网络，我们使用 AdaDelta 优化器，使用 $\rho = 0.95$ 和 $\epsilon = 10^{-7}$，并训练直至近似收敛。 $^{3}$ 在训练期间，我们向回归目标添加小的乘法随机噪声，并以 0.5 的概率翻转每个窗口及其目标。 我们在 Theano [^2] 中实现了我们的 CNN。

对于投票方案，我们向投票添加乘法类权重并重新归一化，因此使用 $\frac{w_{c}p(c|w)}{\sum_{i\in C}w_{i}p(i|w)}$ 而不是 $p(c|w)$ 对类 c 进行投票。 然后，我们使用 hyperopt $\sigma$ 优化所有投票超参数（类权重 w、网格分辨率 b 和模糊大小 [^4]），以最大化 $\max_{T}f_{\mathrm{wheelchair}}(T)+f_{\mathrm{walker}}(T)$ 在我们的验证集上，其中 $f_{c}(T)$ 是使用检测阈值 T 的类 c 的 F1 分数。 令人惊讶的是，最佳值 $w_{\mathrm{bg}}=0.38$、$w_{\mathrm{wheelchair}}=0.60$、$w_{\mathrm{walker}}=0.49$、$b=0.1$ 米和 $\sigma=2.93$ 与我们的初始猜测值没有太大差异。

### C. 方法评估

我们使用训练集训练模型，并在验证集上计算超参数，如前一节所述。为了评估 DROW 在实际环境中的性能，我们现在查看我们在自己的测试集和公开的 Reha 测试集上的精度和召回曲线，该测试集由与我们的机器人类似的机器人记录的 [^34] $^{4}$。请记住，我们的测试是在以前未见过的护理设施区域记录的，因此，学习位置先验或背景模型的任何方法都将失败。图 5 中的结果表明，DROW 的泛化能力非常强，并且在我们的测试集和 Reha 测试集上，其精度和召回率均显著高于 Gandalf [^34]。

在我们的应用场景中，实际检测移动辅助设备比正确分类它们更重要，因此我们还评估了无类别性能。为此，我们在评估期间忽略所有检测和注释的类别。

---

![Image](images/a106e041d64672a8b9711f89de11089e3ce7d8d50b797b95f68a1584cfc6e25e.jpg)

<div style="text-align: center;">Fig. 6: Performance of DROW for different evaluation radii. The high overlap for radii above 0.3 shows that our predictions are well localized.</div>

通过改变投票阈值 T，可以计算每个类别的精确度和召回率曲线。我们使用 0.5 米的评估半径，这意味着如果检测结果在地面实况中心 0.5 米范围内，并且具有正确的类别，则将其与地面实况匹配。一个注释最多可以与一个检测结果匹配，所有该类别的剩余检测结果为假阳性，而该类别的所有未匹配的注释为假阴性。为了了解 DROW 的检测结果定位效果，我们在图 6 中显示了针对不同评估半径的精确度-召回率曲线。对于接受半径为 0.3 米或更大的情况，所有曲线的拥挤表明我们的检测结果定位良好。在注释过程中，我们发现注释的精度有限，这意味着在半径小至 0.1 米的情况下，评估结果会受到标签噪声的强烈影响。

我们还分析了 DROW 对激光扫描仪距离的适应性。为此，我们首先忽略所有距离激光器超过 0.1 米的检测结果。然后，我们逐渐增大该半径，并考虑越来越多的检测结果，并在图 7 中绘制在固定阈值下的精确度和召回率的变化。DROW 在各个方面都表现良好，尤其是在中距离，这对于导航和规划至关重要。正如预期的那样，距离超过 10 米时，曲线的变化不大，因为在该距离之外只有很少的移动辅助设备被观察到。

### D. 基础模型

我们在图 5 中将我们的方法与两个基线模型进行比较：公开的 Gandalf 检测器 [^34] 和一个简单的深度学习基线模型。

[^34] 中所示的精度-召回曲线并未量化 Gandalf 的实际检测性能，它们仅关注系统中的各个部分。为了获得可比的检测精度-召回值，我们使用前面描述的评估协议来评估 Gandalf $^5$。如前所述，Gandalf 检测器没有单个阈值可以调整，因此在我们的图中只显示一个点。对于无类别的情况，我们绘制了在保留 Gandalf 个人检测 ( $\star$) 和丢弃个人检测 ( $\times$) 的情况下的结果，从而显示了精度和召回之间的权衡。

![Image](images/8223fc8a547b359b5eb5c7233f206497192558244d425a316ae2b4e2d16f775b.jpg)

<div style="text-align: center;">Fig. 7: Precision (——) and Recall (---) at $T = 0.5$ in the class-agnostic case up to a certain distance in meters. The histogram (📄, y axis on the right) shows the percentage of all annotations at a certain range.</div>

请注意，我们使用来自 [^34] 的代码获得的检测器性能明显低于原始论文中报告的性能。可以通过在 [^34] 中简要提及的附加基于协方差的合并步骤来提高性能，但是，该步骤在论文中既没有详细描述，也没有包含在提供的检测器代码中。因此，我们无法重现 [^34] 中呈现的结果。但是，根据我们使用提供的代码观察到的误报和漏检情况，即使对该方法的性能进行乐观估计，也表明其性能低于我们的检测器。

作为一种简单的深度学习基线，我们训练了另一个 CNN，类似于 YOLO [^24]，该 CNN 直接预测最多两个检测结果（足以覆盖 95.0% 的帧），这些检测结果以归一化的 $(x, y)$ 坐标表示，基于完整扫描。该基线实验的结果如图 5 (a) 中的虚线所示，但由于扫描具有不同的激光束数量，因此这些结果未包含在 Reha 测试集中。值得注意的是，我们花费了大量时间来尽可能使这种简单的 CNN 基线达到最佳效果，并遵循最佳实践：精心选择的感受野、批归一化、仔细的初始化、AdaDelta 优化器等。但是，正如我们所见，以如此简单的方式将深度学习应用于 2D 范围数据会导致非常糟糕的结果。

### E. 消融研究

在本节中，我们分析了每个设计决策如何影响检测，通过系统地删除或替换我们方法中的每个部分来实现。图 8 总结了这些实验。总的来说，完整的 DROW 检测器（____）的性能优于所有其他配置，这意味着每个单独的设计决策都对高性能起到了作用。在以下每项实验中，我们从头开始重新训练整个网络。

1) 预处理：我们的深度预处理可以分解为三个操作：居中、裁剪和重采样。不居中输入窗口（—）的影响最小，但仍然可以察觉。删除裁剪（—）会像删除居中一样，对整体性能产生很大的影响。如果不进行重采样步骤（—），该步骤可确保网络的感受野保持恒定的真实世界

---

![Image](images/bef424a3d94eab0115ae472cc9774edabc4d85e7d5458a6419382f17bcc7f20f.jpg)

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

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

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

![Image](images/9c7ae0aa7247471e1800889ea91abb71c5e844db2b4e6218a4bf144844c418ac.jpg)

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

<div style="text-align: center;">Fig. 8: Ablation studies. We retrain our approach with slight modifications to show how the performance changes.</div>

尺寸，性能会显著下降，尤其是对于行人。考虑到 CNN 必须学习在不同距离下完全不同的表示，整体性能仍然出人意料地良好。由于行人几乎无法检测到，但非目标性能良好，这表明存在很高的混淆。最后，删除所有这些步骤（——）的性能最差，这表明我们的预处理确实至关重要。

总而言之，所有这些实验清楚地表明，三个预处理步骤中的每个步骤都非常重要。

2) 投票：图 5a 中与简单的深度学习基线的比较已经表明，投票对于获得正确的检测结果至关重要。

为了查看回归局部偏移量（ $\Delta x$、$\Delta y$）的效果，我们训练了一个网络的版本，该网络回归（ $\Delta \varphi$、r）：一个角度偏移和一个绝对距离到激光扫描仪（ $\longrightarrow$）。对于此实验，我们也必须删除居中（参见 $\longrightarrow$），因为否则 r 无法预测。如果没有居中，网络原则上可以学习“绕过”中心点的距离，并在最后一层中添加一个偏差。结果的急剧下降表明，这是一个更困难的问题，学习过程无法解决。

为了确保这种问题不是由我们预处理过程中的不良交互引起的，我们还训练了一个网络来在原始、未处理的数据上进行这些预测（$—$）。 该模型表现最差，表明即使不注意输入和输出，简单的基于投票的网络也表现不佳。

3) 模型：由于每个窗口都单独传递到模型中，并且由于重采样步骤，所有窗口大小相同，因此模型本质上不需要是卷积神经网络 (CNN)。 为了表明编码在 CNN 中的空间先验是有用的，我们训练了一个具有三个隐藏层的全连接神经网络 (——)，每个隐藏层有 2048 个隐藏单元，使用 ReLU 非线性、dropout 和批处理归一化。 与其他实验一样，我们保持所有其他设计决策不变。 结果表明，虽然多层感知机 (MLP) 是一种可行的替代方案，但 CNN 明显优于它。

![Image](images/506c3cb65f9144ce10efec8efdc39e53a9e2543d0859af03c1f4c6495c74fac7.jpg)

<div style="text-align: center;">Fig. 9: Effect of the window size  $\ell$ on the performance.</div>

是一个 CNN。为了证明 CNN 中编码的空间先验是有用的，我们训练了一个具有 2048 个隐藏单元、ReLU 非线性、dropout 和批处理归一化的三层感知器 (——)。与其他实验一样，我们保持所有其他设计决策不变。结果表明，虽然 MLP 是一种可行的替代方案，但 CNN 明显优于它。

作为额外的基准线，我们训练了一个回归森林（——），该森林用于回归三个类概率和局部偏移量（$\Delta x$，$\Delta y$）。它使用与 CNN 和 MLP 相同的训练数据进行训练（包括翻转增强）。我们使用 scikit-learn [^23] 中回归森林的实现，所有设置均为默认值，并使用了 50 棵树。训练需要 7.5 小时（使用 5 个线程），结果模型为 6.9GB，而我们的 CNN 模型为 1.1MB。尽管如此，在所有情况下，森林模型的性能甚至略逊于 MLP。

4) 窗口大小：到目前为止，所有评估都使用了跨越 $\ell = 1.66$ m 的真实世界窗口，这源于轮椅的典型范围为 1.2 m。为了验证这是一个合理的选择，我们在更大的（2.20 m）和更小的（1.10 m）窗口上训练了一个网络。此实验的结果见图 9。对于我们的 $\ell = 1.66$ m 选择，类无关的预测性能最佳，但仅使用轮椅可以更好地通过使用 2.2 m 的窗口进行检测。这些结果表明，通过为网络提供多个输入窗口的比例，可能会获得进一步的改进。

### IV. 相关工作

与我们的方法最相关的是 Weinrich 等人的研究 [^34]，他们提出了一种用于激光检测的距离不变特征。他们通过首先检测距离中的较大跳跃来检测轮椅、助行器和行人，这些检测基于二维范围数据。一旦找到这样的跳跃，他们会创建一个固定物理尺寸的窗口，覆盖后续的扫描点。该窗口被划分为大小相等的段，并为每个段计算相对于窗口深度的钳制距离。每个段的特征由最小深度、最大深度和平均深度组成，并将所有段的特征连接起来形成特征向量。然后，使用 AdaBoost 分类器对这些特征进行分类。虽然他们的特征设计与我们的深度预处理步骤具有很高的相似性，但他们的窗口仅在检测到距离跳跃时才创建，而我们为每个扫描点创建窗口。最大的区别在于，他们直接预测每个窗口的检测中心和对象类别，而我们进行中心投票，这在我们检测器中的这一步骤已被证明至关重要。

---

其次，激光检测通常被认为过于稀疏或在单个帧中过于困难。我们希望我们的结果能够驳斥这种担忧，即使我们没有否认通过随时间跟踪我们的检测可能实现的性能提升。

一些其他的研究 [^7], [^14], [^17] 强调了对一种与距离无关的表示方法的需求，我们在本文中重点介绍了这一点。通过光线追踪从 3D 点云创建重采样深度图像的方法 [^7]，涉及比我们提出的简单预处理方法更复杂的操作，并且没有提供时间测量数据。另一种常用的方法是创建 3D 占用网格 [^14]，[^17]。这种方法实际上使用 $N + 1$ 维的输入来表示 N 维流形上的数据，而我们的方法保持输入为 N 维。可以认为，后者更容易学习，并且可以使预测更稳健 [^3]。此外，存在多种不同的启发式方法，用于“填充”这些占用网格中的“孔洞” [^17]，而我们的预处理方法不会产生孔洞。最终，这两种数据表示方法都可以使用，但我们认为我们的低维表示更简单、更有效。

其他研究人员使用投票来检测激光扫描中的目标，Mozos 等人 [^20] 在多高度激光设置中使用，Spinello 等人 [^29] 基于 3D 范围数据分层使用。两者都与 [^15] 相关，它们从数据中学习形状模型，并根据不同的激光层对检测中心进行投票。然而，与 Weinrich 等人 [^34] 类似，它们依赖于跳跃距离分割，并且只有这些分割可以对检测进行投票。在 [^33] 中，Wang 等人证明了使用投票方案进行检测与线性模型上的稀疏网格上的滑动窗口检测相对应。虽然他们使用手工设计的特征和线性 SVM 在点云上实现了良好的检测效果，但正如计算机视觉文献中以及本文所显示的那样，学习的非线性特征和分类器在很大程度上优于手工设计的特征和线性分类器。与我们的发现一致的是，最近的研究表明，投票与各种深度学习方法结合使用效果良好 [^19]，[^25]，[^36]。因此，建立深度、非线性投票检测器（如 DROW）与 [^33] 中所示的稀疏输入上的滑动窗口检测器之间的关系将非常有趣。

检测范围数据中的目标不限于行人或辅助设备。在我们上传此论文的预印本 $^{6}$ 之前，Ondruska 等人 [^22] 展示了如何在 2D 范围数据中“跟踪”行人、自行车、公共汽车、汽车和道路障碍物。虽然看似相似，但他们的输入是占用网格（即 $N + 1$ 维），他们预测标记的占用网格，而不是离散的检测或具有 ID 的轨迹。基于其 RNN 中静态网格单元的偏差，尚不清楚该方法在移动机器人上的效果如何。

Merdrignac 等人 [^18] 也检测 2D 范围数据中的汽车、自行车和静态道路障碍物。他们假设可以从范围数据中提取比以前更多的信息，并旨在通过设计一组手工设计的特征来实现。我们同意，但我们直接从数据中学习特征表示。

### V. 讨论

关于我们的检测器，有一些有趣的方面值得强调。首先，根据实验评估，我们发现我们对轮椅的检测效果很好，但对助行器的检测效果还有待提高。这可能与我们的训练数据集偏向轮椅有关。但是，在大多数实验中，与轮椅的精度-召回曲线与其他类别的曲线非常相似。这表明助行器检测的一个重要问题是与轮椅的混淆。由于当DROW检测到任何类别的辅助设备时，都能很好地定位，这表明网络“理解”了助行器，但需要看到更多关于助行器的信息。

其次，基于激光的检测常被认为在单帧中过于稀疏、检测难度过高。我们希望我们的研究结果能够打消这一顾虑，尽管我们并不否认，随时间跟踪我们的检测结果很可能会带来性能提升。

一种常用的激光检测的替代方案是使用基于视觉的检测器和 RGB(-D) 摄像头，这会产生更多的数据。 之前有几种方法尝试过这种方法 [^21]、[^10]、[^6]，但没有一种方法是通用的，可以应用于所有场景。 它们通常依赖于几何基本图形 [^21] 或非常特定的摄像头设置 [^6]。 此外，常用的 RGB-D 传感器，例如安装在人形机器人上的华硕 Xtion，具有视野范围太窄，无法同时感知远离机器人的轮椅，以及当轮椅靠近机器人时的情况。 因此，基于视觉的检测器需要许多摄像头才能覆盖与单个激光扫描仪相同的视野范围。 此外，由于辅助移动设备的外观各不相同，因此训练出鲁棒性强的检测器需要一个更大的数据集。 因此，如我们在此处所示，基于激光的检测器是一种更有效和高效的方法。

### VI. 结论

在本文中，我们介绍了 DROW 检测器，这是一种用于从 2D 范围数据中检测轮椅和助行器的快速深度学习检测器。 我们提出了一种深度预处理和投票方案，这两种方法都使 CNN 能够大大优于简单的 CNN 检测基线，并获得比以前的方法更好的结果。 我们进行了全面的实验评估，以证明我们所有主要的设计选择。 为了实现所有这些，我们记录了一个大型数据集，其中我们注释了轮椅和助行器的中心点，我们相信这将促进进一步的研究。 我们坚信，我们的检测器可以通过训练数据推广到其他类别，因此将对社区有所帮助。 在论文获得批准后，我们将发布我们的代码，包括一个 ROS 节点和注释的数据集。

---

## 参考文献

[^1]: Kai O Arras, Oscar Martínez Mozos, and Wolfram Burgard. Using Boosted Features for the detection of People in 2D Range Data. In ICRA, 2007.

[^2]: Frédéric Bastien, Pascal Lamblin, Razvan Pascanu, James Bergstra, Ian J. Goodfellow, Arnaud Bergeron, Nicolas Bouchard, and Yoshua Bengio. Theano: new features and speed improvements. Deep Learning and Unsupervised Feature Learning NIPS 2012 Workshop, 2012.

[^3]: Yoshua Bengio, Aaron Courville, and Pascal Vincent. Representation learning: A review and new perspectives. PAMI, 2013.

[^4]: James Bergstra, Daniel Yamins, and David Daniel Cox. Making a Science of Model Search: Hyperparameter Optimization in Hundreds of Dimensions for Vision Architectures. In ICML, 2013.

[^5]: Lucas Beyer, Alexander Hermans, and Bastian Leibe. Bitemnion Nets: Continuous Head Pose Regression from Discrete Training Labels. In GCPR, 2015.

[^6]: Cyril Cauchois, Fabrice De Chaumont, Bruno Marhic, Laurent Delahoche, and Mélanie Delafosse. Robotic Assistance: an Automatic Wheelchair Tracking and Following Functionality by Omnidirectional Vision. In IROS, 2005.

[^7]: Mark De Deuge, A Quadros, C Hung, and B Douillard. Unsupervised Feature Learning for Classification of Outdoor 3D Scans. In ACRA, 2013.

[^8]: Christian Dondrup, Nicola Bellotto, Ferdian Jovan, Marc Hanheide, et al. Real-time Multisensor People Tracking for Human-Robot Spatial Interaction. In ICRA, 2015.

[^9]: Xavier Glorot, Antoine Bordes, and Yoshua Bengio. Deep Sparse Rectifier Neural Networks. In AISTATS, 2011.

[^10]: Chun-Rong Huang, Pau-Choo Chung, Kuo-Wei Lin, and Sheng-Chieh Tseng. Wheelchair detection using cascaded decision tree. T-ITB, 14(2):292–300, 2010.

[^11]: J. D. Hunter. Matplotlib: A 2D graphics environment. CS&E, 9(3):90–95, 2007.

[^12]: Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167, 2015.

[^13]: Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. ImageNet Classification with Deep Convolutional Neural Networks. In NIPS, 2012.

[^14]: Kevin Lai, Liefeng Bo, and Dieter Fox. Unsupervised Feature Learning for 3D Scene Labeling. In ICRA, 2014.

[^15]: Bastian Leibe, Aleš Leonardis, and Bernt Schiele. Robust Object Detection with Interleaved Categorization and Segmentation. IJCV, 77(1-3):259–289, 2008.

[^16]: Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, and Scott Reed. SSD: Single Shot MultiBox Detector. arXiv preprint arXiv:1512.02325, 2015.

[^17]: Daniel Maturana and Sebastian Scherer. VoxNet: A 3D Convolutional Neural Network for Real-Time Object Recognition. In IROS, 2015.

[^18]: Pierre Merdrignac, Evangeline Pollard, and Fawzi Nashashibi. 2D Laser Based Road Obstacle Classification for Road Safety Improvement. In ARSO, 2015.

[^19]: Fausto Milletari, Seyed-Ahmad Ahmadi, Christine Kroll, Annika Plate, Verena Rozanski, Juliana Maiostre, Johannes Levin, Olaf Dietrich, Birgit Ertl-Wagner, Kai Bötzel, et al. Hough-CNN: Deep Learning for Segmentation of Deep Brain Regions in MRI and Ultrasound. arXiv preprint arXiv:1601.07014, 2016.

[^20]: Oscar Martinez Mozos, Ryo Kurazume, and Tsutomu Hasegawa. Multi-Part People Detection Using 2D Range Data. IJSR, 2(1):31–40, 2010.

[^21]: Ashish Myles, Niels Da Vitoria Lobo, and Mubarak Shah. Wheelchair Detection in a Calibrated Environment. In ACCV, 2002.

[^22]: Peter Ondruska, Julie Dequaire, Dominic Zeng Wang, and Ingmar Posner. End-to-End Tracking and Semantic Segmentation Using Recurrent Neural Networks. In RSS, Workshop on Limits and Potentials of Deep Learning in Robotics, 2016.

[^24]: Joseph Redmon, Santosh Divvala, Ross Girshick, and Ali Farhadi. You Only Look Once: Unified, Real-Time Object Detection. arXiv preprint arXiv:1506.02640, 2015.

[^23]: F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay. Scikit-learn: Machine Learning in Python. JMLR, 12:2825–2830, 2011.

[^25]: Gernot Riegler, David Ferstl, Matthias Rüther, and Horst Bischof. Hough Networks for Head Pose Estimation and Facial Feature Localization. BMVC, 2014.

[^26]: Andrew M Saxe, James L McClelland, and Surya Ganguli. Exact solutions to the nonlinear dynamics of learning in deep linear neural networks. ICLR, 2014.

[^27]: Karen Simonyan and Andrew Zisserman. Very Deep Convolutional Networks for Large-Scale Image Recognition. In ICLR, 2015.

[^28]: Sayanan Sivaraman and Mohan Manubhai Trivedi. Looking at Vehicles on the Road: A Survey of Vision-Based Vehicle Detection, Tracking, and Behavior Analysis. TITS, 14(4):1773–1795, 2013.

[^29]: Luciano Spinello, Kai Oliver Arras, Rudolph Triebel, and Roland Siegwart. A Layered Approach to People Detection in 3D Range Data. In AAAI, 2010.

[^30]: Luciano Spinello and Roland Siegwart. Human Detection using Multimodal and Multidimensional Features. In ICRA, 2008.

[^31]: Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. Dropout: A Simple Way to Prevent Neural Networks from Overfitting. JMLR, 15(1):1929–1958, 2014.

[^32]: Jonathan J Tompson, Arjun Jain, Yann LeCun, and Christoph Bregler. Joint Training of a Convolutional Network and a Graphical Model for Human Pose Estimation. In NIPS, 2014.

[^33]: Dominic Zeng Wang and Ingmar Posner. Voting for voting in online point cloud object detection. In Proceedings of Robotics: Science and Systems, 2015.

[^34]: Christoph Weinrich, Tim Wengefeld, Christof Schroeter, and Horst Michael Gross. People Detection and Distinction of their Walking Aids in 2D Laser Range Data based on Generic Distance-Invariant Features. In RO-MAN, 2014.

[^35]: Jodo Xavier, Marquidia Pacheco, Daniel Castro, António Ruano, and Urbano Nunes. Fast Line, Arc/Circle and Leg Detection from Laser Scan Data in a Player Driver. In ICRA, 2005.

[^36]: Yuanpu Xie, Xiangfei Kong, Fuyong Xing, Fujun Liu, Hai Su, and Lin Yang. Deep Voting: A Robust Approach Toward Nucleus Localization in Microscopy Images. In MICCAI, 2015.

![Image](images/bcdab3eed7aa51f5cc50d3c9d5374ea9ff7fcdec00c13c55d8ac7d36e6cdd860.jpg)

图片来源：Thibault Jan Beyer