HOG特征学习笔记
文章目录
HOG特征的定义
HOG全称是方向梯度直方图(Histogram of Oriented Gradient, HOG)。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。
方向和梯度代表了什么?
梯度就是图像的边缘,所以梯度的方向密度分布统计信息就能表述局部区域的轮廓和纹理。
HOG特征的具体提取算法步骤
(1)归一化图像,即标准化gamma空间和颜色空间
对图像进行归一化可以减少光照因素的影响,颜色信息一般作用不大,通常转换成灰度图
gamma压缩公式
gamma值越小,越接近log函数,可以提亮暗部细节。
(2)计算图像梯度,即使用梯度算子对图像做卷积运算
梯度反应了轮廓信息和纹理信息,进一步降低光照影响。
求梯度大小和方向的方法为:
实际中,一般先用[-1 0 1]算子卷积计算水平方向的梯度分量,再用[-1 0 1]T算子卷积计算竖直方向梯度分量。
(3)对每个cell的梯度信息,进行投影并构建梯度密度分布直方图
例如计算出来的梯度是这样的
按照方向和大小(大小作为权重)放到下面这个图中
将扇形图转换成柱状图
对应的(8,10,6,12,4,5,8,6,14)
就是特征向量
(4)将cell合并成大的窗口block,块内归一化梯度直方图,然后移动滑动窗口统计特征
将多个cell合并到一个大的block中,然后进行归一化,归一化的目的是对光照,阴影,边缘做进一步压缩。
这些cell会被分到不同的block中,这就意味着,每个cell的特征会以不同的结果,多次出现在最后的特征向量中,归一化之后的块描述(窗口)就称为HOG描述符。
(5)收集所有的HOG特征,统计维度
最终HOG特征维度是多少呢,考虑一个64*128像素的图片:
-
一个cell产生一个梯度密度分布,形成一个特征向量,例如
(8,10,6,12,4,5,8,6,14)
,维度是8 -
一个block(滑动窗口)包含4个cell,所以一个block的维度是32
-
滑动窗口水平可以滑动(64/8)-1=7次,竖直可以滑动(128/8)-1=15次,总共7*15=105次
-
所以最终的维度是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