
“© 2018 IEEE。本材料允许个人使用。所有其他用途，包括在任何当前或未来媒体中为广告或宣传目的重印/重新发布本材料、创作新的合集作品、转售或重新分发至服务器或列表，或将本作品受版权保护的组件重用于其他作品，都必须获得IEEE的许可。”

---

# 拥挤环境下基于肩部姿态估计的社交约束跟踪

亚历山大·维尔戈纳 $^{*}$，阿伦·阿列皮耶维奇 $^{*}$，特雷莎·比达尔-卡列哈 $^{*}$

 $^{*}$自主系统中心

悉尼科技大学，新南威尔士州乌尔蒂莫区百老汇15号，邮政编码2007

邮箱：<mailto:alexander.virgona@student.uts.edu.au>

摘要——检测与跟踪行人是开发适用于人类环境的机器人技术的核心要求。在火车站这类拥挤环境中，由于目标数量多、遮挡频繁，这项任务的挑战性尤为突出。本文提出了一个在这类拥挤环境中检测和跟踪人类二维姿态 $(x, y, \theta)$ 的框架。本文的主要贡献有两点：一是提出了一种从人群中人体最可见部位（头部和肩部）提取姿态的方法，二是设计了一种利用社交约束（关于人们的朝向、运动以及彼此邻近程度的约束）的跟踪器，提升了该挑战性环境下的鲁棒性。该框架在两个数据集上完成了评估：一个是在实验室环境采集、通过动作捕捉系统获得真值的数据集，另一个是在繁忙的市中心火车站采集的数据集。本文对照真值报告了姿态误差，并将跟踪结果与最先进的行人跟踪框架进行了对比。

## 一、引言

检测和跟踪人体姿态是运行于人类环境中的机器人与智能系统的核心要求，该能力使它们能够与人类交互，并理解人类行为。例如，具备该能力的系统可以识别个体何时正在进行互动，并对社会关系建模。

检测和跟踪人体姿态的任务颇具挑战性，因为人类环境通常是动态且非结构化的，且人们的体型、尺寸和外观各不相同。在拥挤环境中，由于频繁的视觉遮挡以及需要跟踪的目标数量较多，这项任务的难度进一步提升。市中心火车站就是这类环境的典型例子。本文提出的框架旨在开发一种能够感知市中心火车站内通勤者行为的智能系统。

行人检测和行人跟踪均是成熟的研究领域，研究人员已应用激光测距仪、彩色相机以及近年兴起的深度相机等多种传感模态，在各类场景中检测和估计人体姿态。尽管近期利用深度相机开展全身姿态估计的研究[^1], [^2], [^3], [^4] 已经取得了出色成果，但拥挤环境中人群密度高、遮挡频繁，使得可靠观测整个人体变得十分困难。受这一难点影响，诸多研究者[^5], [^6] 将研究重心放在拥挤环境中人体最可见的部位，即

![Image](images/e49b0b066ee55e9c9aecb1d9a16c9c9515272c6a96c1f7739fd2355c7987aa62.jpg)

<div style="text-align: center;">Fig. 1. Depth images (top-left) are converted to a pointclouds, aligned with the floor, and segmented into proposal pointclouds (top-right). The pose of each pointcloud is extracted by fitting ellipsoids (green) to the head and shoulders (bottom-right). Each extracted pose is input to a socially constrained tracker to produce a set of filtered poses with persistent tracking identifiers (bottom-left).</div>

头部和肩部。尽管仅头部和肩部姿态提供的信息少于全身姿态，但它仍然能够给出目标环境中人们行为的丰富信息，例如某人是否打算登上某一特定列车。

本文提出了一个实时框架，可从深度图像流中检测和跟踪拥挤环境下多个人的肩部姿态。本文将肩部姿态定义为位置$(x, y)$，以及绕垂直轴的角方向$\theta$。该框架分为三个主要阶段，如图1所示。场景分割阶段接收深度图像，输出可能描述人体的候选点云。肩部姿态提取阶段对每个候选点云的头肩区域拟合椭球，提取肩部位置和方向，丢弃不符合形状和尺寸约束的候选结果。最后，社会约束跟踪阶段利用身势学（即在非语言交流语境下对个人空间的研究），提升了拥挤场景中跟踪的鲁棒性。

---

本文剩余部分按照重要性排序组织内容，而非顺着框架流程从头到尾介绍。第二节概述了相关研究工作，随后介绍本文的两个主要贡献：第三节介绍社会约束跟踪算法，第四节介绍肩部姿态提取算法。为保证内容完整，第五节点介绍了场景分割前端。第六节给出了该框架在实验室数据集和真实世界数据集上的实验评估。最后，第七节总结了本文工作，并给出了未来的研究方向。

### 二、相关工作

在拥挤环境中跟踪行人需要鲁棒的人体检测和数据关联能力。目前已有大量关于使用单目RGB相机跟踪行人的研究工作，例如[^7]、[^8]，近年来也有研究利用RGB-D相机开展该任务[^9]。近年来涌现出一些强大的3D人体姿态估计方法[^2]、[^9]，但这类方法通常依赖于每个个体大部分可见，这在高密度拥挤环境中无法满足。

在公共场景中，使用RGB相机的系统可能会引发隐私担忧，因为这类数据本身包含大量个人信息。对于能够跟踪个体移动、还可将人们的行为与其身份关联的系统，这类担忧会进一步放大。因此，对于希望通过分析通勤者流动优化运营的铁路运营商而言，不捕获多余个人信息的实时个体跟踪方法更受青睐。据此，本文工作未使用RGB数据。

在[^6]中，3D深度传感器被用于行人跟踪，但该方法需要将传感器部署在特定位置并保证视野重叠，才能实现对购物中心这类大空间的完整覆盖。尽管该工作证明了3D传感器用于大规模行人跟踪的潜力，但传感器需要重叠部署在头顶的要求，限制了该方法在本文应用场景中的实用性。

基于上述考虑，我们此前的工作并未利用RGB数据中的额外信息（如[^10]和[^8]），而是仅通过头肩区域在深度数据中提取人体表征[^11]。即使在存在人员交互的密集拥挤环境中，该区域仍然保持可见，这一点在[^8]中得到了印证：该研究通过检测人头实现了火车站周边区域的人群估计。当存在严重遮挡或人员交互时，头肩区域的描述信息结合事件图对人员位置的跟踪即可完成数据关联。但[^11]中的研究并未利用任何支配人际交互的社会规范知识。

### III. 社会约束跟踪

本研究旨在在跟踪框架中利用社会约束。给定肩姿观测流，本文提出的跟踪算法借助对人际空间关系学的理解约束预测过程，从而在拥挤环境中实现更鲁棒的跟踪。粒子滤波非常适合该任务，因为它可以灵活整合任意预测模型和观测模型，让我们能够轻松引入这类社会约束。

我们为每个人采用独立的粒子滤波器跟踪肩姿，每个滤波器维护一组粒子$\mathbf{X}_t^p = [\mathbf{x}_t^1, \cdots, \mathbf{x}_t^N]$和对应的一组权重$\mathbf{w}_t^p = [w_t^1, \cdots, w_t^N]$，用于表示t时刻人物p所有可能状态的分布。每个粒子$\mathbf{x}_t^i = [x, y, \dot{x}, \dot{y}, \theta]^\top$表示一个可能的状态，包含位置x、y、速度$\dot{x}, \dot{y}$和绕z轴的朝向$\theta$。每个滤波器的粒子数N是计算成本与底层分布表达能力之间的权衡（我们实验中取值为$N = 500$）。尽管本文第四节A部分描述的位姿提取方法能够提取肩部的三维位置，但我们的跟踪器仅在水平面工作，忽略高度信息，因为这足以在我们的目标环境中维持对人员的持续跟踪。

跟踪器的每次迭代（由新数据帧触发，或在无新数据时由计时触发）会执行以下步骤：

1) 社会约束预测——每个滤波器的状态$\mathbf{X}_{t}^{p}$基于其前一状态$\mathbf{X}_{t-1}^{p}$、假设运动模型和社会约束预测得到。

2) 两层数据关联——基于两层最近邻方法将位姿观测关联到现有滤波器。

3) 观测更新——结合朝向估计的置信度，根据关联到位姿观测的似然更新粒子权重。

4) 肩部朝向更新——根据肩部朝向与速度方向的相关性更新粒子权重。

5) 重采样——对每个滤波器中的粒子进行系统重采样，将加权粒子分布转换为等价的均匀加权粒子分布。

6) 轨迹起始与删除——为未关联的观测创建新轨迹，并根据协方差或漏观测删除轨迹。

### A. 社会约束预测

在每个时间步，每个粒子的位置x、y和速度$\dot{x}, \dot{y}$根据恒白噪声加速度模型[^12]传播，方向角$\theta$则独立处理

 $$ \mathbf{x}_{t}^{i}=\mathbf{F}\mathbf{x}_{t-1}^{i}+\nu_{\mathbf{t}}\qquad\quad\nu_{\mathbf{t}}\sim\mathcal{N}(\mathbf{0},\mathbf{Q}) $$

其状态转移矩阵$\mathbf{F}$和过程噪声$\mathbf{Q}$的协方差$\nu_{t}$如下：

 $$ \mathbf{F}=\left[\begin{matrix}{1}&{0}&{t}&{0}&{0}\\ {0}&{1}&{0}&{t}&{0}\\ {0}&{0}&{1}&{0}&{0}\\ {0}&{0}&{0}&{1}&{0}\\ {0}&{0}&{0}&{0}&{1}\\ \end{matrix}\right]\mathbf{Q}=\left[\begin{matrix}{\frac{q}{3}t^{3}}&{0}&{\frac{q}{2}t^{2}}&{0}&{0}\\ {0}&{\frac{q}{3}t^{3}}&{0}&{\frac{q}{2}t^{2}}&{0}\\ {\frac{q}{2}t^{2}}&{0}&{q t}&{0}&{0}\\ {0}&{\frac{q}{2}t^{2}}&{0}&{q t}&{0}\\ {0}&{0}&{0}&{0}&{\sigma_{\theta}^{2}}\\ \end{matrix}\right]. $$

参数q是过程噪声强度，根据跟踪目标加速度的预期变化进行选择

---

适配目标应用场景。同理，角度方差$\sigma_{\theta}^{2}$需要根据人们方向角的预期变化进行选择。

在拥挤环境中，人与人距离过近会导致轨迹错误交换目标。当两个或多个目标之间的间距小于观测误差时，就会出现该问题，若目标速度相近，问题会进一步加剧。为提升我们的跟踪器应对拥挤场景的鲁棒性，我们基于空间关系学研究[^13]实现了简单的社交约束，该研究指出即使在拥挤场景下，人们也倾向于和他人保持舒适的人际距离。

该社交约束在预测阶段执行：所有违反人际约束的粒子都会被删除并重采样。首先执行不带社交约束的预测步骤，更新每个滤波器的均值假设。接着基于预测状态，我们检查所有滤波器中的无效粒子，也就是落在任意其他滤波器均值位置固定半径范围内的粒子。无效粒子会被重采样，直到得到有效粒子，或重采样尝试次数达到上限（我们的实验中设置为3）。对无效粒子重采样可以让粒子数量更接近标称值，从而保持滤波器预期的表达能力。另一方面，限制重采样次数可以确保算法不会在极端拥挤场景下慢到无法实际应用。

### B. 两层数据关联

在每一次跟踪迭代中，数据关联步骤会尝试将每个观测结果与对应的滤波器匹配，从而更新这些滤波器的状态。关联过程结束后，未匹配到观测的滤波器会被列为删除候选，而未匹配到滤波器的观测则会被列为创建新滤波器的候选。

简单来说，我们原本可以为每个这类候选都初始化一个新滤波器，但在拥挤环境中，由误报观测生成的新滤波器很可能在后续的数据关联步骤中“偷走”现有滤波器的合法观测，并错误影响上文第三节A部分所述社交约束对应的预测步骤。

为了避免该问题，我们采用了两层的数据关联方法。新创建的滤波器会被标记为无效，对应的有效性计数器初始化为0。跟踪器每迭代一次，未匹配的滤波器有效性计数器减1，匹配成功的滤波器有效性计数器加1。如果有效性计数达到负的下限有效性阈值，该滤波器会因缺少观测被删除。如果有效性计数达到正的上限有效性阈值，该滤波器会被永久升格为有效。通过该机制，若一个滤波器在超过50%的帧中都匹配成功，就会逐步获得有效状态；若匹配成功的帧不足50%，则会逐步被删除。

根据上述标签，数据关联分为两个阶段执行。首先，每个有效滤波器会与距离最近的观测值匹配，该观测值需在统计上与滤波器粒子所代表的位置分布一致，根据卡方检验，置信度为95%。该匹配采用贪心策略：每次迭代匹配距离最近的一致对，将其从后续候选池中移除，直到不再存在剩余一致对。随后对剩余未关联观测和无效滤波器集合执行相同流程。通过这种方式，已确认的有效航迹在数据关联中优先级高于新建航迹，因此更不容易受到误报观测的负面影响。

### C. 观测更新

完成数据关联后，每个滤波器会进行更新，将关联观测的信息融入自身的可能状态分布中。更新的实现方式为：将每个粒子的权重乘以给定关联观测下该粒子状态的似然，等价于给定状态$\mathbf{y}_t^j$下观测值$\mathbf{x}_t^i$的概率，随后对得到的权重进行归一化处理。

 $$ w_{t}^{i}=\frac{p(\mathbf{y}_{t}^{j}\mid\mathbf{x_{t}^{i}})w_{t-1}^{i}}{\sum_{i=1}^{N}p(\mathbf{y}_{t}^{j}\mid\mathbf{x_{t}^{i}})w_{t-1}^{i}}. $$

似然函数是两项的乘积：一项与二维位置$L_{xy}$相关，另一项与方向$L_{\theta}$相关。

 $$ p(\mathbf{y}_{t}^{j}\mid\mathbf{x_{t}^{i}})=L_{x y}L_{\theta}. $$

项$L_{xy}$是观测得到欧氏位置误差$\delta_{xy}$的概率，假设传感器模型为零均值、方差为$\sigma_{xy}^{2}$的高斯分布。

 $$ L_{x y}=p(\delta_{x y}\mid0,\sigma_{x y}^{2}). $$

我们算法提取的肩部位姿在方向上存在前向和后向的歧义，这将在第四节A部分进一步讨论。为处理该歧义，项$L_{\theta}$由两个分量求和得到：一个分量对应检测方向$\delta_{\theta}$的角度误差，另一个分量对应相反方向$\delta_{\theta+\pi}$的角度误差。

 $$ {\cal L}_{\theta}=\beta p(\delta_{\theta}\mid0,\gamma\sigma_{\theta}^{2})+(1-\beta)p(\delta_{\theta+\pi}\mid0,\gamma\sigma_{\theta}^{2}). $$

两个分量的平衡由歧义率$\beta$控制，该参数描述了位姿观测朝向正确的预期比例。基于对我们位姿提取算法的经验评估，我们在跟踪实验中使用$\beta = 0.7$。

此外，在肩部位姿提取阶段（第四节）拟合得到的肩部椭球形状可以反映提取方向的质量。如果拟合椭球为球形，说明提取的方向是任意的，不携带有效信息；但如果椭球偏窄，那么得到的方向测量更可能可靠。为体现这一特性，我们采用可变噪声传感器模型计算$L_{\theta}$。

我们基于肩部椭球$\gamma$的偏心率计算得到方向置信度度量$\epsilon$，并用它缩放方向观测模型的方差$\sigma_{\theta}^{2}$。偏心率定义为椭圆最短半径与最长半径的比值，因此取值区间为$(0,1]$。方向置信度由下式给出：

 $$ \gamma=\max\left(\frac{1-\epsilon_{0}}{1-\epsilon},1\right) $$

---

因此可得$\gamma \in [1, \infty)$，但在我们的实现中会将其限制在合适的最大值以内，以避免产生数值问题。

### D. 肩部方向更新

为了满足人们肩部方向通常与行走方向一致这一约束，我们在跟踪器的每一次迭代中都会应用一次伪观测更新。该更新与第三节C部分描述的观测更新类似，粒子权重会根据似然函数$L_{\theta v}$进行更新，但二者的区别在于，伪观测更新不基于任何实际观测，且无论滤波器是否存在关联观测，都会对所有滤波器应用该更新。似然的计算方式为

 $$ {\cal L}_{\theta v}=p(\delta_{\theta v}\mid0,\sigma_{\theta v}^{2}), $$

 $$ \delta_{\theta v}=\begin{cases}{\theta-\operatorname{a t a n2}(\dot{y},\dot{x})}&{\mathrm{i f~}v>v_{0}}\\ {0}&{\mathrm{o t h e r w i s e}}\\ \end{cases}, $$

其中 $v = \sqrt{\dot{x}^2 + \dot{y}^2}$。对于满足$v > v_0$的粒子，当粒子的速度方向与肩部朝向不对齐时，该操作会降低其权重。

该伪观测的作用是在每个滤波器的粒子分布中建立肩部朝向与行走方向的关联。当行人以足够大的速度移动时，行走方向信息可以优化每个行人的朝向估计结果，尤其能解决肩部朝向估计中朝前与朝后的模糊性问题。此外，当行人从静止转为运动状态时，这一情况对于采用单一运动模型的跟踪系统来说通常十分棘手，估计得到的准确朝向可以帮助跟踪器更好地预测行人的新速度。

### IV. 肩部姿态提取

跟踪器的主要输入是一组肩部姿态观测结果。为了提取每个行人的姿态，我们目标是将头肩部可见表面模型拟合到上半身点云数据上。该表面模型需要满足：(1) 形状与人类头肩部足够相似，能够实现良好拟合；(2) 支持提取稳定的肩部位置和朝向；(3) 具有足够灵活性，能够适配人群中不同的形状和尺寸；(4) 对头肩之间的相对运动具有鲁棒性。基于上述要求，我们选用一对椭球体作为合适的表面模型：一个拟合头部，另一个拟合肩部，如图2所示。

### A. 基于椭球体的肩部姿态提取

场景分割阶段（第五节）输出的每个点云都会作为输入送入姿态提取阶段，该阶段会提取出包含三维位置和绕竖轴的朝向角的肩部姿态。为了将椭球体分别拟合到头部和肩部，必须从点云中筛选出大概率属于这两个身体部位的候选点。

该任务要求我们对行人头肩的尺寸和形状做出若干假设，而人群中存在各式各样的尺寸和

![Image](images/eb9584dd0a3e746077b19ea9f6623d9066a697eab4a6dbd7ef6b8f3d75ec704d.jpg)

<div style="text-align: center;">Fig. 2. A pair of ellipsoids representing the head and shoulders (green) fit to a pointcloud of a person (white).</div>

形状，这为该任务带来了挑战。为了给这些假设提供依据，我们利用2012年美国陆军人员人体测量调查的统计数据[^14]，在需要的位置设定物理选择标准。参与调查的人员包含不同性别和多种职业，并非只有前线人员。我们还采用顺序拟合椭球体的方式，利用头部椭球体的参数筛选肩部拟合的候选点，从而让物理标准适配每个个体，降低了该方法对所选参数的敏感性。

首先，将头部椭球拟合到从点云顶部向下延伸的固定高度垂直点窗口中。我们根据头顶到颈椎的第10百分位测量值[^14]，采用21cm的窗口大小，这样既可以捕获头部的大多数点，又能最大程度降低包含颈部或肩部的概率。肩部椭球同样拟合到固定的垂直点窗口，从头部椭球中心向下延伸21cm（这是颈部到袖笼长度的第90百分位测量值[^14]）。但为了确保肩部椭球拟合的是肩宽而非颈部区域，我们使用经过膨胀处理的头部椭球副本，从待拟合点中去除颈部和领口区域。这保证了拟合过程由肩尖主导，提升了所得方向估计的质量。

头部和肩部椭球拟合完成后，我们利用它们提取肩部姿态，该姿态包含三维位置和绕垂直轴的方向角。姿态的水平分量直接取自肩部椭球的中心，因为该位置比头部的位置更稳定。但肩部椭球的垂直分量稳定性较差，因为它高度依赖于选择拟合点所用的垂直窗口。因此，姿态的垂直分量基于肩部椭球的上表面确定，因为这更能反映人体肩部的真实高度，该分量通过穿过椭球中心的垂直线与椭球上表面的交点计算得到。

---

最终，肩部方向通过以下方式获得：将肩部椭球的长轴投影到水平平面，取投影后所得直线的角度即为初始角度。将该角度旋转$90^{\circ}$，即可得到人体的朝向，而非肩部连线的方向，不过仅依靠肩部轴无法确定正向。为了解决这种不确定性，我们假设头部位于肩部前方。我们利用头部椭球中心相对于肩部椭球长轴的水平位置确定正向，并据此设置方向角。尽管这种消除朝向不确定性的方法在70%的情况下有效，我们的追踪算法也明确处理了得到相反方向的可能性。

### B. 椭球拟合

在本文工作针对的拥挤场景中，传感器视场（FOV）内任意时刻的人数可达到20人以上。每人需要拟合2个椭球，加上每秒30帧深度数据，这意味着每秒最多需要拟合1200个椭球。因此，为了实时处理所有数据，使用高效的椭球拟合方法是首要任务。

本文采用的椭圆拟合方法由Li等人提出[^15]，该方法寻找如下形式二次曲面的最小二乘拟合：

 $$ ax^{2}+by^{2}+cz^{2}+2fyz+2gxz+2hxy+2px+2qy+2rz+d=0 $$

对一组三维点进行拟合，并满足约束条件$4J - I^{2} > 0$，其中：

 $$ I=a+b+c, $$

 $$ J=ab+bc+ac-f^{2}-g^{2}-h^{2}. $$

Li等人[^15]表明，该约束足以保证拟合得到的二次曲面是一个椭球，并且通过将问题构建为特征系统即可高效求解。

### V. 场景分割

在按照第四节所述提取肩部姿态之前，需要先进行场景预处理阶段。该阶段将每一帧深度数据转换为直立的前景点云，随后将其分割为空间上相互分离的聚类。前景点云仅包含不属于静态环境的点，并经过变换使z = 0平面对齐到场景的地平面。这样做的好处有：(i) 通过将静态环境排除在考虑范围之外，降低了人体检测误报的概率；(ii) 通过大幅减少需要处理的像素数量，降低了后续阶段所需的计算量；(iii) 由于点云已对齐到地面，简化了下游聚类和姿态估计算法。场景处理阶段包括背景减除、地平面对齐和空间分割三个步骤。

![Image](images/0dd46b40ea07ea1bdd62799b8e104993655a09906cc0d0f99a63960ab51a2e9c.jpg)

<div style="text-align: center;">Fig. 3. Each frame of input depth data is compared to the current background image in order to mask out background pixels and output the foreground depth image. At regular intervals the input depth image is used to update the background model.</div>

### A. 背景减除

背景减除将深度图像中可能包含人体的区域与代表静态环境的区域分割开。我们从深度数据中增量学习得到静态背景的模型，并用该模型掩蔽掉每个深度图像中与模型匹配的像素，仅保留被认为属于前景的像素，如图3所示。

本文的背景模型学习基于[^16]中提出的思路，该思路将彩色或灰度场景中每个像素的背景期望值建模为高斯混合模型。与[^16]不同的是，由于深度信息本身就与背景建模任务高度相关，我们可以大幅简化该方法，对每个像素仅使用单个高斯模型。

### B. 地平面对齐

在经过初始预热时间得到稳定的背景图像后，我们将其投影为点云表示，然后使用随机抽样一致（RANSAC）算法拟合平面[^17]。本文假设占主导的平面即为地面。在所有后续帧中，前景深度图像会被投影为点云，并使用已确定的地面平面进行变换，使z=0平面对齐到地面。

### C. 空间分割

基于以下假设，我们将点云分割为人体尺寸大小的聚类：

1) 人体站立时，身体长度方向垂直于地面。

2) 人体的最高点是头部。

3) 不同人的头部在空间上相互分离。

分割算法对点云按高度降序排序，然后遍历每个点$p_{i}$，将每个点$d_{ij}$与每个聚类$p_{i}$之间的水平距离$C_{j}$与固定的分隔距离阈值进行比较。

---

![Image](images/1365a1a9ae59dc4455295e3ccb51a0ec35371b8ee0c0a25afa5052c6bd265e7a.jpg)

<div style="text-align: center;">Fig. 4. Left: Our sensor platform (top) was mounted on a fixed pole aimed at the centre of the room and the movement of all participants was tracked using infrared marker cards (bottom). Right: A sample depth image taken from the Passing sequence.</div>

 $d_0$。若满足$d_{ij} \leq d_0$，则将该点添加到最近的聚类中并更新聚类的均值，否则创建一个仅包含$p_i$的新聚类。

聚类之后，经常会出现同一个人被分割为多个聚类的情况，这是由人体水平边缘处的点导致的，比如肩部的点，对此$d_{ij} > d_{0}$。为了解决这个问题，最终的聚类合并步骤会检查各聚类均值之间的距离，并以贪心方式合并距离小于$d_{0}$的聚类。最后，所有点数较少或表面积较小的聚类都会被移除。

### 六、实证评估

为了评估我们框架的性能，我们分别对实验室环境和真实场景下采集的数据开展了实验。本节我们将说明数据采集过程，展示实验结果并对实验进行讨论。我们实验中使用的参数是通过经验确定的，但如有需要可以对其进行优化。

### A. 传感器布置

数据采集的传感器布置方案主要由城市轨道环境的需求决定。传感器被安装在足够高的位置，避免对通勤者造成受伤风险，而安装高度上限由天花板高度或安装流程的可行性决定。确定安装高度后，我们选择了合适的传感器角度，确保如第V-B节所述，地面能够被观测到，以完成地平面校准。

### B. 带真值的实验室数据集

为了量化我们方法的精密度和准确度，我们采集了一个包含9段深度图像序列的数据集，记录了行人以不同方式穿过深度传感器视场（FOV）的过程，同时通过光学动作捕捉系统测量得到了配套的真值标注。该数据集在UTS Data Arena（一个环形影院空间）中采集，场地配备了Optitrack动作捕捉系统，该系统由带红外照明的高帧率摄像头组成。每个参与者的背部通过魔术贴绑带固定了一块刚性红外标记板（如图4所示），用于准确跟踪其上身的位置和旋转角度。下文对各段深度序列做了简要介绍。

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

<div style="text-align: center;">MEAN ABSOLUTE ERRORS OF POSE EXTRACTION AGAINST GROUND TRUTH FROM AN OPTICAL TRACKING SYSTEM</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Dataset</td><td style='text-align: center; word-wrap: break-word;'>Horizontal (cm)</td><td style='text-align: center; word-wrap: break-word;'>Vertical (cm)</td><td style='text-align: center; word-wrap: break-word;'>Orientation (°)</td><td style='text-align: center; word-wrap: break-word;'>Forwards (%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Wandering 1</td><td style='text-align: center; word-wrap: break-word;'>8.37</td><td style='text-align: center; word-wrap: break-word;'>3.34</td><td style='text-align: center; word-wrap: break-word;'>13.99</td><td style='text-align: center; word-wrap: break-word;'>70.59</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Wandering 2</td><td style='text-align: center; word-wrap: break-word;'>7.36</td><td style='text-align: center; word-wrap: break-word;'>3.10</td><td style='text-align: center; word-wrap: break-word;'>10.40</td><td style='text-align: center; word-wrap: break-word;'>72.20</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Wandering 3</td><td style='text-align: center; word-wrap: break-word;'>9.40</td><td style='text-align: center; word-wrap: break-word;'>3.63</td><td style='text-align: center; word-wrap: break-word;'>14.29</td><td style='text-align: center; word-wrap: break-word;'>84.74</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Wandering 4</td><td style='text-align: center; word-wrap: break-word;'>9.02</td><td style='text-align: center; word-wrap: break-word;'>3.44</td><td style='text-align: center; word-wrap: break-word;'>12.37</td><td style='text-align: center; word-wrap: break-word;'>82.12</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Alighting 1</td><td style='text-align: center; word-wrap: break-word;'>7.82</td><td style='text-align: center; word-wrap: break-word;'>5.37</td><td style='text-align: center; word-wrap: break-word;'>10.00</td><td style='text-align: center; word-wrap: break-word;'>77.59</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Alighting 2</td><td style='text-align: center; word-wrap: break-word;'>8.97</td><td style='text-align: center; word-wrap: break-word;'>3.95</td><td style='text-align: center; word-wrap: break-word;'>9.10</td><td style='text-align: center; word-wrap: break-word;'>71.37</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Alighting 3</td><td style='text-align: center; word-wrap: break-word;'>16.80</td><td style='text-align: center; word-wrap: break-word;'>5.93</td><td style='text-align: center; word-wrap: break-word;'>18.55</td><td style='text-align: center; word-wrap: break-word;'>74.74</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Walkthrough</td><td style='text-align: center; word-wrap: break-word;'>8.37</td><td style='text-align: center; word-wrap: break-word;'>3.99</td><td style='text-align: center; word-wrap: break-word;'>12.03</td><td style='text-align: center; word-wrap: break-word;'>77.88</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Passing</td><td style='text-align: center; word-wrap: break-word;'>12.93</td><td style='text-align: center; word-wrap: break-word;'>5.67</td><td style='text-align: center; word-wrap: break-word;'>14.85</td><td style='text-align: center; word-wrap: break-word;'>80.26</td></tr></table>

漫步1/2/3/4——参与者在深度相机视场内随意移动、停留（分别对应3/4/8/8人，时长120/123/47/98秒）。

上下车1/2/3——参与者模拟4名列车乘客等候上车、2名乘客下车的场景（共6人，时长24/21/16秒）。

穿行——4名参与者保持静止，另外4名参与者反复穿过视场，在静止参与者之间穿插绕行（共8人，时长142秒）。

交错——所有参与者反复穿过视场，彼此错身穿行（共8人，时长131秒），场景如图4所示。

### C. 姿态提取精度

在评估本文提出的肩部姿态估计算法时，我们使用我们的框架处理了实验室数据集的深度图像序列，将跟踪前的姿态提取结果与动作捕捉系统得到的姿态真值进行了对比。表I从水平精度、垂直精度和方向角精度三个维度总结了本次对比的结果。

为了校正附着在受试者身上的红外标记与我们算法提取的肩中心位置之间的任意偏移，我们基于平均三维位置误差，在每个标记卡的局部坐标系中对真值数据应用了统一的三维偏移。因此，该结果没有体现提取姿态中的任何位置偏差，但体现了提取姿态的一致性，而一致性在目标场景中更为重要。标记卡的起始方向也是任意的，我们在误差计算前也对每个标记卡的方向应用了类似偏移。方向误差也会在$\pm\frac{\pi}{2}$之间取环绕处理，以便更好地描述前后方向存在模糊性时的误差。为清晰起见，我们还给出了正确估计出前进方向（因此不需要环绕处理）的提取姿态占比。

### D. 跟踪对比

为了评估我们的跟踪器，我们使用了自研框架输出的人体检测和姿态提取结果，将其同时输入我们的跟踪器和一款最先进的人体跟踪器[^18]。对比结果如表II所示，采用CLEAR-MOT指标[^19]衡量，该指标体系是为了实现多目标跟踪系统的直观公平基准测试设计的，指标包含多目标跟

---

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

<div style="text-align: center;">COMPARISON BETWEEN OUR SOCIALLY CONSTRAINED TRACKER AND [^18] ON THE CLEAR-MOT [^19] PERFORMANCE METRICS</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Dataset</td><td colspan="2">MOTP (cm)</td><td colspan="2">MOTA (%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>[^18]</td><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>[^18]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Wandering 1</td><td style='text-align: center; word-wrap: break-word;'>70.51</td><td style='text-align: center; word-wrap: break-word;'>71.93</td><td style='text-align: center; word-wrap: break-word;'>98.90</td><td style='text-align: center; word-wrap: break-word;'>97.77</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Wandering 2</td><td style='text-align: center; word-wrap: break-word;'>69.15</td><td style='text-align: center; word-wrap: break-word;'>70.90</td><td style='text-align: center; word-wrap: break-word;'>98.77</td><td style='text-align: center; word-wrap: break-word;'>97.39</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Wandering 3</td><td style='text-align: center; word-wrap: break-word;'>66.99</td><td style='text-align: center; word-wrap: break-word;'>68.04</td><td style='text-align: center; word-wrap: break-word;'>92.60</td><td style='text-align: center; word-wrap: break-word;'>94.24</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Wandering 4</td><td style='text-align: center; word-wrap: break-word;'>69.07</td><td style='text-align: center; word-wrap: break-word;'>70.38</td><td style='text-align: center; word-wrap: break-word;'>90.67</td><td style='text-align: center; word-wrap: break-word;'>91.86</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Alighting 1</td><td style='text-align: center; word-wrap: break-word;'>68.47</td><td style='text-align: center; word-wrap: break-word;'>68.63</td><td style='text-align: center; word-wrap: break-word;'>59.04</td><td style='text-align: center; word-wrap: break-word;'>52.39</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Alighting 2</td><td style='text-align: center; word-wrap: break-word;'>68.83</td><td style='text-align: center; word-wrap: break-word;'>70.76</td><td style='text-align: center; word-wrap: break-word;'>56.37</td><td style='text-align: center; word-wrap: break-word;'>46.65</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Alighting 3</td><td style='text-align: center; word-wrap: break-word;'>63.39</td><td style='text-align: center; word-wrap: break-word;'>61.96</td><td style='text-align: center; word-wrap: break-word;'>53.94</td><td style='text-align: center; word-wrap: break-word;'>46.74</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Walkthrough</td><td style='text-align: center; word-wrap: break-word;'>65.78</td><td style='text-align: center; word-wrap: break-word;'>64.32</td><td style='text-align: center; word-wrap: break-word;'>63.63</td><td style='text-align: center; word-wrap: break-word;'>57.43</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Passing</td><td style='text-align: center; word-wrap: break-word;'>68.24</td><td style='text-align: center; word-wrap: break-word;'>64.29</td><td style='text-align: center; word-wrap: break-word;'>35.72</td><td style='text-align: center; word-wrap: break-word;'>26.45</td></tr></table>

精度（MOTP）是衡量实际单位下平均位置误差的指标，多目标跟踪精度（MOTA）则是准确跟踪输出的百分比。

我们的跟踪器在漫游序列中的表现与Linder等人的跟踪器[^18]相近，这并不意外，因为两个跟踪器都获得了相同的姿态检测结果，且使用非常相似的运动模型。有趣的是，我们的跟踪器在下车、穿行和交汇序列中的MOTA表现更好，所有这些序列都涉及人员在密集拥挤区域与他人近距离移动。这一改进得益于我们在轨迹预测中加入了社交约束，通过避免生成与他人近距离的预测，大幅缩小了拥挤场景下粒子状态的分布范围。请注意，两个跟踪器的MOTA分数都较低，这是因为参与者待在深度传感器视场（FOV）之外但仍能被光学跟踪系统观测到。不过跟踪器之间的对比仍然是公平的。

较低的MOTP分数更可能是由姿态检测导致的，而非任一跟踪器的问题。这些结果中存在两个尚未校正的主要误差来源：(1) 放置在受试者背部的刚性标记与其肩中心之间的任意偏移，(2) 我们深度相机输出的深度值存在显著的尺度误差。第一个误差就是我们真值数据采集方法带来的结果，无法消除，第二个误差可以在未来通过几种已发表方法中的一种进行深度尺度校准来解决[^20], [^21].

### E. 拥挤火车站台的性能测试

为了评估我们的方法在目标场景下的效果，我们使用定制传感平台在繁忙的市内火车站（悉尼市政厅火车站）采集了深度图像序列，如图5a所示。在三天的时间里，我们在拥挤的站台区域以30Hz的频率记录了深度图像。图5b展示了本次记录的深度数据中的一个示例帧。

该系统在这一具有挑战性的真实数据集上的性能可通过随附视频进行定性评估，视频展示了跟踪结果的三维可视化效果。图5c展示了该可视化的一张静帧。此外，为了对系统性能进行定量评估，我们将系统输出的每帧跟踪数据中的活跃轨迹数量，与直接从深度

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

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

![Image](images/5d782e1946aadf598e00bbe336e8c3d31dc4327cdbb0c403b0b8ded2ddd8cd59.jpg)

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

![Image](images/858431e84bfcdb9384d47541ca49991019f7d8e380e60b5870e82a9b8d63127e.jpg)

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

<div style="text-align: center;">Fig. 5. Our framework tracking people on a busy train platform at Town Hall Station, Sydney. (a) A depth image from the Town Hall dataset. (b) Visualisation of tracking output for the same frame. The background pointcloud (blue), foreground pointcloud (white) and coloured human avatars (courtesy of the Spencer rviz plugin [^18]) show the tracking result.</div>

图像序列获得的人工计数进行了对比。虽然我们也希望获得更详细的定量结果，但不对参与者做标记就无法收集准确的真值，而在这个公开场景中标记参与者是不可行的。

我们在图6中展示了早高峰通勤时段采集的一段时长30分钟的复杂序列上的实验结果。尽管传感器视场内的人群规模最高达到26人，系统报告的总人数大部分时间误差都在2人以内，仅整体存在一定的高估偏差。这种总人数高估的趋势可以解释为：人员离开传感器视场后轨迹仍会残留未删除。人工计数会立即减少人数，而我们的跟踪器会一直保留对人员位置的假设，直到位置协方差达到上限阈值。总人数计数的最大误差出现在真值人数急剧增加或减少的阶段。这是因为跟踪器的计数天生滞后于真实计数：除了上述提到的轨迹删除滞后，新轨迹的启动也会滞后，这是因为在确认轨迹有效之前需要多个一致的测量结果，该要求已在第三节中讨论。

### 七、结论

为了解决拥挤环境下人体姿态估计与跟踪的挑战，我们提出了一个包含多个组件的框架，其中包含一种全新的肩部姿态

---

![Image](images/ca412467f809da0ba20d342c21e54144d990917fed784d6089eedffcb9cec313.jpg)

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

![Image](images/9352fcca0162b251e7c1cc5784a1d3873d9bdbaa4b935e37a1e49d266b1e24b0.jpg)

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

<div style="text-align: center;">Fig. 6. (a) Total person count detected (blue) and manual count (red) on a sequence of depth images during morning peak at Sydney Town Hall Station. (b) Error in person count compared with manual count</div>

提取方法，以及一种利用社交约束改进轨迹预测的跟踪算法。我们在带有准确真值的数据集上评估了我们的方法，验证了我们姿态提取技术的精度。与近年的人体跟踪研究相比，我们的方法在跟踪精度方面也取得了更优的结果，尤其是在密集拥挤场景中，我们加入社交约束的跟踪器有效改进了轨迹预测效果。

本研究的一个局限性是远距离（>4m）下方向估计效果较差，原因是点云密度不足、深度分辨率较粗，导致方向估计存在偏差。另一个局限性是，在将候选点云分类为人体时，需要对头肩椭球参数设置固定阈值，这些阈值需要手动调优。

未来工作将致力于通过实证分析表征姿态提取误差，以及误差与距离、观测角度等可观测因素的相关性，目标是将这些关系纳入跟踪算法使用的观测模型中。此外，我们计划使用基于机器学习的椭球参数分类，替代将候选点云分类为人体任务中手动设置的阈值。除了这个二分类任务之外，我们还将研究椭球参数用于人员个体化、进而实现跨传感器重识别的潜力。另外，未来工作还可以尝试利用在真实场景采集的数据和我们的鲁棒跟踪框架，学习更复杂的运动模型，克服简单运动模型在预测复杂社交行为时的局限性。

## 致谢

本文呈现的研究内容源自Rail Manufacturing CRC（RMCRC）与Downer EDI Rail Pty Ltd资助的RM-CRC项目3.1.2课题。作者也感谢The Centre for Autonomous Systems、The UTS Transport Research Centre以及Sydney Trains提供的支持。

## 参考文献

[^1]: A. Dib and F. Charpillet, “Pose estimation for a partially observable human body from RGB-D cameras,” in 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), no. SEPTEMBER 2015. IEEE, sep 2015, pp. 4915–4922.

[^2]: J. Shotton, T. Sharp, A. Kipman, A. Fitzgibbon, M. Finocchio, A. Blake, M. Cook, and R. Moore, "Real-time Human Pose Recognition in Parts from Single Depth Images," Commun. ACM, vol. 56, no. 1, pp. 116–124, 2013.

[^3]: A. Baak, M. Muller, G. Bharaj, H. P. Seidel, and C. Theobalt, "A data-driven approach for real-time full body pose reconstruction from a depth camera," Proceedings of the IEEE International Conference on Computer Vision, pp. 1092–1099, 2011.

[^4]: C. Plagemann, V. Ganapathi, D. Koller, and S. Thrun, “Real-time Identification and Localization of Body parts from depth images,” Proceedings IEEE International Conference on Robotics and Automation, pp. 3108–3113, 2010.

[^5]: N. Kirchner, A. Alempijevic, and A. Virgona, “Head-to-shoulder signature for person recognition,” in Proceedings - IEEE International Conference on Robotics and Automation, 2012, pp. 1226–1231.

[^6]: D. Brscic, T. Kanda, T. Ikeda, and T. Miyashita, “Person Tracking in Large Public Spaces Using 3-D Range Sensors,” IEEE Transactions on Human-Machine Systems, vol. 43, no. 6, pp. 522–534, nov 2013.

[^7]: S. W. Joo and R. Chellappa, “A multiple-hypothesis approach for multiobject visual tracking,” IEEE Transactions on Image Processing, vol. 16, no. 11, pp. 2849–2854, 2007.

[^8]: I. Ali and M. N. Dailey, “Multiple human tracking in high-density crowds,” Image and Vision Computing, vol. 30, no. 12, pp. 966–977, 2012.

[^9]: M. Munaro, A. Basso, A. Fossati, L. Van Gool, and E. Menegatti, "3D reconstruction of freely moving persons for re-identification with a depth sensor," Proceedings - IEEE International Conference on Robotics and Automation, pp. 4512–4519, 2014.

[^10]: P. Morton, B. Douillard, and J. Underwood, “Multi-sensor identity tracking with event graphs,” in 2013 IEEE International Conference on Robotics and Automation. IEEE, may 2013, pp. 4742–4748.

[^11]: N. Kirchner, A. Alempijevic, A. Virgona, X. Dai, P. G. Pl, and R. K. Venkat, “A robust people detection, tracking, and counting system,” in Australasian Conference on Robotics and Automation, 2014, pp. 2–4.

[^12]: Y. Bar-Shalom, X.-R. Li, and T. Kirubarajan, Estimation with Applications to Tracking and Navigation. New York, USA: John Wiley & Sons, Inc., 2001.

[^13]: E. T. Hall, The hidden dimension. Doubleday & Co, 1966.

[^14]: C. C. Gordon, C. L. Blackwell, B. Bradtmiller, J. L. Parham, P. Barrientos, S. P. Paquette, B. D. Corner, J. M. Carson, J. C. Venezia, B. M. Rockwell, M. Mucher, and S. Kristensen, “2012 Anthropometric Survey Of U.S. Army Personnel: Methods And Summary Statistics,” Tech. Rep., 2012.

[^15]: Qingde Li and J. Griffiths, “Least squares ellipsoid specific fitting,” in Geometric Modeling and Processing, 2004. Proceedings, vol. 2004. IEEE, 2004, pp. 335–340.

[^16]: C. Stauffer and W. E. L. Grimson, “Adaptive background mixture models for real-time tracking,” Proceedings 1999 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Cat No PR00149, vol. 2, no. c, pp. 246–252, 1999.

[^17]: M. A. Fischler and R. C. Bolles, “Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography,” Commun. ACM, vol. 24, no. 6, pp. 381–395, 1981.

[^18]: T. Linder, S. Breuers, B. Leibe, and K. O. Arras, “On multi-modal people tracking from mobile platforms in very crowded and dynamic environments,” in 2016 IEEE International Conference on Robotics and Automation (ICRA). IEEE, may 2016, pp. 5512–5519.

[^19]: K. Bernardin and R. Stiefelhagen, “Evaluating Multiple Object Tracking Performance: The CLEAR MOT Metrics,” EURASIP Journal on Image and Video Processing, vol. 2008, pp. 1–10, 2008.

[^20]: A. Teichman, S. Miller, and S. Thrun, “Unsupervised Intrinsic Calibration of Depth Sensors via SLAM,” in Robotics: Science and Systems IX. Robotics: Science and Systems Foundation, Jun 2013.

[^21]: M. Di Cicco, L. Iocchi, and G. Grisetti, “Non-Parametric Calibration for Depth Sensors,” Robotics and Autonomous Systems, vol. 74, pp. 309–317, 2015.
