
# 人体检测在俯视深度图像中

Tae-Won Choi

科学技术大学（UST）

217, Gajeong-ro, Yuseong-gu, Daejeon, 34129, Korea

电子电信研究院（ETRI），韩国大田广域市儒城区加贞路218号，邮编34113，韩国

Dae-Hwan Kim

电子电信研究院（ETRI），韩国大田广域市儒城区加贞路218号，邮编34113，韩国

Ki-Hong Kim $^{*}$

科学技术大学（UST）

217, Gajeong-ro, Yuseong-gu, Daejeon, 34129, Korea

电子电信研究院（ETRI）

218, Gajeong-ro, Yuseong-gu, Daejeon, 34113, Korea

 $^{*}$对应作者

Copyright © 2016 Tae-Won Choi, Dae-Hwan Kim and Ki-Hong Kim. 本文在知识共享署名许可下进行分发，该许可允许在任何媒介中进行未经限制的使用、分发和复制，但前提是必须正确引用原始作品。

## 摘要

本文提出了一种用于人体检测的有效且可靠的特征描述器，该描述器使用均值和标准偏差两个统计值，适用于俯视深度图像。我们的描述器的性能优于使用均值的Rauter方法和简化局部三元模式 (SLTP) 方法。为了评估我们的描述器的性能，我们收集了 559 个正面样本和 2382 个负面样本的俯视深度图像，结果表明，我们的描述器具有 98.1% 的精度和 94.2% 的召回率。我们的描述器的运行速度相对较快。使用本文提出的描述器进行人体检测，可以应用于检测多个人体并在俯视深度图像中进行实时跟踪。

关键词：深度图像，特征描述器，人体检测

---

## 1 简介

人体检测或识别在娱乐、机器人和监控等各种应用中都非常重要，因此许多研究人员都致力于解决该问题。梯度方向直方图 (HOG) 描述器 [^1] 是一种在彩色图像中进行人体检测的常用方法。它将检测窗口划分为许多单元格，并使用 x 轴和 y 轴方向的差值计算每个像素的方向。由于存在复杂的背景、光照变化、背景噪声以及个体差异等问题，彩色图像中的人体检测是一个具有挑战性的问题。

最近，一些研究方法利用深度信息进行人体检测，以解决上述问题。通过使用距离的差异，可以轻松地进行背景分割。光照变化的影响较小，并且由于颜色差异引起的个体差异在深度图像中不是严重的问题。法向量方向直方图 (HONV) 描述器 [^2] 计算每个像素的法向量的方位角和天顶角，并将它们累积到划分为单元格的直方图中。简化局部三元模式 (SLTP) 描述器 [^3] 计算 x 轴和 y 轴方向的深度值差，并将它们量化为 0、+1 和 -1，然后将每个像素的 9 种不同模式的直方图累积起来。

在某些交互系统中，摄像头安装在人的头部上方。人体姿态的形状会根据位置而发生很大变化，尤其是在俯视图中，如图 1 所示。有时我们只能看到人的头部和肩膀，有时可以看到整个身体。各种发型使这个问题更加困难。因此，在俯视图中识别人体并不容易。Rauter[^4] 将局部最大值作为中心点，并将附近的区域划分为许多块，计算每个块的平均值。将块累积到一个直方图中，该直方图取决于距离中心点的距离。

在本文中，我们提出了一种新的描述符，用于在俯视深度图像中检测人体。我们的描述符在检测性能方面优于

![Image](images/abecba52a031730fbad86943e9ecb836f1cb700cd1e69bbcf336c2890d3d7fd3.jpg)

![Image](images/e1caa9fed36a3b242eb3d42ed83a75d515f117b46ca1034cd27f28ccc309e51f.jpg)

![Image](images/00af92be24381307875e7ca33d8f53eb9737dd71ff3411d883bc270068a773cd.jpg)

![Image](images/faf61af3dde69c6c26ba0d91dcd3c4f43f1d3bf502f479f63c742228111d68e0.jpg)

<div style="text-align: center;">Figure 1. Variance of human shape in a top-view image</div>

现有的方法。分类器的训练时间和决策时间也非常快，因为我们的描述符使用较小的内存并且具有简单的计算过程。

## 2 提出的方法

我们提出了一种描述符，用于在俯视深度图像中检测人体。我们的描述符基于滑动检测窗口。我们将检测窗口划分为

---

许多块，并计算每个块的平均值和标准差。

如图 2 所示，窗口中块的平均值描述了对象的形状，而标准差突出了对象的边界。我们计算每个块的平均值，$\overline{D}_{B}$，如下所示：

 $$ \begin{array}{r}{\overline{{D}}_{B}=\frac{\sum_{\mathbf{x}\in B,\mathbf{x}\notin E}D(\mathbf{x})}{N_{B}-N_{E}}.}\end{array} $$

其中，$\mathbf{x}$ 表示块中像素位置 $(x, y)$，$D(\mathbf{x})$ 表示 $\mathbf{x}$ 处的深度值。$N_B$ 和 $N_E$ 分别表示块中的总像素数和块中错误像素的数量。我们计算每个像素的标准差如下：

 $$ \begin{array}{r}{\overline{{S}}_{B}=\sqrt{\frac{\sum_{\mathbf{x}\in B,\mathbf{x}\notin E}D^{2}(\mathbf{x})}{N_{B}-N_{E}}}-\overline{{D}}_{B}^{\mathrm{~\scriptsize~2~}}.}\end{array} $$

我们通过规范化窗口中块的平均值和标准差，并将它们向量化，来创建描述符。注意，当平均值和标准差一起进行规范化时，描述符会使分类器感到困惑。为了规范化，我们使用 l2 范数，该范数在实验的规范化方法中表现最佳。我们的描述符的大小是块大小的两倍。我们使用线性支持向量机来训练我们的描述符分类器。

![Image](images/c5ce115f099bdba4a189f8bb8c5e10051a82024ffc42157658fcee9e8b434c0d.jpg)

![Image](images/02209b6316919bea04ca7ba50410da26b1d316ccc1eaa448653dfe5131a069d8.jpg)

![Image](images/48a6ee041f5132ccff8ba0a689a85e860b9698053ef2dcf0504b71bf5695412c.jpg)

<div style="text-align: center;">Figure 2. Depth image(left)), mean(center), and standard deviation</div>

## 3 实验结果

我们比较了我们的描述符与 SLTP 和 Rauter。我们使用 4x4、8x8 和 12x12 的各种块大小，并使用一半大小的步长进行块重叠或非重叠。所提出的方法在检测性能和运行时间性能方面进行评估。

---

### 3.1 检测性能

为了评估检测性能，我们构建了一个包含 559 个正面和 2382 个负面俯视深度图像的数据集。在数据集中，504 个正面图像和 2144 个负面图像用于训练分类器，55 个正面图像和 238 个负面图像用于测试检测性能。表 1 显示了三个不同描述符的精度和召回率。

我们的描述符在所有条件下，精度都比 SLTP 高。特别是，我们的描述符的精度在图 3 的左侧显示，与块大小无关。我们的描述符在召回率方面优于其他描述符，如图 3 的右侧所示。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td colspan="3">Precision</td><td colspan="3">Recall</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>block size / stride</td><td style='text-align: center; word-wrap: break-word;'>SLTP</td><td style='text-align: center; word-wrap: break-word;'>Rauter</td><td style='text-align: center; word-wrap: break-word;'>our descriptor</td><td style='text-align: center; word-wrap: break-word;'>SLTP</td><td style='text-align: center; word-wrap: break-word;'>Rauter</td><td style='text-align: center; word-wrap: break-word;'>our descriptor</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12/12</td><td style='text-align: center; word-wrap: break-word;'>0.834483</td><td style='text-align: center; word-wrap: break-word;'>0.95069</td><td style='text-align: center; word-wrap: break-word;'>0.959677</td><td style='text-align: center; word-wrap: break-word;'>0.88</td><td style='text-align: center; word-wrap: break-word;'>0.876364</td><td style='text-align: center; word-wrap: break-word;'>0.865455</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12/6</td><td style='text-align: center; word-wrap: break-word;'>0.834483</td><td style='text-align: center; word-wrap: break-word;'>0.960861</td><td style='text-align: center; word-wrap: break-word;'>0.971209</td><td style='text-align: center; word-wrap: break-word;'>0.88</td><td style='text-align: center; word-wrap: break-word;'>0.892727</td><td style='text-align: center; word-wrap: break-word;'>0.92</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>8/8</td><td style='text-align: center; word-wrap: break-word;'>0.913761</td><td style='text-align: center; word-wrap: break-word;'>0.974952</td><td style='text-align: center; word-wrap: break-word;'>0.979087</td><td style='text-align: center; word-wrap: break-word;'>0.905455</td><td style='text-align: center; word-wrap: break-word;'>0.92</td><td style='text-align: center; word-wrap: break-word;'>0.936364</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>8/4</td><td style='text-align: center; word-wrap: break-word;'>0.913761</td><td style='text-align: center; word-wrap: break-word;'>0.973025</td><td style='text-align: center; word-wrap: break-word;'>0.98088</td><td style='text-align: center; word-wrap: break-word;'>0.905455</td><td style='text-align: center; word-wrap: break-word;'>0.918182</td><td style='text-align: center; word-wrap: break-word;'>0.932727</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4/4</td><td style='text-align: center; word-wrap: break-word;'>0.925094</td><td style='text-align: center; word-wrap: break-word;'>0.974806</td><td style='text-align: center; word-wrap: break-word;'>0.979127</td><td style='text-align: center; word-wrap: break-word;'>0.898182</td><td style='text-align: center; word-wrap: break-word;'>0.914545</td><td style='text-align: center; word-wrap: break-word;'>0.938182</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4/2</td><td style='text-align: center; word-wrap: break-word;'>0.925094</td><td style='text-align: center; word-wrap: break-word;'>0.974806</td><td style='text-align: center; word-wrap: break-word;'>0.973684</td><td style='text-align: center; word-wrap: break-word;'>0.898182</td><td style='text-align: center; word-wrap: break-word;'>0.914545</td><td style='text-align: center; word-wrap: break-word;'>0.941818</td></tr></table>

<div style="text-align: center;">Table 1. Precision and recall</div>

![Image](images/b5fc58a44f52db823c6103c9ff0edc379d251f9cb4e5c49ec43665c4cf796f9f.jpg)

![Image](images/cf001dcc58728219202db2b67f6972e33a9a02b05bf80da7d133ada9eff675a3.jpg)

<div style="text-align: center;">Figure 3. Precision and recall</div>

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td colspan="3">Description</td><td colspan="3">Training and Detection</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>block size / stride</td><td style='text-align: center; word-wrap: break-word;'>SLTP</td><td style='text-align: center; word-wrap: break-word;'>Rauter</td><td style='text-align: center; word-wrap: break-word;'>our descriptor</td><td style='text-align: center; word-wrap: break-word;'>SLTP</td><td style='text-align: center; word-wrap: break-word;'>Rauter</td><td style='text-align: center; word-wrap: break-word;'>our descriptor</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12/12</td><td style='text-align: center; word-wrap: break-word;'>2.759</td><td style='text-align: center; word-wrap: break-word;'>2.786</td><td style='text-align: center; word-wrap: break-word;'>2.784</td><td style='text-align: center; word-wrap: break-word;'>0.0788</td><td style='text-align: center; word-wrap: break-word;'>0.0183</td><td style='text-align: center; word-wrap: break-word;'>0.0232</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12/6</td><td style='text-align: center; word-wrap: break-word;'>2.719</td><td style='text-align: center; word-wrap: break-word;'>2.835</td><td style='text-align: center; word-wrap: break-word;'>2.979</td><td style='text-align: center; word-wrap: break-word;'>0.0796</td><td style='text-align: center; word-wrap: break-word;'>0.0558</td><td style='text-align: center; word-wrap: break-word;'>0.0755</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>8/8</td><td style='text-align: center; word-wrap: break-word;'>2.729</td><td style='text-align: center; word-wrap: break-word;'>3.083</td><td style='text-align: center; word-wrap: break-word;'>3.087</td><td style='text-align: center; word-wrap: break-word;'>0.2223</td><td style='text-align: center; word-wrap: break-word;'>0.039</td><td style='text-align: center; word-wrap: break-word;'>0.0584</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>8/4</td><td style='text-align: center; word-wrap: break-word;'>2.916</td><td style='text-align: center; word-wrap: break-word;'>3.23</td><td style='text-align: center; word-wrap: break-word;'>3.153</td><td style='text-align: center; word-wrap: break-word;'>0.2296</td><td style='text-align: center; word-wrap: break-word;'>0.1683</td><td style='text-align: center; word-wrap: break-word;'>0.2206</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4/4</td><td style='text-align: center; word-wrap: break-word;'>2.839</td><td style='text-align: center; word-wrap: break-word;'>2.879</td><td style='text-align: center; word-wrap: break-word;'>3.089</td><td style='text-align: center; word-wrap: break-word;'>1.1833</td><td style='text-align: center; word-wrap: break-word;'>0.1782</td><td style='text-align: center; word-wrap: break-word;'>0.2347</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4/2</td><td style='text-align: center; word-wrap: break-word;'>2.752</td><td style='text-align: center; word-wrap: break-word;'>3.253</td><td style='text-align: center; word-wrap: break-word;'>3.482</td><td style='text-align: center; word-wrap: break-word;'>1.2174</td><td style='text-align: center; word-wrap: break-word;'>0.658</td><td style='text-align: center; word-wrap: break-word;'>0.9411</td></tr></table>

<div style="text-align: center;">Table 2. Run-time performance</div>

![Image](images/438d691dd521d08bb261486dbdfad0fd8e4953a6457129e675bd554e0f517681.jpg)

![Image](images/1058aea227bf731d35f8f856100d642a42f6e49e2b12330398c4ee6a37b0fec8.jpg)

<div style="text-align: center;">Figure 4. Run-time performance of description(left), training and detection</div>

### 3.2 运行时间性能

我们评估了运行时性能，包括描述时间、训练时间和分类时间。我们的描述符不是最快的，但显示出合理的运行时性能。如图 4 的左侧图所示，测试的描述符之间的描述时间相似。如 Figure 4 的右侧所示，当块的大小大于 4 时，训练和检测时间会缓慢增加。

## 4 结论与未来工作

我们提出了一种用于在俯视深度图像中检测人类的新描述符，该描述符使用均值和标准偏差的统计值。实验结果表明，与 SLTP 和 Rauter 相比，我们的描述符在检测性能和运行时性能方面都表现最佳。因此，使用本文提出的描述符进行的人类检测可以应用于嵌入式系统。我们计划检测深度图像中的多个人类，并使用我们的方法跟踪它们。

---

致谢。本工作由 MSIP/IITP 的 ICT 研发项目支持。(15501-14-1016，支持用户在远程地点同时参与的、基于 3D 对象的即时内容技术，以实现逼真的体验)。

## 参考文献

[^1]: N. Dalal and B. Triggs, Histograms of oriented gradients for human detection, Proc. of IEEE Computer Society Conference on Computer Vision and Pattern Recognition, (2005), 886-893. <http://dx.doi.org/10.1109/cvpr.2005.177>

[^2]: S. Tang, X. Wang, X. Lv, T.X. Han, J. Keller, Z. He, M. Skubic and S. Lao, Histogram of oriented normal vectors for object recognition with a depth sensor, Chapter in Computer Vision-ACCV 2012, Springer Berlin Heidelberg, 2012, 525-538. <http://dx.doi.org/10.1007/978-3-642-37444-9_41>

[^3]: S. Yu, S. Wu and L. Wang, Sltp: A fast descriptor for people detection in depth images, Proc. of 2012 IEEE Ninth International Conference on Advanced Video and Signal-Based Surveillance, (2012), 43-47. <http://dx.doi.org/10.1109/avss.2012.67>

[^4]: M. Rauter, Reliable human detection and tracking in top-view depth images, Proc. of IEEE Conference on Computer Vision and Pattern Recognition Workshops, (2013), 529-534. <http://dx.doi.org/10.1109/cvprw.2013.84>

收到日期：2016 年 4 月 11 日；发表日期：2016 年 6 月 2 日。