
# 基于方向梯度直方图的人体检测

纳夫尼特·达拉尔 与 比尔·特里格斯

法国罗纳-阿尔卑斯 INRIA，欧洲大道655号，蒙博诺 38334，法国 {Navneet.Dalal,Bill.Triggs} @inrialpes.fr, <http://lear.inrialpes.fr>

## 摘要

我们研究了用于鲁棒视觉物体识别的特征集问题，并将基于线性 SVM 的人体检测作为测试用例。在回顾了现有的基于边缘和梯度的描述符后，我们通过实验表明，方向梯度直方图 (HOG) 描述符的网格显著优于现有特征集，用于人体检测。我们研究了计算过程的每个阶段对性能的影响，得出结论：精细尺度的梯度、精细方向 binning、相对粗略的空间 binning，以及在重叠的描述符块中使用高质量的局部对比度归一化，对于获得良好的结果都非常重要。这种新方法在原始的 MIT 行人数据库上实现了近乎完美的分割效果，因此我们引入了一个更具挑战性的数据集，其中包含超过 1800 个带有大量姿势变化和背景的人体图像。

## 1 简介

在图像中检测人体是一项具有挑战性的任务，因为人体外观的变化很大，而且可以采用各种姿势。首先需要一个鲁棒的特征集，该特征集能够清晰地区分人体，即使在杂乱的背景下，并且在困难的照明条件下也能工作。我们研究了用于人体检测的特征集问题，表明局部归一化的方向梯度直方图 (HOG) 描述符相对于其他现有特征集（包括小波 [^17] [^22]）具有出色的性能。所提出的描述符类似于边缘方向直方图 [^4] [^5]、SIFT 描述符 [^12] 和形状上下文 [^1]，但它们是在密集、均匀间隔的网格单元上计算的，并且使用重叠的局部对比度归一化以提高性能。我们对各种实现选择对检测器性能的影响进行了详细研究，并将“行人检测”（检测主要可见且姿势基本挺直的人）作为测试用例。为了简单和快速，我们在整个研究过程中使用线性 SVM 作为基本分类器。新的检测器在 MIT 行人测试集上实现了几乎完美的性能 [^18] [^17]，因此我们创建了一个更具挑战性的数据集，其中包含超过 1800 个行人图像，具有各种姿势和背景。正在进行的工作表明，我们的特征集在其他基于形状的物体类别中也表现良好。

我们简要讨论了关于人体检测的先前工作（§2），概述了我们的方法（§3），描述了我们的数据集（§4），并详细描述和实验评估了该过程的每个阶段（§5–6）。主要结论总结在 §7 中。

## 2 现有工作

关于目标检测存在大量的文献，但这里我们仅提及一些与人体检测相关的论文 [^18] [^17] [^22] [^16] [^20]。 参见 [^6] 了解相关综述。 Papageorgiou 等人 [^18] 描述了一种基于多项式 SVM 的行人检测器，该检测器使用修正的 Haar 小波作为输入描述符，并在 [^17] 中使用基于部件（子窗口）的变体。 Depoortere 等人提供了该检测器的优化版本 [^2]。 Gavrila & Philomen [^8] 采取更直接的方法，提取边缘图像并将它们与一组学习到的示例进行匹配，使用 Chamfer 距离。 这已用于实际的实时行人检测系统 [^7]。 Viola 等人 [^22] 构建了一种高效的移动人物检测器，使用 AdaBoost 训练一系列逐步更复杂的区域拒绝规则，这些规则基于 Haar-like 小波和时空差异。 Ronfard 等人 [^19] 构建了一种关节人体检测器，该检测器通过在 $1^{st}$ 和 $2^{nd}$ 阶高斯滤波器中使用基于 SVM 的肢体分类器，并采用类似于 Felzenszwalb & Huttenlocher [^3] 和 Ioffe & Forsyth [^9] 的动态规划框架。 Mikolajczyk 等人 [^16] 使用方向-位置直方图的组合，并使用二值阈值梯度幅度来构建一种基于部件的方法，该方法包含人脸、头部以及上身和下身正面和侧面轮廓的检测器。 相比之下，我们的检测器使用更简单的架构，即单个检测窗口，但似乎在行人图像上表现出明显更高的性能。

## 3 方法概述

本节概述了我们的特征提取链，总结如下，见图 1。 详细的实现细节将在 §6 中介绍。 该方法基于在密集网格中评估经过良好归一化的局部图像梯度方向直方图。 类似特征在过去十年中得到了越来越多的应用 [^4] [^5] [^12] [^15]。 基本思想是，即使在不完全了解相应的梯度或边缘位置的情况下，局部对象外观和形状通常可以通过局部强度梯度或边缘方向的分布来很好地描述。 在实践中，这通过将图像窗口划分为小空间区域（“单元格”），然后对每个单元格累积单元格内像素的局部 1 维梯度方向或边缘方向直方图来实现。 组合直方图条目形成表示。 为了更好地对光照、阴影等具有鲁棒性，在将它们用于归一化之前，对局部响应进行归一化也是有用的。 这可以通过累积稍大空间区域（“块”）的局部直方图“能量”的度量，并使用结果来归一化块中的所有单元格来完成。 我们将归一化的描述符块称为直方图定向梯度 (HOG) 描述符。 通过密集（实际上是重叠）网格填充检测窗口的 HOG 描述符，并在传统的基于 SVM 的窗口分类器中使用组合的特征向量，就形成了我们的行人检测链（参见图 1）。

---

![Image](images/ae3911df6d091022f25abc41ce6b3afcb6f28ab1d3ac1df45aef7102e2b1ae03.jpg)

<div style="text-align: center;">Figure 1. An overview of our feature extraction and object detection chain. The detector window is tiled with a grid of overlapping blocks in which Histogram of Oriented Gradient feature vectors are extracted. The combined vectors are fed to a linear SVM for object/non-object classification. The detection window is scanned across the image at all positions and scales, and conventional non-maximum suppression is run on the output pyramid to detect object instances, but this paper concentrates on the feature extraction process.</div>

在实践中，这通常通过将图像窗口划分为小的空间区域（“单元格”），然后对每个单元格的像素累积局部一维的梯度方向或边缘方向直方图来实现，即使在不完全了解相应的梯度或边缘位置的情况下。累积的直方图条目构成表示。为了更好地对光照、阴影等具有鲁棒性，在将局部响应用于计算之前，对局部响应进行对比度归一化很有用。这可以通过在稍大的空间区域（“块”）中累积局部直方图“能量”的度量，并使用结果来归一化块中的所有单元格来实现。我们将归一化的描述符块称为直方图定向梯度 (HOG) 描述符。通过将检测窗口用密集的（实际上是重叠的）HOG 描述符网格进行填充，并将组合特征向量用于传统的基于 SVM 的窗口分类器，可以实现我们的行人检测流程（参见图 1）。

使用方向直方图的方法有很多先例 [^13] [^4] [^5]，但直到它与局部空间直方图和归一化相结合，并在Lowe的尺度不变特征变换 (SIFT) 方法中用于宽基线图像匹配 [^12]，才真正成熟。在SIFT方法中，它为匹配尺度不变的关键点提供了底层的图像补丁描述符。类似于SIFT的方法在这个应用中表现出色 [^12] [^14]。Shape Context 的工作 [^1] 研究了替代的单元和块形状，尽管最初只使用边缘像素计数，而没有使用使该表示非常有效的方向直方图。这些基于稀疏特征的表示方法的成功在一定程度上掩盖了HOG作为密集图像描述符的强大之处和简单性。我们希望我们的研究能够帮助纠正这种情况。特别地，我们的非正式实验表明，即使是当前最好的基于关键点的算法，其误报率也可能比我们的密集网格方法高出至少1-2个数量级，用于人体检测，这主要是因为我们所知的关键点检测器无法可靠地检测人体结构。

HOG/SIFT表示方法具有几个优点。它捕捉到局部形状的边缘或梯度结构，并且以一种局部表示，具有可控的局部几何和光度变换不变性：如果平移或旋转小于局部空间或方向 bin 的大小，则几乎没有影响。对于人体检测，相对较粗的空间采样、精细的方向采样和强大的局部光度归一化是最佳策略，这可能是因为它可以允许四肢和身体部分在保持大致直立方向的情况下，在侧向移动并改变外观。

## 4 数据集和方法

数据集。我们在两个不同的数据集上测试了我们的检测器。第一个是广为人知的 MIT 行人数据库 [^18]，其中包含 509 个城市场景中行人的训练图像和 200 个测试图像（以及这些图像的左右镜像）。它只包含正面或背面视图，并且姿势范围相对有限。我们最好的检测器在该数据集上几乎可以达到完美的结果，因此我们创建了一个新的、更具挑战性的数据集“INRIA”，其中包含 1805 个 64x128 像素的人体图像，这些图像是从各种个人照片中裁剪的。图 2 显示了一些样本。人们通常是站立的，但以任何方向出现，并且背景图像多种多样，包括人群。其中许多是拍摄自图像背景中的旁观者，因此没有对他们的姿势产生任何偏见。该数据库可从 <http://lear.inrialpes.fr/data> 供研究使用。

方法。 我们选择了 1239 张图像作为正向训练示例，以及它们的左右镜像（总共 2478 张图像）。 从 1218 张从 1218 张无人物件的训练照片中随机采样的补丁，提供了初始的负面集。 对于每种检测器和参数组合，都会训练一个初步的检测器，并搜索 1218 张负面训练照片，以查找假阳性（“难例”）。 然后，使用此增强集（初始 12180 + 难例）重新训练，以生成最终的检测器。 如果必要，对难例进行子采样，以便最终训练集的描述符适合 1.7 Gb 的 RAM，用于 SVM 训练。 此重新训练过程显着提高了每个检测器的性能（在针对我们默认检测器测试的 $10^{-4}$ 每窗口假阳性数 (FPPW) 方面提高了 5%），但额外的重新训练轮次几乎没有区别，因此我们不使用它们。

为了量化检测器的性能，我们在对数-对数尺度上绘制检测误差折衷 (DET) 曲线，即漏检率 (1-召回率 或 $\frac{\text{FalseNeg}}{\text{TruePos}+\text{FalseNeg}}$) 与每窗口假阳性 (FPPW)。值越低越好。DET 图在语音和 NIST 评估中被广泛使用。它们以与 ROC 曲线相同的方式呈现信息，但允许进行更小的

---

![Image](images/333b7013193c40d711a2728fd51c0eb36b4a14f6d3392a38fc604f8daf5dcc94.jpg)

<div style="text-align: center;">Figure 2. Some sample images from our new human detection database. The subjects are always upright, but with some partial occlusions and a wide range of variations in pose, appearance, clothing, illumination and background.</div>

为了更容易地区分概率值，我们通常将 $10^{-4}$FPPW 处的漏检率用作参考。 这是一种任意选择，但与例如 ROC 曲线下的面积相比，并没有更不合理。 在一个多尺度检测器中，这对应于约 0.8 个每 $640\times480$ 张图像的误报率。（完整的检测器由于非极大值抑制而具有更低的误报率。） 我们的 DET 曲线通常变化不大，因此在漏检率上进行非常小的改进，相当于在恒定漏检率下将 FPPW 提高一个很大的倍数。 例如，对于我们的默认检测器，在 $1e-4$ FPPW 处，每 $1\%$ 个绝对值（$9\%$ 相对）的漏检率减少，相当于在恒定漏检率下将 FPPW 降低 1.57 倍。

## 5 结果概述

在详细介绍我们的实现和性能分析之前，我们将我们的最终 HOG 检测器的整体性能与一些其他现有方法进行比较。 基于矩形 (R-HOG) 或圆形对数极坐标 (C-HOG) 块以及线性或核 SVM 的检测器与我们实现的 Haar 卷机、PCA-SIFT 和形状上下文方法进行比较。 简而言之，这些方法如下：

广义 Haar 卷机。 这是一个扩展的、定向的 Haar 类似卷机集合，类似于（但优于）[^17] 中使用的集合。 特征是来自 $9 \times 9$ 和 $12 \times 12$ 阶的定向 $1^{st}$ 和 $2^{nd}$ 导数盒滤波器在 $45^{\circ}$ 间隔处的响应，以及相应的 $2^{nd}$ 导数 xy 滤波器。

PCA-SIFT。 这些描述符是基于将梯度图像投影到通过 PCA 从训练图像学习的基上的方法 [^11]。 Ke & Sukthankar 发现，它们在基于关键点的匹配方面优于 SIFT，但这存在争议 [^14]。 我们的实现使用与我们的 HOG 描述符相同的导数比例、重叠度等 $16 \times 16$ 块。 PCA 基使用正向训练图像计算。

形状上下文。 原始的形状上下文 [^1] 使用二进制边缘存在投票，将其分布到对数极坐标空间中的 bin 中，而与边缘方向无关。 我们使用我们的 C-HOG 描述符（参见下文）来模拟这种情况，仅使用 1 个方向 bin。 16 个角度和 3 个径向间隔，内半径为 2 个像素，外半径为 8 个像素，可以获得最佳结果。 既测试了基于梯度强度，也测试了基于边缘存在的投票，边缘阈值由自动选择来最大化检测性能（所选值略有变化，约为 20–50 个灰度级）。

结果。图 3 显示了各种检测器在 MIT 和 INRIA 数据集上的性能。基于 HOG 的检测器明显优于基于小波、PCA-SIFT 和形状上下文的检测器，在 MIT 测试集中实现了近乎完美的区分度，并且在 INRIA 数据集中将每帧误检率 (FPPW) 降低了一个数量级。我们的 Haar-like 小波比 MIT 小波表现更好，因为我们还使用了 $2^{nd}$ 阶导数，并且对输出向量进行了对比归一化。图 3(a) 还显示了 MIT 的最佳基于部件和整体检测器（这些点是从 [^17] 中插值得到的），但是请注意，由于我们不知道 [^17] 中的数据库如何划分为训练集和测试集，并且没有可用的负面图像，因此无法进行精确的比较。最终的矩形 (R-HOG) 和圆形 (C-HOG) 检测器的性能非常相似，C-HOG 略有优势。通过将 R-HOG 与原始条形检测器（定向 $2^{nd}$ 导数 - “R2-HOG”）相结合，可以使特征维度翻倍，但进一步提高了性能（在 $10^{-4}$ FPPW 下提高了 2%）。用高斯核替换线性 SVM 可以将性能提高约 3%，但在 $10^{-4}$ FPPW 下，运行时间会大大增加 $^{1}$。使用二进制边缘投票 (ECHOG) 代替基于梯度幅值的投票 (CHOG) 会将性能降低 5%，而在 $10^{-4}$ FPPW 下，省略方向信息会使其降低更多，即使添加了额外的空间或径向 bin（对于边缘 (E-ShapeC) 和梯度 (G-ShapeC)，都会降低 33%，在 $10^{-4}$ FPPW 下）。PCA-SIFT 的性能也很差。一个原因是，与 [^11] 相比，需要保留更多的主向量（512 个中的 80 个）才能捕获相同的方差比例。这可能是因为当没有关键点检测器时，空间配准会较弱。

## 6 实施和性能研究

我们现将详细介绍我们的HOG实现，并系统性研究各类设计选择对检测器性能的影响。在本节中，我们对相关结果进行讨论

---

![Image](images/886bb451c70b06211cf10d4f514d0f483201c68d20a6b79cd5986c0d4d4f0aea.jpg)

![Image](images/94750e01188473eeb41e980e5da193f34d7055763a55104a4a318544a00e1252.jpg)

<div style="text-align: center;">Figure 3. The performance of selected detectors on (left) MIT and (right) INRIA data sets. See the text for details.</div>

到我们的默认探测器，该探测器具有以下属性，如下所述：RGB色彩空间，无伽马校正；$[-1, 0, 1]$梯度滤波器，无平滑处理；线性梯度投票，进入9个方向的bin，范围为$0^\circ$-$180^\circ$；$16\times16$像素块，包含四个$8\times8$像素的单元；高斯空间窗口，宽度为$\sigma = 8$像素；L2-Hys（Lowe风格的裁剪L2范数）块归一化；块间距步长为8像素（因此每个单元的覆盖率为4倍）；$64\times128$检测窗口；线性SVM分类器。

### 6.1 Gamma/颜色归一化

### 6.1 伽马/颜色归一化

我们评估了多种输入像素表示方法，包括灰度、RGB 和 LAB 色彩空间，并可选择使用幂律（伽马）均衡化。这些归一化方法对性能只有轻微的影响，这可能是因为后续的描述符归一化实现了类似的结果。当可用时，我们确实使用颜色信息。RGB 和 LAB 色彩空间提供可比的结果，但限制为灰度会降低性能，在 $10^{-4}$ FPPW 下降低 1.5%。每个颜色通道的平方根伽马压缩可以提高低 FPPW 下的性能（在 $10^{-4}$ FPPW 下提高 1%），但对数压缩过于强烈，导致性能下降 2%（在 $10^{-4}$ FPPW 下）。

### 6.2 梯度计算

检测器的性能对梯度的计算方式很敏感，但最简单的方案效果最好。我们测试了使用高斯平滑后，再使用多种离散导数掩码计算的梯度。测试了多种平滑尺度，包括 $\sigma=0$（无）。测试的掩码包括各种 1-D 点导数（非中心 $[-1,1]$、中心 $[-1,0,1]$ 和立方修正 $[-1,8,0,8,-1]$）以及 $3\times3$ Sobel 掩码和 $2\times2$ diagonal 掩码 $(0\frac{1}{0})$、$(0\frac{1}{0})$（最紧凑的中心 2-D 导数掩码）。简单的 1-D $[-1,0,1]$ 掩码在 $\sigma=0$ 下效果最佳。使用更大的掩码似乎总是会降低性能，而平滑会显著损害性能：对于高斯导数，从 $\sigma=0$ 移动到 $\sigma=2$ 会将召回率从 89% 降低到 80%（在 $10^{-4}$ FPPW 下）。在 $\sigma=0$ 下，立方修正的 1-D 宽度 5 滤波器比 $[-1,0,1]$ 在 $10^{-4}$ FPPW 下差 1%，而 $2\times2$ diagonal 掩码差 1.5%。使用非中心 $[-1,1]$ 导数掩码也会降低性能（在 $10^{-4}$ FPPW 下降低 1.5%），这可能是因为方向估计会受到影响，因为 x 和 y 滤波器基于不同的中心。

对于彩色图像，我们为每个颜色通道计算单独的梯度，并选择具有最大范数的梯度向量作为像素的梯度向量。

### 6.3 空间/方向二值化

下一步是描述符的基本非线性。每个像素根据中心像素上的梯度元素的方向，计算加权投票，用于方向直方图通道，并将投票累积到局部空间区域（称为单元格）中的方向 bin 中。单元格可以是矩形或径向（对数极坐标扇区）。方向 bin 在 $0^{\circ}-180^{\circ}$（“unsigned”梯度）或 $0^{\circ}-360^{\circ}$（“signed”梯度）中均匀分布。为了减少混叠，在方向和位置上，将投票通过双线性插值在相邻 bin 中心之间进行插值。投票是一个函数，该函数是像素处的梯度幅度的函数，可以是梯度幅度本身、其平方、其平方根或表示像素处边缘软存在/不存在的裁剪形式的幅度。实际上，使用梯度幅度本身可以获得最佳结果。采用平方根

---

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

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

![Image](images/ccd6812d3f36ae00a708d9fe23ccd28d85563887088d7ca1b617c49a1a3d37ad.jpg)

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

![Image](images/6e7cacbbfff7e8f19d620e667cdaa0c9095fd831f04343406f121b78aba98a41.jpg)

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

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

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

![Image](images/554bac3ed7b71e9e0d815c429951fb7eacdadbd907c70b8abbfa5e2091180edf.jpg)

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

![Image](images/436fef3c6eb27e354e1f771b940e098e070e44c96ab29a041794fa521f6d67d5.jpg)

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

<div style="text-align: center;">Figure 4. For details see the text. (a) Using fine derivative scale significantly increases the performance. ('c-cor' is the 1D cubic-corrected point derivative). (b) Increasing the number of orientation bins increases performance significantly up to about 9 bins spaced over  $0^\circ$-180°. (c) The effect of different block normalization schemes (see §6.4). (d) Using overlapping descriptor blocks decreases the miss rate by around 5%. (e) Reducing the 16 pixel margin around the  $64 \times 128$ detection window decreases the performance by about 4%. (f) Using a Gaussian kernel SVM,  $\exp(-\gamma\|\mathbf{x}_1-\mathbf{x}_2\|^2)$, improves the performance by about 3%.</div>

会略微降低性能，而使用二进制边缘存在投票会显著降低性能（在 $10^{-4}$ FPPW 下降低 5%）。

精细的朝向编码对于获得良好的性能至关重要，而（如上所述），空间二分化可以相当粗糙。如图 4(b) 所示，增加朝向二分化的数量可以显着提高性能，最多约为 9 个二分块，但超过此值几乎没有区别。这是针对在 $0^{\circ}$– $180^{\circ}$ 范围内间隔的二分块，即忽略梯度的“符号”。包括带有符号的梯度（朝向范围为 $0^{\circ}$– $360^{\circ}$，如原始 SIFT 描述符中的情况）会降低性能，即使将二分块的数量也加倍以保持原始的朝向分辨率。对于人类而言，服装和背景颜色的广泛变化可能使得对比度的符号变得没有信息。但是，请注意，在某些其他目标识别任务中，包括符号信息确实可以显着提高性能，例如汽车和摩托车。

### 6.4 归一化和描述符块

由于局部照明变化和前景-背景对比度的差异，梯度强度范围很广，因此有效的局部对比度归一化对于获得良好的性能至关重要。我们评估了多种不同的归一化方案。其中大多数是

![Image](images/cd2fb1562cd9c306e4bc5279c909a64daf7f109cef32b644944f57f1e81e0690.jpg)

<div style="text-align: center;">Figure 5. The miss rate at $10^{-4}$ FPPW as the cell and block sizes change. The stride (block overlap) is fixed at half of the block size. $3\times3$ blocks of $6\times6$ pixel cells perform best, with 10.4% miss rate.</div>

基于将细胞分组到更大的空间块中，并为每个块单独进行对比度归一化。然后，最终描述符是来自检测窗口中所有块的归一化细胞响应的所有组件的向量。实际上，我们通常会重叠块，以便每个标量

---

每个单元的响应对最终描述符向量贡献了多个组件，每个组件都相对于不同的块进行归一化。这可能看起来是冗余的，但良好的归一化至关重要，并且包括重叠可以显着提高性能。图4(d)显示，随着重叠从无（步长16）增加到16倍面积/4倍线性覆盖（步长4），性能在$10^{-4}$ FPPW下提高了4%。

我们评估了两种类型的块几何结构：划分为正方形或矩形空间单元的正方形或矩形块，以及以对数极坐标方式划分为单元的圆形块。我们将这两种排列方式分别称为 R-HOG 和 C-HOG（用于矩形和圆形 HOG）。

R-HOG。R-HOG 块与 SIFT 描述符 [^12] 具有许多相似之处，但它们的用途却大不相同。它们是在单个比例的密集网格中计算的，没有主朝向对齐，并用作一个更大的编码向量的一部分，该向量隐式地编码了相对于检测窗口的空间位置，而 SIFT 是在稀疏的一组尺度不变的关键点上计算的，并旋转以对齐其主朝向，并单独使用。SIFT 针对稀疏的宽基线匹配进行了优化，而 R-HOG 针对密集且鲁棒的空间形式编码进行了优化。其他前驱包括 Freeman & Roth 的边缘朝向直方图 [^4]。我们通常使用正方形的 R-HOG 块，即 $\langle x \rangle \in \eta \times \eta$ 像素的单元，每个单元包含 $\beta$ 个朝向二分块，其中 $\zeta, \eta, \beta$ 是参数。

图 5 绘制了在 $10^{-4}$ FPPW 下，关于单元大小和块大小（以单元为单位）的误检率。对于人体检测，$3 \times 3$ 个 $6 \times 6$ 像素的单元块表现最佳，在 $10^{-4}$ FPPW 下的误检率为 10.4%。我们的标准 $2 \times 2$ 个 $8 \times 8$ 单元的块仅次于最佳结果。实际上，6-8 像素宽的单元在块大小方面表现最佳，这是一种有趣的巧合，因为我们图像中人体肢体大约是 6-8 像素宽。$2 \times 2$ 和 $3 \times 3$ 单元块表现最佳。当块变得太大时，对局部成像条件的自适应性会减弱，而当块太小时（$1 \times 1$ 单元块，即仅对方向进行归一化），有价值的空间信息会被抑制。

与[^12]中的方法一致，在将方向投票累积到单元之前，对每个像素应用高斯空间窗口来降低块边缘附近像素的权重是十分有效的。对于块宽度为$10^{-4}$的高斯窗口，该方法在$\sigma = 0.5 \times$ FPPW下可将性能提升1%。

我们还尝试在整体描述符中包含多种具有不同单元和块大小的块类型。这略微提高了性能（在$10^{-4}$ FPPW下，大约提高3%），但代价是大大增加了描述符的大小。

除了方形 R-HOG 块之外，我们还测试了垂直（2×1 单元）和水平（1×2 单元）块，以及包含垂直和水平对的组合描述符。 垂直对和垂直+水平对明显优于单独的水平对，但不如 2×2 或 3×3 单元块（在 $10^{-4}$ FPPW 下降低 1%）。

C-HOG。 我们的圆形块（C-HOG）描述符让人联想到形状上下文 [^1]，但重要的是，每个空间单元包含一个梯度加权方向单元堆栈，而不是单个与方向无关的边缘存在计数。 对数极坐标网格最初的设想是，它将允许对附近的结构进行精细编码，同时将较粗的编码与更广泛的上下文相结合，并且从视觉场到灵长类动物 V1 皮层的转换是具有对数关系 [^21]。 然而，具有非常少径向 bin 的小型描述符在实践中表现最佳，因此实际上没有太多的不均匀性或上下文。 最好将 C-HOG 简单地视为一种高级的中心-包围编码形式。

我们评估了两种 C-HOG 方法，一种是具有单个圆形中心单元的结构（类似于 [^14] 的 GLOH 特征），另一种是中心单元被划分为扇形区域的结构，类似于形状上下文。 我们只提供圆形中心结构的实验结果，因为这些结构比具有分割中心结构的结构具有更少的空间单元，并且在实践中具有相同的性能。 技术报告将提供更多详细信息。 C-HOG 布局有四个参数：角向和径向 bin 的数量；中心 bin 的半径（以像素为单位）；以及后续半径的扩展因子。 为了获得良好的性能，需要至少两个径向 bin（一个中心和一个周围）和四个角向 bin（四分之一）。 增加额外的径向 bin 不会显著改变性能，而增加角向 bin 的数量会降低性能（在 $10^{-4}$ FPPW 时，从 4 个角向 bin 增加到 12 个角向 bin 会降低 1.3%）。 4 个像素是中心 bin 的最佳半径，但 3 个和 5 个像素会产生相似的结果。 将扩展因子从 2 增加到 3，性能几乎没有变化。 采用这些参数时，无论是高斯空间权重，还是通过单元区域对单元投票进行反向权重，都不会改变性能，但将这两种方法结合使用会略微降低性能。 这些值假设精细的方向采样。 形状上下文（1 个方向 bin）需要更精细的空间分割才能正常工作。

![Image](images/ff88fb53fd7ccb631caeae75cecc8b68a1f9a5799a8d2240003e2615df644f8a.jpg)

分块归一化方案。我们针对上述每种HOG几何结构评估了四种不同的分块归一化方案。设 $\mathbf{v}$ 为未归一化的描述子向量，$\|\mathbf{v}\|_k$ 为其针对 $k=1,2$ 的k-范数，$\epsilon$ 为一个小常数。各方案如下：(a) $L2$-范数，$\mathbf{v} \to \mathbf{v}/\sqrt{\|\mathbf{v}\|_2^2 + \epsilon^2}$；(b) $L2$-Hys，即先做 $L2$-范数归一化，再进行裁剪（将 $\mathbf{v}$ 的最大值限制为0.2）后重新归一化，如 [^12] 所述；(c) $L1$-范数，$\mathbf{v} \to \mathbf{v}/(\|\mathbf{v}\|_1 + \epsilon)$；(d) $L1$-sqrt，即先做 $L1$-范数归一化，再做平方根变换 $\mathbf{v} \to \sqrt{\mathbf{v}/(\|\mathbf{v}\|_1 + \epsilon)}$，这相当于将描述子向量视为概率分布，并使用它们之间的Bhattacharya距离。图4(c)表明，在 $L2$ FPPW条件下，$L2$-Hys、$L1$-范数和 $L1$-sqrt三者性能相当，而简单的 $10^{-4}$-范数会使性能下降5%，完全省略归一化则会使性能下降27%。由于我们对描述子进行密集评估，包括对空块的评估，因此需要一定的正则化 $\epsilon$，但

---

![Image](images/92f5c6bee56d20351b8e93a436bffc1c212ffdf775343adfac77e7dc262f1b57.jpg)

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

![Image](images/552f9b9b72eb2e8190df2c40daa306c0db45c72c6f926382faa82fb2a4812d1e.jpg)

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

![Image](images/6e95704299ce72dc66df1677403c9dc4733b34f500402d67df55b1c384438b90.jpg)

![Image](images/a8bc592799d6d3b517163724cd6a8bd35b992486c332ee04c61b9e8767e532b5.jpg)

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

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

![Image](images/134d46db31d68a02e385da941575f17e3a22c658690a1f6161e76dd4c0065eae.jpg)

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

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

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

![Image](images/dd4a74d12d1864b17b8f91652a18093f23d9a5b20373895c3e46dc23b6d76d36.jpg)

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

<div style="text-align: center;">Figure 6. Our HOG detectors cue mainly on silhouette contours (especially the head, shoulders and feet). The most active blocks are centred on the image background just outside the contour. (a) The average gradient image over the training examples. (b) Each “pixel” shows the maximum positive SVM weight in the block centred on the pixel. (c) Likewise for the negative SVM weights. (d) A test image. (e) It’s computed R-HOG descriptor. (f,g) The R-HOG descriptor weighted by respectively the positive and the negative SVM weights.</div>

结果在很大范围内对 $\epsilon$ 的取值不敏感。

中心-包围归一化。我们还研究了一种替代的中心-包围风格的细胞归一化方案，在这种方案中，图像被划分为一个网格的单元，并且对于每个单元，使用单元及其周围区域的总能量（在所有方向上求和，并使用高斯权重进行池化）来归一化该单元。但是，如图 4(c)（“窗口归一化”）所示，这会降低相对于相应的基于块的方案的性能（在 $10^{-4}$ FPPW 时降低 2%，对于池化宽度为 $\sigma=1$ 的情况）。其原因是，不再有任何重叠的块，因此每个单元在最终描述符中仅被编码一次。为每个单元包含基于不同池化尺度的多个归一化方法 $\sigma$ 不会带来任何可察觉的性能变化，因此，重要的是存在多个具有相对于单元的不同空间偏移的池化区域，而不是池化尺度。

为了更清楚地说明这一点，请考虑具有重叠块的 R-HOG 检测器。训练好的线性 SVM 的系数提供了每个块中的每个单元格在最终判别决策中所能具有的权重的度量。仔细查看图 6(b,f) 发现，最重要的单元格通常包含主要的人体轮廓（尤其是头部和肩膀以及脚部），这些轮廓相对于位于轮廓外部的块进行了归一化。换句话说，尽管我们在训练集中经常遇到复杂的、杂乱的背景，但检测器主要关注的是轮廓与背景之间的对比，而不是内部边缘或轮廓与前景之间的对比。带有图案的服装和姿势变化可能会使内部区域成为不可靠的线索，或者前景到轮廓的过渡可能会因平滑的阴影和遮光效果而被误解。同样，图 6(c,g) 说明了人体内部的梯度（尤其是垂直方向的梯度）通常被视为负面线索，这可能是因为这可以抑制长条形物体触发垂直头部和腿部单元格而导致的误报。

### 6.5 检测窗口和上下文

我们的 $64 \times 128$ 检测窗口在人体四周留有约 16 像素的边距。图 4(e) 所示的是，这个边框提供了大量的上下文信息，有助于检测。将其从 16 像素减少到 8 像素（$48 \times 112$ 检测窗口）会降低性能，在 $10^{-4}$ FPPW 下降低 4%。保持 $64 \times 128$ 窗口，但在其中增加人体尺寸（再次减少边距）会导致类似的性能损失，即使人体分辨率实际上会增加。

### 6.6 分类器

默认情况下，我们使用一个带有 SVMLight $(C=0.01)$（略微修改以减少内存使用，用于具有大型密集描述符向量的问题）训练的软 [^10] 线性 SVM。使用高斯核 SVM 可以将性能提高约 3%，在 $10^{-4}$ FPPW 下，但运行时间会大大增加。

## 6.7 讨论

总的来说，这项工作中存在一些值得注意的发现。HOG 明显优于小波变换，并且在计算梯度之前对图像进行任何显着的平滑处理都会损害 HOG 的结果，这强调了可用图像信息主要来自精细尺度的锐利边缘，并且对这种情况进行模糊以减少对空间位置的敏感是一个错误。相反，应该在当前金字塔层级中以最精细的可用尺度计算梯度，进行修正或用于方向投票，然后才进行空间模糊。考虑到这一点，相对较粗的空间量化就足够了（每个细胞 6–8 个像素 / 每条肢体宽度）。另一方面，至少对于人体检测，精细采样方向是有益的：小波和形状上下文在这里都表现较差。

对周围风格进行归一化。

---

归一化方案并非最佳选择。可以通过多次归一化每个元素（边缘、单元）相对于不同的局部支撑，并将结果视为独立的信号来获得更好的结果。在我们的标准检测器中，每个 HOG 单元以四种不同的归一化方式出现，并且包括这些“冗余”信息可以将性能从 84% 提高到 89%（在 $10^{-4}$ FPPW 时）。

## 7 总结和结论

我们已经证明，使用局部归一化梯度方向直方图特征，类似于SIFT描述符 [^12]，并在密集重叠网格中进行处理，可以获得非常好的行人检测结果，将虚假阳性率降低了一个数量级，相对于来自 [^17] 的最佳Haar小波基检测器。 我们研究了各种描述符参数的影响，并得出结论，细粒度的梯度、精细的方向分箱、相对较粗的空间分箱以及高质量的局部对比度归一化在重叠的描述符块中，对于良好的性能都非常重要。 我们还引入了一个新的、更具挑战性的行人数据库，该数据库已公开可用。

未来工作： 尽管我们当前的线性SVM检测器效率相对较高——可以在小于一秒的时间内处理一个$320 \times 240$的尺度空间图像（4000个检测窗口），但仍有优化空间，为了进一步提高检测速度，开发一种基于HOG描述符的粗到精或拒绝链式检测器将非常有用。 我们还在开发结合运动信息的基于HOG的检测器，这些检测器使用块匹配或光流场。 此外，虽然当前的固定模板式检测器在完全可见的行人方面表现出色，但人类具有高度的关节性，我们认为包含一个具有更大局部空间不变性的基于部件的模型将有助于提高在更通用情况下检测结果。

致谢。 本工作由欧盟研究项目ACEMEDIA和PASCAL资助。 我们感谢Cordelia Schmid提出的许多有用的建议。 SVM-Light [^10] 提供了可靠的大规模SVM的训练。

## 参考文献

[^1]: S. Belongie, J. Malik, and J. Puzicha. Matching shapes. The 8th ICCV, Vancouver, Canada, pages 454–461, 2001.

[^2]: V. de Poortere, J. Cant, B. Van den Bosch, J. de Prins, F. Fransens, and L. Van Gool. Efficient pedestrian detection: a test case for svm based categorization. Workshop on Cognitive Vision, 2002. Available online: <http://www.vision.ethz.ch/cogvis02/>.

[^3]: P. Felzenszwalb and D. Huttenlocher. Efficient matching of pictorial structures. CVPR, Hilton Head Island, South Carolina, USA, pages 66–75, 2000.

[^4]: W. T. Freeman and M. Roth. Orientation histograms for hand gesture recognition. Intl. Workshop on Automatic Face-

和手势识别，IEEE计算机协会，瑞士苏黎世，第296-301页，1995年6月。

[^5]: W. T. Freeman, K. Tanaka, J. Ohta, and K. Kyuma. Computer vision for computer games. 2nd International Conference on Automatic Face and Gesture Recognition, Killington, VT, USA, pages 100–105, October 1996.

[^6]: D. M. Gavrila. The visual analysis of human movement: A survey. CVIU, 73(1):82–98, 1999.

[^7]: D. M. Gavrila, J. Giebel, and S. Munder. Vision-based pedestrian detection: the protector+ system. Proc. of the IEEE Intelligent Vehicles Symposium, Parma, Italy, 2004.

[^8]: D. M. Gavrila and V. Philomin. Real-time object detection for smart vehicles. CVPR, Fort Collins, Colorado, USA, pages 87–93, 1999.

[^9]: S. Ioffe and D. A. Forsyth. Probabilistic methods for finding people. IJCV, 43(1):45–68, 2001.

[^10]: T. Joachims. Making large-scale svm learning practical. In B. Schlkopf, C. Burges, and A. Smola, editors, Advances in Kernel Methods - Support Vector Learning. The MIT Press, Cambridge, MA, USA, 1999.

[^11]: Y. Ke and R. Sukthankar. Pca-sift: A more distinctive representation for local image descriptors. CVPR, Washington, DC, USA, pages 66–75, 2004.

[^12]: D. G. Lowe. Distinctive image features from scale-invariant keypoints. IJCV, 60(2):91–110, 2004.

[^13]: R. K. McConnell. Method of and apparatus for pattern recognition, January 1986. U.S. Patent No. 4,567,610.

[^14]: K. Mikolajczyk and C. Schmid. A performance evaluation of local descriptors. PAMI, 2004. Accepted.

[^15]: K. Mikolajczyk and C. Schmid. Scale and affine invariant interest point detectors. IJCV, 60(1):63–86, 2004.

[^16]: K. Mikolajczyk, C. Schmid, and A. Zisserman. Human detection based on a probabilistic assembly of robust part detectors. The 8th ECCV, Prague, Czech Republic, volume I, pages 69–81, 2004.

[^17]: A. Mohan, C. Papageorgiou, and T. Poggio. Example-based object detection in images by components. PAMI, 23(4):349–361, April 2001.

[^18]: C. Papageorgiou and T. Poggio. A trainable system for object detection. IJCV, 38(1):15–33, 2000.

[^19]: R. Ronfard, C. Schmid, and B. Triggs. Learning to parse pictures of people. The 7th ECCV, Copenhagen, Denmark, volume IV, pages 700–714, 2002.

[^20]: Henry Schneiderman and Takeo Kanade. Object detection using the statistics of parts. IJCV, 56(3):151–177, 2004.

[^21]: Eric L. Schwartz. Spatial mapping in the primate sensory projection: analytic structure and relevance to perception. Biological Cybernetics, 25(4):181–194, 1977.

[^22]: P. Viola, M. J. Jones, and D. Snow. Detecting pedestrians using patterns of motion and appearance. The 9th ICCV, Nice, France, volume 1, pages 734–741, 2003.
