影象特徵提取之HoG特徵

麻呱智慧發表於2018-03-06

今天寫寫HoG特徵,力求簡單明瞭。

HOG特徵提取的步驟如下:

1)首先對原影象做灰度變換,或者做對比度的變換,得到新影象

2)計算新影象的梯度,包括方向和幅值

3)將梯度影象分成若干個小的影象塊,例如,每個影象塊大小為5*5

4)計算每個影象塊的梯度直方圖。怎麼計算呢,假設影象畫素的梯度方向為0-360度,將這個範圍分為6個區間,每個區間60度,查詢每個影象塊中的畫素,如果其梯度方向在某個區間,就將這個區間計數加1,同時,為了考慮梯度幅值的影響,如果這個梯度幅值為M,那麼這個度數區間的值不是加1,而是加M

5)組建大的影象塊block,假設每個大的影象塊由2X2的影象塊組成,將這4個塊的特徵拼接到一起就是block的特徵,維度為4X6=24,這樣就構建了影象中每個block的特徵,由於在統計的時候,考慮梯度幅值,由於受到環境因素的影響,所以對block的特徵做歸一化處理

6)上面只是一個影象block的特徵,然後從影象的左上角開始,統計每個block的特徵,然後間隔N個步長,例如6個畫素,再統計一個block的特徵,以此類推,將所有block的特徵組合起來就是影象的特徵。

7)那麼影象的特徵有多大呢。假設影象的大小是90*132,影象塊大小是5*5,一個block由2*2影象塊構成,每個影象塊的特徵大小是6,則一個block的特徵維度是:4*6 =24,假設步長是6個畫素,在水平方向有(90-6)/6=14個block垂直方向有(132-6)/6=21個block,那麼整個影象的特徵維度為:24*21*14=7056


相關文章