画像内の各ピクセルについて、画像勾配の方向と大きさが計算されます。x方向およびy方向の勾配フィルタカーネルは
次のとおりです。
勾配の大きさ
と方向
は、次のように計算されます。
計算された勾配は、その方向に応じて特定の数の方向Binに割り当てられます。
Binへの投票は、勾配の大きさの関数です。
DalalとTriggsが発見したように、人物検出手法にHOG特徴量を使用する場合、方向を
個のBinに分割することが最良の結果をもたらします [Dal05VA サンプルデザイン「HOG_9Bins_HistogramMax.vad」と「HOG_9Bins_Histogram.vad」では、このようなビニングを実装しています。さらに、サンプル「HOG_4Bins_HistogramMax.vad」では、4 つのビンへの分割を実行します。
にわたる4つのBinへの分割を実行しています。
特定の方向の
Binへの割り当てまたは重み付け
(方向
を持つ)は、補間によって行われます。
ここで、
は、Bin間の角度ステップのサイズです。
方向ヒストグラムの単一のBinカラム
(それぞれ8x8ピクセルの領域用)
は、次のように計算されます。
8x8ピクセルの各セルのヒストグラムは、輝度やコントラストの局所的な変動をカバーするために、2x2セルのサイズを持つブロックにグループ化されます。
ブロックには
のオーバーラップがあります。
物体認識目的でHOGデスクリプターを使用する場合、ブロック正規化(アルゴリズムについては[Dal05]を参照)により、パフォーマンスが
現在の設計例ではブロック正規化は省略されています。「HOG_4Bins_HistogramMax.vad」および「HOG_9Bins_HistogramMax.vad」の設計では、最大ヒストグラム方向がDMAに転送されますが、「HOG_9Bins_Histogram.vad」では、方向勾配のヒストグラム全体がPCに送信されます。以下で紹介する設計は、ユーザーの特別な目的に合わせて容易に調整できます。つまり、方向ビニングの量とステップサイズ、またはブロック正規化は、[Dal05]に基づくブロック正規化を追加で実装することができます。





前へ

