
# 面向@home竞赛的基于LIDAR的行人检测与跟踪

克劳迪娅·阿尔瓦雷斯-阿帕里西奥

安赫尔·M.·格雷罗-伊格莱拉斯

弗朗西斯科·J.·罗德里格斯-莱拉

Calvo Olivera, M. Carmen

比森特·马特兰·奥利维拉

机械、计算机与航空航天工程系

莱昂大学

西班牙莱昂

{calvaa, am.guerrero, fjrodl, mcalvo, vmato}@unileon.es

霍纳坦·希内斯·克拉韦罗

GSyC系

弗朗西斯科·马丁·里科

胡安·卡洛斯国王大学

西班牙富恩拉夫拉达

{jonatan, fmartin}@gsyc.es

摘要——行人跟踪是几乎所有机器人应用都具备的基础能力，在机器人竞赛中更是如此，多项机器人技能都依赖于这项能力。该问题目前仍颇具挑战性，尤其是在拥挤环境中使用激光探测与测量（LIDAR）这类低分辨率传感器实现该功能时。本文介绍了一种基于单个LIDAR传感器的解决方案，利用步态在时间和空间中对个体保持连续识别。本文描述的系统基于PeTra（People Tracking）开发包，该开发包使用卷积神经网络在拥挤环境中识别行人腿部。实验验证在一个模拟真实竞赛场地的公寓中开展了测试。

关键词——LIDAR、神经网络、行人跟踪

## I. 引言

多年来，RoboCup@Home一直根据机器人在不同任务中的表现对其技能进行基准测试。比赛期间，多个机器人在场地中穿行，完成不同任务接受评估。评估过程中，裁判会为不同的机器人能力打分，例如与特定功能相关的建图、导航或行人跟踪等 [^1], [^2]。自赛事创办以来，行人检测与跟踪就被认为是这些能力中的核心基石。

本文提出了一种在@home环境中，利用激光跟踪与机器人交互的个体的解决方案。激光在竞赛中主要用于完成导航过程和SLAM任务。通常，移动机器人会将激光扫描仪安装在距离地面较低的位置（ $\sim$30-50 厘米），以检测动态障碍物。激光也可用于构建占据栅格地图和实现导航。激光提供的信息可以按精确角度估算距离（分辨率为0.5度）。本文提出利用导航传感器采集的原有信息来推断并跟踪人体位置随时间的变化。

鉴于行人检测与跟踪在人机交互任务中的重要性，它是@home竞赛不可或缺的必备能力 [^4]。这项能力主要关联三个核心问题：空间关系，即人类相对于机器人的位置；数据采集，即使用哪种传感器感知个体；以及数据分类，即通过分类器从一组特征中识别出行人。

空间关系法是追踪人体的常用方法，该方法会将目标保持在机器人前方[^5]，而机器人前方正是机器人传感器的常规安装位置。这种方法需要先确定使用人体的哪个部位进行追踪，通常可选部位包括头部、躯干和腿部[^6]、[^7]。Jung等人[^8]提出了一种基于躯干追踪的解决方案；Hirai[^9]提出追踪躯干背部和肩部；本文则提出一种基于腿部检测的系统。许多研究者都采用这种思路：Volkhardt[^10]提出了经暴力训练得到的弱分类器；Belloto等人的方法取得了不错的效果[^11]，因此本文决定基于他们的方法提出解决方案。当前RoboCup@home场景多为杂乱环境，其中桌腿、椅腿、植物树干等物体很容易被误认成人体腿部；在拥挤环境中，也很难持续追踪特定目标（即一对腿部），因为会出现大量遮挡。因此，结合当前安装在机器人上的传感器，该方法可以取得更好的效果。

数据采集环节处理所用传感器相关问题，目前最通用的方案是采用多传感器方案。如[^12]所示，视觉传感器和距离传感器是最常用的两类方案。相机容易采集到含噪声的信息，尤其是在拥挤环境中，因此本方案选用距离传感器。具体而言，本文使用LIDAR传感器，因为无论是从经济成本还是计算开销层面来看，这类传感器都兼具可靠性和经济性。这类传感器能够以不错的帧率提供环境信息（ $\sim$20-30 Hz）。

---

并且易于实时处理，因为每次扫描得到的数组仅包含数百个整数。

数据分类环节构建人体追踪的逻辑推理系统。处理传感器数据需要用到推理和分类方案，卷积神经网络（CNN）就是其中一种，如Long等人[^13]所提出的。由于CNN已被证实在不同场景下识别个体均有效，我们的PeTra（Pople Tracking）软件包包含了基于CNN的算法。

本文的主要贡献在于实现了机器人传感器获取的激光数据与机器人场景中存在的个体之间的匹配。该匹配几乎可以实时完成，并且得益于激光本身的特性，降低了基于相机和深度相机的同类方案所需的计算成本。

### 二、材料与方法

本文其余部分结构安排如下：第二节介绍系统设计、开发模型以及实验说明；第三节展示为验证本文方法开展实验得到的一系列实验结果；第四节讨论实验方法、测量过程和最终结果；第五节给出本研究的结论与未来研究方向。

本文开展了一系列实验来评估PeTra的准确率，实验在Leon@Home测试场的室内模拟公寓中进行，该测试场是欧洲机器人联盟（ERL）的认证测试场，位于莱昂大学机器人实验室。该测试场的主要用途是在真实家庭环境中对服务机器人进行基准测试。图1为该公寓的平面图。

![Image](images/3934b2175bb62389d17bdaa848d8223f389b9b9be7b880ed1b24c9feac41c32b.jpg)

<div style="text-align: center;">Fig. 1. Mock-up apartment at Leon@Home Testbed</div>

### A. Orbi-One机器人

Orbi-One，即图1（中部），是Robotnic公司制造的服务机器人。该机器人配备多种不同传感器，例如位于头部的RGB-D相机和位于移动底座的LIDAR传感器。此外，其躯干上还装有机械臂，可使其与周围环境交互。机器人内部搭载了配备8 GB RAM的英特尔酷睿i7 CPU，能够运行基于ROS框架的软件来控制机器人硬件。底座上的LIDAR传感器已被用于PeTra的开发与测试。

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

<div style="text-align: center;">Fig. 2. Orby-One and KIO RTLS as shown at [^14].</div>

### B. KIO RTLS

本研究使用商用RTLS（KIO）来提供真值数据。KIO可计算被称为标签的移动收发器在二维或三维空间中的位置。为实现这一功能，KIO利用预先布置在环境中已知位置的无线电信标（称为锚节点）进行定位。图1中的红色标记标出了本文实验所使用锚节点的位置，这些锚节点安装在样板公寓的天花板上。锚节点的分布是按照[^15]中所示方法选择的。图2展示了安装在Orbi-One机器人上的KIO标签以及固定在天花板上的KIO锚节点。

在本文实验中，待跟踪人员佩戴KIO标签。根据厂商规格，KIO提供的位置估计平均误差为$\pm30$厘米。本文作者完成的校准结果显示，该系统的定位误差在部分区域偏高，部分区域偏低，但平均来看厂商给出的参数是准确的，详见[^15]。

---

![Image](images/add64da50069a4b8e09f9ee15e075a86d4b63e2d4526fa289fc32cc4c1b56364.jpg)

![Image](images/343b4da872751add877d4d85aa7b58f9abc14e7e03f78b413a8ea7e4f9db7d68.jpg)

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

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

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

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

![Image](images/50006ba5ed4bd4249165a930cd62f58d8c10b21dee759af16fe091c2b2c71b03.jpg)

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

<div style="text-align: center;">Fig. 3. PeTra operation steps as shown at [^16]: Orbi-One and two people at the kitchen of the mock-up apartment (1), same situation over the apartment plan (2), occupancy map built from LIDAR's readings on the above situation (3), and PeTra's output after processing the above occupancy map (4).</div>

### C. PeTra

PeTra是莱昂大学机器人小组开发的人员检测与跟踪工具。该系统基于CNN构建[^17]，以LIDAR测量数据构建的占用地图作为输入。我们试验了多种不同方案后发现，[^18]提出的U-Net架构配置最符合我们的需求。U-Net架构原本是为生物医学图像分割开发的，它由一条用于捕获上下文信息的收缩路径和一条支持精确定位的对称扩张路径组成，这正好满足我们在占用地图中寻找特定模式（人腿对）的需求。

PeTra是在基于机器人操作系统（Robot Operating System，ROS）框架的移动机器人上开发并完成评估的[^16]。它被设计为嵌入了CNN的ROS节点。为评估PeTra，我们整理构建了一个名为基于距离的人员跟踪分类器基准数据集（Range-based people tracker classifiers Benchmark，RRID:SCR_01574）。关于该数据集的更多信息可参见[^19]。

网络训练完成后，PeTra可实时执行以下步骤：

1) 首先，处理LIDAR传感器提供的数据，在机器人前方构建二维占用地图。图3-1展示了研究区域内的Orbi-One机器人和两名人员。图3-2在公寓平面图上展示了同一情景。图3-3展示了上述情景下从LIDAR读数得到的占用地图。占用地图以图像形式呈现，其中白色像素表示LIDAR扫描检测到障碍物的位置，黑色像素表示LIDAR扫描穿过未检测到障碍物，或是未覆盖该位置。

2）随后，将上一步得到的占据栅格地图作为输入数据传入网络。网络输出第二张占据栅格地图，该地图表示检测到腿部的区域。图3-4展示了网络处理图3-3所示占据栅格地图后的输出结果。

3）最后，通过质心计算得到人员位置，并将该位置作为ROS位置消息发布到特定的ROS话题中。

读者可以在莱昂大学机器人研究组的Youtube频道找到PeTra运行的演示视频$^{1}$，运行结果显示在Rviz上——Rviz是ROS框架中一款知名的机器人信息可视化工具。

本研究发布了PeTra的新版本，对系统进行了修改，以实现随时间关联人员位置估计结果，从而得到人员轨迹。在第一个版本中，我们采用了一种简单的方法关联位置估计：特定时刻$(t)$的每个估计结果都会与$t + \triangle t$中距离最近的估计结果配对，通过计算欧氏距离筛选出最近的估计结果。

### D. 评估方法

为了评估PeTra的轨迹关联效果，可将PeTra得到的人员位置估计结果与KIO RTLS提供的真值数据进行对比。特定时刻PeTra（$e_{PeTra}$）的精度误差计算为位置估计结果（$l_{PeTra}$）与KIO-RTLS提供的真值数据（$l_{KIO}$）之间的欧氏距离。仅当PeTra输出了有效的位置估计结果时才会进行对比，否则$e_{PeTra}$将被赋予最大值。公式1展示了$e_{PeTra}$的计算方式。

 $$ e_{PeTra}=\begin{cases}Max.range value&if\nexists l_{PeTra}\\d(l_{PeTra},l_{KIO})&if\exists l_{PeTra}\end{cases} $$

公式2展示了$d(l_{PeTra}, l_{KIO})$的计算方式，

 $$ d(l_{PeTra},l_{KIO})=\sqrt{\sum_{i=1}^{n}(l_{PeTra_{i}}-l_{KIO_{i}})^{2}} $$

 $^{1}$<https://youtu.be/Qa6eEJzUlRg>

---

其中n为考虑的维度数量。在本实验中，我们仅考虑X和Y坐标，因此n = 2。由于移动机器人在地面上运动，Z坐标是恒定的。

为了评估PeTra的轨迹关联性能，我们采集了新的实验数据。实验中，Orbi-One保持静止，一名或两名携带KIO标签的人员在机器人周围移动，共设置了三种不同的实验场景：

1）第一种场景中，仅一名人员在机器人前方移动。

2）第二种场景中，两名人员在机器人前方移动。

3）最后，第三种场景中，两名人员在机器人前方移动，且二者的轨迹存在交叉。

这些场景是根据ERL、RoboCup等机器人竞赛中可能出现的不同情况设计的。每个场景都生成了一个rosbag文件$^{2}$。图4展示了场景2（两名人员在机器人前方）中PeTra的运行结果，结果显示在Rviz上：黄色标记表示激光雷达的读数，红色箭头表示Orbi-One的位置和朝向，箭头起点对应机器人的位置；中间区域显示PeTra的位置估计结果：红色标记表示腿部位置估计，红色标记之间的绿色字符表示人员中心，黄色和粉色的大标记表示PeTra的位置估计结果。

![Image](images/36cf939d037f719076e60bab7630afb2ee0edb2e486bb078cff05924cf03a120.jpg)

<div style="text-align: center;">Fig. 4. Information of the robot as displayed on Rviz for scenario 2.</div>

图5展示了OrbiOne在图4所示场景中记录的机载相机数据。

### III. 实验结果

PeTra关联的准确性已采用所述方法完成评估。表I显示了上述3种场景的平均误差和标准差。从表中可以看出，场景1中$e_{PeTra}$的平均误差为0.41米，该情况下$e_{PeTra}$的标准差为0.22米。对于场景2，平均误差为0.41米，针对

![Image](images/b6154bc73be344c08493069895db2a217426000d6aa1be7f774c935da3f4c7b6.jpg)

<div style="text-align: center;">Fig. 5. On-board camera data recorded by Orbi-One in the scenario shown in Figure 4</div>

场景中第一名人员，第二名人员的平均误差为0.45米。标准差分别为0.15米和0.30米。最后，在场景3中，第一名人员的平均误差为0.95米，第二名人员为1.04米，标准差分别为0.66米和0.91米。

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

<div style="text-align: center;"> $\epsilon_{PeTra}$ MEAN ERROR AND STANDARD DEVIATION (m)</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Situation</td><td style='text-align: center; word-wrap: break-word;'>Person</td><td style='text-align: center; word-wrap: break-word;'>$X_{e_{PeTro}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>0.41 ( $\pm 0.22$)</td></tr><tr><td rowspan="2">2</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>0.41 ( $\pm 0.15$)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>0.45 ( $\pm 0.30$)</td></tr><tr><td rowspan="2">3</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>0.95 ( $\pm 0.66$)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>1.04 ( $\pm 0.91$)</td></tr></table>

图6展示了场景1、2、3中记录的rosbag文件所覆盖时间范围内，PeTra精度误差的变化趋势。红色标记代表场景中第一名人员的$e_{PeTra}$，绿色标记代表第二名人员的$e_{PeTra}$。红色和绿色线分别表示两名人员对应$e_{PeTra}$的移动平均（MA）。移动平均用于平滑短期波动，凸显长期趋势或周期。

### 四、讨论

表I显示了场景1、2、3的平均误差和标准差。不出所料，场景1中PeTra的平均误差（ $e_{PeTra}$）数值较低（ $0.41m^3$）。结合[^16]中给出的结果，这可以视作一次双重验证。场景2的结果也与[^16]中给出的结果一致。两名人员的$e_{PeTra}$数值都较低（分别为0.41米和0.45米）。但在场景3中，两名人员的$e_{PeTra}$数值都很高（分别为0.95米和1.04米）。这是因为当人员轨迹交叉时，配对方法无法正常工作。

图6展示了在场景1、2和所记录rosbag文件给出的时间范围内，$e_{PeTra}$的变化趋势。

---

![Image](images/e073c4d9166df8573799848873ea739e8f1bf7d31404afe4832221626d71edbb.jpg)

![Image](images/be19efd9f629f0b54c313c2c6969b1d63e5b8f53b7d237988db9fb7019f66b90.jpg)

![Image](images/b4b2f82d63ecc02c4b7ff6a947df5caf17b989b5f062edf90c7c49e9e241204a.jpg)

<div style="text-align: center;">Fig. 6. $e_{PeTra}$ (m) evolution over time (hh:mm:ss) on scenarios 1 (left), 2 (center), and 3 (right). Red markers show $e_{PeTra}$ for the first person in the scene, green markers show $e_{PeTra}$ for the second one. Red and green lines show $\mathrm{MA}(e_{PeTra})$ for both people.</div>

3。在场景1中，可以观察到$e_{PeTra}$的数值始终保持较低水平。在场景2中，即使场景内有两名人员，$e_{PeTra}$的数值也始终保持较低水平。在场景3中，我们可以观察到$e_{PeTra}$出现大幅波动，波动对应的正是人员轨迹交叉的时刻。

### 五、结论与后续工作

本文提出了一种基于PeTra工具的人员（腿部对）关联系统。该系统可应用于多个不同场景，例如提升导航性能、促进人机交互，或用于安全保障类应用。为评估系统性能，本文在不同场景下开展了包含多名人员的实验。实验结果表明，在人员轨迹不交叉的场景中，PeTra关联算法具有良好的精度。

本文的核心贡献是PeTra关联系统本身，该系统可通过实时处理LIDAR距离数据实现人员跟踪。此外，本文还明确了该项工作的技术贡献：包括一套可被任何使用ROS框架的移动机器人直接使用的人员跟踪系统，以及一个用于评估该系统的数据集。

尽管本文呈现的结果颇具前景，未来工作仍有改进空间。本文提出的PeTra算法存在一个潜在问题，即人员随时间交叉移动的拥挤场景下的算法性能表现。加入卡尔曼滤波、光流或变形场这类并行技术会对准确率产生积极影响，但这些计算成本高昂的技术加入后，需要深入分析它们对比赛期间整体性能的影响。

## 致谢

本文所述研究得到了卡斯蒂利亚-莱昂自治区（项目编号LE028P17）和马德里自治区（项目编号RoboCity2030-Fase 3）的部分资助。

作者感谢A. Campazas在数据采集过程中提供的支持。

## 参考文献

[^1]: D. Holz, L. Iocchi, and T. Van Der Zant, “Benchmarking intelligent service robots through scientific competitions: the robocup@ home approach.” in AAAI Spring Symposium: Designing Intelligent Robots, 2013, pp. 27–32.

[^2]: T. Wisspeintner, T. Van Der Zant, L. Iocchi, and S. Schiffer, “Robocup@home: Scientific competition and benchmarking for domestic service robots,” Interaction Studies, vol. 10, no. 3, pp. 392–426, 2009.

[^3]: M. J. Shafiee, B. Chywl, F. Li, and A. Wong, “Fast yolo: A fast you only look once system for real-time embedded object detection in video,” arXiv preprint arXiv:1709.05943, 2017.

[^4]: T. Kruse, A. K. Pandey, R. Alami, and A. Kirsch, “Human-aware robot navigation: A survey,” Robotics and Autonomous Systems, vol. 61, no. 12, pp. 1726–1743, 2013.

[^5]: J. Kessler, D. Iser, and H.-M. Gross, "I'll keep you in sight: Finding a good position to observe a person," in Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ International Conference on. IEEE, 2012, pp. 4392–4398.

[^6]: O. M. Mozos, R. Kurazume, and T. Hasegawa, “Multi-part people detection using 2d range data,” International Journal of Social Robotics, vol. 2, no. 1, pp. 31–40, 2010.

[^7]: M. Asghari Oskoei, M. Walters, and K. Dautenhahn, “An autonomous proxemic system for a mobile companion robot,” in Proceedings of the AISB 2010 Symposium on New Frontiers for Human Robot Interaction. AISB, 2010.

[^8]: E.-J. Jung, B.-J. Yi et al., “Control algorithms for a mobile robot tracking a human in front,” in Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ International Conference on. IEEE, 2012, pp. 2411–2416.

[^9]: N. Hirai and H. Mizoguchi, “Visual tracking of human back and shoulder for person following robot,” in Proceedings 2003 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM 2003), vol. 1, July 2003, pp. 527–532 vol.1.

[^10]: M. Volkhardt, C. Weinrich, and H.-M. Gross, “People tracking on a mobile companion robot.” in SMC. Citeseer, 2013, pp. 4354–4359.

[^11]: N. Bellotto and H. Hu, “Multisensor-based human detection and tracking for mobile service robots,” IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), vol. 39, no. 1, pp. 167–181, 2009.

[^12]: K. O. Arras, B. Lau, S. Grzonka, M. Luber, O. M. Mozos, D. Meyer-Delius, and W. Burgard, “Range-based people detection and tracking for socially enabled service robots,” in Towards Service Robots for Everyday Environments. Springer, 2012, pp. 235–280.

[^13]: J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2015, pp. 3431–3440.

[^14]: Å. M. Guerrero-Higueras, N. DeCastro-Garcia, and V. Matellan, “Detection of cyber-attacks to indoor real time localization systems for autonomous robots,” Robotics and Autonomous Systems, vol. 99, pp. 75–83, 2018.


## [^15]: Å. M. Guerrero-Higueras, N. DeCastro-García, F. J. Rodríguez-Lera, and V. Matellán, “Empirical analysis of cyber-attacks to an indoor real time localization system for autonomous robots,” Computers & Security., vol. 70, pp. 422–435, 2017.


---

[^16]: Á. M. Guerrero-Higueras, C. Álvarez-Aparicio, M. C. Calvo-Olivera, F. J. Rodríguez-Lera, C. Fernández-Llamas, F. Martín, and V. Matellan, “Security and safety in cluttered environments: Tracking people with a mobile robot from 2d lidar scans using full convolutional neural networks,” Frontiers in Neurorobotics, vol. 12, p. 85, 2018.

[^17]: J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Jun. 2015, pp. 3431–3440.

[^18]: O. Ronneberger, P.Fischer, and T. Brox, "U-net: Convolutional networks for biomedical image segmentation," in Medical Image Computing and Computer-Assisted Intervention (MICCAI), ser. LNCS, vol. 9351. Springer, 2015, pp. 234–241.

[^19]: C. Álvarez-Aparicio, Á. M. Guerrero-Higueras, M. C. C. Olivera, F. J. Rodríguez-Lera, F. Martín, and V. Matellán, “Benchmark dataset for

《移动机器人中基于测距的人员跟踪器分类器评估》，载于*Frontiers in neurorobotics*，第11卷，第72页，2018年。

## 缩略语

CNN——卷积神经网络。

ERL——欧洲机器人联赛。

LIDAR——激光成像探测与测距。

ROS——机器人操作系统。

RTLS——实时定位系统。

MA——移动平均。