参考论文《Histograms of Oriented Gradients for Human Detection》
花了一天多的时间,整理了一下HOG特征。接下来就HOG特征进行一些解释:
- HOG含义
- HOG具体计算
- HOG源码
一、HOG含义
在参考论文中,作者设计了一种方向梯度直方图(Histograms of Oriented Gradient,HOG)对行人进行检测,它通过计算局部区域的梯度方向并进行统计来作为该局部区域的特征。
二、HOG具体计算
2.1 Gamma Normalization
为了减少光照因素的影响,首先需要将整个图像进行正则化。实验证明,对每个颜色通道进行平方根gamma压缩(即gamma参数为0.5)时有较高的性能提升。gamma正则化公式如下:
其中H(x,y)表示像素点(x,y)的像素值。
2.2 Gradient Computation
计算图像横坐标和纵坐标方向的梯度,并据此每个像素位置的梯度方向。计算不同的梯度计算方法对于检测器性能有很大影响。作者在对图像进行高斯平滑后,测试了不同的梯度计算方法,包括一维模板[-1,1]、[-1,0,1]、[1,-8,0,8,-1]等,最终选择使用[-1,0,1]计算水平方向梯度,用其转置计算垂直方向梯度。
因此图像中像素点(x,y)的梯度为:
公式中Gx(x,y)表示像素点(x,y)的水平方向梯度,Gy(x,y)表示像素点(x,y)的垂直方向梯度。
通过Gx(x,y)和Gy(x,y)计算该像素点的梯度大小和方向: