HoG特徴量の原理・計算式

HoG特徴量の基本的な原理や仕組みについてまとめました。

HoG特徴量とは

HoG(Histograms of Oriented Gradients)は、局所領域 (セル) の画素値の勾配方向をヒストグラム化したものです。
そのヒストグラムを特徴量としたのが、Hog特徴量です。

勾配を特徴量としているため、画像スケールに対してロバストであるという優れた特徴があります。

アルゴリズム

① 入力画像を複数のブロックに分割します。
また、各ブロックをセルに分割します。

■1ブロック(2\times 2セル)、1セル(2\times 2ピクセル)で分割する場合

② 入力画像Iを微分します。

(1)   \begin{eqnarray*} I_{x}(x, y)=I(x+1,y)-I(x, y)\\ I_{y}(x, y)=I(x, y+1)-I(x, y) \end{eqnarray*}

【参考】一次微分フィルタの原理・特徴・計算式

③ 微分画像から勾配強度|I|と勾配方向\thetaを求めます。

(2)   \begin{eqnarray*} |I|&=&\sqrt{I_x^2+I_y^2}\\ \theta &=& tan^{-1}\frac{I_y}{I_x}=atan2(I_y, I_x) \end{eqnarray*}

④ 勾配方向を9方向(0~180度まで20度ずつ)に量子化します。

⑤ セル毎に強度で重みを付けて勾配方向ヒストグラムを計算します。

⑥ ブロック毎に正規化し、特徴量を計算します。

(3)   \begin{eqnarray*} h(n)=\frac{h(n)}{H}\\ \end{eqnarray*}

h(n)はn番目の勾配方向ヒストグラムです。
分母Hは1ブロックのHOG特徴量の総和で次式で計算します。

(4)   \begin{eqnarray*} H=\sqrt{(\sum_{k=1}^{m\times m\times N}h(k)^2)+\epsilon} \end{eqnarray*}

mはセルサイズ、Nは勾配方向数、\epsilon =1です。

⑦ 全てのヒストグラムを結合すればHoG特徴量の完成です。

【画像処理入門】アルゴリズム&プログラミング
画像処理における基本的なアルゴリズムとその実装例(プログラム)についてまとめました。

コメント