
# 三维测距数据中人体检测的分层方法

凯·O·阿拉斯 $^{a}$ 卢西亚诺·斯皮内洛 $^{a,b}$ 鲁道夫·特里贝尔 $^{b}$ 罗兰·西格瓦特 $^{b}$

 $^{a}$德国弗莱堡大学社交机器人实验室

 $^{b}$瑞士苏黎世联邦理工学院自主系统实验室

## 摘要

行人跟踪是在 populated 环境中运行的自主系统、智能汽车和社交机器人的核心技术。这项任务的难点在于，人体在测距数据中的外观会随身体姿态、与传感器的距离、自遮挡以及其他物体的遮挡发生巨大变化。本文提出了一种基于监督学习技术的三维测距数据行人检测新方法，该方法为人体不同高度层构建了一组分类器。具体来说，我们的方法使用AdaBoost从同一高度相邻点组的几何和统计特征中训练得到强分类器。第二步，不同高度的AdaBoost分类器通过在连续空间中投票，相互增强各自的检测证据。最终通过均值漂移算法在投票空间中搜索局部最大值，即可高效定位行人。基于三维激光测距数据开展的实验结果表明，即使在杂乱的城市环境中，我们的方法依然具备良好的鲁棒性和高效性。本文训练得到的人体检测器仅从单次三维扫描就能达到最高96%的分类准确率。

## 1 引言

稳健检测行人是移动机器人和智能汽车的核心问题。激光测距传感器对于该任务尤其适用，因为与视觉方案不同，它对光照变化具有很强的鲁棒性，并且通常能提供更大的视场。

本文研究三维测距数据中的行人检测问题。本文提出的方法借鉴了二维测距数据人体检测领域的技术，该领域已有大量相关研究（Kluge, Köhler, and Prassler 2001; Fod, Howard, and Mataric 2002; Schulz et al. 2003; Cui et al. 2005; Arras, Martínez Mozos, and Burgard 2007）。早期研究中，人们使用特定设计的分类器检测行人，在扫描数据中寻找运动的局部极小值。Arras等人（Arras, Martínez Mozos, and Burgard 2007）将学习方法应用于该任务，通过对一组几何特征进行boosting，学习得到了适用于二维点云的分类器。由于单层二维测距数据的行人检测性能天然存在上限，不少研究者开始研究使用

![Image](images/df83165c105685fa8a5c6da06e17739c24f6fd7ceb9bd7cdc78d847bdeb49289.jpg)

<div style="text-align: center;">Figure 1: 3D pedestrian detection. A person pushing a buggy, a child and a walking pedestrian are correctly identified in the point cloud.</div>

多台共面二维激光扫描仪（Gidel等人，2008；Carballo、Ohya和Yuta，2008）。与本文研究背景相近的是Mozos、Kurazume和Hasegawa（2010）的工作，该研究中作者在已知地平面的假设下，对三个水平层分别应用了boosting，并使用概率规则集对三个分类器进行组合。

目前针对3D数据中的行人检测鲜有相关研究。(Navarro-Serment, Mertz, and Hebert 2009)将3D扫描结果转换为虚拟2D切片，以提取地面上方的显著垂直物体。对于这些物体，他们将窗口与数据主方向对齐，计算一组特征，并使用多个SVM对行人进行分类。(Bajracharya et al. 2009)基于固定行人模型，通过处理垂直物体并考虑点云的一组几何与统计特征，在立体视觉得到的点云中检测行人。在大量关于图像行人检测的文献中，我们在此提及相关性最高的工作，分别是(Dalal and Triggs 2005)提出的HOG检测器，以及(Leibe, Seemann, and Schiele 2005)提出的ISM方法。(Spinello, Triebel, and Siegwart 2008)已经发表了结合激光与视觉的多模态数据行人检测工作。

据我们所知，本文提出了首个用于3D测距数据行人检测的规范化学习方法。核心思路是将行人按不同高度层级划分为多个部分，并为每个部分学习一个高度专业化的分类器。我们利用了一个普遍存在的事实：大多数商用3D激光设备将环境采集为一组独立的扫描线，这些扫描线不一定共面。

---

本文用于分类的基础单元是分段，即每条扫描线上的连续点组，我们在每个分段上计算一组几何特征与统计特征。我们不会预先定义3D行人形状模型，而是通过存储分段中心与行人中心之间的位移，从标注数据中学习模型。这种方式可以对铰接式的复杂3D对象给出通用且鲁棒的描述。随后，每个分段会根据其属于各身体部分的概率进行分类。我们采用3.5D投票方法对各分类器的输出进行几何关联：每个分段对行人中心进行投票，连续投票空间中的高密度区域即为行人存在的候选假设。这种方法对遮挡具有鲁棒性，因为检测不需要所有身体部分都参与。此外，我们的方法不依赖任何地平面提取的启发式规则，也不需要任何运动线索，本文工作不涉及跟踪。

本文结构安排如下：第2节介绍我们对3D数据执行的预处理步骤；第3节描述如何划分身体部分，并从数据中学习3D行人模型；第4节介绍检测步骤；第5节给出实验结果；第6节总结全文。

## 2 三维测距数据预处理

目前已有多种不同的系统可用于从环境中获取三维距离数据。其中多数系统依赖扫描设备，这类设备发射激光射线并测量到最近物体的距离。为获取三维扫描结果，这类设备通常会绕传感器坐标系的某一主轴旋转。典型例子包括SICK LMS激光扫描仪这类二维测距传感器，它被安装在可绕垂直轴或水平轴旋转的转台上（Lamon、Kolski和Siegwart，2006）。其他设备如Velodyne HDL-64E同样绕z轴旋转，可发射64束互不共面的独立激光束。Alasca XT测距仪则使用经旋转镜偏转的光束搭配4个接收器。这类传感器输出的点云由独立扫描线组成，也就是同一束激光测量得到的点序列。经过抽象处理后，我们可以将这类三维点云看作按切片或分层排列的二维激光点集合。该定义也适用于多种非激光传感器：距离相机数据（例如Swissranger）或立体相机生成的点云数据，也可以通过对图像像素进行水平采样转化为扫描线集合。

形式上，我们将点云X看作由多个层$\mathcal{L}_i = \{\mathbf{x}_{ij}\}$组成，其中$\mathbf{x}_{ij} = (x_{ij}, y_{ij}, z_{ij})$。本文证明，通过将三维扫描视为不同高度层的二维扫描集合，已经得到验证的成熟二维距离数据行人检测技术可以轻松扩展到三维场景，从而得到一种快速、鲁棒的三维距离数据行人检测器。

### 2.1 逐层点云分割

作为我们检测算法的第一步，我们使用跳距聚类（Jump Distance Clustering，简称JDC）将每条扫描线划分为多个分段。JDC每当距离就会初始化一个新分段

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Nr</td><td style='text-align: center; word-wrap: break-word;'>Feature Name</td><td style='text-align: center; word-wrap: break-word;'>Nr</td><td style='text-align: center; word-wrap: break-word;'>Feature Name</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$f_{1}$</td><td style='text-align: center; word-wrap: break-word;'>Width</td><td style='text-align: center; word-wrap: break-word;'>$f_{2}$</td><td style='text-align: center; word-wrap: break-word;'>Number of points</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$f_{3}$</td><td style='text-align: center; word-wrap: break-word;'>Circularity</td><td style='text-align: center; word-wrap: break-word;'>$f_{4}$</td><td style='text-align: center; word-wrap: break-word;'>Linearity</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$f_{5}$</td><td style='text-align: center; word-wrap: break-word;'>Boundary length</td><td style='text-align: center; word-wrap: break-word;'>$f_{6}$</td><td style='text-align: center; word-wrap: break-word;'>Boundary regularity</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$f_{7}$</td><td style='text-align: center; word-wrap: break-word;'>Mean angular difference</td><td style='text-align: center; word-wrap: break-word;'>$f_{8}$</td><td style='text-align: center; word-wrap: break-word;'>Mean curvature</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$f_{9}$</td><td style='text-align: center; word-wrap: break-word;'>Quadratic spline fitting</td><td style='text-align: center; word-wrap: break-word;'>$f_{10}$</td><td style='text-align: center; word-wrap: break-word;'>Cubic spline fitting</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$f_{11}$</td><td style='text-align: center; word-wrap: break-word;'>Standard dev. w.r.t. centroid</td><td style='text-align: center; word-wrap: break-word;'>$f_{12}$</td><td style='text-align: center; word-wrap: break-word;'>Mean avg. dev. from median</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$f_{13}$</td><td style='text-align: center; word-wrap: break-word;'>Kurtosis w.r.t. centroid</td><td style='text-align: center; word-wrap: break-word;'>$f_{14}$</td><td style='text-align: center; word-wrap: break-word;'>Radius</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$f_{15}$</td><td style='text-align: center; word-wrap: break-word;'>PCA ratio</td><td style='text-align: center; word-wrap: break-word;'>$f_{16}$</td><td style='text-align: center; word-wrap: break-word;'>Bounding box area</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$f_{17}$</td><td style='text-align: center; word-wrap: break-word;'>Convex hull area</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>

<div style="text-align: center;">Table 1: Features used to describe the shape and statistical properties of a segment.</div>

两个连续点之间超过阈值$\theta_{d}$时，就会新建一个分段。处理后，数据被归约为数量更少的分段，相比原始数据点，每个分段携带的信息量更高。我们将每个分段表示为连续点构成的集合$S_{j}, j=1,\ldots,N_{i}$，其中$N_{i}$是扫描线i中的分段总数。我们的算法假设三维扫描仪绕垂直z轴旋转，这意味着分段内的点按方位角升序排列。这些分段是提取局部信息的基本单元。

### 2.2 分段形状表征

下一步，我们为每个提取出的分段计算多个描述子。描述子被定义为函数$f_k: \mathcal{S}_j \to \mathbb{R}$，它以分段$\mathcal{S}_j = \{(x_1, y_1, z_1), \ldots (x_M, y_M, z_M)\}$中包含的M个点为输入参数，返回一个实数值。我们使用的大多数特征（$f_1 \ldots f_8$）已经在Arras、Martínez Mozos和Burgard（2007）以及Spinello、Triebel和Siegwart（2008）的研究中被提出，以下特征（$f_9 \ldots f_{17}$）是为本任务新增的：

- 二次样条拟合：该特征衡量$s_2$中点的二次B样条回归$S_j$（由De Boor在1978年提出的分段多项式近似方法）的残差平方和： $f_9 = \sum_i (s_2(x_i, y_i) - y_i)^2$

- 三次样条拟合：该特征衡量$s_3$中点的三次B样条回归$S_j$的残差平方和，即 $f_{10} = \sum_i (s_3(x_i, y_i) - y_i)^2$

- 相对于质心的峰度：峰度定义为聚类 $S_j$ 的四阶标准矩，即 $f_{12} = \frac{\sum_i (\mathbf{x}_i - \hat{\mathbf{x}}_j)^4}{M \cdot f_{11}^4}$，其中 $f_{11}$ 表示相对于质心的标准差，$\hat{\mathbf{x}}_i$ 是 $S_j$ 的重心。

- PCA比率：该特征是与 $\lambda_2$ 关联的散度矩阵的第二大特征值 $\lambda_1$ 与最大特征值 $S_j$ 之比。它用于测量定向包围盒的长宽比，即 $f_{13} = \frac{\lambda_2}{\lambda_{1+1}}$

- 包围盒面积：该特征表示 $S_{j}$ 的轴对齐包围盒的面积。

凸包面积：该特征表示从$S_{i}$提取的凸包多边形计算得到的面积。

---

![Image](images/e5ba768458474dcf037ff4e6029177d98f7ea7b6390c52b9260d7ce061d97a21.jpg)

<div style="text-align: center;">Figure 2: Learning a 3D person model. Objects are vertically divided into K parts. For each part an independent AdaBoost classifier is learned: all the segmented points contained on each scan line are considered as positive samples for the K AdaBoost classifiers.</div>

表1列出了所有17个已使用的特征。每个片段$S_i$的特征值集合构成一个向量 $\mathbf{f}_i = (f_1, \ldots, f_{17})$。

## 3 学习人体三维模型

人的外观差异极大。人们有着不同的尺寸和体型，穿着衣物，携带手提包、背包或雨伞，拉动行李箱，或是推行婴儿车。这使得很难预先定义人体外观模型，因此催生了基于采集数据构建模型的学习方法。

### 3.1 部件定义

我们通过将人体划分为不同高度层或部件来解决人体形状复杂度问题（参见图2）。该划分是预先定义的，并不遵循腿部、躯干、头部这类解剖学语义。计算机视觉文献（Dalal and Triggs 2005; Zhu et al. 2006; Viola and Jones 2002）的结果以及我们自身的经验表明，在几何重叠细分中计算得到的描述子是学习目标模型的有力工具。因此，为了学习三维人体模型，我们创建了K个不同且独立的分类器，每个分类器对应人体按高度划分的一个部件。

训练时，所有落于某个部件范围内的扫描线都会被纳入考虑。模型从身高相似（与均值相差在$\pm15$cm以内）的样本中学习得到。我们使用AdaBoost（Freund and Schapire 1997）作为部件分类器，这是一种著名的机器学习算法，已被证实在二维距离数据的人体检测中非常成功（Arras, Martínez Mozos, and Burgard 2007）。

### 3.2 学习部件检测器

AdaBoost是一种通用方法，通过组合一组带权重的弱分类器（本文中为决策桩）构建精确的强分类器。一个决策桩 $h_t$ 定义了特征空间中单个平行于坐标轴的划分。针对特征向量 $H(\mathbf{f})$ 计算得到的最终强分类器 $\mathbf{f}$ 是T个最优弱分类器的加权和：

 $$ H\left(\mathbf{f}\right)=\mathrm{s i g n}\left(\sum_{t=1}^{T}\alpha_{t}h_{t}(\mathbf{f})\right), $$

 $\alpha_{t}$ 是AdaBoost学习得到的权重。

由于在三维扫描中人体通常仅由少量数据点表示，背景片段的数量远多于人体片段，这使得训练集不平衡。如果对负样本集进行下采样，可能会导致特征分布表示不充分，因此我们使用自适应初始权重向量 $\mathbf{w}_0 \in \mathbb{R}^N$，其中N是训练片段的总数。通常 $\mathbf{w}_0$ 被设置为均匀分布，即 $1/N \cdot 1^N$，其中 $\mathbf{1}^N$ 是维度为N、所有元素均为1的向量。我们改用

 $$ \mathbf{w}^{p}:=\frac{1}{2N_{p o s}}\mathbf{1}^{N_{p o s}},\mathbf{w}^{n}:=\frac{1}{2N_{n e g}}\mathbf{1}^{N_{n e g}},\mathbf{w}_{0}=\left(\mathbf{w}^{p},\mathbf{w}^{n}\right), $$

其中$N_{pos}, N_{neg}$分别是正训练样本和负训练样本的数量。因此，规模更大的训练集——在我们的案例中即负样本集——会获得更小的权重。

为了避免在片段分类中过早做出硬性决策，我们对式(1)中的分类结果应用sigmoid函数。这可以被解释为：由特征向量$p(\pi^k \mid \mathbf{f}_i)$表示的片段i对应行人部件$\mathbf{f}_i$的似然度$\pi^k$的度量：

 $$ g_{k}(\mathbf{f}_{i})=\frac{\sum_{t=1}^{T}\alpha_{t}^{k}h_{t}^{k}(\mathbf{f}_{i})}{\sum_{t=1}^{T}\alpha_{t}^{k}},\quad p(\pi^{k}\mid\mathbf{f}_{i})=\left(1+e^{2-13g_{k}(\mathbf{f}_{i})}\right)^{-1}, $$

其中$g_k$是第k个分类器的弱分类结果的归一化和，$\pi^k$是一个二值标签，当片段i对应第k个部件时该标签为真。

在我们的研究中，我们需要将单个部件与所有其他部件以及背景区分开。因此我们面临一个多分类问题，对此我们采用一对多（one-vs-all）策略：训练某一部件的分类器时，该部件包含的所有片段的特征都被视为正样本，背景和其他部件的特征则被标记为负样本。

### 3.3 学习几何关系

到目前为止，我们已经描述了一种人体部件分类方法，现在我们将各个单独的分类结果整合为一个完整的行人检测器。在计算机视觉领域，该问题已有多种解决方案：部件星座模型（Fergus, Perona, and Zisserman 2003）、条件随机场（Conditional Random Fields, CRF）（Felzenszwalb and Huttenlocher 2005），以及隐式形状模型（implicit shape models, ISM）（Leibe, Seemann, and Schiele 2005）。我们的方法大致受到最后一种方法的启发，提出了如下投票模型。

首先，我们利用片段的3D位移信息定义构成3D行人模型的几何关系。每个部件以及部件中包含的每个片段都被独立处理。对于训练集中部件$S_i$下的片段$\pi^k$，我们存储3D位移向量$\mathbf{v}_i^k$，该向量也被称为“投票”，即行人中心与$S_i$中心之间的差值。随后，部件$\pi^k$的所有投票被收集到集合$\mathcal{V}^k$中。该信息隐式地反映了人类不同的身体姿态。例如，

---

![Image](images/bef0f3b5bd07dc730812d0296012f6fcdd22fbdc35ec7ab8e75b916d2fc9c39c.jpg)

<div style="text-align: center;">Figure 3: Learning a 3D voting model for training the detector. The displacement, or vote, between a segment and the person center of gravity in 3D associated to each subpart is stored as  $\mathcal{V}^k$. Agglomerative clustering is carried out to obtain a more compact representation of  $\mathcal{V}^k$.</div>

如果训练数据是在步行序列中采集得到，那么位于身体最低部位（对应脚/脚踝）的片段相对于重心的位移通常具有更大的变化幅度，即投票的分布范围更广。在处理完所有行人样本后，每个部件都会存储大量投票。最后一步是将每个部件的$\mathcal{V}^k$压缩为新集合$\hat{\mathcal{V}}^k$。这一过程通过带平均链接的聚合聚类和距离阈值$\theta_\nu$实现（参见图3）。随后，我们为$\hat{w}_i^k = |\hat{\mathcal{V}}^k|^{-1}$中的每个聚类投票$\hat{\mathcal{V}}_i^k$分配权重$\hat{\mathcal{V}}^k$，其中$|\hat{\mathcal{V}}^k|$表示部件$\pi^k$的投票聚类数量。这一设计的直观逻辑是：位移变异性越高的部件，投票置信度越低。最后，为了得到3D空间中行人的实用几何表示，我们对所有行人样本计算平均边界框。

## 4 3D行人检测

我们的检测方法以单个点云作为输入进行处理，输出一组检测得到的行人。获取新的3D扫描结果后，会对每个扫描层执行JDC分割步骤处理。随后，我们为每个部位中找到的每个分割区域计算特征向量$\mathbf{f}_i$。通过对应的AdaBoost模型对特征进行分类，即可得到分割区域属于某个部位的概率。由此，我们得到一个向量

 $$ \mathbf{c}_{i}=\left(p(\pi^{1}\mid\mathbf{f}_{i}),\ldots,p(\pi^{k}\mid\mathbf{f}_{i})\right). $$

这就得到了多个加权部位假设，因此我们需要找到一种方法合理处理这些信息。本文中，我们使用训练阶段学习得到的投票模型（见第3节）来生成三维空间中行人中心的假设。需要重点说明的是，本研究未对地面平面的位置做任何假设。

我们构建了一个3.5维连续投票空间流程，在该流程中每个分割区域$S_i$都会在三维空间中投出一组非负加权票$\mathcal{V}_1, \ldots, \mathcal{V}_K$，其中K是行人${}^{\prime\prime}$的数量，第k个由

 $$ \rho(k)=\frac{\mathbf{c}_{i}(k)}{K} $$

其中$\mathbf{c}_{i}(k)$是向量(4)中第m个元素的值，K为子部位的数量。

所有生成的投票都被收集到连续投票空间${}^{W}$中。高密度位置对应三维空间中行人中心的假设。因此我们估计投票空间分布的众数，这一步通过采用球型均匀核的均值漂移（Mean Shift）估计实现（Comaniciu and Meer 2002）。均值漂移算法可以在给定从密度函数采样得到的离散数据的情况下，找到该密度函数的驻点。一旦找到一个众数，就会计算它的得分：

 $$ s c o r e(\mathbf{x}_{k}\mid\mathcal{W})=\left[\sum_{j}^{\mathcal{N}(\mathbf{x}_{k})}\widehat{\nu}_{j}^{\epsilon(\nu_{j})}\rho(\epsilon(\nu_{j}))\right]\frac{\zeta(\mathcal{N}(\mathbf{x}_{k}))}{K}, $$

其中$\mathbf{x}_k$是收敛得到的众数，$\mathcal{N}(\mathbf{x}_k)$包含所有对$\mathbf{x}_k$吸引域有贡献的投票索引，$\epsilon(\nu_j)$是返回投票$\nu_j$对应部位索引的函数，$\hat{\nu}_j$是投票$\nu_j$的权重值。$\zeta(\cdot)$是返回投票来源部位数量的函数。因此，$\zeta(\cdot)$作为调整项，会更偏好由更多部位解释得到的行人，这对于降低那些在同一高度从杂乱区域获得投票的强误检非常有效。公式6得到的假设得分越高，$\mathbf{x}_k$位置存在行人的可能性就越高。需要注意的是，该方法实现了一种同时检测和分割的范式：对某个假设有贡献的投票即可识别出属于该行人的分割区域。

## 5 实验

我们在使用Velodyne HDL 64E S2激光扫描仪采集的两个室外数据集上评估了本文算法。第一个数据集名为Polyterrasse，采集于苏黎世联邦理工学院主楼前的开阔区域，该区域仅允许行人和自行车进入。第二个数据集名为Tannenstrasse，采集于苏黎世市中心一个繁忙的十字路口，该区域有电车、汽车、行人和自行车通行。

我们在第一个数据集中采集了900帧全景点云，第二个数据集采集了500帧全景点云。传感器以$5 Hz$的频率旋转，最大测距限制为20米，每次3D扫描大约产生120000个点。在每一帧中，如果行人至少由200个点表示，且身高超过$1.2 m$，就会被手动标注边界框。第二种标注针对至少由100个点表示、身高为$1 m$的行人。

### 5.1 训练

我们使用203个处于静止和行走状态的人体样本进行训练。我们按照表2给出的不同高度将人体划分为9个部分。投票聚类阈值设置为$\theta_{v}=25cm$，JDC阈值设置为$\theta_{d}=40cm$。训练使用了来自Polyterrasse数据集的2592个背景片段和7075个人体片段。

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Part number</td><td style='text-align: center; word-wrap: break-word;'>Part height</td><td style='text-align: center; word-wrap: break-word;'># of votes</td><td style='text-align: center; word-wrap: break-word;'># pos. training segments</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>[0m, 0.2m]</td><td style='text-align: center; word-wrap: break-word;'>7</td><td style='text-align: center; word-wrap: break-word;'>500</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>[0.2m, 0.4m]</td><td style='text-align: center; word-wrap: break-word;'>9</td><td style='text-align: center; word-wrap: break-word;'>814</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>[0.4m, 0.6m]</td><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>751</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>[0.6m, 0.8m]</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>811</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>5</td><td style='text-align: center; word-wrap: break-word;'>[0.8m, 1.0m]</td><td style='text-align: center; word-wrap: break-word;'>6</td><td style='text-align: center; word-wrap: break-word;'>866</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>6</td><td style='text-align: center; word-wrap: break-word;'>[1.0m, 1.2m]</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>881</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>7</td><td style='text-align: center; word-wrap: break-word;'>[1.2m, 1.4m]</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>903</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>8</td><td style='text-align: center; word-wrap: break-word;'>[1.4m, 1.6m]</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>917</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>9</td><td style='text-align: center; word-wrap: break-word;'>[1.6m, 2.5m]</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>632</td></tr></table>

<div style="text-align: center;">Table 2: Person parts subdivision and vote set.</div>

![Image](images/a9c7fbf7cbf65d3dfb477092bce446a8aa0d6a320042f5fceeebd6932d70499b.jpg)

<div style="text-align: center;">Figure 4: Precision-recall curve of the individual part detectors under the assumption of a known ground plane. Upper body parts (nr. 6-8) show better performance partly due to a better separation from the background, a higher point density, and a smoother shape.</div>

表2最右列给出了每个部分最终的训练样本数量。表2第三列包含投票聚类步骤后每个部分的得票数。注意，与腿部相关的下半部分会产生更多投票，这是因为行走过程中各片段的位移存在变化。为了避免过拟合，我们仅学习了20个决策桩。

### 5.2 定量性能评估

我们在训练集之外的440帧上对每个部件检测器进行了评估。为了分析单个分类器的性能，我们假设已知地平面，并为每条扫描线选择了正确的检测器。图4给出了每个部件分类器的精确率-召回率曲线。可以发现单个检测器的检测性能相当不佳，这很有意思。这些检测器呈现出高召回率的特点，高检测率会伴随大量误报。

图5展示了本文提出的方法应用于两个数据集的整体精确率-召回率图。为了适配标注和检测中的度量误差，当检测框与人工标注的人体重叠度超过60%时，才将该检测计为真阳性。我们采用了(Enzweiler and Gavrila 2009)提出的无奖励无惩罚策略：当一个检测匹配到第二类标注时，既不计入真阳性也不计入假阳性。

![Image](images/3d1fb43408a431626fa890e69b00f9bdee526464764e35e5d87786289a853ac1.jpg)

<div style="text-align: center;">Figure 5: Evaluation for 3D people detection. Each figure depicts precision-recall graphs at different ranges: from 0 to 10m, 15m, and 20m. Left: Detection performance for the Polyterrases data set, the Equal Error Rates (EER) are 96%, 71%, 65%. Right: Precision-recall graph for the Tannenstrasse data set, EER values are 95%, 76%, 63%.</div>

相较于单个部件检测器，性能提升十分显著。误报率大幅下降，同时真阳性率得到提升。这说明各个部件分类器具有多样性和互补性：如果某些部件没有给出阳性分类结果，其他部件会给出。这一特性很可能解释了图1所示的结果：尽管训练集中没有儿童样本，检测器仍然正确检测出了儿童。

该图还展示了检测性能如何随与传感器距离的增加而下降。对于Polyterrasse数据集，0-10米范围内的等错误率（EER）为96%，0-15米范围内为71%，0-20米范围内为65%。对于Tannenstrasse数据集，对应数值分别为95%、76%和63%。性能衰减主要由点云稀疏性导致，点云稀疏会引发过分割，并得到区分度更低的描述子。这种细节损失使得区分行人与尺寸相近的垂直结构（如交通标志或立柱）变得更加困难。尽管Polyterrasse环境结构规整，而Tannenstrasse路口环境较为嘈杂，存在大量干扰物和各类动态物体，但两个数据集的整体性能相当。请注意，行人模型仅使用Polyterrasse环境的数据训练得到。

在我们的评估集中，0-10米范围内的行人平均由1062个点描述，15米范围内平均为557个点，20米范围内平均为290个点。因此，从10米范围到20米范围，点数量减少了73%，仅带来23%的性能损失。图6展示了两个示例帧的检测结果。

本文提出方法的C++实现未经过速度优化，在最大范围限制为10米、包含约75000个点的平均3D扫描中，可达到$\sim 1Hz$的检测频率。

## 6 结论

在本文中，我们提出了一种用于3D测距数据中行人检测的规范化学习方法。该方法将人体划分为不同高度层级的多个部分，针对每个部分，基于分段上计算得到的一组几何特征与统计特征构建了专用的AdaBoost分类器。该

---

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

<div style="text-align: center;">Figure 6: Two example frames showing detection results as red boxes. Left: A frame of the Polyterrasse data set. Closely walking people and a partly visible individual standing close to the sensor are correctly found. Right: A frame of the Tannenstrasse data set showing a cluttered urban street crossing with people, pillars, street signs, and a tram just entering the scene. People are correctly detected while crossing the street and walking at a large distance to the sensor. There are two false positives in the lower left part of the picture caused by a glass window with vertical steel poles.</div>

分类器通过向连续空间投票，在不同高度之间相互强化各自的检测证据。该方法支持从局部视图检测行人，且不需要预先获取地平面信息。在杂乱城市环境下使用两个不同数据集开展的实验中，我们获得了最高96%的分类准确率；考虑到我们是基于单次3D扫描完成行人检测，这一结果已经处于较高水平。在未来工作中，我们计划将该方法与跟踪算法结合，随时间推移整合多次检测结果。

## 致谢

本研究得到了德国研究基金会（DFG）项目SFB/TR-8，以及欧盟项目EUROPA-FP7-231888的资助。

## 参考文献

Arras, K. O.; Martínez Mozos, O.; 与 Burgard, W. 2007。将提升特征用于二维测距数据中的行人检测。收录于Int. Conf. on Rob. & Autom. (ICRA)。

Bajracharya, M.; Moghaddam, B.; Howard, A.; Brennan, S.; 与 Matthies, L. 2009。移动车辆上基于立体视觉的实时行人检测系统测试结果。收录于IEEE ICRA行人检测与跟踪研讨会。

Carballo, A.; Ohya, A.; 与 Yuta, S. 2008。面向移动机器人行人检测的双层多激光测距仪融合方法。收录于IEEE Int. Conf. on Multisensor Fusion and Integration for Intelligent Systems (MFI)。

Comaniciu, D.; 与 Meer, P. 2002。Mean shift：一种特征空间分析的鲁棒方法。IEEE Trans. on Pattern Analysis & Machine Intelligence 24:603–619。

Cui, J.; Zha, H.; Zhao, H.; 与 Shibasaki, R. 2005。结合激光与视觉的多行人跟踪方法。收录于Int. Conf. on Intel. Rob. and Sys. (IROS)。

Dalal, N.; 与 Triggs, B. 2005。用于人体检测的方向梯度直方图。收录于IEEE Conf. on Comp. Vis. and Pat. Recog. (CVPR)。

De Boor, C. 1978。《样条函数实用指南》。Springer-Verlag。

Enzweiler, M.; 与 Gavrila, D. 2009。单目行人检测：综述与实验。IEEE Trans. on Pattern Analysis & Machine Intell. 31(12):2179–2195。

Felzenszwalb, P.; 与 Huttenlocher, D. 2005。用于目标识别的图画结构模型。Int. Journ. of Comp. Vis. 2:66–73。

Fergus, R.; Perona, P.; 与 Zisserman, A. 2003。通过无监督尺度不变学习实现目标类别识别。收录于IEEE Conf. on Comp. Vis. and Pat. Recog. (CVPR)。

Fod, A.; Howard, A.; 与 Mataric, M. 2002。基于激光的行人跟踪。收录于Int. Conf. on Rob. & Autom. (ICRA)。

Freund, Y.; 与 Schapire, R. E. 1997。在线学习的决策论推广及其在提升算法中的应用。Jour. of Comp. and System Sciences 55(1)。

Gidel, S.; Checchin, P.; Blanc, C.; Chateau, T.; 与 Trassoudaine, L. 2008。使用多层激光扫描仪的行人检测方法：城市环境应用。收录于Int. Conf. on Intel. Rob. and Sys. (IROS)。

Kluge, B.; Köhler, C.; 与 Prassler, E. 2001。使用激光测距仪对多个运动目标进行快速鲁棒跟踪。收录于Int. Conf. on Rob. & Autom. (ICRA)。

Lamon, P.、Kolski, S.、Siegwart, R. 2006。《Smartter——一款适用于户外环境的完全自主导航与建图运载平台》。收录于CLWAR。

Leibe, B.、Seemann, E.、Schiele, B. 2005。拥挤场景中的行人检测。收录于IEEE计算机视觉与模式识别会议（CVPR）。

Mozos, O. M.、Kurazume, R.、Hasegawa, T. 2010。基于二维距离数据的多分段人体检测。《国际社会机器人学杂志》 2(1)。

Navarro-Serment, L.、Mertz, C.、Hebert, M. 2009。基于三维激光雷达数据的行人检测与跟踪。收录于国际场地与服务机器人会议。

Schulz, D.、Burgard, W.、Fox, D.、Cremers, A. 2003。采用基于采样的联合概率数据关联滤波器的移动机器人人体跟踪。《国际机器人研究杂志》 22(2):99–116。

Spinello, L.、Triebel, R.、Siegwart, R. 2008。拥挤场景中的多模态人体检测与跟踪。收录于AAAI人工智能会议（AAAI）。

Viola, P.和Jones, M. 2002。鲁棒实时目标检测。《国际计算机视觉杂志》。

Zhu, Q.、Yeh, M. C.、Cheng, K. T.、Avidan, S. 2006。基于方向梯度直方图级联结构的快速人体检测。收录于IEEE计算机视觉与模式识别会议（CVPR）。