ガボールフィルタ(英: Gabor filter)は、画像処理のテクスチャー解析等に用いられる線型フィルタの一種。(2次元のガボールフィルタでは)画像の各点周りの局所領域において、方向毎に特定の周波数成分を抽出することができる。虹彩認識や指紋認証にも応用されている他、哺乳類の脳の一次視覚野にある単純型細胞の活動をモデル化できることが示されている。名称はガーボル・デーネシュに因む[1]。
定義2次元ガボールフィルタのインパルス応答の例
細部が異なる種々の定義があるが、基本的にはガウス関数(ガウシアンエンベロープとも呼ばれる)と三角関数(搬送波とも呼ばれる)の積として定義される[2][3][4]: x ∈ R n ( n = 1 , 2 ) {\displaystyle {\boldsymbol {x}}\in \mathbb {R} ^{n}(n=1,2)} の函数であるガボールフィルタ g {\displaystyle g} は、 w {\displaystyle w} をガウス関数、 s {\displaystyle s} を三角関数として
g ( x ; A , u , P ) = K exp ( i P ) w ( x ; A ) s ( x ; u ) {\displaystyle g({\boldsymbol {x}};A,{\boldsymbol {u}},P)=K\exp(iP)w({\boldsymbol {x}};A)s({\boldsymbol {x}};{\boldsymbol {u}})}
と定義される。ここで K {\displaystyle K} はガウシアンエンベロープの強度のスケール、 A {\displaystyle A} はガウシアンエンベロープのスケールや方向を指定する線形変換、 u {\displaystyle {\boldsymbol {u}}} は搬送波の(空間)周波数と方向を表す波数ベクトル、 P {\displaystyle P} は位相オフセットを表す。 w {\displaystyle w} と s {\displaystyle s} の具体的な形は、1次元の場合、通常スケールパラメータ σ {\displaystyle \sigma } により
w ( x ; σ ) = exp ( − x 2 2 σ 2 ) {\displaystyle w(x;\sigma )=\exp \left(-{\frac {x^{2}}{2\sigma ^{2}}}\right)} ,
s ( x ; u ) = exp ( 2 π i u x ) {\displaystyle s(x;u)=\exp \left(2\pi iux\right)} ,
2次元の場合は、ガウシアンエンベロープの方向 θ {\displaystyle \theta } と軸毎のスケールパラメータ σ x , σ y {\displaystyle \sigma _{x},\sigma _{y}} により w ( x , y ; A ( θ , σ x , σ y ) ) = exp ( − x ′ 2 + y ′ 2 2 ) {\displaystyle w(x,y;A(\theta ,\sigma _{x},\sigma _{y}))=\exp \left(-{\frac {x'^{2}+y'^{2}}{2}}\right)} ,
s ( x , y ; u ) = exp ( 2 π i ( x , y ) ⋅ u ) {\displaystyle s(x,y;{\boldsymbol {u}})=\exp \left(2\pi i(x,y)\cdot {\boldsymbol {u}}\right)}
と表す。ここで ( x ′ , y ′ ) = ( x , y ) A ( θ , σ x , σ y ) {\displaystyle (x',y')=(x,y)A(\theta ,\sigma _{x},\sigma _{y})} で、
A ( θ , σ x , σ y ) = ( cos θ − sin θ sin θ cos θ ) ( 1 σ x 0 0 1 σ y ) {\displaystyle A(\theta ,\sigma _{x},\sigma _{y})={\begin{pmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{pmatrix}}{\begin{pmatrix}{\frac {1}{\sigma _{x}}}&0\\0&{\frac {1}{\sigma _{y}}}\end{pmatrix}}}
である。実部と虚部に分けた形[4]や、更にガウシアンエンベロープの方向と波数ベクトルの方向とを一致させた形( u = ( f / σ x ) ( cos θ , sin θ ) {\displaystyle {\boldsymbol {u}}=(f/\sigma _{x})(\cos \theta ,\sin \theta )} )も用いられる: Re g ( x , y ) = K exp ( − x ′ 2 + y ′ 2 2 ) cos ( 2 π f x ′ + P ) {\displaystyle \operatorname {Re} g(x,y)=K\exp \left(-{\frac {x'^{2}+y'^{2}}{2}}\right)\cos(2\pi fx'+P)} , Im g ( x , y ) = K exp ( − x ′ 2 + y ′ 2 2 ) sin ( 2 π f x ′ + P ) {\displaystyle \operatorname {Im} g(x,y)=K\exp \left(-{\frac {x'^{2}+y'^{2}}{2}}\right)\sin(2\pi fx'+P)} ,