
# 用于机器人引导的遮挡行人检测

E. Martinson

摘要——行人检测这一挑战在人机交互中常被忽视。要实现自然交互，机器人必须无需等待行人面向摄像头、退到足够远以完整出现在画面中、或是完全处于视野中心就能检测到他们。此外，检测过程不能占用巨量运算资源，这在实际系统中并不实用。本文我们聚焦引导场景下的行人检测，该场景中遮挡问题尤为普遍。采用结合深度图像的分层方法，我们可以大幅提高高遮挡条件下的检测率，让机器人能够检测进出视野的目标。

## 一、引言

行人检测是人机交互中的一项基础能力。机器人要开启对话、递送物品或是与人类伙伴协作，必须首先确认环境中是否存在行人。在医疗机器人领域，这项挑战尤为艰巨，因为人们无法稳定调整自身行为来适配机器人。这正是我们正在开发解决方案的大领域背景。

我们的具体目标是为视障人士开发导航辅助设备。目前，视障人士在陌生环境中导航依赖于基于GPS的导航系统 $^{[1]}$。然而这类辅助设备常常在室内失效，也无法在路径规划中检测或纳入新增障碍物。我们认为机器人可以提供帮助，通过振动反馈协助视障人士穿行复杂环境 $^{[2]}$。在行人检测方面，挑战在于检测、识别和跟踪机器人后方的人员，首要的是他们的人类伙伴，还有周边环境中的其他行人。这跟行人跟随机器人 $^{[3]}$ 类似（该示例通过颜色直方图跟踪行人），但由于本文的机器人不只是对人类运动做出反应，因此带来了新的跟踪挑战。动态障碍物环境下的路径规划增加了传感器运动幅度，有时还会迫使丢失轨迹后在非完整约束平台上进行路径跟踪。本文聚焦开发一种快速准确的行人检测方法，即使身体被障碍物严重遮挡或受传感器视野限制，也能尽快实现轨迹恢复。

本文首先明确了在引导行人穿行环境的任务中，行人检测的几个典型问题领域。随后我们介绍了一种适用于近距离（<5 m）深度图像的、对遮挡鲁棒的新型行人检测方案。最后我们从三个方面对该检测方法进行评估：(1) 行人和/或机器人运动的场景；(2) 对19名处于不同旋转角度和不同遮挡程度的行人的测试；(3) 机器人引导场景下对4种不同检测系统的评估。

### 二、相关工作

最常用的人体检测方法是(1)人脸检测，以及(2)基于HOG的分类器。OpenCV中已提供人脸检测功能[^4]，该方法在仅含RGB的传感器、RGB-D传感器和/或强度图像中都被广泛使用。当可获取深度数据时，人脸可用于初始化跟踪轨迹[^5]，或作为更大分类器的组成部分[^6]。问题在于，在部分引导场景中，由于人员背对摄像头（属于相对位姿问题），更常见的情况是人脸超出摄像头视野范围——无论是垂直方向还是水平方向，因此只有不到20%的图像中能检测到人脸。这类检测难点场景的示例如图1所示。

HOG即方向梯度直方图，基于HOG的分类器无需检测到人脸即可识别人体[^7]。具体来说，这类分类器不依赖人体的相对位姿即可完成检测，已经应用在RGB传感器[^8] [^9]和RGB-D传感器[^10]中。然而，HOG特征的计算复杂度很高，包括可变形部件模型在内的最优系统[^8]都包含大量抽象层级。在没有GPU加速的情况下，性能最优的算法也只能达到1-5Hz的处理速度，具体取决于模型复杂度。一般而言，从物理占用空间和功耗两方面来看，机器人无法承担专门用一整台计算机来加速人体检测的成本。而即使增加了计算资源，Dollar等人的研究[^11]表明，即使专门针对部分遮挡训练模型，这类方法处理部分遮挡问题仍然存在困难。

目前也存在不使用RGB数据的深度图像解决方案。Kirchner等人[^12]和Xia等人[^13]在深度数据中寻找类头部轮廓，这种方法解决了相对位姿问题，但在头部缺失或被部分遮挡时仍然会检测失败。一种不需要依赖头部检测的解决方案是利用物体的局部曲率。局部表面法向量[^14]可用于检测运动、坐姿、站立以及被遮挡的人员。已有研究报道了该方法检测部分遮挡人员的准确率，但其测试主要针对部分水平（即横向）遮挡（例如腰部以下身体缺失）。横向遮挡和垂直（即

---

![Image](images/5899ae35971d417a4097fc4c1d118e3a4d173389d285d9eefdbe6e664e5ca5e1.jpg)

<div style="text-align: center;">Figure 1a. A close range individual with both shoulders visible. This view is considered normal in the evaluation dataset.</div>

![Image](images/24c905e3cf744ce3ac113a35b819b4ec93c93e9a85ef077385f45c645f3c2a13.jpg)

<div style="text-align: center;">Figure 1b. A close range body missing both the head and one shoulder. This view is considered partially visible in the evaluation dataset.</div>

![Image](images/a14289f085aa6e8c9d70a7fd1120c07e2fbb2a8b70047905d7e995b9d82ce1a7.jpg)

<div style="text-align: center;">Figure 1c. Two people present in the image. The actual target of the application is partially obstructed by the individual in the foreground, but two sets of eyes are present for detection.</div>

矢状）遮挡（例如身体左侧或右侧缺失）在引导场景中都十分常见。

Spinello等人[^15]在处理Velodyne激光雷达数据时，同样得到了物体曲率思路的启发。在提取出连通物体后，他们为图像中的每一行提取了共17个特征。这些特征基于对物体每行数据点的样条、曲线和直线拟合，用于描述局部曲率。随后使用AdaBoost为人体的多个高度层分别训练模型——如果一个物体的大部分区域都属于"人体"层，就会被分类为人员。虽然特征计算可以达到10Hz的运行速度，但近期为提高准确率做出的改进将系统速度降低到了1Hz[^16]，需要依靠跟踪来检测中间帧中的人体。

### 三、引导场景

目前已有多种不同方案可检测完全、甚至大部分可见且处于直立姿态的人体。一旦这些前提假设不成立，检测问题就会变得困难得多。因此，我们专注于机器人引导场景下的人体检测研究。我们评估的具体场景为：人类搭档跟随我们的导盲机器人（图2）穿行于室内办公环境。在实际应用场景中，机器人会根据检测到的人体位置，通过佩戴在使用者腰部的触觉腰带持续向人类传达前往目标的运动方向 [^2]。但在本次评估中，机器人由另一人员远程操控。人类搭档从机器人后方出发，跟随机器人沿弯道行进，弯道从一根大型立柱和人类操作员所在的齐腰操作台之间穿过。平均而言，人类搭档与机器人的距离约为1.5米，当机器人需要通过弯道、避让障碍物时，该距离最大可增加至3米。为了追踪人体，机器人在胸部高度位置向后安装了一台微软Kinect传感器，该传感器以30Hz的频率采集RGB图像和深度图像。我们保存了前1000帧图像用于评估（第V.C节），这些图像具有以下特征：

- 890张图像包含至少一个人的部分身体

- 719张图像可见肩膀和/或眼睛

- 171张图像中面积最大的人体存在超过30%的矢状和横向遮挡（例如，人体仅部分可见，缺失眼睛和至少一个肩膀）

- 331张图像有2个全部或部分可见的人体

图1展示了该数据集中的几个示例。第一个示例是人类搭档最常见的拍摄视角，可见头部和腿部缺失，这是因为相机视场宽度不足，无法在这么近的距离拍摄到全身。中间的图像也十分常见：除了脸部部分处于画面外，由于人类走到了路径侧边，仅一个肩膀可见，这也代表了被立柱、墙角、门等其他垂直障碍物遮挡的典型情况。最后一个示例展示了图像中存在多个人的情况。

总的来说，这些图像体现了机器人引导场景下的检测挑战。由于视场有限，常规场景中存在大量的矢状和横向遮挡。尽管有时可以移动相机来弥补这一问题，但物理限制，比如机器人的高度和

---

![Image](images/03922f59b563c776060b47537be4e72560c3f4f76420d51206dd457b4da38c78.jpg)

<div style="text-align: center;">Figure 2. (left) The blind aid robot, a mobile platform with the ability to track people and investigate the environment. (Right) A person following the blind-aid robot through an indoor setting.</div>

### 第四节 人体检测算法

平移/俯仰功能的可用性，并不总能实现相机移动补偿。因此，一个有效的人体检测系统必须能够在高遮挡程度下正常工作。

由Spinello等人针对深度数据设计的分层检测算法[^15]是我们在导航场景中检测遮挡人员的研究起点。但该原始算法并非为机器人设计，它假设目标人员为直立姿态，这一点在训练阶段尤为明显，并且在分类过程中会优先判定直立且大部分可见的人员。它同样是为Velodyne数据设计的，而我们的研究目标是深度图像（例如Kinect和立体视觉获得的深度图）。Velodyne数据的水平分辨率与深度图像相当，但探测距离远得多（最远可达20 m），因此人体上的有效数据点数量少得多。在4 m距离处，0.5 m表面能获得60个像素，到10 m处就变为25个像素，20 m处仅为12个像素。Velodyne数据的垂直维度也稀疏得多，总共仅使用64线，分辨率为1/3度。因此可用于决策的人体扫描线数量更少。

场景和传感器的这些差异对算法设计有着重大影响。首先，与针对稀疏垂直分辨率设计的算法不同，我们可以通过高斯混合模型（GMM）对人员建模，无需对人体姿态做出假设，就能实现垂直方向的特征融合。原始系统为了构建模型会按相对高度对分层进行分组，与之类似，GMM会寻找输入分层之间的共性，并为每个共性单独建立高斯模型。但该过程是以无监督方式完成的，不需要对训练或测试的姿态做出任何假设，因此允许人体的大部分区域被遮挡。

第二项改进在于特征选择：部分需要拟合曲线的特征在远距离下会因数据匮乏产生噪声。我们的假设是，通过利用深度图像更高的细节度并强调垂直方向融合，可以提升近距离检测的精度。据此，我们将证明仅需6个特征就足以恰当表征近距离的曲率。

改进后的算法分为三个阶段：(1) blob提取、(2) 分层分类、(3) 目标分类。尽管部分附图展示了颜色信息，但分类和分割仅需要深度图像即可完成。

### A. Blob 提取

Blob提取阶段采用连通分量算法。首先需要对深度图像Z应用两次过滤：所有深度不在[0.5, 6.0] m范围内的像素都会被移除，随后移除距离地平面高度超出[0.6, 2.0] m范围的像素。像素相对高度的计算方法为：根据深度图像和相机焦距计算X、Y坐标，然后加上相机离地高度的恒定偏移量：

 $$ \begin{aligned}x\big(row,col\big)&=\frac{\big(col_{center}-col\big)*Z\big(row,col\big)}{focal\_{l}ength}\\ y\big(row,col\big)&=\frac{\big(row_{center}-row\big)*Z\big(row,col\big)}{focal\_{l}ength}+cam_{height}\end{aligned} $$

该恒定偏移量的前提是相机安装在机器人上且与地面平行，这一设定不需要进行完整的矩阵乘法，因此可以加快处理速度。

通过对深度图像反复应用漫填充算法，图像会按照10 cm的深度阈值被分割为多个连通分量。大小不足200像素的Blob会被移除，随后对剩余Blob进行分析。这些阈值将检测范围有效限制在最远5米，这对于导航场景来说是合适的探测距离。图3展示了从一幅图像中提取出的Blob示例。

### B. 特征向量

人们在人工环境中生活、工作，也常常在此开展活动。无论是室内还是城市中的户外，绝大多数表面都是平坦的，或者说曲率远低于人体。与之相反，人体全身都呈曲线形态。人的头部、手臂、腿部、胸部等各个部位都存在一定曲率。因此，即使一个人只有部分身体可见，该部分也会像人体一样呈现曲线特征。为了改进分层检测

![Image](images/e19d8e9ec22162f0c782b0accae5927d963ca60166873d047ce9f53c2d662a12.jpg)

<div style="text-align: center;">Figure 3. Three sizeable blobs are identified in the depth image: 2 people, and a chair using floodfill to identify connected components.</div>

---

算法在近距离场景下的性能，这套我们称之为polyfit特征的新特征集，专注于行级曲率。

提取出潜在的人体候选区域后，下一步是为该区域内的每一行像素构建特征向量。长度小于5个像素的行将被移除。对每一条保留下来的行，我们会对X维度和Z维度的数据点分别拟合一条直线和一条抛物线。我们使用OpenCV中的polyfit实现，并将其扩展为双精度浮点精度，来找到描述数据的最优直线(L)和抛物线(P)方程。基于得到的这些方程，我们构建出一个六维特征向量如下：

1. $\Delta c$，线段中心处的直线深度减去中心处抛物线深度，作为凹度的度量指标

2. $\mathrm{RMSE}_{L}$，拟合直线方程的均方根误差

3. $\sigma_{L}$，拟合直线方程的标准差

4. RMSE $_{P}$，拟合抛物线方程的均方根误差。

5. $\sigma_{P}$，拟合抛物线方程的标准差

6. k，[^15] 中定义的曲率估计值

除了特征选择之外，本流程与原始基于Velodyne的系统所使用的流程完全一致。因此，我们的分析将包含对这两种特征集的对比。

### C. 高斯混合模型

给定新向量x和高斯混合模型（GMM）M，向量属于M的似然度由下式确定：

分类系统使用2个GMM（一个对应人体，一个对应其他物体）分别对每一行进行分类。随后将各行的得分融合，完成对单个目标的分类。每个包含30个混合分量的模型都基于深度图像中手动分类的目标进行训练。

 $$ p\left(\bar{x},M\right)=\sum_{i=1}^{30}\frac{P_{i}}{\sqrt{\left(2\pi\right)^{6}\left|\sigma_{i}\right|}}e^{-\left(\bar{x}-\mu_{i}\right)^{T}\sigma_{i}^{-1}\left(\bar{x}-\mu_{i}\right)},where\left[\sigma_{i},P_{i},\mu_{i}\right]\in M $$

新向量x属于人体模型people的对数似然度如下：

 $$ O\left(\bar{x}\right)=\log\left(p\left(\bar{x},people\right)\right)-\log\left(p\left(\bar{x},not\_{p}eople\right)\right) $$

对于目标序列S中的N行，每一行都有各自的似然度，最简单的目标分类方法是对所有对数似然度求和，再应用阈值进行判断。但该方法假设分类错误的行均匀分布在整个候选区域中，而实际上，这类错误行往往聚集在一起，集中在身体下半部分以四肢为主的区域。因此，通过分析对数似然得分的累积和可以改进类别的区分度，该方法即使在最坏情况下，性能也与简单求和法相当。

 $$ score=\max\left(\sum_{row=1}^{n}O\big(\bar{x}_{row}\big),\forall n\leq N\right) $$

### V. 评估

为了探究本应用中人体检测的性能，我们在3个数据集上将原始人体检测算法与新算法进行了对比评估。

1. 行人和/或机器人处于运动状态的场景。

2. 处于不同相对旋转角度的30个人，在不同遮挡程度下开展评估

3. 包含1000张图像的导航引导场景，由多种不同检测方法进行评估

我们的研究思路是使用不同传感器、光照条件和相对位姿对该算法进行评估。

### A. 移动的人员和/或机器人

我们使用机器人搭载的后置Kinect传感器共采集了14375张图像，这些图像来自7次不同的实验运行，单次运行时长从2分钟到15分钟不等。两次最短的运行仅涉及人员在摄像头前移动，其余运行则为人员跟随机器人穿越环境的场景。除一次运行外，其余所有运行都包含至少两个人，该数据集共涉及6名人员。

为训练行人检测系统，人工标注员在图像集中手动标注了人员和其他物体的样本。随后通过计算斑点相似度分数[^5]在连续帧之间跟踪物体，以此减少标注员所需的输入量。通过这种方式，我们共得到5736个正样本和9197个负样本。

随后我们开展了4折评估，测试分类系统对该数据的学习效果。我们从两个层面呈现结果：(1) 行级分类（图4上方），即将物体的单个切片分类为人员或其他物体的能力；(2) 图像级分类（图4下方），即融合所有行得到的整体得分。图中绘制了两类不同特征（polyfit和velodyne）以及两种不同算法（AdaBoost和GMM）的精确率-召回率曲线。

![Image](images/802280c9429058ed4563ab35fbf6faf80e5bc13ecf92e15922d06366b2a4863f.jpg)

<div style="text-align: center;">Blob Level Precision vs Recall</div>

![Image](images/ad77ebb854c81f6093169e99941809d06bbddfd913564e0ca9942d5dd7ed020b.jpg)

<div style="text-align: center;">Figure 4. (Top) Row-level precision vs recall for moving person dataset. (Bottom) Blob-level precision vs recall for moving person dataset</div>

---

首先分析行级数据（图4上方），根据所选算法和特征的不同，共得到四条不同的曲线。与原有velodyne特征集相比，使用原始AdaBoost算法结合规模更小的polyfit特征会出现性能下降。然而，GMM能更好地适配新的polyfit特征——在召回率达到75%时仍能保持95%以上的精确率。与之相反，结合velodyne特征的AdaBoost算法，在精确率降至95%以下时召回率仅为34%。使用GMM结合velodyne特征可将召回率提升至46%，但在召回率达到82%之前，其性能始终低于polyfit特征集。

图4下方展示了融合行级得分带来的性能提升。融合GMM结合polyfit特征得到的得分后，在99%精确率下召回率提升至72%（行级仅为43%）。使用GMM结合velodyne特征进行类似融合，同样能将99%精确率下的分类召回率提升30%，但最终仅为37%，远低于规模更小的polyfit特征集。使用AdaBoost进行类似的累计得分融合效果并不理想，仅能将99%精确率下的召回率提升至11%。

算法的失效场景也十分值得研究。不出所料，算法在处理曲率相近的物体时存在困难。椅子是误报检测最常见的来源，分类结果取决于椅子的相对角度和曲率。正对摄像头的弧形靠背椅子是最容易出问题的情况，但侧视角度通常能被正确排除。不过，由于椅子上往往会坐人，因此这种误报并不算是严重的负面结果。

然而墙角是一个更难处理的问题。当机器人观测到墙角的两个大侧面时，拟合得到的最佳形状不是直线而是抛物线。因此，分类结果依赖于曲率估计，而曲率估计是一个噪声很大的变量。由于墙角始终保持静止，我们目前的解决方案是利用墙角位置的先验知识辅助分类，但该方法并非在所有场景下都适用。

### B. 检测研究

上一个数据集评估了存在运动情况下的检测效果：环境中要么人员移动，要么机器人移动，或是二者同时在环境中移动。由于我们的场景聚焦于人员引导，检测到的大多数人员都面向摄像头——虽存在遮挡，但仍面向摄像头。在第二个数据集中，我们评估了检测算法在人员相对于摄像头不同朝向、不同遮挡程度下的检测效果。机器人具备移动和改变视角的能力，因此无论人员朝向哪个方向，机器人都必须能够检测到他们。

本实验邀请了19名未出现在上一数据集中的志愿者（14名男性/5名女性），在机器人前方原地站立旋转，完成两组不同试验（图5）。第一组试验中，参与者双臂无遮挡，完成两次完整旋转。第二组试验中，参与者在胸部位置抱着大箱子或提着大袋子，同样完成两次完整旋转。分类器使用第五节A部分的数据训练，检测阈值按照目标假阳性率<1%选定。

在双臂无遮挡的情况下，所有帧中的人员都被正确检测（平均每人110帧）。为了测试

![Image](images/509f42f30605a75e6dc8c1a73e3b325f412f191b9592f31041253fad17653bd9.jpg)

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

<div style="text-align: center;">Figure 5. Samples of detected people in the detection study. (Left) Arms empty, rotating in place. (Bottom) Carrying a box, detected two distinct parts to the person.</div>

视野问题，我们对识别出的人员blob进行尺寸调整，从blob中移除一定比例的行或列后重新测试。图6绘制了实验结果。

从图像中移除列（即矢状切割，从blob左边缘移除像素）比移除行（即横向切割，从上到下移除像素行）难度更大。对于任意一种切割方式，即使40%的遮挡，召回率仍高于90%。但当矢状切割遮挡60%时，召回率仅为19%，而同等程度的横向切割召回率可达79%。这一结果符合预期，因为该算法专门针对图像行信息训练人员检测能力。相比之下，移除列只会降低数据多项式拟合的精度。

当人员身体中部被遮挡（即胸部位置提着包或抱着箱子）时，检测召回率仍然很高（2475张图像中仅漏检7张）。但最常见的问题是，当人员面向摄像头时，头部会被与身体其余部分分开检测（图6右侧）。这是一个分割问题：由于深度差异较大，大遮挡物和头部在深度图像中无法轻易连接起来。随之而来的第二个检测问题是，无法将没有躯干和头部的腿部正确分类为人员。这种情况相当于图6中70%或更高程度的横向切割。

<div style="text-align: center;">Occlusion Percent vs Recall</div>

![Image](images/9979f648ae5ed6b1a035a31422e0861b54fb57f3cf8b8cbc7d1b0065e9c6cca9.jpg)

<div style="text-align: center;">Figure 6. Occlusion percentage vs recall with people rotating in place.</div>

---

### C. 引导场景

在最后这个评估部分，我们在第三节描述的引导场景下对新算法进行评估。共评估了四种不同的人员检测方法，包括：基于Haar级联的人脸检测 [^4]、可变形部件模型（DPM） [^8]、结合加权线性分类器的velodyne特征，以及结合GMM的polyfit特征。单目相机检测方法由于应用广泛，被作为基准纳入本次评估。但我们发现自身数据集的范围不足以训练这些方法，因此转而使用INRIA数据集。分层检测方法使用4.1节的数据训练，检测阈值按照达到1%假阳性率的要求选定。表1总结了所有结果。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>False Positive</td><td style='text-align: center; word-wrap: break-word;'>Low Occl. False Neg. (FN)</td><td style='text-align: center; word-wrap: break-word;'>Highly Occluded Body, FN</td><td style='text-align: center; word-wrap: break-word;'>Missing $2^{nd}$ Person</td><td style='text-align: center; word-wrap: break-word;'>Speed</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Face Detection Haar Cascade</td><td style='text-align: center; word-wrap: break-word;'>36/1000</td><td style='text-align: center; word-wrap: break-word;'>365/719 (51%)</td><td style='text-align: center; word-wrap: break-word;'>171/171 (100%)</td><td style='text-align: center; word-wrap: break-word;'>133/331 (40%)</td><td style='text-align: center; word-wrap: break-word;'>2.5 Hz</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Deformable Parts Models</td><td style='text-align: center; word-wrap: break-word;'>56/1000</td><td style='text-align: center; word-wrap: break-word;'>32/719 (4%)</td><td style='text-align: center; word-wrap: break-word;'>170/171 (99%)</td><td style='text-align: center; word-wrap: break-word;'>82/331 (25%)</td><td style='text-align: center; word-wrap: break-word;'>1 Hz</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Velodyne Feat [Boosting]</td><td style='text-align: center; word-wrap: break-word;'>9/1000</td><td style='text-align: center; word-wrap: break-word;'>71/719 (9.8%)</td><td style='text-align: center; word-wrap: break-word;'>45/171 (26.3%)</td><td style='text-align: center; word-wrap: break-word;'>321/331 (97%)</td><td style='text-align: center; word-wrap: break-word;'>10 Hz</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Polyfit Feat [GMM]</td><td style='text-align: center; word-wrap: break-word;'>2/1000</td><td style='text-align: center; word-wrap: break-word;'>0/719</td><td style='text-align: center; word-wrap: break-word;'>46/171 (27%)</td><td style='text-align: center; word-wrap: break-word;'>138/331 (42%)</td><td style='text-align: center; word-wrap: break-word;'>14 Hz</td></tr></table>

在引导场景中，结合GMM使用polyfit特征时，每个正脸完整帧都能检测到目标人物，性能比次优方法DPM提升了4%。该方法仅漏检了27%存在严重遮挡的区域，而DPM几乎漏检了所有被高度遮挡的人物。在检测第二个人物时，新算法难以检测倚靠障碍物的目标。与之相反，DPM和人脸检测在该案例中不会采用误导性深度信息，在检测$2^{nd}$人物时整体表现更优。

总体而言，结合GMM模型的polyfit特征是适用于该引导场景的性能非常出色的检测系统。虽然更好的训练数据有可能提升DPM的性能，但[^11]表明，针对被高度遮挡的个体，DPM的提升空间十分有限。而在我们的测试中，DPM运行频率为1 Hz，我们的新系统在单线程下运行频率可达14 Hz，且精度相当。即便是此前为激光雷达velodyne设计的特征集，运行频率也仅为10 Hz，性能还更差。此外，该系统的各阶段很容易拆分，支持多线程处理。使用泛洪填充算法提取连通分量的运行频率可达83 Hz，检测环节单线程运行频率为21 Hz。因此，使用多线程可将整个组合系统的运行速度提升至30 Hz以上，快于相机刷新率。

### 第六部分 讨论

行人检测是人机交互领域的基础性问题。但和常规场景不同，机器人在人群周边作业的场景使得该问题区别于其他更传统的研究方向。本研究专门针对引导场景下的检测展开工作，聚焦于人和机器人实际交互的距离范围，这类场景中遮挡十分常见。我们明确了引导场景行人检测的常见问题，对分层深度检测算法提出了改进，在该交互距离下提升了检测精度，同时提高了计算速度。最后，我们在一项包含19名受试者的数据采集研究和真实引导场景中，对新系统的性能进行了评估。

未来，我们计划继续探索真实环境下的行人检测，将检测范围拓展至携带物品的行人和非直立姿态（包括躺卧、弯腰的行人）。总体而言，我们的目标是让检测能够适配所有可能发生人机交互的场景。

## 参考文献

[^1]: The Seeing Eye GPS. (2014, Jan.) Sendero Group LLC. [Online]. <http://www.senderogroup.com/support/SEGPSUserGuide.pdf>

[^2]: A. Cosgun, E. A. Sisbot, and H. Christensen, "Evaluation of Rotational and Directional Vibration Patterns on a Tactile Belt for Guiding Visually Impaired People," in IEEE Haptics Symposium, Houston, 2014.

[^3]: W. Yun et al., "Robotic Person-Tracking with Modified Multiple Instance Learning," in Int. Sym on Robot and Human Interactive Communication, Gyeongju, Korea, 2013.

[^4]: Paul Viola and Michael Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features," in Proc of the IEEE Conf. on Computer Vision and Pattern Recognition, Kauai, HI, 2001, pp. 511-518.

[^5]: Eric Martinson, Wallace Lawson, and J. Gregory Trafton, "Identifying People with Soft-Biometrics at Fleet Week," in Proc. of the IEEE/ACM Conf. on Human-Robot Interaction, Tokyo, Japan, 2013.

[^6]: Wongun Choi, Caroline Pantofaru, and Silvio Savarese, "Detecting and Tracking People using an RGB-D Camera via Multiple Detector Fusion," in ICCV Workshop on Challenges and Opportunities in Robot Perception, Barcelona, Spain, 2011.

[^7]: Navneet Dalal and Bill Triggs, "Histograms of Oriented Gradients for Human Detection," in Proceedings of Computer Vision and Pattern Recognition, San Diego, 2005, pp. 886-893.

[^8]: P. Felzenszwalb, D. McAllester, and D. Ramanan, "A Discriminatively Trained, Multiscale, Deformable Part Model," in Proc of IEEE Conference on Computer Vision and Pattern Recognition, Anchorage, Alaska, 2008.

[^9]: Lubomir Bourdev and Jitendra Malik, "Poselets: Body Part Detectors Trained Using 3D Human Pose Annotations," in Proc. of the International Conference on Computer Vision, Kyoto, Japan, 2009.

[^10]: L. Spinello and K.O. Arras, "People Detection in RGB-D Data," in Int. Conf. Intelligent Robots and Systems, San Francisco, CA, 2011.

[^11]: P. Dollár, C. Wojek, B. Schiele, and P. Perona, "Pedestrian Detection: An Evaluation of the State of the Art," Pattern Analysis and Machine Intelligence, vol. 34, no. 4, pp. 743-761, 2012.

[^12]: N. Kirchner, A. Alempijevic, and A. Virgona, "Head-to-shoulder signature for person recognition," in Proc. of the IEEE Conf. on Robotics and Automation, Saint Paul, MN, 2012, pp. 1226 - 1231.

[^13]: Lu Xia, Chia-Chih Chen, and J. K. Aggarwal, "Human Detection Using Depth Information by Kinect," in CVPR Workshop on Human Activity Detection, Colorado Springs, Colorado, 2011.

[^14]: Frederik Hegger, Nico Hochgeschwender, Gerhard K. Kraetzschmar, and Paul G. Ploeger, "People Detection in 3d Point Clouds Using Local Surface Normals," Lecture Notes in Computer Science, vol. 7500, pp. 154-165, 2013.

[^15]: L Spinello, K. Arras, R. Triebel, and R Siewart, "A Layered Approach to People Detection in 3D Range Data," in Proc. of the AAAI Conf. on Artificial Intelligence: Physically Grounded AI Track, Atlanta, GA, 2010.

[^16]: L. Spinello, M. Luber, and K. Arras, "Tracking People in 3D Using a Bottom-Up Top-Down detector," in Int Conf. on Robotics and Automation, Shanghai, China, 2011.
