HOG特徵提取

2021-09-19 06:17:12 字數 1525 閱讀 8153

梯度方向直方圖  (histogram of oriented gradient, hog) 是影象處理經典的特徵提取演算法。hog 特徵是直接將影象畫素點的方向梯度作為影象特徵,包括梯度大小和方向。通過計算影象區域性區域的梯度直方圖特徵,然後將區域性的特徵串聯起來,構成整幅影象的 hog 特徵,其原理圖如圖1所示。

hog特徵的實現步驟如下:

1.影象標準化。影象標準化如公式1所示, 表示影象(x,y)位置處的畫素值,gamma表示壓縮係數,通常取值為 0.5。

2. 計算梯度。在影象的(x,y)位置,計算影象梯度。包括水平方向的梯度和垂直方向的梯度,並據此計算每個畫素位置的梯度方向值 。水平和垂直方向的梯度運算元計算公式分別為:

水平方向:[-1 0 1]                         

垂直方向:[-1 0 1]t                        

根據兩個方向的梯度運算元,計算畫素點(x,y)處的梯度。

畫素點(x,y)處的梯度幅值

3.劃分單元格。將影象分成多個單元格cell,給每個cell構建梯度方向直方圖。梯度直方圖的橫座標表示梯度方向,縱座標表示對應梯度方向的幅值。

如圖2所示為9通道示意圖。梯度直方圖的橫座標通常有9個直方圖通道,是把梯度方向劃分為9個方向塊。梯度直方圖的縱座標表示對應梯度方向的幅值,梯度幅值與梯度大小有緊密聯絡。梯度幅值越大,對應該方向上的權值越大,則這個方向的縱座標取值越大。

4. 劃分區域。把細胞單元cell組合成大的區域block,區域內歸一化梯度直方圖。如圖 3所示為3x3模式,乙個block中有9個cell單元格,乙個block的 hog 特徵是這 9個cell的特徵串聯而得到的。

5.收集 hog 特徵。將所有塊中特徵集合在一起,組成影象 hog 特徵。

使用如a所示的人物影象,使用matlab整合的hog特徵提取函式,可以得到如圖所示b所示的特徵,可以看出已經畫出了影象的梯度方向圖,圖c為放大特徵影象得到的結果。

以上通過乙個簡單的matlab函式就可以實現。

clc;

clear all;

close all;

img = imread('2.png');

[featurevector,ho**isualization] = extracthogfeatures(img);

figure;

imshow(img);

hold on;

plot(ho**isualization);

特徵工程 特徵提取

特徵提取 將任意資料 如文字或影象 轉換為可用於機器學習的數字特徵 注 特徵值化是為了計算機更好的去理解資料 字典特徵提取 作用 對字典資料進行特徵值化 dictvectorizer.get feature names 返回類別名稱 from sklearn.feature extraction i...

顏色特徵提取

顏色特徵是在影象檢索中應用最為廣泛的視覺特徵,主要原因在於顏色往往和影象中所包含的物體或場景十分相關。此外,與其他的視覺特徵相比,顏色特徵對影象本身的尺寸 方向 視角的依賴性較小,從而具有較高的魯棒性。面向影象檢索的顏色特徵的表達涉及到若干問題。首先,我們需要選擇合適的顏色空間來描述顏色特徵 其次,...

顏色特徵提取

顏色特徵是在影象檢索中應用最為廣泛的視覺特徵,主要原因在於顏色往往和影象中所包含的物體或場景十分相關。此外,與其他的視覺特徵相比,顏色特徵對影象本身的尺寸 方向 視角的依賴性較小,從而具有較高的魯棒性。面向影象檢索的顏色特徵的表達涉及到若干問題。首先,我們需要選擇合適的顏色空間來描述顏色特徵 其次,...