
# 基于Xtion Pro-Live相机记录深度信息的俯视图三维人体跟踪

Cyrille Migniot、Fakhreddine Ababsa

法国埃夫里-瓦尔德塞纳大学IBISC - IRA2团队 {Cyrille.Migniot, Fakhr-Eddine.Ababsa}@ibisc.fr

摘要：本文研究了Xtion Pro-Live相机获取的深度图像序列中的人体三维姿态跟踪问题。可通过模型拟合，利用深度数据与关节人体模型之间的密集对应关系估计人体姿态。然而，视频监控场景中相机通常放置在人群上方，但现有所有跟踪方法都采用前视角，因为人体形状在该视角下区分度更高。我们提出了一种适配俯视图的新模型，在粒子滤波框架下实现实时无标记跟踪。该模型由两部分组成：提供人体定位的2D模型，以及提供人体姿态的3D模型。该方法错误估计量少，且可通过置信度度量高效检测出错误估计。

## 1 引言

近年来，针对三维数据的人体部位检测、姿态估计与跟踪问题已有大量研究。现有方法通常将图像拟合到一个可体现人体潜在运动的关节模型上。文献中绝大多数方法都使用适配人体前视图的模型，因为人体形状在该朝向下的区分度要高得多。此外，俯视图中一般无法获取皮肤颜色和面部特征信息。但在视频监控应用中，相机通常安装在人群上方，俯视图跟踪需要使用深度特征。可提供深度数据的主流设备之一是Kinect，该设备的传感器可同时采集RGB和深度数据。本文模拟了将Xtion Pro-Live相机（华硕Assus在2013年推出的深度-彩色相机）安装在超市天花板的场景，研究目标是分析顾客在货架区域购物时的行为，第一步是跟踪顾客的姿态，后续将通过其他处理完成识别。

关节人体运动跟踪的主要挑战在于需要恢复的自由度数量极大。对于非线性或非高斯问题，粒子滤波算法[^1]已得到广泛应用。该方法基于蒙特卡洛模拟，为非线性场景下的状态估计提供了合适的框架，

---

非高斯系统。在时刻k，设$x_k$为模型状态，$y_k$为观测值。粒子滤波基于加权粒子样本集$p(x_k|y_k)$计算观测似然，递归逼近当前状态$x_k$的后验概率密度$\{x_k^i, \omega_k^i\}$。N个粒子中的每个粒子$x_k^i$对应一个由系统动态模型传播、并经$\omega_k^i$加权得到的随机状态。粒子滤波共有4个基本步骤：

- 重采样：从样本$\{x_k^i, \frac{1}{N}\} \sim p(x_k|y_k)$中重采样得到N个粒子$\{x_k^i, \omega_k^i\}$。粒子根据权重进行选择：高权重粒子会被复制，低权重粒子会被删除。

- 传播：使用系统动态模型$p(x_{k+1}|x_k)$传播粒子，得到$\{x_{k+1}^{i}, \frac{1}{N}\} \sim p(x_{k+1}|y_k)$。

- 加权：粒子通过似然函数加权，该似然函数与模型到新观测的匹配关系相关。新权重 $\omega_{k+1}^i$ 经过归一化处理，满足： $\sum_{i=1}^N \omega_{k+1}^i = 1$，由此得到新样本 $\{x_{k+1}^i, \omega_{k+1}^i\} \sim p(x_{k+1} | y_{k+1})$。

- 估计：新姿态通过以下方式近似得到：

  $$ x_{k+1}=\sum_{i=1}^{N}\omega_{k+1}^{i}x_{k+1}^{i} $$

人体的关节结构通常会被纳入考虑，采用骨架建模，骨架的刚性段对应各个身体部位。为表示人体占据的体积，骨架由一组经合理组合的几何图元构成[2–4]。用于描述人体类别的最常用特征是肤色[^5]、轮廓[^6]和分类器输出结果[^7]。

为了减少计算时间，Gonzales[^5]将跟踪分解到身体各个子部分分别进行，Yang[^8]使用分层粒子滤波器简化了似然函数，Deutscher[^2]通过退火粒子滤波减少了所需的粒子数量。

骨架的运动可通过与环境中物体的交互加以约束[^9] [^10]。实际上，骨架并非所有姿态都是可行的，例如头部的旋转角度不能超过$360^{\circ}$。可以通过将采样投影到可行构形空间来约束采样过程[^3]。

俯视视角下的人体跟踪是一个较少被探索的研究方向，在视频监控领域拥有大量应用。Heath[^11]估计了显著特征点（主要位于肩部）的三维轨迹，并将其用作粒子滤波的观测输入。Canton-Ferrer[^12]用椭球体定义了遮挡的排除区域。跟踪时，他分离出三维斑点，采用粒子滤波，其中每个粒子代表斑点的一个体素，由此估计出对人体建模的斑点质心。这些方法仅实现了人体位置的跟踪，并未跟踪手势。

---

我们提出了一种能够良好跟踪决定人体手势的手臂姿态的方法。

本文介绍了一种俯视视角下基于粒子滤波的人体手势跟踪方法。相关信息由Xtion Pro-Live相机提供的深度数据给出。Rincón[^13]分两步进行跟踪：第一步估计人体的整体位置，第二步恢复肢体的相对姿态。与之类似，针对人体上半身，我们将模型拆分为表示头部和肩部的二维模型，以及表示全身的三维模型（图1）。第一个模型相对容易从深度阵列中得到。对于第二个模型，我们利用头部和肩部位置提供的先验信息约束可能姿态的空间，从而降低了计算成本。

![Image](images/4e35c746f11e32cee0d8126a2eedbc278ce811132ecfe93a5a18a294c6db05df.jpg)

<div style="text-align: center;">Fig. 1. Overview of the method: the 2D tracking estimates the location of the person while the 3D tracking estimates the pose</div>

我们的主要贡献如下：第一，采用了专门适配俯视视角的模型；第二，利用深度信号定义似然函数；第三，将模型拆分为两个部分，降低了滤波复杂度，同时结合使用二维和三维模型；第四，引入置信度度量来检测错误的姿态估计结果。

## 2 粒子滤波实现

为获取深度图像，华硕生产的Xtion Pro-live相机被安装在距地面2.9米处。该深度图像可提供三维空间中的一组点（图4中以灰色表示），这些点代表俯视视角下人体可见的表面部分。此外，使用三维数据可以引入空间约束：同一物体在二维空间中的尺寸会随其与相机的距离变化，但在三维空间中尺寸始终保持不变。下文将介绍两种采用粒子滤波的追踪器。初始化步骤中，肩部位置由检测过程给出，手臂姿态固定为与身体平行。只需少量帧即可得到正确的手臂姿态。我们在传播步骤中采用了简单的带高斯离散的恒速动态模型。

### 2.1 头肩模型

与Micilotta [^14]的方法一致，我们采用头部和肩部构成的类$\Omega$形状。头部和肩部的俯视图由两个椭圆建模，每个椭圆对应3个自由度。

---

![Image](images/e0f2c1d44dc383b8d80e311bfe0df521c7cba62d768c256cf304932acc7ac346.jpg)

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

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

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

<div style="text-align: center;">Fig. 2. The camera records simultaneously the color (b) and the depth (c) images. The depth image is thresholded (d) in the head and the shoulders levels (a). The ellipses of the model are fitted to the chamfer distance of this map (e).</div>

深度线索给出了目标元素与相机的距离，因此也能得到它与地面的距离。我们将深度图像阈值化为两个层级，分别对应头部中部和肩部末端（图2(d)）。似然函数通过粒子给出的椭圆与阈值化深度图像的倒角距离匹配计算得到（图2(e)）。倒角距离对人体胖瘦变化具有鲁棒性。我们在传播步骤中加入约束，将两个椭圆关联起来。

### 2.2 完整三维模型

建模。该模型受到前述模型的强约束。肩部的二维位置给出了人体在场景中的位置和方向，三维模型则用于确定手臂运动。我们假设一只手臂具有5个自由度：肩部3个，肘部2个。我们还构建了模型的骨架，每只手臂由一个5维状态向量定义。状态空间受到人体运动生物力学知识的约束。为了表示体积，我们添加了几何基元：手臂和前臂被建模为截圆柱体，躯干为椭圆柱，手部则为矩形平面（图3）。

似然函数。与前述模型一样，本模型也使用深度线索，但我们不仅利用了阈值化的二维表示。实际上深度变化对手臂具备很好的描述性，因此我们选择使用三维倒角距离。

---

![Image](images/0467081d526f8d50e6caba55b5b96c634a8883a6b2daa1c0d19858573f925ae2.jpg)

<div style="text-align: center;">Fig. 3. The complete 3D model (left) is defined from the angles of the state vector (right)</div>

设$\Delta$为深度图像前景中排除已检测到的头部和肩部后的像素点，M为粒子给出的三维模型，则粒子i对应的似然函数定义为：

 $$ \omega_{i}=average(d_{3D}(p,\mathcal{M}^{i}))_{p\in\Delta} $$

其中$d_{3D}$为点到三维模型的最短距离。

## 3 性能测试

我们在实验条件下模拟了顾客的行为，以评估本文方法对人体的追踪能力。我们记录了两段序列$\mathcal{S}_1$和$\mathcal{S}_2$，分别包含450帧（时长>1分钟）和300帧（$\approx$43秒），包含多种手臂动作。

为了对结果进行定性评估，我们在图4中展示了追踪得到的三维模型，该模型被投影到彩色图像以及XZ平面和YZ平面上。深度图像中可见的像素在XZ平面和YZ平面中以灰色表示。可以看到模型与人体拟合效果良好。

我们将深度线索作为真值开展定量评估。深度图像前景中排除由二维跟踪得到的头部和肩部后的像素，会根据肩部朝向在两条手臂之间进行分配。我们使用的评估指标是这些像素在三维空间中的位置与跟踪估计得到的三维模型之间的平均距离。

粒子数量越多，跟踪精度越高，但处理耗时也会随之增加，因此需要找到折衷方案。本文给出的处理时间是在3.1GHz处理器上运行未优化的C++实现得到的。图5表明，当粒子数量超过75后，跟踪性能不会再有明显提升。当粒子数量不超过75时，该方法可以实现实时处理。

---

![Image](images/d82c5aaaf94843914a05506ade4ab6af490b4c927272376250348a76e223f62b.jpg)

<div style="text-align: center;">Fig. 4. On the left the model on the color image and on the right the model in the 3D space projected on XZ and YZ planes (the pixels in gray correspond to the points given by the depth image)</div>

---

![Image](images/26aba4538a2e9f984fdbc85fef3b782655bac0de291c44da012afdf9d9d2be91.jpg)

<div style="text-align: center;">Fig. 5. Evolution of the tracking quality as a function of the processing time for the two sequences: when the number of particles increases, the accuracy of the tracking increases but the processing frequency decreases. Our process is real time.</div>

当粒子数量少于25时，跟踪效果会显著下降。使用75个粒子对序列中的手臂进行912次评估后，我们得到的评估指标平均值为25mm，标准差为5mm。

有时，某些特殊姿态很难估计，例如握拳高抬的情况（图6）。为了检测这些错误估计，我们引入了置信度指标。将估计得到的骨架投影到深度图像的二维平面上，置信度指标为投影后手臂像素到前景区域的平均距离。当模型与观测拟合良好时，该值为0，拟合不佳时该值会上升。我们在序列$\mathcal{S}_1, \mathcal{S}_2$和$\mathcal{S}_3$（图6）上计算了该置信度指标。当估计错误时，该准则会输出更高的数值，便于检测。错误估计的占比很小（三个序列中仅为1,52%），且大多仅持续一帧。

为了评估手臂各部分的运动轨迹，我们在存在大量右臂运动的第三个序列$\mathcal{S}_3(\approx 55\text{s})$上跟踪肩部、肘部和腕部的三维位置。我们使用两台ARTTRACK1相机和DTRACK软件跟踪反光球（图7(a)）。这些传感器的位置与Xtion Pro-Live的采集数据同步记录。从图7(bcd)可以看出，传感器记录的运动与我们的方法从Xtion Pro-Live采集数据中计算得到的运动非常接近。ART记录的运动范围更大，这是因为传感器无法精准放置在关节位置。

---

![Image](images/5349b252e0b6fa529cb36d687dfc363645605b63f3ded430f0a5cc75dddd3bff.jpg)

![Image](images/7773310dd0d6de944456448252adb3a76b067a2f1bde36f0eefccca1bbf04ff6.jpg)

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

<div style="text-align: center;">Fig. 6. The confidence measure shown for the two arms: the local maxima correspond to false estimations of the pose. They are relatively scarce and easy to detect.</div>

![Image](images/bda95d839d86e7b9b2ab2e67e38a747c4575b80fea3767074d955907d0590c74.jpg)

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

![Image](images/acc080041d3277723094b2ff8e0d16910f58101bb6ed50048653ec44e2dc2ba2.jpg)

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

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

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

![Image](images/d9c7bd24a3a2e7113608f0b3457cd12c92a2ee2ab205d4e9a703a2f73c9b5087.jpg)

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

<div style="text-align: center;">■ shoulder tracking ■ shoulder ART = elbow tracking ■ elbow ART = wrist tracking ■ wrist ART</div>

<div style="text-align: center;">Fig. 7. Captors are used to follow the 3D positions of the shoulder, the elbow and the wrist of an arm (a). The trajectories of these captors (ART) are closed to the ones provided by our method (tracking) for the x (b), y (c) and z (d) coordinates.</div>

## 4 结论

本文针对俯视场景这一特定情况，提出了一种基于粒子滤波的全新三维跟踪方法。该方法利用新型华硕相机获取深度线索。为此，我们引入了一个俯视模型，基于倒角距离同时进行二维和三维拟合。此外，针对行为识别场景，该方法为每一

---

帧关联了置信度指标，以便检测可能存在的错误估计。该方法处理高效，可实现实时运行。

跟踪是行为分析的第一步。未来工作将把本文提出的跟踪方法用于动作识别。结合相机位姿估计[15–17]，我们的工作可以应用于运动相机下的增强现实场景。最后，联合跟踪与分割方法将能为后续处理提供更多信息。

## 参考文献

[^1]: Isard, M., Blake, A.: Condensation - conditional density propagation for visual tracking. International Journal of Computer Vision XXIX, 5–28 (1998)

[^2]: Deutscher, J., Blake, A., Reid, I.: Articulated body motion capture by annealed particle filtering. In: Computer Vision and Pattern Recognition (2000)

[^3]: Hauberg, S., Sommer, S., Pedersen, K.S.: Gaussian-like spatial priors for articulated tracking. In: Daniilidis, K., Maragos, P., Paragios, N. (eds.) ECCV 2010, Part I. LNCS, vol. 6311, pp. 425–437. Springer, Heidelberg (2010)

[^4]: Horaud, R., Niskanen, M., Dewaele, G., Boyer, E.: Human motion tracking by registering anarticulated surface to 3d points and normals. IEEE Transaction on Pattern Analysis and Machine Intelligence XXXI, 158–163 (2009)

[^5]: Gonzalez, M., Collet, C.: Robust body parts tracking using particle filter and dynamic template. In: IEEE International Conference on Image Processing, pp. 529–532 (2011)

[^6]: Xia, L., Chen, C., Aggarwal, J.K.: Human detection using depth information by kinect. In: International Workshop on Human Activity Understanding from 3D Data (2011)

[^7]: Kobayashi, Y., Sugimura, D., Sato, Y., Hirasawa, K., Suzuki, N., Kage, H., Sugimoto, A.: 3d head tracking using the particle filter with cascaded classifiers. In: British Machine Vision Conference, pp. 37–46 (2006)

[^8]: Yang, C., Duraiswami, R., Davis, L.: Fast multiple object tracking via a hierarchical particle filter. In: International Conference on Computer Vision, pp. 212–219 (2005)

[^9]: Kjellström, H., Kragic, D., Black, M.J.: Tracking people interacting with objects. In: IEEE Conference on Computer Vision and Pattern Recognition (2010)

[^10]: Oikonomidis, I., Kyriazis, N., Argyros, A.: Full dof tracking of a hand interacting with an object by modeling occlusions and physical constraints. In: IEEE International Conference on Computer Vision, pp. 2088–2095 (2011)

[^11]: Heath, K., Guibas, L.: Heath, k., and guibas, l.j. In: ACM/IEEE International Conference on Distributed Smart Cameras, pp. 1–9 (2008)

[^12]: Canton-Ferrer, C., Salvador, J., Casas, J.R., Pardàs, M.: Multi-person tracking strategies based on voxel analysis. In: Stiefelhagen, R., Bowers, R., Fiscus, J.G. (eds.) RT 2007 and CLEAR 2007. LNCS, vol. 4625, pp. 91–103. Springer, Heidelberg (2008)


## [^13]: Del Rincón, J., Makris, D., Nebel, J.: Tracking human position and lower body parts using kalman and particle filters constrained by human biomechanics. IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics 62, 26–37 (2011)


---

[^14]: Micilotta, A., Bowden, R.: View-based location and tracking of body parts for visual interaction. In: British Machine Vision Conference, pp. 849–858 (2004)

[^15]: Didier, J., Ababsa, F., Mallem, M.: Hybrid camera pose estimation combining square fiducials localisation technique and orthogonal iteration algorithm. International Journal of Image and Graphics 8, 169–188 (2008)

[^16]: Ababsa, F., Mallem, M.: A robust circular fiducial detection technique and real-time 3d camera tracking. International Journal of Multimedia 3, 34–41 (2008)

[^17]: Ababsa, F.: Robust extended kalman filtering for camera pose tracking using 2d to 3d lines correspondences. In: IEEE/ASME Conference on Advanced Intelligent Mechatronics, pp. 1834–1838 (2009)
