
# 一个鲁棒的行人检测、跟踪与计数系统

内森·基希纳 $^{1}$，艾伦·阿列姆皮耶维奇 $^{1}$，亚历山大·维尔戈纳 $^{1}$

戴孝可 $^{2}$，保罗·G·普勒格 $^{3}$，拉维·库马尔·文卡特 $^{3}$

 $^{1}$澳大利亚新南威尔士州悉尼科技大学自主系统中心

{nathan.kirchner, alen.alempijevic, alexander.virgona}@uts.edu.au

 $^{2}$中国杭州浙江大学网络系统与控制研究所

<mailto:dai@iipc.zju.edu.cn>

 $^{3}$德国圣奥古斯丁波恩-莱茵-锡格应用技术大学 <mailto:paul.ploeger@h-brs.de>，<mailto:ravi.venkat@smail.inf.h-brs.de>

## 摘要

对运动行人进行跟踪是真实环境中自主机器人系统的核心能力。尽管对于许多任务而言，知晓行人的大致位置就已足够，但要在真实场景中准确统计人数，必须具备识别不同独立行人的能力。要完成人数统计任务，需要一个鲁棒的行人检测、跟踪与识别系统。

本文提出了一种使用PrimeSense RGBD相机实现鲁棒真实场景行人检测、跟踪与计数的方法。本文在我们既往研究的基础上进行拓展，重点介绍了针对以下问题提出的新方法：传感器自定位、行人与环境物理交互导致的漏检，以及人群拥挤导致的轨迹误关联。我们在悉尼一个主要的公共火车站 $(N=420)$ 对该方法进行了实验评估，给出了该方法在这个复杂挑战性环境中的测试结果。

## 1 引言

多行人跟踪在动态环境理解中发挥着重要作用，对机器人在真实世界的运行至关重要。尽管路径规划、避障等传统问题只需知晓行人位置即可，但对于需要获取人群密度的问题而言，保持每个行人的完整轨迹并在场景中持续识别他们是十分必要的。

目前，已有诸多研究者针对行人检测、跟踪和/或计数探索了多种不同方法。几个代表性研究包括[Zhao et al., 2009]、[Garcia et al., 2013]和[Chen et al., 2012]。尽管这些方法都展现出了一定前景，但它们的核心假设限制了其不适用于我们的目标问题：我们的场景中行人会向各个方向移动（包括远离传感器的方向），可能佩戴帽子和/或眼镜，单次观测中可能出现多名行人，且行人经过时可预见不会随时正对传感器。例如，[Zhao et al., 2009]通过人脸检测在场景图像中识别行人，进而进行跟踪和计数，报告准确率为93%。但该方法的前提是人脸可被观测到，这在我们的问题中通常无法满足。[Garcia et al., 2013]提出的基于头部的行人检测克服了这一特定局限，但作者也承认，随着单次观测中行人数量增加和遮挡情况出现，该方法报告的98%整体准确率会受到大幅影响，而这两种情况在我们的问题中十分常见。

在[Chen et al., 2012]的研究中，行人检测通过面向更通用特征的图像处理实现，随后通过分析连续帧之间的边界框行为完成跟踪与计数。然而，该研究也指出了方法存在的一些局限性，这些局限性同样会出现在我们的研究问题中；具体而言就是转弯和/或快速移动这类路径运动带来的问题。

许多研究人员已经注意到基于二维传感数据的方法固有特性带来的局限，因此已有大量方法基于三维传感数据构建。在[Qiuyu et al., 2010]提出的立体相机方法中，相机被安装为可获取自上而下的观测，再通过视差图识别目标。作者报告了出色的结果，该方法对光照变化和人群拥挤都具备鲁棒性。然而，该方法对传感器的安装位置有特殊要求，导致它无法应用于普通通道这类通常天花板较低的区域。此外，该方法无法区分行人和手推行李这类移动物体，这是我们的研究问题中可预见的一项局限性。

[Hsieh et al., 2012]提出的飞行时间（Time of Flight）传感器方法虽然在多个方面表现出潜力（例如

---

拥挤场景和部分遮挡），但该方法在区分行人和移动物体方面存在局限性。[Zhu and Wong, 2013]提出的方法通过使用深度图像显式检测行人克服了这一局限。然而该方法仍被指出存在不足，即无法应对多名行人相互靠近和/或产生身体接触的情况，这类情况在我们的应用场景中是可预见的。

由此可见，目前已有适配特定环境和/或前提假设的行人检测、跟踪与计数方法，但这些方法针对我们的真实场景适用性有限。我们需要一种能够完成真实场景下鲁棒行人检测、跟踪与计数这一艰巨任务的方法。具体而言，该方法必须对以下情况具备鲁棒性：传感器安装位置、被检测行人的观测平面、行人速度与方向的变化、姿态，以及行人和环境、行人之间的物理互动、特征被传感器视场遮挡或截断、移动物体干扰、无观测的时段，同时还必须能够区分不同的独立行人，处理视场内存在多名行人的情况。

本文概述了我们提出的方法，重点介绍了本研究依托的过往工作，并详细阐述了本文的创新贡献。具体而言，本文详述了我们在过往鲁棒行人检测研究[Hordern and Kirchner, 2010]基础上开展的工作。本研究共有四项主要创新贡献：第一，设计了一个整合行人检测、跟踪与计数的完整框架；第二，设计了一种实现传感器自定位的方法；第三，设计了一种利用环境信息和澳大利亚建筑标准提升鲁棒性、应对行人与环境物理互动的方法；最后，设计了一种利用行人头肩特征（Head-to-shoulder signature - HSS）实现行人唯一标识的方法，该特征已在我们此前的工作[Kirchner et al., 2012]中提出，且已被证实在轨迹合并/分裂事件中有效。

本文结构安排如下：第2节介绍我们方法的研究背景，第3节详细阐述实现上述创新贡献的方法，第4节展示在公开火车站场景开展的实证评估结果（N=420），第5节给出研究结论、指出存在的局限性，并对未来工作方向进行展望。

## 2 研究背景

本节详述了构成本文研究贡献基础的我们此前的工作。首先，我们介绍了之前在行人检测方向开展的工作，随后详述了我们在跟踪方向的研究。

我们的鲁棒行人检测是一个三步流程，即：1) 点云分割，2) 特征向量构建，3) 分类。分割阶段最初发表于[Hordern and Kirchner, 2010]，通过识别并分割输入三维点云的子区域来缩小搜索空间。该阶段将三维点投影到水平面，再构建二元直方图，以此生成密度图。这个过程本身会产生如下结果：对于点云中更接近垂直的表面，会有相对更多的点被投影到相对更少的直方图分箱中；而对于更接近水平的表面，则是相对更少的点被投影到相对更多的直方图分箱中。

我们对水平表面上距离x处的分箱a所包含的点数进行估计，并将其作为下限阈值，来识别包含目标表面的分箱。三个等级（红、橙、绿）代表对该区域块是否为行人的置信度。根据先验知识，我们知道行人区域块的宽度通常大于0.1米，长度小于1米。

对相邻分箱组成的区域块检查最小尺寸是否大于0.1米，若满足则行人检测等级为红。随后检查区域块的最大尺寸是否小于1米，若满足则将行人检测等级提升为橙。这些尺寸检查可以剔除来自墙壁等更大表面的区域块，以及不符合人形的几何区域块。该方法利用了一个合理假设：行人在点云中通常呈现为垂直表面。这个过程容易产生误检，但我们此前的工作已经证明这是可接受的，因为区分功能主要由特征向量/分类阶段实现。尽管步骤2)和3)的方法最初发表于[Hordern and Kirchner, 2010]，但该方法在[Kirchner et al., 2012]中得到了改进，本文采用的就是改进后的方法。

该方法进一步利用了行人头肩区域的通用尺寸、形状以及相应比例，通过构建对尺度和观测角度鲁棒的特征向量（HSS）来实现行人检测。头肩区域的横向测量是显式的。HSS的构建过程为：对步骤1分割得到的三维点云取水平切片，计算每个切片的跨度，再将这些跨度整理为特征向量。这些源自三维数据的跨度在$360^{\circ}$观测角度范围内都相对一致，仅在正脸和纯侧视角下例外，这两种情况遮挡效应十分显著。垂直特征没有被显式测量，但特定横向测量出现在特征向量中的位置已经将垂直特征编码到HSS中。HSS特征向量是经过二分类训练的支持向量机（SVM）用于检测行人的基础。

---

该SVM使用监督数据训练，其中行人类包含10个不同行人的数据，非行人类包含步骤1分割后大量已知不是行人的数据。经SVM分类为行人的区域块，其行人检测等级会被提升为绿。

[Hordern和Kirchner, 2010]与[Kirchner等人, 2012]中展示的结果表明，本文提出的人物检测方法在面对人物不同移动速度、运动方向、姿态、相对于传感器的朝向（包括完全背对传感器）、人群拥挤产生的典型遮挡，以及各类移动物体等引发的误检情况时，均具有良好鲁棒性。但已明确的局限性包括：该方法要求已知传感器位置和被测人物的观测平面，且无法检测到正在与环境发生物理交互的人物。

检测到人物后，我们依照此前发表的工作[Alempijevic等人, 2013]采用粒子滤波实现全局跟踪。为估计每个人物的位置轨迹，我们生成了一组样本$X_t = \langle x_t^i \mid i = 1...N \rangle$及其对应的权重$\omega_t^i$，用于表示t时刻对人物位置的估计置信度。随后，每个第t时刻粒子集$X_t$的后验概率可由$X_{t-1}$通过三个步骤递归计算得到，具体细节如算法1所示。我们采用高斯随机运动模型预测运动$u_t = \mathcal{N}(\mu, \sigma)$，其中$\mu$为1.4m/s，$\sigma$为0.5 [Browning等人, 2006]。

```pseudo
// Algorithm 1: Particle filter algorithm key steps

```

预测：抽取$x_t^i \sim p(x_t^i \mid x_{t-1}^i, u_{t-1})$。

更新：计算权重$\omega_t^i = \eta p(y_t \mid x_t^i)$，其中$\eta$为归一化因子，作用是令所有权重之和为1。此处$y_t$为t时刻的人物检测观测值。

重采样：利用权重$x_t^i$抽取新的$w_t^i$。

## 3 研究方法

本节介绍本文提出的人物检测、跟踪与计数方法。我们会在整体阐述中融入过往工作，并详细说明实现本文创新贡献的全新方法。图1展示了本文方法的整体框架。自定位：这一全新阶段令我们的传感平台可在安装时完成自定位，提升了传感器位置变化下的方法鲁棒性。人物检测：该阶段建立在我们第2节所述的过往工作基础上，但本文新增了一项创新内容，用于解决普遍存在的、因人物与环境发生物理交互而导致漏检的问题。人物跟踪：本文同样在过往工作基础上新增了创新内容，基于轨迹关联得到了鲁棒的个体专属特征，用于解决歧义问题。人物计数：该阶段

![Image](images/4757f60e5d155c799a580c4021b5813cc543398e9e6af341ee35717720807e89.jpg)

<div style="text-align: center;">Figure 1: Framework of our system</div>

利用从前序阶段继承而来的鲁棒性完成人物计数。

### 3.1 自定位

为了将检测到的人物位置转换到世界坐标系下，必须已知传感器坐标系相对于世界坐标系的变换关系。受实际场景约束，并不总能通过手动方式确定传感器的位置，因此传感器需要具备自定位能力。

自定位阶段的灵感来自我们此前开展的、将水平表面检测作为辅助机器人物体操作前提的研究[Caraian和Kirchner, 2010]。该研究提出、测试并验证了如下假设的有效性与真实场景鲁棒性：水平表面会在可分离平面上形成规模相对较大的点集，该假设成立。我们利用这一假设解决了如下逆问题：传感器与世界坐标系之间的变换未知，但平台安装过程中可保证存在一块大型水平表面（即地面）。

自定位首先将采集到的深度图像转换为传感器坐标系下的三维点云。我们检测地面、确定传感器俯仰角、横滚角和高度的方法详见算法2。首先，我们利用点云中的一个点初始化一个平面，然后通过区域生长法得到原始点的邻域点[Rabbani等人]。

---

等人，2006]。我们对邻域点进行检查，判断它们是否与原始点位于同一平面。如果在同一平面，则更新平面参数。该过程对点云中的所有点重复进行。最终我们将得到点云中的所有平面，选取面积最大的平面作为地面，得到平面方程后计算传感器相对于该平面的俯仰角、横滚角和高度。

```pseudo
// Algorithm 2: Steps of Sensor Self Localisation

Input: $P \leftarrow$Current point cloud, $N \leftarrow$normals, $r \leftarrow$residuals,\Omeganeighbour finding function,\theta_{th}$residual threshold

Output: pitch, roll, height from sensor origin to ground plane

```

1 地面检测：

2 区域列表 $\{\mathbf{R}\} \leftarrow \phi$

3 可用点列表 $\{\mathbf{A}\} = \{1 \cdots P_{count}\}$

4 当 $\{\mathbf{A}\}$ 不为空时执行

5 当前区域 $\{\mathbf{R_c}\} \leftarrow \Phi$，当前种子点

6    \{\mathbf{S_c}\} \leftarrow \phi

7    将\{\mathbf{A}\}中残差最小的点 → $P_{min}$

8    将 $P_{min}$ 插入到 \{\mathbf{S_c}\}$ 和\{\mathbf{R_c}

9    将 $P_{min}$ 从 \{\mathbf{A}\} 中移除

10    从 $i=0$ 到 size(\{\mathbf{S_c}\}) 循环执行

11        查找当前种子点\{\mathbf{B_c}$\leftarrow$\Omega(S_c)$\{\mathbf{i}$\}的最近邻点

12        从 $j=0$ 到 size(\{\mathbf{B_c}\}) 循环执行

13            当前邻点 $P_j \leftarrow B_c$\{\mathbf{j}$\}

14            如果 \{\mathbf{A}\} 包含 $P_j$ 且

15            $cos^{-1}(|\langle\mathbf{N}\{\mathbf{S_c}(i)\},\mathbf{N}\{P_j\}\rangle|) < \theta_{th}$ 则

16            将 $P_j$ 插入到\{\mathbf{R_c}$\}Remove$P_j$from\{\mathbf{A}$}

17    如果 $r\{P_j\} < r_{th}$ 则

18    将 $P_j$ 插入到\{\mathbf{S_c}$}

19    将当前区域添加到全局列表\{\mathbf{R_c}$to\{\mathbf{R}\}$}

20    根据区域大小对\{\mathbf{R_c}$}排序

21    地面 = 面积最大的区域

22    定位：获取平面方程，根据平面方程计算俯仰角、横滚角和高度

通过该流程，我们可以得到传感器相对于地面的高度。因此，至此得到的俯仰角、横滚角和高度值会被传递到点云变换模块。新到达的数据可以直接利用该变换处理，能够跳过相对较慢的传感器-世界变换查找模块。

境——例如，乘客在楼梯上会握住扶手。因此，解决我们此前研究方法的这一局限性十分必要。

### 3.2 人体检测

初步探索表明，人们经常会与公共交通环

点云滤波模块接收自定位阶段传入的全局坐标系下的数据。为了降低计算开销，我们首先缩小搜索范围。这一缩小过程（通常为$\approx50\%$）通过移除地面/楼梯以及天花板点云实现。由于我们已经从传感器自定位阶段得到了地平面的高度，我们可以结合澳大利亚标准中楼梯坡度的先验知识规定的固定尺寸/坡度，从楼梯起始处开始将楼梯点云移除。天花板平面则通过2.2米的阈值移除，因为人的身高通常都低于2.2米。

人体团检测模块会自动找到一帧无人画面，捕捉背景（静态图像）。该背景包含扶手等静态环境要素的信息。随后我们的系统会利用这张静态图像，从得到的每个二元直方图中扣除背景。通过这种方式，就能将人体与他们实际接触的设施分离开。

本阶段剩余的模块（包括HSS特征向量构建）均沿用我们此前的研究，相关细节已在第2节以及[Hordern and Kirchner, 2010]和[Kirchner et al., 2012]中给出。人体检测阶段的输出为每个检测到的人体生成单独的数据结构，其中包含该人体的检测等级、$\{x,y\}$位置以及对应的HSS特征（如图1所示）。

### 3.3 人体追踪器

在提取出人体并确定每个个体的HSS特征后，接下来需要对在传感器视场内运动、处于人与人交互、频繁改变方向以及受固定基础设施遮挡场景中的个体进行追踪。我们采用贝叶斯多目标追踪实现人体追踪：每条独立轨迹对应一个独立粒子滤波，在给定所有观测值的情况下估计所有目标的位置。粒子滤波对于不可预测运动、非线性和非高斯测量都具备一定的鲁棒性。

追踪器利用人体检测阶段生成的观测值和粒子滤波的贝叶斯公式，管理轨迹的初始化、验证和删除流程。所有检测等级为红色的人体观测都会初始化一条新轨迹；当关联观测中包含检测等级为绿色的HSS特征时，该轨迹会被验证为有效。最终，当关联粒子滤波的不确定度超过0.2米（即$\approx$人体躯干半径）时，该轨迹会被删除。

在传统计算机视觉中，目标外观

---

难以建模，因此通常需要对目标间的交互进行建模。由于我们已经获得了与每个个体对应的观测结果（即HSS），因此可以通过事件图轨迹处理器以及后续的外观模型评估，在交互过程中追踪目标的身份。结合后续数据关联的事件图处理器已经在[Morton et al., 2013]中被验证可用于处理与3D激光雷达关联的RGB数据。该论文作者提出的方法利用HSV空间中的联合颜色直方图进行身份推理。但这种方法无法适用于我们研究的典型环境——这类环境中大型人群的着装趋于一致。因此，我们利用与每条独立轨迹关联的HSS特征，在合并/分裂事件发生后确定每个人体的身份。

事件图（Event Graph）处理器根据个人空间交互的平均距离0.8米[Hall, 1966]对轨迹进行合并与拆分操作。若某条人体轨迹在与另一人的距离处于个人交互距离范围内时消失，则该情况会被判定为合并事件。各个独立轨迹ID会被关联到同一条公共轨迹，对应的HSS会被存储下来用于身份推理。若一条轨迹（对应一个人）出现在某条已合并轨迹的个人交互距离范围内，则会利用HSS特征，将拆分事件后每个人的身份与存储的HSS特征进行验证。该轨迹关联的判断依据是：当前HSS与合并事件前关联到该人的HSS之间的残差总和，每一层的残差总和需小于4毫米（该阈值与传感器噪声相关）。最终，系统会发布包含修正后ID、反映了合并结果或拆分后生成轨迹的最终轨迹。

### 3.4 人数统计（People Counter）

人体轨迹跟踪（People Tracker）阶段的鲁棒性足够强，可依靠轨迹ID来标识已知人员。我们将该功能作为框架中一个独立阶段设置，以便容纳未来基于需求的开发工作。

## 4 实验评估

我们在悉尼一处大型公共火车站开展了实验评估。图2展示了我们的实验平台以及评估过程中的一个场景。我们的平台由PrimeSense RGBD相机和Fit-PC3组成。如图2所示，我们利用常见“竖向”结构工字钢上法兰铆钉的机械干涉完成安装。我们将平台安装在六个不同位置，并在每个位置分两个时段采集深度图像。评估在工作日的$\approx$ 上午9点至11点进行。四个安装位置位于火车站台，其余两个位于车站大厅。所有位置的平台安装方式都与图2所示一致。乘客拥挤程度随

![Image](images/cc9092ef4f1d9c2f7739af8d2d6eb417720606bfd9f58a71ef676db6d433c0ee.jpg)

<div style="text-align: center;">(a) Our platform mounted in situ</div>

![Image](images/20da756b0bf2bf08661022fdd7b4240aa2c6af179b045e12ea9dbc15eeef23af.jpg)

<div style="text-align: center;">(b) A typical scene during evaluation (Our platform is top-right)</div>

<div style="text-align: center;">Figure 2: Our platform is primarily instrumented with a PrimeSense depth camera and has been engineered for mounting to typical public transport environment infrastructure.</div>

列车班次变化，从稀疏（每$\approx22s$出现一名新路人）到较为拥挤（每$\approx0.4s$出现一名路人）不等。数据集包含车站内共N=420名乘客的典型通行样本。

我们的评估首先针对自定位（Self Localisation）阶段展开，经过自定位阶段后，系统会将点云从局部坐标系转换到全局坐标系，如图3所示。

为验证本文方法处理拥挤场景的能力，我们手动提取了$\approx10s$时长的一段数据，该段数据中视野内同时出现最多9个完整的运动中人员的头肩区域。图4b展示了该数据中的一张深度图像。图4a展示了与该深度图像时间对应的RGB图像；但请注意，两张图像并未配准，且视野范围不相同。此处加入RGB图像仅为给读者提供视觉参考。我们将本文方法得到的瞬时人数与人工标注得到的瞬时人数真值

---

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

<div style="text-align: center;">(a) Depth Image</div>

![Image](images/d918643e6accf1e019eb5a25b98df7a24f822bb2230dfddac946ef51670f4228.jpg)

<div style="text-align: center;">(b) After Sensor Calibration</div>

<div style="text-align: center;">Figure 3: An example of online sensor calibration</div>

进行了逐帧对比。结果显示两种计数结果一致，证明本文方法具备处理拥挤场景的能力。

图5展示了行人与环境发生物理交互的一个示例，本案例中是常见的扶楼梯扶手的场景。从图5a)的密度图中可以看到，行人检测阶段生成的L形斑点为红色，说明它未通过前文提到的约束检查。这是人与环境发生物理交互导致的：行人与部分环境连为一体，生成的斑点也反映了这一点。但如图5b)所示，我们的静态图像侧链有效移除了环境部分，人形斑点（橙色）通过了检查，继续进入行人检测流程。这类情况在我们的数据中十分普遍，而在所有案例中，我们的静态图像侧链都成功让行人变为可检测状态。

我们的方法通过前文描述的合并/拆分处理器，以及后续基于HSS的轨迹关联，能够处理多名行人距离较近和/或存在身体接触的场景。图6展示了这类事件的一个示例；图的上排为RGB图像序列，下排为我们的跟踪器生成的对应轨迹图。需要注意的是，RGB图像中这两名行人穿着颜色相近的衣服（这在我们的数据中是常见情况），[Morton等人，2013]的轨迹关联方法很可能会在这里处理失败。

可以看到，有两个人进入了画面的左下角

![Image](images/fefef5ce99d2d443ad38702c9107ab5d11209307baf93edb2bc35efa3168fbaf.jpg)

<div style="text-align: center;">(a) RGB image</div>

![Image](images/14714ca0fc51dde7d9034a24a1b524ac2b55d5f7f6a98b656602ded9bf2de01b.jpg)

<div style="text-align: center;">(b) Depth image</div>

<div style="text-align: center;">Figure 4: An example scene from the extracted data segment. Note: the two images are not registered and do not have equivalent fields of view.</div>

![Image](images/a8a19806482f3bce016f8d38051f87ac19e5e95d5d4e3c8dc591040c42d1f8ca.jpg)

<div style="text-align: center;">Figure 5: A person detection example - a depth image and corresponding density image a) without and b) with our static image side-chain.</div>

---

![Image](images/52cd54446b7af33890b1c7cfee4ed6d889bd86ba3c3513841d69dbde187496cf.jpg)

<div style="text-align: center;">Figure 6: An image sequence of an Merge/Split event. RGB images (top row) and trace plots (bottom row) of this event are shown.</div>

，两人以独立个体的身份进入，随后移动到彼此距离极近的位置发生合并，之后再次分开。图的下排显示，我们的合并/拆分处理器与后续基于HSS的轨迹关联正确处理了该事件。具体来说，检测到两名行人后，两条轨迹（虚线表示，编号为67和68）开始生成。在第二张图中检测到合并事件，随后一条混合轨迹（实线表示，编号为68）开始生成。在第三张图中检测到拆分事件，两条轨迹被成功关联回它们原本的轨迹ID（虚线表示，编号为67和68）。由于此前已有研究证明基于HSS的行人区分具备可靠性与鲁棒性[Kirchner等人，2012]，本文并未对区分能力展开大量探索。不过，我们在随机选取的5个合并/拆分事件上验证了实际的关联性能。

最后，为了探究我们方法的性能，我们人工检查了全部12个采集时段的深度图像，记录每个行人的出现情况并统计总人数。人工检查由一名研究员完成，他在不同时间多次独立检查每个时段的数据。得出的结果由另外四名研究员验证，每名研究员都选取多个时段进行独立检查，之后对结果不一致的内容重新审核。“检测到行人”的判定标准是：从头到肩的完整区域出现在视野中。随后，我们按照第3节的描述实现我们的方法，在该数据集上运行并记录总计数，结果如表1所示。

从表中可以看出，我们的方法成功检测并统计了人数，且没有产生误报（这是一项关键设计要求）。由于我们过去的工作[Kirchner等人，2012]已经证明，行人检测的可靠范围是4米，超出该距离的数据会被行人检测器排除。因此，本次所用数据

<div style="text-align: center;">Table 1: Person count performance of our approach</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="5">Counts</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>S.No.</td><td style='text-align: center; word-wrap: break-word;'>Manual</td><td style='text-align: center; word-wrap: break-word;'>Software</td><td style='text-align: center; word-wrap: break-word;'>FPos</td><td style='text-align: center; word-wrap: break-word;'>FNeg</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>09-27-04</td><td style='text-align: center; word-wrap: break-word;'>33</td><td style='text-align: center; word-wrap: break-word;'>32</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>09-31-27</td><td style='text-align: center; word-wrap: break-word;'>18</td><td style='text-align: center; word-wrap: break-word;'>17</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>09-33-33</td><td style='text-align: center; word-wrap: break-word;'>72</td><td style='text-align: center; word-wrap: break-word;'>63</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>9</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>09-40-24</td><td style='text-align: center; word-wrap: break-word;'>43</td><td style='text-align: center; word-wrap: break-word;'>42</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>10-02-24</td><td style='text-align: center; word-wrap: break-word;'>11</td><td style='text-align: center; word-wrap: break-word;'>8</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>10-18-47</td><td style='text-align: center; word-wrap: break-word;'>18</td><td style='text-align: center; word-wrap: break-word;'>16</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>10-22-16</td><td style='text-align: center; word-wrap: break-word;'>28</td><td style='text-align: center; word-wrap: break-word;'>23</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>5</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>10-30-28</td><td style='text-align: center; word-wrap: break-word;'>25</td><td style='text-align: center; word-wrap: break-word;'>12</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>13</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>10-33-10</td><td style='text-align: center; word-wrap: break-word;'>41</td><td style='text-align: center; word-wrap: break-word;'>33</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>10-38-03</td><td style='text-align: center; word-wrap: break-word;'>33</td><td style='text-align: center; word-wrap: break-word;'>31</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>10-53-26</td><td style='text-align: center; word-wrap: break-word;'>98</td><td style='text-align: center; word-wrap: break-word;'>86</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>17</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Total</td><td style='text-align: center; word-wrap: break-word;'>420</td><td style='text-align: center; word-wrap: break-word;'>372</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>48</td></tr></table>

在用于生成人工人数统计之前，数据在4米处进行了裁剪。但可以明显发现存在若干假负例。对这些案例的人工复盘表明，假负例是由人员在传感器视野中被大幅截断导致的，当传感器被布置在大厅的开放区域时，这种情况尤其明显（数据文件10-53-26）。此类情况下，HSS特征向量会发生畸形，无法通过SVM分类。

尽管如此，这些结果清晰表明，第3节介绍的方法极大完善了我们针对这类公共火车站现实场景的处理方案。此外，这些结果也凸显了设计具备外部有效性的鲁棒方法不仅复杂度更高，也需要更多针对性贡献。

## 5 结论与未来工作

本文提出了一种适用于现实场景的鲁棒人员检测、追踪与统计方案。本文梳理了作为本研究基础的过往工作，并详细介绍了本文的创新性贡献。具体而言，我们提出的方法分别提升了传感器位置偏差鲁棒性、解决了人员与环境物理交互导致的假负例问题，并通过HSS解决了轨迹误关联问题，这些方法让我们的整体方案能够实现唯一人员识别。

本文在公共火车站开展了真实场景实证评估（N=420）。结果表明，自定位能够鲁棒地得到准确变换，我们的静态图像侧链可让方案有效检测出与环境发生物理交互的人员，而基于HSS的轨迹关联成功解决了轨迹合并/分裂事件后的歧义问题。

研究表明，在悉尼大型公共火车站的复杂环境中，我们的方案能够成功检测并统计人员，且未产生假正例。此外

---

，这些结果表明，我们针对传感器位置偏差鲁棒性、人员与环境物理交互导致的假负例，以及基于鲁棒个体特征的轨迹关联解决歧义问题所提出的方法，对整体方案贡献显著，且在现实场景中具备可行性。此外，未来工作将聚焦于识别同一人员间隔一段时间后重新出现的情况，从而能够在当前流量统计的基础上同步生成唯一人员统计结果。

## 致谢

本研究得到ARC链接基金（编号LP110200708）、自主系统中心（CAS）、RobotAssist（<https://www.robotassist.org>）以及悉尼科技大学（UTS）与浙江大学共建机器人联合研究中心（JCRR）的支持。如需了解我们研究活动的更多信息，请访问<https://www.nkHRI.com>。

## 参考文献

[Alempijevic等，2013] A. Alempijevic, R. Fitch, and N. Kirchner. 利用人类位置轨迹引导导航与路径规划。收录于2013年IEEE国际机器人与自动化会议（ICRA），页码1242–1247，2013年。

[Browning等，2006] Raymond C. Browning, Emily A. Baker, Jessica A. Herron, and Rodger Kram. 肥胖与性别对行走能量消耗和偏好步行速度的影响。《应用生理学杂志》，100(2):390–398，2006年。

[Caraian和Kirchner，2010] S. Caraian and N. Kirchner. 飞行时间相机点云中基于可操作性中心的鲁棒目标检测。收录于2010年澳大利亚机器人与自动化会议（ACRA）论文集，页码1–8，澳大利亚布里斯班，2010年。

[Chen等人，2012] C.H. Chen、T.Y. Chen、D.J. Wang 和 T.J. Chen。一种基于两阶段分割的高性价比移动人群计数装置。《信息隐藏与多媒体信号处理期刊》，3(1):12–25，2012。

[Garcia等人，2013] J. Garcia、A. Gardel、I. Bravo、J.L. Lazaro、M. Martinez 和 D. Rodriguez。基于头部跟踪的定向人数统计装置。IEEE工业电子汇刊，60(9):3991-4000，2013。

[Hall，1966] E.T. Hall。《隐藏的维度》。Double-day，1966。

[Hordern和Kirchner，2010] D. Hordern 和 N. Kirchner。结合形状匹配的三维距离数据鲁棒高效行人检测。见：澳大利亚机器人与自动化会议（ACRA）论文集，第1–9页，澳大利亚布里斯班，2010。

[Hsieh等人，2012] C.T. Hsieh、H.C. Wang、Y.K. Wu、L.C. Chang 和 T.K. Kuo。一种基于Kinect的人流量统计系统。见：国际智能信号处理与通信系统研讨会（ISPACS），第146–150页，2012。

[Kirchner等人，2012] N. Kirchner、A. Alempijevic 和 A. Virgona。用于行人识别的头肩特征。见：2012年IEEE国际机器人与自动化会议（ICRA），第1226–1231页，2012。

[Morton等人，2013] P. Morton、B. Douillard 和 J.P. Underwood。基于事件图的多传感器身份跟踪。见：ICRA，第4742–4748页。IEEE，2013。

[Qiuyu等人，2010] Z. Qiuyu、T. Li、J. Yiping 和 D. Wei-jun。一种基于立体视觉和disp的新型人数统计方法。见：第二届国际计算机与自动化工程会议，第1卷，第81–84页，2010。

[Rabbani等人，2006] T. Rabbani、F. A. van den Heuvel 和 G. Vosselmann。基于平滑度约束的点云分割方法。收录于IEVM06，2006。

[Zhao等人，2009] X. Zhao、E. Delleandrea 和 L. Chen。一种基于视频中人脸检测与跟踪的人数统计系统。见：2009年第六届IEEE国际高级视频与基于信号的监控会议论文集，第67–72页，美国华盛顿特区，2009。

[Zhu和Wong，2013] L. Zhu 和 K.H. Wong。基于Adaboost与卡尔曼滤波的Kinect距离传感器人体跟踪与计数方法。收录于《视觉计算进展》，计算机科学讲义系列第8034卷，第582–591页。Springer柏林海德堡，2013。