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特徴量の完成です。

【関連記事】
【画像処理入門】アルゴリズム&プログラミング

画像処理
技術雑記

コメント

タイトルとURLをコピーしました