HOG 即梯度方向直方图(Histograms of Oriented Gradient),最早是由 Navneet Dalal 和Bill Triggs在 2005 年提出来,最初用于行人检测。他们提取 HOG 特征,采用线性 SVM分类器进行行人检测,取得了很好的效果。HOG 特征的提出建立在这样一个假设之上,即物体局部范围像素的边缘信息和梯度值分布能够充分描述该物体局部的形状与外观特征。HOG 特征是在 SIFT 图像处理方法、边缘方向直方图等方法的基础上发展而来的,但是和这些方法有一定区别,主要表现为 HOG 特征的计算被限定在一个均匀分布的单元内进行,另外,它还将这些单独的单元组合成互相重叠的块,来提高算法性能.
在计算 HOG 特征之前,先介绍计算过程中用到的基本单位和参数。本文选取的样本分辨率是 64×64,这个尺寸也将作为后面车辆验证时的检测窗口尺寸。检测窗口分为若干个 block,每个 block 大小为 16×16,一个 block 分成 4 个 8×8 的 cell,block 以 cell边长作为滑动的步长。每个 cell 的梯度直方图分成 9 个 bin,即每个 bin 为 20 度,像素的梯度方向在这个范围内的划定为同一类,用对顶角相等的方法将 0~180 度和 180 度~360 度合并处理。图 4-6 为检测窗口、block 和 cell 之间的关系示意图。
注释:
我们将图像分成若干个“单元格cell”,例如每个cell为6*6个像素。假设我们采用9个bin的直方图来统计这6*6个像素的梯度信息。也就是将cell的梯度方向360度分成9个方向块,如图所示:例如:如果这个像素的梯度方向是20-40度,直方图第2个bin的计数就加一,这样,对cell内每个像素用梯度方向在直方图中进行加权投影(映射到固定的角度范围),就可以得到这个cell的梯度方向直方图了,就是该cell对应的9维特征向量(因为有9个bin)。