
# 基于单RGBD相机的复杂环境下实时人体检测与跟踪

刘军、刘晔、崔颖、陈雁秋

中国上海市复旦大学计算机科学学院 {ljun, yeliu, cuiying, chenyq}@fudan.edu.cn

## 摘要

本文提出了一种融合RGB与深度数据的新方法，可用于杂乱动态环境下的实时人体检测与跟踪。我们引入了点集成图像的概念，该表示从虚拟俯视角度完整编码了RGB和深度信息，研究表明基于这种新表示可以非常高效地完成三维空间中的人体检测与跟踪。我们的人体检测器分为两个阶段：第一阶段利用深度数据有效定位物理合理的候选区域，第二阶段以监督学习的方式充分利用深度和色彩信息完成检测。最终通过数据关联生成人体三维轨迹，在数据关联过程中计算并比较颜色和高度的联合统计特征。实验结果表明，该系统能够在复杂的真实场景中达到令人满意的性能。

索引术语——人体检测、跟踪、RGBD

### 1. 引言

视频序列中的人体检测与跟踪在安全监控[^1]、群体行为研究[^2]等领域有广泛应用，吸引了大量研究关注[^3][^4]。由于遮挡、外观变化、复杂动态背景等诸多严峻挑战，复杂环境下的人体检测与跟踪问题在很大程度上仍未得到解决。

早期工作[^5][^6][^7][^8]使用传统视频相机采集缺乏深度信息的外观图像序列。尽管多年的持续研究已经提出了一系列巧妙的方法，这类方法在部分基准视频上效果不错，但在更具挑战性的真实应用中性能会急剧下降，因此这类图像序列中的人体检测与跟踪任务被证明难度极大。近年来，Kinect和TOF相机等深度相机已经以可负担的价格得到广泛普及。使用深度相机开展的研究[^9][^10][^11]已经证明了深度信息在人体检测与跟踪中的巨大价值。现有工作中，深度相机通常要么垂直架设在头顶上方[^9][^12]，要么放置在与人体等高的水平位置[^10][^13]。前者的遮挡大幅减少，但无法很好捕捉人体细节；后者的优缺点正好相反，可以更完整观测人体，但会频繁发生严重遮挡。倾斜视角可能是完整性和遮挡之间的良好折中。即便采用这种布置，要在复杂环境中检测部分可见的人体同时保持极低的误报率仍然颇具挑战。此外，方法需要足够快速才能满足实时应用的需求。

本文介绍了我们开发的一套可在斜视角RGBD视频中检测并跟踪人体的实时系统。所提方法采用三级结构设计：第一阶段使用无监督检测器提取物理上合理的候选位置，第二阶段通过一个已利用多线索提取特征完成离线训练的分类器进一步优化候选位置，最后对检测响应进行数据关联，生成人体轨迹。这种三级结构可实现极快速的检测与跟踪，并且在人体活动和背景都十分复杂的真实服装店场景中取得了良好性能。

### 2. 方法

本文提出的系统包含三个主要阶段，如图1所示。在进入这三个阶段之前，原始RGBD数据会被转换为点集成图像（Point Ensemble Image）。在这种新表示下，我们采用两阶段方法检测人体，最终通过一种高效的颜色-高度联合统计关联方法生成人体轨迹。

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

<div style="text-align: center;">Fig. 1. Overview of the proposed system.</div>

---

![Image](images/36c536df3d1cefb3989c1efe7f2e39905ef603a3ef7bca62dd2764de2cfe2afa.jpg)

<div style="text-align: center;">Fig. 2. (a) 3D point cloud of a person. (b) Plan-view of the person. (c) In height map representation, only the upper portion of the body is kept well. (d) In Point Ensemble Image representation, all of the pixels (points) from original RGBD image (3D point cloud) are recorded. (Note: The green parts of (b) and (d) show the neighborhood area of a point in Point Ensemble Image, more details will be given in Sec. 2.2).</div>

#### 2.1. 点集成图像表示

由于人体之间存在相互遮挡和邻接，原始图像域的分割往往会出现欠分割和过分割问题。对原始数据进行平视图变换可以大幅缓解这两个问题，如图2所示。

利用深度信息可将像素反向投影到三维空间，构建相机坐标系下的三维点云。我们可以建立一个新坐标系：以地面作为XY平面，垂直向上方向作为Z轴，并将地面离散化为规则网格。映射到新坐标系后的点云被投影到XY平面，在地面上形成平视图。这种虚拟视角可以大幅减少目标重叠问题。

在高度图表示[^14][^15]中，平视图的每个网格单元仅保留投影到该单元内三维点中Z值最大的那个点。尽管这种方法取得了不错的结果，但大部分细节信息会丢失[^16]。因此本文提出了一种名为点集成图像（Point Ensemble Image）的新型表示方法，该方法保留了平视图的优势，同时保留了所有三维点的信息（参见图2(d)）。

在点集成图像（记为E）中，每个网格单元记录投影到该单元内所有点的集合，因此可表示为：$E_{i,j} = \{p \mid p \in P \land (p_x, p_y) \in g_{i,j}\}$，其中P是新坐标系下的点云，$p = (p_x, p_y, p_z)$是P中的一个三维点，$g_{i,j}$是一个网格单元。

#### 2.2. 人体检测

背景减除法[^14][^17]被广泛应用于人体检测，但在超市、服装店这类真实场景中，由于背景很难保持静态，该方法往往效果不佳。尽管已有多种基于深度相机、无需背景减除的人体检测方法[^9][^18]被提出，但在许多场景中，相互遮挡和深度伪影（光学噪声和数据丢失）会限制这些方法的性能，因为对这些方法至关重要的头身形状先验，很容易在遮挡和深度数据不完整的情况下被破坏。

在本文研究中，我们没有通过对目标施加强形状先验来开展检测，而是采用增量式的检测方案。我们提出的两阶段检测方法能够充分利用深度数据与RGB数据的优势。在第一阶段，绝大多数不符合人体生理特征的假阳性就可以被高效剔除，随后在第二阶段，基于学习的分类器会对检测结果进一步提纯（见图3）。

第一阶段——符合物理合理性的候选定位。

作为预备步骤，我们首先寻找邻域内高度高于所有其他点的点，即局部极大高度点。对于点云中的任意点p，我们以它为中心建立一个半径为$\omega/2$的圆柱形邻域（$\omega$为人体躯干的平均宽度），如图2所示。我们将圆柱内所有点的高度值与点p的高度值进行比较。得益于点集成图像（Point Ensemble Image），该计算可以非常高效地完成。点p的邻点可以在点集成图像（记为E）中按如下方式计算：

 $$ \mathcal{N}=\{x\mid x\in c^{^{\prime}}\land c^{^{\prime}}\in E\land|c^{^{\prime}}-c|<\omega/2\}, $$

其中c是p投影到E后所在的单元，$c^{\prime}$表示c的相邻单元。所有在自身邻域内取得最大高度值的点都会被判定为头顶冠点。为了提升可靠性与效率，我们仅考虑高度介于$h_{max}$（本文取0.6米）和$h_{min}$（本文取2米）之间的点，这一步可以剔除大量不合理的点，例如靠近地面和天花板的点。

即使在高度拥挤、存在严重遮挡的场景下，该阶段也能保证最终输出的候选结果中包含真实的头顶冠位置。尽管此时的结果远非完美，仍存在大量假阳性（见图3(c)），但需要后续搜索的空间已经被大大缩小了。

第二阶段——基于学习的结果优化。

接下来我们需要判断前一阶段得到的候选对象是否确实是人体。我们训练了一个鲁棒的分类器，使用两类分别编码形状信息和颜色信息的特征。具体特征如下：

(1) 高度差分直方图（Histogram of Height Difference, HOHD）：人体上半部分的形状与其他物体存在明显差异，这一点在俯视图中可以更清晰地观察到（见图2(b)）。头顶冠点的高度高于邻点，且明显高于肩部区域的高度。这种高度变化可以通过高度差分的统计方式来描述。对于一个局部极大高度点，我们将其圆柱形邻域内所有点的高度都减去该中心点的高度。由于我们仅关注人体上半部分，因此只选取满足以下两个条件的部分邻点：

---

![Image](images/fee45a9ad5f88cf1bcf8df8f9239a25aac7cd077a6c8a4ea883a01749f42b1bb.jpg)

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

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

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

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

<div style="text-align: center;">Fig. 3. Detection process. (a)(b) Depth and RGB images. The scene is complex and some people are occluded. (c) Output of Stage 1. (d) Output of Stage 2. Points in the neighborhood of a local height maximum in 3D space are considered to belong to the same object and are given the same color mask.</div>

条件：a) 该点在其投影所在的单元内高度最大；b) 该点的高度比头顶冠点的高度小不超过0.45米。得到所有高度差分后，我们构建一个直方图，将0到0.45米的范围划分为15个区间。通过构建直方图的方式，我们避免了像[^9][^18]那样对人体形状做出强假设，因此该特征在含噪声甚至碎片化的数据上依然有效。

(2) 颜色-高度联合直方图（JHCH）：颜色分布[^7]和高度（或深度）模式[^14][^18]已被证明在人体检测与跟踪中十分有效。二者的简单线性组合也已在[^9]中得到应用。实际上，如果考虑二者之间的相关性，颜色和高度信息可以得到更有效的利用。在本文工作中，我们提出一种分为5个高度区间的颜色-高度联合直方图（简称JHCH），用来表征人头部的外观信息。如图4(a)所示，头部的颜色统计信息主要来自头发和面部，若从后方观测人体则仅来自头发，且这些区域分布在不同的高度层面。由于HSV颜色空间的色相分量对光照变化不敏感，因此我们将其用作直方图的颜色模型。本文中将色相范围划分为9个区间，对白像素和黑像素进行特殊处理，记录在额外的分箱中。我们收集头顶相邻点中高度值比头顶高度小0.2m（约为一个人头的尺寸）以内的点，构建二维JHCH。通过对颜色和高度进行统计描述，JHCH即使在处理不同发型、不同头部姿态的人物时也能表现良好。

我们采集了不同场景下的多个RGBD序列，场景包括办公室、休息区和服装店。总共选取了3214帧作为训练样本帧，在这些样本帧中检测局部高度极大值，共记录了24997个位置，随后手动将这些位置标注为人体目标或非人体目标。在这些位置提取特征用于分类器训练。平均每帧提取约2个人体目标和6个其他目标。训练样本包含约100个不同的人物，涵盖站立、行走、坐姿、鞠躬等多种姿态。

![Image](images/748ffaf82d7a4850b8f017c2c303ebe73ae7243e0c8e7cb1964fb06e2a8b620c.jpg)

<div style="text-align: center;">(a) 2D JHCH of head</div>

![Image](images/ebcc849922ac378f1aa952748ed9c400f8eafcd6731ebc1ac7f1f592e3902d20.jpg)

<div style="text-align: center;">(b) 2D and 3D JHCHs of body</div>

<div style="text-align: center;">Fig. 4. (a) With the increment of height, the probability of the occurrence of skin color decreases, while the color of hair may be the opposite. This can be considered as a distinct feature of human head. (b) JHCH, which encodes information about the positions of colors on the object, is an effective descriptor of a human. In this figure, probability of each bin is expressed with gray-scale values (a darker value indicates a higher probability).</div>

我们采用带线性核的支持向量机（SVM）作为分类器。

#### 2.3 人体跟踪

若能得到干净的检测结果，人体跟踪就会变得更加顺畅。我们采用基础卡尔曼滤波模型和简单的贪心数据关联技术，该方法为每个轨迹分配当前帧中与该轨迹最相似、且最接近卡尔曼预测位置的检测结果（ $\leq0.6$m）。该任务的挑战在于定义一个相似性函数，能够更好地表征不同人物之间的差异。

一般来说，不同人物可能具有不同的颜色-高度分布。为了自动跟踪未知数量的人物，我们再次使用了2.2节介绍的JHCH模型。颜色-高度联合直方图在区分不同人物时优于单一颜色模型、单一高度模型，也优于二者的简单组合，这是因为JHCH能更好地挖掘颜色与高度之间的关联。二维JHCH在描述人头部外观时足够有效，但在表征整个人体时，由于衣物颜色的多样性，其效果会受到限制。因此我们采用三维色相-饱和度-高度直方图来表征一个人物（参见图4(b)）。我们将色相范围划分为9个区间，饱和度范围划分为5个区间，高度范围（0.6m-2m）划分为5个区间。只有位于头顶圆柱形邻域内的点对表征人物有意义，因此我们选取这些点来构建三维JHCH。

由于不同身体部位在图像中的稳定性不同（上半身更可靠，更不容易被遮挡），我们通过加权函数$w(x_i) = e^{\alpha \cdot h(x_i)}$为不同高度层级的点分配不同的权重，其中$h(x_i)$是点$x_i$的高度值（单位为米），$\alpha$为控制因子（本文取值0.2）。因此目标t的r-bin 3D JHCH $H_t = \{H_t^k\}_{k=1,2,\ldots,r}$可计算如下：

 $$ H_{t}^{k}=f*\sum_{x_{i}\in\mathcal{N}}\big(w(x_{i})*\delta[b(x_{i})-k]\big), $$

---

![Image](images/fefc96a528b09f483ec2e9f43d1eeed393b33db243bee30e070fb03deaea7255.jpg)

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

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

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

<div style="text-align: center;">Fig. 5. Comparison of performance.</div>

式中$\delta$为克罗内克δ（Kronecker delta）函数，$b(x_i)$表示$x_i$应当分配到的区间，$\mathcal{N}$为邻点集合，$f = 1/\sum_{x_i \in \mathcal{N}} w(x_i)$为归一化因子。随后我们可以定义目标a和目标b之间的相似度函数如下：

 $$ \zeta=\gamma*\rho[H_{a},H_{b}]+(1-\gamma)*\varphi[L_{a},L_{b}], $$

式中$L_{i}$为目标i的空间位置（$i = a, b$），$\gamma$为权重因子，$\rho$和$\varphi$分别为直方图的Bhattacharyya相似度和目标的空间位置相似度，公式表述如下：

 $$ \rho[H_{a},H_{b}]=exp\big(-\mu*\big(1-\Sigma_{k=1}^{r}\big/\sqrt{H_{a}^{k}H_{b}^{k}}\big)^{2}\big), $$

 $$ \varphi[L_{a},L_{b}]={e x p}\big(-v\ast D(L_{a},L_{b})\big), $$

式中D为a和b之间的欧氏距离，$\mu$和v均为控制因子（在本文工作中，$\mu$取值为30，v取值为0.01）。

在本系统中，我们会计算检测响应与跟踪轨迹之间的相似度。没有匹配轨迹的检测响应会被判定为新目标，而超过10秒没有匹配检测响应的跟踪轨迹将会被终止。

### 3. 实验

本文提出系统的实验评估使用了真实场景RGBD视频，这些视频是周五晚间由Kinect在一家服装店采集得到。Kinect安装在2.2米高度，相对于地面倾斜约30度。系统运行在搭载四核英特尔i5-2500 CPU、8GB内存的台式机上，该配置下平均帧率为29Hz。

为评估本文提出检测器的性能，我们从一段45分钟的序列中均匀采样了共400帧，该序列包含店内顾客和店员的无预设自然行为。该检测方法在这个具有挑战性的数据集上表现良好。我们将本文算法与传统基于外观的检测器HOG [^5]以及近年提出的基于深度的方法Model Fitting [^18]进行对比。我们绘制了这些不同技术的精确率-召回率曲线，对比了它们的平衡点（BEP，即精确率等于召回率），结果见图5(a)。精确率定义为

![Image](images/aab198f4383aefac0ea07b01d824954313a8d87c6b55ef5ffcf5d32cdc0d65f8.jpg)

![Image](images/23dd28ba66f416d10143c9cf6a3f46f8089d8cbd5c502bb44ef6097be0509e0f.jpg)

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

![Image](images/677c2bd3daa923a787e7148671df3243867f5d27e1759535cbb8f351657efbd0.jpg)

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

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

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

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

<div style="text-align: center;">Fig. 6. (a) Human tracking in complex scenes. (b) After short-time occlusion, the tracks are right re-attached. (c) People are crowded. (d) Boxes are passed between two persons.</div>

 $\frac{TP}{TP+FP}$，召回率定义为$\frac{TP}{TP+FN}$。TP、FP和FN分别代表真阳性、假阳性和假阴性。

实验结果表明，本文提出的检测器在整个精确率-召回率区间上的表现均优于基于HOG和Model Fitting的方法，取得了93%的BEP。HOG检测器仅在RGB数据中检测行人，由于背景和行人动作复杂度较高，得到的BEP相对较低。Model Fitting方法利用二维头部轮廓和三维头部表面模型在深度图像中匹配头部。在我们的测试场景中，头部部分遮挡频繁发生，且Kinect采集的深度数据存在严重的数据缺失（图3(a)中，距离最远的男子头部深度数据不完整），因此Model Fitting的性能受到限制。本文提出的检测器结合RGB和深度数据，采用两阶段行人检测方案，在存在部分遮挡和深度数据缺失的情况下依然可以良好运行。

我们还对本文方法的跟踪性能进行了定量评估。在本次评估中，我们仅关注两类核心错误：跟丢（遮挡后无法重新关联轨迹）和ID切换（两个被跟踪行人的身份发生互换），因为误检和漏检已经在检测结果中进行了覆盖分析。我们在数据关联中将3D JHCH与独立颜色直方图、独立高度直方图进行对比。跟踪错误数量的对比结果如图5(b)所示。可以看出，通过构建颜色和高度的联合直方图，跟踪错误的数量得到了降低。

图6展示了服装店环境下的部分实验结果。可以看出，在这种高度复杂的动态场景中，我们的系统在行人检测与跟踪任务中表现出色。

### 4. 结论

本文提出了一种可在真实环境中有效、高效运行的行人检测与跟踪系统。该系统的三个阶段逐步完成任务，一种新颖的表示方法（Point Ensemble Image）极大地简化了各阶段的计算工作。实验结果表明，该系统能够在真实环境的挑战性场景下快速、稳健地运行。

---

### 5. 参考文献

[^1]: X. Liu, P. H. Tu, J. Rittscher, A. Perera, and N. Krahnstoever, “Detecting and counting people in surveillance applications,” in IEEE Conference on Advanced Video and Signal Based Surveillance (AVSS), 2005.

[^2]: M. Butenuth, F. Burkert, A. Kneidl, A. Borrmann, et al., “Integrating pedestrian simulation, tracking and event detection for crowd analysis,” in IEEE ICCV Workshop on Modeling, Simulation and Visual Analysis of Large Crowds, Nov. 2011.

[^3]: F. Fleuret, J. Berclaz, R. Lengagne, and P. Fua, “Multicamera people tracking with a probabilistic occupancy map,” IEEE TPAMI, vol. 30, no. 2, pp. 267–282, Feb. 2008.

[^4]: D. Mitzel and B. Leibe, “Close-range human detection for head-mounted cameras,” in British Machine Vision Conference (BMVC), Sept. 2012.

[^5]: N. Dalal and B. Triggs, “Histograms of oriented gradients for human detection,” in CVPR, 2005.

[^6]: M. Han, A. Sethi, W. Hua, and Yihong Gong, "A detection-based multiple object tracking method," in International Conference on Image Processing (ICIP), Oct. 2004.

[^7]: P. Perez, C. Hue, J. Vermaak, and M. Gangnet, “Color-based probabilistic tracking,” in European Conference on Computer Vision (ECCV), 2002.

[^8]: M. Andriluka, S. Roth, and B. Schiele, “People-tracking-by-detection and people-detection-by-tracking,” in CVPR, 2008.

[^9]: B.-K. Dan, Y.-S. Kim, Suryanto, J.-Y. Jung, and S.-J. Ko, “Robust people counting system based on sensor fusion,” IEEE Trans. on Consumer Electron., vol. 58, no. 3, pp. 1013–1021, 2012.

[^10]: J. Salas and C. Tomasi, “People detection using color and depth images,” in Mexican Conference on Pattern Recognition (MCPR), 2011.

[^11]: O. Arif, W. Daley, P. Vela, J. Teizer, and J. Stewart, “Visual tracking and segmentation using time-of-flight sensor,” in IEEE International Conference on Image Processing (ICIP), Sept. 2010.

[^12]: A. Bevilacqua, L. Di Stefano, and P. Azzari, “People tracking using a time-of-flight depth sensor,” in IEEE International Conference on Video and Signal Based Surveillance, Nov. 2006.

[^13]: L. Spinello and K.O. Arras, “People detection in rgb-d data,” in IEEE / RSJ International Conference on Intelligent Robots and Systems (IROS), Sept. 2011.

[^14]: M. Harville and D. Li, “Fast, integrated person tracking and activity recognition with plan-view templates from a single stereo camera,” in CVPR, 2004.

[^15]: S. Bahadori, L. Iocchi, G.R. Leone, and D. Nardi, “Real-time people localization and tracking through fixed stereo vision,” Appl. Intell., vol. 26, no. 2, pp. 83–97, 2007.

[^16]: S. Yous, H. Laga, and K. Chihara, “People detection and tracking with world-z map from a single stereo camera,” in The Eighth International Workshop on Visual Surveillance (VS2008), 2008.

[^17]: S.A. Guethmundsson, M. Pardas, J.R. Casas, et al., “Improved 3d reconstruction in smart-room environments using tof imaging,” Computer Vision and Image Understanding, vol. 114, pp. 1376–1384, 2010.

[^18]: L. Xia, Chia-Chih Chen, and J.K. Aggarwal, “Human detection using depth information by kinect,” in Workshop on Human Activity Understanding from 3D Data in conjunction with CVPR (HAU3D), June 2011.
