
# 基于 3D 骨架的头部检测和跟踪方法，使用深度图像

Pandu Rangarao Devarakota, 学生会员，IEEE；Marta Castillo-Franco；Romuald Ginhoux, 会员，IEEE；Bruno Mirbach；Serge Kater；Björn Ottersten, 院士，IEEE

摘要：基于视觉的 3D 头部检测和跟踪系统已被应用于多种领域，如视频监控、人脸检测系统和乘员姿态分析。本文介绍了一种基于拓扑的框架，该框架使用 3D 骨架模型，用于从低分辨率深度图像数据中对车辆乘员头部位置进行鲁棒检测和跟踪，从而实现被动安全系统。与之前的头部检测方法不同，所提出的方法探索场景的拓扑信息来检测头部的位置。在各种可用的拓扑表示方法中，选择了 Reeb 图技术，并对其进行了修改以适应低分辨率 3D 深度图像。通过使用莫尔斯径向距离函数，可以实现对图的旋转不变性。为了应对噪声和数据密度变化等问题，提出了一种体素邻域连接性概念。将具有最近邻数据关联和卡尔曼滤波预测的多元假设跟踪器 (MHT) 应用于 Reeb 图的端点，以选择和过滤正确的头部候选。对头部检测框架进行了全面的实验评估，并与真实数据进行比较。结果表明，本文开发的 Reeb 图拓扑算法可以正确地检测出乘员的头部，并将只有两个头部候选作为 MHT 的输入。实验结果表明，所提出的框架在场景变化较大时具有鲁棒性。讨论了所提出的方法的处理要求。结果表明，操作数量相对较少，并且可以使用所提出的方法满足实时处理要求。

关键词：安全气囊、汽车安全、多元假设跟踪 (MHT)、Reeb 图、3D 头部检测和跟踪、3D 骨架。

稿件接收日期：2007年12月24日；修订日期：2008年6月13日、2008年9月24日和2009年1月6日。首次发表日期：2009年4月10日；当前版本发表日期：2009年10月2日。本工作由 IEE S. A.（卢森堡）以及卢森堡国际信息技术高级研究（Luxembourg International Advanced Studies in Information Technology，卢森堡）提供支持。本论文由 Dr. M. S. Ahmed 协调审阅。

P. R. Devarakota 供职于 IEE S. A.（卢森堡，邮编 5326），以及瑞典皇家理工学院电气工程系信号处理组（邮编 100 44，斯德哥尔摩）（电子邮件：<mailto:pandu.devarakota@ee.kth.se>）。

M. Castillo-Franco、R. Ginhoux、B. Mirbach 和 S. Kater 供职于 IEE S. A.（卢森堡，邮编 5326）（电子邮件：<mailto:marta.castillo@iee.lu>；<mailto:romuald.ginhoux@iee.lu>；<mailto:bruno.mirbach@iee.lu>；<mailto:serge.kater@iee.lu>）。

B. Ottersten 供职于瑞典皇家理工学院电气工程系信号处理组（邮编 100 44，斯德哥尔摩），以及卢森堡大学 securityandtrust.lu（邮编 1359，卢森堡）（电子邮件：<mailto:bjorn.ottersten@ee.kth.se>）。

本文中的一个或多个图的彩色版本可在网上查看（<http://ieeexplore.ieee.org>）。

![Image](images/89feae46bef4a1aec3d72b2a31baf501fb7e890422b9d84a5e01d34d254f7cce.jpg)

<div style="text-align: center;">Fig. 1. In-position and out-of-position zones of the passenger seat. By monitoring the passenger's head, the 3-D vision system detects the critical passenger position. The airbag should not be triggered if the passenger's head is located in the out-of-position area at the instant of the crash.</div>

数字对象标识符 10.1109/TVT.2009.2020595

## I. 引言

基于视觉的3D头部检测和跟踪系统已被广泛应用于各种领域，例如视频监控、人脸检测系统以及乘客姿态分析和跟踪系统[^1] [^2] [^3] [^4]。 在这些应用中，主要挑战在于如何应对场景、视角和照明条件的巨大变化，并实现实时性能。 在汽车安全领域，最近研究了一种基于新型测距传感器的3D视觉系统，以解决用于最佳气囊部署的乘客分类问题[^5]。 该测距传感器基于飞行时间原理，使用近红外光作为主动照明源。 与过去为相同应用提出的其他3D视觉系统相比（参见，例如，[^3]、[^6]和[^7]），该系统具有直接提供与照明条件和物体纹理无关的密集测距图像的优点。

该系统还可以用于检测乘员的大小、位置和姿势。特别是，乘员的头部位置为安全气囊的控制单元提供重要信息，以便根据乘员的位置以最佳水平展开安全气囊，即在提供最佳保护的同时，降低因安全气囊展开而造成的受伤风险。

为此，需要相对于车辆坐标系定位乘客的头部。在所谓的非正常位置情况下，如果头部离安全气囊模块太近，则应降低安全气囊的压力或根本不触发安全气囊（参见图 1）。

在这种情况下的鲁棒头部检测是一个具有挑战性的问题，因为该应用存在一些限制。人脸识别

---

用于头部检测的方法不适用，因为面部可能并不总是可见，因为摄像头安装在汽车的顶置模块中，提供的是乘客的侧面视图，而不是正面视图。此外，像[^5]中研究的那种低分辨率摄像头无法捕捉到面部检测所需的细节。通常，头部检测是基于分析数据中头部形状对象的局部形状。通常，对于这种情况，会考虑具有椭圆形形状的头部模型（例如，在单目摄像头的情况下，在场景中寻找类似椭圆的形状，或者在三维摄像头的情况下，在场景中寻找类似椭球体的三维形状）[^3]、[^8]、[^9]、[^10]。然后，分类是基于从数据中检测到的每个头部形状提取的形状特征。然而，由于以下原因，此类头部检测方法的鲁棒性可能存在问题。一方面，由于发型、帽子等，人类头部的形状变化很大。另一方面，场景中许多区域，例如乘客的肩膀和肘部，局部具有头部模型的形状。此外，乘客可能会携带其他物体，例如气球，这些物体甚至比乘客的头部更符合头部模型。此外，几何方法检测到的候选数量不能预先限制。

克服这些可能出现错误检测的情况的唯一方法是，不仅要考虑局部形状特征，还要考虑整个场景的拓扑结构。 基本思想是，车辆乘客具有典型的拓扑结构，该结构与乘客的体型和其他变化（如改变几何形状的发型）无关。 拓扑结构可以用骨架或图来数学表示。 场景的重要部分可以通过骨架的分支来表示。 例如，在乘客座位通常由人占据的场景中，骨架由三个分支表示：一个对应于靠背，第二个对应于人的上身，第三个对应于人的腿。 这样，可能的头部候选者可以被识别为骨架的端点，它们的position可以从与端点相关联的数据点的坐标来确定。 拓扑信息非常吸引人，因为它不需要假设任何几何模型或进行任何局部特征分析。 本文提出了一种用于低分辨率深度图像的一般基于拓扑的框架，该框架提供了一种系统地检测车辆乘客头部的途径。

### 3-D对象的拓扑编码

在计算机视觉的各种应用中，用骨架结构表示的对象的拓扑结构已被证明非常有用，例如3-D索引 [^11]、分类 [^12]和3-D对象重建 [^13]。 Reeb图是一种表示拓扑的方法，它是一个骨架，显示对象的不同部分是如何相互连接的 [^14] [^15] [^16]。 本文的目标不是证明Reeb图方法优于其他替代骨架化方法，而是要显示拓扑信息如何用于在汽车安全应用中定位乘客的头部位置。 在类似条件下，也可以使用Reeb图以外的其他拓扑表示。

Reeb图基于莫尔斯理论 [^14]，该理论指出，可以通过识别定义在流形上的光滑函数的临界点来检测流形的拓扑变化。 只有一个点是临界点，当且仅当该光滑函数关于流形的局部参数化中的导数消失时。 Reeb图图形地显示了所有已识别的临界点及其拓扑连接。 它的最初目的是表示紧流形的骨架，因此对于理解流形的形状的内在拓扑结构非常有用 [^15]。 通过了解临界点，可以将流形嵌入到3-D空间中的方式，通过Reeb图进行编码。

Reeb 图提取中的一个主要问题是其不变性。 提取的 Reeb 图应该对平移、旋转和缩放具有不变性，具体取决于应用。 例如，在物体识别应用中，人们更希望 Reeb 图对物体可能出现的各种真实变化具有不变性。 通过定义合适的莫尔斯函数，可以实现这一点。 文献中研究了多种函数，每种函数都有不同的特性和适用性，适用于不同类型的应用。 在 [^13] 中引入的高度函数适用于沿垂直轴分布的模型，例如人类表示。 该函数返回 z 坐标的值，如果它定义在一个 2-D 流形上。 高度函数易于计算，但它对物体旋转是敏感的。 在 [^17] 中，提出了一种莫尔斯距离函数，并证明了它对平移、缩放和旋转具有不变性。 由于其简单性和不变性，我们在我们的方法中将距离函数视为莫尔斯函数。

传统的 Reeb 图方法需要闭合物体表面的密集 3-D 表示，例如三角网格表示。 然而，这并不适用于从范围图像提取的 3-D 表示。 在那里，您可以获得一组 3-D 点，表示从相机视点可见的物体表面的一部分。 这种类型的数据与密集体数据没有相同的连接性，更可以将其视为 2.5-D 数据。 这些数据的第二个特性是，数据点的密度不是恒定的，而是随物体表面点到相机的距离而变化，例如，对于监视汽车乘客座椅的广角相机。 此外，从真实图像中提取的数据会受到范围测量中的噪声的影响。 因此，提取 Reeb 图的传统方法必须进行改进和调整，以适应当前的应用以及手头 3-D 数据的特定特性。

### B. 论文的贡献和组织

本文的贡献可以总结如下：

1) 使用一种新颖的 3-D 范围相机技术检测乘客的 3-D 头位置；

2) 用于头部检测和跟踪的新颖基于拓扑的框架；

---

3) 从范围图像数据提取 Reeb 图，从而通过建立体素连接来处理数据密度的变化；

4) 通过结合拓扑方法和特定于应用的几何约束，将头部候选数量减少到最多两个；

5) 评估一种多假设跟踪 (MHT) 算法，以在序列中的每个帧中确定正确的头部位置。

作为第一项任务，我们在此提出一种将 Reeb 图方法应用于我们 2.5 维数据的改进方法，这受到了 Xiao 等人的工作 [^18] 的启发，他们提出了一种离散 Reeb 图 (DRG) 方法来处理通过完整扫描对象获得的 3 维点云数据，以分割人体不同部分。他们探索了基于 3 维数据点之间配对距离的连接性。对于我们的数据，我们建议使用体素的邻域连接性来构建 Reeb 图。使用体素表示 2.5 维数据的优点是，通过为每个体素选择合适的激活级别（取决于其与相机的距离），可以应对数据密度的大幅变化，并消除可能由于数据中的噪声而引起的离群值。此外，体素连接性在计算上比计算配对距离更有效，这对于开发汽车应用至关重要，并且该应用也受到成本限制。

对于跟踪任务，为了跟踪由Reeb图给出的多个头部候选者，考虑使用MHT算法[^19]。MHT算法的目的是为瞬时检测到的头部候选者生成多个轨迹，并在序列的每一帧中选择最可能的头部位置。然而，众所周知，MHT算法的一个关键问题是随着时间的推移，假设的组合爆炸。由于上述事实，MHT算法在时间和内存方面都呈指数增长。所提出的拓扑方法的一个优点是，它可以产生有限数量的候选者，从而限制了MHT中假设的潜在组合爆炸。为了解决候选者关联歧义，考虑使用具有马哈拉诺比斯距离测试的最近邻数据关联算法。基于关联矩阵，使用具有近常速模型的线性卡尔曼滤波器更新轨迹。车辆乘客的加速度被视为模型噪声。为了最初选择接近真实头部位置的正确头部候选者，根据对车辆中情况的拓扑和几何约束的评估，导出了一个简单规则。

本文的组织结构如下。我们首先简要描述了在车辆内部进行的实验设置，以及范围数据采集方法，在第二节中进行了介绍。关于头部检测的改进Reeb图概念的详细描述，在第三节中进行了介绍。第四节描述了用于处理Reeb图给出的多个头部候选的MHT算法。第五节展示了所提出的方法的实验评估结果。第六节对所提出的方法的处理要求进行了详细讨论。本文最后在第七节中总结了结论。

### II. 数据采集和实验设置

一种基于飞行时间原理的新型三维低分辨率测距相机被用于 [^20]. 该相机的优点是，它直接提供一个密集的光程图像，与环境照明条件和物体纹理无关。 场景被广泛地用调制红外光束照射，频率为 20 兆赫；然后，调制光束被物体反射，并通过接收器检测。 由于光从目标往返的时间，检测到的光束与照明中的调制信号的相位相比，会产生相位偏移。 这种相位差 $\Delta\phi$ 可以通过在四个时间位置采样接收到的光强 $a_{0}, \ldots, a_{3}$ 来计算，这些位置对应于 0、$\pi/2$、$\pi$ 和 $3\pi/4$ 的相位偏移。 然后，幅度和平移量由以下公式给出：

 $$ \begin{aligned}A&=\frac{\sqrt{(a_{3}-a_{1})^{2}+(a_{0}-a_{2})^{2}}}{2}\\\Delta\varphi&=atan\left[\frac{a_{3}-a_{1}}{a_{0}-a_{2}}\right].\end{aligned} $$

测得的相位延迟可以直接转换为目标与相机之间的距离，记为 L，根据以下公式：

 $$ L=L_{\max}\frac{\Delta\varphi}{2\pi} $$

其中，参数 $L_{\mathrm{max}}$ 称为传感器的非歧义范围 ($L_{\mathrm{max}}=c/2f_{\mathrm{mod}}$，其中 $f_{\mathrm{mod}}$ 是照明的调制频率) [^21]. 对于本文中使用的样本，调制频率为 20 兆赫，从而获得 750 厘米的非歧义范围。

通过独立地执行此相位测量，但并行地对图像的每个像素进行测量，可以获得一个距离图像（也称为距离图像），即一个二维图像，其中每个像素值表示相机中心到场景中对应像素所观察到的点的径向距离。

距离测量的准确性主要取决于接收到的光的幅度 A (1)，该幅度取决于物体的反射系数和物体与相机的距离（参见 [^22]）。 因此，引入了一个幅度阈值，如果 A 高于此阈值，则距离测量噪声的标准偏差低于 5 厘米。 如果幅度低于此阈值，则不计算 (2) 中的距离，并且将相应的像素标记为黑色。 在理想条件下可以获得的系统分辨率约为 1.0 厘米。

该摄像头配备了广角镜头，视场为 $120^{\circ} \times 90^{\circ}$，安装在汽车的顶棚模块中，如图2所示。镜头将车内场景成像到一块拥有 $52 \times 50$ 像素的成像器上，每个像素会给出相机镜头到对应场景点的径向距离，该场景点被光学映射到对应像素上。对于给定的视场，该像素数量在 $3 \, cm \times 2 \, cm$ 距离处可提供 $50 \, cm$ 的横向分辨率，这对应于

---

![Image](images/e34dd60e0a49d1f3015433e409ea58f4a4a8efca5cad050dedf686bbf737342d.jpg)

<div style="text-align: center;">Fig. 2. Test vehicle equipped with a prototype camera mounted in the overhead module; the camera is able to survey the complete passenger seat.</div>

乘员与摄像头的平均距离。该摄像头 $T_{\text{cam}}$ 的帧率为14帧/秒，尺寸为13.9 cm × 4.2 cm × 6 cm。有关该摄像头技术的更多细节，请参见 [^22]。

图 3(a) 显示了一个伪彩色表示的深度图像示例，而图 3(c) 显示了同一场景的强度图像，该图像由高分辨率 2-D 相机拍摄，用作参考。可以通过将深度图像与汽车内部的参考深度图像进行比较，轻松地对前景对象与背景进行分割。由于头枕和座椅的位置可能会发生变化，因此无法通过所谓的背景裁剪来消除它们，因此它们被认为是前景场景的一部分。图 3(b) 显示了图 3(a) 中的同一图像，经过背景裁剪和滤波处理。请注意，在图 3(a) 中，深棕色（黑色）像素的对应距离未计算，因为该像素接收到的光强小于某个阈值。

### III. 从 Reeb 图中检测头部的方法

### A. 深度数据的 Reeb 图提取

在过去，Reeb 图提取已针对 2-D 和 3-D 图像进行研究（例如，参见 [^13]、[^15] 和 [^17]）。在 [^11] 中报告了一种从深度数据中提取 Reeb 图的方法，并将其用于 3-D 索引任务。这些研究基于 3-D 对象以显式表面建模的假设，例如三角网格或参数表面，而这些表面计算起来可能非常耗时。此外，临界点的可能定义通常存在不稳定性，因为顶点坐标的微小扰动（在三角网格表示法中）可能导致相当不同的配置。在 [^12] 中，提出了一种扩展的 Reeb 图方法，用于离散表面，其中数据由多边形轮廓描述。但是，这些表示法不适用于深度传感器产生的潜在噪声和不完整数据。此外，直接在深度图像上应用 Reeb 图是不可能的，因为数据不符合平滑流形的假设。

在[^18]中，提出了一种用于密集范围数据的Reeb图构建方法，该数据由围绕物体的全扫描获得。作者探讨了使用Reeb图来分割人类的

![Image](images/76d42d13232883962052062e80a6bdda9bce71e8b404d495d08599fced1934eb.jpg)

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

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

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

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

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

<div style="text-align: center;">Fig. 3. Example of a range image taken from a person on the passenger seat. (a) Raw range image in false-color representation. Blue (dark gray) represents the closest points to the camera, and red (light gray) presents the farthest points from the camera. (b) Same range image clipping the background and filtering. The remaining object shows the person and the vehicle seat. (c) High-resolution image of the same scene is shown.</div>

体表扫描。在其中，提取的锐边图被称作DRG。任意两点之间的连接性是根据它们之间绝对差值的阈值来定义的。我们的方法受到[^18]中方法的启发；但是，我们选择使用体素邻域的概念来在图中建立连接。密集范围数据的体素表示特别有利，因为可以根据每个体素与相机的距离为其分配一个激活级别（参见下文），从而考虑数据的密度变化。此外，体素表示允许消除由于范围测量中的噪声而可能出现的异常值。

### B. 体素邻域

在所有实验中，都使用表示在笛卡尔坐标中的范围图像。也就是说，范围图像在车辆坐标

---

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

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

![Image](images/a3dc5f19f3bd11a0a40a644624cd96270e48d6842b42a79af1159338449642a4.jpg)

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

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

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

<div style="text-align: center;">Fig. 4. (a) Example of a clipped range image. (b) Scatter plot of Cartesian coordinates extracted from the range image in the vehicle coordinate system (only  $(x, z)$ shown). (c) Corresponding voxel representation of the 3-D-scatter plot. The arrow in (b) indicates the starting point for the Reeb graph extraction algorithm.</div>

系统中，为每个像素分配一个三元组$(x, y, z)$，具体实现如下。

- 在系统初始化时，会根据内部和外部相机参数计算一组单位向量。每个像素都与一个单位向量相关联，该向量指向其接收光线的方向。这些单位向量在系统的运行期间存储在内存中。

- 通过将测距图像点与单位向量相乘，并加上一个常数平移，可以实现到车辆坐标的转换。该常数平移表示相机原点和车辆坐标系统之间的偏移量。

图 4(a)显示了一个测距图像的示例，图 4(b)显示了相应的坐标点的散点图。

我们方法的第一个步骤是将这些三维数据点转换为体表示。为此，使用尺寸相等的立方体体素网格。也就是说，通过一个规则间隔的体素元素数组对三维坐标空间进行采样，并且每个体素可以被看作是笛卡尔空间中的一个盒子。体素的大小是一个参数，该参数根据数据和应用进行调整。也就是说，体素大小的选择应大于相机的最小分辨率，但足够小以解析我们感兴趣的乘员场景拓扑的细节。我们选择了一个等于 100 毫米的体素大小，这对应于人类头部的大致半径。图 4(c)显示了图 4(b)中场景的体素表示，仅作为示例。

图像中的每个像素都唯一地分配给一个体素，但每个体素可以包含多个像素。只有当体素包含的像素数量超过所谓的激活水平时，才认为该体素被激活。由于三维数据的密度在局部上取决于物体到相机的距离，因此我们选择激活水平为 $C/d^2$，其中 $d^2$ 是体素元素包含的所有像素的均方距离，并且常数 C 被选择，使得激活水平从最远距离处的 1 个像素变化到相机到乘员的平均距离处的 10 个像素。 这样，单个异常值不会导致体素被激活。

现在，Reeb 图的提取基于以下定义的连接性概念。

定义 1（体素邻域的概念）：如果两个体素元素共享一个面，则它们被认为是 6-邻近；如果它们共享一个面或一条边，则它们被认为是 18-邻近；如果它们共享一个面、一条边或一个顶点，则它们被认为是 26-邻近 [^23]。

定义 2（点的连接性）：设 $p_{1} = (x_{1}, y_{1}, z_{1})$ 和 $p_{2} = (x_{2}, y_{2}, z_{2})$ 是测距图像中的两个数据点。如果它们对应的体素元素是 6-邻近，则定义两个点是连接的。

定义 3（连接点集）：点集 $P = \{p_i\}$、$i = 1, \ldots, m$ 是连接的，如果 $\forall i, j$ ( $i \neq j$)、$p_i$ 和 $p_j$ 是连接的。

定义 4（连接点集的连接性）：两个连接的点集 $P = \{p_i\}, i = 1, \ldots, m$、$Q = \{q_j\}$ 和 $j = 1, \ldots, n$ 被定义为连接的，如果存在 $\exists p_i \in P$ 和 $q_j \in Q$，使得 $p_i$ 和 $q_j$ 是连接的。

### C. Reeb 图提取算法

该算法旨在通过提取瑞布图来描述与车辆乘客相关的场景拓扑。为此，需要首先识别和提取瑞布图中拓扑变化发生的关键点。连接关键点的分支代表场景的不同部分。目标是使生成的瑞布图具有很少的分支，其中一个分支对应于人的上躯干，包括颈部和头部。因此，瑞布图的端点用于识别潜在的头部候选者。

该算法的工作方式如下。作为莫尔斯函数，我们选择在[^17]中提出的径向距离函数。由于该函数具有旋转不变性，因此它优于其他函数。此外，在[^17]中还表明，可以使用该方法获得一种与缩放和平移都具有不变性的锐边图。

锐边图提取算法的流程如图 5 所示。它从识别原点 o 开始。

---

![Image](images/4108802c92bcf163294e573525a6f08a1e0ec052fc68234a0de1f7e617d7f2d4.jpg)

<div style="text-align: center;">Fig. 5. Flow diagram of the Reeb-graph-based head-detection algorithm.</div>

场景中距离函数从起点开始以K步逐渐增长，步长依次为 $r_k = k \cdot \Delta r$、$k = 1, \ldots, K$，固定步长大小为 $\Delta r$，直到覆盖所有数据。步长决定Reeb图的分辨率，本文将其选为等于100 mm的体素大小，这对应于人类头部的典型半径。

在 [^17] 中，将物体的质心作为起点。由于我们的目标是获得一个不随人体上半身旋转变化的不变图，因此我们选择靠近乘客髋部的点[参见图4(b)]作为原点。该点的定位方法如下：我们首先确定激活体素的值范围 $[x_{\min}, x_{\max}]$，然后选择中心x坐标 $(x_{\mathrm{c}} = (x_{\min} + x_{\max}) / 2)$。在所有具有该x值的体素中，选择z值最小的体素作为起点。

距离函数的水平集是半径为$r_k$的同心球面（参见图6）。在K步的每一步中，我们选取位于球面k和$k+1$之间的数据点，也就是到原点o的距离为$r \in [r_k, r_{k+1}]$的点。随后按照上一节的描述确定这些点之间的体素连接性（参见定义2），再据此识别出对应的连通点集。接下来，每个连通点集都会在其质心处分配一个簇节点。最后，建立i层连通点集与$i-1$层连通点集之间的连接关系（参见定义4），并用边段连接对应的簇节点。在该过程中，如果一个簇节点连接了至少两个分支，就会被识别为鞍临界点。同理，一个簇

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

![Image](images/df873930eb6aede1d47557a463748e6e6e8c97acf1457f4fc17f93ca5b40e834.jpg)

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

![Image](images/1687cdf0bdde9771710a87333d2c4aeecddac6b87b69bdd5648f0e630ccbda2e.jpg)

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

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

![Image](images/fcd6ce4cbf0e8c8b54bba972177d62364d4aa40f99666893ef7aa94a4d07d0a1.jpg)

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

<div style="text-align: center;">Fig. 6. Reeb graph extraction. (a)–(d) Level sets of radial distance function (plotted as circles) and the corresponding identified connected points in each level set. The connected point sets are joined by an edge segment. The shown images are the projection of the 3-D coordinates on the x-z vehicle coordinate plane. (d) shows also the identified endpoints of the projected Reeb graph.</div>

如果节点是分支的端点，则它将被识别为极值点（最小值或最大值）。最后，图的端点可以被识别为潜在的头部候选点。头部候选点的位置由相应簇节点的坐标给出。

### IV. 多假设跟踪器

所提出的 Reeb 图提取为每个图像帧提供了一组可能的头部候选点。一旦识别并定位了可能的头部候选点（即 Reeb 图的端点），就会应用 MHT 算法。MHT 算法的目的是根据所有头部候选点的位置，自动生成占用者的头部轨迹。

MHT算法的任务包含三个部分：1）数据关联部分将瞬时图像帧中的头部候选者与现有轨迹相关联；2）轨迹过滤任务通过将跟踪的候选者的预测位置与关联的瞬时测量值相结合，并预测下一时间步的位置；3）最后，基于场景的拓扑信息，该算法应自动在所有跟踪的头部候选者中找到最可能的头部候选者，该候选者是对真实头部位置的估计。

由于以下原因，处理多个头部候选者的问题通常很困难：1）头部检测器提供的测量值包含噪声；2）目标可能无法在连续的帧中检测到；3）某些目标可能会移出图像帧。MHT算法在这种情况下特别有用，因为它能够处理缺失的检测、虚假的测量以及新目标的轨迹初始化（有关更多详细信息，请参阅[^19]和[^24]）。在以下

---

部分，我们简要描述本文中考虑的数据关联方法和跟踪算法。

### A. 数据关联

在MHT算法中，每个假设代表一个轨迹，它预测头部候选者在下一图像帧中的位置。这些预测与下一图像帧中实际检测到的头部候选者进行比较，基于它们的马哈拉诺比斯距离，并据此计算一个距离歧义矩阵。候选者根据此距离歧义矩阵与现有轨迹相关联。有关更多详细信息，请参阅[^24]。

MHT算法的轨迹初始化和终止问题通过以下方式解决。

1）轨迹初始化：如果一个候选者无法分配到现有轨迹超过一帧，则启动一个新轨迹。

2）轨迹终止：如果一个轨迹在几帧内没有与任何候选者相关联，则该轨迹将被终止。这个帧数被选择为七，这对应于半秒的时间。终止轨迹可以保证最大跟踪数在一段时间内保持有限。

### B. 线性卡尔曼滤波器

跟踪器使用具有近乎恒定速度模型的卡尔曼滤波器[^25]，用于提供轨迹的滤波和预测。设$\mathbf{x} = [x, y, z]$为头部候选者的3D位置，$\mathbf{V} = [V_x, V_y, V_z]$为相应的速度。恒定速度模型将第k个时间步的状态$\mathbf{s}(k) = [\mathbf{x}(k), \mathbf{V}(k))]^T$映射到下一个时间步的（预测）状态，其方程为：

 $$ \mathbf{s}(k+1)=A\mathbf{s}(k)+v(k) $$

 $$ \mathbf{x}(k)=[I\;0]\mathbf{s}(k)+w(k) $$

其中状态转移矩阵A为：

 $$ A=\begin{pmatrix}{{{1}}}&{{{0}}}&{{{0}}}&{{{T_{cam}}}}&{{{0}}}&{{{0}}} \\{{{0}}}&{{{1}}}&{{{0}}}&{{{0}}}&{{{T_{cam}}}}&{{{0}}} \\{{{0}}}&{{{0}}}&{{{1}}}&{{{0}}}&{{{0}}}&{{{T_{cam}}}} \\{{{0}}}&{{{0}}}&{{{0}}}&{{{1}}}&{{{0}}}&{{{0}}} \\{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{1}}}&{{{0}}} \\{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{1}}}\end{pmatrix} $$

其中，$T_{cam}$是相机获取的时间。在这个近乎恒定速度的模型中，头部加速度被视为过程噪声 v，过程噪声的方差被选择为覆盖汽车中可能出现的最大加速度（在发生碰撞之前），该加速度被假定为 1g。这种选择过程噪声的方差可以确保模型能够覆盖到由于制动等原因引起的头部运动。我们选择这个简单模型的原因是，像制动这样的加速度会突然发生，因此难以将其纳入到确定性运动模型中。其他跟踪模型（例如，在 [^4] 中提出的交互式多模型，可以捕捉到所有可能发生的运动）可能会提高性能。但是，我们表明，所考虑的模型足以获得足够的性能。

测量噪声 w 由测距噪声决定，因此进行了相应的选择。卡尔曼滤波器通过使用当前的测量位置更新预测的头部位置，从而过滤头部候选者的轨迹。

### C. 头部候选者选择

多假设跟踪器提供了多个头部候选者的轨迹。头部检测算法的最后一步是从所有头部候选者中选择最可能的估计值，该估计值对应于人物的真实头部。该任务通过根据 V 节 D 节中推导的规则来选择候选者，该规则基于场景的拓扑分析，并考虑了情况的几何约束。然后跟踪该候选者。如果跟踪中断，则选择新的候选者。有关选择规则的详细信息，请参见 V 节 D 节。

### V. 实验和结果

评估方法包括头部检测系统的两个子组件的性能：使用 Reeb 图技术的头部候选者检测和 MHT。进行了几个实验以测试所提出方法的有效性。为了进行评估，考虑了以下情况：1）乘客处于正常位置；2）乘客向前弯曲，即序列由乘客从就座位置移动到非就座位置（参见图 1）；3）乘客携带一个包含多个序列的数据库，两个不同体型的乘客被要求执行几个任务，以考虑上述运动。该数据库包含 11 个序列，总共 3300 张图像。为了获取数据，相机安装在汽车的顶置模块上（参见图 2），该汽车配备了计算机和数据采集软件。图像的采集和处理同时进行，而算法的性能评估是在离线进行的。

头部检测系统的评估方式如下。首先，将 Reeb 图提取应用于所有低分辨率测距图像，并讨论可以出现哪些不同的拓扑结构以及它们与哪些占用情况相关。在第二步中，我们评估头部是否始终被 Reeb 图成功检测到。因此，将检测到的头部候选者的位置与地面真实测量值进行比较。第三步，将具有最近邻数据关联和线性卡尔曼跟踪器的 MHT 应用于由 Reeb 图检测到的可能头部位置，并将结果位置与地面真实数据进行比较。

### A. 提取的 Reeb 图的拓扑结构

以下是导致 Reeb 图变化的场景的可能情况：乘客头部靠近头枕，乘客身体前倾，以及乘客携带任何类似头部的物体。例如，图 7

---

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

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

![Image](images/3401221c7239fae496043b408149621b8267391b42e0a91c7bd0bc514ddb8db7.jpg)

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

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

![Image](images/66e625ee9bd4ad6de4340a779b104da66c4ec4dae6643059db6f8bed6103fde0.jpg)

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

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

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

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

![Image](images/1bb1d445bccade16dbd1538436587632611d218a0d8ac97224d1cb1340e87066.jpg)

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

![Image](images/f577c927306b82e154753534e1e1d41937669b5fbbc153e169bea123676d0a82.jpg)

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

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

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

![Image](images/b5369edfd5cada1062c0c33899a9ebd820c2b89444ce893f0d3f1d5b55a6e1e4.jpg)

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

<div style="text-align: center;">Fig. 7. (a)-(c) Snapshots of range images for different situations of the scene. (a) Passenger head lies close to the headrest; (b) passenger bends forward; and (c) passenger holding a balloon. The range images are shown in false-color representation. (d)-(f) Scatter plots of the coordinate points of the same situations shown in (a)-(c). The shown images are the projection of the 3-D coordinates on the x-z vehicle coordinate plane. (g)-(i) Projected Reeb graphs at a resolution level,  $\Delta r = 100$ mm.</div>

显示了不同场景的三种范围图像示例。图 7(a) 描述了乘客头部靠近头枕的情况，图 7(b) 显示了乘客身体前倾的情况，图 7(c) 显示了乘客携带气球的情况。请注意，显示的图像是范围图像，每个像素值表示从相机中心到场景中对应像素聚焦的点的径向距离。图 7(d)–(f) 显示了相应坐标点的 $(x, z)$ 散点图。

图 7(a) 中场景的 Reeb 图如图 7(g) 所示，相应的端点用方块符号标记。在这种特定情况下，Reeb 图只产生两个端点。由于乘客头部靠近头枕，因此它们被认为是拓扑连接的，因此用一个分支表示。另一个分支对应于乘客的腿。图 7(h) 显示了图 7(b) 中乘客身体前倾的场景的 Reeb 图。如预期，Reeb 图产生三个端点：一个对应于头枕，一个对应于乘客的头部，第三个对应于乘客的腿。当乘客身体更多地前倾并寻找座位下方的东西时，Reeb 图只产生一个分支，对应于乘客的腿和头部。

对于乘客拿着球的情况，如图 7(c) 所示，可以生成一个额外的分支，如图 7(i) 所示。在这种情况下，Reeb 图有四个端点，分别代表头枕、乘客的头部、球和乘客的下半身。当气球放在乘客的腿上时，Reeb 图只有一个分支，对应于气球和乘客腿的组合区域，因为它们被认为是拓扑连接的。显然，在所有三种情况下，Reeb 图始终会产生一个通往乘客头部的分支。此外，Reeb 图分支的数量（以及随后，头部的候选数量）在两个到四个之间变化，如图 8 所示，该图显示了头部候选数量的直方图。在之前的论文 [^26] 中，已经研究了 Reeb 图的步长变化（参见第 III 节），并且在其中观察到，所选择的步长值足以捕获拓扑变化，从而成功检测头部位置。

### B. 真实数据信息

为了证明 Reeb 图可用于定位头部位置，将头部检测算法的结果与真实数据进行比较，这些数据是通过

---

![Image](images/d15604dd29b6b0143a819cd1b2575c86249e6439c0273fb82df786747f2d3ab0.jpg)

<div style="text-align: center;">Fig. 8. Histogram of the number of Reeb graph endpoints (subsequently, the number of head candidates) over all images.</div>

通过三维弦传感器。三维弦传感器由三根长度可变的电缆组成，这些电缆连接到固定在汽车仪表板和车顶不同位置上的电位计上。电缆的自由端通过一条皮带连接在一起。在录制过程中，要求乘员佩戴这条皮带在额头上。三维弦传感器直接给出连接点的坐标，即三个传感器电缆连接在额头处的连接点的$(x, y, z)$坐标值。该测量值被用作基准，用于与基于Reeb图方法给出的可能头部位置的坐标进行比较。需要注意的是，弦传感器不会影响范围图像，因为电缆非常细，电位计不在相机的视野范围内。弦传感器系统的校准显示，测量x坐标的精度约为1厘米（具体取决于位置）。

### C. 头部检测方法的评估

头部检测算法在所有序列上进行评估，并将结果与基准测量进行比较。为了评估，共采集了由十个序列组成，总计3225帧图像的视频。在评估中，不包括乘客拿着头部状物体的序列，因为在这些情况下，无法获得基准信息；物体会阻挡弦传感器。为了验证是否存在一个头部候选点靠近基准位置，我们采用以下成功的检测定义：如果特定场景的Reeb图产生n个端点，即$E_1, E_2, \ldots, E_n$，并且$E_k$（$1 \leq k \leq n$）是与基准测量值最接近的端点，那么该点$E_k$仅在距离基准测量值150毫米以内时才被认为成功检测到。150毫米的值是根据一个人的平均头部半径加上最大的测量噪声选择的。由于基准数据给出了额头点的测量值，因此将其与Reeb图连接点集中最靠前的点进行比较，而不是其质心。该最靠前的点是通过计算拟合到Reeb图连接点集的相关椭圆的最靠前的点来计算的。

头部检测算法的成功检测结果列在表I（第3列），结果的差异误差直方图，即Reeb图计算出的最接近端点与基准测量值之间的误差，如图9所示。结果表明，在大多数帧中，Reeb图会产生一条指向乘员头部的分支。这表明场景的拓扑信息确实非常成功地检测到了乘员头部的位置，并且可能的头部候选点数量很少。

然而，在某些情况下，Reeb图无法给出比乘员头部更靠近150毫米的端点。在所有错误情况下，观察到70%的错误是由于头部与头枕相连，导致Reeb图的公共分支，并且该分支的端点位于头部或头枕上。在后一种情况下，头部到图端点的距离可能大于150毫米。

但是，这种情况并非发生在整个序列中，而只是发生在少数几帧中。此外，这种情况并不重要，因为在这种情况下，头部远离气囊模块，因此无需精确确定其位置。

此外，根据汽车中情况的几何约束，得出一个规则，该规则可以进一步减少候选者的数量。

规则 1（减少头部候选者）：假设唯一可能比头部更高（在 z 轴上）的端点是头枕，因此只需考虑具有最大 z 轴位置的两个候选者。

### D. 多假设头部跟踪算法的评估

MHT 算法的目标是从瞬时头部候选者生成头部候选者的轨迹，并选择最可能的真实候选者估计值。 MHT 算法在前面部分中考虑的所有序列上进行了测试。 注意，在这些序列中，乘客主要被要求从在位置移动到出位置，然后再返回到在位置。 对于每个序列，使用基于 Reeb 图技术的头部检测算法，自动提取每个图像帧中的可能头部位置。 该方法提供拟合到与 Reeb 图区域端点相对应的连接点集的椭圆的最前点。 MHT 用于处理将测量值与预测值相关的歧义。 卡尔曼滤波器的状态是头部跟踪算法的最终输出。

为了选择正确的头部候选者，已对有效的假设应用以下规则。

规则 2（正确候选者选择）：如果只有两个候选者，如图 7(g) 所示，则该算法选择 z 值最大的候选者作为正确的头部候选者，并放弃对应于人的腿部的候选者。 如果有三个或更多的候选者，如图 7(h) 所示，该算法首先选择具有最大 z 值的两个候选者（基于规则 1），然后在这两个候选者中，它选择在 x 方向上最靠前的候选者。

---

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

<div style="text-align: center;">HEAD DETECTION AND MHT RESULTS</div>

<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;'>Average number of Reeb graph end-points (Total no of frames for each frame)</td><td style='text-align: center; word-wrap: break-word;'>Number of frames successfully detected (%head detection results)</td><td style='text-align: center; word-wrap: break-word;'>Successful detection if only two candidates are considered</td><td style='text-align: center; word-wrap: break-word;'>Number of frames correctly detected (%MHT results)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>10(3225)</td><td style='text-align: center; word-wrap: break-word;'>2.5</td><td style='text-align: center; word-wrap: break-word;'>3114(96.56%)</td><td style='text-align: center; word-wrap: break-word;'>3113(96.53%)</td><td style='text-align: center; word-wrap: break-word;'>3224(99.96%)</td></tr></table>

![Image](images/827cc6e78207356d0e0f8f3c0091f9d9d13be9048958fbc1a0eaac20d89254ae.jpg)

<div style="text-align: center;">Fig. 9. Head detection results. Histogram of the difference between the ground-truth measurement and its closest endpoint of the Reeb graph over all frames.</div>

这样，与乘客腿部对应的候选者将被完全放弃。 注意，仅选择具有最大 z 值的候选者可能是不够的，因为对于小个子和儿童，头枕可能会导致具有较大 z 值的候选者。 规则 2 也处理这种情况，并仅选择与乘客头部对应的候选者，因为头部始终位于 x 方向上比头枕更靠前的位置。

规则 2 将应用于第一个帧，以初始化正确的头部候选者； 随后，所选候选者的轨迹将被视为最终的头部候选者。 如果选定的轨迹终止，则将应用规则 2 以重新初始化正确头部候选者的选择。 在此过程中，如果存在多个候选者，则仅应用规则 1； 规则 1 在这种情况下选择两个 z 轴位置最高的候选者，规则 2 将选择在 x 方向上最靠前的候选者。 但是，请注意，这些规则仅用于第一个帧以初始化正确的头部候选者位置。

MHT算法具有创建新轨迹的能力，用于跟踪进入图像帧的对象，并终止跟踪退出图像帧的对象。它还可以处理遮挡，即，即使在没有与之关联的测量值的情况下，也可以继续跟踪一段时间。我们展示了一种情况，在这种情况下，MHT算法成功地处理了跟踪的创建和终止，即使场景中发生了拓扑变化。图10显示了测试序列中的一些帧，以及跟踪结果。椭圆形符号表示已识别的轨迹。请注意，已识别的轨迹是应用规则1和2之前的MHT算法的输出。首先，规则1将要考虑的候选头部数量减少，然后，规则2将进一步确保选择与头部对应的Reeb图端点。

图11显示了当将MHT数据关联滤波器应用于图10中显示的整个序列时，结果轨迹的x坐标（以实线绘制）。图11还显示了在应用滤波之前，头部候选值的原始输出（以点绘制）。请注意，每个假设的跟踪是在3D坐标空间中进行的，尽管它只显示用于检测位置错误的x坐标。该算法最初有两个跟踪，当乘客依靠靠背时，头部靠近头枕（如图10(a)所示）。然后，该算法将对应于头枕和乘客头部的区域的现有轨迹分成两个不同的轨迹，因为乘客的头部和座椅的头枕变得明显可分离。在这两个新轨迹中，一个对应于乘客的头部，另一个对应于头枕。从那时起，可以根据V-C节中推导出的规则1，丢弃对应于腿部的候选值。

在一种特殊情况下，当乘客极度向前弯曲时，Reeb图将一个分支分配给对应于乘客的上半身和腿部的区域。在这种情况下，MHT算法终止了对应于乘客腿部的轨迹（因为在这种情况下，乘客的腿部和上半身在拓扑上是连接的；参见图10(c)），并且当出现额外的分支时，会开始一个新的轨迹（参见图10(d)）。从这些图中可以看出，始终有一个跟踪器跟随乘客的真实头部位置。

为了评估MHT算法的性能，将结果与真实测量值进行比较。通过规则2应用于所有已识别的轨迹后，MHT算法估计的最终头部候选值，如果其在150毫米范围内，则被认为是正确的。图12显示了最终头部候选值（以实线绘制）和真实数据（以虚线绘制）的x值。可以观察到，当乘客靠近气囊控制单元时，x值会减小。显然，最终的头部候选值紧跟真实数据。在表I（第5列）中列出了经过规则2处理后MHT算法的正确检测结果，图13显示了最终头部候选值与真实数据之间的误差差异直方图。MHT跟踪算法的整体检测率为99.96%，因此非常成功。显然，MHT算法不仅可以自动跟踪正确的头部位置，还可以减轻由于噪声和遮挡引起的检测误差。

---

![Image](images/c10ec077c8fea7be82ed4465508bcbec834d8925987760c932969b7ce0cb0793.jpg)

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

![Image](images/8503359641c2e123a417e5ff460da985906537250cfdc6a38511dd599d8a023a.jpg)

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

![Image](images/08bd822274b66d2d54e48bd335aa4769d1d4b62e18f86cce843fa7dcb9beb5f4.jpg)

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

![Image](images/3321f2d0e6321a1c096d76da4df49578cb5ca13f16023dc6bb5f556afbb36a9c.jpg)

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

![Image](images/1303d0ba5edc99040f43a1a364f4df3c8e3335178e81ae502fcb461a16ead9eb.jpg)

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

<div style="text-align: center;">Fig. 10. (a) First, (b) 50th, (c) 120th, (d) 192th, and (e) 221st frames of the sequence considered for the evaluation. The MHT results are denoted by ellipses. Note that the shown ellipses are the identified tracks before applying rule 2.</div>

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

<div style="text-align: center;">Fig. 11. Trajectories of the MHT data association filter applied on one sequence. The points are the raw output of the head candidate positions, and the lines are the corresponding filtered positions.</div>

![Image](images/e6ba9615557d56c37c877c626363a8ea4058ef7f54f66bb6b615a8e33db60dec.jpg)

<div style="text-align: center;">Fig. 12. Tracking results. The final correct head candidate estimated by the MHT algorithm (shown in a solid line) is compared with the ground-truth measurement (shown as a dotted line). The points shown in red correspond to the raw measurements before filtering is applied.</div>

### VI. 处理要求

### A. 一般说明

在本节中，我们对所提出的基于拓扑的头部检测和跟踪算法的计算需求进行估计。 尤其是，针对该实时应用的计算时间需求可能非常高，因为系统的帧速率必须为 40 赫兹 [^4]。 此外，在选择处理单元时，必须考虑汽车工业的经济约束。

![Image](images/3483ddf924f937d67b7e75ee214f23ca5c0d2fbb82de69c9c0ab9045b28df159.jpg)

<div style="text-align: center;">Fig. 13. Multiple-hypothesis tracker results. Histogram of the difference between the ground-truth measurement and the correct head candidate given by the MHT filter.</div>

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

<div style="text-align: center;">PARAMETER DETERMINING THE PROCESSING REQUIREMENTS OF THE REEB GRAPH EXTRACTION</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Parameter</td><td style='text-align: center; word-wrap: break-word;'>Notation</td><td style='text-align: center; word-wrap: break-word;'>Value</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Number of pixels</td><td style='text-align: center; word-wrap: break-word;'>$N_{{pix}}$</td><td style='text-align: center; word-wrap: break-word;'>2600</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Number of voxels</td><td style='text-align: center; word-wrap: break-word;'>$N_{{vox}}$</td><td style='text-align: center; word-wrap: break-word;'>$15 \times 8 \times 10 = 1200$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Number of levels</td><td style='text-align: center; word-wrap: break-word;'>$N_{{level}}$</td><td style='text-align: center; word-wrap: break-word;'>≤ 8</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Number of centroids in each shell</td><td style='text-align: center; word-wrap: break-word;'>$N_{{cen}}$</td><td style='text-align: center; word-wrap: break-word;'>≤ 4</td></tr></table>

在选择处理单元时，需要考虑行业因素。

所提出的算法的大部分处理能力需要用于 Reeb 图提取。因此，以下内容将集中于评估这部分。由于所提出的摄像机的像素数量仅为 $N_{pix} = 52 \times 50 = 2600$，因此预处理（包括滤波和坐标计算）相对较小。此外，跟踪处理所需的资源很少，其中最耗时的操作是矩阵的求逆，这些矩阵的维度为 $6 \times 6$，因为状态向量的长度为 6（参见第 IV 节 B）。确定跟踪处理要求的其他参数是测量次数和跟踪状态的数量。但是，在第 V 节 D 中，已经证明可以将最大跟踪数量限制为四个，而不会降低性能。因此，与 Reeb 图提取相比，跟踪的计算工作量可以忽略不计。

---

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

<div style="text-align: center;">NUMBER OF OPERATIONS FOR THE INDIVIDUAL STEPS OF THE REEB GRAPH EXTRACTION</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Algorithm Step</td><td style='text-align: center; word-wrap: break-word;'>Order of Operations</td><td style='text-align: center; word-wrap: break-word;'>Comments</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1. Voxel activation
1.1. Assign pixel to voxel
1.2. Compute activation level
1.3. Compare voxel activation with threshold</td><td style='text-align: center; word-wrap: break-word;'>$4N_{pix}$\n $2N_{pix}$\n $N_{vox}$</td><td style='text-align: center; word-wrap: break-word;'>3D-histogramming
Summing distance squares</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2. Determination of origin</td><td style='text-align: center; word-wrap: break-word;'>$6N_{vox}$</td><td style='text-align: center; word-wrap: break-word;'>Minimum and maximum determination in x, then minimum in z</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3. Assigning voxels to level sets</td><td style='text-align: center; word-wrap: break-word;'>$10N_{vox}$</td><td style='text-align: center; word-wrap: break-word;'>Calculating Euclidean distances, division by step size</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4. Connectivity inside each level
4.1. Determination of connected points
4.2. Label points according to their connectivity
4.3. Calculate centroids</td><td style='text-align: center; word-wrap: break-word;'>$6N_{vox}$\n $N_{level}\left(\frac{N_{vox}}{N_{level}}\right)^{2}$\n $3(N_{pix} + N_{cen}N_{level})$</td><td style='text-align: center; word-wrap: break-word;'>Check for each voxel which of it&#x27;s 6 neighbours is activated and in the same level
Assign identical labels to connected points in a level, relabel already labeled points, if needed
Calculate for each shell and connected component the center of gravity</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>5. Connectivity between levels
5.1. Determine point connectivities between levels
5.1. Determine end points of Reeb graph</td><td style='text-align: center; word-wrap: break-word;'>$3N_{vox}$\n $N_{cen}N_{level}$</td><td style='text-align: center; word-wrap: break-word;'>Check for each voxel which of the 6 neighbours is activated and in the adjacent level
Check on each level which point set is connected to a lower level</td></tr></table>

### B. Reeb 图提取的处理要求

确定 Reeb 图提取的处理要求的参数如表 II 所示。Reeb 图提取中最重要的参数是体素数量 $N_{vox}$，它由乘客侧的腔体体积决定（假设为 1500 毫米 $\times$ 800 毫米 $\times$ 1000 毫米），以及分辨率，该分辨率在任一方向上均选择为 100 毫米。

表 III 给出了 Reeb 图提取每个步骤的操作数量的估计。可以发现，耗时最长的任务显然是确定每个水平集中的连通点集。此步骤的操作数量主要由每个水平集中的体素数量决定，该数量约为 $N_{vox}/N_{level}$，它是总体素数量与所考虑的层数的比率。如果参数的选择如表 II 所示，则此步骤的操作数量为 0.18 MOP/帧，而其他操作的总和小于 0.02 MOP/帧。假设帧率为 40 赫兹，则处理能力低于 8 MOP。

这些相对较小的数字主要是由于 Reeb 图的提取分辨率较低所致。像素数量和体素数量都比视频图形阵列图像中的像素数量少两个数量级。因此，所提出的 Reeb 图提取的计算要求比现代嵌入式控制器能够提供的性能低两个数量级，而这些控制器专门设计用于实时视频处理（见 [^4] 中的讨论）。

### VII. 结论

本文提出了一种基于拓扑的低分辨率范围图像框架，该框架提供了一种系统的方法来检测和跟踪车辆乘客的头部位置。所提出的方法探索了场景的拓扑信息，该信息以三维骨架表示，用于检测乘客头部的位置。为了实现这一目标，我们考虑使用Reeb图技术。但是，除了Reeb图，其他任何拓扑表示都可能有用。先前的Reeb图提取方法适用于封闭对象的密集三维表示，例如三角网格表示。在这里，我们调整了Reeb图的概念，使其适用于低分辨率范围图像。本文的灵感来自于Xiao等人的工作 [^18]，他们提出了一种DRG方法来处理未组织的三维点云。为了应对这里的特定挑战，例如噪声和数据密度的较大变化，我们提出了一种体素邻域连接性概念来构建Reeb图。通过使用Morse径向距离函数，实现了对旋转的图不变性。

头部检测方法已应用于多个序列，这些序列是在考虑场景的各种可能变化的情况下记录的。 使用 Reeb 图技术的头部检测算法的性能与通过字符串传感器获取的地面真实数据进行了比较。 结果表明，基于 Reeb 图的头部检测可以在各种应用中成功地定位乘客的头部。 结果表明，平均每个图像仅产生 2.5 个头部候选对象，最多为四个候选对象。 此外，我们还表明，可以从情况的拓扑和几何约束中推导出一条简单的规则，该规则将必须考虑的候选对象数量减少到最多两个。

为了过滤来自头部候选对象的测量噪声，将测量值与轨迹相关联，并从 Reeb 图提供的所有头部候选对象中选择正确的头部候选对象，应用了 MHT 算法。 拟议的拓扑方法的优点之一是，它最多产生四个候选对象，其中只有两个候选对象需要

---

用于跟踪。 因此，MHT 中的常见组合爆炸问题将不再是问题。 MHT 算法的结果表明，可以实现接近 100% 的性能，以检测正确的头部候选对象位置。

所提出的方法已在 MATLAB 中实现，并且本文中展示的测试已离线进行。 因此，在我们的方法开发和评估中的下一步是在线测试，实现我们提出的方法的实时版本。 显然，在得出结论，在所有条件下，我们的方法优于其他方法之前，必须进行更全面的测试，并与其他基于几何形状的方法进行比较。 此外，为了评论所提出的方法的实际可行性，我们评估了我们方法的计算要求，并表明它们远低于专为实时视频处理而设计的（汽车级）嵌入式控制器可以实现的功能。

## 鸣谢

作者感谢北卡罗来纳州立大学的 H. Krim 教授和 S. Baloch 博士，感谢他们就 Reeb 图方法进行了富有成效的讨论。

## 参考文献

[^1]: M. E. Farmer and A. K. Jain, “Occupant classification system for automobile airbag suppression,” in Proc. IEEE Comput. Soc. Conf. CVPR, Jun. 2003, vol. 1, pp. I–756–I–761.

[^2]: K. S. Huang and M. M. Trivedi, “Video arrays for real-time tracking of person, head, and face in an intelligent room,” Mach. Vis. Appl., vol. 14, no. 2, pp. 103–111, Jun. 2003.

[^3]: M. M. Trivedi, S. Y. Cheng, E. M. C. Childers, and S. J. Krotosky, “Occupant posture analysis with stereo and thermal infrared video: Algorithms and experimental evaluation,” IEEE Trans. Veh. Technol., vol. 53, no. 6, pp. 1698–1712, Nov. 2004.

[^4]: M. E. Farmer and A. K. Jain, “Smart automotive airbags: Occupant classification and tracking,” IEEE Trans. Veh. Technol., vol. 56, no. 1, pp. 60–80, Jan. 2007.

[^5]: P. R. Devarakota, M. Castillo-Franco, R. Ginhoux, B. Mirbach, and B. Ottersten, “Occupant classification using range images,” IEEE Trans. Veh. Technol., vol. 56, no. 4, pp. 1983–1993, Jul. 2007.

[^6]: H. Kong, Q. Sun, W. Bauson, S. Kiselewich, P. Ainslier, and R. Hammoud, "Disparity based image segmentation for occupant classification," in Proc. IEEE Comput. Vis. Pattern Recog. Workshop Object Tracking Classification Beyond Visible Spectrum, Jun. 2004, pp. 126–132.

[^7]: A. Douha, F. Cutzu, R. Hammoud, and S. Kiselewich, “Triangulation based technique for efficient stereo computation in infrared images,” in Proc. IEEE Intell. Veh. Symp., Columbus, OH, Jun. 2003, pp. 673–678.

[^8]: M. Fritzsche, C. Prestele, G. Becker, M. Castillo-Franco, and B. Mirbach, "Vehicle occupancy monitoring with optical range-sensors," in Proc. IEEE Intell. Veh. Symp., Jun. 2004, pp. 90–94.

[^9]: S. J. Krotosky, S. Y. Cheng, and M. M. Trivedi, “Real-time stereo-based head detection using size, shape and disparity constraints,” in Proc. IEEE Intell. Veh. Symp., 2005, pp. 550–556.

[^10]: Z. Hu, T. Kawamura, and K. Uchimura, “Grayscale correlation based 3D model fitting for occupant head detection and tracking,” in Proc. IEEE Intell. Veh. Symp., Jun. 2007, pp. 1252–1257.

[^11]: T. Tung and F. Schmitt, “The augmented multiresolution Reeb graph approach for content-based retrieval of 3D shapes,” Int. J. Shape Model., vol. 11, no. 1, pp. 91–120, 2005.

[^12]: S. Biasotti, B. Falcidieno, and M. Spagnuolo, “Extended Reeb graphs for surface understanding and classification,” in Proc. 9th Int. Conf. DGCI, Uppsala, Sweden, Dec. 2000, vol. 1953, pp. 185–197.

[^13]: Y. Shinagawa and T. L. Kunii, “Constructing a Reeb graph automatically from cross sections,” IEEE Comput. Graph. Appl., vol. 11, no. 6, pp. 44–51, Nov. 1991.

[^14]: G. Reeb, “Sur les points singuliers d’une forme de pfaff completement integrable ou d’une fonction numérique [on the singular points of a completely integrable pfaff form or of a numerical function],” Compte Rendus Acad. Sci. Paris, vol. 222, pp. 847–849, 1946.

[^15]: M. Hilaga, Y. Shinagawa, T. Kohmura, and T. Kunii, “Topology matching for fully automatic similarity estimation of 3D shapes,” in Proc. ACM SIGGRAPH, Los Angeles, CA, Aug. 2001, pp. 203–212.

[^16]: C. Menier, E. Boyer, and B. Raffin, "3D skeleton-based body pose recovery," in Proc. 3rd Int. Symp. 3D Data Process., Vis., Transmiss., Jun. 2006, pp. 389–396.

[^17]: S. Baloch, H. Krim, I. Kogan, and D. Zenkov, “Rotation invariant topology coding of 2D and 3D objects using Morse theory,” in Proc. IEEE ICIP, Sep. 2005, vol. 3, pp. 796–799.

[^18]: Y. Xiao, P. Siebert, and N. Werghi, "A discrete Reeb graph approach for the segmentation of human body scans," in Proc. 4th Int. Conf. 3DIM, 2003, pp. 378–385.

[^19]: I. J. Cox, “A review of statistical data association techniques for motion correspondence,” Int. J. Comput. Vis., vol. 10, no. 1, pp. 389–396, Feb. 1993.

[^20]: R. Lange, “Demodulation pixels in CCD and CMOS technologies for time-of-flight ranging,” in Proc. SPIE Conf. Sens., Cameras Syst. Sci. Ind. Appl., San Jose, CA, 2001, pp. 177–188.

[^21]: J. W. Weingarten, G. Gruener, and R. Siegwart, “A state-of-the-art 3D sensor for robot navigation,” in Proc. IEEE IROS, Sep. 2004, pp. 2155–2160.

[^22]: R. Lange, "3D time-of-flight distance measurement with custom solid-state image sensors in CMOS/CCD-technology," Ph.D. dissertation, Dept. Elect. Eng. Comput. Sci., Univ. Siegen, Siegen, Germany, 2000.

[^23]: S. N. Srihari, “Representation of three-dimensional digital images,” ACM Comput. Surv., vol. 13, no. 4, pp. 399–424, Dec. 1981.

[^24]: Y. Bar-Shalom and T. E. Fortmann, Tracking and Data Association. New York: Academic, Jan. 1988.

[^25]: M. G. T. Huang and K. S. Trivedi, “Driver’s view and vehicle surround estimation using omnidirectional video stream,” in Proc. IEEE Intell. Veh. Symp., Jun. 2003, pp. 444–449.

[^26]: P. R. Devarakota, M. Castillo-Franco, R. Ginhoux, B. Mirbach, and B. Ottersten, “Application of the Reeb graph technique to vehicle occupant’s head detection in low-resolution range images,” in Proc. IEEE Conf. Comput. Vis. Pattern Recog. Workshop, Minneapolis, MN, 2007, pp. 1–8.

![Image](images/1449aeb2a7f6bb7c949e0a5dd35830ef698006e46d8cdd704960241478f6eab6.jpg)

Pandu Rangarao Devarakota (S'07) 获得了印度新德里印度理工学院的仪器技术硕士学位，于 2003 年获得，以及瑞典斯德哥尔摩皇家理工学院的博士学位，于 2008 年获得。 作为他硕士学习的一部分，他作为交换生在德国卡尔斯鲁厄大学的通讯技术研究所学习。 他的博士项目是与卢森堡大学和 IEE S.A. 合作的项目，位于卢森堡康特。

他目前是西门子信息系统有限公司班加罗尔分公司计算机辅助诊断研究小组的技术人员。

![Image](images/affddad36c94e31d7cc3d80cb782994ccc74b1da5b78567aa13e123087025d09.jpg)

玛塔·卡斯蒂略-弗兰科出生于 1978 年，西班牙巴塞罗那。 她于 2001 年从巴塞罗那理工大学获得电信工程硕士学位，并于 2002 年从法国布雷斯特国立高等电信学院获得图像处理和人工智能硕士学位。

她从 2006 年开始在汽车行业从事智能光学系统在安全应用中的研发工作。 她目前是 IEE S. A. 康特分公司的先进工程部门的项目经理。

---

![Image](images/f04c80eddc4adbc707e6daf3ab476e8590e146933809942ee18c6895914d21b4.jpg)

罗莫尔德·金努 (S'00–M'04) 出生于 1977 年，法国第戎。 他于 2000 年从斯特拉斯堡国立高等物理学院获得理学硕士学位，并于 2003 年从斯特拉斯堡大学获得机器人学博士学位。

自 2006 年以来，他在法国索菲亚-安提波利斯 MEDIAN Technologies 公司担任研发工程师，负责放射学计算机辅助诊断软件的开发。 他的研究领域包括医疗设备的机器人和计算机视觉，以及汽车安全系统。

金努博士荣获 2005 年“IEEE 机器人学期刊”纪念金·孙·傅最佳论文奖。

![Image](images/696f4cffd1e92ffcc71fc336f58c3db8118ca3006dcd99445c9c66ffe47a376b.jpg)

布鲁诺·米尔巴赫于 1996 年获得理论物理学博士学位，毕业于卡尔斯鲁厄大学，德国卡尔斯鲁厄。

他曾在意大利科莫的非线性与复杂系统中心、德国德累斯顿的马克斯-普朗克物理复杂系统研究所以及德国乌尔姆大学担任博士后研究员。 之后，他进入汽车行业，从事智能光学系统在安全应用中的研发工作。 他目前是高级计算机视觉工程师。

在 IEE S. A. 康特分公司。

![Image](images/ae01eb30da8a6282bd971f079942a02c02d0b34d2a7b0f0f17fb829bc70c0f7e.jpg)

塞尔日·卡特出生于 1970 年，卢森堡。 他于 1997 年从卢森堡的Institut supérieur de Technologie获得了电气工程学士学位，并于 2008 年从英国米尔顿肯兹的Open University获得了软件开发研究生文凭，目前正在攻读软件开发硕士学位。

1997 年至 2001 年，他在 Husky Injection Molding Systems 公司担任电气设计师。 2001 年至 2003 年，他在 Waagner-Biro Luxembourg 公司担任软件工程师。 他目前是 IEE S.A. 康特分公司的软件工程师。

![Image](images/27b538843e037fb74d60c9f3c3b3436c678603d24795417de119eb5df75b446c.jpg)

比约恩·奥特斯滕 (S'87–M'89–SM'99–F'04) 出生于 1961 年，瑞典斯德哥尔摩。 他于 1986 年从林雪平大学获得了电气工程和应用物理学硕士学位，并于 1989 年从美国斯坦福大学获得了电气工程博士学位。

他曾在林雪平大学电气工程系、斯坦福大学信息系统实验室以及比利时鲁汶大学担任研究职位。1996年至1997年，他担任ArrayComm Inc.（一家基于他专利技术的初创公司，位于加利福尼亚州圣何塞）的研发总监。他曾在卢森堡国际信息技术高级研究院任职。自1991年以来，他一直是瑞典斯德哥尔摩皇家理工学院的信号处理教授，曾于1992年至2004年担任信号、传感器和系统部门负责人，2004年至2008年担任电气工程学院院长，目前就职于电气工程学院的信号处理小组。他是卢森堡大学的securityandtrust.lu的负责人。他目前是EURASIP信号处理期刊的主编，也是EURASIP应用信号处理期刊的编委会成员。他的研究兴趣包括无线通信、随机信号处理、传感器阵列处理和时间序列分析。

Ottersten博士是欧洲信号处理协会的Fellow。他于1993年、2001年和2006年获得了IEEE信号处理协会最佳论文奖。他是欧洲研究理事会高级研究资助的首次获得者。他曾担任IEEE信号处理期刊的副编辑，并担任IEEE信号处理杂志的编委会成员。