1、灰度化;(以便可以使用sobel等算子计算梯度)
2、gamma校正; (降低光照影响)
3、求每个像素的梯度和方向;
(利用任意一种梯度算子,例如:sobel,laplacian等,对该patch进行卷积,计算得到每个像素点处的梯度方向和幅值。具体公式如下:
)
4、划分cell(x*x pixel/cell),根据幅值和方向求取每个cell的梯度直方图; (将梯度方向分成若干离散等分,将所有梯度方向映射到梯度直方图,直方图取值由对应方向的梯度幅值累加得到)
5、组合block(y*y cell/block),将这y*y个cell的梯度直方图连在一起作为该block的特征向量; (从左至右依次将各个cell的梯度直方图向量相连,就得到了每个block的特征向量。block的分法有重叠和非重叠两种)
6、将所有的block的特征向量从左至右从上至下依次连接起来,即为该图像的hog特征向量。
我的理解:
最后的hog特征向量是一个一维向量,如果block采用重叠法分割向量中会有冗余重复。hog特征向量的位置代表了图像中不同的位置,而向量值代表梯度方向上的强度,即对纹理特征比较敏感,因此可以理解hog特征是一种对于图像中纹理、边缘的位置信息的提取。
参考博客:
https://blog.csdn.net/baidu_30028771/article/details/65937451(纠正错误 最后block数量是31*31)
https://www.cnblogs.com/hrlnw/archive/2013/08/06/2826651.html
hog特征提取可以使用图像的积分图来进行加速。