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特征提取可以使用圖像的積分圖來進行加速。