HOG特征学习笔记

HOG特征的定义

HOG全称是方向梯度直方图(Histogram of Oriented Gradient, HOG)。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。

方向和梯度代表了什么?

HOG特征学习笔记

梯度就是图像的边缘,所以梯度的方向密度分布统计信息就能表述局部区域的轮廓和纹理。

HOG特征的具体提取算法步骤

HOG特征学习笔记

(1)归一化图像,即标准化gamma空间和颜色空间

对图像进行归一化可以减少光照因素的影响,颜色信息一般作用不大,通常转换成灰度图

gamma压缩公式

HOG特征学习笔记

gamma值越小,越接近log函数,可以提亮暗部细节。

(2)计算图像梯度,即使用梯度算子对图像做卷积运算

梯度反应了轮廓信息和纹理信息,进一步降低光照影响。

求梯度大小和方向的方法为:

HOG特征学习笔记

实际中,一般先用[-1 0 1]算子卷积计算水平方向的梯度分量,再用[-1 0 1]T算子卷积计算竖直方向梯度分量。

(3)对每个cell的梯度信息,进行投影并构建梯度密度分布直方图

例如计算出来的梯度是这样的

HOG特征学习笔记

按照方向和大小(大小作为权重)放到下面这个图中

HOG特征学习笔记

将扇形图转换成柱状图

HOG特征学习笔记

对应的(8,10,6,12,4,5,8,6,14)就是特征向量

(4)将cell合并成大的窗口block,块内归一化梯度直方图,然后移动滑动窗口统计特征

将多个cell合并到一个大的block中,然后进行归一化,归一化的目的是对光照,阴影,边缘做进一步压缩。

HOG特征学习笔记

这些cell会被分到不同的block中,这就意味着,每个cell的特征会以不同的结果,多次出现在最后的特征向量中,归一化之后的块描述(窗口)就称为HOG描述符。

(5)收集所有的HOG特征,统计维度

HOG特征学习笔记

最终HOG特征维度是多少呢,考虑一个64*128像素的图片:

  1. 一个cell产生一个梯度密度分布,形成一个特征向量,例如(8,10,6,12,4,5,8,6,14),维度是8

  2. 一个block(滑动窗口)包含4个cell,所以一个block的维度是32

  3. 滑动窗口水平可以滑动(64/8)-1=7次,竖直可以滑动(128/8)-1=15次,总共7*15=105次

  4. 所以最终的维度是32*105=3360个维度

最后的最后,这个数据代表了什么意思呢?这就交给SVM了。

参考博客

目标检测的图像特征提取之(一)HOG特征 - zouxy09的专栏 - ****博客
https://blog.****.net/zouxy09/article/details/7929348

图像处理之特征提取(一)之HOG特征简单梳理 - coming_is_winter的博客 - ****博客
https://blog.****.net/coming_is_winter/article/details/72850511