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





前へ

