ガボールフィルター機能について


9

ガボールフィルターを使用して入力画像から特徴を生成するスクリプトを実装する必要があります。私はウェーブレットの過去の経験がなく、フーリエ解析(フーリエ解析と変換の背後にある基本的な考え方を理解しています)を学んでいるだけなので、実装は1週間で完了する必要があるため、ガボールフィルターを理解するのに役立ちません。ガボールフィルター関数の基礎を理解する必要はありませんが、それが何であり、何をするのかをある程度理解したいと思います。パラメータは何ですか?彼らはどういう意味ですか?関数の出力は何ですか?たとえば、これは私がWikipediaからコピーした式です。

g(x,y;λ,θ,ψ,σ,γ)=exp(x2+γ2y22σ2)exp(i(2πxλ+ψ))

今私の明白な質問は:これはどういう意味ですか?変数はどういう意味ですか?ウィキペディアによると:

x,y:これらの座標は、座標での画像のピクセル値を指定すると仮定します (x,y)2.これは大丈夫、理解されています

λ:正弦係数の波長を表します(正弦係数、ハァッ?3a。どうやってそれを選択するのですか?3b。それはどこから来たのですか?3c。それは任意の数ですか、それとも何ですか?自由に選択できますか?)

θ:ガボール関数の平行な縞の法線の方向を表します(4.これはどういう意味ですか?)

ψ:位相オフセットです(5.何のオフセットですか?この値はどのように決定されますか?自由に選択されますか?)

σ:ガウスエンベロープのシグマ/標準偏差です(6.詳細な説明が必要です...)

γ:空間アスペクト比であり、ガボール関数のサポートの楕円率を指定します(7.再度詳細と説明が必要です)

最も重要な:

g(x,y;λ,θ,ψ,σ,γ)=X
  1. 出力値は何ですか X?どういう意味ですか?

先に述べたように、理論を完全に説明する必要はありません。なぜなら、長く、未知の主題について1000ページの本を読むことは、今の私の選択肢ではないからです。この関数をブラックボックスで理解して、コードに実装し、最も重要なこととして、何が入力何が出力であるかを理解する必要があります

助けてくれてありがとう!! =)

PS

私はこの投稿を読みました:

/math/259877/value-of-xy-in-computing-gabor-filter-function

しかし、それは私の質問に十分に答えません:)


1
たった1週間で画像処理について多くを学ぼうとしているようです。多分あなたはまずハールウェーブレットのようなより単純なフィルターから始めるべきです。
アーロン

@anonymous様 適切に説明されていないパラメータを列挙できますか?
visoft 2016年

@visoft、あなたの答えはきちんとしたものではありません。それは多くの無関係な議論を伴います。回答を追加しました。今でははっきりしていると思います。

「現在の回答では、さまざまなパラメーターの意味が不適切な言葉で説明されています。的確な回答が必要です。」どのような説明を言い換える必要があるのか​​気になった。
visoft 2016年

@visoft、あなたの答えはきちんとしたものではありません。それは多くの無関係な議論を伴います。回答を追加しました。今でははっきりしていると思います。

回答:


7

この回答には、MATLABの実装があります。https//dsp.stackexchange.com/a/14201/5737

1)ウィキペディアの公式は少し一般的すぎます。

2)フーリエ変換の基本を知っている場合、経験的に次のことを知っています。画像は、あらゆる方向に向けられたさまざまな周波数の一連の正弦波を重ね合わせることによって形成されていると見なされます。変換の各「ピクセル」は、そのような波の「強度」を示します。「ピクセル」の位置は、波の周波数と方向を示します。実際には、特定の周波数と特定の方向を持つ特定の波のみを選択する必要があります。

ガボール変換は、フーリエ変換を「カット」して特定の情報のみを分離できる、いわゆるバンドパスフィルターの1つです。別の重要な情報は、各フーリエ「ピクセル」は複素数値(実数部と虚数部)であることです。

3)パラメータ:2つのパラメータがすでに表示されています。

3.a)同調周波数 f0、またはチューニング期間 P0、または λフィルターがどのような正弦波に最もよく反応するかを確立します。(f=1/P0=1/λ または f=π/λ 特定の実装に応じて)基本的に、より小さな P0より密な正弦波を意味します。より大きなP0 より大きな波を意味します。 P0 ピクセル単位(3、5、30などのピクセル)です。3ピクセル以下にしないでください。 W/2 またはあなたは厄介な効果を得る。 W画像が正方形の場合、画像の幅です。これは、MATLABコードでP0パラメーターを使用して指定します。

3.b)中心角。これらの波は任意の方向を持つことができます。特定の角度の波だけを選択したい。つまり、2番目のパラメーターは調整角度です。θ0 または θあなたの式で。通常はラジアンです。Matlabコードで方向付けます。

特定の周波数または特定の方向のみを分離することはできません。(教科書で不確実性の原理を検索します。はい、物理学の原理と同様です)しかし、近くの周波数がどれだけ漏れるかを調整できます。次の2つのパラメーターは、次のことを指定します。

3.c) ΔF、オクターブで表した周波数帯域幅。有用な値、1.5、2、3。値が大きいほど、広い範囲の周波数をキャプチャすることを意味します。バンドパスを狭くすると、空間位置測定の精度が低下します。なぜ、また教科書なのか。MATLABコードのFBW。

3.d) Δθ角度帯域幅。ラジアンで表されます。π/3 または π/2正常に動作します。MATLABコードのABW。

間の関係 ΔfΔθ Matlabコードから σ,γ ウィキペディアの公式がありますが、ガボールを理解するために必須ではありません。 ψ ここでも、基本的な理解には重要ではありません。

だからあなたはそれを持っています: Xウィキペディアのコンボリューションマスクを含む数値の2Dマトリックスです。元の画像を取り、畳み込みマスクでフィルタリングして、別の画像を取得します。この新しい画像は、元の画像の「ガボール応答」です。

matlabコードはこれら2つのステップを一緒に実行します。指定されたパラメーターでガボールフィルターを構築し、畳み込みを実行します。結果ReConv、ImConvは応答です。各応答「ピクセル」には実数部と虚数部があります。このコードを使用する場合は、通常、応答のエネルギーを計算する必要があります。E=a2+b2 どこ a 応答の実際の部分(ReConv)であり、 b 各ピクセルの虚数部(ImConv)です。

そこにあります:1)指定するガボールフィルターを作成します P0,θ0,Δf,Δθ 2)フィルターで画像を畳み込みます。ピクセルごとに2つの値を取得します。3)エネルギーを計算するE 元の画像の各ピクセルの応答の強度を取得します

別の直感:垂直方向に伸びるエッジを選択するとします π/620ピクセルの特定の幅。あなたはガボールフィルターを構築することができますP020,θ0=π/6,Δf=2,Δθ=pi/2。あなたのエッジの寸法との間に等しい関係がないことに注意してくださいP0パラメータ。さまざまな値を試して、何が最適かを確認する必要があります。その他のパラメータ(Δf,Δθ)最初の2つをチューニングした経験がある場合は、触れてください。

それが役に立てば幸い!

クリスティ

更新

Gaborパラメータを少し試して結果を確認できるサイトは次のとおりです。http//www.cogsci.nl/pages/gabor-generator.php

簡単に見てみると、周波数帯域幅と角度帯域幅の両方が「ピクセルの標準偏差...ガウスエンベロープに」として結び付けられています。残りのパラメーターは簡単に識別できます。ただし、数値には違いがあることに注意してください。例えば。位相は0-1間隔または0-π 間隔。


カーネルサイズはこれらのパラメーターにどのように依存しますか?ほとんどの実装は任意のサイズを使用しているようです。
jiggunjer 2017

Tl; dr:帯域幅はカーネルの幅を制御します。反比例の関係です。例えば。帯域幅が狭い->フィルターが大きい。また、中心周波数にも役割があります。
visoft

ガボールフィルターを使用しているときは、まずパラメーター(帯域幅、中心周波数など)を考えてから、数式で次元を計算します。
visoft

逆の方法で計算し、次元を入力して、フィルターの動作パラメーターを計算できます。
visoft

実際、私はサイズ関係がラムダに直接比例していることを確認しています(少なくとも、MATLABのgabor実装では)。彼らの式は(2^BW+1)/(2^BW-1)常に4に等しい項を持っているので少し奇妙です 。彼らは7 * sigma(ここでsigma〜lambda)を使用し、wikipedia gaborの例は3 * sigmaを使用します。
jiggunjer 2017

6

ガボールフィルターの定義を見ると、そのインパルス応答が正弦関数ガウス関数の積であることがわかります。これは、基本的には式で見られるものです。

ここに画像の説明を入力してください

パラメーターλ、θ、ψは、正弦波部分(または因子)のパラメーターです。

λとは正弦波の基本パラメータです。

λ-この正弦波の波長(https://en.wikipedia.org/wiki/Wavelength)を制御します。λが大きいと上の画像の楕円が「広がる」一方、λが小さいとその逆になります。

θ-上の画像に表示される楕円の回転を制御します。これらの楕円は「平行縞」です。θ= 0の値は回転がないことを示し、楕円が垂直になります。

ψ-正弦波の位相シフトです。つまり、中心に対して楕円をどれだけシフトする必要があるかです。これは、指定する必要があるパラメーターです。

σ-ガウスパーツの標準偏差(つまり、広がり)。

γ-楕円のアスペクト比を制御します(大まかに楕円を細長くする必要があります)。

上記で指定されたさまざまなパラメーターは入力です。

計算の出力値は、単に(x、y)の位置でのフィルターの係数(または重み)です。

これは意味であり、画像処理で使用される他の線形フィルターのコンテキストでも同じです。


0

誰かがガボールフィルターのさまざまなパラメーターの効果を説明する優れたビデオを作成しました。あなたはここでビデオを見つけることができます。

お役に立てれば。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.