
# DR-SPAAM：一种用于二维测距数据中行人检测的空间注意力自回归模型

贾丹 $^{1}$，亚历山大·赫尔曼斯 $^{1}$，巴斯蒂安·莱贝 $^{1}$

摘要——使用二维LiDAR检测行人是一项颇具挑战性的任务，原因在于二维测距数据的信息含量较低。为缓解激光雷达点稀疏性带来的问题，当前最先进的方法会融合多帧历史扫描，并基于融合后的扫描结果完成检测。这种后向融合的缺点是所有扫描都需要进行显式配准，而必要的配准操作会提升整个流程的计算开销——通常对于实际应用来说开销过高。本文提出一种行人检测网络，采用替代策略融合不同时间获取的扫描结果。我们的方法，即距离鲁棒空间注意力自回归模型（DR-SPAAM）遵循前向设计范式：它将骨干网络输出的中间特征保存为模板，当新扫描到来时循环更新模板，更新后的特征模板继而被用于检测当前场景中的行人。在DROW数据集上，我们的方法性能优于现有最优方法，同时速度提升约四倍，在搭载独立GPU的笔记本电脑上可达87.2 FPS，在NVIDIA Jetson AGX嵌入式GPU上可达22.6 FPS。我们发布了PyTorch版本的代码，以及包含预训练模型的ROS节点。

## 一、引言

在周边环境中检测行人是搜救、安防、医疗保健等诸多机器人应用的核心要求。目前，这项任务通常通过多台RGB(-D)相机结合基于深度学习的目标检测器完成 [^1], [^2], [^3]。但这类相机的视场有限，仅能在狭窄视锥范围内实现检测。此外，远距离深度测量的误差较大，导致很难在三维空间中对行人进行精准定位。与之相比，二维激光雷达（2D LiDAR）能够以高采集频率在大视场范围内获得精准的距离测量结果，因此是行人检测任务中很有前景的传感器选择。

然而，二维激光雷达的稀疏距离测量包含的信息有限，这是实现可靠行人检测的一大核心挑战。近年研究进展表明，融合多帧历史扫描数据进行目标检测能够带来性能提升 [^4], [^5]。具体来说，Beyer等人的研究显示，与单帧扫描的基线方案相比，累积五帧历史扫描可以得到更优的检测结果 [^4]。但该方法的缺点是计算成本会随之升高。由于激光雷达自身存在位姿运动，加上场景内物体也会发生运动，不同时间记录的扫描帧无法完美对齐，因此必须执行计算开销很大的对齐操作，才能融合扫描数据供下游处理。在 [^4] 的工作中，对齐操作通过

![Image](images/e472ca4a3d3cbb69abbd335010d867a9bebb1ee5ce4fb0fc066ab6fd826e56f5.jpg)

<div style="text-align: center;">Fig. 1: The bird's-eye view of a 2D LiDAR scan (blue dots) with a person in the scene (green square). For each point DR-SPAAM outputs a classification label and an offset to the center of the person (red lines), which are then grouped into detections using a post-processing step.</div>

里程计信息结合对历史扫描帧的重复采样完成。这种对齐方式的计算成本随扫描帧数线性增长，仅使用五帧历史扫描就会让整个检测流程的计算开销过大，无法满足移动平台的实时处理要求。

原则上，对齐融合已有扫描结果的方法遵循一种向后看的时序信息聚合范式。与之不同，向前看范式仅保留基于当前测量的表征，并在获得新测量时循环更新该表征。这种整合了所有过往测量信息的表征会被用于下游处理。这类向前看范式的一个实例来自视频目标检测领域，该领域的研究人员使用记忆模块循环接收视频序列每一帧的输入特征，输出当前帧的优化预测结果 [^6], [^7], [^8].

本文提出了一种遵循向前看范式聚合时序信息的行人检测网络。我们的方法采用DROW检测器的现有架构 [^4]，该架构以二维扫描结果为输入，为每个点预测一个分类标签和一个指向行人中心的偏移向量（图1）。我们为DROW增加了一个自回归模型，用来聚合主干网络从每一次扫描中提取的中间特征，使我们的方法能够利用所有过往测量的信息。我们没有对不同扫描的中间特征进行显式对齐，而是使用空间注意力机制，基于相似度关联相邻位置的特征，大幅降低了

---

计算开销。我们将所提方法命名为距离鲁棒空间注意力自回归模型（DR-SPAAM）。在原始DROW数据集上的评估结果显示，DR-SPAAM性能优于以往方法，该方法在配备独立GPU的笔记本电脑上运行帧率可达87.2 FPS，在NVIDIA Jetson AGX上运行帧率可达22.6 FPS。DR-SPAAM的高帧率特性使其适用于多种机器人应用场景。

综上所述，本文的核心贡献如下：

- 我们提出了一种空间注意力自回归模型，无需显式对齐操作即可融合过往激光雷达扫描得到的信息。

- 我们基于上述空间注意力自回归模型提出了快速的二维激光雷达行人检测器DR-SPAAM。在基于二维距离数据的行人检测任务中，本文所提方法在速度和检测性能两方面均优于以往的最优方法。

- 我们在PyTorch中开源了本文方法的实现，其中包含带有预训练模型的ROS节点，以方便在机器人项目中快速部署$^{1}$。

### 二、相关工作

### A. 基于二维距离数据的行人检测

基于二维距离数据的人体检测在机器人领域由来已久。早期方法主要依靠启发式规则在距离数据中寻找特定形状，目前最主流的研究范式是将一次扫描分割为连通分段，为每个分段计算一组手工设计特征，最终对其分类得到检测结果 [^9], [^10], [^11]。常见方法可分为两类：一类先检测、再追踪单根腿部，进而完成人体检测 [^10], [^11]；另一类则直接以将双腿包含在同一个分割段中为目标 [^9]。理想情况下，我们可以直接从数据中学习人体的表征，从而避免这类艰难的设计决策。DROW检测器 [^12] 是首个基于深度学习、面向二维距离数据的助行检测器，后续它被扩展为可额外检测人体 [^4]。提升人体检测结果的一个关键方向是融合时序信息。然而，这会大幅增加运行时间，导致该方法无法用于在线场景。我们提出了一种新型人体检测器，将DROW检测器的现有架构与前向时序融合模块相结合，在速度和检测质量上均优于原始DROW版本。

已有其他研究者将基于深度学习的方法应用于二维距离数据。Ondruška等人 [^13] 利用静态二维LiDAR构建占用网格，并基于RNN为每个网格单元预测类别标签和未来的网格构型。在后续工作中，他们将该方法扩展为可适配运动LiDAR [^14]。但在上述两种场景中，他们的方法都不生成目标检测结果或轨迹，因此无法与人体检测器进行对比。

### B. 三维点云中的目标检测

已有大量研究聚焦于检测三维激光雷达获取的点云中的目标，因为该任务在自动驾驶应用中具有重要作用。点云作为一种数据表示形式，本身缺乏明确的结构和邻域定义，因此无法使用主流的CNN架构。为了解决这个问题，早期研究利用基于图像的目标检测方法，要么将点云投影到图像平面，要么借助已知的外参标定，将RGB图像上得到的二维检测结果升维到三维 [^15], [^16], [^17], [^18]。然而，这些方法的运行速度和精度都受限于所使用的二维目标检测器。该领域后续的发展（包括当前最先进的方法）都会直接使用完整点云，无需投影。像VoxelNet [^19]、SECOND [^20]这类方法会在由点云转换得到的结构化三维体素网格上运行（稀疏）卷积 [^21], [^22]，而PointRCNN [^23]等其他方法则使用受PointNet [^24]启发的骨干网络，直接处理非结构化点云 [^25], [^26], [^27]。还有一些方法将两种设计方案结合，构建出两阶段检测器 [^28], [^29], [^30]。

Qi等人提出的VoteNet是一项极具参考价值的研究工作[^31]。给定三维点云输入，VoteNet的第一阶段为每个点回归出一个指向物体中心的偏移向量（即投票），这一思路与DROW检测器类似，但VoteNet没有使用后处理步骤，而是借助另一个子网络将逐点预测结果分组得到边界框候选框。因此整个网络可以实现端到端训练。类似地，3D-MPA [^32] 也采用投票机制生成实例候选框，再将其分组得到点级实例掩码。这种可微分投票聚合方案对于二维激光雷达（2D LiDAR）而言也不失为一种有趣的思路。但我们的研究重点在于扫描序列的时间融合，这两种方法与我们的研究方向是相互正交的。

尽管从硬件角度来看，二维激光雷达的工作原理与三维激光雷达类似，但针对三维点云设计的方法不能直接照搬应用于二维激光雷达获取的距离数据。据我们所知，目前尚无研究将现有三维方法直接应用于二维距离数据，并且考虑到二维距离扫描本身的信息稀疏性，简单直接的适配是否真的可行仍然有待验证。

视频目标检测是一项特殊的目标检测任务，该任务的输入是在多帧中呈现同一目标的视频序列。因此该任务可以利用来自某一帧的信息辅助另一帧的检测。这种信息的时间传播非常重要，因为目标可能会因为快速运动、遮挡或相机角度变化而发生大幅外观改变。早期方法[^33]、[^34]、[^35]独立检测每一帧中的目标，再对得到的边界框进行序列级后处理。这类方法无法以端到端的方式优化。后续方法则侧重于直接跨帧聚合特征，一种方式是显式

---

利用光流进行特征对齐[^36]、[^37]、[^38]，另一种方式是使用记忆网络聚合特征[^6]、[^7]、[^8]。

与这些方法类似，我们的方法使用网络对连续扫描之间的特征进行聚合。我们没有使用专用的记忆模块，而是采用了自回归模型，该模型以指数衰减的权重将信息从前往后逐次扫描传播。在视频目标检测任务中，关键是要能够聚合长期特征，因为相邻帧通常外观相似，带来的新信息很少，因此通常会使用记忆网络。而我们专注于聚合连续扫描得到的短期特征，目标是丰富可用于检测的信息。因此，相比结构更复杂的记忆模块，自回归模型更适合我们的任务。此外，我们提出在时间聚合之前，先使用基于相似度的空间注意力模型 [^39], [^40] 融合邻近区域的空间信息。

### III. 方法

在本节中，我们详细介绍我们提出的行人检测方法。我们首先描述我们的基线架构——DROW检测器 [^4]，随后讨论聚合时间信息的不同范式。最后，我们介绍我们提出的DR-SPAAM检测器，与[^4]不同，该检测器采用前向方式随时间聚合信息。

预处理阶段，对于时刻t由N个点$S^t \in \mathbb{R}_{>0}^N$组成的扫描$^2 \{s_n^t\}_{n=1}^N$，会生成N个裁剪块$\{C_n^t\}_{n=1}^N$，每个裁剪块对应欧氏空间中激光雷达点$s_n^t$周围的一个固定尺寸窗口。该过程通过以下方式为每个点$a_n^t$计算开度角$s_n^t$，使用

### A. DROW检测器

DROW探测器[^12]，[^4]是首个基于深度学习的二维测距数据行人检测方法。它包含三个阶段：首先，为了归一化不同深度下的外观，原始扫描数据会被预处理为多个逐点小窗口，这类窗口被称为裁剪块（cutout）。随后网络会对每个裁剪块单独分类，判断其属于目标还是背景，并为每个裁剪块回归出一个可能的目标中心。最后，所有回归得到的目标中心（称为投票）会被收集聚合，得到最终的检测结果集合。

 $$ a_{n}^{t}=2\cdot\arctan\frac{0.5\cdot\overline{W}}{s_{n}^{t}}, $$

其中 $\overline{W}$ 是指定裁剪宽度的超参数。随后将该角度邻域内的点重新采样为固定数量的M个点，通过减去中心点的距离 $s_n^t$ 完成中心化处理。深度范围超出 $\pm d$ 的背景点和前景点会被裁剪掉，基于阈值d替换为常数；最终裁剪块 $C_n^t$ 中的所有值会被归一化到 $[-1,1]$。经过归一化的裁剪块 $\{C_n^t\}_{n=1}^N$ 被送入网络进行分类和回归。在后处理阶段，投票结果会累积到投票网格中，再通过非极大值抑制步骤得到一组检测结果，之后进一步聚合属于同一检测的投票类别分布来优化结果。DROW检测器的结果体现了裁剪预处理的优势：它尤其缓解了不同距离处采样密度不均带来的问题（激光雷达点在远距离更为稀疏），还能让DROW检测器无需重新训练即可适配不同角度分辨率的激光雷达。此外，裁剪操作去除了背景信息，使网络可以专注于同一距离区域内的邻域点。更多细节请读者参考 [^12]。

### B. 时间信息聚合

由于激光雷达（LiDAR）传感器获取的测量结果信息含量较低（尤其是远距离测量结果），部分检测器会聚合不同时刻得到的测量值，以获得更丰富的空间表征，已有研究表明这种时间聚合能够提升下游任务的性能 [^4], [^5]。多数常用的时间信息积累方法都遵循所谓的回溯范式，即将过去若干步骤内的测量结果整合在一起。受传感器自身运动或动态物体的影响，这些测量结果之间通常存在空间错位，必须基于里程计或点云配准对该错位进行校正。

类似地，DROW检测器的第二个版本也通过回顾过往积累时间信息 [^4]。它对过去T次扫描计算裁剪区域 $\{C_n^{t-T}, \cdots, C_n^t\}$，并通过简单求和融合从网络中间阶段获得的特征 $\{F_n^{t-T}, \cdots, F_n^t\}$。融合后的特征随后被送入网络的后续阶段进行分类和回归。由于传感器存在自身运动，在同一角度索引n下得到的两次距离测量 $s_n^t$ 和 $s_n^{t-1}$ 不会对应世界坐标系中的同一个对齐点，因此DROW检测器在融合特征 $F_n^t$ 和 $F_n^{t-1}$ 之前，会使用机器人里程计纠正这种错位。但仅靠里程计不足以补偿场景中动态物体造成的错位。对于行人来说这一点尤其关键，因为同一角度索引下的激光雷达射线 $n^{th}$ 可能在 $t-1$ 时刻击中行人的腿部，却在t时刻从双腿之间穿过，击中远处的背景结构，最终得到差异非常显著的特征。因此Beyer等人提出将裁剪区域中心的采样位置固定在当前点的位置 $s_n^t$。但这意味着每个时间步都需要重新计算过往扫描的裁剪区域。借助里程计对齐和固定位置采样，DROW检测器融合了过去五次扫描，相比仅使用单次扫描提高了检测精度。

这种回顾过往设计带来的性能提升

---

![Image](images/d3392f32a7b4d0df691e36138d3b64d93f01fc93a47dca893b692d7524460888.jpg)

<div style="text-align: center;">Fig. 2: Overview of the DR-SPAAM architecture. From the current LiDAR scan we create cutouts  $C_n^t$ for every point, from which the network computers intermediate representations  $F_n^t$. Using our SPAAM module, we aggregate temporal information from previous scans (c.f. Fig. 3 and Sec. III-C). Based on the merged representations  $\tilde{F}_n^t$ the network outputs a classification label and predicts a relative object center for each point.</div>

该方法以增加计算时间为代价。当前测量结果与每一次历史测量结果之间的错位必须进行校正，这导致计算时间随聚合窗口内的帧数线性增长。对于DROW检测器而言，即使仅使用五次扫描，整个检测流程的计算开销也过高，无法满足移动平台实时应用的要求。

聚合时间信息的另一种思路是采用前向范式。前向方法不需要显式对齐并融合多个历史测量结果，仅需保留基于当前测量结果的特征表达，并针对每一次新测量循环更新该表达。理想情况下，更新步骤仅带来很小的计算开销。因此，前向方法可以聚合历史信息，同时不会出现随时间窗口尺寸变化的不利运行时扩展性问题。

### C. DR-SPAAM检测器

本文提出距离鲁棒空间注意力自回归模型（Distance Robust Spatial-Attention and Auto-regressive Model, DR-SPAAM），该模型遵循前向范式聚合时间信息。我们没有在历史扫描上计算空间对齐的裁剪区域，而是使用基于相似度的空间注意力模块 [^40]，该模块允许网络学习关联空间邻域中未对齐的特征。此外，我们采用自回归模型更新特征表达，沿时间前向聚合信息。本文提出的检测器性能优于DROW检测器，同时速度约快四倍。DR-SPAAM以及所提空间注意力和自回归模型的示意图分别如Fig. 2和Fig. 3所示。

由于存在错位，在两个时间步计算得到的特征$F_n^t$和$F_n^{t-1}$无法直接朴素地合并。我们没有像[^4]中那样对对齐进行显式建模，而是提出让网络通过基于相似度的注意力机制学习关联特征。对于某一个点$s_n^t$，我们考察它在前一时间步$\{s_{n-w}^{t-1}, \cdots, s_{n+w}^{t-1}\}$的空间邻域点$t-1$，并计算两两相似度

 $$ \Omega_{n j}=\psi(F_{j}^{t-1})^{T}\cdot\psi(F_{n}^{t}) $$

，即每个前一时间点$s_j^{t-1}$提取的特征与当前点$s_n^t$的特征之间的相似度。此处，w是定义邻域大小的参数，$F_n^t$是$s_n^t$的中间特征，$\psi$是由神经网络实现的通用映射函数，可将特征映射到嵌入空间。随后我们使用softmax函数将相似度转换为权重因子，从前一帧生成融合特征$\tilde{F}_n^{t-1}$：

 $$ \tilde{F}_{n}^{t-1}=\sum_{j=n-w}^{n+w}{s o f t m a x}(\Omega_{n})_{j}F_{j}^{t-1}. $$

该模型对相似度分数更高的点赋予更高权重，这些点更可能包含来自$s_n^t$附近区域的信息，同时抑制其他无关点的特征。来自前一帧的融合特征$\tilde{F}_n^{t-1}$随后可以与当前特征$F_n^t$合并，用于后续处理。

然而，该模型仅能合并来自两次连续扫描的信息。为了聚合时间上更早的过往扫描信息，我们提出将Eqn. 3与自回归方法相结合。我们将时间步$\tilde{F}_{n}^{t-1}$得到的融合特征$t-1$作为模板，当时间t的新特征$F_{n}^{t}$可用后，我们计算得到更新后的模板：

 $$ \tilde{F}_{n}^{t}=\alpha F_{n}^{t}+(1-\alpha)\sum_{j=n-w}^{n+w}s o f t m a x(\tilde{\Omega}_{n})_{j}\tilde{F}_{j}^{t-1}, $$

其中$\alpha \in [0,1)$是控制更新速率的参数。此处第一项是我们对已存储模板的更新，第二项汇总了来自过去的信息。请注意，与公式2中的情况不同，此处的项$\tilde{\Omega}_{nj}$表示当前特征$F_n^t$与来自先前模板（而非先前扫描）的邻域特征$\{\tilde{F}_{n-w}^{t-1}, \cdots, \tilde{F}_{n+w}^{t-1}\}$之间的相似度，即

 $$ \tilde{\Omega}_{n j}=\psi(\tilde{F}_{j}^{t-1})^{T}\cdot\psi(F_{n}^{t}). $$

更新后的模板$\tilde{F}_{n}^{t}$随后会被传递到网络的后续阶段，用于最终分类和偏移量回归。

与原始DROW检测器相比，我们的DR-SPAAM检测器计算复杂度显著更低，既不需要机器人里程计，也不需要对过往扫描重新计算裁剪区域。自回归模型还允许我们的检测器每个角度索引仅保留一个模板，无需存储多帧过往扫描，同时能够在更大的时间窗口内积累信息。

### IV. 评估

我们使用DROW数据集[^12]，[^4]对本文方法进行评估，该数据集采集自室内康复机构，使用的是SICK S300扫描仪，数据集包含24 012

---

![Image](images/0995f60b313f55e83b09aaab827ca0fc97577dbd0be6ab9c86e960fc2a433dd8.jpg)

<div style="text-align: center;">Fig. 3: The SPAAM module associates features from previous scans using similarity-based spatial attention. The similarity-weighted features are then combined with the current features in an auto-regressive fashion.</div>

个标注扫描帧，划分为训练集（17 665）、验证集（3 919）和测试集（2 428）。标注包含三类目标的位置信息：轮椅、助行器和行人。本文专门聚焦于行人检测，忽略了另外两类的标注，不过我们的方法具备足够的通用性，调整超参数后即可处理其他类别。

遵循目标检测领域的通用标准，我们采用不同关联距离下的平均精度（AP）作为我们的主要评估指标。$AP_{d}$代表：如果存在一个未匹配的真值，其落在预测位置的d米半径范围内，该检测结果就会被判定为正样本。请注意，[^12]、[^4]报告的精确率-召回率曲线下面积（AUC），从定义上来说等价于平均精度。此外，我们还报告了峰值F1分数（采用0.5米的关联距离），即不同精确率和召回率组合下的最大调和平均值，同时还报告了等错误率（EER），也就是精确率和召回率相等时的取值。

我们所有模型都在训练集上训练，批次大小为8次扫描，共训练40个轮次。对于我们的DR-SPAAM检测器，训练过程中我们会加载回溯10帧的历史信息，因为由于指数衰减特性，时间上更早的扫描相关性更低。我们使用Adam优化器，初始学习率为$10^{-3}$，在整个训练过程中，每次迭代后进行指数衰减，最终降至$10^{-6}$。分类任务我们使用二元交叉熵损失，回归任务我们使用回归误差的$L_1$范数。为了将网络输出转换为检测结果，我们采用了[^4]中提出的相同后处理方案。我们使用Hyperopt [^41]优化投票步骤的超参数，针对每个模型单独在验证集上最大化$AP_{0.5}$。评估阶段，和训练过程类似，我们为每个测试扫描提供10帧历史帧的时间上下文。不过我们的方法可以很容易推广到在完整序列上运行。

### A. 定量结果

我们使用测试集评估本文提出的方法，并在表I中报告了该方法在0.5 m关联阈值下的平均精度、峰值F1分数和等错误率。作为额外的基线，我们还报告了

<div style="text-align: center;">TABLE I: Detection accuracy on the test set with 0.5m association threshold. Note that DR-SPAAM and our re-trained baseline DROW do not use odometry information.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>$AP_{{0.5}}$</td><td style='text-align: center; word-wrap: break-word;'>peak-F1</td><td style='text-align: center; word-wrap: break-word;'>EER</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ROS leg detector [^10]</td><td style='text-align: center; word-wrap: break-word;'>23.2</td><td style='text-align: center; word-wrap: break-word;'>41.7</td><td style='text-align: center; word-wrap: break-word;'>41.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Arras (re-trained) [^9]</td><td style='text-align: center; word-wrap: break-word;'>47.6</td><td style='text-align: center; word-wrap: break-word;'>50.3</td><td style='text-align: center; word-wrap: break-word;'>50.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Leigh (re-trained) [^11]</td><td style='text-align: center; word-wrap: break-word;'>57.2</td><td style='text-align: center; word-wrap: break-word;'>64.3</td><td style='text-align: center; word-wrap: break-word;'>62.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DROW ( $T = 1$) in [^4]</td><td style='text-align: center; word-wrap: break-word;'>59.4</td><td style='text-align: center; word-wrap: break-word;'>61.5</td><td style='text-align: center; word-wrap: break-word;'>61.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DROW ( $T = 5$) in [^4]</td><td style='text-align: center; word-wrap: break-word;'>67.0</td><td style='text-align: center; word-wrap: break-word;'>65.9</td><td style='text-align: center; word-wrap: break-word;'>64.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DROW ( $T = 5$, + odom.) in [^4]</td><td style='text-align: center; word-wrap: break-word;'>68.1</td><td style='text-align: center; word-wrap: break-word;'>68.1</td><td style='text-align: center; word-wrap: break-word;'>67.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DROW ( $T = 1$) baseline</td><td style='text-align: center; word-wrap: break-word;'>66.6</td><td style='text-align: center; word-wrap: break-word;'>66.1</td><td style='text-align: center; word-wrap: break-word;'>65.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DROW ( $T = 5$) baseline</td><td style='text-align: center; word-wrap: break-word;'>67.9</td><td style='text-align: center; word-wrap: break-word;'>65.1</td><td style='text-align: center; word-wrap: break-word;'>63.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DR-AM (w/o spatial attention)</td><td style='text-align: center; word-wrap: break-word;'>66.3</td><td style='text-align: center; word-wrap: break-word;'>65.2</td><td style='text-align: center; word-wrap: break-word;'>64.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DR-SPA (w/o auto-regression)</td><td style='text-align: center; word-wrap: break-word;'>68.0</td><td style='text-align: center; word-wrap: break-word;'>67.0</td><td style='text-align: center; word-wrap: break-word;'>66.1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DR-SPAAM</td><td style='text-align: center; word-wrap: break-word;'>70.3</td><td style='text-align: center; word-wrap: break-word;'>68.5</td><td style='text-align: center; word-wrap: break-word;'>67.2</td></tr></table>

分别采用单次扫描和五次扫描得到的两个重新训练DROW模型的性能。与原始实现相比，我们重新训练的模型使用了更小的裁剪窗口，且每个裁剪窗口内包含更多采样点，这些参数是我们根据验证集上的更优性能选定的（参见第四节C小节）。为了保证比较的公平有效性，重新训练的DROW基线和DR-SPAAM均使用相同的裁剪参数，且都不使用里程计信息。表I中还包含了Beyer等人在[^4]中报告的原始DROW在人体类别上的得分，以及在DROW数据集上重新训练的Leigh检测器[^11]和Arras检测器[^9]的得分。

结果显示，DR-SPAAM取得了最高的$AP_{0.5}$，为70.3%，比基线模型高出2.4%，比[^4]中的原始DROW高出2.2%。因此，即便不使用里程计信息，DR-SPAAM仍然取得了新的当前最优性能。通过将我们重新训练的DROW模型与原始DROW对比，我们也能观察到本文提出的调整方案的有效性，尤其是在单次扫描场景下。图4展示了所有不同模型的精确率-召回率曲线。从中可以看出，DR-SPAAM的性能优于所有其他设置，仅在高精度区间的一小块区域除外，该区域内DROW（T=5）基线的得分更高。

表I也展示了消融研究的结果，该研究凸显了我们时间聚合模块中不同组件的贡献。DR-AM对应的网络中，自回归模型直接使用新特征更新，不采用空间注意力机制生成的加权和。与单扫描DROW基线相比，它的性能略差，说明盲目融合不对齐的特征并无益处。另一方面，DR-SPA仅通过空间注意力融合当前扫描和上一次扫描的特征，不使用自回归模型的累积特征模板。这种双扫描方法的性能已经优于五扫描DROW基线，证明了使用基于学习的方法整合先前测量得到的特征具有明显优势。完整模型DR-SPAAM的性能优于双扫描DR-SPA，体现了在更大时间窗口上聚合信息的益处。

---

![Image](images/41a25d7e953f232dce4d6a512978395159182351dd3642376ced566b4d757a1c.jpg)

<div style="text-align: center;">Fig. 4: Precision-recall curves for several baselines and our DR-SPAAM detector, evaluated with association distance 0.5 m (solid) and 0.3 m (dashed).</div>

### B. 推理时间

DR-SPAAM不仅实现了更优异的检测效果，还拥有显著更低的计算复杂度，因为它无需对过往剪切块进行高成本的重新计算。我们所有网络均在Python和PyTorch中实现，未使用任何推理时加速框架（例如TensorRT），并对完整流程不同组件的运行时间进行了测试分析。两个移动平台的计时结果报告于表II中。本次测试使用了两台设备：一台搭载移动版NVIDIA GeForce RTX 2080 Max-Q GPU与Intel-i7 9750H CPU的笔记本电脑，以及一台Jetson AGX Xavier。表格显示，DR-SPAAM的计算时间与单扫描DROW方法相近。这符合预期，因为DR-SPAAM在每个时间步仅需处理当前扫描，其复杂度更高的融合过程仅增加了很小的开销。但尽管两种方法速度相近，单扫描DROW方法的检测精度要低得多。另一方面，结合时间积分的DROW方法由于需要对所有过往扫描重新计算剪切块，运行时间随扫描数量线性增长，仅使用五次扫描就已经明显变慢。对于Jetson AGX平台，2.6 FPS的帧率对于实时应用来说过慢，而我们方法得到的9.7 FPS仍然完全处于可用范围。在笔记本电脑上，考虑到DROW数据集的录制帧率约为13 FPS，实际上所有模型都可以快于实时速度运行。但如果有需求，DR-SPAAM可以实现高得多的帧率，提供检测结果的延迟更低、功耗更少，这对于移动平台而言是一项十分重要的优势。

剪切图生成和投票是计算成本高昂的

<div style="text-align: center;">TABLE II: Computation time (in milliseconds) and frame rate of different setups on two different mobile platforms.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Method</td><td rowspan="2">$AP_{{0.5}}$</td><td colspan="4">Laptop (RTX 2080)</td><td colspan="4">Jetson AGX</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>cutout</td><td style='text-align: center; word-wrap: break-word;'>net</td><td style='text-align: center; word-wrap: break-word;'>vote</td><td style='text-align: center; word-wrap: break-word;'>FPS</td><td style='text-align: center; word-wrap: break-word;'>cutout</td><td style='text-align: center; word-wrap: break-word;'>net</td><td style='text-align: center; word-wrap: break-word;'>vote</td><td style='text-align: center; word-wrap: break-word;'>FPS</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DROW ( $T=1$)</td><td style='text-align: center; word-wrap: break-word;'>66.6</td><td style='text-align: center; word-wrap: break-word;'>7.0</td><td style='text-align: center; word-wrap: break-word;'>1.4</td><td style='text-align: center; word-wrap: break-word;'>6.1</td><td style='text-align: center; word-wrap: break-word;'>68.6</td><td style='text-align: center; word-wrap: break-word;'>63.3</td><td style='text-align: center; word-wrap: break-word;'>4.8</td><td style='text-align: center; word-wrap: break-word;'>29.3</td><td style='text-align: center; word-wrap: break-word;'>10.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DROW ( $T=5$)</td><td style='text-align: center; word-wrap: break-word;'>67.9</td><td style='text-align: center; word-wrap: break-word;'>34.3</td><td style='text-align: center; word-wrap: break-word;'>1.5</td><td style='text-align: center; word-wrap: break-word;'>19.2</td><td style='text-align: center; word-wrap: break-word;'>18.2</td><td style='text-align: center; word-wrap: break-word;'>306.3</td><td style='text-align: center; word-wrap: break-word;'>5.1</td><td style='text-align: center; word-wrap: break-word;'>78.1</td><td style='text-align: center; word-wrap: break-word;'>2.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DR-SPAAM</td><td style='text-align: center; word-wrap: break-word;'>70.3</td><td style='text-align: center; word-wrap: break-word;'>7.0</td><td style='text-align: center; word-wrap: break-word;'>2.0</td><td style='text-align: center; word-wrap: break-word;'>7.7</td><td style='text-align: center; word-wrap: break-word;'>59.8</td><td style='text-align: center; word-wrap: break-word;'>62.0</td><td style='text-align: center; word-wrap: break-word;'>6.9</td><td style='text-align: center; word-wrap: break-word;'>33.6</td><td style='text-align: center; word-wrap: break-word;'>9.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DR-SPAAM $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>71.8</td><td style='text-align: center; word-wrap: break-word;'>1.1</td><td style='text-align: center; word-wrap: break-word;'>1.9</td><td style='text-align: center; word-wrap: break-word;'>8.5</td><td style='text-align: center; word-wrap: break-word;'>87.2</td><td style='text-align: center; word-wrap: break-word;'>4.2</td><td style='text-align: center; word-wrap: break-word;'>7.7</td><td style='text-align: center; word-wrap: break-word;'>32.4</td><td style='text-align: center; word-wrap: break-word;'>22.6</td></tr></table>

整个流程中的各个步骤。为了进一步提高帧率，我们采用了更快的抠图生成实现，最终得到的模型DR-SPAAM*在配备独立GPU的笔记本电脑上运行帧率可达87.2 FPS，在Jetson AGX上可达22.6 FPS，远满足多数实时应用的需求。新的实现凭借改进的数值精度提升了网络性能。

### C. 超参数选择

抠图操作由窗口的宽度（$\overline{W}$）、深度（D）以及重采样所用的点数（N）进行参数化。在[^4]中，为了处理尺寸更大的助行器类别，使用了尺寸更大（1.66 m $\times$2.0 m）、包含48个点的窗口。由于我们仅关注行人检测，因此我们建议使用更小尺寸的窗口，使其紧密贴合行人的占地范围，从而减少来自周围环境的干扰信息。我们在验证集上使用单扫描的DROW网络开展了抠图窗口尺寸的实验。实验结果如表III所示。基于这些结果，我们将抠图窗口设置为（1.0 m $\times$1.0 m）、56个点，并在所有训练模型中使用该抠图参数。

可以观察到，验证集上的得分显著低于测试集上的得分。原始DROW数据集是为检测三个类别构建的：轮椅、助行器和行人。在本文工作中，我们仅保留了行人类别的标注，并且发现验证集恰好包含更多远距离位置的行人标注。尽管我们采用了对距离鲁棒的预处理方法，但在更远距离处信息会变得极为稀疏，导致检测的可靠性必然下降，因此验证集的挑战性更高。

空间注意力模型和自回归模型由更新率$\alpha$和搜索窗口尺寸W参数化。虽然这两个参数的含义直观清晰，但选择合适的参数组合并非易事。我们使用不同的$\alpha$与W组合训练了多个DR-SPAAM网络。根据验证集结果（表IV），我们最终选择使用W=11和$\alpha=0.5$构建最终模型。这些结果并未呈现出明确规律，更大的搜索窗口或特定更新率都无法始终获得更优性能。对参数空间进行更全面的搜索有望得到性能更佳的模型。

---

<div style="text-align: center;">TABLE III: Validation set scores of DROW  $(T=1)$ detectors with different cutout parameters.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>$\overline{W}$</td><td style='text-align: center; word-wrap: break-word;'>D</td><td style='text-align: center; word-wrap: break-word;'>N</td><td style='text-align: center; word-wrap: break-word;'>$AP_{{0.3}}$</td><td style='text-align: center; word-wrap: break-word;'>$AP_{{0.5}}$</td><td style='text-align: center; word-wrap: break-word;'>peak-F1</td><td style='text-align: center; word-wrap: break-word;'>EER</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1.66</td><td style='text-align: center; word-wrap: break-word;'>2.0</td><td style='text-align: center; word-wrap: break-word;'>48</td><td style='text-align: center; word-wrap: break-word;'>41.9</td><td style='text-align: center; word-wrap: break-word;'>43.0</td><td style='text-align: center; word-wrap: break-word;'>48.1</td><td style='text-align: center; word-wrap: break-word;'>47.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1.66</td><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>48</td><td style='text-align: center; word-wrap: break-word;'>42.6</td><td style='text-align: center; word-wrap: break-word;'>43.4</td><td style='text-align: center; word-wrap: break-word;'>49.2</td><td style='text-align: center; word-wrap: break-word;'>48.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>2.0</td><td style='text-align: center; word-wrap: break-word;'>48</td><td style='text-align: center; word-wrap: break-word;'>43.6</td><td style='text-align: center; word-wrap: break-word;'>44.8</td><td style='text-align: center; word-wrap: break-word;'>50.7</td><td style='text-align: center; word-wrap: break-word;'>50.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>48</td><td style='text-align: center; word-wrap: break-word;'>44.0</td><td style='text-align: center; word-wrap: break-word;'>45.0</td><td style='text-align: center; word-wrap: break-word;'>50.3</td><td style='text-align: center; word-wrap: break-word;'>50.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>32</td><td style='text-align: center; word-wrap: break-word;'>42.0</td><td style='text-align: center; word-wrap: break-word;'>43.0</td><td style='text-align: center; word-wrap: break-word;'>49.1</td><td style='text-align: center; word-wrap: break-word;'>48.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>40</td><td style='text-align: center; word-wrap: break-word;'>43.1</td><td style='text-align: center; word-wrap: break-word;'>44.1</td><td style='text-align: center; word-wrap: break-word;'>50.0</td><td style='text-align: center; word-wrap: break-word;'>49.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>48</td><td style='text-align: center; word-wrap: break-word;'>44.0</td><td style='text-align: center; word-wrap: break-word;'>45.0</td><td style='text-align: center; word-wrap: break-word;'>50.3</td><td style='text-align: center; word-wrap: break-word;'>50.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>56</td><td style='text-align: center; word-wrap: break-word;'>45.1</td><td style='text-align: center; word-wrap: break-word;'>46.3</td><td style='text-align: center; word-wrap: break-word;'>50.9</td><td style='text-align: center; word-wrap: break-word;'>50.8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>1.0</td><td style='text-align: center; word-wrap: break-word;'>64</td><td style='text-align: center; word-wrap: break-word;'>43.8</td><td style='text-align: center; word-wrap: break-word;'>45.1</td><td style='text-align: center; word-wrap: break-word;'>50.7</td><td style='text-align: center; word-wrap: break-word;'>50.4</td></tr></table>

<div style="text-align: center;">TABLE IV: Validation set scores of DR-SPAAM with different window sizes and update rates.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>W</td><td style='text-align: center; word-wrap: break-word;'>$\alpha$</td><td style='text-align: center; word-wrap: break-word;'>$\mathrm{AP}_{0.3}$</td><td style='text-align: center; word-wrap: break-word;'>$\mathrm{AP}_{0.5}$</td><td style='text-align: center; word-wrap: break-word;'>peak-F1</td><td style='text-align: center; word-wrap: break-word;'>EER</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>7</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>45.0</td><td style='text-align: center; word-wrap: break-word;'>46.2</td><td style='text-align: center; word-wrap: break-word;'>52.5</td><td style='text-align: center; word-wrap: break-word;'>52.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>7</td><td style='text-align: center; word-wrap: break-word;'>0.5</td><td style='text-align: center; word-wrap: break-word;'>49.5</td><td style='text-align: center; word-wrap: break-word;'>50.9</td><td style='text-align: center; word-wrap: break-word;'>54.6</td><td style='text-align: center; word-wrap: break-word;'>53.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>7</td><td style='text-align: center; word-wrap: break-word;'>0.8</td><td style='text-align: center; word-wrap: break-word;'>46.8</td><td style='text-align: center; word-wrap: break-word;'>48.3</td><td style='text-align: center; word-wrap: break-word;'>54.1</td><td style='text-align: center; word-wrap: break-word;'>54.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>51.5</td><td style='text-align: center; word-wrap: break-word;'>53.0</td><td style='text-align: center; word-wrap: break-word;'>56.8</td><td style='text-align: center; word-wrap: break-word;'>56.4</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11</td><td style='text-align: center; word-wrap: break-word;'>0.5</td><td style='text-align: center; word-wrap: break-word;'>52.7</td><td style='text-align: center; word-wrap: break-word;'>53.9</td><td style='text-align: center; word-wrap: break-word;'>57.3</td><td style='text-align: center; word-wrap: break-word;'>57.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11</td><td style='text-align: center; word-wrap: break-word;'>0.8</td><td style='text-align: center; word-wrap: break-word;'>47.4</td><td style='text-align: center; word-wrap: break-word;'>48.7</td><td style='text-align: center; word-wrap: break-word;'>53.6</td><td style='text-align: center; word-wrap: break-word;'>53.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>15</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>51.5</td><td style='text-align: center; word-wrap: break-word;'>52.8</td><td style='text-align: center; word-wrap: break-word;'>56.1</td><td style='text-align: center; word-wrap: break-word;'>55.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>15</td><td style='text-align: center; word-wrap: break-word;'>0.5</td><td style='text-align: center; word-wrap: break-word;'>50.7</td><td style='text-align: center; word-wrap: break-word;'>52.1</td><td style='text-align: center; word-wrap: break-word;'>55.0</td><td style='text-align: center; word-wrap: break-word;'>54.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>15</td><td style='text-align: center; word-wrap: break-word;'>0.8</td><td style='text-align: center; word-wrap: break-word;'>47.0</td><td style='text-align: center; word-wrap: break-word;'>48.2</td><td style='text-align: center; word-wrap: break-word;'>53.1</td><td style='text-align: center; word-wrap: break-word;'>53.0</td></tr></table>

### D. 采样率

不同激光雷达（LiDAR）通常具有不同的采样率。由于检测网络很可能部署在不同的LiDAR传感器上，因此需要检验它对不同传感器规格的鲁棒性。我们选取DROW（$T=5$）和DR-SPAAM两个网络，通过使用时间子采样序列在测试集上评估它们，以此模拟不同的采样率。表V给出了不同时间步长下的检测精度（步长为n表示仅保留每$n^{th}$次扫描）。

评估结果表明，DR-SPAAM对采样率变化具有极强的鲁棒性。即使扫描频率降低为原来的五分之一（约2Hz），AP $_{0.3}$ 也仅下降2.1%。该结果体现了可学习空间注意力模块的优势：该模块根据外观相似性融合信息，不依赖固定的时间上下文窗口。因此，DR-SPAAM可部署在多种采样率的LiDAR上，若计算能力受限，也可在降低采样率的条件下工作。另一方面，DROW检测器的性能会随着时间步长的增加而迅速下降。连续扫描之间的时间差越大，运动导致的错位就越严重，进而会降低DROW检测器的准确率。

### E. 时间关联

在时间聚合步骤中，DR-SPAAM计算聚合模板与最新扫描特征之间的相似度（公式5）。该相似度可进一步用于关联不同扫描之间的点。我们在此提供一个初步示例：我们从一个序列中选取200个连续帧（总时长约15秒），检测

<div style="text-align: center;">TABLE V: Test set results with different temporal strides.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Stride</td><td colspan="4">DROW $T=5$</td><td colspan="4">DR-SPAAM</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$AP_{{0.3}}$</td><td style='text-align: center; word-wrap: break-word;'>$AP_{{0.5}}$</td><td style='text-align: center; word-wrap: break-word;'>p-F1</td><td style='text-align: center; word-wrap: break-word;'>EER</td><td style='text-align: center; word-wrap: break-word;'>$AP_{{0.3}}$</td><td style='text-align: center; word-wrap: break-word;'>$AP_{{0.5}}$</td><td style='text-align: center; word-wrap: break-word;'>p-F1</td><td style='text-align: center; word-wrap: break-word;'>EER</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>66.6</td><td style='text-align: center; word-wrap: break-word;'>67.9</td><td style='text-align: center; word-wrap: break-word;'>65.1</td><td style='text-align: center; word-wrap: break-word;'>63.8</td><td style='text-align: center; word-wrap: break-word;'>68.5</td><td style='text-align: center; word-wrap: break-word;'>70.3</td><td style='text-align: center; word-wrap: break-word;'>68.5</td><td style='text-align: center; word-wrap: break-word;'>67.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>59.3</td><td style='text-align: center; word-wrap: break-word;'>60.5</td><td style='text-align: center; word-wrap: break-word;'>60.1</td><td style='text-align: center; word-wrap: break-word;'>59.3</td><td style='text-align: center; word-wrap: break-word;'>69.3</td><td style='text-align: center; word-wrap: break-word;'>70.8</td><td style='text-align: center; word-wrap: break-word;'>68.8</td><td style='text-align: center; word-wrap: break-word;'>67.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>54.3</td><td style='text-align: center; word-wrap: break-word;'>55.8</td><td style='text-align: center; word-wrap: break-word;'>56.8</td><td style='text-align: center; word-wrap: break-word;'>56.7</td><td style='text-align: center; word-wrap: break-word;'>69.4</td><td style='text-align: center; word-wrap: break-word;'>70.9</td><td style='text-align: center; word-wrap: break-word;'>68.1</td><td style='text-align: center; word-wrap: break-word;'>66.5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>53.6</td><td style='text-align: center; word-wrap: break-word;'>55.1</td><td style='text-align: center; word-wrap: break-word;'>56.0</td><td style='text-align: center; word-wrap: break-word;'>55.7</td><td style='text-align: center; word-wrap: break-word;'>67.7</td><td style='text-align: center; word-wrap: break-word;'>69.1</td><td style='text-align: center; word-wrap: break-word;'>66.4</td><td style='text-align: center; word-wrap: break-word;'>64.9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>5</td><td style='text-align: center; word-wrap: break-word;'>51.5</td><td style='text-align: center; word-wrap: break-word;'>53.4</td><td style='text-align: center; word-wrap: break-word;'>54.6</td><td style='text-align: center; word-wrap: break-word;'>54.3</td><td style='text-align: center; word-wrap: break-word;'>66.4</td><td style='text-align: center; word-wrap: break-word;'>67.7</td><td style='text-align: center; word-wrap: break-word;'>65.5</td><td style='text-align: center; word-wrap: break-word;'>64.5</td></tr></table>

![Image](images/99cc167f3f4fbfce2afdbe86c862f68a7ac56113a9efb25863888a467525a5d6.jpg)

<div style="text-align: center;">Fig. 5: Tracklets generated by DR-SPAAM using 200 consecutive scans. The blue points are the overlaid scans, and the green squares are the ground truth annotations. Notice that for clarity, we omit the points that have been classified as persons from plotting. The colored lines are the tracklets, and the coloring encodes the time of detections. The sequence is taken from the training set, since the validation set does not have any sequence recorded using a stationary LiDAR, which is needed for plotting overlaid scans. Nevertheless, most of the scans have not been annotated (shown as the missing annotations along the tracklets) and have not been exposed to the network during training.</div>

针对每个单独帧，使用DR-SPAAM检测人员。对于每个检测结果$D_{i}^{t}$，我们只需选择相似度分数最高的点，即可找到其在上一次扫描中的对应点。如果这些对应点被分组到检测结果$D_{j}^{t-1}$中，且两个检测结果之间的距离小于阈值（0.5 m），我们就将这两个检测结果归入同一个轨迹段；否则，我们将使用$D_{i}^{t}$新建一个轨迹段。处理完200帧后，我们将每个轨迹段的置信度计算为其所有检测结果的平均值。在图5中，我们绘制出所有置信度大于0.35且至少包含5个检测结果的轨迹段。场景中人员的运动轨迹清晰可见。这种关联关系可以为跟踪算法提供额外信息，其全部潜力还有待未来研究探索。人员的速度和运动方向也可以从关联检测对中推导得到，该信息对运动规划颇具帮助。

### 五、结论

我们提出了DR-SPAAM行人检测器，该检测器结合了DROW检测器的距离鲁棒检测方案，与强大的空间注意力和自回归

---

时间积分模型。空间注意力能够利用外观相似度关联来自不同帧的未对齐特征，而自回归模型则沿时间正向聚合时序信息。与以往的最优方法相比，DR-SPAAM不仅获得了更高的检测精度，同时速度大幅提升，即使在低功耗移动平台上也能实时运行。实验表明，DR-SPAAM对不同时间采样率的LiDAR具有良好的泛化能力，我们提供了对应代码和ROS node，希望我们的模型能为众多机器人应用提供帮助。

致谢：我们感谢Francis Engelmann提供的宝贵反馈。本项目部分得到欧盟H2020项目“CROWDBOT”（779942）和BMBF项目“FRAME”（16SV7830）的资助。大部分实验在亚琛工业大学CLAIX 2018 GPU集群（rwth0485）上完成。

## 参考文献

[^1]: R. B. Girshick, “Fast R-CNN,” in International Conference on Computer Vision, 2015.

[^2]: K. He, G. Gkioxari, P. Dollár, and R. B. Girshick, "Mask R-CNN," in International Conference on Computer Vision, 2017.

[^3]: J. Redmon and A. Farhadi, “YOLOv3: An Incremental Improvement,” arXiv:1804.02767, 2018.

[^4]: L. Beyer, A. Hermans, T. Linder, K. O. Arras, and B. Leibe, “Deep Person Detection in 2D Range Data,” IEEE Robotics and Automation Letters (RA-L), vol. 3, no. 3, pp. 2726–2733, 2018.

[^5]: B. Zhu, Z. Jiang, X. Zhou, Z. Li, and G. Yu, “Class-balanced Grouping and Sampling for Point Cloud 3D Object Detection,” arXiv:1908.09492, 2019.

[^6]: S. Tripathi, Z. C. Lipton, S. J. Belongie, and T. Q. Nguyen, “Context matters: Refining object detection in video with recurrent neural networks,” arXiv:1607.04648, 2016.

[^7]: Y. Lu, C. Lu, and C.-K. Tang, “Online Video Object Detection Using Association LSTM,” in International Conference on Computer Vision, 2017.

[^8]: F. Xiao and Y. J. Lee, “Video Object Detection with an Aligned Spatial-Temporal Memory,” in European Conference on Computer Vision, 2017.

[^9]: K. O. Arras, O. M. Mozos, and W. Burgard, “Using Boosted Features for the detection of People in 2D Range Data,” in IEEE International Conference on Robotics and Automation, 2007.

[^10]: C. Pantofaru, "ROS leg_detector package." <https://wiki.ros.org/leg_detector>, 2010. Accessed 2018-02-22.

[^11]: A. Leigh, J. Pineau, N. Olmedo, and H. Zhang, “Person tracking and Following with 2D Laser Scanners,” in IEEE International Conference on Robotics and Automation, 2015.

[^12]: L. Beyer*, A. Hermans*, and B. Leibe, “DROW: Real-Time Deep Learning based Wheelchair Detection in 2D Range Data,” IEEE Robotics and Automation Letters (RA-L), vol. 2, no. 2, pp. 585–592, 2016.

[^13]: P. Ondruska, J. Dequaire, D. Zeng Wang, and I. Posner, “End-to-End Tracking and Semantic Segmentation Using Recurrent Neural Networks,” in Robotics: Science and Systems Conference, Workshop on Limits and Potentials of Deep Learning in Robotics, 2016.

[^14]: J. Dequaire, P. Ondrúška, D. Rao, D. Wang, and I. Posner, “Deep tracking in the wild: End-to-end tracking using recurrent neural networks,” International Journal of Robotics Research, vol. 37, no. 4-5, pp. 492–512, 2018.

[^15]: X. Chen, H. Ma, J. Wan, B. Li, and T. Xia, “Multi-view 3D Object Detection Network for Autonomous Driving,” in IEEE Conference on Computer Vision and Pattern Recognition, 2016.

[^16]: C. R. Qi, W. Liu, C. Wu, H. Su, and L. J. Guibas, “Frustum PointNets for 3D Object Detection from RGB-D Data,” in IEEE Conference on Computer Vision and Pattern Recognition, 2018.

[^17]: J. Ku, M. Mozifian, J. Lee, A. Harakeh, and S. L. Waslander, “Joint 3D Proposal Generation and Object Detection from View Aggregation,” in International Conference on Intelligent Robots and Systems, 2017.

[^18]: A. H. Lang, S. Vora, H. Caesar, L. Zhou, J. Yang, and O. Beijbom, "PointPillars: Fast Encoders for Object Detection From Point Clouds," in IEEE Conference on Computer Vision and Pattern Recognition, 2019.

[^19]: Y. Zhou and O. Tuzel, “VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection,” in IEEE Conference on Computer Vision and Pattern Recognition, 2017.

[^20]: B. L. Yan Yan, Yuxing Mao, “SECOND: Sparsely Embedded Convolutional Detection,” Sensors, 2018.

[^21]: B. Graham, M. Engelcke, and L. van der Maaten, “3D Semantic Segmentation with Submanifold Sparse Convolutional Networks,” in IEEE Conference on Computer Vision and Pattern Recognition, 2018.

[^22]: C. Choy, J. Gwak, and S. Savarese, “4D Spatio-Temporal ConvNets: Minkowski Convolutional Neural Networks,” in IEEE Conference on Computer Vision and Pattern Recognition, 2019.

[^23]: S. Shi, X. Wang, and H. Li, “PointRCNN: 3D Object Proposal Generation and Detection From Point Cloud,” in IEEE Conference on Computer Vision and Pattern Recognition, 2019.

[^24]: C. R. Qi, H. Su, K. Mo, and L. J. Guibas, “PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation,” in IEEE Conference on Computer Vision and Pattern Recognition, 2017.

[^25]: C. R. Qi, L. Yi, H. Su, and L. J. Guibas, “PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space,” in Neural Information Processing Systems, 2017.

[^26]: F. Engelmann, T. Kontogianni, and B. Leibe, “Dilated Point Convolutions: On the Receptive Field Size of Point Convolutions on 3D Point Clouds,” in IEEE International Conference on Robotics and Automation, 2020.

[^27]: Y. Wang, Y. Sun, Z. Liu, S. E. Sarma, M. M. Bronstein, and J. M. Solomon, “Dynamic Graph CNN for Learning on Point Clouds,” ACM Transactions on Graphics, vol. 38, no. 5, 2019.

[^28]: Y. Chen, S. Liu, X. Shen, and J. Jia, “Fast Point R-CNN,” arXiv:1908.02990, 2019.

[^29]: Z. Yang, Y. Sun, S. Liu, X. Shen, and J. Jia, “STD: Sparse-to-Dense 3D Object Detector for Point Cloud,” in International Conference on Computer Vision, 2019.

[^30]: S. Shi, Z. Wang, J. Shi, X. Wang, and H. Li, “From Points to Parts: 3D Object Detection from Point Cloud with Part-aware and Part-aggregation Network,” arXiv:1908.02990, 2019.

[^31]: C. R. Qi, O. Litany, K. He, and L. J. Guibas, “Deep Hough Voting for 3D Object Detection in Point Clouds,” in International Conference on Computer Vision, 2019.

[^32]: F. Engelmann, M. Bokeloh, A. Fathi, B. Leibe, and M. Nießner, "3D-MPA: Multi Proposal Aggregation for 3D Semantic Instance Segmentation," in IEEE Conference on Computer Vision and Pattern Recognition, 2020.

[^33]: K. Kang, W. Ouyang, H. Li, and X. Wang, "Object Detection from Video Tubelets with Convolutional Neural Networks," in IEEE Conference on Computer Vision and Pattern Recognition, 2016.

[^34]: W. Han, P. Khorrami, T. L. Paine, P. Ramachandran, M. Babaeizadeh, H. Shi, J. Li, S. Yan, and T. S. Huang, “Seq-NMS for Video Object Detection,” arXiv:1602.08465, 2016.

[^35]: C. Feichtenhofer, A. Pinz, and A. Zisserman, “Detect to Track and Track to Detect,” in International Conference on Computer Vision, 2017.

[^36]: X. Zhu, J. Dai, L. Yuan, and Y. Wei, “Towards High Performance Video Object Detection,” in IEEE Conference on Computer Vision and Pattern Recognition, 2017.

[^37]: X. Zhu, Y. Wang, J. Dai, L. Yuan, and Y. Wei, "Flow-Guided Feature Aggregation for Video Object Detection," in International Conference on Computer Vision, 2017.

[^38]: S. Wang, Y. Zhou, J. Yan, and Z. Deng, “Fully Motion-Aware Network for Video Object Detection,” in European Conference on Computer Vision, 2018.

[^39]: H. Wu, Y. Chen, N. Wang, and Z. Zhang, “Sequence Level Semantics Aggregation for Video Object Detection,” in International Conference on Computer Vision, 2019.

[^40]: A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, and I. Polosukhin, “Attention is All You Need,” in Neural Information Processing Systems, 2017.

[^41]: J. Bergstra, D. Yamins, and D. D. Cox, “Making a Science of Model Search: Hyperparameter Optimization in Hundreds of Dimensions for Vision Architectures,” in International Conference on Machine Learning, 2013.
