
# 面向自动驾驶汽车的基于3D LiDAR的行人识别与跟踪 $^{\star}$

王衡 $^{a,b,*}$, 王彬 $^{b}$, 刘冰冰 $^{b}$, 孟晓莉 $^{b}$, 杨红光 $^{a}$

 $^{a}$ 东北大学信息科学与工程学院，沈阳，中国

 $^{b}$ 新加坡科技研究局（A*STAR）资讯通信研究院，新加坡

## 研究亮点

- 利用路缘信息将行人候选目标分为两类，即道路上行人和道路外行人。

对于在后续帧中距离行驶中的自动驾驶汽车过近或过远、仅少量激光束照射到行人的候选目标，该方法可提高其真阳性率。

- 在分割流程中采用哈希表进行搜索与比对，提升了所提算法的效率。

行人识别与跟踪系统已集成到自动驾驶汽车平台，可及时预测行人运动。

## 文章信息

文章历史：

2015年12月1日收到

2016年11月14日录用

在线出版日期：xxxx

关键词：

行人识别与跟踪

点云

哈希表

GUI设计

## 摘要

本文研究了自动驾驶汽车使用3D LiDAR进行行人识别与跟踪的问题，采用经支持向量机（SVM）训练的分类器识别行人，并借助跟踪结果进一步提升识别性能。通过将行人的位置、速度方向与路缘信息进行比对，若检测到行人处于道路上或靠近路缘，系统将发出警报。所提方法已在自动驾驶汽车平台上得到验证。

© 2016 Elsevier B.V. 保留所有权利。

### 1. 引言

近十年来，无人驾驶汽车等自动驾驶车辆的研究得到了广泛关注，行人识别与跟踪作为自动驾驶汽车最重要的核心课题之一，也随着自动驾驶技术的发展得到了迅猛发展。当自动驾驶汽车在行人周边近距离运行时，运动行人的识别与跟踪是自动驾驶汽车防撞系统的两项基础任务。此外，及时预测被跟踪行人在近期最可能的位置，对自动驾驶汽车的实时路径规划至关重要。

现有文献中，相机是行人识别领域常用的低成本传感器，例如通过分析图像，轮廓线索被用于检测行人（见[^1]）；而在[^2]中，研究者通过研究拥挤街道中行人的特征外观模式，提出了一种联合检测器，提升了存在部分遮挡的行人的检测效果。由于人体关节活动度高，行人识别通常采用基于部件的表示方法和多层策略，在[^3]中，行人被建模为灵活的部件组合，采用由粗到精的级联方法进行部件检测，并提出了一种部件组装策略来识别行人。在[^4]中，研究者提出了一种自下而上的部分身体掩码解析策略，在解析过程的每一层，都会通过与示例进行形状匹配来评估部分身体掩码。在[^5]中，研究者融合了多尺度可变形部件模型，并将用于难负样本数据挖掘的间隔敏感方法与潜在SVM结合，用以检测包括行人在内的高变异性目标。在[^6]中，腿部

---

## 待刊文章

片段被认为是“类弧形”形状，本文提出了一种名为圆周角方差（inscribed angle variance, IAV）的圆形检测技术。

LiDAR（激光雷达）是行人识别领域另一类常用传感器，与相机相比，LiDAR能够提供精准的距离信息，且拥有更大的视野范围。在[^7]中，三维点云被看作不同高度处多个二维点云的集合，使用AdaBoost训练得到的检测器被用于检测行人。在[^8]中，目标区域的三维点云被分割为躯干和腿部多个部件，以实现鲁棒的原地行人识别。在[^9]中，几何特征和运动特征被共同用于表征行人，分别对应处理静态行人和动态行人。在[^10]中，两种新特征被引入以提升分类性能：一种是切片特征，通过不同高度层面的宽度来表征人体轮廓，另一种是点云的反射强度分布。在[^11]中，AdaBoost被用于从一系列统计特征（例如点数量）中学习得到鲁棒的腿部检测器。[^12]采用了相同的分类策略，该研究考虑了双腿之间的可能距离，提出了一种基于身体部件的概率检测框架。在[^13]中，研究者提出了一种结合三维和二维LiDAR的算法，其中三维数据用于构建地面高程图，二维数据用于检测地面上方一定高度处的行人。在[^14]中，研究者融合了LiDAR和单目相机采集的数据，设计了一个主动行人检测系统：通过使用滑动窗口检测器，基于图像的检测模块被用于验证LiDAR模块生成的感兴趣区域中是否存在行人。

另一方面，对行人运动的可靠跟踪与预测能够让自动驾驶汽车感知到其附近区域存在与行人发生碰撞的潜在风险[^15]。结合最近邻数据关联的卡尔曼滤波[^16]和蒙特卡洛粒子滤波[^17]是两种常用于估计行人运动的方法，在[^18]中，特征匹配、迭代最近点（ICP）、卡尔曼滤波和动态映射被结合在一起进行运动估计。本文研究面向道路行驶中自动驾驶汽车的行人识别与跟踪问题，本文的贡献包含以下几个方面：(1) 利用路缘信息将行人候选目标分为两类，即道路上和道路外。采用跟踪辅助识别策略提升真阳性率，例如，对于那些道路上的候选目标，如果在前一帧已经被识别为行人，则直接将其归类为行人。这种处理可以提升真阳性率，尤其针对后续帧中候选目标距离移动的自动驾驶汽车过近或过远，仅有少量激光束照射到行人的情况。(2) 在分割流程中采用哈希表进行搜索和比较，提升了所提算法的效率。(3) 将行人识别与跟踪系统集成到自动驾驶汽车平台，该平台可对行人运动进行及时预测。本文其余部分结构安排如下：第2节介绍系统架构，第3节阐述行人识别方法，包含训练样本的选择方式，第4节讨论行人跟踪方法，还会基于跟踪结果在预测到碰撞危险时生成警报，第5节展示实验，第6节给出结论。

### 2. 系统概述

#### 2.1. 系统介绍

本文使用的主要传感器是Velodyne 64 LiDAR（Light Detection And Ranging，激光雷达），安装在自动驾驶汽车的顶部，如图1所示。除Velodyne 64之外，

![Image](images/c5f681552ccb6cd58f236711833531793b3f53862642ba4146b1ace63731d57f.jpg)

<div style="text-align: center;">Fig. 1. Autonomous vehicle platform of Institute for Infocomm Research.</div>

GPS（Global Positioning System，全球定位系统）、IMU（Inertial Measurement Unit，惯性测量单元）和DMI（Distance Measurement Unit，距离测量单元）经过融合实现自动驾驶汽车的实时定位。由于本文主要聚焦于行人识别与跟踪问题，因此假设自动驾驶汽车的定位已经具备足够精度。此外，车辆前部安装了一台Velodyne 16激光雷达，用于检测和拟合路缘。安装在自动驾驶汽车上的其他传感器用于其他用途，本文不作讨论。

Velodyne 64集成了64个激光二极管，最高转速可达15 Hz，可生成覆盖360度水平视场、26.8度垂直视场的稠密距离数据。Velodyne可输出三维点云：在10 Hz频率下每帧约包含10万个点，每个点带有距离、强度和xyz坐标信息。和Velodyne 64类似，Velodyne 16集成了16个激光二极管，其体积远小于Velodyne 64，安装更加灵活。本文中，我们分别使用Velodyne 64和Velodyne 16采集的原始数据进行行人识别和路缘检测。Velodyne 64和Velodyne 16采集到的所有点云xyz坐标都会转换到同一个全局坐标系下。

在后续章节中，我们将详细介绍利用Velodyne 64采集的数据开展行人识别与跟踪的方法。首先将三维点云投影到二维平面并网格化，然后提出最近距离算法进行聚类，再使用卡尔曼滤波对聚类后尺寸小于阈值的目标进行跟踪。同时，使用训练完成的分类器识别被跟踪目标是否为行人。此外，跟踪结果还可以进一步提升行人识别的性能。

#### 3. 行人识别

##### 3.1. 预处理

为了开展后续的聚类与识别，我们首先对Velodyne 64采集到的三维点云进行处理，滤除噪声和不感兴趣区域，例如移除高度超过一定阈值的点。将所有三维点投影到二维占据栅格上，图2为$5 \times 5$占据栅格地图的示意图，其中栅格单元(2,3)、(3,2)、(3,3)和(5,5)为被占据状态，其中(2,3)、(3,2)和(3,3)被称为连通单元。本文将每个占据栅格的单元大小设置为$0.1 m \times 0.1 m$，并选取阈值$\eta_1$限制每个栅格内的高度差，本文中该阈值设为0.4 m；通过将每个栅格的平均高度与$\eta_1$进行比较，可滤除对应地面和路缘等低矮物体的栅格。由于地面和低矮物体已从占据栅格中移除，占据栅格可以用非零元素随机分布的稀疏矩阵表示。

---

![Image](images/905384ca8822d0d1412661f6639af2e709bc54d1089e19b4b3acfe8f28ccbd1d.jpg)

<div style="text-align: center;">Fig. 2. Occupancy grid map.</div>

为了高效搜索每个元素，我们使用稀疏哈希表[^19]代替压缩行存储格式。这种基于哈希的表示方法在稀疏矩阵元素组装和更新这类特定操作上效率很高，而压缩行存储格式在这类操作上效率较低。我们将占据栅格表示为元素随机分布的稀疏矩阵，该稀疏矩阵采用坐标存储格式，将非零元素存储在哈希表中，例如：若二维稀疏矩阵的一个元素$(x, y)$位于r行c列，满足$x \in [0, r-1]$、$y \in [0, c-1]$，则该元素的值v以$k = x \times c + y$为键存储在哈希表中。哈希函数$h(k)$的值仅为$k \bmod s$，我们选择s为一个质数，确保非零元素可以被映射到不同的哈希值。

##### 3.2. 聚类

通过快速搜索哈希表，我们将所有连通单元聚类为一个团块，之后若两个团块之间的距离在另一阈值$\eta_{2}$范围内，则将两个团块合并，本文中该阈值设置为0.3 m。满足以下所有条件的区域会被提取为行人候选区域：

• 高度：0.5 m ≤ h ≤ 2.0 m

• 宽度：$w \leq 2$

• 长度：$\ell \leq 2$

需要说明的是，$\eta_{2}$和$\eta_{1}$均是根据经验预先选定的，其中$\eta_{2}$用于对属于同一行人的三维点进行聚类。

##### 3.3. 分类

针对每个行人候选目标，我们会计算并评估特征向量，以分类判断其是否为行人。本文采用SVM[^20] [^21] [^22]结合径向基函数（RBF）核训练分类器。已有文献提出了多种不同特征用于训练行人分类器[^10] [^23]。本文采用经验证有效的如下特征I至特征IV开展实验。

具体而言，特征I从腿部和躯干区域周边的点中计算统计描述，表征行人特有的身形轮廓。特征II和特征III在与重力向量对齐的两个平面上计算归一化二维直方图，以此表征人体的整体形状。特征IV将三维点沿主特征向量划分为N个块，表征人体不同高度的几何尺寸，可区分树木、电线杆这类误检正样本。

###### 3.3.1. 特征提取

分割完成后，我们得到一组候选目标。令

 $$ S_{k}=\{\mathbf{x}_{1},\mathbf{x}_{2},\ldots,\mathbf{x}_{N_{k}}\},k=1,\ldots,n $$

为属于目标k的点集，点集中元素由笛卡尔坐标$(x, y, z)$表示。将特征向量记为$f$，即

 $$ f=\{f_{1},f_{2},\cdots,f_{m}\} $$

其中$m$是特征向量$f$的维度，本文汇总所有特征后得到$m=195$。下文将介绍该特征向量的计算方法。

特征I：特征I由$f_1 \sim f_9$构成，这些参数取自划分后三个区域（上半区、左下半区、右下半区）的二维协方差矩阵。

计算协方差矩阵的特征值$(\lambda_1, \lambda_2, \lambda_3)$（其中$\lambda_1 \geq \lambda_2 \geq \lambda_3$）以及对应的特征向量$(v_1, v_2, v_3)$，随后利用分量对$v_1, v_2$将原始数据转换为两种表示，再据此将数据划分为三个部分，计算得到3个对应的协方差；对于每个协方差矩阵，仅选取$(1, 1), (1, 2), (2, 2)$个元素作为特征。

每个协方差矩阵均可按下式计算：

 $$ \Sigma_{k}=\frac{1}{N_{k}-1}\sum_{i=1}^{N_{k}}(\mathbf{x}_{i}-\bar{\mathbf{x}})(\mathbf{x}_{i}-\bar{\mathbf{x}})^{T} $$

其中$\bar{x}$为均值。

特征II和特征III：特征II和特征III分别由$f_{10} \sim f_{121}$和$f_{122} \sim f_{175}$构成，二者分别为x-z平面和y-z平面的归一化二维直方图，其中z轴正方向为竖直向上。

x-z平面的二维直方图：$14 \times 8$，$f_{10} \sim f_{121}$

• y-z平面二维直方图：$9 \times 6$，$f_{122} \sim f_{175}$。

我们通过如下公式对每个点进行判定，累计得到$(p,q)$网格和$14\times8$网格中的元素$9\times6$，以$x-z$平面为例：

 $$ p=floor\left(\frac{x_{i}-x_{min}}{x_{max}-x_{min}}\times8\right) $$

 $$ q=floor\left(\frac{z_{i}-z_{min}}{z_{max}-z_{min}}\times14\right) $$

其中$\text{floor}(\xi)$表示不大于$\xi$的最大整数，$x_{min}$、$x_{max}$、$z_{min}$、$z_{max}$分别为x和z的最小值与最大值。为归一化直方图，我们将两个直方图都除以点的总数。

特征IV：特征IV由$f_{176} \sim f_{195}$构成，这些元素取自聚类簇$S_k$的切片特征。聚类簇中的三维点沿z轴划分为10个大小相同的块，每个块内的三维点投影到与z轴正交的平面上，计算得到x方向和y方向的两个宽度作为特征。

本文针对真实城市环境展开研究，误检目标主要包括树木、路灯杆、交通标志、建筑外墙等。人体轮廓与这些干扰物体轮廓的区别在于腿部形态以及头肩轮廓。特征I-IV能够更好地区分行人与非行人，其有效性将在第5节中验证。

###### 3.3.2 训练流程

SVM算法的核心是在参数空间中搜索间隔最大的分离超平面，距离超平面最近的训练样本被称为支持向量。此外，为了实现

---

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

<div style="text-align: center;">Fig. 3. Some negative training examples, including trees, traffic signs and light poles.</div>

![Image](images/324a0cf8429d9c73ebee7bccd0fd08314b7f1740c0e6e38203283052adb9ef13.jpg)

<div style="text-align: center;">Fig. 4. Some positive training examples, including pedestrians with or without bags, walking side by side. The upper left two pedestrians are within 20 m, while the distance from the upper right two pedestrians are larger than 20 m.</div>

可分性，我们通过非线性变换将数据嵌入到更高维的空间中。决策函数由[^24]计算得到：

 $$ \mathcal{H}(f)=\sum_{i=1}^{l}\alpha_{i}^{0}y_{i}K(f_{i},f)+b $$

式中，l为训练样本的数量，$y_i$根据样本是否属于该类别取值为1或$-1$，$K(\cdot, \cdot)$为核函数。

在训练分类器之前，首先需要选取合适的正训练样本集和负训练样本集。由于本文仅考虑城市户外环境，负样本均选自自动驾驶车辆行驶过程中最常遇到的植被、路灯杆、交通标志、建筑局部等场景，部分样本如图3所示。考虑到行人通常会出现戴帽子、携带包、并排行走、站立或慢跑等不同情况，正样本选自户外采集的真实数据，部分示例如图4所示。

为了高效地对正负样本进行标注，本文设计了一款图形用户界面（GUI），如图5所示。借助该界面，正负样本可自动完成标注，所有正负样本都支持360度视角查看，此外，标注为正的样本可以通过双击矩形框轻松修改为负样本。标注与训练流程的整体概况如图6的流程图所示。假设原始数据集被划分为p组，每组包含$N_i$帧数据，总帧数为$n = \sum_{i=1}^{p} N_i$。对于每一帧$f_i$，分割后所有行人候选区域都会被分类器标注为正样本或负样本。借助图5所示的GUI，不合适的标注会从样本集中删除或修改，随后

![Image](images/ad51edb5df5c341644c6ed49445c950bb1b5493b0a2be3e8e8fb9815170bff06.jpg)

<div style="text-align: center;">Fig. 5. GUI for labeling and training.</div>

训练数据集得到更新，若满足条件$f_{i} \geq N_{i}$，则训练新的分类器。重复上述过程，直到新分类器的性能评估满足给定的性能指标为止。

#### 4. 行人跟踪

识别完成后，下一步任务是对识别到的行人进行跟踪。假设行人位置为$(x, y)$，行人速度恒定，其运动学模型为

 $$ \zeta(t)=F\zeta(t-1)+G\Delta\zeta(t-1) $$

式中

 $$ \boldsymbol{F}=\begin{bmatrix}{{{1}}}&{{{\tau}}}&{{{0}}}&{{{0}}} \\{{{0}}}&{{{1}}}&{{{0}}}&{{{0}}} \\{{{0}}}&{{{0}}}&{{{1}}}&{{{\tau}}} \\{{{0}}}&{{{0}}}&{{{0}}}&{{{1}}}\end{bmatrix},\boldsymbol{G}=\begin{bmatrix}{{{\displaystyle\frac{\tau^{2}}{2}}}}&{{{0}}} \\{{{\tau}}}&{{{0}}} \\{{{0}}}&{{{\frac{\tau^{2}}{2}}}} \\{{{0}}}&{{{\tau}}}\end{bmatrix} $$

 $\zeta = \begin{bmatrix} x & \dot{x} & y & \dot{y} \end{bmatrix}^T$, $\Delta\zeta = \begin{bmatrix} \Delta\ddot{x} & \Delta\ddot{y} \end{bmatrix}^T$为未知加速度，$\tau$为采样周期。

与行人相关的量测模型为

 $$ z(t)=H\zeta(t)+L u(t)+\omega(t) $$

式中

 $$ H=\begin{bmatrix}\cos\phi(t)&0&-\sin\phi(t)&0\\ \sin\phi(t)&0&\cos\phi(t)&0\end{bmatrix},L=\begin{bmatrix}\cos\phi(t)&-\sin\phi(t)\\ \sin\phi(t)&\cos\phi(t)\end{bmatrix} $$

$z = \begin{bmatrix} z_x & z_y \end{bmatrix}^T$为量测值，$\omega(t)$为量测噪声。此外，$u = \begin{bmatrix} x_v & y_v \end{bmatrix}^T$为自动驾驶车辆的位置，$\phi$为航向角，二者通过GPS/IMU/DMI融合实时得到。

行人位姿$\zeta$及其对应的误差协方差P通过卡尔曼滤波预测，得到：

 $$ \begin{aligned}&\hat{\zeta}(t|t-1)=F\hat{\zeta}(t-1)\\&P(t|t-1)=FP(t-1)F^{T}+GQ(t-1)G^{T}\\ \end{aligned} $$

---

![Image](images/e87b2a28a6c45ee116135a81512ce9592c1d769df1d78434364db7a3a14d310a.jpg)

<div style="text-align: center;">Fig. 6. Flow chart for labeling and classifier training.</div>

其中Q是噪声$\Delta\zeta$的协方差。为了实现可靠的数据关联，我们采用全局最近邻（GNN）算法[^25] [^26]。

在识别并跟踪自动驾驶汽车周围的行人后，会将行人位置与路缘位置进行比较（路缘位置的计算将在下一节介绍），只要满足以下两个条件中的任意一个，就会触发警报：

• 行人位于自动驾驶车辆前方的道路上

行人有横穿道路的意图。

第二个条件可以通过检查靠近路缘的行人的位置和速度方向进行监测。此外，我们采用最近邻算法跟踪所有候选行人，同一个候选行人会被分配一个固定不变的ID，该ID一直保留到该候选目标丢失。通过将识别出的行人的位置与路缘位置进行对比，可将其分为两类，即道路上的行人和道路外的行人。如果某个候选目标在第j帧被归类为行人，那么只要跟踪不中断，它在后续帧中都会被归类为行人$j + 1, j + 2, \ldots$。这样做的原因是：大多数误检都是由道路外外形与行人相似的物体造成的，而道路上的漏检需要尽可能避免。然而，当道路上的行人距离自动驾驶车辆过近或过远时，只有少量激光束会照射到行人身上，这可能导致行人识别缺失（即漏检），这对于自动驾驶车辆来说是非常危险的。借助跟踪结果和路缘检测结果，真阳性率得到了大幅提升，我们将在第6节给出定量评估。

#### 5. 实验

##### 5.1. 定量评估

本节针对本文提出的行人识别与跟踪算法开展定量评估，验证其有效性。三维距离数据由安装在自动驾驶车辆顶部的Velodyne 64在真实城市环境中采集得到，图7如第2节所述，展示了搭载Velodyne 64、Velodyne 16、IMU和Encoder等设备的自动驾驶车辆。实验选取了两种场景，第一种场景是自动驾驶车辆停在拥挤的路边，行人在周围行走，包括那些

![Image](images/6cefd44fb2c589fa9265a0e34f5db215580527e322fb386e691afd64fcfbab41.jpg)

<div style="text-align: center;">Fig. 7. Autonomous vehicle in real road environment.</div>

<div style="text-align: center;">Condition of the scenario when autonomous vehicle is parked by the side of the road.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Description</td><td style='text-align: center; word-wrap: break-word;'>Total</td><td style='text-align: center; word-wrap: break-word;'>N pos.</td><td style='text-align: center; word-wrap: break-word;'>N neg.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Training data</td><td style='text-align: center; word-wrap: break-word;'>2770</td><td style='text-align: center; word-wrap: break-word;'>608</td><td style='text-align: center; word-wrap: break-word;'>2162</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Evaluation data</td><td style='text-align: center; word-wrap: break-word;'>10050</td><td style='text-align: center; word-wrap: break-word;'>1380</td><td style='text-align: center; word-wrap: break-word;'>8670</td></tr></table>

<div style="text-align: center;">Condition of the scenario when autonomous vehicle is moving on the road.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Description</td><td style='text-align: center; word-wrap: break-word;'>Total</td><td style='text-align: center; word-wrap: break-word;'>N pos.</td><td style='text-align: center; word-wrap: break-word;'>N neg.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Training data</td><td style='text-align: center; word-wrap: break-word;'>2282</td><td style='text-align: center; word-wrap: break-word;'>328</td><td style='text-align: center; word-wrap: break-word;'>1954</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Evaluation data</td><td style='text-align: center; word-wrap: break-word;'>6340</td><td style='text-align: center; word-wrap: break-word;'>1020</td><td style='text-align: center; word-wrap: break-word;'>5320</td></tr></table>

携带公文包或背包、并排行走等情况的行人。第二种场景是自动驾驶车辆在道路上行驶，不同行人在人行道上行走/等待，或是在自动驾驶车辆前方横穿道路。

表1和表2分别给出了这两种场景下的训练和评估条件。图8和图9给出了对应的ROC（receiver operating characteristic）曲线，其中纵轴和横轴分别代表真阳性率和假阳性率。虚线是经SVM训练得到的分类器的识别结果，实线是经跟踪结果优化后的结果。从图8和图9可以看出，在假阳性率为0.02处，这两种场景的真阳性率分别提升了约0.15和0.1。

---

![Image](images/c590b8fe76661663fc62d730b48bd0ad245bd93439f2f0f80ab956b82710c542.jpg)

<div style="text-align: center;">Fig. 8. Recognition performance when autonomous vehicle is parked by the side of road. Dashed line is the recognition result of classifier trained by SVM, while solid line is the result improved by tracking results.</div>

![Image](images/f3b355c4033f307d0c107a0769ed6684f00d9017483ff0c38fd5313b25a89913.jpg)

<div style="text-align: center;">Fig. 9. Recognition performance when autonomous vehicle is moving on road. Dashed line is the recognition result of classifier trained by SVM, while solid line is the result improved by tracking results.</div>

##### 5.2. 实时行人识别可视化

为了实时展示行人识别与跟踪结果，本文开发了可视化界面。首先，借助SLAM（同步定位与地图构建）技术，由Velodyne 64采集的三维点云生成了二维灰度图 [^27] [^28]。图12为Velodyne 64在新加坡纬壹科技城1号采集的数据生成的二维地图。其次，将路缘位置转换到与二维地图相同的坐标系下。结合Velodyne 16采集的三维点云数据，以及融合GPS/IMU/DMI计算得到的车辆位姿，得到精确的路缘位置。由于本文假设自动驾驶车辆始终能够获得足够精度的位姿，因此本文的路缘检测任务是从点云中筛选出路缘点并将其拟合为线段，详细的路缘检测算法如算法1所示。图10为Velodyne 16在城市环境中采集的原始数据样本，图11为路缘检测结果，其中路缘点用白色点标记。图12展示了实验环境，即带有绿色路缘线的二维地图。

第三，为实现实时演示，行人识别与跟踪算法采用C++实现，运行在搭载Intel i7 CPU @2.4 GHz和8G RAM的笔记本电脑上，总耗时

### 算法1 路缘检测框架

### 输入要求

### 输出结果

1：步骤1：给定输入点云，选择感兴趣区域；

2：步骤2：计算相邻点的向量差；

3：步骤3：筛选路缘状点并滤除噪声；

4：步骤4：通过将高度与阈值比较，分离出较高障碍物；

5: 返回路缘点。

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

<div style="text-align: center;">Fig. 10. A sample raw data collected by Velodyne 16.</div>

![Image](images/f8e2e00056795ed03f5c122d9e26e69dc862e116be40f88e15f544c500365e44.jpg)

<div style="text-align: center;">Fig. 11. A sample curb detection result, both blue and white points are from Velodyne 16, white points are detected as curb points through Algorithm 1. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)</div>

处理Velodyne 64每帧扫描数据的时间小于60 ms。两种不同场景下的单帧行人识别与跟踪结果分别如图13和图14所示。每个结果图的左半部分中，未借助跟踪结果识别出的行人用红色表示，借助跟踪结果识别出的行人用橙色表示；其余非行人目标用蓝色表示，每个目标都标注了ID。图13的右半部分展示了360度视域下的行人识别结果，其中红色为未借助跟踪结果识别的行人，白色为借助跟踪结果得到的行人，绿色为非行人目标。图15为图13的局部放大图，其中道路中间识别到一名速度为零的行人，系统将生成警报。需要指出的是，由于车顶遮挡以及Velodyne 64的视域限制，自动驾驶车辆周围存在盲区，出现在这些区域的行人无法被识别。图16中识别到两名行人，均用红色标记，速度分别为1.50 m/s。

---

![Image](images/e3606df79286543f7116f3de538f4c18769d58448642cdb960a088022ddac2e5.jpg)

<div style="text-align: center;">Fig. 12. 2D bird's-eye-view map of real road environment, curb lines are in green. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)</div>

![Image](images/db7993e5b712e6592480f4205fc42e32909574cb040a7c0e769249947fb902d8.jpg)

<div style="text-align: center;">Fig. 13. Pedestrian recognition result when autonomous vehicle is parked by the side of road. Pedestrians recognized without the aid of tracking results are in red for both left and right half parts, pedestrians recognized by the aid of tracking results are in orange for the left half part and in white for the right half part, the others are classified to be non-pedestrian objects. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)</div>

![Image](images/f1d9e3150dbabdc2ab6a2ff199dbecab31886df679f87302b85a2356cdc679cc.jpg)

<div style="text-align: center;">Fig. 14. Pedestrian recognition result when autonomous vehicle is moving on road. Pedestrians recognized are in red for both left and right half parts, the others are classified to be non-pedestrian objects. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)</div>

和1.18 m/s。图15和图16中的箭头表示速度方向。

#### 6. 结论

本文研究了自动驾驶汽车系统中的行人识别与跟踪问题，通过SVM训练得到一个分类器，将从Velodyne 64 LiDAR采集的原始数据中分离出的点云团划分为行人和非行人两类。结合行人跟踪结果与路缘检测结果，若识别出行人处于道路上或靠近路缘，系统会生成警报。哈希表技术已被用于

![Image](images/77737d4413ad6c249552052a38da3de0ade4ccfd9d69861e1052a5f2c6c323e7.jpg)

<div style="text-align: center;">Fig. 15. On-road pedestrian recognition result. The pedestrian is in red, whose ID is 32. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)</div>

![Image](images/996939e38b67118c564fa0c0df72a6046a2e1db1407af9c6a9640b2ff28d65ab.jpg)

<div style="text-align: center;">Fig. 16. Moving pedestrian recognition result, two pedestrians are walking side by side, whose IDs are 57 and 52, respectively. Both pedestrians are in red. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)</div>

分割过程，同时开发了用于标注、训练和实时可视化的GUI。未来工作包括将本文提出的算法应用于稀疏Velodyne 16数据，识别汽车、自行车等其他感兴趣目标。[^29]。

### 参考文献

[^1]: J. Wu, C.G. James, M. Rehg, Real-time human detection using contour cues, in: IEEE International Conference on Robotics and Automation, ICRA, Shanghai, China, 2011, pp. 960–967.

[^2]: S. Tang, M. Andriluka, B. Schiele, Detection and tracking of occluded people, Int. J. Comput. Vis. 10 (2014) 58–69.

[^3]: K. Mikolajczyk, C. Schmid, A. Zisserman, Human detection based on a probabilistic assembly of robust part detectors, in: 8th European Conference on Computer Vision, ECCV, Springer, Berlin, Heidelberg, 2004, pp. 69–82.

[^4]: P. Srinivasan, J. Shi, Bottom-up recognition and parsing of the human body, in: IEEE Conference on Computer Vision and Pattern Recognition, Minneapolis, MN, 2007, pp. 1–8.

[^5]: P.F. Felzenszwalb, R.B. Girshick, D. McAllester, D. Ramanan, Object detection with discriminatively trained part based models, IEEE Trans. Pattern Anal. Mach. Intell. 32 (9) (2010) 1627–1645.

[^6]: J. ao Xavier, M. Pacheco, D. Castro, A. Ruano, U. Nunes, Fast line, arc circle and leg detection from laser scan data in a player driver, in: IEEE International Conference on Robotics and Automation, Barcelona, Spain, 2005, pp. 3930–3935.

[^7]: L. Spinello, K.O. Arras, R. Triebel, R. Siegwart, A layered approach to people detection in 3d range data, in: Proceedings of the Twenty-Fourth AAAI Conference on Artificial Intelligence, Atlanta, Georgia, USA, 2010.

[^8]: N. Kirchner, A. Alempijevic, A. Virgona, Head-to-shoulder signature for person recognition, in: IEEE International Conference on Robotics and Automation, RiverCentre, Saint Paul, Minnesota, USA, 2012, pp. 1226–1231.

[^9]: L.E. Navarro-Serment, C. Mertz, M. Hebert, Pedestrian detection and tracking using three-dimensional ladar data, Int. J. Robot. Res. 29 (12) (2010) 1516–1528.

[^10]: K. Kidono, T. Miyasaka, A.W.T. Naito, J. Miura, Pedestrian recognition using high-definition lidar, in: IEEE Intelligent Vehicles Symposium (IV), 2011.

[^11]: K.O. Arras, Oscar Martinez Mozos, W. Burgard, Using boosted features for the detection of people in 2d range data, in: IEEE International Conference on Robotics and Automation, Roma, Italy, 2007, pp. 3402–3407.

[^12]: Z. Zivkovic, B. Kröse, Part based people detection using 2d range data and images, in: IEEE/RSJ International Conference on Intelligent Robots and Systems, San Diego, CA, 2007, pp. 214–219.


## [^13]: L.E. Navarro-Serment, C. Mertz, N. Vandapel, M. Hebert, LADAR-based pedestrian detection and tracking, in: 1st IEEE Workshop on Human Detection from Mobile Platforms, Pasadena, California, May 20th 2008.


---

## 待刊文章

## H. Wang 等人 / 《机器人与自主系统》 (1997)

[^14]: C. Premebida, U. Nunes, Fusing lidar, camera and semantic information: a context-based approach for pedestrian detection, Int. J. Robot. Res. 32 (3) (2013) 371–384.

[^15]: P. Morton, B. Douillard, J. Underwood, An evaluation of dynamic object tracking with 3D LIDAR, in: Proceedings of Australasian Conference on Robotics and Automation, Monash University, Melbourne, Australia, 2011.

[^16]: J. Shackleton, B. VanVoorst, J. Hesch, Tracking people with a 360-degree lidar, in: IEEE Conference on Advanced Video and Signal Based Surveillance, 2010, pp. 420–426.

[^17]: I. Miller, M. Campbell, D. Hutten-locher, Efficient unbiased tracking of multiple dynamic obstacles under large viewpoint changes, IEEE Trans. Robot. 27 (1) (2011) 29–46.

[^18]: F. Moosmann, T. Fraichard, Motion estimation from range images in dynamic outdoor scenes, in: IEEE International Conference on Robotics and Automation, ICRA, 2010, pp. 142–147.

[^19]: M.T. Goodrich, R. Tamassia, Algorithm Design. Foundations, Analysis, and Internet Examples, John Wiley & Sons, Chichester, 2001.

[^20]: Edgar E. Osuna, R. Freund, Federico Girosi, Support vector machines: Training and applications, AI. Memo No. 1602, 1997.

[^21]: N. Cristianini, J. Shawe-Taylor, An Introduction to Support Vector Machines and Other Kernel-Based Learning Methods, Cambridge University Press, 2000.

[^22]: J. Wang, P. Neskovic, Leon N. Cooper, Training data selection for support vector machines, in: ICNC 2005, 2005, pp. 554–564.

[^23]: L.E. Navarro-Serment, C. Mertz, M. Hebert, Pedestrian detection and tracking using three-dimensional LADAR data, in: Proc. Int. Conf. on Field and Service Robotics, 2009.

[^24]: O. Chapelle, V. Vapnik, O. Bousquet, S. Mukherjee, Choosing multiple parameters for support vector machines, Mach. Learn. 46 (1) (2002) 131–159.

[^25]: M. Ozaki, K. Kakimuma, M. Hashimoto, K. Takahashi, Laser-based pedestrian tracking in outdoor environments by multiple mobile robots, Sensors 12 (2012) 14489–14507.

[^26]: P. Konstantinova, A. Udvarev, T. Semerdjiev, A study of a target tracking algorithm using global nearest neighbor approach, in: Proceedings of the 4th International Conference on Systems and Technologies, Ruse, Bulgaria, 2003, pp. 290–295.

[^27]: T. Bailey, J. Nieto, Scan SLAM: Recursive mapping and localisation with arbitrary shaped landmarks, in: Robotics: Science and Systems Conference, RSS, 2008.

[^28]: S.D. Huang, G. Dissanayake, Convergence and consistency analysis for extended Kalman filter based SLAM, IEEE Trans. Robot. 23 (5) (2007) 1036–1049.

[^29]: T. Chen, B. Dai, R. Wang, D. Liu, Gaussian-Process-based real-time ground segmentation for autonomous land vehicles, J. Intell. Robot. Syst. 76 (3) (2014) 563–582.

![Image](images/fd8cee8f627d28beda7c06115843100bf78a4197792c64bc2578d7a36f8d298d.jpg)

王恒分别于2003年和2008年在中国东北大学信息科学与工程学院获得学士学位和博士学位。目前他是中国东北大学副教授。2010年7月至2011年7月，他在悉尼科技大学自主系统中心担任博士后研究员；2008年7月至2014年3月，任中国北京工业大学电子信息与控制工程学院讲师。2014年4月至2015年11月，他在新加坡A*STAR资讯通信研究院（I2R）担任研究员。他目前的研究兴趣包括故障检测、鲁棒控制以及移动机器人同步定位与地图构建（SLAM）等。

![Image](images/229fcec560a67a5895f8682af8061b38d1e0964bf7642288f3165021a39d8086.jpg)

王彬是新加坡A*STAR资讯通信研究院的研究工程师。他分别于2000年和2002年在中国哈尔滨工业大学获得学士学位和硕士学位。他的研究兴趣包括自动驾驶汽车定位与建图方向的传感器融合技术。

![Image](images/84e00cd5e6173d212de020456481c1524dcca7554486756aea33758fbb20fc6b.jpg)

刘兵兵是新加坡A*STAR资讯通信研究院的研究员，同时担任自动驾驶部门定位与建图研究组负责人。他于2000年在中国哈尔滨工业大学获得学士学位，2007年在新加坡南洋理工大学获得博士学位。他的研究兴趣包括SLAM、惯性导航、自动驾驶汽车定位与建图的传感器融合技术等。

![Image](images/113bbdd072f541db76df7377e850c7371ca83c7eb0f11b220384a53a31bcef35.jpg)

孟晓丽于2007年在中国天津大学获得通信工程学士学位，2012年在中国北京中国科学院研究生院传感器网络与应用研究中心获得博士学位。2012年至2013年，她在新加坡国立大学生物工程系担任研究员。目前她是新加坡资讯通信研究院的研究员。她当前的研究兴趣包括自动驾驶汽车定位、目标检测与跟踪以及人体运动跟踪。

![Image](images/754d20ea784e1209ed51cf284dac471b947bf1f868b8791e9ca8a7f14eee49c9.jpg)

杨光宏分别于1983年和1986年在中国辽宁省东北工学院获得学士学位与硕士学位，1994年在中国东北大学（原东北工学院）获得控制工程专业博士学位。1986年至1995年，他在东北大学担任讲师/副教授。1996年，他以博士后研究员身份加入南洋理工大学。2001年至2005年，他在新加坡国立大学担任研究员/高级研究员。他现任东北大学信息科学与工程学院教授。他目前的研究方向包括容错控制、故障检测与隔离、非脆弱控制系统设计以及鲁棒控制。杨博士担任《国际控制、自动化与系统期刊》（IJCAS）、《国际系统科学期刊》（IJSS）、《IET控制理论与应用》以及《IEEE Transactions on Fuzzy Systems》的副主编。