2011-07-03 6 views
8

私は、ヒストグラムの方向勾配(HOG)の機能に取り組んでおり、私はDalalの博士論文で説明されているヒストグラムビンの三線式補間を実装しようとしています。そして、彼は補間プロセスを以下のように説明する。HOGヒストグラムビンの三線式補間

編集:大まかに言えば、ブロックに分割された64x128ピクセルウィンドウからHOG特徴が抽出される。各ブロックは2×2セルから構成され、セルは8×8ピクセルから構成されます。抽出は、画像の一次微分を計算することから始まり、各ピクセルの向きおよび大きさが計算される。画素が画素の向きに基づいて大きさの値を有するヒストグラムに寄与する各8×8画素セルについてのブロック内の方位ヒストグラムが計算され、大きさが方位と位置の両方で隣接するビンセンタ間で補間される。ヒストグラムには、9つのビンが0〜180度で20度のストライドを表します。アルゴリズムの全体的な描写は、ここで見ることができる:http://4.bp.blogspot.com/_7NBDeKCsVHg/TKBbldI8GmI/AAAAAAAAAG0/G-OXUz1ouPQ/s1600/a1.bmp

我々はRST一次元空間で線形補間 を説明し、その後 3-Dに拡張FI。 hをビン間距離(帯域幅)を有するヒストグラム とする。b。 h(x)は、xを中心とするビンのヒストグラム の値を示します。 ヒストグラムに点xの重みwを補間したいとします。 x1とx2を、 点の最も近い隣のビンとし、x1≦x < x2となるようにします。 3-D点でX = [X、Y、Z、W linear interpolation

レットを次補間する量である として線形補間は、2人の最も近い隣人に 重みwを分配します。 x1とx2をxを含むヒストグラムキューブの の2つのコーナーベクトルとしましょう。ここで、各コンポーネントに があります。x1≤x < x2です。 とし、x軸、y軸、z軸に沿ったヒストグラム の帯域幅は、 b = [bx、by、bz]で与えられると仮定します。 trilinear interpolation formula

:トリリニア補間 は、以下のように8つの周囲のビン中心に 重みwを分配します。

セルのヒストグラムを計算し、すべてのピクセルがヒストグラムにその大きさの値を与えます。私が定式化から理解することは、xとyは検出ウィンドウ内のセルの位置を表し、zはビン数です。 64×128の検出ウィンドウでは、8×16セルと9つの方向ビンがあり、ヒストグラムはh(8,16,9)と表されます。上記のステートメントが正しい場合、(x1、y1)と(x2、y2)はそれぞれ前のセルと文字セルを表しますか? z1とz2は、以前と文字の向きのビンを意味しますか?帯域幅b = [bx、by、bz]はどうですか?

誰かがこれらの問題を明確にすることができれば、本当にありがたいです。

ありがとうございました。

+1

これは元々の参考資料です。http://lear.inrialpes.fr/people/dalal/NavneetDalalThesis.pdf – whoplisp

+0

はい、これは元の参考資料です。ありがとうございました! –

+0

OPの画像については、論文ページ117を参照してください。ヒストグラムの構築は95ページに示されています。 – whoplisp

答えて

4

(x1、y1、z1)と(x2、y2、z2)は、hの値を補間する点(x、y、z)を囲む立方体にまたがる2つの点として考える。 (x1、y1、z1)、(x1、y2、z1)、(x1、y1、z2)、(x2、y2、z1)、(x2、y1、 、z2)、(x1、y2、z2)、(x2、y2、z2)は完全な立方体を形成する。だから、(x1、y1、z1)と(x2、y2、z2)の三線式補間は実際にあなたが興味のあるポイントを取り囲む3Dヒストグラム空間の8つのポイント間の補間を意味します!今すぐあなたの質問に:

(x1、y1)、(x2、y2)(および(x1、y2)と(x2、y1)は(x、y)平面のビンの中心を表します。これらは、方向ベクトルになります。あなたが言うよう

Z1とZ2は、配向方向に2つのビンレベルを表す。これはあなたに8つのビンの合計を与える画像平面の4つのポイントと組み合わせる。

帯域幅b = [bx、by、bz]は基本的にx、y、z方向の隣り合ったビンの中心間の距離ですが、x方向に8ビン、その方向に64ピクセル、 y方向に128画素、

bx = 8 pixels 
by = 8 pixels 

これは、グラデーションの全範囲がわからないため、実際にはさらにデータが必要です。 )可能な最高値に最も低いが、その範囲は、次にrgある場合:一般的に

bz = rg/9 

、任意の方向における帯域幅は、その方向におけるビンの数で割ったその方向に完全利用可能な範囲に等しいです。

画像の三線式補間については、whoplisp's answerのリンクを参照してください。

+0

良い説明をありがとう。したがって、ブロック内の(1,1)インデックスのヒストグラムを計算しており、ピクセルの向きは75度であり、大きさは13です。補間がない場合、このピクセルはピクセル内の4番目のビンに寄与しますヒストグラムを作成して、変数がx = 1、y = 1、z = 4になるようにします。したがって、x1≤x

+0

新しい(x、y、z)値が入っているビンの隣人ではなく、中心が新しい(x、y、z)に最も近い8個のビンの集合として "隣人" )値。だからあなたは新しい価値を直接取り巻く8つのビンセンターによって形成されたキューブを探しています。 –

3

長方形のHOGを見てみましょう。画像は、32ページに示すように、いくつかのタイルに分割されます。 Page 46では(f)のR-HOG記述子を示しています。データがどのようにビニングされているかをページ49に説明します。

私はポール・バークの書き込みアップを読み取ることにより、3次元補間を行う方法を学びました:http://paulbourke.net/miscellaneous/interpolation/

申し訳ありませんが、私は何が起こっているかを理解するためには、自分の画像を生成する必要があります。 これは確かに興味深いテクニックです。

+0

ニース!ページの下半分の三重補間の説明はとても良いです。 –