
# SLTP：深度图像人体检测的快速描述符

余仕琦，吴圣寅

深圳大学计算机科学与软件工程学院，

中国 深圳 518060

{shiqi.yu@, wushengyin@email.}szu.edu.cn

王亮

中国科学院自动化研究所模式识别国家重点实验室，

中国 北京 100190

<mailto:wangliang@nlpr.ia.ac.cn>

## 摘要

本文提出了一种用于深度图像实时人体检测的新型特征描述子。深度图像中的形状线索能够降低衣物变化、光照条件变化以及背景复杂度带来的负面影响。本文提出的简化局部三值模式（Simplified Local Ternary Patterns, SLTP）能够利用深度图像信息，以较低的计算代价描述人体形状。为评估SLTP特征，我们构建了一个包含7260个正样本的数据集。在该数据集上开展了一系列实验，结果表明SLTP特征能够在获得高检测率的同时保持较低的假阳性率。此外，SLTP易于实现，在标准台式计算机上运行速度可达每秒80帧以上。

### 1. 引言

在机器人、游戏、驾驶辅助等一些对时间要求严苛的应用中，实时人体检测至关重要。近年来，图像人体检测领域已经取得了长足进展 [^5] [^7]，但受不良光照、复杂背景以及人体姿态变化影响，该任务仍然颇具挑战性。

近年来已有不少关于人体检测的研究成果。在 [^4] 中，Dalal和Triggs提出了一种以方向梯度直方图（HOG）为特征、SVM为分类器的方法，该方法取得了优异的结果，是人体检测领域里程碑式的贡献，许多后续新方法都受到HOG的启发。Zhu等人 [^15] 采用AdaBoost和级联结构加速HOG特征选择，进而提升人体检测速度。为解决部分遮挡问题，Wang等人 [^13] 结合了HOG和局部二值模式（Local Binary Pattern, LBP）[^3] 特征，取得了良好的性能。Enzweiler等人 [^7] 发表了人体检测领域的综述，其实验结果表明，与基于小波的AdaBoost级联和神经网络/LRF相比，HOG/线性SVM组合在高分辨率场景下性能更优。Dollár等人 [^5] 介绍了当前最优的人体检测系统，其结果和分析表明HOG仍然具备竞争力。

尽管人体检测领域已经取得了诸多进展，但受不良光照、衣物纹理变化、复杂背景、人体姿态差异和遮挡等因素影响，图像中的人体检测仍然是一项富有挑战性的任务。近年来，一种新型相机即深度相机（又称距离相机）被开发出来。其中，微软发布的Kinect [^1] 借助红外图案，基于立体三角测量原理实现距离测量 [^8]。

利用深度图像，结合运动检测方法与图像分割可以检测出人体。但这类方法无法区分人体和其他运动物体，且当传感器处于运动状态时（例如传感器搭载在移动机器人上），这类方法也无法工作。因此我们提出了一种能够仅从单张静态图像中检测出人体的方法。

深度图像中的形状线索能够大幅降低不良光照和复杂背景对人体检测的负面影响，这一点已经得到前人研究[^14] [^10]的验证。文献[^14]提出的深度差分直方图（HDD）特征和文献[^10]提出的朝向深度直方图（HOD）特征都与HOG非常相似，因此它们的计算量和HOG相当，而HOG本身的计算量就相对较高。文献[^14]中提出的方法是基于TOF相机[^2]获取的深度图像设计的，这类图像相比Kinect深度相机采集的图像包含更多噪声。

---

本文针对Kinect采集的高精度深度图像中的人体检测任务，提出了一种新型特征，能够实现更高的检测率和更低的计算量。本文的贡献分为两点：(1) 提出了一种用于深度图像实时人体检测的新型特征描述子SLTP；(2) 构建了一个用于人体检测的大规模评测数据集，其中包含深度图像和对应的强度图像。

本文剩余部分结构安排如下：第2节介绍我们提出的SLTP特征描述子，第3节介绍本文构建的评测数据集，第4节给出实验结果并进行分析，最后一节对全文进行总结。

### 2. 特征提取

人体检测基于滑动窗口法实现。本文针对深度图像中的人体描述有效设计了一种特征，将该特征命名为简化局部三值模式（Simplified Local Ternary Patterns, SLTP），它可以描述局部深度变化。

SLTP的设计灵感来源于局部三值模式（Local Ternary Patterns, LTP）[^11]和方向梯度直方图（Histogram of Oriented Gradients, HOG）[^4]。LTP由Tan和Triggs提出，用于人脸识别，是一种三值编码方式。对于位置位于$g_c$的像素$(x, y)$，它通过邻域像素$g_i (i = 1, 2, \cdots, 8)$与自身的差值完成编码，

 $$ t_{i}(x,y)=\left\{\begin{aligned}1,&\quad g_{i}\geq g_{c}+T_{g}\\ 0,&\quad|g_{i}-g_{c}|<T_{g}\\ -1,&\quad g_{i}\leq g_{c}-T_{g}\end{aligned}\right.\quad(i=1,2,\cdots,8) $$

其中$T_{g}$是用户指定的阈值。对于8邻域编码，共有$3^{8} = 6561$种模式。LTP可以拆分为LBP描述子的两个独立通道[^3]，且仅考虑均匀模式，因此模式数量被减少到118种[^11]。

本文提出的SLTP仅通过四连通像素进行编码。对于位置位于$(x, y)$的参考像素，我们首先分别计算它在x方向和y方向的深度差$\Delta_x$和$\Delta_y$，随后将深度差量化为0、+1和-1三个值。SLTP的具体定义如下：

 $$ SLTP(x,y)=(t_{x},t_{y}) $$

 $$ t_{x}=\left\{\begin{aligned}1,&\quad\Delta_{x}\geq T_{d}\\ 0,&\quad|\Delta_{x}|<T_{d}\\ -1,&\quad\Delta_{x}\leq-T_{d}\end{aligned}\right. $$

 $$ t_{y}=\left\{\begin{aligned}1,&\quad\Delta_{y}\geq T_{d}\\ 0,&\quad|\Delta_{y}|<T_{d}\\ -1,&\quad\Delta_{y}\leq-T_{d}\end{aligned}\right. $$

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

<div style="text-align: center;">(a) A depth image. The darker pixels are closer to the camera than the lighter pixels.</div>

![Image](images/e523b064c774c1e3edcffe69f3d490f158d6fbcca71619380a7a283d6029ce7d.jpg)

<div style="text-align: center;">(b) The SLTP extracted from the depth image. Different colors indicate different patterns.</div>

![Image](images/de0ac903de9e2f5b267ca14dc841bf7f0cc1ca6a4222709da64c47df14cc50ab.jpg)

<div style="text-align: center;">(c) The SLTP histogram extracted from a detection window. Figure 1. The SLTP description.</div>

其中$\Delta_{x}=d(x+1,y)-d(x-1,y)$、$\Delta_{y}=d(x,y+1)-d(x,y-1)$、$d(x,y)$是位置$(x,y)$处的深度值，$T_{d}$是用户指定的阈值。

共有$3 \times 3 = 9$种模式用于描述局部深度差，每种模式对应一种深度差类型，例如模式$(1,-1)$描述的就是图像坐标系中方向为右上的深度差

---

系统，以及$(0, 0)$描述平坦区域中的像素。在深度图像中，人体轮廓可通过SLTP提取得到，因此SLTP能够描述人体形状。图1展示了一个从深度图像中提取SLTP的示例。

SLTP直方图可作为深度图像区域的特征描述子。该直方图包含不同类型深度差的分布信息。为了保留空间信息，我们将扫描窗口划分为不重叠的块，如图1(c)所示。我们实验中的块大小为$8 \times 8$像素。在部分基于HOG的方法[^4] [^13]中，块采用重叠设计以获得更高性能。由于不同块的梯度幅值总和存在差异，这些方法使用了直方图归一化和重叠块。对于SLTP直方图而言，由于相同大小块的直方图总和相等，因此不需要进行归一化。

### 3. 数据集

我们针对Kinect深度图像中的人体检测任务，构建了一个大型数据集SZU Kinect People Dataset $^{1}$。该数据集内的图像由Kinect [^1]传感器采集得到，图像中的目标均已手动标注边界框。数据集中共标注了7260个正样本，正样本被随机划分为两个集合：第一部分是训练集，包含4268个样本；第二部分是测试集，包含剩余的2992个样本。负样本取自B3DO（伯克利三维物体数据集，Berkeley 3-D Object Dataset）[^9]。B3DO是为家庭物体检测设计的数据集，不包含人体，我们从该数据集中共构建了442308个负样本（其中59508个用于训练，382800个用于测试）。为了评估可同时适用于深度图像和彩色（强度）图像的人体检测方法，我们还采集了对应的彩色图像。深度图像和彩色图像已经过校准，同一目标在深度图像和彩色图像中处于相同位置。图2展示了SZU数据集中不同姿态目标的示例图像。由于人体姿态多样，该数据集对人体检测任务而言非常具有挑战性。

深度信息通过结构光方法[^8]重建得到。当目标被遮挡，或者目标表面吸收红外光、为玻璃材质等情况时，会产生部分深度像素缺失。缺失像素在图2中显示为黑色。如上所述，本文提出的SLTP测量的是深度差。通常人体位于其他物体前方，大多数缺失像素并不落在人体表面，因此在我们的实验中，所有缺失像素都被赋值为最大深度值。

![Image](images/cf34f5303c836585eb3de73871476e08ee6bdc0a51ae4317fee4e0da9a7777d5.jpg)

<div style="text-align: center;">Figure 2. Some depth images and the corresponding color ones from the SZU Kinect People Dataset.</div>

### 4. 实验结果

为了评估本文提出的SLTP特征描述子，我们设计了多组实验。在这些实验中，我们选择主流分类器即线性SVMs [^12]作为学习框架。为了评估不同类型的特征，我们采用检测误差权衡（Detection Error Tradeoff, DET）曲线[^4]进行评估。DET可以描述漏检率与每窗口误报数（FPPW）的关系。Dollár等人在[^5]中提出使用每图像误报数（FPPI），因为FPPI能够更自然地衡量检测系统的误差。由于本文研究核心是评估SLTP描述子，而非评估整个检测系统，因此我们在实验中选择使用FPPW。

#### 4.1. 不同阈值

在式(3)和式(4)中，阈值 $T_{d}$ 由用户指定，它的取值会影响检测性能。我们所关注的核心是人体检测场景下该阈值的最优取值，此外，本文还研究了阈值变化对检测率的影响规律。

第一组实验在不同 $T_d$ 条件下开展。FPPW= $10^{-4}$ 时的检测率结果绘制在图3中，从图中可以看出，当 $T_d = 3.0$ 厘米时，检测率达到峰值，之后检测率随着 $T_d$ 的增大而下降。因此，我们在本文实验中将 $T_d = 3.0$ cm 用于SLTP特征提取。

#### 4.2 不同窗口尺寸

更小的检测窗口尺寸意味着更低的计算成本和更高的检测速度，但同时也会导致检测率降低、漏检率升高。根据图4的实验结果我们发现，$64 \times 128$ 窗口仅能获得略微更优的性能。

---

![Image](images/09f6758fc013d345bdf3d7a5182358af0d073e773fcdd8c76bc141ae0cacf3a0.jpg)

<div style="text-align: center;">Figure 3. The detection rates at FPPW= $10^{-4}$ with different thresholds.</div>

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

<div style="text-align: center;">Figure 4. The miss rate vs. FPPW in the case of different detection window sizes.</div>

性能优于 $48 \times 96$ 尺寸的窗口。但当窗口尺寸从 $48 \times 96$ 减小到 $32 \times 64$ 时，漏检率从2%上升到7%。因此，$48 \times 96$ 检测窗口在计算成本和检测率之间实现了更好的权衡。

由于Kinect传感器在距离小于5米时通常能获得更好的性能，在部分实际应用中，被测目标往往距离传感器较近，这导致小腿部分有时无法出现在深度图像中。本文采用了 $64 \times 96$、$48 \times 72$ 和 $32 \times 48$ 三种窗口尺寸，这些窗口均不包含足部和小腿区域，它们的漏检率高于包含足部和小腿区域的窗口（图4）。

![Image](images/8009e25c90bbadd8ee6476f5832c5fc190e312596bec75df9947b119acf2e189.jpg)

<div style="text-align: center;">Figure 5. The comparison between SLTP and other features.</div>

#### 4.3 与HOG、HOD、HDD和LTP的对比

目前HOG被认为是强度/彩色图像中人体检测最优的单特征[^6]。HOD和HDD沿用HOG的流程处理深度图像[^10] [^14]，可看作适用于深度图像的HOG。SLTP的设计灵感来源于LTP[^11]。因此本文开展了SLTP与HOG、HOD/HDD以及LTP的对比实验。

本文开展了四组特征对比实验，分别为彩色图像的HOG、深度图像的HOD/HDD、深度图像的LTP以及深度图像的SLTP。实验结果如图5所示。从结果可以看出，深度图像相比彩色图像能够获得更高的检测率，这源于深度图像的独特优势：深度图像对光照变化和衣物纹理更具鲁棒性。此外我们发现，SLTP的性能也优于HOG、HOD/HDD和LTP。

#### 4.4 计算效率

本文提出的SLTP特征提取仅包含简单的减法、逻辑运算和模式统计，因此计算成本远低于HOG。我们对比了SLTP和HOG的计算成本：HOG特征提取流程采用OpenCV中的高质量实现。在对 $320 \times 240$ 图像进行人体检测时，在搭载Intel i3 3.0GHz CPU、1GB内存的台式电脑上，HOG耗时80.6毫秒（帧率12.4 FPS），而本文提出的SLTP在同一台电脑上仅耗时11.6毫秒（帧率86.2 FPS）。本次对比中，两种方法的扫描窗口缩放因子均为相同值1.1，SLTP的速度约为HOG的7倍。SLTP的另一项优势是它可以在部分嵌入式系统上运行。

---

由于特征提取过程中不存在浮点运算，因此可以获得更高的帧率。

此外，对于检测窗口中的每个分块，LTP直方图包含118个区间，而SLTP直方图仅包含9个区间。也就是说，SLTP直方图的维度仅为LTP的$9/118 \approx 1/13$。因此SLTP的速度远快于LTP，是一种兼具优异判别能力的高效特征描述子。

### 5. 结论与未来工作

本文提出了一种用于深度图像人体检测的新型特征SLTP。实验结果表明，SLTP能够充分利用深度图像的信息，在较低计算成本下取得比HOG和LTP更优的检测率。此外，通过一系列实验，本文还给出了特征提取阈值和检测窗口尺寸的经验性选取方案。

## 致谢

SLTP是一种统计特征，该特征仅考虑局部区域内的深度差异，尚未将人体尺寸以及其他人体几何信息纳入特征考量。如果将统计特征与几何特征相结合，能够获得更高的检测率和更低的误报率，我们将在未来的工作中对这一方向展开研究。此外，我们还将探索SLTP在其他不同目标检测任务中的应用，例如椅子、杯子和瓶子检测。

本工作得到深圳市基础研究计划（项目编号：JC200903170431A、JC201005280432A）、中国科学院“百人计划”项目以及深圳大学自然科学基金（项目编号：201211）的部分资助。

## 参考文献

[^1]: Microsoft Kinect for XBOX 360. <http://www.xbox.com/en-US/kinect>.

[^2]: TOF cameras of MESA Imaging AG. <http://www.mesa-imaging.ch>.

[^3]: T. Ahonen, A. Hadid, and M. Pietikainen. Face description with local binary patterns: Application to face recognition. IEEE TPAMI, 28(12), 2006.

[^4]: N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.

[^5]: P. Dollár, C. Wojek, B. Schiele, and P. Perona. Pedestrian detection: A benchmark. In CVPR, 2009.

[^6]: P. Dollár, C. Wojek, B. Schiele, and P. Perona. Pedestrian detection: An evaluation of the state of the art. IEEE TPAMI, Preprint, 2012.

[^7]: M. Enzweiler and D. M. Gavrila. Monocular pedestrian detection: Survey and experiments. IEEE TPAMI, 31(12), 2009.

[^8]: B. Freedman, A. Shpunt, M. Machline, and Y. Arieli. Depth mapping using projected patterns. US Patent Application, Pub. No.: US 2010/0118123 A1.

[^9]: A. Janoch, S. Karayev, Y. Jia, J. T. Barron, M. Fritz, K. Saenko, and T. Darrell. A category-level 3-D object dataset: Putting the Kinect to work. In ICCV Workshop on CDCCV, 2011.

[^10]: L. Spinello and K. O. Arras. People detection in rgb-d data. In IROS, 2011.

[^11]: X. Tan and B. Triggs. Enhanced local texture feature sets for face recognition under difficult lighting conditions. In AMFG, 2007.

[^12]: V. N. Vapnik. The Nature of Statistical Learning Theory. Springer, 1995.

[^13]: X. Wang, T. X. Han, and S. Yan. An HOG-LBP human detector with partial occlusion handling. In ICCV, 2009.

[^14]: S. Wu, S. Yu, and W. Chen. An attempt to pedestrian detection in depth images. In Proc. of the 3rd Chinese Conf. on Intelligent Visual Surveillance, 2011.

[^15]: Q. Zhu, M. C. Yeh, K. T. Cheng, and S. Avidan. Fast human detection using a cascade of histograms of oriented gradients. In CVPR, 2006.
