HOG特征原文(Histograms of Oriented Gradients)

1 简介

方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种可以快速描述物体局部梯度特征的描述子[1]。它首先将把窗口划分成若干个块(blocks),然后把每一个块中划分若干个元胞(cells),然后统计每个元胞内部的梯度方向直方图作为该元胞的特征向量,然后把每一个元胞的特征向量相连接作为一个块的特征向量,最后把块的特征向量相连接,即为该窗口的 HOG 特征描述子。

2 算法流程

论文给出的HOG特征结合SVM做行人检测的流程图如下图所示:

这里我们只描述HOG特征的提取流程,如下图所示:

(1)首先对输入图像图像做归一化和Gamma校正,以调节图像的对比度; 

(2)计算图像的梯度图(包括梯度大小和方向),基本思想是物体的局部外观和形状通常可以通过局部梯度强度或边缘方向的分布来表征,而且用轮廓的梯度信息代替图像的灰度可以降低光照变化带来的影响; 

(3) 将图像划分成若干个元胞cells(例如6\times 6pixel/cell),统计每个元胞的梯度直方图。所谓的梯度直方图实际上就是一个一维向量,向量的长度就是设定的bin值,而向量中元素的大小表示该元胞内梯度属于所处角度范围内的像素点的梯度之和,这样即可形成每个元胞的特征描述子 ; 

(4) 根据需要和应用场景,把几个元胞组成一个块block,然后把块中所有元胞的特征描述子串联,就得到了该块的 HOG 特征描述子; 

(5) 最终把图像所有块的描述子串联便得到描述图像的 HOG 特征向量。

3 算法细节

3.1 归一化和Gamma校正

论文在RGB通道、LAB通道和灰度通道利用Gamma校正对图像做归一化,但是实验表明这些归一化对于算法的整体性能影响较小,这可能是因为之后在计算块的特征描述子时也进行了归一化。但是相对于灰度图像,利用彩色图像计算HOG特征能带来轻微的性能提升。

3.2 梯度计算

检测器的性能对梯度的计算方式较敏感,实验证明最简单的方式得到的效果最好。论文在计算梯度前先进行了高斯滤波,对比了不同的\sigma对算法性能的影响。而梯度的计算方式对于了一维的[-1,1][1,-8,0,8,-1]和二维的[0,1;-1,0][-1,0;0,1]等,最终的实验结果表明高斯滤波\sigma=0结合[-1,0,1]的梯度检测子性能最佳。

而对于彩色图像,则分别计算三个通道的梯度值,并取最大的梯度值作为该像素点的梯度向量。

不同的高斯滤波的\sigma值对性能的影响如下图所示,其中性能优劣用FPPW(False Positives Per Window,每个窗口的虚警)表示:

3.3 梯度直方图的计算

这里对每一个cell计算梯度直方图,其中cell可以使矩形的也可以是扇形的,而梯度方向的范围可以使0-180度或者0-360度。获得梯度图后,首先将0-180度(或0-360度)划分成n个bin,然后统计cell内梯度方向角在每一个bin对应的角度范围内的点的梯度值之和,最后利用双线性插值的方法,即可得到梯度直方图(特征向量)。

举个例子,例如现在有一个cell是6\times 6个像素的,然后n值取9,那么就是有9个角度范围分别是0-20度、20-40度——160-180度,那么就把这36个点根据梯度的方向角划分到这9个角度范围里面,然后统计每个角度范围内所有点的梯度之和,最后经过双线性插值后得到一个1\times 9的特征向量。

不同的bin值以及角度范围对性能的影响如下图所示:

3.4 块描述子和块归一化

每一个块(block)是由若干个cell组成的,因此block的特征向量是由所有cell的特征向量串联得到的。块的形状有矩形(R-HOG)和径向形(C-HOG)两种。块的大小和元胞的大小与整体性能的关系如下图所示:

v为归一化之前的特征向量,而\begin{Vmatrix} v \end{Vmatrix}_{k}表示k阶范数,\varepsilon为一个很小的常数。那么块的归一化方法有:

(1)L2-norm:v\rightarrow v/\sqrt{\left\| v \right\|_{2}^{2}+{​{\varepsilon }^{2}}}

(2)L2-Hys:即为对v限制最大值为0.2;

(3)L1-norm:v\rightarrow v/({​{\left\| v \right\|}_{1}}+\varepsilon )

(4)L1-sqrt:v\rightarrow \sqrt{v/({​{\left\| v \right\|}_{1}}+\varepsilon })

不同的归一化方法对性能的影响如下图所示:

3.5 检测窗口

在一幅图像中做行人检测时,用到的滑动窗口的大小对性能的影响如下图:

实验结果表明,取64\times128pixel的滑动窗口,而内边界(窗口边界不包含人的一周)的大小取16pixel时,检测性能最佳。

当然以上的实验对比结果是论文在行人检测数据集上的实验结果,以上所设置的参数在指定数据集上能得到较好的结果。而我们在应用HOG特征描述图像时,应该根据具体的应用需求设置。

4 参考文献

[1] N Dalal, B Triggs. Histograms of Oriented Gradients for Human Detection [J]. IEEE Computer Society Conference on Computer Vision & Pattern Recognition, 2005, 1(12): 886-893.


原创性声明:本文属于作者原创性文章,小弟码字辛苦,转载还请注明出处。谢谢~ 

代码下载请到https://download.youkuaiyun.com/download/weixin_42647783/10666667

如果有哪些地方表述的不够得体和清晰,有存在的任何问题,欢迎评论和指正,谢谢各路大佬。

有需要图像处理相关技术支持的可咨询QQ:297461921

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值