HoGは,画像の輝度勾配をヒストグラム化することで,物体などの特徴を抽出する手法の1つです.
HoGには以下のような特徴があります.
○幾何学変換に頑健
○証明変動に頑健
上記のような特徴から,よくヒト検出などに用いられてますね.その頑健さは様々な論文で証明されています.
アルゴリズムは意外と単純です.
まず,すべての画素で縦横方向の勾配強度mと勾配方向θを求めます.
式は以下のとおり.

Iが画像,(u,v)は画素の位置です.
次に,5×5[pixel]で画像をグリッド状に分割します.この5×5[pixel]を1セルとします.
1セル内で,先程求めた勾配方向θを0~180[degree]に分割し,各画素の勾配方向に対応するビンに分類します.
ちょうど画素値のヒストグラムを生成するのと同じ感じですね.
ただ,このとき画素の勾配強度mをヒストグラムの重みとして加算します.
これによって,1セルを9次元の特徴ベクトルで表現できます.
次に,3×3の大きさのセルを1ブロックとして考えます.
先程のセルは,互いのセルが重ならないようなグリッドとして考えましたが,ブロックは互いのブロックが重なるものとします.
それぞれのブロックにおいて,先程求めた9次元のベクトルを連結し,81次元の特徴ベクトルを生成します.
ただし,この時特徴ベクトルはL2ノルムで正規化します.
最後に,81次元の特徴ベクトルをすべて連結し,最終的な特徴ベクトルを取得します.
以上がHoGの特徴抽出手法の流れです.
5×5[pixel]とか,3×3セルとかは,多分色んな実験の結果,それが最適な値になったのだと思います.
説明読んでてわかると思いますが,かなり計算コストが高いです.
画像サイズにもよりますが,基本的に実時間処理は難しいと思います.
GPUとか使えば問題ないと思いますが(笑)ゴリ押しですね.
かなり分かりづらい説明だったと思いますが,HoGの説明は以上です.
<参考論文>
映像情報メディア学会 Vol.64, No.3, pp.322~329(2010).
