
## 德克·舒尔茨（Dirk Schulz）

波恩大学

计算机科学系

德国

沃尔夫勒姆·布加德（Wolfram Burgard）

弗莱堡大学

计算机科学系

德国

## 迪特·福克斯（Dieter Fox）

华盛顿大学

计算机科学与工程系

美国华盛顿州西雅图

### 阿尔明·B. 克雷默斯（Armin B. Cremers）

波恩大学

计算机科学系

德国

# 基于采样式联合概率数据关联滤波器的移动机器人人员跟踪

## 摘要

移动机器人领域的目标之一是开发能够在人口密集环境中运行的移动平台。因此对于诸多任务而言，机器人能够跟踪周围人员的位置是极为必要的。本文提出基于采样的联合概率数据关联滤波器，作为一种跟踪多个运动目标的新算法。我们的方法采用贝叶斯滤波，使跟踪过程能够适配机器人感知范围内的目标数量。该方法已基于激光测距数据在实体机器人上实现并测试。我们给出的实验表明，我们的算法能够鲁棒地对多人进行持续跟踪。实验还显示，该方法的性能优于迄今为止开发的其他所有技术。

关键词——多目标跟踪，数据关联，粒子滤波，人员跟踪，移动机器人感知

### 1. 引言

运动目标位置估计问题已成为移动机器人领域的一个重要研究问题。近年来，多款移动机器人已被部署在各类人口密集环境中，例如办公楼（Arras and Vestli 1998; Asoh et al. 1997; Horswill 1993; Simmons et al. 1997）、超市（Endres, Feiten, and Lawitzky 1998）、医院（Engelberger 1993）以及博物馆（Burgard et al. 1999; Thrun et al. 1999）。掌握移动人员的位置和速度信息，可以从多个维度大幅提升这类机器人系统的行为表现。例如，该信息可让机器人根据环境中人员的移动速度调整自身速度。能够区分静态目标与运动目标，还有助于提升建图算法的性能（Hähnel, Schulz, and Burgard 2002）。当机器人轨迹与行人路径交叉时，该能力还能优化机器人的避障行为（Tadokoro et al. 1995）。当然，能够对人员进行持续跟踪也是实现其他人机交互功能的重要前提。

遗憾的是，移动机器人估计多个运动物体位置的问题，难度远高于估计单个物体的状态。首先，我们还需要解决估计当前视野内物体数量的问题。此外，更新过程难度更大：观测结果可能产生歧义，特征可能无法区分，物体可能被遮挡，甚至可能出现特征数量多于物体的情况。因此，能够跟踪多个运动物体或行人的系统，必须具备估计物体数量的能力，还必须能够解决将观测特征分配给对应跟踪目标的问题。

本文提出了一种用于移动机器人跟踪多个运动物体的概率方法，该技术结合机器人传感器和物体运动模型实现跟踪。

---

对被跟踪物体估计其位置和速度。我们特别提出了基于采样的联合概率数据关联滤波器（SJPDAFs），该方法结合了基于采样的密度近似法的优势与联合概率数据关联滤波器（JPDAFs）的高效性。

JPDAFs (Bar-Shalom and Fortmann 1988; Cox 1993)是目前被广泛应用的多运动物体跟踪方法。该方法对传感器数据中检测到的特征与不同待跟踪物体之间的对应关系进行贝叶斯估计。和几乎所有现有的多目标跟踪方法一样，JPDAFs使用卡尔曼滤波器估计单个物体的状态。虽然已有研究证明卡尔曼滤波器能够提供效率极高的状态估计，但它仅在待估计状态服从单峰高斯分布时才是最优的。近年来，粒子滤波器被提出用于估计非高斯、非线性动态过程（Gordon, Salmond, and Smith 1993; Pitt and Shephard 1999）。粒子滤波器已成功应用于各类状态估计问题，包括视觉跟踪（Black and Jepson 1998; Isard and Blake 1996）、移动机器人定位（Dellaert et al. 1999; Fox et al. 1999, 2001; Gross, Boehme, and König 2002; Lenser and Veloso 2000; Montemerlo et al. 2002; Montemerlo, Thun, and Whittaker 2002; Murphy and Russell 2001; Vlassis, Terwijn, and Kröse 2002; Wolf, Burgard, and Burkhardt 2002）以及动态概率网络（Kanazawa, Koller, and Russell 1995）。粒子滤波器的核心思想是用样本集合（或称粒子）表示状态。该技术的主要优势在于能够表示多峰状态密度，已有研究证明这一特性能够提高底层状态估计过程的鲁棒性（Gutmann et al. 1998）。但目前大多数现有应用仅处理单个物体的状态估计问题。将粒子滤波器应用于多物体跟踪问题的一种思路是估计联合状态空间。遗憾的是，该方法的复杂度随待跟踪物体数量呈指数增长，因此仅适用于物体数量很少的场景。

与之相比，SJPDAFs结合了particle filters的优势与现有多目标跟踪方法的效率；SJPDAFs使用particle filters跟踪目标状态，并应用JPDAFs将测量值分配给各个目标。不同于Gordon（1997）提出的依赖从样本集中提取Gaussian distributions的思路，我们的方法将JPDAFs的思想直接应用于各个particle filter的样本集。为了使SJPDAFs适应机器人传感器范围内目标数量的变化，我们的方法对被跟踪目标的数量维护了一个概率分布。对被跟踪目标应用运动模型提升了整个方法的鲁棒性。此外，该方法利用从连续传感器测量中提取的不同特征来显式处理遮挡问题。通过这种方式，即使多人暂时互相遮挡，我们的机器人也能够可靠地对其进行持续跟踪。

本文组织结构如下：在下一节讨论相关工作之后，我们在第3节介绍SJPDAFs的基本概念。在第4节，我们描述了估计目标数量并相应调整particle filters数量的方法。在第5节，我们介绍了该方法如何应用于机器人激光测距仪提供的邻近信息所提取出的特征。在第6节，我们介绍了在真实机器人平台和仿真中开展的多项实验，这些实验验证了我们方法的性能与鲁棒性。

### 2. 相关工作

过去几年中，研究者已经开发出多种人体运动跟踪方法，相关综述可参见Aggarwal和Cai（1999）。目前应用最广泛的方法是视觉跟踪，现有技术的差异主要在于从图像中提取行人目标时所使用的特征或模型。例如，Darell、Moghaddam和Pentland（1996）提出了一种依赖固定背景定位行人的方法，通过减去背景图像得到行人轮廓。其他方法（Wren等人，1997）则依赖颜色信息进行跟踪。Rasmussen和Hager（1998）进一步使用考虑了身体约束的JPDAF扩展版本，独立跟踪行人身体的不同部位。

Cox和Hingorani（1996）使用多假设跟踪（Multiple Hypothesis Tracking, MHT）算法在移动相机下跟踪角边缘特征。与JPDAF随时间为每个目标维护单个滤波器不同，MHT算法会根据目标与特征之间可能的对应关系，扩展出一棵呈指数增长的Kalman滤波器树。高效实现会利用多项式时间算法将这棵树剪枝，仅保留概率最高的分支（Cox等人，1997）。然而，该过程涉及的滤波器复制操作，使得基于样本的高效实现难以实现。

MacCormick和Blake（1999）也提出了将particle filter与联合概率技术结合的方法。与我们的方法类似，他们使用联合概率数据关联处理遮挡和杂波。他们使用单个particle filter估计固定数量目标的联合状态空间。为了部分缓解状态空间指数增长的问题，他们引入了分区域采样，使用大小适中的样本集得到了两个目标联合状态空间的鲁棒估计。与之不同，我们的方法可以独立跟踪数量可变的目标。

此外，移动机器人的人员跟踪存在多种基于视觉的技术（Beymer and Konolige 2001; Kahn et al. 1996; Kortenkamp, Huber, and Bonasso 1996; Waldherr et al. 1998）。现有方法使用颜色跟踪、特征混合或立体视觉来识别

---

单个人体，最终还可识别他们的手势。然而，这些方法都没有应用任何滤波技术来持续跟踪人员。

此外，移动机器人还有使用距离传感器而非视觉的跟踪算法。例如，Kluge, Koehler, and Prassler (2001) 介绍了一种借助自主轮椅估计运动障碍物的方法。但该方法没有为目标建立运动模型，因此无法随时间推移可靠跟踪单个目标，也无法处理遮挡或其他检测失效的情况。Montemerlo, Thun, and Whitaker (2002) 的近期研究解决了使用距离传感器同时完成定位和人员跟踪的问题。Montemerlo 等人使用条件粒子滤波来纳入机器人自身位置的不确定性，在方法中采用最近邻法解决数据关联问题。本文提出的方法使用基于采样的JPDAFs而非最近邻解，为数据关联问题提供了更鲁棒的解决方案。Fod, Howard, and Matarić (2002) 提出了一种使用静态安装激光测距仪跟踪工作区内多个移动人员的方法，他们使用卡尔曼滤波在临时遮挡期间持续跟踪目标。最后，Lindström and Eklundh (2001) 介绍了一种在移动平台上使用高斯假设跟踪运动目标的方法。上述两种方法都基于最近邻法完成数据关联。

目前也已有多项研究围绕确定移动平台的最优动作以持续跟踪运动目标展开。Lavalle et al. (1997) 介绍了一种概率算法，该算法可最大化移动机器人未来观测到运动目标的概率。González-Baños, Lee, and Latombe (2002) 专门研究了存在障碍物情况下跟踪运动目标的问题。此外，Parker (1997), Jung and Sukhatme (2002), Pirjanian and Matarić (2000), and Murrieta-Cid, González-Baños, and Tovar (2002) 都提出了控制移动机器人团队的分布式方法，以最大化对运动目标的可见度。这些方法的核心在于生成移动机器人跟踪运动目标的合适动作，而本文提出的研究旨在提供一种技术，维持关于被跟踪目标位置的信念。

近年来，已有诸多学者提出了学习运动模式或预测人员运动的技术（Bennewitz, Burgard, and Thrun 2002; Bui, Venkatesh, and West 2001; Illmann, Kluge, and Prassler 2002; Zhu 1991）。此外，不少学者也研究了利用运动目标信息改进避障的问题。例如，Tadokoro et al. (1995) 使用给定的典型运动行为概率模型来预测人员未来位姿，并相应调整机器人的动作。Kruse and Wahl (1998) 使用安装在天花板的摄像头进行人员跟踪，他们的方法可以学习人员在给定环境中的行走规律。这些信息会被用来根据环境中活动人员的典型行为调整机器人的导航规划。所有这些技术的主要贡献都在于解决如何处理从跟踪系统获取的信息这一问题，而非解决如何实际跟踪人员的问题。

### 3. 基于采样的联合概率数据关联滤波器

为了跟踪多个运动目标，我们通常需要估计所有目标状态的联合概率分布。然而，即使目标数量很少，该问题在实际中也难以求解，因为状态空间的大小会随目标数量呈指数增长。为了解决这一问题，常用方法是对不同目标进行独立跟踪，为每个单独的状态采用因式分解表示。该场景下的一个普遍问题是确定哪个量测来自哪个目标。本文中我们采用JPDAFs（Cox 1993）来解决该问题。下文我们首先介绍JPDAFs的通用版本，随后介绍我们提出的基于采样的变体。

#### 3.1. 联合概率数据关联滤波器

考虑跟踪T个目标的问题。$\mathbf{X}^k = \{\mathbf{x}_1^k, \ldots, \mathbf{x}_T^k\}$表示这些目标在k时刻的状态。请注意，每个$\mathbf{x}_i^k$都是定义在单个目标状态空间上的随机变量。此外，设$\mathbf{Z}(k) = \{\mathbf{z}_1(k), \ldots, \mathbf{z}_{m_k}(k)\}$为k时刻的一个量测，其中$\mathbf{z}_j(k)$是该量测的一个特征。$\mathbf{Z}^k$是截至k时刻所有量测构成的序列。多目标跟踪的核心问题是如何将观测到的特征分配给各个目标。

在JPDAF框架中，联合关联事件$\theta$是成对关系$(j, i) \in \{0, \ldots, m_k\} \times \{1, \ldots, T\}$构成的集合。每个$\theta$都唯一确定了哪个特征分配给哪个目标。请注意，在JPDAF框架中，特征$\mathbf{z}_0(k)$用于对目标未被检测到的情况建模，也就是没有找到对应目标i的特征。设$\Theta_{ji}$表示所有将特征j分配给目标i的有效联合关联事件的集合。在k时刻，JPDAF根据下式计算特征j由目标i生成的后验概率：

 $$ \begin{array}{l l l}{\beta_{j i}}&{=}&{\displaystyle\sum_{\theta\in\Theta_{j i}}P(\theta\mid\mathbf{Z}^{k}).}\\ \end{array} $$

假设该估计问题满足马尔可夫性，结合全概率公式，我们可以计算单个联合关联事件的概率$P(\theta \mid \mathbf{Z}^k)$，形式如下：

 $$ \begin{aligned}&P(\theta\mid\mathbf{Z}^{k})=P(\theta\mid\mathbf{Z}(k),\mathbf{Z}^{k-1})\\&\quad=\int P(\theta\mid\mathbf{Z}(k),\mathbf{Z}^{k-1},\mathbf{X}^{k})p(\mathbf{X}^{k}\mid\mathbf{Z}(k),\mathbf{Z}^{k-1})\mathrm{d}\mathbf{X}^{k}\\ \end{aligned} $$

---

 $$ =\int P(\theta\mid\mathbf{Z}(k),\mathbf{X}^{k})p(\mathbf{X}^{k}\mid\mathbf{Z}(k),\mathbf{Z}^{k-1})\mathrm{d}\mathbf{X}^{k}. $$

根据式(4)，我们需要知道目标状态才能确定分配$\theta$，另一方面，我们需要知道$\theta$才能确定目标的位置。解决这一“先有鸡还是先有蛋问题”的常用方法是采用增量法。其核心思想是利用目标预测状态（即利用k时间步之前所有观测量测计算得到的预测结果）的置信度$p(\mathbf{X}^k \mid \mathbf{Z}(k), \mathbf{Z}^{k-1})$近似$p(\mathbf{X}^k \mid \mathbf{Z}^{k-1})$，由此可得：

 $$ \begin{align*}P(\theta\mid\mathbf{Z}^{k})&\approx\int P(\theta\mid\mathbf{Z}(k),\mathbf{X}^{k})p(\mathbf{X}^{k}\mid\mathbf{Z}^{k-1})\mathrm{d}\mathbf{X}^{k}.\quad(5)\\&=\alpha\int P(\mathbf{Z}(k)\mid\theta,\mathbf{X}^{k})P(\theta\mid\mathbf{X}^{k})p(\mathbf{X}^{k}\mid\mathbf{Z}^{k-1})\mathrm{d}\mathbf{X}^{k}.\end{align*} $$

此处$\alpha$是归一化因子，确保$P(\theta \mid \mathbf{Z}^k)$在所有$\theta$上的总和为1。项$P(\theta \mid \mathbf{X}^k)$对应给定当前目标状态下分配$\theta$的概率。全文我们假设所有分配的似然度相同，因此该项可近似为常数。我们的实验中未发现证据表明该近似过于粗糙。不过，若需要对该量进行更优的近似，可参考Cox和Hingorani (1996)的研究。

术语 $P(\mathbf{Z}(k) \mid \theta, \mathbf{X}^k)$ 表示在已知目标状态、以及观测特征与目标之间特定分配关系的条件下，得到某次观测的概率。为了计算该概率，我们必须考虑观测特征并非由任何目标产生的情况。我们将这类特征称为虚警。设 $\gamma$ 表示一个观测特征是虚警的概率。关联事件 $\theta$ 中包含的虚警数量由 $(m_k - |\theta|)$ 给出。那么 $\gamma^{(m_k - |\theta|)}$ 就是在已知 $\mathbf{Z}(k)$ 的条件下，$\theta$ 中所有虚警对应的概率。所有其余特征都被唯一分配给一个目标。假设各个特征的检测是相互独立的，我们可以得到

 $$ \begin{align*}P(\mathbf{Z}(k)\mid\theta,\mathbf{X}^{k})=\gamma^{(m_{k}-\mid\theta\mid)}\prod_{(j,i)\in\theta}\int\\p(\mathbf{z}_{j}(k)\mid\mathbf{x}_{i}^{k})p(\mathbf{x}_{i}^{k}\mid\mathbf{Z}^{k-1})\mathrm{d}\mathbf{x}_{i}^{k}.\end{align*} $$

将式(7)代入式(6)，利用 $P(\theta \mid \mathbf{X}^k)$ 为常数的假设，再将所得结果代入式(1)后，我们得到

 $$ \begin{aligned}&\beta_{ji}=\sum_{\theta\in\Theta_{ji}}\\ &\left[\alpha\gamma^{(m_{k}-\mid\theta\mid)}\prod_{(j,i)\in\theta}\int p(\mathbf{z}_{j}(k)\mid\mathbf{x}_{i}^{k})p(\mathbf{x}_{i}^{k}\mid\mathbf{Z}^{k-1})\mathrm{d}\mathbf{x}_{i}^{k}\right].\\ \end{aligned} $$

需要注意的是，原则上我们必须在求和中考虑数量呈指数增长的可能关联，这会导致该方法在目标数量较多时难以处理。为了解决这个问题，我们不再考虑包含似然可忽略的分配的联合关联事件 $p(\mathbf{z}_j(k) \mid \mathbf{x}_j^k)$。这种技术被称为门限法（gating），标准JPDAF也采用了该方法（Bar-Shalom和Fortmann，1988）。

接下来需要描述如何更新关于各个目标状态的置信度 $p(\mathbf{x}_i^k)$。在标准JPDAF中，通常假设潜在的密度可以通过一阶矩和二阶矩精确描述，因此采用卡尔曼滤波来更新这些密度。在贝叶斯滤波框架下，目标新状态的预测更新方程为

 $$ p(\mathbf{x}_{i}^{k}\mid\mathbf{Z}^{k-1})=\int p(\mathbf{x}_{i}^{k}\mid\mathbf{x}_{i}^{k-1},t)p(\mathbf{x}_{i}^{k-1}\mid\mathbf{Z}^{k-1})\mathrm{d}\mathbf{x}_{i}^{k-1}, $$

其中t表示自上一次更新以来经过的时间。每当新的传感器输入到达时，状态会根据下式进行修正：

 $$ p(\mathbf{x}_{i}^{k}\mid\mathbf{Z}^{k})=\alpha p(\mathbf{Z}(k)\mid\mathbf{x}_{i}^{k})p(\mathbf{x}_{i}^{k}\mid\mathbf{Z}^{k-1}), $$

同样，其中 $\alpha$ 是归一化因子。由于我们不知道 $\mathbf{Z}(k)$ 中的哪一个特征是由目标i产生的，我们根据分配概率 $\beta_{ji}$ 对各个特征进行积分

 $$ p(\mathbf{x}_{i}^{k}\mid\mathbf{Z}^{k})=\alpha\sum_{j=0}^{m_{k}}\beta_{j i}p(\mathbf{z}_{j}(k)\mid\mathbf{x}_{i}^{k})p(\mathbf{x}_{i}^{k}\mid\mathbf{Z}^{k-1}). $$

因此，我们只需要知道模型 $p(\mathbf{x}_i^k \mid \mathbf{x}_i^{k-1}, t)$ 和 $p(\mathbf{z}_j(k) \mid \mathbf{x}_i^k)$。二者都取决于被跟踪目标的属性和所用传感器的特性。另外一个重要问题是，如何表示各个目标状态空间上的分布 $p(\mathbf{x}_i^k)$。

JPDAF的一个更新周期可以总结如下。首先，根据之前的估计和目标的运动模型，对各个目标的状态 $\mathbf{x}_i^k$ 进行预测。该预测通过式(9)计算，得到分布 $p(\mathbf{x}_i^k \mid \mathbf{Z}^{k-1})$。随后，利用式(8)确定关联概率 $\beta_{ji}$。最后，利用这些关联将观测结果整合到各个目标的状态估计中（式(11)）。

#### 3.2 基于采样的方法

在大多数目标跟踪应用中，均采用卡尔曼滤波器（因此也采用高斯分布）来跟踪各个目标。在本文提出的方法中，我们使用粒子滤波来估计各个目标的状态。Doucet、de Freitas和Gordon（2001）给出了关于粒子滤波的优秀综述。所有粒子滤波的核心思想都是用N个带权重的随机样本构成的集合 $p(\mathbf{x}_i^k \mid \mathbf{Z}^k)$ 来表示密度 $\mathbf{S}_i^k$

---

样本或粒子$s_{i,n}^k$（$n = 1 \ldots N$）。样本集构成了概率分布的离散近似。每个样本都是一个元组$(x_{i,n}^k, w_{i,n}^k)$，由状态$x_{i,n}^k$和重要性因子$w_{i,n}^k$组成。贝叶斯滤波的预测步骤通过从上一次迭代计算得到的集合中抽取样本，并根据预测模型$p(\mathbf{x}_i^k \mid \mathbf{x}_{i,n}^{k-1}, t)$更新样本状态来实现。在校正步骤中，会将观测值$\mathbf{Z}(k)$整合到预测步骤得到的样本中。根据式(11)，我们在这一步需要考虑分配概率$\beta_{ji}$。但要确定$\beta_{ji}$，我们必须对状态$\mathbf{x}_i^k$进行积分，并以概率$p(\mathbf{x}_i^k \mid \mathbf{Z}^{k-1})$加权。采用基于样本的表示方式时，该积分可以通过对预测步骤后生成的所有样本求和来完成：

 $$ \beta_{j i}=\sum_{\theta\in\Theta_{j i}}\left[\alpha\;\gamma^{(m_{k}-|\theta|)}\prod_{(j,i)\in\theta}\frac{1}{N}\sum_{n=1}^{N}p(\mathbf{z}_{j}(k)\mid x_{i,n}^{k})\right]. $$

得到分配概率后，我们现在就可以计算各个样本的权重

 $$ w_{i,n}^{k}=\alpha\sum_{j=0}^{m_{k}}\beta_{j i}p(\mathbf{z}_{j}(k)\mid x_{i,n}^{k}), $$

其中$\alpha$是归一化项，确保所有权重对所有样本求和后等于1。最终，我们通过自举重采样从当前样本中得到N个新样本。为此，我们以概率$x_{i,n}^{k}$选取每个样本$w_{i,n}^{k}$。

### 4. 目标数量估计

JPDAF假设待跟踪目标的数量是已知的。但在实际应用中，目标数量通常会随时间变化。例如，当移动机器人在人员密集环境中移动时，机器人感知范围内的人数会频繁发生变化。我们通过额外维护一个关于k时刻目标数量$P(N^k \mid \mathbf{M}^k)$的分布$N^k$来解决该问题，其中$\mathbf{M}^k = m_0, \ldots, m_k$是迄今为止观测到的特征数量序列。根据贝叶斯定理，我们有

 $$ \begin{array}{r l r}{P(N^{k}\mid\mathbf{M}^{k})}&{=}&{\alpha\cdot P(m_{k}\mid N^{k},\mathbf{M}^{k-1})\cdot P(N^{k}\mid\mathbf{M}^{k-1}).}\end{array} $$

假设在给定当前目标数量的条件下，观测到的特征数量与之前观测到的特征数量相互独立，基于该假设我们可得

 $$ \begin{array}{r l r}{P(N^{k}\mid\mathbf{M}^{k})}&{=}&{\alpha\cdot P(m_{k}\mid N^{k})\cdot P(N^{k}\mid\mathbf{M}^{k-1}).}\end{array} $$

根据全概率公式，并且基于给定$N^k$时$\mathbf{M}^{k-1}$与$N^{k-1}$相互独立的假设，我们有

 $$ \begin{aligned}P(N^{k}\mid\mathbf{M}^{k})&=\alpha\cdot P(m_{k}\mid N^{k})\\&\cdot\sum_{n}\left[P(N^{k}\mid N^{k-1}=n)\right.\\&\left.\cdot P(N^{k-1}=n\mid\mathbf{M}^{k-1})\right].\end{aligned} $$

最终我们得到了$P(N^k \mid \mathbf{M}^k)$的递归更新流程，我们仅需知道量$P(m_k \mid N^k)$和$P(N^k \mid N^{k-1})$即可。其中$P(m_k \mid N^k)$表示当传感器感知范围内存在$m_k$个物体时，观测到$N^k$个特征的概率。在我们当前采用激光测距传感器的实现方案中，我们通过模拟实验中记录的5100次测距扫描学习得到了这个量，实验中最多将10个物体随机放置在机器人周围区域。得到的概率密度如图1所示。该图中，对角线上的值代表系统观测到的特征数量与实际物体数量相等的概率；对角线左侧的值对应误报概率；对角线右侧的值则表示在物体数量为$N^k$的条件下，观测到特定数量缺失特征的概率。需要注意的是，发生遮挡进而导致特征缺失的概率会随物体数量的增加而上升。相应地，机器人感知范围内的物体越多，出现特征缺失的可能性就越大。因此，图1所示的分布并不对应落在对角线上的一条直线。$P(N^k \mid N^{k-1})$描述了物体数量随时间的变化规律，在我们的系统中，我们将新物体的进入和已知物体的离开建模为泊松过程。

为了在SJPDAF中调整物体数量，我们的系统使用$P(N^k \mid \mathbf{M}^k)$的最大似然估计。如果SJPDAF中粒子滤波器的数量小于对$N^k$的新估计值，就需要初始化新的滤波器。在我们当前的系统中，我们通过从状态空间的均匀分布中采样来初始化新滤波器，之后依靠SJPDAF在后续的滤波器更新过程中消除分布的歧义性。实践证明该方法工作稳定可靠。反之，如果$N^k$的新估计值小于当前粒子滤波器的数量，则需要移除部分滤波器。但这要求我们知道哪一个滤波器不再跟踪物体。为了估计样本集的跟踪性能，我们在归一化步骤之前累积得到样本权重和$\hat{W}_i^k$的折扣平均$W_i^k$：

 $$ \hat{W}_{i}^{k}=(1-\delta)\hat{W}_{i}^{k-1}+\delta W_{i}^{k}. $$

当一个滤波器没有跟踪到测量中包含的任何特征时，样本权重和会显著下降，因此我们将该值作为对应物体已经离开机器人感知范围的指标。每当需要移除滤波器时，我们都选择折扣平均$\hat{W}_{i}^{k}$最小的那个滤波器。

### 5. 移动机器人激光人员跟踪的应用

在本节中，我们介绍了将SJPDAF应用于人员跟踪任务的工作，该任务所使用的测距数据采集自

---

![Image](images/7f8df7b66c6f5f84585bd9963e91198ec4def1645155f840109663de4e1cbead.jpg)

<div style="text-align: center;">Fig. 1. The sensor model  $P(m_{k} \mid N^{k})$ specifying the probability of observing  $m_{k}$ features, if  $N^{k}$ objects are in the perceptual range of the sensor.</div>

![Image](images/9b400834096fe08850ea07cd63408f63d6924695c5715a108219deb072624fac.jpg)

<div style="text-align: center;">Fig. 2. The RWI B21 robot Rhino used for the experiments.</div>

一台移动机器人。人员的状态由四元组$\langle x, y, \phi, v \rangle$表示，其中x和y对应相对于机器人的位置，$\phi$为朝向，v是人员的步行速度。实验使用我们的移动平台Rhino开展，这是一台RWI B21机器人（见图2）。该机器人配备了两台安装在40厘米高度的激光测距仪。这两个传感器的每次扫描都能以$1^\circ$的角分辨率覆盖机器人的整个周边环境。为了稳健地识别和跟踪人员，我们的系统结合使用了多种不同特征。在本节余下内容中，我们将介绍如何利用测距扫描仪获取的数据，生成作为SJDAF输入的特征。

通常，行走在激光扫描仪探测范围内的人员会在距离直方图中产生局部极小值。因此，我们为每个局部极小值计算一组二维位置概率网格，每个网格单元中存储概率值$P(\text{legs}_{x,y}^k)$，表示人员的腿位于相对于机器人的位置$\langle x, y \rangle$处的概率。图3的左图展示了一次包含三个局部极小值的典型测距扫描。基于这些局部极小值计算得到的直方图叠加效果如图3的中图所示。

但遗憾的是，典型办公环境中的其他物体也会产生与人类相似的模式。举例来说，请考虑图3左图展示的场景：在该场景中，两个人经过机器人，在测距扫描的距离直方图中产生了两个局部极小值，而第三个极小值则是由放置在走廊中央的垃圾桶造成的。为了解决这个问题，我们的系统额外考虑了连续扫描之间的变化。我们为每一对连续扫描计算局部占用栅格地图（Moravec 和 Elfes，1985）。基于这些占用栅格，我们计算出有物体移动到位置$P(\text{new}_{x,y}^k)$处的概率$\langle x, y \rangle$：

 $$ P(\mathrm{n e w}_{x,y}^{k})=P(\mathrm{o c c}_{x,y}\mid\mathbf{Z}(k))\cdot(1-P(\mathrm{o c c}_{x,y}\mid\mathbf{Z}(k-1))). $$

由于局部地图$P(\mathrm{occ}_{x,y}\mid\mathbf{Z}(k))$是在机器人移动过程中构建的，我们首先使用标准扫描匹配技术对地图进行配准（Lu 和 Milios，1994）。图4展示了两个连续且完成配准的局部栅格，以及最终得到的表示$P(\mathrm{new}_{x,y}^k)$的栅格。

为了计算粒子滤波校正步骤中样本的权重因子，我们结合每个特征$\mathbf{z}_j(k), 1 \leq j \leq m_k$的差分栅格和位置概率网格，计算得到$p(\mathbf{z}_j(k) \mid x_{i,n}(k))$。在假设各概率相互独立的前提下，我们有

 $$ \begin{array}{r}{P(\mathbf{z}_{j}(k)\mid x_{i,n}^{k})=P(\mathrm{legs}_{x_{i,n}}^{k})\cdot P(\mathrm{new}_{x_{i,n}}^{k}).}\end{array} $$

此外，我们还需要计算由样本$p(\mathbf{z}_0(k) \mid x_{i,n}(k))$表示的人员未在当前扫描中被检测到的似然$x_{i,n}(k)$。这种情况可能由特征提取失败或遮挡导致。第一种

---

![Image](images/f9abec4618f4818d4a22e166ab804b23557419b2d354677829445549825369e5.jpg)

<div style="text-align: center;">Fig. 3. Typical laser range-finder scan. Two of the local minima are caused by people walking by the robot (left image). Feature grid extracted from the scan representing the corresponding probability densities  $P(\text{legs}_{x,y}^{k})$ (center). Occlusion grid representing  $P(\text{occluded}_{x,y}^{k})$ (right).</div>

![Image](images/15dddd4ff3ce624b6c6fc12d7c3d7df1295872c631b048b1974beb36f546f9bf.jpg)

<div style="text-align: center;">Fig. 4. From left to right, top-down: the current occupancy map  $P(\mathrm{occ}_{x,y} \mid \mathbf{Z}(k))$; the previous occupancy map  $P(\mathrm{occ}_{x,y} \mid \mathbf{Z}(k-1))$; the resulting difference map  $P(\mathrm{new}_{x,y}^{k})$; and the fusion of the difference map with the feature maps for the scan depicted in Figure 3.</div>

情况通过在位置栅格和差分栅格的所有单元中设置一个较小的常数来建模。为了处理可能的遮挡，我们计算所谓的“遮挡图”，该图针对机器人周边的每个位置，存储了在第一步已提取当前特征的前提下对应位置不可见的概率$P(\text{occluded}_{x,y}^k)$。图3左侧扫描对应的最终遮挡图展示在图3的右图中。为了确定$P(\mathbf{z}_0(k) \mid x_{i,n}(k))$，我们使用该遮挡图和固定的特征检测失败概率$P(\neg\text{Detect})$：

 $$ P(\mathbf{z}_{0}(k)\mid x_{i,n}(k))=P(\operatorname{o c c l u d e d}_{x_{i,n}}^{k}\lor\neg\operatorname{D e t e c}). $$

此外，我们利用当前激光扫描中可见静态物体的信息，避免样本最终出现在物体内部或穿过物体。为此，我们从当前扫描的静态部分计算出占据概率网格，即使用所有不对应运动特征的光束。基于该网格，我们会剔除没有完全穿过自由空间的样本运动。

### 6. 实验结果

我们已经实现了SJPDAF，并将其应用于移动机器人Rhino的人员跟踪任务中（参见图2）。当前实现能够以3Hz的频率整合激光测距扫描数据。我们开展了一系列真实机器人实验与仿真实验。实验过程中，机器人的移动速度最高可达40 cm s $^{-1}$。由于很难获取人员位置的真值信息，我们额外使用B21模拟器开展了仿真实验。这些实验中，每个粒子滤波器使用1000个样本，误报概率$\gamma$被设为0.1。为了对人员运动建模，我们假设人员根据高斯分布改变行走方向和行走速度，平移速度范围被设定为0到150 cm s $^{-1}$。本节所述实验的目的是证明SJPDAF能够鲁棒且准确地跟踪数量可变的运动物体。实验还说明，使用我们提出的特征，即使机器人处于运动状态、人员发生临时互相遮挡，SJPDAF依然能够跟踪多个人。此外，我们将SJPDAF与标准JPDAF进行对比，证明SJPDAF在正确关联数量和跟踪误差两个方面都比JPDAF更鲁棒。

#### 6.1. 多人跟踪

本节的第一个实验旨在说明我们的方法跟踪多人的能力。本实验中，Rhino被放置在波恩大学计算机科学系的走廊内，机器人的任务是持续估计沿走廊行走的最多六名人员的位置。请注意，在本实验的部分场景中，计算联合关联概率需要我们评估超过40000个联合关联事件。为了让计算保持可处理，我们仅考虑边缘关联概率不低于0.01的特征-物体分配。

图5展示了本实验的两个序列。$^{1}$ 每个序列由成对图像组成，一张是由

---

<div style="text-align: center;">Sequence 1</div>

![Image](images/563feb9bf12a23aefdb077ab8d87fddd68bea51c6bd84e3f3e89f05e79b679d0.jpg)

<div style="text-align: center;">Sequence 2</div>

<div style="text-align: center;">Fig. 5. Two short tracking sequences showing a real photo and a 3D visualization of the state estimate at the same point in time. The time delay between consecutive images is 1.25 s.</div>

---

![Image](images/c1ad4128997bb880c72907815b24ed59c3a13767fc465b39bc094efa084e9460.jpg)

<div style="text-align: center;">Fig. 6. Tracking people using laser range-finder data.</div>

天花板安装摄像头拍摄的图像（左图），另一张是同一时刻根据我们系统当前估计生成的三维（3D）可视化图（右图）。连续图像之间的时间间隔为1.25秒。第一个序列中机器人保持静止，而第二列的序列中机器人的移动速度最高可达40 cm s $^{-1}$。从图中可以看出，即使机器人处于运动状态、人员互相遮挡，机器人依然能够准确估计人员的位置。

图6展示了Rhino跟踪其附近四名人员的典型场景，图中同时显示了样本集以及对应的距离扫描结果。从图中可以看出，我们的方法对遮挡具有鲁棒性，能够快速适应有额外人员进入场景的变化情况。例如，在左下角的图像中，右上角的人员在距离扫描中不可见，因为该人员被靠近机器人的另一个人遮挡了。机器人得知样本位于被遮挡区域后，就不会删除对应的样本集，而只会让样本扩散开，这体现了机器人对该人员位置的不确定性不断增加。

图7绘制了本次实验前950次扫描中检测到的特征数量。可以看出，场景中的人数一直在变化。请注意，特征的最大数量为7，这是因为门也会产生局部极小值，由于扫描配准存在微小误差，这些局部极小值有时会被误识别为特征。图中还显示了我们的SJPDAF所考虑的关联数量，从图中可以看出，整个序列中需要评估的关联数量始终保持在150以下。

#### 6.2 SJPDAF跟踪的准确性

接下来的实验旨在测试我们方法的准确性。我们再次将机器人放置在系馆的走廊中，同时最多有四人在走廊内行走，频繁进入机器人8米的感知范围。整个实验时长为235秒，实验过程中共出现16条不同的轨迹，也就是说我们观测到16次有人员进入机器人传感器范围的情况。

图8展示了整个实验的一小部分片段，图中有三个人沿走廊行走，图中显示了从实验记录数据中人工提取的真值。图9展示了我们算法估计得到的轨迹。可以看出，我们的系统能够相当准确地跟踪人员。请注意，标记为a的人员对应的样本集初始化存在一定延迟，该延迟是由人员b造成的遮挡导致的。

为了定量评估跟踪过程以及物体数量估计器的准确性，我们人工确定了每次扫描中的人数和每个人的位置，随后将这些值与结果进行比较。

---

![Image](images/7f8aaf946f4febbf8ea3e54d0020225cee6f10d8ecf90876b8b228ce2ac93717.jpg)

<div style="text-align: center;">Fig. 7. The number of features detected in each scan of the experiment depicted in Figure 5 and the number of joint association events evaluated for each scan.</div>

![Image](images/ee72381e38148f88f5562d05a34164b13912324033840a633d1589156dbe4f4e.jpg)

<div style="text-align: center;">Fig. 8. Trajectories of three people walking along the corridor while the robot is tracking them.</div>

![Image](images/37a90217d58db592660c3ed32caa7636da95351628b475694e8c14d96573c08a.jpg)

<div style="text-align: center;">Fig. 9. Trajectories estimated by the SJPDAF.</div>

---

由我们算法得到的结果。首先，我们的SJPDAF能够正确识别全部16条轨迹，其中真值与估计位置之间的平均位移为$16 \pm 5$ 厘米。其次，我们的算法能够鲁棒地估计轨迹数量，我们发现新增轨迹或消失轨迹的平均检测延迟为1秒。在此需要说明的是，该估计过程是一个滤波器，它可以平滑随机特征检测失败和误报带来的影响，但同时也会给正确物体数量的检测引入延迟。忽略该延迟效应，我们的估计器在90%的扫描中都正确确定了物体数量。

此外，我们开展了多次仿真实验。在本文报道的本次实验中，系统的任务是在机器人以最高25 cm s $^{-1}$的速度移动时跟踪四个运动物体。这些物体以50 cm s $^{-1}$的恒定速度运动，并按照标准差为45°的高斯分布改变运动方向。

图10的左图展示了本实验的一个典型片段，同一幅图的右图给出了该场景下目标位置的估计结果。四个不同目标的平均、均值、最小和最大跟踪误差如表1所示。请注意，轨迹a的极大最大误差源于当两个目标都位于机器人左侧时，轨迹a被轨迹c遮挡。根据我们的运动模型，轨迹a的采样点会立刻在被c遮挡的区域扩散开来。几步之后，部分轨迹a的采样点移动到c附近，因此获得了对应c的特征的观测支持。据此，SJPDAF推断出原本对应c的特征实际上对应a的概率很小。由于遮挡区域内的采样点几乎均匀分布，而c附近的采样点十分集中，因此在数步之内a的位置估计会与c的估计重合。但只要a对应的特征重新恢复可见，SJPDAF就会重新定位a，之后便能一直正确跟踪a。

#### 6.3. 遮挡处理的优势

为了探究显式遮挡处理的优势，我们系统分析了我们的机器人在以40 cm s $^{-1}$ 的速度移动时记录的数据集。本实验中，两个人在我们系的走廊内行走（见图11），速度分别为60和80 cm s $^{-1}$。如图所示，其中一人会暂时遮挡另一人。我们基于该数据集生成了40个不同的序列，用于定量分析。我们针对全部40组数据，分别评估了跟踪算法在开启和关闭遮挡处理时的性能。我们将以下情况判定为跟踪失败：两个采样集中的一个被移除，或者遮挡发生后一个采样集跟踪了错误的目标。不使用遮挡处理时，系统在7个案例中失败（占比17.5%）；使用遮挡处理时，机器人能够可靠地同时跟踪两个人，40个案例中仅1例失败（占比2.5%）。

#### 6.4. 与标准JPDAF的比较

正如上文所指出，粒子滤波器相比卡尔曼滤波器的主要优势在于：粒子滤波器原则上可以表示任意密度分布，而卡尔曼滤波器仅限于高斯分布。因此，我们的SJPDAF方法相比标准JPDAF能够生成更准确的密度，并且鲁棒性得到了显著提升。

##### 6.4.1. 预测精度

粒子滤波的一大优势在于其在预测步骤中具备极高的灵活性。例如，它允许我们在预测过程中纳入障碍物的影响。图12展示了一个典型场景：机器人跟踪一名行人，该行人径直朝着障碍物行走，随后从障碍物右侧穿过（见实线）。图12的左图给出了SJPDAF在三个不同时间点计算得到的粒子滤波概率密度。灰色阴影轮廓对应粒子的分布（灰度越深，似然度越高），这些分布是通过对离散位姿网格计算直方图得到的。图12的右图展示了标准JPDAF结合卡尔曼滤波在相同时间点计算得到的高斯分布马氏距离。从图中可以看出，两种滤波器在前两步都正确预测了行人的位置。但在第三步，卡尔曼滤波预测行人会直接穿过障碍物，而我们的SJPDAF则正确检测出行人必须从障碍物的左侧或右侧绕行，这一点由图12左图的双峰分布体现。因此，相比标准JPDAF，SJPDAF能为后续测量提供更好的支撑。

为了定量评估SJPDAF和JPDAF的预测精度，我们在仿真中开展了一百次该实验。实验过程中，目标始终在时间步7经过障碍物，且随机选择从左侧或右侧绕行。图13绘制了每个时间步中，目标真实位置周围$80 \times 80 \, cm^2$区域内预测状态密度的平均概率质量。JPDAF对真实位置的支撑度大幅下降，而SJPDAF则在障碍物左右两侧的可能位置处集中了更多的概率质量。因此，SJPDAF对真实位置的支撑度显著优于JPDAF。请注意，目标在步骤8再次改变运动方向，因此两种滤波器对目标真实位置的支撑度都有所降低。由于SJPDAF无法像步骤7那样利用障碍物信息，其对真实位置的支撑度有所下降，与JPDAF的水平相近。

---

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

<div style="text-align: center;">Fig. 10. Tracking four objects with a moving robot. The real trajectories are shown on the left. The right image contains the estimated paths.</div>

<div style="text-align: center;">Table 1. Tracking Errors for the Different Objects in the Experiment Depicted in Figure 10</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Track</td><td style='text-align: center; word-wrap: break-word;'>RMS Error (cm)</td><td style='text-align: center; word-wrap: break-word;'>Standard Deviation (cm)</td><td style='text-align: center; word-wrap: break-word;'>Minimum Error (cm)</td><td style='text-align: center; word-wrap: break-word;'>Maximum Error (cm)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>a</td><td style='text-align: center; word-wrap: break-word;'>34.79</td><td style='text-align: center; word-wrap: break-word;'>56.04</td><td style='text-align: center; word-wrap: break-word;'>8.20</td><td style='text-align: center; word-wrap: break-word;'>282.76</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>b</td><td style='text-align: center; word-wrap: break-word;'>22.98</td><td style='text-align: center; word-wrap: break-word;'>24.11</td><td style='text-align: center; word-wrap: break-word;'>6.70</td><td style='text-align: center; word-wrap: break-word;'>37.78</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>c</td><td style='text-align: center; word-wrap: break-word;'>24.52</td><td style='text-align: center; word-wrap: break-word;'>37.60</td><td style='text-align: center; word-wrap: break-word;'>5.40</td><td style='text-align: center; word-wrap: break-word;'>170.73</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>d</td><td style='text-align: center; word-wrap: break-word;'>28.87</td><td style='text-align: center; word-wrap: break-word;'>33.87</td><td style='text-align: center; word-wrap: break-word;'>8.69</td><td style='text-align: center; word-wrap: break-word;'>90.17</td></tr></table>

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

<div style="text-align: center;">Fig. 11. Estimated trajectories of two people in a situation in which one person temporarily occludes the other. The arrow indicates the point in time when the occlusion occurred.</div>

---

![Image](images/c253aece4fa61d127bdb523c1b6c591edea616617b07b5fa18e7244e58e531fb.jpg)

<div style="text-align: center;">Fig. 12. Tracking one object approaching a static obstacle, using a particle filter (left) and using a Kalman filter (right). The arrow indicates the trajectory taken by the object. The Kalman filter erroneously predicts that the object moves into the obstacle.</div>

![Image](images/99087489851dc5beda55d1ecc9898dcfe13f68350f2f9764509a735b7f4aa5c1.jpg)

<div style="text-align: center;">Fig. 13. Probability mass of the predicted state densities at the true locations of the object for the experiment illustrated in Figure 12. The false prediction of the Kalman filter leads to a low support at the true location.</div>

##### 6.4.2. 非线性性

如果被跟踪目标遵循非线性运动模型，目标状态估计的真实不确定性将不再服从正态分布。在这类情况下，标准JPDAF会采用扩展卡尔曼滤波（EKF）来近似目标状态估计的协方差，该近似基于对运动模型的线性化处理。但如果观测到达频率较低，就会产生相当大的线性化误差。与之不同，SJPDAF直接将非线性运动模型应用于采样，以此实现对状态不确定性更准确的近似。因此，SJPDAF计算得到的特征到目标的分配结果，比标准JPDAF得到的分配结果鲁棒性显著更高。

为了演示该效果，我们开展了一项额外的仿真实验（参见图14）。在本实验中，两个物体首先沿直线平行运动，随后以相同的恒定速度沿两个同心圆继续运动。我们通过统计数据关联失败的次数检验了跟踪算法的鲁棒性。为了表示每个物体的状态，我们使用五元组$\langle x, y, \theta, v, \omega \rangle$，其中x、y和$\theta$为位姿，v和$\omega$分别为平移速度和旋转速度。我们进一步假设两种速度都存在高斯噪声。我们针对不同的平移速度v重复了该实验，保持标准差$0.1 \, \text{m} \, \text{s}^{-1}$固定不变。我们将旋转速度的标准差设为$r/v$，其中r是圆形轨迹的恒定半径。对于每个v值，我们进行了100次蒙特卡洛运行，以确定错误关联的平均次数。观测数据以每秒一次的频率进行整合。

JPDAF和SJPDAF的实验结果如图14的右侧部分所示。从图中可以看出，当物体速度超过2.5 m s $^{-1}$时，SJPDAF的关联错误数量显著更低。

##### 6.4.3 杂波

使用粒子滤波还可以提高杂波环境下多目标跟踪的鲁棒性。为了演示该效果，我们开展了第三次仿真实验，实验中我们生成了不同数量的虚假量测。和之前一样，系统需要跟踪两个平行运动5秒的物体。之后，其中一个物体沿直径为4米的圆形轨迹运动（参见图15左图）。两个物体均采用相同的线性

---

![Image](images/bf02514c832ff764ebb20317f9beda48d1df870b097ea8c19db7594cb5b1c33a.jpg)

![Image](images/c1197e80c0dbac839bd833af3c643aafe8bc01d112a7b58d8163949a3cfa4bd9.jpg)

<div style="text-align: center;">Fig. 14. Trajectory of two objects moving on concentric circles (left image) and average number of wrong associations depending on translational velocity (right image).</div>

![Image](images/f9003c855fadff2abce284de79fbcb4acdd36b3611016e37ec2c7dd0226b3638.jpg)

![Image](images/dec65057192741b59e60af2cc6e390c099eef8a57c36ac5fd458bb41ad4aa87e.jpg)

<div style="text-align: center;">Fig. 15. Trajectory of the two objects being tracked (left image) and resulting average RMS error for increasing clutter densities (right image).</div>

运动模型，以$1 \, m s^{-1}$的恒定速度运动。我们假设平移速度存在标准差为$0.1 \, m s^{-1}$的白噪声，旋转速度存在标准差为0.5 rad的白噪声。每1.5秒整合一次新的观测数据，且假设量测误差服从正态分布，x方向和y方向的标准差均为0.2 m。

我们针对不同的杂波密度进行了400次蒙特卡洛运行。得到的平均均方根（RMS）误差随监视区域内虚假量测密度变化的结果如图15左侧部分所示。从图中可以看出，标准JPDAF的RMS误差增长迅速。这主要是因为JPDAF会丢失对沿圆形轨迹运动物体的跟踪。相比之下，SJPDAF的误差要小得多。值得注意的是，本实验证实了Lin等人（2002）已经得到的观测结论。他们已经证明，在会产生较大中间状态估计误差的场景中，粒子滤波的性能明显更优。

#### 6.5 SJPDAF相比标准粒子滤波的优势

过去，单状态粒子滤波也被用于多目标跟踪（Isard and Blake 1996; Koller-Meier and Ade 2001）。该方法基于密度中每个模态对应一个目标的假设，仅当所有目标在每个时刻都能被检测到且量测误差较小时才可行。例如，如果一个目标被遮挡，跟踪该目标的样本得到的重要性因子会远小于跟踪其他目标的样本。结果就是，所有样本会迅速集中到未被遮挡的目标上。

图16展示了机器人跟踪两个人的示例场景：其中一个人始终可见，第二个人则被静态障碍物暂时遮挡。该图上半部分展示了使用单状态粒子滤波时样本的演化过程，该滤波以双峰分布初始化，共使用1000个粒子。

---

![Image](images/c4363e866c3c1daeb915d70a4e6980f463aec3414d75f4fac2b6775c4bad6a3c.jpg)

<div style="text-align: center;">Fig. 16. Tracking two people with one sample set (top row) and with two sample sets (bottom row). The arrows indicate the position of the people and their movement direction.</div>

每个物体对应一个状态。一旦被跟踪的物体被遮挡，所有样本都会集中到未被遮挡的物体上，导致滤波器丢失对被遮挡物体的跟踪。该图下半部分展示了本文提出的SJPDAF得到的样本集。尽管被遮挡物体位置的不确定性有所增加，但该滤波器仍能可靠地同时跟踪两个物体。

### 7. 总结与结论

移动机器人目前已经发展到可以安全部署在人员密集环境中的阶段。在这类场景下，获知人员当前位置与运动方向的能力变得愈发重要。掌握人员的运动轨迹可用于改善机器人的导航行为与交互能力。本文提出了一种用于跟踪多个运动目标的新技术，我们的方法采用了SJPDAF，即联合概率数据关联滤波的基于采样的变体，同时还包含一个递归贝叶斯滤波器来应对目标数量变化的情况。使用粒子滤波具有多项显著优势：SJPDAF可以表示单个目标状态空间上的任意密度分布，因此能够得到更准确的估计，尤其是在预测步骤；粒子滤波可以轻松处理非线性系统，这一特性让算法行为更稳健，数据关联错误更少；最后，SJPDAF可以更稳健地处理存在大量杂波的场景。

我们的算法已经在配备激光测距仪的移动机器人上完成了实际实现与测试，此外还开展了大量仿真实验。所有结果都表明SJPDAF能够可靠、准确地跟踪数量可变的目标，同时也证明本文提出的算法优于目前已有的其他技术。

尽管本文得到了令人振奋的结果，但仍有多个方向值得未来进一步研究：例如当前系统为粒子滤波采用固定的样本量，在这方面，可根据底层不确定性自适应调整样本量的技术（Fox 2002）有望提升整体效率；此外，当前系统在发现新目标时随机引入样本，这种情况下更智能的采样技术有望得到更好的结果、实现更快收敛；未来工作的另一个研究方向是区分目标群体与单个目标，有时跟踪整个人群比跟踪个人更符合需求，例如单独跟踪每个人

---

可能会过于耗时，甚至根本无法实现，因为我们无法从传感器数据中提取出所有单个目标的特征。在这类场景中，将人群作为一个整体进行跟踪会更合适。但这需要一种新的数据关联算法，能够同时处理单个目标和目标聚类。

## 附录：多媒体扩展索引

多媒体扩展页面位于 <http://www.ijrr.org>。

<div style="text-align: center;">Table of Multimedia Extensions</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Extension</td><td style='text-align: center; word-wrap: break-word;'>Type</td><td style='text-align: center; word-wrap: break-word;'>Description</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>Video</td><td style='text-align: center; word-wrap: break-word;'>SJPDAF in action: The animation demonstrates how the particle filters evolve over time while tracking four persons in a corridor</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>Video</td><td style='text-align: center; word-wrap: break-word;'>Tracking quality: To highlight the tracking quality, this clip shows a video of a tracking experiment and simultaneously for each frame a 3D graphics visualization constructed from the corresponding SJPDAF estimates</td></tr></table>

## 致谢

本研究部分得到欧盟委员会IST计划（合同编号为IST-1999-12643和IST-2000-29456）、美国国家科学基金会（CAREER项目资助编号0093406）以及DARPA（MICA项目）的资助。

## 参考文献

Aggarwal, J. K., and Cai, Q. 1999. 人体运动分析综述。《计算机视觉与图像理解》73(3):428–440。

Arras, K. O., and Vestli, S. J. 1998. 面向邮件分发移动机器人系统MOPS的混合高精度定位方法。收录于IEEE国际机器人与自动化会议（ICRA）论文集。

Asoh, H., Hayamizu, S., Hara, I., Motomura, Y., Akaho, S., and Matsui, T. 1997. 办公对话机器人jijo-2的社会嵌入学习。收录于IJCAI-97会议录，IJCAI公司出版。

Bar-Shalom, Y., and Fortmann, T. E. 1988. 《跟踪与数据关联》，科学与工程数学系列。学术出版社，纽约。

Bennewitz, M., Burgard, W., and Thrun, S. 2002. 面向移动服务机器人的人体运动模式学习。

收录于IEEE国际机器人与自动化会议（ICRA）论文集。

Beymer, D., and Konolige, K. 2001. 移动平台上的人体跟踪。收录于IJCAI-2001机器人不确定性推理研讨会。

Black, M. J., and Jepson, A. D. 1998. 匹配时间轨迹的概率框架：基于Condensation的手势与表情识别。收录于ECCV论文集。

Bui, H., Venkatesh, S., and West, G. 2001. 基于抽象隐马尔可夫模型的广域空间环境跟踪与监控。发表于《国际模式识别与人工智能期刊》。

Burgard, W., Cremers, A. B., Fox, D., Hähnel, D., Lakemeyer, G., Schulz, D., Steiner, W., and Thrun, S. 1999. 交互式博物馆导览机器人的实践经验。《人工智能》114(1–2)。

Cox, I. J., Miller, M. L., Danchick, R., and Newnam, G. E. 1997. 两种排序分配算法的比较及其在多目标跟踪和运动对应中的应用。《IEEE航空航天与电子系统汇刊》33(1):295–301。

Cox, I. J. 1993. 运动对应中的统计数据关联技术综述。《国际计算机视觉期刊》10(1):53–66。

Cox, I. J., and Hingorani, S. L. 1996. Reid多假设跟踪算法的高效实现及其在视觉跟踪中的评估。《IEEE模式分析与机器智能汇刊》18(2):138–150。

Darrell, T., Moghaddam, B., and Pentland, A. P. 1996. 交互房间中的主动人脸跟踪与位姿估计。收录于IEEE第6届国际计算机视觉会议论文集，第67–72页。

Dellaert, F., Fox, D., Burgard, W., and Thrun, S. 1999. 移动机器人的蒙特卡洛定位方法。收录于IEEE国际机器人与自动化会议（ICRA）论文集。

Doucet, A., de Freitas, N., and Gordon, N. 编辑。2001. 《实践中的序贯蒙特卡洛方法》。施普林格出版社，纽约。

Endres, H., Feiten, W., and Lawitzky, G. 1998. 导航系统的现场测试：超市内自主清洁机器人。收录于IEEE国际机器人与自动化会议（ICRA）论文集。

Engelberger, J. F. 1993. 医疗保健机器人商业化：“Helpmate”的实践经验。《机器人学》11:517–523。

Fod、A.，Howard、A.，Matarić、M. J. 2002。基于激光的人员跟踪。发表于《IEEE国际机器人与自动化会议论文集》（ICRA）。

Fox、D. 2002。KLD-Sampling：自适应粒子滤波器。发表于《神经信息处理系统进展14》（NIPS）。

Fox、D.，Burgard、W.，Dellaert、F.，Thrun、S. 1999。蒙特卡洛定位：移动机器人的高效位置估计

---

。发表于《全国人工智能会议论文集》（AAAI）。

Fox、D.，Thrun、S.，Dellaert、F.，Burgard、W. 2001。移动机器人定位的粒子滤波器。收录于Doucet、A.，de Freitas、N.，Gordon、N. 主编，《实用序贯蒙特卡洛方法》，纽约：Springer Verlag。

González-Baños、H.H.，Lee、C. Y.，Latombe、J. C. 2002。障碍物间不可预测运动目标的实时组合跟踪。发表于《IEEE国际机器人与自动化会议论文集》（ICRA）。

Gordon、N. J. 1997。杂波环境下目标跟踪的混合自举滤波器。《IEEE航空航天与电子系统汇刊》33(1):353–358。

Gordon、N. J.，Salmond、D. J.，Smith、A. F. M. 1993。非线性/非高斯贝叶斯状态估计的新方法。IEE Proceedings F 140(2):107–113。

Gross、H.-M.，Boehme、H.-J.，König、A. 2002。家居商场导购移动服务机器人基于视觉的蒙特卡洛自定位。发表于《IEEE/RSJ智能机器人与系统国际会议论文集》（IROS）。

Gutmann、J.-S.，Burgard、W.，Fox、D.，Konolige、K. 1998。定位方法的实验对比。发表于《IEEE/RSJ智能机器人与系统国际会议论文集》（IROS）。

Hähnel、D.，Schulz、D.，Burgard、W. 2002。人口稠密环境下移动机器人的地图构建。发表于《IEEE/RSJ智能机器人与系统国际会议论文集》（IROS）。

Horswill、I. 1993。Polly：一个基于视觉的人工智能体。发表于《全国人工智能会议论文集》（AAAI）。

Illmann、J.，Kluge、B.，Prassler、E. 2002。运动模式的统计识别。发表于《IEEE/RSJ智能机器人与系统国际会议论文集》（IROS）。

Isard、M.，Blake、A. 1996。基于条件密度随机传播的轮廓跟踪。发表于《欧洲计算机视觉会议论文集》。

Jung、B.，Sukhatme、G. S. 2002。结构化环境下协同多目标跟踪的基于区域方法。发表于《IEEE国际机器人与自动化会议论文集》（ICRA）。

Kahn、R. E.，Swain、M.J.，Prokopowicz、P. N.，Firby、R. J. 1996。基于Perseus架构的手势识别。芝加哥大学技术报告TR-96-04，第19页。

Kanazawa、K.，Koller、D.，Russell、S. J. 1995。动态概率网络的随机模拟算法。发表于第11届人工智能不确定性年度会议论文集（UAI），加拿大蒙特利尔。

Kluge、B.，Koehler、C.，Prassler、E. 2001。激光雷达下多运动目标的快速鲁棒跟踪。发表于《IEEE国际机器人与自动化会议论文集》（ICRA）。

Koller-Meier、E.，Ade、F. 2001。多目标跟踪

采用condensation算法。《机器人与自主系统期刊》34(2-3):93–105。

Kortenkamp, D., Huber, E., 和 Bonasso, R. P. 1996。《移动机器人上的手势识别与解读》，载于Proc. American Conf. on Artificial Intelligence。

Kruse, E., 和 Wahl, F. 1998。《面向移动机器人导航的基于摄像头的监控系统》，载于Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS)。

Lavalle, S. M., González-Baños, H. H., Becker, G., 和 Latombe, J.-C. 1997。《保持移动目标可见性的运动策略》，载于Proc. IEEE Int. Conf. on Robotics and Automation (ICRA)。

Lenser, S., 和 Veloso, M. 2000。《面向建模不完善的移动机器人的传感器重置定位方法》，载于Proc. IEEE Int. Conf. on Robotics and Automation (ICRA)。

Lin, X., Kirubarajan, T., Bar-Shalom, Y., 和 Maskell, S. 2002。《纯方位目标跟踪问题的EKF、伪测量滤波器与粒子滤波器对比》，载于Proceedings of SPIE 4728。

Lindström, M. 和 Eklundh, J.-O. 2001。《移动平台上基于激光测距扫描仪的运动目标检测与跟踪》，载于Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS)。

Lu, F., 和 Milios, E. E. 1994。《通过匹配二维距离扫描实现未知环境中的机器人位姿估计》，载于IEEE Computer Vision and Pattern Recognition Conference (CVPR)。

MacCormick, J., 和 Blake, A. 1999。《多目标跟踪的概率排除原理》，载于Proc. 7th Int. Conf. on Computer Vision (ICCV)，页码 572–587。

Montemerlo, M., Thun, S., Koller, D., 和 Wegbreit, B. 2002。《FastSLAM：同步建图与定位问题的分解解法》，载于Proc. National Conf. on Artificial Intelligence (AAAI)。

Montemerlo, M., Thun, S., 和 Whittaker, W. 2002。《面向同步移动机器人定位与人员跟踪的条件粒子滤波器》，载于Proc. IEEE Int. Conf. on Robotics and Automation (ICRA)。

Moravec, H. P., 和 Elfes, A. E. 1985。《基于广角声呐的高分辨率地图》，载于Proc. IEEE Int. Conf. on Robotics and Automation (ICRA)，页码 116–121。

Murphy, K., 和 Russell, S. 2001。《动态贝叶斯网络的Rao–Blackwellised粒子滤波》，载于Doucet, A.、de Freitas, N.、Gordon, N. 主编，《实践中的序贯蒙特卡洛方法》，Springer Verlag，纽约。

Murrieta-Cid, R., González-Baños, H. H., 和 Tovar, B. 2002。《用于保持不可预测目标可见性的反应式运动规划器》，载于Proc. IEEE Int. Conf. on Robotics and Automation (ICRA)。

Parker, L. E. 1997。《多目标观测的协同运动控制》，载于Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS)。

Pirjanian, P., 和 Matarić, M. 2000。多机器人目标获-

---

取，基于多目标行为协调，载于Proc. IEEE Int. Conf. on Robotics and Automation (ICRA)。

Pitt, M. K., 和 Shephard, N. 1999。《滤波通过模拟：辅助粒子滤波器》，《美国统计学会杂志》94(446)。

Rasmussen, C., 和 Hager, G. D. 1998。《多部分目标跟踪的联合概率方法》，载于Proc. Int. Conf. on Computer Vision and Pattern Recognition (CVPR)。

Simmons, R., Goodwin, R., Haigh, K., Koenig, S., 和 O'Sullivan, J. 1997。《办公递送机器人的分层架构》，载于Proc. 1st Int. Conf. on Autonomous Agents，加利福尼亚州玛丽娜德尔雷。

Tadokoro, S., Hayashi, M., Manabe, Y., Nakami, Y., Takamori, T. 1995。《关于与人类共存并协作的移动机器人运动规划研究》。载于IEEE/RSJ智能机器人与系统国际会议（IROS）论文集。

Thrun, S., Bennewitz, M., Burgard, W., Cremers, A. B., Dellaert, F., Fox, D., Hähnel, D., Rosenberg, C., Roy, N., Schulte, J., Schulz, D. 1999。MINERVA：第二代

移动式导览机器人。载于IEEE机器人与自动化国际会议（ICRA）论文集。

Vlassis, N., Terwijn, B., Kröse, B. 2002。基于高维传感器观测的辅助粒子滤波机器人定位方法。载于IEEE机器人与自动化国际会议（ICRA）论文集。

Waldherr, S., Thrun, S., Romero, R., Margaritis, D. 1998。基于模板的移动机器人姿态与运动手势识别。载于美国人工智能协会全国会议（AAAI）论文集。

Wolf, J., Burgard, W., Burkhardt, H. 2002。基于不变特征图像检索系统的鲁棒移动机器人视觉定位。载于IEEE机器人与自动化国际会议（ICRA）论文集。

Wren, C. R., Azarbayejani, A., Darrell, T., Pentland, A. P. 1997。Pfinder：人体实时追踪。《IEEE模式分析与机器智能汇刊》19(7):780–785。

Zhu, Q. 1991。面向移动机器人导航动态避障的隐马尔可夫模型。《IEEE机器人与自动化汇刊》7(3)。